@termix-it/cryptoclaw 1.0.0

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 (1222) hide show
  1. package/CHANGELOG.md +1615 -0
  2. package/LICENSE +21 -0
  3. package/README-header.png +0 -0
  4. package/README.md +331 -0
  5. package/assets/avatar-placeholder.svg +19 -0
  6. package/assets/chrome-extension/README.md +22 -0
  7. package/assets/chrome-extension/background.js +438 -0
  8. package/assets/chrome-extension/icons/icon128.png +0 -0
  9. package/assets/chrome-extension/icons/icon16.png +0 -0
  10. package/assets/chrome-extension/icons/icon32.png +0 -0
  11. package/assets/chrome-extension/icons/icon48.png +0 -0
  12. package/assets/chrome-extension/manifest.json +25 -0
  13. package/assets/chrome-extension/options.html +196 -0
  14. package/assets/chrome-extension/options.js +59 -0
  15. package/assets/dmg-background-small.png +0 -0
  16. package/assets/dmg-background.png +0 -0
  17. package/cryptoclaw.mjs +14 -0
  18. package/dist/accounts-BPjR5SyC.js +251 -0
  19. package/dist/accounts-CIGHxE7R.js +251 -0
  20. package/dist/acp-cli-DBWmJpUJ.js +924 -0
  21. package/dist/acp-cli-DG9nygBk.js +926 -0
  22. package/dist/agent-3MZVCC-N.js +702 -0
  23. package/dist/agent-IDE9krld.js +702 -0
  24. package/dist/agent-scope-DBl1We79.js +370 -0
  25. package/dist/agent-scope-DLfFOxP6.js +370 -0
  26. package/dist/agent-scope-e_oNRhGi.js +606 -0
  27. package/dist/archive-Dy3Ezb-5.js +85 -0
  28. package/dist/archive-iT9wNsml.js +85 -0
  29. package/dist/audit-Bj_dxNaD.js +1853 -0
  30. package/dist/audit-jaTyyQX1.js +1853 -0
  31. package/dist/auth-RTEHx2eI.js +192 -0
  32. package/dist/auth-health-BlspzqyF.js +149 -0
  33. package/dist/auth-health-CCM6Z3vK.js +149 -0
  34. package/dist/auth-phxCaFNX.js +192 -0
  35. package/dist/auth-profiles-DoD7YxsD.js +2939 -0
  36. package/dist/boolean-BsqeuxE6.js +30 -0
  37. package/dist/brew-CAcErcKz.js +46 -0
  38. package/dist/brew-CqnNFIkD.js +46 -0
  39. package/dist/build-info.json +5 -0
  40. package/dist/call-D2DXG0AC.js +278 -0
  41. package/dist/call-DqxlETxE.js +278 -0
  42. package/dist/canvas-host/a2ui/.bundle.hash +1 -0
  43. package/dist/canvas-host/a2ui/a2ui.bundle.js +17765 -0
  44. package/dist/canvas-host/a2ui/index.html +307 -0
  45. package/dist/channel-options-BHpXOBuP.js +32 -0
  46. package/dist/channel-options-DUkxROTo.js +62 -0
  47. package/dist/channel-selection-BdigfMZZ.js +51 -0
  48. package/dist/channel-selection-D7jFTFec.js +51 -0
  49. package/dist/channel-summary-CobMoKN6.js +1120 -0
  50. package/dist/channel-summary-DS0kcHm2.js +1120 -0
  51. package/dist/channels-cli-D7ZNRrq7.js +1414 -0
  52. package/dist/channels-cli-DBwffwqw.js +1413 -0
  53. package/dist/channels-status-issues-C2UGSPvH.js +18 -0
  54. package/dist/channels-status-issues-Dxmd7zYk.js +18 -0
  55. package/dist/chrome-CwbWzmh4.js +1973 -0
  56. package/dist/chrome-SVqOMFxA.js +1953 -0
  57. package/dist/clack-prompter-k_egRADS.js +92 -0
  58. package/dist/clack-prompter-nSmn5cZ2.js +92 -0
  59. package/dist/cli/daemon-cli.js +2 -0
  60. package/dist/cli-C9xiWnx9.js +86 -0
  61. package/dist/cli-D6C9z94O.js +88 -0
  62. package/dist/cli-utils-B7iQwCY5.js +43 -0
  63. package/dist/cli-utils-CgOu3WAB.js +43 -0
  64. package/dist/client-BaTYzXOU.js +1617 -0
  65. package/dist/client-N6zH1neq.js +1617 -0
  66. package/dist/command-format-9IsYy-9N.js +52 -0
  67. package/dist/command-format-B0bnyrEA.js +38 -0
  68. package/dist/command-format-n_udBm8l.js +52 -0
  69. package/dist/command-options-DL1PhuUF.js +33 -0
  70. package/dist/commands-Dpeoos11.js +230 -0
  71. package/dist/completion-cli-B5nR7jt8.js +434 -0
  72. package/dist/completion-cli-CZ8zPqPs.js +773 -0
  73. package/dist/config-DSpb2aMV.js +4916 -0
  74. package/dist/config-IwiWafT3.js +5657 -0
  75. package/dist/config-dQK4rbfx.js +4916 -0
  76. package/dist/config-guard-DwIb5Y-v.js +5719 -0
  77. package/dist/configure-7M9mLC4o.js +896 -0
  78. package/dist/configure-CivCcvkA.js +896 -0
  79. package/dist/constants-C2T4hQIk.js +65 -0
  80. package/dist/constants-DBvu3LzZ.js +65 -0
  81. package/dist/control-service-BXC31sNw.js +61 -0
  82. package/dist/control-service-lVzEzp9f.js +61 -0
  83. package/dist/control-ui/apple-touch-icon.png +0 -0
  84. package/dist/control-ui/assets/index-DQ-7PWhX.js +7553 -0
  85. package/dist/control-ui/assets/index-DQ-7PWhX.js.map +1 -0
  86. package/dist/control-ui/assets/index-nlpH70Eh.css +1 -0
  87. package/dist/control-ui/favicon-32.png +0 -0
  88. package/dist/control-ui/favicon.ico +0 -0
  89. package/dist/control-ui/favicon.svg +22 -0
  90. package/dist/control-ui/index.html +17 -0
  91. package/dist/cron-cli-DS8ytfYQ.js +455 -0
  92. package/dist/cron-cli-Djb3HUdz.js +457 -0
  93. package/dist/daemon-cli-KoaJ2nJX.js +758 -0
  94. package/dist/daemon-cli-ZQIKLvAO.js +758 -0
  95. package/dist/daemon-runtime-CHWbAfKs.js +517 -0
  96. package/dist/daemon-runtime-DEjUQVjL.js +517 -0
  97. package/dist/deliver-DVRzRmNN.js +2557 -0
  98. package/dist/deliver-OfX6bSYR.js +2587 -0
  99. package/dist/deliver-sPBfRlXT.js +2587 -0
  100. package/dist/deps-BSdWD2wF.js +27 -0
  101. package/dist/deps-CZOfeWEp.js +27 -0
  102. package/dist/devices-cli-DHSpDnCS.js +207 -0
  103. package/dist/devices-cli-b9iF_uOi.js +205 -0
  104. package/dist/directory-cli-D0dTuAem.js +247 -0
  105. package/dist/directory-cli-qniSxsHo.js +245 -0
  106. package/dist/dispatcher-DA3u3CwV.js +160 -0
  107. package/dist/dns-cli-C0JUNb9O.js +201 -0
  108. package/dist/dns-cli-DwwMpMuN.js +199 -0
  109. package/dist/docs-cli-BlFHCHDz.js +161 -0
  110. package/dist/docs-cli-BpSPrY3Y.js +160 -0
  111. package/dist/doctor-Da1XgFcW.js +2584 -0
  112. package/dist/doctor-qrtookj-.js +2585 -0
  113. package/dist/entry.js +1156 -0
  114. package/dist/env-B2Cd_6IS.js +32 -0
  115. package/dist/errors--S5IAxQx.js +1952 -0
  116. package/dist/exec-CLQSz0CI.js +246 -0
  117. package/dist/exec-CW_QjkBi.js +246 -0
  118. package/dist/exec-D7I5LU33.js +1099 -0
  119. package/dist/exec-approvals-CuXem6Li.js +1043 -0
  120. package/dist/exec-approvals-P7vwSw4O.js +1043 -0
  121. package/dist/exec-approvals-cli-Csgqkksl.js +386 -0
  122. package/dist/exec-approvals-cli-Dk4yHE2L.js +388 -0
  123. package/dist/extensionAPI.js +64497 -0
  124. package/dist/format-B7OjpGnt.js +34 -0
  125. package/dist/format-Dv1wz41T.js +34 -0
  126. package/dist/gateway-cli-CJ7H2DgV.js +17352 -0
  127. package/dist/gateway-cli-CrKl-bIH.js +17352 -0
  128. package/dist/gateway-rpc--CH0NWWR.js +28 -0
  129. package/dist/gateway-rpc-BPfCU2Vi.js +28 -0
  130. package/dist/github-copilot-auth-CcPEEb3Q.js +1190 -0
  131. package/dist/github-copilot-auth-h3beCc_l.js +1190 -0
  132. package/dist/github-copilot-token-C1sArkX4.js +103 -0
  133. package/dist/github-copilot-token-DL6Pou2p.js +103 -0
  134. package/dist/github-copilot-token-hMl1wyZp.js +103 -0
  135. package/dist/gmail-setup-utils-CnVYPhaQ.js +428 -0
  136. package/dist/gmail-setup-utils-pZ9NnOvB.js +428 -0
  137. package/dist/health-format-BcsR5dtU.js +1211 -0
  138. package/dist/health-format-Pl8qK65t.js +1212 -0
  139. package/dist/help-format-BzWwbeSF.js +17 -0
  140. package/dist/help-format-CUnac_bT.js +17 -0
  141. package/dist/helpers-5yebzF4C.js +25 -0
  142. package/dist/helpers-CQI-5xS9.js +25 -0
  143. package/dist/helpers-CzQjTUbz.js +10 -0
  144. package/dist/helpers-OUt4hxkS.js +10 -0
  145. package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
  146. package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
  147. package/dist/hooks/bundled/session-memory/HOOK.md +109 -0
  148. package/dist/hooks/bundled/soul-evil/HOOK.md +71 -0
  149. package/dist/hooks-cli-BKHTdsn4.js +1058 -0
  150. package/dist/hooks-cli-zkLY25DX.js +1060 -0
  151. package/dist/hooks-status-BETsyuUR.js +443 -0
  152. package/dist/hooks-status-nPgxLL-x.js +443 -0
  153. package/dist/image-BFNcQzKp.js +629 -0
  154. package/dist/image-CC_YKDB-.js +1421 -0
  155. package/dist/image-DAsWVn7Q.js +629 -0
  156. package/dist/index.js +5900 -0
  157. package/dist/installs-Byb3s_8P.js +425 -0
  158. package/dist/installs-CELeuogN.js +425 -0
  159. package/dist/is-main-B6kCyqsv.js +25 -0
  160. package/dist/is-main-CBExsRNQ.js +25 -0
  161. package/dist/links-Brcj2Oc-.js +15 -0
  162. package/dist/links-cf9h8BXu.js +15 -0
  163. package/dist/loader-CU4bkeKe.js +61131 -0
  164. package/dist/logging-5MtSkLpb.js +1 -0
  165. package/dist/logging-BJRQDTME.js +15 -0
  166. package/dist/logging-CD55MXc7.js +15 -0
  167. package/dist/logging-kuFzZMsG.js +1 -0
  168. package/dist/login-qr-BCr2GKX6.js +475 -0
  169. package/dist/login-qr-BMbekoZW.js +478 -0
  170. package/dist/login-qr-HIPJAnbT.js +478 -0
  171. package/dist/logs-cli-CM7-XOcZ.js +230 -0
  172. package/dist/logs-cli-aqjT7oHu.js +228 -0
  173. package/dist/manager-C5m5qpB0.js +2871 -0
  174. package/dist/manager-CtGvmGvM.js +2872 -0
  175. package/dist/manager-DpZlm3gk.js +2870 -0
  176. package/dist/manifest-registry-BdTzIlta.js +669 -0
  177. package/dist/manifest-registry-DVQHMj0y.js +669 -0
  178. package/dist/message-channel-CfYBy4y3.js +110 -0
  179. package/dist/message-channel-CvHWS3C2.js +110 -0
  180. package/dist/model-selection-Av0fLq51.js +2940 -0
  181. package/dist/model-selection-DuI_Ue9Q.js +2691 -0
  182. package/dist/models-cli-C0JOZ5oP.js +2541 -0
  183. package/dist/models-cli-gmkzOpbq.js +2543 -0
  184. package/dist/net-D4G66Xui.js +137 -0
  185. package/dist/net-YrbuVTd2.js +137 -0
  186. package/dist/node-cli-BND9LLkM.js +1457 -0
  187. package/dist/node-cli-DNRB94ib.js +1459 -0
  188. package/dist/node-service-DTgDFo7M.js +67 -0
  189. package/dist/node-service-JEBcPQat.js +67 -0
  190. package/dist/nodes-cli-BCWlqHyR.js +1208 -0
  191. package/dist/nodes-cli-DWSo5dX7.js +1210 -0
  192. package/dist/nodes-screen-CMvShBEB.js +157 -0
  193. package/dist/nodes-screen-Cok3-EJw.js +157 -0
  194. package/dist/note-C5M2AQOP.js +73 -0
  195. package/dist/note-DEz9ZK7G.js +73 -0
  196. package/dist/onboard-channels-B75LjjVZ.js +671 -0
  197. package/dist/onboard-channels-DJz2TusQ.js +671 -0
  198. package/dist/onboard-skills-ByHkU9nx.js +3615 -0
  199. package/dist/onboard-skills-Wknr7pxR.js +3615 -0
  200. package/dist/onboarding-BejDjkx5.js +3455 -0
  201. package/dist/openclaw-root-YSGWCNem.js +84 -0
  202. package/dist/openclaw-root-_zPXSqgo.js +84 -0
  203. package/dist/pairing-cli-CFqD3IdI.js +122 -0
  204. package/dist/pairing-cli-Cn5vt4oI.js +120 -0
  205. package/dist/pairing-store-BHzy16_t.js +391 -0
  206. package/dist/pairing-store-BOhO49Bi.js +391 -0
  207. package/dist/parse-BZz5lHzQ.js +23 -0
  208. package/dist/parse-Bw0oH-rT.js +23 -0
  209. package/dist/parse-log-line-BxDgv4Uo.js +44 -0
  210. package/dist/parse-log-line-CUrpqe1w.js +44 -0
  211. package/dist/parse-timeout-D1XX_zN_.js +16 -0
  212. package/dist/parse-timeout-Du-wHHNi.js +16 -0
  213. package/dist/path-env-DQ-mM2ya.js +77 -0
  214. package/dist/path-env-eQ-HoQtS.js +77 -0
  215. package/dist/paths-C3yk0MGu.js +43 -0
  216. package/dist/paths-C90k-Dud.js +166 -0
  217. package/dist/paths-CGrNQEMk.js +201 -0
  218. package/dist/paths-D2ytuv-2.js +201 -0
  219. package/dist/paths-Dlp4VNXa.js +40 -0
  220. package/dist/paths-KUslkJRs.js +43 -0
  221. package/dist/pi-embedded-helpers-B7ARjDEK.js +1298 -0
  222. package/dist/pi-embedded-helpers-CQ9sq3Uu.js +8475 -0
  223. package/dist/pi-embedded-helpers-FPVRDeKf.js +1298 -0
  224. package/dist/pi-model-discovery-DWTTaAgY.js +20 -0
  225. package/dist/pi-model-discovery-EhM2JAQo.js +20 -0
  226. package/dist/pi-model-discovery-EwKVHlZB.js +20 -0
  227. package/dist/pi-tools.policy-Du4RZy9R.js +230 -0
  228. package/dist/plugin-auto-enable-EBxTHjFJ.js +461 -0
  229. package/dist/plugin-auto-enable-RwRwIUKC.js +461 -0
  230. package/dist/plugin-sdk/index.d.ts +8453 -0
  231. package/dist/plugin-sdk/index.js +23445 -0
  232. package/dist/plugin-sdk/pi-model-discovery-Dw3A6oXH.js +37 -0
  233. package/dist/plugins-BI-p2ba9.js +495 -0
  234. package/dist/plugins-Dk4UBZwz.js +496 -0
  235. package/dist/plugins-cli-CMg0G56J.js +441 -0
  236. package/dist/plugins-cli-CX7QeUjq.js +443 -0
  237. package/dist/ports-nXmd4Efh.js +96 -0
  238. package/dist/program-EAMJAB_2.js +191 -0
  239. package/dist/progress-D-Oc-KAH.js +133 -0
  240. package/dist/progress-DTEUicRP.js +133 -0
  241. package/dist/prompt-style-BBlJlXtd.js +9 -0
  242. package/dist/prompt-style-BntC_Eoo.js +9 -0
  243. package/dist/prompts-C2D9_VZC.js +10 -0
  244. package/dist/prompts-FbZThK8w.js +10 -0
  245. package/dist/pw-ai-D2jD_dho.js +1651 -0
  246. package/dist/pw-ai-D6JUaD41.js +1650 -0
  247. package/dist/pw-ai-ba2bHPGA.js +1649 -0
  248. package/dist/qmd-manager-B-ijyM7o.js +615 -0
  249. package/dist/qmd-manager-C_Jah5eo.js +618 -0
  250. package/dist/qmd-manager-xo4abL0u.js +618 -0
  251. package/dist/redact-1PNP01B_.js +97 -0
  252. package/dist/redact-BIMJ3ntQ.js +94 -0
  253. package/dist/redact-CVRUv382.js +97 -0
  254. package/dist/register.subclis-CJGimm3-.js +348 -0
  255. package/dist/reply-DfepuqG0.js +61133 -0
  256. package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
  257. package/dist/routes-DkckwrRx.js +2410 -0
  258. package/dist/routes-Q42qtNl1.js +2410 -0
  259. package/dist/rpc-B4lvrGrD.js +95 -0
  260. package/dist/rpc-CbWcXAQK.js +95 -0
  261. package/dist/run-main-JFY3X4Xh.js +194 -0
  262. package/dist/sandbox-BGqDfFaH.js +2945 -0
  263. package/dist/sandbox-D_Tt3WRq.js +2945 -0
  264. package/dist/sandbox-cli-CaxqKiTq.js +461 -0
  265. package/dist/sandbox-cli-DA0Cbrzl.js +463 -0
  266. package/dist/security-cli-BZjA_GAD.js +508 -0
  267. package/dist/security-cli-Ct-pfF2h.js +506 -0
  268. package/dist/server-context-B9ez46MY.js +740 -0
  269. package/dist/server-context-C53lhEx_.js +740 -0
  270. package/dist/server-node-events-Cb6QOeDH.js +218 -0
  271. package/dist/server-node-events-DONmQvJg.js +216 -0
  272. package/dist/service-C0ccl5rU.js +680 -0
  273. package/dist/service-audit-AsnhO40e.js +542 -0
  274. package/dist/service-audit-BM-iyLL7.js +542 -0
  275. package/dist/service-mrQPgOXl.js +680 -0
  276. package/dist/session-cost-usage-B3HzifR9.js +692 -0
  277. package/dist/session-cost-usage-DH3c4xJA.js +692 -0
  278. package/dist/session-key-C-ig2pxJ.js +177 -0
  279. package/dist/session-key-CYpWeuht.js +177 -0
  280. package/dist/shared-CBcCIWC0.js +74 -0
  281. package/dist/shared-CtNMbLRE.js +150 -0
  282. package/dist/shared-DCh7fkR2.js +150 -0
  283. package/dist/shared-Na5zjEUc.js +74 -0
  284. package/dist/skill-scanner-AfOudYI1.js +255 -0
  285. package/dist/skill-scanner-BoGjHXUZ.js +255 -0
  286. package/dist/skills-7V483a6m.js +693 -0
  287. package/dist/skills-CsZRBUj0.js +694 -0
  288. package/dist/skills-cli-DQaq5LBX.js +290 -0
  289. package/dist/skills-cli-dVugbaAb.js +288 -0
  290. package/dist/skills-status-4_4zVBvV.js +187 -0
  291. package/dist/skills-status-cD4rfMR9.js +187 -0
  292. package/dist/sqlite-C4DljFNL.js +215 -0
  293. package/dist/sqlite-CvQzxS7q.js +197 -0
  294. package/dist/sqlite-Dnmf3LS7.js +215 -0
  295. package/dist/status-BakhDLuG.js +27 -0
  296. package/dist/status-BqtiImKF.js +21 -0
  297. package/dist/status-DHPz4Mg_.js +3364 -0
  298. package/dist/status-DSoYX3Ep.js +27 -0
  299. package/dist/status-Drziap9H.js +21 -0
  300. package/dist/subsystem-Btuh5yZj.js +834 -0
  301. package/dist/system-cli-CUQswQPX.js +83 -0
  302. package/dist/system-cli-Cz7in_Xr.js +81 -0
  303. package/dist/systemd-CFHiVC1D.js +438 -0
  304. package/dist/systemd-hints-CgQqk98i.js +19 -0
  305. package/dist/systemd-hints-DKVCFZS3.js +19 -0
  306. package/dist/systemd-kY3NnWdi.js +438 -0
  307. package/dist/systemd-linger-CFK5jDdq.js +75 -0
  308. package/dist/systemd-linger-CxBBzOjC.js +75 -0
  309. package/dist/table-DAOPkdc_.js +279 -0
  310. package/dist/table-DDQGlZSe.js +279 -0
  311. package/dist/tailnet-CZq_ZSNX.js +42 -0
  312. package/dist/tailnet-D5wOWpOX.js +42 -0
  313. package/dist/tailscale-BY0igR48.js +252 -0
  314. package/dist/tailscale-CCLcQalf.js +225 -0
  315. package/dist/tool-display-B2rS2o6B.js +795 -0
  316. package/dist/tool-display-Zbh1CRw5.js +795 -0
  317. package/dist/transcript-events-BOK6eOU8.js +17 -0
  318. package/dist/transcript-events-D2kT5WSz.js +17 -0
  319. package/dist/transcript-events-JLH5W4He.js +17 -0
  320. package/dist/tui-DFVs6pRO.js +2672 -0
  321. package/dist/tui-cli-CBKZVd1C.js +58 -0
  322. package/dist/tui-cli-DexeJOgZ.js +56 -0
  323. package/dist/tui-qPHLsB-x.js +2672 -0
  324. package/dist/update-B2q3duJD.js +317 -0
  325. package/dist/update-DNnej3C6.js +317 -0
  326. package/dist/update-cli-BPUtZjbl.js +1031 -0
  327. package/dist/update-cli-ehTYbpaU.js +1032 -0
  328. package/dist/update-runner-BfncKnU6.js +1375 -0
  329. package/dist/update-runner-DAeygRSU.js +1375 -0
  330. package/dist/usage-format-C4JfTbSp.js +36 -0
  331. package/dist/usage-format-DvowRSs-.js +36 -0
  332. package/dist/utils-7IMqr8vR.js +189 -0
  333. package/dist/utils-D7jskKIf.js +192 -0
  334. package/dist/wallet-manager-7KHKMCbT.js +264 -0
  335. package/dist/wallet-manager-CT1ykq2O.js +264 -0
  336. package/dist/webhooks-cli-C0CV-1jG.js +310 -0
  337. package/dist/webhooks-cli-DT16BygW.js +312 -0
  338. package/dist/widearea-dns-BJZTAyT3.js +127 -0
  339. package/dist/widearea-dns-Dk82I4Xa.js +127 -0
  340. package/dist/ws-6_dFpKWQ.js +13 -0
  341. package/dist/ws-D64QKPe6.js +13 -0
  342. package/dist/ws-log-BhQmGM0R.js +267 -0
  343. package/dist/ws-log-DsyLcTqD.js +267 -0
  344. package/dist/wsl-C24YfxH9.js +160 -0
  345. package/docs/.i18n/README.md +31 -0
  346. package/docs/.i18n/glossary.zh-CN.json +210 -0
  347. package/docs/.i18n/zh-CN.tm.jsonl +1329 -0
  348. package/docs/CNAME +1 -0
  349. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  350. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  351. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  352. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  353. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  354. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  355. package/docs/assets/openclaw-logo-text.png +0 -0
  356. package/docs/assets/pixel-lobster.svg +60 -0
  357. package/docs/assets/showcase/agents-ui.jpg +0 -0
  358. package/docs/assets/showcase/bambu-cli.png +0 -0
  359. package/docs/assets/showcase/codexmonitor.png +0 -0
  360. package/docs/assets/showcase/gohome-grafana.png +0 -0
  361. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  362. package/docs/assets/showcase/oura-health.png +0 -0
  363. package/docs/assets/showcase/padel-cli.svg +11 -0
  364. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  365. package/docs/assets/showcase/papla-tts.jpg +0 -0
  366. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  367. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  368. package/docs/assets/showcase/roborock-status.svg +13 -0
  369. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  370. package/docs/assets/showcase/snag.png +0 -0
  371. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  372. package/docs/assets/showcase/wienerlinien.png +0 -0
  373. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  374. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  375. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  376. package/docs/automation/auth-monitoring.md +44 -0
  377. package/docs/automation/cron-jobs.md +468 -0
  378. package/docs/automation/cron-vs-heartbeat.md +282 -0
  379. package/docs/automation/gmail-pubsub.md +256 -0
  380. package/docs/automation/poll.md +69 -0
  381. package/docs/automation/webhook.md +163 -0
  382. package/docs/bedrock.md +176 -0
  383. package/docs/brave-search.md +41 -0
  384. package/docs/broadcast-groups.md +442 -0
  385. package/docs/channels/bluebubbles.md +338 -0
  386. package/docs/channels/discord.md +476 -0
  387. package/docs/channels/feishu.md +577 -0
  388. package/docs/channels/googlechat.md +250 -0
  389. package/docs/channels/grammy.md +31 -0
  390. package/docs/channels/imessage.md +299 -0
  391. package/docs/channels/index.md +46 -0
  392. package/docs/channels/line.md +186 -0
  393. package/docs/channels/location.md +56 -0
  394. package/docs/channels/matrix.md +233 -0
  395. package/docs/channels/mattermost.md +138 -0
  396. package/docs/channels/msteams.md +768 -0
  397. package/docs/channels/nextcloud-talk.md +136 -0
  398. package/docs/channels/nostr.md +233 -0
  399. package/docs/channels/signal.md +202 -0
  400. package/docs/channels/slack.md +548 -0
  401. package/docs/channels/telegram.md +769 -0
  402. package/docs/channels/tlon.md +132 -0
  403. package/docs/channels/troubleshooting.md +29 -0
  404. package/docs/channels/twitch.md +379 -0
  405. package/docs/channels/whatsapp.md +404 -0
  406. package/docs/channels/zalo.md +189 -0
  407. package/docs/channels/zalouser.md +140 -0
  408. package/docs/cli/acp.md +170 -0
  409. package/docs/cli/agent.md +24 -0
  410. package/docs/cli/agents.md +75 -0
  411. package/docs/cli/approvals.md +50 -0
  412. package/docs/cli/browser.md +107 -0
  413. package/docs/cli/channels.md +79 -0
  414. package/docs/cli/config.md +50 -0
  415. package/docs/cli/configure.md +33 -0
  416. package/docs/cli/cron.md +42 -0
  417. package/docs/cli/dashboard.md +16 -0
  418. package/docs/cli/devices.md +70 -0
  419. package/docs/cli/directory.md +63 -0
  420. package/docs/cli/dns.md +23 -0
  421. package/docs/cli/docs.md +15 -0
  422. package/docs/cli/doctor.md +41 -0
  423. package/docs/cli/gateway.md +202 -0
  424. package/docs/cli/health.md +21 -0
  425. package/docs/cli/hooks.md +304 -0
  426. package/docs/cli/index.md +1031 -0
  427. package/docs/cli/logs.md +24 -0
  428. package/docs/cli/memory.md +45 -0
  429. package/docs/cli/message.md +239 -0
  430. package/docs/cli/models.md +79 -0
  431. package/docs/cli/node.md +112 -0
  432. package/docs/cli/nodes.md +73 -0
  433. package/docs/cli/onboard.md +43 -0
  434. package/docs/cli/pairing.md +21 -0
  435. package/docs/cli/plugins.md +62 -0
  436. package/docs/cli/reset.md +17 -0
  437. package/docs/cli/sandbox.md +152 -0
  438. package/docs/cli/security.md +26 -0
  439. package/docs/cli/sessions.md +16 -0
  440. package/docs/cli/setup.md +29 -0
  441. package/docs/cli/skills.md +26 -0
  442. package/docs/cli/status.md +26 -0
  443. package/docs/cli/system.md +60 -0
  444. package/docs/cli/tui.md +23 -0
  445. package/docs/cli/uninstall.md +17 -0
  446. package/docs/cli/update.md +98 -0
  447. package/docs/cli/voicecall.md +34 -0
  448. package/docs/cli/webhooks.md +25 -0
  449. package/docs/concepts/agent-loop.md +146 -0
  450. package/docs/concepts/agent-workspace.md +233 -0
  451. package/docs/concepts/agent.md +123 -0
  452. package/docs/concepts/architecture.md +129 -0
  453. package/docs/concepts/channel-routing.md +114 -0
  454. package/docs/concepts/compaction.md +61 -0
  455. package/docs/concepts/context.md +161 -0
  456. package/docs/concepts/features.md +53 -0
  457. package/docs/concepts/group-messages.md +84 -0
  458. package/docs/concepts/groups.md +373 -0
  459. package/docs/concepts/markdown-formatting.md +130 -0
  460. package/docs/concepts/memory.md +546 -0
  461. package/docs/concepts/messages.md +154 -0
  462. package/docs/concepts/model-failover.md +149 -0
  463. package/docs/concepts/model-providers.md +316 -0
  464. package/docs/concepts/models.md +208 -0
  465. package/docs/concepts/multi-agent.md +376 -0
  466. package/docs/concepts/oauth.md +145 -0
  467. package/docs/concepts/presence.md +102 -0
  468. package/docs/concepts/queue.md +89 -0
  469. package/docs/concepts/retry.md +69 -0
  470. package/docs/concepts/session-pruning.md +122 -0
  471. package/docs/concepts/session-tool.md +193 -0
  472. package/docs/concepts/session.md +204 -0
  473. package/docs/concepts/sessions.md +10 -0
  474. package/docs/concepts/streaming.md +135 -0
  475. package/docs/concepts/system-prompt.md +115 -0
  476. package/docs/concepts/timezone.md +91 -0
  477. package/docs/concepts/typebox.md +289 -0
  478. package/docs/concepts/typing-indicators.md +68 -0
  479. package/docs/concepts/usage-tracking.md +35 -0
  480. package/docs/date-time.md +128 -0
  481. package/docs/debug/node-issue.md +83 -0
  482. package/docs/debugging.md +162 -0
  483. package/docs/diagnostics/flags.md +91 -0
  484. package/docs/docs.json +1736 -0
  485. package/docs/environment.md +81 -0
  486. package/docs/experiments/onboarding-config-protocol.md +40 -0
  487. package/docs/experiments/plans/cron-add-hardening.md +63 -0
  488. package/docs/experiments/plans/group-policy-hardening.md +40 -0
  489. package/docs/experiments/plans/openresponses-gateway.md +123 -0
  490. package/docs/experiments/proposals/model-config.md +36 -0
  491. package/docs/experiments/research/memory.md +228 -0
  492. package/docs/gateway/authentication.md +145 -0
  493. package/docs/gateway/background-process.md +93 -0
  494. package/docs/gateway/bonjour.md +167 -0
  495. package/docs/gateway/bridge-protocol.md +89 -0
  496. package/docs/gateway/cli-backends.md +225 -0
  497. package/docs/gateway/configuration-examples.md +606 -0
  498. package/docs/gateway/configuration.md +3411 -0
  499. package/docs/gateway/discovery.md +116 -0
  500. package/docs/gateway/doctor.md +282 -0
  501. package/docs/gateway/gateway-lock.md +34 -0
  502. package/docs/gateway/health.md +35 -0
  503. package/docs/gateway/heartbeat.md +362 -0
  504. package/docs/gateway/index.md +328 -0
  505. package/docs/gateway/local-models.md +150 -0
  506. package/docs/gateway/logging.md +113 -0
  507. package/docs/gateway/multiple-gateways.md +112 -0
  508. package/docs/gateway/network-model.md +17 -0
  509. package/docs/gateway/openai-http-api.md +118 -0
  510. package/docs/gateway/openresponses-http-api.md +317 -0
  511. package/docs/gateway/pairing.md +99 -0
  512. package/docs/gateway/protocol.md +221 -0
  513. package/docs/gateway/remote-gateway-readme.md +157 -0
  514. package/docs/gateway/remote.md +129 -0
  515. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +128 -0
  516. package/docs/gateway/sandboxing.md +193 -0
  517. package/docs/gateway/security/formal-verification.md +164 -0
  518. package/docs/gateway/security/index.md +825 -0
  519. package/docs/gateway/tailscale.md +127 -0
  520. package/docs/gateway/tools-invoke-http-api.md +85 -0
  521. package/docs/gateway/troubleshooting.md +767 -0
  522. package/docs/help/faq.md +2829 -0
  523. package/docs/help/index.md +21 -0
  524. package/docs/help/troubleshooting.md +98 -0
  525. package/docs/hooks/soul-evil.md +69 -0
  526. package/docs/hooks.md +913 -0
  527. package/docs/images/feishu-step2-create-app.png +0 -0
  528. package/docs/images/feishu-step3-credentials.png +0 -0
  529. package/docs/images/feishu-step4-permissions.png +0 -0
  530. package/docs/images/feishu-step5-bot-capability.png +0 -0
  531. package/docs/images/feishu-step6-event-subscription.png +0 -0
  532. package/docs/images/groups-flow.svg +52 -0
  533. package/docs/images/mobile-ui-screenshot.png +0 -0
  534. package/docs/index.md +192 -0
  535. package/docs/install/ansible.md +208 -0
  536. package/docs/install/bun.md +59 -0
  537. package/docs/install/development-channels.md +75 -0
  538. package/docs/install/docker.md +567 -0
  539. package/docs/install/exe-dev.md +126 -0
  540. package/docs/install/fly.md +486 -0
  541. package/docs/install/gcp.md +503 -0
  542. package/docs/install/hetzner.md +330 -0
  543. package/docs/install/index.md +187 -0
  544. package/docs/install/installer.md +123 -0
  545. package/docs/install/macos-vm.md +281 -0
  546. package/docs/install/migrating.md +192 -0
  547. package/docs/install/nix.md +96 -0
  548. package/docs/install/node.md +78 -0
  549. package/docs/install/northflank.mdx +53 -0
  550. package/docs/install/railway.mdx +99 -0
  551. package/docs/install/render.mdx +165 -0
  552. package/docs/install/uninstall.md +128 -0
  553. package/docs/install/updating.md +228 -0
  554. package/docs/logging.md +350 -0
  555. package/docs/multi-agent-sandbox-tools.md +395 -0
  556. package/docs/network.md +54 -0
  557. package/docs/nodes/audio.md +114 -0
  558. package/docs/nodes/camera.md +156 -0
  559. package/docs/nodes/images.md +72 -0
  560. package/docs/nodes/index.md +341 -0
  561. package/docs/nodes/location-command.md +113 -0
  562. package/docs/nodes/media-understanding.md +379 -0
  563. package/docs/nodes/talk.md +90 -0
  564. package/docs/nodes/voicewake.md +65 -0
  565. package/docs/perplexity.md +80 -0
  566. package/docs/pi-dev.md +70 -0
  567. package/docs/pi.md +612 -0
  568. package/docs/platforms/android.md +148 -0
  569. package/docs/platforms/digitalocean.md +262 -0
  570. package/docs/platforms/index.md +53 -0
  571. package/docs/platforms/ios.md +107 -0
  572. package/docs/platforms/linux.md +94 -0
  573. package/docs/platforms/mac/bundled-gateway.md +73 -0
  574. package/docs/platforms/mac/canvas.md +125 -0
  575. package/docs/platforms/mac/child-process.md +69 -0
  576. package/docs/platforms/mac/dev-setup.md +102 -0
  577. package/docs/platforms/mac/health.md +34 -0
  578. package/docs/platforms/mac/icon.md +31 -0
  579. package/docs/platforms/mac/logging.md +57 -0
  580. package/docs/platforms/mac/menu-bar.md +81 -0
  581. package/docs/platforms/mac/peekaboo.md +65 -0
  582. package/docs/platforms/mac/permissions.md +44 -0
  583. package/docs/platforms/mac/release.md +85 -0
  584. package/docs/platforms/mac/remote.md +83 -0
  585. package/docs/platforms/mac/signing.md +47 -0
  586. package/docs/platforms/mac/skills.md +33 -0
  587. package/docs/platforms/mac/voice-overlay.md +60 -0
  588. package/docs/platforms/mac/voicewake.md +67 -0
  589. package/docs/platforms/mac/webchat.md +41 -0
  590. package/docs/platforms/mac/xpc.md +61 -0
  591. package/docs/platforms/macos.md +203 -0
  592. package/docs/platforms/oracle.md +303 -0
  593. package/docs/platforms/raspberry-pi.md +358 -0
  594. package/docs/platforms/windows.md +159 -0
  595. package/docs/plugin.md +664 -0
  596. package/docs/plugins/agent-tools.md +99 -0
  597. package/docs/plugins/manifest.md +71 -0
  598. package/docs/plugins/voice-call.md +284 -0
  599. package/docs/plugins/zalouser.md +81 -0
  600. package/docs/prose.md +134 -0
  601. package/docs/providers/anthropic.md +152 -0
  602. package/docs/providers/claude-max-api-proxy.md +148 -0
  603. package/docs/providers/cloudflare-ai-gateway.md +71 -0
  604. package/docs/providers/deepgram.md +93 -0
  605. package/docs/providers/github-copilot.md +72 -0
  606. package/docs/providers/glm.md +33 -0
  607. package/docs/providers/index.md +63 -0
  608. package/docs/providers/minimax.md +208 -0
  609. package/docs/providers/models.md +51 -0
  610. package/docs/providers/moonshot.md +142 -0
  611. package/docs/providers/ollama.md +277 -0
  612. package/docs/providers/openai.md +62 -0
  613. package/docs/providers/opencode.md +36 -0
  614. package/docs/providers/openrouter.md +37 -0
  615. package/docs/providers/qwen.md +53 -0
  616. package/docs/providers/synthetic.md +99 -0
  617. package/docs/providers/venice.md +267 -0
  618. package/docs/providers/vercel-ai-gateway.md +50 -0
  619. package/docs/providers/xiaomi.md +64 -0
  620. package/docs/providers/zai.md +36 -0
  621. package/docs/refactor/clawnet.md +417 -0
  622. package/docs/refactor/exec-host.md +316 -0
  623. package/docs/refactor/outbound-session-mirroring.md +85 -0
  624. package/docs/refactor/plugin-sdk.md +214 -0
  625. package/docs/refactor/strict-config.md +93 -0
  626. package/docs/reference/AGENTS.default.md +124 -0
  627. package/docs/reference/RELEASING.md +120 -0
  628. package/docs/reference/api-usage-costs.md +137 -0
  629. package/docs/reference/credits.md +27 -0
  630. package/docs/reference/device-models.md +47 -0
  631. package/docs/reference/rpc.md +43 -0
  632. package/docs/reference/session-management-compaction.md +285 -0
  633. package/docs/reference/templates/AGENTS.dev.md +83 -0
  634. package/docs/reference/templates/AGENTS.md +218 -0
  635. package/docs/reference/templates/BOOT.md +10 -0
  636. package/docs/reference/templates/BOOTSTRAP.md +61 -0
  637. package/docs/reference/templates/HEARTBEAT.md +11 -0
  638. package/docs/reference/templates/IDENTITY.dev.md +47 -0
  639. package/docs/reference/templates/IDENTITY.md +27 -0
  640. package/docs/reference/templates/SOUL.dev.md +76 -0
  641. package/docs/reference/templates/SOUL.md +42 -0
  642. package/docs/reference/templates/TOOLS.dev.md +24 -0
  643. package/docs/reference/templates/TOOLS.md +46 -0
  644. package/docs/reference/templates/USER.dev.md +18 -0
  645. package/docs/reference/templates/USER.md +22 -0
  646. package/docs/reference/test.md +50 -0
  647. package/docs/reference/transcript-hygiene.md +129 -0
  648. package/docs/reference/wizard.md +268 -0
  649. package/docs/scripts.md +28 -0
  650. package/docs/security/formal-verification.md +164 -0
  651. package/docs/start/bootstrapping.md +41 -0
  652. package/docs/start/docs-directory.md +64 -0
  653. package/docs/start/getting-started.md +120 -0
  654. package/docs/start/hubs.md +197 -0
  655. package/docs/start/lore.md +219 -0
  656. package/docs/start/onboarding.md +80 -0
  657. package/docs/start/openclaw.md +224 -0
  658. package/docs/start/pairing.md +86 -0
  659. package/docs/start/quickstart.md +22 -0
  660. package/docs/start/setup.md +162 -0
  661. package/docs/start/showcase.md +416 -0
  662. package/docs/start/wizard-cli-automation.md +141 -0
  663. package/docs/start/wizard-cli-reference.md +244 -0
  664. package/docs/start/wizard.md +108 -0
  665. package/docs/style.css +3 -0
  666. package/docs/testing.md +368 -0
  667. package/docs/token-use.md +112 -0
  668. package/docs/tools/agent-send.md +53 -0
  669. package/docs/tools/apply-patch.md +50 -0
  670. package/docs/tools/browser-linux-troubleshooting.md +139 -0
  671. package/docs/tools/browser-login.md +68 -0
  672. package/docs/tools/browser.md +576 -0
  673. package/docs/tools/chrome-extension.md +178 -0
  674. package/docs/tools/clawhub.md +257 -0
  675. package/docs/tools/creating-skills.md +54 -0
  676. package/docs/tools/elevated.md +57 -0
  677. package/docs/tools/exec-approvals.md +246 -0
  678. package/docs/tools/exec.md +179 -0
  679. package/docs/tools/firecrawl.md +61 -0
  680. package/docs/tools/index.md +512 -0
  681. package/docs/tools/llm-task.md +115 -0
  682. package/docs/tools/lobster.md +342 -0
  683. package/docs/tools/reactions.md +22 -0
  684. package/docs/tools/skills-config.md +76 -0
  685. package/docs/tools/skills.md +300 -0
  686. package/docs/tools/slash-commands.md +198 -0
  687. package/docs/tools/subagents.md +151 -0
  688. package/docs/tools/thinking.md +74 -0
  689. package/docs/tools/web.md +261 -0
  690. package/docs/tts.md +396 -0
  691. package/docs/tui.md +162 -0
  692. package/docs/vps.md +43 -0
  693. package/docs/web/control-ui.md +223 -0
  694. package/docs/web/dashboard.md +46 -0
  695. package/docs/web/index.md +116 -0
  696. package/docs/web/webchat.md +49 -0
  697. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  698. package/docs/whatsapp-openclaw.jpg +0 -0
  699. package/docs/zh-CN/AGENTS.md +59 -0
  700. package/docs/zh-CN/automation/auth-monitoring.md +47 -0
  701. package/docs/zh-CN/automation/cron-jobs.md +424 -0
  702. package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
  703. package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
  704. package/docs/zh-CN/automation/poll.md +76 -0
  705. package/docs/zh-CN/automation/webhook.md +163 -0
  706. package/docs/zh-CN/bedrock.md +170 -0
  707. package/docs/zh-CN/brave-search.md +48 -0
  708. package/docs/zh-CN/broadcast-groups.md +449 -0
  709. package/docs/zh-CN/channels/bluebubbles.md +271 -0
  710. package/docs/zh-CN/channels/discord.md +468 -0
  711. package/docs/zh-CN/channels/feishu.md +629 -0
  712. package/docs/zh-CN/channels/googlechat.md +257 -0
  713. package/docs/zh-CN/channels/grammy.md +38 -0
  714. package/docs/zh-CN/channels/imessage.md +302 -0
  715. package/docs/zh-CN/channels/index.md +53 -0
  716. package/docs/zh-CN/channels/line.md +180 -0
  717. package/docs/zh-CN/channels/location.md +63 -0
  718. package/docs/zh-CN/channels/matrix.md +221 -0
  719. package/docs/zh-CN/channels/mattermost.md +144 -0
  720. package/docs/zh-CN/channels/msteams.md +775 -0
  721. package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
  722. package/docs/zh-CN/channels/nostr.md +240 -0
  723. package/docs/zh-CN/channels/signal.md +209 -0
  724. package/docs/zh-CN/channels/slack.md +531 -0
  725. package/docs/zh-CN/channels/telegram.md +751 -0
  726. package/docs/zh-CN/channels/tlon.md +136 -0
  727. package/docs/zh-CN/channels/troubleshooting.md +36 -0
  728. package/docs/zh-CN/channels/twitch.md +385 -0
  729. package/docs/zh-CN/channels/whatsapp.md +411 -0
  730. package/docs/zh-CN/channels/zalo.md +196 -0
  731. package/docs/zh-CN/channels/zalouser.md +147 -0
  732. package/docs/zh-CN/cli/acp.md +173 -0
  733. package/docs/zh-CN/cli/agent.md +30 -0
  734. package/docs/zh-CN/cli/agents.md +82 -0
  735. package/docs/zh-CN/cli/approvals.md +57 -0
  736. package/docs/zh-CN/cli/browser.md +114 -0
  737. package/docs/zh-CN/cli/channels.md +86 -0
  738. package/docs/zh-CN/cli/config.md +57 -0
  739. package/docs/zh-CN/cli/configure.md +38 -0
  740. package/docs/zh-CN/cli/cron.md +43 -0
  741. package/docs/zh-CN/cli/dashboard.md +23 -0
  742. package/docs/zh-CN/cli/devices.md +74 -0
  743. package/docs/zh-CN/cli/directory.md +70 -0
  744. package/docs/zh-CN/cli/dns.md +30 -0
  745. package/docs/zh-CN/cli/docs.md +22 -0
  746. package/docs/zh-CN/cli/doctor.md +48 -0
  747. package/docs/zh-CN/cli/gateway.md +206 -0
  748. package/docs/zh-CN/cli/health.md +28 -0
  749. package/docs/zh-CN/cli/hooks.md +311 -0
  750. package/docs/zh-CN/cli/index.md +1032 -0
  751. package/docs/zh-CN/cli/logs.md +31 -0
  752. package/docs/zh-CN/cli/memory.md +52 -0
  753. package/docs/zh-CN/cli/message.md +246 -0
  754. package/docs/zh-CN/cli/models.md +85 -0
  755. package/docs/zh-CN/cli/node.md +115 -0
  756. package/docs/zh-CN/cli/nodes.md +80 -0
  757. package/docs/zh-CN/cli/onboard.md +36 -0
  758. package/docs/zh-CN/cli/pairing.md +28 -0
  759. package/docs/zh-CN/cli/plugins.md +66 -0
  760. package/docs/zh-CN/cli/reset.md +24 -0
  761. package/docs/zh-CN/cli/sandbox.md +158 -0
  762. package/docs/zh-CN/cli/security.md +33 -0
  763. package/docs/zh-CN/cli/sessions.md +23 -0
  764. package/docs/zh-CN/cli/setup.md +36 -0
  765. package/docs/zh-CN/cli/skills.md +33 -0
  766. package/docs/zh-CN/cli/status.md +33 -0
  767. package/docs/zh-CN/cli/system.md +63 -0
  768. package/docs/zh-CN/cli/tui.md +30 -0
  769. package/docs/zh-CN/cli/uninstall.md +24 -0
  770. package/docs/zh-CN/cli/update.md +101 -0
  771. package/docs/zh-CN/cli/voicecall.md +41 -0
  772. package/docs/zh-CN/cli/webhooks.md +32 -0
  773. package/docs/zh-CN/concepts/agent-loop.md +146 -0
  774. package/docs/zh-CN/concepts/agent-workspace.md +219 -0
  775. package/docs/zh-CN/concepts/agent.md +115 -0
  776. package/docs/zh-CN/concepts/architecture.md +123 -0
  777. package/docs/zh-CN/concepts/channel-routing.md +117 -0
  778. package/docs/zh-CN/concepts/compaction.md +67 -0
  779. package/docs/zh-CN/concepts/context.md +168 -0
  780. package/docs/zh-CN/concepts/features.md +59 -0
  781. package/docs/zh-CN/concepts/group-messages.md +91 -0
  782. package/docs/zh-CN/concepts/groups.md +379 -0
  783. package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
  784. package/docs/zh-CN/concepts/memory.md +412 -0
  785. package/docs/zh-CN/concepts/messages.md +141 -0
  786. package/docs/zh-CN/concepts/model-failover.md +145 -0
  787. package/docs/zh-CN/concepts/model-providers.md +320 -0
  788. package/docs/zh-CN/concepts/models.md +196 -0
  789. package/docs/zh-CN/concepts/multi-agent.md +372 -0
  790. package/docs/zh-CN/concepts/oauth.md +151 -0
  791. package/docs/zh-CN/concepts/presence.md +99 -0
  792. package/docs/zh-CN/concepts/queue.md +94 -0
  793. package/docs/zh-CN/concepts/retry.md +76 -0
  794. package/docs/zh-CN/concepts/session-pruning.md +129 -0
  795. package/docs/zh-CN/concepts/session-tool.md +200 -0
  796. package/docs/zh-CN/concepts/session.md +166 -0
  797. package/docs/zh-CN/concepts/sessions.md +17 -0
  798. package/docs/zh-CN/concepts/streaming.md +133 -0
  799. package/docs/zh-CN/concepts/system-prompt.md +101 -0
  800. package/docs/zh-CN/concepts/timezone.md +96 -0
  801. package/docs/zh-CN/concepts/typebox.md +284 -0
  802. package/docs/zh-CN/concepts/typing-indicators.md +74 -0
  803. package/docs/zh-CN/concepts/usage-tracking.md +42 -0
  804. package/docs/zh-CN/date-time.md +129 -0
  805. package/docs/zh-CN/debug/node-issue.md +90 -0
  806. package/docs/zh-CN/debugging.md +160 -0
  807. package/docs/zh-CN/diagnostics/flags.md +98 -0
  808. package/docs/zh-CN/environment.md +88 -0
  809. package/docs/zh-CN/experiments/onboarding-config-protocol.md +47 -0
  810. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +70 -0
  811. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +45 -0
  812. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +121 -0
  813. package/docs/zh-CN/experiments/proposals/model-config.md +42 -0
  814. package/docs/zh-CN/experiments/research/memory.md +235 -0
  815. package/docs/zh-CN/gateway/authentication.md +142 -0
  816. package/docs/zh-CN/gateway/background-process.md +100 -0
  817. package/docs/zh-CN/gateway/bonjour.md +174 -0
  818. package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
  819. package/docs/zh-CN/gateway/cli-backends.md +213 -0
  820. package/docs/zh-CN/gateway/configuration-examples.md +587 -0
  821. package/docs/zh-CN/gateway/configuration.md +3332 -0
  822. package/docs/zh-CN/gateway/discovery.md +123 -0
  823. package/docs/zh-CN/gateway/doctor.md +238 -0
  824. package/docs/zh-CN/gateway/gateway-lock.md +41 -0
  825. package/docs/zh-CN/gateway/health.md +42 -0
  826. package/docs/zh-CN/gateway/heartbeat.md +274 -0
  827. package/docs/zh-CN/gateway/index.md +335 -0
  828. package/docs/zh-CN/gateway/local-models.md +157 -0
  829. package/docs/zh-CN/gateway/logging.md +114 -0
  830. package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
  831. package/docs/zh-CN/gateway/network-model.md +23 -0
  832. package/docs/zh-CN/gateway/openai-http-api.md +125 -0
  833. package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
  834. package/docs/zh-CN/gateway/pairing.md +99 -0
  835. package/docs/zh-CN/gateway/protocol.md +220 -0
  836. package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
  837. package/docs/zh-CN/gateway/remote.md +133 -0
  838. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
  839. package/docs/zh-CN/gateway/sandboxing.md +188 -0
  840. package/docs/zh-CN/gateway/security/formal-verification.md +169 -0
  841. package/docs/zh-CN/gateway/security/index.md +777 -0
  842. package/docs/zh-CN/gateway/tailscale.md +124 -0
  843. package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
  844. package/docs/zh-CN/gateway/troubleshooting.md +771 -0
  845. package/docs/zh-CN/help/faq.md +2628 -0
  846. package/docs/zh-CN/help/index.md +28 -0
  847. package/docs/zh-CN/help/troubleshooting.md +104 -0
  848. package/docs/zh-CN/hooks/soul-evil.md +72 -0
  849. package/docs/zh-CN/hooks.md +919 -0
  850. package/docs/zh-CN/index.md +186 -0
  851. package/docs/zh-CN/install/ansible.md +215 -0
  852. package/docs/zh-CN/install/bun.md +65 -0
  853. package/docs/zh-CN/install/development-channels.md +81 -0
  854. package/docs/zh-CN/install/docker.md +532 -0
  855. package/docs/zh-CN/install/exe-dev.md +127 -0
  856. package/docs/zh-CN/install/fly.md +490 -0
  857. package/docs/zh-CN/install/gcp.md +510 -0
  858. package/docs/zh-CN/install/hetzner.md +337 -0
  859. package/docs/zh-CN/install/index.md +193 -0
  860. package/docs/zh-CN/install/installer.md +128 -0
  861. package/docs/zh-CN/install/macos-vm.md +288 -0
  862. package/docs/zh-CN/install/migrating.md +199 -0
  863. package/docs/zh-CN/install/nix.md +99 -0
  864. package/docs/zh-CN/install/node.md +85 -0
  865. package/docs/zh-CN/install/northflank.mdx +60 -0
  866. package/docs/zh-CN/install/railway.mdx +106 -0
  867. package/docs/zh-CN/install/render.mdx +169 -0
  868. package/docs/zh-CN/install/uninstall.md +135 -0
  869. package/docs/zh-CN/install/updating.md +233 -0
  870. package/docs/zh-CN/logging.md +329 -0
  871. package/docs/zh-CN/multi-agent-sandbox-tools.md +401 -0
  872. package/docs/zh-CN/network.md +59 -0
  873. package/docs/zh-CN/nodes/audio.md +120 -0
  874. package/docs/zh-CN/nodes/camera.md +162 -0
  875. package/docs/zh-CN/nodes/images.md +79 -0
  876. package/docs/zh-CN/nodes/index.md +348 -0
  877. package/docs/zh-CN/nodes/location-command.md +120 -0
  878. package/docs/zh-CN/nodes/media-understanding.md +380 -0
  879. package/docs/zh-CN/nodes/talk.md +97 -0
  880. package/docs/zh-CN/nodes/voicewake.md +72 -0
  881. package/docs/zh-CN/perplexity.md +84 -0
  882. package/docs/zh-CN/pi-dev.md +77 -0
  883. package/docs/zh-CN/pi.md +619 -0
  884. package/docs/zh-CN/platforms/android.md +155 -0
  885. package/docs/zh-CN/platforms/digitalocean.md +269 -0
  886. package/docs/zh-CN/platforms/index.md +60 -0
  887. package/docs/zh-CN/platforms/ios.md +114 -0
  888. package/docs/zh-CN/platforms/linux.md +101 -0
  889. package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
  890. package/docs/zh-CN/platforms/mac/canvas.md +128 -0
  891. package/docs/zh-CN/platforms/mac/child-process.md +73 -0
  892. package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
  893. package/docs/zh-CN/platforms/mac/health.md +41 -0
  894. package/docs/zh-CN/platforms/mac/icon.md +38 -0
  895. package/docs/zh-CN/platforms/mac/logging.md +64 -0
  896. package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
  897. package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
  898. package/docs/zh-CN/platforms/mac/permissions.md +46 -0
  899. package/docs/zh-CN/platforms/mac/release.md +92 -0
  900. package/docs/zh-CN/platforms/mac/remote.md +90 -0
  901. package/docs/zh-CN/platforms/mac/signing.md +54 -0
  902. package/docs/zh-CN/platforms/mac/skills.md +40 -0
  903. package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
  904. package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
  905. package/docs/zh-CN/platforms/mac/webchat.md +43 -0
  906. package/docs/zh-CN/platforms/mac/xpc.md +68 -0
  907. package/docs/zh-CN/platforms/macos.md +193 -0
  908. package/docs/zh-CN/platforms/oracle.md +310 -0
  909. package/docs/zh-CN/platforms/raspberry-pi.md +365 -0
  910. package/docs/zh-CN/platforms/windows.md +156 -0
  911. package/docs/zh-CN/plugin.md +639 -0
  912. package/docs/zh-CN/plugins/agent-tools.md +99 -0
  913. package/docs/zh-CN/plugins/manifest.md +68 -0
  914. package/docs/zh-CN/plugins/voice-call.md +250 -0
  915. package/docs/zh-CN/plugins/zalouser.md +88 -0
  916. package/docs/zh-CN/prose.md +141 -0
  917. package/docs/zh-CN/providers/anthropic.md +159 -0
  918. package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
  919. package/docs/zh-CN/providers/deepgram.md +97 -0
  920. package/docs/zh-CN/providers/github-copilot.md +67 -0
  921. package/docs/zh-CN/providers/glm.md +39 -0
  922. package/docs/zh-CN/providers/index.md +68 -0
  923. package/docs/zh-CN/providers/minimax.md +206 -0
  924. package/docs/zh-CN/providers/models.md +55 -0
  925. package/docs/zh-CN/providers/moonshot.md +145 -0
  926. package/docs/zh-CN/providers/ollama.md +230 -0
  927. package/docs/zh-CN/providers/openai.md +68 -0
  928. package/docs/zh-CN/providers/opencode.md +41 -0
  929. package/docs/zh-CN/providers/openrouter.md +43 -0
  930. package/docs/zh-CN/providers/qwen.md +55 -0
  931. package/docs/zh-CN/providers/synthetic.md +102 -0
  932. package/docs/zh-CN/providers/venice.md +274 -0
  933. package/docs/zh-CN/providers/vercel-ai-gateway.md +57 -0
  934. package/docs/zh-CN/providers/xiaomi.md +68 -0
  935. package/docs/zh-CN/providers/zai.md +41 -0
  936. package/docs/zh-CN/refactor/clawnet.md +424 -0
  937. package/docs/zh-CN/refactor/exec-host.md +323 -0
  938. package/docs/zh-CN/refactor/outbound-session-mirroring.md +92 -0
  939. package/docs/zh-CN/refactor/plugin-sdk.md +221 -0
  940. package/docs/zh-CN/refactor/strict-config.md +100 -0
  941. package/docs/zh-CN/reference/AGENTS.default.md +131 -0
  942. package/docs/zh-CN/reference/RELEASING.md +123 -0
  943. package/docs/zh-CN/reference/api-usage-costs.md +136 -0
  944. package/docs/zh-CN/reference/credits.md +34 -0
  945. package/docs/zh-CN/reference/device-models.md +54 -0
  946. package/docs/zh-CN/reference/rpc.md +48 -0
  947. package/docs/zh-CN/reference/session-management-compaction.md +287 -0
  948. package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
  949. package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
  950. package/docs/zh-CN/reference/templates/BOOT.md +17 -0
  951. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
  952. package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
  953. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
  954. package/docs/zh-CN/reference/templates/IDENTITY.md +35 -0
  955. package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
  956. package/docs/zh-CN/reference/templates/SOUL.md +49 -0
  957. package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
  958. package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
  959. package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
  960. package/docs/zh-CN/reference/templates/USER.md +30 -0
  961. package/docs/zh-CN/reference/test.md +57 -0
  962. package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
  963. package/docs/zh-CN/scripts.md +35 -0
  964. package/docs/zh-CN/security/formal-verification.md +171 -0
  965. package/docs/zh-CN/start/docs-directory.md +70 -0
  966. package/docs/zh-CN/start/getting-started.md +206 -0
  967. package/docs/zh-CN/start/hubs.md +200 -0
  968. package/docs/zh-CN/start/lore.md +226 -0
  969. package/docs/zh-CN/start/onboarding.md +105 -0
  970. package/docs/zh-CN/start/openclaw.md +248 -0
  971. package/docs/zh-CN/start/pairing.md +89 -0
  972. package/docs/zh-CN/start/quickstart.md +88 -0
  973. package/docs/zh-CN/start/setup.md +153 -0
  974. package/docs/zh-CN/start/showcase.md +423 -0
  975. package/docs/zh-CN/start/wizard.md +331 -0
  976. package/docs/zh-CN/testing.md +375 -0
  977. package/docs/zh-CN/token-use.md +119 -0
  978. package/docs/zh-CN/tools/agent-send.md +59 -0
  979. package/docs/zh-CN/tools/apply-patch.md +57 -0
  980. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
  981. package/docs/zh-CN/tools/browser-login.md +75 -0
  982. package/docs/zh-CN/tools/browser.md +553 -0
  983. package/docs/zh-CN/tools/chrome-extension.md +183 -0
  984. package/docs/zh-CN/tools/clawhub.md +209 -0
  985. package/docs/zh-CN/tools/creating-skills.md +61 -0
  986. package/docs/zh-CN/tools/elevated.md +64 -0
  987. package/docs/zh-CN/tools/exec-approvals.md +234 -0
  988. package/docs/zh-CN/tools/exec.md +169 -0
  989. package/docs/zh-CN/tools/firecrawl.md +68 -0
  990. package/docs/zh-CN/tools/index.md +515 -0
  991. package/docs/zh-CN/tools/llm-task.md +117 -0
  992. package/docs/zh-CN/tools/lobster.md +349 -0
  993. package/docs/zh-CN/tools/reactions.md +29 -0
  994. package/docs/zh-CN/tools/skills-config.md +78 -0
  995. package/docs/zh-CN/tools/skills.md +279 -0
  996. package/docs/zh-CN/tools/slash-commands.md +205 -0
  997. package/docs/zh-CN/tools/subagents.md +156 -0
  998. package/docs/zh-CN/tools/thinking.md +80 -0
  999. package/docs/zh-CN/tools/web.md +257 -0
  1000. package/docs/zh-CN/tts.md +375 -0
  1001. package/docs/zh-CN/tui.md +166 -0
  1002. package/docs/zh-CN/vps.md +47 -0
  1003. package/docs/zh-CN/web/control-ui.md +191 -0
  1004. package/docs/zh-CN/web/dashboard.md +53 -0
  1005. package/docs/zh-CN/web/index.md +118 -0
  1006. package/docs/zh-CN/web/webchat.md +56 -0
  1007. package/extensions/blockchain/cryptoclaw.plugin.json +17 -0
  1008. package/extensions/blockchain/index.ts +284 -0
  1009. package/extensions/blockchain/node_modules/.bin/cryptoclaw +21 -0
  1010. package/extensions/blockchain/node_modules/.bin/tsc +21 -0
  1011. package/extensions/blockchain/node_modules/.bin/tsserver +21 -0
  1012. package/extensions/blockchain/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  1013. package/extensions/blockchain/package.json +16 -0
  1014. package/extensions/blockchain/src/evm/chains.ts +150 -0
  1015. package/extensions/blockchain/src/evm/services/abi/erc1155.ts +128 -0
  1016. package/extensions/blockchain/src/evm/services/abi/erc20.ts +96 -0
  1017. package/extensions/blockchain/src/evm/services/abi/erc721.ts +130 -0
  1018. package/extensions/blockchain/src/evm/services/abi/erc8004-identity.ts +158 -0
  1019. package/extensions/blockchain/src/evm/services/abi/erc8004-reputation.ts +120 -0
  1020. package/extensions/blockchain/src/evm/services/abi/router-v2.ts +115 -0
  1021. package/extensions/blockchain/src/evm/services/abi/router-v3.ts +81 -0
  1022. package/extensions/blockchain/src/evm/services/agent-identity-config.test.ts +117 -0
  1023. package/extensions/blockchain/src/evm/services/agent-identity-config.ts +75 -0
  1024. package/extensions/blockchain/src/evm/services/agent-identity-store.ts +37 -0
  1025. package/extensions/blockchain/src/evm/services/agent-identity.ts +262 -0
  1026. package/extensions/blockchain/src/evm/services/balance.ts +76 -0
  1027. package/extensions/blockchain/src/evm/services/blocks.ts +25 -0
  1028. package/extensions/blockchain/src/evm/services/clients.ts +48 -0
  1029. package/extensions/blockchain/src/evm/services/contracts.ts +52 -0
  1030. package/extensions/blockchain/src/evm/services/dex-config.test.ts +145 -0
  1031. package/extensions/blockchain/src/evm/services/dex-config.ts +164 -0
  1032. package/extensions/blockchain/src/evm/services/ens.ts +27 -0
  1033. package/extensions/blockchain/src/evm/services/security.test.ts +127 -0
  1034. package/extensions/blockchain/src/evm/services/security.ts +110 -0
  1035. package/extensions/blockchain/src/evm/services/swap.test.ts +204 -0
  1036. package/extensions/blockchain/src/evm/services/swap.ts +534 -0
  1037. package/extensions/blockchain/src/evm/services/tokens.ts +118 -0
  1038. package/extensions/blockchain/src/evm/services/transactions.ts +54 -0
  1039. package/extensions/blockchain/src/evm/services/transfer.ts +174 -0
  1040. package/extensions/blockchain/src/evm/services/utils.ts +18 -0
  1041. package/extensions/blockchain/src/evm/tools/block-tools.ts +34 -0
  1042. package/extensions/blockchain/src/evm/tools/contract-tools.ts +138 -0
  1043. package/extensions/blockchain/src/evm/tools/identity-tools.ts +305 -0
  1044. package/extensions/blockchain/src/evm/tools/network-tools.ts +58 -0
  1045. package/extensions/blockchain/src/evm/tools/nft-tools.ts +103 -0
  1046. package/extensions/blockchain/src/evm/tools/security-tools.ts +38 -0
  1047. package/extensions/blockchain/src/evm/tools/swap-tools.ts +314 -0
  1048. package/extensions/blockchain/src/evm/tools/token-tools.ts +167 -0
  1049. package/extensions/blockchain/src/evm/tools/tx-tools.ts +73 -0
  1050. package/extensions/blockchain/src/evm/tools/wallet-tools.ts +196 -0
  1051. package/extensions/blockchain/src/tx-gate/confirmation.ts +55 -0
  1052. package/extensions/blockchain/src/tx-gate/spending-limits.ts +94 -0
  1053. package/extensions/blockchain/src/wallet/active-wallet.ts +27 -0
  1054. package/extensions/blockchain/src/wallet/key-guard.test.ts +156 -0
  1055. package/extensions/blockchain/src/wallet/key-guard.ts +80 -0
  1056. package/extensions/blockchain/src/wallet/keystore.ts +88 -0
  1057. package/extensions/blockchain/src/wallet/wallet-manager.test.ts +215 -0
  1058. package/extensions/blockchain/src/wallet/wallet-manager.ts +212 -0
  1059. package/extensions/copilot-proxy/README.md +24 -0
  1060. package/extensions/copilot-proxy/index.ts +149 -0
  1061. package/extensions/copilot-proxy/node_modules/.bin/cryptoclaw +21 -0
  1062. package/extensions/copilot-proxy/openclaw.plugin.json +9 -0
  1063. package/extensions/copilot-proxy/package.json +14 -0
  1064. package/extensions/diagnostics-otel/index.ts +15 -0
  1065. package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
  1066. package/extensions/diagnostics-otel/node_modules/.bin/cryptoclaw +21 -0
  1067. package/extensions/diagnostics-otel/openclaw.plugin.json +8 -0
  1068. package/extensions/diagnostics-otel/package.json +27 -0
  1069. package/extensions/diagnostics-otel/src/service.test.ts +227 -0
  1070. package/extensions/diagnostics-otel/src/service.ts +635 -0
  1071. package/extensions/discord/index.ts +17 -0
  1072. package/extensions/discord/node_modules/.bin/cryptoclaw +21 -0
  1073. package/extensions/discord/openclaw.plugin.json +9 -0
  1074. package/extensions/discord/package.json +14 -0
  1075. package/extensions/discord/src/channel.ts +422 -0
  1076. package/extensions/discord/src/runtime.ts +14 -0
  1077. package/extensions/imessage/index.ts +17 -0
  1078. package/extensions/imessage/node_modules/.bin/cryptoclaw +21 -0
  1079. package/extensions/imessage/openclaw.plugin.json +9 -0
  1080. package/extensions/imessage/package.json +14 -0
  1081. package/extensions/imessage/src/channel.ts +294 -0
  1082. package/extensions/imessage/src/runtime.ts +14 -0
  1083. package/extensions/memory-core/index.ts +38 -0
  1084. package/extensions/memory-core/node_modules/.bin/cryptoclaw +21 -0
  1085. package/extensions/memory-core/openclaw.plugin.json +9 -0
  1086. package/extensions/memory-core/package.json +17 -0
  1087. package/extensions/memory-lancedb/config.ts +139 -0
  1088. package/extensions/memory-lancedb/index.test.ts +295 -0
  1089. package/extensions/memory-lancedb/index.ts +608 -0
  1090. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
  1091. package/extensions/memory-lancedb/node_modules/.bin/cryptoclaw +21 -0
  1092. package/extensions/memory-lancedb/node_modules/.bin/openai +21 -0
  1093. package/extensions/memory-lancedb/openclaw.plugin.json +60 -0
  1094. package/extensions/memory-lancedb/package.json +19 -0
  1095. package/extensions/nostr/CHANGELOG.md +80 -0
  1096. package/extensions/nostr/README.md +136 -0
  1097. package/extensions/nostr/index.ts +68 -0
  1098. package/extensions/nostr/node_modules/.bin/cryptoclaw +21 -0
  1099. package/extensions/nostr/node_modules/.bin/tsc +21 -0
  1100. package/extensions/nostr/node_modules/.bin/tsserver +21 -0
  1101. package/extensions/nostr/openclaw.plugin.json +9 -0
  1102. package/extensions/nostr/package.json +34 -0
  1103. package/extensions/nostr/src/channel.test.ts +151 -0
  1104. package/extensions/nostr/src/channel.ts +353 -0
  1105. package/extensions/nostr/src/config-schema.ts +90 -0
  1106. package/extensions/nostr/src/metrics.ts +478 -0
  1107. package/extensions/nostr/src/nostr-bus.fuzz.test.ts +533 -0
  1108. package/extensions/nostr/src/nostr-bus.integration.test.ts +448 -0
  1109. package/extensions/nostr/src/nostr-bus.test.ts +199 -0
  1110. package/extensions/nostr/src/nostr-bus.ts +715 -0
  1111. package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
  1112. package/extensions/nostr/src/nostr-profile-http.ts +519 -0
  1113. package/extensions/nostr/src/nostr-profile-import.test.ts +119 -0
  1114. package/extensions/nostr/src/nostr-profile-import.ts +262 -0
  1115. package/extensions/nostr/src/nostr-profile.fuzz.test.ts +477 -0
  1116. package/extensions/nostr/src/nostr-profile.test.ts +410 -0
  1117. package/extensions/nostr/src/nostr-profile.ts +277 -0
  1118. package/extensions/nostr/src/nostr-state-store.test.ts +131 -0
  1119. package/extensions/nostr/src/nostr-state-store.ts +226 -0
  1120. package/extensions/nostr/src/runtime.ts +14 -0
  1121. package/extensions/nostr/src/seen-tracker.ts +303 -0
  1122. package/extensions/nostr/src/types.test.ts +157 -0
  1123. package/extensions/nostr/src/types.ts +101 -0
  1124. package/extensions/nostr/test/setup.ts +5 -0
  1125. package/extensions/signal/index.ts +17 -0
  1126. package/extensions/signal/node_modules/.bin/cryptoclaw +21 -0
  1127. package/extensions/signal/openclaw.plugin.json +9 -0
  1128. package/extensions/signal/package.json +14 -0
  1129. package/extensions/signal/src/channel.ts +315 -0
  1130. package/extensions/signal/src/runtime.ts +14 -0
  1131. package/extensions/slack/index.ts +17 -0
  1132. package/extensions/slack/node_modules/.bin/cryptoclaw +21 -0
  1133. package/extensions/slack/openclaw.plugin.json +9 -0
  1134. package/extensions/slack/package.json +14 -0
  1135. package/extensions/slack/src/channel.ts +604 -0
  1136. package/extensions/slack/src/runtime.ts +14 -0
  1137. package/extensions/telegram/index.ts +17 -0
  1138. package/extensions/telegram/node_modules/.bin/cryptoclaw +21 -0
  1139. package/extensions/telegram/openclaw.plugin.json +9 -0
  1140. package/extensions/telegram/package.json +14 -0
  1141. package/extensions/telegram/src/channel.ts +482 -0
  1142. package/extensions/telegram/src/runtime.ts +14 -0
  1143. package/extensions/voice-call/CHANGELOG.md +115 -0
  1144. package/extensions/voice-call/README.md +139 -0
  1145. package/extensions/voice-call/index.ts +493 -0
  1146. package/extensions/voice-call/node_modules/.bin/cryptoclaw +21 -0
  1147. package/extensions/voice-call/openclaw.plugin.json +559 -0
  1148. package/extensions/voice-call/package.json +19 -0
  1149. package/extensions/voice-call/src/allowlist.ts +19 -0
  1150. package/extensions/voice-call/src/cli.ts +279 -0
  1151. package/extensions/voice-call/src/config.test.ts +234 -0
  1152. package/extensions/voice-call/src/config.ts +523 -0
  1153. package/extensions/voice-call/src/core-bridge.ts +159 -0
  1154. package/extensions/voice-call/src/manager/context.ts +21 -0
  1155. package/extensions/voice-call/src/manager/events.ts +188 -0
  1156. package/extensions/voice-call/src/manager/lookup.ts +35 -0
  1157. package/extensions/voice-call/src/manager/outbound.ts +275 -0
  1158. package/extensions/voice-call/src/manager/state.ts +48 -0
  1159. package/extensions/voice-call/src/manager/store.ts +91 -0
  1160. package/extensions/voice-call/src/manager/timers.ts +89 -0
  1161. package/extensions/voice-call/src/manager/twiml.ts +9 -0
  1162. package/extensions/voice-call/src/manager.test.ts +224 -0
  1163. package/extensions/voice-call/src/manager.ts +887 -0
  1164. package/extensions/voice-call/src/media-stream.test.ts +96 -0
  1165. package/extensions/voice-call/src/media-stream.ts +411 -0
  1166. package/extensions/voice-call/src/providers/base.ts +67 -0
  1167. package/extensions/voice-call/src/providers/index.ts +10 -0
  1168. package/extensions/voice-call/src/providers/mock.ts +165 -0
  1169. package/extensions/voice-call/src/providers/plivo.test.ts +27 -0
  1170. package/extensions/voice-call/src/providers/plivo.ts +515 -0
  1171. package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
  1172. package/extensions/voice-call/src/providers/telnyx.ts +371 -0
  1173. package/extensions/voice-call/src/providers/tts-openai.ts +259 -0
  1174. package/extensions/voice-call/src/providers/twilio/api.ts +42 -0
  1175. package/extensions/voice-call/src/providers/twilio/webhook.ts +32 -0
  1176. package/extensions/voice-call/src/providers/twilio.test.ts +60 -0
  1177. package/extensions/voice-call/src/providers/twilio.ts +626 -0
  1178. package/extensions/voice-call/src/response-generator.ts +158 -0
  1179. package/extensions/voice-call/src/runtime.ts +212 -0
  1180. package/extensions/voice-call/src/telephony-audio.ts +90 -0
  1181. package/extensions/voice-call/src/telephony-tts.ts +104 -0
  1182. package/extensions/voice-call/src/tunnel.ts +314 -0
  1183. package/extensions/voice-call/src/types.ts +272 -0
  1184. package/extensions/voice-call/src/utils.ts +14 -0
  1185. package/extensions/voice-call/src/voice-mapping.ts +67 -0
  1186. package/extensions/voice-call/src/webhook-security.test.ts +377 -0
  1187. package/extensions/voice-call/src/webhook-security.ts +689 -0
  1188. package/extensions/voice-call/src/webhook.ts +491 -0
  1189. package/extensions/whatsapp/index.ts +17 -0
  1190. package/extensions/whatsapp/node_modules/.bin/cryptoclaw +21 -0
  1191. package/extensions/whatsapp/openclaw.plugin.json +9 -0
  1192. package/extensions/whatsapp/package.json +14 -0
  1193. package/extensions/whatsapp/src/channel.ts +508 -0
  1194. package/extensions/whatsapp/src/runtime.ts +14 -0
  1195. package/package.json +242 -0
  1196. package/skills/aave-bsc/SKILL.md +55 -0
  1197. package/skills/agent-identity/SKILL.md +48 -0
  1198. package/skills/bird/SKILL.md +224 -0
  1199. package/skills/canvas/SKILL.md +204 -0
  1200. package/skills/coding-agent/SKILL.md +285 -0
  1201. package/skills/coingecko/SKILL.md +114 -0
  1202. package/skills/contract-deployer/SKILL.md +42 -0
  1203. package/skills/debank/SKILL.md +143 -0
  1204. package/skills/defi-dashboard/SKILL.md +49 -0
  1205. package/skills/defillama/SKILL.md +117 -0
  1206. package/skills/discord/SKILL.md +578 -0
  1207. package/skills/dune/SKILL.md +178 -0
  1208. package/skills/etherscan/SKILL.md +117 -0
  1209. package/skills/four-meme/SKILL.md +80 -0
  1210. package/skills/gas-tracker/SKILL.md +43 -0
  1211. package/skills/github/SKILL.md +77 -0
  1212. package/skills/macro-calendar/SKILL.md +132 -0
  1213. package/skills/market-data/SKILL.md +44 -0
  1214. package/skills/nft-manager/SKILL.md +46 -0
  1215. package/skills/portfolio-tracker/SKILL.md +55 -0
  1216. package/skills/security-check/SKILL.md +153 -0
  1217. package/skills/tmux/SKILL.md +135 -0
  1218. package/skills/tmux/scripts/find-sessions.sh +112 -0
  1219. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  1220. package/skills/token-swap/SKILL.md +71 -0
  1221. package/skills/wallet-manager/SKILL.md +65 -0
  1222. package/skills/whale-watcher/SKILL.md +43 -0
@@ -0,0 +1,1190 @@
1
+ import { rt as loadOpenClawPlugins } from "./reply-DfepuqG0.js";
2
+ import { c as normalizeAgentId } from "./session-key-CYpWeuht.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-Btuh5yZj.js";
4
+ import { t as listAgentIds } from "./agent-scope-DLfFOxP6.js";
5
+ import { A as buildSyntheticModelDefinition, C as VENICE_BASE_URL, D as SYNTHETIC_BASE_URL, E as buildVeniceModelDefinition, G as buildCloudflareAiGatewayModelDefinition, K as resolveCloudflareAiGatewayBaseUrl, O as SYNTHETIC_DEFAULT_MODEL_REF, T as VENICE_MODEL_CATALOG, W as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, _ as buildXiaomiProvider, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, g as XIAOMI_DEFAULT_MODEL_ID, k as SYNTHETIC_MODEL_CATALOG, lt as ensureAuthProfileStore, m as resolveModelRefFromString, mt as resolveOpenClawAgentDir, r as buildModelAliasIndex, s as normalizeProviderId, w as VENICE_DEFAULT_MODEL_REF } from "./model-selection-Av0fLq51.js";
6
+ import { t as formatCliCommand } from "./command-format-9IsYy-9N.js";
7
+ import { c as writeConfigFile, o as readConfigFileSnapshot } from "./config-dQK4rbfx.js";
8
+ import { r as isWSLEnv } from "./dispatcher-DA3u3CwV.js";
9
+ import { r as stylePromptTitle } from "./prompt-style-BBlJlXtd.js";
10
+ import { n as logConfigUpdated } from "./logging-CD55MXc7.js";
11
+ import { intro, note, outro, spinner } from "@clack/prompts";
12
+
13
+ //#region src/commands/auth-token.ts
14
+ const ANTHROPIC_SETUP_TOKEN_PREFIX = "sk-ant-oat01-";
15
+ const ANTHROPIC_SETUP_TOKEN_MIN_LENGTH = 80;
16
+ const DEFAULT_TOKEN_PROFILE_NAME = "default";
17
+ function normalizeTokenProfileName(raw) {
18
+ const trimmed = raw.trim();
19
+ if (!trimmed) return DEFAULT_TOKEN_PROFILE_NAME;
20
+ return trimmed.toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "") || DEFAULT_TOKEN_PROFILE_NAME;
21
+ }
22
+ function buildTokenProfileId(params) {
23
+ return `${normalizeProviderId(params.provider)}:${normalizeTokenProfileName(params.name)}`;
24
+ }
25
+ function validateAnthropicSetupToken(raw) {
26
+ const trimmed = raw.trim();
27
+ if (!trimmed) return "Required";
28
+ if (!trimmed.startsWith(ANTHROPIC_SETUP_TOKEN_PREFIX)) return `Expected token starting with ${ANTHROPIC_SETUP_TOKEN_PREFIX}`;
29
+ if (trimmed.length < ANTHROPIC_SETUP_TOKEN_MIN_LENGTH) return "Token looks too short; paste the full setup-token";
30
+ }
31
+
32
+ //#endregion
33
+ //#region src/commands/onboard-auth.models.ts
34
+ const MINIMAX_API_BASE_URL = "https://api.minimax.io/anthropic";
35
+ const MINIMAX_HOSTED_MODEL_ID = "MiniMax-M2.1";
36
+ const MINIMAX_HOSTED_MODEL_REF = `minimax/${MINIMAX_HOSTED_MODEL_ID}`;
37
+ const DEFAULT_MINIMAX_CONTEXT_WINDOW = 2e5;
38
+ const DEFAULT_MINIMAX_MAX_TOKENS = 8192;
39
+ const MOONSHOT_BASE_URL = "https://api.moonshot.ai/v1";
40
+ const MOONSHOT_CN_BASE_URL = "https://api.moonshot.cn/v1";
41
+ const MOONSHOT_DEFAULT_MODEL_ID = "kimi-k2.5";
42
+ const MOONSHOT_DEFAULT_MODEL_REF = `moonshot/${MOONSHOT_DEFAULT_MODEL_ID}`;
43
+ const MOONSHOT_DEFAULT_CONTEXT_WINDOW = 256e3;
44
+ const MOONSHOT_DEFAULT_MAX_TOKENS = 8192;
45
+ const KIMI_CODING_MODEL_ID = "k2p5";
46
+ const KIMI_CODING_MODEL_REF = `kimi-coding/${KIMI_CODING_MODEL_ID}`;
47
+ const MINIMAX_API_COST = {
48
+ input: 15,
49
+ output: 60,
50
+ cacheRead: 2,
51
+ cacheWrite: 10
52
+ };
53
+ const MINIMAX_LM_STUDIO_COST = {
54
+ input: 0,
55
+ output: 0,
56
+ cacheRead: 0,
57
+ cacheWrite: 0
58
+ };
59
+ const MOONSHOT_DEFAULT_COST = {
60
+ input: 0,
61
+ output: 0,
62
+ cacheRead: 0,
63
+ cacheWrite: 0
64
+ };
65
+ const MINIMAX_MODEL_CATALOG = {
66
+ "MiniMax-M2.1": {
67
+ name: "MiniMax M2.1",
68
+ reasoning: false
69
+ },
70
+ "MiniMax-M2.1-lightning": {
71
+ name: "MiniMax M2.1 Lightning",
72
+ reasoning: false
73
+ }
74
+ };
75
+ function buildMinimaxModelDefinition(params) {
76
+ const catalog = MINIMAX_MODEL_CATALOG[params.id];
77
+ return {
78
+ id: params.id,
79
+ name: params.name ?? catalog?.name ?? `MiniMax ${params.id}`,
80
+ reasoning: params.reasoning ?? catalog?.reasoning ?? false,
81
+ input: ["text"],
82
+ cost: params.cost,
83
+ contextWindow: params.contextWindow,
84
+ maxTokens: params.maxTokens
85
+ };
86
+ }
87
+ function buildMinimaxApiModelDefinition(modelId) {
88
+ return buildMinimaxModelDefinition({
89
+ id: modelId,
90
+ cost: MINIMAX_API_COST,
91
+ contextWindow: DEFAULT_MINIMAX_CONTEXT_WINDOW,
92
+ maxTokens: DEFAULT_MINIMAX_MAX_TOKENS
93
+ });
94
+ }
95
+ function buildMoonshotModelDefinition() {
96
+ return {
97
+ id: MOONSHOT_DEFAULT_MODEL_ID,
98
+ name: "Kimi K2.5",
99
+ reasoning: false,
100
+ input: ["text"],
101
+ cost: MOONSHOT_DEFAULT_COST,
102
+ contextWindow: MOONSHOT_DEFAULT_CONTEXT_WINDOW,
103
+ maxTokens: MOONSHOT_DEFAULT_MAX_TOKENS
104
+ };
105
+ }
106
+ const XAI_BASE_URL = "https://api.x.ai/v1";
107
+ const XAI_DEFAULT_MODEL_ID = "grok-4";
108
+ const XAI_DEFAULT_MODEL_REF = `xai/${XAI_DEFAULT_MODEL_ID}`;
109
+ const XAI_DEFAULT_CONTEXT_WINDOW = 131072;
110
+ const XAI_DEFAULT_MAX_TOKENS = 8192;
111
+ const XAI_DEFAULT_COST = {
112
+ input: 0,
113
+ output: 0,
114
+ cacheRead: 0,
115
+ cacheWrite: 0
116
+ };
117
+ function buildXaiModelDefinition() {
118
+ return {
119
+ id: XAI_DEFAULT_MODEL_ID,
120
+ name: "Grok 4",
121
+ reasoning: false,
122
+ input: ["text"],
123
+ cost: XAI_DEFAULT_COST,
124
+ contextWindow: XAI_DEFAULT_CONTEXT_WINDOW,
125
+ maxTokens: XAI_DEFAULT_MAX_TOKENS
126
+ };
127
+ }
128
+
129
+ //#endregion
130
+ //#region src/commands/onboard-auth.credentials.ts
131
+ const resolveAuthAgentDir = (agentDir) => agentDir ?? resolveOpenClawAgentDir();
132
+ async function writeOAuthCredentials(provider, creds, agentDir) {
133
+ upsertAuthProfile({
134
+ profileId: `${provider}:${typeof creds.email === "string" && creds.email.trim() ? creds.email.trim() : "default"}`,
135
+ credential: {
136
+ type: "oauth",
137
+ provider,
138
+ ...creds
139
+ },
140
+ agentDir: resolveAuthAgentDir(agentDir)
141
+ });
142
+ }
143
+ async function setAnthropicApiKey(key, agentDir) {
144
+ upsertAuthProfile({
145
+ profileId: "anthropic:default",
146
+ credential: {
147
+ type: "api_key",
148
+ provider: "anthropic",
149
+ key
150
+ },
151
+ agentDir: resolveAuthAgentDir(agentDir)
152
+ });
153
+ }
154
+ async function setGeminiApiKey(key, agentDir) {
155
+ upsertAuthProfile({
156
+ profileId: "google:default",
157
+ credential: {
158
+ type: "api_key",
159
+ provider: "google",
160
+ key
161
+ },
162
+ agentDir: resolveAuthAgentDir(agentDir)
163
+ });
164
+ }
165
+ async function setMinimaxApiKey(key, agentDir) {
166
+ upsertAuthProfile({
167
+ profileId: "minimax:default",
168
+ credential: {
169
+ type: "api_key",
170
+ provider: "minimax",
171
+ key
172
+ },
173
+ agentDir: resolveAuthAgentDir(agentDir)
174
+ });
175
+ }
176
+ async function setMoonshotApiKey(key, agentDir) {
177
+ upsertAuthProfile({
178
+ profileId: "moonshot:default",
179
+ credential: {
180
+ type: "api_key",
181
+ provider: "moonshot",
182
+ key
183
+ },
184
+ agentDir: resolveAuthAgentDir(agentDir)
185
+ });
186
+ }
187
+ async function setKimiCodingApiKey(key, agentDir) {
188
+ upsertAuthProfile({
189
+ profileId: "kimi-coding:default",
190
+ credential: {
191
+ type: "api_key",
192
+ provider: "kimi-coding",
193
+ key
194
+ },
195
+ agentDir: resolveAuthAgentDir(agentDir)
196
+ });
197
+ }
198
+ async function setSyntheticApiKey(key, agentDir) {
199
+ upsertAuthProfile({
200
+ profileId: "synthetic:default",
201
+ credential: {
202
+ type: "api_key",
203
+ provider: "synthetic",
204
+ key
205
+ },
206
+ agentDir: resolveAuthAgentDir(agentDir)
207
+ });
208
+ }
209
+ async function setVeniceApiKey(key, agentDir) {
210
+ upsertAuthProfile({
211
+ profileId: "venice:default",
212
+ credential: {
213
+ type: "api_key",
214
+ provider: "venice",
215
+ key
216
+ },
217
+ agentDir: resolveAuthAgentDir(agentDir)
218
+ });
219
+ }
220
+ const ZAI_DEFAULT_MODEL_REF = "zai/glm-4.7";
221
+ const XIAOMI_DEFAULT_MODEL_REF = "xiaomi/mimo-v2-flash";
222
+ const OPENROUTER_DEFAULT_MODEL_REF = "openrouter/auto";
223
+ const VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF = "vercel-ai-gateway/anthropic/claude-opus-4.6";
224
+ async function setZaiApiKey(key, agentDir) {
225
+ upsertAuthProfile({
226
+ profileId: "zai:default",
227
+ credential: {
228
+ type: "api_key",
229
+ provider: "zai",
230
+ key
231
+ },
232
+ agentDir: resolveAuthAgentDir(agentDir)
233
+ });
234
+ }
235
+ async function setXiaomiApiKey(key, agentDir) {
236
+ upsertAuthProfile({
237
+ profileId: "xiaomi:default",
238
+ credential: {
239
+ type: "api_key",
240
+ provider: "xiaomi",
241
+ key
242
+ },
243
+ agentDir: resolveAuthAgentDir(agentDir)
244
+ });
245
+ }
246
+ async function setOpenrouterApiKey(key, agentDir) {
247
+ upsertAuthProfile({
248
+ profileId: "openrouter:default",
249
+ credential: {
250
+ type: "api_key",
251
+ provider: "openrouter",
252
+ key
253
+ },
254
+ agentDir: resolveAuthAgentDir(agentDir)
255
+ });
256
+ }
257
+ async function setCloudflareAiGatewayConfig(accountId, gatewayId, apiKey, agentDir) {
258
+ const normalizedAccountId = accountId.trim();
259
+ const normalizedGatewayId = gatewayId.trim();
260
+ upsertAuthProfile({
261
+ profileId: "cloudflare-ai-gateway:default",
262
+ credential: {
263
+ type: "api_key",
264
+ provider: "cloudflare-ai-gateway",
265
+ key: apiKey.trim(),
266
+ metadata: {
267
+ accountId: normalizedAccountId,
268
+ gatewayId: normalizedGatewayId
269
+ }
270
+ },
271
+ agentDir: resolveAuthAgentDir(agentDir)
272
+ });
273
+ }
274
+ async function setVercelAiGatewayApiKey(key, agentDir) {
275
+ upsertAuthProfile({
276
+ profileId: "vercel-ai-gateway:default",
277
+ credential: {
278
+ type: "api_key",
279
+ provider: "vercel-ai-gateway",
280
+ key
281
+ },
282
+ agentDir: resolveAuthAgentDir(agentDir)
283
+ });
284
+ }
285
+ async function setOpencodeZenApiKey(key, agentDir) {
286
+ upsertAuthProfile({
287
+ profileId: "opencode:default",
288
+ credential: {
289
+ type: "api_key",
290
+ provider: "opencode",
291
+ key
292
+ },
293
+ agentDir: resolveAuthAgentDir(agentDir)
294
+ });
295
+ }
296
+ function setXaiApiKey(key, agentDir) {
297
+ upsertAuthProfile({
298
+ profileId: "xai:default",
299
+ credential: {
300
+ type: "api_key",
301
+ provider: "xai",
302
+ key
303
+ },
304
+ agentDir: resolveAuthAgentDir(agentDir)
305
+ });
306
+ }
307
+
308
+ //#endregion
309
+ //#region src/commands/onboard-auth.config-core.ts
310
+ function applyZaiConfig(cfg) {
311
+ const models = { ...cfg.agents?.defaults?.models };
312
+ models[ZAI_DEFAULT_MODEL_REF] = {
313
+ ...models[ZAI_DEFAULT_MODEL_REF],
314
+ alias: models[ZAI_DEFAULT_MODEL_REF]?.alias ?? "GLM"
315
+ };
316
+ const existingModel = cfg.agents?.defaults?.model;
317
+ return {
318
+ ...cfg,
319
+ agents: {
320
+ ...cfg.agents,
321
+ defaults: {
322
+ ...cfg.agents?.defaults,
323
+ models,
324
+ model: {
325
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
326
+ primary: ZAI_DEFAULT_MODEL_REF
327
+ }
328
+ }
329
+ }
330
+ };
331
+ }
332
+ function applyOpenrouterProviderConfig(cfg) {
333
+ const models = { ...cfg.agents?.defaults?.models };
334
+ models[OPENROUTER_DEFAULT_MODEL_REF] = {
335
+ ...models[OPENROUTER_DEFAULT_MODEL_REF],
336
+ alias: models[OPENROUTER_DEFAULT_MODEL_REF]?.alias ?? "OpenRouter"
337
+ };
338
+ return {
339
+ ...cfg,
340
+ agents: {
341
+ ...cfg.agents,
342
+ defaults: {
343
+ ...cfg.agents?.defaults,
344
+ models
345
+ }
346
+ }
347
+ };
348
+ }
349
+ function applyVercelAiGatewayProviderConfig(cfg) {
350
+ const models = { ...cfg.agents?.defaults?.models };
351
+ models[VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF] = {
352
+ ...models[VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF],
353
+ alias: models[VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF]?.alias ?? "Vercel AI Gateway"
354
+ };
355
+ return {
356
+ ...cfg,
357
+ agents: {
358
+ ...cfg.agents,
359
+ defaults: {
360
+ ...cfg.agents?.defaults,
361
+ models
362
+ }
363
+ }
364
+ };
365
+ }
366
+ function applyCloudflareAiGatewayProviderConfig(cfg, params) {
367
+ const models = { ...cfg.agents?.defaults?.models };
368
+ models[CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF] = {
369
+ ...models[CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF],
370
+ alias: models[CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF]?.alias ?? "Cloudflare AI Gateway"
371
+ };
372
+ const providers = { ...cfg.models?.providers };
373
+ const existingProvider = providers["cloudflare-ai-gateway"];
374
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
375
+ const defaultModel = buildCloudflareAiGatewayModelDefinition();
376
+ const mergedModels = existingModels.some((model) => model.id === defaultModel.id) ? existingModels : [...existingModels, defaultModel];
377
+ const baseUrl = params?.accountId && params?.gatewayId ? resolveCloudflareAiGatewayBaseUrl({
378
+ accountId: params.accountId,
379
+ gatewayId: params.gatewayId
380
+ }) : existingProvider?.baseUrl;
381
+ if (!baseUrl) return {
382
+ ...cfg,
383
+ agents: {
384
+ ...cfg.agents,
385
+ defaults: {
386
+ ...cfg.agents?.defaults,
387
+ models
388
+ }
389
+ }
390
+ };
391
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
392
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
393
+ providers["cloudflare-ai-gateway"] = {
394
+ ...existingProviderRest,
395
+ baseUrl,
396
+ api: "anthropic-messages",
397
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
398
+ models: mergedModels.length > 0 ? mergedModels : [defaultModel]
399
+ };
400
+ return {
401
+ ...cfg,
402
+ agents: {
403
+ ...cfg.agents,
404
+ defaults: {
405
+ ...cfg.agents?.defaults,
406
+ models
407
+ }
408
+ },
409
+ models: {
410
+ mode: cfg.models?.mode ?? "merge",
411
+ providers
412
+ }
413
+ };
414
+ }
415
+ function applyVercelAiGatewayConfig(cfg) {
416
+ const next = applyVercelAiGatewayProviderConfig(cfg);
417
+ const existingModel = next.agents?.defaults?.model;
418
+ return {
419
+ ...next,
420
+ agents: {
421
+ ...next.agents,
422
+ defaults: {
423
+ ...next.agents?.defaults,
424
+ model: {
425
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
426
+ primary: VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF
427
+ }
428
+ }
429
+ }
430
+ };
431
+ }
432
+ function applyCloudflareAiGatewayConfig(cfg, params) {
433
+ const next = applyCloudflareAiGatewayProviderConfig(cfg, params);
434
+ const existingModel = next.agents?.defaults?.model;
435
+ return {
436
+ ...next,
437
+ agents: {
438
+ ...next.agents,
439
+ defaults: {
440
+ ...next.agents?.defaults,
441
+ model: {
442
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
443
+ primary: CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF
444
+ }
445
+ }
446
+ }
447
+ };
448
+ }
449
+ function applyOpenrouterConfig(cfg) {
450
+ const next = applyOpenrouterProviderConfig(cfg);
451
+ const existingModel = next.agents?.defaults?.model;
452
+ return {
453
+ ...next,
454
+ agents: {
455
+ ...next.agents,
456
+ defaults: {
457
+ ...next.agents?.defaults,
458
+ model: {
459
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
460
+ primary: OPENROUTER_DEFAULT_MODEL_REF
461
+ }
462
+ }
463
+ }
464
+ };
465
+ }
466
+ function applyMoonshotProviderConfig(cfg) {
467
+ return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_BASE_URL);
468
+ }
469
+ function applyMoonshotProviderConfigCn(cfg) {
470
+ return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_CN_BASE_URL);
471
+ }
472
+ function applyMoonshotProviderConfigWithBaseUrl(cfg, baseUrl) {
473
+ const models = { ...cfg.agents?.defaults?.models };
474
+ models[MOONSHOT_DEFAULT_MODEL_REF] = {
475
+ ...models[MOONSHOT_DEFAULT_MODEL_REF],
476
+ alias: models[MOONSHOT_DEFAULT_MODEL_REF]?.alias ?? "Kimi"
477
+ };
478
+ const providers = { ...cfg.models?.providers };
479
+ const existingProvider = providers.moonshot;
480
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
481
+ const defaultModel = buildMoonshotModelDefinition();
482
+ const mergedModels = existingModels.some((model) => model.id === MOONSHOT_DEFAULT_MODEL_ID) ? existingModels : [...existingModels, defaultModel];
483
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
484
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
485
+ providers.moonshot = {
486
+ ...existingProviderRest,
487
+ baseUrl,
488
+ api: "openai-completions",
489
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
490
+ models: mergedModels.length > 0 ? mergedModels : [defaultModel]
491
+ };
492
+ return {
493
+ ...cfg,
494
+ agents: {
495
+ ...cfg.agents,
496
+ defaults: {
497
+ ...cfg.agents?.defaults,
498
+ models
499
+ }
500
+ },
501
+ models: {
502
+ mode: cfg.models?.mode ?? "merge",
503
+ providers
504
+ }
505
+ };
506
+ }
507
+ function applyMoonshotConfig(cfg) {
508
+ const next = applyMoonshotProviderConfig(cfg);
509
+ const existingModel = next.agents?.defaults?.model;
510
+ return {
511
+ ...next,
512
+ agents: {
513
+ ...next.agents,
514
+ defaults: {
515
+ ...next.agents?.defaults,
516
+ model: {
517
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
518
+ primary: MOONSHOT_DEFAULT_MODEL_REF
519
+ }
520
+ }
521
+ }
522
+ };
523
+ }
524
+ function applyMoonshotConfigCn(cfg) {
525
+ const next = applyMoonshotProviderConfigCn(cfg);
526
+ const existingModel = next.agents?.defaults?.model;
527
+ return {
528
+ ...next,
529
+ agents: {
530
+ ...next.agents,
531
+ defaults: {
532
+ ...next.agents?.defaults,
533
+ model: {
534
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
535
+ primary: MOONSHOT_DEFAULT_MODEL_REF
536
+ }
537
+ }
538
+ }
539
+ };
540
+ }
541
+ function applyKimiCodeProviderConfig(cfg) {
542
+ const models = { ...cfg.agents?.defaults?.models };
543
+ models[KIMI_CODING_MODEL_REF] = {
544
+ ...models[KIMI_CODING_MODEL_REF],
545
+ alias: models[KIMI_CODING_MODEL_REF]?.alias ?? "Kimi K2.5"
546
+ };
547
+ return {
548
+ ...cfg,
549
+ agents: {
550
+ ...cfg.agents,
551
+ defaults: {
552
+ ...cfg.agents?.defaults,
553
+ models
554
+ }
555
+ }
556
+ };
557
+ }
558
+ function applyKimiCodeConfig(cfg) {
559
+ const next = applyKimiCodeProviderConfig(cfg);
560
+ const existingModel = next.agents?.defaults?.model;
561
+ return {
562
+ ...next,
563
+ agents: {
564
+ ...next.agents,
565
+ defaults: {
566
+ ...next.agents?.defaults,
567
+ model: {
568
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
569
+ primary: KIMI_CODING_MODEL_REF
570
+ }
571
+ }
572
+ }
573
+ };
574
+ }
575
+ function applySyntheticProviderConfig(cfg) {
576
+ const models = { ...cfg.agents?.defaults?.models };
577
+ models[SYNTHETIC_DEFAULT_MODEL_REF] = {
578
+ ...models[SYNTHETIC_DEFAULT_MODEL_REF],
579
+ alias: models[SYNTHETIC_DEFAULT_MODEL_REF]?.alias ?? "MiniMax M2.1"
580
+ };
581
+ const providers = { ...cfg.models?.providers };
582
+ const existingProvider = providers.synthetic;
583
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
584
+ const syntheticModels = SYNTHETIC_MODEL_CATALOG.map(buildSyntheticModelDefinition);
585
+ const mergedModels = [...existingModels, ...syntheticModels.filter((model) => !existingModels.some((existing) => existing.id === model.id))];
586
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
587
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
588
+ providers.synthetic = {
589
+ ...existingProviderRest,
590
+ baseUrl: SYNTHETIC_BASE_URL,
591
+ api: "anthropic-messages",
592
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
593
+ models: mergedModels.length > 0 ? mergedModels : syntheticModels
594
+ };
595
+ return {
596
+ ...cfg,
597
+ agents: {
598
+ ...cfg.agents,
599
+ defaults: {
600
+ ...cfg.agents?.defaults,
601
+ models
602
+ }
603
+ },
604
+ models: {
605
+ mode: cfg.models?.mode ?? "merge",
606
+ providers
607
+ }
608
+ };
609
+ }
610
+ function applySyntheticConfig(cfg) {
611
+ const next = applySyntheticProviderConfig(cfg);
612
+ const existingModel = next.agents?.defaults?.model;
613
+ return {
614
+ ...next,
615
+ agents: {
616
+ ...next.agents,
617
+ defaults: {
618
+ ...next.agents?.defaults,
619
+ model: {
620
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
621
+ primary: SYNTHETIC_DEFAULT_MODEL_REF
622
+ }
623
+ }
624
+ }
625
+ };
626
+ }
627
+ function applyXiaomiProviderConfig(cfg) {
628
+ const models = { ...cfg.agents?.defaults?.models };
629
+ models[XIAOMI_DEFAULT_MODEL_REF] = {
630
+ ...models[XIAOMI_DEFAULT_MODEL_REF],
631
+ alias: models[XIAOMI_DEFAULT_MODEL_REF]?.alias ?? "Xiaomi"
632
+ };
633
+ const providers = { ...cfg.models?.providers };
634
+ const existingProvider = providers.xiaomi;
635
+ const defaultProvider = buildXiaomiProvider();
636
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
637
+ const defaultModels = defaultProvider.models ?? [];
638
+ const hasDefaultModel = existingModels.some((model) => model.id === XIAOMI_DEFAULT_MODEL_ID);
639
+ const mergedModels = existingModels.length > 0 ? hasDefaultModel ? existingModels : [...existingModels, ...defaultModels] : defaultModels;
640
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
641
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
642
+ providers.xiaomi = {
643
+ ...existingProviderRest,
644
+ baseUrl: defaultProvider.baseUrl,
645
+ api: defaultProvider.api,
646
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
647
+ models: mergedModels.length > 0 ? mergedModels : defaultProvider.models
648
+ };
649
+ return {
650
+ ...cfg,
651
+ agents: {
652
+ ...cfg.agents,
653
+ defaults: {
654
+ ...cfg.agents?.defaults,
655
+ models
656
+ }
657
+ },
658
+ models: {
659
+ mode: cfg.models?.mode ?? "merge",
660
+ providers
661
+ }
662
+ };
663
+ }
664
+ function applyXiaomiConfig(cfg) {
665
+ const next = applyXiaomiProviderConfig(cfg);
666
+ const existingModel = next.agents?.defaults?.model;
667
+ return {
668
+ ...next,
669
+ agents: {
670
+ ...next.agents,
671
+ defaults: {
672
+ ...next.agents?.defaults,
673
+ model: {
674
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
675
+ primary: XIAOMI_DEFAULT_MODEL_REF
676
+ }
677
+ }
678
+ }
679
+ };
680
+ }
681
+ /**
682
+ * Apply Venice provider configuration without changing the default model.
683
+ * Registers Venice models and sets up the provider, but preserves existing model selection.
684
+ */
685
+ function applyVeniceProviderConfig(cfg) {
686
+ const models = { ...cfg.agents?.defaults?.models };
687
+ models[VENICE_DEFAULT_MODEL_REF] = {
688
+ ...models[VENICE_DEFAULT_MODEL_REF],
689
+ alias: models[VENICE_DEFAULT_MODEL_REF]?.alias ?? "Llama 3.3 70B"
690
+ };
691
+ const providers = { ...cfg.models?.providers };
692
+ const existingProvider = providers.venice;
693
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
694
+ const veniceModels = VENICE_MODEL_CATALOG.map(buildVeniceModelDefinition);
695
+ const mergedModels = [...existingModels, ...veniceModels.filter((model) => !existingModels.some((existing) => existing.id === model.id))];
696
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
697
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
698
+ providers.venice = {
699
+ ...existingProviderRest,
700
+ baseUrl: VENICE_BASE_URL,
701
+ api: "openai-completions",
702
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
703
+ models: mergedModels.length > 0 ? mergedModels : veniceModels
704
+ };
705
+ return {
706
+ ...cfg,
707
+ agents: {
708
+ ...cfg.agents,
709
+ defaults: {
710
+ ...cfg.agents?.defaults,
711
+ models
712
+ }
713
+ },
714
+ models: {
715
+ mode: cfg.models?.mode ?? "merge",
716
+ providers
717
+ }
718
+ };
719
+ }
720
+ /**
721
+ * Apply Venice provider configuration AND set Venice as the default model.
722
+ * Use this when Venice is the primary provider choice during onboarding.
723
+ */
724
+ function applyVeniceConfig(cfg) {
725
+ const next = applyVeniceProviderConfig(cfg);
726
+ const existingModel = next.agents?.defaults?.model;
727
+ return {
728
+ ...next,
729
+ agents: {
730
+ ...next.agents,
731
+ defaults: {
732
+ ...next.agents?.defaults,
733
+ model: {
734
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
735
+ primary: VENICE_DEFAULT_MODEL_REF
736
+ }
737
+ }
738
+ }
739
+ };
740
+ }
741
+ function applyXaiProviderConfig(cfg) {
742
+ const models = { ...cfg.agents?.defaults?.models };
743
+ models[XAI_DEFAULT_MODEL_REF] = {
744
+ ...models[XAI_DEFAULT_MODEL_REF],
745
+ alias: models[XAI_DEFAULT_MODEL_REF]?.alias ?? "Grok"
746
+ };
747
+ const providers = { ...cfg.models?.providers };
748
+ const existingProvider = providers.xai;
749
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
750
+ const defaultModel = buildXaiModelDefinition();
751
+ const mergedModels = existingModels.some((model) => model.id === XAI_DEFAULT_MODEL_ID) ? existingModels : [...existingModels, defaultModel];
752
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
753
+ const normalizedApiKey = (typeof existingApiKey === "string" ? existingApiKey : void 0)?.trim();
754
+ providers.xai = {
755
+ ...existingProviderRest,
756
+ baseUrl: XAI_BASE_URL,
757
+ api: "openai-completions",
758
+ ...normalizedApiKey ? { apiKey: normalizedApiKey } : {},
759
+ models: mergedModels.length > 0 ? mergedModels : [defaultModel]
760
+ };
761
+ return {
762
+ ...cfg,
763
+ agents: {
764
+ ...cfg.agents,
765
+ defaults: {
766
+ ...cfg.agents?.defaults,
767
+ models
768
+ }
769
+ },
770
+ models: {
771
+ mode: cfg.models?.mode ?? "merge",
772
+ providers
773
+ }
774
+ };
775
+ }
776
+ function applyXaiConfig(cfg) {
777
+ const next = applyXaiProviderConfig(cfg);
778
+ const existingModel = next.agents?.defaults?.model;
779
+ return {
780
+ ...next,
781
+ agents: {
782
+ ...next.agents,
783
+ defaults: {
784
+ ...next.agents?.defaults,
785
+ model: {
786
+ ...existingModel && "fallbacks" in existingModel ? { fallbacks: existingModel.fallbacks } : void 0,
787
+ primary: XAI_DEFAULT_MODEL_REF
788
+ }
789
+ }
790
+ }
791
+ };
792
+ }
793
+ function applyAuthProfileConfig(cfg, params) {
794
+ const profiles = {
795
+ ...cfg.auth?.profiles,
796
+ [params.profileId]: {
797
+ provider: params.provider,
798
+ mode: params.mode,
799
+ ...params.email ? { email: params.email } : {}
800
+ }
801
+ };
802
+ const existingProviderOrder = cfg.auth?.order?.[params.provider];
803
+ const preferProfileFirst = params.preferProfileFirst ?? true;
804
+ const reorderedProviderOrder = existingProviderOrder && preferProfileFirst ? [params.profileId, ...existingProviderOrder.filter((profileId) => profileId !== params.profileId)] : existingProviderOrder;
805
+ const order = existingProviderOrder !== void 0 ? {
806
+ ...cfg.auth?.order,
807
+ [params.provider]: reorderedProviderOrder?.includes(params.profileId) ? reorderedProviderOrder : [...reorderedProviderOrder ?? [], params.profileId]
808
+ } : cfg.auth?.order;
809
+ return {
810
+ ...cfg,
811
+ auth: {
812
+ ...cfg.auth,
813
+ profiles,
814
+ ...order ? { order } : {}
815
+ }
816
+ };
817
+ }
818
+
819
+ //#endregion
820
+ //#region src/commands/onboard-auth.config-minimax.ts
821
+ function applyMinimaxProviderConfig(cfg) {
822
+ const models = { ...cfg.agents?.defaults?.models };
823
+ models["anthropic/claude-opus-4-6"] = {
824
+ ...models["anthropic/claude-opus-4-6"],
825
+ alias: models["anthropic/claude-opus-4-6"]?.alias ?? "Opus"
826
+ };
827
+ models["lmstudio/minimax-m2.1-gs32"] = {
828
+ ...models["lmstudio/minimax-m2.1-gs32"],
829
+ alias: models["lmstudio/minimax-m2.1-gs32"]?.alias ?? "Minimax"
830
+ };
831
+ const providers = { ...cfg.models?.providers };
832
+ if (!providers.lmstudio) providers.lmstudio = {
833
+ baseUrl: "http://127.0.0.1:1234/v1",
834
+ apiKey: "lmstudio",
835
+ api: "openai-responses",
836
+ models: [buildMinimaxModelDefinition({
837
+ id: "minimax-m2.1-gs32",
838
+ name: "MiniMax M2.1 GS32",
839
+ reasoning: false,
840
+ cost: MINIMAX_LM_STUDIO_COST,
841
+ contextWindow: 196608,
842
+ maxTokens: 8192
843
+ })]
844
+ };
845
+ return {
846
+ ...cfg,
847
+ agents: {
848
+ ...cfg.agents,
849
+ defaults: {
850
+ ...cfg.agents?.defaults,
851
+ models
852
+ }
853
+ },
854
+ models: {
855
+ mode: cfg.models?.mode ?? "merge",
856
+ providers
857
+ }
858
+ };
859
+ }
860
+ function applyMinimaxConfig(cfg) {
861
+ const next = applyMinimaxProviderConfig(cfg);
862
+ return {
863
+ ...next,
864
+ agents: {
865
+ ...next.agents,
866
+ defaults: {
867
+ ...next.agents?.defaults,
868
+ model: {
869
+ ...next.agents?.defaults?.model && "fallbacks" in next.agents.defaults.model ? { fallbacks: next.agents.defaults.model.fallbacks } : void 0,
870
+ primary: "lmstudio/minimax-m2.1-gs32"
871
+ }
872
+ }
873
+ }
874
+ };
875
+ }
876
+ function applyMinimaxApiProviderConfig(cfg, modelId = "MiniMax-M2.1") {
877
+ const providers = { ...cfg.models?.providers };
878
+ const existingProvider = providers.minimax;
879
+ const existingModels = Array.isArray(existingProvider?.models) ? existingProvider.models : [];
880
+ const apiModel = buildMinimaxApiModelDefinition(modelId);
881
+ const mergedModels = existingModels.some((model) => model.id === modelId) ? existingModels : [...existingModels, apiModel];
882
+ const { apiKey: existingApiKey, ...existingProviderRest } = existingProvider ?? {};
883
+ const resolvedApiKey = typeof existingApiKey === "string" ? existingApiKey : void 0;
884
+ const normalizedApiKey = resolvedApiKey?.trim() === "minimax" ? "" : resolvedApiKey;
885
+ providers.minimax = {
886
+ ...existingProviderRest,
887
+ baseUrl: MINIMAX_API_BASE_URL,
888
+ api: "anthropic-messages",
889
+ ...normalizedApiKey?.trim() ? { apiKey: normalizedApiKey } : {},
890
+ models: mergedModels.length > 0 ? mergedModels : [apiModel]
891
+ };
892
+ const models = { ...cfg.agents?.defaults?.models };
893
+ models[`minimax/${modelId}`] = {
894
+ ...models[`minimax/${modelId}`],
895
+ alias: "Minimax"
896
+ };
897
+ return {
898
+ ...cfg,
899
+ agents: {
900
+ ...cfg.agents,
901
+ defaults: {
902
+ ...cfg.agents?.defaults,
903
+ models
904
+ }
905
+ },
906
+ models: {
907
+ mode: cfg.models?.mode ?? "merge",
908
+ providers
909
+ }
910
+ };
911
+ }
912
+ function applyMinimaxApiConfig(cfg, modelId = "MiniMax-M2.1") {
913
+ const next = applyMinimaxApiProviderConfig(cfg, modelId);
914
+ return {
915
+ ...next,
916
+ agents: {
917
+ ...next.agents,
918
+ defaults: {
919
+ ...next.agents?.defaults,
920
+ model: {
921
+ ...next.agents?.defaults?.model && "fallbacks" in next.agents.defaults.model ? { fallbacks: next.agents.defaults.model.fallbacks } : void 0,
922
+ primary: `minimax/${modelId}`
923
+ }
924
+ }
925
+ }
926
+ };
927
+ }
928
+
929
+ //#endregion
930
+ //#region src/agents/opencode-zen-models.ts
931
+ const OPENCODE_ZEN_DEFAULT_MODEL = "claude-opus-4-6";
932
+ const OPENCODE_ZEN_DEFAULT_MODEL_REF = `opencode/${OPENCODE_ZEN_DEFAULT_MODEL}`;
933
+ const CACHE_TTL_MS = 3600 * 1e3;
934
+
935
+ //#endregion
936
+ //#region src/commands/onboard-auth.config-opencode.ts
937
+ function applyOpencodeZenProviderConfig(cfg) {
938
+ const models = { ...cfg.agents?.defaults?.models };
939
+ models[OPENCODE_ZEN_DEFAULT_MODEL_REF] = {
940
+ ...models[OPENCODE_ZEN_DEFAULT_MODEL_REF],
941
+ alias: models[OPENCODE_ZEN_DEFAULT_MODEL_REF]?.alias ?? "Opus"
942
+ };
943
+ return {
944
+ ...cfg,
945
+ agents: {
946
+ ...cfg.agents,
947
+ defaults: {
948
+ ...cfg.agents?.defaults,
949
+ models
950
+ }
951
+ }
952
+ };
953
+ }
954
+ function applyOpencodeZenConfig(cfg) {
955
+ const next = applyOpencodeZenProviderConfig(cfg);
956
+ return {
957
+ ...next,
958
+ agents: {
959
+ ...next.agents,
960
+ defaults: {
961
+ ...next.agents?.defaults,
962
+ model: {
963
+ ...next.agents?.defaults?.model && "fallbacks" in next.agents.defaults.model ? { fallbacks: next.agents.defaults.model.fallbacks } : void 0,
964
+ primary: OPENCODE_ZEN_DEFAULT_MODEL_REF
965
+ }
966
+ }
967
+ }
968
+ };
969
+ }
970
+
971
+ //#endregion
972
+ //#region src/plugins/providers.ts
973
+ const log = createSubsystemLogger("plugins");
974
+ function resolvePluginProviders(params) {
975
+ return loadOpenClawPlugins({
976
+ config: params.config,
977
+ workspaceDir: params.workspaceDir,
978
+ logger: {
979
+ info: (msg) => log.info(msg),
980
+ warn: (msg) => log.warn(msg),
981
+ error: (msg) => log.error(msg),
982
+ debug: (msg) => log.debug(msg)
983
+ }
984
+ }).providers.map((entry) => entry.provider);
985
+ }
986
+
987
+ //#endregion
988
+ //#region src/commands/oauth-env.ts
989
+ function isRemoteEnvironment() {
990
+ if (process.env.SSH_CLIENT || process.env.SSH_TTY || process.env.SSH_CONNECTION) return true;
991
+ if (process.env.REMOTE_CONTAINERS || process.env.CODESPACES) return true;
992
+ if (process.platform === "linux" && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY && !isWSLEnv()) return true;
993
+ return false;
994
+ }
995
+
996
+ //#endregion
997
+ //#region src/commands/oauth-flow.ts
998
+ const validateRequiredInput = (value) => value.trim().length > 0 ? void 0 : "Required";
999
+ function createVpsAwareOAuthHandlers(params) {
1000
+ const manualPromptMessage = params.manualPromptMessage ?? "Paste the redirect URL (or authorization code)";
1001
+ let manualCodePromise;
1002
+ return {
1003
+ onAuth: async ({ url }) => {
1004
+ if (params.isRemote) {
1005
+ params.spin.stop("OAuth URL ready");
1006
+ params.runtime.log(`\nOpen this URL in your LOCAL browser:\n\n${url}\n`);
1007
+ manualCodePromise = params.prompter.text({
1008
+ message: manualPromptMessage,
1009
+ validate: validateRequiredInput
1010
+ }).then((value) => String(value));
1011
+ return;
1012
+ }
1013
+ params.spin.update(params.localBrowserMessage);
1014
+ await params.openUrl(url);
1015
+ params.runtime.log(`Open: ${url}`);
1016
+ },
1017
+ onPrompt: async (prompt) => {
1018
+ if (manualCodePromise) return manualCodePromise;
1019
+ const code = await params.prompter.text({
1020
+ message: prompt.message,
1021
+ placeholder: prompt.placeholder,
1022
+ validate: validateRequiredInput
1023
+ });
1024
+ return String(code);
1025
+ }
1026
+ };
1027
+ }
1028
+
1029
+ //#endregion
1030
+ //#region src/commands/models/shared.ts
1031
+ const ensureFlagCompatibility = (opts) => {
1032
+ if (opts.json && opts.plain) throw new Error("Choose either --json or --plain, not both.");
1033
+ };
1034
+ const formatTokenK = (value) => {
1035
+ if (!value || !Number.isFinite(value)) return "-";
1036
+ if (value < 1024) return `${Math.round(value)}`;
1037
+ return `${Math.round(value / 1024)}k`;
1038
+ };
1039
+ const formatMs = (value) => {
1040
+ if (value === null || value === void 0) return "-";
1041
+ if (!Number.isFinite(value)) return "-";
1042
+ if (value < 1e3) return `${Math.round(value)}ms`;
1043
+ return `${Math.round(value / 100) / 10}s`;
1044
+ };
1045
+ async function updateConfig(mutator) {
1046
+ const snapshot = await readConfigFileSnapshot();
1047
+ if (!snapshot.valid) {
1048
+ const issues = snapshot.issues.map((issue) => `- ${issue.path}: ${issue.message}`).join("\n");
1049
+ throw new Error(`Invalid config at ${snapshot.path}\n${issues}`);
1050
+ }
1051
+ const next = mutator(snapshot.config);
1052
+ await writeConfigFile(next);
1053
+ return next;
1054
+ }
1055
+ function resolveModelTarget(params) {
1056
+ const aliasIndex = buildModelAliasIndex({
1057
+ cfg: params.cfg,
1058
+ defaultProvider: DEFAULT_PROVIDER
1059
+ });
1060
+ const resolved = resolveModelRefFromString({
1061
+ raw: params.raw,
1062
+ defaultProvider: DEFAULT_PROVIDER,
1063
+ aliasIndex
1064
+ });
1065
+ if (!resolved) throw new Error(`Invalid model reference: ${params.raw}`);
1066
+ return resolved.ref;
1067
+ }
1068
+ function normalizeAlias(alias) {
1069
+ const trimmed = alias.trim();
1070
+ if (!trimmed) throw new Error("Alias cannot be empty.");
1071
+ if (!/^[A-Za-z0-9_.:-]+$/.test(trimmed)) throw new Error("Alias must use letters, numbers, dots, underscores, colons, or dashes.");
1072
+ return trimmed;
1073
+ }
1074
+ function resolveKnownAgentId(params) {
1075
+ const raw = params.rawAgentId?.trim();
1076
+ if (!raw) return;
1077
+ const agentId = normalizeAgentId(raw);
1078
+ if (!listAgentIds(params.cfg).includes(agentId)) throw new Error(`Unknown agent id "${raw}". Use "${formatCliCommand("cryptoclaw agents list")}" to see configured agents.`);
1079
+ return agentId;
1080
+ }
1081
+ /**
1082
+ * Model key format: "provider/model"
1083
+ *
1084
+ * The model key is displayed in `/model status` and used to reference models.
1085
+ * When using `/model <key>`, use the exact format shown (e.g., "openrouter/moonshotai/kimi-k2").
1086
+ *
1087
+ * For providers with hierarchical model IDs (e.g., OpenRouter), the model ID may include
1088
+ * sub-providers (e.g., "moonshotai/kimi-k2"), resulting in a key like "openrouter/moonshotai/kimi-k2".
1089
+ */
1090
+
1091
+ //#endregion
1092
+ //#region src/providers/github-copilot-auth.ts
1093
+ const CLIENT_ID = "Iv1.b507a08c87ecfe98";
1094
+ const DEVICE_CODE_URL = "https://github.com/login/device/code";
1095
+ const ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token";
1096
+ function parseJsonResponse(value) {
1097
+ if (!value || typeof value !== "object") throw new Error("Unexpected response from GitHub");
1098
+ return value;
1099
+ }
1100
+ async function requestDeviceCode(params) {
1101
+ const body = new URLSearchParams({
1102
+ client_id: CLIENT_ID,
1103
+ scope: params.scope
1104
+ });
1105
+ const res = await fetch(DEVICE_CODE_URL, {
1106
+ method: "POST",
1107
+ headers: {
1108
+ Accept: "application/json",
1109
+ "Content-Type": "application/x-www-form-urlencoded"
1110
+ },
1111
+ body
1112
+ });
1113
+ if (!res.ok) throw new Error(`GitHub device code failed: HTTP ${res.status}`);
1114
+ const json = parseJsonResponse(await res.json());
1115
+ if (!json.device_code || !json.user_code || !json.verification_uri) throw new Error("GitHub device code response missing fields");
1116
+ return json;
1117
+ }
1118
+ async function pollForAccessToken(params) {
1119
+ const bodyBase = new URLSearchParams({
1120
+ client_id: CLIENT_ID,
1121
+ device_code: params.deviceCode,
1122
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code"
1123
+ });
1124
+ while (Date.now() < params.expiresAt) {
1125
+ const res = await fetch(ACCESS_TOKEN_URL, {
1126
+ method: "POST",
1127
+ headers: {
1128
+ Accept: "application/json",
1129
+ "Content-Type": "application/x-www-form-urlencoded"
1130
+ },
1131
+ body: bodyBase
1132
+ });
1133
+ if (!res.ok) throw new Error(`GitHub device token failed: HTTP ${res.status}`);
1134
+ const json = parseJsonResponse(await res.json());
1135
+ if ("access_token" in json && typeof json.access_token === "string") return json.access_token;
1136
+ const err = "error" in json ? json.error : "unknown";
1137
+ if (err === "authorization_pending") {
1138
+ await new Promise((r) => setTimeout(r, params.intervalMs));
1139
+ continue;
1140
+ }
1141
+ if (err === "slow_down") {
1142
+ await new Promise((r) => setTimeout(r, params.intervalMs + 2e3));
1143
+ continue;
1144
+ }
1145
+ if (err === "expired_token") throw new Error("GitHub device code expired; run login again");
1146
+ if (err === "access_denied") throw new Error("GitHub login cancelled");
1147
+ throw new Error(`GitHub device flow error: ${err}`);
1148
+ }
1149
+ throw new Error("GitHub device code expired; run login again");
1150
+ }
1151
+ async function githubCopilotLoginCommand(opts, runtime) {
1152
+ if (!process.stdin.isTTY) throw new Error("github-copilot login requires an interactive TTY.");
1153
+ intro(stylePromptTitle("GitHub Copilot login"));
1154
+ const profileId = opts.profileId?.trim() || "github-copilot:github";
1155
+ if (ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[profileId] && !opts.yes) note(`Auth profile already exists: ${profileId}\nRe-running will overwrite it.`, stylePromptTitle("Existing credentials"));
1156
+ const spin = spinner();
1157
+ spin.start("Requesting device code from GitHub...");
1158
+ const device = await requestDeviceCode({ scope: "read:user" });
1159
+ spin.stop("Device code ready");
1160
+ note([`Visit: ${device.verification_uri}`, `Code: ${device.user_code}`].join("\n"), stylePromptTitle("Authorize"));
1161
+ const expiresAt = Date.now() + device.expires_in * 1e3;
1162
+ const intervalMs = Math.max(1e3, device.interval * 1e3);
1163
+ const polling = spinner();
1164
+ polling.start("Waiting for GitHub authorization...");
1165
+ const accessToken = await pollForAccessToken({
1166
+ deviceCode: device.device_code,
1167
+ intervalMs,
1168
+ expiresAt
1169
+ });
1170
+ polling.stop("GitHub access token acquired");
1171
+ upsertAuthProfile({
1172
+ profileId,
1173
+ credential: {
1174
+ type: "token",
1175
+ provider: "github-copilot",
1176
+ token: accessToken
1177
+ }
1178
+ });
1179
+ await updateConfig((cfg) => applyAuthProfileConfig(cfg, {
1180
+ provider: "github-copilot",
1181
+ profileId,
1182
+ mode: "token"
1183
+ }));
1184
+ logConfigUpdated(runtime);
1185
+ runtime.log(`Auth profile: ${profileId} (github-copilot/token)`);
1186
+ outro("Done");
1187
+ }
1188
+
1189
+ //#endregion
1190
+ export { setVeniceApiKey as $, applySyntheticProviderConfig as A, OPENROUTER_DEFAULT_MODEL_REF as B, applyMoonshotConfig as C, applyOpenrouterConfig as D, applyMoonshotProviderConfigCn as E, applyXaiConfig as F, setCloudflareAiGatewayConfig as G, XIAOMI_DEFAULT_MODEL_REF as H, applyXaiProviderConfig as I, setMinimaxApiKey as J, setGeminiApiKey as K, applyXiaomiConfig as L, applyVeniceProviderConfig as M, applyVercelAiGatewayConfig as N, applyOpenrouterProviderConfig as O, applyVercelAiGatewayProviderConfig as P, setSyntheticApiKey as Q, applyXiaomiProviderConfig as R, applyKimiCodeProviderConfig as S, applyMoonshotProviderConfig as T, ZAI_DEFAULT_MODEL_REF as U, VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF as V, setAnthropicApiKey as W, setOpencodeZenApiKey as X, setMoonshotApiKey as Y, setOpenrouterApiKey as Z, applyMinimaxProviderConfig as _, normalizeAlias as a, KIMI_CODING_MODEL_REF as at, applyCloudflareAiGatewayProviderConfig as b, updateConfig as c, buildTokenProfileId as ct, resolvePluginProviders as d, setVercelAiGatewayApiKey as et, applyOpencodeZenConfig as f, applyMinimaxConfig as g, applyMinimaxApiProviderConfig as h, formatTokenK as i, writeOAuthCredentials as it, applyVeniceConfig as j, applySyntheticConfig as k, createVpsAwareOAuthHandlers as l, validateAnthropicSetupToken as lt, applyMinimaxApiConfig as m, ensureFlagCompatibility as n, setXiaomiApiKey as nt, resolveKnownAgentId as o, MOONSHOT_DEFAULT_MODEL_REF as ot, applyOpencodeZenProviderConfig as p, setKimiCodingApiKey as q, formatMs as r, setZaiApiKey as rt, resolveModelTarget as s, XAI_DEFAULT_MODEL_REF as st, githubCopilotLoginCommand as t, setXaiApiKey as tt, isRemoteEnvironment as u, applyAuthProfileConfig as v, applyMoonshotConfigCn as w, applyKimiCodeConfig as x, applyCloudflareAiGatewayConfig as y, applyZaiConfig as z };