@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,19 +1,17 @@
1
- import { _r as loadModelCatalog, ct as detectBinary, gt as openUrl, xt as resolveNodeManagerOptions } from "./reply-CoztdrN_.js";
2
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CrgUOY3f.js";
3
- import { c as defaultRuntime } from "./subsystem-46MXi6Ip.js";
4
- import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-Dg0Xbl6w.js";
5
- import { t as runCommandWithTimeout } from "./exec-CTo4hK94.js";
6
- import { n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-CJKDUIBP.js";
7
- import { $ as exchangeChutesCodeForTokens, A as getCustomProviderApiKey, E as SYNTHETIC_DEFAULT_MODEL_REF, G as resolveAuthProfileOrder, H as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, P as resolveEnvApiKey, Q as CHUTES_AUTHORIZE_ENDPOINT, S as VENICE_DEFAULT_MODEL_REF, a as modelKey, at as listProfilesForProvider, bt as DEFAULT_MODEL, ct as upsertAuthProfile, et as generateChutesPkce, ht as resolveOpenClawAgentDir, l as resolveConfiguredModelRef, lt as ensureAuthProfileStore, n as buildModelAliasIndex, o as normalizeProviderId, t as buildAllowedModelSet, tt as parseOAuthCallbackInput, xt as DEFAULT_PROVIDER } from "./model-selection-Cp1maz7B.js";
8
- import { t as formatCliCommand } from "./command-format-BQK1OIvH.js";
9
- import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-C4b1FA1e.js";
10
- import { J as fetchWithSsrFGuard } from "./deliver-Bsvrattg.js";
11
- import { t as resolveBrewExecutable } from "./brew-0HRgjHZw.js";
12
- 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-BoRchp_Q.js";
13
- import { a as enablePluginInConfig } from "./onboard-channels-CJCy7TTQ.js";
14
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CSCMqNZP.js";
15
- import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BIhjVRG1.js";
16
- import { fileURLToPath } from "node:url";
1
+ import { Et as resolveNodeManagerOptions, pt as detectBinary, xr as loadModelCatalog, xt as openUrl } from "./reply-B8pOiUNN.js";
2
+ import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-CKSrBNwq.js";
3
+ import { t as runCommandWithTimeout } from "./exec-HEWTMJ7j.js";
4
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CMs5Y7l-.js";
5
+ import { I as resolveEnvApiKey, J as resolveAuthProfileOrder, M as getCustomProviderApiKey, O as SYNTHETIC_DEFAULT_MODEL_REF, W as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, at as listProfilesForProvider, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, d as resolveConfiguredModelRef, et as CHUTES_AUTHORIZE_ENDPOINT, lt as ensureAuthProfileStore, mt as resolveOpenClawAgentDir, nt as generateChutesPkce, o as modelKey, r as buildModelAliasIndex, rt as parseOAuthCallbackInput, s as normalizeProviderId, t as buildAllowedModelSet, tt as exchangeChutesCodeForTokens, u as resolveAllowlistModelKey, w as VENICE_DEFAULT_MODEL_REF, yt as DEFAULT_MODEL } from "./model-selection-DMUrNhQP.js";
6
+ import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
7
+ import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-D5JDj3TR.js";
8
+ import { Y as fetchWithSsrFGuard } from "./deliver-C3bnXkg5.js";
9
+ import { t as resolveBrewExecutable } from "./brew-CAcErcKz.js";
10
+ 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-C8Uf0Q03.js";
11
+ import { a as enablePluginInConfig } from "./onboard-channels-DKT27PdN.js";
12
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-BoGjHXUZ.js";
13
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CEvVUD3U.js";
14
+ import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-D9Al4QRv.js";
17
15
  import path from "node:path";
18
16
  import fs from "node:fs";
19
17
  import { randomBytes } from "node:crypto";
@@ -24,6 +22,12 @@ import { Readable } from "node:stream";
24
22
 
25
23
  //#region src/commands/auth-choice-options.ts
26
24
  const AUTH_CHOICE_GROUP_DEFS = [
25
+ {
26
+ value: "xai",
27
+ label: "xAI (Grok)",
28
+ hint: "API key",
29
+ choices: ["xai-api-key"]
30
+ },
27
31
  {
28
32
  value: "openai",
29
33
  label: "OpenAI",
@@ -151,6 +155,10 @@ function buildAuthChoiceOptions(params) {
151
155
  value: "openrouter-api-key",
152
156
  label: "OpenRouter API key"
153
157
  });
158
+ options.push({
159
+ value: "xai-api-key",
160
+ label: "xAI (Grok) API key"
161
+ });
154
162
  options.push({
155
163
  value: "ai-gateway-api-key",
156
164
  label: "Vercel AI Gateway API key"
@@ -398,6 +406,28 @@ async function applyAuthChoiceAnthropic(params) {
398
406
  return null;
399
407
  }
400
408
 
409
+ //#endregion
410
+ //#region src/commands/model-allowlist.ts
411
+ function ensureModelAllowlistEntry(params) {
412
+ const rawModelRef = params.modelRef.trim();
413
+ if (!rawModelRef) return params.cfg;
414
+ const models = { ...params.cfg.agents?.defaults?.models };
415
+ const keySet = new Set([rawModelRef]);
416
+ const canonicalKey = resolveAllowlistModelKey(rawModelRef, params.defaultProvider ?? DEFAULT_PROVIDER);
417
+ if (canonicalKey) keySet.add(canonicalKey);
418
+ for (const key of keySet) models[key] = { ...models[key] };
419
+ return {
420
+ ...params.cfg,
421
+ agents: {
422
+ ...params.cfg.agents,
423
+ defaults: {
424
+ ...params.cfg.agents?.defaults,
425
+ models
426
+ }
427
+ }
428
+ };
429
+ }
430
+
401
431
  //#endregion
402
432
  //#region src/commands/auth-choice.default-model.ts
403
433
  async function applyDefaultModelChoice(params) {
@@ -406,10 +436,13 @@ async function applyDefaultModelChoice(params) {
406
436
  if (params.noteDefault) await params.prompter.note(`Default model set to ${params.noteDefault}`, "Model configured");
407
437
  return { config: next };
408
438
  }
409
- const next = params.applyProviderConfig(params.config);
439
+ const nextWithModel = ensureModelAllowlistEntry({
440
+ cfg: params.applyProviderConfig(params.config),
441
+ modelRef: params.defaultModel
442
+ });
410
443
  await params.noteAgentModel(params.defaultModel);
411
444
  return {
412
- config: next,
445
+ config: nextWithModel,
413
446
  agentModelOverride: params.defaultModel
414
447
  };
415
448
  }
@@ -446,7 +479,7 @@ function applyGoogleGeminiModelDefault(cfg) {
446
479
 
447
480
  //#endregion
448
481
  //#region src/commands/opencode-zen-model-default.ts
449
- const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-5";
482
+ const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-6";
450
483
 
451
484
  //#endregion
452
485
  //#region src/commands/auth-choice.apply.api-providers.ts
@@ -1047,7 +1080,7 @@ async function applyAuthChoiceApiProviders(params) {
1047
1080
  if (!hasCredential) await params.prompter.note([
1048
1081
  "OpenCode Zen provides access to Claude, GPT, Gemini, and more models.",
1049
1082
  "Get your API key at: https://opencode.ai/auth",
1050
- "Requires an active OpenCode Zen subscription."
1083
+ "OpenCode Zen bills per request. Check your OpenCode dashboard for details."
1051
1084
  ].join("\n"), "OpenCode Zen");
1052
1085
  const envKey = resolveEnvApiKey("opencode");
1053
1086
  if (envKey) {
@@ -1623,7 +1656,7 @@ function upsertSharedEnvVar(params) {
1623
1656
 
1624
1657
  //#endregion
1625
1658
  //#region src/commands/openai-codex-model-default.ts
1626
- const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.2";
1659
+ const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
1627
1660
  function shouldSetOpenAICodexModel(model) {
1628
1661
  const trimmed = model?.trim();
1629
1662
  if (!trimmed) return true;
@@ -1659,12 +1692,59 @@ function applyOpenAICodexModelDefault(cfg) {
1659
1692
  };
1660
1693
  }
1661
1694
 
1695
+ //#endregion
1696
+ //#region src/commands/openai-model-default.ts
1697
+ const OPENAI_DEFAULT_MODEL = "openai/gpt-5.1-codex";
1698
+ function applyOpenAIProviderConfig(cfg) {
1699
+ const next = ensureModelAllowlistEntry({
1700
+ cfg,
1701
+ modelRef: OPENAI_DEFAULT_MODEL
1702
+ });
1703
+ const models = { ...next.agents?.defaults?.models };
1704
+ models[OPENAI_DEFAULT_MODEL] = {
1705
+ ...models[OPENAI_DEFAULT_MODEL],
1706
+ alias: models[OPENAI_DEFAULT_MODEL]?.alias ?? "GPT"
1707
+ };
1708
+ return {
1709
+ ...next,
1710
+ agents: {
1711
+ ...next.agents,
1712
+ defaults: {
1713
+ ...next.agents?.defaults,
1714
+ models
1715
+ }
1716
+ }
1717
+ };
1718
+ }
1719
+ function applyOpenAIConfig(cfg) {
1720
+ const next = applyOpenAIProviderConfig(cfg);
1721
+ return {
1722
+ ...next,
1723
+ agents: {
1724
+ ...next.agents,
1725
+ defaults: {
1726
+ ...next.agents?.defaults,
1727
+ model: next.agents?.defaults?.model && typeof next.agents.defaults.model === "object" ? {
1728
+ ...next.agents.defaults.model,
1729
+ primary: OPENAI_DEFAULT_MODEL
1730
+ } : { primary: OPENAI_DEFAULT_MODEL }
1731
+ }
1732
+ }
1733
+ };
1734
+ }
1735
+
1662
1736
  //#endregion
1663
1737
  //#region src/commands/auth-choice.apply.openai.ts
1664
1738
  async function applyAuthChoiceOpenAI(params) {
1665
1739
  let authChoice = params.authChoice;
1666
1740
  if (authChoice === "apiKey" && params.opts?.tokenProvider === "openai") authChoice = "openai-api-key";
1667
1741
  if (authChoice === "openai-api-key") {
1742
+ let nextConfig = params.config;
1743
+ let agentModelOverride;
1744
+ const noteAgentModel = async (model) => {
1745
+ if (!params.agentId) return;
1746
+ await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
1747
+ };
1668
1748
  const envKey = resolveEnvApiKey("openai");
1669
1749
  if (envKey) {
1670
1750
  if (await params.prompter.confirm({
@@ -1677,7 +1757,22 @@ async function applyAuthChoiceOpenAI(params) {
1677
1757
  });
1678
1758
  if (!process.env.OPENAI_API_KEY) process.env.OPENAI_API_KEY = envKey.apiKey;
1679
1759
  await params.prompter.note(`Copied OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
1680
- return { config: params.config };
1760
+ const applied = await applyDefaultModelChoice({
1761
+ config: nextConfig,
1762
+ setDefaultModel: params.setDefaultModel,
1763
+ defaultModel: OPENAI_DEFAULT_MODEL,
1764
+ applyDefaultConfig: applyOpenAIConfig,
1765
+ applyProviderConfig: applyOpenAIProviderConfig,
1766
+ noteDefault: OPENAI_DEFAULT_MODEL,
1767
+ noteAgentModel,
1768
+ prompter: params.prompter
1769
+ });
1770
+ nextConfig = applied.config;
1771
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
1772
+ return {
1773
+ config: nextConfig,
1774
+ agentModelOverride
1775
+ };
1681
1776
  }
1682
1777
  }
1683
1778
  let key;
@@ -1693,7 +1788,22 @@ async function applyAuthChoiceOpenAI(params) {
1693
1788
  });
1694
1789
  process.env.OPENAI_API_KEY = trimmed;
1695
1790
  await params.prompter.note(`Saved OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
1696
- return { config: params.config };
1791
+ const applied = await applyDefaultModelChoice({
1792
+ config: nextConfig,
1793
+ setDefaultModel: params.setDefaultModel,
1794
+ defaultModel: OPENAI_DEFAULT_MODEL,
1795
+ applyDefaultConfig: applyOpenAIConfig,
1796
+ applyProviderConfig: applyOpenAIProviderConfig,
1797
+ noteDefault: OPENAI_DEFAULT_MODEL,
1798
+ noteAgentModel,
1799
+ prompter: params.prompter
1800
+ });
1801
+ nextConfig = applied.config;
1802
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
1803
+ return {
1804
+ config: nextConfig,
1805
+ agentModelOverride
1806
+ };
1697
1807
  }
1698
1808
  if (params.authChoice === "openai-codex") {
1699
1809
  let nextConfig = params.config;
@@ -1769,6 +1879,66 @@ async function applyAuthChoiceQwenPortal(params) {
1769
1879
  });
1770
1880
  }
1771
1881
 
1882
+ //#endregion
1883
+ //#region src/commands/auth-choice.apply.xai.ts
1884
+ async function applyAuthChoiceXAI(params) {
1885
+ if (params.authChoice !== "xai-api-key") return null;
1886
+ let nextConfig = params.config;
1887
+ let agentModelOverride;
1888
+ const noteAgentModel = async (model) => {
1889
+ if (!params.agentId) return;
1890
+ await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
1891
+ };
1892
+ let hasCredential = false;
1893
+ const optsKey = params.opts?.xaiApiKey?.trim();
1894
+ if (optsKey) {
1895
+ setXaiApiKey(normalizeApiKeyInput(optsKey), params.agentDir);
1896
+ hasCredential = true;
1897
+ }
1898
+ if (!hasCredential) {
1899
+ const envKey = resolveEnvApiKey("xai");
1900
+ if (envKey) {
1901
+ if (await params.prompter.confirm({
1902
+ message: `Use existing XAI_API_KEY (${envKey.source}, ${formatApiKeyPreview(envKey.apiKey)})?`,
1903
+ initialValue: true
1904
+ })) {
1905
+ setXaiApiKey(envKey.apiKey, params.agentDir);
1906
+ hasCredential = true;
1907
+ }
1908
+ }
1909
+ }
1910
+ if (!hasCredential) {
1911
+ const key = await params.prompter.text({
1912
+ message: "Enter xAI API key",
1913
+ validate: validateApiKeyInput
1914
+ });
1915
+ setXaiApiKey(normalizeApiKeyInput(String(key)), params.agentDir);
1916
+ }
1917
+ nextConfig = applyAuthProfileConfig(nextConfig, {
1918
+ profileId: "xai:default",
1919
+ provider: "xai",
1920
+ mode: "api_key"
1921
+ });
1922
+ {
1923
+ const applied = await applyDefaultModelChoice({
1924
+ config: nextConfig,
1925
+ setDefaultModel: params.setDefaultModel,
1926
+ defaultModel: XAI_DEFAULT_MODEL_REF,
1927
+ applyDefaultConfig: applyXaiConfig,
1928
+ applyProviderConfig: applyXaiProviderConfig,
1929
+ noteDefault: XAI_DEFAULT_MODEL_REF,
1930
+ noteAgentModel,
1931
+ prompter: params.prompter
1932
+ });
1933
+ nextConfig = applied.config;
1934
+ agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
1935
+ }
1936
+ return {
1937
+ config: nextConfig,
1938
+ agentModelOverride
1939
+ };
1940
+ }
1941
+
1772
1942
  //#endregion
1773
1943
  //#region src/commands/auth-choice.apply.ts
1774
1944
  async function applyAuthChoice(params) {
@@ -1782,7 +1952,8 @@ async function applyAuthChoice(params) {
1782
1952
  applyAuthChoiceGoogleAntigravity,
1783
1953
  applyAuthChoiceGoogleGeminiCli,
1784
1954
  applyAuthChoiceCopilotProxy,
1785
- applyAuthChoiceQwenPortal
1955
+ applyAuthChoiceQwenPortal,
1956
+ applyAuthChoiceXAI
1786
1957
  ];
1787
1958
  for (const handler of handlers) {
1788
1959
  const result = await handler(params);
@@ -1864,6 +2035,7 @@ const PREFERRED_PROVIDER_BY_AUTH_CHOICE = {
1864
2035
  "minimax-api-lightning": "minimax",
1865
2036
  minimax: "lmstudio",
1866
2037
  "opencode-zen": "opencode",
2038
+ "xai-api-key": "xai",
1867
2039
  "qwen-portal": "qwen-portal",
1868
2040
  "minimax-portal": "minimax-portal"
1869
2041
  };
@@ -1871,145 +2043,6 @@ function resolvePreferredProviderForAuthChoice(choice) {
1871
2043
  return PREFERRED_PROVIDER_BY_AUTH_CHOICE[choice];
1872
2044
  }
1873
2045
 
1874
- //#endregion
1875
- //#region src/infra/control-ui-assets.ts
1876
- function resolveControlUiRepoRoot(argv1 = process.argv[1]) {
1877
- if (!argv1) return null;
1878
- const normalized = path.resolve(argv1);
1879
- const parts = normalized.split(path.sep);
1880
- const srcIndex = parts.lastIndexOf("src");
1881
- if (srcIndex !== -1) {
1882
- const root = parts.slice(0, srcIndex).join(path.sep);
1883
- if (fs.existsSync(path.join(root, "ui", "vite.config.ts"))) return root;
1884
- }
1885
- let dir = path.dirname(normalized);
1886
- for (let i = 0; i < 8; i++) {
1887
- if (fs.existsSync(path.join(dir, "package.json")) && fs.existsSync(path.join(dir, "ui", "vite.config.ts"))) return dir;
1888
- const parent = path.dirname(dir);
1889
- if (parent === dir) break;
1890
- dir = parent;
1891
- }
1892
- return null;
1893
- }
1894
- async function resolveControlUiDistIndexPath(argv1 = process.argv[1]) {
1895
- if (!argv1) return null;
1896
- const normalized = path.resolve(argv1);
1897
- const distDir = path.dirname(normalized);
1898
- if (path.basename(distDir) === "dist") return path.join(distDir, "control-ui", "index.html");
1899
- const packageRoot = await resolveOpenClawPackageRoot({ argv1: normalized });
1900
- if (!packageRoot) return null;
1901
- return path.join(packageRoot, "dist", "control-ui", "index.html");
1902
- }
1903
- function addCandidate(candidates, value) {
1904
- if (!value) return;
1905
- candidates.add(path.resolve(value));
1906
- }
1907
- function resolveControlUiRootOverrideSync(rootOverride) {
1908
- const resolved = path.resolve(rootOverride);
1909
- try {
1910
- const stats = fs.statSync(resolved);
1911
- if (stats.isFile()) return path.basename(resolved) === "index.html" ? path.dirname(resolved) : null;
1912
- if (stats.isDirectory()) {
1913
- const indexPath = path.join(resolved, "index.html");
1914
- return fs.existsSync(indexPath) ? resolved : null;
1915
- }
1916
- } catch {
1917
- return null;
1918
- }
1919
- return null;
1920
- }
1921
- function resolveControlUiRootSync(opts = {}) {
1922
- const candidates = /* @__PURE__ */ new Set();
1923
- const argv1 = opts.argv1 ?? process.argv[1];
1924
- const cwd = opts.cwd ?? process.cwd();
1925
- const moduleDir = opts.moduleUrl ? path.dirname(fileURLToPath(opts.moduleUrl)) : null;
1926
- const argv1Dir = argv1 ? path.dirname(path.resolve(argv1)) : null;
1927
- const execDir = (() => {
1928
- try {
1929
- const execPath = opts.execPath ?? process.execPath;
1930
- return path.dirname(fs.realpathSync(execPath));
1931
- } catch {
1932
- return null;
1933
- }
1934
- })();
1935
- const packageRoot = resolveOpenClawPackageRootSync({
1936
- argv1,
1937
- moduleUrl: opts.moduleUrl,
1938
- cwd
1939
- });
1940
- addCandidate(candidates, execDir ? path.join(execDir, "control-ui") : null);
1941
- if (moduleDir) {
1942
- addCandidate(candidates, path.join(moduleDir, "control-ui"));
1943
- addCandidate(candidates, path.join(moduleDir, "../control-ui"));
1944
- addCandidate(candidates, path.join(moduleDir, "../../dist/control-ui"));
1945
- }
1946
- if (argv1Dir) {
1947
- addCandidate(candidates, path.join(argv1Dir, "dist", "control-ui"));
1948
- addCandidate(candidates, path.join(argv1Dir, "control-ui"));
1949
- }
1950
- if (packageRoot) addCandidate(candidates, path.join(packageRoot, "dist", "control-ui"));
1951
- addCandidate(candidates, path.join(cwd, "dist", "control-ui"));
1952
- for (const dir of candidates) {
1953
- const indexPath = path.join(dir, "index.html");
1954
- if (fs.existsSync(indexPath)) return dir;
1955
- }
1956
- return null;
1957
- }
1958
- function summarizeCommandOutput(text) {
1959
- const lines = text.split(/\r?\n/g).map((l) => l.trim()).filter(Boolean);
1960
- if (!lines.length) return;
1961
- const last = lines.at(-1);
1962
- if (!last) return;
1963
- return last.length > 240 ? `${last.slice(0, 239)}…` : last;
1964
- }
1965
- async function ensureControlUiAssetsBuilt(runtime = defaultRuntime, opts) {
1966
- const indexFromDist = await resolveControlUiDistIndexPath(process.argv[1]);
1967
- if (indexFromDist && fs.existsSync(indexFromDist)) return {
1968
- ok: true,
1969
- built: false
1970
- };
1971
- const repoRoot = resolveControlUiRepoRoot(process.argv[1]);
1972
- if (!repoRoot) return {
1973
- ok: false,
1974
- built: false,
1975
- message: `${indexFromDist ? `Missing Control UI assets at ${indexFromDist}` : "Missing Control UI assets"}. Build them with \`pnpm ui:build\` (auto-installs UI deps).`
1976
- };
1977
- const indexPath = path.join(repoRoot, "dist", "control-ui", "index.html");
1978
- if (fs.existsSync(indexPath)) return {
1979
- ok: true,
1980
- built: false
1981
- };
1982
- const uiScript = path.join(repoRoot, "scripts", "ui.js");
1983
- if (!fs.existsSync(uiScript)) return {
1984
- ok: false,
1985
- built: false,
1986
- message: `Control UI assets missing but ${uiScript} is unavailable.`
1987
- };
1988
- runtime.log("Control UI assets missing; building (ui:build, auto-installs UI deps)…");
1989
- const build = await runCommandWithTimeout([
1990
- process.execPath,
1991
- uiScript,
1992
- "build"
1993
- ], {
1994
- cwd: repoRoot,
1995
- timeoutMs: opts?.timeoutMs ?? 10 * 6e4
1996
- });
1997
- if (build.code !== 0) return {
1998
- ok: false,
1999
- built: false,
2000
- message: `Control UI build failed: ${summarizeCommandOutput(build.stderr) ?? `exit ${build.code}`}`
2001
- };
2002
- if (!fs.existsSync(indexPath)) return {
2003
- ok: false,
2004
- built: true,
2005
- message: `Control UI build completed but ${indexPath} is still missing.`
2006
- };
2007
- return {
2008
- ok: true,
2009
- built: true
2010
- };
2011
- }
2012
-
2013
2046
  //#endregion
2014
2047
  //#region src/commands/model-picker.ts
2015
2048
  const KEEP_VALUE = "__keep__";
@@ -2202,7 +2235,7 @@ async function promptModelAllowlist(params) {
2202
2235
  const raw = await params.prompter.text({
2203
2236
  message: params.message ?? "Allowlist models (comma-separated provider/model; blank to keep current)",
2204
2237
  initialValue: existingKeys.join(", "),
2205
- placeholder: "openai-codex/gpt-5.2, anthropic/claude-opus-4-5"
2238
+ placeholder: `${OPENAI_CODEX_DEFAULT_MODEL}, anthropic/claude-opus-4-6`
2206
2239
  });
2207
2240
  const parsed = String(raw ?? "").split(",").map((value) => value.trim()).filter((value) => value.length > 0);
2208
2241
  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 { applyGoogleGeminiModelDefault as _, applyModelAllowlist as a, promptDefaultModel as c, resolveControlUiRootOverrideSync as d, resolveControlUiRootSync as f, upsertSharedEnvVar as g, applyAuthChoice as h, discoverGatewayBeacons as i, promptModelAllowlist as l, warnIfModelConfigLooksOff as m, installSkill as n, applyModelFallbacksFromSelection as o, resolvePreferredProviderForAuthChoice as p, promptRemoteGatewayConfig as r, applyPrimaryModel as s, setupSkills as t, ensureControlUiAssetsBuilt as u, promptAuthChoiceGrouped as v };
3392
+ export { applyModelAllowlist as a, promptDefaultModel as c, warnIfModelConfigLooksOff as d, applyAuthChoice as f, promptAuthChoiceGrouped as g, applyGoogleGeminiModelDefault as h, discoverGatewayBeacons as i, promptModelAllowlist as l, upsertSharedEnvVar as m, installSkill as n, applyModelFallbacksFromSelection as o, applyOpenAIConfig as p, promptRemoteGatewayConfig as r, applyPrimaryModel as s, setupSkills as t, resolvePreferredProviderForAuthChoice as u };