@symerian/symi 2.6.40 → 2.6.42

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 (346) hide show
  1. package/dist/{acp-cli-Cm65S6FL.js → acp-cli-BLUeUUA5.js} +2 -2
  2. package/dist/{acp-cli-CArw-nEj.js → acp-cli-CrEIx-c7.js} +2 -2
  3. package/dist/{agents-BUphGO8B.js → agents-DDRDszOI.js} +7 -7
  4. package/dist/{agents.config-C5FjRTiH.js → agents.config-BEVb1Pyx.js} +1 -1
  5. package/dist/{agents.config-bWQyGjxK.js → agents.config-BKCY6F2A.js} +1 -1
  6. package/dist/{audio-preflight-DEJHmI9r.js → audio-preflight-CIiS5cfP.js} +11 -11
  7. package/dist/{audio-preflight-BUO1aDLp.js → audio-preflight-COaFw917.js} +5 -5
  8. package/dist/{audio-preflight-B0alOE_D.js → audio-preflight-DD18zIZd.js} +5 -5
  9. package/dist/{audio-preflight-EindUWk_.js → audio-preflight-XrlQA8IZ.js} +11 -11
  10. package/dist/{audit-ChxZ7_3y.js → audit-BjI_Yyr5.js} +5 -5
  11. package/dist/{audit-B_XnVSC_.js → audit-DB9YkTVX.js} +5 -5
  12. package/dist/{auth-choice-CScrqcEI.js → auth-choice-BbzReh6k.js} +4 -4
  13. package/dist/{auth-choice-BZIJ1WP4.js → auth-choice-D2xXwBeN.js} +4 -4
  14. package/dist/{banner-DdxLX10a.js → banner-DqqRwplt.js} +1 -1
  15. package/dist/{browser-cli-B8qCOonD.js → browser-cli-Ctn9do4z.js} +3 -3
  16. package/dist/{browser-cli-d3tBzuZB.js → browser-cli-kDUw45Y0.js} +3 -3
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +13 -13
  19. package/dist/bundled/session-memory/handler.js +13 -13
  20. package/dist/{call-CLKMnHOP.js → call-DKi-hnaF.js} +1 -1
  21. package/dist/{call-Dqx-xSZ7.js → call-DwpGquzW.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-CC5ojwB6.js → channel-options-DQcpDVCx.js} +1 -1
  24. package/dist/{channel-options-BAqgueJ5.js → channel-options-DcazVJQf.js} +1 -1
  25. package/dist/{channel-web-_jV8VUEw.js → channel-web-u5yMYO4j.js} +7 -7
  26. package/dist/{channels-cli-GldZ8ajW.js → channels-cli-Bog4Kn3X.js} +29 -29
  27. package/dist/{channels-cli-1we8fBWm.js → channels-cli-C3iJE8eg.js} +30 -30
  28. package/dist/{chrome-DJn17LsI.js → chrome-BxwUEWrH.js} +1 -1
  29. package/dist/{chrome-D07ZncFh.js → chrome-CbA-qnhp.js} +1 -1
  30. package/dist/{chrome-Cixcv-qk.js → chrome-DAw-AWNi.js} +1 -1
  31. package/dist/{chrome-DtPv6OzN.js → chrome-DU2ZysN3.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-CNO5cyFx.js → cli-QybdZdE7.js} +25 -25
  34. package/dist/{cli-DZAotBEi.js → cli-eBtEEHLK.js} +26 -26
  35. package/dist/{command-registry-DZIdLwVe.js → command-registry-BWnZSpbL.js} +11 -11
  36. package/dist/{completion-cli-BWw06AVN.js → completion-cli-BhJFXaVU.js} +1 -1
  37. package/dist/{completion-cli-DYgPksHH.js → completion-cli-CUKm7Hb6.js} +2 -2
  38. package/dist/{config-CyV6zkEL.js → config-B6OxYMgn.js} +6 -1
  39. package/dist/{config-BwQutavB.js → config-BNTB6qj8.js} +6 -1
  40. package/dist/{config-jVLwO6DP.js → config-BUTI-mUZ.js} +6 -1
  41. package/dist/{config-Bjt5P4vW.js → config-Dz95lSBW.js} +6 -1
  42. package/dist/{config-cli-DNHtgLYH.js → config-cli-B796xZBe.js} +2 -2
  43. package/dist/{config-cli-BOS84uDD.js → config-cli-CjnQyv45.js} +2 -2
  44. package/dist/{config-guard-bJv1t515.js → config-guard-B1skCv1C.js} +2 -2
  45. package/dist/{config-guard-BTGDJDTi.js → config-guard-CEkSg4hl.js} +3 -3
  46. package/dist/{config-validation-D1EjO6bG.js → config-validation-Cutpn5eO.js} +1 -1
  47. package/dist/{config-validation-PZAxf4DR.js → config-validation-HDVDlMSV.js} +1 -1
  48. package/dist/{configure-B7YGhbtM.js → configure-D3wIQ0yI.js} +10 -10
  49. package/dist/{configure-DZQuTL_V.js → configure-DUqT7Dyn.js} +10 -10
  50. package/dist/{control-service-B0G5d40m.js → control-service-BYKXzY4f.js} +4 -4
  51. package/dist/{control-service-BW1BNnC1.js → control-service-rbSHSlcd.js} +4 -4
  52. package/dist/control-ui/js/app.js +41 -0
  53. package/dist/{cron-cli-B88WIOK2.js → cron-cli-DCpsXkrw.js} +3 -3
  54. package/dist/{cron-cli-QxHcrynL.js → cron-cli-QCTdVZuP.js} +3 -3
  55. package/dist/{daemon-cli-Cy45NZwV.js → daemon-cli-DSDcmWOi.js} +6 -6
  56. package/dist/{daemon-cli-DK3CCo49.js → daemon-cli-DhJYEAoL.js} +6 -6
  57. package/dist/daemon-cli.js +6 -1
  58. package/dist/{daemon-runtime-A-deduW3.js → daemon-runtime-CVFg-ZmT.js} +1 -1
  59. package/dist/{daemon-runtime-CdKAsAeg.js → daemon-runtime-mE1b-Q48.js} +1 -1
  60. package/dist/{deliver-BjpaKGTx.js → deliver-B4KZ6-oZ.js} +3 -3
  61. package/dist/{deliver-BCmoI9iE.js → deliver-Bu0iWeja.js} +3 -3
  62. package/dist/{deliver-Cm6Yfbzh.js → deliver-C7NePF9Z.js} +2 -2
  63. package/dist/{deliver-SIVO_ZZm.js → deliver-DtuY4Wgl.js} +2 -2
  64. package/dist/{devices-cli-f3yJl6-G.js → devices-cli-BNG-fvdl.js} +2 -2
  65. package/dist/{devices-cli-D6sKbRkk.js → devices-cli-x3jIP4Ih.js} +2 -2
  66. package/dist/{directory-cli-DDb20Fzl.js → directory-cli-BxnSZZsW.js} +1 -1
  67. package/dist/{directory-cli-hohI4d8v.js → directory-cli-KgsAVTA0.js} +1 -1
  68. package/dist/{dns-cli-DIZyU_2d.js → dns-cli-BuVomfxS.js} +1 -1
  69. package/dist/{dns-cli-C1SXZIAh.js → dns-cli-Cwr92Aiq.js} +1 -1
  70. package/dist/{doctor-completion-BayL_S0c.js → doctor-completion-D3oUNFQM.js} +1 -1
  71. package/dist/{doctor-completion-UC-Jc5jn.js → doctor-completion-DBE1IVKj.js} +1 -1
  72. package/dist/{doctor-config-flow-DLtGtIf_.js → doctor-config-flow-DhAYwhNB.js} +2 -2
  73. package/dist/{doctor-config-flow-i4XYSFXR.js → doctor-config-flow-iIzSEQxb.js} +2 -2
  74. package/dist/entry.js +1 -1
  75. package/dist/{exec-approvals-cli-DpFjEahL.js → exec-approvals-cli-BSgxsdMt.js} +4 -4
  76. package/dist/{exec-approvals-cli-Cr-mrEfY.js → exec-approvals-cli-CmndFjEA.js} +4 -4
  77. package/dist/extensionAPI.js +13 -13
  78. package/dist/{gateway-cli-BFPPqLYw.js → gateway-cli-BguO9yV4.js} +43 -42
  79. package/dist/{gateway-cli-Cwh2BbPv.js → gateway-cli-Dc1RT_b9.js} +44 -43
  80. package/dist/{gateway-rpc-CS_pPYyV.js → gateway-rpc-5fREQe9Q.js} +1 -1
  81. package/dist/{gateway-rpc-Ddqs16S-.js → gateway-rpc-BMdVa3QV.js} +1 -1
  82. package/dist/{glass-ui-ws-DB9p7t4H.js → glass-ui-ws-D0UYleBF.js} +34 -34
  83. package/dist/{glass-ui-ws-BfHJCfCz.js → glass-ui-ws-DoIZyE9O.js} +33 -33
  84. package/dist/{health-Bx6RQ4MZ.js → health-D3w4YMlC.js} +5 -5
  85. package/dist/{health-CLIwZbJe.js → health-cVvZdeDu.js} +5 -5
  86. package/dist/{hooks-cli-CF4fT-gm.js → hooks-cli-DZIbjfOA.js} +27 -27
  87. package/dist/{hooks-cli-BgALdxuB.js → hooks-cli-te5hzOAB.js} +26 -26
  88. package/dist/{image-DI1dYFo0.js → image-BWmcNF8N.js} +2 -2
  89. package/dist/{image-BmIvgTV4.js → image-C3ugMkb5.js} +2 -2
  90. package/dist/{image-KpMaj86B.js → image-C3wYkWyK.js} +2 -2
  91. package/dist/{image-BrxGAFvc.js → image-lp19FlzF.js} +2 -2
  92. package/dist/index.js +34 -34
  93. package/dist/{lifecycle-core-BnlvcthF.js → lifecycle-core-BZ5sOcHT.js} +2 -2
  94. package/dist/{lifecycle-core-D8iU9ahw.js → lifecycle-core-C4HzGXA1.js} +2 -2
  95. package/dist/llm-slug-generator.js +13 -13
  96. package/dist/{login-CayZfsyE.js → login-BkbDSDPc.js} +2 -2
  97. package/dist/{login-bQWLSSfZ.js → login-BtBwGFrb.js} +2 -2
  98. package/dist/{login-DPxmcuIe.js → login-CiVdC-o_.js} +2 -2
  99. package/dist/{login-QU18rIZK.js → login-DODfJ3Dn.js} +2 -2
  100. package/dist/{login-qr-Bn4BQkWf.js → login-qr-CBRxijIg.js} +2 -2
  101. package/dist/{login-qr-BB2Zfn7K.js → login-qr-DPxuLEvD.js} +2 -2
  102. package/dist/{login-qr-CPn2Q7vV.js → login-qr-Dbw5m381.js} +2 -2
  103. package/dist/{login-qr-l5XwJWk9.js → login-qr-q201Ckfe.js} +2 -2
  104. package/dist/{logs-cli-COwO0YyZ.js → logs-cli-CfGj-dOg.js} +3 -3
  105. package/dist/{logs-cli-2z1YdwSX.js → logs-cli-DtlrLf7u.js} +3 -3
  106. package/dist/{memory-cli-B7GV_Iz_.js → memory-cli-Btzr8gfD.js} +1 -1
  107. package/dist/{memory-cli-9q0ppQpo.js → memory-cli-DDumUksr.js} +1 -1
  108. package/dist/{model-catalog-CsKgWlNp.js → model-catalog-8Son0J4O.js} +2 -2
  109. package/dist/{model-catalog-b9o0TtF7.js → model-catalog-DNvgFPZn.js} +2 -2
  110. package/dist/{model-picker-DBsP93uq.js → model-picker-CAm2Bftd.js} +2 -2
  111. package/dist/{model-picker-CRy3nJeT.js → model-picker-Casgrpw3.js} +2 -2
  112. package/dist/{models-CPIhph0W.js → models-BCfPhQ4m.js} +8 -8
  113. package/dist/{models-cli-C01GsvW2.js → models-cli-BFAtjNIF.js} +28 -28
  114. package/dist/{models-cli-CLqS4ENq.js → models-cli-Cj2CwbPw.js} +29 -29
  115. package/dist/{models-config-Bc8qKqev.js → models-config-Be8DRFkB.js} +1 -1
  116. package/dist/{models-config-BiIYPWCW.js → models-config-CFFjJPe7.js} +1 -1
  117. package/dist/{node-cli-BeZKOSYR.js → node-cli-DnfDOh1d.js} +9 -9
  118. package/dist/{node-cli-74pkmapS.js → node-cli-eHn9-YfJ.js} +9 -9
  119. package/dist/{nodes-cli-nic1q7eb.js → nodes-cli-Ci3oxw8k.js} +3 -3
  120. package/dist/{nodes-cli-DJHcnIfL.js → nodes-cli-Ct4M7JOe.js} +3 -3
  121. package/dist/{onboard-CzncEzdT.js → onboard-BMq8qc1m.js} +7 -7
  122. package/dist/{onboard-BrxB6sbz.js → onboard-VcdBF5TB.js} +7 -7
  123. package/dist/{onboard-channels-H11ympjW.js → onboard-channels-B5wgcffj.js} +1 -1
  124. package/dist/{onboard-channels-BBUPobrz.js → onboard-channels-CiOun4k1.js} +1 -1
  125. package/dist/{onboard-custom-BFbF4nGV.js → onboard-custom-CQOMQkfS.js} +2 -2
  126. package/dist/{onboard-custom-Bt-wDMSz.js → onboard-custom-XiomtQr7.js} +2 -2
  127. package/dist/{onboard-helpers-ChH5EhW2.js → onboard-helpers-BBtPmJEe.js} +2 -2
  128. package/dist/{onboard-helpers-MnxHJAaB.js → onboard-helpers-DFvWPFhU.js} +2 -2
  129. package/dist/{onboard-remote-57GHsVPU.js → onboard-remote-BURDxwoE.js} +1 -1
  130. package/dist/{onboard-remote-BRxgNeoe.js → onboard-remote-D-B4EiOE.js} +1 -1
  131. package/dist/{onboard-skills-DtcVRCTc.js → onboard-skills-BDCzVjxb.js} +1 -1
  132. package/dist/{onboard-skills-CLnJpRrp.js → onboard-skills-CbzgBT1W.js} +1 -1
  133. package/dist/{onboarding-D7hzRo_I.js → onboarding-CGNpTyg2.js} +10 -10
  134. package/dist/{onboarding-D8p8ii63.js → onboarding-Dp7p6zKa.js} +10 -10
  135. package/dist/{onboarding.finalize-C-rIKbkf.js → onboarding.finalize-B6DOu8vp.js} +31 -31
  136. package/dist/{onboarding.finalize-BJUg2rlZ.js → onboarding.finalize-CrsE5P43.js} +33 -33
  137. package/dist/{onboarding.gateway-config-CTbWQvl6.js → onboarding.gateway-config-B9zGPfCl.js} +4 -4
  138. package/dist/{onboarding.gateway-config-oxW0bLBK.js → onboarding.gateway-config-DKwJ5bWd.js} +4 -4
  139. package/dist/{outbound-BodV7hPd.js → outbound-BIOChOHt.js} +1 -1
  140. package/dist/{outbound-BOqx1b0e.js → outbound-Bt8rj9kO.js} +1 -1
  141. package/dist/{outbound-BhKz3zWF.js → outbound-DL8bdXlZ.js} +1 -1
  142. package/dist/{outbound-CG3KehgB.js → outbound-wnv03tb3.js} +1 -1
  143. package/dist/{pairing-cli-RbEs_EMc.js → pairing-cli-DSM82gJG.js} +1 -1
  144. package/dist/{pairing-cli-NErE7ajG.js → pairing-cli-HDWwcqjZ.js} +1 -1
  145. package/dist/{pi-embedded-b2yPH0UQ.js → pi-embedded-DQe8vBwU.js} +415 -248
  146. package/dist/{pi-embedded-helpers-BDI11Fqj.js → pi-embedded-helpers-BgRcgoC9.js} +5 -5
  147. package/dist/{pi-embedded-helpers-CeNTB0sV.js → pi-embedded-helpers-BgdB5kvy.js} +1 -1
  148. package/dist/{pi-embedded-helpers-cgZRM5cz.js → pi-embedded-helpers-DA4liAIZ.js} +1 -1
  149. package/dist/{pi-embedded-helpers-Bdac0DIf.js → pi-embedded-helpers-Dij3O6ox.js} +5 -5
  150. package/dist/{pi-tools.policy-BYklnTNc.js → pi-tools.policy-DRWb_Cax.js} +2 -2
  151. package/dist/{pi-tools.policy-B4NDL7r-.js → pi-tools.policy-DxNwL7Dl.js} +2 -2
  152. package/dist/{plugin-registry-CzWOGG0k.js → plugin-registry-BzIbwU3K.js} +2 -2
  153. package/dist/{plugin-registry-29yLAS46.js → plugin-registry-D3TUplW8.js} +2 -2
  154. package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +5 -0
  155. package/dist/plugin-sdk/agents/session-empty-prune.d.ts +37 -0
  156. package/dist/plugin-sdk/agents/session-transcript-repair.d.ts +8 -0
  157. package/dist/plugin-sdk/{audio-preflight-DSEypXnx.js → audio-preflight-BacDFPyc.js} +5 -5
  158. package/dist/plugin-sdk/{channel-web-DwLIjUen.js → channel-web-B6m8UOCl.js} +7 -7
  159. package/dist/plugin-sdk/{chrome-DC-la42T.js → chrome-BMimuhgP.js} +1 -1
  160. package/dist/plugin-sdk/config/model-profiles.d.ts +7 -0
  161. package/dist/plugin-sdk/config/zod-schema.core.d.ts +2 -0
  162. package/dist/plugin-sdk/config/zod-schema.d.ts +1 -0
  163. package/dist/plugin-sdk/{config-DgwyZd2S.js → config-DdA6JiyD.js} +6 -1
  164. package/dist/plugin-sdk/{deliver-7pgLdSpM.js → deliver-Bxa1-mj5.js} +2 -2
  165. package/dist/plugin-sdk/{image-CqMZSk6f.js → image-aq-JAobP.js} +2 -2
  166. package/dist/plugin-sdk/index.js +17 -17
  167. package/dist/plugin-sdk/{login-DJzS9QT2.js → login-CHgiUvI_.js} +2 -2
  168. package/dist/plugin-sdk/{login-qr-DziBjQY5.js → login-qr-D5vJo1fy.js} +2 -2
  169. package/dist/plugin-sdk/{outbound-DmsEc64Z.js → outbound-CD38Hxn9.js} +1 -1
  170. package/dist/plugin-sdk/{pi-embedded-helpers-C33OSgwG.js → pi-embedded-helpers-BPvzgLtj.js} +5 -5
  171. package/dist/plugin-sdk/{pw-ai-MIepjtIO.js → pw-ai-fdBOQzz5.js} +2 -2
  172. package/dist/plugin-sdk/{replies-Bw1Amxop.js → replies-CW_-4klO.js} +1 -1
  173. package/dist/plugin-sdk/{reply-BxYNpQRu.js → reply-CGoJQT_s.js} +415 -248
  174. package/dist/plugin-sdk/{runner-Bh4NdzRK.js → runner-BQJ7x06O.js} +2 -2
  175. package/dist/plugin-sdk/{send-CENVp2ol.js → send-C4t6h9-o.js} +1 -1
  176. package/dist/plugin-sdk/{send-Bf62p_ul.js → send-Cz_FQ8Ao.js} +1 -1
  177. package/dist/plugin-sdk/{send-D5_J2DiV.js → send-DG6c7BpZ.js} +1 -1
  178. package/dist/plugin-sdk/{send-P1G7c4FN.js → send-HKy51Hz_.js} +1 -1
  179. package/dist/plugin-sdk/{send-Ddy4p4LW.js → send-Xy1L54q4.js} +1 -1
  180. package/dist/plugin-sdk/{session-Z4-R_Top.js → session-BUzIlHr9.js} +1 -1
  181. package/dist/plugin-sdk/{web-DiNM_c37.js → web-CJjSOTnI.js} +17 -17
  182. package/dist/plugin-sdk/{whatsapp-actions-Bg6DfWkN.js → whatsapp-actions-CZLagx0h.js} +2 -2
  183. package/dist/{plugins-cli-DZ6arND4.js → plugins-cli-BD1Jb2Ml.js} +27 -27
  184. package/dist/{plugins-cli-D4bGKnOF.js → plugins-cli-DFyRjAtJ.js} +26 -26
  185. package/dist/{program-context-iI9_njQv.js → program-context-45vPEw2G.js} +38 -38
  186. package/dist/{program-DE9DbHYV.js → program-qGm2M9PG.js} +33 -33
  187. package/dist/{prompt-select-styled-SHa0ZJL9.js → prompt-select-styled-DRIS9jSv.js} +14 -14
  188. package/dist/{prompt-select-styled-D0ELdY0x.js → prompt-select-styled-DRraJGwA.js} +14 -14
  189. package/dist/{provider-auth-helpers-BI2k0jlH.js → provider-auth-helpers-BNOWsjW5.js} +2 -2
  190. package/dist/{provider-auth-helpers-EMBbfX3w.js → provider-auth-helpers-BREVjR7R.js} +2 -2
  191. package/dist/{push-apns-DcbeaY5y.js → push-apns-CObVeJLC.js} +1 -1
  192. package/dist/{push-apns-DyeCPAvI.js → push-apns-CYC70eKy.js} +1 -1
  193. package/dist/{pw-ai-C_7yEh9n.js → pw-ai--LDjnyuN.js} +2 -2
  194. package/dist/{pw-ai-LB6wkt8h.js → pw-ai-BCSFVeD5.js} +2 -2
  195. package/dist/{pw-ai-sY1BRRsq.js → pw-ai-BO5cSmwD.js} +2 -2
  196. package/dist/{pw-ai-C2z2aMEp.js → pw-ai-DQohWnzT.js} +2 -2
  197. package/dist/{qr-cli-B-NWpxfN.js → qr-cli-CejYwqsj.js} +1 -1
  198. package/dist/{qr-cli-TaubpmtG.js → qr-cli-XttU2KOR.js} +1 -1
  199. package/dist/{register.agent-D-1w3KOa.js → register.agent-DRrHvYcz.js} +32 -32
  200. package/dist/{register.agent-D4o7bi_u.js → register.agent-DzzY8jON.js} +34 -34
  201. package/dist/{register.configure-BYCEJg1c.js → register.configure-BxtTIFTa.js} +36 -36
  202. package/dist/{register.configure-BIczNshG.js → register.configure-DlXkwkNR.js} +37 -37
  203. package/dist/{register.maintenance-Syt4oSuk.js → register.maintenance-CXLXouZV.js} +34 -34
  204. package/dist/{register.maintenance-k6z5GVrO.js → register.maintenance-LEf8Q_5p.js} +36 -36
  205. package/dist/{register.message-Bi7QLNId.js → register.message-C4ifV9vG.js} +26 -26
  206. package/dist/{register.message-BJeeT9xQ.js → register.message-DsPa-xHV.js} +27 -27
  207. package/dist/{register.onboard-DDbxMjmt.js → register.onboard-CrY4PxLP.js} +32 -32
  208. package/dist/{register.onboard-B_FeHkL-.js → register.onboard-DLRPa_4B.js} +33 -33
  209. package/dist/{register.setup-CPi3uss4.js → register.setup-By37g1vN.js} +33 -33
  210. package/dist/{register.setup-Cpl67hQ6.js → register.setup-fBG_dJfi.js} +32 -32
  211. package/dist/{register.status-health-sessions-DsY8YuEo.js → register.status-health-sessions-Ckw86-gn.js} +29 -29
  212. package/dist/{register.status-health-sessions-CHPN3CNt.js → register.status-health-sessions-DG7KGnD0.js} +31 -31
  213. package/dist/{register.subclis-D5JRuk93.js → register.subclis-C_xKLugM.js} +28 -28
  214. package/dist/{replies-cMkt1-fW.js → replies-BMqtgBhh.js} +1 -1
  215. package/dist/{replies-CYuZN9PJ.js → replies-Bo49QlAg.js} +1 -1
  216. package/dist/{replies-C2sQt_cX.js → replies-CBS0567j.js} +1 -1
  217. package/dist/{replies-zOTZyd6v.js → replies-CfyMcfoY.js} +1 -1
  218. package/dist/{reply-D55iMWI5.js → reply-DyjXROKp.js} +426 -259
  219. package/dist/{routes-ClhmdN8I.js → routes-BAZTZNuQ.js} +3 -3
  220. package/dist/{routes-DRkO6iuR.js → routes-CMvgBDOg.js} +3 -3
  221. package/dist/{rpc-DvA01fCj.js → rpc-Co5PQ3IJ.js} +1 -1
  222. package/dist/{rpc-UsQvUYIP.js → rpc-D0FiEinj.js} +1 -1
  223. package/dist/{run-main-BWoPODyq.js → run-main-Cg3ecTbO.js} +44 -44
  224. package/dist/{runner-CtF7EgsD.js → runner-Ct0suQrd.js} +2 -2
  225. package/dist/{runner-D3aZ5p3H.js → runner-DRv0uCK_.js} +3 -3
  226. package/dist/{runner-z_tSZGY5.js → runner-Dd2bbNGV.js} +3 -3
  227. package/dist/{runner-_7xOqQDP.js → runner-cJ3m-bxK.js} +2 -2
  228. package/dist/{sandbox-rjqN2SHD.js → sandbox-B6N8cV4d.js} +5 -5
  229. package/dist/{sandbox-DrIHYiE6.js → sandbox-DY75ZyJD.js} +5 -5
  230. package/dist/{sandbox-cli-QpZpJ6Hq.js → sandbox-cli-BDM_QM_f.js} +6 -6
  231. package/dist/{sandbox-cli-BiiThMpq.js → sandbox-cli-DwzaNjIJ.js} +6 -6
  232. package/dist/{security-cli-DxNPZzVB.js → security-cli-CG1uSlRK.js} +9 -9
  233. package/dist/{security-cli-s_AbIm-b.js → security-cli-D5BWzqEJ.js} +9 -9
  234. package/dist/{send-C1ptDV-M.js → send-9SapUCg7.js} +1 -1
  235. package/dist/{send-DV8npIWi.js → send-B3RdXvjC.js} +1 -1
  236. package/dist/{send-CVSO0ZdD.js → send-B7HhiTdx.js} +1 -1
  237. package/dist/{send-DryK_KEK.js → send-B986asZ7.js} +1 -1
  238. package/dist/{send-DNJAa7Q_.js → send-B9EinkUl.js} +1 -1
  239. package/dist/{send-De1p8sZA.js → send-BNnv8GtF.js} +1 -1
  240. package/dist/{send-B9pwTYyE.js → send-BhJZ16uV.js} +1 -1
  241. package/dist/{send-B62vYwo8.js → send-Bm4ULEzh.js} +1 -1
  242. package/dist/{send-BJNUY-9E.js → send-BzKHnf3b.js} +1 -1
  243. package/dist/{send-C6jy9sVB.js → send-CC9V8V81.js} +1 -1
  244. package/dist/{send-DK-Jat_i.js → send-CQVnyJyF.js} +1 -1
  245. package/dist/{send-Dx7S4jGp.js → send-CZemAajS.js} +1 -1
  246. package/dist/{send-BTXR3fPR.js → send-DI9Vhnmw.js} +1 -1
  247. package/dist/{send-BvCit35j.js → send-DLWaX69q.js} +1 -1
  248. package/dist/{send-qSITFlVc.js → send-DSnJ503J.js} +1 -1
  249. package/dist/{send-B7MtdeLq.js → send-DVm0du0_.js} +1 -1
  250. package/dist/{send-D8DhbDGm.js → send-DaBsat3L.js} +1 -1
  251. package/dist/{send-iIqnmxNc.js → send-DdLJtOjk.js} +1 -1
  252. package/dist/{send-4MJyhXk5.js → send-DlQtxlG_.js} +1 -1
  253. package/dist/{send-DiYc3Z2y.js → send-RfIXG6-I.js} +1 -1
  254. package/dist/{server-context-C3fvq6h5.js → server-context-CCBZN8a0.js} +5 -5
  255. package/dist/{server-context-CtYkBX0P.js → server-context-DK-T2rBR.js} +5 -5
  256. package/dist/{server-methods-DY-jApXo.js → server-methods-CW8eFTGD.js} +15 -15
  257. package/dist/{server-methods-C4oRmj--.js → server-methods-CWcLut3F.js} +16 -16
  258. package/dist/{server-node-events--9s3cGoR.js → server-node-events-C2h9OPo7.js} +27 -27
  259. package/dist/{server-node-events-Bw6yFsJP.js → server-node-events-CDB0u8PP.js} +26 -26
  260. package/dist/{session-XfYb9nxX.js → session-C1cn-CxQ.js} +1 -1
  261. package/dist/{session-BmC1G2OF.js → session-CUeezgP1.js} +1 -1
  262. package/dist/{session-3P44Lx9Z.js → session-DsJGtM7g.js} +1 -1
  263. package/dist/{session-utils-DlQSI-Te.js → session-utils-B8Fif925.js} +3 -3
  264. package/dist/{session-BUTPdQjj.js → session-v_9AVJhH.js} +1 -1
  265. package/dist/{sessions-Dxc5UV-H.js → sessions-Cfa6JEB3.js} +1 -1
  266. package/dist/{sessions-9tWmT3oM.js → sessions-Cpgnq0pA.js} +1 -1
  267. package/dist/{sessions-BL_hivz0.js → sessions-DfbhRBHR.js} +3 -3
  268. package/dist/{shared-DEvSdt0I.js → shared-73T9fyuK.js} +1 -1
  269. package/dist/{shared-DwzDlNQn.js → shared-DdxPzyOH.js} +1 -1
  270. package/dist/{skills-cli-BHJAAvDv.js → skills-cli-DXkx4vNV.js} +1 -1
  271. package/dist/{skills-cli-CES7tX87.js → skills-cli-uEA9KXOO.js} +1 -1
  272. package/dist/{status-DxqgzaIz.js → status-B2Qt-5kL.js} +2 -2
  273. package/dist/{status-CPQrmN1p.js → status-CMx3GAax.js} +2 -2
  274. package/dist/{status-DZHTCKq_.js → status-DfPfMVNZ.js} +10 -10
  275. package/dist/{status-CfCqG5a6.js → status-ZPW5EACm.js} +9 -9
  276. package/dist/{status.update-BhJp4NkS.js → status.update-C2GN8s9C.js} +1 -1
  277. package/dist/{status.update-DqXGFKta.js → status.update-CG0ciGaf.js} +1 -1
  278. package/dist/{subagent-registry-BGKDFTRA.js → subagent-registry-DQHg3jUV.js} +427 -260
  279. package/dist/{system-cli-BrZGQcZl.js → system-cli-DFZNGx0i.js} +3 -3
  280. package/dist/{system-cli-CjgIC8rh.js → system-cli-Z7uzO8qd.js} +3 -3
  281. package/dist/{systemd-hints-B8AHs8Nn.js → systemd-hints-DT6cDIM2.js} +1 -1
  282. package/dist/{systemd-hints-DUXXob94.js → systemd-hints-xYZbFny_.js} +1 -1
  283. package/dist/{tui-BktCSga7.js → tui-DjPsMdL6.js} +4 -4
  284. package/dist/{tui-CAzxJ9EP.js → tui-DrATGNms.js} +4 -4
  285. package/dist/{tui-cli-AXeYpVcb.js → tui-cli-D19-MCXt.js} +9 -9
  286. package/dist/{tui-cli-Bz3RdHqe.js → tui-cli-pWD_NrUR.js} +9 -9
  287. package/dist/{unified-runner-BhGMOS0G.js → unified-runner-DvOFqcrw.js} +200 -33
  288. package/dist/{update-cli-n_Tkv8N_.js → update-cli-DBasZeVl.js} +39 -39
  289. package/dist/{update-cli-C8EpxduY.js → update-cli-Df9rh_aN.js} +37 -37
  290. package/dist/{update-runner-Tk50GxTW.js → update-runner-BRKFzAwV.js} +1 -1
  291. package/dist/{update-runner-CowTMnrt.js → update-runner-DVa6cMqp.js} +1 -1
  292. package/dist/{web-Cz8o-Hc9.js → web-CGh5tw__.js} +16 -16
  293. package/dist/{web-CMLJq-WC.js → web-Cw3bFAiP.js} +16 -16
  294. package/dist/{web-BIpIz8vD.js → web-Dd05xbUr.js} +29 -29
  295. package/dist/{web-ONk39lyq.js → web-KiuDkd0x.js} +29 -29
  296. package/dist/{webhooks-cli-v0rfBwU8.js → webhooks-cli-BRxe4uCg.js} +1 -1
  297. package/dist/{webhooks-cli-Da8YhVu4.js → webhooks-cli-CsRZl0_H.js} +1 -1
  298. package/dist/{whatsapp-actions-Cz2qhCrD.js → whatsapp-actions-7YbV2-Fv.js} +2 -2
  299. package/dist/{whatsapp-actions-Ba3KBpGu.js → whatsapp-actions-BylecqEa.js} +2 -2
  300. package/dist/{whatsapp-actions-AEeCOVko.js → whatsapp-actions-ChO_shrk.js} +2 -2
  301. package/dist/{whatsapp-actions-BPn8FtPC.js → whatsapp-actions-mBarFBeS.js} +2 -2
  302. package/dist/{with-timeout-487M8IgO.js → with-timeout-Cgi3TwWN.js} +1 -1
  303. package/dist/{with-timeout-BU7MJQDD.js → with-timeout-CtVdu_1U.js} +1 -1
  304. package/extensions/bluebubbles/package.json +1 -1
  305. package/extensions/copilot-proxy/package.json +1 -1
  306. package/extensions/diagnostics-otel/package.json +1 -1
  307. package/extensions/discord/package.json +1 -1
  308. package/extensions/feishu/package.json +1 -1
  309. package/extensions/google-antigravity-auth/package.json +1 -1
  310. package/extensions/google-gemini-cli-auth/package.json +1 -1
  311. package/extensions/googlechat/package.json +1 -1
  312. package/extensions/imessage/package.json +1 -1
  313. package/extensions/irc/package.json +1 -1
  314. package/extensions/learning-loop/package.json +1 -1
  315. package/extensions/line/package.json +1 -1
  316. package/extensions/llm-task/package.json +1 -1
  317. package/extensions/matrix/CHANGELOG.md +12 -0
  318. package/extensions/matrix/package.json +1 -1
  319. package/extensions/mattermost/package.json +1 -1
  320. package/extensions/memory-core/package.json +1 -1
  321. package/extensions/memory-lancedb/package.json +1 -1
  322. package/extensions/minimax-portal-auth/package.json +1 -1
  323. package/extensions/msteams/CHANGELOG.md +12 -0
  324. package/extensions/msteams/package.json +1 -1
  325. package/extensions/nextcloud-talk/package.json +1 -1
  326. package/extensions/nostr/CHANGELOG.md +12 -0
  327. package/extensions/nostr/package.json +1 -1
  328. package/extensions/open-prose/package.json +1 -1
  329. package/extensions/outlook/package.json +1 -1
  330. package/extensions/pipeline/package.json +1 -1
  331. package/extensions/signal/package.json +1 -1
  332. package/extensions/slack/package.json +1 -1
  333. package/extensions/telegram/package.json +1 -1
  334. package/extensions/tlon/package.json +1 -1
  335. package/extensions/twitch/CHANGELOG.md +12 -0
  336. package/extensions/twitch/package.json +1 -1
  337. package/extensions/voice-call/CHANGELOG.md +12 -0
  338. package/extensions/voice-call/package.json +1 -1
  339. package/extensions/whatsapp/package.json +1 -1
  340. package/extensions/zalo/CHANGELOG.md +12 -0
  341. package/extensions/zalo/package.json +1 -1
  342. package/extensions/zalouser/CHANGELOG.md +12 -0
  343. package/extensions/zalouser/package.json +1 -1
  344. package/package.json +1 -1
  345. package/skills/long-task/SKILL.md +57 -0
  346. package/skills/long-task/scripts/detach-task.sh +58 -0
@@ -10,10 +10,10 @@ import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C a
10
10
  import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BDI11Fqj.js";
14
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-CyV6zkEL.js";
13
+ import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BgRcgoC9.js";
14
+ import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-B6OxYMgn.js";
15
15
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-yb7sAlu4.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-D07ZncFh.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CbA-qnhp.js";
17
17
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Bs0AW1g3.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
19
19
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
@@ -27,17 +27,17 @@ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTele
27
27
  import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
28
28
  import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
29
29
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BuZxOb3B.js";
30
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BTXR3fPR.js";
31
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-De1p8sZA.js";
30
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DI9Vhnmw.js";
31
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BNnv8GtF.js";
32
32
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
33
33
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
34
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-Cm6Yfbzh.js";
34
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C7NePF9Z.js";
35
35
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CQiU0O8b.js";
36
36
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
37
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-BmIvgTV4.js";
37
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-C3ugMkb5.js";
38
38
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CCaxCywz.js";
39
39
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-W0JzCJJM.js";
40
- import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-D8DhbDGm.js";
40
+ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DaBsat3L.js";
41
41
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
43
43
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CJ3M1Uxq.js";
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Cj6k
50
50
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-Se92wAN5.js";
51
51
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-JAy_3A3B.js";
52
52
  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-BSvi46KZ.js";
53
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-_7xOqQDP.js";
53
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-cJ3m-bxK.js";
54
54
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BiPrghRt.js";
55
55
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-Dvqh1Tgb.js";
56
56
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Dnti0cFs.js";
@@ -58,11 +58,11 @@ import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-po
58
58
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D-kw83R0.js";
59
59
  import { n as normalizePollInput } from "./polls-BKbIUHj7.js";
60
60
  import { t as convertMarkdownTables } from "./tables-BuM4FKR3.js";
61
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Dx7S4jGp.js";
62
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-DNJAa7Q_.js";
61
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CZemAajS.js";
62
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-B9EinkUl.js";
63
63
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DX7xcMsD.js";
64
64
  import { t as makeProxyFetch } from "./proxy-DVy9foH0.js";
65
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-C2sQt_cX.js";
65
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CBS0567j.js";
66
66
  import { t as getActiveWebListener } from "./active-listener-Br2FcRv7.js";
67
67
  import { createRequire } from "node:module";
68
68
  import * as path$1 from "node:path";
@@ -225,7 +225,8 @@ const BUILTIN_PROFILES = [
225
225
  top_p: .95,
226
226
  top_k: 20,
227
227
  max_tokens: 16384,
228
- presence_penalty: 1.5
228
+ presence_penalty: 1.5,
229
+ chatTemplateKwargs: { preserve_thinking: true }
229
230
  },
230
231
  streaming: {
231
232
  deltaThrottleMs: 50,
@@ -5498,6 +5499,36 @@ function makeMissingToolResult(params) {
5498
5499
  timestamp: Date.now()
5499
5500
  };
5500
5501
  }
5502
+ /**
5503
+ * True when an assistant message has no tool calls and only empty/whitespace
5504
+ * text or thinking blocks. This happens when a stream fails before any
5505
+ * content arrives — the blank entry is otherwise persisted and produces
5506
+ * consecutive same-role messages, which strict providers (vLLM) reject with
5507
+ * "role must alternate" errors that poison the session for every future turn.
5508
+ */
5509
+ function isEmptyAssistantMessage(message) {
5510
+ if (!message || typeof message !== "object") return false;
5511
+ const msg = message;
5512
+ if (msg.role !== "assistant") return false;
5513
+ if (!Array.isArray(msg.content) || msg.content.length === 0) return true;
5514
+ for (const block of msg.content) {
5515
+ if (!block || typeof block !== "object") continue;
5516
+ const type = block.type;
5517
+ if (type === "toolCall" || type === "toolUse" || type === "functionCall") return false;
5518
+ if (type === "text") {
5519
+ const text = block.text;
5520
+ if (typeof text === "string" && text.trim().length > 0) return false;
5521
+ continue;
5522
+ }
5523
+ if (type === "thinking") {
5524
+ const thinking = block.thinking;
5525
+ if (typeof thinking === "string" && thinking.trim().length > 0) return false;
5526
+ continue;
5527
+ }
5528
+ return false;
5529
+ }
5530
+ return true;
5531
+ }
5501
5532
  function stripToolResultDetails(messages) {
5502
5533
  let touched = false;
5503
5534
  const out = [];
@@ -10236,7 +10267,7 @@ async function routeReply(params) {
10236
10267
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10237
10268
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10238
10269
  try {
10239
- const { deliverOutboundPayloads } = await import("./deliver-Cm6Yfbzh.js").then((n) => n.n);
10270
+ const { deliverOutboundPayloads } = await import("./deliver-C7NePF9Z.js").then((n) => n.n);
10240
10271
  return {
10241
10272
  ok: true,
10242
10273
  messageId: (await deliverOutboundPayloads({
@@ -43677,7 +43708,7 @@ async function deliverSessionMaintenanceWarning(params) {
43677
43708
  return;
43678
43709
  }
43679
43710
  try {
43680
- const { deliverOutboundPayloads } = await import("./deliver-Cm6Yfbzh.js").then((n) => n.n);
43711
+ const { deliverOutboundPayloads } = await import("./deliver-C7NePF9Z.js").then((n) => n.n);
43681
43712
  await deliverOutboundPayloads({
43682
43713
  cfg: params.cfg,
43683
43714
  channel,
@@ -47123,7 +47154,7 @@ async function describeStickerImage(params) {
47123
47154
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47124
47155
  try {
47125
47156
  const buffer = await fs$1.readFile(imagePath);
47126
- const { describeImageWithModel } = await import("./image-BmIvgTV4.js").then((n) => n.n);
47157
+ const { describeImageWithModel } = await import("./image-C3ugMkb5.js").then((n) => n.n);
47127
47158
  return (await describeImageWithModel({
47128
47159
  buffer,
47129
47160
  fileName: "sticker.webp",
@@ -47546,7 +47577,7 @@ function createWhatsAppLoginTool() {
47546
47577
  force: Type.Optional(Type.Boolean())
47547
47578
  }),
47548
47579
  execute: async (_toolCallId, args) => {
47549
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-l5XwJWk9.js");
47580
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-q201Ckfe.js");
47550
47581
  if ((args?.action ?? "start") === "wait") {
47551
47582
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
47552
47583
  return {
@@ -49785,7 +49816,7 @@ async function preflightDiscordMessage(params) {
49785
49816
  let preflightTranscript;
49786
49817
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49787
49818
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49788
- const { transcribeFirstAudio } = await import("./audio-preflight-BUO1aDLp.js");
49819
+ const { transcribeFirstAudio } = await import("./audio-preflight-COaFw917.js");
49789
49820
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49790
49821
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49791
49822
  ctx: {
@@ -53791,27 +53822,27 @@ function isVoiceChannelType(type) {
53791
53822
  function createDefaultDeps() {
53792
53823
  return {
53793
53824
  sendMessageWhatsApp: async (...args) => {
53794
- const { sendMessageWhatsApp } = await import("./web-CMLJq-WC.js");
53825
+ const { sendMessageWhatsApp } = await import("./web-Cw3bFAiP.js");
53795
53826
  return await sendMessageWhatsApp(...args);
53796
53827
  },
53797
53828
  sendMessageTelegram: async (...args) => {
53798
- const { sendMessageTelegram } = await import("./send-D8DhbDGm.js").then((n) => n.l);
53829
+ const { sendMessageTelegram } = await import("./send-DaBsat3L.js").then((n) => n.l);
53799
53830
  return await sendMessageTelegram(...args);
53800
53831
  },
53801
53832
  sendMessageDiscord: async (...args) => {
53802
- const { sendMessageDiscord } = await import("./send-De1p8sZA.js").then((n) => n.t);
53833
+ const { sendMessageDiscord } = await import("./send-BNnv8GtF.js").then((n) => n.t);
53803
53834
  return await sendMessageDiscord(...args);
53804
53835
  },
53805
53836
  sendMessageSlack: async (...args) => {
53806
- const { sendMessageSlack } = await import("./send-BTXR3fPR.js").then((n) => n.n);
53837
+ const { sendMessageSlack } = await import("./send-DI9Vhnmw.js").then((n) => n.n);
53807
53838
  return await sendMessageSlack(...args);
53808
53839
  },
53809
53840
  sendMessageSignal: async (...args) => {
53810
- const { sendMessageSignal } = await import("./send-Dx7S4jGp.js").then((n) => n.i);
53841
+ const { sendMessageSignal } = await import("./send-CZemAajS.js").then((n) => n.i);
53811
53842
  return await sendMessageSignal(...args);
53812
53843
  },
53813
53844
  sendMessageIMessage: async (...args) => {
53814
- const { sendMessageIMessage } = await import("./send-DNJAa7Q_.js").then((n) => n.n);
53845
+ const { sendMessageIMessage } = await import("./send-B9EinkUl.js").then((n) => n.n);
53815
53846
  return await sendMessageIMessage(...args);
53816
53847
  }
53817
53848
  };
@@ -64641,7 +64672,7 @@ async function registerSlackMonitorSlashCommands(params) {
64641
64672
  });
64642
64673
  const deliverSlashPayloads = async (replies) => {
64643
64674
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64644
- import("./replies-C2sQt_cX.js").then((n) => n.r),
64675
+ import("./replies-CBS0567j.js").then((n) => n.r),
64645
64676
  import("./chunk-BHW8Yu5A.js").then((n) => n.s),
64646
64677
  import("./markdown-tables-Dnj2LQUc.js").then((n) => n.t)
64647
64678
  ]);
@@ -66914,7 +66945,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66914
66945
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66915
66946
  let preflightTranscript;
66916
66947
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66917
- const { transcribeFirstAudio } = await import("./audio-preflight-BUO1aDLp.js");
66948
+ const { transcribeFirstAudio } = await import("./audio-preflight-COaFw917.js");
66918
66949
  preflightTranscript = await transcribeFirstAudio({
66919
66950
  ctx: {
66920
66951
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69059,23 +69090,23 @@ let webLoginQrPromise = null;
69059
69090
  let webChannelPromise = null;
69060
69091
  let whatsappActionsPromise = null;
69061
69092
  function loadWebOutbound() {
69062
- webOutboundPromise ??= import("./outbound-BhKz3zWF.js").then((n) => n.t);
69093
+ webOutboundPromise ??= import("./outbound-DL8bdXlZ.js").then((n) => n.t);
69063
69094
  return webOutboundPromise;
69064
69095
  }
69065
69096
  function loadWebLogin() {
69066
- webLoginPromise ??= import("./login-bQWLSSfZ.js").then((n) => n.n);
69097
+ webLoginPromise ??= import("./login-BtBwGFrb.js").then((n) => n.n);
69067
69098
  return webLoginPromise;
69068
69099
  }
69069
69100
  function loadWebLoginQr() {
69070
- webLoginQrPromise ??= import("./login-qr-l5XwJWk9.js");
69101
+ webLoginQrPromise ??= import("./login-qr-q201Ckfe.js");
69071
69102
  return webLoginQrPromise;
69072
69103
  }
69073
69104
  function loadWebChannel() {
69074
- webChannelPromise ??= import("./web-CMLJq-WC.js");
69105
+ webChannelPromise ??= import("./web-Cw3bFAiP.js");
69075
69106
  return webChannelPromise;
69076
69107
  }
69077
69108
  function loadWhatsAppActions() {
69078
- whatsappActionsPromise ??= import("./whatsapp-actions-BPn8FtPC.js");
69109
+ whatsappActionsPromise ??= import("./whatsapp-actions-mBarFBeS.js");
69079
69110
  return whatsappActionsPromise;
69080
69111
  }
69081
69112
  function createPluginRuntime() {
@@ -71671,6 +71702,10 @@ function installSessionToolResultGuard(sessionManager, opts) {
71671
71702
  const guardedAppend = (message) => {
71672
71703
  let nextMessage = message;
71673
71704
  if (message.role === "assistant") {
71705
+ if (isEmptyAssistantMessage(message)) {
71706
+ if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
71707
+ return;
71708
+ }
71674
71709
  const sanitized = sanitizeToolCallInputs([message]);
71675
71710
  if (sanitized.length === 0) {
71676
71711
  if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
@@ -73616,6 +73651,8 @@ function createModelAwareStreamFn(opts) {
73616
73651
  if (typeof mergedParams.repeat_penalty === "number") injections.repeat_penalty = mergedParams.repeat_penalty;
73617
73652
  if (typeof mergedParams.presence_penalty === "number") injections.presence_penalty = mergedParams.presence_penalty;
73618
73653
  if (typeof mergedParams.frequency_penalty === "number") injections.frequency_penalty = mergedParams.frequency_penalty;
73654
+ const chatTemplateKwargs = mergedParams.chatTemplateKwargs ?? mergedParams.chat_template_kwargs;
73655
+ if (chatTemplateKwargs && typeof chatTemplateKwargs === "object" && !Array.isArray(chatTemplateKwargs)) injections.chat_template_kwargs = chatTemplateKwargs;
73619
73656
  const isVllm = isVllmProvider(opts.provider, opts.modelId, opts.config);
73620
73657
  const isOpenRouter = opts.provider === "openrouter";
73621
73658
  const extraHeaders = {};
@@ -74223,7 +74260,11 @@ function handleMessageUpdate(ctx, evt) {
74223
74260
  emitAgentEvent({
74224
74261
  runId: ctx.params.runId,
74225
74262
  stream: "thinking",
74226
- data: { phase: evtType }
74263
+ data: {
74264
+ phase: evtType,
74265
+ delta: thinkingDelta,
74266
+ content: thinkingContent
74267
+ }
74227
74268
  });
74228
74269
  if (ctx.state.streamReasoning) {
74229
74270
  const partialThinking = extractAssistantThinking(msg);
@@ -75949,6 +75990,93 @@ Use the message tool with buttons:
75949
75990
  [{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
75950
75991
  </plan_mode>`;
75951
75992
 
75993
+ //#endregion
75994
+ //#region src/agents/session-empty-prune.ts
75995
+ /**
75996
+ * Pre-run prune of empty assistant entries from a session JSONL file.
75997
+ *
75998
+ * When a stream fails before any content arrives, pi-coding-agent persists
75999
+ * an assistant message with an empty content array. If this repeats (e.g. a
76000
+ * misconfigured provider fails on every retry), the session ends up with
76001
+ * hundreds of consecutive empty assistant entries. vLLM and other strict
76002
+ * providers then reject the request with a role-ordering error — once the
76003
+ * session is in that state, every future turn fails until the user runs /new.
76004
+ *
76005
+ * This helper runs before SessionManager opens the file, reads the JSONL
76006
+ * line-by-line, filters out any line whose `message` is an empty-content
76007
+ * assistant, and rewrites the file atomically if anything was dropped. The
76008
+ * in-memory SessionManager state and the on-disk file stay consistent.
76009
+ *
76010
+ * The append guard in {@link ./session-tool-result-guard.ts} prevents new
76011
+ * empty entries from being written; this helper retroactively cleans files
76012
+ * that were poisoned before the guard existed.
76013
+ *
76014
+ * @module
76015
+ */
76016
+ async function readSessionFile(sessionFile) {
76017
+ try {
76018
+ return await fs$1.readFile(sessionFile, "utf-8");
76019
+ } catch {
76020
+ return null;
76021
+ }
76022
+ }
76023
+ async function writeAtomically(sessionFile, text) {
76024
+ const dir = path.dirname(sessionFile);
76025
+ const base = path.basename(sessionFile);
76026
+ const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
76027
+ await fs$1.writeFile(tmp, text, "utf-8");
76028
+ await fs$1.rename(tmp, sessionFile);
76029
+ }
76030
+ /**
76031
+ * Remove empty assistant JSONL entries from the session file.
76032
+ *
76033
+ * Parses each line; lines that don't parse are preserved verbatim so we don't
76034
+ * lose unknown data. Only lines that parse into a `{type:"message", message:
76035
+ * <empty-assistant>}` entry are dropped.
76036
+ */
76037
+ async function pruneEmptyAssistantsFromSessionFile(sessionFile) {
76038
+ const raw = await readSessionFile(sessionFile);
76039
+ if (raw === null || raw.length === 0) return {
76040
+ rewrote: false,
76041
+ pruned: 0,
76042
+ unparsable: 0
76043
+ };
76044
+ const lines = raw.split("\n");
76045
+ const kept = [];
76046
+ let pruned = 0;
76047
+ let unparsable = 0;
76048
+ for (const line of lines) {
76049
+ if (line.length === 0) {
76050
+ kept.push(line);
76051
+ continue;
76052
+ }
76053
+ let parsed = null;
76054
+ try {
76055
+ parsed = JSON.parse(line);
76056
+ } catch {
76057
+ unparsable += 1;
76058
+ kept.push(line);
76059
+ continue;
76060
+ }
76061
+ if (parsed?.type === "message" && isEmptyAssistantMessage(parsed.message)) {
76062
+ pruned += 1;
76063
+ continue;
76064
+ }
76065
+ kept.push(line);
76066
+ }
76067
+ if (pruned === 0) return {
76068
+ rewrote: false,
76069
+ pruned: 0,
76070
+ unparsable
76071
+ };
76072
+ await writeAtomically(sessionFile, kept.join("\n"));
76073
+ return {
76074
+ rewrote: true,
76075
+ pruned,
76076
+ unparsable
76077
+ };
76078
+ }
76079
+
75952
76080
  //#endregion
75953
76081
  //#region src/agents/session-version.ts
75954
76082
  /**
@@ -76173,6 +76301,38 @@ function isRunnerAbortError(err) {
76173
76301
  return ("message" in err && typeof err.message === "string" ? err.message.toLowerCase() : "").includes("aborted");
76174
76302
  }
76175
76303
 
76304
+ //#endregion
76305
+ //#region src/agents/pi-embedded-runner/long-task-prompt.ts
76306
+ const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
76307
+ let cachedScriptPath;
76308
+ async function resolveDetachScriptPath(params) {
76309
+ if (cachedScriptPath !== void 0) return cachedScriptPath;
76310
+ const packageRoot = await resolveSymiPackageRoot({
76311
+ cwd: params.cwd,
76312
+ argv1: params.argv1,
76313
+ moduleUrl: params.moduleUrl
76314
+ });
76315
+ if (!packageRoot) {
76316
+ cachedScriptPath = null;
76317
+ return null;
76318
+ }
76319
+ const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
76320
+ cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
76321
+ return cachedScriptPath;
76322
+ }
76323
+ async function buildLongTaskPromptSuffix(params) {
76324
+ const scriptPath = await resolveDetachScriptPath(params);
76325
+ if (!scriptPath) return "";
76326
+ return "\n\n" + [
76327
+ "LONG-RUNNING TASK PATTERN:",
76328
+ "- For any task that may exceed 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration): detach from the agent turn. Do NOT foreground-block the exec tool for the full duration; the agent turn will hit its timeout and SIGTERM the process mid-run.",
76329
+ `- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`. The script spawns under setsid+nohup, writes PID / cmd / started / status / log files in the workdir. Use the agent workspace as the workdir.`,
76330
+ "- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
76331
+ "- Register a cron monitor using the `cron` tool with action=add. Schedule every 2-3 minutes. Job prompt must include the task-id, PID, log path, and status path so the future turn has enough context. Example job prompt: \"Check if PID <pid> is alive (kill -0). If alive: tail -n 20 <log>, post one-sentence progress update. If not alive: read <status> and tail <log>, post a final summary, then call cron tool with action=remove id=<this-cron-id>.\"",
76332
+ "- When the monitor turn observes status=complete, it MUST call the cron tool with action=remove to clean up its own job. Do not leave stale monitors running."
76333
+ ].join("\n");
76334
+ }
76335
+
76176
76336
  //#endregion
76177
76337
  //#region src/agents/pi-embedded-runner/session-manager-init.ts
76178
76338
  /**
@@ -76979,7 +77139,12 @@ async function runEmbeddedAttempt(params) {
76979
77139
  const profileModelKey = params.modelId ?? "";
76980
77140
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
76981
77141
  log$9.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
76982
- const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
77142
+ const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
77143
+ const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
77144
+ argv1: process.argv[1],
77145
+ cwd: process.cwd(),
77146
+ moduleUrl: import.meta.url
77147
+ }) + profilePromptSuffix)();
76983
77148
  const sessionLock = await acquireSessionWriteLock({
76984
77149
  sessionFile: params.sessionFile,
76985
77150
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -77000,6 +77165,8 @@ async function runEmbeddedAttempt(params) {
77000
77165
  });
77001
77166
  const versionCheck = await handleSessionVersion(params.sessionFile);
77002
77167
  if (versionCheck.archived) log$9.warn(`session archived: created by ${versionCheck.poisonVersion}, known corruption range → ${versionCheck.archivePath}`);
77168
+ const pruneReport = await pruneEmptyAssistantsFromSessionFile(params.sessionFile);
77169
+ if (pruneReport.rewrote) log$9.warn(`session prune: removed ${pruneReport.pruned} empty assistant entries from ${params.sessionFile}`);
77003
77170
  await prewarmSessionFile(params.sessionFile);
77004
77171
  sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
77005
77172
  agentId: sessionAgentId,
@@ -12,34 +12,34 @@ import "./frontmatter-B8duUx_6.js";
12
12
  import "./skills-hAdgFdrv.js";
13
13
  import "./manifest-registry-Czr39pxG.js";
14
14
  import "./skills-status-DKXJ-tbi.js";
15
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BwQutavB.js";
15
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
16
16
  import "./client-T3qcxXru.js";
17
- import "./call-CLKMnHOP.js";
17
+ import "./call-DKi-hnaF.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Ct as trimLogTail } from "./subagent-registry-BGKDFTRA.js";
21
- import "./sessions-Dxc5UV-H.js";
20
+ import { Ct as trimLogTail } from "./subagent-registry-DQHg3jUV.js";
21
+ import "./sessions-Cfa6JEB3.js";
22
22
  import "./tokens-Csntmwwn.js";
23
23
  import "./plugins-CwSlLxM8.js";
24
24
  import "./accounts-D9ITgITj.js";
25
25
  import "./bindings-DlWb_Kaq.js";
26
26
  import "./logging-CFvkxgcX.js";
27
- import "./send-CVSO0ZdD.js";
28
- import "./send-C6jy9sVB.js";
29
- import "./with-timeout-487M8IgO.js";
30
- import "./deliver-BCmoI9iE.js";
27
+ import "./send-B7HhiTdx.js";
28
+ import "./send-CC9V8V81.js";
29
+ import "./with-timeout-Cgi3TwWN.js";
30
+ import "./deliver-Bu0iWeja.js";
31
31
  import "./diagnostic-Ci8Xsc_Y.js";
32
32
  import "./diagnostic-session-state-CIjIGxEE.js";
33
33
  import "./accounts-D1eLj5t8.js";
34
- import "./send-4MJyhXk5.js";
34
+ import "./send-DlQtxlG_.js";
35
35
  import "./image-ops-CUkaZz2F.js";
36
- import "./pi-embedded-helpers-cgZRM5cz.js";
37
- import "./sandbox-DrIHYiE6.js";
38
- import "./chrome-Cixcv-qk.js";
36
+ import "./pi-embedded-helpers-DA4liAIZ.js";
37
+ import "./sandbox-DY75ZyJD.js";
38
+ import "./chrome-DAw-AWNi.js";
39
39
  import "./tailscale-CbbvYNVw.js";
40
40
  import "./auth-BfDMhFAj.js";
41
- import "./server-context-CtYkBX0P.js";
42
- import "./routes-DRkO6iuR.js";
41
+ import "./server-context-DK-T2rBR.js";
42
+ import "./routes-CMvgBDOg.js";
43
43
  import "./redact-B40lik2B.js";
44
44
  import "./errors-Ba_ROWsq.js";
45
45
  import "./fs-safe-CERgjtot.js";
@@ -53,9 +53,9 @@ import "./accounts-D51FXYdA.js";
53
53
  import "./paths-DNdWAq7b.js";
54
54
  import "./tool-images-CVLISeRT.js";
55
55
  import "./thinking-8sKPnzpp.js";
56
- import "./models-config-Bc8qKqev.js";
56
+ import "./models-config-Be8DRFkB.js";
57
57
  import "./reply-prefix-BUN71nd5.js";
58
- import "./memory-cli-B7GV_Iz_.js";
58
+ import "./memory-cli-Btzr8gfD.js";
59
59
  import "./manager-Vb2F7vQq.js";
60
60
  import "./gemini-auth-CgCIvUpe.js";
61
61
  import "./sqlite-CQGamAhm.js";
@@ -69,11 +69,11 @@ import "./ir-D-flMHhr.js";
69
69
  import "./render-e7fENCYH.js";
70
70
  import "./commands-CkrIpKCc.js";
71
71
  import "./commands-registry-D1K_inhv.js";
72
- import "./image-KpMaj86B.js";
72
+ import "./image-C3wYkWyK.js";
73
73
  import "./tool-display-CXwOC-qw.js";
74
- import "./runner-z_tSZGY5.js";
75
- import "./model-catalog-b9o0TtF7.js";
76
- import "./session-utils-DlQSI-Te.js";
74
+ import "./runner-Dd2bbNGV.js";
75
+ import "./model-catalog-DNvgFPZn.js";
76
+ import "./session-utils-B8Fif925.js";
77
77
  import "./skill-commands-C8BcwE33.js";
78
78
  import "./workspace-dirs-CPNL2Acu.js";
79
79
  import "./pairing-store-vpO8vXVN.js";
@@ -85,24 +85,24 @@ import "./session-cost-usage-C-v6E-Lz.js";
85
85
  import "./channel-activity-myOnmDZi.js";
86
86
  import "./tables-CXWwq-Md.js";
87
87
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-CPeVoSXJ.js";
88
- import "./control-service-BW1BNnC1.js";
88
+ import "./control-service-rbSHSlcd.js";
89
89
  import "./stagger-CQar2eKe.js";
90
90
  import "./channel-selection-BzfEFyPn.js";
91
- import "./send-B9pwTYyE.js";
91
+ import "./send-BhJZ16uV.js";
92
92
  import "./outbound-attachment-BdnE7M6k.js";
93
93
  import "./delivery-queue-CzNZXd1M.js";
94
- import "./send-qSITFlVc.js";
94
+ import "./send-DSnJ503J.js";
95
95
  import "./resolve-route-CjnIuTqX.js";
96
96
  import "./proxy-DL3MD6-P.js";
97
97
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
98
98
  import "./cli-utils-CCaEbxAz.js";
99
99
  import { t as formatHelpExamples } from "./help-format-B0pWGnZs.js";
100
100
  import "./progress-BAHiAaDW.js";
101
- import "./replies-CYuZN9PJ.js";
102
- import "./onboard-helpers-ChH5EhW2.js";
101
+ import "./replies-Bo49QlAg.js";
102
+ import "./onboard-helpers-BBtPmJEe.js";
103
103
  import { n as stylePromptMessage } from "./prompt-style-DwCXob2h.js";
104
104
  import "./pairing-labels-D1HDboV2.js";
105
- import "./pi-tools.policy-B4NDL7r-.js";
105
+ import "./pi-tools.policy-DxNwL7Dl.js";
106
106
  import { n as inheritOptionFromParent } from "./command-options-6wdtBBWB.js";
107
107
  import "./catalog-DLQFKucJ.js";
108
108
  import "./note-DDecZomM.js";
@@ -112,32 +112,32 @@ import "./npm-registry-spec-DkaZNHAW.js";
112
112
  import "./skill-scanner-BGWOBqLY.js";
113
113
  import "./installs-CgQpVncj.js";
114
114
  import "./channels-status-issues-c7qZbYG5.js";
115
- import "./register.subclis-D5JRuk93.js";
116
- import "./command-registry-DZIdLwVe.js";
115
+ import "./register.subclis-C_xKLugM.js";
116
+ import "./command-registry-BWnZSpbL.js";
117
117
  import "./program-context-CqzR_m-7.js";
118
- import { r as installCompletion } from "./completion-cli-DYgPksHH.js";
119
- import "./daemon-runtime-A-deduW3.js";
118
+ import { r as installCompletion } from "./completion-cli-CUKm7Hb6.js";
119
+ import "./daemon-runtime-CVFg-ZmT.js";
120
120
  import { r as parseSemver } from "./runtime-guard-D7waq_Ho.js";
121
121
  import "./systemd-DlMdyFDY.js";
122
122
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
123
- import "./lifecycle-core-BnlvcthF.js";
124
- import "./systemd-hints-B8AHs8Nn.js";
125
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DK3CCo49.js";
123
+ import "./lifecycle-core-BZ5sOcHT.js";
124
+ import "./systemd-hints-DT6cDIM2.js";
125
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DhJYEAoL.js";
126
126
  import "./diagnostics-CS1ov_hH.js";
127
127
  import { t as renderTable } from "./table-D01d2GuY.js";
128
- import "./health-CLIwZbJe.js";
128
+ import "./health-cVvZdeDu.js";
129
129
  import "./control-ui-assets-BseSWee1.js";
130
130
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
131
131
  import "./dm-policy-shared-DJ-61hCT.js";
132
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-BhJp4NkS.js";
133
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CowTMnrt.js";
132
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-C2GN8s9C.js";
133
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DVa6cMqp.js";
134
134
  import "./logging-BGewRZy0.js";
135
135
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DEMKx4eC.js";
136
- import "./doctor-config-flow-DLtGtIf_.js";
136
+ import "./doctor-config-flow-DhAYwhNB.js";
137
137
  import "./systemd-linger-DA_LW52P.js";
138
138
  import "./health-format-CzgUHmmX.js";
139
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-D0ELdY0x.js";
140
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-UC-Jc5jn.js";
139
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DRraJGwA.js";
140
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DBE1IVKj.js";
141
141
  import { spawn, spawnSync } from "node:child_process";
142
142
  import os from "node:os";
143
143
  import path from "node:path";