@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,21 +1,19 @@
1
- import { p as defaultRuntime } from "./entry.js";
2
- import { A as modelKey, D as buildModelAliasIndex, E as buildAllowedModelSet, P as resolveConfiguredModelRef, T as resolveOpenClawAgentDir, Z as SYNTHETIC_DEFAULT_MODEL_REF, _t as DEFAULT_MODEL, at as resolveEnvApiKey, c as CHUTES_AUTHORIZE_ENDPOINT, d as parseOAuthCallbackInput, h as listProfilesForProvider, j as normalizeProviderId, l as exchangeChutesCodeForTokens, pt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, q as VENICE_DEFAULT_MODEL_REF, t as resolveAuthProfileOrder, tt as getCustomProviderApiKey, u as generateChutesPkce, v as upsertAuthProfile, vt as DEFAULT_PROVIDER, y as ensureAuthProfileStore } from "./auth-profiles-CfFGCDJa.js";
3
- import { t as formatCliCommand } from "./command-format-3xiXujG0.js";
4
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-jm0ZdXwM.js";
5
- import { d as resolveConfigDir, m as resolveUserPath, o as ensureDir, t as CONFIG_DIR } from "./utils-PmTbZoD1.js";
6
- import { t as runCommandWithTimeout } from "./exec-BIMFe4XS.js";
7
- import { n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-Dean7Fp2.js";
8
- import { t as resolveBrewExecutable } from "./brew-Qdppmdlx.js";
9
- import { Kt as loadModelCatalog, m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-BYWxo-_j.js";
10
- import { a as enablePluginInConfig } from "./onboard-channels-CF7lTDNu.js";
11
- import { L as fetchWithSsrFGuard } from "./deliver-eE21zdeQ.js";
12
- import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-DtwGIkTI.js";
13
- import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-D4yoSNNw.js";
14
- import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXiaomiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXiaomiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyZaiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as KIMI_CODING_MODEL_REF, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as validateAnthropicSetupToken, b as applyCloudflareAiGatewayProviderConfig, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as buildTokenProfileId, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, m as applyMinimaxApiConfig, nt as setZaiApiKey, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as writeOAuthCredentials, t as githubCopilotLoginCommand, tt as setXiaomiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as MOONSHOT_DEFAULT_MODEL_REF } from "./github-copilot-auth-BHLcQ1sN.js";
15
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CWkBweWW.js";
1
+ import { C as buildAllowedModelSet, K as VENICE_DEFAULT_MODEL_REF, M as resolveAllowlistModelKey, N as resolveConfiguredModelRef, O as modelKey, S as resolveOpenClawAgentDir, T as buildModelAliasIndex, X as SYNTHETIC_DEFAULT_MODEL_REF, _ as ensureAuthProfileStore, _t as DEFAULT_PROVIDER, c as CHUTES_AUTHORIZE_ENDPOINT, d as parseOAuthCallbackInput, et as getCustomProviderApiKey, ft as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, g as upsertAuthProfile, gt as DEFAULT_MODEL, it as resolveEnvApiKey, k as normalizeProviderId, l as exchangeChutesCodeForTokens, n as resolveAuthProfileOrder, p as listProfilesForProvider, u as generateChutesPkce } from "./auth-profiles-CYBuGiBb.js";
2
+ import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
3
+ import { d as resolveConfigDir, m as resolveUserPath, o as ensureDir, t as CONFIG_DIR } from "./utils-DX85MiPR.js";
4
+ import { t as runCommandWithTimeout } from "./exec-B8JKbXKW.js";
5
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-C9VjJXEK.js";
6
+ import { t as resolveBrewExecutable } from "./brew-CcZV0dSS.js";
7
+ import { Kt as loadModelCatalog, m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-_Pj-TZS2.js";
8
+ import { a as enablePluginInConfig } from "./onboard-channels-D-ZQTy5V.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-Bp1D9gra.js";
10
+ import { R as fetchWithSsrFGuard } from "./deliver-Cau4HL7W.js";
11
+ import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-CmU0Q92f.js";
12
+ import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-CsSylzXH.js";
13
+ import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-B_lK1g__.js";
14
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-DtXrj3fy.js";
16
15
  import path from "node:path";
17
16
  import fs from "node:fs";
18
- import { fileURLToPath } from "node:url";
19
17
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
20
18
  import { randomBytes } from "node:crypto";
21
19
  import { createServer } from "node:http";
@@ -402,148 +400,15 @@ async function discoverGatewayBeacons(opts = {}) {
402
400
  return [];
403
401
  }
404
402
 
405
- //#endregion
406
- //#region src/infra/control-ui-assets.ts
407
- function resolveControlUiRepoRoot(argv1 = process.argv[1]) {
408
- if (!argv1) return null;
409
- const normalized = path.resolve(argv1);
410
- const parts = normalized.split(path.sep);
411
- const srcIndex = parts.lastIndexOf("src");
412
- if (srcIndex !== -1) {
413
- const root = parts.slice(0, srcIndex).join(path.sep);
414
- if (fs.existsSync(path.join(root, "ui", "vite.config.ts"))) return root;
415
- }
416
- let dir = path.dirname(normalized);
417
- for (let i = 0; i < 8; i++) {
418
- if (fs.existsSync(path.join(dir, "package.json")) && fs.existsSync(path.join(dir, "ui", "vite.config.ts"))) return dir;
419
- const parent = path.dirname(dir);
420
- if (parent === dir) break;
421
- dir = parent;
422
- }
423
- return null;
424
- }
425
- async function resolveControlUiDistIndexPath(argv1 = process.argv[1]) {
426
- if (!argv1) return null;
427
- const normalized = path.resolve(argv1);
428
- const distDir = path.dirname(normalized);
429
- if (path.basename(distDir) === "dist") return path.join(distDir, "control-ui", "index.html");
430
- const packageRoot = await resolveOpenClawPackageRoot({ argv1: normalized });
431
- if (!packageRoot) return null;
432
- return path.join(packageRoot, "dist", "control-ui", "index.html");
433
- }
434
- function addCandidate(candidates, value) {
435
- if (!value) return;
436
- candidates.add(path.resolve(value));
437
- }
438
- function resolveControlUiRootOverrideSync(rootOverride) {
439
- const resolved = path.resolve(rootOverride);
440
- try {
441
- const stats = fs.statSync(resolved);
442
- if (stats.isFile()) return path.basename(resolved) === "index.html" ? path.dirname(resolved) : null;
443
- if (stats.isDirectory()) {
444
- const indexPath = path.join(resolved, "index.html");
445
- return fs.existsSync(indexPath) ? resolved : null;
446
- }
447
- } catch {
448
- return null;
449
- }
450
- return null;
451
- }
452
- function resolveControlUiRootSync(opts = {}) {
453
- const candidates = /* @__PURE__ */ new Set();
454
- const argv1 = opts.argv1 ?? process.argv[1];
455
- const cwd = opts.cwd ?? process.cwd();
456
- const moduleDir = opts.moduleUrl ? path.dirname(fileURLToPath(opts.moduleUrl)) : null;
457
- const argv1Dir = argv1 ? path.dirname(path.resolve(argv1)) : null;
458
- const execDir = (() => {
459
- try {
460
- const execPath = opts.execPath ?? process.execPath;
461
- return path.dirname(fs.realpathSync(execPath));
462
- } catch {
463
- return null;
464
- }
465
- })();
466
- const packageRoot = resolveOpenClawPackageRootSync({
467
- argv1,
468
- moduleUrl: opts.moduleUrl,
469
- cwd
470
- });
471
- addCandidate(candidates, execDir ? path.join(execDir, "control-ui") : null);
472
- if (moduleDir) {
473
- addCandidate(candidates, path.join(moduleDir, "control-ui"));
474
- addCandidate(candidates, path.join(moduleDir, "../control-ui"));
475
- addCandidate(candidates, path.join(moduleDir, "../../dist/control-ui"));
476
- }
477
- if (argv1Dir) {
478
- addCandidate(candidates, path.join(argv1Dir, "dist", "control-ui"));
479
- addCandidate(candidates, path.join(argv1Dir, "control-ui"));
480
- }
481
- if (packageRoot) addCandidate(candidates, path.join(packageRoot, "dist", "control-ui"));
482
- addCandidate(candidates, path.join(cwd, "dist", "control-ui"));
483
- for (const dir of candidates) {
484
- const indexPath = path.join(dir, "index.html");
485
- if (fs.existsSync(indexPath)) return dir;
486
- }
487
- return null;
488
- }
489
- function summarizeCommandOutput(text) {
490
- const lines = text.split(/\r?\n/g).map((l) => l.trim()).filter(Boolean);
491
- if (!lines.length) return;
492
- const last = lines.at(-1);
493
- if (!last) return;
494
- return last.length > 240 ? `${last.slice(0, 239)}…` : last;
495
- }
496
- async function ensureControlUiAssetsBuilt(runtime = defaultRuntime, opts) {
497
- const indexFromDist = await resolveControlUiDistIndexPath(process.argv[1]);
498
- if (indexFromDist && fs.existsSync(indexFromDist)) return {
499
- ok: true,
500
- built: false
501
- };
502
- const repoRoot = resolveControlUiRepoRoot(process.argv[1]);
503
- if (!repoRoot) return {
504
- ok: false,
505
- built: false,
506
- message: `${indexFromDist ? `Missing Control UI assets at ${indexFromDist}` : "Missing Control UI assets"}. Build them with \`pnpm ui:build\` (auto-installs UI deps).`
507
- };
508
- const indexPath = path.join(repoRoot, "dist", "control-ui", "index.html");
509
- if (fs.existsSync(indexPath)) return {
510
- ok: true,
511
- built: false
512
- };
513
- const uiScript = path.join(repoRoot, "scripts", "ui.js");
514
- if (!fs.existsSync(uiScript)) return {
515
- ok: false,
516
- built: false,
517
- message: `Control UI assets missing but ${uiScript} is unavailable.`
518
- };
519
- runtime.log("Control UI assets missing; building (ui:build, auto-installs UI deps)…");
520
- const build = await runCommandWithTimeout([
521
- process.execPath,
522
- uiScript,
523
- "build"
524
- ], {
525
- cwd: repoRoot,
526
- timeoutMs: opts?.timeoutMs ?? 10 * 6e4
527
- });
528
- if (build.code !== 0) return {
529
- ok: false,
530
- built: false,
531
- message: `Control UI build failed: ${summarizeCommandOutput(build.stderr) ?? `exit ${build.code}`}`
532
- };
533
- if (!fs.existsSync(indexPath)) return {
534
- ok: false,
535
- built: true,
536
- message: `Control UI build completed but ${indexPath} is still missing.`
537
- };
538
- return {
539
- ok: true,
540
- built: true
541
- };
542
- }
543
-
544
403
  //#endregion
545
404
  //#region src/commands/auth-choice-options.ts
546
405
  const AUTH_CHOICE_GROUP_DEFS = [
406
+ {
407
+ value: "xai",
408
+ label: "xAI (Grok)",
409
+ hint: "API key",
410
+ choices: ["xai-api-key"]
411
+ },
547
412
  {
548
413
  value: "openai",
549
414
  label: "OpenAI",
@@ -671,6 +536,10 @@ function buildAuthChoiceOptions(params) {
671
536
  value: "openrouter-api-key",
672
537
  label: "OpenRouter API key"
673
538
  });
539
+ options.push({
540
+ value: "xai-api-key",
541
+ label: "xAI (Grok) API key"
542
+ });
674
543
  options.push({
675
544
  value: "ai-gateway-api-key",
676
545
  label: "Vercel AI Gateway API key"
@@ -918,6 +787,28 @@ async function applyAuthChoiceAnthropic(params) {
918
787
  return null;
919
788
  }
920
789
 
790
+ //#endregion
791
+ //#region src/commands/model-allowlist.ts
792
+ function ensureModelAllowlistEntry(params) {
793
+ const rawModelRef = params.modelRef.trim();
794
+ if (!rawModelRef) return params.cfg;
795
+ const models = { ...params.cfg.agents?.defaults?.models };
796
+ const keySet = new Set([rawModelRef]);
797
+ const canonicalKey = resolveAllowlistModelKey(rawModelRef, params.defaultProvider ?? DEFAULT_PROVIDER);
798
+ if (canonicalKey) keySet.add(canonicalKey);
799
+ for (const key of keySet) models[key] = { ...models[key] };
800
+ return {
801
+ ...params.cfg,
802
+ agents: {
803
+ ...params.cfg.agents,
804
+ defaults: {
805
+ ...params.cfg.agents?.defaults,
806
+ models
807
+ }
808
+ }
809
+ };
810
+ }
811
+
921
812
  //#endregion
922
813
  //#region src/commands/auth-choice.default-model.ts
923
814
  async function applyDefaultModelChoice(params) {
@@ -926,10 +817,13 @@ async function applyDefaultModelChoice(params) {
926
817
  if (params.noteDefault) await params.prompter.note(`Default model set to ${params.noteDefault}`, "Model configured");
927
818
  return { config: next };
928
819
  }
929
- const next = params.applyProviderConfig(params.config);
820
+ const nextWithModel = ensureModelAllowlistEntry({
821
+ cfg: params.applyProviderConfig(params.config),
822
+ modelRef: params.defaultModel
823
+ });
930
824
  await params.noteAgentModel(params.defaultModel);
931
825
  return {
932
- config: next,
826
+ config: nextWithModel,
933
827
  agentModelOverride: params.defaultModel
934
828
  };
935
829
  }
@@ -966,7 +860,7 @@ function applyGoogleGeminiModelDefault(cfg) {
966
860
 
967
861
  //#endregion
968
862
  //#region src/commands/opencode-zen-model-default.ts
969
- const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-5";
863
+ const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-6";
970
864
 
971
865
  //#endregion
972
866
  //#region src/commands/auth-choice.apply.api-providers.ts
@@ -1567,7 +1461,7 @@ async function applyAuthChoiceApiProviders(params) {
1567
1461
  if (!hasCredential) await params.prompter.note([
1568
1462
  "OpenCode Zen provides access to Claude, GPT, Gemini, and more models.",
1569
1463
  "Get your API key at: https://opencode.ai/auth",
1570
- "Requires an active OpenCode Zen subscription."
1464
+ "OpenCode Zen bills per request. Check your OpenCode dashboard for details."
1571
1465
  ].join("\n"), "OpenCode Zen");
1572
1466
  const envKey = resolveEnvApiKey("opencode");
1573
1467
  if (envKey) {
@@ -2143,7 +2037,7 @@ function upsertSharedEnvVar(params) {
2143
2037
 
2144
2038
  //#endregion
2145
2039
  //#region src/commands/openai-codex-model-default.ts
2146
- const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.2";
2040
+ const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
2147
2041
  function shouldSetOpenAICodexModel(model) {
2148
2042
  const trimmed = model?.trim();
2149
2043
  if (!trimmed) return true;
@@ -2179,12 +2073,59 @@ function applyOpenAICodexModelDefault(cfg) {
2179
2073
  };
2180
2074
  }
2181
2075
 
2076
+ //#endregion
2077
+ //#region src/commands/openai-model-default.ts
2078
+ const OPENAI_DEFAULT_MODEL = "openai/gpt-5.1-codex";
2079
+ function applyOpenAIProviderConfig(cfg) {
2080
+ const next = ensureModelAllowlistEntry({
2081
+ cfg,
2082
+ modelRef: OPENAI_DEFAULT_MODEL
2083
+ });
2084
+ const models = { ...next.agents?.defaults?.models };
2085
+ models[OPENAI_DEFAULT_MODEL] = {
2086
+ ...models[OPENAI_DEFAULT_MODEL],
2087
+ alias: models[OPENAI_DEFAULT_MODEL]?.alias ?? "GPT"
2088
+ };
2089
+ return {
2090
+ ...next,
2091
+ agents: {
2092
+ ...next.agents,
2093
+ defaults: {
2094
+ ...next.agents?.defaults,
2095
+ models
2096
+ }
2097
+ }
2098
+ };
2099
+ }
2100
+ function applyOpenAIConfig(cfg) {
2101
+ const next = applyOpenAIProviderConfig(cfg);
2102
+ return {
2103
+ ...next,
2104
+ agents: {
2105
+ ...next.agents,
2106
+ defaults: {
2107
+ ...next.agents?.defaults,
2108
+ model: next.agents?.defaults?.model && typeof next.agents.defaults.model === "object" ? {
2109
+ ...next.agents.defaults.model,
2110
+ primary: OPENAI_DEFAULT_MODEL
2111
+ } : { primary: OPENAI_DEFAULT_MODEL }
2112
+ }
2113
+ }
2114
+ };
2115
+ }
2116
+
2182
2117
  //#endregion
2183
2118
  //#region src/commands/auth-choice.apply.openai.ts
2184
2119
  async function applyAuthChoiceOpenAI(params) {
2185
2120
  let authChoice = params.authChoice;
2186
2121
  if (authChoice === "apiKey" && params.opts?.tokenProvider === "openai") authChoice = "openai-api-key";
2187
2122
  if (authChoice === "openai-api-key") {
2123
+ let nextConfig = params.config;
2124
+ let agentModelOverride;
2125
+ const noteAgentModel = async (model) => {
2126
+ if (!params.agentId) return;
2127
+ await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
2128
+ };
2188
2129
  const envKey = resolveEnvApiKey("openai");
2189
2130
  if (envKey) {
2190
2131
  if (await params.prompter.confirm({
@@ -2197,7 +2138,22 @@ async function applyAuthChoiceOpenAI(params) {
2197
2138
  });
2198
2139
  if (!process.env.OPENAI_API_KEY) process.env.OPENAI_API_KEY = envKey.apiKey;
2199
2140
  await params.prompter.note(`Copied OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
2200
- return { config: params.config };
2141
+ const applied = await applyDefaultModelChoice({
2142
+ config: nextConfig,
2143
+ setDefaultModel: params.setDefaultModel,
2144
+ defaultModel: OPENAI_DEFAULT_MODEL,
2145
+ applyDefaultConfig: applyOpenAIConfig,
2146
+ applyProviderConfig: applyOpenAIProviderConfig,
2147
+ noteDefault: OPENAI_DEFAULT_MODEL,
2148
+ noteAgentModel,
2149
+ prompter: params.prompter
2150
+ });
2151
+ nextConfig = applied.config;
2152
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
2153
+ return {
2154
+ config: nextConfig,
2155
+ agentModelOverride
2156
+ };
2201
2157
  }
2202
2158
  }
2203
2159
  let key;
@@ -2213,7 +2169,22 @@ async function applyAuthChoiceOpenAI(params) {
2213
2169
  });
2214
2170
  process.env.OPENAI_API_KEY = trimmed;
2215
2171
  await params.prompter.note(`Saved OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
2216
- return { config: params.config };
2172
+ const applied = await applyDefaultModelChoice({
2173
+ config: nextConfig,
2174
+ setDefaultModel: params.setDefaultModel,
2175
+ defaultModel: OPENAI_DEFAULT_MODEL,
2176
+ applyDefaultConfig: applyOpenAIConfig,
2177
+ applyProviderConfig: applyOpenAIProviderConfig,
2178
+ noteDefault: OPENAI_DEFAULT_MODEL,
2179
+ noteAgentModel,
2180
+ prompter: params.prompter
2181
+ });
2182
+ nextConfig = applied.config;
2183
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
2184
+ return {
2185
+ config: nextConfig,
2186
+ agentModelOverride
2187
+ };
2217
2188
  }
2218
2189
  if (params.authChoice === "openai-codex") {
2219
2190
  let nextConfig = params.config;
@@ -2289,6 +2260,66 @@ async function applyAuthChoiceQwenPortal(params) {
2289
2260
  });
2290
2261
  }
2291
2262
 
2263
+ //#endregion
2264
+ //#region src/commands/auth-choice.apply.xai.ts
2265
+ async function applyAuthChoiceXAI(params) {
2266
+ if (params.authChoice !== "xai-api-key") return null;
2267
+ let nextConfig = params.config;
2268
+ let agentModelOverride;
2269
+ const noteAgentModel = async (model) => {
2270
+ if (!params.agentId) return;
2271
+ await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
2272
+ };
2273
+ let hasCredential = false;
2274
+ const optsKey = params.opts?.xaiApiKey?.trim();
2275
+ if (optsKey) {
2276
+ setXaiApiKey(normalizeApiKeyInput(optsKey), params.agentDir);
2277
+ hasCredential = true;
2278
+ }
2279
+ if (!hasCredential) {
2280
+ const envKey = resolveEnvApiKey("xai");
2281
+ if (envKey) {
2282
+ if (await params.prompter.confirm({
2283
+ message: `Use existing XAI_API_KEY (${envKey.source}, ${formatApiKeyPreview(envKey.apiKey)})?`,
2284
+ initialValue: true
2285
+ })) {
2286
+ setXaiApiKey(envKey.apiKey, params.agentDir);
2287
+ hasCredential = true;
2288
+ }
2289
+ }
2290
+ }
2291
+ if (!hasCredential) {
2292
+ const key = await params.prompter.text({
2293
+ message: "Enter xAI API key",
2294
+ validate: validateApiKeyInput
2295
+ });
2296
+ setXaiApiKey(normalizeApiKeyInput(String(key)), params.agentDir);
2297
+ }
2298
+ nextConfig = applyAuthProfileConfig(nextConfig, {
2299
+ profileId: "xai:default",
2300
+ provider: "xai",
2301
+ mode: "api_key"
2302
+ });
2303
+ {
2304
+ const applied = await applyDefaultModelChoice({
2305
+ config: nextConfig,
2306
+ setDefaultModel: params.setDefaultModel,
2307
+ defaultModel: XAI_DEFAULT_MODEL_REF,
2308
+ applyDefaultConfig: applyXaiConfig,
2309
+ applyProviderConfig: applyXaiProviderConfig,
2310
+ noteDefault: XAI_DEFAULT_MODEL_REF,
2311
+ noteAgentModel,
2312
+ prompter: params.prompter
2313
+ });
2314
+ nextConfig = applied.config;
2315
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
2316
+ }
2317
+ return {
2318
+ config: nextConfig,
2319
+ agentModelOverride
2320
+ };
2321
+ }
2322
+
2292
2323
  //#endregion
2293
2324
  //#region src/commands/auth-choice.apply.ts
2294
2325
  async function applyAuthChoice(params) {
@@ -2302,7 +2333,8 @@ async function applyAuthChoice(params) {
2302
2333
  applyAuthChoiceGoogleAntigravity,
2303
2334
  applyAuthChoiceGoogleGeminiCli,
2304
2335
  applyAuthChoiceCopilotProxy,
2305
- applyAuthChoiceQwenPortal
2336
+ applyAuthChoiceQwenPortal,
2337
+ applyAuthChoiceXAI
2306
2338
  ];
2307
2339
  for (const handler of handlers) {
2308
2340
  const result = await handler(params);
@@ -2384,6 +2416,7 @@ const PREFERRED_PROVIDER_BY_AUTH_CHOICE = {
2384
2416
  "minimax-api-lightning": "minimax",
2385
2417
  minimax: "lmstudio",
2386
2418
  "opencode-zen": "opencode",
2419
+ "xai-api-key": "xai",
2387
2420
  "qwen-portal": "qwen-portal",
2388
2421
  "minimax-portal": "minimax-portal"
2389
2422
  };
@@ -2583,7 +2616,7 @@ async function promptModelAllowlist(params) {
2583
2616
  const raw = await params.prompter.text({
2584
2617
  message: params.message ?? "Allowlist models (comma-separated provider/model; blank to keep current)",
2585
2618
  initialValue: existingKeys.join(", "),
2586
- placeholder: "openai-codex/gpt-5.2, anthropic/claude-opus-4-5"
2619
+ placeholder: `${OPENAI_CODEX_DEFAULT_MODEL}, anthropic/claude-opus-4-6`
2587
2620
  });
2588
2621
  const parsed = String(raw ?? "").split(",").map((value) => value.trim()).filter((value) => value.length > 0);
2589
2622
  if (parsed.length === 0) return {};
@@ -2859,6 +2892,33 @@ function formatInstallFailureMessage(result) {
2859
2892
  if (!summary) return `Install failed (${code})`;
2860
2893
  return `Install failed (${code}): ${summary}`;
2861
2894
  }
2895
+ function withWarnings(result, warnings) {
2896
+ if (warnings.length === 0) return result;
2897
+ return {
2898
+ ...result,
2899
+ warnings: warnings.slice()
2900
+ };
2901
+ }
2902
+ function formatScanFindingDetail(rootDir, finding) {
2903
+ const relativePath = path.relative(rootDir, finding.file);
2904
+ const filePath = relativePath && relativePath !== "." && !relativePath.startsWith("..") ? relativePath : path.basename(finding.file);
2905
+ return `${finding.message} (${filePath}:${finding.line})`;
2906
+ }
2907
+ async function collectSkillInstallScanWarnings(entry) {
2908
+ const warnings = [];
2909
+ const skillName = entry.skill.name;
2910
+ const skillDir = path.resolve(entry.skill.baseDir);
2911
+ try {
2912
+ const summary = await scanDirectoryWithSummary(skillDir);
2913
+ if (summary.critical > 0) {
2914
+ const criticalDetails = summary.findings.filter((finding) => finding.severity === "critical").map((finding) => formatScanFindingDetail(skillDir, finding)).join("; ");
2915
+ warnings.push(`WARNING: Skill "${skillName}" contains dangerous code patterns: ${criticalDetails}`);
2916
+ } else if (summary.warn > 0) warnings.push(`Skill "${skillName}" has ${summary.warn} suspicious code pattern(s). Run "openclaw security audit --deep" for details.`);
2917
+ } catch (err) {
2918
+ warnings.push(`Skill "${skillName}" code safety scan failed (${String(err)}). Installation continues; run "openclaw security audit --deep" after install.`);
2919
+ }
2920
+ return warnings;
2921
+ }
2862
2922
  function resolveInstallId(spec, index) {
2863
2923
  return (spec.id ?? `${spec.kind}-${index}`).trim();
2864
2924
  }
@@ -3093,61 +3153,62 @@ async function installSkill(params) {
3093
3153
  code: null
3094
3154
  };
3095
3155
  const spec = findInstallSpec(entry, params.installId);
3096
- if (!spec) return {
3156
+ const warnings = await collectSkillInstallScanWarnings(entry);
3157
+ if (!spec) return withWarnings({
3097
3158
  ok: false,
3098
3159
  message: `Installer not found: ${params.installId}`,
3099
3160
  stdout: "",
3100
3161
  stderr: "",
3101
3162
  code: null
3102
- };
3103
- if (spec.kind === "download") return await installDownloadSpec({
3163
+ }, warnings);
3164
+ if (spec.kind === "download") return withWarnings(await installDownloadSpec({
3104
3165
  entry,
3105
3166
  spec,
3106
3167
  timeoutMs
3107
- });
3168
+ }), warnings);
3108
3169
  const command = buildInstallCommand(spec, resolveSkillsInstallPreferences(params.config));
3109
- if (command.error) return {
3170
+ if (command.error) return withWarnings({
3110
3171
  ok: false,
3111
3172
  message: command.error,
3112
3173
  stdout: "",
3113
3174
  stderr: "",
3114
3175
  code: null
3115
- };
3176
+ }, warnings);
3116
3177
  const brewExe = hasBinary("brew") ? "brew" : resolveBrewExecutable();
3117
- if (spec.kind === "brew" && !brewExe) return {
3178
+ if (spec.kind === "brew" && !brewExe) return withWarnings({
3118
3179
  ok: false,
3119
3180
  message: "brew not installed",
3120
3181
  stdout: "",
3121
3182
  stderr: "",
3122
3183
  code: null
3123
- };
3184
+ }, warnings);
3124
3185
  if (spec.kind === "uv" && !hasBinary("uv")) if (brewExe) {
3125
3186
  const brewResult = await runCommandWithTimeout([
3126
3187
  brewExe,
3127
3188
  "install",
3128
3189
  "uv"
3129
3190
  ], { timeoutMs });
3130
- if (brewResult.code !== 0) return {
3191
+ if (brewResult.code !== 0) return withWarnings({
3131
3192
  ok: false,
3132
3193
  message: "Failed to install uv (brew)",
3133
3194
  stdout: brewResult.stdout.trim(),
3134
3195
  stderr: brewResult.stderr.trim(),
3135
3196
  code: brewResult.code
3136
- };
3137
- } else return {
3197
+ }, warnings);
3198
+ } else return withWarnings({
3138
3199
  ok: false,
3139
3200
  message: "uv not installed (install via brew)",
3140
3201
  stdout: "",
3141
3202
  stderr: "",
3142
3203
  code: null
3143
- };
3144
- if (!command.argv || command.argv.length === 0) return {
3204
+ }, warnings);
3205
+ if (!command.argv || command.argv.length === 0) return withWarnings({
3145
3206
  ok: false,
3146
3207
  message: "invalid install command",
3147
3208
  stdout: "",
3148
3209
  stderr: "",
3149
3210
  code: null
3150
- };
3211
+ }, warnings);
3151
3212
  if (spec.kind === "brew" && brewExe && command.argv[0] === "brew") command.argv[0] = brewExe;
3152
3213
  if (spec.kind === "go" && !hasBinary("go")) if (brewExe) {
3153
3214
  const brewResult = await runCommandWithTimeout([
@@ -3155,20 +3216,20 @@ async function installSkill(params) {
3155
3216
  "install",
3156
3217
  "go"
3157
3218
  ], { timeoutMs });
3158
- if (brewResult.code !== 0) return {
3219
+ if (brewResult.code !== 0) return withWarnings({
3159
3220
  ok: false,
3160
3221
  message: "Failed to install go (brew)",
3161
3222
  stdout: brewResult.stdout.trim(),
3162
3223
  stderr: brewResult.stderr.trim(),
3163
3224
  code: brewResult.code
3164
- };
3165
- } else return {
3225
+ }, warnings);
3226
+ } else return withWarnings({
3166
3227
  ok: false,
3167
3228
  message: "go not installed (install via brew)",
3168
3229
  stdout: "",
3169
3230
  stderr: "",
3170
3231
  code: null
3171
- };
3232
+ }, warnings);
3172
3233
  let env;
3173
3234
  if (spec.kind === "go" && brewExe) {
3174
3235
  const brewBin = await resolveBrewBinDir(timeoutMs, brewExe);
@@ -3195,13 +3256,13 @@ async function installSkill(params) {
3195
3256
  }
3196
3257
  })();
3197
3258
  const success = result.code === 0;
3198
- return {
3259
+ return withWarnings({
3199
3260
  ok: success,
3200
3261
  message: success ? "Installed" : formatInstallFailureMessage(result),
3201
3262
  stdout: result.stdout.trim(),
3202
3263
  stderr: result.stderr.trim(),
3203
3264
  code: result.code
3204
- };
3265
+ }, warnings);
3205
3266
  }
3206
3267
 
3207
3268
  //#endregion
@@ -3296,16 +3357,20 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
3296
3357
  installId,
3297
3358
  config: next
3298
3359
  });
3299
- if (result.ok) spin.stop(`Installed ${name}`);
3300
- else {
3301
- const code = result.code == null ? "" : ` (exit ${result.code})`;
3302
- const detail = summarizeInstallFailure(result.message);
3303
- spin.stop(`Install failed: ${name}${code}${detail ? ` — ${detail}` : ""}`);
3304
- if (result.stderr) runtime.log(result.stderr.trim());
3305
- else if (result.stdout) runtime.log(result.stdout.trim());
3306
- runtime.log(`Tip: run \`${formatCliCommand("openclaw doctor")}\` to review skills + requirements.`);
3307
- runtime.log("Docs: https://docs.openclaw.ai/skills");
3360
+ const warnings = result.warnings ?? [];
3361
+ if (result.ok) {
3362
+ spin.stop(warnings.length > 0 ? `Installed ${name} (with warnings)` : `Installed ${name}`);
3363
+ for (const warning of warnings) runtime.log(warning);
3364
+ continue;
3308
3365
  }
3366
+ const code = result.code == null ? "" : ` (exit ${result.code})`;
3367
+ const detail = summarizeInstallFailure(result.message);
3368
+ spin.stop(`Install failed: ${name}${code}${detail ? ` — ${detail}` : ""}`);
3369
+ for (const warning of warnings) runtime.log(warning);
3370
+ if (result.stderr) runtime.log(result.stderr.trim());
3371
+ else if (result.stdout) runtime.log(result.stdout.trim());
3372
+ runtime.log(`Tip: run \`${formatCliCommand("openclaw doctor")}\` to review skills + requirements.`);
3373
+ runtime.log("Docs: https://docs.openclaw.ai/skills");
3309
3374
  }
3310
3375
  }
3311
3376
  for (const skill of missing) {
@@ -3324,4 +3389,4 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
3324
3389
  }
3325
3390
 
3326
3391
  //#endregion
3327
- export { resolveControlUiRootSync as _, applyModelFallbacksFromSelection as a, promptModelAllowlist as c, applyAuthChoice as d, upsertSharedEnvVar as f, resolveControlUiRootOverrideSync as g, ensureControlUiAssetsBuilt as h, applyModelAllowlist as i, resolvePreferredProviderForAuthChoice as l, promptAuthChoiceGrouped as m, installSkill as n, applyPrimaryModel as o, applyGoogleGeminiModelDefault as p, promptRemoteGatewayConfig as r, promptDefaultModel as s, setupSkills as t, warnIfModelConfigLooksOff as u, discoverGatewayBeacons as v };
3392
+ export { applyModelFallbacksFromSelection as a, promptModelAllowlist as c, applyAuthChoice as d, applyOpenAIConfig as f, discoverGatewayBeacons as g, promptAuthChoiceGrouped as h, applyModelAllowlist as i, resolvePreferredProviderForAuthChoice as l, applyGoogleGeminiModelDefault as m, installSkill as n, applyPrimaryModel as o, upsertSharedEnvVar as p, promptRemoteGatewayConfig as r, promptDefaultModel as s, setupSkills as t, warnIfModelConfigLooksOff as u };