@symerian/symi 2.8.14 → 2.8.15

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 (281) 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-BhhAcFrX.js} +5 -5
  9. package/dist/{agents.config-BKKMbeeE.js → agents.config-BOvsz6E6.js} +1 -1
  10. package/dist/{agents.config-Dd-11klq.js → agents.config-D967tgmP.js} +1 -1
  11. package/dist/{audio-preflight-rrz8KyHd.js → audio-preflight-Cb-T0r6e.js} +29 -29
  12. package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-NdNUAZ0y.js} +4 -4
  13. package/dist/{audit-CB97BqHJ.js → audit-Dr_8rC6G.js} +2 -2
  14. package/dist/{audit-BhCJV2l6.js → audit-xiwEIT96.js} +2 -2
  15. package/dist/{auth-choice-C6woT6k2.js → auth-choice-DEKKbufH.js} +2 -2
  16. package/dist/{auth-choice-CRQRPwQt.js → auth-choice-Pzy-t2mh.js} +2 -2
  17. package/dist/{auth-profiles-BzB_Exeq.js → auth-profiles-C2vj6htZ.js} +17 -17
  18. package/dist/{banner-DrNha2_N.js → banner-CiHQEfyr.js} +1 -1
  19. package/dist/{bindings-xcRox9xM.js → bindings-BsHoBLIE.js} +2 -2
  20. package/dist/{browser-cli-5ME9iiC3.js → browser-cli-BQeCPbES.js} +3 -3
  21. package/dist/{browser-cli-BTci35qB.js → browser-cli-IXepRCZR.js} +3 -3
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +54 -54
  24. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  25. package/dist/bundled/command-logger/handler.js +1 -1
  26. package/dist/bundled/session-memory/handler.js +54 -54
  27. package/dist/{call-Cmb04dff.js → call-BkJK3eYP.js} +2 -1
  28. package/dist/{call-BrRWr7Lj.js → call-CAGvQYXj.js} +2 -1
  29. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  30. package/dist/{channel-activity-CzHaIUAp.js → channel-activity-D8QD7GoV.js} +1 -1
  31. package/dist/{channel-options-D8q9En4T.js → channel-options-DGuilErd.js} +1 -1
  32. package/dist/{channel-options-DYy2sCfN.js → channel-options-_erlRi2w.js} +1 -1
  33. package/dist/{channel-web-CRBU4eZk.js → channel-web-DwfovJKQ.js} +1 -1
  34. package/dist/{channels-cli-Dk3kUw9A.js → channels-cli-B2Zf1oz9.js} +9 -9
  35. package/dist/{channels-cli-BUk43hHR.js → channels-cli-DUsK2bXE.js} +9 -9
  36. package/dist/{chrome-DwXnykXR.js → chrome-BUT--ob3.js} +23 -23
  37. package/dist/{chrome-B14NNyfm.js → chrome-ROtrXlNs.js} +5 -5
  38. package/dist/{chunk-BcxcL1U3.js → chunk-BRe1o4Af.js} +1 -1
  39. package/dist/cli/daemon-cli.js +1 -1
  40. package/dist/{cli-5gWsnsB7.js → cli-BpmyiZc9.js} +6 -6
  41. package/dist/{cli-DjZzJy3t.js → cli-DUiSlxsb.js} +6 -6
  42. package/dist/{client-C7AOOnKZ.js → client-CYsBIR3j.js} +27 -1
  43. package/dist/{client-qUlxXXVJ.js → client-Cmq13-uF.js} +27 -1
  44. package/dist/{command-registry-LjFltTU9.js → command-registry-B8LVEWW9.js} +11 -11
  45. package/dist/{commands-registry-ByGkL6hs.js → commands-registry-DxbSTLNQ.js} +4 -4
  46. package/dist/{completion-cli-BVTGy8th.js → completion-cli-D-_MV8eA.js} +1 -1
  47. package/dist/{completion-cli-Cf6fYZWL.js → completion-cli-DZeK6_ev.js} +2 -2
  48. package/dist/{config-C4WnAd-c.js → config-BkZ9HOKT.js} +17 -17
  49. package/dist/{config-cli-C7DIbGxx.js → config-cli-B7ZvHIMY.js} +1 -1
  50. package/dist/{config-cli-EgWrCemi.js → config-cli-D_m0QL6c.js} +1 -1
  51. package/dist/{configure-B67uIawm.js → configure-DFg-N_i2.js} +6 -6
  52. package/dist/{configure-Bk-snuxh.js → configure-DXml-xDR.js} +6 -6
  53. package/dist/{consolidate-DRtVvG2U.js → consolidate-07QMweFF.js} +4 -4
  54. package/dist/control-ui/index.html +7 -0
  55. package/dist/control-ui/js/menu.js +2 -0
  56. package/dist/control-ui/js/settings.js +1 -0
  57. package/dist/{cron-cli-CGJveo7P.js → cron-cli-CZCm3aLt.js} +3 -3
  58. package/dist/{cron-cli-Crh_r2aK.js → cron-cli-Dq2FEfK1.js} +3 -3
  59. package/dist/{daemon-cli-Cq-IaYw4.js → daemon-cli-B2_uIgDM.js} +2 -2
  60. package/dist/{daemon-cli-CAIg9sMo.js → daemon-cli-CweMes2K.js} +2 -2
  61. package/dist/daemon-cli.js +27 -0
  62. package/dist/{deliver-SLYAWE19.js → deliver-B0OUq6RP.js} +20 -20
  63. package/dist/{deliver-D0bWiRCg.js → deliver-B_Q_nWJV.js} +1 -1
  64. package/dist/{devices-cli-CUT_8CuJ.js → devices-cli-3ui-Wcaj.js} +2 -2
  65. package/dist/{devices-cli-hSn5vjJZ.js → devices-cli-DeoPyzAd.js} +2 -2
  66. package/dist/{diagnostic-DTkZsRNM.js → diagnostic-BUcR3Meg.js} +1 -1
  67. package/dist/{doctor-completion-lE_33xaY.js → doctor-completion-CQXl3jf4.js} +1 -1
  68. package/dist/{doctor-completion-By066O3p.js → doctor-completion-Cu7DwgVw.js} +1 -1
  69. package/dist/entry.js +1 -1
  70. package/dist/{env-CB65jmJQ.js → env-BDXYbTKj.js} +1 -1
  71. package/dist/{exec-approvals-cli-BTfZiH6z.js → exec-approvals-cli-Bx9loYnQ.js} +4 -4
  72. package/dist/{exec-approvals-cli-DTad2Zi_.js → exec-approvals-cli-CTEn_Eu_.js} +4 -4
  73. package/dist/extensionAPI.js +7 -7
  74. package/dist/{frontmatter-CT1M0pRK.js → frontmatter-CTR5f_Ez.js} +4 -4
  75. package/dist/{gateway-cli-DqEgqVKC.js → gateway-cli-B2XchN3Y.js} +34 -16
  76. package/dist/{gateway-cli-C6uT2x34.js → gateway-cli-P0olUhID.js} +34 -16
  77. package/dist/{gateway-rpc-BKJyAcQd.js → gateway-rpc-DbSbyIcL.js} +1 -1
  78. package/dist/{gateway-rpc-DActF8Qj.js → gateway-rpc-QsFn5Zr1.js} +1 -1
  79. package/dist/{gemini-auth-D80BsXr2.js → gemini-auth-BefM10YB.js} +1 -1
  80. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  81. package/dist/{glass-ui-ws-77TY57IO.js → glass-ui-ws-Cs2jfN42.js} +13 -13
  82. package/dist/{glass-ui-ws-CLAUHeZR.js → glass-ui-ws-tIVOcdB2.js} +13 -13
  83. package/dist/{health-CvMHgR-L.js → health-Cs8wf7Hb.js} +2 -2
  84. package/dist/{health-2jkjZxY8.js → health-DMy1nA4K.js} +2 -2
  85. package/dist/{hooks-cli-CRZySOiz.js → hooks-cli-D6awUCDl.js} +7 -7
  86. package/dist/{hooks-cli-DSaezFsD.js → hooks-cli-DIH-zxCG.js} +7 -7
  87. package/dist/{image-BHF_fnIp.js → image-BuVL0jHI.js} +4 -4
  88. package/dist/{image-ops-CY7v6vvp.js → image-ops-C7CauEK8.js} +16 -16
  89. package/dist/{image-MNvheU8U.js → image-tzIqIuKx.js} +1 -1
  90. package/dist/index.js +11 -11
  91. package/dist/{internal-FNqguZSK.js → internal-DjnxpF_K.js} +11 -11
  92. package/dist/{ir-D6MiJpAy.js → ir-7tMVY7D_.js} +4 -4
  93. package/dist/llm-slug-generator.js +54 -54
  94. package/dist/{local-roots-tcdaIEhh.js → local-roots-ClipCZ9s.js} +5 -5
  95. package/dist/{login-D4ZkmSrY.js → login-D4rZWBXe.js} +7 -7
  96. package/dist/{login-qr-C9ftIq3n.js → login-qr-DdAVHOEC.js} +12 -12
  97. package/dist/{logs-cli-BPnrAg0W.js → logs-cli-1hn28HCu.js} +3 -3
  98. package/dist/{logs-cli-DiDesnnp.js → logs-cli-R4WwQvR2.js} +3 -3
  99. package/dist/{manager-DDELj5o9.js → manager-B60Ncruq.js} +1 -1
  100. package/dist/{manager-BtWtmpxN.js → manager-B76ofKkW.js} +1 -1
  101. package/dist/{manager-DxCmjSfP.js → manager-D0_H4LHh.js} +24 -24
  102. package/dist/{manager-DrmlegR2.js → manager-wF-n_prX.js} +1 -1
  103. package/dist/{manifest-registry-BvGv6lp9.js → manifest-registry-CBCGTsIb.js} +19 -19
  104. package/dist/{markdown-tables-CE-qSMGB.js → markdown-tables-x2Xe2UXh.js} +1 -1
  105. package/dist/{memory-cli-ENCASZJk.js → memory-cli-DRLrIa8h.js} +3 -3
  106. package/dist/{memory-cli-Qgbcxvuf.js → memory-cli-eSWCbEiS.js} +3 -3
  107. package/dist/{message-channel-lwVT8QjK.js → message-channel-OlFBYAw8.js} +1 -1
  108. package/dist/{models-COhUz7M9.js → models-B5H41UsH.js} +3 -3
  109. package/dist/{models-cli-CYvXBvmZ.js → models-cli-CHFi2_kC.js} +8 -8
  110. package/dist/{models-cli-CCxYcF4R.js → models-cli-CVfq_g6h.js} +7 -7
  111. package/dist/{node-cli-DwDQpTW5.js → node-cli-BBN6PoOG.js} +1 -1
  112. package/dist/{node-cli-DEcCM2p0.js → node-cli-BsAzTrAx.js} +1 -1
  113. package/dist/{nodes-cli-CqBLemeB.js → nodes-cli-DE60dv81.js} +3 -3
  114. package/dist/{nodes-cli-u8k6TPmF.js → nodes-cli-t3azniiS.js} +3 -3
  115. package/dist/{onboard-fVpLVnwg.js → onboard-DKK6UJjF.js} +3 -3
  116. package/dist/{onboard-CQNUYBIp.js → onboard-DgPzeL3U.js} +3 -3
  117. package/dist/{onboard-channels-CWw8G-6n.js → onboard-channels-BTuYOQO-.js} +1 -1
  118. package/dist/{onboard-channels-9erx07qe.js → onboard-channels-DvNwlvWZ.js} +1 -1
  119. package/dist/{onboard-helpers-C8f_xi6R.js → onboard-helpers-B7jBYbCU.js} +1 -1
  120. package/dist/{onboard-helpers-CF0Cp3OB.js → onboard-helpers-DjlGq6iG.js} +1 -1
  121. package/dist/{onboard-remote-DgGH0dTe.js → onboard-remote-CXuHbtrT.js} +1 -1
  122. package/dist/{onboard-remote-CWal5_aZ.js → onboard-remote-D7wGqONm.js} +1 -1
  123. package/dist/{onboard-skills-DnzJLU2H.js → onboard-skills-BDhqz3te.js} +1 -1
  124. package/dist/{onboard-skills-CO2TjuO3.js → onboard-skills-ChQnpMi-.js} +1 -1
  125. package/dist/{onboarding-D-OIkDwZ.js → onboarding-CCHq8fd9.js} +7 -7
  126. package/dist/{onboarding-CtEiH9WG.js → onboarding-CeqXuQPm.js} +7 -7
  127. package/dist/{onboarding.finalize-BY3HNjX4.js → onboarding.finalize-Cw4TWelq.js} +12 -12
  128. package/dist/{onboarding.finalize-DTbpLV-T.js → onboarding.finalize-DxWVkNx9.js} +11 -11
  129. package/dist/{onboarding.gateway-config-DlV0vso8.js → onboarding.gateway-config-Cm5jIfRz.js} +3 -3
  130. package/dist/{onboarding.gateway-config-D4rQoPRi.js → onboarding.gateway-config-wAyLcGRu.js} +3 -3
  131. package/dist/{outbound-C6Gm22UF.js → outbound-Zmd7UyQH.js} +7 -7
  132. package/dist/{outbound-attachment-BWyKV1Gy.js → outbound-attachment-DeCnZT-8.js} +2 -2
  133. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  134. package/dist/{pi-auth-json-Bv1NzJdR.js → pi-auth-json-RXOlh8ar.js} +1 -1
  135. package/dist/{pi-embedded-CdOdQw2i.js → pi-embedded-CGwqumSe.js} +163 -89
  136. package/dist/{pi-embedded-helpers-DwQ9wJeT.js → pi-embedded-helpers-D1_Sab0M.js} +73 -73
  137. package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-DjSdA5BG.js} +4 -4
  138. package/dist/{plugin-registry-BrJ0-qlu.js → plugin-registry-CJKHlm9W.js} +1 -1
  139. package/dist/{plugin-registry-Cuc8ORuR.js → plugin-registry-kiYkB_km.js} +1 -1
  140. package/dist/plugin-sdk/{channel-web-t8UOP6Zu.js → channel-web-C9SUmtjL.js} +1 -1
  141. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -3
  142. package/dist/plugin-sdk/gateway/protocol/schema/tasks.d.ts +40 -0
  143. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -0
  144. package/dist/plugin-sdk/gateway/protocol/schema.d.ts +1 -0
  145. package/dist/plugin-sdk/index.js +3 -3
  146. package/dist/plugin-sdk/infra/long-task-state.d.ts +34 -0
  147. package/dist/plugin-sdk/{manager-BPm5oefC.js → manager-DUmxOoHb.js} +1 -1
  148. package/dist/plugin-sdk/{reply-BKAHTugL.js → reply-DwJ-3Et9.js} +149 -75
  149. package/dist/plugin-sdk/{synthesis-CVF7Fwhd.js → synthesis-BzYtaV97.js} +2 -2
  150. package/dist/plugin-sdk/{web-D0DsmFvw.js → web-BQzPfsd0.js} +3 -3
  151. package/dist/{plugins-v8k1XVOy.js → plugins-BzmbgY7s.js} +9 -9
  152. package/dist/{plugins-cli-BDalhI46.js → plugins-cli-DTI2yj-y.js} +7 -7
  153. package/dist/{plugins-cli-DFmriy-c.js → plugins-cli-tV4C5XJc.js} +7 -7
  154. package/dist/{program-DKh41c2a.js → program-8Zg4CY5d.js} +12 -12
  155. package/dist/{program-context-Cq7pqOrw.js → program-context-BcKgBBit.js} +30 -30
  156. package/dist/{prompt-select-styled-DvvSE_ni.js → prompt-select-styled-CfKZlGfF.js} +8 -8
  157. package/dist/{prompt-select-styled-BFCAZLwK.js → prompt-select-styled-DigPcXuk.js} +8 -8
  158. package/dist/{provider-auth-helpers-B-LkDxxi.js → provider-auth-helpers-BH3oyYln.js} +1 -1
  159. package/dist/{provider-auth-helpers-DXppgV1l.js → provider-auth-helpers-Db02DMW2.js} +1 -1
  160. package/dist/{push-apns-DvudhEAb.js → push-apns-7rC1ybp8.js} +1 -1
  161. package/dist/{push-apns-DCA47WA5.js → push-apns-f_6DGP6z.js} +1 -1
  162. package/dist/{pw-ai-40Jf9QIb.js → pw-ai-CQtaPvM8.js} +1 -1
  163. package/dist/{pw-ai-XGqnSWju.js → pw-ai-DWkC5eGA.js} +11 -11
  164. package/dist/{qmd-manager-CbRJhonG.js → qmd-manager-BXkbA8Y9.js} +8 -8
  165. package/dist/{register.agent-_BV5KyFb.js → register.agent-CocfT8Pk.js} +11 -11
  166. package/dist/{register.agent-aFj_SMi3.js → register.agent-DETyFsMT.js} +10 -10
  167. package/dist/{register.configure-Dx0Uhmlz.js → register.configure-BAiFzdYa.js} +13 -13
  168. package/dist/{register.configure-CvOoD5gE.js → register.configure-VcTwHq1a.js} +13 -13
  169. package/dist/{register.maintenance-BuZpoSik.js → register.maintenance-BajFgQEm.js} +12 -12
  170. package/dist/{register.maintenance-CMeJR7DG.js → register.maintenance-Bpr3QjJ1.js} +13 -13
  171. package/dist/{register.message-xxGePuRC.js → register.message-96EL0HQW.js} +7 -7
  172. package/dist/{register.message-qysZPg3G.js → register.message-CXabSYfO.js} +7 -7
  173. package/dist/{register.onboard-D4Aow7Gc.js → register.onboard-2KClPynN.js} +9 -9
  174. package/dist/{register.onboard-1MP2I0q4.js → register.onboard-mHEZSai5.js} +9 -9
  175. package/dist/{register.setup-BT74aXzA.js → register.setup-B-piY6Vs.js} +9 -9
  176. package/dist/{register.setup-DzliKkWh.js → register.setup-Di6tWG-W.js} +9 -9
  177. package/dist/{register.status-health-sessions-D7VYZlrU.js → register.status-health-sessions-BhIYRApE.js} +9 -9
  178. package/dist/{register.status-health-sessions-B3K2gZ72.js → register.status-health-sessions-ZX2odxGg.js} +9 -9
  179. package/dist/{register.subclis-BCy0IDRv.js → register.subclis-CQtXpheE.js} +20 -20
  180. package/dist/{registry-X6fUE0K7.js → registry-DYq1AYOv.js} +19 -19
  181. package/dist/{replies-86F3PldM.js → replies-CUWXgyx2.js} +3 -3
  182. package/dist/{reply-Dg1ZU3DZ.js → reply-D455A6SA.js} +125 -78
  183. package/dist/{reply-prefix-CI_IdwqH.js → reply-prefix-CvEIl6_d.js} +1 -1
  184. package/dist/{resolve-route-BgSuN9c6.js → resolve-route-Jy5dFY67.js} +4 -4
  185. package/dist/{retry-4oEAHckB.js → retry-B-y5suGA.js} +1 -1
  186. package/dist/{rpc-DYHXLh0P.js → rpc-C3ZUAjXK.js} +1 -1
  187. package/dist/{rpc-DdlEeEXT.js → rpc-St4eAsjR.js} +1 -1
  188. package/dist/{run-main-OS2aFAJ2.js → run-main-CnqZnevI.js} +20 -20
  189. package/dist/{runner-DFuAePEr.js → runner-Dpjulwnm.js} +1 -1
  190. package/dist/{runner-B5oNTtgf.js → runner-ecX1WzDt.js} +22 -22
  191. package/dist/{security-cli-BadXDWTh.js → security-cli-B8gavsuQ.js} +3 -3
  192. package/dist/{security-cli-D5y28-RH.js → security-cli-BSvxNP9m.js} +3 -3
  193. package/dist/{send-cCTQjuOZ.js → send-BKo1T3HF.js} +6 -6
  194. package/dist/{send-BTfqlrYd.js → send-Bb4it0te.js} +18 -18
  195. package/dist/{send-CSydU49L.js → send-C0QjmPaf.js} +10 -10
  196. package/dist/{send-Du-IfSne.js → send-Cpk3Ti6-.js} +6 -6
  197. package/dist/{send-ASDB3AzC.js → send-DFtnbzqy.js} +7 -7
  198. package/dist/{server-methods-D_iKJ-sj.js → server-methods-CYPSYbhs.js} +55 -11
  199. package/dist/{server-methods-BszFAkbJ.js → server-methods-DYjr-KwQ.js} +55 -11
  200. package/dist/{server-node-events-uBu3XOjd.js → server-node-events-C58gVs27.js} +7 -7
  201. package/dist/{server-node-events-CENHuAVz.js → server-node-events-DqJIrx86.js} +7 -7
  202. package/dist/{session-D8qLj_xN.js → session-BTeY6Gn2.js} +8 -8
  203. package/dist/{skill-commands-BcOduw6G.js → skill-commands-DG2lcozb.js} +16 -16
  204. package/dist/{skills-BrYDT4Jr.js → skills-CXxrn_e2.js} +24 -24
  205. package/dist/{sqlite-P-gMg7fi.js → sqlite-BN_hIcmu.js} +3 -3
  206. package/dist/{status-BvbJavmh.js → status-B_zW9YJ8.js} +1 -1
  207. package/dist/{status-CA0mUJld.js → status-DjjA-TOx.js} +6 -6
  208. package/dist/{status-CBnCPUMG.js → status-Qt6QDFJ1.js} +6 -6
  209. package/dist/{status-DJAeKN4G.js → status-sO6Y-c-v.js} +1 -1
  210. package/dist/{store-Ceagbc4L.js → store-01F_JM7O.js} +6 -6
  211. package/dist/{subagent-registry-C1OyZl-M.js → subagent-registry-B1HJJs3Q.js} +125 -78
  212. package/dist/{subsystem-CzXhCdeY.js → subsystem-BjyjJF-d.js} +1 -1
  213. package/dist/{synthesis-brHrnNF2.js → synthesis-BCSo0xoc.js} +6 -6
  214. package/dist/{synthesis-DuqSkHEr.js → synthesis-Ch82MDG8.js} +54 -54
  215. package/dist/{synthesis-z5B41p_r.js → synthesis-DAUJa_9I.js} +6 -6
  216. package/dist/{synthesis-DNTyB7JY.js → synthesis-DzSo6S9Y.js} +7 -7
  217. package/dist/{system-cli-BFopJ_xI.js → system-cli-BN9MXNk7.js} +3 -3
  218. package/dist/{system-cli-DryauSOX.js → system-cli-CD5latLh.js} +3 -3
  219. package/dist/{tables-qbCoZrYA.js → tables-DoG-pFrf.js} +1 -1
  220. package/dist/{target-errors-uNitqCCT.js → target-errors-DeJTztcq.js} +2 -2
  221. package/dist/{thinking-BV7SCNJP.js → thinking-BprCy23Z.js} +5 -5
  222. package/dist/{tokens-Bl5R3wPD.js → tokens-W0JzCJJM.js} +1 -1
  223. package/dist/{tool-images-JxNglLSr.js → tool-images-SqqWIT22.js} +2 -2
  224. package/dist/{tool-loop-detection-dfE771kg.js → tool-loop-detection-Dj9h1ogr.js} +3 -3
  225. package/dist/{tui-CvHbwJ3G.js → tui-Cu4TZK3I.js} +2 -2
  226. package/dist/{tui-BiBFm_RY.js → tui-DLkE0D7e.js} +2 -2
  227. package/dist/{tui-cli-CmyT9ctV.js → tui-cli-BfuEq3Q-.js} +3 -3
  228. package/dist/{tui-cli-CU6A8Bu2.js → tui-cli-DC9Bq-N_.js} +3 -3
  229. package/dist/{unified-runner-Czg3pdBc.js → unified-runner-CpyVnelK.js} +374 -300
  230. package/dist/{update-cli-CIzkVfmj.js → update-cli-BLQsvLIy.js} +13 -13
  231. package/dist/{update-cli-0lyGyl31.js → update-cli-CgDLDu8d.js} +14 -14
  232. package/dist/{update-runner-D7-LDziQ.js → update-runner-B1vMjo7o.js} +1 -1
  233. package/dist/{update-runner-aYPcKYAN.js → update-runner-DUHTdrZ0.js} +1 -1
  234. package/dist/{web-CN7wnU7w.js → web-Dbg9lDZ4.js} +6 -6
  235. package/dist/{web-BJ5dUZso.js → web-Dhh_eI3q.js} +7 -7
  236. package/dist/{web-B90A99YU.js → web-DpAeT8By.js} +58 -58
  237. package/dist/{web-Wk1ay1eQ.js → web-PhjuzK8Y.js} +7 -7
  238. package/dist/{whatsapp-actions-llk0IUn2.js → whatsapp-actions-DmVpLXmh.js} +23 -23
  239. package/dist/{workspace-CywO4ayZ.js → workspace-DscDraUb.js} +27 -27
  240. package/extensions/bluebubbles/package.json +1 -1
  241. package/extensions/copilot-proxy/package.json +1 -1
  242. package/extensions/diagnostics-otel/package.json +1 -1
  243. package/extensions/discord/package.json +1 -1
  244. package/extensions/feishu/package.json +1 -1
  245. package/extensions/google-antigravity-auth/package.json +1 -1
  246. package/extensions/google-gemini-cli-auth/package.json +1 -1
  247. package/extensions/googlechat/package.json +1 -1
  248. package/extensions/imessage/package.json +1 -1
  249. package/extensions/irc/package.json +1 -1
  250. package/extensions/learning-loop/package.json +1 -1
  251. package/extensions/line/package.json +1 -1
  252. package/extensions/llm-task/package.json +1 -1
  253. package/extensions/matrix/CHANGELOG.md +6 -0
  254. package/extensions/matrix/package.json +1 -1
  255. package/extensions/mattermost/package.json +1 -1
  256. package/extensions/memory-core/package.json +1 -1
  257. package/extensions/memory-lancedb/package.json +1 -1
  258. package/extensions/minimax-portal-auth/package.json +1 -1
  259. package/extensions/msteams/CHANGELOG.md +6 -0
  260. package/extensions/msteams/package.json +1 -1
  261. package/extensions/nextcloud-talk/package.json +1 -1
  262. package/extensions/nostr/CHANGELOG.md +6 -0
  263. package/extensions/nostr/package.json +1 -1
  264. package/extensions/open-prose/package.json +1 -1
  265. package/extensions/outlook/package.json +1 -1
  266. package/extensions/pipeline/package.json +1 -1
  267. package/extensions/signal/package.json +1 -1
  268. package/extensions/slack/package.json +1 -1
  269. package/extensions/telegram/package.json +1 -1
  270. package/extensions/tlon/package.json +1 -1
  271. package/extensions/twitch/CHANGELOG.md +6 -0
  272. package/extensions/twitch/package.json +1 -1
  273. package/extensions/voice-call/CHANGELOG.md +6 -0
  274. package/extensions/voice-call/package.json +1 -1
  275. package/extensions/whatsapp/package.json +1 -1
  276. package/extensions/zalo/CHANGELOG.md +6 -0
  277. package/extensions/zalo/package.json +1 -1
  278. package/extensions/zalouser/CHANGELOG.md +6 -0
  279. package/extensions/zalouser/package.json +1 -1
  280. package/package.json +1 -1
  281. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-Dg1ZU3DZ.js";
3
+ import { B as readRestartSentinel, S as resolveSessionModelRef, Tr as peekSystemEvents, V as summarizeRestartSentinel, Yt as sha256HexPrefix, _t as loadProviderUsageSummary, a as buildChannelSummary, g as listAgentsForGateway, h as classifySessionKey, mr as lookupContextTokens, o as buildChannelAccountSnapshot, s as formatChannelAllowFrom, vt as formatUsageReportLines } from "./reply-D455A6SA.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
@@ -13,13 +13,13 @@ import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-BOmtx
13
13
  import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-BeYHj0gr.js";
14
14
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
15
15
  import { c as resolveStorePath } from "./paths-CyhzMxFA.js";
16
- import { r as getMemorySearchManager } from "./memory-cli-ENCASZJk.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Cmb04dff.js";
16
+ import { r as getMemorySearchManager } from "./memory-cli-DRLrIa8h.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BkJK3eYP.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-CviDPm2s.js";
19
19
  import { n as withProgress } from "./progress-WhkkDU0H.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-DeLiQNNv.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-Bz5sreu5.js";
22
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-C8f_xi6R.js";
22
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-B7jBYbCU.js";
23
23
  import { t as buildWorkspaceSkillStatus } from "./skills-status-D1IW8MhS.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-D-MrrYmt.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BVpj6wWd.js";
@@ -27,8 +27,8 @@ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./servi
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D0P5lDGf.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-1uBuB9IE.js";
29
29
  import { t as renderTable } from "./table-BWuvjnmY.js";
30
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BhCJV2l6.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CvMHgR-L.js";
30
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-xiwEIT96.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-Cs8wf7Hb.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-Bbvpax6u.js";
33
33
  import { t as resolveNodeService } from "./node-service-DxPZ_ZFk.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DNqZrSx7.js";
@@ -8,28 +8,28 @@ import { n as runExec } from "./exec-CBKBIMpA.js";
8
8
  import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DODCG6UU.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-DXt3pc08.js";
11
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BrRWr7Lj.js";
12
- import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-C1OyZl-M.js";
11
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
12
+ import { Ct as summarizeRestartSentinel, Dn as peekSystemEvents, St as readRestartSentinel, an as formatUsageReportLines, cn as buildChannelSummary, in as loadProviderUsageSummary, ln as buildChannelAccountSnapshot, nt as sha256HexPrefix, un as formatChannelAllowFrom } from "./subagent-registry-B1HJJs3Q.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-BPD85pWA.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
16
16
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-2xFXbwLq.js";
17
17
  import { c as resolveStorePath } from "./paths-DNdWAq7b.js";
18
- import { r as getMemorySearchManager } from "./memory-cli-Qgbcxvuf.js";
18
+ import { r as getMemorySearchManager } from "./memory-cli-eSWCbEiS.js";
19
19
  import { n as formatTimeAgo } from "./format-relative-BDwAggS5.js";
20
20
  import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils-DaBIs243.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-DrX4xCNq.js";
22
22
  import { r as formatDurationPrecise } from "./format-duration-Bb9uCG1L.js";
23
23
  import { n as withProgress } from "./progress-HK2tT7Yf.js";
24
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CF0Cp3OB.js";
24
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DjlGq6iG.js";
25
25
  import { t as resolveChannelDefaultAccountId } from "./helpers-gWnZ9zWR.js";
26
26
  import { t as collectChannelStatusIssues } from "./channels-status-issues-B-ssmZ8E.js";
27
27
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-RxN7lQKN.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-DJYthOLz.js";
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-C6xPE2ln.js";
30
30
  import { t as renderTable } from "./table-Bka4fasy.js";
31
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-CB97BqHJ.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-2jkjZxY8.js";
31
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Dr_8rC6G.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-DMy1nA4K.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-BNjupSIM.js";
34
34
  import { t as resolveNodeService } from "./node-service-B-qdOCNb.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
3
  import { i as loadConfig } from "./config-DXt3pc08.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-C1OyZl-M.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-B1HJJs3Q.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
- import { P as resolveConfigDir } from "./registry-X6fUE0K7.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-CY7v6vvp.js";
1
+ import { P as resolveConfigDir } from "./registry-DYq1AYOv.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-C7CauEK8.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fs$1 from "node:fs/promises";
5
5
  import crypto from "node:crypto";
6
6
 
7
7
  //#region src/media/store.ts
@@ -24,7 +24,7 @@ function getMediaDir() {
24
24
  }
25
25
  async function ensureMediaDir() {
26
26
  const mediaDir = resolveMediaDir();
27
- await fs.mkdir(mediaDir, {
27
+ await fs$1.mkdir(mediaDir, {
28
28
  recursive: true,
29
29
  mode: 448
30
30
  });
@@ -33,7 +33,7 @@ async function ensureMediaDir() {
33
33
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
34
34
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
35
35
  const dir = path.join(resolveMediaDir(), subdir);
36
- await fs.mkdir(dir, {
36
+ await fs$1.mkdir(dir, {
37
37
  recursive: true,
38
38
  mode: 448
39
39
  });
@@ -51,7 +51,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
51
51
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
52
52
  } else id = ext ? `${uuid}${ext}` : uuid;
53
53
  const dest = path.join(dir, id);
54
- await fs.writeFile(dest, buffer, { mode: 384 });
54
+ await fs$1.writeFile(dest, buffer, { mode: 384 });
55
55
  return {
56
56
  id,
57
57
  path: dest,
@@ -15,8 +15,8 @@ import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
15
15
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-D_oCiaQn.js";
16
16
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D5bnO5uA.js";
17
17
  import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DXt3pc08.js";
18
- import { It as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-qUlxXXVJ.js";
19
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BrRWr7Lj.js";
18
+ import { Lt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-Cmq13-uF.js";
19
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
21
21
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
22
22
  import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-BPD85pWA.js";
@@ -50,8 +50,8 @@ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as san
50
50
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
51
51
  import { t as ensureSymiModelsJson } from "./models-config-J1x_DaPn.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
53
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Qgbcxvuf.js";
54
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-DDELj5o9.js";
53
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-eSWCbEiS.js";
54
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-B60Ncruq.js";
55
55
  import { f as runTasksWithConcurrency } from "./internal-C2jxeHS9.js";
56
56
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
57
57
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-Co0LcWKH.js";
@@ -92,7 +92,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
92
92
  import { t as parseTimeoutMs } from "./parse-timeout-FUO1ff14.js";
93
93
  import { t as makeProxyFetch } from "./proxy-GY5xhMp0.js";
94
94
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Sxbew659.js";
95
- import { r as detectBinary } from "./onboard-helpers-CF0Cp3OB.js";
95
+ import { r as detectBinary } from "./onboard-helpers-DjlGq6iG.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-BHx_CdbP.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-DEi7sEFa.js";
98
98
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-o0ytjRqu.js";
@@ -29913,6 +29913,103 @@ function createSubagentsTool(opts) {
29913
29913
  };
29914
29914
  }
29915
29915
 
29916
+ //#endregion
29917
+ //#region src/infra/long-task-state.ts
29918
+ /**
29919
+ * Shared helpers for reading the on-disk state files written by
29920
+ * skills/long-task/scripts/detach-task.sh:
29921
+ *
29922
+ * task-<id>.pid — PID of the detached process
29923
+ * task-<id>.cmd — literal command line
29924
+ * task-<id>.started — ISO-8601 start timestamp
29925
+ * task-<id>.log — combined stdout + stderr
29926
+ * task-<id>.status — current state line
29927
+ * task-<id>.archived — tombstone written by the janitor when it sweeps
29928
+ * a finished task more than 7 days old
29929
+ *
29930
+ * Both the agent-facing tools (task_list / task_cancel) and the gateway's
29931
+ * tasks.list RPC consume this helper so the two views stay in sync.
29932
+ */
29933
+ const TASK_FILE_PREFIX = "task-";
29934
+ const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
29935
+ const TASK_FILE_SUFFIXES = [
29936
+ ".pid",
29937
+ ".status",
29938
+ ".started",
29939
+ ".cmd",
29940
+ ".log",
29941
+ ".archived"
29942
+ ];
29943
+ function defaultIsPidAlive(pid) {
29944
+ try {
29945
+ process.kill(pid, 0);
29946
+ return true;
29947
+ } catch (err) {
29948
+ if (err.code === "EPERM") return true;
29949
+ return false;
29950
+ }
29951
+ }
29952
+ async function safeRead(filePath) {
29953
+ try {
29954
+ return (await fs.promises.readFile(filePath, "utf8")).trim();
29955
+ } catch {
29956
+ return null;
29957
+ }
29958
+ }
29959
+ async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
29960
+ const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
29961
+ const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
29962
+ const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
29963
+ const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
29964
+ const [pidText, status, started, cmd, archived] = await Promise.all([
29965
+ safeRead(pidPath),
29966
+ safeRead(statusPath),
29967
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
29968
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
29969
+ safeRead(archivedPath)
29970
+ ]);
29971
+ let pid = null;
29972
+ if (pidText) {
29973
+ const parsed = Number.parseInt(pidText, 10);
29974
+ if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
29975
+ }
29976
+ let resolvedStatus;
29977
+ if (status) resolvedStatus = status;
29978
+ else if (archived) resolvedStatus = archived;
29979
+ else resolvedStatus = "missing";
29980
+ return {
29981
+ id,
29982
+ pid,
29983
+ alive: pid !== null && isPidAlive(pid),
29984
+ archived: archived !== null,
29985
+ status: resolvedStatus,
29986
+ started,
29987
+ cmd,
29988
+ pidPath,
29989
+ statusPath,
29990
+ archivedPath,
29991
+ logPath
29992
+ };
29993
+ }
29994
+ async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
29995
+ let entries;
29996
+ try {
29997
+ entries = await fs.promises.readdir(workdir);
29998
+ } catch {
29999
+ return [];
30000
+ }
30001
+ const taskIds = /* @__PURE__ */ new Set();
30002
+ for (const entry of entries) {
30003
+ if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
30004
+ for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
30005
+ const id = entry.slice(5, -suffix.length);
30006
+ if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
30007
+ break;
30008
+ }
30009
+ }
30010
+ return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
30011
+ }
30012
+
29916
30013
  //#endregion
29917
30014
  //#region src/agents/tools/task-tool.ts
29918
30015
  /**
@@ -29922,21 +30019,14 @@ function createSubagentsTool(opts) {
29922
30019
  * script writes task-<id>.{pid,cmd,started,log,status} state files into
29923
30020
  * the agent's workspace; these tools read and act on those files so the
29924
30021
  * agent can answer "what's running?" and kill a task without needing
29925
- * shell access.
30022
+ * shell access. Shared scanning logic lives in
30023
+ * src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
30024
+ * agent tools agree on every shape detail.
29926
30025
  *
29927
30026
  * task-id allow-list mirrors detach-task.sh: 1–60 chars from
29928
30027
  * [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
29929
30028
  * agent kill processes it never spawned via path traversal.
29930
30029
  */
29931
- const TASK_FILE_PREFIX = "task-";
29932
- const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
29933
- const TASK_FILE_SUFFIXES = [
29934
- ".pid",
29935
- ".status",
29936
- ".started",
29937
- ".cmd",
29938
- ".log"
29939
- ];
29940
30030
  const ALLOWED_SIGNALS = new Set([
29941
30031
  "SIGTERM",
29942
30032
  "SIGINT",
@@ -29968,58 +30058,30 @@ function isPidAlive(pid) {
29968
30058
  return false;
29969
30059
  }
29970
30060
  }
29971
- async function safeRead(filePath) {
29972
- try {
29973
- return (await fs.promises.readFile(filePath, "utf8")).trim();
29974
- } catch {
29975
- return null;
29976
- }
29977
- }
29978
30061
  function resolveWorkdir(deps, override) {
29979
30062
  const raw = override?.trim();
29980
30063
  if (!raw) return deps.workspaceDir;
29981
30064
  if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
29982
30065
  return raw;
29983
30066
  }
29984
- async function readTaskInfo(workdir, id) {
29985
- const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
29986
- const [pidText, status, started, cmd] = await Promise.all([
29987
- safeRead(pidPath),
29988
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
29989
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
29990
- safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
29991
- ]);
29992
- let pid = null;
29993
- if (pidText) {
29994
- const parsed = Number.parseInt(pidText, 10);
29995
- if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
29996
- }
29997
- return {
29998
- id,
29999
- pid,
30000
- alive: pid !== null && isPidAlive(pid),
30001
- status: status ?? "missing",
30002
- started,
30003
- cmd,
30004
- pidPath,
30005
- statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
30006
- logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
30007
- };
30008
- }
30009
30067
  function createTaskListTool(deps) {
30010
30068
  return {
30011
30069
  label: "Task List",
30012
30070
  name: "task_list",
30013
30071
  description: `List long-running detached tasks in the agent's workspace.
30014
30072
 
30015
- Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
30016
- checks each PID's liveness. Use this to find the task-id of a running
30017
- detach-task before calling task_cancel, or to answer "what's running right
30018
- now?" without re-asking the user.
30019
-
30020
- Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
30021
- Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
30022
- the agent can spot orphan state files.`,
30073
+ Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
30074
+ state, and checks each PID's liveness. Use this to find the task-id of a
30075
+ running detach-task before calling task_cancel, or to answer "what's
30076
+ running right now?" without re-asking the user.
30077
+
30078
+ Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
30079
+ - archived=true means the janitor swept this task's live state files (>7d
30080
+ dead) and replaced them with a tombstone. The canonical end status is
30081
+ preserved in the .archived file. Distinct from "missing" (no tombstone,
30082
+ no live files) which means the task crashed or its workdir was wiped.
30083
+ - Tasks whose .pid file is missing are still listed (alive=false, pid=null)
30084
+ so the agent can spot orphan state files.`,
30023
30085
  parameters: TaskListSchema,
30024
30086
  execute: async (_toolCallId, args) => {
30025
30087
  const override = readStringParam(args, "workdir");
@@ -30033,34 +30095,19 @@ the agent can spot orphan state files.`,
30033
30095
  error: err instanceof Error ? err.message : String(err)
30034
30096
  });
30035
30097
  }
30036
- let entries;
30037
30098
  try {
30038
- entries = await fs.promises.readdir(workdir);
30039
- } catch (err) {
30040
- if (err.code === "ENOENT") return jsonResult({
30099
+ const tasks = await listTasksInWorkdir(workdir, isPidAlive);
30100
+ return jsonResult({
30041
30101
  workdir,
30042
- tasks: []
30102
+ tasks
30043
30103
  });
30104
+ } catch (err) {
30044
30105
  return jsonResult({
30045
30106
  workdir,
30046
30107
  tasks: [],
30047
30108
  error: err instanceof Error ? err.message : String(err)
30048
30109
  });
30049
30110
  }
30050
- const taskIds = /* @__PURE__ */ new Set();
30051
- for (const entry of entries) {
30052
- if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
30053
- for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
30054
- const id = entry.slice(5, -suffix.length);
30055
- if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
30056
- break;
30057
- }
30058
- }
30059
- const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
30060
- return jsonResult({
30061
- workdir,
30062
- tasks
30063
- });
30064
30111
  }
30065
30112
  };
30066
30113
  }
@@ -39278,7 +39325,7 @@ async function buildLongTaskPromptSuffix(params) {
39278
39325
  "- 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.",
39279
39326
  "- Safe status read (inside the monitor turn):",
39280
39327
  " `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
39281
- " 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.",
39328
+ " 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).",
39282
39329
  "- Monitor responsibilities each tick:",
39283
39330
  " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
39284
39331
  " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
@@ -53835,7 +53882,7 @@ function isVoiceChannelType(type) {
53835
53882
  function createDefaultDeps() {
53836
53883
  return {
53837
53884
  sendMessageWhatsApp: async (...args) => {
53838
- const { sendMessageWhatsApp } = await import("./web-CN7wnU7w.js");
53885
+ const { sendMessageWhatsApp } = await import("./web-Dbg9lDZ4.js");
53839
53886
  return await sendMessageWhatsApp(...args);
53840
53887
  },
53841
53888
  sendMessageTelegram: async (...args) => {
@@ -69149,7 +69196,7 @@ function loadWebLoginQr() {
69149
69196
  return webLoginQrPromise;
69150
69197
  }
69151
69198
  function loadWebChannel() {
69152
- webChannelPromise ??= import("./web-CN7wnU7w.js");
69199
+ webChannelPromise ??= import("./web-Dbg9lDZ4.js");
69153
69200
  return webChannelPromise;
69154
69201
  }
69155
69202
  function loadWhatsAppActions() {
@@ -73490,4 +73537,4 @@ function initSubagentRegistry() {
73490
73537
  }
73491
73538
 
73492
73539
  //#endregion
73493
- export { getCliSessionId as $, resolveTtsAutoMode as $n, setPreRestartDeferralCheck as $t, loadAgentIdentityFromWorkspace as A, DEFAULT_INPUT_TIMEOUT_MS as An, normalizeOptionalSessionKey as At, dispatchInboundMessage as B, resolveEnvelopeFormatOptions as Bn, buildSafeExternalPrompt as Bt, resolveAgentDeliveryPlan as C, enqueueSystemEvent as Cn, onAgentEvent as Cr, trimLogTail as Ct, createOutboundSendDeps$1 as D, DEFAULT_INPUT_IMAGE_MAX_BYTES as Dn, normalizeCronJobPatch as Dt, createDefaultDeps as E, peekSystemEvents as En, normalizeCronJobCreate as Et, buildHistoryContextFromEntries as F, estimateBase64DecodedBytes as Fn, buildDeliveryFromLegacyPayload as Ft, BARE_SESSION_RESET_PROMPT as G, stopSubagentsForRequester as Gn, persistBrowserProxyFiles as Gt, getTotalPendingReplies as H, hasControlCommand as Hn, getHookType as Ht, recordPendingHistoryEntryIfEnabled as I, resolveAgentTimeoutMs as In, hasLegacyDeliveryHints as It, runAgentTurn as J, resolveUserTimezone as Jn, emitGatewayRestart as Jt, appendCronStyleCurrentTimeLine as K, buildMentionRegexes as Kn, consumeGatewaySigusr1RestartAuthorization as Kt, shouldAckReactionForWhatsApp as L, createInboundDebouncer as Ln, stripLegacyDeliveryFields as Lt, buildPairingReply as M, extractImageContentFromSource as Mn, normalizePayloadToSystemText as Mt, resolveMentionGating as N, normalizeMimeList as Nn, normalizeRequiredName as Nt, resolveAgentAvatar as O, DEFAULT_INPUT_IMAGE_MIMES as On, inferLegacyName as Ot, DEFAULT_GROUP_HISTORY_LIMIT as P, resolveInputFileLimits as Pn, migrateLegacyCronPayload as Pt, resolveModelProfile as Q, resolveTtsApiKey as Qn, setGatewaySigusr1RestartPolicy as Qt, dispatchReplyWithBufferedBlockDispatcher as R, resolveInboundDebounceMs as Rn, CHANNEL_TARGETS_DESCRIPTION as Rt, resolveSessionKeyForRequest as S, parseVerboseOverride as Sn, getAgentRunContext as Sr, summarizeRestartSentinel as St, createOutboundSendDeps as T, peekSystemEventEntries as Tn, normalizeHttpWebhookUrl as Tt, createDedupeCache as U, shouldComputeCommandAuthorized as Un, isExternalHookSession as Ut, createReplyDispatcher as V, formatZonedTimestamp as Vn, detectSuspiciousPatterns as Vt, getReplyFromConfig as W, isAbortTrigger as Wn, applyBrowserProxyPaths as Wt, getActiveEmbeddedRunCount as X, isTtsEnabled as Xn, markGatewaySigusr1RestartHandled as Xt, abortEmbeddedPiRun as Y, getTtsProvider as Yn, isGatewaySigusr1RestartExternallyAllowed as Yt, waitForEmbeddedPiRunEnd as Z, isTtsProviderConfigured as Zn, scheduleGatewaySigusr1Restart as Zt, readJsonBodyWithLimit as _, DEFAULT_OAUTH_WARN_MS as _n, isHeartbeatContentEffectivelyEmpty as _r, describeFailoverError as _t, listSubagentRunsForRequester as a, formatUsageWindowSummary as an, textToSpeech as ar, resolveAnnounceTargetFromKey as at, sleepWithAbort as b, applyModelOverrideToSessionEntry as bn, clearAgentRunContext as br, formatRestartSentinelMessage as bt, clearSessionQueues as c, buildChannelAccountSnapshot as cn, getActiveTaskCount as cr, resolveOutboundSessionRoute as ct, sniffMimeFromBase64 as d, requestHeartbeatNow as dn, resetAllLanes as dr, resolveOutboundTarget as dt, unbindThreadBindingsBySessionKey as en, resolveTtsConfig as er, setCliSessionId as et, getPluginToolMeta as f, setHeartbeatWakeHandler as fn, setCommandLaneConcurrency as fr, resolveSessionDeliveryTarget as ft, handleSlackHttpRequest as g, maskApiKey as gn, DEFAULT_HEARTBEAT_EVERY as gr, runWithModelFallback as gt, deleteTelegramUpdateOffset as h, resolveSendPolicy as hn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as hr, CHANNEL_MESSAGE_ACTION_NAMES as ht, listDescendantRunsForRequester as i, formatUsageReportLines as in, setTtsProvider as ir, readLatestAssistantReply as it, parseIdentityMarkdown as j, extractFileContentFromSource as jn, normalizeOptionalText as jt, identityHasValues as k, DEFAULT_INPUT_MAX_REDIRECTS as kn, normalizeOptionalAgentId as kt, applyToolPolicyPipeline as l, formatChannelAllowFrom as ln, getQueueSize as lr, resolveHeartbeatDeliveryTarget as lt, loadSymiPlugins as m, normalizeSendPolicy as mn, CommandLane as mr, resetDirectoryCache as mt, countActiveRunsForSession as n, parseActivationCommand as nn, resolveTtsProviderOrder as nr, sha256HexPrefix as nt, subagent_registry_exports as o, resolveUsageProviderId as on, OPENAI_TTS_MODELS as or, runMessageAction as ot, createPluginLoaderLogger as p, resolveHeartbeatReasonKind as pn, waitForActiveTasks as pr, formatTargetDisplay as pt, resolveCronStyleNow as q, normalizeMentionText as qn, deferGatewayRestartUntilIdle as qt, initSubagentRegistry as r, loadProviderUsageSummary as rn, setTtsEnabled as rr, createSymiTools as rt, runSubagentAnnounceFlow as s, buildChannelSummary as sn, OPENAI_TTS_VOICES as sr, ensureOutboundSessionEntry as st, countActiveDescendantRuns as t, normalizeGroupActivation as tn, resolveTtsPrefsPath as tr, runCliAgent as tt, buildDefaultToolPolicyPipelineSteps as u, resolveCommitHash as un, getTotalQueueSize as ur, resolveHeartbeatSenderContext as ut, requestBodyErrorToText as v, buildAuthHealthSummary as vn, resolveHeartbeatPrompt as vr, consumeRestartSentinel as vt, resolveAgentOutboundTarget as w, isSystemEventContextChanged as wn, registerAgentRunContext as wr, writeRestartSentinel as wt, agentCommand as x, applyVerboseOverride as xn, emitAgentEvent as xr, readRestartSentinel as xt, computeBackoff as y, formatRemainingShort as yn, stripHeartbeatToken as yr, formatDoctorNonInteractiveHint as yt, provider_dispatcher_exports as z, formatInboundEnvelope as zn, CHANNEL_TARGET_DESCRIPTION as zt };
73540
+ export { getCliSessionId as $, resolveTtsApiKey as $n, setGatewaySigusr1RestartPolicy as $t, loadAgentIdentityFromWorkspace as A, DEFAULT_INPUT_MAX_REDIRECTS as An, normalizeOptionalAgentId as At, dispatchInboundMessage as B, formatInboundEnvelope as Bn, CHANNEL_TARGET_DESCRIPTION as Bt, resolveAgentDeliveryPlan as C, parseVerboseOverride as Cn, getAgentRunContext as Cr, summarizeRestartSentinel as Ct, createOutboundSendDeps$1 as D, peekSystemEvents as Dn, normalizeCronJobCreate as Dt, createDefaultDeps as E, peekSystemEventEntries as En, normalizeHttpWebhookUrl as Et, buildHistoryContextFromEntries as F, resolveInputFileLimits as Fn, migrateLegacyCronPayload as Ft, BARE_SESSION_RESET_PROMPT as G, isAbortTrigger as Gn, applyBrowserProxyPaths as Gt, getTotalPendingReplies as H, formatZonedTimestamp as Hn, detectSuspiciousPatterns as Ht, recordPendingHistoryEntryIfEnabled as I, estimateBase64DecodedBytes as In, buildDeliveryFromLegacyPayload as It, runAgentTurn as J, normalizeMentionText as Jn, deferGatewayRestartUntilIdle as Jt, appendCronStyleCurrentTimeLine as K, stopSubagentsForRequester as Kn, persistBrowserProxyFiles as Kt, shouldAckReactionForWhatsApp as L, resolveAgentTimeoutMs as Ln, hasLegacyDeliveryHints as Lt, buildPairingReply as M, extractFileContentFromSource as Mn, normalizeOptionalText as Mt, resolveMentionGating as N, extractImageContentFromSource as Nn, normalizePayloadToSystemText as Nt, resolveAgentAvatar as O, DEFAULT_INPUT_IMAGE_MAX_BYTES as On, normalizeCronJobPatch as Ot, DEFAULT_GROUP_HISTORY_LIMIT as P, normalizeMimeList as Pn, normalizeRequiredName as Pt, resolveModelProfile as Q, isTtsProviderConfigured as Qn, scheduleGatewaySigusr1Restart as Qt, dispatchReplyWithBufferedBlockDispatcher as R, createInboundDebouncer as Rn, stripLegacyDeliveryFields as Rt, resolveSessionKeyForRequest as S, applyVerboseOverride as Sn, emitAgentEvent as Sr, readRestartSentinel as St, createOutboundSendDeps as T, isSystemEventContextChanged as Tn, registerAgentRunContext as Tr, writeRestartSentinel as Tt, createDedupeCache as U, hasControlCommand as Un, getHookType as Ut, createReplyDispatcher as V, resolveEnvelopeFormatOptions as Vn, buildSafeExternalPrompt as Vt, getReplyFromConfig as W, shouldComputeCommandAuthorized as Wn, isExternalHookSession as Wt, getActiveEmbeddedRunCount as X, getTtsProvider as Xn, isGatewaySigusr1RestartExternallyAllowed as Xt, abortEmbeddedPiRun as Y, resolveUserTimezone as Yn, emitGatewayRestart as Yt, waitForEmbeddedPiRunEnd as Z, isTtsEnabled as Zn, markGatewaySigusr1RestartHandled as Zt, readJsonBodyWithLimit as _, maskApiKey as _n, DEFAULT_HEARTBEAT_EVERY as _r, runWithModelFallback as _t, listSubagentRunsForRequester as a, formatUsageReportLines as an, setTtsProvider as ar, readLatestAssistantReply as at, sleepWithAbort as b, formatRemainingShort as bn, stripHeartbeatToken as br, formatDoctorNonInteractiveHint as bt, clearSessionQueues as c, buildChannelSummary as cn, OPENAI_TTS_VOICES as cr, ensureOutboundSessionEntry as ct, sniffMimeFromBase64 as d, resolveCommitHash as dn, getTotalQueueSize as dr, resolveHeartbeatSenderContext as dt, setPreRestartDeferralCheck as en, resolveTtsAutoMode as er, setCliSessionId as et, getPluginToolMeta as f, requestHeartbeatNow as fn, resetAllLanes as fr, resolveOutboundTarget as ft, handleSlackHttpRequest as g, resolveSendPolicy as gn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as gr, CHANNEL_MESSAGE_ACTION_NAMES as gt, deleteTelegramUpdateOffset as h, normalizeSendPolicy as hn, CommandLane as hr, resetDirectoryCache as ht, listDescendantRunsForRequester as i, loadProviderUsageSummary as in, setTtsEnabled as ir, listTasksInWorkdir as it, parseIdentityMarkdown as j, DEFAULT_INPUT_TIMEOUT_MS as jn, normalizeOptionalSessionKey as jt, identityHasValues as k, DEFAULT_INPUT_IMAGE_MIMES as kn, inferLegacyName as kt, applyToolPolicyPipeline as l, buildChannelAccountSnapshot as ln, getActiveTaskCount as lr, resolveOutboundSessionRoute as lt, loadSymiPlugins as m, resolveHeartbeatReasonKind as mn, waitForActiveTasks as mr, formatTargetDisplay as mt, countActiveRunsForSession as n, normalizeGroupActivation as nn, resolveTtsPrefsPath as nr, sha256HexPrefix as nt, subagent_registry_exports as o, formatUsageWindowSummary as on, textToSpeech as or, resolveAnnounceTargetFromKey as ot, createPluginLoaderLogger as p, setHeartbeatWakeHandler as pn, setCommandLaneConcurrency as pr, resolveSessionDeliveryTarget as pt, resolveCronStyleNow as q, buildMentionRegexes as qn, consumeGatewaySigusr1RestartAuthorization as qt, initSubagentRegistry as r, parseActivationCommand as rn, resolveTtsProviderOrder as rr, createSymiTools as rt, runSubagentAnnounceFlow as s, resolveUsageProviderId as sn, OPENAI_TTS_MODELS as sr, runMessageAction as st, countActiveDescendantRuns as t, unbindThreadBindingsBySessionKey as tn, resolveTtsConfig as tr, runCliAgent as tt, buildDefaultToolPolicyPipelineSteps as u, formatChannelAllowFrom as un, getQueueSize as ur, resolveHeartbeatDeliveryTarget as ut, requestBodyErrorToText as v, DEFAULT_OAUTH_WARN_MS as vn, isHeartbeatContentEffectivelyEmpty as vr, describeFailoverError as vt, resolveAgentOutboundTarget as w, enqueueSystemEvent as wn, onAgentEvent as wr, trimLogTail as wt, agentCommand as x, applyModelOverrideToSessionEntry as xn, clearAgentRunContext as xr, formatRestartSentinelMessage as xt, computeBackoff as y, buildAuthHealthSummary as yn, resolveHeartbeatPrompt as yr, consumeRestartSentinel as yt, provider_dispatcher_exports as z, resolveInboundDebounceMs as zn, CHANNEL_TARGETS_DESCRIPTION as zt };
@@ -1,4 +1,4 @@
1
- import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-X6fUE0K7.js";
1
+ import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-DYq1AYOv.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { zt as runAgentTurn } from "./reply-Dg1ZU3DZ.js";
4
+ import { Bt as runAgentTurn } from "./reply-D455A6SA.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } 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-DRLrIa8h.js";
64
+ import "./manager-wF-n_prX.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";
@@ -1,66 +1,66 @@
1
- import "./paths-CYmyCDsE.js";
2
- import "./registry-X6fUE0K7.js";
3
- import "./agent-scope-Cpm7a9ss.js";
4
- import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
5
- import "./workspace-CywO4ayZ.js";
6
- import { t as runAgentTurn } from "./unified-runner-Czg3pdBc.js";
7
- import "./paths-DEuVuViW.js";
8
- import "./auth-profiles-BzB_Exeq.js";
9
- import "./env-CB65jmJQ.js";
10
- import "./github-copilot-token-B8B2pmph.js";
1
+ import "./paths-CE7eVGHg.js";
2
+ import "./registry-DYq1AYOv.js";
3
+ import "./agent-scope-CpEJ0B88.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
5
+ import "./workspace-DscDraUb.js";
6
+ import { t as runAgentTurn } from "./unified-runner-CpyVnelK.js";
7
+ import "./paths-CbQV9WEg.js";
8
+ import "./auth-profiles-C2vj6htZ.js";
9
+ import "./env-BDXYbTKj.js";
10
+ import "./github-copilot-token-cCYzSU9h.js";
11
11
  import "./boolean-CE7i9tBR.js";
12
- import "./pi-embedded-helpers-DwQ9wJeT.js";
13
- import "./config-C4WnAd-c.js";
14
- import "./manifest-registry-BvGv6lp9.js";
15
- import "./chrome-DwXnykXR.js";
16
- import "./frontmatter-CT1M0pRK.js";
17
- import "./skills-BrYDT4Jr.js";
12
+ import "./pi-embedded-helpers-D1_Sab0M.js";
13
+ import "./config-BkZ9HOKT.js";
14
+ import "./manifest-registry-CBCGTsIb.js";
15
+ import "./chrome-ROtrXlNs.js";
16
+ import "./frontmatter-CTR5f_Ez.js";
17
+ import "./skills-CXxrn_e2.js";
18
18
  import "./redact-BDMXB06K.js";
19
19
  import "./errors-XIsvXeC-.js";
20
- import "./image-ops-CY7v6vvp.js";
20
+ import "./image-ops-C7CauEK8.js";
21
21
  import "./ssrf-DpUUUgkK.js";
22
- import "./store-Ceagbc4L.js";
23
- import "./thinking-BV7SCNJP.js";
24
- import "./message-channel-lwVT8QjK.js";
25
- import "./plugins-v8k1XVOy.js";
26
- import "./accounts-BsgY6sda.js";
27
- import "./accounts-wWWkC0JH.js";
28
- import "./accounts-Bsg6r6H7.js";
29
- import "./bindings-xcRox9xM.js";
30
- import "./send-cCTQjuOZ.js";
31
- import "./send-CSydU49L.js";
32
- import "./tool-images-JxNglLSr.js";
33
- import "./deliver-SLYAWE19.js";
34
- import "./diagnostic-DTkZsRNM.js";
22
+ import "./store-01F_JM7O.js";
23
+ import "./thinking-BprCy23Z.js";
24
+ import "./message-channel-OlFBYAw8.js";
25
+ import "./plugins-BzmbgY7s.js";
26
+ import "./accounts-BRw8yhIW.js";
27
+ import "./accounts-3dCrO3oZ.js";
28
+ import "./accounts-BuZxOb3B.js";
29
+ import "./bindings-BsHoBLIE.js";
30
+ import "./send-BKo1T3HF.js";
31
+ import "./send-C0QjmPaf.js";
32
+ import "./tool-images-SqqWIT22.js";
33
+ import "./deliver-B0OUq6RP.js";
34
+ import "./diagnostic-BUcR3Meg.js";
35
35
  import "./diagnostic-session-state-Zw87xFym.js";
36
- import "./image-BHF_fnIp.js";
37
- import "./pi-auth-json-Bv1NzJdR.js";
38
- import "./tokens-Bl5R3wPD.js";
39
- import "./send-BTfqlrYd.js";
36
+ import "./image-BuVL0jHI.js";
37
+ import "./pi-auth-json-RXOlh8ar.js";
38
+ import "./tokens-W0JzCJJM.js";
39
+ import "./send-Bb4it0te.js";
40
40
  import "./pi-model-discovery-CuZX_Q4t.js";
41
- import "./reply-prefix-CI_IdwqH.js";
42
- import "./manager-DxCmjSfP.js";
43
- import "./gemini-auth-D80BsXr2.js";
44
- import "./retry-4oEAHckB.js";
45
- import "./sqlite-P-gMg7fi.js";
46
- import "./target-errors-uNitqCCT.js";
47
- import "./chunk-BcxcL1U3.js";
48
- import "./markdown-tables-CE-qSMGB.js";
49
- import "./local-roots-tcdaIEhh.js";
50
- import "./ir-D6MiJpAy.js";
41
+ import "./reply-prefix-CvEIl6_d.js";
42
+ import "./manager-D0_H4LHh.js";
43
+ import "./gemini-auth-BefM10YB.js";
44
+ import "./retry-B-y5suGA.js";
45
+ import "./sqlite-BN_hIcmu.js";
46
+ import "./target-errors-DeJTztcq.js";
47
+ import "./chunk-BRe1o4Af.js";
48
+ import "./markdown-tables-x2Xe2UXh.js";
49
+ import "./local-roots-ClipCZ9s.js";
50
+ import "./ir-7tMVY7D_.js";
51
51
  import "./render-D1xvLuGo.js";
52
- import "./commands-registry-ByGkL6hs.js";
53
- import "./runner-B5oNTtgf.js";
54
- import "./skill-commands-BcOduw6G.js";
52
+ import "./commands-registry-DxbSTLNQ.js";
53
+ import "./runner-ecX1WzDt.js";
54
+ import "./skill-commands-DG2lcozb.js";
55
55
  import "./fetch-ClslA6GS.js";
56
- import "./channel-activity-CzHaIUAp.js";
57
- import "./tables-qbCoZrYA.js";
58
- import "./send-Du-IfSne.js";
59
- import "./outbound-attachment-BWyKV1Gy.js";
60
- import "./send-ASDB3AzC.js";
61
- import "./resolve-route-BgSuN9c6.js";
56
+ import "./channel-activity-D8QD7GoV.js";
57
+ import "./tables-DoG-pFrf.js";
58
+ import "./send-Cpk3Ti6-.js";
59
+ import "./outbound-attachment-DeCnZT-8.js";
60
+ import "./send-DFtnbzqy.js";
61
+ import "./resolve-route-Jy5dFY67.js";
62
62
  import "./proxy-d9fklNTC.js";
63
- import "./replies-86F3PldM.js";
63
+ import "./replies-CUWXgyx2.js";
64
64
 
65
65
  //#region src/memory/synthesis.ts
66
66
  const log = createSubsystemLogger("memory/synthesis");