@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,18 +1,22 @@
1
1
  import { B as resolveConfigPath, J as resolveOAuthDir, X as resolveStateDir } from "./entry.js";
2
- import { t as formatCliCommand } from "./command-format-3xiXujG0.js";
3
- import { N as normalizeAgentId, c as resolveDefaultAgentId } from "./agent-scope-jm0ZdXwM.js";
4
- import { n as runExec } from "./exec-BIMFe4XS.js";
5
- import { D as INCLUDE_KEY, O as MAX_INCLUDE_DEPTH, n as createConfigIO } from "./config-DCT1RAo6.js";
6
- import { a as resolveBrowserConfig, o as resolveProfile } from "./server-context-CM_E6wD5.js";
7
- import { i as resolveGatewayAuth } from "./auth-viF_w60n.js";
8
- import { t as GatewayClient } from "./client-cU7Xg1MO.js";
9
- import { t as buildGatewayConnectionDetails } from "./call-CfqL-4Nc.js";
10
- import { m as GATEWAY_CLIENT_NAMES, p as GATEWAY_CLIENT_MODES } from "./message-channel-CAFcg7mw.js";
11
- import { n as listChannelPlugins } from "./plugins-TrKFfrLt.js";
12
- import { t as resolveChannelDefaultAccountId } from "./helpers-DfgBr1D5.js";
13
- import { G as resolveSandboxToolPolicyForAgent, U as resolveSandboxConfigForAgent, Z as resolveToolProfilePolicy } from "./sandbox-Cnq9TXEn.js";
14
- import { a as isToolAllowedByPolicies, n as resolveNativeCommandsEnabled, r as resolveNativeSkillsEnabled } from "./commands-DMKDOFmC.js";
15
- import { i as readChannelAllowFromStore } from "./pairing-store-DMex6WWe.js";
2
+ import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
3
+ import { c as normalizeAgentId } from "./session-key-CZkcvAtx.js";
4
+ import { n as runExec } from "./exec-B8JKbXKW.js";
5
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-C9VjJXEK.js";
6
+ import { D as MAX_INCLUDE_DEPTH, E as INCLUDE_KEY, r as createConfigIO } from "./config-CKLedg5Y.js";
7
+ import { a as MANIFEST_KEY } from "./manifest-registry-C69Z-I4v.js";
8
+ import { a as resolveBrowserConfig, o as resolveProfile } from "./server-context-yKyxyxOJ.js";
9
+ import { i as resolveGatewayAuth } from "./auth-DksjO6WG.js";
10
+ import { t as GatewayClient } from "./client-CxbkcEZ7.js";
11
+ import { t as buildGatewayConnectionDetails } from "./call-90HgQQ8o.js";
12
+ import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-BlgPSDAh.js";
13
+ import { n as listChannelPlugins } from "./plugins-BUPpq5aS.js";
14
+ import { t as resolveChannelDefaultAccountId } from "./helpers-D66_XoIz.js";
15
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-Bp1D9gra.js";
16
+ import { G as resolveSandboxToolPolicyForAgent, Q as resolveToolProfilePolicy, U as resolveSandboxConfigForAgent } from "./sandbox-DuqLKN5J.js";
17
+ import { i as loadWorkspaceSkillEntries } from "./skills-CmU0Q92f.js";
18
+ import { a as isToolAllowedByPolicies, n as resolveNativeCommandsEnabled, r as resolveNativeSkillsEnabled } from "./commands-DAC7XMAT.js";
19
+ import { i as readChannelAllowFromStore } from "./pairing-store-DTfv_FGA.js";
16
20
  import path from "node:path";
17
21
  import os from "node:os";
18
22
  import JSON5 from "json5";
@@ -577,7 +581,7 @@ function isClaudeModel(id) {
577
581
  return /\bclaude-/i.test(id);
578
582
  }
579
583
  function isClaude45OrHigher(id) {
580
- return /\bclaude-[^\s/]*?(?:-4-?5\b|4\.5\b)/i.test(id);
584
+ return /\bclaude-[^\s/]*?(?:-4-?(?:[5-9]|[1-9]\d)\b|4\.(?:[5-9]|[1-9]\d)\b|-[5-9](?:\b|[.-]))/i.test(id);
581
585
  }
582
586
  function collectModelHygieneFindings(cfg) {
583
587
  const findings = [];
@@ -1045,6 +1049,162 @@ async function readConfigSnapshotForAudit(params) {
1045
1049
  configPath: params.configPath
1046
1050
  }).readConfigFileSnapshot();
1047
1051
  }
1052
+ function isPathInside(basePath, candidatePath) {
1053
+ const base = path.resolve(basePath);
1054
+ const candidate = path.resolve(candidatePath);
1055
+ const rel = path.relative(base, candidate);
1056
+ return rel === "" || !rel.startsWith(`..${path.sep}`) && rel !== ".." && !path.isAbsolute(rel);
1057
+ }
1058
+ function extensionUsesSkippedScannerPath(entry) {
1059
+ return entry.split(/[\\/]+/).filter(Boolean).some((segment) => segment === "node_modules" || segment.startsWith(".") && segment !== "." && segment !== "..");
1060
+ }
1061
+ async function readPluginManifestExtensions(pluginPath) {
1062
+ const manifestPath = path.join(pluginPath, "package.json");
1063
+ const raw = await fs.readFile(manifestPath, "utf-8").catch(() => "");
1064
+ if (!raw.trim()) return [];
1065
+ const extensions = JSON.parse(raw)?.[MANIFEST_KEY]?.extensions;
1066
+ if (!Array.isArray(extensions)) return [];
1067
+ return extensions.map((entry) => typeof entry === "string" ? entry.trim() : "").filter(Boolean);
1068
+ }
1069
+ function listWorkspaceDirs(cfg) {
1070
+ const dirs = /* @__PURE__ */ new Set();
1071
+ const list = cfg.agents?.list;
1072
+ if (Array.isArray(list)) {
1073
+ for (const entry of list) if (entry && typeof entry === "object" && typeof entry.id === "string") dirs.add(resolveAgentWorkspaceDir(cfg, entry.id));
1074
+ }
1075
+ dirs.add(resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg)));
1076
+ return [...dirs];
1077
+ }
1078
+ function formatCodeSafetyDetails(findings, rootDir) {
1079
+ return findings.map((finding) => {
1080
+ const relPath = path.relative(rootDir, finding.file);
1081
+ const normalizedPath = (relPath && relPath !== "." && !relPath.startsWith("..") ? relPath : path.basename(finding.file)).replaceAll("\\", "/");
1082
+ return ` - [${finding.ruleId}] ${finding.message} (${normalizedPath}:${finding.line})`;
1083
+ }).join("\n");
1084
+ }
1085
+ async function collectPluginsCodeSafetyFindings(params) {
1086
+ const findings = [];
1087
+ const extensionsDir = path.join(params.stateDir, "extensions");
1088
+ const st = await safeStat(extensionsDir);
1089
+ if (!st.ok || !st.isDir) return findings;
1090
+ const pluginDirs = (await fs.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1091
+ findings.push({
1092
+ checkId: "plugins.code_safety.scan_failed",
1093
+ severity: "warn",
1094
+ title: "Plugin extensions directory scan failed",
1095
+ detail: `Static code scan could not list extensions directory: ${String(err)}`,
1096
+ remediation: "Check file permissions and plugin layout, then rerun `openclaw security audit --deep`."
1097
+ });
1098
+ return [];
1099
+ })).filter((e) => e.isDirectory()).map((e) => e.name);
1100
+ for (const pluginName of pluginDirs) {
1101
+ const pluginPath = path.join(extensionsDir, pluginName);
1102
+ const extensionEntries = await readPluginManifestExtensions(pluginPath).catch(() => []);
1103
+ const forcedScanEntries = [];
1104
+ const escapedEntries = [];
1105
+ for (const entry of extensionEntries) {
1106
+ const resolvedEntry = path.resolve(pluginPath, entry);
1107
+ if (!isPathInside(pluginPath, resolvedEntry)) {
1108
+ escapedEntries.push(entry);
1109
+ continue;
1110
+ }
1111
+ if (extensionUsesSkippedScannerPath(entry)) findings.push({
1112
+ checkId: "plugins.code_safety.entry_path",
1113
+ severity: "warn",
1114
+ title: `Plugin "${pluginName}" entry path is hidden or node_modules`,
1115
+ detail: `Extension entry "${entry}" points to a hidden or node_modules path. Deep code scan will cover this entry explicitly, but review this path choice carefully.`,
1116
+ remediation: "Prefer extension entrypoints under normal source paths like dist/ or src/."
1117
+ });
1118
+ forcedScanEntries.push(resolvedEntry);
1119
+ }
1120
+ if (escapedEntries.length > 0) findings.push({
1121
+ checkId: "plugins.code_safety.entry_escape",
1122
+ severity: "critical",
1123
+ title: `Plugin "${pluginName}" has extension entry path traversal`,
1124
+ detail: `Found extension entries that escape the plugin directory:\n${escapedEntries.map((entry) => ` - ${entry}`).join("\n")}`,
1125
+ remediation: "Update the plugin manifest so all openclaw.extensions entries stay inside the plugin directory."
1126
+ });
1127
+ const summary = await scanDirectoryWithSummary(pluginPath, { includeFiles: forcedScanEntries }).catch((err) => {
1128
+ findings.push({
1129
+ checkId: "plugins.code_safety.scan_failed",
1130
+ severity: "warn",
1131
+ title: `Plugin "${pluginName}" code scan failed`,
1132
+ detail: `Static code scan could not complete: ${String(err)}`,
1133
+ remediation: "Check file permissions and plugin layout, then rerun `openclaw security audit --deep`."
1134
+ });
1135
+ return null;
1136
+ });
1137
+ if (!summary) continue;
1138
+ if (summary.critical > 0) {
1139
+ const details = formatCodeSafetyDetails(summary.findings.filter((f) => f.severity === "critical"), pluginPath);
1140
+ findings.push({
1141
+ checkId: "plugins.code_safety",
1142
+ severity: "critical",
1143
+ title: `Plugin "${pluginName}" contains dangerous code patterns`,
1144
+ detail: `Found ${summary.critical} critical issue(s) in ${summary.scannedFiles} scanned file(s):\n${details}`,
1145
+ remediation: "Review the plugin source code carefully before use. If untrusted, remove the plugin from your OpenClaw extensions state directory."
1146
+ });
1147
+ } else if (summary.warn > 0) {
1148
+ const details = formatCodeSafetyDetails(summary.findings.filter((f) => f.severity === "warn"), pluginPath);
1149
+ findings.push({
1150
+ checkId: "plugins.code_safety",
1151
+ severity: "warn",
1152
+ title: `Plugin "${pluginName}" contains suspicious code patterns`,
1153
+ detail: `Found ${summary.warn} warning(s) in ${summary.scannedFiles} scanned file(s):\n${details}`,
1154
+ remediation: `Review the flagged code to ensure it is intentional and safe.`
1155
+ });
1156
+ }
1157
+ }
1158
+ return findings;
1159
+ }
1160
+ async function collectInstalledSkillsCodeSafetyFindings(params) {
1161
+ const findings = [];
1162
+ const pluginExtensionsDir = path.join(params.stateDir, "extensions");
1163
+ const scannedSkillDirs = /* @__PURE__ */ new Set();
1164
+ const workspaceDirs = listWorkspaceDirs(params.cfg);
1165
+ for (const workspaceDir of workspaceDirs) {
1166
+ const entries = loadWorkspaceSkillEntries(workspaceDir, { config: params.cfg });
1167
+ for (const entry of entries) {
1168
+ if (entry.skill.source === "openclaw-bundled") continue;
1169
+ const skillDir = path.resolve(entry.skill.baseDir);
1170
+ if (isPathInside(pluginExtensionsDir, skillDir)) continue;
1171
+ if (scannedSkillDirs.has(skillDir)) continue;
1172
+ scannedSkillDirs.add(skillDir);
1173
+ const skillName = entry.skill.name;
1174
+ const summary = await scanDirectoryWithSummary(skillDir).catch((err) => {
1175
+ findings.push({
1176
+ checkId: "skills.code_safety.scan_failed",
1177
+ severity: "warn",
1178
+ title: `Skill "${skillName}" code scan failed`,
1179
+ detail: `Static code scan could not complete for ${skillDir}: ${String(err)}`,
1180
+ remediation: "Check file permissions and skill layout, then rerun `openclaw security audit --deep`."
1181
+ });
1182
+ return null;
1183
+ });
1184
+ if (!summary) continue;
1185
+ if (summary.critical > 0) {
1186
+ const details = formatCodeSafetyDetails(summary.findings.filter((finding) => finding.severity === "critical"), skillDir);
1187
+ findings.push({
1188
+ checkId: "skills.code_safety",
1189
+ severity: "critical",
1190
+ title: `Skill "${skillName}" contains dangerous code patterns`,
1191
+ detail: `Found ${summary.critical} critical issue(s) in ${summary.scannedFiles} scanned file(s) under ${skillDir}:\n${details}`,
1192
+ remediation: `Review the skill source code before use. If untrusted, remove "${skillDir}".`
1193
+ });
1194
+ } else if (summary.warn > 0) {
1195
+ const details = formatCodeSafetyDetails(summary.findings.filter((finding) => finding.severity === "warn"), skillDir);
1196
+ findings.push({
1197
+ checkId: "skills.code_safety",
1198
+ severity: "warn",
1199
+ title: `Skill "${skillName}" contains suspicious code patterns`,
1200
+ detail: `Found ${summary.warn} warning(s) in ${summary.scannedFiles} scanned file(s) under ${skillDir}:\n${details}`,
1201
+ remediation: "Review flagged lines to ensure the behavior is intentional and safe."
1202
+ });
1203
+ }
1204
+ }
1205
+ }
1206
+ return findings;
1207
+ }
1048
1208
 
1049
1209
  //#endregion
1050
1210
  //#region src/security/audit.ts
@@ -1653,6 +1813,13 @@ async function runSecurityAudit(opts) {
1653
1813
  cfg,
1654
1814
  stateDir
1655
1815
  }));
1816
+ if (opts.deep === true) {
1817
+ findings.push(...await collectPluginsCodeSafetyFindings({ stateDir }));
1818
+ findings.push(...await collectInstalledSkillsCodeSafetyFindings({
1819
+ cfg,
1820
+ stateDir
1821
+ }));
1822
+ }
1656
1823
  }
1657
1824
  if (opts.includeChannelSecurity !== false) {
1658
1825
  const plugins = opts.plugins ?? listChannelPlugins();
@@ -1,18 +1,22 @@
1
- import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } from "./paths-BDd7_JUB.js";
2
- import { N as normalizeAgentId, c as resolveDefaultAgentId } from "./agent-scope-CrgUOY3f.js";
3
- import { n as runExec } from "./exec-CTo4hK94.js";
4
- import { t as formatCliCommand } from "./command-format-BQK1OIvH.js";
5
- import { D as INCLUDE_KEY, O as MAX_INCLUDE_DEPTH, n as createConfigIO } from "./config-qgIz1lbh.js";
6
- import { n as listChannelPlugins } from "./plugins-D1CxUobm.js";
7
- import { $ as resolveSandboxToolPolicyForAgent, Z as resolveSandboxConfigForAgent, at as resolveToolProfilePolicy } from "./sandbox-BXUfp_qv.js";
8
- import { a as resolveProfile, i as resolveBrowserConfig } from "./server-context-D2cv-pIA.js";
9
- import { m as GATEWAY_CLIENT_NAMES, p as GATEWAY_CLIENT_MODES } from "./message-channel-CQGWXVL4.js";
10
- import { t as GatewayClient } from "./client-zqMhLTAX.js";
11
- import { t as buildGatewayConnectionDetails } from "./call-CPBhMXxo.js";
12
- import { i as readChannelAllowFromStore } from "./pairing-store-BnMngoWQ.js";
13
- import { c as resolveNativeSkillsEnabled, n as isToolAllowedByPolicies, s as resolveNativeCommandsEnabled } from "./pi-tools.policy-DleRi9eC.js";
14
- import { t as resolveChannelDefaultAccountId } from "./helpers-Cw9kFCkw.js";
15
- import { i as resolveGatewayAuth } from "./auth-DK3l201_.js";
1
+ import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } from "./paths-scjhy7N2.js";
2
+ import { c as normalizeAgentId } from "./session-key-Dm2EOhrH.js";
3
+ import { n as runExec } from "./exec-HEWTMJ7j.js";
4
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CMs5Y7l-.js";
5
+ import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
6
+ import { D as MAX_INCLUDE_DEPTH, E as INCLUDE_KEY, r as createConfigIO } from "./config-CAuZ-EkU.js";
7
+ import { a as MANIFEST_KEY } from "./manifest-registry-DHaa1SJb.js";
8
+ import { n as listChannelPlugins } from "./plugins-BYIWo0Cp.js";
9
+ import { $ as resolveSandboxToolPolicyForAgent, Z as resolveSandboxConfigForAgent, ot as resolveToolProfilePolicy } from "./sandbox-CV8VwPij.js";
10
+ import { i as loadWorkspaceSkillEntries } from "./skills-D5JDj3TR.js";
11
+ import { a as resolveProfile, i as resolveBrowserConfig } from "./server-context-vChIAqjH.js";
12
+ import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-Bpfe5l5f.js";
13
+ import { t as GatewayClient } from "./client-BYVbRnuQ.js";
14
+ import { t as buildGatewayConnectionDetails } from "./call-BTbA5OB4.js";
15
+ import { i as readChannelAllowFromStore } from "./pairing-store-DFq7WtOv.js";
16
+ import { c as resolveNativeSkillsEnabled, n as isToolAllowedByPolicies, s as resolveNativeCommandsEnabled } from "./pi-tools.policy-BQ8N5y8a.js";
17
+ import { t as resolveChannelDefaultAccountId } from "./helpers-BIc7L8EF.js";
18
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-BoGjHXUZ.js";
19
+ import { i as resolveGatewayAuth } from "./auth-CbhB03Rz.js";
16
20
  import os from "node:os";
17
21
  import path from "node:path";
18
22
  import JSON5 from "json5";
@@ -577,7 +581,7 @@ function isClaudeModel(id) {
577
581
  return /\bclaude-/i.test(id);
578
582
  }
579
583
  function isClaude45OrHigher(id) {
580
- return /\bclaude-[^\s/]*?(?:-4-?5\b|4\.5\b)/i.test(id);
584
+ return /\bclaude-[^\s/]*?(?:-4-?(?:[5-9]|[1-9]\d)\b|4\.(?:[5-9]|[1-9]\d)\b|-[5-9](?:\b|[.-]))/i.test(id);
581
585
  }
582
586
  function collectModelHygieneFindings(cfg) {
583
587
  const findings = [];
@@ -1045,6 +1049,162 @@ async function readConfigSnapshotForAudit(params) {
1045
1049
  configPath: params.configPath
1046
1050
  }).readConfigFileSnapshot();
1047
1051
  }
1052
+ function isPathInside(basePath, candidatePath) {
1053
+ const base = path.resolve(basePath);
1054
+ const candidate = path.resolve(candidatePath);
1055
+ const rel = path.relative(base, candidate);
1056
+ return rel === "" || !rel.startsWith(`..${path.sep}`) && rel !== ".." && !path.isAbsolute(rel);
1057
+ }
1058
+ function extensionUsesSkippedScannerPath(entry) {
1059
+ return entry.split(/[\\/]+/).filter(Boolean).some((segment) => segment === "node_modules" || segment.startsWith(".") && segment !== "." && segment !== "..");
1060
+ }
1061
+ async function readPluginManifestExtensions(pluginPath) {
1062
+ const manifestPath = path.join(pluginPath, "package.json");
1063
+ const raw = await fs.readFile(manifestPath, "utf-8").catch(() => "");
1064
+ if (!raw.trim()) return [];
1065
+ const extensions = JSON.parse(raw)?.[MANIFEST_KEY]?.extensions;
1066
+ if (!Array.isArray(extensions)) return [];
1067
+ return extensions.map((entry) => typeof entry === "string" ? entry.trim() : "").filter(Boolean);
1068
+ }
1069
+ function listWorkspaceDirs(cfg) {
1070
+ const dirs = /* @__PURE__ */ new Set();
1071
+ const list = cfg.agents?.list;
1072
+ if (Array.isArray(list)) {
1073
+ for (const entry of list) if (entry && typeof entry === "object" && typeof entry.id === "string") dirs.add(resolveAgentWorkspaceDir(cfg, entry.id));
1074
+ }
1075
+ dirs.add(resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg)));
1076
+ return [...dirs];
1077
+ }
1078
+ function formatCodeSafetyDetails(findings, rootDir) {
1079
+ return findings.map((finding) => {
1080
+ const relPath = path.relative(rootDir, finding.file);
1081
+ const normalizedPath = (relPath && relPath !== "." && !relPath.startsWith("..") ? relPath : path.basename(finding.file)).replaceAll("\\", "/");
1082
+ return ` - [${finding.ruleId}] ${finding.message} (${normalizedPath}:${finding.line})`;
1083
+ }).join("\n");
1084
+ }
1085
+ async function collectPluginsCodeSafetyFindings(params) {
1086
+ const findings = [];
1087
+ const extensionsDir = path.join(params.stateDir, "extensions");
1088
+ const st = await safeStat(extensionsDir);
1089
+ if (!st.ok || !st.isDir) return findings;
1090
+ const pluginDirs = (await fs.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1091
+ findings.push({
1092
+ checkId: "plugins.code_safety.scan_failed",
1093
+ severity: "warn",
1094
+ title: "Plugin extensions directory scan failed",
1095
+ detail: `Static code scan could not list extensions directory: ${String(err)}`,
1096
+ remediation: "Check file permissions and plugin layout, then rerun `openclaw security audit --deep`."
1097
+ });
1098
+ return [];
1099
+ })).filter((e) => e.isDirectory()).map((e) => e.name);
1100
+ for (const pluginName of pluginDirs) {
1101
+ const pluginPath = path.join(extensionsDir, pluginName);
1102
+ const extensionEntries = await readPluginManifestExtensions(pluginPath).catch(() => []);
1103
+ const forcedScanEntries = [];
1104
+ const escapedEntries = [];
1105
+ for (const entry of extensionEntries) {
1106
+ const resolvedEntry = path.resolve(pluginPath, entry);
1107
+ if (!isPathInside(pluginPath, resolvedEntry)) {
1108
+ escapedEntries.push(entry);
1109
+ continue;
1110
+ }
1111
+ if (extensionUsesSkippedScannerPath(entry)) findings.push({
1112
+ checkId: "plugins.code_safety.entry_path",
1113
+ severity: "warn",
1114
+ title: `Plugin "${pluginName}" entry path is hidden or node_modules`,
1115
+ detail: `Extension entry "${entry}" points to a hidden or node_modules path. Deep code scan will cover this entry explicitly, but review this path choice carefully.`,
1116
+ remediation: "Prefer extension entrypoints under normal source paths like dist/ or src/."
1117
+ });
1118
+ forcedScanEntries.push(resolvedEntry);
1119
+ }
1120
+ if (escapedEntries.length > 0) findings.push({
1121
+ checkId: "plugins.code_safety.entry_escape",
1122
+ severity: "critical",
1123
+ title: `Plugin "${pluginName}" has extension entry path traversal`,
1124
+ detail: `Found extension entries that escape the plugin directory:\n${escapedEntries.map((entry) => ` - ${entry}`).join("\n")}`,
1125
+ remediation: "Update the plugin manifest so all openclaw.extensions entries stay inside the plugin directory."
1126
+ });
1127
+ const summary = await scanDirectoryWithSummary(pluginPath, { includeFiles: forcedScanEntries }).catch((err) => {
1128
+ findings.push({
1129
+ checkId: "plugins.code_safety.scan_failed",
1130
+ severity: "warn",
1131
+ title: `Plugin "${pluginName}" code scan failed`,
1132
+ detail: `Static code scan could not complete: ${String(err)}`,
1133
+ remediation: "Check file permissions and plugin layout, then rerun `openclaw security audit --deep`."
1134
+ });
1135
+ return null;
1136
+ });
1137
+ if (!summary) continue;
1138
+ if (summary.critical > 0) {
1139
+ const details = formatCodeSafetyDetails(summary.findings.filter((f) => f.severity === "critical"), pluginPath);
1140
+ findings.push({
1141
+ checkId: "plugins.code_safety",
1142
+ severity: "critical",
1143
+ title: `Plugin "${pluginName}" contains dangerous code patterns`,
1144
+ detail: `Found ${summary.critical} critical issue(s) in ${summary.scannedFiles} scanned file(s):\n${details}`,
1145
+ remediation: "Review the plugin source code carefully before use. If untrusted, remove the plugin from your OpenClaw extensions state directory."
1146
+ });
1147
+ } else if (summary.warn > 0) {
1148
+ const details = formatCodeSafetyDetails(summary.findings.filter((f) => f.severity === "warn"), pluginPath);
1149
+ findings.push({
1150
+ checkId: "plugins.code_safety",
1151
+ severity: "warn",
1152
+ title: `Plugin "${pluginName}" contains suspicious code patterns`,
1153
+ detail: `Found ${summary.warn} warning(s) in ${summary.scannedFiles} scanned file(s):\n${details}`,
1154
+ remediation: `Review the flagged code to ensure it is intentional and safe.`
1155
+ });
1156
+ }
1157
+ }
1158
+ return findings;
1159
+ }
1160
+ async function collectInstalledSkillsCodeSafetyFindings(params) {
1161
+ const findings = [];
1162
+ const pluginExtensionsDir = path.join(params.stateDir, "extensions");
1163
+ const scannedSkillDirs = /* @__PURE__ */ new Set();
1164
+ const workspaceDirs = listWorkspaceDirs(params.cfg);
1165
+ for (const workspaceDir of workspaceDirs) {
1166
+ const entries = loadWorkspaceSkillEntries(workspaceDir, { config: params.cfg });
1167
+ for (const entry of entries) {
1168
+ if (entry.skill.source === "openclaw-bundled") continue;
1169
+ const skillDir = path.resolve(entry.skill.baseDir);
1170
+ if (isPathInside(pluginExtensionsDir, skillDir)) continue;
1171
+ if (scannedSkillDirs.has(skillDir)) continue;
1172
+ scannedSkillDirs.add(skillDir);
1173
+ const skillName = entry.skill.name;
1174
+ const summary = await scanDirectoryWithSummary(skillDir).catch((err) => {
1175
+ findings.push({
1176
+ checkId: "skills.code_safety.scan_failed",
1177
+ severity: "warn",
1178
+ title: `Skill "${skillName}" code scan failed`,
1179
+ detail: `Static code scan could not complete for ${skillDir}: ${String(err)}`,
1180
+ remediation: "Check file permissions and skill layout, then rerun `openclaw security audit --deep`."
1181
+ });
1182
+ return null;
1183
+ });
1184
+ if (!summary) continue;
1185
+ if (summary.critical > 0) {
1186
+ const details = formatCodeSafetyDetails(summary.findings.filter((finding) => finding.severity === "critical"), skillDir);
1187
+ findings.push({
1188
+ checkId: "skills.code_safety",
1189
+ severity: "critical",
1190
+ title: `Skill "${skillName}" contains dangerous code patterns`,
1191
+ detail: `Found ${summary.critical} critical issue(s) in ${summary.scannedFiles} scanned file(s) under ${skillDir}:\n${details}`,
1192
+ remediation: `Review the skill source code before use. If untrusted, remove "${skillDir}".`
1193
+ });
1194
+ } else if (summary.warn > 0) {
1195
+ const details = formatCodeSafetyDetails(summary.findings.filter((finding) => finding.severity === "warn"), skillDir);
1196
+ findings.push({
1197
+ checkId: "skills.code_safety",
1198
+ severity: "warn",
1199
+ title: `Skill "${skillName}" contains suspicious code patterns`,
1200
+ detail: `Found ${summary.warn} warning(s) in ${summary.scannedFiles} scanned file(s) under ${skillDir}:\n${details}`,
1201
+ remediation: "Review flagged lines to ensure the behavior is intentional and safe."
1202
+ });
1203
+ }
1204
+ }
1205
+ }
1206
+ return findings;
1207
+ }
1048
1208
 
1049
1209
  //#endregion
1050
1210
  //#region src/security/audit.ts
@@ -1653,6 +1813,13 @@ async function runSecurityAudit(opts) {
1653
1813
  cfg,
1654
1814
  stateDir
1655
1815
  }));
1816
+ if (opts.deep === true) {
1817
+ findings.push(...await collectPluginsCodeSafetyFindings({ stateDir }));
1818
+ findings.push(...await collectInstalledSkillsCodeSafetyFindings({
1819
+ cfg,
1820
+ stateDir
1821
+ }));
1822
+ }
1656
1823
  }
1657
1824
  if (opts.includeChannelSecurity !== false) {
1658
1825
  const plugins = opts.plugins ?? listChannelPlugins();
@@ -1,5 +1,5 @@
1
- import { c as readTailscaleWhoisIdentity } from "./tailscale-BUcKO8Rr.js";
2
- import { i as parseForwardedForClientIp, o as resolveGatewayClientIp, r as isTrustedProxyAddress } from "./net-DaJz_a4n.js";
1
+ import { c as readTailscaleWhoisIdentity } from "./tailscale-BVGD9gSD.js";
2
+ import { i as parseForwardedForClientIp, o as resolveGatewayClientIp, r as isTrustedProxyAddress } from "./net-C8YRVt16.js";
3
3
  import { timingSafeEqual } from "node:crypto";
4
4
 
5
5
  //#region src/gateway/auth.ts
@@ -1,5 +1,5 @@
1
- import { c as readTailscaleWhoisIdentity } from "./tailscale-Cvk3mQDZ.js";
2
- import { i as parseForwardedForClientIp, o as resolveGatewayClientIp, r as isTrustedProxyAddress } from "./net-DeiCIMU6.js";
1
+ import { c as readTailscaleWhoisIdentity } from "./tailscale-9MusRvOi.js";
2
+ import { i as parseForwardedForClientIp, o as resolveGatewayClientIp, r as isTrustedProxyAddress } from "./net-CWMMy37F.js";
3
3
  import { timingSafeEqual } from "node:crypto";
4
4
 
5
5
  //#region src/gateway/auth.ts
@@ -1,4 +1,4 @@
1
- import { yt as resolveAuthProfileDisplayLabel } from "./auth-profiles-CfFGCDJa.js";
1
+ import { vt as resolveAuthProfileDisplayLabel } from "./auth-profiles-CYBuGiBb.js";
2
2
 
3
3
  //#region src/agents/auth-health.ts
4
4
  const DEFAULT_OAUTH_WARN_MS = 1440 * 60 * 1e3;
@@ -1,4 +1,4 @@
1
- import { gt as resolveAuthProfileDisplayLabel } from "./model-selection-Cp1maz7B.js";
1
+ import { ht as resolveAuthProfileDisplayLabel } from "./model-selection-DMUrNhQP.js";
2
2
 
3
3
  //#region src/agents/auth-health.ts
4
4
  const DEFAULT_OAUTH_WARN_MS = 1440 * 60 * 1e3;
@@ -1,8 +1,10 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
1
2
  import { X as resolveStateDir, Y as resolveOAuthPath, n as isTruthyEnvValue, o as createSubsystemLogger } from "./entry.js";
2
- import { t as formatCliCommand } from "./command-format-3xiXujG0.js";
3
- import { D as DEFAULT_AGENT_ID, a as resolveAgentModelPrimary } from "./agent-scope-jm0ZdXwM.js";
4
- import { m as resolveUserPath } from "./utils-PmTbZoD1.js";
5
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-rP-6QdKv.js";
3
+ import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
4
+ import { n as DEFAULT_AGENT_ID } from "./session-key-CZkcvAtx.js";
5
+ import { m as resolveUserPath } from "./utils-DX85MiPR.js";
6
+ import { a as resolveAgentModelPrimary } from "./agent-scope-C9VjJXEK.js";
7
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-SLWintYd.js";
6
8
  import { execFileSync, execSync } from "node:child_process";
7
9
  import path from "node:path";
8
10
  import fs from "node:fs";
@@ -46,7 +48,7 @@ function resolveAuthProfileDisplayLabel(params) {
46
48
  //#endregion
47
49
  //#region src/agents/defaults.ts
48
50
  const DEFAULT_PROVIDER = "anthropic";
49
- const DEFAULT_MODEL = "claude-opus-4-5";
51
+ const DEFAULT_MODEL = "claude-opus-4-6";
50
52
  const DEFAULT_CONTEXT_TOKENS = 2e5;
51
53
 
52
54
  //#endregion
@@ -466,7 +468,7 @@ async function resolveApiKeyForProvider(params) {
466
468
  const normalized = normalizeProviderId(provider);
467
469
  if (authOverride === void 0 && normalized === "amazon-bedrock") return resolveAwsSdkAuthInfo();
468
470
  if (provider === "openai") {
469
- if (listProfilesForProvider(store, "openai-codex").length > 0) throw new Error("No API key found for provider \"openai\". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.2 (ChatGPT OAuth) or set OPENAI_API_KEY for openai/gpt-5.2.");
471
+ if (listProfilesForProvider(store, "openai-codex").length > 0) throw new Error("No API key found for provider \"openai\". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.3-codex (OAuth) or set OPENAI_API_KEY to use openai/gpt-5.1-codex.");
470
472
  }
471
473
  const authStorePath = resolveAuthStorePathForDisplay(params.agentDir);
472
474
  const resolvedAgentDir = path.dirname(authStorePath);
@@ -519,7 +521,8 @@ function resolveEnvApiKey(provider) {
519
521
  synthetic: "SYNTHETIC_API_KEY",
520
522
  venice: "VENICE_API_KEY",
521
523
  mistral: "MISTRAL_API_KEY",
522
- opencode: "OPENCODE_API_KEY"
524
+ opencode: "OPENCODE_API_KEY",
525
+ ollama: "OLLAMA_API_KEY"
523
526
  }[normalized];
524
527
  if (!envVar) return null;
525
528
  return pick(envVar);
@@ -1138,7 +1141,8 @@ async function discoverOllamaModels() {
1138
1141
  input: ["text"],
1139
1142
  cost: OLLAMA_DEFAULT_COST,
1140
1143
  contextWindow: OLLAMA_DEFAULT_CONTEXT_WINDOW,
1141
- maxTokens: OLLAMA_DEFAULT_MAX_TOKENS
1144
+ maxTokens: OLLAMA_DEFAULT_MAX_TOKENS,
1145
+ params: { streaming: false }
1142
1146
  };
1143
1147
  });
1144
1148
  } catch (error) {
@@ -1480,6 +1484,11 @@ async function resolveImplicitBedrockProvider(params) {
1480
1484
 
1481
1485
  //#endregion
1482
1486
  //#region src/agents/model-selection.ts
1487
+ const ANTHROPIC_MODEL_ALIASES = {
1488
+ "opus-4.6": "claude-opus-4-6",
1489
+ "opus-4.5": "claude-opus-4-5",
1490
+ "sonnet-4.5": "claude-sonnet-4-5"
1491
+ };
1483
1492
  function normalizeAliasKey(value) {
1484
1493
  return value.trim().toLowerCase();
1485
1494
  }
@@ -1504,10 +1513,7 @@ function isCliProvider(provider, cfg) {
1504
1513
  function normalizeAnthropicModelId(model) {
1505
1514
  const trimmed = model.trim();
1506
1515
  if (!trimmed) return trimmed;
1507
- const lower = trimmed.toLowerCase();
1508
- if (lower === "opus-4.5") return "claude-opus-4-5";
1509
- if (lower === "sonnet-4.5") return "claude-sonnet-4-5";
1510
- return trimmed;
1516
+ return ANTHROPIC_MODEL_ALIASES[trimmed.toLowerCase()] ?? trimmed;
1511
1517
  }
1512
1518
  function normalizeProviderModelId(provider, model) {
1513
1519
  if (provider === "anthropic") return normalizeAnthropicModelId(model);
@@ -1533,6 +1539,21 @@ function parseModelRef(raw, defaultProvider) {
1533
1539
  model: normalizeProviderModelId(provider, model)
1534
1540
  };
1535
1541
  }
1542
+ function resolveAllowlistModelKey(raw, defaultProvider) {
1543
+ const parsed = parseModelRef(raw, defaultProvider);
1544
+ if (!parsed) return null;
1545
+ return modelKey(parsed.provider, parsed.model);
1546
+ }
1547
+ function buildConfiguredAllowlistKeys(params) {
1548
+ const rawAllowlist = Object.keys(params.cfg?.agents?.defaults?.models ?? {});
1549
+ if (rawAllowlist.length === 0) return null;
1550
+ const keys = /* @__PURE__ */ new Set();
1551
+ for (const raw of rawAllowlist) {
1552
+ const key = resolveAllowlistModelKey(String(raw ?? ""), params.defaultProvider);
1553
+ if (key) keys.add(key);
1554
+ }
1555
+ return keys.size > 0 ? keys : null;
1556
+ }
1536
1557
  function buildModelAliasIndex(params) {
1537
1558
  const byAlias = /* @__PURE__ */ new Map();
1538
1559
  const byKey = /* @__PURE__ */ new Map();
@@ -2910,4 +2931,8 @@ function orderProfilesByMode(order, store) {
2910
2931
  }
2911
2932
 
2912
2933
  //#endregion
2913
- export { buildSyntheticModelDefinition as $, modelKey as A, buildXiaomiProvider as B, resolveAuthStorePath as C, buildModelAliasIndex as D, buildAllowedModelSet as E, resolveDefaultModelForAgent as F, resolveImplicitProviders as G, normalizeProviders as H, resolveHooksGmailModel as I, VENICE_MODEL_CATALOG as J, VENICE_BASE_URL as K, resolveModelRefFromString as L, parseModelRef as M, resolveAllowedModelRef as N, getModelRefStatus as O, resolveConfiguredModelRef as P, SYNTHETIC_MODEL_CATALOG as Q, resolveThinkingDefault as R, updateAuthProfileStoreWithLock as S, resolveOpenClawAgentDir as T, resolveImplicitBedrockProvider as U, normalizeGoogleModelId as V, resolveImplicitCopilotProvider as W, SYNTHETIC_BASE_URL as X, buildVeniceModelDefinition as Y, SYNTHETIC_DEFAULT_MODEL_REF as Z, setAuthProfileOrder as _, DEFAULT_MODEL as _t, markAuthProfileUsed as a, resolveEnvApiKey as at, loadAuthProfileStore as b, CLAUDE_CLI_PROFILE_ID as bt, CHUTES_AUTHORIZE_ENDPOINT as c, getShellPathFromLoginShell as ct, parseOAuthCallbackInput as d, shouldDeferShellEnvFallback as dt, getApiKeyForModel as et, formatAuthDoctorHint as f, shouldEnableShellEnvFallback as ft, markAuthProfileGood as g, DEFAULT_CONTEXT_TOKENS as gt, listProfilesForProvider as h, resolveCloudflareAiGatewayBaseUrl as ht, markAuthProfileFailure as i, resolveAwsSdkEnvVarName as it, normalizeProviderId as j, isCliProvider as k, exchangeChutesCodeForTokens as l, loadShellEnvFallback as lt, suggestOAuthProfileIdForLegacyDefault as m, buildCloudflareAiGatewayModelDefinition as mt, calculateAuthProfileCooldownMs as n, requireApiKey as nt, resolveProfileUnusableUntilForDisplay as o, resolveModelAuthMode as ot, repairOAuthProfileIdMismatch as p, CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF as pt, VENICE_DEFAULT_MODEL_REF as q, isProfileInCooldown as r, resolveApiKeyForProvider as rt, resolveApiKeyForProfile as s, getShellEnvAppliedKeys as st, resolveAuthProfileOrder as t, getCustomProviderApiKey as tt, generateChutesPkce as u, resolveShellEnvFallbackTimeoutMs as ut, upsertAuthProfile as v, DEFAULT_PROVIDER as vt, resolveAuthStorePathForDisplay as w, saveAuthProfileStore as x, CODEX_CLI_PROFILE_ID as xt, ensureAuthProfileStore as y, resolveAuthProfileDisplayLabel as yt, XIAOMI_DEFAULT_MODEL_ID as z };
2934
+ //#region src/agents/auth-profiles.ts
2935
+ var auth_profiles_exports = /* @__PURE__ */ __exportAll({ ensureAuthProfileStore: () => ensureAuthProfileStore });
2936
+
2937
+ //#endregion
2938
+ export { getApiKeyForModel as $, parseModelRef as A, normalizeGoogleModelId as B, buildAllowedModelSet as C, isCliProvider as D, getModelRefStatus as E, resolveHooksGmailModel as F, VENICE_BASE_URL as G, resolveImplicitBedrockProvider as H, resolveModelRefFromString as I, buildVeniceModelDefinition as J, VENICE_DEFAULT_MODEL_REF as K, resolveThinkingDefault as L, resolveAllowlistModelKey as M, resolveConfiguredModelRef as N, modelKey as O, resolveDefaultModelForAgent as P, buildSyntheticModelDefinition as Q, XIAOMI_DEFAULT_MODEL_ID as R, resolveOpenClawAgentDir as S, buildModelAliasIndex as T, resolveImplicitCopilotProvider as U, normalizeProviders as V, resolveImplicitProviders as W, SYNTHETIC_DEFAULT_MODEL_REF as X, SYNTHETIC_BASE_URL as Y, SYNTHETIC_MODEL_CATALOG as Z, ensureAuthProfileStore as _, DEFAULT_PROVIDER as _t, markAuthProfileUsed as a, resolveModelAuthMode as at, resolveAuthStorePath as b, CODEX_CLI_PROFILE_ID as bt, CHUTES_AUTHORIZE_ENDPOINT as c, loadShellEnvFallback as ct, parseOAuthCallbackInput as d, shouldEnableShellEnvFallback as dt, getCustomProviderApiKey as et, repairOAuthProfileIdMismatch as f, CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF as ft, upsertAuthProfile as g, DEFAULT_MODEL as gt, setAuthProfileOrder as h, DEFAULT_CONTEXT_TOKENS as ht, markAuthProfileFailure as i, resolveEnvApiKey as it, resolveAllowedModelRef as j, normalizeProviderId as k, exchangeChutesCodeForTokens as l, resolveShellEnvFallbackTimeoutMs as lt, markAuthProfileGood as m, resolveCloudflareAiGatewayBaseUrl as mt, resolveAuthProfileOrder as n, resolveApiKeyForProvider as nt, resolveProfileUnusableUntilForDisplay as o, getShellEnvAppliedKeys as ot, listProfilesForProvider as p, buildCloudflareAiGatewayModelDefinition as pt, VENICE_MODEL_CATALOG as q, isProfileInCooldown as r, resolveAwsSdkEnvVarName as rt, resolveApiKeyForProfile as s, getShellPathFromLoginShell as st, auth_profiles_exports as t, requireApiKey as tt, generateChutesPkce as u, shouldDeferShellEnvFallback as ut, loadAuthProfileStore as v, resolveAuthProfileDisplayLabel as vt, buildConfiguredAllowlistKeys as w, resolveAuthStorePathForDisplay as x, updateAuthProfileStoreWithLock as y, CLAUDE_CLI_PROFILE_ID as yt, buildXiaomiProvider as z };
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.4",
2
+ "version": "2026.2.5",
3
3
  "commit": null,
4
- "builtAt": "2026-02-04T12:21:23.568Z"
4
+ "builtAt": "2026-02-06T09:28:05.538Z"
5
5
  }