@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
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Shared helpers for reading the on-disk state files written by
3
+ * skills/long-task/scripts/detach-task.sh:
4
+ *
5
+ * task-<id>.pid — PID of the detached process
6
+ * task-<id>.cmd — literal command line
7
+ * task-<id>.started — ISO-8601 start timestamp
8
+ * task-<id>.log — combined stdout + stderr
9
+ * task-<id>.status — current state line
10
+ * task-<id>.archived — tombstone written by the janitor when it sweeps
11
+ * a finished task more than 7 days old
12
+ *
13
+ * Both the agent-facing tools (task_list / task_cancel) and the gateway's
14
+ * tasks.list RPC consume this helper so the two views stay in sync.
15
+ */
16
+ export declare const TASK_FILE_PREFIX = "task-";
17
+ export declare const TASK_ID_RE: RegExp;
18
+ export declare const TASK_FILE_SUFFIXES: readonly [".pid", ".status", ".started", ".cmd", ".log", ".archived"];
19
+ export type TaskInfo = {
20
+ id: string;
21
+ pid: number | null;
22
+ alive: boolean;
23
+ archived: boolean;
24
+ status: string;
25
+ started: string | null;
26
+ cmd: string | null;
27
+ pidPath: string;
28
+ statusPath: string;
29
+ archivedPath: string;
30
+ logPath: string;
31
+ };
32
+ export declare function defaultIsPidAlive(pid: number): boolean;
33
+ export declare function readTaskInfo(workdir: string, id: string, isPidAlive?: (pid: number) => boolean): Promise<TaskInfo>;
34
+ export declare function listTasksInWorkdir(workdir: string, isPidAlive?: (pid: number) => boolean): Promise<TaskInfo[]>;
@@ -41,7 +41,7 @@ const DEFAULT_MMR_LAMBDA = .7;
41
41
  const DEFAULT_TEMPORAL_DECAY_ENABLED = true;
42
42
  const DEFAULT_TEMPORAL_DECAY_HALF_LIFE_DAYS = 30;
43
43
  const DEFAULT_CACHE_ENABLED = true;
44
- const DEFAULT_SOURCES = ["memory"];
44
+ const DEFAULT_SOURCES = ["memory", "sessions"];
45
45
  function normalizeSources(sources, sessionMemoryEnabled) {
46
46
  const normalized = /* @__PURE__ */ new Set();
47
47
  const input = sources?.length ? sources : DEFAULT_SOURCES;
@@ -3970,7 +3970,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3970
3970
  * to bypass the min-interval guard (CLI use).
3971
3971
  */
3972
3972
  async runL3CycleIfDue(params) {
3973
- const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-CVF7Fwhd.js")]);
3973
+ const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-DnknLqQP.js")]);
3974
3974
  const synthesize = createSynthesizer({
3975
3975
  cfg: this.cfg,
3976
3976
  agentId: this.agentId,
@@ -53,7 +53,7 @@ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decod
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
54
  import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-BPm5oefC.js";
56
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CVuMChKq.js";
57
57
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
58
58
  import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CGhw9mO3.js";
59
59
  import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
@@ -4006,6 +4006,31 @@ const SessionsUsageParamsSchema = Type.Object({
4006
4006
  includeContextWeight: Type.Optional(Type.Boolean())
4007
4007
  }, { additionalProperties: false });
4008
4008
 
4009
+ //#endregion
4010
+ //#region src/gateway/protocol/schema/tasks.ts
4011
+ /**
4012
+ * tasks.list — enumerates long-running detached tasks across configured
4013
+ * agent workspaces. Optional `workdir` override scans a single absolute
4014
+ * directory instead.
4015
+ */
4016
+ const TasksListParamsSchema = Type.Object({ workdir: Type.Optional(Type.String()) }, { additionalProperties: false });
4017
+ const TaskInfoSchema = Type.Object({
4018
+ id: Type.String(),
4019
+ agentId: Type.Optional(Type.String()),
4020
+ workdir: Type.String(),
4021
+ pid: Type.Union([Type.Integer(), Type.Null()]),
4022
+ alive: Type.Boolean(),
4023
+ archived: Type.Boolean(),
4024
+ status: Type.String(),
4025
+ started: Type.Union([Type.String(), Type.Null()]),
4026
+ cmd: Type.Union([Type.String(), Type.Null()]),
4027
+ pidPath: Type.String(),
4028
+ statusPath: Type.String(),
4029
+ archivedPath: Type.String(),
4030
+ logPath: Type.String()
4031
+ }, { additionalProperties: false });
4032
+ const TasksListResultSchema = Type.Object({ tasks: Type.Array(TaskInfoSchema) }, { additionalProperties: false });
4033
+
4009
4034
  //#endregion
4010
4035
  //#region src/gateway/protocol/schema/wizard.ts
4011
4036
  const WizardRunStatusSchema = Type.Union([
@@ -4091,6 +4116,7 @@ const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema);
4091
4116
  const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema);
4092
4117
  const validateWakeParams = ajv.compile(WakeParamsSchema);
4093
4118
  const validateAgentsListParams = ajv.compile(AgentsListParamsSchema);
4119
+ const validateTasksListParams = ajv.compile(TasksListParamsSchema);
4094
4120
  const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema);
4095
4121
  const validateAgentsUpdateParams = ajv.compile(AgentsUpdateParamsSchema);
4096
4122
  const validateAgentsDeleteParams = ajv.compile(AgentsDeleteParamsSchema);
@@ -4513,6 +4539,7 @@ const METHOD_SCOPE_GROUPS = {
4513
4539
  "cron.list",
4514
4540
  "cron.status",
4515
4541
  "cron.runs",
4542
+ "tasks.list",
4516
4543
  "system-presence",
4517
4544
  "last-heartbeat",
4518
4545
  "node.list",
@@ -11575,7 +11602,7 @@ async function getMemorySearchManager(params) {
11575
11602
  const wrapper = new FallbackMemoryManager({
11576
11603
  primary,
11577
11604
  fallbackFactory: async () => {
11578
- const { MemoryIndexManager } = await import("./manager-BPm5oefC.js").then((n) => n.n);
11605
+ const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
11579
11606
  return await MemoryIndexManager.get(params);
11580
11607
  }
11581
11608
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11588,7 +11615,7 @@ async function getMemorySearchManager(params) {
11588
11615
  }
11589
11616
  }
11590
11617
  try {
11591
- const { MemoryIndexManager } = await import("./manager-BPm5oefC.js").then((n) => n.n);
11618
+ const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
11592
11619
  return { manager: await MemoryIndexManager.get(params) };
11593
11620
  } catch (err) {
11594
11621
  return {
@@ -33917,7 +33944,7 @@ async function buildLongTaskPromptSuffix(params) {
33917
33944
  "- 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.",
33918
33945
  "- Safe status read (inside the monitor turn):",
33919
33946
  " `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
33920
- " 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.",
33947
+ " 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).",
33921
33948
  "- Monitor responsibilities each tick:",
33922
33949
  " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
33923
33950
  " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
@@ -36838,7 +36865,7 @@ async function runAgentTurn(params) {
36838
36865
  function createDefaultDeps() {
36839
36866
  return {
36840
36867
  sendMessageWhatsApp: async (...args) => {
36841
- const { sendMessageWhatsApp } = await import("./web-D0DsmFvw.js");
36868
+ const { sendMessageWhatsApp } = await import("./web-DGGSyBgc.js");
36842
36869
  return await sendMessageWhatsApp(...args);
36843
36870
  },
36844
36871
  sendMessageTelegram: async (...args) => {
@@ -54276,7 +54303,7 @@ function loadWebLoginQr() {
54276
54303
  return webLoginQrPromise;
54277
54304
  }
54278
54305
  function loadWebChannel() {
54279
- webChannelPromise ??= import("./web-D0DsmFvw.js");
54306
+ webChannelPromise ??= import("./web-DGGSyBgc.js");
54280
54307
  return webChannelPromise;
54281
54308
  }
54282
54309
  function loadWhatsAppActions() {
@@ -68670,6 +68697,103 @@ function createSubagentsTool(opts) {
68670
68697
  };
68671
68698
  }
68672
68699
 
68700
+ //#endregion
68701
+ //#region src/infra/long-task-state.ts
68702
+ /**
68703
+ * Shared helpers for reading the on-disk state files written by
68704
+ * skills/long-task/scripts/detach-task.sh:
68705
+ *
68706
+ * task-<id>.pid — PID of the detached process
68707
+ * task-<id>.cmd — literal command line
68708
+ * task-<id>.started — ISO-8601 start timestamp
68709
+ * task-<id>.log — combined stdout + stderr
68710
+ * task-<id>.status — current state line
68711
+ * task-<id>.archived — tombstone written by the janitor when it sweeps
68712
+ * a finished task more than 7 days old
68713
+ *
68714
+ * Both the agent-facing tools (task_list / task_cancel) and the gateway's
68715
+ * tasks.list RPC consume this helper so the two views stay in sync.
68716
+ */
68717
+ const TASK_FILE_PREFIX = "task-";
68718
+ const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
68719
+ const TASK_FILE_SUFFIXES = [
68720
+ ".pid",
68721
+ ".status",
68722
+ ".started",
68723
+ ".cmd",
68724
+ ".log",
68725
+ ".archived"
68726
+ ];
68727
+ function defaultIsPidAlive(pid) {
68728
+ try {
68729
+ process.kill(pid, 0);
68730
+ return true;
68731
+ } catch (err) {
68732
+ if (err.code === "EPERM") return true;
68733
+ return false;
68734
+ }
68735
+ }
68736
+ async function safeRead(filePath) {
68737
+ try {
68738
+ return (await fs.promises.readFile(filePath, "utf8")).trim();
68739
+ } catch {
68740
+ return null;
68741
+ }
68742
+ }
68743
+ async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
68744
+ const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
68745
+ const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
68746
+ const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
68747
+ const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
68748
+ const [pidText, status, started, cmd, archived] = await Promise.all([
68749
+ safeRead(pidPath),
68750
+ safeRead(statusPath),
68751
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
68752
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
68753
+ safeRead(archivedPath)
68754
+ ]);
68755
+ let pid = null;
68756
+ if (pidText) {
68757
+ const parsed = Number.parseInt(pidText, 10);
68758
+ if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
68759
+ }
68760
+ let resolvedStatus;
68761
+ if (status) resolvedStatus = status;
68762
+ else if (archived) resolvedStatus = archived;
68763
+ else resolvedStatus = "missing";
68764
+ return {
68765
+ id,
68766
+ pid,
68767
+ alive: pid !== null && isPidAlive(pid),
68768
+ archived: archived !== null,
68769
+ status: resolvedStatus,
68770
+ started,
68771
+ cmd,
68772
+ pidPath,
68773
+ statusPath,
68774
+ archivedPath,
68775
+ logPath
68776
+ };
68777
+ }
68778
+ async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
68779
+ let entries;
68780
+ try {
68781
+ entries = await fs.promises.readdir(workdir);
68782
+ } catch {
68783
+ return [];
68784
+ }
68785
+ const taskIds = /* @__PURE__ */ new Set();
68786
+ for (const entry of entries) {
68787
+ if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
68788
+ for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
68789
+ const id = entry.slice(5, -suffix.length);
68790
+ if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
68791
+ break;
68792
+ }
68793
+ }
68794
+ return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
68795
+ }
68796
+
68673
68797
  //#endregion
68674
68798
  //#region src/agents/tools/task-tool.ts
68675
68799
  /**
@@ -68679,21 +68803,14 @@ function createSubagentsTool(opts) {
68679
68803
  * script writes task-<id>.{pid,cmd,started,log,status} state files into
68680
68804
  * the agent's workspace; these tools read and act on those files so the
68681
68805
  * agent can answer "what's running?" and kill a task without needing
68682
- * shell access.
68806
+ * shell access. Shared scanning logic lives in
68807
+ * src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
68808
+ * agent tools agree on every shape detail.
68683
68809
  *
68684
68810
  * task-id allow-list mirrors detach-task.sh: 1–60 chars from
68685
68811
  * [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
68686
68812
  * agent kill processes it never spawned via path traversal.
68687
68813
  */
68688
- const TASK_FILE_PREFIX = "task-";
68689
- const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
68690
- const TASK_FILE_SUFFIXES = [
68691
- ".pid",
68692
- ".status",
68693
- ".started",
68694
- ".cmd",
68695
- ".log"
68696
- ];
68697
68814
  const ALLOWED_SIGNALS = new Set([
68698
68815
  "SIGTERM",
68699
68816
  "SIGINT",
@@ -68725,58 +68842,30 @@ function isPidAlive(pid) {
68725
68842
  return false;
68726
68843
  }
68727
68844
  }
68728
- async function safeRead(filePath) {
68729
- try {
68730
- return (await fs.promises.readFile(filePath, "utf8")).trim();
68731
- } catch {
68732
- return null;
68733
- }
68734
- }
68735
68845
  function resolveWorkdir(deps, override) {
68736
68846
  const raw = override?.trim();
68737
68847
  if (!raw) return deps.workspaceDir;
68738
68848
  if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
68739
68849
  return raw;
68740
68850
  }
68741
- async function readTaskInfo(workdir, id) {
68742
- const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
68743
- const [pidText, status, started, cmd] = await Promise.all([
68744
- safeRead(pidPath),
68745
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
68746
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
68747
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
68748
- ]);
68749
- let pid = null;
68750
- if (pidText) {
68751
- const parsed = Number.parseInt(pidText, 10);
68752
- if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
68753
- }
68754
- return {
68755
- id,
68756
- pid,
68757
- alive: pid !== null && isPidAlive(pid),
68758
- status: status ?? "missing",
68759
- started,
68760
- cmd,
68761
- pidPath,
68762
- statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
68763
- logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
68764
- };
68765
- }
68766
68851
  function createTaskListTool(deps) {
68767
68852
  return {
68768
68853
  label: "Task List",
68769
68854
  name: "task_list",
68770
68855
  description: `List long-running detached tasks in the agent's workspace.
68771
68856
 
68772
- Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
68773
- checks each PID's liveness. Use this to find the task-id of a running
68774
- detach-task before calling task_cancel, or to answer "what's running right
68775
- now?" without re-asking the user.
68776
-
68777
- Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
68778
- Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
68779
- the agent can spot orphan state files.`,
68857
+ Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
68858
+ state, and checks each PID's liveness. Use this to find the task-id of a
68859
+ running detach-task before calling task_cancel, or to answer "what's
68860
+ running right now?" without re-asking the user.
68861
+
68862
+ Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
68863
+ - archived=true means the janitor swept this task's live state files (>7d
68864
+ dead) and replaced them with a tombstone. The canonical end status is
68865
+ preserved in the .archived file. Distinct from "missing" (no tombstone,
68866
+ no live files) which means the task crashed or its workdir was wiped.
68867
+ - Tasks whose .pid file is missing are still listed (alive=false, pid=null)
68868
+ so the agent can spot orphan state files.`,
68780
68869
  parameters: TaskListSchema,
68781
68870
  execute: async (_toolCallId, args) => {
68782
68871
  const override = readStringParam(args, "workdir");
@@ -68790,34 +68879,19 @@ the agent can spot orphan state files.`,
68790
68879
  error: err instanceof Error ? err.message : String(err)
68791
68880
  });
68792
68881
  }
68793
- let entries;
68794
68882
  try {
68795
- entries = await fs.promises.readdir(workdir);
68796
- } catch (err) {
68797
- if (err.code === "ENOENT") return jsonResult({
68883
+ const tasks = await listTasksInWorkdir(workdir, isPidAlive);
68884
+ return jsonResult({
68798
68885
  workdir,
68799
- tasks: []
68886
+ tasks
68800
68887
  });
68888
+ } catch (err) {
68801
68889
  return jsonResult({
68802
68890
  workdir,
68803
68891
  tasks: [],
68804
68892
  error: err instanceof Error ? err.message : String(err)
68805
68893
  });
68806
68894
  }
68807
- const taskIds = /* @__PURE__ */ new Set();
68808
- for (const entry of entries) {
68809
- if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
68810
- for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
68811
- const id = entry.slice(5, -suffix.length);
68812
- if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
68813
- break;
68814
- }
68815
- }
68816
- const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
68817
- return jsonResult({
68818
- workdir,
68819
- tasks
68820
- });
68821
68895
  }
68822
68896
  };
68823
68897
  }
@@ -1,5 +1,5 @@
1
1
  import "./accounts-D9zGZU5t.js";
2
- import { u as runAgentTurn } from "./reply-BKAHTugL.js";
2
+ import { u as runAgentTurn } from "./reply-LZax-i7K.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -49,7 +49,7 @@ import "./image-DFyINnvE.js";
49
49
  import "./pi-model-discovery-LbcEa65a.js";
50
50
  import "./api-key-rotation-CBsLb_4V.js";
51
51
  import "./diagnostic-session-state-Wd5tNeQG.js";
52
- import "./manager-BPm5oefC.js";
52
+ import "./manager-CVuMChKq.js";
53
53
  import "./sqlite-CmVrFEYD.js";
54
54
  import "./commands-registry-BuYpmEx-.js";
55
55
  import "./send-CGhw9mO3.js";
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-BKAHTugL.js";
2
+ import "./reply-LZax-i7K.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,12 +45,12 @@ import "./pi-embedded-helpers-BL7ZRhGv.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-_oc91gNi.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-t8UOP6Zu.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-D1qaoERA.js";
49
49
  import "./image-DFyINnvE.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-CBsLb_4V.js";
52
52
  import "./diagnostic-session-state-Wd5tNeQG.js";
53
- import "./manager-BPm5oefC.js";
53
+ import "./manager-CVuMChKq.js";
54
54
  import "./sqlite-CmVrFEYD.js";
55
55
  import "./commands-registry-BuYpmEx-.js";
56
56
  import "./send-CGhw9mO3.js";
@@ -1,10 +1,10 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-X6fUE0K7.js";
3
- import { t as isTruthyEnvValue } from "./env-CB65jmJQ.js";
2
+ import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-DYq1AYOv.js";
3
+ import { t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
4
4
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
5
- import { m as createAccountListHelpers } from "./accounts-BsgY6sda.js";
6
- import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-xcRox9xM.js";
7
- import fsSync from "node:fs";
5
+ import { m as createAccountListHelpers } from "./accounts-BRw8yhIW.js";
6
+ import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-BsHoBLIE.js";
7
+ import fs from "node:fs";
8
8
 
9
9
  //#region src/channels/plugins/account-action-gate.ts
10
10
  function createAccountActionGate(params) {
@@ -186,7 +186,7 @@ function resolveTelegramToken(cfg, opts = {}) {
186
186
  const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
187
187
  const accountTokenFile = accountCfg?.tokenFile?.trim();
188
188
  if (accountTokenFile) {
189
- if (!fsSync.existsSync(accountTokenFile)) {
189
+ if (!fs.existsSync(accountTokenFile)) {
190
190
  opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
191
191
  return {
192
192
  token: "",
@@ -194,7 +194,7 @@ function resolveTelegramToken(cfg, opts = {}) {
194
194
  };
195
195
  }
196
196
  try {
197
- const token = fsSync.readFileSync(accountTokenFile, "utf-8").trim();
197
+ const token = fs.readFileSync(accountTokenFile, "utf-8").trim();
198
198
  if (token) return {
199
199
  token,
200
200
  source: "tokenFile"
@@ -219,7 +219,7 @@ function resolveTelegramToken(cfg, opts = {}) {
219
219
  const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
220
220
  const tokenFile = telegramCfg?.tokenFile?.trim();
221
221
  if (tokenFile && allowEnv) {
222
- if (!fsSync.existsSync(tokenFile)) {
222
+ if (!fs.existsSync(tokenFile)) {
223
223
  opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
224
224
  return {
225
225
  token: "",
@@ -227,7 +227,7 @@ function resolveTelegramToken(cfg, opts = {}) {
227
227
  };
228
228
  }
229
229
  try {
230
- const token = fsSync.readFileSync(tokenFile, "utf-8").trim();
230
+ const token = fs.readFileSync(tokenFile, "utf-8").trim();
231
231
  if (token) return {
232
232
  token,
233
233
  source: "tokenFile"
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Dg1ZU3DZ.js";
4
+ import "./reply-CaGCmutq.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
60
60
  import "./send-DpMnSIi5.js";
61
61
  import "./model-ECsJuJew.js";
62
62
  import "./reply-prefix-CE2YmmsD.js";
63
- import "./memory-cli-ENCASZJk.js";
64
- import "./manager-DrmlegR2.js";
63
+ import "./memory-cli-BOxWccJu.js";
64
+ import "./manager-BOvfAdfG.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -71,8 +71,8 @@ import "./ir-jTXFdH5R.js";
71
71
  import "./render-Bwu_WxwA.js";
72
72
  import "./commands-vWB85AXk.js";
73
73
  import "./commands-registry-D_uByLpw.js";
74
- import "./client-C7AOOnKZ.js";
75
- import "./call-Cmb04dff.js";
74
+ import "./client-CYsBIR3j.js";
75
+ import "./call-BkJK3eYP.js";
76
76
  import "./pairing-token-pooyuU2J.js";
77
77
  import "./channel-activity-CoTZV03i.js";
78
78
  import "./fetch-BECUf3wn.js";
@@ -93,7 +93,7 @@ import "./session-cost-usage-RPrhIvZF.js";
93
93
  import "./outbound-attachment-FbHNOB0s.js";
94
94
  import "./delivery-queue-D9i0qjI_.js";
95
95
  import "./send-SF7x1UHb.js";
96
- import "./onboard-helpers-C8f_xi6R.js";
96
+ import "./onboard-helpers-B7jBYbCU.js";
97
97
  import "./prompt-style-Y2J72w6p.js";
98
98
  import "./pairing-labels-CTL1gXZb.js";
99
99
  import "./exec-approvals-DEigTi7M.js";
@@ -107,7 +107,7 @@ import "./npm-registry-spec-B98RgVZF.js";
107
107
  import "./skill-scanner-BTgjeQBf.js";
108
108
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BPZKRjsO.js";
109
109
  import { t as renderTable } from "./table-BWuvjnmY.js";
110
- import { t as buildPluginStatusReport } from "./status-BvbJavmh.js";
110
+ import { t as buildPluginStatusReport } from "./status-h7VP4Vpq.js";
111
111
  import { n as updateNpmInstalledPlugins } from "./update-D4uLu0dv.js";
112
112
  import fs from "node:fs";
113
113
  import os from "node:os";
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
10
10
  import "./skills-D_oCiaQn.js";
11
11
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-D5bnO5uA.js";
12
12
  import { i as loadConfig, l as writeConfigFile } from "./config-DXt3pc08.js";
13
- import "./client-qUlxXXVJ.js";
14
- import "./call-BrRWr7Lj.js";
13
+ import "./client-Cmq13-uF.js";
14
+ import "./call-CAGvQYXj.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-C1OyZl-M.js";
17
+ import "./subagent-registry-DlIPWOrx.js";
18
18
  import "./sessions-BPD85pWA.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-J1x_DaPn.js";
54
54
  import "./reply-prefix-BUN71nd5.js";
55
- import "./memory-cli-Qgbcxvuf.js";
56
- import "./manager-DDELj5o9.js";
55
+ import "./memory-cli-D2QHGsxh.js";
56
+ import "./manager-DDboJTtn.js";
57
57
  import "./gemini-auth-DEakvf-D.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  import "./sqlite-BP8tiuca.js";
@@ -94,7 +94,7 @@ import "./cli-utils-CI_KkT8q.js";
94
94
  import "./help-format-nY42tGMB.js";
95
95
  import "./progress-HK2tT7Yf.js";
96
96
  import "./replies-Sxbew659.js";
97
- import "./onboard-helpers-CF0Cp3OB.js";
97
+ import "./onboard-helpers-DjlGq6iG.js";
98
98
  import "./prompt-style-BxVdnrLq.js";
99
99
  import "./pairing-labels-BHx_CdbP.js";
100
100
  import "./pi-tools.policy-o0ytjRqu.js";
@@ -103,7 +103,7 @@ import "./npm-registry-spec-PuS2I1Em.js";
103
103
  import "./skill-scanner-BV3QHmsf.js";
104
104
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B4sNNRaW.js";
105
105
  import { t as renderTable } from "./table-Bka4fasy.js";
106
- import { t as buildPluginStatusReport } from "./status-DJAeKN4G.js";
106
+ import { t as buildPluginStatusReport } from "./status-uBCH1pzQ.js";
107
107
  import { n as updateNpmInstalledPlugins } from "./update-DticqU4-.js";
108
108
  import os from "node:os";
109
109
  import path from "node:path";
@@ -11,11 +11,11 @@ import "./frontmatter-B8duUx_6.js";
11
11
  import "./skills-D_oCiaQn.js";
12
12
  import "./manifest-registry-D5bnO5uA.js";
13
13
  import { H as VERSION } from "./config-DXt3pc08.js";
14
- import "./client-qUlxXXVJ.js";
15
- import "./call-BrRWr7Lj.js";
14
+ import "./client-Cmq13-uF.js";
15
+ import "./call-CAGvQYXj.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-C1OyZl-M.js";
18
+ import "./subagent-registry-DlIPWOrx.js";
19
19
  import "./sessions-BPD85pWA.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
53
53
  import "./thinking-8sKPnzpp.js";
54
54
  import "./models-config-J1x_DaPn.js";
55
55
  import "./reply-prefix-BUN71nd5.js";
56
- import "./memory-cli-Qgbcxvuf.js";
57
- import "./manager-DDELj5o9.js";
56
+ import "./memory-cli-D2QHGsxh.js";
57
+ import "./manager-DDboJTtn.js";
58
58
  import "./gemini-auth-DEakvf-D.js";
59
59
  import "./retry-C4Q_VPOo.js";
60
60
  import "./sqlite-BP8tiuca.js";
@@ -95,18 +95,18 @@ import "./cli-utils-CI_KkT8q.js";
95
95
  import "./help-format-nY42tGMB.js";
96
96
  import "./progress-HK2tT7Yf.js";
97
97
  import "./replies-Sxbew659.js";
98
- import "./onboard-helpers-CF0Cp3OB.js";
98
+ import "./onboard-helpers-DjlGq6iG.js";
99
99
  import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-o0ytjRqu.js";
102
102
  import "./catalog-KcLvtTfa.js";
103
- import "./plugin-registry-Cuc8ORuR.js";
104
- import { n as resolveCliChannelOptions } from "./channel-options-DYy2sCfN.js";
105
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BCy0IDRv.js";
106
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-LjFltTU9.js";
103
+ import "./plugin-registry-R7nyNT_4.js";
104
+ import { n as resolveCliChannelOptions } from "./channel-options-Cr_if7it.js";
105
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-8cGjLTmN.js";
106
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BiznuVYK.js";
107
107
  import { r as setProgramContext } from "./program-context-DeZ44oQ9.js";
108
108
  import { t as forceFreePort } from "./ports-DQg7kV5s.js";
109
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DrNha2_N.js";
109
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DSRsscTp.js";
110
110
  import { Command } from "commander";
111
111
 
112
112
  //#region src/cli/program/context.ts
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
214
214
  commandPath
215
215
  });
216
216
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
217
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Cuc8ORuR.js").then((n) => n.n);
217
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-R7nyNT_4.js").then((n) => n.n);
218
218
  ensurePluginRegistryLoaded();
219
219
  }
220
220
  });