@symerian/symi 2.6.37 → 2.6.38

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 (435) hide show
  1. package/dist/{acp-cli-gr5XIPZf.js → acp-cli-ByYHYK_E.js} +4 -4
  2. package/dist/{agents-BDKvA-fr.js → agents-BaNrmXzu.js} +4 -4
  3. package/dist/{agents.config-SvdnvFsa.js → agents.config-BOxmN33d.js} +1 -1
  4. package/dist/{agents.config-DP7J1Yxi.js → agents.config-C78DHdxT.js} +1 -1
  5. package/dist/{audio-preflight-xSDULLAj.js → audio-preflight-BuT_gIRW.js} +2 -2
  6. package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-Cz1htqcz.js} +9 -9
  7. package/dist/{audio-preflight-COe9clRU.js → audio-preflight-CzQUZSUK.js} +7 -7
  8. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-DBMz5TQp.js} +7 -7
  9. package/dist/{audit-DCDNPsGr.js → audit-BxqTVyZo.js} +9 -9
  10. package/dist/{auth-choice-CinzPjY5.js → auth-choice-BnJzLsv5.js} +7 -7
  11. package/dist/{auth-choice-DeTIgQiQ.js → auth-choice-CnpKK0cS.js} +3 -3
  12. package/dist/{auth-choice-options-DOqFUoBo.js → auth-choice-options-DmQgUlhC.js} +1 -1
  13. package/dist/{auth-choice-prompt-BLzEBA1v.js → auth-choice-prompt-Cn6U3t8O.js} +1 -1
  14. package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-q3HjbboY.js} +1 -1
  15. package/dist/{banner-DlzlZSHv.js → banner-DdpNhjX6.js} +1 -1
  16. package/dist/{bonjour-discovery-BHTF5p0X.js → bonjour-discovery-DUQ6tE92.js} +1 -1
  17. package/dist/{browser-cli-FNGt_E96.js → browser-cli-BrzYV9w9.js} +3 -3
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +37 -36
  20. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  21. package/dist/bundled/session-memory/handler.js +38 -37
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-activity-B6G1jnQT.js → channel-activity-D-kw83R0.js} +1 -1
  24. package/dist/{channel-options-38j3QjH3.js → channel-options-47wHx-rM.js} +2 -2
  25. package/dist/{channel-options-D7Lp2WmW.js → channel-options-CJE7N_QV.js} +1 -1
  26. package/dist/{channel-web-DoJWvCSG.js → channel-web-CVf8YV4M.js} +5 -5
  27. package/dist/{channels-cli-CMMBVrwz.js → channels-cli-CMLy_xVT.js} +7 -6
  28. package/dist/{channels-cli-DmvAljR1.js → channels-cli-Iya7tcnY.js} +44 -43
  29. package/dist/{chrome-DkaXoP36.js → chrome-34eOyt_6.js} +1 -1
  30. package/dist/{chrome-CDJYxX5a.js → chrome-CovpMGdO.js} +8 -8
  31. package/dist/{clack-prompter-B7pN13HV.js → clack-prompter-DMuVyYP2.js} +3 -3
  32. package/dist/{cli-D9LYX6lB.js → cli-DmGUr8aj.js} +4 -3
  33. package/dist/{cli-Cd4B5FyU.js → cli-dC-CEeDc.js} +27 -26
  34. package/dist/{command-registry-CARx8WBf.js → command-registry-Dk55OGO6.js} +9 -9
  35. package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-BSvi46KZ.js} +1 -1
  36. package/dist/{commands-registry-C_aYUwpl.js → commands-registry-DYoNKo_h.js} +1 -1
  37. package/dist/{completion-cli-DCO3bMjl.js → completion-cli-1HmgP7tY.js} +2 -2
  38. package/dist/{completion-cli-LYcBopv1.js → completion-cli-DrDwlbAX.js} +1 -1
  39. package/dist/{config-5SdHIcHU.js → config-4Iu6iHCA.js} +1 -1
  40. package/dist/{config-BmV60pPT.js → config-DBqxAhpU.js} +1 -1
  41. package/dist/{config-cli-BCiQhEoA.js → config-cli-Cm4KwczC.js} +1 -1
  42. package/dist/{config-cli-9rTAv29s.js → config-cli-DLFKoU1U.js} +1 -1
  43. package/dist/{config-guard-BflmO0t7.js → config-guard--WfHrCVe.js} +6 -6
  44. package/dist/{configure-BeKcXpvL.js → configure-BbFd3c68.js} +5 -5
  45. package/dist/{configure-RmJWWP1i.js → configure-DNRNOqKI.js} +20 -20
  46. package/dist/{control-service-Bz7rxLWq.js → control-service-Dtn-qw2s.js} +2 -2
  47. package/dist/{cron-cli-KYTOQ6d9.js → cron-cli-Bml4UNHa.js} +3 -3
  48. package/dist/{daemon-cli-CJJ8Vueq.js → daemon-cli-BPHe9wOW.js} +11 -11
  49. package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime-COZ4usfy.js} +2 -2
  50. package/dist/{deliver-BH0l3UKW.js → deliver-BCYGr-CD.js} +2 -2
  51. package/dist/{deliver-CWR_98sK.js → deliver-DrFtaFZt.js} +3 -3
  52. package/dist/{deliver-C46-vyqg.js → deliver-DtM4u1u_.js} +6 -6
  53. package/dist/{devices-cli-j0f38zcG.js → devices-cli-texa_iUV.js} +1 -1
  54. package/dist/{diagnostic-DjBRPfu9.js → diagnostic-CH0skkp6.js} +1 -1
  55. package/dist/{diagnostic-rPhsBoZz.js → diagnostic-CQiU0O8b.js} +1 -1
  56. package/dist/{diagnostics-BAMlsVVX.js → diagnostics-BRwihzJG.js} +1 -1
  57. package/dist/{directory-cli-CpUByQew.js → directory-cli-BRMi7Alb.js} +3 -3
  58. package/dist/{dns-cli-Beyzdh3S.js → dns-cli-BsRMpavf.js} +2 -2
  59. package/dist/{doctor-completion-CfPhNCUx.js → doctor-completion-B8IZFxo9.js} +2 -2
  60. package/dist/{doctor-completion-BlysSk9e.js → doctor-completion-D6tzA47C.js} +1 -1
  61. package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-BTQvpBys.js} +4 -4
  62. package/dist/{enable-HSYin9n7.js → enable-vgRSCfxI.js} +1 -1
  63. package/dist/entry.js +1 -1
  64. package/dist/{exec-approvals-cli-2BfYmO4M.js → exec-approvals-cli-DxKAWA8Y.js} +7 -7
  65. package/dist/extensionAPI.js +20 -19
  66. package/dist/{fetch-Bso4i15F.js → fetch-Dnti0cFs.js} +1 -1
  67. package/dist/{gateway-cli-B1AI4M7v.js → gateway-cli-DCTt5acx.js} +74 -73
  68. package/dist/{gateway-cli-D2MuH-Vj.js → gateway-cli-DdjXGMTo.js} +12 -11
  69. package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-BkLFtndu.js} +1 -1
  70. package/dist/{gemini-auth-CSlZZ1Pw.js → gemini-auth-ClVyOv9p.js} +1 -1
  71. package/dist/{glass-ui-ws-cB1R6KOh.js → glass-ui-ws-C_DzMNsd.js} +51 -50
  72. package/dist/{glass-ui-ws-xbRlW2Pz.js → glass-ui-ws-DBlQ-hk7.js} +10 -9
  73. package/dist/{health-DjUN4OFC.js → health-9z0Hpkuc.js} +4 -4
  74. package/dist/{health-By4_Yu9p.js → health-NTpZ8ssG.js} +1 -1
  75. package/dist/{hooks-cli-BENuuN6Y.js → hooks-cli-C86OGnVu.js} +33 -32
  76. package/dist/{hooks-cli-CGrOzATb.js → hooks-cli-wq_uFJly.js} +5 -4
  77. package/dist/{hooks-status-BqLZtMLa.js → hooks-status-oUebZVnL.js} +2 -2
  78. package/dist/{image-D9uvDTrc.js → image-BwXkayiM.js} +1 -1
  79. package/dist/{image-CHzdaNJ4.js → image-DKudhySz.js} +3 -3
  80. package/dist/{image-CuzFLQWC.js → image-mx18hbyY.js} +4 -4
  81. package/dist/index.js +42 -41
  82. package/dist/{inspect-CllGjsWo.js → inspect-CvbbCuoa.js} +2 -2
  83. package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-D3Uz77u7.js} +1 -1
  84. package/dist/{installs-C1Cebk97.js → installs-DQcRVF1U.js} +3 -3
  85. package/dist/{ir-CTiz95Vb.js → ir-JAy_3A3B.js} +2 -2
  86. package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-D0n_6gjJ.js} +6 -6
  87. package/dist/llm-slug-generator.js +37 -36
  88. package/dist/{local-roots-DhZz0Ybs.js → local-roots-Se92wAN5.js} +1 -1
  89. package/dist/{login-XprgoYoQ.js → login-CeXFO0OG.js} +2 -2
  90. package/dist/{login-ul8zaw_S.js → login-IpOTJtyn.js} +2 -2
  91. package/dist/{login-qr-CUErSLXH.js → login-qr-BMIn_eOf.js} +3 -3
  92. package/dist/{login-qr-pbXdFORv.js → login-qr-CC0TE3ax.js} +1 -1
  93. package/dist/{login-qr-AP9agO-i.js → login-qr-DRepVMvu.js} +3 -3
  94. package/dist/{login-dIlDkG4X.js → login-y9uojrfG.js} +1 -1
  95. package/dist/{logs-cli-C0FZokFv.js → logs-cli-Dld6m2xN.js} +2 -2
  96. package/dist/{manager-PprhCvO_.js → manager-CJ3M1Uxq.js} +4 -4
  97. package/dist/{manager-jpn5vRTY.js → manager-CgLdpXXM.js} +2 -2
  98. package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-CPONmMrJ.js} +1 -1
  99. package/dist/{model-catalog-CqCsARJX.js → model-catalog-Bn0ffe1O.js} +3 -2
  100. package/dist/{model-catalog-DsFLN-ua.js → model-catalog-r6v4orfa.js} +3 -2
  101. package/dist/{model-picker-D5nCutGW.js → model-picker-D1J9kB3d.js} +1 -1
  102. package/dist/{model-picker-BzIRY_aM.js → model-picker-TnkH7DsN.js} +2 -2
  103. package/dist/{model-selection-BQCG9ah0.js → model-selection-B8QKPmTL.js} +1 -1
  104. package/dist/{models-D1mOj_fd.js → models-DfuMRKvu.js} +5 -5
  105. package/dist/{models-cli-DhanAXLt.js → models-cli-BJv-aMkH.js} +37 -37
  106. package/dist/{models-cli-Blg1YDNe.js → models-cli-FnD3ZD7s.js} +6 -6
  107. package/dist/{node-cli-DUi87xSB.js → node-cli-C8xs7jkn.js} +16 -16
  108. package/dist/{node-service-Cxz4e-Qd.js → node-service-CD47Qpf1.js} +2 -2
  109. package/dist/{nodes-cli-wgJi8nLG.js → nodes-cli-_wKGGKvG.js} +6 -6
  110. package/dist/{note-DeHoW7xO.js → note-DQ9BvHF2.js} +1 -1
  111. package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-C0CPT3vr.js} +1 -1
  112. package/dist/{onboard-BKl9tvd9.js → onboard-CEE38rOh.js} +17 -17
  113. package/dist/{onboard-DIjwRWbY.js → onboard-Dxf43Kz5.js} +4 -4
  114. package/dist/{onboard-channels-wd_fR_EA.js → onboard-channels-CEZpwlsw.js} +6 -6
  115. package/dist/{onboard-channels-CW1DBHfJ.js → onboard-channels-DjqHX51z.js} +1 -1
  116. package/dist/{onboard-custom-BPvHqbtj.js → onboard-custom-BNyCb71p.js} +2 -2
  117. package/dist/{onboard-custom-DdWPfzJO.js → onboard-custom-yNOjvlgR.js} +1 -1
  118. package/dist/{onboard-helpers-Ci50bfCW.js → onboard-helpers-CAjcAisT.js} +2 -2
  119. package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-C3ok8kqB.js} +2 -2
  120. package/dist/{onboard-remote-I9QVs0MQ.js → onboard-remote-D-8pd-tx.js} +3 -3
  121. package/dist/{onboard-skills-DX7L1thH.js → onboard-skills-c4Rw-CGf.js} +3 -3
  122. package/dist/{onboarding-Ban5B7QD.js → onboarding-B1VwuUX5.js} +15 -15
  123. package/dist/{onboarding-DnhVdzx6.js → onboarding-BxHFNg2y.js} +5 -5
  124. package/dist/{onboarding.finalize-YbnkoDuN.js → onboarding.finalize-DQm4Tey0.js} +40 -39
  125. package/dist/{onboarding.finalize-QCZDp4AW.js → onboarding.finalize-dP5Igu4h.js} +9 -8
  126. package/dist/{onboarding.gateway-config-CJU7Hzrn.js → onboarding.gateway-config-DOna9Sr4.js} +3 -3
  127. package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-WqcGxyFM.js} +1 -1
  128. package/dist/{outbound-3MZ12YrQ.js → outbound-BihTVvMr.js} +2 -2
  129. package/dist/{outbound-DB5Zus0-.js → outbound-DyBiNY4z.js} +1 -1
  130. package/dist/{outbound-CtMCmwxR.js → outbound-UwQEXYXv.js} +6 -6
  131. package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-BzwVH4Pn.js} +1 -1
  132. package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CpKm3M-X.js} +2 -2
  133. package/dist/{path-env-MnzRq6nD.js → path-env-BaQ2E7uD.js} +1 -1
  134. package/dist/{pi-auth-json-D6YbgrAe.js → pi-auth-json-BloyLEwh.js} +24 -9
  135. package/dist/{pi-auth-json-CaX_1WHk.js → pi-auth-json-CCaxCywz.js} +21 -2
  136. package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-LXkL5WS_.js} +24 -11
  137. package/dist/pi-auth-json-zHckislA.js +133 -0
  138. package/dist/{pi-embedded-DG6dQt8v.js → pi-embedded-DKaDXfFG.js} +51 -49
  139. package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-BuVSLhG_.js} +1 -1
  140. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-CepVOR4e.js} +6 -6
  141. package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-DASLSiel.js} +6 -6
  142. package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-C6MWZ59E.js} +1 -1
  143. package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-CP0nONRL.js} +2 -2
  144. package/dist/{plugin-registry-BdvMB68i.js → plugin-registry-DMUt9X9t.js} +1 -1
  145. package/dist/{plugin-registry-DfODDpUe.js → plugin-registry-DeT0nOee.js} +1 -1
  146. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  147. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  148. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  149. package/dist/plugin-sdk/{active-listener-BXYeALs0.js → active-listener-BRYwA2Ic.js} +1 -1
  150. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  151. package/dist/plugin-sdk/agents/pi-auth-json.d.ts +12 -1
  152. package/dist/plugin-sdk/{api-key-rotation-D_sMvI5W.js → api-key-rotation-LTEeykrm.js} +1 -1
  153. package/dist/plugin-sdk/{audio-preflight-VpItkiy3.js → audio-preflight-JLsqSVmS.js} +24 -24
  154. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  155. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  156. package/dist/plugin-sdk/{channel-web-DHcmAnVa.js → channel-web-BtuQPMkd.js} +22 -22
  157. package/dist/plugin-sdk/{chrome-B7RdxmJ0.js → chrome-cPabhZZ4.js} +3 -3
  158. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  159. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  160. package/dist/plugin-sdk/{commands-registry-COIaslGl.js → commands-registry-C9W8UWBh.js} +4 -4
  161. package/dist/plugin-sdk/{config-KlTNfkFF.js → config-XjK1L039.js} +9 -9
  162. package/dist/plugin-sdk/{deliver-BZ99UKQq.js → deliver-Clj5uUID.js} +10 -10
  163. package/dist/plugin-sdk/{diagnostic-05pm5Rxi.js → diagnostic-EyuCSUXO.js} +2 -2
  164. package/dist/plugin-sdk/{image-CLOPx7yW.js → image-CAA-0T17.js} +4 -4
  165. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  166. package/dist/plugin-sdk/index.js +54 -53
  167. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  168. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  169. package/dist/plugin-sdk/{login-DQMXuxOk.js → login-Btqnuww9.js} +7 -7
  170. package/dist/plugin-sdk/{login-qr-BjVZSoCi.js → login-qr-Bxhch9R1.js} +9 -9
  171. package/dist/plugin-sdk/{manager-CBSBFuFz.js → manager-CJXUXj6F.js} +8 -8
  172. package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-B3ugY9-f.js} +1 -1
  173. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  174. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  175. package/dist/plugin-sdk/{model-selection-CsbEfrS0.js → model-selection-DduIg_Yt.js} +5 -5
  176. package/dist/plugin-sdk/{outbound-B0e8KdaR.js → outbound-D_7ktHfW.js} +7 -7
  177. package/dist/plugin-sdk/{outbound-attachment-CnslKL38.js → outbound-attachment-DJ3CI92h.js} +2 -2
  178. package/dist/plugin-sdk/{pi-auth-json-qWi7ZIYV.js → pi-auth-json-CcR0OJ6f.js} +24 -9
  179. package/dist/plugin-sdk/{pi-embedded-helpers-CW630epe.js → pi-embedded-helpers-CDrcAlGW.js} +17 -17
  180. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  181. package/dist/plugin-sdk/{pw-ai-CnbPIPY9.js → pw-ai-CJjlxWj7.js} +8 -8
  182. package/dist/plugin-sdk/{qmd-manager-CH0XbIHf.js → qmd-manager-C6GM0Qik.js} +4 -4
  183. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  184. package/dist/plugin-sdk/{replies-LLcQL3w6.js → replies-DC9NI2KS.js} +3 -3
  185. package/dist/plugin-sdk/{reply-CeoL_D-u.js → reply-CnTdwks6.js} +81 -79
  186. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  187. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  188. package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
  189. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  190. package/dist/plugin-sdk/{runner-CGBT7tgF.js → runner-CBq0_f-j.js} +11 -10
  191. package/dist/plugin-sdk/{send-pYqe432l.js → send-BditKDxK.js} +6 -6
  192. package/dist/plugin-sdk/{send-C5h_YxNb.js → send-BeO7M3pz.js} +7 -7
  193. package/dist/plugin-sdk/{send-CjOBB3Vo.js → send-CdJoYllr.js} +10 -10
  194. package/dist/plugin-sdk/{send-CRsR8-vO.js → send-u7SJPkmf.js} +10 -10
  195. package/dist/plugin-sdk/{send-B2CEnVLL.js → send-vTA7ntTD.js} +6 -6
  196. package/dist/plugin-sdk/{session-BsOrxiMj.js → session-t6hhaLPe.js} +4 -4
  197. package/dist/plugin-sdk/{skill-commands-ff_01_r3.js → skill-commands-D-rpF3bM.js} +5 -5
  198. package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-B1GeRYlu.js} +7 -7
  199. package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
  200. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  201. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  202. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  203. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  204. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  205. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  206. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  207. package/dist/plugin-sdk/{tool-loop-detection-at_K42K7.js → tool-loop-detection-BAUvBvAO.js} +2 -2
  208. package/dist/plugin-sdk/web-BkK8fGjJ.js +66 -0
  209. package/dist/plugin-sdk/{whatsapp-actions-DfseosPO.js → whatsapp-actions-DifisvHY.js} +21 -21
  210. package/dist/{plugins-cli-DMxHIMNz.js → plugins-cli-BCYM8B89.js} +5 -4
  211. package/dist/{plugins-cli-Dcd56Auo.js → plugins-cli-D85G3qZp.js} +34 -33
  212. package/dist/{program-CK6pb4lq.js → program-DGLuU2_H.js} +10 -9
  213. package/dist/{program-context-0dr-H7wo.js → program-context-B2BcluHm.js} +40 -40
  214. package/dist/{prompt-select-styled-uYsTGG3x.js → prompt-select-styled-C9RTEKcx.js} +5 -5
  215. package/dist/{prompt-select-styled-Bi9q87ml.js → prompt-select-styled-CAKiYm_X.js} +28 -28
  216. package/dist/{provider-auth-helpers-BC24Uzzu.js → provider-auth-helpers-B8RGFZit.js} +1 -1
  217. package/dist/{provider-auth-helpers-BUorkQUD.js → provider-auth-helpers-CfkQBpo7.js} +6 -6
  218. package/dist/{push-apns-BwHZ2F7j.js → push-apns-DM6nj062.js} +1 -1
  219. package/dist/{push-apns-BQckoz9S.js → push-apns-DmpUv3y4.js} +1 -1
  220. package/dist/{pw-ai-m0mj2KWK.js → pw-ai-CPelTpWz.js} +3 -3
  221. package/dist/{pw-ai-De-KR9_s.js → pw-ai-Cfeeyp0u.js} +3 -3
  222. package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-lBS9mT9w.js} +1 -1
  223. package/dist/{register.agent-wv_0IcpN.js → register.agent-DX-OyYzL.js} +10 -9
  224. package/dist/{register.agent-Ffw952Cm.js → register.agent-DcvwdQXs.js} +50 -49
  225. package/dist/{register.configure-BMkj8T9e.js → register.configure-Bldjj3LP.js} +59 -58
  226. package/dist/{register.configure-BTKXkVgp.js → register.configure-DBaELzEM.js} +11 -10
  227. package/dist/{register.maintenance-CRu_hm_x.js → register.maintenance-BKB_D_Py.js} +11 -10
  228. package/dist/{register.maintenance-D1xEYvHY.js → register.maintenance-BgWyvLo5.js} +52 -51
  229. package/dist/{register.message-f-91gZI8.js → register.message-ClKGIfK4.js} +30 -29
  230. package/dist/{register.message-DD5LEq6t.js → register.message-DUeR-Dz2.js} +5 -4
  231. package/dist/{register.onboard-BRTil6DH.js → register.onboard-CSmfgDU5.js} +44 -43
  232. package/dist/{register.onboard-BetMbk4D.js → register.onboard-DT1We9u2.js} +9 -8
  233. package/dist/{register.setup-DX01Qmwr.js → register.setup-CEW5ApHJ.js} +9 -8
  234. package/dist/{register.setup-C0XLhwPd.js → register.setup-mJzihfMO.js} +44 -43
  235. package/dist/{register.status-health-sessions-CMF93G-p.js → register.status-health-sessions-BJYemCHi.js} +6 -5
  236. package/dist/{register.status-health-sessions-Dqh15XbO.js → register.status-health-sessions-CMQS8zwA.js} +44 -43
  237. package/dist/{register.subclis-D_HoHaB7.js → register.subclis-Bi4jmYW6.js} +9 -9
  238. package/dist/{replies-ZYtI9jr0.js → replies-CM5QgPHM.js} +1 -1
  239. package/dist/{replies-LSmuwOhA.js → replies-DA4YTv9G.js} +3 -3
  240. package/dist/{reply-CMb-m0ZJ.js → reply-YphHjxHp.js} +46 -44
  241. package/dist/{routes-Ba9CUQ8M.js → routes-B1-BfEDm.js} +1 -1
  242. package/dist/{rpc-_E0CZJKf.js → rpc-gJOYujMj.js} +1 -1
  243. package/dist/{run-main-e6LI0zRf.js → run-main-Ugk40lFF.js} +17 -16
  244. package/dist/{runner-BORIO-D3.js → runner-CW9KEL7W.js} +1 -1
  245. package/dist/{runner-CU9l0uJh.js → runner-DKq2NJqT.js} +10 -9
  246. package/dist/{runner-BSzJIT-z.js → runner-DmM2HhB-.js} +2 -2
  247. package/dist/{runner-DUBExAb5.js → runner-qeYibveF.js} +7 -6
  248. package/dist/{sandbox-C-T6hOMv.js → sandbox-DAOxwUQm.js} +2 -2
  249. package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-BV6FS0bK.js} +3 -3
  250. package/dist/{security-cli-BSZ1_9R3.js → security-cli-BA4AGkeh.js} +8 -8
  251. package/dist/{send-C1IYd3g7.js → send-BJTX03Bn.js} +1 -1
  252. package/dist/{send-DAN9hA5h.js → send-C4Bqsa_r.js} +6 -6
  253. package/dist/{send-DXW6mdgR.js → send-CB3dCCmE.js} +1 -1
  254. package/dist/{send-D-hWrHoH.js → send-CFzf_ab4.js} +1 -1
  255. package/dist/{send-DkfYiRx5.js → send-Cgcbuw8U.js} +1 -1
  256. package/dist/{send-CvhXrdgS.js → send-Cq1L-2Ik.js} +9 -9
  257. package/dist/{send-C4Ucr8ep.js → send-DHWMRnPk.js} +3 -3
  258. package/dist/{send-DYj_o4_F.js → send-DVt9RLDh.js} +9 -9
  259. package/dist/{send-CVMyYPQw.js → send-DX0p0ym_.js} +5 -5
  260. package/dist/{send-DWYkPSUs.js → send-ZI2bG_Jc.js} +1 -1
  261. package/dist/{send-BArQpbtx.js → send-iVPD3yf2.js} +1 -1
  262. package/dist/{send-CQAKg_12.js → send-vtz9ZwUj.js} +4 -4
  263. package/dist/{server-context-CEpFjqSk.js → server-context-CHYWo_TC.js} +3 -3
  264. package/dist/{server-methods-CZJHMB_M.js → server-methods-C3xXynlm.js} +7 -7
  265. package/dist/{server-methods-D5X0JrXg.js → server-methods-DJ3Bi-Xg.js} +25 -25
  266. package/dist/{server-node-events-BpNyybGF.js → server-node-events-Cgdwex4k.js} +5 -4
  267. package/dist/{server-node-events-Cu_8g2ws.js → server-node-events-DS50d7AK.js} +28 -27
  268. package/dist/{service-Cl74hx8J.js → service-osK70kTZ.js} +2 -2
  269. package/dist/{session-DtMfLMdP.js → session-BF9s_N2s.js} +1 -1
  270. package/dist/{session-DSU1vxxi.js → session-BQWef058.js} +1 -1
  271. package/dist/{session-cost-usage-UxUgrslM.js → session-cost-usage-BXAI7CNH.js} +1 -1
  272. package/dist/session-dirs-Dgz7kkUM.js +18 -0
  273. package/dist/{shared-BJvwnR5z.js → shared-DnmJ0ABB.js} +2 -2
  274. package/dist/{skill-commands-DcVwOafC.js → skill-commands-BiPrghRt.js} +1 -1
  275. package/dist/{skill-commands-DklY7Cj7.js → skill-commands-D8RiKDh0.js} +1 -1
  276. package/dist/{skills-cli-BZTBLQTt.js → skills-cli-C-URp1av.js} +5 -5
  277. package/dist/{skills-install-D67isO1L.js → skills-install-CWVdJkLn.js} +4 -4
  278. package/dist/{skills-status-CURJKnyY.js → skills-status-C3ptXwnh.js} +1 -1
  279. package/dist/{status-CXib3MSE.js → status-0aNBSe72.js} +16 -16
  280. package/dist/{status-iJUy8byq.js → status-2KD2q2sn.js} +1 -1
  281. package/dist/{status-C2iQbl7T.js → status-BBnhTX-n.js} +1 -1
  282. package/dist/{status-CL1xQrpW.js → status-D9uWA9pU.js} +2 -2
  283. package/dist/{status.update-DtwCUTf-.js → status.update-DP0OFqyb.js} +1 -1
  284. package/dist/{subagent-registry-Cdiios3w.js → subagent-registry-aZczbtLM.js} +8 -6
  285. package/dist/{system-cli-C4A3Udil.js → system-cli-BXewgTZR.js} +3 -112
  286. package/dist/system-run-command-B_qw8CXP.js +93 -0
  287. package/dist/{systemd-riq8uNJQ.js → systemd-DT6SbCim.js} +1 -1
  288. package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-DZH9qY5W.js} +4 -4
  289. package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-DCskIKcx.js} +2 -2
  290. package/dist/{tables-qMwbq29u.js → tables-BuM4FKR3.js} +2 -2
  291. package/dist/{tui-D14a9N3F.js → tui-DLaU7tTx.js} +2 -2
  292. package/dist/{tui-cli-Bg4YuRSd.js → tui-cli-D-PVUsS5.js} +6 -6
  293. package/dist/{unified-runner-dSVvVx1y.js → unified-runner-CMgTwCmG.js} +74 -72
  294. package/dist/{update-rw7wJwHd.js → update-Ya0e-JnM.js} +1 -1
  295. package/dist/{update-check-CtckACbb.js → update-check-7EzEjSzb.js} +1 -1
  296. package/dist/{update-cli-B5q0ErXF.js → update-cli-DiH9ccFa.js} +11 -10
  297. package/dist/{update-cli-CSWxJ-hA.js → update-cli-Dup4Xi6b.js} +62 -61
  298. package/dist/{update-runner-jvpPI7iP.js → update-runner-BkdQhkKR.js} +1 -1
  299. package/dist/{update-runner-BB5A0jnW.js → update-runner-dT5l0kuK.js} +3 -3
  300. package/dist/{web-DDmkA8-N.js → web-BIo1QcLd.js} +42 -41
  301. package/dist/{web-BuHFfZp7.js → web-BrGvZQ21.js} +24 -23
  302. package/dist/{web-DsdmLxAP.js → web-CJSRBiDm.js} +31 -30
  303. package/dist/{web-BsEbA9Ur.js → web-DPki9fDa.js} +4 -3
  304. package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-iOLEyFdx.js} +1 -1
  305. package/dist/{whatsapp-actions-DvhI5-DC.js → whatsapp-actions-BW8P8Izy.js} +3 -3
  306. package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-BmcMtU_J.js} +1 -1
  307. package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-DZfLLQ0Y.js} +10 -10
  308. package/dist/{with-timeout-gmK6RciS.js → with-timeout-D2z7OkiK.js} +1 -1
  309. package/extensions/bluebubbles/package.json +1 -1
  310. package/extensions/copilot-proxy/package.json +1 -1
  311. package/extensions/diagnostics-otel/package.json +1 -1
  312. package/extensions/discord/package.json +1 -1
  313. package/extensions/feishu/package.json +1 -1
  314. package/extensions/google-antigravity-auth/package.json +1 -1
  315. package/extensions/google-gemini-cli-auth/package.json +1 -1
  316. package/extensions/googlechat/package.json +1 -1
  317. package/extensions/imessage/package.json +1 -1
  318. package/extensions/irc/package.json +1 -1
  319. package/extensions/learning-loop/package.json +1 -1
  320. package/extensions/line/package.json +1 -1
  321. package/extensions/llm-task/package.json +1 -1
  322. package/extensions/matrix/CHANGELOG.md +6 -0
  323. package/extensions/matrix/package.json +1 -1
  324. package/extensions/mattermost/package.json +1 -1
  325. package/extensions/memory-core/package.json +1 -1
  326. package/extensions/memory-lancedb/package.json +1 -1
  327. package/extensions/minimax-portal-auth/package.json +1 -1
  328. package/extensions/msteams/CHANGELOG.md +6 -0
  329. package/extensions/msteams/package.json +1 -1
  330. package/extensions/nextcloud-talk/package.json +1 -1
  331. package/extensions/nostr/CHANGELOG.md +6 -0
  332. package/extensions/nostr/package.json +1 -1
  333. package/extensions/open-prose/package.json +1 -1
  334. package/extensions/outlook/package.json +1 -1
  335. package/extensions/pipeline/package.json +1 -1
  336. package/extensions/signal/package.json +1 -1
  337. package/extensions/slack/package.json +1 -1
  338. package/extensions/telegram/package.json +1 -1
  339. package/extensions/tlon/package.json +1 -1
  340. package/extensions/twitch/CHANGELOG.md +6 -0
  341. package/extensions/twitch/package.json +1 -1
  342. package/extensions/voice-call/CHANGELOG.md +6 -0
  343. package/extensions/voice-call/package.json +1 -1
  344. package/extensions/whatsapp/package.json +1 -1
  345. package/extensions/zalo/CHANGELOG.md +6 -0
  346. package/extensions/zalo/package.json +1 -1
  347. package/extensions/zalouser/CHANGELOG.md +6 -0
  348. package/extensions/zalouser/package.json +1 -1
  349. package/package.json +1 -1
  350. package/dist/pi-auth-json-DhTX6MBO.js +0 -13
  351. package/dist/plugin-sdk/web-qmzvsQZn.js +0 -65
  352. /package/dist/{active-listener-CfHHV2SU.js → active-listener-Br2FcRv7.js} +0 -0
  353. /package/dist/{active-listener-1krIj9TM.js → active-listener-Dx_Y1ouV.js} +0 -0
  354. /package/dist/{active-listener-kvXhlgwu.js → active-listener-SKkHHqlN.js} +0 -0
  355. /package/dist/{allow-from-BZCKLkjL.js → allow-from-BIJVrwCW.js} +0 -0
  356. /package/dist/{argv-C6ovOie2.js → argv-B20UI_hB.js} +0 -0
  357. /package/dist/{auth-choice-legacy-Ch38-Kbr.js → auth-choice-legacy-aJ8D6F_s.js} +0 -0
  358. /package/dist/{auth-token-BnOynwk4.js → auth-token-Cay2jwzn.js} +0 -0
  359. /package/dist/{brew-DjNEjKAo.js → brew-DZPKCJr0.js} +0 -0
  360. /package/dist/{catalog-RiADx7MA.js → catalog-NQ4pj9RI.js} +0 -0
  361. /package/dist/{channel-selection-DuWs0Aak.js → channel-selection-V2xDgw16.js} +0 -0
  362. /package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-CJ0Vb_9z.js} +0 -0
  363. /package/dist/{chunk-09egQapi.js → chunk-BHW8Yu5A.js} +0 -0
  364. /package/dist/{clipboard-Cg3cin13.js → clipboard-BIyDbnnI.js} +0 -0
  365. /package/dist/{command-options-BtDai3oC.js → command-options-BkTXKWlb.js} +0 -0
  366. /package/dist/{command-poll-backoff-BiwOFDEK.js → command-poll-backoff-BGS2SHjF.js} +0 -0
  367. /package/dist/{command-poll-backoff-Bup9wS1y.js → command-poll-backoff-CaTOIqVn.js} +0 -0
  368. /package/dist/{config-ClSsetRi.js → config-DmMe1tf9.js} +0 -0
  369. /package/dist/{config-validation-CmimHAES.js → config-validation-BckiR0w9.js} +0 -0
  370. /package/dist/{constants-C8_BLnaW.js → constants-CafH8-8D.js} +0 -0
  371. /package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-B7moDVHX.js} +0 -0
  372. /package/dist/{dangerous-tools-BL-M3lPt.js → dangerous-tools-BvU3-DRl.js} +0 -0
  373. /package/dist/{delivery-queue-CxuV9EeG.js → delivery-queue-CAxX6nGq.js} +0 -0
  374. /package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-DlDAGtZL.js} +0 -0
  375. /package/dist/{docs-cli-BpnEOtJi.js → docs-cli-qE-blOLC.js} +0 -0
  376. /package/dist/{entry-status-CAs6m3_l.js → entry-status-BOOmFr_b.js} +0 -0
  377. /package/dist/{exec-approvals-Kn31mBcW.js → exec-approvals-DXM2pQYL.js} +0 -0
  378. /package/dist/{fetch-timeout-DL3f_O53.js → fetch-timeout-Cj6kcyGt.js} +0 -0
  379. /package/dist/{format-yQZNwAF2.js → format-B0yJsjEo.js} +0 -0
  380. /package/dist/{gateway-rpc-5aGm8LwU.js → gateway-rpc-DiTk_nOl.js} +0 -0
  381. /package/dist/{gmail-setup-utils-Bv0M7ka7.js → gmail-setup-utils-Dq6vwkWW.js} +0 -0
  382. /package/dist/{health-format-DSwnXZPU.js → health-format-DRCaak6L.js} +0 -0
  383. /package/dist/{heartbeat-visibility-U4BL57eQ.js → heartbeat-visibility-ChEo5Zvk.js} +0 -0
  384. /package/dist/{helpers-By2rxBQ5.js → helpers-BtH6pa6c.js} +0 -0
  385. /package/dist/{helpers-BcGbMZD1.js → helpers-DnjQ73f_.js} +0 -0
  386. /package/dist/{inbound-context-DSDTl6Kj.js → inbound-context-Dvqh1Tgb.js} +0 -0
  387. /package/dist/{ipv4-CxY-xbsH.js → ipv4-CjlyK5jc.js} +0 -0
  388. /package/dist/{is-main-DrpmTCqv.js → is-main-CmNWsNFB.js} +0 -0
  389. /package/dist/{logging-BzzwiKjv.js → logging-KpicI3yD.js} +0 -0
  390. /package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-Dnj2LQUc.js} +0 -0
  391. /package/dist/{model-param-b-BCRDjJEJ.js → model-param-b-Cp9d4e-0.js} +0 -0
  392. /package/dist/{node-match-CN8o4Vi3.js → node-match-CdUiymRU.js} +0 -0
  393. /package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-8Bq7DiSa.js} +0 -0
  394. /package/dist/{onboard-config-DPPsiC8t.js → onboard-config-B9jTl83d.js} +0 -0
  395. /package/dist/{outbound-attachment-mQQiYZ3C.js → outbound-attachment-Bw-c5Cdp.js} +0 -0
  396. /package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-DyXoD1DS.js} +0 -0
  397. /package/dist/{parse-log-line-BHCUQaF3.js → parse-log-line-DvYyTYq4.js} +0 -0
  398. /package/dist/{parse-port-Vm8F7Kus.js → parse-port-DnJYkByg.js} +0 -0
  399. /package/dist/{parse-timeout-C385GCpE.js → parse-timeout-2S5vp0-9.js} +0 -0
  400. /package/dist/{path-safety-BqPJ8DDQ.js → path-safety-D55Cxg8r.js} +0 -0
  401. /package/dist/{pi-model-discovery-Bv5YDJc8.js → pi-model-discovery-CuZX_Q4t.js} +0 -0
  402. /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-Bug27PHS.js} +0 -0
  403. /package/dist/{plugins-allowlist-sArtGE-d.js → plugins-allowlist-BjKJrQ0e.js} +0 -0
  404. /package/dist/{polls-CCuCaqgv.js → polls-BKbIUHj7.js} +0 -0
  405. /package/dist/{ports-BX0kKI0g.js → ports-DtW62rqS.js} +0 -0
  406. /package/dist/{prompt-style-8JqOYj0q.js → prompt-style-CnkMpSXt.js} +0 -0
  407. /package/dist/{prompts-Xu2Sveka.js → prompts-CfOu9uZi.js} +0 -0
  408. /package/dist/{proxy-BaSHbVlA.js → proxy-CLEew2L6.js} +0 -0
  409. /package/dist/{proxy-CBJ1upuz.js → proxy-DVy9foH0.js} +0 -0
  410. /package/dist/{pw-ai-DqL87js3.js → pw-ai-C_1hRlOM.js} +0 -0
  411. /package/dist/{qmd-manager-D85GJrir.js → qmd-manager-CCUK1xoc.js} +0 -0
  412. /package/dist/{qmd-manager-Bx06p6nk.js → qmd-manager-qpFs_a6u.js} +0 -0
  413. /package/dist/{qr-cli-jd9LdZpq.js → qr-cli-9L-HExyH.js} +0 -0
  414. /package/dist/{render-CDCvpfhh.js → render-DwEu-aCr.js} +0 -0
  415. /package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-CvEIl6_d.js} +0 -0
  416. /package/dist/{resolve-route-C4_I4GFI.js → resolve-route-DX7xcMsD.js} +0 -0
  417. /package/dist/{retry-BBVXkKBV.js → retry-B-y5suGA.js} +0 -0
  418. /package/dist/{runtime-guard-B37eizu-.js → runtime-guard-Dik20CVM.js} +0 -0
  419. /package/dist/{runtime-status-CR9445g5.js → runtime-status-D6c3G7my.js} +0 -0
  420. /package/dist/{session-DIBTkyvE.js → session-CINKYYDi.js} +0 -0
  421. /package/dist/{shared-Knv1hy6h.js → shared-CvNixzwn.js} +0 -0
  422. /package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-hMtQbWPV.js} +0 -0
  423. /package/dist/{sqlite-D_mz1_-y.js → sqlite-BHWvOATS.js} +0 -0
  424. /package/dist/{stagger-BUClb97_.js → stagger-CvFURHzt.js} +0 -0
  425. /package/dist/{status-BrV-afZE.js → status-klsFDD3M.js} +0 -0
  426. /package/dist/{table-BTgkRafz.js → table-BKlH0YlA.js} +0 -0
  427. /package/dist/{target-errors-Bbr9rlzN.js → target-errors-BEugWC4F.js} +0 -0
  428. /package/dist/{tokens-Bux9Y_xD.js → tokens-W0JzCJJM.js} +0 -0
  429. /package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-D5mBY7AC.js} +0 -0
  430. /package/dist/{tool-loop-detection-DPVtQOfM.js → tool-loop-detection-DZQMPDma.js} +0 -0
  431. /package/dist/{tool-loop-detection-C7TCF2V2.js → tool-loop-detection-Dd4SFWb1.js} +0 -0
  432. /package/dist/{usage-format-BzKEDn0q.js → usage-format-BgUx3Bm4.js} +0 -0
  433. /package/dist/{widearea-dns-DzLerlJb.js → widearea-dns-CyVOLgNE.js} +0 -0
  434. /package/dist/{workspace-CYxdoAlY.js → workspace-B4H-2N8y.js} +0 -0
  435. /package/dist/{wsl-C4424szg.js → wsl-q8spwrME.js} +0 -0
@@ -0,0 +1,93 @@
1
+ import path from "node:path";
2
+
3
+ //#region src/infra/system-run-command.ts
4
+ function basenameLower(token) {
5
+ const win = path.win32.basename(token);
6
+ const posix = path.posix.basename(token);
7
+ return (win.length < posix.length ? win : posix).trim().toLowerCase();
8
+ }
9
+ function formatExecCommand(argv) {
10
+ return argv.map((arg) => {
11
+ const trimmed = arg.trim();
12
+ if (!trimmed) return "\"\"";
13
+ if (!/\s|"/.test(trimmed)) return trimmed;
14
+ return `"${trimmed.replace(/"/g, "\\\"")}"`;
15
+ }).join(" ");
16
+ }
17
+ function extractShellCommandFromArgv(argv) {
18
+ const token0 = argv[0]?.trim();
19
+ if (!token0) return null;
20
+ const base0 = basenameLower(token0);
21
+ if (base0 === "sh" || base0 === "bash" || base0 === "zsh" || base0 === "dash" || base0 === "ksh") {
22
+ const flag = argv[1]?.trim();
23
+ if (flag !== "-lc" && flag !== "-c") return null;
24
+ const cmd = argv[2];
25
+ return typeof cmd === "string" ? cmd : null;
26
+ }
27
+ if (base0 === "cmd.exe" || base0 === "cmd") {
28
+ const idx = argv.findIndex((item) => String(item).trim().toLowerCase() === "/c");
29
+ if (idx === -1) return null;
30
+ const tail = argv.slice(idx + 1).map((item) => String(item));
31
+ if (tail.length === 0) return null;
32
+ const cmd = tail.join(" ").trim();
33
+ return cmd.length > 0 ? cmd : null;
34
+ }
35
+ return null;
36
+ }
37
+ function validateSystemRunCommandConsistency(params) {
38
+ const raw = typeof params.rawCommand === "string" && params.rawCommand.trim().length > 0 ? params.rawCommand.trim() : null;
39
+ const shellCommand = extractShellCommandFromArgv(params.argv);
40
+ const inferred = shellCommand !== null ? shellCommand.trim() : formatExecCommand(params.argv);
41
+ if (raw && raw !== inferred) return {
42
+ ok: false,
43
+ message: "INVALID_REQUEST: rawCommand does not match command",
44
+ details: {
45
+ code: "RAW_COMMAND_MISMATCH",
46
+ rawCommand: raw,
47
+ inferred
48
+ }
49
+ };
50
+ return {
51
+ ok: true,
52
+ shellCommand: shellCommand !== null ? raw ?? shellCommand : null,
53
+ cmdText: raw ?? shellCommand ?? inferred
54
+ };
55
+ }
56
+ function resolveSystemRunCommand(params) {
57
+ const raw = typeof params.rawCommand === "string" && params.rawCommand.trim().length > 0 ? params.rawCommand.trim() : null;
58
+ const command = Array.isArray(params.command) ? params.command : [];
59
+ if (command.length === 0) {
60
+ if (raw) return {
61
+ ok: false,
62
+ message: "rawCommand requires params.command",
63
+ details: { code: "MISSING_COMMAND" }
64
+ };
65
+ return {
66
+ ok: true,
67
+ argv: [],
68
+ rawCommand: null,
69
+ shellCommand: null,
70
+ cmdText: ""
71
+ };
72
+ }
73
+ const argv = command.map((v) => String(v));
74
+ const validation = validateSystemRunCommandConsistency({
75
+ argv,
76
+ rawCommand: raw
77
+ });
78
+ if (!validation.ok) return {
79
+ ok: false,
80
+ message: validation.message,
81
+ details: validation.details ?? { code: "RAW_COMMAND_MISMATCH" }
82
+ };
83
+ return {
84
+ ok: true,
85
+ argv,
86
+ rawCommand: raw,
87
+ shellCommand: validation.shellCommand,
88
+ cmdText: validation.cmdText
89
+ };
90
+ }
91
+
92
+ //#endregion
93
+ export { resolveSystemRunCommand as t };
@@ -1,6 +1,6 @@
1
1
  import { B as theme, R as colorize, z as isRich } from "./utils-B-0b9bGM.js";
2
2
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
3
- import { d as resolveGatewaySystemdServiceName, l as resolveGatewayProfileSuffix, u as resolveGatewayServiceDescription } from "./constants-C8_BLnaW.js";
3
+ import { d as resolveGatewaySystemdServiceName, l as resolveGatewayProfileSuffix, u as resolveGatewayServiceDescription } from "./constants-CafH8-8D.js";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
2
- import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-2mwX-jqj.js";
3
- import { o as resolveSystemdUserUnitPath } from "./systemd-riq8uNJQ.js";
4
- import { c as resolveLaunchAgentPlistPath } from "./service-Cl74hx8J.js";
5
- import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.js";
2
+ import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-COZ4usfy.js";
3
+ import { o as resolveSystemdUserUnitPath } from "./systemd-DT6SbCim.js";
4
+ import { c as resolveLaunchAgentPlistPath } from "./service-osK70kTZ.js";
5
+ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as note } from "./note-DeHoW7xO.js";
3
- import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-riq8uNJQ.js";
2
+ import { t as note } from "./note-DQ9BvHF2.js";
3
+ import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-DT6SbCim.js";
4
4
 
5
5
  //#region src/commands/systemd-linger.ts
6
6
  var systemd_linger_exports = /* @__PURE__ */ __exportAll({
@@ -1,5 +1,5 @@
1
- import { r as markdownToIRWithMeta } from "./ir-CTiz95Vb.js";
2
- import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-JAy_3A3B.js";
2
+ import { t as renderMarkdownWithMarkers } from "./render-DwEu-aCr.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
5
5
  const MARKDOWN_STYLE_MARKERS = {
@@ -4,14 +4,14 @@ import { l as stripAnsi, u as visibleWidth } from "./subsystem-D9vIQve0.js";
4
4
  import { l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
5
5
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
6
6
  import { H as VERSION, i as loadConfig } from "./config-CHwyw6l5.js";
7
- import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-CNPyv_ax.js";
7
+ import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BuVSLhG_.js";
8
8
  import { k as stripLeadingInboundMetadata } from "./sessions-DgYpBvse.js";
9
9
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-D8N3rsYt.js";
10
10
  import { a as listChatCommandsForConfig, i as listChatCommands } from "./commands-registry-BT0-zzs3.js";
11
11
  import { At as PROTOCOL_VERSION, t as GatewayClient } from "./client-jI1oE0_k.js";
12
12
  import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-CFhGTNtt.js";
13
13
  import { n as formatTimeAgo, t as formatRelativeTimestamp } from "./format-relative-BXoxEQVN.js";
14
- import { n as formatTokenCount } from "./usage-format-BzKEDn0q.js";
14
+ import { n as formatTokenCount } from "./usage-format-BgUx3Bm4.js";
15
15
  import chalk from "chalk";
16
16
  import { spawn } from "node:child_process";
17
17
  import { randomUUID } from "node:crypto";
@@ -12,15 +12,15 @@ import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
13
  import "./config-CHwyw6l5.js";
14
14
  import "./manifest-registry-C4BxOMWX.js";
15
- import "./pi-embedded-helpers-CNPyv_ax.js";
16
- import "./sandbox-C-T6hOMv.js";
15
+ import "./pi-embedded-helpers-BuVSLhG_.js";
16
+ import "./sandbox-DAOxwUQm.js";
17
17
  import "./chrome-DtPkPq9T.js";
18
18
  import "./tailscale-D5dKabOc.js";
19
19
  import "./auth-B741uFtk.js";
20
- import "./server-context-CEpFjqSk.js";
20
+ import "./server-context-CHYWo_TC.js";
21
21
  import "./frontmatter-DWQhtOo7.js";
22
22
  import "./skills-6jdJQ5ZL.js";
23
- import "./routes-Ba9CUQ8M.js";
23
+ import "./routes-B1-BfEDm.js";
24
24
  import "./redact-f-Q-hFt_.js";
25
25
  import "./errors-BF3TeRH2.js";
26
26
  import "./fs-safe-CUjO1ca2.js";
@@ -47,8 +47,8 @@ import "./client-jI1oE0_k.js";
47
47
  import "./call-CFhGTNtt.js";
48
48
  import "./pairing-token-CX3NN_qj.js";
49
49
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
50
- import { t as parseTimeoutMs } from "./parse-timeout-C385GCpE.js";
51
- import { t as runTui } from "./tui-D14a9N3F.js";
50
+ import { t as parseTimeoutMs } from "./parse-timeout-2S5vp0-9.js";
51
+ import { t as runTui } from "./tui-DLaU7tTx.js";
52
52
 
53
53
  //#region src/cli/tui-cli.ts
54
54
  function registerTuiCli(program) {
@@ -6,14 +6,14 @@ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolve
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
7
7
  import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-DscDraUb.js";
8
8
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CbQV9WEg.js";
9
- import { $ as resolveSymiAgentDir, B as resolveApiKeyForProvider, C as normalizeProviderId, D as resolveModelRefFromString, E as resolveDefaultModelForAgent, F as OLLAMA_NATIVE_BASE_URL, H as resolveModelAuthMode, I as createOllamaStreamFn, K as resolveShellEnvFallbackTimeoutMs, L as getApiKeyForModel, O as resolveSubagentSpawnModelSelection, Q as resolveAuthProfileDisplayLabel, R as getCustomProviderApiKey, S as normalizeModelRef$2, T as resolveConfiguredModelRef, U as normalizeSecretInput, V as resolveEnvApiKey, W as getShellPathFromLoginShell, X as DEFAULT_MODEL, Y as DEFAULT_CONTEXT_TOKENS, Z as DEFAULT_PROVIDER, _ as buildConfiguredAllowlistKeys, a as markAuthProfileFailure, b as isCliProvider, c as dedupeProfileIds, d as ensureAuthProfileStore, f as resolveAuthStorePathForDisplay, g as buildAllowedModelSet, i as isProfileInCooldown, k as resolveThinkingDefault, l as listProfilesForProvider, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as withFileLock, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildModelAliasIndex, x as modelKey, y as findNormalizedProviderValue, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
9
+ import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C as normalizeProviderId, D as resolveModelRefFromString, E as resolveDefaultModelForAgent, F as OLLAMA_NATIVE_BASE_URL, G as getShellPathFromLoginShell, H as resolveModelAuthMode, I as createOllamaStreamFn, L as getApiKeyForModel, O as resolveSubagentSpawnModelSelection, Q as DEFAULT_PROVIDER, R as getCustomProviderApiKey, S as normalizeModelRef$2, T as resolveConfiguredModelRef, V as resolveEnvApiKey, W as normalizeSecretInput, X as DEFAULT_CONTEXT_TOKENS, Z as DEFAULT_MODEL, _ as buildConfiguredAllowlistKeys, a as markAuthProfileFailure, b as isCliProvider, c as dedupeProfileIds, d as ensureAuthProfileStore, et as resolveSymiAgentDir, f as resolveAuthStorePathForDisplay, g as buildAllowedModelSet, i as isProfileInCooldown, k as resolveThinkingDefault, l as listProfilesForProvider, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as withFileLock, q as resolveShellEnvFallbackTimeoutMs, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildModelAliasIndex, x as modelKey, y as findNormalizedProviderValue, z as requireApiKey } from "./auth-profiles-q3HjbboY.js";
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-CfqDGQ9J.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-5SdHIcHU.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-DASLSiel.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-4Iu6iHCA.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-DkaXoP36.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-34eOyt_6.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,42 +27,43 @@ 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-CVMyYPQw.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-CvhXrdgS.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-DX0p0ym_.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-Cq1L-2Ik.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-C46-vyqg.js";
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-rPhsBoZz.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-DtM4u1u_.js";
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-CuzFLQWC.js";
38
- import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Bux9Y_xD.js";
39
- 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-DYj_o4_F.js";
40
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
41
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DpqZu44Z.js";
42
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-PprhCvO_.js";
43
- import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-D_mz1_-y.js";
44
- import { n as retryAsync } from "./retry-BBVXkKBV.js";
45
- import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Bbr9rlzN.js";
46
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-09egQapi.js";
47
- import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
48
- import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
49
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
50
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CTiz95Vb.js";
51
- 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-Bfc7Uz0o.js";
52
- 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-CU9l0uJh.js";
53
- 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-DcVwOafC.js";
54
- import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DSDTl6Kj.js";
55
- import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
56
- import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
57
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-B6G1jnQT.js";
58
- import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
59
- import { t as convertMarkdownTables } from "./tables-qMwbq29u.js";
60
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DAN9hA5h.js";
61
- 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-CQAKg_12.js";
62
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C4_I4GFI.js";
63
- import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
64
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-LSmuwOhA.js";
65
- import { t as getActiveWebListener } from "./active-listener-CfHHV2SU.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-mx18hbyY.js";
38
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CCaxCywz.js";
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-DVt9RLDh.js";
41
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
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
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CJ3M1Uxq.js";
44
+ import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BHWvOATS.js";
45
+ import { n as retryAsync } from "./retry-B-y5suGA.js";
46
+ import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BEugWC4F.js";
47
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BHW8Yu5A.js";
48
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dnj2LQUc.js";
49
+ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Cj6kcyGt.js";
50
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-Se92wAN5.js";
51
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-JAy_3A3B.js";
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-DKq2NJqT.js";
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
+ import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-Dvqh1Tgb.js";
56
+ import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Dnti0cFs.js";
57
+ import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BGS2SHjF.js";
58
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D-kw83R0.js";
59
+ import { n as normalizePollInput } from "./polls-BKbIUHj7.js";
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-C4Bqsa_r.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-vtz9ZwUj.js";
63
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DX7xcMsD.js";
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-DA4YTv9G.js";
66
+ import { t as getActiveWebListener } from "./active-listener-Br2FcRv7.js";
66
67
  import { createRequire } from "node:module";
67
68
  import * as path$1 from "node:path";
68
69
  import path from "node:path";
@@ -4239,7 +4240,7 @@ async function getMemorySearchManager(params) {
4239
4240
  if (cached) return { manager: cached };
4240
4241
  }
4241
4242
  try {
4242
- const { QmdMemoryManager } = await import("./qmd-manager-iDLSiI4Z.js");
4243
+ const { QmdMemoryManager } = await import("./qmd-manager-lBS9mT9w.js");
4243
4244
  const primary = await QmdMemoryManager.create({
4244
4245
  cfg: params.cfg,
4245
4246
  agentId: params.agentId,
@@ -4251,7 +4252,7 @@ async function getMemorySearchManager(params) {
4251
4252
  const wrapper = new FallbackMemoryManager({
4252
4253
  primary,
4253
4254
  fallbackFactory: async () => {
4254
- const { MemoryIndexManager } = await import("./manager-PprhCvO_.js").then((n) => n.t);
4255
+ const { MemoryIndexManager } = await import("./manager-CJ3M1Uxq.js").then((n) => n.t);
4255
4256
  return await MemoryIndexManager.get(params);
4256
4257
  }
4257
4258
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4264,7 +4265,7 @@ async function getMemorySearchManager(params) {
4264
4265
  }
4265
4266
  }
4266
4267
  try {
4267
- const { MemoryIndexManager } = await import("./manager-PprhCvO_.js").then((n) => n.t);
4268
+ const { MemoryIndexManager } = await import("./manager-CJ3M1Uxq.js").then((n) => n.t);
4268
4269
  return { manager: await MemoryIndexManager.get(params) };
4269
4270
  } catch (err) {
4270
4271
  return {
@@ -6812,7 +6813,7 @@ async function recordLoopOutcome(args) {
6812
6813
  if (!args.ctx?.sessionKey) return;
6813
6814
  try {
6814
6815
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Zw87xFym.js").then((n) => n.n);
6815
- const { recordToolCallOutcome } = await import("./tool-loop-detection-DR_rrIA1.js");
6816
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-D5mBY7AC.js");
6816
6817
  recordToolCallOutcome(getDiagnosticSessionState({
6817
6818
  sessionKey: args.ctx.sessionKey,
6818
6819
  sessionId: args.ctx?.agentId
@@ -6833,8 +6834,8 @@ async function runBeforeToolCallHook(args) {
6833
6834
  const params = args.params;
6834
6835
  if (args.ctx?.sessionKey) {
6835
6836
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Zw87xFym.js").then((n) => n.n);
6836
- const { logToolLoopAction } = await import("./diagnostic-rPhsBoZz.js").then((n) => n.n);
6837
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DR_rrIA1.js");
6837
+ const { logToolLoopAction } = await import("./diagnostic-CQiU0O8b.js").then((n) => n.n);
6838
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-D5mBY7AC.js");
6838
6839
  const sessionState = getDiagnosticSessionState({
6839
6840
  sessionKey: args.ctx.sessionKey,
6840
6841
  sessionId: args.ctx?.agentId
@@ -10152,7 +10153,7 @@ async function routeReply(params) {
10152
10153
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10153
10154
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10154
10155
  try {
10155
- const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
10156
+ const { deliverOutboundPayloads } = await import("./deliver-DtM4u1u_.js").then((n) => n.n);
10156
10157
  return {
10157
10158
  ok: true,
10158
10159
  messageId: (await deliverOutboundPayloads({
@@ -15389,7 +15390,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
15389
15390
  await ensureSymiModelsJson(cfg);
15390
15391
  } catch {}
15391
15392
  try {
15392
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Bv5YDJc8.js").then((n) => n.r);
15393
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CuZX_Q4t.js").then((n) => n.r);
15393
15394
  const agentDir = resolveSymiAgentDir();
15394
15395
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
15395
15396
  applyDiscoveredContextWindows({
@@ -15607,7 +15608,7 @@ async function createModelSelectionState(params) {
15607
15608
  }
15608
15609
  }
15609
15610
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
15610
- const { ensureAuthProfileStore } = await import("./auth-profiles-DdK1Hxaa.js").then((n) => n.t);
15611
+ const { ensureAuthProfileStore } = await import("./auth-profiles-q3HjbboY.js").then((n) => n.t);
15611
15612
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
15612
15613
  const providerKey = normalizeProviderId(provider);
15613
15614
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -43593,7 +43594,7 @@ async function deliverSessionMaintenanceWarning(params) {
43593
43594
  return;
43594
43595
  }
43595
43596
  try {
43596
- const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
43597
+ const { deliverOutboundPayloads } = await import("./deliver-DtM4u1u_.js").then((n) => n.n);
43597
43598
  await deliverOutboundPayloads({
43598
43599
  cfg: params.cfg,
43599
43600
  channel,
@@ -47039,7 +47040,7 @@ async function describeStickerImage(params) {
47039
47040
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47040
47041
  try {
47041
47042
  const buffer = await fs$1.readFile(imagePath);
47042
- const { describeImageWithModel } = await import("./image-CuzFLQWC.js").then((n) => n.n);
47043
+ const { describeImageWithModel } = await import("./image-mx18hbyY.js").then((n) => n.n);
47043
47044
  return (await describeImageWithModel({
47044
47045
  buffer,
47045
47046
  fileName: "sticker.webp",
@@ -47462,7 +47463,7 @@ function createWhatsAppLoginTool() {
47462
47463
  force: Type.Optional(Type.Boolean())
47463
47464
  }),
47464
47465
  execute: async (_toolCallId, args) => {
47465
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-AP9agO-i.js");
47466
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DRepVMvu.js");
47466
47467
  if ((args?.action ?? "start") === "wait") {
47467
47468
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
47468
47469
  return {
@@ -49701,7 +49702,7 @@ async function preflightDiscordMessage(params) {
49701
49702
  let preflightTranscript;
49702
49703
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49703
49704
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49704
- const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
49705
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cz1htqcz.js");
49705
49706
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49706
49707
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49707
49708
  ctx: {
@@ -53707,27 +53708,27 @@ function isVoiceChannelType(type) {
53707
53708
  function createDefaultDeps() {
53708
53709
  return {
53709
53710
  sendMessageWhatsApp: async (...args) => {
53710
- const { sendMessageWhatsApp } = await import("./web-DDmkA8-N.js");
53711
+ const { sendMessageWhatsApp } = await import("./web-BIo1QcLd.js");
53711
53712
  return await sendMessageWhatsApp(...args);
53712
53713
  },
53713
53714
  sendMessageTelegram: async (...args) => {
53714
- const { sendMessageTelegram } = await import("./send-DYj_o4_F.js").then((n) => n.l);
53715
+ const { sendMessageTelegram } = await import("./send-DVt9RLDh.js").then((n) => n.l);
53715
53716
  return await sendMessageTelegram(...args);
53716
53717
  },
53717
53718
  sendMessageDiscord: async (...args) => {
53718
- const { sendMessageDiscord } = await import("./send-CvhXrdgS.js").then((n) => n.t);
53719
+ const { sendMessageDiscord } = await import("./send-Cq1L-2Ik.js").then((n) => n.t);
53719
53720
  return await sendMessageDiscord(...args);
53720
53721
  },
53721
53722
  sendMessageSlack: async (...args) => {
53722
- const { sendMessageSlack } = await import("./send-CVMyYPQw.js").then((n) => n.n);
53723
+ const { sendMessageSlack } = await import("./send-DX0p0ym_.js").then((n) => n.n);
53723
53724
  return await sendMessageSlack(...args);
53724
53725
  },
53725
53726
  sendMessageSignal: async (...args) => {
53726
- const { sendMessageSignal } = await import("./send-DAN9hA5h.js").then((n) => n.i);
53727
+ const { sendMessageSignal } = await import("./send-C4Bqsa_r.js").then((n) => n.i);
53727
53728
  return await sendMessageSignal(...args);
53728
53729
  },
53729
53730
  sendMessageIMessage: async (...args) => {
53730
- const { sendMessageIMessage } = await import("./send-CQAKg_12.js").then((n) => n.n);
53731
+ const { sendMessageIMessage } = await import("./send-vtz9ZwUj.js").then((n) => n.n);
53731
53732
  return await sendMessageIMessage(...args);
53732
53733
  }
53733
53734
  };
@@ -64154,7 +64155,7 @@ function readSlackExternalArgMenuToken(raw) {
64154
64155
  }
64155
64156
  let commandsRegistry;
64156
64157
  async function getCommandsRegistry() {
64157
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Bfc7Uz0o.js").then((n) => n.n);
64158
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BSvi46KZ.js").then((n) => n.n);
64158
64159
  return commandsRegistry;
64159
64160
  }
64160
64161
  function encodeSlackCommandArgValue(parts) {
@@ -64496,11 +64497,11 @@ async function registerSlackMonitorSlashCommands(params) {
64496
64497
  const channelName = channelInfo?.name;
64497
64498
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
64498
64499
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
64499
- import("./resolve-route-C4_I4GFI.js").then((n) => n.r),
64500
- import("./inbound-context-DSDTl6Kj.js").then((n) => n.n),
64500
+ import("./resolve-route-DX7xcMsD.js").then((n) => n.r),
64501
+ import("./inbound-context-Dvqh1Tgb.js").then((n) => n.n),
64501
64502
  Promise.resolve().then(() => provider_dispatcher_exports)
64502
64503
  ]);
64503
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Onz2hiJh.js").then((n) => n.t), import("./reply-prefix-DpqZu44Z.js").then((n) => n.n)]);
64504
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Onz2hiJh.js").then((n) => n.t), import("./reply-prefix-CvEIl6_d.js").then((n) => n.n)]);
64504
64505
  const route = resolveAgentRoute({
64505
64506
  cfg,
64506
64507
  channel: "slack",
@@ -64557,9 +64558,9 @@ async function registerSlackMonitorSlashCommands(params) {
64557
64558
  });
64558
64559
  const deliverSlashPayloads = async (replies) => {
64559
64560
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64560
- import("./replies-LSmuwOhA.js").then((n) => n.r),
64561
- import("./chunk-09egQapi.js").then((n) => n.s),
64562
- import("./markdown-tables-C-BmIap8.js").then((n) => n.t)
64561
+ import("./replies-DA4YTv9G.js").then((n) => n.r),
64562
+ import("./chunk-BHW8Yu5A.js").then((n) => n.s),
64563
+ import("./markdown-tables-Dnj2LQUc.js").then((n) => n.t)
64563
64564
  ]);
64564
64565
  await deliverSlackSlashReplies({
64565
64566
  replies,
@@ -64612,7 +64613,7 @@ async function registerSlackMonitorSlashCommands(params) {
64612
64613
  let nativeCommands = [];
64613
64614
  if (nativeEnabled) {
64614
64615
  reg = await getCommandsRegistry();
64615
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DcVwOafC.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64616
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BiPrghRt.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64616
64617
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
64617
64618
  skillCommands,
64618
64619
  provider: "slack"
@@ -65046,8 +65047,8 @@ async function auditTelegramGroupMembership(params) {
65046
65047
  groups: [],
65047
65048
  elapsedMs: Date.now() - started
65048
65049
  };
65049
- const fetcher = params.proxyUrl ? (await import("./proxy-CBJ1upuz.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
65050
- const { fetchWithTimeout } = await import("./fetch-timeout-DL3f_O53.js").then((n) => n.r);
65050
+ const fetcher = params.proxyUrl ? (await import("./proxy-DVy9foH0.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
65051
+ const { fetchWithTimeout } = await import("./fetch-timeout-Cj6kcyGt.js").then((n) => n.r);
65051
65052
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
65052
65053
  const groups = [];
65053
65054
  for (const chatId of params.groupIds) try {
@@ -66830,7 +66831,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66830
66831
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66831
66832
  let preflightTranscript;
66832
66833
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66833
- const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
66834
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cz1htqcz.js");
66834
66835
  preflightTranscript = await transcribeFirstAudio({
66835
66836
  ctx: {
66836
66837
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68975,23 +68976,23 @@ let webLoginQrPromise = null;
68975
68976
  let webChannelPromise = null;
68976
68977
  let whatsappActionsPromise = null;
68977
68978
  function loadWebOutbound() {
68978
- webOutboundPromise ??= import("./outbound-CtMCmwxR.js").then((n) => n.t);
68979
+ webOutboundPromise ??= import("./outbound-UwQEXYXv.js").then((n) => n.t);
68979
68980
  return webOutboundPromise;
68980
68981
  }
68981
68982
  function loadWebLogin() {
68982
- webLoginPromise ??= import("./login-ul8zaw_S.js").then((n) => n.n);
68983
+ webLoginPromise ??= import("./login-IpOTJtyn.js").then((n) => n.n);
68983
68984
  return webLoginPromise;
68984
68985
  }
68985
68986
  function loadWebLoginQr() {
68986
- webLoginQrPromise ??= import("./login-qr-AP9agO-i.js");
68987
+ webLoginQrPromise ??= import("./login-qr-DRepVMvu.js");
68987
68988
  return webLoginQrPromise;
68988
68989
  }
68989
68990
  function loadWebChannel() {
68990
- webChannelPromise ??= import("./web-DDmkA8-N.js");
68991
+ webChannelPromise ??= import("./web-BIo1QcLd.js");
68991
68992
  return webChannelPromise;
68992
68993
  }
68993
68994
  function loadWhatsAppActions() {
68994
- whatsappActionsPromise ??= import("./whatsapp-actions-BIeSWsCF.js");
68995
+ whatsappActionsPromise ??= import("./whatsapp-actions-DZfLLQ0Y.js");
68995
68996
  return whatsappActionsPromise;
68996
68997
  }
68997
68998
  function createPluginRuntime() {
@@ -77772,6 +77773,7 @@ async function runEmbeddedPiAgent(params) {
77772
77773
  const agentDir = params.agentDir ?? resolveSymiAgentDir();
77773
77774
  const fallbackConfigured = (params.config?.agents?.defaults?.model?.fallbacks?.length ?? 0) > 0;
77774
77775
  await ensureSymiModelsJson(params.config, agentDir);
77776
+ await ensurePiAuthJsonFromAuthProfiles(agentDir, { config: params.config });
77775
77777
  let modelResolveOverride;
77776
77778
  const hookRunner = getGlobalHookRunner();
77777
77779
  const hookCtx = {
@@ -1,6 +1,6 @@
1
1
  import { y as resolveUserPath } from "./utils-B-0b9bGM.js";
2
2
  import { o as loadPluginManifest, r as discoverSymiPlugins } from "./manifest-registry-C4BxOMWX.js";
3
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-C1Cebk97.js";
3
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-DQcRVF1U.js";
4
4
  import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/plugins/update.ts
@@ -1,6 +1,6 @@
1
1
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
2
2
  import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
3
- import { r as parseSemver } from "./runtime-guard-B37eizu-.js";
3
+ import { r as parseSemver } from "./runtime-guard-Dik20CVM.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6