squidclaw 3.0.6 → 3.0.7

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 (351) hide show
  1. package/dist/{accounts-BH9Qo1sQ.js → accounts-BK8I0Svb.js} +7 -7
  2. package/dist/{accounts-Cuwg9Tan.js → accounts-DeqNOvBo.js} +1 -1
  3. package/dist/{accounts-B1RxFghM.js → accounts-KzgPbLHP.js} +1 -1
  4. package/dist/{acp-cli-CLRuoXWa.js → acp-cli-BWSZnzfY.js} +8 -8
  5. package/dist/{agent-scope-nEVgVklg.js → agent-scope-Cq4vDGrK.js} +17 -17
  6. package/dist/{agents-rUKtNaUK.js → agents-6aZ5MtwI.js} +14 -14
  7. package/dist/{agents.config-DsnQkHm9.js → agents.config-D-q2eNaM.js} +2 -2
  8. package/dist/{api-key-rotation-CsMKifj6.js → api-key-rotation-Ck41sTpR.js} +1 -1
  9. package/dist/{audio-preflight-BKgdc7dS.js → audio-preflight-BTYxAJjy.js} +4 -4
  10. package/dist/{audio-preflight-CzOW6WUm.js → audio-preflight-C9GE3WMm.js} +34 -34
  11. package/dist/{audio-transcription-runner-BnbdYMDl.js → audio-transcription-runner-DBkDgluo.js} +1 -1
  12. package/dist/{audio-transcription-runner-C5qJ-fgR.js → audio-transcription-runner-Xzc1NTsq.js} +23 -23
  13. package/dist/{audit-DqYxJJda.js → audit-CZB7BwiK.js} +29 -29
  14. package/dist/{auth-C5nn2VmD.js → auth-BN5Ax7XQ.js} +1 -1
  15. package/dist/{auth-choice-B7f4gR8i.js → auth-choice-BoDJ6TOl.js} +11 -11
  16. package/dist/{auth-choice-B4oZiQl3.js → auth-choice-CKWbxSjp.js} +13 -13
  17. package/dist/{auth-choice-BP67-Scf.js → auth-choice-DYgXmh79.js} +2 -2
  18. package/dist/{auth-choice-8xkQwsCU.js → auth-choice-FjsBJLJF.js} +1 -1
  19. package/dist/{auth-choice.apply-helpers-gvgwMfOS.js → auth-choice.apply-helpers-CAYfHKSv.js} +1 -1
  20. package/dist/{auth-profiles-CwmInMDd.js → auth-profiles-CvmKVnsR.js} +16 -16
  21. package/dist/{auth-token-DA4-9AiC.js → auth-token-D8eHvwMb.js} +1 -1
  22. package/dist/{banner-X4Hg28Jc.js → banner-a2nZKKSO.js} +2 -2
  23. package/dist/{bonjour-discovery-CirYvFAM.js → bonjour-discovery-D3MmCuyu.js} +1 -1
  24. package/dist/{browser-cli-mblKkWN0.js → browser-cli-DiQ1Yrni.js} +12 -12
  25. package/dist/build-info.json +3 -3
  26. package/dist/bundled/boot-md/handler.js +6 -6
  27. package/dist/bundled/session-memory/handler.js +6 -6
  28. package/dist/{call-BSt3WRnY.js → call-v5CyFgM7.js} +10 -10
  29. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  30. package/dist/{channel-account-context-DJ3rHgVO.js → channel-account-context-CQ6rCiGI.js} +5 -5
  31. package/dist/{channel-activity-Bsu4_sQM.js → channel-activity-2DTItbwL.js} +1 -1
  32. package/dist/{channel-options-BNOKnBE0.js → channel-options-WUo_aDl6.js} +3 -3
  33. package/dist/{channel-selection-CFWQq1nS.js → channel-selection-BqwS1Rlq.js} +1 -1
  34. package/dist/{channel-web-BaF7Svv2.js → channel-web-B-vO6zEj.js} +17 -17
  35. package/dist/{channels-cli-C1WKiZuu.js → channels-cli-Dmg0Cmvj.js} +93 -93
  36. package/dist/{channels-status-issues-Erzzhl2e.js → channels-status-issues-Dz1_R7Ah.js} +1 -1
  37. package/dist/{chrome-DybExwN8.js → chrome-CBaHshBY.js} +4 -4
  38. package/dist/{chrome-CjxCwFA9.js → chrome-pBkBuWci.js} +8 -8
  39. package/dist/{clawbot-cli-AkJg44bt.js → clawbot-cli-DbHuxiC3.js} +11 -11
  40. package/dist/{cli-DQxrr5jc.js → cli-aS4pnj7L.js} +73 -73
  41. package/dist/{client-XYT0IAgJ.js → client-cfjtRboM.js} +2 -2
  42. package/dist/{command-registry-BpxHWT9Y.js → command-registry-Dw2lXmUy.js} +11 -11
  43. package/dist/{command-secret-targets-DN9JuQaB.js → command-secret-targets-DjorlW8u.js} +4 -4
  44. package/dist/{commands-DDHiW-As.js → commands-CnX9I_l4.js} +1 -1
  45. package/dist/{commands-registry-C4UO-mlJ.js → commands-registry-BI_sjTho.js} +3 -3
  46. package/dist/{completion-cli-CuLOFt3t.js → completion-cli-D5qk7bww.js} +1 -1
  47. package/dist/{completion-cli-PRzaDsjO.js → completion-cli-eA4JUOZT.js} +13 -13
  48. package/dist/{config-cli-C0rMJEvV.js → config-cli-Bb8GJwFr.js} +1 -1
  49. package/dist/{config-cli-D6JN7i8p.js → config-cli-DvcyIvFj.js} +7 -7
  50. package/dist/{config-guard-CowcGBh0.js → config-guard-BQAx_rXT.js} +3 -3
  51. package/dist/{config-validation-BEyUXW7d.js → config-validation-DBB2ib3F.js} +3 -3
  52. package/dist/{configure-J_r5yf-x.js → configure-BvLhk-vk.js} +3 -3
  53. package/dist/{configure-BZg51IRW.js → configure-CR_H0TGw.js} +17 -17
  54. package/dist/{control-ui-assets-d6VtDSeo.js → control-ui-assets-BYEy341x.js} +1 -1
  55. package/dist/{cron-cli-Dxj_PFB9.js → cron-cli-kx4mDvyb.js} +11 -11
  56. package/dist/{daemon-cli-Ca-rxRI7.js → daemon-cli-BPphu66E.js} +15 -15
  57. package/dist/{daemon-install-v-mqoHye.js → daemon-install-MOrssUh2.js} +4 -4
  58. package/dist/{daemon-install-helpers-CZDVO_MU.js → daemon-install-helpers-CJtiW2RE.js} +11 -11
  59. package/dist/{deliver-f-YZpnF5.js → deliver-BkXhWlhP.js} +7 -7
  60. package/dist/{deliver-D-f6Wa3i.js → deliver-DBXe-ZmL.js} +1 -1
  61. package/dist/deliver-runtime-DbymeppL.js +61 -0
  62. package/dist/{deliver-runtime-_egya0QZ.js → deliver-runtime-GlnBJNCj.js} +3 -3
  63. package/dist/deps-send-discord.runtime-OZDSsMD1.js +36 -0
  64. package/dist/deps-send-imessage.runtime-BI2MiGBZ.js +35 -0
  65. package/dist/deps-send-signal.runtime-BlfNS-W1.js +34 -0
  66. package/dist/deps-send-slack.runtime-CkRysg88.js +32 -0
  67. package/dist/{deps-send-telegram.runtime-CU9Pew2o.js → deps-send-telegram.runtime-DFzAh4tt.js} +16 -16
  68. package/dist/{deps-send-whatsapp.runtime-CiG6xd2e.js → deps-send-whatsapp.runtime-CslTuV47.js} +7 -7
  69. package/dist/deps-send-whatsapp.runtime-D-4vBOrs.js +119 -0
  70. package/dist/{devices-cli-DIg7WYwm.js → devices-cli-DsLz4bXV.js} +8 -8
  71. package/dist/{diagnostic-Io9OfTj2.js → diagnostic-B2HYyQ8L.js} +1 -1
  72. package/dist/{diagnostics-DQI0oT2F.js → diagnostics-B7TvAs1Y.js} +5 -5
  73. package/dist/{directory-cli-Dy3Q9XMb.js → directory-cli-D8-5sEMN.js} +7 -7
  74. package/dist/{dns-cli-CLPgP1NM.js → dns-cli-CLhU3R0X.js} +5 -5
  75. package/dist/{dock-W3cGg46W.js → dock-DJJAj46v.js} +4 -4
  76. package/dist/{docs-cli-BpZtes_j.js → docs-cli--gGxz79Z.js} +4 -4
  77. package/dist/{doctor-completion-Ce6ELjT5.js → doctor-completion-CvQj6O2Q.js} +2 -2
  78. package/dist/{doctor-completion-CtzmXwE3.js → doctor-completion-wX-JySOG.js} +1 -1
  79. package/dist/{doctor-config-flow-Dc1HKudQ.js → doctor-config-flow-DXsHAt2t.js} +15 -15
  80. package/dist/{enable-Do8jn9gg.js → enable-Dp5n5D46.js} +1 -1
  81. package/dist/entry.js +2 -2
  82. package/dist/{exec-approvals-allowlist-DOxIMtXP.js → exec-approvals-allowlist-C9ZJK4Gd.js} +1 -1
  83. package/dist/{exec-approvals-cli-DGpM86zY.js → exec-approvals-cli-DJgyhlQI.js} +16 -16
  84. package/dist/{exec-safe-bin-runtime-policy-DhLi-jyO.js → exec-safe-bin-runtime-policy-CSWN6lxg.js} +2 -2
  85. package/dist/{fetch-BClIo0ZD.js → fetch-BA3uuEpf.js} +3 -3
  86. package/dist/{fetch-guard-C-CRoLDY.js → fetch-guard-C34T9Lg9.js} +1 -1
  87. package/dist/{plugin-sdk/fs-safe-Dqmpk-Fr.js → fs-safe-DPYj7h8A.js} +6 -6
  88. package/dist/{gateway-cli-BJsxsz40.js → gateway-cli-CFgc8s-Z.js} +1 -1
  89. package/dist/{gateway-cli-BZDvkqJu.js → gateway-cli-DFVbXY2h.js} +153 -153
  90. package/dist/{gateway-rpc-F18gNFkP.js → gateway-rpc-CdMQ58t-.js} +1 -1
  91. package/dist/{health-3pSJD-u-.js → health-xBOt7lp3.js} +11 -11
  92. package/dist/{hooks-cli-CU94KjOw.js → hooks-cli-DED6hmbm.js} +81 -81
  93. package/dist/{hooks-status-BlgSVDvN.js → hooks-status-DMFBAUq8.js} +1 -1
  94. package/dist/{image-pyJhsETJ.js → image-DMU5SnGB.js} +5 -5
  95. package/dist/{image-C-C7hQ26.js → image-j_UomzVG.js} +1 -1
  96. package/dist/{image-ops-LFsSCTyI.js → image-ops-B2uuLIGD.js} +10 -10
  97. package/dist/image-runtime-BL0nz9jO.js +55 -0
  98. package/dist/{image-runtime-D7n4dID4.js → image-runtime-BNh3IfMj.js} +3 -3
  99. package/dist/index.js +1 -1
  100. package/dist/{inspect-CecVmtMp.js → inspect-Bwnw_UjM.js} +4 -4
  101. package/dist/{install-safe-path-DqI19VEv.js → install-safe-path-3muwy3fu.js} +25 -25
  102. package/dist/{installs-P-pYAJm1.js → installs-BiQDtPF0.js} +9 -9
  103. package/dist/{ipv4-CB0e8hdy.js → ipv4-Cl0LHiMy.js} +1 -1
  104. package/dist/{ir-CpO3-MQs.js → ir-tkiWcHy6.js} +8 -8
  105. package/dist/{issue-format-BP_8Uzq5.js → issue-format-CVVBG2XC.js} +1 -1
  106. package/dist/{json-files-rR19q30D.js → json-files-CuJjdF_0.js} +8 -8
  107. package/dist/{lifecycle-core-Bj47aKSO.js → lifecycle-core-C6bIL3hq.js} +5 -5
  108. package/dist/llm-slug-generator.js +6 -6
  109. package/dist/{login-DYouthtN.js → login-BEjm9EOB.js} +3 -3
  110. package/dist/{login-qr-CrLstrfx.js → login-qr-CbXbfbKZ.js} +6 -6
  111. package/dist/{logs-cli-BWxd4Vlu.js → logs-cli-DLymQphh.js} +9 -9
  112. package/dist/{manager-GxUrWGzI.js → manager-Co4qUpQq.js} +14 -14
  113. package/dist/{manager-runtime-B6dQZ95S.js → manager-runtime-C4uErAXw.js} +9 -9
  114. package/dist/{manifest-registry-1ACGW3OR.js → manifest-registry-7kwtbCH-.js} +1 -1
  115. package/dist/{memory-cli-nLUA3TJJ.js → memory-cli-BpGa2Md3.js} +12 -12
  116. package/dist/{model-CFAguW1X.js → model-B3UWkUkt.js} +2 -2
  117. package/dist/{model-catalog-Cc2Y6aO9.js → model-catalog-D3BDTSon.js} +3 -3
  118. package/dist/{model-picker-42DaAd5Q.js → model-picker-BMUukKtX.js} +12 -2
  119. package/dist/{model-picker-XxRh755s.js → model-picker-MhyQtM_M.js} +16 -6
  120. package/dist/{models-B554bYQk.js → models-DjiIkVPu.js} +17 -17
  121. package/dist/{models-cli-6F6W0KTG.js → models-cli-BrRdHfrZ.js} +78 -78
  122. package/dist/{models-config-D96CeX01.js → models-config-Cfv2TQXX.js} +6 -6
  123. package/dist/{net-CmP6gw-e.js → net-nlF6thgH.js} +2 -2
  124. package/dist/{node-cli-CF7gqWi6.js → node-cli-BNY4sO1l.js} +33 -33
  125. package/dist/{node-command-policy-D-TrkI3I.js → node-command-policy-CWFxjK-r.js} +1 -1
  126. package/dist/{node-service-CKaruDMJ.js → node-service-DJ2PdPiI.js} +1 -1
  127. package/dist/{nodes-cli-C7C1I10u.js → nodes-cli-B2U9aqFb.js} +16 -16
  128. package/dist/{nodes-screen-Bv_hP-W3.js → nodes-screen-IsdPNZvL.js} +7 -7
  129. package/dist/{npm-pack-install-Dn3FiWXB.js → npm-pack-install-B887us7R.js} +18 -18
  130. package/dist/{npm-resolution-_EeE_Ujp.js → npm-resolution-5DLtRYEq.js} +4 -4
  131. package/dist/{onboard-Drnwax3G.js → onboard-BnXVNO2s.js} +2 -2
  132. package/dist/{onboard-BBE2XnYk.js → onboard-CFYdBaxI.js} +6 -6
  133. package/dist/{onboard-channels-Blm8a9Xa.js → onboard-channels-Dt3KBZ1w.js} +21 -21
  134. package/dist/{onboard-custom-CCmKBt2X.js → onboard-custom-DRKG6mwB.js} +4 -4
  135. package/dist/{onboard-custom-CpzXkv9M.js → onboard-custom-xZqh5J3l.js} +1 -1
  136. package/dist/{onboard-helpers-DHa51Syk.js → onboard-helpers-lV9ToTVf.js} +10 -10
  137. package/dist/{onboard-hooks-DyxckB2C.js → onboard-hooks-CTbjgLDl.js} +4 -4
  138. package/dist/{onboard-remote-DIdDJK99.js → onboard-remote-B5pb0k_J.js} +4 -4
  139. package/dist/{onboard-skills-tmtzDwJK.js → onboard-skills-MnGqG1in.js} +4 -4
  140. package/dist/{onboarding-gTeRtrT0.js → onboarding-Cckw2J8d.js} +4 -4
  141. package/dist/{onboarding-CzKQyWBA.js → onboarding-lys5RDtd.js} +14 -14
  142. package/dist/{onboarding.finalize-qUj9NQZX.js → onboarding.finalize-BzIsvr89.js} +3 -3
  143. package/dist/{onboarding.finalize-Yn7Z20A9.js → onboarding.finalize-DcRoSMD8.js} +87 -87
  144. package/dist/{onboarding.gateway-config-DXSZjMAQ.js → onboarding.gateway-config-BZK3obC7.js} +18 -18
  145. package/dist/{onboarding.secret-input-CZllOF9-.js → onboarding.secret-input-Blkshntx.js} +1 -1
  146. package/dist/{openai-model-default-B9Uvm-HD.js → openai-model-default-BYZDBOLH.js} +2 -2
  147. package/dist/{outbound-attachment-CGkDHHwN.js → outbound-attachment-BLSOzWVO.js} +2 -2
  148. package/dist/{outbound-eY3iircJ.js → outbound-erFyoasR.js} +3 -3
  149. package/dist/{pairing-cli-qUIV_ogK.js → pairing-cli-Cm5KvsLg.js} +8 -8
  150. package/dist/{pairing-labels-CUV6LNM1.js → pairing-labels-IQFEI8BA.js} +1 -1
  151. package/dist/{pairing-store-iHMQLc47.js → pairing-store-DQlHmWN8.js} +3 -3
  152. package/dist/{plugin-sdk/path-alias-guards-gBhrAn14.js → path-alias-guards-vfYYQFIg.js} +1 -1
  153. package/dist/{path-safety-D7CjFQvf.js → path-safety-C95DzArw.js} +1 -1
  154. package/dist/{paths-D6mnO6Ni.js → paths-DfuVHiHu.js} +9 -9
  155. package/dist/{pi-embedded-CHzwPt6X.js → pi-embedded-BP2UlUm_.js} +24 -24
  156. package/dist/{pi-embedded-helpers-BVBXhn3i.js → pi-embedded-helpers-BFbdgYu8.js} +6 -6
  157. package/dist/{pi-embedded-helpers-Bse_QhEf.js → pi-embedded-helpers-CmLnmKlb.js} +3 -3
  158. package/dist/{pi-model-discovery-IkNhzHow.js → pi-model-discovery-CUhGY1J_.js} +1 -1
  159. package/dist/{pi-model-discovery-runtime-CifWOHbQ.js → pi-model-discovery-runtime-BH5_gJ5L.js} +5 -5
  160. package/dist/{pi-tools.before-tool-call.runtime-CA2a1iBP.js → pi-tools.before-tool-call.runtime-UE6shJzT.js} +5 -5
  161. package/dist/{pi-tools.policy-BoLQW6Wp.js → pi-tools.policy-COmj0F9F.js} +5 -5
  162. package/dist/{plugin-auto-enable-COht5jxQ.js → plugin-auto-enable-BcF0qNu9.js} +3 -3
  163. package/dist/{plugin-registry-FJ90EneI.js → plugin-registry-CJmMN38T.js} +3 -3
  164. package/dist/plugin-sdk/discord.js +6 -6
  165. package/dist/plugin-sdk/index.js +50 -50
  166. package/dist/plugin-sdk/signal.js +2 -2
  167. package/dist/plugin-sdk/zalouser.js +2 -2
  168. package/dist/{plugins-Bc7YM9X-.js → plugins-BDTkSIi7.js} +2 -2
  169. package/dist/{plugins-cli-CTRNVYrz.js → plugins-cli-B_txJJlN.js} +83 -83
  170. package/dist/{ports-DMeUt80n.js → ports-0jLyYbvQ.js} +2 -2
  171. package/dist/{ports-BzfeaNjw.js → ports-Be82TlEg.js} +1 -1
  172. package/dist/{program-C459C7fE.js → program-CiVwDECs.js} +81 -81
  173. package/dist/{program-context-CQGS-T69.js → program-context-DL7G8nIV.js} +9 -9
  174. package/dist/{prompt-select-styled-Db5isrWq.js → prompt-select-styled-BrkB1FUz.js} +40 -40
  175. package/dist/{prompt-select-styled-CbU0kt6K.js → prompt-select-styled-D2v-PcJd.js} +1 -1
  176. package/dist/{provider-auth-helpers-CHA2RYGH.js → provider-auth-helpers-HUTJPJzR.js} +5 -5
  177. package/dist/{proxy-env-DkDM4lyi.js → proxy-env-BDzLr-Xu.js} +1 -1
  178. package/dist/{push-apns-QRl14PL-.js → push-apns-rK-2DkTr.js} +5 -5
  179. package/dist/{pw-ai-BwRP3TWc.js → pw-ai-7kHgUGj0.js} +1 -1
  180. package/dist/{pw-ai-BkViDf6X.js → pw-ai-DL4-zFQ2.js} +18 -18
  181. package/dist/{plugin-sdk/qmd-manager-6bozlfFg.js → qmd-manager-BkSWV1Q1.js} +17 -11
  182. package/dist/{qr-cli-Lue0weA0.js → qr-cli-ycULxbDe.js} +2 -2
  183. package/dist/{query-expansion-C0HUJbRn.js → query-expansion-DI9INxTg.js} +12 -12
  184. package/dist/{redact-snapshot-j2UcqIGl.js → redact-snapshot-COZ-I-Tx.js} +1 -1
  185. package/dist/{register.agent-BcHDGbDj.js → register.agent-Bk8XUUdB.js} +2 -2
  186. package/dist/{register.agent-CKuJqUxQ.js → register.agent-CKQDO-Ln.js} +94 -94
  187. package/dist/register.configure-CRVwhLCu.js +165 -0
  188. package/dist/{register.configure-C7zgVxZQ.js → register.configure-pqjsFCmc.js} +4 -4
  189. package/dist/{register.maintenance-BvXK5kse.js → register.maintenance-CmYWQzFL.js} +95 -95
  190. package/dist/{register.maintenance-HxvARfCH.js → register.maintenance-DTBy1d2x.js} +4 -4
  191. package/dist/{register.message-CexCaCLj.js → register.message-Dvy0_w6O.js} +74 -74
  192. package/dist/{register.onboard-BSoXszGW.js → register.onboard-Bp_ORnSC.js} +2 -2
  193. package/dist/{register.onboard-CYj4_MtL.js → register.onboard-qDUZWg2_.js} +18 -18
  194. package/dist/{register.setup-COivNCUG.js → register.setup-CyM-Xcuz.js} +21 -21
  195. package/dist/{register.setup-BCIiKYDH.js → register.setup-DPISAnNR.js} +2 -2
  196. package/dist/{register.status-health-sessions-DV9c3uve.js → register.status-health-sessions-B3hsvwPb.js} +88 -88
  197. package/dist/{register.subclis-DMvO_J4V.js → register.subclis-GFcxmic8.js} +31 -31
  198. package/dist/{rpc-B8VkWVmY.js → rpc-C4LCuyHT.js} +1 -1
  199. package/dist/{run-main-2d0yMxyZ.js → run-main-C4ENRKiY.js} +93 -93
  200. package/dist/{runtime-config-collectors-BTU0eKTb.js → runtime-config-collectors-nl4J0eGm.js} +1 -1
  201. package/dist/{runtime-CDZM2wLQ.js → runtime-p-NlFhs9.js} +3 -3
  202. package/dist/{runtime-whatsapp-login.runtime-BO0mX9_r.js → runtime-whatsapp-login.runtime-EkEBg3KF.js} +7 -7
  203. package/dist/{runtime-whatsapp-outbound.runtime-CwpvqY32.js → runtime-whatsapp-outbound.runtime-DburiWRT.js} +15 -15
  204. package/dist/{sandbox-WsTfTuEp.js → sandbox-De3f2XMI.js} +18 -18
  205. package/dist/{sandbox-cli-Sgsu6dPU.js → sandbox-cli-mDvQrS3E.js} +25 -25
  206. package/dist/{secrets-cli-D2Nyn2HJ.js → secrets-cli-Qgj7B-Ac.js} +11 -11
  207. package/dist/{security-cli-uIuuoX2g.js → security-cli-kZfh-l3V.js} +42 -42
  208. package/dist/{send-6jRKGsRs.js → send-BCE8qHfO.js} +5 -5
  209. package/dist/{send-BobtsK6j.js → send-DomUTnc_.js} +11 -11
  210. package/dist/{send-DcJ1pKjV.js → send-Dp0cFCnc.js} +4 -4
  211. package/dist/{send-NhE5ebSK.js → send-DxZOuYSz.js} +8 -8
  212. package/dist/{send-BxrUZpiG.js → send-e5FYMOJj.js} +6 -6
  213. package/dist/{server-FGj_ECLz.js → server-DUUdvkpq.js} +20 -20
  214. package/dist/{server-context-BHejgqzS.js → server-context-DPghueRG.js} +12 -12
  215. package/dist/{server-lifecycle-BAtwXGHD.js → server-lifecycle-D80aUXgn.js} +2 -2
  216. package/dist/{server-middleware-60oUYecQ.js → server-middleware-oNgBIITD.js} +1 -1
  217. package/dist/{server-node-events-7TeThsXp.js → server-node-events-Dwccbidf.js} +74 -74
  218. package/dist/{service-DsnrBnut.js → service-D6lUMZKF.js} +15 -15
  219. package/dist/{session-eXSdl5mb.js → session-D0jodcgT.js} +1 -1
  220. package/dist/{session-utils-BD5Z6cCa.js → session-utils-BrZ1ZzVq.js} +6 -6
  221. package/dist/{sessions-PQyVIndD.js → sessions-C-_rnutd.js} +4 -4
  222. package/dist/{sessions-oQJONGWF.js → sessions-C5HWgT1_.js} +15 -15
  223. package/dist/{shared-tolKQpGA.js → shared-BpdBkle5.js} +1 -1
  224. package/dist/{shared-B7szWIQb.js → shared-DIMaxrU0.js} +3 -3
  225. package/dist/{skill-commands-BAE31S6L.js → skill-commands-CQlR5HNK.js} +5 -5
  226. package/dist/{skill-scanner--QKHR8U0.js → skill-scanner-CvS725eQ.js} +6 -6
  227. package/dist/{skills-EwyaIyKC.js → skills-C85azDXm.js} +3 -3
  228. package/dist/{skills-cli-DCXgBe7w.js → skills-cli-C4VYbHrW.js} +5 -5
  229. package/dist/{skills-install-CnnbnjQD.js → skills-install-St1w23Ub.js} +6 -6
  230. package/dist/{skills-status-Bv8Xt7Lc.js → skills-status-DkO7rxE8.js} +1 -1
  231. package/dist/{slash-commands.runtime-Dcrcjgcb.js → slash-commands.runtime-BPntiJaM.js} +11 -11
  232. package/dist/{slash-dispatch.runtime-DuJRl-LD.js → slash-dispatch.runtime-Dh2L_3Tg.js} +6 -6
  233. package/dist/slash-dispatch.runtime-Jv4P4aR-.js +114 -0
  234. package/dist/{slash-skill-commands.runtime-ClUG1YOE.js → slash-skill-commands.runtime-DK73fWGb.js} +15 -15
  235. package/dist/{squidclaw-root-JXyRbQLJ.js → squidclaw-root-BQfLymzj.js} +8 -8
  236. package/dist/{status-BHMVPBt8.js → status-C0aKFAb1.js} +27 -27
  237. package/dist/{status.update-BGIm6we4.js → status.update-CiLU9RPF.js} +2 -2
  238. package/dist/{store-BTkIx401.js → store-BEIcnlgx.js} +5 -5
  239. package/dist/{subagent-registry-O65q5PYJ.js → subagent-registry-2CAukxv5.js} +149 -149
  240. package/dist/{subagent-registry-runtime-COygB9b1.js → subagent-registry-runtime-BRNDawlJ.js} +6 -6
  241. package/dist/subagent-registry-runtime-krMWhbu5.js +114 -0
  242. package/dist/{system-cli-CiuvFiDQ.js → system-cli-DcsDrms5.js} +9 -9
  243. package/dist/{system-run-command-B0gZa8Pc.js → system-run-command-_TWqwVYR.js} +1 -1
  244. package/dist/{systemd-BrFu3I64.js → systemd-CD8s-qZ_.js} +9 -9
  245. package/dist/{systemd-hints-e5KJNDJB.js → systemd-hints-CuQVI0A1.js} +6 -6
  246. package/dist/{systemd-linger-DIBXRxA8.js → systemd-linger-BVu_9dOp.js} +1 -1
  247. package/dist/{tables-7v1wqCPH.js → tables-C2W8-cTf.js} +1 -1
  248. package/dist/{tailnet-CUG3_Vq2.js → tailnet-BTCJZWyh.js} +1 -1
  249. package/dist/{plugin-sdk/target-errors-aOwE-MIU.js → target-errors-CRQlPF1u.js} +2 -2
  250. package/dist/{tool-images-D6mmxuWS.js → tool-images-CyzWvDUu.js} +1 -1
  251. package/dist/{tui-GobDRguA.js → tui-Dihw6VdK.js} +6 -6
  252. package/dist/{tui-cli-CJFzVxnV.js → tui-cli-3NDOn7Es.js} +32 -32
  253. package/dist/{update-BhRrb6BI.js → update-1JhjCqjy.js} +3 -3
  254. package/dist/{update-cli-XQA8HnPH.js → update-cli-HwgCPSAf.js} +4 -4
  255. package/dist/{update-cli-MNc9pQ8Z.js → update-cli-ky4dsy09.js} +104 -104
  256. package/dist/{update-runner-D91Jmj0S.js → update-runner-BtDKPADe.js} +16 -16
  257. package/dist/{web-DyCuTR9b.js → web-B7kbCskR.js} +6 -6
  258. package/dist/web-Cz3L2HOD.js +118 -0
  259. package/dist/{webhooks-cli-L3FWqivw.js → webhooks-cli-BhL0q4w0.js} +6 -6
  260. package/dist/{whatsapp-actions-B1MuSaby.js → whatsapp-actions-DiE2QeMS.js} +17 -17
  261. package/dist/{with-timeout-DLPklM0i.js → with-timeout-Cz134FWR.js} +3 -3
  262. package/dist/{workspace-BbO-M3Jv.js → workspace-D5vNjk5G.js} +1 -1
  263. package/dist/{workspace-dirs-D8D-Ghcl.js → workspace-dirs-CjMIsQti.js} +1 -1
  264. package/dist/{wsl-CsGe5QCP.js → wsl-CvQfS6aU.js} +2 -2
  265. package/package.json +1 -1
  266. package/dist/deliver-runtime-COMirbwL.js +0 -61
  267. package/dist/deps-send-discord.runtime-DolibeT1.js +0 -36
  268. package/dist/deps-send-imessage.runtime-C-ZmN2L6.js +0 -35
  269. package/dist/deps-send-signal.runtime-DnMP5CEo.js +0 -34
  270. package/dist/deps-send-slack.runtime-Cieqzbk_.js +0 -32
  271. package/dist/deps-send-whatsapp.runtime-D5qwjBlI.js +0 -119
  272. package/dist/fs-safe-BPQ-per2.js +0 -352
  273. package/dist/image-runtime-OEuSJixg.js +0 -55
  274. package/dist/path-alias-guards-DeOVetT7.js +0 -43
  275. package/dist/plugin-sdk/accounts-BNuRM3rG.js +0 -288
  276. package/dist/plugin-sdk/accounts-CGTYP7Rh.js +0 -46
  277. package/dist/plugin-sdk/accounts-CcS9IAhD.js +0 -35
  278. package/dist/plugin-sdk/active-listener-CTsLn1AX.js +0 -50
  279. package/dist/plugin-sdk/api-key-rotation-Bhck7wki.js +0 -181
  280. package/dist/plugin-sdk/audio-preflight-CRGLqp-g.js +0 -69
  281. package/dist/plugin-sdk/audio-transcription-runner-RXsskMMk.js +0 -2176
  282. package/dist/plugin-sdk/audit-membership-runtime-B9b-zRwg.js +0 -58
  283. package/dist/plugin-sdk/channel-activity-gPvD1D7S.js +0 -94
  284. package/dist/plugin-sdk/channel-web-LGl1zPJt.js +0 -2256
  285. package/dist/plugin-sdk/chrome-9Y_LcUg1.js +0 -2415
  286. package/dist/plugin-sdk/commands-registry-CcdEPxVg.js +0 -1125
  287. package/dist/plugin-sdk/config-CrQ5bCrw.js +0 -17912
  288. package/dist/plugin-sdk/deliver-D3xr5AkB.js +0 -1694
  289. package/dist/plugin-sdk/deliver-runtime-B79ZQu69.js +0 -32
  290. package/dist/plugin-sdk/deps-send-discord.runtime-BOQZIqC8.js +0 -23
  291. package/dist/plugin-sdk/deps-send-imessage.runtime-CuHOc9Ka.js +0 -22
  292. package/dist/plugin-sdk/deps-send-signal.runtime-iPynghkE.js +0 -21
  293. package/dist/plugin-sdk/deps-send-slack.runtime-DNTbE5jS.js +0 -19
  294. package/dist/plugin-sdk/deps-send-telegram.runtime-7CR-xtCF.js +0 -24
  295. package/dist/plugin-sdk/deps-send-whatsapp.runtime-bUi8kghi.js +0 -57
  296. package/dist/plugin-sdk/diagnostic-BXkLYs_9.js +0 -319
  297. package/dist/plugin-sdk/errors-B8oJXuCF.js +0 -54
  298. package/dist/plugin-sdk/fetch-guard-C55uvn27.js +0 -156
  299. package/dist/plugin-sdk/image-3xW7IJdq.js +0 -2310
  300. package/dist/plugin-sdk/image-ops-BjK2qZZn.js +0 -584
  301. package/dist/plugin-sdk/image-runtime-CZZJJqcW.js +0 -25
  302. package/dist/plugin-sdk/ir-CS7uuQhN.js +0 -1296
  303. package/dist/plugin-sdk/local-roots-DmOKwiNW.js +0 -186
  304. package/dist/plugin-sdk/logger-DDdrdbDu.js +0 -1163
  305. package/dist/plugin-sdk/login-BSEeU27Y.js +0 -57
  306. package/dist/plugin-sdk/login-qr-BwWJsDSj.js +0 -320
  307. package/dist/plugin-sdk/manager-DiXPCubI.js +0 -3917
  308. package/dist/plugin-sdk/manager-runtime-Ct0m9UJC.js +0 -15
  309. package/dist/plugin-sdk/outbound-attachment-BoFx05zw.js +0 -19
  310. package/dist/plugin-sdk/outbound-cpqK1GFe.js +0 -212
  311. package/dist/plugin-sdk/paths-C6W4VHoa.js +0 -166
  312. package/dist/plugin-sdk/pi-embedded-helpers-C-B9B6Sp.js +0 -9627
  313. package/dist/plugin-sdk/pi-model-discovery-BGEeoPzN.js +0 -134
  314. package/dist/plugin-sdk/pi-model-discovery-runtime-BHZ_Htob.js +0 -8
  315. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-ByN_xThw.js +0 -354
  316. package/dist/plugin-sdk/plugins-D5cdn70e.js +0 -864
  317. package/dist/plugin-sdk/proxy-fetch-ZPEvp58f.js +0 -38
  318. package/dist/plugin-sdk/pw-ai-C_QOIuin.js +0 -1938
  319. package/dist/plugin-sdk/query-expansion-eeVz_aEm.js +0 -1011
  320. package/dist/plugin-sdk/redact-BoNEjbpF.js +0 -319
  321. package/dist/plugin-sdk/reply-CQUX_haM.js +0 -98828
  322. package/dist/plugin-sdk/resolve-outbound-target-Dbz0O8cR.js +0 -40
  323. package/dist/plugin-sdk/run-with-concurrency-5DMu9szx.js +0 -1994
  324. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-OthrtsLL.js +0 -10
  325. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Q2HL0zL3.js +0 -19
  326. package/dist/plugin-sdk/send-BACEu1Un.js +0 -414
  327. package/dist/plugin-sdk/send-BU4OoR7u.js +0 -2587
  328. package/dist/plugin-sdk/send-DbxOJ_BC.js +0 -3135
  329. package/dist/plugin-sdk/send-n932vjT5.js +0 -540
  330. package/dist/plugin-sdk/send-uCPS53j8.js +0 -503
  331. package/dist/plugin-sdk/session-DenDKR_-.js +0 -169
  332. package/dist/plugin-sdk/skill-commands-BK1KDKmS.js +0 -342
  333. package/dist/plugin-sdk/skills-D4am-zkO.js +0 -1428
  334. package/dist/plugin-sdk/slash-commands.runtime-DWfFqMZw.js +0 -13
  335. package/dist/plugin-sdk/slash-dispatch.runtime-pnWH5AjM.js +0 -52
  336. package/dist/plugin-sdk/slash-skill-commands.runtime-DxvNWv_E.js +0 -16
  337. package/dist/plugin-sdk/ssrf-2WBi1Tzx.js +0 -202
  338. package/dist/plugin-sdk/store-BKDMuvyn.js +0 -81
  339. package/dist/plugin-sdk/subagent-registry-runtime-hH9ADku1.js +0 -52
  340. package/dist/plugin-sdk/tables-CrDYcv_b.js +0 -55
  341. package/dist/plugin-sdk/thinking-D41FMh9T.js +0 -1206
  342. package/dist/plugin-sdk/tokens-CTIYTLWu.js +0 -52
  343. package/dist/plugin-sdk/tool-images-CWc54lpI.js +0 -274
  344. package/dist/plugin-sdk/web-DjKONHqF.js +0 -56
  345. package/dist/plugin-sdk/whatsapp-actions-DEZcm_CZ.js +0 -80
  346. package/dist/qmd-manager-BsL_hcOB.js +0 -1454
  347. package/dist/register.configure--iuZf-Se.js +0 -165
  348. package/dist/slash-dispatch.runtime-B7O4Wz6b.js +0 -114
  349. package/dist/subagent-registry-runtime-CHCU3Vzl.js +0 -114
  350. package/dist/target-errors-C_rnMuJ2.js +0 -195
  351. package/dist/web-CPFzvE3y.js +0 -118
@@ -3,111 +3,111 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { d as defaultRuntime, t as createSubsystemLogger, u as createNonExitingRuntime } from "./subsystem-Bw5n50gj.js";
4
4
  import { t as parseBooleanValue$1 } from "./boolean-DtWR5bt3.js";
5
5
  import { r as isTruthyEnvValue } from "./entry.js";
6
- import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveSquidClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-CwmInMDd.js";
6
+ import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveSquidClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-CvmKVnsR.js";
7
7
  import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
8
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-nEVgVklg.js";
8
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-Cq4vDGrK.js";
9
9
  import { D as resolveThreadParentSessionKey, E as parseAgentSessionKey, S as isAcpSessionKey, T as isSubagentSessionKey, _ as normalizeAccountId$2, b as deriveSessionChatType, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, l as normalizeMainKey, n as DEFAULT_MAIN_KEY, o as classifySessionKeyShape, p as scopedHeartbeatWakeOptions, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as normalizeOptionalAccountId, w as isCronSessionKey, x as getSubagentDepth, y as isBlockedObjectKey } from "./session-key-k6urs9r-.js";
10
10
  import { C as sliceUtf16Safe, E as isPlainObject, S as sleep$1, T as truncateUtf16Safe, b as shortenHomeInString, c as escapeRegExp, p as normalizeE164, r as clampInt, t as CONFIG_DIR, u as isRecord$1, v as resolveUserPath, x as shortenHomePath } from "./utils-D6vohX1h.js";
11
- import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveSquidClawPackageRoot } from "./squidclaw-root-JXyRbQLJ.js";
11
+ import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveSquidClawPackageRoot } from "./squidclaw-root-BQfLymzj.js";
12
12
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-DL3N22PJ.js";
13
13
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-TSiqsZw1.js";
14
14
  import { E as triggerInternalHook, M as normalizeResolvedSecretInputString, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, k as coerceSecretRef, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry, s as normalizeAnyChannelId, u as getActivePluginRegistry, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-BXcl3IkC.js";
15
15
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CxitgiZA.js";
16
16
  import { n as isDangerousHostEnvVarName } from "./host-env-security-lcjXF83D.js";
17
17
  import { t as VERSION } from "./version-3so140Zi.js";
18
- import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverSquidClawPlugins } from "./manifest-registry-1ACGW3OR.js";
19
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-W3cGg46W.js";
18
+ import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverSquidClawPlugins } from "./manifest-registry-7kwtbCH-.js";
19
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-DJJAj46v.js";
20
20
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-kzSMVKJz.js";
21
21
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BAST85mP.js";
22
- import { i as buildModelAliasLines, n as resolveModel } from "./model-CFAguW1X.js";
23
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-IkNhzHow.js";
24
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-Io9OfTj2.js";
25
- 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-EwyaIyKC.js";
26
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DeOVetT7.js";
22
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-B3UWkUkt.js";
23
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CUhGY1J_.js";
24
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-B2HYyQ8L.js";
25
+ 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-C85azDXm.js";
26
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-vfYYQFIg.js";
27
27
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DqvtYF2o.js";
28
- import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-oQJONGWF.js";
29
- import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-Bc7YM9X-.js";
30
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-BH9Qo1sQ.js";
31
- import { r as resolveIMessageAccount } from "./accounts-Cuwg9Tan.js";
32
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-B1RxFghM.js";
33
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DcJ1pKjV.js";
34
- import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, 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 buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-BobtsK6j.js";
28
+ import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-C5HWgT1_.js";
29
+ import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-BDTkSIi7.js";
30
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-BK8I0Svb.js";
31
+ import { r as resolveIMessageAccount } from "./accounts-DeqNOvBo.js";
32
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-KzgPbLHP.js";
33
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-Dp0cFCnc.js";
34
+ import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, 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 buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-DomUTnc_.js";
35
35
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-Dn_rzeZN.js";
36
36
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-C8z9KgIz.js";
37
- import { r as writeJsonAtomic } from "./json-files-rR19q30D.js";
37
+ import { r as writeJsonAtomic } from "./json-files-CuJjdF_0.js";
38
38
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-DgzPL8Hc.js";
39
- import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-XYT0IAgJ.js";
40
- import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BSt3WRnY.js";
41
- import { r as isLoopbackHost } from "./net-CmP6gw-e.js";
39
+ import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-cfjtRboM.js";
40
+ import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-v5CyFgM7.js";
41
+ import { r as isLoopbackHost } from "./net-nlF6thgH.js";
42
42
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-CyQeGziJ.js";
43
43
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DOVPgjwZ.js";
44
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-DLPklM0i.js";
44
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-Cz134FWR.js";
45
45
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-_dzDDlFo.js";
46
- import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-f-YZpnF5.js";
46
+ import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-BkXhWlhP.js";
47
47
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-Bz6Ajr4f.js";
48
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-LFsSCTyI.js";
49
- import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-NhE5ebSK.js";
50
- import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-BVBXhn3i.js";
51
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-WsTfTuEp.js";
52
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DybExwN8.js";
53
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-BHejgqzS.js";
54
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-D6mnO6Ni.js";
48
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-B2uuLIGD.js";
49
+ import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-DxZOuYSz.js";
50
+ import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-BFbdgYu8.js";
51
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-De3f2XMI.js";
52
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CBaHshBY.js";
53
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-DPghueRG.js";
54
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DfuVHiHu.js";
55
55
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-DknVdX-O.js";
56
56
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-BnRmsfe-.js";
57
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BPQ-per2.js";
58
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-DkDM4lyi.js";
59
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BTkIx401.js";
60
- import { i as resolveLsofCommandSync } from "./ports-DMeUt80n.js";
61
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-D6mmxuWS.js";
57
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-DPYj7h8A.js";
58
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-BDzLr-Xu.js";
59
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BEIcnlgx.js";
60
+ import { i as resolveLsofCommandSync } from "./ports-0jLyYbvQ.js";
61
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CyzWvDUu.js";
62
62
  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-CrcT589P.js";
63
- import { t as ensureSquidClawModelsJson } from "./models-config-D96CeX01.js";
64
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-DOxIMtXP.js";
65
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DhLi-jyO.js";
66
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Cc2Y6aO9.js";
67
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BClIo0ZD.js";
68
- import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$1, v as resolveAttachmentKind } from "./audio-transcription-runner-C5qJ-fgR.js";
63
+ import { t as ensureSquidClawModelsJson } from "./models-config-Cfv2TQXX.js";
64
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-C9ZJK4Gd.js";
65
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-CSWN6lxg.js";
66
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-D3BDTSon.js";
67
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BA3uuEpf.js";
68
+ import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$1, v as resolveAttachmentKind } from "./audio-transcription-runner-Xzc1NTsq.js";
69
69
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Mawkd1Br.js";
70
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-C-CRoLDY.js";
71
- import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-pyJhsETJ.js";
70
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-C34T9Lg9.js";
71
+ import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-DMU5SnGB.js";
72
72
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-BisOZb2_.js";
73
73
  import { t as makeProxyFetch } from "./proxy-fetch-DfeBVFag.js";
74
- import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-CpO3-MQs.js";
75
- import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C_rnMuJ2.js";
76
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DDHiW-As.js";
77
- import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-C4UO-mlJ.js";
74
+ import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-tkiWcHy6.js";
75
+ import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-CRQlPF1u.js";
76
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CnX9I_l4.js";
77
+ import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-BI_sjTho.js";
78
78
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-By9arPco.js";
79
79
  import { n as formatTimeAgo } from "./format-relative-Czf5fUjn.js";
80
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-iHMQLc47.js";
80
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-DQlHmWN8.js";
81
81
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-Db6myg-N.js";
82
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-Bv_hP-W3.js";
82
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-IsdPNZvL.js";
83
83
  import { t as killProcessTree$1 } from "./kill-tree-0NV2m8EI.js";
84
- import { t as formatExecCommand } from "./system-run-command-B0gZa8Pc.js";
84
+ import { t as formatExecCommand } from "./system-run-command-_TWqwVYR.js";
85
85
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-DO_ibeH6.js";
86
86
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-CZ0b60YO.js";
87
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-BD5Z6cCa.js";
87
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-BrZ1ZzVq.js";
88
88
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-BL2HPuc5.js";
89
89
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-eNPY7j3q.js";
90
- import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-BAE31S6L.js";
91
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Bsu4_sQM.js";
90
+ import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-CQlR5HNK.js";
91
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-2DTItbwL.js";
92
92
  import { t as buildOutboundMediaLoadOptions } from "./load-options-PN66jbnR.js";
93
93
  import { n as normalizePollInput } from "./polls-C67dmFc-.js";
94
- import { t as convertMarkdownTables } from "./tables-7v1wqCPH.js";
94
+ import { t as convertMarkdownTables } from "./tables-C2W8-cTf.js";
95
95
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-vBANYkEo.js";
96
96
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-C4U8O7GM.js";
97
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CFWQq1nS.js";
98
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-COht5jxQ.js";
99
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-6jRKGsRs.js";
100
- import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-BxrUZpiG.js";
97
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BqwS1Rlq.js";
98
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BcF0qNu9.js";
99
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-BCE8qHfO.js";
100
+ import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-e5FYMOJj.js";
101
101
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-DzfdGdp7.js";
102
102
  import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
103
103
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-tA6LTRr3.js";
104
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-BoLQW6Wp.js";
104
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-COmj0F9F.js";
105
105
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-CXdnb6je.js";
106
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-DN9JuQaB.js";
107
- import { r as detectBinary } from "./onboard-helpers-DHa51Syk.js";
108
- import { t as resolvePairingIdLabel } from "./pairing-labels-CUV6LNM1.js";
109
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-nLUA3TJJ.js";
110
- import { r as resolveMemorySearchConfig } from "./manager-GxUrWGzI.js";
106
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-DjorlW8u.js";
107
+ import { r as detectBinary } from "./onboard-helpers-lV9ToTVf.js";
108
+ import { t as resolvePairingIdLabel } from "./pairing-labels-IQFEI8BA.js";
109
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BpGa2Md3.js";
110
+ import { r as resolveMemorySearchConfig } from "./manager-Co4qUpQq.js";
111
111
  import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-EeoVR--t.js";
112
112
  import { createRequire } from "node:module";
113
113
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -117,7 +117,7 @@ import path, { isAbsolute } from "node:path";
117
117
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
118
118
  import JSON5 from "json5";
119
119
  import { inspect } from "node:util";
120
- import fsPromises, { appendFile, mkdir } from "node:fs/promises";
120
+ import fs$1, { appendFile, mkdir } from "node:fs/promises";
121
121
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
122
122
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
123
123
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -5153,7 +5153,7 @@ async function resolveAgentSessionDirs(stateDir) {
5153
5153
  const agentsDir = path.join(stateDir, "agents");
5154
5154
  let entries = [];
5155
5155
  try {
5156
- entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5156
+ entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5157
5157
  } catch (err) {
5158
5158
  if (err.code === "ENOENT") return [];
5159
5159
  throw err;
@@ -8286,7 +8286,7 @@ async function runWithConcurrency(tasks, limit) {
8286
8286
  //#region src/media-understanding/echo-transcript.ts
8287
8287
  let deliverRuntimePromise$2 = null;
8288
8288
  function loadDeliverRuntime$2() {
8289
- deliverRuntimePromise$2 ??= import("./deliver-runtime-COMirbwL.js");
8289
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-DbymeppL.js");
8290
8290
  return deliverRuntimePromise$2;
8291
8291
  }
8292
8292
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -13122,7 +13122,7 @@ async function resolveSandboxWorkdir(params) {
13122
13122
  cwd: process.cwd(),
13123
13123
  root: params.sandbox.workspaceDir
13124
13124
  });
13125
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13125
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13126
13126
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
13127
13127
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
13128
13128
  return {
@@ -14366,13 +14366,13 @@ async function validateScriptFileForShellBleed(params) {
14366
14366
  cwd: params.workdir,
14367
14367
  root: params.workdir
14368
14368
  });
14369
- stat = await fsPromises.stat(absPath);
14369
+ stat = await fs$1.stat(absPath);
14370
14370
  } catch {
14371
14371
  return;
14372
14372
  }
14373
14373
  if (!stat.isFile()) return;
14374
14374
  if (stat.size > 512 * 1024) return;
14375
- const content = await fsPromises.readFile(absPath, "utf-8");
14375
+ const content = await fs$1.readFile(absPath, "utf-8");
14376
14376
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
14377
14377
  if (first) {
14378
14378
  const idx = first.index;
@@ -23948,7 +23948,7 @@ function normalizeReplyPayload(payload, opts = {}) {
23948
23948
  */
23949
23949
  let deliverRuntimePromise$1 = null;
23950
23950
  function loadDeliverRuntime$1() {
23951
- deliverRuntimePromise$1 ??= import("./deliver-runtime-COMirbwL.js");
23951
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-DbymeppL.js");
23952
23952
  return deliverRuntimePromise$1;
23953
23953
  }
23954
23954
  /**
@@ -24072,7 +24072,7 @@ async function emitResetCommandHooks(params) {
24072
24072
  try {
24073
24073
  const messages = [];
24074
24074
  if (sessionFile) {
24075
- const content = await fsPromises.readFile(sessionFile, "utf-8");
24075
+ const content = await fs$1.readFile(sessionFile, "utf-8");
24076
24076
  for (const line of content.split("\n")) {
24077
24077
  if (!line.trim()) continue;
24078
24078
  try {
@@ -24902,7 +24902,7 @@ async function createModelSelectionState(params) {
24902
24902
  }
24903
24903
  }
24904
24904
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
24905
- const { ensureAuthProfileStore } = await import("./auth-profiles-CwmInMDd.js").then((n) => n.t);
24905
+ const { ensureAuthProfileStore } = await import("./auth-profiles-CvmKVnsR.js").then((n) => n.t);
24906
24906
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
24907
24907
  const providerKey = normalizeProviderId(provider);
24908
24908
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -28498,7 +28498,7 @@ async function readJsonlFromPath(jsonlPath) {
28498
28498
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
28499
28499
  throw new Error("jsonlPath outside allowed roots");
28500
28500
  }
28501
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
28501
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
28502
28502
  if (!isInboundPathAllowed({
28503
28503
  filePath: canonical,
28504
28504
  roots
@@ -28506,7 +28506,7 @@ async function readJsonlFromPath(jsonlPath) {
28506
28506
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
28507
28507
  throw new Error("jsonlPath outside allowed roots");
28508
28508
  }
28509
- return await fsPromises.readFile(canonical, "utf8");
28509
+ return await fs$1.readFile(canonical, "utf8");
28510
28510
  }
28511
28511
  const CanvasToolSchema = Type.Object({
28512
28512
  action: stringEnum(CANVAS_ACTIONS),
@@ -29321,27 +29321,27 @@ function resolveRestartSentinelPath(env = process.env) {
29321
29321
  }
29322
29322
  async function writeRestartSentinel(payload, env = process.env) {
29323
29323
  const filePath = resolveRestartSentinelPath(env);
29324
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
29324
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
29325
29325
  const data = {
29326
29326
  version: 1,
29327
29327
  payload
29328
29328
  };
29329
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29329
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29330
29330
  return filePath;
29331
29331
  }
29332
29332
  async function readRestartSentinel(env = process.env) {
29333
29333
  const filePath = resolveRestartSentinelPath(env);
29334
29334
  try {
29335
- const raw = await fsPromises.readFile(filePath, "utf-8");
29335
+ const raw = await fs$1.readFile(filePath, "utf-8");
29336
29336
  let parsed;
29337
29337
  try {
29338
29338
  parsed = JSON.parse(raw);
29339
29339
  } catch {
29340
- await fsPromises.unlink(filePath).catch(() => {});
29340
+ await fs$1.unlink(filePath).catch(() => {});
29341
29341
  return null;
29342
29342
  }
29343
29343
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
29344
- await fsPromises.unlink(filePath).catch(() => {});
29344
+ await fs$1.unlink(filePath).catch(() => {});
29345
29345
  return null;
29346
29346
  }
29347
29347
  return parsed;
@@ -29353,7 +29353,7 @@ async function consumeRestartSentinel(env = process.env) {
29353
29353
  const filePath = resolveRestartSentinelPath(env);
29354
29354
  const parsed = await readRestartSentinel(env);
29355
29355
  if (!parsed) return null;
29356
- await fsPromises.unlink(filePath).catch(() => {});
29356
+ await fs$1.unlink(filePath).catch(() => {});
29357
29357
  return parsed;
29358
29358
  }
29359
29359
  function formatRestartSentinelMessage(payload) {
@@ -40457,18 +40457,18 @@ function appendImagePathsToPrompt(prompt, paths) {
40457
40457
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
40458
40458
  }
40459
40459
  async function writeCliImages(images) {
40460
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "squidclaw-cli-images-"));
40460
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "squidclaw-cli-images-"));
40461
40461
  const paths = [];
40462
40462
  for (let i = 0; i < images.length; i += 1) {
40463
40463
  const image = images[i];
40464
40464
  const ext = resolveImageExtension(image.mimeType);
40465
40465
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
40466
40466
  const buffer = Buffer.from(image.data, "base64");
40467
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
40467
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
40468
40468
  paths.push(filePath);
40469
40469
  }
40470
40470
  const cleanup = async () => {
40471
- await fsPromises.rm(tempDir, {
40471
+ await fs$1.rm(tempDir, {
40472
40472
  recursive: true,
40473
40473
  force: true
40474
40474
  });
@@ -44440,7 +44440,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
44440
44440
  const log$9 = createSubsystemLogger("session-maintenance-warning");
44441
44441
  let deliverRuntimePromise = null;
44442
44442
  function loadDeliverRuntime() {
44443
- deliverRuntimePromise ??= import("./deliver-runtime-COMirbwL.js");
44443
+ deliverRuntimePromise ??= import("./deliver-runtime-DbymeppL.js");
44444
44444
  return deliverRuntimePromise;
44445
44445
  }
44446
44446
  function shouldSendWarning() {
@@ -45021,7 +45021,7 @@ async function stageSandboxMedia(params) {
45021
45021
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
45022
45022
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
45023
45023
  if (!effectiveWorkspaceDir) return;
45024
- await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
45024
+ await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
45025
45025
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
45026
45026
  cfg,
45027
45027
  accountId: ctx.AccountId
@@ -45080,8 +45080,8 @@ async function stageLocalFileIntoRoot(params) {
45080
45080
  }
45081
45081
  async function stageRemoteFileIntoRoot(params) {
45082
45082
  const tmpRoot = resolvePreferredSquidClawTmpDir();
45083
- await fsPromises.mkdir(tmpRoot, { recursive: true });
45084
- const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
45083
+ await fs$1.mkdir(tmpRoot, { recursive: true });
45084
+ const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
45085
45085
  const tmpPath = path.join(tmpDir, "download");
45086
45086
  try {
45087
45087
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -45092,7 +45092,7 @@ async function stageRemoteFileIntoRoot(params) {
45092
45092
  maxBytes: params.maxBytes
45093
45093
  });
45094
45094
  } finally {
45095
- await fsPromises.rm(tmpDir, {
45095
+ await fs$1.rm(tmpDir, {
45096
45096
  recursive: true,
45097
45097
  force: true
45098
45098
  }).catch(() => {});
@@ -49400,7 +49400,7 @@ const VISION_PROVIDERS = [
49400
49400
  ];
49401
49401
  let imageRuntimePromise = null;
49402
49402
  function loadImageRuntime() {
49403
- imageRuntimePromise ??= import("./image-runtime-OEuSJixg.js");
49403
+ imageRuntimePromise ??= import("./image-runtime-BL0nz9jO.js");
49404
49404
  return imageRuntimePromise;
49405
49405
  }
49406
49406
  /**
@@ -49466,7 +49466,7 @@ async function describeStickerImage(params) {
49466
49466
  const { provider, model } = resolved;
49467
49467
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
49468
49468
  try {
49469
- const buffer = await fsPromises.readFile(imagePath);
49469
+ const buffer = await fs$1.readFile(imagePath);
49470
49470
  const { describeImageWithModel } = await loadImageRuntime();
49471
49471
  return (await describeImageWithModel({
49472
49472
  buffer,
@@ -51296,7 +51296,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
51296
51296
  hasTypedText
51297
51297
  };
51298
51298
  try {
51299
- const { transcribeFirstAudio } = await import("./audio-preflight-CzOW6WUm.js");
51299
+ const { transcribeFirstAudio } = await import("./audio-preflight-C9GE3WMm.js");
51300
51300
  if (params.abortSignal?.aborted) return {
51301
51301
  hasAudioAttachment,
51302
51302
  hasTypedText
@@ -56252,27 +56252,27 @@ let slackSenderRuntimePromise = null;
56252
56252
  let signalSenderRuntimePromise = null;
56253
56253
  let imessageSenderRuntimePromise = null;
56254
56254
  function loadWhatsAppSenderRuntime() {
56255
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-D5qwjBlI.js");
56255
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-D-4vBOrs.js");
56256
56256
  return whatsappSenderRuntimePromise;
56257
56257
  }
56258
56258
  function loadTelegramSenderRuntime() {
56259
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-CU9Pew2o.js");
56259
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-DFzAh4tt.js");
56260
56260
  return telegramSenderRuntimePromise;
56261
56261
  }
56262
56262
  function loadDiscordSenderRuntime() {
56263
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-DolibeT1.js");
56263
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-OZDSsMD1.js");
56264
56264
  return discordSenderRuntimePromise;
56265
56265
  }
56266
56266
  function loadSlackSenderRuntime() {
56267
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-Cieqzbk_.js");
56267
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-CkRysg88.js");
56268
56268
  return slackSenderRuntimePromise;
56269
56269
  }
56270
56270
  function loadSignalSenderRuntime() {
56271
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-DnMP5CEo.js");
56271
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-BlfNS-W1.js");
56272
56272
  return signalSenderRuntimePromise;
56273
56273
  }
56274
56274
  function loadIMessageSenderRuntime() {
56275
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-C-ZmN2L6.js");
56275
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-BI2MiGBZ.js");
56276
56276
  return imessageSenderRuntimePromise;
56277
56277
  }
56278
56278
  function createDefaultDeps() {
@@ -57445,10 +57445,10 @@ function estimateDurationSeconds(pcm) {
57445
57445
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
57446
57446
  }
57447
57447
  async function writeWavFile(pcm) {
57448
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredSquidClawTmpDir(), "discord-voice-"));
57448
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredSquidClawTmpDir(), "discord-voice-"));
57449
57449
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
57450
57450
  const wav = buildWavBuffer(pcm);
57451
- await fsPromises.writeFile(filePath, wav);
57451
+ await fs$1.writeFile(filePath, wav);
57452
57452
  scheduleTempCleanup(tempDir);
57453
57453
  return {
57454
57454
  path: filePath,
@@ -57457,7 +57457,7 @@ async function writeWavFile(pcm) {
57457
57457
  }
57458
57458
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
57459
57459
  setTimeout(() => {
57460
- fsPromises.rm(tempDir, {
57460
+ fs$1.rm(tempDir, {
57461
57461
  recursive: true,
57462
57462
  force: true
57463
57463
  }).catch((err) => {
@@ -62100,7 +62100,7 @@ function normalizeAllowList$1(list) {
62100
62100
  async function detectRemoteHostFromCliPath(cliPath) {
62101
62101
  try {
62102
62102
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
62103
- const content = await fsPromises.readFile(expanded, "utf8");
62103
+ const content = await fs$1.readFile(expanded, "utf8");
62104
62104
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
62105
62105
  if (userHostMatch) return userHostMatch[1];
62106
62106
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -69088,15 +69088,15 @@ let slashCommandsRuntimePromise = null;
69088
69088
  let slashDispatchRuntimePromise = null;
69089
69089
  let slashSkillCommandsRuntimePromise = null;
69090
69090
  function loadSlashCommandsRuntime() {
69091
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-Dcrcjgcb.js");
69091
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BPntiJaM.js");
69092
69092
  return slashCommandsRuntimePromise;
69093
69093
  }
69094
69094
  function loadSlashDispatchRuntime() {
69095
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-B7O4Wz6b.js");
69095
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-Jv4P4aR-.js");
69096
69096
  return slashDispatchRuntimePromise;
69097
69097
  }
69098
69098
  function loadSlashSkillCommandsRuntime() {
69099
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-ClUG1YOE.js");
69099
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-DK73fWGb.js");
69100
69100
  return slashSkillCommandsRuntimePromise;
69101
69101
  }
69102
69102
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -72461,7 +72461,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
72461
72461
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
72462
72462
  let preflightTranscript;
72463
72463
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
72464
- const { transcribeFirstAudio } = await import("./audio-preflight-CzOW6WUm.js");
72464
+ const { transcribeFirstAudio } = await import("./audio-preflight-C9GE3WMm.js");
72465
72465
  preflightTranscript = await transcribeFirstAudio({
72466
72466
  ctx: {
72467
72467
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -73958,7 +73958,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
73958
73958
  }
73959
73959
  async function readCachedCommandHash(accountId, botIdentity) {
73960
73960
  try {
73961
- return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
73961
+ return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
73962
73962
  } catch {
73963
73963
  return null;
73964
73964
  }
@@ -73966,8 +73966,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
73966
73966
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
73967
73967
  const filePath = resolveCommandHashPath(accountId, botIdentity);
73968
73968
  try {
73969
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
73970
- await fsPromises.writeFile(filePath, hash, "utf-8");
73969
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
73970
+ await fs$1.writeFile(filePath, hash, "utf-8");
73971
73971
  } catch {}
73972
73972
  }
73973
73973
  function syncTelegramMenuCommands(params) {
@@ -74811,7 +74811,7 @@ function safeParseState(raw) {
74811
74811
  async function readTelegramUpdateOffset(params) {
74812
74812
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
74813
74813
  try {
74814
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
74814
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
74815
74815
  const expectedBotId = extractBotIdFromToken(params.botToken);
74816
74816
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
74817
74817
  if (expectedBotId && parsed?.botId === null) return null;
@@ -74835,7 +74835,7 @@ async function writeTelegramUpdateOffset(params) {
74835
74835
  async function deleteTelegramUpdateOffset(params) {
74836
74836
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
74837
74837
  try {
74838
- await fsPromises.unlink(filePath);
74838
+ await fs$1.unlink(filePath);
74839
74839
  } catch (err) {
74840
74840
  if (err.code === "ENOENT") return;
74841
74841
  throw err;
@@ -75309,7 +75309,7 @@ function createWhatsAppLoginTool() {
75309
75309
  force: Type.Optional(Type.Boolean())
75310
75310
  }),
75311
75311
  execute: async (_toolCallId, args) => {
75312
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CrLstrfx.js");
75312
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CbXbfbKZ.js");
75313
75313
  if ((args?.action ?? "start") === "wait") {
75314
75314
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
75315
75315
  return {
@@ -75384,23 +75384,23 @@ let webOutboundPromise = null;
75384
75384
  let webLoginPromise = null;
75385
75385
  let whatsappActionsPromise = null;
75386
75386
  function loadWebOutbound() {
75387
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-CwpvqY32.js");
75387
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-DburiWRT.js");
75388
75388
  return webOutboundPromise;
75389
75389
  }
75390
75390
  function loadWebLogin() {
75391
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-BO0mX9_r.js");
75391
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-EkEBg3KF.js");
75392
75392
  return webLoginPromise;
75393
75393
  }
75394
75394
  function loadWebLoginQr() {
75395
- webLoginQrPromise ??= import("./login-qr-CrLstrfx.js");
75395
+ webLoginQrPromise ??= import("./login-qr-CbXbfbKZ.js");
75396
75396
  return webLoginQrPromise;
75397
75397
  }
75398
75398
  function loadWebChannel() {
75399
- webChannelPromise ??= import("./web-CPFzvE3y.js");
75399
+ webChannelPromise ??= import("./web-Cz3L2HOD.js");
75400
75400
  return webChannelPromise;
75401
75401
  }
75402
75402
  function loadWhatsAppActions() {
75403
- whatsappActionsPromise ??= import("./whatsapp-actions-B1MuSaby.js");
75403
+ whatsappActionsPromise ??= import("./whatsapp-actions-DiE2QeMS.js");
75404
75404
  return whatsappActionsPromise;
75405
75405
  }
75406
75406
  function createRuntimeWhatsApp() {
@@ -76712,7 +76712,7 @@ function resolvePluginTools(params) {
76712
76712
  //#endregion
76713
76713
  //#region src/agents/apply-patch-update.ts
76714
76714
  async function defaultReadFile(filePath) {
76715
- return fsPromises.readFile(filePath, "utf8");
76715
+ return fs$1.readFile(filePath, "utf8");
76716
76716
  }
76717
76717
  async function applyUpdateHunk(filePath, chunks, options) {
76718
76718
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -77033,7 +77033,7 @@ function resolvePatchFileOps(options) {
77033
77033
  const workspaceOnly = options.workspaceOnly !== false;
77034
77034
  return {
77035
77035
  readFile: async (filePath) => {
77036
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
77036
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
77037
77037
  const opened = await openBoundaryFile({
77038
77038
  absolutePath: filePath,
77039
77039
  rootPath: options.cwd,
@@ -77048,7 +77048,7 @@ function resolvePatchFileOps(options) {
77048
77048
  },
77049
77049
  writeFile: async (filePath, content) => {
77050
77050
  if (!workspaceOnly) {
77051
- await fsPromises.writeFile(filePath, content, "utf8");
77051
+ await fs$1.writeFile(filePath, content, "utf8");
77052
77052
  return;
77053
77053
  }
77054
77054
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -77059,8 +77059,8 @@ function resolvePatchFileOps(options) {
77059
77059
  encoding: "utf8"
77060
77060
  });
77061
77061
  },
77062
- remove: (filePath) => fsPromises.rm(filePath),
77063
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
77062
+ remove: (filePath) => fs$1.rm(filePath),
77063
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
77064
77064
  };
77065
77065
  }
77066
77066
  async function ensureDir(filePath, ops) {
@@ -77322,7 +77322,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
77322
77322
  const MAX_LOOP_WARNING_KEYS = 256;
77323
77323
  let beforeToolCallRuntimePromise = null;
77324
77324
  function loadBeforeToolCallRuntime() {
77325
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-CA2a1iBP.js");
77325
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-UE6shJzT.js");
77326
77326
  return beforeToolCallRuntimePromise;
77327
77327
  }
77328
77328
  function buildAdjustedParamsKey(params) {
@@ -77560,7 +77560,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
77560
77560
  if (!pathParam || !newText) throw err;
77561
77561
  try {
77562
77562
  const absolutePath = resolveHostEditPath(root, pathParam);
77563
- const content = await fsPromises.readFile(absolutePath, "utf-8");
77563
+ const content = await fs$1.readFile(absolutePath, "utf-8");
77564
77564
  const hasNew = content.includes(newText);
77565
77565
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
77566
77566
  if (hasNew && !stillHasOld) return {
@@ -78042,14 +78042,14 @@ function createSandboxEditOperations(params) {
78042
78042
  }
78043
78043
  async function writeHostFile(absolutePath, content) {
78044
78044
  const resolved = path.resolve(absolutePath);
78045
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
78046
- await fsPromises.writeFile(resolved, content, "utf-8");
78045
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
78046
+ await fs$1.writeFile(resolved, content, "utf-8");
78047
78047
  }
78048
78048
  function createHostWriteOperations(root, options) {
78049
78049
  if (!(options?.workspaceOnly ?? false)) return {
78050
78050
  mkdir: async (dir) => {
78051
78051
  const resolved = path.resolve(dir);
78052
- await fsPromises.mkdir(resolved, { recursive: true });
78052
+ await fs$1.mkdir(resolved, { recursive: true });
78053
78053
  },
78054
78054
  writeFile: writeHostFile
78055
78055
  };
@@ -78062,7 +78062,7 @@ function createHostWriteOperations(root, options) {
78062
78062
  cwd: root,
78063
78063
  root
78064
78064
  });
78065
- await fsPromises.mkdir(resolved, { recursive: true });
78065
+ await fs$1.mkdir(resolved, { recursive: true });
78066
78066
  },
78067
78067
  writeFile: async (absolutePath, content) => {
78068
78068
  await writeFileWithinRoot({
@@ -78078,12 +78078,12 @@ function createHostEditOperations(root, options) {
78078
78078
  if (!(options?.workspaceOnly ?? false)) return {
78079
78079
  readFile: async (absolutePath) => {
78080
78080
  const resolved = path.resolve(absolutePath);
78081
- return await fsPromises.readFile(resolved);
78081
+ return await fs$1.readFile(resolved);
78082
78082
  },
78083
78083
  writeFile: writeHostFile,
78084
78084
  access: async (absolutePath) => {
78085
78085
  const resolved = path.resolve(absolutePath);
78086
- await fsPromises.access(resolved);
78086
+ await fs$1.access(resolved);
78087
78087
  }
78088
78088
  };
78089
78089
  return {
@@ -78921,7 +78921,7 @@ async function repairSessionFileIfNeeded(params) {
78921
78921
  };
78922
78922
  let content;
78923
78923
  try {
78924
- content = await fsPromises.readFile(sessionFile, "utf-8");
78924
+ content = await fs$1.readFile(sessionFile, "utf-8");
78925
78925
  } catch (err) {
78926
78926
  if (err?.code === "ENOENT") return {
78927
78927
  repaired: false,
@@ -78969,15 +78969,15 @@ async function repairSessionFileIfNeeded(params) {
78969
78969
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
78970
78970
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
78971
78971
  try {
78972
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
78973
- await fsPromises.writeFile(backupPath, content, "utf-8");
78974
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
78975
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
78976
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
78977
- await fsPromises.rename(tmpPath, sessionFile);
78972
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
78973
+ await fs$1.writeFile(backupPath, content, "utf-8");
78974
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
78975
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
78976
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
78977
+ await fs$1.rename(tmpPath, sessionFile);
78978
78978
  } catch (err) {
78979
78979
  try {
78980
- await fsPromises.unlink(tmpPath);
78980
+ await fs$1.unlink(tmpPath);
78981
78981
  } catch (cleanupErr) {
78982
78982
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
78983
78983
  }
@@ -80749,7 +80749,7 @@ async function prewarmSessionFile(sessionFile) {
80749
80749
  if (!isSessionManagerCacheEnabled()) return;
80750
80750
  if (isSessionManagerCached(sessionFile)) return;
80751
80751
  try {
80752
- const handle = await fsPromises.open(sessionFile, "r");
80752
+ const handle = await fs$1.open(sessionFile, "r");
80753
80753
  try {
80754
80754
  const buffer = Buffer$1.alloc(4096);
80755
80755
  await handle.read(buffer, 0, buffer.length, 0);
@@ -81116,7 +81116,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81116
81116
  } catch (err) {
81117
81117
  return fail(describeUnknownError(err));
81118
81118
  }
81119
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
81119
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
81120
81120
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
81121
81121
  const sandbox = await resolveSandboxContext({
81122
81122
  config: params.config,
@@ -81124,7 +81124,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81124
81124
  workspaceDir: resolvedWorkspace
81125
81125
  });
81126
81126
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
81127
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
81127
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
81128
81128
  await ensureSessionHeader({
81129
81129
  sessionFile: params.sessionFile,
81130
81130
  sessionId: params.sessionId,
@@ -82009,12 +82009,12 @@ function getQueuedFileWriter(writers, filePath) {
82009
82009
  const existing = writers.get(filePath);
82010
82010
  if (existing) return existing;
82011
82011
  const dir = path.dirname(filePath);
82012
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
82012
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
82013
82013
  let queue = Promise.resolve();
82014
82014
  const writer = {
82015
82015
  filePath,
82016
82016
  write: (line) => {
82017
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
82017
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
82018
82018
  }
82019
82019
  };
82020
82020
  writers.set(filePath, writer);
@@ -84932,7 +84932,7 @@ async function prepareSessionManagerForRun(params) {
84932
84932
  return;
84933
84933
  }
84934
84934
  if (params.hadSessionFile && header && !hasAssistant) {
84935
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
84935
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
84936
84936
  sm.fileEntries = [header];
84937
84937
  sm.byId?.clear?.();
84938
84938
  sm.labelsById?.clear?.();
@@ -85650,7 +85650,7 @@ async function runEmbeddedAttempt(params) {
85650
85650
  const prevCwd = process.cwd();
85651
85651
  const runAbortController = new AbortController();
85652
85652
  log$3.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"}`);
85653
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
85653
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
85654
85654
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
85655
85655
  const sandbox = await resolveSandboxContext({
85656
85656
  config: params.config,
@@ -85658,7 +85658,7 @@ async function runEmbeddedAttempt(params) {
85658
85658
  workspaceDir: resolvedWorkspace
85659
85659
  });
85660
85660
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
85661
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
85661
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
85662
85662
  let restoreSkillEnv;
85663
85663
  process.chdir(effectiveWorkspace);
85664
85664
  try {
@@ -85928,7 +85928,7 @@ async function runEmbeddedAttempt(params) {
85928
85928
  sessionFile: params.sessionFile,
85929
85929
  warn: (message) => log$3.warn(message)
85930
85930
  });
85931
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
85931
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
85932
85932
  const transcriptPolicy = resolveTranscriptPolicy({
85933
85933
  modelApi: params.model?.api,
85934
85934
  provider: params.provider,
@@ -87057,7 +87057,7 @@ async function runEmbeddedPiAgent(params) {
87057
87057
  const copilotAuthRetry = authRetryPending;
87058
87058
  authRetryPending = false;
87059
87059
  attemptedThinking.add(thinkLevel);
87060
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
87060
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
87061
87061
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
87062
87062
  const attempt = await runEmbeddedAttempt({
87063
87063
  sessionId: params.sessionId,
@@ -87863,7 +87863,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
87863
87863
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
87864
87864
  let subagentRegistryRuntimePromise = null;
87865
87865
  function loadSubagentRegistryRuntime() {
87866
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CHCU3Vzl.js");
87866
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-krMWhbu5.js");
87867
87867
  return subagentRegistryRuntimePromise;
87868
87868
  }
87869
87869
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [