@symerian/symi 3.4.0 → 3.4.2

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 (352) hide show
  1. package/dist/{agent-D4GA9G6b.js → agent-BcHmIY_n.js} +18 -18
  2. package/dist/{agent-CEYVMKqC.js → agent-CDUpwXQX.js} +10 -10
  3. package/dist/{agent-scope-DIjW66iO.js → agent-scope-CKTVXF_1.js} +18 -18
  4. package/dist/{agents-Bh3R6D2o.js → agents-Dx_B11LV.js} +8 -8
  5. package/dist/{agents.config-D1nFwU81.js → agents.config-D6lBCMyT.js} +1 -1
  6. package/dist/{audit-DdRmmIE-.js → audit-CMPCYnHv.js} +23 -23
  7. package/dist/{audit-BzlpUi7R.js → audit-FMN4BTKc.js} +11 -11
  8. package/dist/{auth-choice-DY9j2BCn.js → auth-choice-BJgf7XV6.js} +6 -6
  9. package/dist/{auth-choice-options-BBYiPleR.js → auth-choice-options-B5NLwpLs.js} +1 -1
  10. package/dist/{auth-choice-options-C5b4PCvw.js → auth-choice-options-EWUh0VM6.js} +1 -1
  11. package/dist/{auth-choice-prompt-D8GvjOBX.js → auth-choice-prompt-BkTmN4sy.js} +1 -1
  12. package/dist/{auth-choice-prompt-DBfm0y9l.js → auth-choice-prompt-CXcrToaB.js} +1 -1
  13. package/dist/{auth-choice-EyD891pg.js → auth-choice-s1SGAS0u.js} +8 -8
  14. package/dist/{auth-profiles-BFSVvFKy.js → auth-profiles-BDvJK1Bg.js} +9 -9
  15. package/dist/{auth-token-SebYuqfR.js → auth-token-BKp_ClDP.js} +1 -1
  16. package/dist/{banner-DAGLXnYN.js → banner-C1DH2kVa.js} +1 -1
  17. package/dist/{browser-cli-BH_i0QVr.js → browser-cli-C6G2Ql9l.js} +4 -4
  18. package/dist/{browser-cli-YS3EqU78.js → browser-cli-DW3CxkSc.js} +10 -10
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +12 -12
  21. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  22. package/dist/bundled/session-memory/handler.js +11 -11
  23. package/dist/{call-uEbo7Orp.js → call-BjHvYJx2.js} +9 -9
  24. package/dist/{call-BDC211Sd.js → call-Dy_T6f6d.js} +1 -1
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{catalog-D2QxJOn1.js → catalog-CJzUbDcX.js} +2 -2
  27. package/dist/{catalog-BEREnWaa.js → catalog-CSgSg5Gp.js} +2 -2
  28. package/dist/{channel-options-2P4SZQZY.js → channel-options-77nGDc70.js} +2 -2
  29. package/dist/{channel-options-Dr3Iu_Yn.js → channel-options-BMZyRh5E.js} +2 -2
  30. package/dist/{channels-cli-BwAPAj2_.js → channels-cli-C048Z7h-.js} +57 -57
  31. package/dist/{channels-cli-Bxq-od6o.js → channels-cli-CjQ8Rfpv.js} +35 -35
  32. package/dist/{chrome-DfmXP1Xa.js → chrome-BQoO4LXq.js} +2 -2
  33. package/dist/{chrome-DvbQQ7qH.js → chrome-BxWRyWC_.js} +1 -1
  34. package/dist/{chrome-Cwdu25B-.js → chrome-C0vnHDyY.js} +8 -8
  35. package/dist/{chrome-Dw6r3c_L.js → chrome-droANDig.js} +8 -8
  36. package/dist/{cli-BCcQWANT.js → cli-CXAyZ9dx.js} +44 -44
  37. package/dist/{cli-6ogm9wuW.js → cli-CpmVizCT.js} +27 -27
  38. package/dist/{client-ZZqt0H0-.js → client-Bs2zB0rY.js} +1 -1
  39. package/dist/{command-registry-BBgjrvGs.js → command-registry-B9TplwzB.js} +11 -11
  40. package/dist/{commands-registry-BNCcZy2y.js → commands-registry-CLePPNDW.js} +1 -1
  41. package/dist/{completion-cli-DgR7QC7W.js → completion-cli-Dv8CNTMW.js} +2 -2
  42. package/dist/{completion-cli-B_lEJpoO.js → completion-cli-ecfjoaIU.js} +12 -12
  43. package/dist/{config-C5Ztbpa2.js → config-BEaq2Sb6.js} +4 -4
  44. package/dist/{config-CVMQkipH.js → config-Cw7uo7Dh.js} +2 -2
  45. package/dist/{config-cli-AEQbHSmK.js → config-cli-CAwWFZwh.js} +5 -5
  46. package/dist/{config-cli-Vl7Xxk-9.js → config-cli-zMpHOTSD.js} +3 -3
  47. package/dist/{config-guard-IIOwDwXX.js → config-guard-29sjAeg8.js} +8 -8
  48. package/dist/{config-guard-DiNrx0Cz.js → config-guard-B2j-KuUQ.js} +2 -2
  49. package/dist/{config-validation-CmSRTlVT.js → config-validation-Bp2AdKjN.js} +1 -1
  50. package/dist/{config-validation-sGgKL2lH.js → config-validation-MUkEKwbD.js} +1 -1
  51. package/dist/{configure-BLL4bVXO.js → configure-Bh0-A3hM.js} +15 -15
  52. package/dist/{configure-BbpI3Lrz.js → configure-DvVtZB1V.js} +18 -18
  53. package/dist/{consolidate-7Usm-b2g.js → consolidate-DeA11kIO.js} +6 -6
  54. package/dist/{control-service-Bew5Jq9S.js → control-service-BTydj9Kk.js} +4 -4
  55. package/dist/{control-service-wnEr9eCS.js → control-service-DhlgNQGb.js} +4 -4
  56. package/dist/{control-ui-assets-DUhvOLUL.js → control-ui-assets-D22DSxhv.js} +1 -1
  57. package/dist/{cron-cli-PyIF_pI1.js → cron-cli-5souN2YC.js} +4 -4
  58. package/dist/{cron-cli-vlseqDwZ.js → cron-cli-Cr8hrEDQ.js} +8 -8
  59. package/dist/{daemon-cli-BQJGtFBH.js → daemon-cli-AVJLjFd5.js} +6 -6
  60. package/dist/{daemon-cli-CYQDp0HS.js → daemon-cli-OZuuMobs.js} +11 -11
  61. package/dist/daemon-cli.js +1 -2
  62. package/dist/{daemon-runtime-CCIiGZsG.js → daemon-runtime-CkBw3gG5.js} +1 -1
  63. package/dist/{daemon-runtime-DGcALfeE.js → daemon-runtime-Dr_xKl0r.js} +10 -10
  64. package/dist/{deliver-CtSoKpd9.js → deliver-BwcK0QD6.js} +6 -6
  65. package/dist/{deliver-CHtzqhdE.js → deliver-Cl2fWxx4.js} +1 -1
  66. package/dist/{deliver-CKAEloz3.js → deliver-ccf_boim.js} +2 -2
  67. package/dist/{deliver-DnF5-Jn0.js → deliver-vzAN9mRl.js} +6 -6
  68. package/dist/{deps-CkEuUibi.js → deps-B6QYsl_-.js} +1 -1
  69. package/dist/{devices-cli-DHjCb6xx.js → devices-cli-BXaodSI7.js} +3 -3
  70. package/dist/{devices-cli-DuV6VLMa.js → devices-cli-DN3SH89Z.js} +7 -7
  71. package/dist/{diagnostics-DxdqTfpW.js → diagnostics-nLP2i_BY.js} +5 -5
  72. package/dist/{directory-cli-Cj3zj4zt.js → directory-cli-B72WzWuP.js} +4 -4
  73. package/dist/{directory-cli-B6BW3AGE.js → directory-cli-cK6CHm4W.js} +2 -2
  74. package/dist/{dm-policy-shared-5HLej1br.js → dm-policy-shared-DiZ3lMtl.js} +1 -1
  75. package/dist/{dns-cli-BpLjriTN.js → dns-cli-D6uc55C9.js} +2 -2
  76. package/dist/{dns-cli-Jd9gJc0T.js → dns-cli-DPO4AuUq.js} +4 -4
  77. package/dist/{docs-cli--T-77Ujn.js → docs-cli-C2BEC5yU.js} +3 -3
  78. package/dist/{docs-cli-D2hhvfad.js → docs-cli-CFklWCND.js} +3 -3
  79. package/dist/{doctor-completion-DaXTGUhV.js → doctor-completion-Cvu8koMQ.js} +2 -2
  80. package/dist/{doctor-completion-o02Kanxp.js → doctor-completion-DwrIExJJ.js} +1 -1
  81. package/dist/{doctor-config-flow-QPIo58ud.js → doctor-config-flow-BayEnbIy.js} +3 -3
  82. package/dist/{doctor-config-flow-Bdc03rxx.js → doctor-config-flow-Cu1ZuFHd.js} +9 -9
  83. package/dist/entry.js +1 -1
  84. package/dist/{exec-approvals-cli-CJW8VyEa.js → exec-approvals-cli-BI9yAGI5.js} +5 -5
  85. package/dist/{exec-approvals-cli-DKRhv0JO.js → exec-approvals-cli-BN5OFwrg.js} +14 -14
  86. package/dist/extensionAPI.js +9 -9
  87. package/dist/{frontmatter-B8duUx_6.js → frontmatter-B4levtVg.js} +1 -1
  88. package/dist/{frontmatter-B6IdJ7UK.js → frontmatter-CHu3sfCM.js} +1 -1
  89. package/dist/{frontmatter-BzAaXBfE.js → frontmatter-CwO0i5Q7.js} +1 -1
  90. package/dist/{fs-safe-B6nMaZqV.js → fs-safe-DjAKGGJ8.js} +6 -6
  91. package/dist/{gateway-cli-CKbm9ikc.js → gateway-cli-C_wDspkm.js} +9669 -323
  92. package/dist/{gateway-cli-uZu6GsIz.js → gateway-cli-uquFQTQW.js} +9629 -283
  93. package/dist/{gateway-rpc-BnGjn5ao.js → gateway-rpc-B5_ZCiHW.js} +1 -1
  94. package/dist/{gateway-rpc-BuXF5p-F.js → gateway-rpc-fQLZhzRK.js} +1 -1
  95. package/dist/{gmail-setup-utils-DjIM4-F9.js → gmail-setup-utils-C5QXoiTl.js} +1 -1
  96. package/dist/{gmail-setup-utils-D5G00y8h.js → gmail-setup-utils-DO0-mXYp.js} +1 -1
  97. package/dist/{health-DrjeJzLE.js → health-D2CsIdFz.js} +3 -3
  98. package/dist/{health-D41l07BM.js → health-DUulgHFK.js} +4 -4
  99. package/dist/{hooks-cli-BWp12-sQ.js → hooks-cli-6UBBpeAz.js} +61 -61
  100. package/dist/{hooks-cli-CqiK6DE3.js → hooks-cli-C6XdXNdl.js} +31 -31
  101. package/dist/{hooks-status-C-tHI7ZM.js → hooks-status-BQAuzmwT.js} +2 -2
  102. package/dist/{hooks-status-DLHEahg_.js → hooks-status-DGjgoBZt.js} +2 -2
  103. package/dist/{image-ops-C-gIIp7Q.js → image-ops-c7_of0HT.js} +10 -10
  104. package/dist/index.js +52 -52
  105. package/dist/{inspect-BDzd6yBs.js → inspect-op0Ov-v4.js} +4 -4
  106. package/dist/{install-safe-path-CQXx3s9R.js → install-safe-path-B73BkVO3.js} +11 -11
  107. package/dist/{installs-CLp95gcX.js → installs-BzgwvqqQ.js} +11 -11
  108. package/dist/{installs-D0_bsQwa.js → installs-cPraL4Dg.js} +2 -2
  109. package/dist/{internal-CHnZdvRy.js → internal-C3o_xyzP.js} +9 -9
  110. package/dist/legacy-names-BFZfXujv.js +6 -0
  111. package/dist/{legacy-names-C0hZiM-7.js → legacy-names-Catogrri.js} +2 -4
  112. package/dist/{lifecycle-core-BhmX7dfP.js → lifecycle-core-BmGPBj_P.js} +5 -5
  113. package/dist/{lifecycle-core-flVPkttM.js → lifecycle-core-Dark4HHr.js} +2 -2
  114. package/dist/llm-slug-generator.js +11 -11
  115. package/dist/{local-roots-BnDnugq3.js → local-roots-CUKhHNCV.js} +1 -1
  116. package/dist/{logs-cli-DLktVEgU.js → logs-cli-BXBN6_Kf.js} +8 -8
  117. package/dist/{logs-cli-BgLHN6qm.js → logs-cli-Dg7J424l.js} +4 -4
  118. package/dist/{manager-DJHy2EAm.js → manager-C_5p8DxF.js} +14 -14
  119. package/dist/{manager-CF2y6wbp.js → manager-DOfc0hW0.js} +1 -1
  120. package/dist/{manager-BU8KmNG0.js → manager-WHZtXzz0.js} +1 -1
  121. package/dist/{manager-Uwh87iKi.js → manager-tYTYy-pH.js} +1 -1
  122. package/dist/{manifest-registry-DsTUFMvZ.js → manifest-registry-C0nJ3Ja3.js} +1 -1
  123. package/dist/{manifest-registry-BV_2TbGz.js → manifest-registry-CAWGTwb5.js} +2 -4
  124. package/dist/{manifest-registry-BshGdYwm.js → manifest-registry-DJcKcUQ9.js} +1 -1
  125. package/dist/{manifest-registry-D7Qup2Vq.js → manifest-registry-D_LsBSyt.js} +1 -1
  126. package/dist/{memory-gSw5eshw.js → memory-BZPO-RoX.js} +5 -5
  127. package/dist/{memory-cQSSricw.js → memory-CjpS9o50.js} +4 -4
  128. package/dist/{memory-cli-DIchyZJ2.js → memory-cli-4vj-LpgO.js} +12 -12
  129. package/dist/{memory-cli-DXS73nCX.js → memory-cli-CbV91o_X.js} +3 -3
  130. package/dist/{model-BRcKPW49.js → model-CbRy_3xW.js} +1 -1
  131. package/dist/{model-catalog-BKCEeOYV.js → model-catalog-Ba4R_zVe.js} +2 -2
  132. package/dist/{model-catalog-DiG_T-Hd.js → model-catalog-BrW9BL1p.js} +4 -4
  133. package/dist/{model-picker-Cj3P3dRc.js → model-picker-DAOOfQUH.js} +2 -2
  134. package/dist/{model-picker-Ba0aPjVG.js → model-picker-UrQQVAuN.js} +3 -3
  135. package/dist/{models-CcT56XMM.js → models-EthIDORJ.js} +13 -13
  136. package/dist/{models-cli-BGBn_XQb.js → models-cli-BRnmApgY.js} +57 -57
  137. package/dist/{models-cli-C7vX8wrK.js → models-cli-DSW-aLCj.js} +33 -33
  138. package/dist/{models-config-T55qUOQH.js → models-config-C2OLw8vc.js} +1 -1
  139. package/dist/{models-config-of-BhU9a.js → models-config-Dh1tABIl.js} +7 -7
  140. package/dist/{node-cli-6nSZg2Ag.js → node-cli-DXCDRV3y.js} +29 -29
  141. package/dist/{node-cli-P6Bd4azz.js → node-cli-SMqarSas.js} +12 -12
  142. package/dist/{node-service-tPO_yUk7.js → node-service-n6G8Ybbk.js} +1 -1
  143. package/dist/{nodes-cli-CNbL0FQP.js → nodes-cli-BpG8jU6q.js} +4 -4
  144. package/dist/{nodes-cli-CxlfnpiJ.js → nodes-cli-Fyv-oG6A.js} +11 -11
  145. package/dist/{nodes-screen-JELuBMBi.js → nodes-screen-CT94yu_w.js} +4 -4
  146. package/dist/{npm-registry-spec-BXw_6vF6.js → npm-registry-spec-B8X06AqB.js} +9 -9
  147. package/dist/{onboard-C5Ivk_7_.js → onboard-CEyd79t_.js} +16 -16
  148. package/dist/{onboard-CG9scrQx.js → onboard-CLSFAKKt.js} +13 -13
  149. package/dist/{onboard-channels-Br6c8ho-.js → onboard-channels-DqhDDHZ3.js} +5 -5
  150. package/dist/{onboard-channels-B6_L4dD7.js → onboard-channels-LkgOp2vs.js} +4 -4
  151. package/dist/{onboard-custom-C--9q1aw.js → onboard-custom-BD_6SIA8.js} +2 -2
  152. package/dist/{onboard-custom-CdIFCex3.js → onboard-custom-BRFhBogJ.js} +3 -3
  153. package/dist/{onboard-helpers-DU7-6FKZ.js → onboard-helpers-C5YryU1N.js} +2 -2
  154. package/dist/{onboard-helpers-KK8MYq1e.js → onboard-helpers-wgkj6qF2.js} +8 -8
  155. package/dist/{onboard-hooks-CP54Px40.js → onboard-hooks-CknstfLG.js} +4 -4
  156. package/dist/{onboard-hooks-Dn62HF2k.js → onboard-hooks-DotvaUqG.js} +3 -3
  157. package/dist/{onboard-remote-BCG6Pa34.js → onboard-remote-B5rlIYUq.js} +1 -1
  158. package/dist/{onboard-remote-BNgEcJhQ.js → onboard-remote-DR9mcFjZ.js} +1 -1
  159. package/dist/{onboard-skills-Dl9x6Ewy.js → onboard-skills-5rA5bRSG.js} +3 -3
  160. package/dist/{onboard-skills-BMZQWj72.js → onboard-skills-_6kHqhHz.js} +4 -4
  161. package/dist/{onboarding-CsBNx5v8.js → onboarding-CJuG6AyD.js} +15 -15
  162. package/dist/{onboarding-BDfOQl6b.js → onboarding-CREA0oQK.js} +16 -16
  163. package/dist/{onboarding.finalize-Dnw20wa-.js → onboarding.finalize-7iPylQyi.js} +21 -21
  164. package/dist/{onboarding.finalize-CLPOjrbG.js → onboarding.finalize-CkgL8Zde.js} +34 -34
  165. package/dist/{onboarding.gateway-config-D-SDWyuX.js → onboarding.gateway-config-BzM2v2U5.js} +6 -6
  166. package/dist/{onboarding.gateway-config-BRSy-1P9.js → onboarding.gateway-config-DtNG0As8.js} +10 -10
  167. package/dist/{openai-model-default-BVPmAuXK.js → openai-model-default-CSl0PZzK.js} +1 -1
  168. package/dist/{openai-model-default-CDDFpxUr.js → openai-model-default-DeTAMJKz.js} +2 -2
  169. package/dist/{outbound-send-deps-EMcNAOK3.js → outbound-send-deps-CBRh4LsL.js} +1 -1
  170. package/dist/{pairing-cli-BlH0ZFgu.js → pairing-cli-BvP6MoPZ.js} +5 -5
  171. package/dist/{pairing-cli-B3N7sSmL.js → pairing-cli-MwIIeBee.js} +2 -2
  172. package/dist/{pairing-store-BGf29nPx.js → pairing-store-S9CXOhSG.js} +1 -1
  173. package/dist/{pairing-token-CURbSHdi.js → pairing-token-DorpwP8O.js} +7 -7
  174. package/dist/{paths-Dc6A9_vI.js → paths-DaQrPPet.js} +1 -1
  175. package/dist/{pi-auth-json-SHGGQzOL.js → pi-auth-json-CVwNh4rb.js} +5 -5
  176. package/dist/{pi-embedded-DE2UILhi.js → pi-embedded-B7_uthwZ.js} +20 -24
  177. package/dist/{pi-embedded-helpers-Ak7hKJEV.js → pi-embedded-helpers-BbBfO9m_.js} +1 -1
  178. package/dist/{pi-embedded-helpers-B-A6e4jw.js → pi-embedded-helpers-DGW2untm.js} +6 -6
  179. package/dist/{pi-tools.policy-BUY9pOhW.js → pi-tools.policy--USPnaLr.js} +2 -2
  180. package/dist/{pi-tools.policy-B3nP1-Zp.js → pi-tools.policy-BcTgKDG6.js} +3 -3
  181. package/dist/{plugin-auto-enable-CNDA103e.js → plugin-auto-enable-BDPdHiLS.js} +2 -2
  182. package/dist/{plugin-auto-enable-CF_vB-_e.js → plugin-auto-enable-DSliW8o4.js} +1 -1
  183. package/dist/{plugin-registry-C02Ztbi2.js → plugin-registry-5aIoUu-O.js} +2 -2
  184. package/dist/{plugin-registry-D2YgQFB0.js → plugin-registry-bskbnEuW.js} +3 -3
  185. package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +0 -4
  186. package/dist/plugin-sdk/compat/legacy-names.d.ts +0 -5
  187. package/dist/plugin-sdk/config/types.messages.d.ts +1 -8
  188. package/dist/plugin-sdk/config/types.symi.d.ts +1 -2
  189. package/dist/plugin-sdk/gateway/outbound-filter.d.ts +1 -7
  190. package/dist/plugin-sdk/index.js +1 -2
  191. package/dist/{plugins-cli-vVBp7ZxP.js → plugins-cli-DMCWSACj.js} +31 -31
  192. package/dist/{plugins-cli-Ba3CBKt4.js → plugins-cli-LQUO7D2v.js} +53 -53
  193. package/dist/{ports-DRHSHvqY.js → ports-ChuJYhEL.js} +1 -1
  194. package/dist/{ports-DqxP-bXz.js → ports-EAVAOFyK.js} +2 -2
  195. package/dist/{program-CUvzxNJ4.js → program-BgrmtnFn.js} +36 -36
  196. package/dist/{program-context-4FxfWCCw.js → program-context-C_uJXnZV.js} +38 -38
  197. package/dist/{prompt-select-styled-vwMhoP-U.js → prompt-select-styled-B3nTSykf.js} +38 -38
  198. package/dist/{prompt-select-styled-DTaKuS6l.js → prompt-select-styled-CuGBQ9LO.js} +21 -21
  199. package/dist/{provider-auth-helpers-WUtMTKoJ.js → provider-auth-helpers-IsZNkaS0.js} +6 -6
  200. package/dist/{provider-auth-helpers-Bu5Q-WC_.js → provider-auth-helpers-MMYRbW_U.js} +4 -4
  201. package/dist/{push-apns-D6zky4hI.js → push-apns-C7t2qAZ6.js} +4 -4
  202. package/dist/{push-apns-CnfKExbf.js → push-apns-qCbh6Vhl.js} +1 -1
  203. package/dist/{pw-ai-DQ1ckkue.js → pw-ai-Bc5uzn_J.js} +3 -3
  204. package/dist/{pw-ai-CNPSgxuq.js → pw-ai-DuPDo_Ia.js} +3 -3
  205. package/dist/{pw-ai-DJ_8OOoJ.js → pw-ai-Tm3pd-HP.js} +3 -3
  206. package/dist/{pw-ai-BpKRTux4.js → pw-ai-YJhl5L-z.js} +8 -8
  207. package/dist/{qmd-manager-358OTDns.js → qmd-manager-CrRvB46v.js} +19 -19
  208. package/dist/{qr-cli-DLAxaM_N.js → qr-cli-Bv4zF-WM.js} +2 -2
  209. package/dist/{qr-cli-BjgtEKM0.js → qr-cli-D1U-qIkG.js} +4 -4
  210. package/dist/{redact-identifier-DvxxnBnB.js → redact-identifier-QYENCXvy.js} +1 -1
  211. package/dist/{register.agent-B5s0F98B.js → register.agent-BWcxonR9.js} +45 -45
  212. package/dist/{register.agent-BtVDiH_r.js → register.agent-BblNQlzT.js} +69 -69
  213. package/dist/register.configure-BJ7xtOUZ.js +129 -0
  214. package/dist/{register.configure-NZcXrNuS.js → register.configure-D0T0kOp7.js} +50 -50
  215. package/dist/{register.maintenance-jTTn3oMK.js → register.maintenance-DLJpeuc4.js} +69 -69
  216. package/dist/{register.maintenance-DIkEIl8R.js → register.maintenance-w7sKxODf.js} +45 -45
  217. package/dist/{register.message-Cm77gd0W.js → register.message-C3dCPjVc.js} +29 -29
  218. package/dist/{register.message-DEa450JY.js → register.message-CXEwBJ1O.js} +47 -47
  219. package/dist/{register.onboard-5TEaQi6x.js → register.onboard-B520Ixsd.js} +25 -25
  220. package/dist/{register.onboard-DAMmTKhy.js → register.onboard-DJmVC_6h.js} +19 -19
  221. package/dist/{register.setup-B7PRYzpb.js → register.setup-BTse4F3a.js} +27 -27
  222. package/dist/{register.setup-DCwJ-ZlR.js → register.setup-Br-aZ0qD.js} +18 -18
  223. package/dist/{register.status-health-sessions-BXjn8VnY.js → register.status-health-sessions-4dxLj6hJ.js} +27 -27
  224. package/dist/{register.status-health-sessions-h8DNZ6hd.js → register.status-health-sessions-Dbizirr2.js} +40 -40
  225. package/dist/{register.subclis-BDIT6N_V.js → register.subclis-CSJZQox4.js} +28 -28
  226. package/dist/{replies-R4bX9dTZ.js → replies-CH1VlYZQ.js} +1 -1
  227. package/dist/{replies--JRoxSNQ.js → replies-CbipVshj.js} +1 -1
  228. package/dist/{replies-BnGR-qet.js → replies-CjSfYK97.js} +1 -1
  229. package/dist/{replies-BE5ZprKO.js → replies-DIWartyA.js} +1 -1
  230. package/dist/{reply-prefix-BOdARKaY.js → reply-prefix-DZQBodKF.js} +1 -1
  231. package/dist/{resolve-route-CRWE36h5.js → resolve-route-BbUl3Hi7.js} +1 -1
  232. package/dist/{routes-BFcVAVwZ.js → routes-CWYyvbxi.js} +3 -3
  233. package/dist/{routes-Czff-g7s.js → routes-DiqMB1cp.js} +10 -10
  234. package/dist/{rpc-Dv5VElqW.js → rpc-BcPBUUXl.js} +1 -1
  235. package/dist/{rpc-DyGMGnDM.js → rpc-DLfjbTSu.js} +1 -1
  236. package/dist/{run-main-DTZupTas.js → run-main-DISYU1dh.js} +47 -47
  237. package/dist/{sandbox-Yk0sGNnf.js → sandbox-B6P9-J8g.js} +6 -6
  238. package/dist/{sandbox-W71753dA.js → sandbox-DPn-s_K5.js} +18 -18
  239. package/dist/{sandbox-cli-XK1CujoA.js → sandbox-cli-Bl5CMRjH.js} +15 -15
  240. package/dist/{sandbox-cli-xejs3DAe.js → sandbox-cli-bOFig9Jd.js} +9 -9
  241. package/dist/{scan-paths-ppKrtZ9U.js → scan-paths-BVaXDn8b.js} +2 -4
  242. package/dist/{security-cli-D72O3Drj.js → security-cli-C7LBaB0e.js} +14 -14
  243. package/dist/{security-cli-C0OL3r1u.js → security-cli-DuxEuSGr.js} +30 -30
  244. package/dist/{send-BIeRhWqk.js → send-6IYv-yRp.js} +1 -1
  245. package/dist/{send-Bw1MYrkS.js → send-C3ZXgOXw.js} +1 -1
  246. package/dist/{send-D9mx56JE.js → send-CYJucYob.js} +7 -7
  247. package/dist/{server-context-D1WDO10m.js → server-context-BUbuOgNz.js} +5 -5
  248. package/dist/{server-context-BxbXmmz7.js → server-context-Vd9sEFb9.js} +5 -5
  249. package/dist/{server-node-events-x9VKUipR.js → server-node-events-7ToqdaU5.js} +48 -48
  250. package/dist/{server-node-events-CV6-B9Hg.js → server-node-events-BH4-UlAH.js} +30 -30
  251. package/dist/{service-AP9pR9R5.js → service-9ItKCWWS.js} +15 -15
  252. package/dist/{update-runner-CAdnmZZ6.js → session-dirs-6atzU47U.js} +16 -2
  253. package/dist/{update-runner-BtZbVAdv.js → session-dirs-DONOhYc3.js} +30 -16
  254. package/dist/{session-utils-CZAshAsv.js → session-utils-CJfEkQQQ.js} +3 -3
  255. package/dist/{session-utils-BgILIwNf.js → session-utils-CqSXwGYa.js} +12 -12
  256. package/dist/{sessions-TVtiVSw4.js → sessions-BHrlpR92.js} +1 -1
  257. package/dist/{sessions-DKoFrAAL.js → sessions-Chjdz1Gx.js} +3 -3
  258. package/dist/{sessions-C_xvI21O.js → sessions-DorP6zY8.js} +11 -11
  259. package/dist/{shared-iK9UaK0Y.js → shared-B-64oefu.js} +1 -1
  260. package/dist/{shared-CPD46OzN.js → shared-Z3KjnA8n.js} +3 -3
  261. package/dist/{shared-DmYHvtn2.js → shared-ot5_jkpP.js} +1 -1
  262. package/dist/{skill-commands-DlbnDTRO.js → skill-commands-C5n7FeDJ.js} +1 -1
  263. package/dist/{skill-commands-Dy8IDORU.js → skill-commands-CcCCVblU.js} +2 -2
  264. package/dist/{skill-commands-CWvBRsds.js → skill-commands-RbglvrSW.js} +4 -4
  265. package/dist/{skill-commands-5-5JJtVf.js → skill-commands-sTJFg5lz.js} +1 -1
  266. package/dist/{skill-scanner-qMQf6-FN.js → skill-scanner-CZK0TG9g.js} +6 -6
  267. package/dist/{skill-scanner-DkITukAS.js → skill-scanner-CuoStu03.js} +1 -1
  268. package/dist/{skills-B3e5S0iU.js → skills-BP6p7GnN.js} +2 -2
  269. package/dist/{skills-CSykGHmk.js → skills-Bn0f9KTL.js} +1 -1
  270. package/dist/{skills-DL8DjveU.js → skills-DS1Vdylm.js} +6 -6
  271. package/dist/{skills-D0hw3721.js → skills-DaU_5XvP.js} +2 -2
  272. package/dist/{skills-cli-BZvDZu8v.js → skills-cli-BmIb-9--.js} +8 -8
  273. package/dist/{skills-cli-BeJZwWJF.js → skills-cli-DbhEEC78.js} +6 -6
  274. package/dist/{skills-install-C9uT4MR2.js → skills-install-DcX1Txvp.js} +4 -4
  275. package/dist/{skills-install-BMhIk6vI.js → skills-install-Q5hgZITy.js} +3 -3
  276. package/dist/{skills-remote-Vz1dbWNB.js → skills-remote-BDSyRdyX.js} +3 -3
  277. package/dist/{skills-remote-Dv9T079m.js → skills-remote-DHfuS68n.js} +1 -1
  278. package/dist/{skills-status-CaEDEfYZ.js → skills-status-01KNlWUS.js} +2 -2
  279. package/dist/{skills-status-Dx3Lf5iU.js → skills-status-F7nlolZZ.js} +2 -2
  280. package/dist/{sqlite-DBEvS-Ne.js → sqlite-BUXBg2yu.js} +5 -5
  281. package/dist/{ssrf-B09I40bf.js → ssrf-BzPY2FrA.js} +1 -1
  282. package/dist/{ssrf-BEXdgoWo.js → ssrf-CJor4ewC.js} +1 -1
  283. package/dist/{status-JhT3liK_.js → status-CR4VgVZ0.js} +3 -3
  284. package/dist/{status-BZHeQGF_.js → status-CeaJlVQK.js} +2 -2
  285. package/dist/{status-DMNL9Ga5.js → status-Hf__QNbH.js} +24 -24
  286. package/dist/{status-DRtu03r8.js → status-dHYcVtbb.js} +14 -14
  287. package/dist/{status.update-D3Q9PDtb.js → status.update-DOj5ifHZ.js} +3 -3
  288. package/dist/{status.update-BOb9rNG9.js → status.update-lna4Lub4.js} +1 -1
  289. package/dist/{subagent-registry-B9IxZkG5.js → subagent-registry-BbQL79Gk.js} +34 -38
  290. package/dist/{symi-root-DueRHNOE.js → symi-root-0MUhiNlM.js} +2 -2
  291. package/dist/{synthesis--06mqRPn.js → synthesis-B4G0BnU5.js} +11 -11
  292. package/dist/{synthesis-DZT5Fkc5.js → synthesis-C-IePZG6.js} +9 -9
  293. package/dist/{synthesis-B8Nvwbp_.js → synthesis-CK0K7wFk.js} +44 -44
  294. package/dist/{synthesis-BPwzKPQT.js → synthesis-DiPl8Usv.js} +27 -27
  295. package/dist/{system-cli-D74xDNa8.js → system-cli-BKp2K0sb.js} +8 -8
  296. package/dist/{system-cli-B1eB5FoT.js → system-cli-C9uTFA4c.js} +4 -4
  297. package/dist/{systemd-9LEEqibe.js → systemd-8KKQdTO_.js} +5 -5
  298. package/dist/{systemd-hints-B0aT2ugu.js → systemd-hints-BefHB3bX.js} +6 -6
  299. package/dist/{systemd-hints-DDaidHXa.js → systemd-hints-DQKA3tTS.js} +1 -1
  300. package/dist/{systemd-linger-PqG8iGCt.js → systemd-linger-C0-G8yq4.js} +1 -1
  301. package/dist/{tui-CQAhT9c1.js → tui-BheB3rbE.js} +7 -7
  302. package/dist/{tui-C_cCiruf.js → tui-C_yv1hvy.js} +4 -4
  303. package/dist/{tui-cli-CwbuVeHU.js → tui-cli-BDcU-VgA.js} +21 -21
  304. package/dist/{tui-cli-71uMNJfy.js → tui-cli-D7wYLESM.js} +12 -12
  305. package/dist/{unified-runner-quh_mYPi.js → unified-runner-BSdnT6eM.js} +22 -26
  306. package/dist/{unified-runner-CMsoxWFP.js → unified-runner-D6p4N2vu.js} +105 -109
  307. package/dist/{update-JtKX2Yl3.js → update-CbkItCeC.js} +2 -2
  308. package/dist/{update-BvDXKE6K.js → update-Djvyvehx.js} +4 -4
  309. package/dist/{update-check-CZxZhEXr.js → update-check-BdSIMYWq.js} +5 -5
  310. package/dist/{update-cli-dSJwPmKQ.js → update-cli-BmQuYKTw.js} +51 -51
  311. package/dist/{update-cli-Bg728CPt.js → update-cli-CwznFR5g.js} +79 -79
  312. package/dist/{webhooks-cli-C4_gK-VO.js → webhooks-cli-B2_nrbvn.js} +5 -5
  313. package/dist/{webhooks-cli-CdWRzSWK.js → webhooks-cli-D_wAaLOU.js} +7 -7
  314. package/dist/{with-timeout-Uhem6WU4.js → with-timeout-BhDKgIeU.js} +1 -1
  315. package/dist/{with-timeout-C_GTWqlF.js → with-timeout-CAUWEPmp.js} +1 -1
  316. package/dist/{workspace-DHzBY6qe.js → workspace-2m2BLIbx.js} +2 -2
  317. package/dist/{workspace-B_xyjOdv.js → workspace-CxAs2tsz.js} +2 -2
  318. package/dist/{workspace-dirs-D5OnUmvw.js → workspace-dirs-QmSWJptJ.js} +1 -1
  319. package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
  320. package/package.json +1 -1
  321. package/dist/glass-ui-ws-CagpHsSJ.js +0 -341
  322. package/dist/glass-ui-ws-DLs3LNTG.js +0 -346
  323. package/dist/legacy-names-sghWmXe3.js +0 -8
  324. package/dist/register.configure-CD7DAbZQ.js +0 -129
  325. package/dist/server-methods-CMznpteR.js +0 -9432
  326. package/dist/server-methods-SRD683d-.js +0 -9434
  327. package/dist/session-dirs-Chh7bBGo.js +0 -18
  328. package/dist/session-dirs-Sl_x6tjD.js +0 -18
  329. /package/dist/{agents.config-D7cHU-OU.js → agents.config-gkq5o5Hy.js} +0 -0
  330. /package/dist/{auth-choice-legacy-CsjluQCN.js → auth-choice-legacy-DlTku0W1.js} +0 -0
  331. /package/dist/{auth-choice-legacy-D9WcUI_J.js → auth-choice-legacy-y8ZXjhDq.js} +0 -0
  332. /package/dist/{auth-token-Brb1Askz.js → auth-token-2yjfGFTo.js} +0 -0
  333. /package/dist/{consolidate-D1GUJ5qq.js → consolidate-CTKMVS1l.js} +0 -0
  334. /package/dist/{dm-policy-shared-CSF4Tw_F.js → dm-policy-shared-BcYwq7H9.js} +0 -0
  335. /package/dist/{format-BGzoTHhD.js → format-CUJQOEUj.js} +0 -0
  336. /package/dist/{format-C-0EAOjI.js → format-Cj8gNX2r.js} +0 -0
  337. /package/dist/{health-format-39e76m9p.js → health-format-BQdYy0nL.js} +0 -0
  338. /package/dist/{health-format-DaP03FBk.js → health-format-OIqaDZ2V.js} +0 -0
  339. /package/dist/{ipv4-CfVqgiTN.js → ipv4-CFw4fYIH.js} +0 -0
  340. /package/dist/{ipv4-DK4xoUQ-.js → ipv4-DBwTCOBu.js} +0 -0
  341. /package/dist/{logging-B96FQvnn.js → logging-BA2NbxMy.js} +0 -0
  342. /package/dist/{logging-BeA4q4J_.js → logging-Dt9kBzoO.js} +0 -0
  343. /package/dist/{model-param-b-B34yvxBN.js → model-param-b-CErLzOT8.js} +0 -0
  344. /package/dist/{model-param-b-CmgmcGoJ.js → model-param-b-DnsFCAGo.js} +0 -0
  345. /package/dist/{node-service-DDDCEDdv.js → node-service-B7zf4WFE.js} +0 -0
  346. /package/dist/{onboard-config-Barp7MT9.js → onboard-config-CIBKQuYV.js} +0 -0
  347. /package/dist/{onboard-config-DQkZqcyq.js → onboard-config-D6L72_zg.js} +0 -0
  348. /package/dist/{outbound-send-deps-BpziI1pC.js → outbound-send-deps-pzO0D6kV.js} +0 -0
  349. /package/dist/{ports-BAzQoIw0.js → ports-B3NnaSHu.js} +0 -0
  350. /package/dist/{qmd-manager--kGuC39q.js → qmd-manager-CX0jtKS5.js} +0 -0
  351. /package/dist/{system-run-command-QikSIqYG.js → system-run-command-XG1_P_la.js} +0 -0
  352. /package/dist/{systemd-linger-BM4qvprK.js → systemd-linger-CoyAJEZx.js} +0 -0
@@ -3,86 +3,86 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
3
3
  import { g as resolveStateDir, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
4
4
  import { S as isPlainObject, _ as shortenHomeInString, b as sliceUtf16Safe, c as escapeRegExp, h as resolveUserPath, r as clampInt, t as CONFIG_DIR, u as isRecord, v as shortenHomePath, x as truncateUtf16Safe, y as sleep } from "./utils-BU8jVQFM.js";
5
5
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
6
- import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BFSVvFKy.js";
6
+ import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BDvJK1Bg.js";
7
7
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
8
8
  import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, g as getSubagentDepth, l as resolveThreadSessionKeys, m as normalizeAccountId, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-B_ZVH1kE.js";
9
- import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
9
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
10
10
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
11
- import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-DIjW66iO.js";
11
+ import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-CKTVXF_1.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BTNK6Tcd.js";
13
13
  import { t as parseBooleanValue } from "./boolean-Wzu0-e0P.js";
14
14
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
15
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-B-A6e4jw.js";
16
- import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-C5Ztbpa2.js";
17
- import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D7Qup2Vq.js";
18
- import { a as isPathInsideWithRealpath } from "./legacy-names-C0hZiM-7.js";
19
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-W71753dA.js";
20
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DfmXP1Xa.js";
21
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-D1WDO10m.js";
22
- import { l as parseFrontmatterBlock } from "./frontmatter-B6IdJ7UK.js";
23
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DL8DjveU.js";
24
- import { n as getMediaDir, r as saveMediaBuffer } from "./routes-Czff-g7s.js";
15
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-DGW2untm.js";
16
+ import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-BEaq2Sb6.js";
17
+ import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D_LsBSyt.js";
18
+ import { a as isPathInsideWithRealpath } from "./legacy-names-Catogrri.js";
19
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DPn-s_K5.js";
20
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BQoO4LXq.js";
21
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BUbuOgNz.js";
22
+ import { l as parseFrontmatterBlock } from "./frontmatter-CHu3sfCM.js";
23
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DS1Vdylm.js";
24
+ import { n as getMediaDir, r as saveMediaBuffer } from "./routes-DiqMB1cp.js";
25
25
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Z-WkF18Q.js";
26
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-Dc6A9_vI.js";
26
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DaQrPPet.js";
27
27
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
28
- import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-C-gIIp7Q.js";
29
- import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-C_xvI21O.js";
28
+ import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-c7_of0HT.js";
29
+ import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-DorP6zY8.js";
30
30
  import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-CnGWTXL4.js";
31
31
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C_V8IAYx.js";
32
32
  import { t as normalizeChatType } from "./chat-type-B7XD_ESN.js";
33
33
  import { n as resolveConversationLabel } from "./conversation-label-CS5Zjc4w.js";
34
34
  import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
35
- import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-D9mx56JE.js";
35
+ import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-CYJucYob.js";
36
36
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CJcw9nbZ.js";
37
37
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-DsLesw6T.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-Ch7wLX-j.js";
39
39
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-177f26eg.js";
40
40
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
41
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-CKAEloz3.js";
41
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-ccf_boim.js";
42
42
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-CwF3MnBL.js";
43
43
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-I4x9gPY4.js";
44
- import { t as ensureSymiModelsJson } from "./models-config-of-BhU9a.js";
45
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-SHGGQzOL.js";
44
+ import { t as ensureSymiModelsJson } from "./models-config-Dh1tABIl.js";
45
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CVwNh4rb.js";
46
46
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-DYcv40ss.js";
47
- import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-BgILIwNf.js";
48
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-C_GTWqlF.js";
49
- import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BOdARKaY.js";
50
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-gSw5eshw.js";
51
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DJHy2EAm.js";
52
- import { f as runTasksWithConcurrency } from "./internal-CHnZdvRy.js";
47
+ import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-CqSXwGYa.js";
48
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-CAUWEPmp.js";
49
+ import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DZQBodKF.js";
50
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BZPO-RoX.js";
51
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-C_5p8DxF.js";
52
+ import { f as runTasksWithConcurrency } from "./internal-C3o_xyzP.js";
53
53
  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-DQGU0F8t.js";
54
54
  import { n as resolveMarkdownTableMode } from "./markdown-tables-GTLvbzuR.js";
55
55
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CgmRK282.js";
56
56
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
57
- import { n as getDefaultMediaLocalRoots } from "./local-roots-BnDnugq3.js";
57
+ import { n as getDefaultMediaLocalRoots } from "./local-roots-CUKhHNCV.js";
58
58
  import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-B3UrgxIz.js";
59
- import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-BNCcZy2y.js";
60
- import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-ZZqt0H0-.js";
61
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-uEbo7Orp.js";
59
+ import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-CLePPNDW.js";
60
+ import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-Bs2zB0rY.js";
61
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-BjHvYJx2.js";
62
62
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Dr6VaTg5.js";
63
63
  import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
64
64
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DqAyGDbE.js";
65
- import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-Vz1dbWNB.js";
65
+ import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-BDSyRdyX.js";
66
66
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DdkUSfiI.js";
67
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DiG_T-Hd.js";
68
- import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-CWvBRsds.js";
69
- import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BGf29nPx.js";
67
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BrW9BL1p.js";
68
+ import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-RbglvrSW.js";
69
+ import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-S9CXOhSG.js";
70
70
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-CZOc8M5w.js";
71
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-JELuBMBi.js";
71
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CT94yu_w.js";
72
72
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-dNgkVIEe.js";
73
73
  import { t as formatDurationCompact$1 } from "./format-duration-DbZRICyO.js";
74
74
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-2_Os41y-.js";
75
75
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-Ca9K30TH.js";
76
76
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DsZw7bas.js";
77
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-wnEr9eCS.js";
77
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DhlgNQGb.js";
78
78
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
79
79
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BvIcXQLj.js";
80
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CRWE36h5.js";
80
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BbUl3Hi7.js";
81
81
  import { t as parseTimeoutMs } from "./parse-timeout-CpgyC-LD.js";
82
- import { n as registerMemoryCli } from "./memory-cli-DIchyZJ2.js";
83
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies--JRoxSNQ.js";
84
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-B3nP1-Zp.js";
85
- import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-BRcKPW49.js";
82
+ import { n as registerMemoryCli } from "./memory-cli-4vj-LpgO.js";
83
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CbipVshj.js";
84
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BcTgKDG6.js";
85
+ import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-CbRy_3xW.js";
86
86
  import { createRequire } from "node:module";
87
87
  import process$1 from "node:process";
88
88
  import { fileURLToPath } from "node:url";
@@ -91,7 +91,7 @@ import path from "node:path";
91
91
  import fs, { constants, existsSync, statSync } from "node:fs";
92
92
  import os, { homedir } from "node:os";
93
93
  import JSON5 from "json5";
94
- import fs$1 from "node:fs/promises";
94
+ import fsPromises from "node:fs/promises";
95
95
  import { execFileSync, spawn, spawnSync } from "node:child_process";
96
96
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
97
97
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -1068,7 +1068,7 @@ function isBareSilentReply(text) {
1068
1068
  * Returns a structured verdict the caller uses to decide whether to
1069
1069
  * broadcast / persist a payload. Pure function — no side effects.
1070
1070
  */
1071
- function classifyOutboundMessage(rawText, _opts) {
1071
+ function classifyOutboundMessage(rawText) {
1072
1072
  const text = typeof rawText === "string" ? rawText : "";
1073
1073
  if (isBareSilentReply(text)) return {
1074
1074
  action: "drop",
@@ -1841,7 +1841,7 @@ async function imageResult(params) {
1841
1841
  }, params.label, params.imageSanitization);
1842
1842
  }
1843
1843
  async function imageResultFromFile(params) {
1844
- const buf = await fs$1.readFile(params.path);
1844
+ const buf = await fsPromises.readFile(params.path);
1845
1845
  const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
1846
1846
  return await imageResult({
1847
1847
  label: params.label,
@@ -5801,7 +5801,7 @@ async function routeReply(params) {
5801
5801
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
5802
5802
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
5803
5803
  try {
5804
- const { deliverOutboundPayloads } = await import("./deliver-CKAEloz3.js").then((n) => n.n);
5804
+ const { deliverOutboundPayloads } = await import("./deliver-ccf_boim.js").then((n) => n.n);
5805
5805
  return {
5806
5806
  ok: true,
5807
5807
  messageId: (await deliverOutboundPayloads({
@@ -9959,8 +9959,7 @@ async function prepareAgentRun(params) {
9959
9959
  const typingMode = resolveTypingMode({
9960
9960
  configured: sessionCfg?.typingMode ?? agentCfg?.typingMode,
9961
9961
  isGroupChat,
9962
- wasMentioned,
9963
- isHeartbeat: false
9962
+ wasMentioned
9964
9963
  });
9965
9964
  const shouldInjectGroupIntro = Boolean(isGroupChat && (isFirstTurnInSession || sessionEntry?.groupActivationNeedsSystemIntro));
9966
9965
  const groupChatContext = isGroupChat ? buildGroupChatContext({ sessionCtx }) : "";
@@ -11646,7 +11645,7 @@ var MediaAttachmentCache = class {
11646
11645
  const size = await this.ensureLocalStat(entry);
11647
11646
  if (entry.resolvedPath) {
11648
11647
  if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
11649
- const buffer = await fs$1.readFile(entry.resolvedPath);
11648
+ const buffer = await fsPromises.readFile(entry.resolvedPath);
11650
11649
  entry.buffer = buffer;
11651
11650
  entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
11652
11651
  buffer,
@@ -11716,10 +11715,10 @@ var MediaAttachmentCache = class {
11716
11715
  prefix: "symi-media",
11717
11716
  extension: path.extname(bufferResult.fileName || "") || ""
11718
11717
  });
11719
- await fs$1.writeFile(tmpPath, bufferResult.buffer);
11718
+ await fsPromises.writeFile(tmpPath, bufferResult.buffer);
11720
11719
  entry.tempPath = tmpPath;
11721
11720
  entry.tempCleanup = async () => {
11722
- await fs$1.unlink(tmpPath).catch(() => {});
11721
+ await fsPromises.unlink(tmpPath).catch(() => {});
11723
11722
  };
11724
11723
  return {
11725
11724
  path: tmpPath,
@@ -11766,12 +11765,12 @@ var MediaAttachmentCache = class {
11766
11765
  if (entry.statSize !== void 0) return entry.statSize;
11767
11766
  try {
11768
11767
  const currentPath = entry.resolvedPath;
11769
- const stat = await fs$1.stat(currentPath);
11768
+ const stat = await fsPromises.stat(currentPath);
11770
11769
  if (!stat.isFile()) {
11771
11770
  entry.resolvedPath = void 0;
11772
11771
  return;
11773
11772
  }
11774
- const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
11773
+ const canonicalPath = await fsPromises.realpath(currentPath).catch(() => currentPath);
11775
11774
  if (!isInboundPathAllowed({
11776
11775
  filePath: canonicalPath,
11777
11776
  roots: await this.getCanonicalLocalPathRoots()
@@ -11793,7 +11792,7 @@ var MediaAttachmentCache = class {
11793
11792
  if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
11794
11793
  this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
11795
11794
  if (root.includes("*")) return root;
11796
- return await fs$1.realpath(root).catch(() => root);
11795
+ return await fsPromises.realpath(root).catch(() => root);
11797
11796
  }))))();
11798
11797
  return await this.canonicalLocalPathRoots;
11799
11798
  }
@@ -11864,7 +11863,7 @@ function formatAudioTranscripts(outputs) {
11864
11863
  async function fileExists(filePath) {
11865
11864
  if (!filePath) return false;
11866
11865
  try {
11867
- await fs$1.stat(filePath);
11866
+ await fsPromises.stat(filePath);
11868
11867
  return true;
11869
11868
  } catch {
11870
11869
  return false;
@@ -11964,7 +11963,7 @@ async function resolveCliOutput(params) {
11964
11963
  const commandId = commandBase(params.command);
11965
11964
  const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
11966
11965
  if (fileOutput && await fileExists(fileOutput)) try {
11967
- const content = await fs$1.readFile(fileOutput, "utf8");
11966
+ const content = await fsPromises.readFile(fileOutput, "utf8");
11968
11967
  if (content.trim()) return content.trim();
11969
11968
  } catch {}
11970
11969
  if (commandId === "gemini") {
@@ -12255,7 +12254,7 @@ async function runCliEntry(params) {
12255
12254
  maxBytes,
12256
12255
  timeoutMs
12257
12256
  });
12258
- const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
12257
+ const outputDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
12259
12258
  const mediaPath = pathResult.path;
12260
12259
  const outputBase = path.join(outputDir, path.parse(mediaPath).name);
12261
12260
  const templCtx = {
@@ -12289,7 +12288,7 @@ async function runCliEntry(params) {
12289
12288
  model: command
12290
12289
  };
12291
12290
  } finally {
12292
- await fs$1.rm(outputDir, {
12291
+ await fsPromises.rm(outputDir, {
12293
12292
  recursive: true,
12294
12293
  force: true
12295
12294
  }).catch(() => {});
@@ -12333,9 +12332,9 @@ function candidateBinaryNames(name) {
12333
12332
  }
12334
12333
  async function isExecutable$1(filePath) {
12335
12334
  try {
12336
- if (!(await fs$1.stat(filePath)).isFile()) return false;
12335
+ if (!(await fsPromises.stat(filePath)).isFile()) return false;
12337
12336
  if (process.platform === "win32") return true;
12338
- await fs$1.access(filePath, constants.X_OK);
12337
+ await fsPromises.access(filePath, constants.X_OK);
12339
12338
  return true;
12340
12339
  } catch {
12341
12340
  return false;
@@ -14039,7 +14038,7 @@ async function createModelSelectionState(params) {
14039
14038
  }
14040
14039
  }
14041
14040
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
14042
- const { ensureAuthProfileStore } = await import("./auth-profiles-BFSVvFKy.js").then((n) => n.t);
14041
+ const { ensureAuthProfileStore } = await import("./auth-profiles-BDvJK1Bg.js").then((n) => n.t);
14043
14042
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
14044
14043
  const providerKey = normalizeProviderId(provider);
14045
14044
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -17183,7 +17182,7 @@ async function resolveSandboxWorkdir(params) {
17183
17182
  cwd: process.cwd(),
17184
17183
  root: params.sandbox.workspaceDir
17185
17184
  });
17186
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
17185
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
17187
17186
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
17188
17187
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
17189
17188
  return {
@@ -18197,13 +18196,13 @@ async function validateScriptFileForShellBleed(params) {
18197
18196
  cwd: params.workdir,
18198
18197
  root: params.workdir
18199
18198
  });
18200
- stat = await fs$1.stat(absPath);
18199
+ stat = await fsPromises.stat(absPath);
18201
18200
  } catch {
18202
18201
  return;
18203
18202
  }
18204
18203
  if (!stat.isFile()) return;
18205
18204
  if (stat.size > 512 * 1024) return;
18206
- const content = await fs$1.readFile(absPath, "utf-8");
18205
+ const content = await fsPromises.readFile(absPath, "utf-8");
18207
18206
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
18208
18207
  if (first) {
18209
18208
  const idx = first.index;
@@ -22879,7 +22878,7 @@ async function handleCommands(params) {
22879
22878
  try {
22880
22879
  const messages = [];
22881
22880
  if (sessionFile) {
22882
- const content = await fs$1.readFile(sessionFile, "utf-8");
22881
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
22883
22882
  for (const line of content.split("\n")) {
22884
22883
  if (!line.trim()) continue;
22885
22884
  try {
@@ -25066,7 +25065,7 @@ async function readJsonlFromPath(jsonlPath) {
25066
25065
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
25067
25066
  throw new Error("jsonlPath outside allowed roots");
25068
25067
  }
25069
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
25068
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
25070
25069
  if (!isInboundPathAllowed({
25071
25070
  filePath: canonical,
25072
25071
  roots
@@ -25074,7 +25073,7 @@ async function readJsonlFromPath(jsonlPath) {
25074
25073
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
25075
25074
  throw new Error("jsonlPath outside allowed roots");
25076
25075
  }
25077
- return await fs$1.readFile(canonical, "utf8");
25076
+ return await fsPromises.readFile(canonical, "utf8");
25078
25077
  }
25079
25078
  const CanvasToolSchema = Type.Object({
25080
25079
  action: stringEnum(CANVAS_ACTIONS),
@@ -26617,7 +26616,7 @@ async function hydrateAttachmentPayload(params) {
26617
26616
  accountId: params.accountId
26618
26617
  }),
26619
26618
  sandboxValidated: true,
26620
- readFile: (filePath) => fs$1.readFile(filePath)
26619
+ readFile: (filePath) => fsPromises.readFile(filePath)
26621
26620
  });
26622
26621
  params.args.buffer = media.buffer.toString("base64");
26623
26622
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -33111,7 +33110,7 @@ async function deliverSessionMaintenanceWarning(params) {
33111
33110
  return;
33112
33111
  }
33113
33112
  try {
33114
- const { deliverOutboundPayloads } = await import("./deliver-CKAEloz3.js").then((n) => n.n);
33113
+ const { deliverOutboundPayloads } = await import("./deliver-ccf_boim.js").then((n) => n.n);
33115
33114
  await deliverOutboundPayloads({
33116
33115
  cfg: params.cfg,
33117
33116
  channel,
@@ -33516,7 +33515,7 @@ async function stageSandboxMedia(params) {
33516
33515
  };
33517
33516
  try {
33518
33517
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
33519
- await fs$1.mkdir(destDir, { recursive: true });
33518
+ await fsPromises.mkdir(destDir, { recursive: true });
33520
33519
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
33521
33520
  cfg,
33522
33521
  accountId: ctx.AccountId
@@ -33566,7 +33565,7 @@ async function stageSandboxMedia(params) {
33566
33565
  usedNames.add(fileName);
33567
33566
  const dest = path.join(destDir, fileName);
33568
33567
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
33569
- else await fs$1.copyFile(source, dest);
33568
+ else await fsPromises.copyFile(source, dest);
33570
33569
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
33571
33570
  staged.set(source, stagedPath);
33572
33571
  }
@@ -38877,7 +38876,7 @@ function readSlackExternalArgMenuToken(raw) {
38877
38876
  }
38878
38877
  let commandsRegistry;
38879
38878
  async function getCommandsRegistry() {
38880
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BNCcZy2y.js").then((n) => n.t);
38879
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CLePPNDW.js").then((n) => n.t);
38881
38880
  return commandsRegistry;
38882
38881
  }
38883
38882
  function encodeSlackCommandArgValue(parts) {
@@ -39219,11 +39218,11 @@ async function registerSlackMonitorSlashCommands(params) {
39219
39218
  const channelName = channelInfo?.name;
39220
39219
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
39221
39220
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
39222
- import("./resolve-route-CRWE36h5.js").then((n) => n.r),
39221
+ import("./resolve-route-BbUl3Hi7.js").then((n) => n.r),
39223
39222
  import("./inbound-context-DqAyGDbE.js").then((n) => n.n),
39224
39223
  Promise.resolve().then(() => provider_dispatcher_exports)
39225
39224
  ]);
39226
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-BOdARKaY.js").then((n) => n.n)]);
39225
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-DZQBodKF.js").then((n) => n.n)]);
39227
39226
  const route = resolveAgentRoute({
39228
39227
  cfg,
39229
39228
  channel: "slack",
@@ -39280,7 +39279,7 @@ async function registerSlackMonitorSlashCommands(params) {
39280
39279
  });
39281
39280
  const deliverSlashPayloads = async (replies) => {
39282
39281
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
39283
- import("./replies--JRoxSNQ.js").then((n) => n.r),
39282
+ import("./replies-CbipVshj.js").then((n) => n.r),
39284
39283
  import("./chunk-DQGU0F8t.js").then((n) => n.s),
39285
39284
  import("./markdown-tables-GTLvbzuR.js").then((n) => n.t)
39286
39285
  ]);
@@ -39335,7 +39334,7 @@ async function registerSlackMonitorSlashCommands(params) {
39335
39334
  let nativeCommands = [];
39336
39335
  if (nativeEnabled) {
39337
39336
  reg = await getCommandsRegistry();
39338
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CWvBRsds.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39337
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-RbglvrSW.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39339
39338
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
39340
39339
  skillCommands,
39341
39340
  provider: "slack"
@@ -40468,7 +40467,7 @@ function resolvePluginTools(params) {
40468
40467
  //#endregion
40469
40468
  //#region src/agents/apply-patch-update.ts
40470
40469
  async function defaultReadFile(filePath) {
40471
- return fs$1.readFile(filePath, "utf8");
40470
+ return fsPromises.readFile(filePath, "utf8");
40472
40471
  }
40473
40472
  async function applyUpdateHunk(filePath, chunks, options) {
40474
40473
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -40712,10 +40711,10 @@ function resolvePatchFileOps(options) {
40712
40711
  };
40713
40712
  }
40714
40713
  return {
40715
- readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
40716
- writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
40717
- remove: (filePath) => fs$1.rm(filePath),
40718
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
40714
+ readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
40715
+ writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
40716
+ remove: (filePath) => fsPromises.rm(filePath),
40717
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
40719
40718
  };
40720
40719
  }
40721
40720
  async function ensureDir(filePath, ops) {
@@ -41882,7 +41881,7 @@ async function repairSessionFileIfNeeded(params) {
41882
41881
  };
41883
41882
  let content;
41884
41883
  try {
41885
- content = await fs$1.readFile(sessionFile, "utf-8");
41884
+ content = await fsPromises.readFile(sessionFile, "utf-8");
41886
41885
  } catch (err) {
41887
41886
  if (err?.code === "ENOENT") return {
41888
41887
  repaired: false,
@@ -41930,15 +41929,15 @@ async function repairSessionFileIfNeeded(params) {
41930
41929
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
41931
41930
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
41932
41931
  try {
41933
- const stat = await fs$1.stat(sessionFile).catch(() => null);
41934
- await fs$1.writeFile(backupPath, content, "utf-8");
41935
- if (stat) await fs$1.chmod(backupPath, stat.mode);
41936
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
41937
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
41938
- await fs$1.rename(tmpPath, sessionFile);
41932
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
41933
+ await fsPromises.writeFile(backupPath, content, "utf-8");
41934
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
41935
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
41936
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
41937
+ await fsPromises.rename(tmpPath, sessionFile);
41939
41938
  } catch (err) {
41940
41939
  try {
41941
- await fs$1.unlink(tmpPath);
41940
+ await fsPromises.unlink(tmpPath);
41942
41941
  } catch (cleanupErr) {
41943
41942
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
41944
41943
  }
@@ -43211,7 +43210,7 @@ async function prewarmSessionFile(sessionFile) {
43211
43210
  if (!isSessionManagerCacheEnabled()) return;
43212
43211
  if (isSessionManagerCached(sessionFile)) return;
43213
43212
  try {
43214
- const handle = await fs$1.open(sessionFile, "r");
43213
+ const handle = await fsPromises.open(sessionFile, "r");
43215
43214
  try {
43216
43215
  const buffer = Buffer$1.alloc(4096);
43217
43216
  await handle.read(buffer, 0, buffer.length, 0);
@@ -43351,7 +43350,7 @@ async function compactEmbeddedPiSessionDirect(params) {
43351
43350
  } catch (err) {
43352
43351
  return fail(describeUnknownError(err));
43353
43352
  }
43354
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
43353
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
43355
43354
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
43356
43355
  const sandbox = await resolveSandboxContext({
43357
43356
  config: params.config,
@@ -43359,7 +43358,7 @@ async function compactEmbeddedPiSessionDirect(params) {
43359
43358
  workspaceDir: resolvedWorkspace
43360
43359
  });
43361
43360
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
43362
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
43361
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
43363
43362
  await ensureSessionHeader({
43364
43363
  sessionFile: params.sessionFile,
43365
43364
  sessionId: params.sessionId,
@@ -43684,12 +43683,12 @@ function getQueuedFileWriter(writers, filePath) {
43684
43683
  const existing = writers.get(filePath);
43685
43684
  if (existing) return existing;
43686
43685
  const dir = path.dirname(filePath);
43687
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
43686
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
43688
43687
  let queue = Promise.resolve();
43689
43688
  const writer = {
43690
43689
  filePath,
43691
43690
  write: (line) => {
43692
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
43691
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
43693
43692
  }
43694
43693
  };
43695
43694
  writers.set(filePath, writer);
@@ -46869,7 +46868,7 @@ Use the message tool with buttons:
46869
46868
  */
46870
46869
  async function readSessionFile(sessionFile) {
46871
46870
  try {
46872
- return await fs$1.readFile(sessionFile, "utf-8");
46871
+ return await fsPromises.readFile(sessionFile, "utf-8");
46873
46872
  } catch {
46874
46873
  return null;
46875
46874
  }
@@ -46878,8 +46877,8 @@ async function writeAtomically(sessionFile, text) {
46878
46877
  const dir = path.dirname(sessionFile);
46879
46878
  const base = path.basename(sessionFile);
46880
46879
  const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
46881
- await fs$1.writeFile(tmp, text, "utf-8");
46882
- await fs$1.rename(tmp, sessionFile);
46880
+ await fsPromises.writeFile(tmp, text, "utf-8");
46881
+ await fsPromises.rename(tmp, sessionFile);
46883
46882
  }
46884
46883
  /**
46885
46884
  * Remove empty assistant JSONL entries from the session file.
@@ -46981,7 +46980,7 @@ function isInPoisonRange(version) {
46981
46980
  */
46982
46981
  async function checkSessionPoison(sessionFile) {
46983
46982
  try {
46984
- const firstLine = (await fs$1.readFile(sessionFile, "utf-8")).split("\n")[0];
46983
+ const firstLine = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n")[0];
46985
46984
  if (!firstLine) return null;
46986
46985
  const header = JSON.parse(firstLine);
46987
46986
  if (header.type !== "session") return null;
@@ -46999,7 +46998,7 @@ async function checkSessionPoison(sessionFile) {
46999
46998
  */
47000
46999
  async function archivePoisonedSession(sessionFile) {
47001
47000
  const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
47002
- await fs$1.rename(sessionFile, archiveName);
47001
+ await fsPromises.rename(sessionFile, archiveName);
47003
47002
  return archiveName;
47004
47003
  }
47005
47004
  /**
@@ -47008,14 +47007,14 @@ async function archivePoisonedSession(sessionFile) {
47008
47007
  */
47009
47008
  async function stampSessionVersion(sessionFile) {
47010
47009
  try {
47011
- const lines = (await fs$1.readFile(sessionFile, "utf-8")).split("\n");
47010
+ const lines = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n");
47012
47011
  if (lines.length === 0) return;
47013
47012
  const header = JSON.parse(lines[0]);
47014
47013
  if (header.type !== "session") return;
47015
47014
  if (header.symiVersion === VERSION) return;
47016
47015
  header.symiVersion = VERSION;
47017
47016
  lines[0] = JSON.stringify(header);
47018
- await fs$1.writeFile(sessionFile, lines.join("\n"), "utf-8");
47017
+ await fsPromises.writeFile(sessionFile, lines.join("\n"), "utf-8");
47019
47018
  } catch {}
47020
47019
  }
47021
47020
  /**
@@ -47244,7 +47243,7 @@ async function prepareSessionManagerForRun(params) {
47244
47243
  return;
47245
47244
  }
47246
47245
  if (params.hadSessionFile && header && !hasAssistant) {
47247
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
47246
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
47248
47247
  sm.fileEntries = [header];
47249
47248
  sm.byId?.clear?.();
47250
47249
  sm.labelsById?.clear?.();
@@ -47802,7 +47801,7 @@ async function runEmbeddedAttempt(params) {
47802
47801
  const prevCwd = process.cwd();
47803
47802
  const runAbortController = new AbortController();
47804
47803
  log$7.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
47805
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
47804
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
47806
47805
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
47807
47806
  const sandbox = await resolveSandboxContext({
47808
47807
  config: params.config,
@@ -47810,7 +47809,7 @@ async function runEmbeddedAttempt(params) {
47810
47809
  workspaceDir: resolvedWorkspace
47811
47810
  });
47812
47811
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
47813
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
47812
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
47814
47813
  let restoreSkillEnv;
47815
47814
  process.chdir(effectiveWorkspace);
47816
47815
  try {
@@ -48019,7 +48018,7 @@ async function runEmbeddedAttempt(params) {
48019
48018
  sessionFile: params.sessionFile,
48020
48019
  warn: (message) => log$7.warn(message)
48021
48020
  });
48022
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
48021
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
48023
48022
  const transcriptPolicy = resolveTranscriptPolicy({
48024
48023
  modelApi: params.model?.api,
48025
48024
  provider: params.provider,
@@ -49111,7 +49110,7 @@ async function runEmbeddedPiAgent(params) {
49111
49110
  }
49112
49111
  runLoopIterations += 1;
49113
49112
  attemptedThinking.add(thinkLevel);
49114
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
49113
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
49115
49114
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
49116
49115
  const attempt = await runEmbeddedAttempt({
49117
49116
  sessionId: params.sessionId,
@@ -49774,10 +49773,7 @@ async function runAgentTurnImpl(params) {
49774
49773
  });
49775
49774
  const result = await runEmbeddedPiAgent(buildInternalParams());
49776
49775
  const rawText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
49777
- const outboundResult = classifyOutboundMessage(rawText, {
49778
- isHeartbeat: false,
49779
- heartbeatAckMaxChars: 0
49780
- });
49776
+ const outboundResult = classifyOutboundMessage(rawText);
49781
49777
  const filteredText = outboundResult.output.trim();
49782
49778
  const resolvedProvider = result.meta.agentMeta?.provider ?? params.provider ?? "";
49783
49779
  const resolvedModel = result.meta.agentMeta?.model ?? params.modelId ?? "";