@symerian/symi 2.8.14 → 2.8.16

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 (274) hide show
  1. package/dist/{accounts-wWWkC0JH.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-BsgY6sda.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-Bsg6r6H7.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{acp-cli-D7uCUCr8.js → acp-cli-BgR7mxTS.js} +2 -2
  5. package/dist/{acp-cli-CAU8UW9I.js → acp-cli-D1JYg9c1.js} +2 -2
  6. package/dist/{active-listener-AVNn5_U9.js → active-listener-BVZOh2T1.js} +1 -1
  7. package/dist/{agent-scope-Cpm7a9ss.js → agent-scope-CpEJ0B88.js} +3 -3
  8. package/dist/{agents-DlAvDWxz.js → agents-D6V12K_e.js} +5 -5
  9. package/dist/{agents.config-Dd-11klq.js → agents.config-BIIkG8rN.js} +1 -1
  10. package/dist/{agents.config-BKKMbeeE.js → agents.config-C0iGGY9q.js} +1 -1
  11. package/dist/{audio-preflight-rrz8KyHd.js → audio-preflight-rjCWpcfE.js} +29 -29
  12. package/dist/{audit-CB97BqHJ.js → audit-Dr_8rC6G.js} +2 -2
  13. package/dist/{audit-BhCJV2l6.js → audit-xiwEIT96.js} +2 -2
  14. package/dist/{auth-choice-CRQRPwQt.js → auth-choice-BcCUgEa4.js} +2 -2
  15. package/dist/{auth-choice-C6woT6k2.js → auth-choice-jyLLyEpy.js} +2 -2
  16. package/dist/{auth-profiles-BzB_Exeq.js → auth-profiles-C2vj6htZ.js} +17 -17
  17. package/dist/{banner-DrNha2_N.js → banner-DSRsscTp.js} +1 -1
  18. package/dist/{bindings-xcRox9xM.js → bindings-BsHoBLIE.js} +2 -2
  19. package/dist/{browser-cli-5ME9iiC3.js → browser-cli-BQeCPbES.js} +3 -3
  20. package/dist/{browser-cli-BTci35qB.js → browser-cli-IXepRCZR.js} +3 -3
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +54 -54
  23. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  24. package/dist/bundled/command-logger/handler.js +1 -1
  25. package/dist/bundled/session-memory/handler.js +54 -54
  26. package/dist/{call-Cmb04dff.js → call-BkJK3eYP.js} +2 -1
  27. package/dist/{call-BrRWr7Lj.js → call-CAGvQYXj.js} +2 -1
  28. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  29. package/dist/{channel-activity-CzHaIUAp.js → channel-activity-D8QD7GoV.js} +1 -1
  30. package/dist/{channel-options-D8q9En4T.js → channel-options-BSdsxwj0.js} +1 -1
  31. package/dist/{channel-options-DYy2sCfN.js → channel-options-Cr_if7it.js} +1 -1
  32. package/dist/{channel-web-CRBU4eZk.js → channel-web-C3gcPe4C.js} +1 -1
  33. package/dist/{channels-cli-Dk3kUw9A.js → channels-cli-Bn6mTlYq.js} +9 -9
  34. package/dist/{channels-cli-BUk43hHR.js → channels-cli-O7MxdB1l.js} +9 -9
  35. package/dist/{chrome-DwXnykXR.js → chrome-C08Z0XAa.js} +21 -21
  36. package/dist/{chunk-BcxcL1U3.js → chunk-BRe1o4Af.js} +1 -1
  37. package/dist/cli/daemon-cli.js +1 -1
  38. package/dist/{cli-5gWsnsB7.js → cli-CLOf6U-k.js} +6 -6
  39. package/dist/{cli-DjZzJy3t.js → cli-RIwsXnB-.js} +6 -6
  40. package/dist/{client-C7AOOnKZ.js → client-CYsBIR3j.js} +27 -1
  41. package/dist/{client-qUlxXXVJ.js → client-Cmq13-uF.js} +27 -1
  42. package/dist/{command-registry-LjFltTU9.js → command-registry-BiznuVYK.js} +11 -11
  43. package/dist/{commands-registry-ByGkL6hs.js → commands-registry-DxbSTLNQ.js} +4 -4
  44. package/dist/{completion-cli-Cf6fYZWL.js → completion-cli-BVG9ZtBG.js} +2 -2
  45. package/dist/{completion-cli-BVTGy8th.js → completion-cli-D-xVtDhj.js} +1 -1
  46. package/dist/{config-C4WnAd-c.js → config-BkZ9HOKT.js} +17 -17
  47. package/dist/{config-cli-EgWrCemi.js → config-cli-CDTQQFyj.js} +1 -1
  48. package/dist/{config-cli-C7DIbGxx.js → config-cli-zd2upqe_.js} +1 -1
  49. package/dist/{configure-B67uIawm.js → configure-BHdczngQ.js} +6 -6
  50. package/dist/{configure-Bk-snuxh.js → configure-Cu4CiLWY.js} +6 -6
  51. package/dist/{consolidate-DRtVvG2U.js → consolidate-07QMweFF.js} +4 -4
  52. package/dist/control-ui/index.html +7 -0
  53. package/dist/control-ui/js/menu.js +2 -0
  54. package/dist/control-ui/js/settings.js +1 -0
  55. package/dist/{cron-cli-CGJveo7P.js → cron-cli-CZCm3aLt.js} +3 -3
  56. package/dist/{cron-cli-Crh_r2aK.js → cron-cli-Dq2FEfK1.js} +3 -3
  57. package/dist/{daemon-cli-Cq-IaYw4.js → daemon-cli-B2_uIgDM.js} +2 -2
  58. package/dist/{daemon-cli-CAIg9sMo.js → daemon-cli-CweMes2K.js} +2 -2
  59. package/dist/daemon-cli.js +27 -0
  60. package/dist/{deliver-SLYAWE19.js → deliver-qUx-eLKt.js} +20 -20
  61. package/dist/{devices-cli-CUT_8CuJ.js → devices-cli-3ui-Wcaj.js} +2 -2
  62. package/dist/{devices-cli-hSn5vjJZ.js → devices-cli-DeoPyzAd.js} +2 -2
  63. package/dist/{diagnostic-DTkZsRNM.js → diagnostic-BUcR3Meg.js} +1 -1
  64. package/dist/{doctor-completion-lE_33xaY.js → doctor-completion-ClveVbW_.js} +1 -1
  65. package/dist/{doctor-completion-By066O3p.js → doctor-completion-e-Ke-FnA.js} +1 -1
  66. package/dist/entry.js +1 -1
  67. package/dist/{env-CB65jmJQ.js → env-BDXYbTKj.js} +1 -1
  68. package/dist/{exec-approvals-cli-BTfZiH6z.js → exec-approvals-cli-Bx9loYnQ.js} +4 -4
  69. package/dist/{exec-approvals-cli-DTad2Zi_.js → exec-approvals-cli-CTEn_Eu_.js} +4 -4
  70. package/dist/extensionAPI.js +2 -2
  71. package/dist/{frontmatter-CT1M0pRK.js → frontmatter-CTR5f_Ez.js} +4 -4
  72. package/dist/{gateway-cli-DqEgqVKC.js → gateway-cli-CBseg7zA.js} +34 -16
  73. package/dist/{gateway-cli-C6uT2x34.js → gateway-cli-DGMuMxMT.js} +34 -16
  74. package/dist/{gateway-rpc-BKJyAcQd.js → gateway-rpc-DbSbyIcL.js} +1 -1
  75. package/dist/{gateway-rpc-DActF8Qj.js → gateway-rpc-QsFn5Zr1.js} +1 -1
  76. package/dist/{gemini-auth-D80BsXr2.js → gemini-auth-BefM10YB.js} +1 -1
  77. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  78. package/dist/{glass-ui-ws-CLAUHeZR.js → glass-ui-ws-B0WonpHP.js} +13 -13
  79. package/dist/{glass-ui-ws-77TY57IO.js → glass-ui-ws-BU6qyCvM.js} +13 -13
  80. package/dist/{health-2jkjZxY8.js → health-BrpUi4qW.js} +2 -2
  81. package/dist/{health-CvMHgR-L.js → health-d4gqJJCY.js} +2 -2
  82. package/dist/{hooks-cli-CRZySOiz.js → hooks-cli-CBStbWME.js} +7 -7
  83. package/dist/{hooks-cli-DSaezFsD.js → hooks-cli-Dm2SU8AY.js} +7 -7
  84. package/dist/{image-BHF_fnIp.js → image-C6rCON9L.js} +4 -4
  85. package/dist/{image-ops-CY7v6vvp.js → image-ops-C7CauEK8.js} +16 -16
  86. package/dist/index.js +11 -11
  87. package/dist/{internal-FNqguZSK.js → internal-DjnxpF_K.js} +11 -11
  88. package/dist/{ir-D6MiJpAy.js → ir-7tMVY7D_.js} +4 -4
  89. package/dist/llm-slug-generator.js +54 -54
  90. package/dist/{local-roots-tcdaIEhh.js → local-roots-ClipCZ9s.js} +5 -5
  91. package/dist/{login-D4ZkmSrY.js → login-D4rZWBXe.js} +7 -7
  92. package/dist/{login-qr-C9ftIq3n.js → login-qr-DdAVHOEC.js} +12 -12
  93. package/dist/{logs-cli-BPnrAg0W.js → logs-cli-1hn28HCu.js} +3 -3
  94. package/dist/{logs-cli-DiDesnnp.js → logs-cli-R4WwQvR2.js} +3 -3
  95. package/dist/{manager-DxCmjSfP.js → manager-B-5p7UGu.js} +25 -25
  96. package/dist/{manager-DrmlegR2.js → manager-BOvfAdfG.js} +2 -2
  97. package/dist/{manager-BtWtmpxN.js → manager-CtwApSQo.js} +2 -2
  98. package/dist/{manager-DDELj5o9.js → manager-DDboJTtn.js} +2 -2
  99. package/dist/{manifest-registry-BvGv6lp9.js → manifest-registry-CBCGTsIb.js} +19 -19
  100. package/dist/{markdown-tables-CE-qSMGB.js → markdown-tables-x2Xe2UXh.js} +1 -1
  101. package/dist/{memory-cli-ENCASZJk.js → memory-cli-BOxWccJu.js} +3 -3
  102. package/dist/{memory-cli-Qgbcxvuf.js → memory-cli-D2QHGsxh.js} +3 -3
  103. package/dist/{message-channel-lwVT8QjK.js → message-channel-OlFBYAw8.js} +1 -1
  104. package/dist/{models-COhUz7M9.js → models-Cn1cbmce.js} +3 -3
  105. package/dist/{models-cli-CYvXBvmZ.js → models-cli-CXW-3Zot.js} +8 -8
  106. package/dist/{models-cli-CCxYcF4R.js → models-cli-Cdkkr4--.js} +7 -7
  107. package/dist/{node-cli-DwDQpTW5.js → node-cli-BBN6PoOG.js} +1 -1
  108. package/dist/{node-cli-DEcCM2p0.js → node-cli-BsAzTrAx.js} +1 -1
  109. package/dist/{nodes-cli-CqBLemeB.js → nodes-cli-DE60dv81.js} +3 -3
  110. package/dist/{nodes-cli-u8k6TPmF.js → nodes-cli-t3azniiS.js} +3 -3
  111. package/dist/{onboard-CQNUYBIp.js → onboard-BJ9vVhFw.js} +3 -3
  112. package/dist/{onboard-fVpLVnwg.js → onboard-UB4D1vwP.js} +3 -3
  113. package/dist/{onboard-channels-CWw8G-6n.js → onboard-channels-Cfc9EhLj.js} +1 -1
  114. package/dist/{onboard-channels-9erx07qe.js → onboard-channels-Gfgyvx9N.js} +1 -1
  115. package/dist/{onboard-helpers-C8f_xi6R.js → onboard-helpers-B7jBYbCU.js} +1 -1
  116. package/dist/{onboard-helpers-CF0Cp3OB.js → onboard-helpers-DjlGq6iG.js} +1 -1
  117. package/dist/{onboard-remote-DgGH0dTe.js → onboard-remote-CXuHbtrT.js} +1 -1
  118. package/dist/{onboard-remote-CWal5_aZ.js → onboard-remote-D7wGqONm.js} +1 -1
  119. package/dist/{onboard-skills-DnzJLU2H.js → onboard-skills-BDhqz3te.js} +1 -1
  120. package/dist/{onboard-skills-CO2TjuO3.js → onboard-skills-ChQnpMi-.js} +1 -1
  121. package/dist/{onboarding-D-OIkDwZ.js → onboarding-BfSg5GnT.js} +7 -7
  122. package/dist/{onboarding-CtEiH9WG.js → onboarding-Bv89FLSZ.js} +7 -7
  123. package/dist/{onboarding.finalize-BY3HNjX4.js → onboarding.finalize-B8MFYp8E.js} +12 -12
  124. package/dist/{onboarding.finalize-DTbpLV-T.js → onboarding.finalize-DMJTZPb_.js} +11 -11
  125. package/dist/{onboarding.gateway-config-DlV0vso8.js → onboarding.gateway-config-Cm5jIfRz.js} +3 -3
  126. package/dist/{onboarding.gateway-config-D4rQoPRi.js → onboarding.gateway-config-wAyLcGRu.js} +3 -3
  127. package/dist/{outbound-C6Gm22UF.js → outbound-Zmd7UyQH.js} +7 -7
  128. package/dist/{outbound-attachment-BWyKV1Gy.js → outbound-attachment-DeCnZT-8.js} +2 -2
  129. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  130. package/dist/{pi-auth-json-Bv1NzJdR.js → pi-auth-json-RXOlh8ar.js} +1 -1
  131. package/dist/{pi-embedded-CdOdQw2i.js → pi-embedded-CzKPTG9K.js} +149 -75
  132. package/dist/{pi-embedded-helpers-DwQ9wJeT.js → pi-embedded-helpers-P13adotN.js} +73 -73
  133. package/dist/{plugin-registry-BrJ0-qlu.js → plugin-registry-CQAtbgft.js} +1 -1
  134. package/dist/{plugin-registry-Cuc8ORuR.js → plugin-registry-R7nyNT_4.js} +1 -1
  135. package/dist/plugin-sdk/{channel-web-t8UOP6Zu.js → channel-web-D1qaoERA.js} +1 -1
  136. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -3
  137. package/dist/plugin-sdk/gateway/protocol/schema/tasks.d.ts +40 -0
  138. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -0
  139. package/dist/plugin-sdk/gateway/protocol/schema.d.ts +1 -0
  140. package/dist/plugin-sdk/index.js +3 -3
  141. package/dist/plugin-sdk/infra/long-task-state.d.ts +34 -0
  142. package/dist/plugin-sdk/{manager-BPm5oefC.js → manager-CVuMChKq.js} +2 -2
  143. package/dist/plugin-sdk/{reply-BKAHTugL.js → reply-LZax-i7K.js} +149 -75
  144. package/dist/plugin-sdk/{synthesis-CVF7Fwhd.js → synthesis-DnknLqQP.js} +2 -2
  145. package/dist/plugin-sdk/{web-D0DsmFvw.js → web-DGGSyBgc.js} +3 -3
  146. package/dist/{plugins-v8k1XVOy.js → plugins-BzmbgY7s.js} +9 -9
  147. package/dist/{plugins-cli-DFmriy-c.js → plugins-cli-CyaM2yPX.js} +7 -7
  148. package/dist/{plugins-cli-BDalhI46.js → plugins-cli-DGWVBlc8.js} +7 -7
  149. package/dist/{program-DKh41c2a.js → program-2jsiC85C.js} +12 -12
  150. package/dist/{program-context-Cq7pqOrw.js → program-context-DQg-ZH6A.js} +30 -30
  151. package/dist/{prompt-select-styled-DvvSE_ni.js → prompt-select-styled-CQJkA--o.js} +8 -8
  152. package/dist/{prompt-select-styled-BFCAZLwK.js → prompt-select-styled-Csj7D4id.js} +8 -8
  153. package/dist/{provider-auth-helpers-DXppgV1l.js → provider-auth-helpers-C1rUolDI.js} +1 -1
  154. package/dist/{provider-auth-helpers-B-LkDxxi.js → provider-auth-helpers-DSq3qfws.js} +1 -1
  155. package/dist/{push-apns-DCA47WA5.js → push-apns-Dv3XQClG.js} +1 -1
  156. package/dist/{push-apns-DvudhEAb.js → push-apns-FvyXV3Um.js} +1 -1
  157. package/dist/{pw-ai-XGqnSWju.js → pw-ai-CeWN4iD9.js} +11 -11
  158. package/dist/{qmd-manager-CbRJhonG.js → qmd-manager-BXkbA8Y9.js} +8 -8
  159. package/dist/{register.agent-_BV5KyFb.js → register.agent-Cs5QU2Cd.js} +11 -11
  160. package/dist/{register.agent-aFj_SMi3.js → register.agent-DCIdzwFG.js} +10 -10
  161. package/dist/{register.configure-Dx0Uhmlz.js → register.configure-BBKyd--9.js} +13 -13
  162. package/dist/{register.configure-CvOoD5gE.js → register.configure-C64fHXoT.js} +13 -13
  163. package/dist/{register.maintenance-CMeJR7DG.js → register.maintenance-D99fy4mM.js} +13 -13
  164. package/dist/{register.maintenance-BuZpoSik.js → register.maintenance-DRUMeCun.js} +12 -12
  165. package/dist/{register.message-xxGePuRC.js → register.message-BL30Nofx.js} +7 -7
  166. package/dist/{register.message-qysZPg3G.js → register.message-CelO3y3f.js} +7 -7
  167. package/dist/{register.onboard-1MP2I0q4.js → register.onboard-Cb9K2U81.js} +9 -9
  168. package/dist/{register.onboard-D4Aow7Gc.js → register.onboard-j6fg7rSF.js} +9 -9
  169. package/dist/{register.setup-BT74aXzA.js → register.setup-BfbJZE5C.js} +9 -9
  170. package/dist/{register.setup-DzliKkWh.js → register.setup-xyGsh3Fi.js} +9 -9
  171. package/dist/{register.status-health-sessions-D7VYZlrU.js → register.status-health-sessions-BE4TcJ1J.js} +9 -9
  172. package/dist/{register.status-health-sessions-B3K2gZ72.js → register.status-health-sessions-CpnBFwbx.js} +9 -9
  173. package/dist/{register.subclis-BCy0IDRv.js → register.subclis-8cGjLTmN.js} +20 -20
  174. package/dist/{registry-X6fUE0K7.js → registry-DYq1AYOv.js} +19 -19
  175. package/dist/{replies-86F3PldM.js → replies-CUWXgyx2.js} +3 -3
  176. package/dist/{reply-Dg1ZU3DZ.js → reply-CaGCmutq.js} +125 -78
  177. package/dist/{reply-prefix-CI_IdwqH.js → reply-prefix-CvEIl6_d.js} +1 -1
  178. package/dist/{resolve-route-BgSuN9c6.js → resolve-route-Jy5dFY67.js} +4 -4
  179. package/dist/{retry-4oEAHckB.js → retry-B-y5suGA.js} +1 -1
  180. package/dist/{rpc-DYHXLh0P.js → rpc-C3ZUAjXK.js} +1 -1
  181. package/dist/{rpc-DdlEeEXT.js → rpc-St4eAsjR.js} +1 -1
  182. package/dist/{run-main-OS2aFAJ2.js → run-main-BzZuJeMa.js} +20 -20
  183. package/dist/{runner-B5oNTtgf.js → runner-D633VT13.js} +22 -22
  184. package/dist/{security-cli-BadXDWTh.js → security-cli-B8gavsuQ.js} +3 -3
  185. package/dist/{security-cli-D5y28-RH.js → security-cli-BSvxNP9m.js} +3 -3
  186. package/dist/{send-cCTQjuOZ.js → send-BKo1T3HF.js} +6 -6
  187. package/dist/{send-BTfqlrYd.js → send-Bb4it0te.js} +18 -18
  188. package/dist/{send-CSydU49L.js → send-C0QjmPaf.js} +10 -10
  189. package/dist/{send-Du-IfSne.js → send-Cpk3Ti6-.js} +6 -6
  190. package/dist/{send-ASDB3AzC.js → send-DFtnbzqy.js} +7 -7
  191. package/dist/{server-methods-BszFAkbJ.js → server-methods-BKlZejQC.js} +57 -13
  192. package/dist/{server-methods-D_iKJ-sj.js → server-methods-DEV38b_O.js} +57 -13
  193. package/dist/{server-node-events-CENHuAVz.js → server-node-events-3FL5gBKp.js} +7 -7
  194. package/dist/{server-node-events-uBu3XOjd.js → server-node-events-BX5JLPyV.js} +7 -7
  195. package/dist/{session-D8qLj_xN.js → session-BTeY6Gn2.js} +8 -8
  196. package/dist/{skill-commands-BcOduw6G.js → skill-commands-DG2lcozb.js} +16 -16
  197. package/dist/{skills-BrYDT4Jr.js → skills-CXxrn_e2.js} +24 -24
  198. package/dist/{sqlite-P-gMg7fi.js → sqlite-BN_hIcmu.js} +3 -3
  199. package/dist/{status-CBnCPUMG.js → status-L76LBY6B.js} +6 -6
  200. package/dist/{status-BvbJavmh.js → status-h7VP4Vpq.js} +1 -1
  201. package/dist/{status-DJAeKN4G.js → status-uBCH1pzQ.js} +1 -1
  202. package/dist/{status-CA0mUJld.js → status-zNfi0s3F.js} +6 -6
  203. package/dist/{store-Ceagbc4L.js → store-01F_JM7O.js} +6 -6
  204. package/dist/{subagent-registry-C1OyZl-M.js → subagent-registry-DlIPWOrx.js} +125 -78
  205. package/dist/{subsystem-CzXhCdeY.js → subsystem-BjyjJF-d.js} +1 -1
  206. package/dist/{synthesis-brHrnNF2.js → synthesis-1XabTYcd.js} +6 -6
  207. package/dist/{synthesis-z5B41p_r.js → synthesis-BfB-Lbjy.js} +6 -6
  208. package/dist/{synthesis-DuqSkHEr.js → synthesis-D1xCmGZi.js} +54 -54
  209. package/dist/{synthesis-DNTyB7JY.js → synthesis-D3EObLPS.js} +2 -2
  210. package/dist/{system-cli-BFopJ_xI.js → system-cli-BN9MXNk7.js} +3 -3
  211. package/dist/{system-cli-DryauSOX.js → system-cli-CD5latLh.js} +3 -3
  212. package/dist/{tables-qbCoZrYA.js → tables-DoG-pFrf.js} +1 -1
  213. package/dist/{target-errors-uNitqCCT.js → target-errors-DeJTztcq.js} +2 -2
  214. package/dist/{thinking-BV7SCNJP.js → thinking-BprCy23Z.js} +5 -5
  215. package/dist/{tokens-Bl5R3wPD.js → tokens-W0JzCJJM.js} +1 -1
  216. package/dist/{tool-images-JxNglLSr.js → tool-images-SqqWIT22.js} +2 -2
  217. package/dist/{tool-loop-detection-dfE771kg.js → tool-loop-detection-Dj9h1ogr.js} +3 -3
  218. package/dist/{tui-CvHbwJ3G.js → tui-Cu4TZK3I.js} +2 -2
  219. package/dist/{tui-BiBFm_RY.js → tui-DLkE0D7e.js} +2 -2
  220. package/dist/{tui-cli-CmyT9ctV.js → tui-cli-BfuEq3Q-.js} +3 -3
  221. package/dist/{tui-cli-CU6A8Bu2.js → tui-cli-DC9Bq-N_.js} +3 -3
  222. package/dist/{unified-runner-Czg3pdBc.js → unified-runner-KFxqPxWe.js} +378 -304
  223. package/dist/{update-cli-0lyGyl31.js → update-cli-CwtAWyeY.js} +14 -14
  224. package/dist/{update-cli-CIzkVfmj.js → update-cli-bTfRfI4b.js} +13 -13
  225. package/dist/{update-runner-D7-LDziQ.js → update-runner-BixvbAbN.js} +1 -1
  226. package/dist/{update-runner-aYPcKYAN.js → update-runner-DeT8NIX6.js} +1 -1
  227. package/dist/{web-Wk1ay1eQ.js → web-Bwrtjkmy.js} +2 -2
  228. package/dist/{web-CN7wnU7w.js → web-CO0AUYgu.js} +6 -6
  229. package/dist/{web-BJ5dUZso.js → web-N4FG6nyF.js} +7 -7
  230. package/dist/{web-B90A99YU.js → web-YSRcfzpP.js} +58 -58
  231. package/dist/{whatsapp-actions-llk0IUn2.js → whatsapp-actions-DmVpLXmh.js} +23 -23
  232. package/dist/{workspace-CywO4ayZ.js → workspace-DscDraUb.js} +27 -27
  233. package/extensions/bluebubbles/package.json +1 -1
  234. package/extensions/copilot-proxy/package.json +1 -1
  235. package/extensions/diagnostics-otel/package.json +1 -1
  236. package/extensions/discord/package.json +1 -1
  237. package/extensions/feishu/package.json +1 -1
  238. package/extensions/google-antigravity-auth/package.json +1 -1
  239. package/extensions/google-gemini-cli-auth/package.json +1 -1
  240. package/extensions/googlechat/package.json +1 -1
  241. package/extensions/imessage/package.json +1 -1
  242. package/extensions/irc/package.json +1 -1
  243. package/extensions/learning-loop/package.json +1 -1
  244. package/extensions/line/package.json +1 -1
  245. package/extensions/llm-task/package.json +1 -1
  246. package/extensions/matrix/CHANGELOG.md +12 -0
  247. package/extensions/matrix/package.json +1 -1
  248. package/extensions/mattermost/package.json +1 -1
  249. package/extensions/memory-core/package.json +1 -1
  250. package/extensions/memory-lancedb/package.json +1 -1
  251. package/extensions/minimax-portal-auth/package.json +1 -1
  252. package/extensions/msteams/CHANGELOG.md +12 -0
  253. package/extensions/msteams/package.json +1 -1
  254. package/extensions/nextcloud-talk/package.json +1 -1
  255. package/extensions/nostr/CHANGELOG.md +12 -0
  256. package/extensions/nostr/package.json +1 -1
  257. package/extensions/open-prose/package.json +1 -1
  258. package/extensions/outlook/package.json +1 -1
  259. package/extensions/pipeline/package.json +1 -1
  260. package/extensions/signal/package.json +1 -1
  261. package/extensions/slack/package.json +1 -1
  262. package/extensions/telegram/package.json +1 -1
  263. package/extensions/tlon/package.json +1 -1
  264. package/extensions/twitch/CHANGELOG.md +12 -0
  265. package/extensions/twitch/package.json +1 -1
  266. package/extensions/voice-call/CHANGELOG.md +12 -0
  267. package/extensions/voice-call/package.json +1 -1
  268. package/extensions/whatsapp/package.json +1 -1
  269. package/extensions/zalo/CHANGELOG.md +12 -0
  270. package/extensions/zalo/package.json +1 -1
  271. package/extensions/zalouser/CHANGELOG.md +12 -0
  272. package/extensions/zalouser/package.json +1 -1
  273. package/package.json +1 -1
  274. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { D as escapeRegExp, H as toWhatsappJid, rt as getChildLogger } from "./registry-X6fUE0K7.js";
3
- import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
4
- import { n as loadConfig } from "./config-C4WnAd-c.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CE-qSMGB.js";
6
- import { a as loadWebMedia } from "./ir-D6MiJpAy.js";
2
+ import { D as escapeRegExp, H as toWhatsappJid, rt as getChildLogger } from "./registry-DYq1AYOv.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
4
+ import { n as loadConfig } from "./config-BkZ9HOKT.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-x2Xe2UXh.js";
6
+ import { a as loadWebMedia } from "./ir-7tMVY7D_.js";
7
7
  import { n as normalizePollInput } from "./polls-Kt7OzYCK.js";
8
- import { t as convertMarkdownTables } from "./tables-qbCoZrYA.js";
9
- import { n as requireActiveWebListener } from "./active-listener-AVNn5_U9.js";
8
+ import { t as convertMarkdownTables } from "./tables-DoG-pFrf.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-BVZOh2T1.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
@@ -1,5 +1,5 @@
1
- import { r as saveMediaBuffer } from "./store-Ceagbc4L.js";
2
- import { a as loadWebMedia } from "./ir-D6MiJpAy.js";
1
+ import { r as saveMediaBuffer } from "./store-01F_JM7O.js";
2
+ import { a as loadWebMedia } from "./ir-7tMVY7D_.js";
3
3
 
4
4
  //#region src/media/outbound-attachment.ts
5
5
  async function resolveOutboundAttachmentFromUrl(mediaUrl, maxBytes, options) {
@@ -1,4 +1,4 @@
1
- import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CYmyCDsE.js";
1
+ import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { C as normalizeProviderId, U as normalizeOptionalSecretInput, d as ensureAuthProfileStore } from "./auth-profiles-BzB_Exeq.js";
2
+ import { C as normalizeProviderId, U as normalizeOptionalSecretInput, d as ensureAuthProfileStore } from "./auth-profiles-C2vj6htZ.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
 
@@ -37,7 +37,7 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as re
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
39
  import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-MNvheU8U.js";
40
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-BtWtmpxN.js";
40
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CtwApSQo.js";
41
41
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-479FB0St.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
43
43
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Dm716SF3.js";
@@ -3473,7 +3473,7 @@ async function getMemorySearchManager(params) {
3473
3473
  const wrapper = new FallbackMemoryManager({
3474
3474
  primary,
3475
3475
  fallbackFactory: async () => {
3476
- const { MemoryIndexManager } = await import("./manager-BtWtmpxN.js").then((n) => n.n);
3476
+ const { MemoryIndexManager } = await import("./manager-CtwApSQo.js").then((n) => n.n);
3477
3477
  return await MemoryIndexManager.get(params);
3478
3478
  }
3479
3479
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3486,7 +3486,7 @@ async function getMemorySearchManager(params) {
3486
3486
  }
3487
3487
  }
3488
3488
  try {
3489
- const { MemoryIndexManager } = await import("./manager-BtWtmpxN.js").then((n) => n.n);
3489
+ const { MemoryIndexManager } = await import("./manager-CtwApSQo.js").then((n) => n.n);
3490
3490
  return { manager: await MemoryIndexManager.get(params) };
3491
3491
  } catch (err) {
3492
3492
  return {
@@ -5608,6 +5608,31 @@ const SessionsUsageParamsSchema = Type.Object({
5608
5608
  includeContextWeight: Type.Optional(Type.Boolean())
5609
5609
  }, { additionalProperties: false });
5610
5610
 
5611
+ //#endregion
5612
+ //#region src/gateway/protocol/schema/tasks.ts
5613
+ /**
5614
+ * tasks.list — enumerates long-running detached tasks across configured
5615
+ * agent workspaces. Optional `workdir` override scans a single absolute
5616
+ * directory instead.
5617
+ */
5618
+ const TasksListParamsSchema = Type.Object({ workdir: Type.Optional(Type.String()) }, { additionalProperties: false });
5619
+ const TaskInfoSchema = Type.Object({
5620
+ id: Type.String(),
5621
+ agentId: Type.Optional(Type.String()),
5622
+ workdir: Type.String(),
5623
+ pid: Type.Union([Type.Integer(), Type.Null()]),
5624
+ alive: Type.Boolean(),
5625
+ archived: Type.Boolean(),
5626
+ status: Type.String(),
5627
+ started: Type.Union([Type.String(), Type.Null()]),
5628
+ cmd: Type.Union([Type.String(), Type.Null()]),
5629
+ pidPath: Type.String(),
5630
+ statusPath: Type.String(),
5631
+ archivedPath: Type.String(),
5632
+ logPath: Type.String()
5633
+ }, { additionalProperties: false });
5634
+ const TasksListResultSchema = Type.Object({ tasks: Type.Array(TaskInfoSchema) }, { additionalProperties: false });
5635
+
5611
5636
  //#endregion
5612
5637
  //#region src/gateway/protocol/schema/wizard.ts
5613
5638
  const WizardRunStatusSchema = Type.Union([
@@ -5693,6 +5718,7 @@ const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema);
5693
5718
  const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema);
5694
5719
  const validateWakeParams = ajv.compile(WakeParamsSchema);
5695
5720
  const validateAgentsListParams = ajv.compile(AgentsListParamsSchema);
5721
+ const validateTasksListParams = ajv.compile(TasksListParamsSchema);
5696
5722
  const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema);
5697
5723
  const validateAgentsUpdateParams = ajv.compile(AgentsUpdateParamsSchema);
5698
5724
  const validateAgentsDeleteParams = ajv.compile(AgentsDeleteParamsSchema);
@@ -6115,6 +6141,7 @@ const METHOD_SCOPE_GROUPS = {
6115
6141
  "cron.list",
6116
6142
  "cron.status",
6117
6143
  "cron.runs",
6144
+ "tasks.list",
6118
6145
  "system-presence",
6119
6146
  "last-heartbeat",
6120
6147
  "node.list",
@@ -36661,6 +36688,103 @@ function createSubagentsTool(opts) {
36661
36688
  };
36662
36689
  }
36663
36690
 
36691
+ //#endregion
36692
+ //#region src/infra/long-task-state.ts
36693
+ /**
36694
+ * Shared helpers for reading the on-disk state files written by
36695
+ * skills/long-task/scripts/detach-task.sh:
36696
+ *
36697
+ * task-<id>.pid — PID of the detached process
36698
+ * task-<id>.cmd — literal command line
36699
+ * task-<id>.started — ISO-8601 start timestamp
36700
+ * task-<id>.log — combined stdout + stderr
36701
+ * task-<id>.status — current state line
36702
+ * task-<id>.archived — tombstone written by the janitor when it sweeps
36703
+ * a finished task more than 7 days old
36704
+ *
36705
+ * Both the agent-facing tools (task_list / task_cancel) and the gateway's
36706
+ * tasks.list RPC consume this helper so the two views stay in sync.
36707
+ */
36708
+ const TASK_FILE_PREFIX = "task-";
36709
+ const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
36710
+ const TASK_FILE_SUFFIXES = [
36711
+ ".pid",
36712
+ ".status",
36713
+ ".started",
36714
+ ".cmd",
36715
+ ".log",
36716
+ ".archived"
36717
+ ];
36718
+ function defaultIsPidAlive(pid) {
36719
+ try {
36720
+ process.kill(pid, 0);
36721
+ return true;
36722
+ } catch (err) {
36723
+ if (err.code === "EPERM") return true;
36724
+ return false;
36725
+ }
36726
+ }
36727
+ async function safeRead(filePath) {
36728
+ try {
36729
+ return (await fs.promises.readFile(filePath, "utf8")).trim();
36730
+ } catch {
36731
+ return null;
36732
+ }
36733
+ }
36734
+ async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
36735
+ const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
36736
+ const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
36737
+ const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
36738
+ const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
36739
+ const [pidText, status, started, cmd, archived] = await Promise.all([
36740
+ safeRead(pidPath),
36741
+ safeRead(statusPath),
36742
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
36743
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
36744
+ safeRead(archivedPath)
36745
+ ]);
36746
+ let pid = null;
36747
+ if (pidText) {
36748
+ const parsed = Number.parseInt(pidText, 10);
36749
+ if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
36750
+ }
36751
+ let resolvedStatus;
36752
+ if (status) resolvedStatus = status;
36753
+ else if (archived) resolvedStatus = archived;
36754
+ else resolvedStatus = "missing";
36755
+ return {
36756
+ id,
36757
+ pid,
36758
+ alive: pid !== null && isPidAlive(pid),
36759
+ archived: archived !== null,
36760
+ status: resolvedStatus,
36761
+ started,
36762
+ cmd,
36763
+ pidPath,
36764
+ statusPath,
36765
+ archivedPath,
36766
+ logPath
36767
+ };
36768
+ }
36769
+ async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
36770
+ let entries;
36771
+ try {
36772
+ entries = await fs.promises.readdir(workdir);
36773
+ } catch {
36774
+ return [];
36775
+ }
36776
+ const taskIds = /* @__PURE__ */ new Set();
36777
+ for (const entry of entries) {
36778
+ if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
36779
+ for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
36780
+ const id = entry.slice(5, -suffix.length);
36781
+ if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
36782
+ break;
36783
+ }
36784
+ }
36785
+ return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
36786
+ }
36787
+
36664
36788
  //#endregion
36665
36789
  //#region src/agents/tools/task-tool.ts
36666
36790
  /**
@@ -36670,21 +36794,14 @@ function createSubagentsTool(opts) {
36670
36794
  * script writes task-<id>.{pid,cmd,started,log,status} state files into
36671
36795
  * the agent's workspace; these tools read and act on those files so the
36672
36796
  * agent can answer "what's running?" and kill a task without needing
36673
- * shell access.
36797
+ * shell access. Shared scanning logic lives in
36798
+ * src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
36799
+ * agent tools agree on every shape detail.
36674
36800
  *
36675
36801
  * task-id allow-list mirrors detach-task.sh: 1–60 chars from
36676
36802
  * [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
36677
36803
  * agent kill processes it never spawned via path traversal.
36678
36804
  */
36679
- const TASK_FILE_PREFIX = "task-";
36680
- const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
36681
- const TASK_FILE_SUFFIXES = [
36682
- ".pid",
36683
- ".status",
36684
- ".started",
36685
- ".cmd",
36686
- ".log"
36687
- ];
36688
36805
  const ALLOWED_SIGNALS = new Set([
36689
36806
  "SIGTERM",
36690
36807
  "SIGINT",
@@ -36716,58 +36833,30 @@ function isPidAlive(pid) {
36716
36833
  return false;
36717
36834
  }
36718
36835
  }
36719
- async function safeRead(filePath) {
36720
- try {
36721
- return (await fs.promises.readFile(filePath, "utf8")).trim();
36722
- } catch {
36723
- return null;
36724
- }
36725
- }
36726
36836
  function resolveWorkdir(deps, override) {
36727
36837
  const raw = override?.trim();
36728
36838
  if (!raw) return deps.workspaceDir;
36729
36839
  if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
36730
36840
  return raw;
36731
36841
  }
36732
- async function readTaskInfo(workdir, id) {
36733
- const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
36734
- const [pidText, status, started, cmd] = await Promise.all([
36735
- safeRead(pidPath),
36736
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
36737
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
36738
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
36739
- ]);
36740
- let pid = null;
36741
- if (pidText) {
36742
- const parsed = Number.parseInt(pidText, 10);
36743
- if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
36744
- }
36745
- return {
36746
- id,
36747
- pid,
36748
- alive: pid !== null && isPidAlive(pid),
36749
- status: status ?? "missing",
36750
- started,
36751
- cmd,
36752
- pidPath,
36753
- statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
36754
- logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
36755
- };
36756
- }
36757
36842
  function createTaskListTool(deps) {
36758
36843
  return {
36759
36844
  label: "Task List",
36760
36845
  name: "task_list",
36761
36846
  description: `List long-running detached tasks in the agent's workspace.
36762
36847
 
36763
- Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
36764
- checks each PID's liveness. Use this to find the task-id of a running
36765
- detach-task before calling task_cancel, or to answer "what's running right
36766
- now?" without re-asking the user.
36767
-
36768
- Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
36769
- Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
36770
- the agent can spot orphan state files.`,
36848
+ Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
36849
+ state, and checks each PID's liveness. Use this to find the task-id of a
36850
+ running detach-task before calling task_cancel, or to answer "what's
36851
+ running right now?" without re-asking the user.
36852
+
36853
+ Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
36854
+ - archived=true means the janitor swept this task's live state files (>7d
36855
+ dead) and replaced them with a tombstone. The canonical end status is
36856
+ preserved in the .archived file. Distinct from "missing" (no tombstone,
36857
+ no live files) which means the task crashed or its workdir was wiped.
36858
+ - Tasks whose .pid file is missing are still listed (alive=false, pid=null)
36859
+ so the agent can spot orphan state files.`,
36771
36860
  parameters: TaskListSchema,
36772
36861
  execute: async (_toolCallId, args) => {
36773
36862
  const override = readStringParam(args, "workdir");
@@ -36781,34 +36870,19 @@ the agent can spot orphan state files.`,
36781
36870
  error: err instanceof Error ? err.message : String(err)
36782
36871
  });
36783
36872
  }
36784
- let entries;
36785
36873
  try {
36786
- entries = await fs.promises.readdir(workdir);
36787
- } catch (err) {
36788
- if (err.code === "ENOENT") return jsonResult({
36874
+ const tasks = await listTasksInWorkdir(workdir, isPidAlive);
36875
+ return jsonResult({
36789
36876
  workdir,
36790
- tasks: []
36877
+ tasks
36791
36878
  });
36879
+ } catch (err) {
36792
36880
  return jsonResult({
36793
36881
  workdir,
36794
36882
  tasks: [],
36795
36883
  error: err instanceof Error ? err.message : String(err)
36796
36884
  });
36797
36885
  }
36798
- const taskIds = /* @__PURE__ */ new Set();
36799
- for (const entry of entries) {
36800
- if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
36801
- for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
36802
- const id = entry.slice(5, -suffix.length);
36803
- if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
36804
- break;
36805
- }
36806
- }
36807
- const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
36808
- return jsonResult({
36809
- workdir,
36810
- tasks
36811
- });
36812
36886
  }
36813
36887
  };
36814
36888
  }
@@ -46026,7 +46100,7 @@ async function buildLongTaskPromptSuffix(params) {
46026
46100
  "- Register a cron monitor via the `cron` tool's `add` action. Use the schema documented in that tool's own description for the exact field names — do NOT guess. The monitor should fire roughly every 3 minutes as an isolated agentTurn job, and its message must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
46027
46101
  "- Safe status read (inside the monitor turn):",
46028
46102
  " `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
46029
- " Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
46103
+ " Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, `archived swept-from=… at=<ISO>` if the janitor archived an old finished task, or `missing` only when neither `.status` nor `.archived` exists (task crashed or workdir was wiped).",
46030
46104
  "- Monitor responsibilities each tick:",
46031
46105
  " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
46032
46106
  " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
@@ -61516,7 +61590,7 @@ function isVoiceChannelType(type) {
61516
61590
  function createDefaultDeps() {
61517
61591
  return {
61518
61592
  sendMessageWhatsApp: async (...args) => {
61519
- const { sendMessageWhatsApp } = await import("./web-Wk1ay1eQ.js");
61593
+ const { sendMessageWhatsApp } = await import("./web-Bwrtjkmy.js");
61520
61594
  return await sendMessageWhatsApp(...args);
61521
61595
  },
61522
61596
  sendMessageTelegram: async (...args) => {
@@ -76796,7 +76870,7 @@ function loadWebLoginQr() {
76796
76870
  return webLoginQrPromise;
76797
76871
  }
76798
76872
  function loadWebChannel() {
76799
- webChannelPromise ??= import("./web-Wk1ay1eQ.js");
76873
+ webChannelPromise ??= import("./web-Bwrtjkmy.js");
76800
76874
  return webChannelPromise;
76801
76875
  }
76802
76876
  function loadWhatsAppActions() {