squidclaw 3.0.26 → 3.0.28

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 (219) hide show
  1. package/dist/{agents-DXKtU4Il.js → agents-C45efJT7.js} +4 -4
  2. package/dist/{agents.config-eMSUW-iw.js → agents.config-C8v65qN9.js} +1 -1
  3. package/dist/{agents.config-BM-2SLCh.js → agents.config-Clini93W.js} +1 -1
  4. package/dist/{audio-preflight-Bzo_zN4j.js → audio-preflight-lT9iRnYi.js} +4 -4
  5. package/dist/{audio-transcription-runner-Cp_lkLCv.js → audio-transcription-runner-YiR1ym3a.js} +1 -1
  6. package/dist/{auth-choice-D2JrMJn-.js → auth-choice-BQXBGaRl.js} +1 -1
  7. package/dist/{auth-choice-CXepQc7c.js → auth-choice-hEJyhy7L.js} +1 -1
  8. package/dist/{banner-DMfuBV69.js → banner-CrrDgCEs.js} +1 -1
  9. package/dist/build-info.json +2 -2
  10. package/dist/bundled/boot-md/handler.js +1 -1
  11. package/dist/bundled/session-memory/handler.js +1 -1
  12. package/dist/{channel-options-CQ-gER0J.js → channel-options-CVKOaKBz.js} +1 -1
  13. package/dist/{channel-options-SijIkAlT.js → channel-options-iObBHiIV.js} +1 -1
  14. package/dist/{channel-web-LLzBxZrT.js → channel-web-CSYQMMrp.js} +1 -1
  15. package/dist/{channel-web-7t1a2N13.js → channel-web-ZjLaDDYA.js} +1 -1
  16. package/dist/{channels-cli-D4xUEYYC.js → channels-cli-CJSNz6Do.js} +6 -6
  17. package/dist/{channels-cli-DYaFNMme.js → channels-cli-ZxEUWF-u.js} +6 -6
  18. package/dist/{chrome-CZQnp4VH.js → chrome-CuBHInKC.js} +8 -8
  19. package/dist/{cli-CAID9zkL.js → cli-BI1nRfCA.js} +1 -1
  20. package/dist/{cli-Dlc9IFWZ.js → cli-R49Hv8Gb.js} +1 -1
  21. package/dist/{command-registry-AHS8_9da.js → command-registry-DAp3-Qya.js} +9 -9
  22. package/dist/{completion-cli-B8xjpHDs.js → completion-cli-CLrRKFt9.js} +1 -1
  23. package/dist/{completion-cli-BR1r9_h4.js → completion-cli-DZbYDl2J.js} +2 -2
  24. package/dist/{config-cli-D4Rxoozg.js → config-cli-Bmq4kHDl.js} +1 -1
  25. package/dist/{config-cli-D0A8Awoo.js → config-cli-DXJQvEat.js} +1 -1
  26. package/dist/{configure-DOiI8_8c.js → configure-BM0Q5yuJ.js} +3 -3
  27. package/dist/{configure-XmOqwwy9.js → configure-DTT64LBO.js} +3 -3
  28. package/dist/{deliver-B4WWPQvt.js → deliver-6zfT7daI.js} +1 -1
  29. package/dist/{deliver-runtime-CeE1X9si.js → deliver-runtime-MBexxUuG.js} +3 -3
  30. package/dist/{deps-send-whatsapp.runtime-4aOUBP2J.js → deps-send-whatsapp.runtime-C5L5YIp9.js} +2 -2
  31. package/dist/{deps-send-whatsapp.runtime-CETLGt-t.js → deps-send-whatsapp.runtime-CEe4M8js.js} +3 -3
  32. package/dist/{deps-send-whatsapp.runtime-COv_qoD2.js → deps-send-whatsapp.runtime-DKkr-l19.js} +7 -7
  33. package/dist/{deps-send-whatsapp.runtime-__ogpmJj.js → deps-send-whatsapp.runtime-Dcp7Tin4.js} +3 -3
  34. package/dist/{doctor-completion-DhLEFUhN.js → doctor-completion-D-MCE0ZM.js} +1 -1
  35. package/dist/{doctor-completion-CZoEdMS-.js → doctor-completion-DtrqjkJS.js} +1 -1
  36. package/dist/entry.js +2 -2
  37. package/dist/extensionAPI.js +6 -6
  38. package/dist/{gateway-cli-BJHBChfI.js → gateway-cli-BIn8TtGv.js} +8 -8
  39. package/dist/{gateway-cli-BpHskeDd.js → gateway-cli-BeQXAKTg.js} +8 -8
  40. package/dist/{health-XFKFZ7ZJ.js → health-B1YIoY5z.js} +1 -1
  41. package/dist/{health-TmpUGSqu.js → health-BPRQncx0.js} +1 -1
  42. package/dist/{hooks-cli-CXsZK8H9.js → hooks-cli-D-3Q8obA.js} +2 -2
  43. package/dist/{hooks-cli-DsDV-Pxz.js → hooks-cli-D5NHmkRr.js} +2 -2
  44. package/dist/{image-DKkuLtZ4.js → image-VgwN31FZ.js} +1 -1
  45. package/dist/{image-runtime-BMavqm9n.js → image-runtime-CwMuTYvd.js} +3 -3
  46. package/dist/index.js +6 -6
  47. package/dist/llm-slug-generator.js +1 -1
  48. package/dist/{models-5VXwJBU2.js → models-CAH2k1fR.js} +2 -2
  49. package/dist/{models-cli-CrR1RN3j.js → models-cli-BfGR6mAy.js} +2 -2
  50. package/dist/{models-cli-Br56IHfy.js → models-cli-DostGd3W.js} +3 -3
  51. package/dist/{npm-resolution-CKtyq4FH.js → npm-resolution-EIBwVM0Q.js} +1 -1
  52. package/dist/{npm-resolution-CPk7dS7F.js → npm-resolution-_wRrdhwZ.js} +1 -1
  53. package/dist/{onboard-lFwpCpC3.js → onboard-DrLrDJWL.js} +2 -2
  54. package/dist/{onboard-DUnBamC0.js → onboard-DrpgQebA.js} +2 -2
  55. package/dist/{onboard-channels-_kVo3Apf.js → onboard-channels-4-7KcYUw.js} +1 -1
  56. package/dist/{onboard-channels-D45grihx.js → onboard-channels-D4cK-Cbv.js} +1 -1
  57. package/dist/{onboarding-EEd_g8Zg.js → onboarding-C6vIz92s.js} +3 -3
  58. package/dist/{onboarding-CyCSQ__q.js → onboarding-vQJFankJ.js} +3 -3
  59. package/dist/{onboarding.finalize-Cs1ukjFN.js → onboarding.finalize-0nV-87s1.js} +6 -6
  60. package/dist/{onboarding.finalize-CbMq7C4K.js → onboarding.finalize-Ck6DerG6.js} +5 -5
  61. package/dist/{pi-embedded-BR5y0dLa.js → pi-embedded-CgheLT-Q.js} +24 -89
  62. package/dist/{pi-embedded-BiC4tIJ8.js → pi-embedded-Zmr4Opc3.js} +4 -69
  63. package/dist/{pi-embedded-helpers-CEHpGDRs.js → pi-embedded-helpers-A9VYPVCH.js} +3 -3
  64. package/dist/{plugin-registry-CXm125Uz.js → plugin-registry-BsC3FIYP.js} +1 -1
  65. package/dist/{plugin-registry-D3PnPE1D.js → plugin-registry-CaFT-Rl0.js} +1 -1
  66. package/dist/plugin-sdk/{accounts-C5PAuCTj.js → accounts-0kF5cxkn.js} +2 -2
  67. package/dist/plugin-sdk/{accounts-DC5cbH9r.js → accounts-u0-JAHzj.js} +2 -2
  68. package/dist/plugin-sdk/{accounts-DncG0Hx9.js → accounts-xZOA23tQ.js} +3 -3
  69. package/dist/plugin-sdk/{active-listener-Bd3HH2km.js → active-listener-C5xPUSTb.js} +2 -2
  70. package/dist/plugin-sdk/{api-key-rotation-BAZ0GD26.js → api-key-rotation-DyjMI2n3.js} +2 -2
  71. package/dist/plugin-sdk/{audio-preflight-tpVm-t9O.js → audio-preflight-C0q7lu6y.js} +26 -26
  72. package/dist/plugin-sdk/{audio-transcription-runner-DSScb434.js → audio-transcription-runner-Ced47O1H.js} +11 -11
  73. package/dist/plugin-sdk/{audit-membership-runtime-DHQDvH4u.js → audit-membership-runtime-Xl20kCBe.js} +2 -2
  74. package/dist/plugin-sdk/{channel-activity-cYEaofTH.js → channel-activity-CNffKOEQ.js} +3 -3
  75. package/dist/plugin-sdk/{channel-web-CqiSEc52.js → channel-web-CSCRnS_R.js} +1 -1
  76. package/dist/plugin-sdk/{channel-web-CbeCrQ4C.js → channel-web-WTmRi6i_.js} +18 -18
  77. package/dist/plugin-sdk/{chrome-DB2h0uN0.js → chrome-DJQWo149.js} +6 -6
  78. package/dist/plugin-sdk/{commands-registry-DGZ1oFXJ.js → commands-registry-_kBPE22q.js} +4 -4
  79. package/dist/plugin-sdk/{common-D5lLWoCW.js → common-J8vIST9Q.js} +2 -2
  80. package/dist/plugin-sdk/compat.js +2 -2
  81. package/dist/plugin-sdk/{config-Bt-c7PWF.js → config-CnZ1TlEw.js} +7 -7
  82. package/dist/plugin-sdk/{deliver-MvrkIeKJ.js → deliver-Xh6voz9H.js} +10 -10
  83. package/dist/plugin-sdk/deliver-runtime-5UVcSskg.js +32 -0
  84. package/dist/plugin-sdk/deps-send-discord.runtime-DTspXSCt.js +23 -0
  85. package/dist/plugin-sdk/deps-send-imessage.runtime-qThAwDEe.js +22 -0
  86. package/dist/plugin-sdk/deps-send-signal.runtime-DnjnVzZF.js +21 -0
  87. package/dist/plugin-sdk/deps-send-slack.runtime-CbKevLnv.js +19 -0
  88. package/dist/plugin-sdk/deps-send-telegram.runtime-C6y29O9E.js +24 -0
  89. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DvxhnHR_.js → deps-send-whatsapp.runtime-DGKnscLG.js} +3 -3
  90. package/dist/plugin-sdk/deps-send-whatsapp.runtime-DfCAOpgB.js +57 -0
  91. package/dist/plugin-sdk/{diagnostic-B6F3BtCX.js → diagnostic-DKsyROPi.js} +2 -2
  92. package/dist/plugin-sdk/{errors-9oVz7reJ.js → errors-CgRPdp3o.js} +1 -1
  93. package/dist/plugin-sdk/{fetch-guard-cfPCfkrw.js → fetch-guard-BBAT8G-1.js} +2 -2
  94. package/dist/plugin-sdk/{fs-safe-DFbwq9CS.js → fs-safe-DqCO1D4C.js} +3 -3
  95. package/dist/plugin-sdk/{image-FK5xhY5u.js → image-4ay2cw7G.js} +6 -6
  96. package/dist/plugin-sdk/{image-ops-BSYgrL7E.js → image-ops-G8KoEfY8.js} +2 -2
  97. package/dist/plugin-sdk/image-runtime-CpfepTDc.js +25 -0
  98. package/dist/plugin-sdk/imessage.js +2 -2
  99. package/dist/plugin-sdk/index.js +2 -2
  100. package/dist/plugin-sdk/{ir-CWmryq5f.js → ir-DXj1KGnL.js} +7 -7
  101. package/dist/plugin-sdk/{local-roots-U25IdeDH.js → local-roots-ovKHgVSP.js} +4 -4
  102. package/dist/plugin-sdk/{logger-Bg4vIUJn.js → logger-DIb2cGHp.js} +2 -2
  103. package/dist/plugin-sdk/{login-8qzl2H7G.js → login-Cgtm70by.js} +4 -4
  104. package/dist/plugin-sdk/{login-qr-kalCTJEw.js → login-qr-BrixqhMx.js} +5 -5
  105. package/dist/plugin-sdk/{manager-ijYHktIt.js → manager-PEQ_cPYF.js} +8 -8
  106. package/dist/plugin-sdk/manager-runtime-BmgTeb5G.js +15 -0
  107. package/dist/plugin-sdk/mattermost.js +3 -3
  108. package/dist/plugin-sdk/{outbound-BIVf0aPq.js → outbound-BK75h9CQ.js} +5 -5
  109. package/dist/plugin-sdk/{outbound-attachment-F5tzeNUD.js → outbound-attachment-BI1QngTS.js} +2 -2
  110. package/dist/plugin-sdk/{path-alias-guards-DA0MhfkG.js → path-alias-guards-TnxupPQC.js} +1 -1
  111. package/dist/plugin-sdk/{paths-CP67O8eN.js → paths-B7_75Pdr.js} +1 -1
  112. package/dist/plugin-sdk/{pi-embedded-helpers-CxMnPQ37.js → pi-embedded-helpers-BioULNev.js} +16 -16
  113. package/dist/plugin-sdk/{pi-model-discovery-8OL77kCh.js → pi-model-discovery-BMmAbnil.js} +1 -1
  114. package/dist/plugin-sdk/pi-model-discovery-runtime-COnuGwZt.js +8 -0
  115. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-B7FW36KX.js → pi-tools.before-tool-call.runtime-rdRqZ9lk.js} +4 -4
  116. package/dist/plugin-sdk/{plugins-D3mrhffi.js → plugins-BqKpJkqt.js} +4 -4
  117. package/dist/plugin-sdk/{proxy-env-CUUXO6rv.js → proxy-env-C4s12rr8.js} +1 -1
  118. package/dist/plugin-sdk/{proxy-fetch-Cf3IUSDw.js → proxy-fetch-Dt5BedH8.js} +1 -1
  119. package/dist/plugin-sdk/{pw-ai-dPmKdw_w.js → pw-ai-Cb0ZDSq4.js} +9 -9
  120. package/dist/plugin-sdk/{qmd-manager-Ov9ElEfG.js → qmd-manager-Bei6TaFq.js} +7 -7
  121. package/dist/plugin-sdk/{query-expansion-CzjwW461.js → query-expansion-POz2za8a.js} +4 -4
  122. package/dist/plugin-sdk/{redact-DfACyt0X.js → redact-9WsNyb7S.js} +1 -1
  123. package/dist/plugin-sdk/{reply-Dfjh1YtV.js → reply-CU3gTFzu.js} +73 -138
  124. package/dist/plugin-sdk/{reply-BczXGzC_.js → reply-CljVqURz.js} +4 -69
  125. package/dist/plugin-sdk/{resolve-outbound-target-BeIB_jm0.js → resolve-outbound-target-DL1adXpk.js} +2 -2
  126. package/dist/plugin-sdk/{run-with-concurrency-kVooFCVo.js → run-with-concurrency-DmTrN5JG.js} +1 -1
  127. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-99sCh8RG.js +10 -0
  128. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-dTkDaXHl.js +19 -0
  129. package/dist/plugin-sdk/{send-CgkNzAhS.js → send-BCVXt-3e.js} +8 -8
  130. package/dist/plugin-sdk/{send-DV5kR0Hg.js → send-BNePC8CO.js} +6 -6
  131. package/dist/plugin-sdk/{send-CuENGOhq.js → send-CAG0Or0G.js} +7 -7
  132. package/dist/plugin-sdk/{send-DtA6ngBJ.js → send-DhGDAZnT.js} +13 -13
  133. package/dist/plugin-sdk/{send-D6Uh2D1D.js → send-X6QuS7x0.js} +5 -5
  134. package/dist/plugin-sdk/{session-CnlZn-bR.js → session-CAqYQVhe.js} +3 -3
  135. package/dist/plugin-sdk/signal.js +2 -2
  136. package/dist/plugin-sdk/{skill-commands-Ckfii7h8.js → skill-commands-Bk-IFyNw.js} +4 -4
  137. package/dist/plugin-sdk/{skills-v0WQqKTa.js → skills-C5bT9-q4.js} +6 -6
  138. package/dist/plugin-sdk/slash-commands.runtime-EAZKpRKq.js +13 -0
  139. package/dist/plugin-sdk/slash-dispatch.runtime-DBMbGgmv.js +52 -0
  140. package/dist/plugin-sdk/{slash-dispatch.runtime-DOo1IzuY.js → slash-dispatch.runtime-oVCp4RI8.js} +1 -1
  141. package/dist/plugin-sdk/slash-skill-commands.runtime-DGd_JSWX.js +16 -0
  142. package/dist/plugin-sdk/{store-C_UrNuM3.js → store-D3lgWnS2.js} +2 -2
  143. package/dist/plugin-sdk/subagent-registry-runtime-BT4jMI8z.js +52 -0
  144. package/dist/plugin-sdk/{subagent-registry-runtime-DLvup9ph.js → subagent-registry-runtime-CaQMId4R.js} +1 -1
  145. package/dist/plugin-sdk/{tables-CJP05iMa.js → tables-Dmlu4_q_.js} +1 -1
  146. package/dist/plugin-sdk/{thinking-BhP3vn1l.js → thinking-DRNOh5Xx.js} +7 -7
  147. package/dist/plugin-sdk/{tokens-DAL_5WHL.js → tokens-CLE20fRI.js} +1 -1
  148. package/dist/plugin-sdk/{tool-images-ZE5G5UM0.js → tool-images-BY1gsRyE.js} +2 -2
  149. package/dist/plugin-sdk/web-1-vrUNY8.js +56 -0
  150. package/dist/plugin-sdk/{web-C2Sj2WW0.js → web-C8u6_5TB.js} +2 -2
  151. package/dist/plugin-sdk/{whatsapp-actions-DJmx6ihj.js → whatsapp-actions-BCJYmWCB.js} +17 -17
  152. package/dist/plugin-sdk/whatsapp.js +50 -50
  153. package/dist/{plugins-cli-C0WKWrZo.js → plugins-cli-29cwK1kP.js} +2 -2
  154. package/dist/{plugins-cli-BA_2daJe.js → plugins-cli-BCPmdO-F.js} +2 -2
  155. package/dist/{program-D_xdLzmM.js → program-CLD93UEW.js} +7 -7
  156. package/dist/{program-context-DfmCIQ91.js → program-context-CvlgMXty.js} +17 -17
  157. package/dist/{prompt-select-styled-BsheNEnh.js → prompt-select-styled-D7A8lcVZ.js} +4 -4
  158. package/dist/{prompt-select-styled-ApPSadr5.js → prompt-select-styled-DvZs93tv.js} +4 -4
  159. package/dist/{provider-auth-helpers-DpOFkV28.js → provider-auth-helpers-C91OHeLD.js} +1 -1
  160. package/dist/{provider-auth-helpers-B5kD4Lt6.js → provider-auth-helpers-D610nllx.js} +1 -1
  161. package/dist/{push-apns-BbenjEX4.js → push-apns-D-_XPvYX.js} +1 -1
  162. package/dist/{push-apns-Ci2sdIKf.js → push-apns-PG6ocw6x.js} +1 -1
  163. package/dist/{pw-ai-Du22SYoO.js → pw-ai-CM87tQwG.js} +1 -1
  164. package/dist/{register.agent-CY6R-7fn.js → register.agent-BuHD_bae.js} +6 -6
  165. package/dist/{register.agent-Dk_5V5oA.js → register.agent-CeYoqnus.js} +7 -7
  166. package/dist/{register.configure-C8OFfGln.js → register.configure-Bh0kiwNr.js} +7 -7
  167. package/dist/{register.configure-DT1RLeTR.js → register.configure-Df419IPP.js} +7 -7
  168. package/dist/{register.maintenance-CluQOq8b.js → register.maintenance-N3ymZeA2.js} +8 -8
  169. package/dist/{register.maintenance-YHXmOQzf.js → register.maintenance-mWO2301l.js} +7 -7
  170. package/dist/{register.message-BCTXT5yK.js → register.message-BeHsSFSP.js} +2 -2
  171. package/dist/{register.message-BuoFjRqA.js → register.message-DIClL3-s.js} +2 -2
  172. package/dist/{register.onboard-C64oXnvq.js → register.onboard-CwO92nRm.js} +2 -2
  173. package/dist/{register.onboard-BJaRMtxU.js → register.onboard-xzIUSCGu.js} +2 -2
  174. package/dist/{register.setup-Dl3nk2Ui.js → register.setup-Bvbm-Gm2.js} +2 -2
  175. package/dist/{register.setup-Drc55K_w.js → register.setup-C-aAGS4u.js} +2 -2
  176. package/dist/{register.status-health-sessions-BHtbPeCO.js → register.status-health-sessions-DQMQDniV.js} +3 -3
  177. package/dist/{register.status-health-sessions-xgC_gtEM.js → register.status-health-sessions-DuyRo6UJ.js} +3 -3
  178. package/dist/{register.subclis-CDMFyaKR.js → register.subclis-B66QC7_k.js} +9 -9
  179. package/dist/{reply-DwjHsBuj.js → reply-CUpwmXW5.js} +4 -69
  180. package/dist/{run-main-BcA22Ipv.js → run-main-QV6vRT6K.js} +14 -14
  181. package/dist/{server-node-events-YN5eJeHa.js → server-node-events-ChmwyckN.js} +2 -2
  182. package/dist/{server-node-events-Q0cT2ifj.js → server-node-events-DRkgMvTr.js} +2 -2
  183. package/dist/{slash-dispatch.runtime-BcecLKcJ.js → slash-dispatch.runtime-BN0s48fb.js} +6 -6
  184. package/dist/{slash-dispatch.runtime-BOMEVFk0.js → slash-dispatch.runtime-Cof3gArz.js} +1 -1
  185. package/dist/{slash-dispatch.runtime-DB1QsBRc.js → slash-dispatch.runtime-DD8xxgEl.js} +1 -1
  186. package/dist/{slash-dispatch.runtime-SO7HOe8q.js → slash-dispatch.runtime-ocKNC56j.js} +1 -1
  187. package/dist/{status-cU9cJReo.js → status-Cbw1yeoy.js} +2 -2
  188. package/dist/{status-Bh5x6DsW.js → status-m4d5Vl27.js} +2 -2
  189. package/dist/{subagent-registry-CIgFD2oi.js → subagent-registry-7nRwvCtz.js} +4 -69
  190. package/dist/{subagent-registry-runtime-Cq9I6PwW.js → subagent-registry-runtime-06r4q3XD.js} +6 -6
  191. package/dist/{subagent-registry-runtime-D2rUxU5J.js → subagent-registry-runtime-CeMECsgS.js} +1 -1
  192. package/dist/{subagent-registry-runtime-DGTjU9Lb.js → subagent-registry-runtime-DSlsjuX0.js} +1 -1
  193. package/dist/{subagent-registry-runtime-D7ubAnDZ.js → subagent-registry-runtime-OGj927vn.js} +1 -1
  194. package/dist/{update-cli-CktBOXZF.js → update-cli-D6fzJ-Ll.js} +7 -7
  195. package/dist/{update-cli-DM_dUip_.js → update-cli-abQ6higa.js} +8 -8
  196. package/dist/{update-runner-BYGPkHXG.js → update-runner-B10m8cpS.js} +1 -1
  197. package/dist/{update-runner-BBJZmfZ4.js → update-runner-BKqyZqzt.js} +1 -1
  198. package/dist/{web-QsxgXbNK.js → web-CgLD9XZC.js} +1 -1
  199. package/dist/{web-DWRZAXj9.js → web-DGhOT4tW.js} +2 -2
  200. package/dist/{web-CWxO_flK.js → web-M1IXaDDy.js} +6 -6
  201. package/dist/{web-CZhZC1EA.js → web-qF7gu-2K.js} +2 -2
  202. package/package.json +1 -1
  203. package/dist/plugin-sdk/deliver-runtime-i50kjcNM.js +0 -32
  204. package/dist/plugin-sdk/deps-send-discord.runtime-hOYq9ov0.js +0 -23
  205. package/dist/plugin-sdk/deps-send-imessage.runtime-D5n9DXyL.js +0 -22
  206. package/dist/plugin-sdk/deps-send-signal.runtime-CwEaRyJU.js +0 -21
  207. package/dist/plugin-sdk/deps-send-slack.runtime-DOZeLIaC.js +0 -19
  208. package/dist/plugin-sdk/deps-send-telegram.runtime-BW1hSPKh.js +0 -24
  209. package/dist/plugin-sdk/deps-send-whatsapp.runtime-JKmTtCFM.js +0 -57
  210. package/dist/plugin-sdk/image-runtime-B95EPFpg.js +0 -25
  211. package/dist/plugin-sdk/manager-runtime--JrLQE03.js +0 -15
  212. package/dist/plugin-sdk/pi-model-discovery-runtime-DGRFpUfd.js +0 -8
  213. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6EcC22F.js +0 -10
  214. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DH8J0Ie7.js +0 -19
  215. package/dist/plugin-sdk/slash-commands.runtime-BYoxsxkX.js +0 -13
  216. package/dist/plugin-sdk/slash-dispatch.runtime-JfFr7bNy.js +0 -52
  217. package/dist/plugin-sdk/slash-skill-commands.runtime-D0399tia.js +0 -16
  218. package/dist/plugin-sdk/subagent-registry-runtime-DVl5xKOW.js +0 -52
  219. package/dist/plugin-sdk/web-CNY_ky8h.js +0 -56
@@ -245,7 +245,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
245
245
  const { ensureAuthProfileStore } = await import("./auth-profiles-CX4YYu7Z.js").then((n) => n.t);
246
246
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-4mupmvzh.js").then((n) => n.t);
247
247
  const { promptCustomApiConfig } = await import("./onboard-custom-CZtjqrY7.js").then((n) => n.r);
248
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CXepQc7c.js").then((n) => n.t);
248
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-hEJyhy7L.js").then((n) => n.t);
249
249
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-CLhaaagi.js").then((n) => n.i);
250
250
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
251
251
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -300,7 +300,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
300
300
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
301
301
  else {
302
302
  const { listChannelPlugins } = await import("./plugins-BDTkSIi7.js").then((n) => n.i);
303
- const { setupChannels } = await import("./onboard-channels-_kVo3Apf.js").then((n) => n.n);
303
+ const { setupChannels } = await import("./onboard-channels-4-7KcYUw.js").then((n) => n.n);
304
304
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
305
305
  const forceAllowFromChannels = Array.from(new Set([...quickstartAllowFromChannels, "telegram"]));
306
306
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
@@ -328,7 +328,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
328
328
  mode
329
329
  });
330
330
  await writeConfigFile(nextConfig);
331
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-Cs1ukjFN.js");
331
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-0nV-87s1.js");
332
332
  const { launchedTui } = await finalizeOnboardingWizard({
333
333
  flow,
334
334
  opts,
@@ -245,7 +245,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
245
245
  const { ensureAuthProfileStore } = await import("./model-selection-CR7aXCux.js").then((n) => n.ht);
246
246
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-D8RKb8oM.js").then((n) => n.t);
247
247
  const { promptCustomApiConfig } = await import("./onboard-custom-bh8YoCuf.js").then((n) => n.r);
248
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-D2JrMJn-.js").then((n) => n.t);
248
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-BQXBGaRl.js").then((n) => n.t);
249
249
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-C3iHY6CJ.js").then((n) => n.i);
250
250
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
251
251
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -300,7 +300,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
300
300
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
301
301
  else {
302
302
  const { listChannelPlugins } = await import("./plugins-H53_4Gxb.js").then((n) => n.i);
303
- const { setupChannels } = await import("./onboard-channels-D45grihx.js").then((n) => n.n);
303
+ const { setupChannels } = await import("./onboard-channels-D4cK-Cbv.js").then((n) => n.n);
304
304
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
305
305
  const forceAllowFromChannels = Array.from(new Set([...quickstartAllowFromChannels, "telegram"]));
306
306
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
@@ -328,7 +328,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
328
328
  mode
329
329
  });
330
330
  await writeConfigFile(nextConfig);
331
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-CbMq7C4K.js");
331
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-Ck6DerG6.js");
332
332
  const { launchedTui } = await finalizeOnboardingWizard({
333
333
  flow,
334
334
  opts,
@@ -31,7 +31,7 @@ import "./logging-CcxUDNcI.js";
31
31
  import "./accounts-KzgPbLHP.js";
32
32
  import "./send-z-sMjqvX.js";
33
33
  import "./send-DEs83M9V.js";
34
- import "./subagent-registry-CIgFD2oi.js";
34
+ import "./subagent-registry-7nRwvCtz.js";
35
35
  import "./paths-Dn_rzeZN.js";
36
36
  import "./chat-envelope-thy05gXR.js";
37
37
  import "./client-G9E5HGM2.js";
@@ -112,20 +112,20 @@ import "./cli-utils-BKqG4ZT-.js";
112
112
  import "./help-format-CpR5cEGe.js";
113
113
  import "./progress-DuhDspl6.js";
114
114
  import "./note-IoQo8Ol0.js";
115
- import { r as installCompletion } from "./completion-cli-BR1r9_h4.js";
116
- import "./register.subclis-CDMFyaKR.js";
117
- import "./command-registry-AHS8_9da.js";
115
+ import { r as installCompletion } from "./completion-cli-DZbYDl2J.js";
116
+ import "./register.subclis-B66QC7_k.js";
117
+ import "./command-registry-DAp3-Qya.js";
118
118
  import "./program-context-DKVuITe2.js";
119
119
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-CJtiW2RE.js";
120
120
  import "./runtime-guard-BPoq8vFM.js";
121
121
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Dgg-ogyc.js";
122
122
  import { r as isSystemdUserServiceAvailable } from "./systemd-Cj2cX_ZP.js";
123
123
  import { t as resolveGatewayService } from "./service-DSqxS6_D.js";
124
- import { r as healthCommand } from "./health-XFKFZ7ZJ.js";
124
+ import { r as healthCommand } from "./health-B1YIoY5z.js";
125
125
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BYEy341x.js";
126
126
  import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-BTK1IG-J.js";
127
127
  import { t as formatHealthCheckFailure } from "./health-format-eNDYxTNS.js";
128
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CZoEdMS-.js";
128
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DtrqjkJS.js";
129
129
  import { t as runTui } from "./tui-CC_AbfZr.js";
130
130
  import { spawn } from "node:child_process";
131
131
  import os from "node:os";
@@ -2,7 +2,7 @@ import "./paths-mdt1HFK2.js";
2
2
  import "./globals-xfUIfxbE.js";
3
3
  import { h as pathExists, y as resolveUserPath } from "./utils-DMGXr25O.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import "./reply-DwjHsBuj.js";
5
+ import "./reply-CUpwmXW5.js";
6
6
  import { v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-C1XMay0T.js";
7
7
  import { f as restoreTerminalState } from "./subsystem-DC87CPVS.js";
8
8
  import "./squidclaw-root-CnE19yKj.js";
@@ -111,18 +111,18 @@ import "./progress-BHN121Ps.js";
111
111
  import "./server-lifecycle-CnZYKJ9s.js";
112
112
  import "./stagger-DL-XRpny.js";
113
113
  import "./runtime-guard-pMNmDPEU.js";
114
- import "./program-context-DfmCIQ91.js";
114
+ import "./program-context-CvlgMXty.js";
115
115
  import "./note-CBt9wSWa.js";
116
- import { r as installCompletion } from "./completion-cli-B8xjpHDs.js";
116
+ import { r as installCompletion } from "./completion-cli-CLrRKFt9.js";
117
117
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-a4pGEsbA.js";
118
118
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Di8BSZyD.js";
119
119
  import { r as isSystemdUserServiceAvailable } from "./systemd-fP8tz4aL.js";
120
120
  import { t as resolveGatewayService } from "./service-D4y0_Q5Z.js";
121
- import { r as healthCommand } from "./health-TmpUGSqu.js";
121
+ import { r as healthCommand } from "./health-BPRQncx0.js";
122
122
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Bz7TCLpb.js";
123
123
  import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-gGUgwqKJ.js";
124
124
  import { t as formatHealthCheckFailure } from "./health-format-B3bJdIC6.js";
125
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DhLEFUhN.js";
125
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D-MCE0ZM.js";
126
126
  import { t as runTui } from "./tui-DNmtKt-5.js";
127
127
  import os from "node:os";
128
128
  import path from "node:path";
@@ -10,15 +10,15 @@ import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as
10
10
  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-B1S2o3_t.js";
11
11
  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-WA7QCsM4.js";
12
12
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
13
- 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-B4WWPQvt.js";
13
+ 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-6zfT7daI.js";
14
14
  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-DKZWH846.js";
15
15
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BVDcCQsz.js";
16
16
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-D1wBrTyc.js";
17
17
  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-Co3B94Bx.js";
18
18
  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-Dv1Xtf-W.js";
19
19
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BEIYBmq-.js";
20
- import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, 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 updateLastRoute, 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 resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-CEHpGDRs.js";
21
- 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-CZQnp4VH.js";
20
+ import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, 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 updateLastRoute, 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 resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-A9VYPVCH.js";
21
+ 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-CuBHInKC.js";
22
22
  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-CjGoSoba.js";
23
23
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DLHloUkx.js";
24
24
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-kK-uDSQK.js";
@@ -31,8 +31,8 @@ import { t as resolveIMessageAccount } from "./accounts-B5aNbLs5.js";
31
31
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BeCJt7wC.js";
32
32
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-UAKcGiUQ.js";
33
33
  import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-ZB2Mu1HF.js";
34
- 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-DKkuLtZ4.js";
35
- 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-Cp_lkLCv.js";
34
+ 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-VgwN31FZ.js";
35
+ 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-YiR1ym3a.js";
36
36
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-VXOrovPC.js";
37
37
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-B_Wivh-n.js";
38
38
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DU7jYYlW.js";
@@ -69,7 +69,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
69
69
  import { EdgeTTS } from "node-edge-tts";
70
70
  import { createServer } from "node:http";
71
71
  import { ProxyAgent, fetch as fetch$1 } from "undici";
72
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
72
+ import WebSocket$1, { WebSocket } from "ws";
73
73
  import { Buffer as Buffer$1 } from "node:buffer";
74
74
  import { createJiti } from "jiti";
75
75
  import AjvPkg from "ajv";
@@ -8230,7 +8230,7 @@ var GatewayClient = class {
8230
8230
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8231
8231
  });
8232
8232
  }
8233
- this.ws = new WebSocket$1(url, wsOptions);
8233
+ this.ws = new WebSocket(url, wsOptions);
8234
8234
  this.ws.on("open", () => {
8235
8235
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8236
8236
  const tlsError = this.validateTlsFingerprint();
@@ -8426,7 +8426,7 @@ var GatewayClient = class {
8426
8426
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
8427
8427
  if (this.connectTimer) clearTimeout(this.connectTimer);
8428
8428
  this.connectTimer = setTimeout(() => {
8429
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
8429
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
8430
8430
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
8431
8431
  this.ws?.close(1008, "connect challenge timeout");
8432
8432
  }, connectChallengeTimeoutMs);
@@ -8468,7 +8468,7 @@ var GatewayClient = class {
8468
8468
  return null;
8469
8469
  }
8470
8470
  async request(method, params, opts) {
8471
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
8471
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
8472
8472
  const id = randomUUID();
8473
8473
  const frame = {
8474
8474
  type: "req",
@@ -9890,7 +9890,7 @@ function normalizeReplyPayload(payload, opts = {}) {
9890
9890
  */
9891
9891
  let deliverRuntimePromise$2 = null;
9892
9892
  function loadDeliverRuntime$2() {
9893
- deliverRuntimePromise$2 ??= import("./deliver-runtime-CeE1X9si.js");
9893
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-MBexxUuG.js");
9894
9894
  return deliverRuntimePromise$2;
9895
9895
  }
9896
9896
  /**
@@ -11178,7 +11178,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
11178
11178
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
11179
11179
  let subagentRegistryRuntimePromise = null;
11180
11180
  function loadSubagentRegistryRuntime() {
11181
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-Cq9I6PwW.js");
11181
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-06r4q3XD.js");
11182
11182
  return subagentRegistryRuntimePromise;
11183
11183
  }
11184
11184
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -14532,7 +14532,7 @@ async function runWithConcurrency(tasks, limit) {
14532
14532
  //#region src/media-understanding/echo-transcript.ts
14533
14533
  let deliverRuntimePromise$1 = null;
14534
14534
  function loadDeliverRuntime$1() {
14535
- deliverRuntimePromise$1 ??= import("./deliver-runtime-CeE1X9si.js");
14535
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-MBexxUuG.js");
14536
14536
  return deliverRuntimePromise$1;
14537
14537
  }
14538
14538
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -22363,34 +22363,6 @@ function resolveContextTokensForModel(params) {
22363
22363
 
22364
22364
  //#endregion
22365
22365
  //#region src/agents/agent-tier.ts
22366
- const PAID_PROVIDERS = ["anthropic", "openai"];
22367
- function isPaidProvider(modelRef) {
22368
- const trimmed = modelRef.trim().toLowerCase();
22369
- for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
22370
- isPaid: true,
22371
- provider
22372
- };
22373
- return {
22374
- isPaid: false,
22375
- provider: ""
22376
- };
22377
- }
22378
- /**
22379
- * Check if the primary provider's last interaction was a failure
22380
- * with no successful use after it.
22381
- */
22382
- function isPrimaryLastKnownBroken(store, profileIds, now) {
22383
- for (const id of profileIds) {
22384
- const stats = store.usageStats?.[id];
22385
- if (!stats) continue;
22386
- if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
22387
- if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
22388
- const lastFailure = stats.lastFailureAt ?? 0;
22389
- const lastSuccess = stats.lastUsed ?? 0;
22390
- if (lastFailure > 0 && lastFailure > lastSuccess) return true;
22391
- }
22392
- return false;
22393
- }
22394
22366
  /**
22395
22367
  * Resolve the fallback flag file path.
22396
22368
  */
@@ -22434,38 +22406,6 @@ function clearFallbackFlag() {
22434
22406
  if (syncFs.existsSync(flagPath)) syncFs.unlinkSync(flagPath);
22435
22407
  } catch {}
22436
22408
  }
22437
- /**
22438
- * Resolve the current agent tier.
22439
- *
22440
- * - "super": Paid provider configured and last known working.
22441
- * - "degraded": Paid provider configured but last attempt failed (no success since).
22442
- * - "base": Local/free model only.
22443
- */
22444
- function resolveAgentTier(params) {
22445
- const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
22446
- if (!primary) return "base";
22447
- const { isPaid, provider } = isPaidProvider(primary);
22448
- if (!isPaid) return "base";
22449
- if (!resolveEnvApiKey(provider)) return "base";
22450
- try {
22451
- const authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
22452
- const profileIds = resolveAuthProfileOrder({
22453
- cfg: params.cfg,
22454
- store: authStore,
22455
- provider
22456
- });
22457
- if (profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
22458
- } catch {}
22459
- if (readFallbackFlag()) return "degraded";
22460
- return "super";
22461
- }
22462
- function formatAgentTierLabel(tier) {
22463
- switch (tier) {
22464
- case "super": return "🟢 Super Agent";
22465
- case "degraded": return "🟠 Basic Agent (degraded)";
22466
- case "base": return "🟡 Basic Agent";
22467
- }
22468
- }
22469
22409
 
22470
22410
  //#endregion
22471
22411
  //#region src/agents/usage.ts
@@ -23171,11 +23111,6 @@ function buildStatusMessage(args) {
23171
23111
  const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
23172
23112
  return [
23173
23113
  versionLine,
23174
- args.config ? formatAgentTierLabel((() => {
23175
- const t = resolveAgentTier({ cfg: args.config });
23176
- if (t === "super" && fallbackState.active) return "degraded";
23177
- return t;
23178
- })()) : null,
23179
23114
  args.timeLine,
23180
23115
  modelLine,
23181
23116
  fallbackLine,
@@ -51532,7 +51467,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
51532
51467
  const log$10 = createSubsystemLogger("session-maintenance-warning");
51533
51468
  let deliverRuntimePromise = null;
51534
51469
  function loadDeliverRuntime() {
51535
- deliverRuntimePromise ??= import("./deliver-runtime-CeE1X9si.js");
51470
+ deliverRuntimePromise ??= import("./deliver-runtime-MBexxUuG.js");
51536
51471
  return deliverRuntimePromise;
51537
51472
  }
51538
51473
  function shouldSendWarning() {
@@ -56509,7 +56444,7 @@ const VISION_PROVIDERS = [
56509
56444
  ];
56510
56445
  let imageRuntimePromise = null;
56511
56446
  function loadImageRuntime() {
56512
- imageRuntimePromise ??= import("./image-runtime-BMavqm9n.js");
56447
+ imageRuntimePromise ??= import("./image-runtime-CwMuTYvd.js");
56513
56448
  return imageRuntimePromise;
56514
56449
  }
56515
56450
  /**
@@ -58570,7 +58505,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
58570
58505
  hasTypedText
58571
58506
  };
58572
58507
  try {
58573
- const { transcribeFirstAudio } = await import("./audio-preflight-Bzo_zN4j.js");
58508
+ const { transcribeFirstAudio } = await import("./audio-preflight-lT9iRnYi.js");
58574
58509
  if (params.abortSignal?.aborted) return {
58575
58510
  hasAudioAttachment,
58576
58511
  hasTypedText
@@ -65964,7 +65899,7 @@ let slackSenderRuntimePromise = null;
65964
65899
  let signalSenderRuntimePromise = null;
65965
65900
  let imessageSenderRuntimePromise = null;
65966
65901
  function loadWhatsAppSenderRuntime() {
65967
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-COv_qoD2.js");
65902
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DKkr-l19.js");
65968
65903
  return whatsappSenderRuntimePromise;
65969
65904
  }
65970
65905
  function loadTelegramSenderRuntime() {
@@ -69668,7 +69603,7 @@ function createDiscordGatewayPlugin(params) {
69668
69603
  return super.registerClient(client);
69669
69604
  }
69670
69605
  createWebSocket(url) {
69671
- return new WebSocket(url, { agent: wsAgent });
69606
+ return new WebSocket$1(url, { agent: wsAgent });
69672
69607
  }
69673
69608
  }
69674
69609
  return new ProxyGatewayPlugin();
@@ -78819,7 +78754,7 @@ function loadSlashCommandsRuntime() {
78819
78754
  return slashCommandsRuntimePromise;
78820
78755
  }
78821
78756
  function loadSlashDispatchRuntime() {
78822
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BcecLKcJ.js");
78757
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BN0s48fb.js");
78823
78758
  return slashDispatchRuntimePromise;
78824
78759
  }
78825
78760
  function loadSlashSkillCommandsRuntime() {
@@ -82188,7 +82123,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
82188
82123
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
82189
82124
  let preflightTranscript;
82190
82125
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
82191
- const { transcribeFirstAudio } = await import("./audio-preflight-Bzo_zN4j.js");
82126
+ const { transcribeFirstAudio } = await import("./audio-preflight-lT9iRnYi.js");
82192
82127
  preflightTranscript = await transcribeFirstAudio({
82193
82128
  ctx: {
82194
82129
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -85114,7 +85049,7 @@ function loadWebLoginQr() {
85114
85049
  return webLoginQrPromise;
85115
85050
  }
85116
85051
  function loadWebChannel() {
85117
- webChannelPromise ??= import("./web-CWxO_flK.js");
85052
+ webChannelPromise ??= import("./web-M1IXaDDy.js");
85118
85053
  return webChannelPromise;
85119
85054
  }
85120
85055
  function loadWhatsAppActions() {
@@ -93377,7 +93312,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93377
93312
  * Throws if the connection is not open.
93378
93313
  */
93379
93314
  send(event) {
93380
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
93315
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
93381
93316
  this.ws.send(JSON.stringify(event));
93382
93317
  }
93383
93318
  /**
@@ -93394,7 +93329,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93394
93329
  * Returns true if the WebSocket is currently open and ready to send.
93395
93330
  */
93396
93331
  isConnected() {
93397
- return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
93332
+ return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
93398
93333
  }
93399
93334
  /**
93400
93335
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -93404,7 +93339,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93404
93339
  this._cancelRetryTimer();
93405
93340
  if (this.ws) {
93406
93341
  this.ws.removeAllListeners();
93407
- if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
93342
+ if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
93408
93343
  this.ws = null;
93409
93344
  }
93410
93345
  }
@@ -93414,7 +93349,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93414
93349
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
93415
93350
  return;
93416
93351
  }
93417
- const socket = new WebSocket(this.wsUrl, { headers: {
93352
+ const socket = new WebSocket$1(this.wsUrl, { headers: {
93418
93353
  Authorization: `Bearer ${this.apiKey}`,
93419
93354
  "OpenAI-Beta": "responses-websocket=v1"
93420
93355
  } });
@@ -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-D2rUxU5J.js");
11184
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CeMECsgS.js");
11185
11185
  return subagentRegistryRuntimePromise;
11186
11186
  }
11187
11187
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -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
  */
@@ -22437,38 +22409,6 @@ function clearFallbackFlag() {
22437
22409
  if (syncFs.existsSync(flagPath)) syncFs.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
- if (!resolveEnvApiKey(provider)) return "base";
22453
- try {
22454
- const authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
22455
- const profileIds = resolveAuthProfileOrder({
22456
- cfg: params.cfg,
22457
- store: authStore,
22458
- provider
22459
- });
22460
- if (profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
22461
- } catch {}
22462
- if (readFallbackFlag()) return "degraded";
22463
- return "super";
22464
- }
22465
- function formatAgentTierLabel(tier) {
22466
- switch (tier) {
22467
- case "super": return "🟢 Super Agent";
22468
- case "degraded": return "🟠 Basic Agent (degraded)";
22469
- case "base": return "🟡 Basic Agent";
22470
- }
22471
- }
22472
22412
 
22473
22413
  //#endregion
22474
22414
  //#region src/agents/usage.ts
@@ -23174,11 +23114,6 @@ function buildStatusMessage(args) {
23174
23114
  const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
23175
23115
  return [
23176
23116
  versionLine,
23177
- args.config ? formatAgentTierLabel((() => {
23178
- const t = resolveAgentTier({ cfg: args.config });
23179
- if (t === "super" && fallbackState.active) return "degraded";
23180
- return t;
23181
- })()) : null,
23182
23117
  args.timeLine,
23183
23118
  modelLine,
23184
23119
  fallbackLine,
@@ -65967,7 +65902,7 @@ let slackSenderRuntimePromise = null;
65967
65902
  let signalSenderRuntimePromise = null;
65968
65903
  let imessageSenderRuntimePromise = null;
65969
65904
  function loadWhatsAppSenderRuntime() {
65970
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-4aOUBP2J.js");
65905
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-C5L5YIp9.js");
65971
65906
  return whatsappSenderRuntimePromise;
65972
65907
  }
65973
65908
  function loadTelegramSenderRuntime() {
@@ -78828,7 +78763,7 @@ function loadSlashCommandsRuntime() {
78828
78763
  return slashCommandsRuntimePromise;
78829
78764
  }
78830
78765
  function loadSlashDispatchRuntime() {
78831
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-SO7HOe8q.js");
78766
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-ocKNC56j.js");
78832
78767
  return slashDispatchRuntimePromise;
78833
78768
  }
78834
78769
  function loadSlashSkillCommandsRuntime() {
@@ -85123,7 +85058,7 @@ function loadWebLoginQr() {
85123
85058
  return webLoginQrPromise;
85124
85059
  }
85125
85060
  function loadWebChannel() {
85126
- webChannelPromise ??= import("./web-QsxgXbNK.js");
85061
+ webChannelPromise ??= import("./web-CgLD9XZC.js");
85127
85062
  return webChannelPromise;
85128
85063
  }
85129
85064
  function loadWhatsAppActions() {
@@ -6,7 +6,7 @@ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug
6
6
  import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-BxlUqxlx.js";
7
7
  import { t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
8
8
  import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-Co3B94Bx.js";
9
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-CZQnp4VH.js";
9
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-CuBHInKC.js";
10
10
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CjGoSoba.js";
11
11
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DLHloUkx.js";
12
12
  import { n as extractErrorCode, r as formatErrorMessage } from "./errors-VR6fgqPc.js";
@@ -1275,7 +1275,7 @@ function isModuleNotFoundError(err) {
1275
1275
  }
1276
1276
  async function loadPwAiModule(mode) {
1277
1277
  try {
1278
- return await import("./pw-ai-Du22SYoO.js");
1278
+ return await import("./pw-ai-CM87tQwG.js");
1279
1279
  } catch (err) {
1280
1280
  if (mode === "soft") return null;
1281
1281
  if (isModuleNotFoundError(err)) return null;
@@ -3641,7 +3641,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3641
3641
  //#region src/browser/server-context.reset.ts
3642
3642
  async function closePlaywrightBrowserConnection() {
3643
3643
  try {
3644
- await (await import("./pw-ai-Du22SYoO.js")).closePlaywrightBrowserConnection();
3644
+ await (await import("./pw-ai-CM87tQwG.js")).closePlaywrightBrowserConnection();
3645
3645
  } catch {}
3646
3646
  }
3647
3647
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveSquidClawUserDataDir }) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as loadSquidClawPlugins } from "./reply-DwjHsBuj.js";
2
+ import { ft as loadSquidClawPlugins } from "./reply-CUpwmXW5.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-C1XMay0T.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DC87CPVS.js";
5
5
  import { $t as loadConfig } from "./model-selection-CR7aXCux.js";
@@ -3,7 +3,7 @@ import { t as createSubsystemLogger } from "./subsystem-Bw5n50gj.js";
3
3
  import { z as loadConfig } from "./auth-profiles-CX4YYu7Z.js";
4
4
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Cq4vDGrK.js";
5
5
  import { u as getActivePluginRegistry } from "./registry-BXcl3IkC.js";
6
- import { b as loadSquidClawPlugins } from "./subagent-registry-CIgFD2oi.js";
6
+ import { b as loadSquidClawPlugins } from "./subagent-registry-7nRwvCtz.js";
7
7
 
8
8
  //#region src/cli/plugin-registry.ts
9
9
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
- import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
2
- import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-DncG0Hx9.js";
1
+ import { ot as normalizeAccountId } from "./run-with-concurrency-DmTrN5JG.js";
2
+ import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-xZOA23tQ.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,5 +1,5 @@
1
- import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
2
- import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-DncG0Hx9.js";
1
+ import { ot as normalizeAccountId } from "./run-with-concurrency-DmTrN5JG.js";
2
+ import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-xZOA23tQ.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,6 +1,6 @@
1
- import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId, st as normalizeOptionalAccountId } from "./run-with-concurrency-kVooFCVo.js";
2
- import { Tr as formatCliCommand } from "./config-Bt-c7PWF.js";
3
- import { B as success, G as getChildLogger, I as info, j as defaultRuntime, m as jidToE164, y as resolveUserPath } from "./logger-Bg4vIUJn.js";
1
+ import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId, st as normalizeOptionalAccountId } from "./run-with-concurrency-DmTrN5JG.js";
2
+ import { Tr as formatCliCommand } from "./config-CnZ1TlEw.js";
3
+ import { B as success, G as getChildLogger, I as info, j as defaultRuntime, m as jidToE164, y as resolveUserPath } from "./logger-DIb2cGHp.js";
4
4
  import { o as resolveOAuthDir } from "./paths-Duwviem_.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";