@gguf/claw 2026.2.4 → 2026.2.5

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 (616) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/LICENSE +1 -1
  3. package/README.md +50 -43
  4. package/dist/{accounts-BlHoTziG.js → accounts-BgZmhIm6.js} +4 -4
  5. package/dist/{accounts-B5QZU96b.js → accounts-Dto4p9zB.js} +2 -2
  6. package/dist/{acp-cli-DU_cVWbN.js → acp-cli-BOKabdeW.js} +15 -15
  7. package/dist/{acp-cli-O8LcQigE.js → acp-cli-BwcHtBDk.js} +19 -19
  8. package/dist/{agent-BBI-UGkN.js → agent-DztWhVCH.js} +20 -13
  9. package/dist/{agent-DuQt3QDO.js → agent-_H-0rbHV.js} +21 -14
  10. package/dist/{agent-scope-jm0ZdXwM.js → agent-scope-C9VjJXEK.js} +5 -180
  11. package/dist/{agent-scope-CrgUOY3f.js → agent-scope-CMs5Y7l-.js} +6 -181
  12. package/dist/{agent-scope-COnICB_7.js → agent-scope-Csu2B6AM.js} +2 -2
  13. package/dist/{audit-D-OqdjQu.js → audit-BWbjQmyv.js} +182 -15
  14. package/dist/{audit-CWGOX7Eh.js → audit-ZY6Dk5Ec.js} +183 -16
  15. package/dist/{auth-viF_w60n.js → auth-CbhB03Rz.js} +2 -2
  16. package/dist/{auth-DK3l201_.js → auth-DksjO6WG.js} +2 -2
  17. package/dist/{auth-health-DcKoxhDo.js → auth-health-C4bElkgf.js} +1 -1
  18. package/dist/{auth-health-Ba9GTScq.js → auth-health-Ctf-_JFE.js} +1 -1
  19. package/dist/{auth-profiles-CfFGCDJa.js → auth-profiles-CYBuGiBb.js} +38 -13
  20. package/dist/build-info.json +2 -2
  21. package/dist/{call-CfqL-4Nc.js → call-90HgQQ8o.js} +34 -8
  22. package/dist/{call-CPBhMXxo.js → call-BTbA5OB4.js} +35 -9
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/canvas-host/a2ui/a2ui.bundle.js +29 -44
  25. package/dist/{channel-options-eRR8_a8h.js → channel-options-DrUmtdd9.js} +3 -3
  26. package/dist/{channel-options-BCSvD6JM.js → channel-options-uftAnT5P.js} +7 -7
  27. package/dist/{channel-selection-BAwiO0li.js → channel-selection-CJWYmCLf.js} +2 -2
  28. package/dist/{channel-selection-BCn8_qun.js → channel-selection-PZuuCvrp.js} +2 -2
  29. package/dist/{channel-summary-BkqO8zZ9.js → channel-summary-D9nzC5WB.js} +8 -42
  30. package/dist/{channel-summary-C8GoEKgH.js → channel-summary-DUiKDBLv.js} +9 -43
  31. package/dist/{channels-cli-CBGINubh.js → channels-cli-PAlqhOZ7.js} +56 -54
  32. package/dist/{channels-cli-yQo-Rzw6.js → channels-cli-PPk5wwuy.js} +59 -57
  33. package/dist/{channels-status-issues-C9vMMPG0.js → channels-status-issues-CJ8PJgDc.js} +1 -1
  34. package/dist/{channels-status-issues-DRXQXvhY.js → channels-status-issues-CrS1r5sr.js} +1 -1
  35. package/dist/{chrome-DlqPCh1y.js → chrome-B3IuUad-.js} +2 -2
  36. package/dist/{chrome-D2LUApAY.js → chrome-BNSd7Bie.js} +5 -5
  37. package/dist/{clack-prompter-OmDa1Hm1.js → clack-prompter-CEKDd_Vg.js} +5 -5
  38. package/dist/{clack-prompter-BJuVh97L.js → clack-prompter-DuBVnTKy.js} +4 -4
  39. package/dist/cli/daemon-cli.js +1 -1
  40. package/dist/cli-DBAccB3n.js +86 -0
  41. package/dist/cli-DD5dW58-.js +89 -0
  42. package/dist/{client-zqMhLTAX.js → client-BYVbRnuQ.js} +13 -5
  43. package/dist/{client-cU7Xg1MO.js → client-CxbkcEZ7.js} +12 -4
  44. package/dist/{command-options-51bBgSJL.js → command-options-DUUINcz0.js} +3 -3
  45. package/dist/{commands-DMKDOFmC.js → commands-DAC7XMAT.js} +5 -4
  46. package/dist/completion-cli-BPIeQDFy.js +773 -0
  47. package/dist/{completion-cli-BoF86Oeq.js → completion-cli-BbhA_JbG.js} +62 -15
  48. package/dist/{config-qgIz1lbh.js → config-CAuZ-EkU.js} +93 -31
  49. package/dist/{config-CGsoho7J.js → config-CG73z4h6.js} +61 -28
  50. package/dist/{config-DCT1RAo6.js → config-CKLedg5Y.js} +92 -30
  51. package/dist/{config-guard-CJuPkD5Y.js → config-guard-a5ynrKd-.js} +181 -57
  52. package/dist/{configure-C1_0rFdQ.js → configure-B47GYdlB.js} +33 -23
  53. package/dist/{configure-D0OAmW2s.js → configure-ChnTy7Jz.js} +31 -21
  54. package/dist/{control-service-BW5sW2U1.js → control-service-CS61Road.js} +13 -6
  55. package/dist/{control-service-Ds9ompnU.js → control-service-D2E9NKqQ.js} +12 -5
  56. package/dist/control-ui/assets/{index-RwcW4Xl0.css → index-BoXosYY6.css} +1 -1
  57. package/dist/control-ui/assets/index-Dm6g1E26.js +7553 -0
  58. package/dist/control-ui/assets/index-Dm6g1E26.js.map +1 -0
  59. package/dist/control-ui/index.html +2 -2
  60. package/dist/{cron-cli-Bn_e3WGb.js → cron-cli-CssI71-c.js} +20 -19
  61. package/dist/{cron-cli-BVARiNrv.js → cron-cli-Ys53MyTg.js} +24 -23
  62. package/dist/{daemon-cli-fHXAapHL.js → daemon-cli-B6aLZ8OE.js} +28 -23
  63. package/dist/{daemon-cli-yy_MAYxv.js → daemon-cli-CMKd_D6h.js} +26 -21
  64. package/dist/{daemon-runtime-vNkYv9tq.js → daemon-runtime-BCn_QIHK.js} +64 -7
  65. package/dist/{daemon-runtime-ELWW7q0C.js → daemon-runtime-DMd0mgTK.js} +64 -7
  66. package/dist/{deliver-Bsvrattg.js → deliver-C3bnXkg5.js} +12 -10
  67. package/dist/{deliver-Dl8TEyHM.js → deliver-CZPhTA7x.js} +7 -5
  68. package/dist/{deliver-eE21zdeQ.js → deliver-Cau4HL7W.js} +11 -9
  69. package/dist/{deps-BrcOX0ht.js → deps-BG1LonF6.js} +2 -2
  70. package/dist/{deps-wXkiMwLZ.js → deps-ytXmI88x.js} +2 -2
  71. package/dist/{devices-cli-BjlwgE6B.js → devices-cli-Cm0ENrXH.js} +16 -16
  72. package/dist/{devices-cli-BVc_Ic5O.js → devices-cli-D_rnGkqO.js} +12 -12
  73. package/dist/{directory-cli-cc9ivzEM.js → directory-cli-CGLolzJC.js} +15 -15
  74. package/dist/{directory-cli-CULRQACb.js → directory-cli-CTtv_AB7.js} +19 -19
  75. package/dist/{dispatcher-BNB5aCZ6.js → dispatcher-6oI-H42S.js} +1 -1
  76. package/dist/{dns-cli-BwDdBlsK.js → dns-cli-BRkJGLqK.js} +15 -15
  77. package/dist/{dns-cli-B79COhmu.js → dns-cli-CoeI4817.js} +11 -11
  78. package/dist/{docs-cli-BM55jf4Y.js → docs-cli-BH9bMx3a.js} +7 -7
  79. package/dist/{docs-cli-t7IEzxr8.js → docs-cli-Bh1Coji2.js} +10 -10
  80. package/dist/{doctor-CT9JPoCt.js → doctor-CwSrWRCp.js} +43 -38
  81. package/dist/{doctor-OmfNRlMS.js → doctor-JnMryC_M.js} +40 -35
  82. package/dist/entry.js +12 -8
  83. package/dist/{env-DOcCob95.js → env-0_mKbEWW.js} +2 -2
  84. package/dist/{errors-DdT2Dtkb.js → errors-CZ9opC6L.js} +4 -4
  85. package/dist/{exec-B7WKla_0.js → exec-BMnoMcZW.js} +1 -1
  86. package/dist/{exec-CTo4hK94.js → exec-HEWTMJ7j.js} +1 -1
  87. package/dist/{exec-approvals-WdYFyy5N.js → exec-approvals-BCEFzcbC.js} +19 -2
  88. package/dist/{exec-approvals-CK-Umdr3.js → exec-approvals-DZixgolZ.js} +19 -2
  89. package/dist/{exec-approvals-cli-DD_z4fL9.js → exec-approvals-cli-D7aVv5hN.js} +19 -19
  90. package/dist/{exec-approvals-cli-BK2toX2b.js → exec-approvals-cli-DzLp5G7t.js} +23 -23
  91. package/dist/extensionAPI.js +1186 -267
  92. package/dist/{gateway-cli-BCC0T5iY.js → gateway-cli-DHP5DRUH.js} +910 -199
  93. package/dist/{gateway-cli-BTlr6Uwl.js → gateway-cli-ape0pnBU.js} +912 -202
  94. package/dist/{gateway-rpc-CMAcradB.js → gateway-rpc-C8rNIC0P.js} +3 -3
  95. package/dist/{gateway-rpc-SvVB4Fmv.js → gateway-rpc-CWnTaSEY.js} +3 -3
  96. package/dist/{github-copilot-auth-BHLcQ1sN.js → github-copilot-auth-B_lK1g__.js} +173 -87
  97. package/dist/{github-copilot-auth-BoRchp_Q.js → github-copilot-auth-C8Uf0Q03.js} +174 -88
  98. package/dist/{github-copilot-token-BEtihsn6.js → github-copilot-token-B3SA95yo.js} +8 -2
  99. package/dist/{github-copilot-token-rP-6QdKv.js → github-copilot-token-SLWintYd.js} +7 -1
  100. package/dist/{github-copilot-token-VZsS4013.js → github-copilot-token-pGSmVaW-.js} +8 -2
  101. package/dist/{gmail-setup-utils-4czdWNCN.js → gmail-setup-utils-Bi6W14MK.js} +3 -3
  102. package/dist/{gmail-setup-utils-B1CTmT2V.js → gmail-setup-utils-QpN7TEXS.js} +4 -4
  103. package/dist/{health-format-B4_A88V3.js → health-format-B3eStY5r.js} +215 -21
  104. package/dist/{health-format-Ct8J0fwc.js → health-format-ND2rUbQO.js} +213 -19
  105. package/dist/{help-format-CGcnDM3D.js → help-format-Bozi4K9H.js} +1 -1
  106. package/dist/{helpers-DfgBr1D5.js → helpers-BIc7L8EF.js} +1 -1
  107. package/dist/{helpers-Cw9kFCkw.js → helpers-D66_XoIz.js} +1 -1
  108. package/dist/{hooks-cli-NmkXLKmj.js → hooks-cli-BMu_-4Ru.js} +49 -49
  109. package/dist/{hooks-cli-B-28F__A.js → hooks-cli-CmeQxEOM.js} +45 -45
  110. package/dist/{hooks-status-I3Y60zVN.js → hooks-status-CKmUPU-M.js} +3 -3
  111. package/dist/{hooks-status-XV9oQICf.js → hooks-status-DepPyfBb.js} +4 -4
  112. package/dist/{image-ClOB6QDJ.js → image-Ca_PtqY7.js} +8 -6
  113. package/dist/{image-BYmtfVH8.js → image-CgBndiQy.js} +9 -7
  114. package/dist/{image-CXg7Z0WD.js → image-nRwqkmtf.js} +8 -6
  115. package/dist/index.js +231 -105
  116. package/dist/{installs-C5cjVarj.js → installs-BhEjOqPy.js} +43 -6
  117. package/dist/{installs-W4Pc1LJz.js → installs-DsJkyWfL.js} +43 -6
  118. package/dist/{links-C9fyAH-V.js → links-B5pRdmo1.js} +1 -1
  119. package/dist/{links-jGisPfXW.js → links-D0uzJbi6.js} +1 -1
  120. package/dist/{loader-BYWxo-_j.js → loader-_Pj-TZS2.js} +920 -491
  121. package/dist/{logging-BnUUuH3y.js → logging-Cc7m6PTv.js} +1 -1
  122. package/dist/{logging-CLCWl7Iu.js → logging-TXWhN8jG.js} +2 -2
  123. package/dist/{login-qr-C2H_iQJU.js → login-qr-BIlr0vwe.js} +12 -7
  124. package/dist/{login-qr-7WOtj6zE.js → login-qr-CcOWO_dR.js} +9 -4
  125. package/dist/{login-qr-sEcxw1_U.js → login-qr-Cmsf7BGt.js} +11 -6
  126. package/dist/{logs-cli-C5v4fEDj.js → logs-cli-5L3NxTsc.js} +19 -19
  127. package/dist/{logs-cli-nVwK5g60.js → logs-cli-DtiFFkZL.js} +15 -15
  128. package/dist/{manager-rDmdE7O9.js → manager-BXiIQku7.js} +9 -7
  129. package/dist/{manager-JSP5pLyv.js → manager-C4ILl-d3.js} +10 -8
  130. package/dist/{manager-BArueSTR.js → manager-LpytrxUw.js} +12 -10
  131. package/dist/{manifest-registry-tuAcHxrV.js → manifest-registry-C69Z-I4v.js} +1 -1
  132. package/dist/{manifest-registry-BFpLJJDB.js → manifest-registry-DHaa1SJb.js} +1 -1
  133. package/dist/{message-channel-CAFcg7mw.js → message-channel-BlgPSDAh.js} +6 -1
  134. package/dist/{message-channel-CQGWXVL4.js → message-channel-Bpfe5l5f.js} +7 -2
  135. package/dist/{model-selection-Cp1maz7B.js → model-selection-DMUrNhQP.js} +41 -16
  136. package/dist/{model-selection-Cs1y6OBv.js → model-selection-mzTqrNoj.js} +38 -14
  137. package/dist/{models-cli-n9a8pESx.js → models-cli-DHzyyLvp.js} +49 -49
  138. package/dist/{models-cli-DGnLcr4X.js → models-cli-EhrWjNLH.js} +53 -53
  139. package/dist/{net-DaJz_a4n.js → net-C8YRVt16.js} +1 -1
  140. package/dist/{net-DeiCIMU6.js → net-CWMMy37F.js} +1 -1
  141. package/dist/{node-cli-rtEq-YyU.js → node-cli-2oYmIWJt.js} +30 -30
  142. package/dist/{node-cli-AOO0HsM1.js → node-cli-DH7Ykym5.js} +26 -26
  143. package/dist/{node-service-CjtBRyjp.js → node-service-BAYHx0E7.js} +2 -2
  144. package/dist/{node-service-BW_LhY5w.js → node-service-Lc1LlnFH.js} +2 -2
  145. package/dist/{nodes-cli-Coxj5hDA.js → nodes-cli-Bc5K-0Lt.js} +22 -22
  146. package/dist/{nodes-cli-ChBsNXzz.js → nodes-cli-hT8yYD7S.js} +18 -18
  147. package/dist/{nodes-screen-Ln98EX_f.js → nodes-screen-DGlNPbk4.js} +2 -2
  148. package/dist/{nodes-screen-DOhGEibx.js → nodes-screen-DT5HvhJV.js} +2 -2
  149. package/dist/{note-BFpD-42H.js → note-B5HnoeZX.js} +2 -2
  150. package/dist/{note-CBiVaqG7.js → note-Ci08TSbV.js} +1 -1
  151. package/dist/{onboard-channels-CF7lTDNu.js → onboard-channels-D-ZQTy5V.js} +9 -8
  152. package/dist/{onboard-channels-CJCy7TTQ.js → onboard-channels-DKT27PdN.js} +10 -9
  153. package/dist/{onboard-skills-DdFGj9pt.js → onboard-skills-YobctE-R.js} +259 -194
  154. package/dist/{onboard-skills-fL84FI8F.js → onboard-skills-s8J5xbUr.js} +259 -194
  155. package/dist/{onboarding-DcN1avQK.js → onboarding-BP4-5uzE.js} +96 -60
  156. package/dist/{pairing-cli-DbP9KqPL.js → pairing-cli-C8KHRjaU.js} +15 -15
  157. package/dist/{pairing-cli-B7RQFp4r.js → pairing-cli-i7wiTmYC.js} +19 -19
  158. package/dist/{pairing-labels-DK2aLSd2.js → pairing-labels-BbydDT7w.js} +1 -1
  159. package/dist/{pairing-labels-C6I3dD-m.js → pairing-labels-CtqLxbG6.js} +1 -1
  160. package/dist/{pairing-store-BnMngoWQ.js → pairing-store-DFq7WtOv.js} +2 -2
  161. package/dist/{pairing-store-DMex6WWe.js → pairing-store-DTfv_FGA.js} +1 -1
  162. package/dist/{path-env-CuGC6r1F.js → path-env-DP3DsVge.js} +2 -2
  163. package/dist/{path-env-CUhrC5DA.js → path-env-h3xp5PqO.js} +1 -1
  164. package/dist/{paths-xPuk88Yf.js → paths-B4kigINg.js} +2 -2
  165. package/dist/{paths-50eo6DV6.js → paths-Bb0nwPeu.js} +2 -2
  166. package/dist/{paths-RvF0P6tQ.js → paths-CTg8F3AE.js} +1 -1
  167. package/dist/{pi-embedded-helpers-DJgCXZEz.js → pi-embedded-helpers-BB4uACeq.js} +175 -170
  168. package/dist/{pi-embedded-helpers-DiK8Qn1l.js → pi-embedded-helpers-BxqZh6U7.js} +43 -19
  169. package/dist/{pi-embedded-helpers-CC00lEFI.js → pi-embedded-helpers-DF8SAHU-.js} +175 -170
  170. package/dist/{pi-model-discovery-DjGamP_B.js → pi-model-discovery-CV2V1HHz.js} +8 -1
  171. package/dist/{pi-model-discovery-CnK2Dol8.js → pi-model-discovery-DzEIEgHL.js} +8 -1
  172. package/dist/{pi-model-discovery-CsRo-xMp.js → pi-model-discovery-EhM2JAQo.js} +8 -1
  173. package/dist/{pi-tools.policy-DleRi9eC.js → pi-tools.policy-BQ8N5y8a.js} +5 -4
  174. package/dist/{plugin-auto-enable-JQ63k0Ce.js → plugin-auto-enable-Ci7TBlH2.js} +5 -5
  175. package/dist/{plugin-auto-enable-CIVp3SAp.js → plugin-auto-enable-DyW8lHTT.js} +4 -4
  176. package/dist/plugin-sdk/index.d.ts +228 -283
  177. package/dist/plugin-sdk/index.js +22528 -69091
  178. package/dist/plugin-sdk/pi-model-discovery-Dw3A6oXH.js +37 -0
  179. package/dist/{plugins-TrKFfrLt.js → plugins-BUPpq5aS.js} +3 -2
  180. package/dist/{plugins-D1CxUobm.js → plugins-BYIWo0Cp.js} +5 -4
  181. package/dist/{plugins-cli-17wYux52.js → plugins-cli-CGfxctIx.js} +50 -49
  182. package/dist/{plugins-cli-VyQWn_LW.js → plugins-cli-Dr_R2-FY.js} +46 -45
  183. package/dist/{ports-B27T1uRn.js → ports-0V-Mu4ch.js} +2 -2
  184. package/dist/{program-BA9_uWfO.js → program-oR55MCAT.js} +84 -81
  185. package/dist/{progress-uNDQDtGB.js → progress-xpLtQsNY.js} +1 -1
  186. package/dist/{prompt-style-gfROyHgB.js → prompt-style-vzh0MGHs.js} +1 -1
  187. package/dist/{pw-ai-BC4dLE7k.js → pw-ai-B7Fvw8DW.js} +4 -4
  188. package/dist/{pw-ai-DlTBXZjY.js → pw-ai-DYpQO6HI.js} +6 -6
  189. package/dist/{pw-ai-BEqPnalN.js → pw-ai-tNPuRNn3.js} +4 -4
  190. package/dist/{qmd-manager-8xWxIGbO.js → qmd-manager-BKkFEEN_.js} +9 -8
  191. package/dist/{plugin-sdk/qmd-manager-DvkA01DP.js → qmd-manager-CF52nuBg.js} +6 -6
  192. package/dist/{qmd-manager-BSCOmXYZ.js → qmd-manager-Dub8jfbo.js} +7 -6
  193. package/dist/{register.subclis-CWWz9WdX.js → register.subclis-BpIR6Iqi.js} +36 -30
  194. package/dist/{reply-CoztdrN_.js → reply-B8pOiUNN.js} +935 -506
  195. package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
  196. package/dist/{routes-yI5QIzeL.js → routes-BSfXf8a5.js} +5 -5
  197. package/dist/{routes-Ds-tIZFJ.js → routes-DchZU3EK.js} +6 -6
  198. package/dist/{rpc-HF82_iLh.js → rpc-DqI3QH59.js} +3 -3
  199. package/dist/{rpc-HdKLb6jx.js → rpc-Vo2ACfn-.js} +3 -3
  200. package/dist/{run-main-B3krVvc1.js → run-main-DrVUUPHV.js} +84 -84
  201. package/dist/{sandbox-BXUfp_qv.js → sandbox-CV8VwPij.js} +36 -16
  202. package/dist/{sandbox-Cnq9TXEn.js → sandbox-DuqLKN5J.js} +34 -14
  203. package/dist/{sandbox-cli-C7j1V6tb.js → sandbox-cli-C0_Hrk7i.js} +25 -24
  204. package/dist/{sandbox-cli-CnS9JJlO.js → sandbox-cli-Ces6i3n2.js} +21 -20
  205. package/dist/{security-cli-Clg7RQT3.js → security-cli-CybLT9XS.js} +32 -30
  206. package/dist/{security-cli-BGd4NO4l.js → security-cli-T7yrd3lb.js} +28 -26
  207. package/dist/{server-context-D2cv-pIA.js → server-context-vChIAqjH.js} +6 -6
  208. package/dist/{server-context-CM_E6wD5.js → server-context-yKyxyxOJ.js} +5 -5
  209. package/dist/{server-node-events-IMwI538C.js → server-node-events-BR2vHqf6.js} +44 -43
  210. package/dist/{server-node-events-C5EqDe_U.js → server-node-events-D39FA0NG.js} +48 -47
  211. package/dist/{service-CAxAjHNB.js → service-BZesBIaG.js} +3 -3
  212. package/dist/{service-BoDHq_LN.js → service-_JwSmGSn.js} +2 -2
  213. package/dist/{service-audit-Bf33pqEM.js → service-audit-C-IA4omi.js} +6 -6
  214. package/dist/{service-audit-DBSAGhm8.js → service-audit-DDX1kO3k.js} +6 -6
  215. package/dist/session-cost-usage-BTXosU1k.js +692 -0
  216. package/dist/session-cost-usage-CBP4Hv9D.js +692 -0
  217. package/dist/session-key-CZkcvAtx.js +177 -0
  218. package/dist/session-key-Dm2EOhrH.js +177 -0
  219. package/dist/{shared-ChNOqAzp.js → shared-BmtNKsPq.js} +4 -4
  220. package/dist/{shared-D42-KbPa.js → shared-C1XLEyB0.js} +3 -3
  221. package/dist/{shared-xZjRQa6y.js → shared-C8_5pNbb.js} +4 -4
  222. package/dist/{shared-DBGw227P.js → shared-fnGLWyZ6.js} +3 -3
  223. package/dist/skill-scanner-BoGjHXUZ.js +255 -0
  224. package/dist/skill-scanner-Bp1D9gra.js +255 -0
  225. package/dist/{skills-DtwGIkTI.js → skills-CmU0Q92f.js} +3 -3
  226. package/dist/{skills-C4b1FA1e.js → skills-D5JDj3TR.js} +5 -5
  227. package/dist/{skills-cli-BPkuJAz9.js → skills-cli-C1yJvIkL.js} +16 -16
  228. package/dist/{skills-cli-b0ZmGlmh.js → skills-cli-DBC5zFat.js} +12 -12
  229. package/dist/{skills-status-CSCMqNZP.js → skills-status-CEvVUD3U.js} +3 -3
  230. package/dist/{skills-status-CWkBweWW.js → skills-status-DtXrj3fy.js} +2 -2
  231. package/dist/{status-BIWeu5mN.js → status-BRXuHUsK.js} +94 -58
  232. package/dist/{status-CcM6W8r4.js → status-BTGXSvZ1.js} +3 -3
  233. package/dist/{status-PjegR5Cv.js → status-DBZ5Z7ng.js} +4 -4
  234. package/dist/{subsystem-46MXi6Ip.js → subsystem-CAq3uyo7.js} +1 -1
  235. package/dist/{system-cli-B4FEIE5d.js → system-cli-Dqnt-b0D.js} +13 -13
  236. package/dist/{system-cli-BL_QZ1VP.js → system-cli-SJLtqI47.js} +17 -17
  237. package/dist/{systemd-DAgZTW06.js → systemd-8sIc6isV.js} +2 -2
  238. package/dist/{systemd-CNYEkRek.js → systemd-B-3NdMmA.js} +3 -3
  239. package/dist/{systemd-hints-CcgK8AJE.js → systemd-hints-DO88c_nD.js} +1 -1
  240. package/dist/{systemd-hints-okqOoOug.js → systemd-hints-Wim4Bq6j.js} +1 -1
  241. package/dist/{systemd-linger-CTe0ZDxD.js → systemd-linger-N-cIaegf.js} +8 -3
  242. package/dist/{systemd-linger-Cbkoh9qw.js → systemd-linger-SsSOsJST.js} +8 -3
  243. package/dist/{table-f0EgX-YI.js → table-CJSx0YID.js} +1 -1
  244. package/dist/{table-DuNe7Qes.js → table-CLtGjVsx.js} +2 -2
  245. package/dist/{tailscale-BUcKO8Rr.js → tailscale-9MusRvOi.js} +1 -1
  246. package/dist/{tailscale-Cvk3mQDZ.js → tailscale-BVGD9gSD.js} +2 -2
  247. package/dist/{tool-display-rIUh61kT.js → tool-display-BxZG0o1b.js} +2 -2
  248. package/dist/{tool-display-BMYWrp0L.js → tool-display-DmgKs6-V.js} +2 -2
  249. package/dist/{tui-cV-R-JXi.js → tui-DPorsF4z.js} +203 -75
  250. package/dist/{tui-DBmFYQTk.js → tui-XH6_v0qC.js} +204 -74
  251. package/dist/{tui-cli-B_CKOjZ1.js → tui-cli-DRSIBDgZ.js} +30 -29
  252. package/dist/{tui-cli-CVdJ28TX.js → tui-cli-DV_JAtnq.js} +26 -25
  253. package/dist/{update-BDyA5Iqy.js → update-DNAVcIQ7.js} +3 -3
  254. package/dist/{update-BIB5jGcv.js → update-DzMcwy1G.js} +3 -3
  255. package/dist/{update-cli-p49uMWby.js → update-cli-OAcZiYuA.js} +112 -27
  256. package/dist/{update-cli-C5vwquH_.js → update-cli-tQcy8mkI.js} +109 -23
  257. package/dist/{update-runner-8XFxQglY.js → update-runner-2i8_mIG5.js} +254 -17
  258. package/dist/{update-runner-s8Rs8ex3.js → update-runner-BDdk_K2S.js} +254 -17
  259. package/dist/usage-format-DvowRSs-.js +36 -0
  260. package/dist/usage-format-E3bMcUMV.js +36 -0
  261. package/dist/{utils-Dg0Xbl6w.js → utils-CKSrBNwq.js} +2 -2
  262. package/dist/{webhooks-cli-DkQGQ2ae.js → webhooks-cli-BztQHEco.js} +11 -11
  263. package/dist/{webhooks-cli-kRN8qR7B.js → webhooks-cli-ZAn97osC.js} +15 -15
  264. package/dist/{widearea-dns-BIhjVRG1.js → widearea-dns-CsSylzXH.js} +2 -2
  265. package/dist/{widearea-dns-D4yoSNNw.js → widearea-dns-D9Al4QRv.js} +2 -2
  266. package/dist/{ws-log-DQ6nkLys.js → ws-log-B7UNLFLC.js} +3 -3
  267. package/dist/{ws-log-C4IerKk4.js → ws-log-DJIXahf0.js} +2 -2
  268. package/dist/{wsl-DASmek7h.js → wsl-ATjkMwMA.js} +1 -1
  269. package/docs/.i18n/glossary.zh-CN.json +20 -0
  270. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  271. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  272. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  273. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  274. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  275. package/docs/bedrock.md +3 -3
  276. package/docs/channels/discord.md +2 -1
  277. package/docs/channels/feishu.md +72 -2
  278. package/docs/channels/telegram.md +19 -0
  279. package/docs/cli/devices.md +3 -0
  280. package/docs/cli/gateway.md +3 -0
  281. package/docs/cli/index.md +2 -0
  282. package/docs/cli/onboard.md +16 -2
  283. package/docs/concepts/features.md +53 -0
  284. package/docs/concepts/memory.md +1 -1
  285. package/docs/concepts/messages.md +1 -1
  286. package/docs/concepts/model-providers.md +11 -11
  287. package/docs/concepts/models.md +1 -1
  288. package/docs/concepts/multi-agent.md +2 -2
  289. package/docs/concepts/session.md +19 -3
  290. package/docs/docs.json +331 -182
  291. package/docs/gateway/cli-backends.md +7 -5
  292. package/docs/gateway/configuration-examples.md +4 -4
  293. package/docs/gateway/configuration.md +34 -16
  294. package/docs/gateway/heartbeat.md +61 -1
  295. package/docs/gateway/local-models.md +3 -3
  296. package/docs/gateway/network-model.md +17 -0
  297. package/docs/gateway/remote.md +3 -1
  298. package/docs/gateway/security/index.md +1 -1
  299. package/docs/help/faq.md +25 -26
  300. package/docs/help/submitting-a-pr.md +214 -0
  301. package/docs/help/submitting-an-issue.md +165 -0
  302. package/docs/index.md +127 -193
  303. package/docs/install/docker.md +2 -2
  304. package/docs/{platforms → install}/exe-dev.md +4 -3
  305. package/docs/{platforms → install}/fly.md +1 -1
  306. package/docs/install/index.md +4 -2
  307. package/docs/nodes/media-understanding.md +2 -2
  308. package/docs/platforms/digitalocean.md +2 -2
  309. package/docs/platforms/index.md +4 -4
  310. package/docs/platforms/linux.md +1 -1
  311. package/docs/platforms/mac/release.md +7 -7
  312. package/docs/platforms/oracle.md +1 -1
  313. package/docs/platforms/raspberry-pi.md +1 -1
  314. package/docs/providers/anthropic.md +3 -3
  315. package/docs/providers/index.md +1 -1
  316. package/docs/providers/minimax.md +3 -3
  317. package/docs/providers/models.md +1 -1
  318. package/docs/providers/ollama.md +60 -6
  319. package/docs/providers/openai.md +2 -2
  320. package/docs/providers/opencode.md +1 -1
  321. package/docs/providers/vercel-ai-gateway.md +1 -1
  322. package/docs/reference/credits.md +27 -0
  323. package/docs/reference/wizard.md +268 -0
  324. package/docs/start/bootstrapping.md +41 -0
  325. package/docs/start/docs-directory.md +64 -0
  326. package/docs/start/getting-started.md +109 -197
  327. package/docs/start/hubs.md +12 -0
  328. package/docs/start/onboarding.md +51 -81
  329. package/docs/start/openclaw.md +3 -20
  330. package/docs/start/quickstart.md +22 -0
  331. package/docs/start/setup.md +14 -1
  332. package/docs/start/wizard-cli-automation.md +141 -0
  333. package/docs/start/wizard-cli-reference.md +244 -0
  334. package/docs/start/wizard.md +48 -289
  335. package/docs/style.css +3 -0
  336. package/docs/testing.md +9 -9
  337. package/docs/token-use.md +2 -2
  338. package/docs/tools/index.md +3 -0
  339. package/docs/tools/llm-task.md +1 -1
  340. package/docs/tools/thinking.md +1 -0
  341. package/docs/tui.md +3 -0
  342. package/docs/vps.md +6 -6
  343. package/docs/web/control-ui.md +2 -0
  344. package/docs/web/dashboard.md +7 -7
  345. package/docs/zh-CN/channels/feishu.md +119 -3
  346. package/docs/zh-CN/concepts/features.md +59 -0
  347. package/docs/zh-CN/gateway/network-model.md +23 -0
  348. package/docs/zh-CN/gateway/remote.md +1 -1
  349. package/docs/zh-CN/help/faq.md +5 -5
  350. package/docs/zh-CN/index.md +124 -202
  351. package/docs/zh-CN/install/docker.md +1 -1
  352. package/docs/zh-CN/platforms/digitalocean.md +2 -2
  353. package/docs/zh-CN/platforms/index.md +4 -4
  354. package/docs/zh-CN/platforms/linux.md +1 -1
  355. package/docs/zh-CN/platforms/oracle.md +1 -1
  356. package/docs/zh-CN/platforms/raspberry-pi.md +1 -1
  357. package/docs/zh-CN/providers/ollama.md +1 -1
  358. package/docs/zh-CN/reference/credits.md +34 -0
  359. package/docs/zh-CN/start/docs-directory.md +70 -0
  360. package/docs/zh-CN/start/getting-started.md +1 -1
  361. package/docs/zh-CN/start/hubs.md +39 -30
  362. package/docs/zh-CN/start/quickstart.md +88 -0
  363. package/docs/zh-CN/vps.md +4 -4
  364. package/extensions/bluebubbles/package.json +1 -1
  365. package/extensions/bluebubbles/src/monitor.ts +9 -0
  366. package/extensions/copilot-proxy/index.ts +1 -0
  367. package/extensions/copilot-proxy/package.json +1 -1
  368. package/extensions/diagnostics-otel/package.json +1 -1
  369. package/extensions/discord/package.json +1 -1
  370. package/extensions/feishu/index.ts +49 -1
  371. package/extensions/feishu/openclaw.plugin.json +1 -0
  372. package/extensions/feishu/package.json +9 -5
  373. package/extensions/feishu/skills/feishu-doc/SKILL.md +105 -0
  374. package/extensions/feishu/skills/feishu-doc/references/block-types.md +103 -0
  375. package/extensions/feishu/skills/feishu-drive/SKILL.md +97 -0
  376. package/extensions/feishu/skills/feishu-perm/SKILL.md +119 -0
  377. package/extensions/feishu/skills/feishu-wiki/SKILL.md +111 -0
  378. package/extensions/feishu/src/accounts.ts +144 -0
  379. package/extensions/feishu/src/bitable.ts +459 -0
  380. package/extensions/feishu/src/bot.ts +871 -0
  381. package/extensions/feishu/src/channel.ts +267 -202
  382. package/extensions/feishu/src/client.ts +118 -0
  383. package/extensions/feishu/src/config-schema.ts +152 -26
  384. package/extensions/feishu/src/directory.ts +177 -0
  385. package/extensions/feishu/src/doc-schema.ts +47 -0
  386. package/extensions/feishu/src/docx.ts +521 -0
  387. package/extensions/feishu/src/drive-schema.ts +46 -0
  388. package/extensions/feishu/src/drive.ts +227 -0
  389. package/extensions/feishu/src/media.ts +527 -0
  390. package/extensions/feishu/src/mention.ts +126 -0
  391. package/extensions/feishu/src/monitor.ts +190 -0
  392. package/extensions/feishu/src/onboarding.ts +278 -200
  393. package/extensions/feishu/src/outbound.ts +40 -0
  394. package/extensions/feishu/src/perm-schema.ts +52 -0
  395. package/extensions/feishu/src/perm.ts +173 -0
  396. package/extensions/feishu/src/policy.ts +104 -0
  397. package/extensions/feishu/src/probe.ts +44 -0
  398. package/extensions/feishu/src/reactions.ts +160 -0
  399. package/extensions/feishu/src/reply-dispatcher.ts +184 -0
  400. package/extensions/feishu/src/runtime.ts +14 -0
  401. package/extensions/feishu/src/send.ts +358 -0
  402. package/extensions/feishu/src/targets.ts +78 -0
  403. package/extensions/feishu/src/tools-config.ts +21 -0
  404. package/extensions/feishu/src/types.ts +75 -0
  405. package/extensions/feishu/src/typing.ts +80 -0
  406. package/extensions/feishu/src/wiki-schema.ts +55 -0
  407. package/extensions/feishu/src/wiki.ts +232 -0
  408. package/extensions/google-antigravity-auth/package.json +1 -1
  409. package/extensions/google-gemini-cli-auth/package.json +1 -1
  410. package/extensions/googlechat/package.json +1 -1
  411. package/extensions/googlechat/src/monitor.ts +12 -1
  412. package/extensions/imessage/package.json +1 -1
  413. package/extensions/line/package.json +1 -1
  414. package/extensions/llm-task/package.json +1 -1
  415. package/extensions/lobster/package.json +1 -1
  416. package/extensions/matrix/CHANGELOG.md +6 -0
  417. package/extensions/matrix/package.json +1 -1
  418. package/extensions/matrix/src/config-schema.ts +1 -0
  419. package/extensions/matrix/src/matrix/monitor/handler.ts +9 -5
  420. package/extensions/matrix/src/types.ts +2 -0
  421. package/extensions/mattermost/package.json +1 -1
  422. package/extensions/mattermost/src/channel.test.ts +24 -0
  423. package/extensions/mattermost/src/config-schema.ts +1 -0
  424. package/extensions/mattermost/src/mattermost/monitor.ts +9 -5
  425. package/extensions/mattermost/src/types.ts +2 -0
  426. package/extensions/memory-core/package.json +1 -1
  427. package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
  428. package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
  429. package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
  430. package/extensions/memory-lancedb/package.json +2 -2
  431. package/extensions/minimax-portal-auth/package.json +1 -1
  432. package/extensions/msteams/CHANGELOG.md +6 -0
  433. package/extensions/msteams/package.json +1 -1
  434. package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -0
  435. package/extensions/msteams/src/reply-dispatcher.ts +7 -5
  436. package/extensions/nextcloud-talk/package.json +1 -1
  437. package/extensions/nextcloud-talk/src/config-schema.ts +1 -0
  438. package/extensions/nextcloud-talk/src/inbound.ts +10 -0
  439. package/extensions/nextcloud-talk/src/send.ts +7 -2
  440. package/extensions/nextcloud-talk/src/types.ts +2 -0
  441. package/extensions/nostr/CHANGELOG.md +6 -0
  442. package/extensions/nostr/package.json +1 -1
  443. package/extensions/open-prose/package.json +1 -1
  444. package/extensions/signal/package.json +1 -1
  445. package/extensions/slack/package.json +1 -1
  446. package/extensions/telegram/package.json +1 -1
  447. package/extensions/tlon/package.json +1 -1
  448. package/extensions/tlon/src/config-schema.ts +2 -0
  449. package/extensions/tlon/src/monitor/index.ts +41 -14
  450. package/extensions/tlon/src/monitor/utils.ts +1 -0
  451. package/extensions/twitch/CHANGELOG.md +6 -0
  452. package/extensions/twitch/package.json +1 -1
  453. package/extensions/twitch/src/config-schema.ts +2 -0
  454. package/extensions/twitch/src/monitor.ts +11 -0
  455. package/extensions/twitch/src/types.ts +2 -0
  456. package/extensions/voice-call/CHANGELOG.md +6 -0
  457. package/extensions/voice-call/package.json +1 -1
  458. package/extensions/voice-call/src/manager.test.ts +30 -0
  459. package/extensions/whatsapp/package.json +1 -1
  460. package/extensions/zalo/CHANGELOG.md +6 -0
  461. package/extensions/zalo/package.json +1 -1
  462. package/extensions/zalo/src/config-schema.ts +1 -0
  463. package/extensions/zalo/src/monitor.ts +11 -0
  464. package/extensions/zalo/src/types.ts +2 -0
  465. package/extensions/zalouser/CHANGELOG.md +6 -0
  466. package/extensions/zalouser/package.json +1 -1
  467. package/extensions/zalouser/src/config-schema.ts +1 -0
  468. package/extensions/zalouser/src/monitor.ts +12 -1
  469. package/extensions/zalouser/src/types.ts +2 -0
  470. package/package.json +14 -14
  471. package/dist/auth-profiles-3t9aTwDR.js +0 -11
  472. package/dist/auth-profiles-BYvLI-zr.js +0 -7
  473. package/dist/auth-profiles-DswR7tzt.js +0 -7
  474. package/dist/cli-BxIwNzhi.js +0 -89
  475. package/dist/cli-wFmvNjpg.js +0 -86
  476. package/dist/command-format-SkzzRqR1.js +0 -52
  477. package/dist/completion-cli-vxe-jqwC.js +0 -390
  478. package/dist/config-BwVg6hhl.js +0 -13
  479. package/dist/config-jKcyRiMo.js +0 -10
  480. package/dist/configure-DaecSBSI.js +0 -60
  481. package/dist/configure-t-7r9i4H.js +0 -64
  482. package/dist/control-service-Dag9b-dU.js +0 -16
  483. package/dist/control-service-DsUyuevF.js +0 -12
  484. package/dist/control-ui/assets/index-ryaCcbyp.js +0 -4584
  485. package/dist/control-ui/assets/index-ryaCcbyp.js.map +0 -1
  486. package/dist/daemon-cli-CUkUiGoK.js +0 -53
  487. package/dist/daemon-cli-D6FF4tmP.js +0 -49
  488. package/dist/deliver-BGnJ4-vz.js +0 -12
  489. package/dist/deliver-CXpx7BNb.js +0 -25
  490. package/dist/deliver-Ds2yqOA3.js +0 -21
  491. package/dist/doctor-BwqqPqMX.js +0 -58
  492. package/dist/doctor-DGrfzoKj.js +0 -62
  493. package/dist/github-copilot-token-B0CUgVkW.js +0 -4
  494. package/dist/github-copilot-token-B_uWT0Yi.js +0 -4
  495. package/dist/github-copilot-token-CXUZ9Lrb.js +0 -3
  496. package/dist/image-CgTMdnmz.js +0 -28
  497. package/dist/image-D1O-ebQc.js +0 -14
  498. package/dist/image-njq9Rf6U.js +0 -24
  499. package/dist/login-qr-BfbIJ1wP.js +0 -12
  500. package/dist/login-qr-CGWNrSQq.js +0 -9
  501. package/dist/login-qr-CUV9HZCg.js +0 -16
  502. package/dist/manager-DKpTd5pc.js +0 -10
  503. package/dist/manager-Dr_eVHpN.js +0 -10
  504. package/dist/manager-DtFcs1NT.js +0 -14
  505. package/dist/pi-model-discovery-BOramrmp.js +0 -3
  506. package/dist/pi-model-discovery-Bj98Srfa.js +0 -3
  507. package/dist/pi-model-discovery-DHPwfwKu.js +0 -3
  508. package/dist/plugin-sdk/agent-scope-qNPdmst1.js +0 -606
  509. package/dist/plugin-sdk/auth-profiles-D0LhX8iB.js +0 -7
  510. package/dist/plugin-sdk/chrome-DMuEXuKT.js +0 -1953
  511. package/dist/plugin-sdk/config-D5CsedNn.js +0 -5623
  512. package/dist/plugin-sdk/deliver-DOlMKwJ9.js +0 -12
  513. package/dist/plugin-sdk/deliver-Dl2ednkv.js +0 -2555
  514. package/dist/plugin-sdk/exec-CjyVHUuE.js +0 -1107
  515. package/dist/plugin-sdk/github-copilot-token-BoPqI-5_.js +0 -97
  516. package/dist/plugin-sdk/github-copilot-token-YEH9Bwov.js +0 -4
  517. package/dist/plugin-sdk/image-B_t0xXCb.js +0 -1419
  518. package/dist/plugin-sdk/image-DYTdodiR.js +0 -14
  519. package/dist/plugin-sdk/login-qr-B7ec28AI.js +0 -9
  520. package/dist/plugin-sdk/login-qr-BVBRxQRt.js +0 -470
  521. package/dist/plugin-sdk/manager-B-EITu1a.js +0 -10
  522. package/dist/plugin-sdk/manager-WCGzgWdf.js +0 -2868
  523. package/dist/plugin-sdk/model-selection-Bo7pocNu.js +0 -2667
  524. package/dist/plugin-sdk/paths-BFxmmTT5.js +0 -164
  525. package/dist/plugin-sdk/paths-Bkjq_KcG.js +0 -40
  526. package/dist/plugin-sdk/pi-embedded-helpers-fm5_Eokw.js +0 -8755
  527. package/dist/plugin-sdk/pi-model-discovery-CLgDNnGq.js +0 -13
  528. package/dist/plugin-sdk/pi-model-discovery-P2-pVRmz.js +0 -3
  529. package/dist/plugin-sdk/pw-ai-BN7Cwl9J.js +0 -1649
  530. package/dist/qmd-manager-CzArLjr6.js +0 -615
  531. package/dist/redact-BR0IM00e.js +0 -94
  532. package/dist/register.subclis-Bo-xmQ-W.js +0 -342
  533. package/dist/register.subclis-BuT7ZpPf.js +0 -3
  534. package/dist/restart-sentinel-CdcBcziq.js +0 -65
  535. package/dist/restart-sentinel-DywisDen.js +0 -65
  536. package/dist/runtime-guard-BG6JybtL.js +0 -60
  537. package/dist/runtime-guard-DvBpNsbR.js +0 -60
  538. package/dist/sqlite-Dz6S6ijV.js +0 -215
  539. package/dist/status.update-2ZdxeIeT.js +0 -79
  540. package/dist/status.update-ChwCPLBt.js +0 -79
  541. package/dist/systemd-linger-BZb1Uwsd.js +0 -7
  542. package/dist/systemd-linger-DemNCT5l.js +0 -9
  543. package/dist/transcript-events-fUhPZcB5.js +0 -17
  544. package/docs/_config.yml +0 -53
  545. package/docs/_layouts/default.html +0 -145
  546. package/docs/assets/docs-chat-widget.js +0 -667
  547. package/docs/assets/markdown.css +0 -179
  548. package/docs/assets/terminal.css +0 -473
  549. package/docs/assets/theme.js +0 -55
  550. package/extensions/feishu/README.md +0 -47
  551. /package/dist/{archive-BrH5WBhI.js → archive-D0z3LZDK.js} +0 -0
  552. /package/dist/{archive-mFgwsll-.js → archive-Dy3Ezb-5.js} +0 -0
  553. /package/dist/{boolean-CE7i9tBR.js → boolean-BgXe2hyu.js} +0 -0
  554. /package/dist/{brew-0HRgjHZw.js → brew-CAcErcKz.js} +0 -0
  555. /package/dist/{brew-Qdppmdlx.js → brew-CcZV0dSS.js} +0 -0
  556. /package/dist/{cli-utils-CukoNm8O.js → cli-utils-BkRQdAoC.js} +0 -0
  557. /package/dist/{cli-utils-DFbPmfWB.js → cli-utils-ByANh4Sp.js} +0 -0
  558. /package/dist/{plugin-sdk/command-format-CFzL448l.js → command-format-CFzL448l.js} +0 -0
  559. /package/dist/{command-format-BQK1OIvH.js → command-format-ChfKqObn.js} +0 -0
  560. /package/dist/{command-format-3xiXujG0.js → command-format-ayFsmwwz.js} +0 -0
  561. /package/dist/{constants-3er_81qc.js → constants-D1op9uGI.js} +0 -0
  562. /package/dist/{constants-CLUi6T-M.js → constants-HPrOsATF.js} +0 -0
  563. /package/dist/{exec-BIMFe4XS.js → exec-B8JKbXKW.js} +0 -0
  564. /package/dist/{format-BnjMmWWT.js → format-B7OjpGnt.js} +0 -0
  565. /package/dist/{format-hyFOmVZc.js → format-CS7EI0xF.js} +0 -0
  566. /package/dist/{help-format-af1XWYxC.js → help-format-CfZ94KRN.js} +0 -0
  567. /package/dist/{helpers-HZ-6iA1e.js → helpers-5yebzF4C.js} +0 -0
  568. /package/dist/{helpers-uGhPZ_kK.js → helpers-EKm3X92T.js} +0 -0
  569. /package/dist/{is-main-DD0MG3N8.js → is-main-B6kCyqsv.js} +0 -0
  570. /package/dist/{is-main-DrJg4t1R.js → is-main-qJ675wPV.js} +0 -0
  571. /package/dist/{logging-BdnOSVPD.js → logging-BWRYHvLp.js} +0 -0
  572. /package/dist/{logging-fywhKCmE.js → logging-CfEk_PnX.js} +0 -0
  573. /package/dist/{openclaw-root-Dean7Fp2.js → openclaw-root-9ILYSmJ9.js} +0 -0
  574. /package/dist/{openclaw-root-CJKDUIBP.js → openclaw-root-Cvotktkd.js} +0 -0
  575. /package/dist/{parse-BB0Cqon8.js → parse-BZz5lHzQ.js} +0 -0
  576. /package/dist/{parse-DLFPuO7w.js → parse-gTOGQPH6.js} +0 -0
  577. /package/dist/{parse-log-line-B3U8Kflp.js → parse-log-line-C6szvNBZ.js} +0 -0
  578. /package/dist/{parse-log-line-BmyeB3J2.js → parse-log-line-CARp5QyJ.js} +0 -0
  579. /package/dist/{parse-timeout-BIB19Upi.js → parse-timeout-CbVKLZ4B.js} +0 -0
  580. /package/dist/{parse-timeout-CmBmmqZZ.js → parse-timeout-Du-wHHNi.js} +0 -0
  581. /package/dist/{paths-VslOJiD2.js → paths-B1kfl4h5.js} +0 -0
  582. /package/dist/{paths-BDd7_JUB.js → paths-scjhy7N2.js} +0 -0
  583. /package/dist/{progress-Dn3kWpaL.js → progress-Da1ehW-x.js} +0 -0
  584. /package/dist/{prompt-style-D5D7b3cX.js → prompt-style-Dc0C5HC9.js} +0 -0
  585. /package/dist/{prompts-CIDznuZR.js → prompts-CXLLIBwP.js} +0 -0
  586. /package/dist/{prompts-CSlE5VZB.js → prompts-FbZThK8w.js} +0 -0
  587. /package/dist/{redact-BKh-zp-c.js → redact-B8YiFlwn.js} +0 -0
  588. /package/dist/{plugin-sdk/redact-wH73ib3-.js → redact-BIMJ3ntQ.js} +0 -0
  589. /package/dist/{redact-CDPAzwi8.js → redact-DJCFY628.js} +0 -0
  590. /package/dist/{plugin-sdk/sqlite-CqVsQPIl.js → sqlite-BKl1HJFe.js} +0 -0
  591. /package/dist/{sqlite-C59YNxdL.js → sqlite-Dnmf3LS7.js} +0 -0
  592. /package/dist/{sqlite-B_L84oiu.js → sqlite-DqUEZnjO.js} +0 -0
  593. /package/dist/{status-DkW6wMxZ.js → status-CRIEi8Mc.js} +0 -0
  594. /package/dist/{status-IDW1pkc0.js → status-tCu4RWZH.js} +0 -0
  595. /package/dist/{tailnet-BijMqkqa.js → tailnet-Byp3obcc.js} +0 -0
  596. /package/dist/{tailnet-Bk5cGmwE.js → tailnet-DLDGNuH2.js} +0 -0
  597. /package/dist/{plugin-sdk/transcript-events-DOI14YeV.js → transcript-events-CZ8CG4ht.js} +0 -0
  598. /package/dist/{transcript-events-Cj85Mq0h.js → transcript-events-ChU6IQwp.js} +0 -0
  599. /package/dist/{transcript-events-DW_H__a1.js → transcript-events-JLH5W4He.js} +0 -0
  600. /package/dist/{utils-PmTbZoD1.js → utils-DX85MiPR.js} +0 -0
  601. /package/dist/{ws-Cxo2p9fH.js → ws-CEcdsnN9.js} +0 -0
  602. /package/dist/{ws-DlSkA_BG.js → ws-D091yo4M.js} +0 -0
  603. /package/docs/{platforms → install}/gcp.md +0 -0
  604. /package/docs/{platforms → install}/hetzner.md +0 -0
  605. /package/docs/{platforms → install}/macos-vm.md +0 -0
  606. /package/docs/{northflank.mdx → install/northflank.mdx} +0 -0
  607. /package/docs/{railway.mdx → install/railway.mdx} +0 -0
  608. /package/docs/{render.mdx → install/render.mdx} +0 -0
  609. /package/docs/zh-CN/{platforms → install}/exe-dev.md +0 -0
  610. /package/docs/zh-CN/{platforms → install}/fly.md +0 -0
  611. /package/docs/zh-CN/{platforms → install}/gcp.md +0 -0
  612. /package/docs/zh-CN/{platforms → install}/hetzner.md +0 -0
  613. /package/docs/zh-CN/{platforms → install}/macos-vm.md +0 -0
  614. /package/docs/zh-CN/{northflank.mdx → install/northflank.mdx} +0 -0
  615. /package/docs/zh-CN/{railway.mdx → install/railway.mdx} +0 -0
  616. /package/docs/zh-CN/{render.mdx → install/render.mdx} +0 -0
@@ -1,170 +1,10 @@
1
- import { o as createSubsystemLogger } from "./entry.js";
2
- import { p as resizeToJpeg, u as getImageMetadata } from "./routes-yI5QIzeL.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-Cnq9TXEn.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CAq3uyo7.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CV8VwPij.js";
3
+ import { o as resizeToJpeg, r as getImageMetadata } from "./routes-DchZU3EK.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6
  import { createHash } from "node:crypto";
7
7
 
8
- //#region src/agents/tool-images.ts
9
- const MAX_IMAGE_DIMENSION_PX = 2e3;
10
- const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
11
- const log = createSubsystemLogger("agents/tool-images");
12
- function isImageBlock(block) {
13
- if (!block || typeof block !== "object") return false;
14
- const rec = block;
15
- return rec.type === "image" && typeof rec.data === "string" && typeof rec.mimeType === "string";
16
- }
17
- function isTextBlock(block) {
18
- if (!block || typeof block !== "object") return false;
19
- const rec = block;
20
- return rec.type === "text" && typeof rec.text === "string";
21
- }
22
- function inferMimeTypeFromBase64(base64) {
23
- const trimmed = base64.trim();
24
- if (!trimmed) return;
25
- if (trimmed.startsWith("/9j/")) return "image/jpeg";
26
- if (trimmed.startsWith("iVBOR")) return "image/png";
27
- if (trimmed.startsWith("R0lGOD")) return "image/gif";
28
- }
29
- async function resizeImageBase64IfNeeded(params) {
30
- const buf = Buffer.from(params.base64, "base64");
31
- const meta = await getImageMetadata(buf);
32
- const width = meta?.width;
33
- const height = meta?.height;
34
- const overBytes = buf.byteLength > params.maxBytes;
35
- const hasDimensions = typeof width === "number" && typeof height === "number";
36
- if (hasDimensions && !overBytes && width <= params.maxDimensionPx && height <= params.maxDimensionPx) return {
37
- base64: params.base64,
38
- mimeType: params.mimeType,
39
- resized: false,
40
- width,
41
- height
42
- };
43
- if (hasDimensions && (width > params.maxDimensionPx || height > params.maxDimensionPx || overBytes)) log.warn("Image exceeds limits; resizing", {
44
- label: params.label,
45
- width,
46
- height,
47
- maxDimensionPx: params.maxDimensionPx,
48
- maxBytes: params.maxBytes
49
- });
50
- const qualities = [
51
- 85,
52
- 75,
53
- 65,
54
- 55,
55
- 45,
56
- 35
57
- ];
58
- const maxDim = hasDimensions ? Math.max(width ?? 0, height ?? 0) : params.maxDimensionPx;
59
- const sideGrid = [
60
- maxDim > 0 ? Math.min(params.maxDimensionPx, maxDim) : params.maxDimensionPx,
61
- 1800,
62
- 1600,
63
- 1400,
64
- 1200,
65
- 1e3,
66
- 800
67
- ].map((v) => Math.min(params.maxDimensionPx, v)).filter((v, i, arr) => v > 0 && arr.indexOf(v) === i).toSorted((a, b) => b - a);
68
- let smallest = null;
69
- for (const side of sideGrid) for (const quality of qualities) {
70
- const out = await resizeToJpeg({
71
- buffer: buf,
72
- maxSide: side,
73
- quality,
74
- withoutEnlargement: true
75
- });
76
- if (!smallest || out.byteLength < smallest.size) smallest = {
77
- buffer: out,
78
- size: out.byteLength
79
- };
80
- if (out.byteLength <= params.maxBytes) {
81
- log.info("Image resized", {
82
- label: params.label,
83
- width,
84
- height,
85
- maxDimensionPx: params.maxDimensionPx,
86
- maxBytes: params.maxBytes,
87
- originalBytes: buf.byteLength,
88
- resizedBytes: out.byteLength,
89
- quality,
90
- side
91
- });
92
- return {
93
- base64: out.toString("base64"),
94
- mimeType: "image/jpeg",
95
- resized: true,
96
- width,
97
- height
98
- };
99
- }
100
- }
101
- const best = smallest?.buffer ?? buf;
102
- const maxMb = (params.maxBytes / (1024 * 1024)).toFixed(0);
103
- const gotMb = (best.byteLength / (1024 * 1024)).toFixed(2);
104
- throw new Error(`Image could not be reduced below ${maxMb}MB (got ${gotMb}MB)`);
105
- }
106
- async function sanitizeContentBlocksImages(blocks, label, opts = {}) {
107
- const maxDimensionPx = Math.max(opts.maxDimensionPx ?? MAX_IMAGE_DIMENSION_PX, 1);
108
- const maxBytes = Math.max(opts.maxBytes ?? MAX_IMAGE_BYTES, 1);
109
- const out = [];
110
- for (const block of blocks) {
111
- if (!isImageBlock(block)) {
112
- out.push(block);
113
- continue;
114
- }
115
- const data = block.data.trim();
116
- if (!data) {
117
- out.push({
118
- type: "text",
119
- text: `[${label}] omitted empty image payload`
120
- });
121
- continue;
122
- }
123
- try {
124
- const mimeType = inferMimeTypeFromBase64(data) ?? block.mimeType;
125
- const resized = await resizeImageBase64IfNeeded({
126
- base64: data,
127
- mimeType,
128
- maxDimensionPx,
129
- maxBytes,
130
- label
131
- });
132
- out.push({
133
- ...block,
134
- data: resized.base64,
135
- mimeType: resized.resized ? resized.mimeType : mimeType
136
- });
137
- } catch (err) {
138
- out.push({
139
- type: "text",
140
- text: `[${label}] omitted image payload: ${String(err)}`
141
- });
142
- }
143
- }
144
- return out;
145
- }
146
- async function sanitizeImageBlocks(images, label, opts = {}) {
147
- if (images.length === 0) return {
148
- images,
149
- dropped: 0
150
- };
151
- const next = (await sanitizeContentBlocksImages(images, label, opts)).filter(isImageBlock);
152
- return {
153
- images: next,
154
- dropped: Math.max(0, images.length - next.length)
155
- };
156
- }
157
- async function sanitizeToolResultImages(result, label, opts = {}) {
158
- const content = Array.isArray(result.content) ? result.content : [];
159
- if (!content.some((b) => isImageBlock(b) || isTextBlock(b))) return result;
160
- const next = await sanitizeContentBlocksImages(content, label, opts);
161
- return {
162
- ...result,
163
- content: next
164
- };
165
- }
166
-
167
- //#endregion
168
8
  //#region src/auto-reply/thinking.ts
169
9
  function normalizeProviderId(provider) {
170
10
  if (!provider) return "";
@@ -177,6 +17,7 @@ function isBinaryThinkingProvider(provider) {
177
17
  }
178
18
  const XHIGH_MODEL_REFS = [
179
19
  "openai/gpt-5.2",
20
+ "openai-codex/gpt-5.3-codex",
180
21
  "openai-codex/gpt-5.2-codex",
181
22
  "openai-codex/gpt-5.1-codex"
182
23
  ];
@@ -184,7 +25,9 @@ const XHIGH_MODEL_SET = new Set(XHIGH_MODEL_REFS.map((entry) => entry.toLowerCas
184
25
  const XHIGH_MODEL_IDS = new Set(XHIGH_MODEL_REFS.map((entry) => entry.split("/")[1]?.toLowerCase()).filter((entry) => Boolean(entry)));
185
26
  function normalizeThinkLevel(raw) {
186
27
  if (!raw) return;
187
- const key = raw.toLowerCase();
28
+ const key = raw.trim().toLowerCase();
29
+ const collapsed = key.replace(/[\s_-]+/g, "");
30
+ if (collapsed === "xhigh" || collapsed === "extrahigh") return "xhigh";
188
31
  if (["off"].includes(key)) return "off";
189
32
  if ([
190
33
  "on",
@@ -215,11 +58,6 @@ function normalizeThinkLevel(raw) {
215
58
  "highest",
216
59
  "max"
217
60
  ].includes(key)) return "high";
218
- if ([
219
- "xhigh",
220
- "x-high",
221
- "x_high"
222
- ].includes(key)) return "xhigh";
223
61
  if (["think"].includes(key)) return "minimal";
224
62
  }
225
63
  function supportsXHighThinking(provider, model) {
@@ -499,6 +337,7 @@ function sanitizeGoogleTurnOrdering(messages) {
499
337
 
500
338
  //#endregion
501
339
  //#region src/agents/pi-embedded-helpers/errors.ts
340
+ const BILLING_ERROR_USER_MESSAGE = "⚠️ API provider returned a billing error — your API key has run out of credits or has an insufficient balance. Check your provider's billing dashboard and top up or switch to a different API key.";
502
341
  function isContextOverflowError(errorMessage) {
503
342
  if (!errorMessage) return false;
504
343
  const lower = errorMessage.toLowerCase();
@@ -681,6 +520,7 @@ function formatAssistantErrorText(msg, opts) {
681
520
  const invalidRequest = raw.match(/"type":"invalid_request_error".*?"message":"([^"]+)"/);
682
521
  if (invalidRequest?.[1]) return `LLM request rejected: ${invalidRequest[1]}`;
683
522
  if (isOverloadedErrorMessage(raw)) return "The AI service is temporarily overloaded. Please try again in a moment.";
523
+ if (isBillingErrorMessage(raw)) return BILLING_ERROR_USER_MESSAGE;
684
524
  if (isLikelyHttpErrorText(raw) || isRawApiErrorPayload(raw)) return formatRawAssistantErrorForUi(raw);
685
525
  if (raw.length > 600) console.warn("[formatAssistantErrorText] Long error truncated:", raw.slice(0, 200));
686
526
  return raw.length > 600 ? `${raw.slice(0, 600)}…` : raw;
@@ -692,6 +532,7 @@ function sanitizeUserFacingText(text) {
692
532
  if (!trimmed) return stripped;
693
533
  if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
694
534
  if (isContextOverflowError(trimmed)) return "Context overflow: prompt too large for the model. Try again with less input or a larger-context model.";
535
+ if (isBillingErrorMessage(trimmed)) return BILLING_ERROR_USER_MESSAGE;
695
536
  if (isRawApiErrorPayload(trimmed) || isLikelyHttpErrorText(trimmed)) return formatRawAssistantErrorForUi(trimmed);
696
537
  if (ERROR_PREFIX_RE.test(trimmed)) {
697
538
  if (isOverloadedErrorMessage(trimmed) || isRateLimitErrorMessage(trimmed)) return "The AI service is temporarily overloaded. Please try again in a moment.";
@@ -778,6 +619,10 @@ function isMissingToolCallInputError(raw) {
778
619
  if (!raw) return false;
779
620
  return TOOL_CALL_INPUT_MISSING_RE.test(raw) || TOOL_CALL_INPUT_PATH_RE.test(raw);
780
621
  }
622
+ function isBillingAssistantError(msg) {
623
+ if (!msg || msg.stopReason !== "error") return false;
624
+ return isBillingErrorMessage(msg.errorMessage ?? "");
625
+ }
781
626
  function isAuthErrorMessage(raw) {
782
627
  return matchesErrorPatterns(raw, ERROR_PATTERNS.auth);
783
628
  }
@@ -1078,6 +923,166 @@ function sanitizeToolCallIdsForCloudCodeAssist(messages, mode = "strict") {
1078
923
  return changed ? out : messages;
1079
924
  }
1080
925
 
926
+ //#endregion
927
+ //#region src/agents/tool-images.ts
928
+ const MAX_IMAGE_DIMENSION_PX = 2e3;
929
+ const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
930
+ const log = createSubsystemLogger("agents/tool-images");
931
+ function isImageBlock(block) {
932
+ if (!block || typeof block !== "object") return false;
933
+ const rec = block;
934
+ return rec.type === "image" && typeof rec.data === "string" && typeof rec.mimeType === "string";
935
+ }
936
+ function isTextBlock(block) {
937
+ if (!block || typeof block !== "object") return false;
938
+ const rec = block;
939
+ return rec.type === "text" && typeof rec.text === "string";
940
+ }
941
+ function inferMimeTypeFromBase64(base64) {
942
+ const trimmed = base64.trim();
943
+ if (!trimmed) return;
944
+ if (trimmed.startsWith("/9j/")) return "image/jpeg";
945
+ if (trimmed.startsWith("iVBOR")) return "image/png";
946
+ if (trimmed.startsWith("R0lGOD")) return "image/gif";
947
+ }
948
+ async function resizeImageBase64IfNeeded(params) {
949
+ const buf = Buffer.from(params.base64, "base64");
950
+ const meta = await getImageMetadata(buf);
951
+ const width = meta?.width;
952
+ const height = meta?.height;
953
+ const overBytes = buf.byteLength > params.maxBytes;
954
+ const hasDimensions = typeof width === "number" && typeof height === "number";
955
+ if (hasDimensions && !overBytes && width <= params.maxDimensionPx && height <= params.maxDimensionPx) return {
956
+ base64: params.base64,
957
+ mimeType: params.mimeType,
958
+ resized: false,
959
+ width,
960
+ height
961
+ };
962
+ if (hasDimensions && (width > params.maxDimensionPx || height > params.maxDimensionPx || overBytes)) log.warn("Image exceeds limits; resizing", {
963
+ label: params.label,
964
+ width,
965
+ height,
966
+ maxDimensionPx: params.maxDimensionPx,
967
+ maxBytes: params.maxBytes
968
+ });
969
+ const qualities = [
970
+ 85,
971
+ 75,
972
+ 65,
973
+ 55,
974
+ 45,
975
+ 35
976
+ ];
977
+ const maxDim = hasDimensions ? Math.max(width ?? 0, height ?? 0) : params.maxDimensionPx;
978
+ const sideGrid = [
979
+ maxDim > 0 ? Math.min(params.maxDimensionPx, maxDim) : params.maxDimensionPx,
980
+ 1800,
981
+ 1600,
982
+ 1400,
983
+ 1200,
984
+ 1e3,
985
+ 800
986
+ ].map((v) => Math.min(params.maxDimensionPx, v)).filter((v, i, arr) => v > 0 && arr.indexOf(v) === i).toSorted((a, b) => b - a);
987
+ let smallest = null;
988
+ for (const side of sideGrid) for (const quality of qualities) {
989
+ const out = await resizeToJpeg({
990
+ buffer: buf,
991
+ maxSide: side,
992
+ quality,
993
+ withoutEnlargement: true
994
+ });
995
+ if (!smallest || out.byteLength < smallest.size) smallest = {
996
+ buffer: out,
997
+ size: out.byteLength
998
+ };
999
+ if (out.byteLength <= params.maxBytes) {
1000
+ log.info("Image resized", {
1001
+ label: params.label,
1002
+ width,
1003
+ height,
1004
+ maxDimensionPx: params.maxDimensionPx,
1005
+ maxBytes: params.maxBytes,
1006
+ originalBytes: buf.byteLength,
1007
+ resizedBytes: out.byteLength,
1008
+ quality,
1009
+ side
1010
+ });
1011
+ return {
1012
+ base64: out.toString("base64"),
1013
+ mimeType: "image/jpeg",
1014
+ resized: true,
1015
+ width,
1016
+ height
1017
+ };
1018
+ }
1019
+ }
1020
+ const best = smallest?.buffer ?? buf;
1021
+ const maxMb = (params.maxBytes / (1024 * 1024)).toFixed(0);
1022
+ const gotMb = (best.byteLength / (1024 * 1024)).toFixed(2);
1023
+ throw new Error(`Image could not be reduced below ${maxMb}MB (got ${gotMb}MB)`);
1024
+ }
1025
+ async function sanitizeContentBlocksImages(blocks, label, opts = {}) {
1026
+ const maxDimensionPx = Math.max(opts.maxDimensionPx ?? MAX_IMAGE_DIMENSION_PX, 1);
1027
+ const maxBytes = Math.max(opts.maxBytes ?? MAX_IMAGE_BYTES, 1);
1028
+ const out = [];
1029
+ for (const block of blocks) {
1030
+ if (!isImageBlock(block)) {
1031
+ out.push(block);
1032
+ continue;
1033
+ }
1034
+ const data = block.data.trim();
1035
+ if (!data) {
1036
+ out.push({
1037
+ type: "text",
1038
+ text: `[${label}] omitted empty image payload`
1039
+ });
1040
+ continue;
1041
+ }
1042
+ try {
1043
+ const mimeType = inferMimeTypeFromBase64(data) ?? block.mimeType;
1044
+ const resized = await resizeImageBase64IfNeeded({
1045
+ base64: data,
1046
+ mimeType,
1047
+ maxDimensionPx,
1048
+ maxBytes,
1049
+ label
1050
+ });
1051
+ out.push({
1052
+ ...block,
1053
+ data: resized.base64,
1054
+ mimeType: resized.resized ? resized.mimeType : mimeType
1055
+ });
1056
+ } catch (err) {
1057
+ out.push({
1058
+ type: "text",
1059
+ text: `[${label}] omitted image payload: ${String(err)}`
1060
+ });
1061
+ }
1062
+ }
1063
+ return out;
1064
+ }
1065
+ async function sanitizeImageBlocks(images, label, opts = {}) {
1066
+ if (images.length === 0) return {
1067
+ images,
1068
+ dropped: 0
1069
+ };
1070
+ const next = (await sanitizeContentBlocksImages(images, label, opts)).filter(isImageBlock);
1071
+ return {
1072
+ images: next,
1073
+ dropped: Math.max(0, images.length - next.length)
1074
+ };
1075
+ }
1076
+ async function sanitizeToolResultImages(result, label, opts = {}) {
1077
+ const content = Array.isArray(result.content) ? result.content : [];
1078
+ if (!content.some((b) => isImageBlock(b) || isTextBlock(b))) return result;
1079
+ const next = await sanitizeContentBlocksImages(content, label, opts);
1080
+ return {
1081
+ ...result,
1082
+ content: next
1083
+ };
1084
+ }
1085
+
1081
1086
  //#endregion
1082
1087
  //#region src/agents/pi-embedded-helpers/images.ts
1083
1088
  async function sanitizeSessionMessagesImages(messages, label, options) {
@@ -1290,4 +1295,4 @@ function validateAnthropicTurns(messages) {
1290
1295
  }
1291
1296
 
1292
1297
  //#endregion
1293
- export { resolveBootstrapMaxChars as A, normalizeVerboseLevel as B, isRawApiErrorPayload as C, sanitizeUserFacingText as D, parseImageSizeError as E, listThinkingLevels as F, supportsXHighThinking as H, normalizeElevatedLevel as I, normalizeReasoningLevel as L, formatThinkingLevels as M, formatXHighModelHint as N, buildBootstrapContextFiles as O, listThinkingLevelLabels as P, normalizeThinkLevel as R, isRateLimitAssistantError as S, parseImageDimensionError as T, sanitizeImageBlocks as U, resolveResponseUsageMode as V, sanitizeToolResultImages as W, isCompactionFailureError as _, isMessagingToolDuplicateNormalized as a, isFailoverErrorMessage as b, downgradeOpenAIReasoningBlocks as c, classifyFailoverReason as d, formatAssistantErrorText as f, isCloudCodeAssistFormatError as g, isAuthAssistantError as h, isMessagingToolDuplicate as i, sanitizeGoogleTurnOrdering as j, ensureSessionHeader as k, isAntigravityClaude as l, getApiErrorPayloadFingerprint as m, validateGeminiTurns as n, normalizeTextForComparison as o, formatRawAssistantErrorForUi as p, pickFallbackThinkingLevel as r, sanitizeSessionMessagesImages as s, validateAnthropicTurns as t, isGoogleModelApi as u, isContextOverflowError as v, isTimeoutErrorMessage as w, isLikelyContextOverflowError as x, isFailoverAssistantError as y, normalizeUsageDisplay as z };
1298
+ export { parseImageSizeError as A, normalizeElevatedLevel as B, isFailoverAssistantError as C, isRawApiErrorPayload as D, isRateLimitAssistantError as E, sanitizeGoogleTurnOrdering as F, resolveResponseUsageMode as G, normalizeThinkLevel as H, formatThinkingLevels as I, supportsXHighThinking as K, formatXHighModelHint as L, buildBootstrapContextFiles as M, ensureSessionHeader as N, isTimeoutErrorMessage as O, resolveBootstrapMaxChars as P, listThinkingLevelLabels as R, isContextOverflowError as S, isLikelyContextOverflowError as T, normalizeUsageDisplay as U, normalizeReasoningLevel as V, normalizeVerboseLevel as W, getApiErrorPayloadFingerprint as _, isMessagingToolDuplicateNormalized as a, isCloudCodeAssistFormatError as b, sanitizeImageBlocks as c, isAntigravityClaude as d, isGoogleModelApi as f, formatRawAssistantErrorForUi as g, formatAssistantErrorText as h, isMessagingToolDuplicate as i, sanitizeUserFacingText as j, parseImageDimensionError as k, sanitizeToolResultImages as l, classifyFailoverReason as m, validateGeminiTurns as n, normalizeTextForComparison as o, BILLING_ERROR_USER_MESSAGE as p, pickFallbackThinkingLevel as r, sanitizeSessionMessagesImages as s, validateAnthropicTurns as t, downgradeOpenAIReasoningBlocks as u, isAuthAssistantError as v, isFailoverErrorMessage as w, isCompactionFailureError as x, isBillingAssistantError as y, listThinkingLevels as z };
@@ -1,12 +1,12 @@
1
- import { i as resolveGatewayPort, t as STATE_DIR } from "./paths-VslOJiD2.js";
2
- import { A as normalizeAccountId$1, C as resolveOpenClawPackageRootSync, D as buildAgentMainSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, T as DEFAULT_AGENT_ID, _ as DEFAULT_TOOLS_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, f as DEFAULT_AGENT_WORKSPACE_DIR, g as DEFAULT_SOUL_FILENAME, h as DEFAULT_IDENTITY_FILENAME, j as normalizeAgentId, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, v as DEFAULT_USER_FILENAME, w as DEFAULT_ACCOUNT_ID, y as ensureAgentWorkspace } from "./agent-scope-COnICB_7.js";
3
- import { A as normalizeE164, C as CONFIG_DIR, N as resolveUserPath, _ as normalizeAnyChannelId, b as getActivePluginRegistry, g as getChatChannelMeta, h as CHAT_CHANNEL_ORDER, j as resolveConfigDir, l as createSubsystemLogger, m as CHANNEL_IDS, n as runExec, u as defaultRuntime, x as requireActivePluginRegistry, y as normalizeChatChannelId } from "./exec-B7WKla_0.js";
4
- import { D as isTruthyEnvValue, O as parseBooleanValue } from "./model-selection-Cs1y6OBv.js";
5
- import { t as formatCliCommand } from "./command-format-SkzzRqR1.js";
6
- import { _ as resolveEnableState, f as loadPluginManifestRegistry, g as normalizePluginsConfig, h as MANIFEST_KEY, i as writeConfigFile, k as resolveWhatsAppAccount, m as LEGACY_MANIFEST_KEYS, t as loadConfig, v as resolveMemorySlotDecision } from "./config-CGsoho7J.js";
7
- import { C as DEFAULT_AI_SNAPSHOT_MAX_CHARS, D as DEFAULT_OPENCLAW_BROWSER_ENABLED, E as DEFAULT_OPENCLAW_BROWSER_COLOR, O as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, S as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_BROWSER_EVALUATE_ENABLED, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as stopChromeExtensionRelayServer, h as ensureChromeExtensionRelayServer, i as launchOpenClawChrome, l as createTargetViaCdp, m as getHeadersWithAuth, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as extractErrorCode, w as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, x as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as formatErrorMessage } from "./chrome-DlqPCh1y.js";
8
- import { r as resolveSessionTranscriptPath, t as resolveDefaultSessionStorePath } from "./paths-xPuk88Yf.js";
9
- import { t as emitSessionTranscriptUpdate } from "./transcript-events-DW_H__a1.js";
1
+ import { i as resolveGatewayPort, t as STATE_DIR } from "./paths-B1kfl4h5.js";
2
+ import { A as normalizeAccountId$1, C as resolveOpenClawPackageRootSync, D as buildAgentMainSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, T as DEFAULT_AGENT_ID, _ as DEFAULT_TOOLS_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, f as DEFAULT_AGENT_WORKSPACE_DIR, g as DEFAULT_SOUL_FILENAME, h as DEFAULT_IDENTITY_FILENAME, j as normalizeAgentId, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, v as DEFAULT_USER_FILENAME, w as DEFAULT_ACCOUNT_ID, y as ensureAgentWorkspace } from "./agent-scope-Csu2B6AM.js";
3
+ import { A as normalizeE164, C as CONFIG_DIR, N as resolveUserPath, _ as normalizeAnyChannelId, b as getActivePluginRegistry, g as getChatChannelMeta, h as CHAT_CHANNEL_ORDER, j as resolveConfigDir, l as createSubsystemLogger, m as CHANNEL_IDS, n as runExec, u as defaultRuntime, x as requireActivePluginRegistry, y as normalizeChatChannelId } from "./exec-BMnoMcZW.js";
4
+ import { O as isTruthyEnvValue, k as parseBooleanValue } from "./model-selection-mzTqrNoj.js";
5
+ import { t as formatCliCommand } from "./command-format-CFzL448l.js";
6
+ import { _ as resolveEnableState, f as loadPluginManifestRegistry, g as normalizePluginsConfig, h as MANIFEST_KEY, i as writeConfigFile, k as resolveWhatsAppAccount, m as LEGACY_MANIFEST_KEYS, t as loadConfig, v as resolveMemorySlotDecision } from "./config-CG73z4h6.js";
7
+ import { C as DEFAULT_AI_SNAPSHOT_MAX_CHARS, D as DEFAULT_OPENCLAW_BROWSER_ENABLED, E as DEFAULT_OPENCLAW_BROWSER_COLOR, O as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, S as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_BROWSER_EVALUATE_ENABLED, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as stopChromeExtensionRelayServer, h as ensureChromeExtensionRelayServer, i as launchOpenClawChrome, l as createTargetViaCdp, m as getHeadersWithAuth, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as extractErrorCode, w as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, x as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as formatErrorMessage } from "./chrome-B3IuUad-.js";
8
+ import { r as resolveSessionTranscriptPath, t as resolveDefaultSessionStorePath } from "./paths-B4kigINg.js";
9
+ import { t as emitSessionTranscriptUpdate } from "./transcript-events-JLH5W4He.js";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs";
@@ -981,6 +981,7 @@ const TOOL_GROUPS = {
981
981
  "image"
982
982
  ]
983
983
  };
984
+ const OWNER_ONLY_TOOL_NAMES = new Set(["whatsapp_login"]);
984
985
  const TOOL_PROFILES = {
985
986
  minimal: { allow: ["session_status"] },
986
987
  coding: { allow: [
@@ -1003,6 +1004,23 @@ function normalizeToolName(name) {
1003
1004
  const normalized = name.trim().toLowerCase();
1004
1005
  return TOOL_NAME_ALIASES[normalized] ?? normalized;
1005
1006
  }
1007
+ function isOwnerOnlyToolName(name) {
1008
+ return OWNER_ONLY_TOOL_NAMES.has(normalizeToolName(name));
1009
+ }
1010
+ function applyOwnerOnlyToolPolicy(tools, senderIsOwner) {
1011
+ const withGuard = tools.map((tool) => {
1012
+ if (!isOwnerOnlyToolName(tool.name)) return tool;
1013
+ if (senderIsOwner || !tool.execute) return tool;
1014
+ return {
1015
+ ...tool,
1016
+ execute: async () => {
1017
+ throw new Error("Tool restricted to owner senders.");
1018
+ }
1019
+ };
1020
+ });
1021
+ if (senderIsOwner) return withGuard;
1022
+ return withGuard.filter((tool) => !isOwnerOnlyToolName(tool.name));
1023
+ }
1006
1024
  function normalizeToolList(list) {
1007
1025
  if (!list) return [];
1008
1026
  return list.map(normalizeToolName).filter(Boolean);
@@ -2023,7 +2041,7 @@ function isModuleNotFoundError(err) {
2023
2041
  }
2024
2042
  async function loadPwAiModule(mode) {
2025
2043
  try {
2026
- return await import("./pw-ai-BEqPnalN.js");
2044
+ return await import("./pw-ai-tNPuRNn3.js");
2027
2045
  } catch (err) {
2028
2046
  if (mode === "soft") return null;
2029
2047
  if (isModuleNotFoundError(err)) return null;
@@ -4845,11 +4863,11 @@ function createProfileContext(opts, profile) {
4845
4863
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
4846
4864
  const profileState = getProfileState();
4847
4865
  if (await isHttpReachable(300) && !profileState.running) try {
4848
- await (await import("./pw-ai-BEqPnalN.js")).closePlaywrightBrowserConnection();
4866
+ await (await import("./pw-ai-tNPuRNn3.js")).closePlaywrightBrowserConnection();
4849
4867
  } catch {}
4850
4868
  if (profileState.running) await stopRunningBrowser();
4851
4869
  try {
4852
- await (await import("./pw-ai-BEqPnalN.js")).closePlaywrightBrowserConnection();
4870
+ await (await import("./pw-ai-tNPuRNn3.js")).closePlaywrightBrowserConnection();
4853
4871
  } catch {}
4854
4872
  if (!fs.existsSync(userDataDir)) return {
4855
4873
  moved: false,
@@ -6234,6 +6252,7 @@ const DOCKS = {
6234
6252
  resolveRequireMention: resolveSlackGroupRequireMention,
6235
6253
  resolveToolPolicy: resolveSlackGroupToolPolicy
6236
6254
  },
6255
+ mentions: { stripPatterns: () => ["<@[^>]+>"] },
6237
6256
  threading: {
6238
6257
  resolveReplyToMode: ({ cfg, accountId, chatType }) => resolveSlackReplyToMode(resolveSlackAccount({
6239
6258
  cfg,
@@ -7295,6 +7314,7 @@ async function ensureSandboxWorkspaceForSession(params) {
7295
7314
 
7296
7315
  //#endregion
7297
7316
  //#region src/agents/pi-embedded-helpers/errors.ts
7317
+ const BILLING_ERROR_USER_MESSAGE = "⚠️ API provider returned a billing error — your API key has run out of credits or has an insufficient balance. Check your provider's billing dashboard and top up or switch to a different API key.";
7298
7318
  function isContextOverflowError(errorMessage) {
7299
7319
  if (!errorMessage) return false;
7300
7320
  const lower = errorMessage.toLowerCase();
@@ -7477,6 +7497,7 @@ function formatAssistantErrorText(msg, opts) {
7477
7497
  const invalidRequest = raw.match(/"type":"invalid_request_error".*?"message":"([^"]+)"/);
7478
7498
  if (invalidRequest?.[1]) return `LLM request rejected: ${invalidRequest[1]}`;
7479
7499
  if (isOverloadedErrorMessage(raw)) return "The AI service is temporarily overloaded. Please try again in a moment.";
7500
+ if (isBillingErrorMessage(raw)) return BILLING_ERROR_USER_MESSAGE;
7480
7501
  if (isLikelyHttpErrorText(raw) || isRawApiErrorPayload(raw)) return formatRawAssistantErrorForUi(raw);
7481
7502
  if (raw.length > 600) console.warn("[formatAssistantErrorText] Long error truncated:", raw.slice(0, 200));
7482
7503
  return raw.length > 600 ? `${raw.slice(0, 600)}…` : raw;
@@ -7488,6 +7509,7 @@ function sanitizeUserFacingText(text) {
7488
7509
  if (!trimmed) return stripped;
7489
7510
  if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
7490
7511
  if (isContextOverflowError(trimmed)) return "Context overflow: prompt too large for the model. Try again with less input or a larger-context model.";
7512
+ if (isBillingErrorMessage(trimmed)) return BILLING_ERROR_USER_MESSAGE;
7491
7513
  if (isRawApiErrorPayload(trimmed) || isLikelyHttpErrorText(trimmed)) return formatRawAssistantErrorForUi(trimmed);
7492
7514
  if (ERROR_PREFIX_RE.test(trimmed)) {
7493
7515
  if (isOverloadedErrorMessage(trimmed) || isRateLimitErrorMessage(trimmed)) return "The AI service is temporarily overloaded. Please try again in a moment.";
@@ -7574,6 +7596,10 @@ function isMissingToolCallInputError(raw) {
7574
7596
  if (!raw) return false;
7575
7597
  return TOOL_CALL_INPUT_MISSING_RE.test(raw) || TOOL_CALL_INPUT_PATH_RE.test(raw);
7576
7598
  }
7599
+ function isBillingAssistantError(msg) {
7600
+ if (!msg || msg.stopReason !== "error") return false;
7601
+ return isBillingErrorMessage(msg.errorMessage ?? "");
7602
+ }
7577
7603
  function isAuthErrorMessage(raw) {
7578
7604
  return matchesErrorPatterns(raw, ERROR_PATTERNS.auth);
7579
7605
  }
@@ -8150,6 +8176,7 @@ function isBinaryThinkingProvider(provider) {
8150
8176
  }
8151
8177
  const XHIGH_MODEL_REFS = [
8152
8178
  "openai/gpt-5.2",
8179
+ "openai-codex/gpt-5.3-codex",
8153
8180
  "openai-codex/gpt-5.2-codex",
8154
8181
  "openai-codex/gpt-5.1-codex"
8155
8182
  ];
@@ -8157,7 +8184,9 @@ const XHIGH_MODEL_SET = new Set(XHIGH_MODEL_REFS.map((entry) => entry.toLowerCas
8157
8184
  const XHIGH_MODEL_IDS = new Set(XHIGH_MODEL_REFS.map((entry) => entry.split("/")[1]?.toLowerCase()).filter((entry) => Boolean(entry)));
8158
8185
  function normalizeThinkLevel(raw) {
8159
8186
  if (!raw) return;
8160
- const key = raw.toLowerCase();
8187
+ const key = raw.trim().toLowerCase();
8188
+ const collapsed = key.replace(/[\s_-]+/g, "");
8189
+ if (collapsed === "xhigh" || collapsed === "extrahigh") return "xhigh";
8161
8190
  if (["off"].includes(key)) return "off";
8162
8191
  if ([
8163
8192
  "on",
@@ -8188,11 +8217,6 @@ function normalizeThinkLevel(raw) {
8188
8217
  "highest",
8189
8218
  "max"
8190
8219
  ].includes(key)) return "high";
8191
- if ([
8192
- "xhigh",
8193
- "x-high",
8194
- "x_high"
8195
- ].includes(key)) return "xhigh";
8196
8220
  if (["think"].includes(key)) return "minimal";
8197
8221
  }
8198
8222
  function supportsXHighThinking(provider, model) {
@@ -8448,4 +8472,4 @@ function validateAnthropicTurns(messages) {
8448
8472
  }
8449
8473
 
8450
8474
  //#endregion
8451
- export { resolveCacheTtlMs as $, buildBootstrapContextFiles as $t, isContextOverflowError as A, normalizeWhatsAppTarget as An, resizeToJpeg as At, ensureSandboxWorkspaceForSession as B, listEnabledDiscordAccounts as Bn, loadWorkspaceSkillEntries as Bt, classifyFailoverReason as C, mediaKindFromMime as Cn, registerBrowserRoutes as Ct, isAuthAssistantError as D, listChannelPlugins as Dn, getImageMetadata as Dt, getApiErrorPayloadFingerprint as E, getChannelPlugin as En, convertHeicToJpeg as Et, isRawApiErrorPayload as F, listBindings as Fn, createPinnedDispatcher as Ft, loadSessionStore as G, resolveSandboxConfigForAgent as Gt, resolveSandboxRuntimeStatus as H, normalizeDiscordToken as Hn, resolvePluginSkillDirs as Ht, isTimeoutErrorMessage as I, resolveSlackAccount as In, resolvePinnedHostname as It, saveSessionStore as J, expandPolicyWithPluginGroups as Jt, readSessionUpdatedAt as K, buildPluginToolGroups as Kt, parseImageDimensionError as L, resolveSlackAppToken as Ln, resolvePinnedHostnameWithPolicy as Lt, isFailoverErrorMessage as M, listTelegramAccountIds as Mn, saveMediaBuffer as Mt, isLikelyContextOverflowError as N, resolveTelegramAccount as Nn, SsrFBlockedError as Nt, isCloudCodeAssistFormatError as O, normalizeChannelId as On, hasAlphaChannel as Ot, isRateLimitAssistantError as P, resolveTelegramToken as Pn, closeDispatcher as Pt, isCacheEnabled as Q, stripPluginOnlyAllowlist as Qt, parseImageSizeError as R, resolveSlackBotToken as Rn, buildWorkspaceSkillCommandSpecs as Rt, isGoogleModelApi as S, maxBytesForKind as Sn, createBrowserRouteContext as St, formatRawAssistantErrorForUi as T, resolveSignalAccount as Tn, resolveProfile as Tt, appendAssistantMessageToSessionTranscript as U, applySkillEnvOverrides as Ut, resolveSandboxContext as V, resolveDiscordAccount as Vn, resolveSkillsPromptForRun as Vt, resolveMirroredTranscriptText as W, applySkillEnvOverridesFromSnapshot as Wt, updateSessionStore as X, normalizeToolName as Xt, updateLastRoute as Y, expandToolGroups as Yt, updateSessionStoreEntry as Z, resolveToolProfilePolicy as Zt, sanitizeSessionMessagesImages as _, imageMimeFromFormat as _n, resolveChannelGroupRequireMention as _t, formatXHighModelHint as a, isInternalMessageChannel as an, resolveSessionKey as at, downgradeOpenAIReasoningBlocks as b, kindFromMime as bn, resolveConversationLabel as bt, normalizeReasoningLevel as c, normalizeMessageChannel as cn, resolveSessionResetPolicy as ct, normalizeVerboseLevel as d, GATEWAY_CLIENT_IDS as dn, DEFAULT_RESET_TRIGGERS as dt, ensureSessionHeader$1 as en, deliveryContextFromSession as et, resolveResponseUsageMode as f, GATEWAY_CLIENT_MODES as fn, resolveMainSessionKey as ft, normalizeTextForComparison as g, getFileExtension as gn, resolveChannelGroupPolicy as gt, isMessagingToolDuplicateNormalized as h, extensionForMime as hn, listChannelDocks as ht, formatThinkingLevels as i, isDeliverableMessageChannel as in, normalizeSessionDeliveryFields as it, isFailoverAssistantError as j, listEnabledTelegramAccounts as jn, getMediaDir as jt, isCompactionFailureError as k, isWhatsAppGroupJid as kn, optimizeImageToPng as kt, normalizeThinkLevel as l, resolveGatewayMessageChannel as ln, resolveSessionResetType as lt, isMessagingToolDuplicate as m, detectMime as mn, getChannelDock as mt, validateGeminiTurns as n, sanitizeGoogleTurnOrdering as nn, mergeDeliveryContext as nt, listThinkingLevels as o, isMarkdownCapableMessageChannel as on, evaluateSessionFreshness as ot, supportsXHighThinking as p, GATEWAY_CLIENT_NAMES as pn, deriveSessionMetaPatch as pt, recordSessionMetaFromInbound as q, collectExplicitAllowlist as qt, pickFallbackThinkingLevel as r, INTERNAL_MESSAGE_CHANNEL as rn, normalizeDeliveryContext as rt, normalizeElevatedLevel as s, listDeliverableMessageChannels as sn, resolveChannelResetConfig as st, validateAnthropicTurns as t, resolveBootstrapMaxChars as tn, deliveryContextKey as tt, normalizeUsageDisplay as u, resolveMessageChannel as un, resolveThreadFlag as ut, sanitizeImageBlocks as v, isAudioFileName as vn, resolveChannelGroupToolsPolicy as vt, formatAssistantErrorText as w, listEnabledSignalAccounts as wn, resolveBrowserConfig as wt, isAntigravityClaude as x, MAX_IMAGE_BYTES$1 as xn, resolveGroupSessionKey as xt, sanitizeToolResultImages as y, isGifMedia as yn, resolveIMessageAccount as yt, sanitizeUserFacingText as z, normalizeChatType as zn, buildWorkspaceSkillSnapshot as zt };
8475
+ export { updateSessionStoreEntry as $, normalizeToolName as $t, isCloudCodeAssistFormatError as A, listChannelPlugins as An, hasAlphaChannel as At, parseImageSizeError as B, resolveSlackAppToken as Bn, buildWorkspaceSkillCommandSpecs as Bt, BILLING_ERROR_USER_MESSAGE as C, kindFromMime as Cn, resolveGroupSessionKey as Ct, getApiErrorPayloadFingerprint as D, listEnabledSignalAccounts as Dn, resolveProfile as Dt, formatRawAssistantErrorForUi as E, mediaKindFromMime as En, resolveBrowserConfig as Et, isLikelyContextOverflowError as F, listTelegramAccountIds as Fn, SsrFBlockedError as Ft, appendAssistantMessageToSessionTranscript as G, normalizeDiscordToken as Gn, applySkillEnvOverrides as Gt, ensureSandboxWorkspaceForSession as H, normalizeChatType as Hn, loadWorkspaceSkillEntries as Ht, isRateLimitAssistantError as I, resolveTelegramAccount as In, closeDispatcher as It, readSessionUpdatedAt as J, applyOwnerOnlyToolPolicy as Jt, resolveMirroredTranscriptText as K, applySkillEnvOverridesFromSnapshot as Kt, isRawApiErrorPayload as L, resolveTelegramToken as Ln, createPinnedDispatcher as Lt, isContextOverflowError as M, isWhatsAppGroupJid as Mn, resizeToJpeg as Mt, isFailoverAssistantError as N, normalizeWhatsAppTarget as Nn, getMediaDir as Nt, isAuthAssistantError as O, resolveSignalAccount as On, convertHeicToJpeg as Ot, isFailoverErrorMessage as P, listEnabledTelegramAccounts as Pn, saveMediaBuffer as Pt, updateSessionStore as Q, expandToolGroups as Qt, isTimeoutErrorMessage as R, listBindings as Rn, resolvePinnedHostname as Rt, isGoogleModelApi as S, isGifMedia as Sn, resolveConversationLabel as St, formatAssistantErrorText as T, maxBytesForKind as Tn, registerBrowserRoutes as Tt, resolveSandboxContext as U, listEnabledDiscordAccounts as Un, resolveSkillsPromptForRun as Ut, sanitizeUserFacingText as V, resolveSlackBotToken as Vn, buildWorkspaceSkillSnapshot as Vt, resolveSandboxRuntimeStatus as W, resolveDiscordAccount as Wn, resolvePluginSkillDirs as Wt, saveSessionStore as X, collectExplicitAllowlist as Xt, recordSessionMetaFromInbound as Y, buildPluginToolGroups as Yt, updateLastRoute as Z, expandPolicyWithPluginGroups as Zt, sanitizeSessionMessagesImages as _, detectMime as _n, listChannelDocks as _t, formatXHighModelHint as a, sanitizeGoogleTurnOrdering as an, normalizeDeliveryContext as at, downgradeOpenAIReasoningBlocks as b, imageMimeFromFormat as bn, resolveChannelGroupToolsPolicy as bt, normalizeReasoningLevel as c, isInternalMessageChannel as cn, evaluateSessionFreshness as ct, normalizeVerboseLevel as d, normalizeMessageChannel as dn, resolveSessionResetType as dt, resolveToolProfilePolicy as en, isCacheEnabled as et, resolveResponseUsageMode as f, resolveGatewayMessageChannel as fn, resolveThreadFlag as ft, normalizeTextForComparison as g, GATEWAY_CLIENT_NAMES as gn, getChannelDock as gt, isMessagingToolDuplicateNormalized as h, GATEWAY_CLIENT_MODES as hn, deriveSessionMetaPatch as ht, formatThinkingLevels as i, resolveBootstrapMaxChars as in, mergeDeliveryContext as it, isCompactionFailureError as j, normalizeChannelId as jn, optimizeImageToPng as jt, isBillingAssistantError as k, getChannelPlugin as kn, getImageMetadata as kt, normalizeThinkLevel as l, isMarkdownCapableMessageChannel as ln, resolveChannelResetConfig as lt, isMessagingToolDuplicate as m, GATEWAY_CLIENT_IDS as mn, resolveMainSessionKey as mt, validateGeminiTurns as n, buildBootstrapContextFiles as nn, deliveryContextFromSession as nt, listThinkingLevels as o, INTERNAL_MESSAGE_CHANNEL as on, normalizeSessionDeliveryFields as ot, supportsXHighThinking as p, resolveMessageChannel as pn, DEFAULT_RESET_TRIGGERS as pt, loadSessionStore as q, resolveSandboxConfigForAgent as qt, pickFallbackThinkingLevel as r, ensureSessionHeader$1 as rn, deliveryContextKey as rt, normalizeElevatedLevel as s, isDeliverableMessageChannel as sn, resolveSessionKey as st, validateAnthropicTurns as t, stripPluginOnlyAllowlist as tn, resolveCacheTtlMs as tt, normalizeUsageDisplay as u, listDeliverableMessageChannels as un, resolveSessionResetPolicy as ut, sanitizeImageBlocks as v, extensionForMime as vn, resolveChannelGroupPolicy as vt, classifyFailoverReason as w, MAX_IMAGE_BYTES$1 as wn, createBrowserRouteContext as wt, isAntigravityClaude as x, isAudioFileName as xn, resolveIMessageAccount as xt, sanitizeToolResultImages as y, getFileExtension as yn, resolveChannelGroupRequireMention as yt, parseImageDimensionError as z, resolveSlackAccount as zn, resolvePinnedHostnameWithPolicy as zt };