squidclaw 3.0.27 → 3.0.29

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 (301) hide show
  1. package/dist/{accounts-C7pGQPcS.js → accounts-A_9Khwyv.js} +2 -2
  2. package/dist/{accounts-DjhBQg_8.js → accounts-Cz_Fvguv.js} +2 -2
  3. package/dist/{accounts-DwGoZKGm.js → accounts-f6iuhXVV.js} +17 -17
  4. package/dist/{active-listener-DPc_PGsA.js → active-listener-Cpv61XW5.js} +2 -2
  5. package/dist/{agents-SHmmlinC.js → agents-C45efJT7.js} +4 -4
  6. package/dist/{agents.config-C4bgEbdA.js → agents.config-C8v65qN9.js} +1 -1
  7. package/dist/{agents.config-CKbSiVW4.js → agents.config-Clini93W.js} +1 -1
  8. package/dist/{api-key-rotation-DVyYtQxC.js → api-key-rotation-6zH7pb_E.js} +2 -2
  9. package/dist/{audio-preflight-BUCBED7N.js → audio-preflight-DsLwB4dE.js} +32 -32
  10. package/dist/{audio-transcription-runner-Cv0Q47cM.js → audio-transcription-runner-zGqnorSY.js} +12 -12
  11. package/dist/{audit-membership-runtime-DyLj-uhz.js → audit-membership-runtime-By9-qSwl.js} +4 -4
  12. package/dist/{auth-choice-nbbKEYIm.js → auth-choice-BQXBGaRl.js} +1 -1
  13. package/dist/{auth-choice-DOEtSP7U.js → auth-choice-hEJyhy7L.js} +1 -1
  14. package/dist/{banner-CgxbDb-A.js → banner-CrrDgCEs.js} +1 -1
  15. package/dist/build-info.json +2 -2
  16. package/dist/bundled/boot-md/handler.js +51 -51
  17. package/dist/bundled/bootstrap-extra-files/handler.js +7 -7
  18. package/dist/bundled/command-logger/handler.js +2 -2
  19. package/dist/bundled/session-memory/handler.js +153 -60
  20. package/dist/{channel-activity-CPpt4XaL.js → channel-activity-Byj9--iR.js} +3 -3
  21. package/dist/{channel-options-DD8pn51g.js → channel-options-CVKOaKBz.js} +1 -1
  22. package/dist/{channel-options-DORsSb06.js → channel-options-iObBHiIV.js} +1 -1
  23. package/dist/{channel-web-C9gRSNfc.js → channel-web-CSYQMMrp.js} +1 -1
  24. package/dist/{channel-web-BvloWcnP.js → channel-web-ZjLaDDYA.js} +1 -1
  25. package/dist/{channels-cli-DiA6DH6p.js → channels-cli-CJSNz6Do.js} +6 -6
  26. package/dist/{channels-cli-DqyjCJAf.js → channels-cli-ZxEUWF-u.js} +6 -6
  27. package/dist/{chrome-OgCChbC_.js → chrome-BvWxjtGl.js} +18 -18
  28. package/dist/{cli-BNZDUFuk.js → cli-BI1nRfCA.js} +1 -1
  29. package/dist/{cli-DCsEN1fp.js → cli-R49Hv8Gb.js} +1 -1
  30. package/dist/{command-registry-DntrnfSZ.js → command-registry-DAp3-Qya.js} +9 -9
  31. package/dist/{commands-registry-BJjv8_oR.js → commands-registry-tedusR2M.js} +4 -4
  32. package/dist/{completion-cli-0kzbsPCE.js → completion-cli-CLrRKFt9.js} +1 -1
  33. package/dist/{completion-cli-ZG2HRTZw.js → completion-cli-DZbYDl2J.js} +2 -2
  34. package/dist/{config-cli-B70aSBjJ.js → config-cli-Bmq4kHDl.js} +1 -1
  35. package/dist/{config-cli-DyB3LaLr.js → config-cli-DXJQvEat.js} +1 -1
  36. package/dist/{configure-DFjC_USC.js → configure-BM0Q5yuJ.js} +3 -3
  37. package/dist/{configure-HAlDPfOO.js → configure-DTT64LBO.js} +3 -3
  38. package/dist/{deliver-DMTUTpTM.js → deliver-RetmM0fn.js} +21 -21
  39. package/dist/deliver-runtime-tqK6d8Uv.js +36 -0
  40. package/dist/deps-send-discord.runtime-BGaHOctc.js +26 -0
  41. package/dist/deps-send-imessage.runtime-BIYidS73.js +25 -0
  42. package/dist/deps-send-signal.runtime-CjglZ1PO.js +24 -0
  43. package/dist/deps-send-slack.runtime-DOkzJ6nC.js +22 -0
  44. package/dist/deps-send-telegram.runtime-Cz8mtMyE.js +27 -0
  45. package/dist/{deps-send-whatsapp.runtime-BTVEWhWJ.js → deps-send-whatsapp.runtime-CEe4M8js.js} +3 -3
  46. package/dist/deps-send-whatsapp.runtime-DFfgQ9HF.js +60 -0
  47. package/dist/{deps-send-whatsapp.runtime-gVafyT5b.js → deps-send-whatsapp.runtime-DKkr-l19.js} +2 -2
  48. package/dist/{deps-send-whatsapp.runtime-B6WZfxsU.js → deps-send-whatsapp.runtime-Dcp7Tin4.js} +3 -3
  49. package/dist/{diagnostic-CnVwZNbm.js → diagnostic-DnZCgMrc.js} +2 -2
  50. package/dist/{doctor-completion-Bdaa-Pnx.js → doctor-completion-D-MCE0ZM.js} +1 -1
  51. package/dist/{doctor-completion-B6t4VCC2.js → doctor-completion-DtrqjkJS.js} +1 -1
  52. package/dist/entry.js +2 -2
  53. package/dist/{plugin-sdk/errors-9oVz7reJ.js → errors-CCLnP2Fs.js} +1 -1
  54. package/dist/extensionAPI.js +1 -1
  55. package/dist/{fetch-DP-JjB6Z.js → fetch-cQwsz0rO.js} +5 -5
  56. package/dist/{fetch-guard-BDy975wP.js → fetch-guard-BkqLWF6M.js} +2 -2
  57. package/dist/{frontmatter-Cq1TcIQ2.js → frontmatter-vSrur-r-.js} +5 -5
  58. package/dist/{fs-safe-BoB4X3GD.js → fs-safe-Dyju4C81.js} +4 -4
  59. package/dist/{gateway-cli-BvESvgyp.js → gateway-cli-BIn8TtGv.js} +8 -8
  60. package/dist/{gateway-cli-DTUsG7Sq.js → gateway-cli-BeQXAKTg.js} +8 -8
  61. package/dist/{github-copilot-token-B5cPlwaz.js → github-copilot-token-B8Wx9FgQ.js} +7 -7
  62. package/dist/{health-LxEzhXog.js → health-B1YIoY5z.js} +1 -1
  63. package/dist/{health-ChHiOfOC.js → health-BPRQncx0.js} +1 -1
  64. package/dist/{hooks-cli-CLigFQsx.js → hooks-cli-D-3Q8obA.js} +2 -2
  65. package/dist/{hooks-cli-B2_cA6tp.js → hooks-cli-D5NHmkRr.js} +2 -2
  66. package/dist/{image-kKMG59st.js → image-kOIz_XGP.js} +6 -6
  67. package/dist/{image-ops-Dg8iraUV.js → image-ops-CumBuu0G.js} +2 -2
  68. package/dist/image-runtime-CSRwqD0g.js +29 -0
  69. package/dist/index.js +6 -6
  70. package/dist/{ir-CKK03mBV.js → ir-rIK14_OY.js} +8 -8
  71. package/dist/{legacy-names-aGJJuzM_.js → legacy-names-CDxprteD.js} +1 -1
  72. package/dist/llm-slug-generator.js +51 -51
  73. package/dist/{logger-CnTSBL7T.js → logger-onBePS9K.js} +7 -7
  74. package/dist/{login-CeKDrz6_.js → login-BFH4YHqv.js} +5 -5
  75. package/dist/{login-qr-KbOpR0GQ.js → login-qr-BuzK_3o4.js} +10 -10
  76. package/dist/{manager-DINhLnMi.js → manager-B-q7-W4P.js} +13 -13
  77. package/dist/manager-runtime-CF4Tq0lu.js +18 -0
  78. package/dist/{model-selection-DuNLFQPR.js → model-selection-BEglDVk0.js} +48 -48
  79. package/dist/{models-BV4zhGnq.js → models-CAH2k1fR.js} +2 -2
  80. package/dist/{models-cli-BNn-0rl0.js → models-cli-BfGR6mAy.js} +2 -2
  81. package/dist/{models-cli-Dpj_xSPh.js → models-cli-DostGd3W.js} +3 -3
  82. package/dist/{npm-resolution-CnaTt2aT.js → npm-resolution-EIBwVM0Q.js} +1 -1
  83. package/dist/{npm-resolution-CKHXw_Cx.js → npm-resolution-_wRrdhwZ.js} +1 -1
  84. package/dist/{onboard-J6n7v4Bo.js → onboard-DrLrDJWL.js} +2 -2
  85. package/dist/{onboard-C4ayp9K2.js → onboard-DrpgQebA.js} +2 -2
  86. package/dist/{onboard-channels-Csy6Ng39.js → onboard-channels-4-7KcYUw.js} +1 -1
  87. package/dist/{onboard-channels-BHxe-ulR.js → onboard-channels-D4cK-Cbv.js} +1 -1
  88. package/dist/{onboarding-BKxsnOPg.js → onboarding-C6vIz92s.js} +3 -3
  89. package/dist/{onboarding-Cx8FcYRx.js → onboarding-vQJFankJ.js} +3 -3
  90. package/dist/{onboarding.finalize-DhPoPhfX.js → onboarding.finalize-0nV-87s1.js} +6 -6
  91. package/dist/{onboarding.finalize-BxXIISee.js → onboarding.finalize-Ck6DerG6.js} +5 -5
  92. package/dist/{outbound-C9svt6RH.js → outbound-ZriFY47D.js} +6 -6
  93. package/dist/{outbound-attachment-DwupUxYF.js → outbound-attachment-CtS0mrgi.js} +2 -2
  94. package/dist/{path-alias-guards-DORgbZ1w.js → path-alias-guards-CNSVgZrJ.js} +1 -1
  95. package/dist/{paths-DSd911Oe.js → paths-CUF9-Xea.js} +4 -4
  96. package/dist/{paths-DA5srn0U.js → paths-ZhiQAuKk.js} +5 -5
  97. package/dist/{pi-embedded-D6gxI0xB.js → pi-embedded-CgheLT-Q.js} +4 -74
  98. package/dist/{pi-embedded-CpNkNjFv.js → pi-embedded-NI8lHL1N.js} +160 -230
  99. package/dist/{pi-embedded-helpers-Di58J7Eh.js → pi-embedded-helpers-BYajLWsL.js} +52 -52
  100. package/dist/{pi-model-discovery-V-InbjOM.js → pi-model-discovery-COoRoqoO.js} +7 -7
  101. package/dist/pi-model-discovery-runtime-CV-86a0O.js +11 -0
  102. package/dist/{pi-tools.before-tool-call.runtime-Bpk4qTgV.js → pi-tools.before-tool-call.runtime-pbvzHMRb.js} +9 -9
  103. package/dist/{plugin-registry-CJ9E3pVF.js → plugin-registry-BsC3FIYP.js} +1 -1
  104. package/dist/{plugin-registry-DbWGikL_.js → plugin-registry-CaFT-Rl0.js} +1 -1
  105. package/dist/plugin-sdk/{accounts-C5PAuCTj.js → accounts-0kF5cxkn.js} +2 -2
  106. package/dist/plugin-sdk/{accounts-DC5cbH9r.js → accounts-u0-JAHzj.js} +2 -2
  107. package/dist/plugin-sdk/{accounts-DncG0Hx9.js → accounts-xZOA23tQ.js} +3 -3
  108. package/dist/plugin-sdk/{active-listener-Bd3HH2km.js → active-listener-C5xPUSTb.js} +2 -2
  109. package/dist/plugin-sdk/{api-key-rotation-BAZ0GD26.js → api-key-rotation-DyjMI2n3.js} +2 -2
  110. package/dist/plugin-sdk/{audio-preflight-tpVm-t9O.js → audio-preflight-C0q7lu6y.js} +26 -26
  111. package/dist/plugin-sdk/{audio-transcription-runner-DSScb434.js → audio-transcription-runner-Ced47O1H.js} +11 -11
  112. package/dist/plugin-sdk/{audit-membership-runtime-DHQDvH4u.js → audit-membership-runtime-Xl20kCBe.js} +2 -2
  113. package/dist/plugin-sdk/{channel-activity-cYEaofTH.js → channel-activity-CNffKOEQ.js} +3 -3
  114. package/dist/plugin-sdk/{channel-web-K0nTiIAp.js → channel-web-CSCRnS_R.js} +1 -1
  115. package/dist/plugin-sdk/{channel-web-C14ArXJA.js → channel-web-WTmRi6i_.js} +18 -18
  116. package/dist/plugin-sdk/{chrome-DB2h0uN0.js → chrome-DJQWo149.js} +6 -6
  117. package/dist/plugin-sdk/{commands-registry-DGZ1oFXJ.js → commands-registry-_kBPE22q.js} +4 -4
  118. package/dist/plugin-sdk/{common-D5lLWoCW.js → common-J8vIST9Q.js} +2 -2
  119. package/dist/plugin-sdk/compat.js +2 -2
  120. package/dist/plugin-sdk/{config-Bt-c7PWF.js → config-CnZ1TlEw.js} +7 -7
  121. package/dist/plugin-sdk/{deliver-MvrkIeKJ.js → deliver-Xh6voz9H.js} +10 -10
  122. package/dist/plugin-sdk/deliver-runtime-5UVcSskg.js +32 -0
  123. package/dist/plugin-sdk/deps-send-discord.runtime-DTspXSCt.js +23 -0
  124. package/dist/plugin-sdk/deps-send-imessage.runtime-qThAwDEe.js +22 -0
  125. package/dist/plugin-sdk/deps-send-signal.runtime-DnjnVzZF.js +21 -0
  126. package/dist/plugin-sdk/deps-send-slack.runtime-CbKevLnv.js +19 -0
  127. package/dist/plugin-sdk/deps-send-telegram.runtime-C6y29O9E.js +24 -0
  128. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DzQP5jh0.js → deps-send-whatsapp.runtime-DGKnscLG.js} +3 -3
  129. package/dist/plugin-sdk/deps-send-whatsapp.runtime-DfCAOpgB.js +57 -0
  130. package/dist/plugin-sdk/{diagnostic-B6F3BtCX.js → diagnostic-DKsyROPi.js} +2 -2
  131. package/dist/{errors-kkRuS2Cs.js → plugin-sdk/errors-CgRPdp3o.js} +1 -1
  132. package/dist/plugin-sdk/{fetch-guard-cfPCfkrw.js → fetch-guard-BBAT8G-1.js} +2 -2
  133. package/dist/plugin-sdk/{fs-safe-DFbwq9CS.js → fs-safe-DqCO1D4C.js} +3 -3
  134. package/dist/plugin-sdk/{image-FK5xhY5u.js → image-4ay2cw7G.js} +6 -6
  135. package/dist/plugin-sdk/{image-ops-BSYgrL7E.js → image-ops-G8KoEfY8.js} +2 -2
  136. package/dist/plugin-sdk/image-runtime-CpfepTDc.js +25 -0
  137. package/dist/plugin-sdk/index.js +2 -2
  138. package/dist/plugin-sdk/{ir-CWmryq5f.js → ir-DXj1KGnL.js} +7 -7
  139. package/dist/plugin-sdk/{local-roots-U25IdeDH.js → local-roots-ovKHgVSP.js} +4 -4
  140. package/dist/plugin-sdk/{logger-Bg4vIUJn.js → logger-DIb2cGHp.js} +2 -2
  141. package/dist/plugin-sdk/{login-8qzl2H7G.js → login-Cgtm70by.js} +4 -4
  142. package/dist/plugin-sdk/{login-qr-kalCTJEw.js → login-qr-BrixqhMx.js} +5 -5
  143. package/dist/plugin-sdk/{manager-ijYHktIt.js → manager-PEQ_cPYF.js} +8 -8
  144. package/dist/plugin-sdk/manager-runtime-BmgTeb5G.js +15 -0
  145. package/dist/plugin-sdk/mattermost.js +3 -3
  146. package/dist/plugin-sdk/{outbound-BIVf0aPq.js → outbound-BK75h9CQ.js} +5 -5
  147. package/dist/plugin-sdk/{outbound-attachment-F5tzeNUD.js → outbound-attachment-BI1QngTS.js} +2 -2
  148. package/dist/plugin-sdk/{path-alias-guards-DA0MhfkG.js → path-alias-guards-TnxupPQC.js} +1 -1
  149. package/dist/plugin-sdk/{paths-CP67O8eN.js → paths-B7_75Pdr.js} +1 -1
  150. package/dist/plugin-sdk/{pi-embedded-helpers-CxMnPQ37.js → pi-embedded-helpers-BioULNev.js} +16 -16
  151. package/dist/plugin-sdk/{pi-model-discovery-8OL77kCh.js → pi-model-discovery-BMmAbnil.js} +1 -1
  152. package/dist/plugin-sdk/pi-model-discovery-runtime-COnuGwZt.js +8 -0
  153. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-B7FW36KX.js → pi-tools.before-tool-call.runtime-rdRqZ9lk.js} +4 -4
  154. package/dist/plugin-sdk/{plugins-D3mrhffi.js → plugins-BqKpJkqt.js} +4 -4
  155. package/dist/plugin-sdk/{proxy-env-CUUXO6rv.js → proxy-env-C4s12rr8.js} +1 -1
  156. package/dist/plugin-sdk/{proxy-fetch-Cf3IUSDw.js → proxy-fetch-Dt5BedH8.js} +1 -1
  157. package/dist/plugin-sdk/{pw-ai-dPmKdw_w.js → pw-ai-Cb0ZDSq4.js} +9 -9
  158. package/dist/plugin-sdk/{qmd-manager-Ov9ElEfG.js → qmd-manager-Bei6TaFq.js} +7 -7
  159. package/dist/plugin-sdk/{query-expansion-CzjwW461.js → query-expansion-POz2za8a.js} +4 -4
  160. package/dist/plugin-sdk/{redact-DfACyt0X.js → redact-9WsNyb7S.js} +1 -1
  161. package/dist/plugin-sdk/{reply-COSG33YP.js → reply-CU3gTFzu.js} +73 -143
  162. package/dist/plugin-sdk/{reply-BF5OTD_L.js → reply-CljVqURz.js} +4 -74
  163. package/dist/plugin-sdk/{resolve-outbound-target-BeIB_jm0.js → resolve-outbound-target-DL1adXpk.js} +2 -2
  164. package/dist/plugin-sdk/{run-with-concurrency-kVooFCVo.js → run-with-concurrency-DmTrN5JG.js} +1 -1
  165. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-99sCh8RG.js +10 -0
  166. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-dTkDaXHl.js +19 -0
  167. package/dist/plugin-sdk/{send-CgkNzAhS.js → send-BCVXt-3e.js} +8 -8
  168. package/dist/plugin-sdk/{send-DV5kR0Hg.js → send-BNePC8CO.js} +6 -6
  169. package/dist/plugin-sdk/{send-CuENGOhq.js → send-CAG0Or0G.js} +7 -7
  170. package/dist/plugin-sdk/{send-DtA6ngBJ.js → send-DhGDAZnT.js} +13 -13
  171. package/dist/plugin-sdk/{send-D6Uh2D1D.js → send-X6QuS7x0.js} +5 -5
  172. package/dist/plugin-sdk/{session-CnlZn-bR.js → session-CAqYQVhe.js} +3 -3
  173. package/dist/plugin-sdk/{skill-commands-Ckfii7h8.js → skill-commands-Bk-IFyNw.js} +4 -4
  174. package/dist/plugin-sdk/{skills-v0WQqKTa.js → skills-C5bT9-q4.js} +6 -6
  175. package/dist/plugin-sdk/slash-commands.runtime-EAZKpRKq.js +13 -0
  176. package/dist/plugin-sdk/slash-dispatch.runtime-DBMbGgmv.js +52 -0
  177. package/dist/plugin-sdk/{slash-dispatch.runtime-CyZxEAJd.js → slash-dispatch.runtime-oVCp4RI8.js} +1 -1
  178. package/dist/plugin-sdk/slash-skill-commands.runtime-DGd_JSWX.js +16 -0
  179. package/dist/plugin-sdk/{store-C_UrNuM3.js → store-D3lgWnS2.js} +2 -2
  180. package/dist/plugin-sdk/subagent-registry-runtime-BT4jMI8z.js +52 -0
  181. package/dist/plugin-sdk/{subagent-registry-runtime-B9vyMA3A.js → subagent-registry-runtime-CaQMId4R.js} +1 -1
  182. package/dist/plugin-sdk/{tables-CJP05iMa.js → tables-Dmlu4_q_.js} +1 -1
  183. package/dist/plugin-sdk/{thinking-BhP3vn1l.js → thinking-DRNOh5Xx.js} +7 -7
  184. package/dist/plugin-sdk/{tokens-DAL_5WHL.js → tokens-CLE20fRI.js} +1 -1
  185. package/dist/plugin-sdk/{tool-images-ZE5G5UM0.js → tool-images-BY1gsRyE.js} +2 -2
  186. package/dist/plugin-sdk/web-1-vrUNY8.js +56 -0
  187. package/dist/plugin-sdk/{web-zcehLsEt.js → web-C8u6_5TB.js} +2 -2
  188. package/dist/plugin-sdk/{whatsapp-actions-DJmx6ihj.js → whatsapp-actions-BCJYmWCB.js} +17 -17
  189. package/dist/plugin-sdk/whatsapp.js +50 -50
  190. package/dist/{plugins-DvejjZnJ.js → plugins-Dr2YhZ4p.js} +11 -11
  191. package/dist/{plugins-cli-BSLJbHhh.js → plugins-cli-29cwK1kP.js} +2 -2
  192. package/dist/{plugins-cli-CIyP8IsD.js → plugins-cli-BCPmdO-F.js} +2 -2
  193. package/dist/{program-DQjjnBkB.js → program-CLD93UEW.js} +7 -7
  194. package/dist/{program-context-jw4pIT7h.js → program-context-CvlgMXty.js} +17 -17
  195. package/dist/{prompt-select-styled-BeXqhuug.js → prompt-select-styled-D7A8lcVZ.js} +4 -4
  196. package/dist/{prompt-select-styled-Uc8ws2hS.js → prompt-select-styled-DvZs93tv.js} +4 -4
  197. package/dist/{provider-auth-helpers-B4o2t23Z.js → provider-auth-helpers-C91OHeLD.js} +1 -1
  198. package/dist/{provider-auth-helpers-m2vq3OJC.js → provider-auth-helpers-D610nllx.js} +1 -1
  199. package/dist/{proxy-env-D-fike7s.js → proxy-env-CY4kVbFL.js} +1 -1
  200. package/dist/{proxy-fetch-lH6RsRTE.js → proxy-fetch-08-dhqxn.js} +1 -1
  201. package/dist/{push-apns-C3QRVcrx.js → push-apns-D-_XPvYX.js} +1 -1
  202. package/dist/{push-apns-DZW7HOYq.js → push-apns-PG6ocw6x.js} +1 -1
  203. package/dist/{pw-ai-B8ymIYub.js → pw-ai-D2Tp5DPG.js} +14 -14
  204. package/dist/{qmd-manager-BN0siR2Z.js → qmd-manager-v3fVcsJ9.js} +10 -10
  205. package/dist/{query-expansion-Dzxt6kXo.js → query-expansion-CeQC9es_.js} +6 -6
  206. package/dist/{redact-DvzicBMu.js → redact-rnJm_Z5E.js} +1 -1
  207. package/dist/{register.agent-iwQM76PJ.js → register.agent-BuHD_bae.js} +6 -6
  208. package/dist/{register.agent-Bpp6PZCy.js → register.agent-CeYoqnus.js} +7 -7
  209. package/dist/{register.configure-CRZBn5QG.js → register.configure-Bh0kiwNr.js} +7 -7
  210. package/dist/{register.configure-BF2wUdYo.js → register.configure-Df419IPP.js} +7 -7
  211. package/dist/{register.maintenance-CY58DnhU.js → register.maintenance-N3ymZeA2.js} +8 -8
  212. package/dist/{register.maintenance-DsI8Ks22.js → register.maintenance-mWO2301l.js} +7 -7
  213. package/dist/{register.message-BNyQROsP.js → register.message-BeHsSFSP.js} +2 -2
  214. package/dist/{register.message-hQSgElgK.js → register.message-DIClL3-s.js} +2 -2
  215. package/dist/{register.onboard-DsHEjOlQ.js → register.onboard-CwO92nRm.js} +2 -2
  216. package/dist/{register.onboard-TE1k9WgU.js → register.onboard-xzIUSCGu.js} +2 -2
  217. package/dist/{register.setup-BkSWcd_T.js → register.setup-Bvbm-Gm2.js} +2 -2
  218. package/dist/{register.setup-CA8_egXk.js → register.setup-C-aAGS4u.js} +2 -2
  219. package/dist/{register.status-health-sessions-Ck1506Mz.js → register.status-health-sessions-DQMQDniV.js} +3 -3
  220. package/dist/{register.status-health-sessions-D74vOhub.js → register.status-health-sessions-DuyRo6UJ.js} +3 -3
  221. package/dist/{register.subclis-D10eRT52.js → register.subclis-B66QC7_k.js} +9 -9
  222. package/dist/{reply-m8ZD17d0.js → reply-CUpwmXW5.js} +4 -74
  223. package/dist/{run-main-BmvUIN8f.js → run-main-QV6vRT6K.js} +14 -14
  224. package/dist/{run-with-concurrency-BFR3ReeF.js → run-with-concurrency-BaKbvnLu.js} +4 -4
  225. package/dist/runtime-whatsapp-login.runtime-Dw75S1uv.js +13 -0
  226. package/dist/runtime-whatsapp-outbound.runtime-aHIvDvKJ.js +22 -0
  227. package/dist/{send-dTQd-IyJ.js → send-5d2Ieqww.js} +5 -5
  228. package/dist/{send-4nRsZJXH.js → send-Bz835W6s.js} +7 -7
  229. package/dist/{send-BTUU1jWM.js → send-JKHC2tCh.js} +8 -8
  230. package/dist/{send-BGlcHjUD.js → send-RT7WHA5n.js} +28 -28
  231. package/dist/{send-DdBbRpTP.js → send-rbU7BzyJ.js} +6 -6
  232. package/dist/{server-node-events-Bf13eFLP.js → server-node-events-ChmwyckN.js} +2 -2
  233. package/dist/{server-node-events-B-ChStFC.js → server-node-events-DRkgMvTr.js} +2 -2
  234. package/dist/{session-CnCwDJke.js → session-C-9V4uqt.js} +8 -8
  235. package/dist/{skill-commands-Cz45_nme.js → skill-commands-CYH1hk0d.js} +9 -9
  236. package/dist/{skills-CdCS1HeL.js → skills-CZ1lBgEC.js} +22 -22
  237. package/dist/slash-commands.runtime-DNDYdj2t.js +16 -0
  238. package/dist/{slash-dispatch.runtime-DxgmWXzN.js → slash-dispatch.runtime-BN0s48fb.js} +1 -1
  239. package/dist/slash-dispatch.runtime-BjHf74oU.js +56 -0
  240. package/dist/{slash-dispatch.runtime-DLikrqBw.js → slash-dispatch.runtime-Cof3gArz.js} +1 -1
  241. package/dist/{slash-dispatch.runtime-Cf52SJTn.js → slash-dispatch.runtime-DD8xxgEl.js} +1 -1
  242. package/dist/slash-skill-commands.runtime-DdMrdbxl.js +20 -0
  243. package/dist/{status-p6oFQt1P.js → status-Cbw1yeoy.js} +2 -2
  244. package/dist/{status-B65tE-ru.js → status-m4d5Vl27.js} +2 -2
  245. package/dist/{store-D9z0dn7D.js → store-Dcz4tfzS.js} +2 -2
  246. package/dist/{subagent-registry-BbkRn-Tn.js → subagent-registry-7nRwvCtz.js} +4 -74
  247. package/dist/{subagent-registry-runtime-DY9wpSRG.js → subagent-registry-runtime-06r4q3XD.js} +1 -1
  248. package/dist/subagent-registry-runtime-CUpD6G1o.js +56 -0
  249. package/dist/{subagent-registry-runtime-DP1IpqM_.js → subagent-registry-runtime-DSlsjuX0.js} +1 -1
  250. package/dist/{subagent-registry-runtime-BQ5-n2Pj.js → subagent-registry-runtime-OGj927vn.js} +1 -1
  251. package/dist/{subsystem-6v7sWnAD.js → subsystem-BJ89YjCN.js} +16 -16
  252. package/dist/{tables-BTFiZyRU.js → tables-8uP1Il18.js} +1 -1
  253. package/dist/{target-errors-DgNRx3Nr.js → target-errors-Ch8ZjtbC.js} +2 -2
  254. package/dist/{thinking-B75CXkTT.js → thinking-BtewZXu7.js} +7 -7
  255. package/dist/{tokens-DfbMVF9y.js → tokens-9NF8L9Uh.js} +1 -1
  256. package/dist/{tool-images-Dp5OiXeA.js → tool-images-DDvIxFgD.js} +2 -2
  257. package/dist/{update-cli-BD9-Sh3i.js → update-cli-D6fzJ-Ll.js} +7 -7
  258. package/dist/{update-cli-Cs3nfqwA.js → update-cli-abQ6higa.js} +8 -8
  259. package/dist/{update-runner-V-Y-KbTK.js → update-runner-B10m8cpS.js} +1 -1
  260. package/dist/{update-runner-pNSMe2xh.js → update-runner-BKqyZqzt.js} +1 -1
  261. package/dist/{web-B3GIA0Oq.js → web-BeedURrs.js} +55 -55
  262. package/dist/{web-DZHRoMwF.js → web-DGhOT4tW.js} +2 -2
  263. package/dist/{web-HXuEa1UL.js → web-M1IXaDDy.js} +1 -1
  264. package/dist/{web-B3i9lUAX.js → web-qF7gu-2K.js} +2 -2
  265. package/dist/{whatsapp-actions-CzqsuSGx.js → whatsapp-actions-D6yjFXCT.js} +21 -21
  266. package/dist/{workspace-kVMIaBrV.js → workspace-imNgYePS.js} +20 -20
  267. package/package.json +2 -2
  268. package/dist/deliver-runtime-B80olQwJ.js +0 -36
  269. package/dist/deps-send-discord.runtime-GIuvX7Xw.js +0 -26
  270. package/dist/deps-send-imessage.runtime-B3TC7G80.js +0 -25
  271. package/dist/deps-send-signal.runtime-CuVJyw7n.js +0 -24
  272. package/dist/deps-send-slack.runtime-cbfFoLZ4.js +0 -22
  273. package/dist/deps-send-telegram.runtime-CRyP-xDQ.js +0 -27
  274. package/dist/deps-send-whatsapp.runtime-BdydhhI-.js +0 -60
  275. package/dist/image-runtime-BqIv7p_K.js +0 -29
  276. package/dist/manager-runtime-D6ckUNSs.js +0 -18
  277. package/dist/pi-model-discovery-runtime--t6tAlar.js +0 -11
  278. package/dist/plugin-sdk/deliver-runtime-i50kjcNM.js +0 -32
  279. package/dist/plugin-sdk/deps-send-discord.runtime-hOYq9ov0.js +0 -23
  280. package/dist/plugin-sdk/deps-send-imessage.runtime-D5n9DXyL.js +0 -22
  281. package/dist/plugin-sdk/deps-send-signal.runtime-CwEaRyJU.js +0 -21
  282. package/dist/plugin-sdk/deps-send-slack.runtime-DOZeLIaC.js +0 -19
  283. package/dist/plugin-sdk/deps-send-telegram.runtime-BW1hSPKh.js +0 -24
  284. package/dist/plugin-sdk/deps-send-whatsapp.runtime-H-PnN716.js +0 -57
  285. package/dist/plugin-sdk/image-runtime-B95EPFpg.js +0 -25
  286. package/dist/plugin-sdk/manager-runtime--JrLQE03.js +0 -15
  287. package/dist/plugin-sdk/pi-model-discovery-runtime-DGRFpUfd.js +0 -8
  288. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6EcC22F.js +0 -10
  289. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DH8J0Ie7.js +0 -19
  290. package/dist/plugin-sdk/slash-commands.runtime-BYoxsxkX.js +0 -13
  291. package/dist/plugin-sdk/slash-dispatch.runtime-Rs2PDg_H.js +0 -52
  292. package/dist/plugin-sdk/slash-skill-commands.runtime-D0399tia.js +0 -16
  293. package/dist/plugin-sdk/subagent-registry-runtime-5SKqbH1r.js +0 -52
  294. package/dist/plugin-sdk/web-BiiXAqmT.js +0 -56
  295. package/dist/runtime-whatsapp-login.runtime-DxV9iv6l.js +0 -13
  296. package/dist/runtime-whatsapp-outbound.runtime-DQqIlwhS.js +0 -22
  297. package/dist/slash-commands.runtime-CZz6v6b3.js +0 -16
  298. package/dist/slash-dispatch.runtime-frzN4e57.js +0 -56
  299. package/dist/slash-skill-commands.runtime-Bawt7j0r.js +0 -20
  300. package/dist/subagent-registry-runtime-BTVxLFQ2.js +0 -56
  301. /package/dist/{config-DWRgGn0l.js → hooks-DubLZ3ar.js} +0 -0
@@ -1,68 +1,68 @@
1
- import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-BFR3ReeF.js";
2
- import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-DA5srn0U.js";
3
- import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredSquidClawTmpDir, y as getChildLogger } from "./subsystem-6v7sWnAD.js";
4
- import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveSquidClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-kVMIaBrV.js";
5
- import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-CnTSBL7T.js";
6
- import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverSquidClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveSquidClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-DuNLFQPR.js";
7
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-B5cPlwaz.js";
8
- import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-aGJJuzM_.js";
9
- import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-B75CXkTT.js";
10
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DfbMVF9y.js";
11
- import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-DvejjZnJ.js";
12
- import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-DwGoZKGm.js";
13
- 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-DdBbRpTP.js";
14
- 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-BTUU1jWM.js";
1
+ import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-BaKbvnLu.js";
2
+ import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-ZhiQAuKk.js";
3
+ import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredSquidClawTmpDir, y as getChildLogger } from "./subsystem-BJ89YjCN.js";
4
+ import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveSquidClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-imNgYePS.js";
5
+ import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-onBePS9K.js";
6
+ import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverSquidClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveSquidClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-BEglDVk0.js";
7
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-B8Wx9FgQ.js";
8
+ import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-CDxprteD.js";
9
+ import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-BtewZXu7.js";
10
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-9NF8L9Uh.js";
11
+ import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-Dr2YhZ4p.js";
12
+ import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-f6iuhXVV.js";
13
+ 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-rbU7BzyJ.js";
14
+ 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-JKHC2tCh.js";
15
15
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
16
- import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-DMTUTpTM.js";
17
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-CnVwZNbm.js";
18
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-C7pGQPcS.js";
16
+ import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-RetmM0fn.js";
17
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-DnZCgMrc.js";
18
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-A_9Khwyv.js";
19
19
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-BiE9e9-P.js";
20
- import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-Dg8iraUV.js";
21
- import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-BGlcHjUD.js";
22
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-V-InbjOM.js";
23
- import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateSessionStore, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-Di58J7Eh.js";
24
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-OgCChbC_.js";
25
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CdCS1HeL.js";
26
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DORgbZ1w.js";
27
- import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-DvzicBMu.js";
28
- import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-kkRuS2Cs.js";
29
- import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BoB4X3GD.js";
30
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-D-fike7s.js";
31
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-D9z0dn7D.js";
20
+ import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-CumBuu0G.js";
21
+ import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-RT7WHA5n.js";
22
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-COoRoqoO.js";
23
+ import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateSessionStore, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-BYajLWsL.js";
24
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-BvWxjtGl.js";
25
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CZ1lBgEC.js";
26
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CNSVgZrJ.js";
27
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-rnJm_Z5E.js";
28
+ import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-CCLnP2Fs.js";
29
+ import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-Dyju4C81.js";
30
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-CY4kVbFL.js";
31
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-Dcz4tfzS.js";
32
32
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D7-rxoSr.js";
33
- import { t as resolveIMessageAccount } from "./accounts-DjhBQg_8.js";
34
- import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DSd911Oe.js";
33
+ import { t as resolveIMessageAccount } from "./accounts-Cz_Fvguv.js";
34
+ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CUF9-Xea.js";
35
35
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-uYL2gEou.js";
36
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-Dp5OiXeA.js";
37
- import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, 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 resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-kKMG59st.js";
38
- import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h 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$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-Cv0Q47cM.js";
39
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DP-JjB6Z.js";
36
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-DDvIxFgD.js";
37
+ import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, 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 resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-kOIz_XGP.js";
38
+ import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h 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$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-zGqnorSY.js";
39
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-cQwsz0rO.js";
40
40
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Wgx3OXYj.js";
41
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BDy975wP.js";
42
- import { t as makeProxyFetch } from "./proxy-fetch-lH6RsRTE.js";
43
- 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-CKK03mBV.js";
44
- 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-DgNRx3Nr.js";
45
- import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, 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, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-BJjv8_oR.js";
46
- import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-Cz45_nme.js";
41
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BkqLWF6M.js";
42
+ import { t as makeProxyFetch } from "./proxy-fetch-08-dhqxn.js";
43
+ 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-rIK14_OY.js";
44
+ 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-Ch8ZjtbC.js";
45
+ import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, 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, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-tedusR2M.js";
46
+ import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-CYH1hk0d.js";
47
47
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-tZXOZ9FV.js";
48
48
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CmCpeg5n.js";
49
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CPpt4XaL.js";
49
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Byj9--iR.js";
50
50
  import { t as buildOutboundMediaLoadOptions } from "./load-options-BFUunM8u.js";
51
51
  import { n as normalizePollInput } from "./polls-CYTwXmA1.js";
52
- import { t as convertMarkdownTables } from "./tables-BTFiZyRU.js";
53
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-dTQd-IyJ.js";
54
- 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-4nRsZJXH.js";
55
- import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-DPc_PGsA.js";
56
- import { n as resolveMemorySearchConfig } from "./manager-DINhLnMi.js";
57
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-Dzxt6kXo.js";
52
+ import { t as convertMarkdownTables } from "./tables-8uP1Il18.js";
53
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-5d2Ieqww.js";
54
+ 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-Bz835W6s.js";
55
+ import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-Cpv61XW5.js";
56
+ import { n as resolveMemorySearchConfig } from "./manager-B-q7-W4P.js";
57
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CeQC9es_.js";
58
58
  import { createRequire } from "node:module";
59
59
  import * as fs$1 from "node:fs/promises";
60
60
  import fs, { appendFile, mkdir } from "node:fs/promises";
61
61
  import os, { homedir } from "node:os";
62
62
  import * as path$1 from "node:path";
63
63
  import path, { isAbsolute } from "node:path";
64
- import syncFs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
65
- import JSON5 from "json5";
64
+ import fssync, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
65
+ import json5 from "json5";
66
66
  import { inspect, isDeepStrictEqual, promisify } from "node:util";
67
67
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
68
68
  import { fileURLToPath } from "node:url";
@@ -3285,7 +3285,7 @@ async function resolveSquidClawDocsPath(params) {
3285
3285
  const workspaceDir = params.workspaceDir?.trim();
3286
3286
  if (workspaceDir) {
3287
3287
  const workspaceDocs = path.join(workspaceDir, "docs");
3288
- if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3288
+ if (fssync.existsSync(workspaceDocs)) return workspaceDocs;
3289
3289
  }
3290
3290
  const packageRoot = await resolveSquidClawPackageRoot({
3291
3291
  cwd: params.cwd,
@@ -3294,7 +3294,7 @@ async function resolveSquidClawDocsPath(params) {
3294
3294
  });
3295
3295
  if (!packageRoot) return null;
3296
3296
  const packageDocs = path.join(packageRoot, "docs");
3297
- return syncFs.existsSync(packageDocs) ? packageDocs : null;
3297
+ return fssync.existsSync(packageDocs) ? packageDocs : null;
3298
3298
  }
3299
3299
 
3300
3300
  //#endregion
@@ -6431,7 +6431,7 @@ function resolveDefaultIdentityPath() {
6431
6431
  return path.join(resolveStateDir(), "identity", "device.json");
6432
6432
  }
6433
6433
  function ensureDir$2(filePath) {
6434
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
6434
+ fssync.mkdirSync(path.dirname(filePath), { recursive: true });
6435
6435
  }
6436
6436
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
6437
6437
  function base64UrlEncode(buf) {
@@ -6467,8 +6467,8 @@ function generateIdentity() {
6467
6467
  }
6468
6468
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6469
6469
  try {
6470
- if (syncFs.existsSync(filePath)) {
6471
- const raw = syncFs.readFileSync(filePath, "utf8");
6470
+ if (fssync.existsSync(filePath)) {
6471
+ const raw = fssync.readFileSync(filePath, "utf8");
6472
6472
  const parsed = JSON.parse(raw);
6473
6473
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
6474
6474
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -6477,9 +6477,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6477
6477
  ...parsed,
6478
6478
  deviceId: derivedId
6479
6479
  };
6480
- syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
6480
+ fssync.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
6481
6481
  try {
6482
- syncFs.chmodSync(filePath, 384);
6482
+ fssync.chmodSync(filePath, 384);
6483
6483
  } catch {}
6484
6484
  return {
6485
6485
  deviceId: derivedId,
@@ -6504,9 +6504,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6504
6504
  privateKeyPem: identity.privateKeyPem,
6505
6505
  createdAtMs: Date.now()
6506
6506
  };
6507
- syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
6507
+ fssync.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
6508
6508
  try {
6509
- syncFs.chmodSync(filePath, 384);
6509
+ fssync.chmodSync(filePath, 384);
6510
6510
  } catch {}
6511
6511
  return identity;
6512
6512
  }
@@ -6698,8 +6698,8 @@ function resolveDeviceAuthPath(env = process.env) {
6698
6698
  }
6699
6699
  function readStore(filePath) {
6700
6700
  try {
6701
- if (!syncFs.existsSync(filePath)) return null;
6702
- const raw = syncFs.readFileSync(filePath, "utf8");
6701
+ if (!fssync.existsSync(filePath)) return null;
6702
+ const raw = fssync.readFileSync(filePath, "utf8");
6703
6703
  const parsed = JSON.parse(raw);
6704
6704
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
6705
6705
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -6709,10 +6709,10 @@ function readStore(filePath) {
6709
6709
  }
6710
6710
  }
6711
6711
  function writeStore(filePath, store) {
6712
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
6713
- syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
6712
+ fssync.mkdirSync(path.dirname(filePath), { recursive: true });
6713
+ fssync.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
6714
6714
  try {
6715
- syncFs.chmodSync(filePath, 384);
6715
+ fssync.chmodSync(filePath, 384);
6716
6716
  } catch {}
6717
6717
  }
6718
6718
  function loadDeviceAuthToken(params) {
@@ -9893,7 +9893,7 @@ function normalizeReplyPayload(payload, opts = {}) {
9893
9893
  */
9894
9894
  let deliverRuntimePromise$2 = null;
9895
9895
  function loadDeliverRuntime$2() {
9896
- deliverRuntimePromise$2 ??= import("./deliver-runtime-B80olQwJ.js");
9896
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-tqK6d8Uv.js");
9897
9897
  return deliverRuntimePromise$2;
9898
9898
  }
9899
9899
  /**
@@ -10581,8 +10581,8 @@ function normalizeSessionKey(value) {
10581
10581
  }
10582
10582
  function readSessionStore(storePath) {
10583
10583
  try {
10584
- const raw = syncFs.readFileSync(storePath, "utf-8");
10585
- const parsed = JSON5.parse(raw);
10584
+ const raw = fssync.readFileSync(storePath, "utf-8");
10585
+ const parsed = json5.parse(raw);
10586
10586
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
10587
10587
  } catch {}
10588
10588
  return {};
@@ -11181,7 +11181,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
11181
11181
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
11182
11182
  let subagentRegistryRuntimePromise = null;
11183
11183
  function loadSubagentRegistryRuntime() {
11184
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-BTVxLFQ2.js");
11184
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CUpD6G1o.js");
11185
11185
  return subagentRegistryRuntimePromise;
11186
11186
  }
11187
11187
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -14535,7 +14535,7 @@ async function runWithConcurrency(tasks, limit) {
14535
14535
  //#region src/media-understanding/echo-transcript.ts
14536
14536
  let deliverRuntimePromise$1 = null;
14537
14537
  function loadDeliverRuntime$1() {
14538
- deliverRuntimePromise$1 ??= import("./deliver-runtime-B80olQwJ.js");
14538
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-tqK6d8Uv.js");
14539
14539
  return deliverRuntimePromise$1;
14540
14540
  }
14541
14541
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -18184,7 +18184,7 @@ function mergeLegacyAgent(current, legacy) {
18184
18184
  }
18185
18185
  function ensureDir$1(filePath) {
18186
18186
  const dir = path.dirname(filePath);
18187
- syncFs.mkdirSync(dir, { recursive: true });
18187
+ fssync.mkdirSync(dir, { recursive: true });
18188
18188
  }
18189
18189
  function coerceAllowlistEntries(allowlist) {
18190
18190
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -18254,11 +18254,11 @@ function generateToken() {
18254
18254
  function loadExecApprovals() {
18255
18255
  const filePath = resolveExecApprovalsPath();
18256
18256
  try {
18257
- if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
18257
+ if (!fssync.existsSync(filePath)) return normalizeExecApprovals({
18258
18258
  version: 1,
18259
18259
  agents: {}
18260
18260
  });
18261
- const raw = syncFs.readFileSync(filePath, "utf8");
18261
+ const raw = fssync.readFileSync(filePath, "utf8");
18262
18262
  const parsed = JSON.parse(raw);
18263
18263
  if (parsed?.version !== 1) return normalizeExecApprovals({
18264
18264
  version: 1,
@@ -18275,9 +18275,9 @@ function loadExecApprovals() {
18275
18275
  function saveExecApprovals(file) {
18276
18276
  const filePath = resolveExecApprovalsPath();
18277
18277
  ensureDir$1(filePath);
18278
- syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18278
+ fssync.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18279
18279
  try {
18280
- syncFs.chmodSync(filePath, 384);
18280
+ fssync.chmodSync(filePath, 384);
18281
18281
  } catch {}
18282
18282
  }
18283
18283
  function ensureExecApprovals() {
@@ -18774,18 +18774,18 @@ function drainSystemEventEntries(sessionKey) {
18774
18774
  function resolvePowerShellPath() {
18775
18775
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18776
18776
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18777
- if (syncFs.existsSync(pwsh7)) return pwsh7;
18777
+ if (fssync.existsSync(pwsh7)) return pwsh7;
18778
18778
  const programW6432 = process.env.ProgramW6432;
18779
18779
  if (programW6432 && programW6432 !== programFiles) {
18780
18780
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18781
- if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18781
+ if (fssync.existsSync(pwsh7Alt)) return pwsh7Alt;
18782
18782
  }
18783
18783
  const pwshInPath = resolveShellFromPath("pwsh");
18784
18784
  if (pwshInPath) return pwshInPath;
18785
18785
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18786
18786
  if (systemRoot) {
18787
18787
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18788
- if (syncFs.existsSync(candidate)) return candidate;
18788
+ if (fssync.existsSync(candidate)) return candidate;
18789
18789
  }
18790
18790
  return "powershell.exe";
18791
18791
  }
@@ -18823,7 +18823,7 @@ function resolveShellFromPath(name) {
18823
18823
  for (const entry of entries) {
18824
18824
  const candidate = path.join(entry, name);
18825
18825
  try {
18826
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
18826
+ fssync.accessSync(candidate, fssync.constants.X_OK);
18827
18827
  return candidate;
18828
18828
  } catch {}
18829
18829
  }
@@ -22298,7 +22298,7 @@ function ensureContextWindowCacheLoaded() {
22298
22298
  await ensureSquidClawModelsJson(cfg);
22299
22299
  } catch {}
22300
22300
  try {
22301
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-V-InbjOM.js").then((n) => n.r);
22301
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-COoRoqoO.js").then((n) => n.r);
22302
22302
  const agentDir = resolveSquidClawAgentDir();
22303
22303
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
22304
22304
  applyDiscoveredContextWindows({
@@ -22366,34 +22366,6 @@ function resolveContextTokensForModel(params) {
22366
22366
 
22367
22367
  //#endregion
22368
22368
  //#region src/agents/agent-tier.ts
22369
- const PAID_PROVIDERS = ["anthropic", "openai"];
22370
- function isPaidProvider(modelRef) {
22371
- const trimmed = modelRef.trim().toLowerCase();
22372
- for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
22373
- isPaid: true,
22374
- provider
22375
- };
22376
- return {
22377
- isPaid: false,
22378
- provider: ""
22379
- };
22380
- }
22381
- /**
22382
- * Check if the primary provider's last interaction was a failure
22383
- * with no successful use after it.
22384
- */
22385
- function isPrimaryLastKnownBroken(store, profileIds, now) {
22386
- for (const id of profileIds) {
22387
- const stats = store.usageStats?.[id];
22388
- if (!stats) continue;
22389
- if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
22390
- if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
22391
- const lastFailure = stats.lastFailureAt ?? 0;
22392
- const lastSuccess = stats.lastUsed ?? 0;
22393
- if (lastFailure > 0 && lastFailure > lastSuccess) return true;
22394
- }
22395
- return false;
22396
- }
22397
22369
  /**
22398
22370
  * Resolve the fallback flag file path.
22399
22371
  */
@@ -22407,8 +22379,8 @@ function resolveFallbackFlagPath() {
22407
22379
  function readFallbackFlag() {
22408
22380
  try {
22409
22381
  const flagPath = resolveFallbackFlagPath();
22410
- if (!syncFs.existsSync(flagPath)) return null;
22411
- const data = JSON.parse(syncFs.readFileSync(flagPath, "utf8"));
22382
+ if (!fssync.existsSync(flagPath)) return null;
22383
+ const data = JSON.parse(fssync.readFileSync(flagPath, "utf8"));
22412
22384
  if (data && data.active) return data;
22413
22385
  return null;
22414
22386
  } catch {
@@ -22421,7 +22393,7 @@ function readFallbackFlag() {
22421
22393
  function writeFallbackFlag(data) {
22422
22394
  try {
22423
22395
  const flagPath = resolveFallbackFlagPath();
22424
- syncFs.writeFileSync(flagPath, JSON.stringify({
22396
+ fssync.writeFileSync(flagPath, JSON.stringify({
22425
22397
  active: true,
22426
22398
  ...data,
22427
22399
  since: Date.now()
@@ -22434,46 +22406,9 @@ function writeFallbackFlag(data) {
22434
22406
  function clearFallbackFlag() {
22435
22407
  try {
22436
22408
  const flagPath = resolveFallbackFlagPath();
22437
- if (syncFs.existsSync(flagPath)) syncFs.unlinkSync(flagPath);
22409
+ if (fssync.existsSync(flagPath)) fssync.unlinkSync(flagPath);
22438
22410
  } catch {}
22439
22411
  }
22440
- /**
22441
- * Resolve the current agent tier.
22442
- *
22443
- * - "super": Paid provider configured and last known working.
22444
- * - "degraded": Paid provider configured but last attempt failed (no success since).
22445
- * - "base": Local/free model only.
22446
- */
22447
- function resolveAgentTier(params) {
22448
- const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
22449
- if (!primary) return "base";
22450
- const { isPaid, provider } = isPaidProvider(primary);
22451
- if (!isPaid) return "base";
22452
- const envKey = resolveEnvApiKey(provider);
22453
- let hasAuthProfile = false;
22454
- let profileIds = [];
22455
- let authStore = null;
22456
- try {
22457
- authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
22458
- profileIds = resolveAuthProfileOrder({
22459
- cfg: params.cfg,
22460
- store: authStore,
22461
- provider
22462
- });
22463
- hasAuthProfile = profileIds.length > 0;
22464
- } catch {}
22465
- if (!envKey && !hasAuthProfile) return "base";
22466
- if (authStore && profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
22467
- if (readFallbackFlag()) return "degraded";
22468
- return "super";
22469
- }
22470
- function formatAgentTierLabel(tier) {
22471
- switch (tier) {
22472
- case "super": return "🟢 Super Agent";
22473
- case "degraded": return "🟠 Basic Agent (degraded)";
22474
- case "base": return "🟡 Basic Agent";
22475
- }
22476
- }
22477
22412
 
22478
22413
  //#endregion
22479
22414
  //#region src/agents/usage.ts
@@ -22565,7 +22500,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
22565
22500
  function hasGitMarker(repoRoot) {
22566
22501
  const gitPath = path.join(repoRoot, ".git");
22567
22502
  try {
22568
- const stat = syncFs.statSync(gitPath);
22503
+ const stat = fssync.statSync(gitPath);
22569
22504
  return stat.isDirectory() || stat.isFile();
22570
22505
  } catch {
22571
22506
  return false;
@@ -22577,10 +22512,10 @@ function findGitRoot(startDir, opts = {}) {
22577
22512
  function resolveGitDirFromMarker(repoRoot) {
22578
22513
  const gitPath = path.join(repoRoot, ".git");
22579
22514
  try {
22580
- const stat = syncFs.statSync(gitPath);
22515
+ const stat = fssync.statSync(gitPath);
22581
22516
  if (stat.isDirectory()) return gitPath;
22582
22517
  if (!stat.isFile()) return null;
22583
- const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22518
+ const match = fssync.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22584
22519
  if (!match?.[1]) return null;
22585
22520
  return path.resolve(repoRoot, match[1].trim());
22586
22521
  } catch {
@@ -22647,7 +22582,7 @@ const resolveCommitHash = (options = {}) => {
22647
22582
  cachedCommit = null;
22648
22583
  return cachedCommit;
22649
22584
  }
22650
- const head = syncFs.readFileSync(headPath, "utf-8").trim();
22585
+ const head = fssync.readFileSync(headPath, "utf-8").trim();
22651
22586
  if (!head) {
22652
22587
  cachedCommit = null;
22653
22588
  return cachedCommit;
@@ -22655,7 +22590,7 @@ const resolveCommitHash = (options = {}) => {
22655
22590
  if (head.startsWith("ref:")) {
22656
22591
  const ref = head.replace(/^ref:\s*/i, "").trim();
22657
22592
  const refPath = path.resolve(path.dirname(headPath), ref);
22658
- cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
22593
+ cachedCommit = formatCommit(fssync.readFileSync(refPath, "utf-8").trim());
22659
22594
  return cachedCommit;
22660
22595
  }
22661
22596
  cachedCommit = formatCommit(head);
@@ -22915,17 +22850,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
22915
22850
  } catch {
22916
22851
  return;
22917
22852
  }
22918
- if (!syncFs.existsSync(logPath)) return;
22853
+ if (!fssync.existsSync(logPath)) return;
22919
22854
  try {
22920
22855
  const TAIL_BYTES = 8192;
22921
- const stat = syncFs.statSync(logPath);
22856
+ const stat = fssync.statSync(logPath);
22922
22857
  const offset = Math.max(0, stat.size - TAIL_BYTES);
22923
22858
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
22924
- const fd = syncFs.openSync(logPath, "r");
22859
+ const fd = fssync.openSync(logPath, "r");
22925
22860
  try {
22926
- syncFs.readSync(fd, buf, 0, buf.length, offset);
22861
+ fssync.readSync(fd, buf, 0, buf.length, offset);
22927
22862
  } finally {
22928
- syncFs.closeSync(fd);
22863
+ fssync.closeSync(fd);
22929
22864
  }
22930
22865
  const tail = buf.toString("utf-8");
22931
22866
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -23179,11 +23114,6 @@ function buildStatusMessage(args) {
23179
23114
  const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
23180
23115
  return [
23181
23116
  versionLine,
23182
- args.config ? formatAgentTierLabel((() => {
23183
- const t = resolveAgentTier({ cfg: args.config });
23184
- if (t === "super" && fallbackState.active) return "degraded";
23185
- return t;
23186
- })()) : null,
23187
23117
  args.timeLine,
23188
23118
  modelLine,
23189
23119
  fallbackLine,
@@ -24455,7 +24385,7 @@ function resolveRepoRoot(params) {
24455
24385
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
24456
24386
  if (configured) try {
24457
24387
  const resolved = path.resolve(configured);
24458
- if (syncFs.statSync(resolved).isDirectory()) return resolved;
24388
+ if (fssync.statSync(resolved).isDirectory()) return resolved;
24459
24389
  } catch {}
24460
24390
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
24461
24391
  const seen = /* @__PURE__ */ new Set();
@@ -25241,7 +25171,7 @@ async function buildContextReply(params) {
25241
25171
  //#region src/auto-reply/reply/commands-export-session.ts
25242
25172
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
25243
25173
  function loadTemplate(fileName) {
25244
- return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
25174
+ return fssync.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
25245
25175
  }
25246
25176
  function generateHtml(sessionData) {
25247
25177
  const template = loadTemplate("template.html");
@@ -25315,7 +25245,7 @@ async function buildExportSessionReply(params) {
25315
25245
  } catch (err) {
25316
25246
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
25317
25247
  }
25318
- if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
25248
+ if (!fssync.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
25319
25249
  const sessionManager = SessionManager.open(sessionFile);
25320
25250
  const entries = sessionManager.getEntries();
25321
25251
  const header = sessionManager.getHeader();
@@ -25336,8 +25266,8 @@ async function buildExportSessionReply(params) {
25336
25266
  const defaultFileName = `squidclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
25337
25267
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
25338
25268
  const outputDir = path.dirname(outputPath);
25339
- if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
25340
- syncFs.writeFileSync(outputPath, html, "utf-8");
25269
+ if (!fssync.existsSync(outputDir)) fssync.mkdirSync(outputDir, { recursive: true });
25270
+ fssync.writeFileSync(outputPath, html, "utf-8");
25341
25271
  const relativePath = path.relative(params.workspaceDir, outputPath);
25342
25272
  return { text: [
25343
25273
  "✅ Session exported!",
@@ -25484,8 +25414,8 @@ function resolveZaiApiKey() {
25484
25414
  }
25485
25415
  try {
25486
25416
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
25487
- if (!syncFs.existsSync(authPath)) return;
25488
- const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
25417
+ if (!fssync.existsSync(authPath)) return;
25418
+ const data = JSON.parse(fssync.readFileSync(authPath, "utf-8"));
25489
25419
  return data["z-ai"]?.access || data.zai?.access;
25490
25420
  } catch {
25491
25421
  return;
@@ -27304,7 +27234,7 @@ function shouldPersistAnyBindingState() {
27304
27234
  }
27305
27235
  function shouldPersistBindingMutations() {
27306
27236
  if (shouldPersistAnyBindingState()) return true;
27307
- return syncFs.existsSync(resolveThreadBindingsPath());
27237
+ return fssync.existsSync(resolveThreadBindingsPath());
27308
27238
  }
27309
27239
  function saveBindingsToDisk(params = {}) {
27310
27240
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -28772,7 +28702,7 @@ const applyCostTotal = (totals, costTotal) => {
28772
28702
  totals.totalCost += costTotal;
28773
28703
  };
28774
28704
  async function* readJsonlRecords(filePath) {
28775
- const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
28705
+ const fileStream = fssync.createReadStream(filePath, { encoding: "utf-8" });
28776
28706
  const rl = readline.createInterface({
28777
28707
  input: fileStream,
28778
28708
  crlfDelay: Infinity
@@ -28844,10 +28774,10 @@ async function loadCostUsageSummary(params) {
28844
28774
  const dailyMap = /* @__PURE__ */ new Map();
28845
28775
  const totals = emptyTotals();
28846
28776
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
28847
- const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
28777
+ const entries = await fssync.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
28848
28778
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
28849
28779
  const filePath = path.join(sessionsDir, entry.name);
28850
- const stats = await syncFs.promises.stat(filePath).catch(() => null);
28780
+ const stats = await fssync.promises.stat(filePath).catch(() => null);
28851
28781
  if (!stats) return null;
28852
28782
  if (stats.mtimeMs < sinceTime) return null;
28853
28783
  return filePath;
@@ -28880,7 +28810,7 @@ async function loadCostUsageSummary(params) {
28880
28810
  }
28881
28811
  async function loadSessionCostSummary(params) {
28882
28812
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
28883
- if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
28813
+ if (!sessionFile || !fssync.existsSync(sessionFile)) return null;
28884
28814
  const totals = emptyTotals();
28885
28815
  let firstActivity;
28886
28816
  let lastActivity;
@@ -31404,7 +31334,7 @@ async function createModelSelectionState(params) {
31404
31334
  }
31405
31335
  }
31406
31336
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
31407
- const { ensureAuthProfileStore } = await import("./model-selection-DuNLFQPR.js").then((n) => n.F);
31337
+ const { ensureAuthProfileStore } = await import("./model-selection-BEglDVk0.js").then((n) => n.F);
31408
31338
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
31409
31339
  const providerKey = normalizeProviderId(provider);
31410
31340
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -35065,7 +34995,7 @@ function asBoolean(value) {
35065
34995
  }
35066
34996
  function resolveTempPathParts(opts) {
35067
34997
  const tmpDir = opts.tmpDir ?? resolvePreferredSquidClawTmpDir();
35068
- if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
34998
+ if (!opts.tmpDir) fssync.mkdirSync(tmpDir, {
35069
34999
  recursive: true,
35070
35000
  mode: 448
35071
35001
  });
@@ -38240,9 +38170,9 @@ function loadExternalCatalogEntries(options) {
38240
38170
  const entries = [];
38241
38171
  for (const rawPath of paths) {
38242
38172
  const resolved = resolveUserPath(rawPath);
38243
- if (!syncFs.existsSync(resolved)) continue;
38173
+ if (!fssync.existsSync(resolved)) continue;
38244
38174
  try {
38245
- const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
38175
+ const payload = JSON.parse(fssync.readFileSync(resolved, "utf-8"));
38246
38176
  entries.push(...parseCatalogEntries(payload));
38247
38177
  } catch {}
38248
38178
  }
@@ -42434,7 +42364,7 @@ function listExistingAgentIdsFromDisk() {
42434
42364
  const root = resolveStateDir();
42435
42365
  const agentsDir = path.join(root, "agents");
42436
42366
  try {
42437
- return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
42367
+ return fssync.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
42438
42368
  } catch {
42439
42369
  return [];
42440
42370
  }
@@ -48834,7 +48764,7 @@ async function runAgentTurnWithFallback(params) {
48834
48764
  if (corruptedSessionId) {
48835
48765
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
48836
48766
  try {
48837
- syncFs.unlinkSync(transcriptPath);
48767
+ fssync.unlinkSync(transcriptPath);
48838
48768
  } catch {}
48839
48769
  }
48840
48770
  delete params.activeSessionStore[sessionKey];
@@ -49654,7 +49584,7 @@ async function readSessionLogSnapshot(params) {
49654
49584
  if (!logPath) return {};
49655
49585
  const snapshot = {};
49656
49586
  if (params.includeByteSize) try {
49657
- const stat = await syncFs.promises.stat(logPath);
49587
+ const stat = await fssync.promises.stat(logPath);
49658
49588
  const size = Math.floor(stat.size);
49659
49589
  snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
49660
49590
  } catch {
@@ -49668,7 +49598,7 @@ async function readSessionLogSnapshot(params) {
49668
49598
  return snapshot;
49669
49599
  }
49670
49600
  async function readLastNonzeroUsageFromSessionLog(logPath) {
49671
- const handle = await syncFs.promises.open(logPath, "r");
49601
+ const handle = await fssync.promises.open(logPath, "r");
49672
49602
  try {
49673
49603
  let position = (await handle.stat()).size;
49674
49604
  let leadingPartial = "";
@@ -50365,9 +50295,9 @@ async function readPostCompactionContext(workspaceDir, cfg, nowMs) {
50365
50295
  if (!opened.ok) return null;
50366
50296
  const sections = extractSections((() => {
50367
50297
  try {
50368
- return syncFs.readFileSync(opened.fd, "utf-8");
50298
+ return fssync.readFileSync(opened.fd, "utf-8");
50369
50299
  } finally {
50370
- syncFs.closeSync(opened.fd);
50300
+ fssync.closeSync(opened.fd);
50371
50301
  }
50372
50302
  })(), ["Session Startup", "Red Lines"]);
50373
50303
  if (sections.length === 0) return null;
@@ -50589,7 +50519,7 @@ async function runReplyAgent(params) {
50589
50519
  if (resolved) transcriptCandidates.add(resolved);
50590
50520
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
50591
50521
  for (const candidate of transcriptCandidates) try {
50592
- syncFs.unlinkSync(candidate);
50522
+ fssync.unlinkSync(candidate);
50593
50523
  } catch {}
50594
50524
  }
50595
50525
  return true;
@@ -51540,7 +51470,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
51540
51470
  const log$10 = createSubsystemLogger("session-maintenance-warning");
51541
51471
  let deliverRuntimePromise = null;
51542
51472
  function loadDeliverRuntime() {
51543
- deliverRuntimePromise ??= import("./deliver-runtime-B80olQwJ.js");
51473
+ deliverRuntimePromise ??= import("./deliver-runtime-tqK6d8Uv.js");
51544
51474
  return deliverRuntimePromise;
51545
51475
  }
51546
51476
  function shouldSendWarning() {
@@ -51707,7 +51637,7 @@ function forkSessionFromParent(params) {
51707
51637
  agentId: params.agentId,
51708
51638
  sessionsDir: params.sessionsDir
51709
51639
  });
51710
- if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
51640
+ if (!parentSessionFile || !fssync.existsSync(parentSessionFile)) return null;
51711
51641
  try {
51712
51642
  const manager = SessionManager.open(parentSessionFile);
51713
51643
  const leafId = manager.getLeafId();
@@ -51731,7 +51661,7 @@ function forkSessionFromParent(params) {
51731
51661
  cwd: manager.getCwd(),
51732
51662
  parentSession: parentSessionFile
51733
51663
  };
51734
- syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
51664
+ fssync.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
51735
51665
  return {
51736
51666
  sessionId,
51737
51667
  sessionFile
@@ -56517,7 +56447,7 @@ const VISION_PROVIDERS = [
56517
56447
  ];
56518
56448
  let imageRuntimePromise = null;
56519
56449
  function loadImageRuntime() {
56520
- imageRuntimePromise ??= import("./image-runtime-BqIv7p_K.js");
56450
+ imageRuntimePromise ??= import("./image-runtime-CSRwqD0g.js");
56521
56451
  return imageRuntimePromise;
56522
56452
  }
56523
56453
  /**
@@ -58578,7 +58508,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
58578
58508
  hasTypedText
58579
58509
  };
58580
58510
  try {
58581
- const { transcribeFirstAudio } = await import("./audio-preflight-BUCBED7N.js");
58511
+ const { transcribeFirstAudio } = await import("./audio-preflight-DsLwB4dE.js");
58582
58512
  if (params.abortSignal?.aborted) return {
58583
58513
  hasAudioAttachment,
58584
58514
  hasTypedText
@@ -60157,7 +60087,7 @@ function identityHasValues(identity) {
60157
60087
  }
60158
60088
  function loadIdentityFromFile(identityPath) {
60159
60089
  try {
60160
- const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
60090
+ const parsed = parseIdentityMarkdown(fssync.readFileSync(identityPath, "utf-8"));
60161
60091
  if (!identityHasValues(parsed)) return null;
60162
60092
  return parsed;
60163
60093
  } catch {
@@ -60181,7 +60111,7 @@ function resolveAvatarSource(cfg, agentId) {
60181
60111
  }
60182
60112
  function resolveExistingPath(value) {
60183
60113
  try {
60184
- return syncFs.realpathSync(value);
60114
+ return fssync.realpathSync(value);
60185
60115
  } catch {
60186
60116
  return path.resolve(value);
60187
60117
  }
@@ -60199,7 +60129,7 @@ function resolveLocalAvatarPath(params) {
60199
60129
  reason: "unsupported_extension"
60200
60130
  };
60201
60131
  try {
60202
- const stat = syncFs.statSync(realPath);
60132
+ const stat = fssync.statSync(realPath);
60203
60133
  if (!stat.isFile()) return {
60204
60134
  ok: false,
60205
60135
  reason: "missing"
@@ -65972,27 +65902,27 @@ let slackSenderRuntimePromise = null;
65972
65902
  let signalSenderRuntimePromise = null;
65973
65903
  let imessageSenderRuntimePromise = null;
65974
65904
  function loadWhatsAppSenderRuntime() {
65975
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-BdydhhI-.js");
65905
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DFfgQ9HF.js");
65976
65906
  return whatsappSenderRuntimePromise;
65977
65907
  }
65978
65908
  function loadTelegramSenderRuntime() {
65979
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-CRyP-xDQ.js");
65909
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-Cz8mtMyE.js");
65980
65910
  return telegramSenderRuntimePromise;
65981
65911
  }
65982
65912
  function loadDiscordSenderRuntime() {
65983
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-GIuvX7Xw.js");
65913
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-BGaHOctc.js");
65984
65914
  return discordSenderRuntimePromise;
65985
65915
  }
65986
65916
  function loadSlackSenderRuntime() {
65987
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-cbfFoLZ4.js");
65917
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-DOkzJ6nC.js");
65988
65918
  return slackSenderRuntimePromise;
65989
65919
  }
65990
65920
  function loadSignalSenderRuntime() {
65991
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-CuVJyw7n.js");
65921
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-CjglZ1PO.js");
65992
65922
  return signalSenderRuntimePromise;
65993
65923
  }
65994
65924
  function loadIMessageSenderRuntime() {
65995
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-B3TC7G80.js");
65925
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-BIYidS73.js");
65996
65926
  return imessageSenderRuntimePromise;
65997
65927
  }
65998
65928
  function createDefaultDeps() {
@@ -72176,7 +72106,7 @@ async function monitorIMessageProvider(opts = {}) {
72176
72106
  function readFileIfExists(filePath) {
72177
72107
  if (!filePath) return;
72178
72108
  try {
72179
- return syncFs.readFileSync(filePath, "utf-8").trim();
72109
+ return fssync.readFileSync(filePath, "utf-8").trim();
72180
72110
  } catch {
72181
72111
  return;
72182
72112
  }
@@ -72806,7 +72736,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
72806
72736
  prefix: "line-media",
72807
72737
  extension: getExtensionForContentType(contentType)
72808
72738
  });
72809
- await syncFs.promises.writeFile(filePath, buffer);
72739
+ await fssync.promises.writeFile(filePath, buffer);
72810
72740
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
72811
72741
  return {
72812
72742
  path: filePath,
@@ -78829,15 +78759,15 @@ let slashCommandsRuntimePromise = null;
78829
78759
  let slashDispatchRuntimePromise = null;
78830
78760
  let slashSkillCommandsRuntimePromise = null;
78831
78761
  function loadSlashCommandsRuntime() {
78832
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-CZz6v6b3.js");
78762
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-DNDYdj2t.js");
78833
78763
  return slashCommandsRuntimePromise;
78834
78764
  }
78835
78765
  function loadSlashDispatchRuntime() {
78836
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-frzN4e57.js");
78766
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BjHf74oU.js");
78837
78767
  return slashDispatchRuntimePromise;
78838
78768
  }
78839
78769
  function loadSlashSkillCommandsRuntime() {
78840
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-Bawt7j0r.js");
78770
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-DdMrdbxl.js");
78841
78771
  return slashSkillCommandsRuntimePromise;
78842
78772
  }
78843
78773
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -79827,7 +79757,7 @@ function collectTelegramUnmentionedGroupIds(groups) {
79827
79757
  }
79828
79758
  let auditMembershipRuntimePromise = null;
79829
79759
  function loadAuditMembershipRuntime() {
79830
- auditMembershipRuntimePromise ??= import("./audit-membership-runtime-DyLj-uhz.js");
79760
+ auditMembershipRuntimePromise ??= import("./audit-membership-runtime-By9-qSwl.js");
79831
79761
  return auditMembershipRuntimePromise;
79832
79762
  }
79833
79763
  async function auditTelegramGroupMembership(params) {
@@ -82202,7 +82132,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
82202
82132
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
82203
82133
  let preflightTranscript;
82204
82134
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
82205
- const { transcribeFirstAudio } = await import("./audio-preflight-BUCBED7N.js");
82135
+ const { transcribeFirstAudio } = await import("./audio-preflight-DsLwB4dE.js");
82206
82136
  preflightTranscript = await transcribeFirstAudio({
82207
82137
  ctx: {
82208
82138
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -85041,7 +84971,7 @@ function createWhatsAppLoginTool() {
85041
84971
  force: Type.Optional(Type.Boolean())
85042
84972
  }),
85043
84973
  execute: async (_toolCallId, args) => {
85044
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-KbOpR0GQ.js");
84974
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BuzK_3o4.js");
85045
84975
  if ((args?.action ?? "start") === "wait") {
85046
84976
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
85047
84977
  return {
@@ -85116,23 +85046,23 @@ let webOutboundPromise = null;
85116
85046
  let webLoginPromise = null;
85117
85047
  let whatsappActionsPromise = null;
85118
85048
  function loadWebOutbound() {
85119
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-DQqIlwhS.js");
85049
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-aHIvDvKJ.js");
85120
85050
  return webOutboundPromise;
85121
85051
  }
85122
85052
  function loadWebLogin() {
85123
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-DxV9iv6l.js");
85053
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-Dw75S1uv.js");
85124
85054
  return webLoginPromise;
85125
85055
  }
85126
85056
  function loadWebLoginQr() {
85127
- webLoginQrPromise ??= import("./login-qr-KbOpR0GQ.js");
85057
+ webLoginQrPromise ??= import("./login-qr-BuzK_3o4.js");
85128
85058
  return webLoginQrPromise;
85129
85059
  }
85130
85060
  function loadWebChannel() {
85131
- webChannelPromise ??= import("./web-B3GIA0Oq.js");
85061
+ webChannelPromise ??= import("./web-BeedURrs.js");
85132
85062
  return webChannelPromise;
85133
85063
  }
85134
85064
  function loadWhatsAppActions() {
85135
- whatsappActionsPromise ??= import("./whatsapp-actions-CzqsuSGx.js");
85065
+ whatsappActionsPromise ??= import("./whatsapp-actions-D6yjFXCT.js");
85136
85066
  return whatsappActionsPromise;
85137
85067
  }
85138
85068
  function createRuntimeWhatsApp() {
@@ -85573,7 +85503,7 @@ const log$6 = createSubsystemLogger("memory");
85573
85503
  const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
85574
85504
  let managerRuntimePromise = null;
85575
85505
  function loadManagerRuntime() {
85576
- managerRuntimePromise ??= import("./manager-runtime-D6ckUNSs.js");
85506
+ managerRuntimePromise ??= import("./manager-runtime-CF4Tq0lu.js");
85577
85507
  return managerRuntimePromise;
85578
85508
  }
85579
85509
  async function getMemorySearchManager(params) {
@@ -85587,7 +85517,7 @@ async function getMemorySearchManager(params) {
85587
85517
  if (cached) return { manager: cached };
85588
85518
  }
85589
85519
  try {
85590
- const { QmdMemoryManager } = await import("./qmd-manager-BN0siR2Z.js");
85520
+ const { QmdMemoryManager } = await import("./qmd-manager-v3fVcsJ9.js");
85591
85521
  const primary = await QmdMemoryManager.create({
85592
85522
  cfg: params.cfg,
85593
85523
  agentId: params.agentId,
@@ -86161,7 +86091,7 @@ async function withMemoryManagerForAgent(params) {
86161
86091
  }
86162
86092
  async function checkReadableFile(pathname) {
86163
86093
  try {
86164
- await fs.access(pathname, syncFs.constants.R_OK);
86094
+ await fs.access(pathname, fssync.constants.R_OK);
86165
86095
  return { exists: true };
86166
86096
  } catch (err) {
86167
86097
  const code = err.code;
@@ -86220,7 +86150,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
86220
86150
  }
86221
86151
  let dirReadable = null;
86222
86152
  try {
86223
- await fs.access(memoryDir, syncFs.constants.R_OK);
86153
+ await fs.access(memoryDir, fssync.constants.R_OK);
86224
86154
  dirReadable = true;
86225
86155
  } catch (err) {
86226
86156
  const code = err.code;
@@ -86669,7 +86599,7 @@ const resolvePluginSdkAliasFile = (params) => {
86669
86599
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
86670
86600
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
86671
86601
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
86672
- for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
86602
+ for (const candidate of orderedCandidates) if (fssync.existsSync(candidate)) return candidate;
86673
86603
  const parent = path.dirname(cursor);
86674
86604
  if (parent === cursor) break;
86675
86605
  cursor = parent;
@@ -87275,7 +87205,7 @@ function loadSquidClawPlugins(options = {}) {
87275
87205
  continue;
87276
87206
  }
87277
87207
  const safeSource = opened.path;
87278
- syncFs.closeSync(opened.fd);
87208
+ fssync.closeSync(opened.fd);
87279
87209
  let mod = null;
87280
87210
  try {
87281
87211
  mod = getJiti()(safeSource);
@@ -87393,7 +87323,7 @@ function loadSquidClawPlugins(options = {}) {
87393
87323
  }
87394
87324
  function safeRealpathOrResolve(value) {
87395
87325
  try {
87396
- return syncFs.realpathSync(value);
87326
+ return fssync.realpathSync(value);
87397
87327
  } catch {
87398
87328
  return path.resolve(value);
87399
87329
  }
@@ -87832,9 +87762,9 @@ function resolvePatchFileOps(options) {
87832
87762
  });
87833
87763
  assertBoundaryRead(opened, filePath);
87834
87764
  try {
87835
- return syncFs.readFileSync(opened.fd, "utf8");
87765
+ return fssync.readFileSync(opened.fd, "utf8");
87836
87766
  } finally {
87837
- syncFs.closeSync(opened.fd);
87767
+ fssync.closeSync(opened.fd);
87838
87768
  }
87839
87769
  },
87840
87770
  writeFile: async (filePath, content) => {
@@ -88113,7 +88043,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
88113
88043
  const MAX_LOOP_WARNING_KEYS = 256;
88114
88044
  let beforeToolCallRuntimePromise = null;
88115
88045
  function loadBeforeToolCallRuntime() {
88116
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-Bpk4qTgV.js");
88046
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-pbvzHMRb.js");
88117
88047
  return beforeToolCallRuntimePromise;
88118
88048
  }
88119
88049
  function buildAdjustedParamsKey(params) {
@@ -90795,9 +90725,9 @@ async function readWorkspaceContextForSummary() {
90795
90725
  if (!opened.ok) return "";
90796
90726
  const sections = extractSections((() => {
90797
90727
  try {
90798
- return syncFs.readFileSync(opened.fd, "utf-8");
90728
+ return fssync.readFileSync(opened.fd, "utf-8");
90799
90729
  } finally {
90800
- syncFs.closeSync(opened.fd);
90730
+ fssync.closeSync(opened.fd);
90801
90731
  }
90802
90732
  })(), ["Session Startup", "Red Lines"]);
90803
90733
  if (sections.length === 0) return "";
@@ -92166,7 +92096,7 @@ async function compactEmbeddedPiSessionDirect(params) {
92166
92096
  if (!apiKeyInfo.apiKey) {
92167
92097
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
92168
92098
  } else if (model.provider === "github-copilot") {
92169
- const { resolveCopilotApiToken } = await import("./github-copilot-token-B5cPlwaz.js").then((n) => n.n);
92099
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
92170
92100
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
92171
92101
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
92172
92102
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -94394,11 +94324,11 @@ function appendRawStream(payload) {
94394
94324
  if (!rawStreamReady) {
94395
94325
  rawStreamReady = true;
94396
94326
  try {
94397
- syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
94327
+ fssync.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
94398
94328
  } catch {}
94399
94329
  }
94400
94330
  try {
94401
- syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
94331
+ fssync.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
94402
94332
  } catch {}
94403
94333
  }
94404
94334
 
@@ -97903,7 +97833,7 @@ async function runEmbeddedPiAgent(params) {
97903
97833
  await copilotTokenState.refreshInFlight;
97904
97834
  return;
97905
97835
  }
97906
- const { resolveCopilotApiToken } = await import("./github-copilot-token-B5cPlwaz.js").then((n) => n.n);
97836
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
97907
97837
  copilotTokenState.refreshInFlight = (async () => {
97908
97838
  const githubToken = copilotTokenState.githubToken.trim();
97909
97839
  if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
@@ -97995,7 +97925,7 @@ async function runEmbeddedPiAgent(params) {
97995
97925
  return;
97996
97926
  }
97997
97927
  if (model.provider === "github-copilot") {
97998
- const { resolveCopilotApiToken } = await import("./github-copilot-token-B5cPlwaz.js").then((n) => n.n);
97928
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
97999
97929
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
98000
97930
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
98001
97931
  if (copilotTokenState) {