squidclaw 3.0.3 → 3.0.4

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 (240) hide show
  1. package/dist/{audio-preflight-BTYxAJjy.js → audio-preflight-BKgdc7dS.js} +4 -4
  2. package/dist/{audio-preflight-Dkl6Z32z.js → audio-preflight-DpCWFB4z.js} +4 -4
  3. package/dist/{audio-transcription-runner-Gi_h5HEE.js → audio-transcription-runner-B2BdTEps.js} +1 -1
  4. package/dist/{audio-transcription-runner-DBkDgluo.js → audio-transcription-runner-BnbdYMDl.js} +1 -1
  5. package/dist/build-info.json +3 -3
  6. package/dist/bundled/boot-md/handler.js +6 -6
  7. package/dist/bundled/session-memory/handler.js +6 -6
  8. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  9. package/dist/{chrome-CAd6FQEn.js → chrome-BQDCalPp.js} +8 -8
  10. package/dist/{chrome-pBkBuWci.js → chrome-CjxCwFA9.js} +8 -8
  11. package/dist/{command-registry-CvgCFxfY.js → command-registry-CxiSVXru.js} +6 -6
  12. package/dist/{completion-cli-BGM1V6EN.js → completion-cli-s0fxD0OE.js} +2 -2
  13. package/dist/{completion-cli-OrgUDc2S.js → completion-cli-slzdOlRV.js} +1 -1
  14. package/dist/{config-cli-DbBvjvpS.js → config-cli-C0mk9eRl.js} +1 -1
  15. package/dist/{config-cli-uIP4r17f.js → config-cli-DhHEA_Nc.js} +1 -1
  16. package/dist/{configure-BGvoAfbs.js → configure-CeLdVVyh.js} +8 -1
  17. package/dist/{configure-BOsTXjBw.js → configure-FRd92XZ8.js} +8 -1
  18. package/dist/{deliver-DBXe-ZmL.js → deliver-D-f6Wa3i.js} +1 -1
  19. package/dist/{deliver-BJuiq0GS.js → deliver-aL8yOYS1.js} +1 -1
  20. package/dist/{deliver-runtime-DHKcNQzq.js → deliver-runtime-ChVR6sR3.js} +3 -3
  21. package/dist/{deliver-runtime-GlnBJNCj.js → deliver-runtime-_egya0QZ.js} +3 -3
  22. package/dist/{deps-send-whatsapp.runtime-DdxKewuy.js → deps-send-whatsapp.runtime-CZj97m5A.js} +7 -7
  23. package/dist/{deps-send-whatsapp.runtime-CslTuV47.js → deps-send-whatsapp.runtime-CiG6xd2e.js} +7 -7
  24. package/dist/{doctor-completion-42wcUATu.js → doctor-completion-I-WDZUs1.js} +1 -1
  25. package/dist/{doctor-completion-D6RGDBD5.js → doctor-completion-mnJOkoQ_.js} +1 -1
  26. package/dist/entry.js +2 -2
  27. package/dist/extensionAPI.js +6 -6
  28. package/dist/{gateway-cli-CG3mshpO.js → gateway-cli-B5rTNvd7.js} +1 -1
  29. package/dist/{gateway-cli-BbPfLLT6.js → gateway-cli-BHfkbI0u.js} +1 -1
  30. package/dist/{image-j_UomzVG.js → image-C-C7hQ26.js} +1 -1
  31. package/dist/{image-sRW3RpTY.js → image-DKZCmkET.js} +1 -1
  32. package/dist/{image-runtime-BNh3IfMj.js → image-runtime-D7n4dID4.js} +3 -3
  33. package/dist/{image-runtime-SUtf9jqh.js → image-runtime-poRypm-b.js} +3 -3
  34. package/dist/index.js +1 -1
  35. package/dist/llm-slug-generator.js +6 -6
  36. package/dist/{onboard-ChxvwUze.js → onboard-BP2Cr_Xy.js} +1 -1
  37. package/dist/{onboard-1KfKwvMR.js → onboard-CCJCvPgf.js} +1 -1
  38. package/dist/{onboarding-D6kMb3yv.js → onboarding-D5G87dvM.js} +1 -1
  39. package/dist/{onboarding-DuUMPrqA.js → onboarding-D7CIbxzd.js} +1 -1
  40. package/dist/{onboarding.finalize-KTOhO1-l.js → onboarding.finalize-B1MmYTFV.js} +4 -4
  41. package/dist/{onboarding.finalize-bphDUwZy.js → onboarding.finalize-Cxzl-fYU.js} +3 -3
  42. package/dist/{pi-embedded-BP2UlUm_.js → pi-embedded-CHzwPt6X.js} +24 -24
  43. package/dist/{pi-embedded-BGz_qdCc.js → pi-embedded-MktS4l8v.js} +24 -24
  44. package/dist/{pi-embedded-helpers-CmLnmKlb.js → pi-embedded-helpers-Bse_QhEf.js} +3 -3
  45. package/dist/{pi-embedded-helpers-BruaFB5l.js → pi-embedded-helpers-DYWYzEOC.js} +3 -3
  46. package/dist/plugin-sdk/accounts-BNuRM3rG.js +288 -0
  47. package/dist/plugin-sdk/accounts-CGTYP7Rh.js +46 -0
  48. package/dist/plugin-sdk/accounts-CcS9IAhD.js +35 -0
  49. package/dist/plugin-sdk/{accounts-YTdQYQFr.js → accounts-CxUSDHsT.js} +3 -3
  50. package/dist/plugin-sdk/{accounts-h__dTrLK.js → accounts-PSzw-z3S.js} +2 -2
  51. package/dist/plugin-sdk/{accounts-DghIDNk2.js → accounts-kr-Gz1hk.js} +2 -2
  52. package/dist/plugin-sdk/{active-listener-_PRYjtJv.js → active-listener-BQNrTcR3.js} +2 -2
  53. package/dist/plugin-sdk/active-listener-CTsLn1AX.js +50 -0
  54. package/dist/plugin-sdk/{api-key-rotation-mVDSAkKQ.js → api-key-rotation-Bhck7wki.js} +2 -2
  55. package/dist/plugin-sdk/api-key-rotation-DE4gr5YM.js +181 -0
  56. package/dist/plugin-sdk/audio-preflight-CRGLqp-g.js +69 -0
  57. package/dist/plugin-sdk/{audio-preflight-BZlQM-qX.js → audio-preflight-_xgGaeho.js} +26 -26
  58. package/dist/plugin-sdk/{audio-transcription-runner-CrYTX8py.js → audio-transcription-runner-Dwc0Eh-B.js} +11 -11
  59. package/dist/plugin-sdk/audio-transcription-runner-RXsskMMk.js +2176 -0
  60. package/dist/plugin-sdk/audit-membership-runtime-B9b-zRwg.js +58 -0
  61. package/dist/plugin-sdk/{audit-membership-runtime-Xl20kCBe.js → audit-membership-runtime-DHQDvH4u.js} +2 -2
  62. package/dist/plugin-sdk/{channel-activity-gwxRn4wF.js → channel-activity-XajEg_DL.js} +3 -3
  63. package/dist/plugin-sdk/channel-activity-gPvD1D7S.js +94 -0
  64. package/dist/plugin-sdk/{channel-web-1WF-Nabe.js → channel-web-KtqCp4mz.js} +18 -18
  65. package/dist/plugin-sdk/channel-web-LGl1zPJt.js +2256 -0
  66. package/dist/plugin-sdk/chrome-9Y_LcUg1.js +2415 -0
  67. package/dist/plugin-sdk/{chrome-BXbYwXRH.js → chrome-diV5m81I.js} +6 -6
  68. package/dist/plugin-sdk/commands-registry-CcdEPxVg.js +1125 -0
  69. package/dist/plugin-sdk/{commands-registry-0w-aZenK.js → commands-registry-DwZAJuut.js} +4 -4
  70. package/dist/plugin-sdk/{common-DBOCt6Yv.js → common-CqnO92P8.js} +2 -2
  71. package/dist/plugin-sdk/config-CrQ5bCrw.js +17912 -0
  72. package/dist/plugin-sdk/{config-pRtEoVyZ.js → config-DYbtdrsT.js} +7 -7
  73. package/dist/plugin-sdk/deliver-D3xr5AkB.js +1694 -0
  74. package/dist/plugin-sdk/{deliver-FjlJrtZk.js → deliver-DG_7Uagn.js} +10 -10
  75. package/dist/plugin-sdk/deliver-runtime-B79ZQu69.js +32 -0
  76. package/dist/plugin-sdk/deliver-runtime-BdTC7uKE.js +32 -0
  77. package/dist/plugin-sdk/deps-send-discord.runtime-BOQZIqC8.js +23 -0
  78. package/dist/plugin-sdk/deps-send-discord.runtime-CObCNMt3.js +23 -0
  79. package/dist/plugin-sdk/deps-send-imessage.runtime-CuHOc9Ka.js +22 -0
  80. package/dist/plugin-sdk/deps-send-imessage.runtime-DlWgi2DH.js +22 -0
  81. package/dist/plugin-sdk/deps-send-signal.runtime-Cz7FT8J8.js +21 -0
  82. package/dist/plugin-sdk/deps-send-signal.runtime-iPynghkE.js +21 -0
  83. package/dist/plugin-sdk/deps-send-slack.runtime-D4vDoRsg.js +19 -0
  84. package/dist/plugin-sdk/deps-send-slack.runtime-DNTbE5jS.js +19 -0
  85. package/dist/plugin-sdk/deps-send-telegram.runtime-7CR-xtCF.js +24 -0
  86. package/dist/plugin-sdk/deps-send-telegram.runtime-DjTVED_m.js +24 -0
  87. package/dist/plugin-sdk/deps-send-whatsapp.runtime-CRWOIKRC.js +57 -0
  88. package/dist/plugin-sdk/deps-send-whatsapp.runtime-bUi8kghi.js +57 -0
  89. package/dist/plugin-sdk/diagnostic-BXkLYs_9.js +319 -0
  90. package/dist/plugin-sdk/{diagnostic-Dt2i3afe.js → diagnostic-CT7v_kM2.js} +2 -2
  91. package/dist/plugin-sdk/{errors-CgRPdp3o.js → errors-9oVz7reJ.js} +1 -1
  92. package/dist/plugin-sdk/errors-B8oJXuCF.js +54 -0
  93. package/dist/plugin-sdk/fetch-guard-C55uvn27.js +156 -0
  94. package/dist/plugin-sdk/{fetch-guard-DyPZh8r2.js → fetch-guard-Or5BCq0E.js} +2 -2
  95. package/dist/plugin-sdk/{fs-safe-DqCO1D4C.js → fs-safe-DFbwq9CS.js} +3 -3
  96. package/dist/plugin-sdk/fs-safe-Dqmpk-Fr.js +352 -0
  97. package/dist/plugin-sdk/image-3xW7IJdq.js +2310 -0
  98. package/dist/plugin-sdk/image-ops-BjK2qZZn.js +584 -0
  99. package/dist/plugin-sdk/{image-ops-sw0uZ0GN.js → image-ops-CMsocOob.js} +2 -2
  100. package/dist/plugin-sdk/image-runtime-CZZJJqcW.js +25 -0
  101. package/dist/plugin-sdk/image-runtime-Cjz368oj.js +25 -0
  102. package/dist/plugin-sdk/{image-CQ9TZ9vq.js → image-rycGCqJO.js} +6 -6
  103. package/dist/plugin-sdk/index.js +50 -50
  104. package/dist/plugin-sdk/ir-CS7uuQhN.js +1296 -0
  105. package/dist/plugin-sdk/{ir-BVZ5kUMb.js → ir-DihI2SIz.js} +7 -7
  106. package/dist/plugin-sdk/{local-roots-fO3ZgW3G.js → local-roots-1xVosTZ4.js} +4 -4
  107. package/dist/plugin-sdk/local-roots-DmOKwiNW.js +186 -0
  108. package/dist/plugin-sdk/{logger-DIb2cGHp.js → logger-Bg4vIUJn.js} +2 -2
  109. package/dist/plugin-sdk/logger-DDdrdbDu.js +1163 -0
  110. package/dist/plugin-sdk/login-BSEeU27Y.js +57 -0
  111. package/dist/plugin-sdk/{login-Dg5cxB_3.js → login-YhFrVUWo.js} +4 -4
  112. package/dist/plugin-sdk/login-qr-BwWJsDSj.js +320 -0
  113. package/dist/plugin-sdk/{login-qr-C3Vn30cq.js → login-qr-SpUTuwYv.js} +5 -5
  114. package/dist/plugin-sdk/manager-DiXPCubI.js +3917 -0
  115. package/dist/plugin-sdk/{manager-BR-TwWTH.js → manager-DrzOPeMD.js} +8 -8
  116. package/dist/plugin-sdk/manager-runtime-CF55pBNe.js +15 -0
  117. package/dist/plugin-sdk/manager-runtime-Ct0m9UJC.js +15 -0
  118. package/dist/plugin-sdk/mattermost.js +3 -3
  119. package/dist/plugin-sdk/{outbound-1a3Z_QJ2.js → outbound-Cc4cUn9K.js} +5 -5
  120. package/dist/plugin-sdk/outbound-attachment-BoFx05zw.js +19 -0
  121. package/dist/plugin-sdk/{outbound-attachment-BTQjD4YE.js → outbound-attachment-Dtp3hQgc.js} +2 -2
  122. package/dist/plugin-sdk/outbound-cpqK1GFe.js +212 -0
  123. package/dist/plugin-sdk/{path-alias-guards-TnxupPQC.js → path-alias-guards-DA0MhfkG.js} +1 -1
  124. package/dist/plugin-sdk/path-alias-guards-gBhrAn14.js +43 -0
  125. package/dist/plugin-sdk/paths-C6W4VHoa.js +166 -0
  126. package/dist/plugin-sdk/{paths-B7_75Pdr.js → paths-CP67O8eN.js} +1 -1
  127. package/dist/plugin-sdk/{pi-embedded-helpers-DZRNadD8.js → pi-embedded-helpers-BDJ_4Plh.js} +16 -16
  128. package/dist/plugin-sdk/pi-embedded-helpers-C-B9B6Sp.js +9627 -0
  129. package/dist/plugin-sdk/pi-model-discovery-BGEeoPzN.js +134 -0
  130. package/dist/plugin-sdk/{pi-model-discovery-DGh6xekX.js → pi-model-discovery-Mk0GTDJl.js} +1 -1
  131. package/dist/plugin-sdk/pi-model-discovery-runtime-BHZ_Htob.js +8 -0
  132. package/dist/plugin-sdk/pi-model-discovery-runtime-BrwtJHPU.js +8 -0
  133. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-ByN_xThw.js +354 -0
  134. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-BZ9XgG_x.js → pi-tools.before-tool-call.runtime-DV72wTDb.js} +4 -4
  135. package/dist/plugin-sdk/plugins-D5cdn70e.js +864 -0
  136. package/dist/plugin-sdk/{plugins-B8pWVYug.js → plugins-DSs2-fnK.js} +4 -4
  137. package/dist/plugin-sdk/{proxy-env-BOlkiW1-.js → proxy-env-Ib4-LUh-.js} +1 -1
  138. package/dist/plugin-sdk/{proxy-fetch-Dt5BedH8.js → proxy-fetch-Cf3IUSDw.js} +1 -1
  139. package/dist/plugin-sdk/proxy-fetch-ZPEvp58f.js +38 -0
  140. package/dist/plugin-sdk/pw-ai-C_QOIuin.js +1938 -0
  141. package/dist/plugin-sdk/{pw-ai-C17A1o4w.js → pw-ai-DIx2wpkY.js} +9 -9
  142. package/dist/plugin-sdk/qmd-manager-6bozlfFg.js +1448 -0
  143. package/dist/plugin-sdk/{qmd-manager-Bei6TaFq.js → qmd-manager-Ov9ElEfG.js} +7 -7
  144. package/dist/plugin-sdk/{query-expansion-POz2za8a.js → query-expansion-CzjwW461.js} +4 -4
  145. package/dist/plugin-sdk/query-expansion-eeVz_aEm.js +1011 -0
  146. package/dist/plugin-sdk/{redact-9WsNyb7S.js → redact-BoNEjbpF.js} +1 -1
  147. package/dist/plugin-sdk/redact-DfACyt0X.js +319 -0
  148. package/dist/plugin-sdk/reply-CQUX_haM.js +98828 -0
  149. package/dist/plugin-sdk/{reply-BFbijn6_.js → reply-CWWUd_JS.js} +73 -73
  150. package/dist/plugin-sdk/{resolve-outbound-target-B9iFEh0y.js → resolve-outbound-target-BOkvxZtM.js} +2 -2
  151. package/dist/plugin-sdk/resolve-outbound-target-Dbz0O8cR.js +40 -0
  152. package/dist/plugin-sdk/run-with-concurrency-5DMu9szx.js +1994 -0
  153. package/dist/plugin-sdk/{run-with-concurrency-DmTrN5JG.js → run-with-concurrency-kVooFCVo.js} +1 -1
  154. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DitS0I1z.js +10 -0
  155. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-OthrtsLL.js +10 -0
  156. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-CYCr6A3v.js +19 -0
  157. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Q2HL0zL3.js +19 -0
  158. package/dist/plugin-sdk/send-BACEu1Un.js +414 -0
  159. package/dist/plugin-sdk/{send-BGZo6HW1.js → send-BP1fSEBR.js} +5 -5
  160. package/dist/plugin-sdk/send-BU4OoR7u.js +2587 -0
  161. package/dist/plugin-sdk/{send-BqkUDZed.js → send-BeLBlAsQ.js} +13 -13
  162. package/dist/plugin-sdk/{send-BisREGBZ.js → send-D9CSOGul.js} +6 -6
  163. package/dist/plugin-sdk/{send-D6_nNvi0.js → send-DLKxJJYV.js} +8 -8
  164. package/dist/plugin-sdk/send-DbxOJ_BC.js +3135 -0
  165. package/dist/plugin-sdk/{send-Dj7XEcZN.js → send-XZ6IXCtL.js} +7 -7
  166. package/dist/plugin-sdk/send-n932vjT5.js +540 -0
  167. package/dist/plugin-sdk/send-uCPS53j8.js +503 -0
  168. package/dist/plugin-sdk/session-DenDKR_-.js +169 -0
  169. package/dist/plugin-sdk/{session-D4KDs7Hq.js → session-DtLUYWvY.js} +3 -3
  170. package/dist/plugin-sdk/skill-commands-BK1KDKmS.js +342 -0
  171. package/dist/plugin-sdk/{skill-commands-D_xeseiI.js → skill-commands-Bv7EZypt.js} +4 -4
  172. package/dist/plugin-sdk/{skills-Bs2b3JfV.js → skills-BzXN4uev.js} +6 -6
  173. package/dist/plugin-sdk/skills-D4am-zkO.js +1428 -0
  174. package/dist/plugin-sdk/slash-commands.runtime-Bx1K1iqP.js +13 -0
  175. package/dist/plugin-sdk/slash-commands.runtime-DWfFqMZw.js +13 -0
  176. package/dist/plugin-sdk/slash-dispatch.runtime-DVn338JI.js +52 -0
  177. package/dist/plugin-sdk/slash-dispatch.runtime-pnWH5AjM.js +52 -0
  178. package/dist/plugin-sdk/slash-skill-commands.runtime-Dbi_YzPO.js +16 -0
  179. package/dist/plugin-sdk/slash-skill-commands.runtime-DxvNWv_E.js +16 -0
  180. package/dist/plugin-sdk/ssrf-2WBi1Tzx.js +202 -0
  181. package/dist/plugin-sdk/store-BKDMuvyn.js +81 -0
  182. package/dist/plugin-sdk/{store-B7ESm9_L.js → store-DnJhFFW5.js} +2 -2
  183. package/dist/plugin-sdk/subagent-registry-runtime-FhP0l-Rw.js +52 -0
  184. package/dist/plugin-sdk/subagent-registry-runtime-hH9ADku1.js +52 -0
  185. package/dist/plugin-sdk/{tables-1vhBJPK_.js → tables-CpmqssLF.js} +1 -1
  186. package/dist/plugin-sdk/tables-CrDYcv_b.js +55 -0
  187. package/dist/plugin-sdk/target-errors-aOwE-MIU.js +195 -0
  188. package/dist/plugin-sdk/{thinking-DjaClmzi.js → thinking-1UCPuD9d.js} +7 -7
  189. package/dist/plugin-sdk/thinking-D41FMh9T.js +1206 -0
  190. package/dist/plugin-sdk/{tokens-CLE20fRI.js → tokens-CTIYTLWu.js} +1 -1
  191. package/dist/plugin-sdk/tokens-DAL_5WHL.js +52 -0
  192. package/dist/plugin-sdk/{tool-images-B95xcwiR.js → tool-images-CWc54lpI.js} +2 -2
  193. package/dist/plugin-sdk/tool-images-RX4QTMnt.js +274 -0
  194. package/dist/plugin-sdk/web-AtEy-48y.js +56 -0
  195. package/dist/plugin-sdk/web-DjKONHqF.js +56 -0
  196. package/dist/plugin-sdk/{whatsapp-actions-BYpcWkTN.js → whatsapp-actions-BF6ih4Gi.js} +17 -17
  197. package/dist/plugin-sdk/whatsapp-actions-DEZcm_CZ.js +80 -0
  198. package/dist/plugin-sdk/whatsapp.js +50 -50
  199. package/dist/{program-xNEHPhT8.js → program-2J-jgdfk.js} +2 -2
  200. package/dist/{program-context-J_FyEsaS.js → program-context-SjYSWx_N.js} +8 -8
  201. package/dist/{prompt-select-styled-B1LjjgQ0.js → prompt-select-styled-Baiu3mAU.js} +1 -1
  202. package/dist/{prompt-select-styled-BRiogP_P.js → prompt-select-styled-DPnVmH8f.js} +1 -1
  203. package/dist/{pw-ai-7kHgUGj0.js → pw-ai-BwRP3TWc.js} +1 -1
  204. package/dist/{pw-ai-BmGrTicP.js → pw-ai-zFPBSxaL.js} +1 -1
  205. package/dist/{register.configure-DezZ4Q1p.js → register.configure-Ao1K2uze.js} +1 -1
  206. package/dist/{register.configure-C4p9ad2q.js → register.configure-CCkfhF-7.js} +1 -1
  207. package/dist/{register.maintenance-CzMKTC2a.js → register.maintenance-DMbs8w2m.js} +4 -4
  208. package/dist/{register.maintenance-CTvFmkAm.js → register.maintenance-pLpE2oF-.js} +5 -5
  209. package/dist/{register.onboard-C39xhpv1.js → register.onboard-Cb8xLIye.js} +2 -2
  210. package/dist/{register.onboard-DZt2kSAg.js → register.onboard-IMrHOeW_.js} +2 -2
  211. package/dist/{register.setup-04L_8wfA.js → register.setup-CX8IUmew.js} +2 -2
  212. package/dist/{register.setup-DWctFmOd.js → register.setup-DU7IDzAv.js} +2 -2
  213. package/dist/{register.subclis-C3TphbCF.js → register.subclis-BIbL6FBV.js} +3 -3
  214. package/dist/{run-main-7tknx04F.js → run-main-CpDZPsC_.js} +5 -5
  215. package/dist/{slash-dispatch.runtime-BL3qA1O3.js → slash-dispatch.runtime-DkcAYuyK.js} +6 -6
  216. package/dist/{slash-dispatch.runtime-Dh2L_3Tg.js → slash-dispatch.runtime-DuJRl-LD.js} +6 -6
  217. package/dist/{subagent-registry-runtime-MtjBCcgn.js → subagent-registry-runtime-BlRAnw80.js} +6 -6
  218. package/dist/{subagent-registry-runtime-BRNDawlJ.js → subagent-registry-runtime-COygB9b1.js} +6 -6
  219. package/dist/{update-cli-0UiUaT3q.js → update-cli-BwhvSo1R.js} +5 -5
  220. package/dist/{update-cli-C-uyQcFS.js → update-cli-TQEfxhWF.js} +4 -4
  221. package/dist/{web-D1ZoRVB0.js → web-DddJa7ZT.js} +6 -6
  222. package/dist/{web-B7kbCskR.js → web-DyCuTR9b.js} +6 -6
  223. package/package.json +7 -7
  224. package/dist/plugin-sdk/deliver-runtime-DEzvpBW1.js +0 -32
  225. package/dist/plugin-sdk/deps-send-discord.runtime-Bhusa_Hi.js +0 -23
  226. package/dist/plugin-sdk/deps-send-imessage.runtime-bmakPm5f.js +0 -22
  227. package/dist/plugin-sdk/deps-send-signal.runtime-n00sfFto.js +0 -21
  228. package/dist/plugin-sdk/deps-send-slack.runtime-BvM3Z-Mr.js +0 -19
  229. package/dist/plugin-sdk/deps-send-telegram.runtime-CPuMkcmo.js +0 -24
  230. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BzO6S-KX.js +0 -57
  231. package/dist/plugin-sdk/image-runtime-17_mTqsy.js +0 -25
  232. package/dist/plugin-sdk/manager-runtime-CvI9wF8N.js +0 -15
  233. package/dist/plugin-sdk/pi-model-discovery-runtime-DjjBdPYt.js +0 -8
  234. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DzhkSmLi.js +0 -10
  235. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DyILWezU.js +0 -19
  236. package/dist/plugin-sdk/slash-commands.runtime-CUb5sqqf.js +0 -13
  237. package/dist/plugin-sdk/slash-dispatch.runtime-DCB6bGjB.js +0 -52
  238. package/dist/plugin-sdk/slash-skill-commands.runtime-BqEweE4K.js +0 -16
  239. package/dist/plugin-sdk/subagent-registry-runtime-CCUW4SbM.js +0 -52
  240. package/dist/plugin-sdk/web-DeRmHQ4_.js +0 -56
@@ -0,0 +1,35 @@
1
+ import { ot as normalizeAccountId } from "./run-with-concurrency-5DMu9szx.js";
2
+ import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-BNuRM3rG.js";
3
+
4
+ //#region src/imessage/accounts.ts
5
+ const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
6
+ const listIMessageAccountIds = listAccountIds;
7
+ const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
8
+ function resolveAccountConfig(cfg, accountId) {
9
+ return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
10
+ }
11
+ function mergeIMessageAccountConfig(cfg, accountId) {
12
+ const { accounts: _ignored, ...base } = cfg.channels?.imessage ?? {};
13
+ const account = resolveAccountConfig(cfg, accountId) ?? {};
14
+ return {
15
+ ...base,
16
+ ...account
17
+ };
18
+ }
19
+ function resolveIMessageAccount(params) {
20
+ const accountId = normalizeAccountId(params.accountId);
21
+ const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
22
+ const merged = mergeIMessageAccountConfig(params.cfg, accountId);
23
+ const accountEnabled = merged.enabled !== false;
24
+ const configured = Boolean(merged.cliPath?.trim() || merged.dbPath?.trim() || merged.service || merged.region?.trim() || merged.allowFrom && merged.allowFrom.length > 0 || merged.groupAllowFrom && merged.groupAllowFrom.length > 0 || merged.dmPolicy || merged.groupPolicy || typeof merged.includeAttachments === "boolean" || merged.attachmentRoots && merged.attachmentRoots.length > 0 || merged.remoteAttachmentRoots && merged.remoteAttachmentRoots.length > 0 || typeof merged.mediaMaxMb === "number" || typeof merged.textChunkLimit === "number" || merged.groups && Object.keys(merged.groups).length > 0);
25
+ return {
26
+ accountId,
27
+ enabled: baseEnabled && accountEnabled,
28
+ name: merged.name?.trim() || void 0,
29
+ config: merged,
30
+ configured
31
+ };
32
+ }
33
+
34
+ //#endregion
35
+ export { resolveDefaultIMessageAccountId as n, resolveIMessageAccount as r, listIMessageAccountIds as t };
@@ -1,6 +1,6 @@
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-pRtEoVyZ.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";
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-DYbtdrsT.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";
4
4
  import { o as resolveOAuthDir } from "./paths-Duwviem_.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
- import { ot as normalizeAccountId } from "./run-with-concurrency-DmTrN5JG.js";
2
- import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-YTdQYQFr.js";
1
+ import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
2
+ import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-CxUSDHsT.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-DmTrN5JG.js";
2
- import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-YTdQYQFr.js";
1
+ import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
2
+ import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-CxUSDHsT.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,5 +1,5 @@
1
- import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-DmTrN5JG.js";
2
- import { Tr as formatCliCommand } from "./config-pRtEoVyZ.js";
1
+ import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-kVooFCVo.js";
2
+ import { Tr as formatCliCommand } from "./config-DYbtdrsT.js";
3
3
  import crypto from "node:crypto";
4
4
 
5
5
  //#region src/logging/redact-identifier.ts
@@ -0,0 +1,50 @@
1
+ import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-5DMu9szx.js";
2
+ import { Pr as formatCliCommand } from "./config-CrQ5bCrw.js";
3
+ import crypto from "node:crypto";
4
+
5
+ //#region src/logging/redact-identifier.ts
6
+ function sha256HexPrefix(value, len = 12) {
7
+ const safeLen = Number.isFinite(len) ? Math.max(1, Math.floor(len)) : 12;
8
+ return crypto.createHash("sha256").update(value).digest("hex").slice(0, safeLen);
9
+ }
10
+ function redactIdentifier(value, opts) {
11
+ const trimmed = value?.trim();
12
+ if (!trimmed) return "-";
13
+ return `sha256:${sha256HexPrefix(trimmed, opts?.len ?? 12)}`;
14
+ }
15
+
16
+ //#endregion
17
+ //#region src/web/active-listener.ts
18
+ const listeners = /* @__PURE__ */ new Map();
19
+ function resolveWebAccountId(accountId) {
20
+ return (accountId ?? "").trim() || DEFAULT_ACCOUNT_ID;
21
+ }
22
+ function requireActiveWebListener(accountId) {
23
+ const id = resolveWebAccountId(accountId);
24
+ const listener = listeners.get(id) ?? null;
25
+ if (!listener) throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`squidclaw channels login --channel whatsapp --account ${id}`)}.`);
26
+ return {
27
+ accountId: id,
28
+ listener
29
+ };
30
+ }
31
+ function setActiveWebListener(accountIdOrListener, maybeListener) {
32
+ const { accountId, listener } = typeof accountIdOrListener === "string" ? {
33
+ accountId: accountIdOrListener,
34
+ listener: maybeListener ?? null
35
+ } : {
36
+ accountId: DEFAULT_ACCOUNT_ID,
37
+ listener: accountIdOrListener ?? null
38
+ };
39
+ const id = resolveWebAccountId(accountId);
40
+ if (!listener) listeners.delete(id);
41
+ else listeners.set(id, listener);
42
+ if (id === DEFAULT_ACCOUNT_ID) {}
43
+ }
44
+ function getActiveWebListener(accountId) {
45
+ const id = resolveWebAccountId(accountId);
46
+ return listeners.get(id) ?? null;
47
+ }
48
+
49
+ //#endregion
50
+ export { redactIdentifier as i, requireActiveWebListener as n, setActiveWebListener as r, getActiveWebListener as t };
@@ -1,5 +1,5 @@
1
- import { Ht as normalizeProviderId } from "./config-pRtEoVyZ.js";
2
- import { r as formatErrorMessage } from "./errors-CgRPdp3o.js";
1
+ import { jn as normalizeProviderId } from "./config-CrQ5bCrw.js";
2
+ import { r as formatErrorMessage } from "./errors-B8oJXuCF.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
5
5
  /**
@@ -0,0 +1,181 @@
1
+ import { Ht as normalizeProviderId } from "./config-DYbtdrsT.js";
2
+ import { r as formatErrorMessage } from "./errors-9oVz7reJ.js";
3
+
4
+ //#region src/infra/gemini-auth.ts
5
+ /**
6
+ * Shared Gemini authentication utilities.
7
+ *
8
+ * Supports both traditional API keys and OAuth JSON format.
9
+ */
10
+ /**
11
+ * Parse Gemini API key and return appropriate auth headers.
12
+ *
13
+ * OAuth format: `{"token": "...", "projectId": "..."}`
14
+ *
15
+ * @param apiKey - Either a traditional API key string or OAuth JSON
16
+ * @returns Headers object with appropriate authentication
17
+ */
18
+ function parseGeminiAuth(apiKey) {
19
+ if (apiKey.startsWith("{")) try {
20
+ const parsed = JSON.parse(apiKey);
21
+ if (typeof parsed.token === "string" && parsed.token) return { headers: {
22
+ Authorization: `Bearer ${parsed.token}`,
23
+ "Content-Type": "application/json"
24
+ } };
25
+ } catch {}
26
+ return { headers: {
27
+ "x-goog-api-key": apiKey,
28
+ "Content-Type": "application/json"
29
+ } };
30
+ }
31
+
32
+ //#endregion
33
+ //#region src/agents/live-auth-keys.ts
34
+ const KEY_SPLIT_RE = /[\s,;]+/g;
35
+ const GOOGLE_LIVE_SINGLE_KEY = "SQUIDCLAW_LIVE_GEMINI_KEY";
36
+ const PROVIDER_PREFIX_OVERRIDES = {
37
+ google: "GEMINI",
38
+ "google-vertex": "GEMINI"
39
+ };
40
+ const PROVIDER_API_KEY_CONFIG = {
41
+ anthropic: {
42
+ liveSingle: "SQUIDCLAW_LIVE_ANTHROPIC_KEY",
43
+ listVar: "SQUIDCLAW_LIVE_ANTHROPIC_KEYS",
44
+ primaryVar: "ANTHROPIC_API_KEY",
45
+ prefixedVar: "ANTHROPIC_API_KEY_"
46
+ },
47
+ google: {
48
+ liveSingle: GOOGLE_LIVE_SINGLE_KEY,
49
+ listVar: "GEMINI_API_KEYS",
50
+ primaryVar: "GEMINI_API_KEY",
51
+ prefixedVar: "GEMINI_API_KEY_"
52
+ },
53
+ "google-vertex": {
54
+ liveSingle: GOOGLE_LIVE_SINGLE_KEY,
55
+ listVar: "GEMINI_API_KEYS",
56
+ primaryVar: "GEMINI_API_KEY",
57
+ prefixedVar: "GEMINI_API_KEY_"
58
+ },
59
+ openai: {
60
+ liveSingle: "SQUIDCLAW_LIVE_OPENAI_KEY",
61
+ listVar: "OPENAI_API_KEYS",
62
+ primaryVar: "OPENAI_API_KEY",
63
+ prefixedVar: "OPENAI_API_KEY_"
64
+ }
65
+ };
66
+ function parseKeyList(raw) {
67
+ if (!raw) return [];
68
+ return raw.split(KEY_SPLIT_RE).map((value) => value.trim()).filter(Boolean);
69
+ }
70
+ function collectEnvPrefixedKeys(prefix) {
71
+ const keys = [];
72
+ for (const [name, value] of Object.entries(process.env)) {
73
+ if (!name.startsWith(prefix)) continue;
74
+ const trimmed = value?.trim();
75
+ if (!trimmed) continue;
76
+ keys.push(trimmed);
77
+ }
78
+ return keys;
79
+ }
80
+ function resolveProviderApiKeyConfig(provider) {
81
+ const normalized = normalizeProviderId(provider);
82
+ const custom = PROVIDER_API_KEY_CONFIG[normalized];
83
+ const base = PROVIDER_PREFIX_OVERRIDES[normalized] ?? normalized.toUpperCase().replace(/-/g, "_");
84
+ const liveSingle = custom?.liveSingle ?? `SQUIDCLAW_LIVE_${base}_KEY`;
85
+ const listVar = custom?.listVar ?? `${base}_API_KEYS`;
86
+ const primaryVar = custom?.primaryVar ?? `${base}_API_KEY`;
87
+ const prefixedVar = custom?.prefixedVar ?? `${base}_API_KEY_`;
88
+ if (normalized === "google" || normalized === "google-vertex") return {
89
+ liveSingle,
90
+ listVar,
91
+ primaryVar,
92
+ prefixedVar,
93
+ fallbackVars: ["GOOGLE_API_KEY"]
94
+ };
95
+ return {
96
+ liveSingle,
97
+ listVar,
98
+ primaryVar,
99
+ prefixedVar,
100
+ fallbackVars: []
101
+ };
102
+ }
103
+ function collectProviderApiKeys(provider) {
104
+ const config = resolveProviderApiKeyConfig(provider);
105
+ const forcedSingle = config.liveSingle ? process.env[config.liveSingle]?.trim() : void 0;
106
+ if (forcedSingle) return [forcedSingle];
107
+ const fromList = parseKeyList(config.listVar ? process.env[config.listVar] : void 0);
108
+ const primary = config.primaryVar ? process.env[config.primaryVar]?.trim() : void 0;
109
+ const fromPrefixed = config.prefixedVar ? collectEnvPrefixedKeys(config.prefixedVar) : [];
110
+ const fallback = config.fallbackVars.map((envVar) => process.env[envVar]?.trim()).filter(Boolean);
111
+ const seen = /* @__PURE__ */ new Set();
112
+ const add = (value) => {
113
+ if (!value) return;
114
+ if (seen.has(value)) return;
115
+ seen.add(value);
116
+ };
117
+ for (const value of fromList) add(value);
118
+ add(primary);
119
+ for (const value of fromPrefixed) add(value);
120
+ for (const value of fallback) add(value);
121
+ return Array.from(seen);
122
+ }
123
+ function isApiKeyRateLimitError(message) {
124
+ const lower = message.toLowerCase();
125
+ if (lower.includes("rate_limit")) return true;
126
+ if (lower.includes("rate limit")) return true;
127
+ if (lower.includes("429")) return true;
128
+ if (lower.includes("quota exceeded") || lower.includes("quota_exceeded")) return true;
129
+ if (lower.includes("resource exhausted") || lower.includes("resource_exhausted")) return true;
130
+ if (lower.includes("too many requests")) return true;
131
+ return false;
132
+ }
133
+
134
+ //#endregion
135
+ //#region src/agents/api-key-rotation.ts
136
+ function dedupeApiKeys(raw) {
137
+ const seen = /* @__PURE__ */ new Set();
138
+ const keys = [];
139
+ for (const value of raw) {
140
+ const apiKey = value.trim();
141
+ if (!apiKey || seen.has(apiKey)) continue;
142
+ seen.add(apiKey);
143
+ keys.push(apiKey);
144
+ }
145
+ return keys;
146
+ }
147
+ function collectProviderApiKeysForExecution(params) {
148
+ const { primaryApiKey, provider } = params;
149
+ return dedupeApiKeys([primaryApiKey?.trim() ?? "", ...collectProviderApiKeys(provider)]);
150
+ }
151
+ async function executeWithApiKeyRotation(params) {
152
+ const keys = dedupeApiKeys(params.apiKeys);
153
+ if (keys.length === 0) throw new Error(`No API keys configured for provider "${params.provider}".`);
154
+ let lastError;
155
+ for (let attempt = 0; attempt < keys.length; attempt += 1) {
156
+ const apiKey = keys[attempt];
157
+ try {
158
+ return await params.execute(apiKey);
159
+ } catch (error) {
160
+ lastError = error;
161
+ const message = formatErrorMessage(error);
162
+ if (!(params.shouldRetry ? params.shouldRetry({
163
+ apiKey,
164
+ error,
165
+ attempt,
166
+ message
167
+ }) : isApiKeyRateLimitError(message)) || attempt + 1 >= keys.length) break;
168
+ params.onRetry?.({
169
+ apiKey,
170
+ error,
171
+ attempt,
172
+ message
173
+ });
174
+ }
175
+ }
176
+ if (lastError === void 0) throw new Error(`Failed to run API request for ${params.provider}.`);
177
+ throw lastError;
178
+ }
179
+
180
+ //#endregion
181
+ export { executeWithApiKeyRotation as n, parseGeminiAuth as r, collectProviderApiKeysForExecution as t };
@@ -0,0 +1,69 @@
1
+ import "./run-with-concurrency-5DMu9szx.js";
2
+ import "./accounts-BNuRM3rG.js";
3
+ import "./paths-8xF5kDne.js";
4
+ import "./github-copilot-token-Dy-0-Kh3.js";
5
+ import "./config-CrQ5bCrw.js";
6
+ import { L as logVerbose, z as shouldLogVerbose } from "./logger-DDdrdbDu.js";
7
+ import "./thinking-D41FMh9T.js";
8
+ import "./image-ops-BjK2qZZn.js";
9
+ import "./pi-embedded-helpers-C-B9B6Sp.js";
10
+ import "./plugins-D5cdn70e.js";
11
+ import "./accounts-CcS9IAhD.js";
12
+ import "./accounts-CGTYP7Rh.js";
13
+ import "./paths-C6W4VHoa.js";
14
+ import "./redact-BoNEjbpF.js";
15
+ import "./errors-B8oJXuCF.js";
16
+ import "./path-alias-guards-gBhrAn14.js";
17
+ import "./fs-safe-Dqmpk-Fr.js";
18
+ import "./ssrf-2WBi1Tzx.js";
19
+ import "./fetch-guard-C55uvn27.js";
20
+ import "./local-roots-DmOKwiNW.js";
21
+ import "./tool-images-CWc54lpI.js";
22
+ import { f as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-RXsskMMk.js";
23
+ import "./skills-D4am-zkO.js";
24
+ import "./chrome-9Y_LcUg1.js";
25
+ import "./store-BKDMuvyn.js";
26
+ import "./image-3xW7IJdq.js";
27
+ import "./api-key-rotation-Bhck7wki.js";
28
+ import "./proxy-fetch-ZPEvp58f.js";
29
+
30
+ //#region src/media-understanding/audio-preflight.ts
31
+ /**
32
+ * Transcribes the first audio attachment BEFORE mention checking.
33
+ * This allows voice notes to be processed in group chats with requireMention: true.
34
+ * Returns the transcript or undefined if transcription fails or no audio is found.
35
+ */
36
+ async function transcribeFirstAudio(params) {
37
+ const { ctx, cfg } = params;
38
+ const audioConfig = cfg.tools?.media?.audio;
39
+ if (!audioConfig || audioConfig.enabled === false) return;
40
+ const attachments = normalizeMediaAttachments(ctx);
41
+ if (!attachments || attachments.length === 0) return;
42
+ const firstAudio = attachments.find((att) => att && isAudioAttachment(att) && !att.alreadyTranscribed);
43
+ if (!firstAudio) return;
44
+ if (shouldLogVerbose()) logVerbose(`audio-preflight: transcribing attachment ${firstAudio.index} for mention check`);
45
+ try {
46
+ const { transcript } = await runAudioTranscription({
47
+ ctx,
48
+ cfg,
49
+ attachments,
50
+ agentDir: params.agentDir,
51
+ providers: params.providers,
52
+ activeModel: params.activeModel,
53
+ localPathRoots: resolveMediaAttachmentLocalRoots({
54
+ cfg,
55
+ ctx
56
+ })
57
+ });
58
+ if (!transcript) return;
59
+ firstAudio.alreadyTranscribed = true;
60
+ if (shouldLogVerbose()) logVerbose(`audio-preflight: transcribed ${transcript.length} chars from attachment ${firstAudio.index}`);
61
+ return transcript;
62
+ } catch (err) {
63
+ if (shouldLogVerbose()) logVerbose(`audio-preflight: transcription failed: ${String(err)}`);
64
+ return;
65
+ }
66
+ }
67
+
68
+ //#endregion
69
+ export { transcribeFirstAudio };
@@ -1,31 +1,31 @@
1
- import "./run-with-concurrency-DmTrN5JG.js";
2
- import "./config-pRtEoVyZ.js";
3
- import { L as logVerbose, z as shouldLogVerbose } from "./logger-DIb2cGHp.js";
1
+ import "./run-with-concurrency-kVooFCVo.js";
2
+ import "./config-DYbtdrsT.js";
3
+ import { L as logVerbose, z as shouldLogVerbose } from "./logger-Bg4vIUJn.js";
4
4
  import "./paths-Duwviem_.js";
5
- import "./accounts-YTdQYQFr.js";
6
- import "./plugins-B8pWVYug.js";
7
- import "./thinking-DjaClmzi.js";
8
- import "./accounts-h__dTrLK.js";
9
- import "./image-ops-sw0uZ0GN.js";
10
- import "./pi-embedded-helpers-DZRNadD8.js";
11
- import "./accounts-DghIDNk2.js";
5
+ import "./accounts-CxUSDHsT.js";
6
+ import "./plugins-DSs2-fnK.js";
7
+ import "./thinking-1UCPuD9d.js";
8
+ import "./accounts-PSzw-z3S.js";
9
+ import "./image-ops-CMsocOob.js";
10
+ import "./pi-embedded-helpers-BDJ_4Plh.js";
11
+ import "./accounts-kr-Gz1hk.js";
12
12
  import "./github-copilot-token-C0y6vp3r.js";
13
- import "./paths-B7_75Pdr.js";
14
- import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-CrYTX8py.js";
15
- import "./image-CQ9TZ9vq.js";
16
- import "./chrome-BXbYwXRH.js";
17
- import "./skills-Bs2b3JfV.js";
18
- import "./path-alias-guards-TnxupPQC.js";
19
- import "./redact-9WsNyb7S.js";
20
- import "./errors-CgRPdp3o.js";
21
- import "./fs-safe-DqCO1D4C.js";
22
- import "./proxy-env-BOlkiW1-.js";
23
- import "./store-B7ESm9_L.js";
24
- import "./tool-images-B95xcwiR.js";
25
- import "./fetch-guard-DyPZh8r2.js";
26
- import "./api-key-rotation-mVDSAkKQ.js";
27
- import "./local-roots-fO3ZgW3G.js";
28
- import "./proxy-fetch-Dt5BedH8.js";
13
+ import "./paths-CP67O8eN.js";
14
+ import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-Dwc0Eh-B.js";
15
+ import "./image-rycGCqJO.js";
16
+ import "./chrome-diV5m81I.js";
17
+ import "./skills-BzXN4uev.js";
18
+ import "./path-alias-guards-DA0MhfkG.js";
19
+ import "./redact-DfACyt0X.js";
20
+ import "./errors-9oVz7reJ.js";
21
+ import "./fs-safe-DFbwq9CS.js";
22
+ import "./proxy-env-Ib4-LUh-.js";
23
+ import "./store-DnJhFFW5.js";
24
+ import "./tool-images-RX4QTMnt.js";
25
+ import "./fetch-guard-Or5BCq0E.js";
26
+ import "./api-key-rotation-DE4gr5YM.js";
27
+ import "./local-roots-1xVosTZ4.js";
28
+ import "./proxy-fetch-Cf3IUSDw.js";
29
29
 
30
30
  //#region src/media-understanding/audio-preflight.ts
31
31
  /**
@@ -1,14 +1,14 @@
1
- import { O as runExec, U as resolveAgentModelFallbackValues, W as resolveAgentModelPrimaryValue } from "./run-with-concurrency-DmTrN5JG.js";
2
- import { Fn as resolveSquidClawAgentDir, Ht as normalizeProviderId, Yt as normalizeGoogleModelId, dn as resolveApiKeyForProvider, f as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, h as resolveIMessageAttachmentRoots, m as mergeInboundPathRoots, n as loadConfig, p as isInboundPathAllowed, un as requireApiKey } from "./config-pRtEoVyZ.js";
3
- import { L as logVerbose, O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, z as shouldLogVerbose } from "./logger-DIb2cGHp.js";
4
- import { _ as normalizeChatType } from "./plugins-B8pWVYug.js";
5
- import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-sw0uZ0GN.js";
6
- import { C as ensureSquidClawModelsJson, t as describeImageWithModel } from "./image-CQ9TZ9vq.js";
1
+ import { O as runExec, U as resolveAgentModelFallbackValues, W as resolveAgentModelPrimaryValue } from "./run-with-concurrency-kVooFCVo.js";
2
+ import { Fn as resolveSquidClawAgentDir, Ht as normalizeProviderId, Yt as normalizeGoogleModelId, dn as resolveApiKeyForProvider, f as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, h as resolveIMessageAttachmentRoots, m as mergeInboundPathRoots, n as loadConfig, p as isInboundPathAllowed, un as requireApiKey } from "./config-DYbtdrsT.js";
3
+ import { L as logVerbose, O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, z as shouldLogVerbose } from "./logger-Bg4vIUJn.js";
4
+ import { _ as normalizeChatType } from "./plugins-DSs2-fnK.js";
5
+ import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-CMsocOob.js";
6
+ import { C as ensureSquidClawModelsJson, t as describeImageWithModel } from "./image-rycGCqJO.js";
7
7
  import { n as fetchWithTimeout } from "./fetch-timeout-CR10Uz2k.js";
8
- import { t as fetchWithSsrFGuard } from "./fetch-guard-DyPZh8r2.js";
9
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-mVDSAkKQ.js";
10
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-fO3ZgW3G.js";
11
- import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-Dt5BedH8.js";
8
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-Or5BCq0E.js";
9
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DE4gr5YM.js";
10
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-1xVosTZ4.js";
11
+ import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-Cf3IUSDw.js";
12
12
  import path from "node:path";
13
13
  import { constants } from "node:fs";
14
14
  import os from "node:os";
@@ -990,7 +990,7 @@ var MediaAttachmentCache = class {
990
990
  const log = createSubsystemLogger("model-catalog");
991
991
  let modelCatalogPromise = null;
992
992
  let hasLoggedModelCatalogError = false;
993
- const defaultImportPiSdk = () => import("./pi-model-discovery-DGh6xekX.js").then((n) => n.r);
993
+ const defaultImportPiSdk = () => import("./pi-model-discovery-Mk0GTDJl.js").then((n) => n.r);
994
994
  let importPiSdk = defaultImportPiSdk;
995
995
  const CODEX_PROVIDER = "openai-codex";
996
996
  const OPENAI_CODEX_GPT53_MODEL_ID = "gpt-5.3-codex";