@spacebar_ai/moldclaw-core 2026.3.43 → 2026.3.45

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 (1131) hide show
  1. package/dist/accounts-5qY-dKca.d.ts +103 -0
  2. package/dist/accounts-CxV5zzzp.js +114 -0
  3. package/dist/acp-cli-2JoKJ0xt.js +2093 -0
  4. package/dist/actions.runtime-BJPd9nat.js +119 -0
  5. package/dist/actions.runtime-DVs4a2cB.js +133 -0
  6. package/dist/agent-scope-lZlwP1At.js +208 -0
  7. package/dist/agents-CmT3Jwvj.js +222 -0
  8. package/dist/agents-D7Pebhph.js +853 -0
  9. package/dist/agents.config-CX9CPNfP.js +17 -0
  10. package/dist/agents.config-DF9Zwn9n.js +121 -0
  11. package/dist/allow-list-B3f4EqAM.js +81 -0
  12. package/dist/allowlist-_YpK0-4h.js +142 -0
  13. package/dist/api-B44giplI.js +117 -0
  14. package/dist/audit-C3InXm7H.js +787 -0
  15. package/dist/audit-ChWS6RiF.js +54 -0
  16. package/dist/audit-channel.collect.runtime-DZzrS6v2.js +605 -0
  17. package/dist/audit-channel.runtime-B2XTOsSF.js +121 -0
  18. package/dist/audit-extra.async-C2G0mqmk.js +813 -0
  19. package/dist/audit-membership-runtime-DOv5-eHo.js +162 -0
  20. package/dist/audit.deep.runtime-DyL9O_sU.js +25 -0
  21. package/dist/audit.nondeep.runtime-C6jFgJfH.js +832 -0
  22. package/dist/audit.runtime-Cvh2wmWM.js +118 -0
  23. package/dist/auth-Ch3Rchm4.js +101 -0
  24. package/dist/auth-choice-Beq0dWPS.js +268 -0
  25. package/dist/auth-choice-DZYg94gS.js +122 -0
  26. package/dist/auth-choice-TVG_8lJj.js +507 -0
  27. package/dist/auth-choice-options-B_qxsjdj.js +123 -0
  28. package/dist/auth-choice-prompt-BayzDobT.js +115 -0
  29. package/dist/auth-choice-prompt-_UES859x.js +36 -0
  30. package/dist/auth-choice.apply-helpers-BhbNIV8X.js +66 -0
  31. package/dist/auth-choice.plugin-providers.runtime-CVC4Jzhp.js +119 -0
  32. package/dist/auth-profiles-C-Ul-Qkn.js +128139 -0
  33. package/dist/auth-profiles.runtime-Clyka_jV.js +116 -0
  34. package/dist/banner-CojBHPWr.js +342 -0
  35. package/dist/bluebubbles-BnLsj2Fy.d.ts +6 -0
  36. package/dist/bluebubbles-irYTGbfn.js +64 -0
  37. package/dist/bot-DdyrB2z9.d.ts +478 -0
  38. package/dist/brave-w4Fo8WZ3.js +24 -0
  39. package/dist/browser-cli-DWFs3P_i.js +1494 -0
  40. package/dist/build-info.json +3 -3
  41. package/dist/bundled/boot-md/handler.d.ts +1 -1
  42. package/dist/bundled/boot-md/handler.js +35 -35
  43. package/dist/bundled/bootstrap-extra-files/handler.d.ts +1 -1
  44. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  45. package/dist/bundled/command-logger/handler.d.ts +1 -1
  46. package/dist/bundled/session-memory/handler.d.ts +1 -1
  47. package/dist/bundled/session-memory/handler.js +36 -36
  48. package/dist/call-Do7wTSr7.js +39 -0
  49. package/dist/call-gdDAt07d.js +640 -0
  50. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  51. package/dist/channel-34O87pvK.js +949 -0
  52. package/dist/channel-B3Xo_4d8.js +1598 -0
  53. package/dist/channel-BEqDvL49.js +397 -0
  54. package/dist/channel-BLOk9WRE.js +214 -0
  55. package/dist/channel-BY5H2cdy.js +803 -0
  56. package/dist/channel-BeOtzXIH.js +4681 -0
  57. package/dist/channel-Bt8x_5Kj.js +306 -0
  58. package/dist/channel-C3E8XWLF.js +1321 -0
  59. package/dist/channel-C6ngVfGr.js +943 -0
  60. package/dist/channel-CVDBca2b.js +226 -0
  61. package/dist/channel-Cctli72q.js +562 -0
  62. package/dist/channel-DEAbU9Dj2.js +316 -0
  63. package/dist/channel-DIULkrBN.js +575 -0
  64. package/dist/channel-DXb4gsSd.js +619 -0
  65. package/dist/channel-Dap9LY-9.js +352 -0
  66. package/dist/channel-DcJdUnab.js +538 -0
  67. package/dist/channel-ZYCQj3hP.js +207 -0
  68. package/dist/channel-account-context-Baszl3_B.js +103 -0
  69. package/dist/channel-hlzhFHDl.js +497 -0
  70. package/dist/channel-options-PwBzYYtq.js +50 -0
  71. package/dist/channel-plugin-ids-TZIY4hFs.js +26 -0
  72. package/dist/channel-summary-CCEAV13o.js +111 -0
  73. package/dist/channel-tY2Hg5ac.js +542 -0
  74. package/dist/channel-vMWcWq1U.js +920 -0
  75. package/dist/channel.runtime-8qWgkCxX.js +404 -0
  76. package/dist/channel.runtime-C4jtgrbI.js +179 -0
  77. package/dist/channel.runtime-CJ4ug6Mp.js +127 -0
  78. package/dist/channel.runtime-ChKRJAZ8.js +4011 -0
  79. package/dist/channel.runtime-Cj54LYU-.js +418 -0
  80. package/dist/channel.runtime-KH06-bu1.js +870 -0
  81. package/dist/channel.runtime-_GYnBh2X.js +199 -0
  82. package/dist/channel.runtime-go7Pzt6N.js +241 -0
  83. package/dist/channel.runtime-iypIZ0EU.js +171 -0
  84. package/dist/channel.runtime-mukTWpon.js +182 -0
  85. package/dist/channel.runtime-oNtF1sc3.js +218 -0
  86. package/dist/channel.setup-BZfok6kX.js +11 -0
  87. package/dist/channel.setup-CbXfZ2dq.js +9 -0
  88. package/dist/channel.setup-CfyM55np.js +8 -0
  89. package/dist/channel.setup-CoG-gJ6n.js +9 -0
  90. package/dist/channel.setup-Cp4PH_rc.js +57 -0
  91. package/dist/channel.setup-V2w9Jk9j.js +6 -0
  92. package/dist/channel.setup-t7F5WZE7.js +8 -0
  93. package/dist/channels/plugins/actions/discord.d.ts +2 -2
  94. package/dist/channels/plugins/actions/discord.js +35 -35
  95. package/dist/channels/plugins/actions/signal.d.ts +1 -1
  96. package/dist/channels/plugins/actions/signal.js +35 -35
  97. package/dist/channels/plugins/actions/telegram.d.ts +2 -2
  98. package/dist/channels/plugins/actions/telegram.js +35 -35
  99. package/dist/channels/plugins/agent-tools/whatsapp-login.d.ts +3 -3
  100. package/dist/channels/plugins/agent-tools/whatsapp-login.js +35 -35
  101. package/dist/channels-H5ThmyG8.js +1118 -0
  102. package/dist/channels-cQ-6NFCQ.js +404 -0
  103. package/dist/channels-cli-TmchKLFS.js +291 -0
  104. package/dist/channels-status-issues-DXnkXEeJ.js +16 -0
  105. package/dist/clawbot-cli-Cpbxu8dD.js +118 -0
  106. package/dist/cleanup-utils-D0L17RsX.js +96 -0
  107. package/dist/cli/daemon-cli.js +1 -1
  108. package/dist/cli--2bGSKdX.js +154 -0
  109. package/dist/command-registry-BaVPDmwn.js +242 -0
  110. package/dist/command-registry-DhLyeSbO.js +14 -0
  111. package/dist/command-secret-gateway-C5D_-jb0.js +111 -0
  112. package/dist/compact.runtime-C9a0kRAg.js +116 -0
  113. package/dist/completion-cli-Bg95upyk.js +17 -0
  114. package/dist/completion-cli-CrPdlnCH.js +445 -0
  115. package/dist/config-BbvDRSYp.js +31 -0
  116. package/dist/config-CwBv71QC.js +44 -0
  117. package/dist/config-cli-jsZsYhAl.js +678 -0
  118. package/dist/config-guard-DTaXXqly.js +118 -0
  119. package/dist/config-validation-Q6U1sP84.js +262 -0
  120. package/dist/config-value-DT3-5958.js +132 -0
  121. package/dist/configure-BJfMiVej.js +1100 -0
  122. package/dist/configure-Cist3Iza.js +243 -0
  123. package/dist/control-ui-assets-C1YDYi82.js +232 -0
  124. package/dist/control-ui-shared-Dm5Dh0Lo.js +29 -0
  125. package/dist/core-BwKq3krw.js +150 -0
  126. package/dist/core-hjBwfDsW.d.ts +87 -0
  127. package/dist/cron-cli-Bktbk7iP.js +639 -0
  128. package/dist/daemon-cli-BXyH8DBL.js +339 -0
  129. package/dist/daemon-install-mxcGYsRJ.js +180 -0
  130. package/dist/deliver-BPYUKaSp.js +111 -0
  131. package/dist/deliver-runtime-CwnLQZTN.js +111 -0
  132. package/dist/device-id-cli-XvwZbIyC.js +52 -0
  133. package/dist/device-identity-IG5DngWM.js +365 -0
  134. package/dist/devices-cli-DIsxj4xp.js +342 -0
  135. package/dist/diagnostic-DTPopFvh.js +310 -0
  136. package/dist/directory-cli-D253m0er.js +311 -0
  137. package/dist/directory-config-helpers-DpFcAbmo.d.ts +38 -0
  138. package/dist/directory.static-BXv9MXqm.js +44 -0
  139. package/dist/discord-DwFf1qp7.js +114 -0
  140. package/dist/discovery-DzRM1wzK.js +48 -0
  141. package/dist/dm-policy-shared-DKoGdUpY.d.ts +95 -0
  142. package/dist/dns-cli-BJiz6CLK.js +217 -0
  143. package/dist/docs-cli-Dq2Yi5qO.js +174 -0
  144. package/dist/doctor-completion-BPl6HiiZ.js +90 -0
  145. package/dist/doctor-config-flow-BHR1Ayyh.js +2437 -0
  146. package/dist/doctor-config-flow-PXVtrfkE.js +112 -0
  147. package/dist/enable-Cyagpq3b.js +24 -0
  148. package/dist/entry.js +4 -4
  149. package/dist/exec-approvals-cli-kLAev6bP.js +421 -0
  150. package/dist/extensions/acpx/index.d.ts +1 -1
  151. package/dist/extensions/amazon-bedrock/index.d.ts +1 -1
  152. package/dist/extensions/amazon-bedrock/index.js +4 -4
  153. package/dist/extensions/anthropic/index.d.ts +1 -1
  154. package/dist/extensions/anthropic/index.js +35 -35
  155. package/dist/extensions/bluebubbles/index.d.ts +1 -1
  156. package/dist/extensions/bluebubbles/index.js +39 -39
  157. package/dist/extensions/bluebubbles/setup-entry.d.ts +2 -2
  158. package/dist/extensions/bluebubbles/setup-entry.js +39 -39
  159. package/dist/extensions/brave/index.d.ts +1 -1
  160. package/dist/extensions/brave/index.js +5 -5
  161. package/dist/extensions/byteplus/index.d.ts +1 -1
  162. package/dist/extensions/byteplus/index.js +35 -35
  163. package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
  164. package/dist/extensions/cloudflare-ai-gateway/index.js +36 -36
  165. package/dist/extensions/copilot-proxy/index.d.ts +1 -1
  166. package/dist/extensions/copilot-proxy/index.js +4 -4
  167. package/dist/extensions/device-pair/index.d.ts +1 -1
  168. package/dist/extensions/device-pair/index.js +4 -4
  169. package/dist/extensions/diagnostics-otel/index.d.ts +1 -1
  170. package/dist/extensions/diagnostics-otel/index.js +4 -4
  171. package/dist/extensions/diffs/index.d.ts +1 -1
  172. package/dist/extensions/discord/index.d.ts +1 -1
  173. package/dist/extensions/discord/index.js +40 -40
  174. package/dist/extensions/discord/setup-entry.d.ts +1 -1
  175. package/dist/extensions/discord/setup-entry.js +38 -38
  176. package/dist/extensions/elevenlabs/index.d.ts +1 -1
  177. package/dist/extensions/elevenlabs/index.js +35 -35
  178. package/dist/extensions/feishu/index.d.ts +2 -2
  179. package/dist/extensions/feishu/index.js +40 -40
  180. package/dist/extensions/feishu/setup-entry.d.ts +2 -2
  181. package/dist/extensions/feishu/setup-entry.js +37 -37
  182. package/dist/extensions/firecrawl/index.d.ts +1 -1
  183. package/dist/extensions/firecrawl/index.js +35 -35
  184. package/dist/extensions/github-copilot/index.d.ts +1 -1
  185. package/dist/extensions/github-copilot/index.js +35 -35
  186. package/dist/extensions/google/index.d.ts +1 -1
  187. package/dist/extensions/google/index.js +35 -35
  188. package/dist/extensions/googlechat/index.d.ts +1 -1
  189. package/dist/extensions/googlechat/index.js +38 -38
  190. package/dist/extensions/googlechat/setup-entry.d.ts +1 -1
  191. package/dist/extensions/googlechat/setup-entry.js +38 -38
  192. package/dist/extensions/huggingface/index.d.ts +1 -1
  193. package/dist/extensions/huggingface/index.js +35 -35
  194. package/dist/extensions/imessage/index.d.ts +1 -1
  195. package/dist/extensions/imessage/index.js +39 -39
  196. package/dist/extensions/imessage/setup-entry.d.ts +1 -1
  197. package/dist/extensions/imessage/setup-entry.js +39 -39
  198. package/dist/extensions/irc/index.d.ts +1 -1
  199. package/dist/extensions/irc/index.js +38 -38
  200. package/dist/extensions/irc/setup-entry.d.ts +2 -2
  201. package/dist/extensions/irc/setup-entry.js +38 -38
  202. package/dist/extensions/kakao-talkchannel/index.d.ts +1 -1
  203. package/dist/extensions/kakao-talkchannel/index.js +4 -4
  204. package/dist/extensions/kilocode/index.d.ts +1 -1
  205. package/dist/extensions/kilocode/index.js +35 -35
  206. package/dist/extensions/kimi-coding/index.d.ts +1 -1
  207. package/dist/extensions/kimi-coding/index.js +35 -35
  208. package/dist/extensions/line/index.d.ts +1 -1
  209. package/dist/extensions/line/index.js +37 -37
  210. package/dist/extensions/line/setup-entry.d.ts +1 -1
  211. package/dist/extensions/line/setup-entry.js +37 -37
  212. package/dist/extensions/llm-task/index.d.ts +1 -1
  213. package/dist/extensions/llm-task/index.js +35 -35
  214. package/dist/extensions/lobster/index.d.ts +1 -1
  215. package/dist/extensions/lobster/index.js +4 -4
  216. package/dist/extensions/matrix/index.d.ts +1 -1
  217. package/dist/extensions/matrix/index.js +40 -40
  218. package/dist/extensions/matrix/setup-entry.d.ts +2 -2
  219. package/dist/extensions/matrix/setup-entry.js +40 -40
  220. package/dist/extensions/mattermost/index.d.ts +1 -1
  221. package/dist/extensions/mattermost/index.js +37 -37
  222. package/dist/extensions/mattermost/setup-entry.d.ts +2 -2
  223. package/dist/extensions/mattermost/setup-entry.js +37 -37
  224. package/dist/extensions/memory-core/index.d.ts +1 -1
  225. package/dist/extensions/memory-core/index.js +4 -4
  226. package/dist/extensions/memory-lancedb/index.d.ts +1 -1
  227. package/dist/extensions/memory-lancedb/index.js +4 -4
  228. package/dist/extensions/microsoft/index.d.ts +1 -1
  229. package/dist/extensions/microsoft/index.js +35 -35
  230. package/dist/extensions/minimax/index.d.ts +1 -1
  231. package/dist/extensions/minimax/index.js +35 -35
  232. package/dist/extensions/mistral/index.d.ts +1 -1
  233. package/dist/extensions/mistral/index.js +35 -35
  234. package/dist/extensions/modelstudio/index.d.ts +1 -1
  235. package/dist/extensions/modelstudio/index.js +35 -35
  236. package/dist/extensions/moonshot/index.d.ts +1 -1
  237. package/dist/extensions/moonshot/index.js +35 -35
  238. package/dist/extensions/msteams/index.d.ts +1 -1
  239. package/dist/extensions/msteams/index.js +40 -40
  240. package/dist/extensions/msteams/setup-entry.d.ts +1 -1
  241. package/dist/extensions/msteams/setup-entry.js +40 -40
  242. package/dist/extensions/nextcloud-talk/index.d.ts +1 -1
  243. package/dist/extensions/nextcloud-talk/index.js +37 -37
  244. package/dist/extensions/nextcloud-talk/setup-entry.d.ts +2 -2
  245. package/dist/extensions/nextcloud-talk/setup-entry.js +37 -37
  246. package/dist/extensions/nostr/index.d.ts +1 -1
  247. package/dist/extensions/nostr/index.js +37 -37
  248. package/dist/extensions/nostr/setup-entry.d.ts +1 -1
  249. package/dist/extensions/nostr/setup-entry.js +37 -37
  250. package/dist/extensions/nvidia/index.d.ts +1 -1
  251. package/dist/extensions/nvidia/index.js +4 -4
  252. package/dist/extensions/ollama/index.d.ts +1 -1
  253. package/dist/extensions/ollama/index.js +7 -7
  254. package/dist/extensions/open-prose/index.d.ts +1 -1
  255. package/dist/extensions/open-prose/index.js +4 -4
  256. package/dist/extensions/openai/index.d.ts +1 -1
  257. package/dist/extensions/openai/index.js +35 -35
  258. package/dist/extensions/opencode/index.d.ts +1 -1
  259. package/dist/extensions/opencode/index.js +35 -35
  260. package/dist/extensions/opencode-go/index.d.ts +1 -1
  261. package/dist/extensions/opencode-go/index.js +35 -35
  262. package/dist/extensions/openrouter/index.d.ts +1 -1
  263. package/dist/extensions/openrouter/index.js +35 -35
  264. package/dist/extensions/openshell/index.d.ts +1 -1
  265. package/dist/extensions/openshell/index.js +35 -35
  266. package/dist/extensions/perplexity/index.d.ts +1 -1
  267. package/dist/extensions/perplexity/index.js +5 -5
  268. package/dist/extensions/phone-control/index.d.ts +1 -1
  269. package/dist/extensions/phone-control/index.js +4 -4
  270. package/dist/extensions/qianfan/index.d.ts +1 -1
  271. package/dist/extensions/qianfan/index.js +35 -35
  272. package/dist/extensions/qwen-portal-auth/index.d.ts +1 -1
  273. package/dist/extensions/qwen-portal-auth/index.js +35 -35
  274. package/dist/extensions/sglang/index.d.ts +1 -1
  275. package/dist/extensions/sglang/index.js +35 -35
  276. package/dist/extensions/signal/index.d.ts +1 -1
  277. package/dist/extensions/signal/index.js +38 -38
  278. package/dist/extensions/signal/setup-entry.d.ts +1 -1
  279. package/dist/extensions/signal/setup-entry.js +38 -38
  280. package/dist/extensions/slack/index.d.ts +1 -1
  281. package/dist/extensions/slack/index.js +39 -39
  282. package/dist/extensions/slack/setup-entry.d.ts +1 -1
  283. package/dist/extensions/slack/setup-entry.js +38 -38
  284. package/dist/extensions/synology-chat/index.d.ts +1 -1
  285. package/dist/extensions/synology-chat/index.js +37 -37
  286. package/dist/extensions/synology-chat/setup-entry.d.ts +1 -1
  287. package/dist/extensions/synology-chat/setup-entry.js +37 -37
  288. package/dist/extensions/synthetic/index.d.ts +1 -1
  289. package/dist/extensions/synthetic/index.js +35 -35
  290. package/dist/extensions/talk-voice/index.d.ts +1 -1
  291. package/dist/extensions/talk-voice/index.js +35 -35
  292. package/dist/extensions/telegram/index.d.ts +1 -1
  293. package/dist/extensions/telegram/index.js +38 -38
  294. package/dist/extensions/telegram/setup-entry.d.ts +1 -1
  295. package/dist/extensions/telegram/setup-entry.js +37 -37
  296. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  297. package/dist/extensions/thread-ownership/index.js +4 -4
  298. package/dist/extensions/tlon/index.d.ts +1 -1
  299. package/dist/extensions/tlon/index.js +37 -37
  300. package/dist/extensions/tlon/setup-entry.d.ts +1 -1
  301. package/dist/extensions/tlon/setup-entry.js +37 -37
  302. package/dist/extensions/together/index.d.ts +1 -1
  303. package/dist/extensions/together/index.js +35 -35
  304. package/dist/extensions/twitch/index.d.ts +2 -2
  305. package/dist/extensions/twitch/index.js +37 -37
  306. package/dist/extensions/venice/index.d.ts +1 -1
  307. package/dist/extensions/venice/index.js +35 -35
  308. package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
  309. package/dist/extensions/vercel-ai-gateway/index.js +36 -36
  310. package/dist/extensions/vllm/index.d.ts +1 -1
  311. package/dist/extensions/vllm/index.js +35 -35
  312. package/dist/extensions/voice-call/index.d.ts +1 -1
  313. package/dist/extensions/voice-call/index.js +35 -35
  314. package/dist/extensions/volcengine/index.d.ts +1 -1
  315. package/dist/extensions/volcengine/index.js +35 -35
  316. package/dist/extensions/whatsapp/index.d.ts +1 -1
  317. package/dist/extensions/whatsapp/index.js +38 -38
  318. package/dist/extensions/whatsapp/setup-entry.d.ts +1 -1
  319. package/dist/extensions/whatsapp/setup-entry.js +38 -38
  320. package/dist/extensions/xai/index.d.ts +1 -1
  321. package/dist/extensions/xai/index.js +35 -35
  322. package/dist/extensions/xiaomi/index.d.ts +1 -1
  323. package/dist/extensions/xiaomi/index.js +35 -35
  324. package/dist/extensions/zai/index.d.ts +1 -1
  325. package/dist/extensions/zai/index.js +35 -35
  326. package/dist/extensions/zalo/index.d.ts +1 -1
  327. package/dist/extensions/zalo/index.js +39 -39
  328. package/dist/extensions/zalo/setup-entry.d.ts +1 -1
  329. package/dist/extensions/zalo/setup-entry.js +39 -39
  330. package/dist/extensions/zalouser/index.d.ts +1 -1
  331. package/dist/extensions/zalouser/index.js +40 -40
  332. package/dist/extensions/zalouser/setup-entry.d.ts +1 -1
  333. package/dist/extensions/zalouser/setup-entry.js +40 -40
  334. package/dist/feishu-fIcnHDTd.d.ts +36 -0
  335. package/dist/gateway-cli-DofujQf3.js +26437 -0
  336. package/dist/gateway-install-token-vvtOvufH.js +163 -0
  337. package/dist/gateway-rpc-C0Vk51W7.js +26 -0
  338. package/dist/gateway-runtime-CBm3CCoA.js +69 -0
  339. package/dist/git-commit-BTWXFY41.js +177 -0
  340. package/dist/git-commit-D6GTN5Yt.js +2 -0
  341. package/dist/googlechat-BvwsCVKl.d.ts +12 -0
  342. package/dist/googlechat-DzoFLiDG.js +307 -0
  343. package/dist/group-access-DpiQnd-G.d.ts +61 -0
  344. package/dist/health-CqUU_ecm.js +570 -0
  345. package/dist/health-Dzn8BT5I.js +113 -0
  346. package/dist/heartbeat-summary-Dct2lqJj.js +57 -0
  347. package/dist/help-CtwSApfq.js +81 -0
  348. package/dist/hooks-9gokOxZ5.d.ts +6 -0
  349. package/dist/hooks-cli-DtBvd1lb.js +1000 -0
  350. package/dist/hooks-status-Bm_pGORf.js +78 -0
  351. package/dist/http-registry-D-S6a1Na.d.ts +20 -0
  352. package/dist/identity-file-Diub2a0t.js +60 -0
  353. package/dist/image-generation-CbIVzmAR.d.ts +9 -0
  354. package/dist/imessage-C7Z59nbV.js +31 -0
  355. package/dist/imessage-scXvYYHX.js +115 -0
  356. package/dist/inbound-reply-dispatch-gzPJFtkc.js +71 -0
  357. package/dist/inbound-reply-dispatch-n7U3qg15.d.ts +72 -0
  358. package/dist/index.js +2 -2
  359. package/dist/install-target-B4n74f_B.js +574 -0
  360. package/dist/installs-e1WEcS2x.js +532 -0
  361. package/dist/io-BaBxjB1v.js +9739 -0
  362. package/dist/io-CgHb1Jld.js +29 -0
  363. package/dist/irc-DxJ7uOKl.js +672 -0
  364. package/dist/library-DjjiKiBC.js +112 -0
  365. package/dist/lifecycle-core-Dn8PK6nk.js +382 -0
  366. package/dist/line/accounts.d.ts +2 -2
  367. package/dist/line/send.d.ts +1 -1
  368. package/dist/line/send.js +7 -7
  369. package/dist/line/template-messages.d.ts +1 -1
  370. package/dist/line-B5QFpgN_.d.ts +75 -0
  371. package/dist/line-BBiBiGgL.js +530 -0
  372. package/dist/llm-slug-generator-BQ09Fz6D.js +67 -0
  373. package/dist/llm-slug-generator.d.ts +1 -1
  374. package/dist/llm-slug-generator.js +36 -36
  375. package/dist/logging-CdisccbY.js +13 -0
  376. package/dist/logging-LKQSgX1d.js +30 -0
  377. package/dist/login-qr-B2ElPfmb.js +112 -0
  378. package/dist/login-qr-Di3uPIK1.js +233 -0
  379. package/dist/logs-cli-CNzOvZ2d.js +256 -0
  380. package/dist/manager-runtime-2RwW64dE.js +111 -0
  381. package/dist/manager.runtime-BacHmSFL.js +715 -0
  382. package/dist/manifest-registry-CS_p1OBQ.js +1329 -0
  383. package/dist/matrix-43_RGLZN.d.ts +68 -0
  384. package/dist/matrix-6-xpfQHf.js +1269 -0
  385. package/dist/matrix-DKYdZvGK.js +1495 -0
  386. package/dist/mcp-cli-Ci2jvv3s.js +87 -0
  387. package/dist/media-understanding.runtime-0668UZMb.js +116 -0
  388. package/dist/memory-cli-BGfRJOPh.js +111 -0
  389. package/dist/memory-search-BHhETk6u.js +17 -0
  390. package/dist/memory-search-tTD5o_rU.js +204 -0
  391. package/dist/method-scopes-B2ZKSsxQ.js +2452 -0
  392. package/dist/model-auth-markers-LqZ4qhrZ.d.ts +20 -0
  393. package/dist/model-picker-D9Gmg9vM.js +390 -0
  394. package/dist/model-picker-VOam6Dfa.js +112 -0
  395. package/dist/model-picker.runtime-B8h4yaGk.js +125 -0
  396. package/dist/model-selection-bBBxfXdb.js +653 -0
  397. package/dist/model-suppression.runtime-IpdzuuaW.js +116 -0
  398. package/dist/models-CEr8OkSA.js +118 -0
  399. package/dist/models-FgjlnyvT.js +2514 -0
  400. package/dist/models-cli-CdXULEZe.js +309 -0
  401. package/dist/models-config-UQxq76ac.js +111 -0
  402. package/dist/models-config.providers.discovery-puxTsH39.d.ts +18 -0
  403. package/dist/moldclaw-root-Cb6HRlUO.js +92 -0
  404. package/dist/monitor-BGAB5pZp.js +772 -0
  405. package/dist/monitor-C_1qA4q5.js +6823 -0
  406. package/dist/monitor-D8WcCUuA.js +782 -0
  407. package/dist/monitor-DesGoihT.js +113 -0
  408. package/dist/monitor-DhrUY3U6.js +3468 -0
  409. package/dist/monitor-DsDCIG87.js +3076 -0
  410. package/dist/monitor-dBB-luY7.js +115 -0
  411. package/dist/monitor-shared-CkicpwVc.js +444 -0
  412. package/dist/msteams-qmY7xMCK.js +852 -0
  413. package/dist/node-cli-B_2nTm80.js +2503 -0
  414. package/dist/node-resolve-BYC2FbO2.js +835 -0
  415. package/dist/nodes-cli-CBX71Wd_.js +1380 -0
  416. package/dist/nostr-BFKRoOlz.d.ts +7 -0
  417. package/dist/nostr-OB78XVlq.js +8744 -0
  418. package/dist/npm-resolution-DZJB3Hgh.js +60 -0
  419. package/dist/oauth-env-CLG8KOrz.js +10 -0
  420. package/dist/onboard-BON0C360.js +48 -0
  421. package/dist/onboard-DsKI17iq.js +25 -0
  422. package/dist/onboard-DyBwXVGT.js +589 -0
  423. package/dist/onboard-channels-BaVA02kK.js +1241 -0
  424. package/dist/onboard-channels-JJVMXpKl.js +205 -0
  425. package/dist/onboard-custom-D6YDrk9n.js +571 -0
  426. package/dist/onboard-custom-DqsNalL1.js +114 -0
  427. package/dist/onboard-helpers-DiSRTpZC.js +335 -0
  428. package/dist/onboard-helpers-DqZsjdb8.js +113 -0
  429. package/dist/onboard-hooks-pzEPZAvl.js +72 -0
  430. package/dist/onboard-remote-DFMLELsg.js +181 -0
  431. package/dist/onboard-remote-DmMYxY80.js +117 -0
  432. package/dist/onboard-search-B7FsNd7m.js +302 -0
  433. package/dist/onboard-skills-BJRdI-K3.js +133 -0
  434. package/dist/onboard-skills-Cg1YQAZa.js +117 -0
  435. package/dist/outbound-media-BHD4aJEX.d.ts +11 -0
  436. package/dist/outbound-media-CrraEXXv.js +11 -0
  437. package/dist/pairing-access-CzHpaM0R.d.ts +21 -0
  438. package/dist/pairing-cli-DSQTYgc0.js +217 -0
  439. package/dist/perplexity-CXwMDD3u.js +24 -0
  440. package/dist/persistent-dedupe-B9vrAf8t.d.ts +26 -0
  441. package/dist/pi-model-discovery-runtime-vSSbBDFG.js +111 -0
  442. package/dist/pi-tools.before-tool-call.runtime-C5yLUogH.js +381 -0
  443. package/dist/plugin-install-B1RfdrdV.js +117 -0
  444. package/dist/plugin-install-C9aaL42Y.js +184 -0
  445. package/dist/plugin-install-plan-BlfDt117.js +49 -0
  446. package/dist/plugin-registry-D2P9SYJ9.js +113 -0
  447. package/dist/plugin-registry-QtjVXmj3.js +49 -0
  448. package/dist/plugin-sdk/account-resolution.js +35 -35
  449. package/dist/plugin-sdk/acp-runtime.js +35 -35
  450. package/dist/plugin-sdk/agent-runtime.js +35 -35
  451. package/dist/plugin-sdk/bluebubbles.js +37 -37
  452. package/dist/plugin-sdk/channel-config-helpers.js +35 -35
  453. package/dist/plugin-sdk/channel-policy.js +35 -35
  454. package/dist/plugin-sdk/channel-runtime.js +35 -35
  455. package/dist/plugin-sdk/compat.js +36 -36
  456. package/dist/plugin-sdk/config-runtime.js +35 -35
  457. package/dist/plugin-sdk/conversation-runtime.js +35 -35
  458. package/dist/plugin-sdk/copilot-proxy.js +4 -4
  459. package/dist/plugin-sdk/core.js +4 -4
  460. package/dist/plugin-sdk/device-pair.js +4 -4
  461. package/dist/plugin-sdk/discord.js +35 -35
  462. package/dist/plugin-sdk/feishu.js +35 -35
  463. package/dist/plugin-sdk/gateway-runtime.js +10 -10
  464. package/dist/plugin-sdk/googlechat.js +37 -37
  465. package/dist/plugin-sdk/image-generation-runtime.js +35 -35
  466. package/dist/plugin-sdk/image-generation.js +35 -35
  467. package/dist/plugin-sdk/imessage.js +36 -36
  468. package/dist/plugin-sdk/index.js +35 -35
  469. package/dist/plugin-sdk/infra-runtime.js +35 -35
  470. package/dist/plugin-sdk/irc.js +37 -37
  471. package/dist/plugin-sdk/line.js +36 -36
  472. package/dist/plugin-sdk/llm-task.js +35 -35
  473. package/dist/plugin-sdk/lobster.js +4 -4
  474. package/dist/plugin-sdk/matrix.js +37 -37
  475. package/dist/plugin-sdk/mattermost.js +36 -36
  476. package/dist/plugin-sdk/media-runtime.js +35 -35
  477. package/dist/plugin-sdk/media-understanding-runtime.js +35 -35
  478. package/dist/plugin-sdk/media-understanding.js +35 -35
  479. package/dist/plugin-sdk/memory-lancedb.js +4 -4
  480. package/dist/plugin-sdk/minimax-portal-auth.js +4 -4
  481. package/dist/plugin-sdk/msteams.js +38 -38
  482. package/dist/plugin-sdk/nextcloud-talk.js +36 -36
  483. package/dist/plugin-sdk/nostr.js +36 -36
  484. package/dist/plugin-sdk/ollama-setup.js +9 -9
  485. package/dist/plugin-sdk/open-prose.js +4 -4
  486. package/dist/plugin-sdk/phone-control.js +4 -4
  487. package/dist/plugin-sdk/plugin-runtime.js +35 -35
  488. package/dist/plugin-sdk/provider-auth.js +35 -35
  489. package/dist/plugin-sdk/provider-models.js +5 -5
  490. package/dist/plugin-sdk/provider-onboard.js +4 -4
  491. package/dist/plugin-sdk/provider-setup.js +39 -39
  492. package/dist/plugin-sdk/provider-stream.js +4 -4
  493. package/dist/plugin-sdk/provider-usage.js +4 -4
  494. package/dist/plugin-sdk/qwen-portal-auth.js +35 -35
  495. package/dist/plugin-sdk/reply-history.js +35 -35
  496. package/dist/plugin-sdk/reply-runtime.js +35 -35
  497. package/dist/plugin-sdk/routing.js +3 -3
  498. package/dist/plugin-sdk/sandbox.js +35 -35
  499. package/dist/plugin-sdk/security-runtime.js +35 -35
  500. package/dist/plugin-sdk/self-hosted-provider-setup.js +37 -37
  501. package/dist/plugin-sdk/setup.js +35 -35
  502. package/dist/plugin-sdk/signal.js +35 -35
  503. package/dist/plugin-sdk/slack.js +35 -35
  504. package/dist/plugin-sdk/speech-runtime.js +35 -35
  505. package/dist/plugin-sdk/speech.js +35 -35
  506. package/dist/plugin-sdk/src/secrets/secure-file-store.d.ts +26 -0
  507. package/dist/plugin-sdk/src/subscription/provider.d.ts +5 -3
  508. package/dist/plugin-sdk/synology-chat.js +36 -36
  509. package/dist/plugin-sdk/talk-voice.js +4 -4
  510. package/dist/plugin-sdk/telegram.js +35 -35
  511. package/dist/plugin-sdk/text-runtime.js +7 -7
  512. package/dist/plugin-sdk/thread-ownership.js +4 -4
  513. package/dist/plugin-sdk/tlon.js +36 -36
  514. package/dist/plugin-sdk/twitch.js +35 -35
  515. package/dist/plugin-sdk/voice-call.js +35 -35
  516. package/dist/plugin-sdk/whatsapp.js +35 -35
  517. package/dist/plugin-sdk/zalo.js +38 -38
  518. package/dist/plugin-sdk/zalouser.js +38 -38
  519. package/dist/plugins/runtime/index.d.ts +1 -1
  520. package/dist/plugins/runtime/index.js +35 -35
  521. package/dist/plugins-CAULK-lt.js +111 -0
  522. package/dist/plugins-cli-BGAgYy3Z.js +917 -0
  523. package/dist/policy-WKZJ8cPK.js +143 -0
  524. package/dist/preflight-audio.runtime-Bc6Hv-u4.js +116 -0
  525. package/dist/probe-B7a_VBCB.js +47 -0
  526. package/dist/probe-BLioBOhT.js +6329 -0
  527. package/dist/probe-BkM5pykD.js +21 -0
  528. package/dist/probe-DOEaWez2.js +1793 -0
  529. package/dist/probe-DpcJ0WeP.js +129 -0
  530. package/dist/probe-auth-BcNjX8hy.js +40 -0
  531. package/dist/probe-auth-DhuAb8ls.js +48 -0
  532. package/dist/program-zG0CuBsn.js +253 -0
  533. package/dist/prompt-select-styled-B-D6NQFO.js +2673 -0
  534. package/dist/provider-api-key-auth.runtime-DgGM_pHf.js +121 -0
  535. package/dist/provider-auth-choice-BOQA0idb.js +126 -0
  536. package/dist/provider-auth-choice-helpers-hzDkh3f1.js +48 -0
  537. package/dist/provider-auth-choice-preference-BPcuoO9b.js +189 -0
  538. package/dist/provider-auth-choice.runtime-B4E0A4J8.js +123 -0
  539. package/dist/provider-auth-choices-0KaDNPBQ.js +57 -0
  540. package/dist/provider-auth-guidance-BxxMxMEt.js +34 -0
  541. package/dist/provider-auth-result-Bto1bYtS.d.ts +18 -0
  542. package/dist/provider-models-DxOmeToO.d.ts +867 -0
  543. package/dist/provider-models-xnyxy6mO.js +2113 -0
  544. package/dist/provider-ollama-setup-DBYK__ov.d.ts +32 -0
  545. package/dist/provider-ollama-setup-QzgCxj44.js +314 -0
  546. package/dist/provider-onboard-B9ionepI.js +139 -0
  547. package/dist/provider-onboard-CURxJ_UX.d.ts +40 -0
  548. package/dist/provider-runtime.runtime-DFAIaPZT.js +111 -0
  549. package/dist/provider-self-hosted-setup-CclMg3QB.js +182 -0
  550. package/dist/provider-self-hosted-setup-qeY8BYSy.d.ts +61 -0
  551. package/dist/provider-stream-Chz_EFw3.js +512 -0
  552. package/dist/provider-usage-Cn_OrdMP.js +111 -0
  553. package/dist/provider-usage-kxemdMp2.js +633 -0
  554. package/dist/provider-wizard-BMc1Dzks.js +152 -0
  555. package/dist/push-apns-CuIs_G0k.js +1038 -0
  556. package/dist/pw-ai-DUe4BbH2.js +1867 -0
  557. package/dist/qmd-manager-CAAFp7qK.js +1570 -0
  558. package/dist/qr-cli-9H9go9JE.js +113 -0
  559. package/dist/qr-cli-Bxxttvx3.js +369 -0
  560. package/dist/reactions-Dx2ypGlm.js +281 -0
  561. package/dist/read-only-account-inspect.discord.runtime-D_RVd1-r.js +116 -0
  562. package/dist/read-only-account-inspect.slack.runtime-Ckl92Rhy.js +116 -0
  563. package/dist/read-only-account-inspect.telegram.runtime-D97ssjQk.js +116 -0
  564. package/dist/redact-snapshot-ojhTflxp.js +2663 -0
  565. package/dist/register.agent-DlBmy_RL.js +439 -0
  566. package/dist/register.backup-8nOYtJqg.js +625 -0
  567. package/dist/register.configure-BV_GUQ5w.js +252 -0
  568. package/dist/register.maintenance-BafAHBum.js +574 -0
  569. package/dist/register.message-CHhfcEq2.js +709 -0
  570. package/dist/register.onboard-DjPNnlnr.js +192 -0
  571. package/dist/register.setup-BMGXI9PG.js +212 -0
  572. package/dist/register.status-health-sessions-BJMsh2AL.js +498 -0
  573. package/dist/register.subclis-B7nrik3-.js +315 -0
  574. package/dist/register.subclis-BCoAVyGn.js +13 -0
  575. package/dist/replies-BU4AvOyD.js +110 -0
  576. package/dist/resolve-channels-CDfj5NGq.js +226 -0
  577. package/dist/resolve-channels-Cz120Lvf.js +262 -0
  578. package/dist/resolve-route-DdX-HBVt.js +538 -0
  579. package/dist/resolve-users-Bc6nRqpb.js +143 -0
  580. package/dist/root-help-QAkoA7GD.js +32 -0
  581. package/dist/routes-CcJNnwTF.js +7097 -0
  582. package/dist/rpc-DDUAlBbH.js +67 -0
  583. package/dist/run-main-Cf8vXm6i.js +424 -0
  584. package/dist/runtime-Bitmi8Er.d.ts +26 -0
  585. package/dist/runtime-discord-ops.runtime-DWBnG-Hf.js +9078 -0
  586. package/dist/runtime-slack-ops.runtime-oYfbYvX4.js +4556 -0
  587. package/dist/runtime-telegram-ops.runtime-EPGDYN1f.js +133 -0
  588. package/dist/runtime-whatsapp-login.runtime-BGJoKM2h.js +114 -0
  589. package/dist/runtime-whatsapp-outbound.runtime-D3Sag6Bv.js +117 -0
  590. package/dist/sandbox-cli-waaYyhsC.js +535 -0
  591. package/dist/search-manager-BjDsOXzB.js +16 -0
  592. package/dist/search-manager-D-G9UaXe.js +386 -0
  593. package/dist/secrets-cli-BmeEhlzt.js +2070 -0
  594. package/dist/security-cli-CSsLnFuN.js +575 -0
  595. package/dist/send-6o7piqfv.js +100 -0
  596. package/dist/send-99FyFLgk.js +629 -0
  597. package/dist/send-B1pX9_Oc.js +283 -0
  598. package/dist/send-Dg5-AjXW.js +1025 -0
  599. package/dist/send-LdV9TRoN.js +631 -0
  600. package/dist/server-node-events-BAUUKNFW.js +506 -0
  601. package/dist/server-zI_K-D05.js +107 -0
  602. package/dist/sessions-DJGywtY2.js +112 -0
  603. package/dist/sessions-WR0GKdGl.js +218 -0
  604. package/dist/setup-2LvBON2J.js +387 -0
  605. package/dist/setup-CFIMq-Pz.d.ts +37 -0
  606. package/dist/setup-binary-CcAv8NXz.js +406 -0
  607. package/dist/setup-browser-C4eRV3h6.js +70 -0
  608. package/dist/setup-core-ByqF8Nvc.js +166 -0
  609. package/dist/setup-core-COkq8Zop.js +205 -0
  610. package/dist/setup-core-C_o77DVV.js +143 -0
  611. package/dist/setup-core-tAdHbqi9.js +47 -0
  612. package/dist/setup-surface-DMHtZByF.js +490 -0
  613. package/dist/setup-wizard-helpers-r0J6l8ST.d.ts +203 -0
  614. package/dist/setup.finalize-pTkXn8pV.js +522 -0
  615. package/dist/setup.gateway-config-D1wiUQe6.js +343 -0
  616. package/dist/shared-BaM_tMxk.js +102 -0
  617. package/dist/shared-BgUgXsM9.js +75 -0
  618. package/dist/shared-CezRuVfl.js +96 -0
  619. package/dist/shared-DQgf3R0B.js +298 -0
  620. package/dist/shared-RA6kxQfu.js +182 -0
  621. package/dist/signal-xxP4dGx7.js +114 -0
  622. package/dist/skills-Bio8GwTE.js +20 -0
  623. package/dist/skills-DE_MXFSN.js +853 -0
  624. package/dist/skills-cli-BGuW-tKw.js +292 -0
  625. package/dist/skills-install-BIlG41ei.js +763 -0
  626. package/dist/skills-status-B08PtBc_.js +21 -0
  627. package/dist/skills-status-CzM008aB.js +169 -0
  628. package/dist/slack-Bzt3M7d8.js +114 -0
  629. package/dist/slash-commands.runtime-EYqj8SbV.js +128 -0
  630. package/dist/slash-dispatch.runtime-vWH92PUY.js +141 -0
  631. package/dist/slash-skill-commands.runtime-sUTjM3J0.js +116 -0
  632. package/dist/src-Iso9-DPo.js +1701 -0
  633. package/dist/status-8S882KRO.js +43 -0
  634. package/dist/status-BF7h_jTB.js +126 -0
  635. package/dist/status-DxOIyRm9.js +131 -0
  636. package/dist/status-HlvixAOq.js +606 -0
  637. package/dist/status-json-CShBo8A6.js +288 -0
  638. package/dist/status-qhtgsJFd.js +1599 -0
  639. package/dist/status.link-channel-D3dLYZiH.js +143 -0
  640. package/dist/status.scan.deps.runtime-mCmOLzpG.js +126 -0
  641. package/dist/status.scan.runtime-CYuUlDeg.js +119 -0
  642. package/dist/status.summary-BjB1aTjV.js +592 -0
  643. package/dist/status.summary.runtime-DW4MOt1Z.js +118 -0
  644. package/dist/status.update-BxblMS7P.js +77 -0
  645. package/dist/subagent-orphan-recovery-CCVopsdP.js +307 -0
  646. package/dist/subagent-registry-runtime-oG47Fzvg.js +111 -0
  647. package/dist/subscription-CpFdxuFS.js +33 -0
  648. package/dist/subscription-DaA1urx-.js +102 -0
  649. package/dist/subscription-cli-Bvto9EmO.js +134 -0
  650. package/dist/synology-chat-CVy1tJGY.js +297 -0
  651. package/dist/system-cli-BvNps8sl.js +94 -0
  652. package/dist/telegram/audit.d.ts +1 -1
  653. package/dist/telegram/audit.js +1 -1
  654. package/dist/telegram/token.d.ts +1 -1
  655. package/dist/telegram/token.js +35 -35
  656. package/dist/telegram-Dug8pd82.js +114 -0
  657. package/dist/text-chunking-CQ6ttpWs.js +84 -0
  658. package/dist/text-chunking-DDUU_vAF.d.ts +79 -0
  659. package/dist/tlon-BnckVr_7.js +433 -0
  660. package/dist/tui-DXTge9Ac.js +3834 -0
  661. package/dist/tui-cli-BRUfLUTd.js +137 -0
  662. package/dist/types-2H_e7eWT.d.ts +45 -0
  663. package/dist/types-ZKnGUchG.d.ts +22692 -0
  664. package/dist/types.base-BFiQZ4J9.d.ts +188 -0
  665. package/dist/ui--iP08xRA.js +31 -0
  666. package/dist/update-CtxBD-Cf.js +1036 -0
  667. package/dist/update-cli-DPE3GCHJ.js +1503 -0
  668. package/dist/update-offset-store-BlBY7dWj.js +112 -0
  669. package/dist/update-runner-Cfcrhf2j.js +1496 -0
  670. package/dist/upsert-with-lock-BZU7Le8n.js +33 -0
  671. package/dist/usage-Czgwvg0h.js +115 -0
  672. package/dist/web-BGDXhunB.js +112 -0
  673. package/dist/web-shared-B5Q0mIJq.d.ts +45 -0
  674. package/dist/webhook-request-guards-CsKDhZJr.d.ts +76 -0
  675. package/dist/webhook-targets-CjxuEE9C.d.ts +106 -0
  676. package/dist/webhook-targets-Dtt6rH4N.js +181 -0
  677. package/dist/webhooks-cli-Wl9y6AWW.js +350 -0
  678. package/dist/whatsapp-D64cBQ_9.js +114 -0
  679. package/dist/whatsapp-actions-CVoTcagb.js +167 -0
  680. package/dist/workspace-DJ_S272u.js +484 -0
  681. package/dist/workspace-DbZSqjw0.js +289 -0
  682. package/dist/workspace-cli-D93DLmAh.js +154 -0
  683. package/dist/workspace-dirs-CGeIPpGN.js +2003 -0
  684. package/dist/zalo-CK2dlGmu.d.ts +9 -0
  685. package/dist/zalo-DxoY8M22.js +415 -0
  686. package/dist/zalouser-DTHIrPvs.js +30911 -0
  687. package/extensions/discord/src/monitor/allow-list.ts +8 -1
  688. package/extensions/discord/src/monitor/message-handler.preflight.ts +4 -1
  689. package/package.json +1 -1
  690. package/dist/accounts-CS8U4v8C.js +0 -114
  691. package/dist/accounts-gLr-Udmt.d.ts +0 -103
  692. package/dist/acp-cli-BGT0jXcC.js +0 -2093
  693. package/dist/actions.runtime-BfckTw6c.js +0 -119
  694. package/dist/actions.runtime-Cl9mBfqH.js +0 -133
  695. package/dist/agent-scope-C-YmLnnb.js +0 -208
  696. package/dist/agents-CydD54p8.js +0 -222
  697. package/dist/agents-DpQsZO6O.js +0 -853
  698. package/dist/agents.config-XU7IsYE-.js +0 -121
  699. package/dist/agents.config-ssoQXuvF.js +0 -17
  700. package/dist/allow-list-Cfn6lmMK.js +0 -81
  701. package/dist/allowlist-CCYXVpM9.js +0 -142
  702. package/dist/api-BoXoFKxy.js +0 -117
  703. package/dist/audit-Bv05N5o9.js +0 -787
  704. package/dist/audit-CIWW1Aqm.js +0 -54
  705. package/dist/audit-channel.collect.runtime-Bi7yrdcO.js +0 -605
  706. package/dist/audit-channel.runtime-C_NDweiW.js +0 -121
  707. package/dist/audit-extra.async-Dp7OKSXg.js +0 -813
  708. package/dist/audit-membership-runtime-B8FQ6VtN.js +0 -162
  709. package/dist/audit.deep.runtime-CXhobL6b.js +0 -25
  710. package/dist/audit.nondeep.runtime-CrEm3T16.js +0 -832
  711. package/dist/audit.runtime-CJPKj1Zg.js +0 -118
  712. package/dist/auth-Byfp0flq.js +0 -101
  713. package/dist/auth-choice-BgOjdeXN.js +0 -507
  714. package/dist/auth-choice-CD1Heq0M.js +0 -122
  715. package/dist/auth-choice-ePNfg0iQ.js +0 -268
  716. package/dist/auth-choice-options-BlewQWI0.js +0 -123
  717. package/dist/auth-choice-prompt-BP2b6aXz.js +0 -36
  718. package/dist/auth-choice-prompt-Cmwl4n97.js +0 -115
  719. package/dist/auth-choice.apply-helpers-Dq-nxuuX.js +0 -66
  720. package/dist/auth-choice.plugin-providers.runtime-B23kOUzQ.js +0 -119
  721. package/dist/auth-profiles-1kPLbBwI.js +0 -127823
  722. package/dist/auth-profiles.runtime-DAfSjku1.js +0 -116
  723. package/dist/banner-DeOsobLO.js +0 -342
  724. package/dist/bluebubbles-BsLGedBM.js +0 -64
  725. package/dist/bluebubbles-U2sAfO4_.d.ts +0 -6
  726. package/dist/bot-DW12K3bO.d.ts +0 -478
  727. package/dist/brave-BoWimrLe.js +0 -24
  728. package/dist/browser-cli-D_S3wEYE.js +0 -1494
  729. package/dist/call-ByEzDJ1_.js +0 -640
  730. package/dist/call-CHCWVg-O.js +0 -39
  731. package/dist/channel-3VC0oOMu.js +0 -214
  732. package/dist/channel-B9fCBPiS.js +0 -207
  733. package/dist/channel-B9q775cM.js +0 -562
  734. package/dist/channel-BG3UK54j.js +0 -803
  735. package/dist/channel-BRQAdMML.js +0 -352
  736. package/dist/channel-BmlLp933.js +0 -1321
  737. package/dist/channel-By6KvdTG.js +0 -920
  738. package/dist/channel-C8rRsdf6.js +0 -226
  739. package/dist/channel-CLEDBbXE.js +0 -943
  740. package/dist/channel-CMvBAG7o.js +0 -306
  741. package/dist/channel-CmlxxjHY.js +0 -1598
  742. package/dist/channel-CqG6_xN0.js +0 -949
  743. package/dist/channel-DNueHKs92.js +0 -316
  744. package/dist/channel-DUtyN7BX.js +0 -4681
  745. package/dist/channel-DWD6GrfZ.js +0 -538
  746. package/dist/channel-DaRYMYzj.js +0 -619
  747. package/dist/channel-Dj6BgLp8.js +0 -575
  748. package/dist/channel-account-context-Ba3u5D21.js +0 -103
  749. package/dist/channel-crabk6Em.js +0 -542
  750. package/dist/channel-i8uqQaK2.js +0 -497
  751. package/dist/channel-options-xljvwHS2.js +0 -50
  752. package/dist/channel-plugin-ids-DAgknSG4.js +0 -26
  753. package/dist/channel-summary-dHTMCG75.js +0 -111
  754. package/dist/channel-xVWQ96Ni.js +0 -397
  755. package/dist/channel.runtime-B6PoZ4BV.js +0 -182
  756. package/dist/channel.runtime-BPZmo57e.js +0 -404
  757. package/dist/channel.runtime-B_1uGR-U.js +0 -199
  758. package/dist/channel.runtime-BiXnPU0d.js +0 -218
  759. package/dist/channel.runtime-BpvDc9sv.js +0 -870
  760. package/dist/channel.runtime-CUua3W80.js +0 -418
  761. package/dist/channel.runtime-CaCBTd0A.js +0 -179
  762. package/dist/channel.runtime-D0FfYvUj.js +0 -4011
  763. package/dist/channel.runtime-DhoJtpvJ.js +0 -241
  764. package/dist/channel.runtime-Kj9EXNE0.js +0 -127
  765. package/dist/channel.runtime-r4tPuPyh.js +0 -171
  766. package/dist/channel.setup-B7d_grfe.js +0 -6
  767. package/dist/channel.setup-C0vu1fhi.js +0 -9
  768. package/dist/channel.setup-CAI0FNHj.js +0 -11
  769. package/dist/channel.setup-CkDVwv5R.js +0 -57
  770. package/dist/channel.setup-Cpd00YqQ.js +0 -8
  771. package/dist/channel.setup-DbBz1-WT.js +0 -9
  772. package/dist/channel.setup-GZnAvD9g.js +0 -8
  773. package/dist/channels-5H484RSw.js +0 -1118
  774. package/dist/channels-BnPudfyx.js +0 -404
  775. package/dist/channels-cli-WIC-QeH_.js +0 -291
  776. package/dist/channels-status-issues-RDmzovJU.js +0 -16
  777. package/dist/clawbot-cli-BgutNwf8.js +0 -118
  778. package/dist/cleanup-utils-DBl1Aij1.js +0 -96
  779. package/dist/cli-1P7u6zqu.js +0 -154
  780. package/dist/command-registry-B8jovrws.js +0 -232
  781. package/dist/command-registry-DtDl1FVm.js +0 -14
  782. package/dist/command-secret-gateway-BgUo3FxJ.js +0 -111
  783. package/dist/compact.runtime-CXbXM0AU.js +0 -116
  784. package/dist/completion-cli-Cik_owAE.js +0 -17
  785. package/dist/completion-cli-RU3P2RSl.js +0 -445
  786. package/dist/config-5HUpB1L1.js +0 -31
  787. package/dist/config-cli-QHaUHoZI.js +0 -433
  788. package/dist/config-guard-C9Sn3pE-.js +0 -118
  789. package/dist/config-sW57gztj.js +0 -44
  790. package/dist/config-validation-5LkjIKNt.js +0 -262
  791. package/dist/config-value-CtTWALxG.js +0 -132
  792. package/dist/configure-BmR2TPLf.js +0 -243
  793. package/dist/configure-DaLN-5xM.js +0 -1100
  794. package/dist/control-ui-assets-CH3MYmAo.js +0 -232
  795. package/dist/control-ui-shared-CA77PTml.js +0 -29
  796. package/dist/core-CvDzLs7B.js +0 -150
  797. package/dist/core-dPA4nFkn.d.ts +0 -87
  798. package/dist/cron-cli-tguLpzyq.js +0 -639
  799. package/dist/daemon-cli-ptosOkL8.js +0 -339
  800. package/dist/daemon-install-DzU4EnVa.js +0 -180
  801. package/dist/deliver-DwxFoHM3.js +0 -111
  802. package/dist/deliver-runtime-DOdDyaPI.js +0 -111
  803. package/dist/device-id-cli-GopvlxxZ.js +0 -52
  804. package/dist/device-identity-CRfhC3_s.js +0 -365
  805. package/dist/devices-cli-ain7ESqU.js +0 -342
  806. package/dist/diagnostic-D96Xaqrj.js +0 -310
  807. package/dist/directory-cli-fh1UxGgY.js +0 -311
  808. package/dist/directory-config-helpers-CpU1oflo.d.ts +0 -38
  809. package/dist/directory.static-CKjJUNGl.js +0 -44
  810. package/dist/discord-CflhwDEM.js +0 -114
  811. package/dist/discovery-x0ZqY4AB.js +0 -48
  812. package/dist/dm-policy-shared-73A52W6E.d.ts +0 -95
  813. package/dist/dns-cli-DCHyKjGf.js +0 -217
  814. package/dist/docs-cli-D3OoqYSP.js +0 -174
  815. package/dist/doctor-completion-Bq2eP87s.js +0 -90
  816. package/dist/doctor-config-flow-D8XRG9Ku.js +0 -2437
  817. package/dist/doctor-config-flow-DGiF1HGc.js +0 -112
  818. package/dist/enable-0QSF4YGH.js +0 -24
  819. package/dist/exec-approvals-cli-Bncym0Gd.js +0 -421
  820. package/dist/feishu-B5JDcyF9.d.ts +0 -36
  821. package/dist/gateway-cli-DYscsmA-.js +0 -26437
  822. package/dist/gateway-install-token-CNv17ac9.js +0 -163
  823. package/dist/gateway-rpc-BGC1Rxvg.js +0 -26
  824. package/dist/gateway-runtime-D89mSQPB.js +0 -69
  825. package/dist/git-commit-CeLH5Ozm.js +0 -2
  826. package/dist/git-commit-DUKRiCP-.js +0 -177
  827. package/dist/googlechat-BgXeXjd1.js +0 -307
  828. package/dist/googlechat-De-T7C31.d.ts +0 -12
  829. package/dist/group-access-Deh1tVNr.d.ts +0 -61
  830. package/dist/health-BEjzWwaB.js +0 -570
  831. package/dist/health-FjqrWQL6.js +0 -113
  832. package/dist/heartbeat-summary-CfdSA9M1.js +0 -57
  833. package/dist/help-BZeVprq1.js +0 -81
  834. package/dist/hooks-B5pYs_d7.d.ts +0 -6
  835. package/dist/hooks-cli-B7uGJs2O.js +0 -1000
  836. package/dist/hooks-status-CfceaUSg.js +0 -78
  837. package/dist/http-registry-C-KXqwnj.d.ts +0 -20
  838. package/dist/identity-file-sshkKKIr.js +0 -60
  839. package/dist/image-generation-CafM5hZh.d.ts +0 -9
  840. package/dist/imessage-BcV3WGx_.js +0 -31
  841. package/dist/imessage-Dhje7Ty-.js +0 -115
  842. package/dist/inbound-reply-dispatch-C73_7SOl.js +0 -71
  843. package/dist/inbound-reply-dispatch-DmL0KWLe.d.ts +0 -72
  844. package/dist/install-target-D7NRhfzc.js +0 -574
  845. package/dist/installs-Bj6jblqc.js +0 -532
  846. package/dist/io-CMfWWPXQ.js +0 -9738
  847. package/dist/io-CV844hAM.js +0 -29
  848. package/dist/irc-DKi1fDYI.js +0 -672
  849. package/dist/library-rygTG3oA.js +0 -112
  850. package/dist/lifecycle-core-BPlvShWY.js +0 -382
  851. package/dist/line-CGsemKWJ.js +0 -530
  852. package/dist/line-CKU3ER-n.d.ts +0 -75
  853. package/dist/llm-slug-generator-DlhVyMqT.js +0 -67
  854. package/dist/logging-5wu9k6w4.js +0 -30
  855. package/dist/logging-CxP9suT8.js +0 -13
  856. package/dist/login-qr-BcDsiwHs.js +0 -233
  857. package/dist/login-qr-Y8pJ5yV4.js +0 -112
  858. package/dist/logs-cli-XI9oVXpH.js +0 -256
  859. package/dist/manager-runtime-DkIlXBhD.js +0 -111
  860. package/dist/manager.runtime-Q0q2rJCC.js +0 -715
  861. package/dist/manifest-registry-DAd0SRAP.js +0 -1329
  862. package/dist/matrix-BI0DBBrG.js +0 -1495
  863. package/dist/matrix-DiABGjJR.js +0 -1269
  864. package/dist/matrix-fC6NrFM5.d.ts +0 -68
  865. package/dist/mcp-cli-BOyn_DLL.js +0 -87
  866. package/dist/media-understanding.runtime-DjUa7Dka.js +0 -116
  867. package/dist/memory-cli-CJd_vl-Y.js +0 -111
  868. package/dist/memory-search-CEEItIFR.js +0 -17
  869. package/dist/memory-search-Cv1SBrn7.js +0 -204
  870. package/dist/method-scopes-CQE7-bZ-.js +0 -2452
  871. package/dist/model-auth-markers-B1bbs9Qd.d.ts +0 -20
  872. package/dist/model-picker-D6_89XHg.js +0 -112
  873. package/dist/model-picker-Svaw-APs.js +0 -390
  874. package/dist/model-picker.runtime-Chi9nV7A.js +0 -125
  875. package/dist/model-selection-hL8i1Jbs.js +0 -653
  876. package/dist/model-suppression.runtime-DjWJZ0X-.js +0 -116
  877. package/dist/models-7qj1dG_W.js +0 -118
  878. package/dist/models-BPOB_xJF.js +0 -2514
  879. package/dist/models-cli-DdlOVUjS.js +0 -309
  880. package/dist/models-config-CBqUS-jX.js +0 -111
  881. package/dist/models-config.providers.discovery-BKB5JH9M.d.ts +0 -18
  882. package/dist/moldclaw-root-D6PbhbZk.js +0 -88
  883. package/dist/monitor-BPYhkEqF.js +0 -782
  884. package/dist/monitor-BuTcQ24j.js +0 -3468
  885. package/dist/monitor-CuXvNhFh.js +0 -113
  886. package/dist/monitor-D-TqSIHF.js +0 -6823
  887. package/dist/monitor-DRSgo9u2.js +0 -3076
  888. package/dist/monitor-DcHch39z.js +0 -772
  889. package/dist/monitor-DsHBMrXp.js +0 -115
  890. package/dist/monitor-shared-CL8T4gt1.js +0 -444
  891. package/dist/msteams-7FMwTvQG.js +0 -852
  892. package/dist/node-cli-BCjaSCZM.js +0 -2503
  893. package/dist/node-resolve-D5Hvcgyx.js +0 -835
  894. package/dist/nodes-cli-Dd_SNbkt.js +0 -1380
  895. package/dist/nostr-D8scBiYq.d.ts +0 -7
  896. package/dist/nostr-DBTFTxKs.js +0 -8744
  897. package/dist/npm-resolution-CYfb3MHG.js +0 -60
  898. package/dist/oauth-env-zPt5RywA.js +0 -10
  899. package/dist/onboard-BEFQQeig.js +0 -25
  900. package/dist/onboard-CJHNyxJh.js +0 -48
  901. package/dist/onboard-D_3UeLEN.js +0 -589
  902. package/dist/onboard-channels-B_JL0Djc.js +0 -1241
  903. package/dist/onboard-channels-CqZzHt2C.js +0 -205
  904. package/dist/onboard-custom-CER3Ggbq.js +0 -571
  905. package/dist/onboard-custom-bNRdGECb.js +0 -114
  906. package/dist/onboard-helpers-BK0Hsb7Y.js +0 -335
  907. package/dist/onboard-helpers-CXZ5RPoR.js +0 -113
  908. package/dist/onboard-hooks-1NsxEDjH.js +0 -72
  909. package/dist/onboard-remote-DuKhC_7W.js +0 -117
  910. package/dist/onboard-remote-OwRcDuB3.js +0 -181
  911. package/dist/onboard-search-Cy8dOq2W.js +0 -302
  912. package/dist/onboard-skills-D5phRa6r.js +0 -117
  913. package/dist/onboard-skills-c9qWCNe9.js +0 -133
  914. package/dist/outbound-media-CgNYEQWb.d.ts +0 -11
  915. package/dist/outbound-media-DYRO2vTD.js +0 -11
  916. package/dist/pairing-access-Dsiu5Mvl.d.ts +0 -21
  917. package/dist/pairing-cli-BOnv0TYn.js +0 -217
  918. package/dist/perplexity-EZwC3y2b.js +0 -24
  919. package/dist/persistent-dedupe-DMLOqJ23.d.ts +0 -26
  920. package/dist/pi-model-discovery-runtime-BToY3A6K.js +0 -111
  921. package/dist/pi-tools.before-tool-call.runtime-D_acPtld.js +0 -381
  922. package/dist/plugin-install-CgJpSjYd.js +0 -184
  923. package/dist/plugin-install-Cl1A4EF6.js +0 -117
  924. package/dist/plugin-install-plan-Dc2Z4DeU.js +0 -49
  925. package/dist/plugin-registry-B1UaWrQD.js +0 -49
  926. package/dist/plugin-registry-Cy8biwnn.js +0 -113
  927. package/dist/plugins-CXwvg50F.js +0 -111
  928. package/dist/plugins-cli-Uvzp2aYV.js +0 -917
  929. package/dist/policy-DsMBbEe7.js +0 -143
  930. package/dist/preflight-audio.runtime-hWsZIYvc.js +0 -116
  931. package/dist/probe-CNsSf1Uf.js +0 -6329
  932. package/dist/probe-CqOIrPhb.js +0 -47
  933. package/dist/probe-DH6gDw-h.js +0 -129
  934. package/dist/probe-DM16PLf4.js +0 -21
  935. package/dist/probe-DvAEEWYr.js +0 -1793
  936. package/dist/probe-auth-COfgCble.js +0 -48
  937. package/dist/probe-auth-I_5TX1Eh.js +0 -40
  938. package/dist/program-Dz80sgTU.js +0 -253
  939. package/dist/prompt-select-styled-wQehwFxK.js +0 -2673
  940. package/dist/provider-api-key-auth.runtime-BR9GU4ya.js +0 -121
  941. package/dist/provider-auth-choice-CdhA84kr.js +0 -126
  942. package/dist/provider-auth-choice-helpers-kabp_0zA.js +0 -48
  943. package/dist/provider-auth-choice-preference-se3zAM_2.js +0 -189
  944. package/dist/provider-auth-choice.runtime-BMc8-xNQ.js +0 -123
  945. package/dist/provider-auth-choices-CYsCViGi.js +0 -57
  946. package/dist/provider-auth-guidance-CMjUWlNf.js +0 -34
  947. package/dist/provider-auth-result-Cw6qIhO-.d.ts +0 -18
  948. package/dist/provider-models-BCId_Lfu.js +0 -2113
  949. package/dist/provider-models-Ok-DrSiY.d.ts +0 -867
  950. package/dist/provider-ollama-setup-B6XJZ0So.js +0 -314
  951. package/dist/provider-ollama-setup-lGDdTl0b.d.ts +0 -32
  952. package/dist/provider-onboard-CSPi7jOK.d.ts +0 -40
  953. package/dist/provider-onboard-Ca0TaNud.js +0 -139
  954. package/dist/provider-runtime.runtime-DwwkHw_7.js +0 -111
  955. package/dist/provider-self-hosted-setup-BEKLVGpj.js +0 -182
  956. package/dist/provider-self-hosted-setup-Df91By-J.d.ts +0 -61
  957. package/dist/provider-stream-DrUD69ai.js +0 -512
  958. package/dist/provider-usage-BgKHCnjr.js +0 -111
  959. package/dist/provider-usage-D8EZpFz9.js +0 -633
  960. package/dist/provider-wizard-DMdb-zj_.js +0 -152
  961. package/dist/push-apns-BPH6d4VV.js +0 -1038
  962. package/dist/pw-ai-DttfldtL.js +0 -1867
  963. package/dist/qmd-manager-CybcDUfk.js +0 -1570
  964. package/dist/qr-cli-8NcmJ8Ft.js +0 -369
  965. package/dist/qr-cli-DWe0Our3.js +0 -113
  966. package/dist/reactions-D6N0LR16.js +0 -281
  967. package/dist/read-only-account-inspect.discord.runtime-CqUWTRfl.js +0 -116
  968. package/dist/read-only-account-inspect.slack.runtime-9-jpln3q.js +0 -116
  969. package/dist/read-only-account-inspect.telegram.runtime-EKPI1D7n.js +0 -116
  970. package/dist/redact-snapshot-DwJEIVk9.js +0 -2663
  971. package/dist/register.agent-D3YdDirP.js +0 -439
  972. package/dist/register.backup-dR27qCuo.js +0 -625
  973. package/dist/register.configure-BjFhkkka.js +0 -252
  974. package/dist/register.maintenance-DiMQJIOa.js +0 -574
  975. package/dist/register.message-CdZsKYH1.js +0 -709
  976. package/dist/register.onboard-B0rV1eaO.js +0 -192
  977. package/dist/register.setup-wKMvohzo.js +0 -212
  978. package/dist/register.status-health-sessions-BJ68m6pt.js +0 -498
  979. package/dist/register.subclis-CnnrWt2a.js +0 -315
  980. package/dist/register.subclis-lSvTkC6z.js +0 -13
  981. package/dist/replies-BABt9b48.js +0 -110
  982. package/dist/resolve-channels-BqZFl2Ux.js +0 -262
  983. package/dist/resolve-channels-DjQLXb7B.js +0 -226
  984. package/dist/resolve-route-CSHDsa_m.js +0 -538
  985. package/dist/resolve-users-BG6HaSR5.js +0 -143
  986. package/dist/root-help-ohmaCyC_.js +0 -32
  987. package/dist/routes-4k2kpvoT.js +0 -7097
  988. package/dist/rpc-Cnwn4Q6L.js +0 -67
  989. package/dist/run-main-VYlacKA0.js +0 -424
  990. package/dist/runtime-D61jzMiI.d.ts +0 -26
  991. package/dist/runtime-discord-ops.runtime-DafrU-rI.js +0 -9078
  992. package/dist/runtime-slack-ops.runtime-CdXBKXwd.js +0 -4556
  993. package/dist/runtime-telegram-ops.runtime-B12sF7gE.js +0 -133
  994. package/dist/runtime-whatsapp-login.runtime-CqEudH37.js +0 -114
  995. package/dist/runtime-whatsapp-outbound.runtime-D5m2qyn-.js +0 -117
  996. package/dist/sandbox-cli-CHJiEWXB.js +0 -535
  997. package/dist/search-manager-BtNC3-i_.js +0 -16
  998. package/dist/search-manager-C7J7B3_a.js +0 -386
  999. package/dist/secrets-cli-C6yIWBbN.js +0 -2070
  1000. package/dist/security-cli-BVu9BkjD.js +0 -575
  1001. package/dist/send-BSreC7rr.js +0 -631
  1002. package/dist/send-BsLHQG_B.js +0 -1025
  1003. package/dist/send-BuNhp8PH.js +0 -283
  1004. package/dist/send-DOCswVar.js +0 -100
  1005. package/dist/send-Dl0LLErk.js +0 -629
  1006. package/dist/server-node-events-Bq2067EG.js +0 -506
  1007. package/dist/server-y38L7N5H.js +0 -107
  1008. package/dist/sessions-BV8gXURR.js +0 -112
  1009. package/dist/sessions-dl1Kc-Ci.js +0 -218
  1010. package/dist/setup-BSPXdMuK.d.ts +0 -37
  1011. package/dist/setup-DGszQH0_.js +0 -387
  1012. package/dist/setup-binary-C17YnmA8.js +0 -406
  1013. package/dist/setup-browser-CPx-nEsr.js +0 -70
  1014. package/dist/setup-core-BByHN1ME.js +0 -143
  1015. package/dist/setup-core-C0KPlBmL.js +0 -47
  1016. package/dist/setup-core-Cq37G6of.js +0 -166
  1017. package/dist/setup-core-uO84_Y75.js +0 -205
  1018. package/dist/setup-surface-BEMi7Rmb.js +0 -490
  1019. package/dist/setup-wizard-helpers-Ck9wDR0b.d.ts +0 -203
  1020. package/dist/setup.finalize-BzPBa8zW.js +0 -522
  1021. package/dist/setup.gateway-config-DdwkF-8e.js +0 -343
  1022. package/dist/shared-BCw4SKjB.js +0 -96
  1023. package/dist/shared-CjNzsULP.js +0 -75
  1024. package/dist/shared-Cu1BE7ZE.js +0 -298
  1025. package/dist/shared-DSClmyUn.js +0 -182
  1026. package/dist/shared-DyJdGH6y.js +0 -102
  1027. package/dist/signal-Dyv4NZsB.js +0 -114
  1028. package/dist/skills-CbB5b27M.js +0 -853
  1029. package/dist/skills-CnfI7Szw.js +0 -20
  1030. package/dist/skills-cli-CavB1f_3.js +0 -292
  1031. package/dist/skills-install-B1OBdgd0.js +0 -763
  1032. package/dist/skills-status-B3gAmIbW.js +0 -169
  1033. package/dist/skills-status-DrHhFgU9.js +0 -21
  1034. package/dist/slack-BRzqnoAz.js +0 -114
  1035. package/dist/slash-commands.runtime-BK88kgds.js +0 -128
  1036. package/dist/slash-dispatch.runtime-COGywwJE.js +0 -141
  1037. package/dist/slash-skill-commands.runtime-Ti4brxgh.js +0 -116
  1038. package/dist/src-DUR6OQxI.js +0 -1701
  1039. package/dist/status-C6dgQY9a.js +0 -131
  1040. package/dist/status-CNK0Q7QH.js +0 -606
  1041. package/dist/status-DBcX0DSC.js +0 -43
  1042. package/dist/status-DKgFgbwv.js +0 -1599
  1043. package/dist/status-Wn5lhNAc.js +0 -126
  1044. package/dist/status-json-D2EkWqAl.js +0 -288
  1045. package/dist/status.link-channel-D3ULIdEa.js +0 -143
  1046. package/dist/status.scan.deps.runtime-BsjWTAm4.js +0 -126
  1047. package/dist/status.scan.runtime-D4HbzROD.js +0 -119
  1048. package/dist/status.summary-C3YxPrDK.js +0 -592
  1049. package/dist/status.summary.runtime-DAkXPSaK.js +0 -118
  1050. package/dist/status.update-B4NnN9P1.js +0 -77
  1051. package/dist/subagent-orphan-recovery-QiQEBv36.js +0 -307
  1052. package/dist/subagent-registry-runtime-BJatPQFK.js +0 -111
  1053. package/dist/subscription-BhZORXN9.js +0 -100
  1054. package/dist/subscription-QEUjQRMv.js +0 -33
  1055. package/dist/subscription-cli-HrULlAgc.js +0 -134
  1056. package/dist/synology-chat-DB76GWMN.js +0 -297
  1057. package/dist/system-cli-D8jDwWuL.js +0 -94
  1058. package/dist/telegram-BHiiqKkQ.js +0 -114
  1059. package/dist/text-chunking-Baonm9Lu.js +0 -84
  1060. package/dist/text-chunking-DzB11ONk.d.ts +0 -79
  1061. package/dist/tlon-DLESxNgD.js +0 -433
  1062. package/dist/tui-C75zi2Cl.js +0 -3834
  1063. package/dist/tui-cli-DFwx5e6i.js +0 -137
  1064. package/dist/types-BKldC9YN.d.ts +0 -22692
  1065. package/dist/types-MeyueBE0.d.ts +0 -45
  1066. package/dist/types.base-Cw0-zIvE.d.ts +0 -188
  1067. package/dist/ui-B55NOIB6.js +0 -31
  1068. package/dist/update--ojavYQ4.js +0 -1036
  1069. package/dist/update-cli-Cvj5aWYM.js +0 -1503
  1070. package/dist/update-offset-store-upatuWwX.js +0 -112
  1071. package/dist/update-runner-DHkY_-76.js +0 -1496
  1072. package/dist/upsert-with-lock-C171GLaR.js +0 -33
  1073. package/dist/usage-N3bxnbmt.js +0 -115
  1074. package/dist/web-RdvT7gKa.js +0 -112
  1075. package/dist/web-shared-C2qHVxw1.d.ts +0 -45
  1076. package/dist/webhook-request-guards-CosLyl01.d.ts +0 -76
  1077. package/dist/webhook-targets-Bfnag-du.js +0 -181
  1078. package/dist/webhook-targets-DP_EkQa4.d.ts +0 -106
  1079. package/dist/webhooks-cli-ZpnXrq7G.js +0 -350
  1080. package/dist/whatsapp-DNTAyZHt.js +0 -114
  1081. package/dist/whatsapp-actions-o1zKQzKZ.js +0 -167
  1082. package/dist/workspace-CpWi5wPr.js +0 -479
  1083. package/dist/workspace-Ii7aRS7c.js +0 -289
  1084. package/dist/workspace-dirs-x10McA9t.js +0 -2003
  1085. package/dist/zalo-C9OQRYRw.d.ts +0 -9
  1086. package/dist/zalo-zm_bYCKg.js +0 -415
  1087. package/dist/zalouser-CvVEUvc5.js +0 -30911
  1088. /package/dist/{account-id-B3YSn4hl.d.ts → account-id-B8ce6G_4.d.ts} +0 -0
  1089. /package/dist/{acpx-CnNv70m2.d.ts → acpx-Ci50I9T2.d.ts} +0 -0
  1090. /package/dist/{agent-media-payload-DE2pEcsz.d.ts → agent-media-payload-en-gS5p6.d.ts} +0 -0
  1091. /package/dist/{allow-from-DPpHnT2A.d.ts → allow-from-cMeQ47Ot.d.ts} +0 -0
  1092. /package/dist/{allowlist-resolution-CLFiZ6nE.d.ts → allowlist-resolution-DoAWbfXV.d.ts} +0 -0
  1093. /package/dist/{bluebubbles-Duhu-Jer.d.ts → bluebubbles-C6yYmUl0.d.ts} +0 -0
  1094. /package/dist/{boolean-param-BhFjB3gp.d.ts → boolean-param-CdO2TFTk.d.ts} +0 -0
  1095. /package/dist/{channel-config-schema-DnnVMdjR.d.ts → channel-config-schema-Chp38wel.d.ts} +0 -0
  1096. /package/dist/{channel-policy-Baq-Z06b.d.ts → channel-policy-g2h6AbYQ.d.ts} +0 -0
  1097. /package/dist/{chat-type-DpiBgwuG.d.ts → chat-type-BLt59pPT.d.ts} +0 -0
  1098. /package/dist/{command-format-vi4xq8e8.d.ts → command-format-BDJC05Jp.d.ts} +0 -0
  1099. /package/dist/{diffs-DK7fVSDo.d.ts → diffs-D_iNKCyn.d.ts} +0 -0
  1100. /package/dist/{directory-runtime-BTLPaysA.d.ts → directory-runtime-DhMex6HY.d.ts} +0 -0
  1101. /package/dist/{exec-C01wtBHu.d.ts → exec-pjfUY4KM.d.ts} +0 -0
  1102. /package/dist/{gaxios-fetch-compat-wZ38b3w3.js → gaxios-fetch-compat-B_vtINdV.js} +0 -0
  1103. /package/dist/{history-CwXuP2TW.d.ts → history-aqSS5VGQ.d.ts} +0 -0
  1104. /package/dist/{inbound-envelope-SggrBs9m.d.ts → inbound-envelope-C5hWuZod.d.ts} +0 -0
  1105. /package/dist/{index-apAZHsDo.d.ts → index-DXVQFYGX.d.ts} +0 -0
  1106. /package/dist/{json-store-r75IZGk9.d.ts → json-store-UnqQ5aV3.d.ts} +0 -0
  1107. /package/dist/{keyed-async-queue-DHIr7yNe.d.ts → keyed-async-queue-guucpLw3.d.ts} +0 -0
  1108. /package/dist/{links-HeQ3r_L0.d.ts → links-Bar0meEK.d.ts} +0 -0
  1109. /package/dist/{markdown-to-line-CDb4Jy3V.d.ts → markdown-to-line-D8uH_KOj.d.ts} +0 -0
  1110. /package/dist/{mattermost-DtCsxpgg.d.ts → mattermost-xl7jAFJL.d.ts} +0 -0
  1111. /package/dist/{net-BATPDwdQ.d.ts → net-rGOKGds6.d.ts} +0 -0
  1112. /package/dist/{nextcloud-talk-Bb2wHOwp.d.ts → nextcloud-talk-De2CZ9dV.d.ts} +0 -0
  1113. /package/dist/{oauth-utils-u567CLT0.d.ts → oauth-utils-DzN1AlEH.d.ts} +0 -0
  1114. /package/dist/{parse-finite-number-l3tNlrZh.d.ts → parse-finite-number-odgyqhi0.d.ts} +0 -0
  1115. /package/dist/{provider-usage.types-C6061OVN.d.ts → provider-usage.types-EDE9o-H_.d.ts} +0 -0
  1116. /package/dist/{reply-history-BDsFnZFl.d.ts → reply-history-CVuU31xe.d.ts} +0 -0
  1117. /package/dist/{reply-payload-CCvM4W9u.d.ts → reply-payload-CHkpBYwL.d.ts} +0 -0
  1118. /package/dist/{request-url-C54l4-xC.d.ts → request-url-DHisbiHY.d.ts} +0 -0
  1119. /package/dist/{run-command-D3RqWcHu.d.ts → run-command-y0Cndsb1.d.ts} +0 -0
  1120. /package/dist/{secret-input-schema-BLBt-NAP.d.ts → secret-input-schema-b1vpYDQN.d.ts} +0 -0
  1121. /package/dist/{session-key-BQ2-bR-9.d.ts → session-key-DTHQl57f.d.ts} +0 -0
  1122. /package/dist/{ssh-config-C4mcH9Ly.js → ssh-config-hEHBfU2_.js} +0 -0
  1123. /package/dist/{testing-DLkhGsoz.d.ts → testing-DszuZXgK.d.ts} +0 -0
  1124. /package/dist/{thinking-DRkjX18p.d.ts → thinking-IwXTGSeT.d.ts} +0 -0
  1125. /package/dist/{tool-send-CMMD1uDu.d.ts → tool-send-DWHRmKpz.d.ts} +0 -0
  1126. /package/dist/{vllm-defaults-CcGuf4hL.d.ts → vllm-defaults-CrxZgE6-.d.ts} +0 -0
  1127. /package/dist/{wait-Daog8bxM.d.ts → wait-wDWw_MTI.d.ts} +0 -0
  1128. /package/dist/{webhook-memory-guards-C5MrExwT.d.ts → webhook-memory-guards-DreORuJy.d.ts} +0 -0
  1129. /package/dist/{windows-spawn-j2l-dqu8.d.ts → windows-spawn-BIzH92x2.d.ts} +0 -0
  1130. /package/dist/{zod-schema.agent-runtime-krMrBnIn.d.ts → zod-schema.agent-runtime-CP2rmis3.d.ts} +0 -0
  1131. /package/dist/{zod-schema.core-BNDieZDZ.d.ts → zod-schema.core-Foi1tYwi.d.ts} +0 -0
@@ -1,1503 +0,0 @@
1
- import "./redact-fatrROh9.js";
2
- import "./errors-DOJWZqNo.js";
3
- import "./unhandled-rejections-CTvNvnT0.js";
4
- import "./logger-BFfIIIKH.js";
5
- import { _ as resolveStateDir, n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-D6AgsMTU.js";
6
- import "./tmp-moldclaw-dir-DWF-d8qD.js";
7
- import { r as theme } from "./theme-BSXzMzAA.js";
8
- import "./globals-DESrFYmC.js";
9
- import { n as defaultRuntime } from "./runtime-_tQz41uA.js";
10
- import "./ansi-BPhP6LBZ.js";
11
- import "./subsystem-CPmDTJ2P.js";
12
- import "./boolean-B6zcAynR.js";
13
- import "./env-D42cffog.js";
14
- import "./warning-filter-B1UOeM0G.js";
15
- import { h as pathExists } from "./utils-C7ykRPCQ.js";
16
- import { t as formatDocsLink } from "./links-BcahUP5U.js";
17
- import { n as inheritOptionFromParent } from "./command-options-DYaIHwsu.js";
18
- import "./setup-binary-C17YnmA8.js";
19
- import { Hu as trimLogTail } from "./auth-profiles-1kPLbBwI.js";
20
- import "./model-selection-hL8i1Jbs.js";
21
- import "./agent-scope-C-YmLnnb.js";
22
- import "./boundary-file-read-tPYh_8fH.js";
23
- import "./logger-BGzLUitz.js";
24
- import { n as runCommandWithTimeout } from "./exec-CvEtXqTZ.js";
25
- import { t as resolvemoldClawPackageRoot } from "./moldclaw-root-D6PbhbZk.js";
26
- import "./workspace-CpWi5wPr.js";
27
- import { f as readConfigFileSnapshot, y as writeConfigFile } from "./io-CMfWWPXQ.js";
28
- import "./host-env-security-DQ2i_W12.js";
29
- import "./safe-text-Cnulee_z.js";
30
- import "./version-T8nMYUnU.js";
31
- import "./env-substitution-68cyvF5h.js";
32
- import "./config-state-h5jUoHya.js";
33
- import "./network-mode-BtWXzwYn.js";
34
- import "./registry-C1pRrsQl.js";
35
- import "./manifest-registry-DAd0SRAP.js";
36
- import "./ip-C4YAIpr4.js";
37
- import "./zod-schema.core-DvwgNmpd.js";
38
- import "./config-sW57gztj.js";
39
- import "./audit-fs-CMb-YUHX.js";
40
- import "./resolve-PSlwZjg3.js";
41
- import "./provider-web-search-CcUC9ktE.js";
42
- import "./text-runtime-Cfq-Uyx0.js";
43
- import "./workspace-dirs-x10McA9t.js";
44
- import "./config-BwkGZjD5.js";
45
- import { n as resolveCliName, t as replaceCliName } from "./cli-name-Bq08c3PW.js";
46
- import { t as formatCliCommand } from "./command-format-C_z0Ru-7.js";
47
- import "./tailnet-fFTz5Twr.js";
48
- import "./net-K181nxTH.js";
49
- import "./credentials-D-5Pb-aZ.js";
50
- import "./routes-4k2kpvoT.js";
51
- import "./frontmatter-Cgg0ICvh.js";
52
- import "./env-overrides-DBQl3LRc.js";
53
- import "./path-alias-guards-BtSO7sk7.js";
54
- import "./skills-CbB5b27M.js";
55
- import "./ports-Ca74cFb2.js";
56
- import "./ports-lsof-CoiADo0p.js";
57
- import "./ssh-tunnel-DsY-9yao.js";
58
- import "./image-ops-Ck_D_vpe.js";
59
- import "./fs-safe-CRXFoBmh.js";
60
- import "./mime-DGFQe4XX.js";
61
- import "./server-middleware-Djfoa1s0.js";
62
- import "./message-channel-DFE4FuE_.js";
63
- import "./resolve-route-CSHDsa_m.js";
64
- import "./internal-hooks-83AcmxP3.js";
65
- import { O as formatDurationPrecise } from "./lazy-runtime-BoGB4usD.js";
66
- import "./config-schema-BNU4GQh_.js";
67
- import "./method-scopes-CQE7-bZ-.js";
68
- import "./session-cost-usage-DWgQk6XT.js";
69
- import "./paths-ApLcu1Uu.js";
70
- import "./routing-DQ-fpTaA.js";
71
- import "./send-BuNhp8PH.js";
72
- import "./node-resolve-D5Hvcgyx.js";
73
- import "./provider-stream-DrUD69ai.js";
74
- import "./identity-file-sshkKKIr.js";
75
- import "./provider-models-BCId_Lfu.js";
76
- import "./secret-file-p1IhQzwJ.js";
77
- import "./logging-Dy7UYzIN.js";
78
- import "./runtime-env-BlEtPF6b.js";
79
- import "./registry-BFMbkmgR.js";
80
- import "./provider-onboard-Ca0TaNud.js";
81
- import "./model-definitions-Cyyzm6Kr.js";
82
- import "./usage-N3bxnbmt.js";
83
- import "./device-identity-CRfhC3_s.js";
84
- import "./auth-Byfp0flq.js";
85
- import "./subscription-BhZORXN9.js";
86
- import "./diagnostic-D96Xaqrj.js";
87
- import "./message-hook-mappers-CeiHXgSQ.js";
88
- import "./json-store--7cBPxTG.js";
89
- import "./call-ByEzDJ1_.js";
90
- import "./multimodal-BJBBn_4F.js";
91
- import "./memory-search-Cv1SBrn7.js";
92
- import "./query-expansion-D_Mm5Hhi.js";
93
- import "./search-manager-C7J7B3_a.js";
94
- import "./core-CvDzLs7B.js";
95
- import { n as formatConfigIssueLines } from "./issue-format-B0SI57Es.js";
96
- import "./logging-CxP9suT8.js";
97
- import { r as stylePromptMessage } from "./note-dOl5kPAy.js";
98
- import "./state-paths-DsMoTg25.js";
99
- import "./config-value-CtTWALxG.js";
100
- import { n as quoteCmdScriptArg } from "./cmd-argv-BTbDtFIZ.js";
101
- import "./command-secret-targets-BFF4x_RB.js";
102
- import "./brave-BoWimrLe.js";
103
- import "./provider-usage-D8EZpFz9.js";
104
- import "./perplexity-EZwC3y2b.js";
105
- import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-BHwb0DmS.js";
106
- import "./restart-stale-pids-CPF1_61W.js";
107
- import "./delivery-queue-BOf5wYIc.js";
108
- import "./pairing-token-bu1e6z6X.js";
109
- import "./accounts-J2OhhhQi.js";
110
- import "./process-runtime-D27SftX_.js";
111
- import "./audit-CIWW1Aqm.js";
112
- import "./cli-runtime-DTCHPjCi.js";
113
- import "./cli-utils-BCuSS4l6.js";
114
- import { t as formatHelpExamples } from "./help-format-BFzPm_8V.js";
115
- import "./progress-Cwq59vgZ.js";
116
- import "./gateway-runtime-D89mSQPB.js";
117
- import "./daemon-install-plan.shared-so6KadNd.js";
118
- import "./runtime-paths-BfFqPvDh.js";
119
- import { r as parseSemver } from "./runtime-guard-BpWoE02v.js";
120
- import "./gateway-install-token-CNv17ac9.js";
121
- import "./control-ui-shared-CA77PTml.js";
122
- import "./onboard-helpers-BK0Hsb7Y.js";
123
- import "./runtime-parse--SHudmXO.js";
124
- import "./launchd-DTK8FAln.js";
125
- import { n as resolveGatewayService } from "./service-D-iBQb7Y.js";
126
- import "./systemd-C3JL-Eyf.js";
127
- import "./shared-BqaB7e0a.js";
128
- import "./systemd-hints-DabP9g6b.js";
129
- import { r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-ptosOkL8.js";
130
- import "./probe-DH6gDw-h.js";
131
- import "./lifecycle-core-BPlvShWY.js";
132
- import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, s as waitForGatewayHealthyRestart } from "./status-CNK0Q7QH.js";
133
- import "./diagnostics-BKzgYuW7.js";
134
- import "./inspect-kDEu5Qgf.js";
135
- import "./probe-auth-COfgCble.js";
136
- import "./skills-status-B3gAmIbW.js";
137
- import { r as installCompletion } from "./completion-cli-RU3P2RSl.js";
138
- import "./register.subclis-CnnrWt2a.js";
139
- import "./command-registry-B8jovrws.js";
140
- import "./program-context-kNIw3fSf.js";
141
- import { n as renderTable, t as getTerminalTableWidth } from "./table-BldgNDVQ.js";
142
- import "./heartbeat-summary-CfdSA9M1.js";
143
- import "./health-BEjzWwaB.js";
144
- import "./control-ui-assets-CH3MYmAo.js";
145
- import { a as resolveNpmChannelTag, h as resolveUpdateChannelDisplay, l as channelToNpmTag, m as resolveEffectiveUpdateChannel, n as compareSemverStrings, p as normalizeUpdateChannel, r as fetchNpmTagVersion, t as checkUpdateStatus, u as formatUpdateChannelLabel } from "./update-check-DpjrnnTI.js";
146
- import { a as detectGlobalInstallManagerByPresence, c as resolveGlobalInstallSpec, d as readPackageName, f as readPackageVersion, i as createGlobalInstallEnv, l as resolveGlobalPackageRoot, n as canResolveRegistryVersionForPackageTarget, o as detectGlobalInstallManagerForRoot, r as cleanupGlobalRenameDirs, s as globalInstallArgs, t as runGatewayUpdate, u as normalizePackageTagInput } from "./update-runner-DHkY_-76.js";
147
- import "./channels-status-issues-RDmzovJU.js";
148
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B4NnN9P1.js";
149
- import "./skill-scanner-B_qfICQu.js";
150
- import "./install-target-D7NRhfzc.js";
151
- import "./provider-auth-guidance-CMjUWlNf.js";
152
- import "./installs-Bj6jblqc.js";
153
- import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update--ojavYQ4.js";
154
- import "./systemd-linger-C6Aja8xE.js";
155
- import "./health-format-BN81wqbV.js";
156
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-wQehwFxK.js";
157
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Bq2eP87s.js";
158
- import "./doctor-config-flow-D8XRG9Ku.js";
159
- import "./channel-account-context-Ba3u5D21.js";
160
- import path from "node:path";
161
- import { spawn, spawnSync } from "node:child_process";
162
- import os from "node:os";
163
- import fs from "node:fs/promises";
164
- import { confirm, isCancel, spinner } from "@clack/prompts";
165
- //#region src/cli/update-cli/shared.ts
166
- const INVALID_TIMEOUT_ERROR = "--timeout must be a positive integer (seconds)";
167
- function parseTimeoutMsOrExit(timeout) {
168
- const timeoutMs = timeout ? Number.parseInt(timeout, 10) * 1e3 : void 0;
169
- if (timeoutMs !== void 0 && (Number.isNaN(timeoutMs) || timeoutMs <= 0)) {
170
- defaultRuntime.error(INVALID_TIMEOUT_ERROR);
171
- defaultRuntime.exit(1);
172
- return null;
173
- }
174
- return timeoutMs;
175
- }
176
- const MOLDCLAW_REPO_URL = "https://github.com/moldclaw/moldclaw.git";
177
- const MAX_LOG_CHARS = 8e3;
178
- const DEFAULT_PACKAGE_NAME = "moldclaw";
179
- const CORE_PACKAGE_NAMES = new Set([DEFAULT_PACKAGE_NAME]);
180
- function normalizeTag(value) {
181
- return normalizePackageTagInput(value, ["moldclaw", DEFAULT_PACKAGE_NAME]);
182
- }
183
- function normalizeVersionTag(tag) {
184
- const trimmed = tag.trim();
185
- if (!trimmed) return null;
186
- const cleaned = trimmed.startsWith("v") ? trimmed.slice(1) : trimmed;
187
- return parseSemver(cleaned) ? cleaned : null;
188
- }
189
- async function resolveTargetVersion(tag, timeoutMs) {
190
- if (!canResolveRegistryVersionForPackageTarget(tag)) return null;
191
- const direct = normalizeVersionTag(tag);
192
- if (direct) return direct;
193
- return (await fetchNpmTagVersion({
194
- tag,
195
- timeoutMs
196
- })).version ?? null;
197
- }
198
- async function isGitCheckout(root) {
199
- try {
200
- await fs.stat(path.join(root, ".git"));
201
- return true;
202
- } catch {
203
- return false;
204
- }
205
- }
206
- async function isCorePackage(root) {
207
- const name = await readPackageName(root);
208
- return Boolean(name && CORE_PACKAGE_NAMES.has(name));
209
- }
210
- async function isEmptyDir(targetPath) {
211
- try {
212
- return (await fs.readdir(targetPath)).length === 0;
213
- } catch {
214
- return false;
215
- }
216
- }
217
- function resolveGitInstallDir() {
218
- const override = process.env.MOLDCLAW_GIT_DIR?.trim();
219
- if (override) return path.resolve(override);
220
- return resolveDefaultGitDir();
221
- }
222
- function resolveDefaultGitDir() {
223
- return resolveStateDir(process.env, os.homedir);
224
- }
225
- function resolveNodeRunner() {
226
- const base = path.basename(process.execPath).toLowerCase();
227
- if (base === "node" || base === "node.exe") return process.execPath;
228
- return "node";
229
- }
230
- async function resolveUpdateRoot() {
231
- return await resolvemoldClawPackageRoot({
232
- moduleUrl: import.meta.url,
233
- argv1: process.argv[1],
234
- cwd: process.cwd()
235
- }) ?? process.cwd();
236
- }
237
- async function runUpdateStep(params) {
238
- const command = params.argv.join(" ");
239
- params.progress?.onStepStart?.({
240
- name: params.name,
241
- command,
242
- index: 0,
243
- total: 0
244
- });
245
- const started = Date.now();
246
- const res = await runCommandWithTimeout(params.argv, {
247
- cwd: params.cwd,
248
- env: params.env,
249
- timeoutMs: params.timeoutMs
250
- });
251
- const durationMs = Date.now() - started;
252
- const stderrTail = trimLogTail(res.stderr, MAX_LOG_CHARS);
253
- params.progress?.onStepComplete?.({
254
- name: params.name,
255
- command,
256
- index: 0,
257
- total: 0,
258
- durationMs,
259
- exitCode: res.code,
260
- stderrTail
261
- });
262
- return {
263
- name: params.name,
264
- command,
265
- cwd: params.cwd ?? process.cwd(),
266
- durationMs,
267
- exitCode: res.code,
268
- stdoutTail: trimLogTail(res.stdout, MAX_LOG_CHARS),
269
- stderrTail
270
- };
271
- }
272
- async function ensureGitCheckout(params) {
273
- if (!await pathExists(params.dir)) return await runUpdateStep({
274
- name: "git clone",
275
- argv: [
276
- "git",
277
- "clone",
278
- MOLDCLAW_REPO_URL,
279
- params.dir
280
- ],
281
- timeoutMs: params.timeoutMs,
282
- progress: params.progress
283
- });
284
- if (!await isGitCheckout(params.dir)) {
285
- if (!await isEmptyDir(params.dir)) throw new Error(`MOLDCLAW_GIT_DIR points at a non-git directory: ${params.dir}. Set MOLDCLAW_GIT_DIR to an empty folder or an moldclaw checkout.`);
286
- return await runUpdateStep({
287
- name: "git clone",
288
- argv: [
289
- "git",
290
- "clone",
291
- MOLDCLAW_REPO_URL,
292
- params.dir
293
- ],
294
- cwd: params.dir,
295
- timeoutMs: params.timeoutMs,
296
- progress: params.progress
297
- });
298
- }
299
- if (!await isCorePackage(params.dir)) throw new Error(`MOLDCLAW_GIT_DIR does not look like a core checkout: ${params.dir}.`);
300
- return null;
301
- }
302
- async function resolveGlobalManager(params) {
303
- const runCommand = createGlobalCommandRunner();
304
- if (params.installKind === "package") {
305
- const detected = await detectGlobalInstallManagerForRoot(runCommand, params.root, params.timeoutMs);
306
- if (detected) return detected;
307
- }
308
- return await detectGlobalInstallManagerByPresence(runCommand, params.timeoutMs) ?? "npm";
309
- }
310
- async function tryWriteCompletionCache(root, jsonMode) {
311
- const binPath = path.join(root, "moldclaw.mjs");
312
- if (!await pathExists(binPath)) return;
313
- const result = spawnSync(resolveNodeRunner(), [
314
- binPath,
315
- "completion",
316
- "--write-state"
317
- ], {
318
- cwd: root,
319
- env: process.env,
320
- encoding: "utf-8"
321
- });
322
- if (result.error) {
323
- if (!jsonMode) defaultRuntime.log(theme.warn(`Completion cache update failed: ${String(result.error)}`));
324
- return;
325
- }
326
- if (result.status !== 0 && !jsonMode) {
327
- const stderr = (result.stderr ?? "").toString().trim();
328
- const detail = stderr ? ` (${stderr})` : "";
329
- defaultRuntime.log(theme.warn(`Completion cache update failed${detail}.`));
330
- }
331
- }
332
- function createGlobalCommandRunner() {
333
- return async (argv, options) => {
334
- const res = await runCommandWithTimeout(argv, options);
335
- return {
336
- stdout: res.stdout,
337
- stderr: res.stderr,
338
- code: res.code
339
- };
340
- };
341
- }
342
- //#endregion
343
- //#region src/cli/update-cli/status.ts
344
- function formatGitStatusLine(params) {
345
- const shortSha = params.sha ? params.sha.slice(0, 8) : null;
346
- const branch = params.branch && params.branch !== "HEAD" ? params.branch : null;
347
- const tag = params.tag;
348
- return [
349
- branch ?? (tag ? "detached" : "git"),
350
- tag ? `tag ${tag}` : null,
351
- shortSha ? `@ ${shortSha}` : null
352
- ].filter(Boolean).join(" · ");
353
- }
354
- async function updateStatusCommand(opts) {
355
- const timeoutMs = parseTimeoutMsOrExit(opts.timeout);
356
- if (timeoutMs === null) return;
357
- const root = await resolveUpdateRoot();
358
- const configSnapshot = await readConfigFileSnapshot();
359
- const configChannel = configSnapshot.valid ? normalizeUpdateChannel(configSnapshot.config.update?.channel) : null;
360
- const update = await checkUpdateStatus({
361
- root,
362
- timeoutMs: timeoutMs ?? 3500,
363
- fetchGit: true,
364
- includeRegistry: true
365
- });
366
- const channelInfo = resolveUpdateChannelDisplay({
367
- configChannel,
368
- installKind: update.installKind,
369
- gitTag: update.git?.tag ?? null,
370
- gitBranch: update.git?.branch ?? null
371
- });
372
- const channelLabel = channelInfo.label;
373
- const gitLabel = update.installKind === "git" ? formatGitStatusLine({
374
- branch: update.git?.branch ?? null,
375
- tag: update.git?.tag ?? null,
376
- sha: update.git?.sha ?? null
377
- }) : null;
378
- const updateAvailability = resolveUpdateAvailability(update);
379
- const updateLine = formatUpdateOneLiner(update).replace(/^Update:\s*/i, "");
380
- if (opts.json) {
381
- defaultRuntime.log(JSON.stringify({
382
- update,
383
- channel: {
384
- value: channelInfo.channel,
385
- source: channelInfo.source,
386
- label: channelLabel,
387
- config: configChannel
388
- },
389
- availability: updateAvailability
390
- }, null, 2));
391
- return;
392
- }
393
- const tableWidth = getTerminalTableWidth();
394
- const rows = [
395
- {
396
- Item: "Install",
397
- Value: update.installKind === "git" ? `git (${update.root ?? "unknown"})` : update.installKind === "package" ? update.packageManager : "unknown"
398
- },
399
- {
400
- Item: "Channel",
401
- Value: channelLabel
402
- },
403
- ...gitLabel ? [{
404
- Item: "Git",
405
- Value: gitLabel
406
- }] : [],
407
- {
408
- Item: "Update",
409
- Value: updateAvailability.available ? theme.warn(`available · ${updateLine}`) : updateLine
410
- }
411
- ];
412
- defaultRuntime.log(theme.heading("moldClaw update status"));
413
- defaultRuntime.log("");
414
- defaultRuntime.log(renderTable({
415
- width: tableWidth,
416
- columns: [{
417
- key: "Item",
418
- header: "Item",
419
- minWidth: 10
420
- }, {
421
- key: "Value",
422
- header: "Value",
423
- flex: true,
424
- minWidth: 24
425
- }],
426
- rows
427
- }).trimEnd());
428
- defaultRuntime.log("");
429
- const updateHint = formatUpdateAvailableHint(update);
430
- if (updateHint) defaultRuntime.log(theme.warn(updateHint));
431
- }
432
- //#endregion
433
- //#region src/cli/update-cli/progress.ts
434
- const STEP_LABELS = {
435
- "clean check": "Working directory is clean",
436
- "upstream check": "Upstream branch exists",
437
- "git fetch": "Fetching latest changes",
438
- "git rebase": "Rebasing onto target commit",
439
- "git rev-parse @{upstream}": "Resolving upstream commit",
440
- "git rev-list": "Enumerating candidate commits",
441
- "git clone": "Cloning git checkout",
442
- "preflight worktree": "Preparing preflight worktree",
443
- "preflight cleanup": "Cleaning preflight worktree",
444
- "deps install": "Installing dependencies",
445
- build: "Building",
446
- "ui:build": "Building UI assets",
447
- "ui:build (post-doctor repair)": "Restoring missing UI assets",
448
- "ui assets verify": "Validating UI assets",
449
- "moldclaw doctor entry": "Checking doctor entrypoint",
450
- "moldclaw doctor": "Running doctor checks",
451
- "git rev-parse HEAD (after)": "Verifying update",
452
- "global update": "Updating via package manager",
453
- "global update (omit optional)": "Retrying update without optional deps",
454
- "global install": "Installing global package"
455
- };
456
- function getStepLabel(step) {
457
- return STEP_LABELS[step.name] ?? step.name;
458
- }
459
- function inferUpdateFailureHints(result) {
460
- if (result.status !== "error" || result.mode !== "npm") return [];
461
- const failedStep = [...result.steps].toReversed().find((step) => step.exitCode !== 0);
462
- if (!failedStep) return [];
463
- const stderr = (failedStep.stderrTail ?? "").toLowerCase();
464
- const hints = [];
465
- if (failedStep.name.startsWith("global update") && stderr.includes("eacces")) {
466
- hints.push("Detected permission failure (EACCES). Re-run with a writable global prefix or sudo (for system-managed Node installs).");
467
- hints.push("Example: npm config set prefix ~/.local && npm i -g moldclaw@latest");
468
- }
469
- if (failedStep.name.startsWith("global update") && (stderr.includes("node-gyp") || stderr.includes("prebuild"))) {
470
- hints.push("Detected native optional dependency build failure. The updater retries with --omit=optional automatically.");
471
- hints.push("If it still fails: npm i -g moldclaw@latest --omit=optional");
472
- }
473
- return hints;
474
- }
475
- function createUpdateProgress(enabled) {
476
- if (!enabled) return {
477
- progress: {},
478
- stop: () => {}
479
- };
480
- let currentSpinner = null;
481
- return {
482
- progress: {
483
- onStepStart: (step) => {
484
- currentSpinner = spinner();
485
- currentSpinner.start(theme.accent(getStepLabel(step)));
486
- },
487
- onStepComplete: (step) => {
488
- if (!currentSpinner) return;
489
- const label = getStepLabel(step);
490
- const duration = theme.muted(`(${formatDurationPrecise(step.durationMs)})`);
491
- const icon = step.exitCode === 0 ? theme.success("✓") : theme.error("✗");
492
- currentSpinner.stop(`${icon} ${label} ${duration}`);
493
- currentSpinner = null;
494
- if (step.exitCode !== 0 && step.stderrTail) {
495
- const lines = step.stderrTail.split("\n").slice(-10);
496
- for (const line of lines) if (line.trim()) defaultRuntime.log(` ${theme.error(line)}`);
497
- }
498
- }
499
- },
500
- stop: () => {
501
- if (currentSpinner) {
502
- currentSpinner.stop();
503
- currentSpinner = null;
504
- }
505
- }
506
- };
507
- }
508
- function formatStepStatus(exitCode) {
509
- if (exitCode === 0) return theme.success("✓");
510
- if (exitCode === null) return theme.warn("?");
511
- return theme.error("✗");
512
- }
513
- function printResult(result, opts) {
514
- if (opts.json) {
515
- defaultRuntime.log(JSON.stringify(result, null, 2));
516
- return;
517
- }
518
- const statusColor = result.status === "ok" ? theme.success : result.status === "skipped" ? theme.warn : theme.error;
519
- defaultRuntime.log("");
520
- defaultRuntime.log(`${theme.heading("Update Result:")} ${statusColor(result.status.toUpperCase())}`);
521
- if (result.root) defaultRuntime.log(` Root: ${theme.muted(result.root)}`);
522
- if (result.reason) defaultRuntime.log(` Reason: ${theme.muted(result.reason)}`);
523
- if (result.before?.version || result.before?.sha) {
524
- const before = result.before.version ?? result.before.sha?.slice(0, 8) ?? "";
525
- defaultRuntime.log(` Before: ${theme.muted(before)}`);
526
- }
527
- if (result.after?.version || result.after?.sha) {
528
- const after = result.after.version ?? result.after.sha?.slice(0, 8) ?? "";
529
- defaultRuntime.log(` After: ${theme.muted(after)}`);
530
- }
531
- if (!opts.hideSteps && result.steps.length > 0) {
532
- defaultRuntime.log("");
533
- defaultRuntime.log(theme.heading("Steps:"));
534
- for (const step of result.steps) {
535
- const status = formatStepStatus(step.exitCode);
536
- const duration = theme.muted(`(${formatDurationPrecise(step.durationMs)})`);
537
- defaultRuntime.log(` ${status} ${step.name} ${duration}`);
538
- if (step.exitCode !== 0 && step.stderrTail) {
539
- const lines = step.stderrTail.split("\n").slice(0, 5);
540
- for (const line of lines) if (line.trim()) defaultRuntime.log(` ${theme.error(line)}`);
541
- }
542
- }
543
- }
544
- const hints = inferUpdateFailureHints(result);
545
- if (hints.length > 0) {
546
- defaultRuntime.log("");
547
- defaultRuntime.log(theme.heading("Recovery hints:"));
548
- for (const hint of hints) defaultRuntime.log(` - ${theme.warn(hint)}`);
549
- }
550
- defaultRuntime.log("");
551
- defaultRuntime.log(`Total time: ${theme.muted(formatDurationPrecise(result.durationMs))}`);
552
- }
553
- //#endregion
554
- //#region src/cli/update-cli/restart-helper.ts
555
- /**
556
- * Shell-escape a string for embedding in single-quoted shell arguments.
557
- * Replaces every `'` with `'\''` (end quote, escaped quote, resume quote).
558
- * For batch scripts, validates against special characters instead.
559
- */
560
- function shellEscape(value) {
561
- return value.replace(/'/g, "'\\''");
562
- }
563
- /** Validates a string is safe for embedding in a batch (cmd.exe) script. */
564
- function isBatchSafe(value) {
565
- return /^[A-Za-z0-9 _\-().]+$/.test(value);
566
- }
567
- function resolveSystemdUnit(env) {
568
- const override = env.MOLDCLAW_SYSTEMD_UNIT?.trim();
569
- if (override) return override.endsWith(".service") ? override : `${override}.service`;
570
- return `${resolveGatewaySystemdServiceName(env.MOLDCLAW_PROFILE)}.service`;
571
- }
572
- function resolveLaunchdLabel(env) {
573
- const override = env.MOLDCLAW_LAUNCHD_LABEL?.trim();
574
- if (override) return override;
575
- return resolveGatewayLaunchAgentLabel(env.MOLDCLAW_PROFILE);
576
- }
577
- function resolveWindowsTaskName(env) {
578
- const override = env.MOLDCLAW_WINDOWS_TASK_NAME?.trim();
579
- if (override) return override;
580
- return resolveGatewayWindowsTaskName(env.MOLDCLAW_PROFILE);
581
- }
582
- /**
583
- * Prepares a standalone script to restart the gateway service.
584
- * This script is written to a temporary directory and does not depend on
585
- * the installed package files, ensuring restart capability even if the
586
- * update process temporarily removes or corrupts installation files.
587
- */
588
- async function prepareRestartScript(env = process.env, gatewayPort = DEFAULT_GATEWAY_PORT) {
589
- const tmpDir = os.tmpdir();
590
- const timestamp = Date.now();
591
- const platform = process.platform;
592
- let scriptContent = "";
593
- let filename = "";
594
- try {
595
- if (platform === "linux") {
596
- const escaped = shellEscape(resolveSystemdUnit(env));
597
- filename = `moldclaw-restart-${timestamp}.sh`;
598
- scriptContent = `#!/bin/sh
599
- # Standalone restart script — survives parent process termination.
600
- # Wait briefly to ensure file locks are released after update.
601
- sleep 1
602
- systemctl --user restart '${escaped}'
603
- # Self-cleanup
604
- rm -f "$0"
605
- `;
606
- } else if (platform === "darwin") {
607
- const label = resolveLaunchdLabel(env);
608
- const escaped = shellEscape(label);
609
- const uid = process.getuid ? process.getuid() : 501;
610
- const home = env.HOME?.trim() || process.env.HOME || os.homedir();
611
- const escapedPlistPath = shellEscape(path.join(home, "Library", "LaunchAgents", `${label}.plist`));
612
- filename = `moldclaw-restart-${timestamp}.sh`;
613
- scriptContent = `#!/bin/sh
614
- # Standalone restart script — survives parent process termination.
615
- # Wait briefly to ensure file locks are released after update.
616
- sleep 1
617
- # Try kickstart first (works when the service is still registered).
618
- # If it fails (e.g. after bootout), clear any persisted disabled state,
619
- # then re-register via bootstrap and kickstart.
620
- if ! launchctl kickstart -k 'gui/${uid}/${escaped}' 2>/dev/null; then
621
- launchctl enable 'gui/${uid}/${escaped}' 2>/dev/null
622
- launchctl bootstrap 'gui/${uid}' '${escapedPlistPath}' 2>/dev/null
623
- launchctl kickstart -k 'gui/${uid}/${escaped}' 2>/dev/null || true
624
- fi
625
- # Self-cleanup
626
- rm -f "$0"
627
- `;
628
- } else if (platform === "win32") {
629
- const taskName = resolveWindowsTaskName(env);
630
- if (!isBatchSafe(taskName)) return null;
631
- const port = Number.isFinite(gatewayPort) && gatewayPort > 0 ? gatewayPort : DEFAULT_GATEWAY_PORT;
632
- filename = `moldclaw-restart-${timestamp}.bat`;
633
- scriptContent = `@echo off
634
- REM Standalone restart script — survives parent process termination.
635
- REM Wait briefly to ensure file locks are released after update.
636
- timeout /t 2 /nobreak >nul
637
- schtasks /End /TN "${taskName}"
638
- REM Poll for gateway port release before rerun; force-kill listener if stuck.
639
- set /a attempts=0
640
- :wait_for_port_release
641
- set /a attempts+=1
642
- netstat -ano | findstr /R /C:":${port} .*LISTENING" >nul
643
- if errorlevel 1 goto port_released
644
- if %attempts% GEQ 10 goto force_kill_listener
645
- timeout /t 1 /nobreak >nul
646
- goto wait_for_port_release
647
- :force_kill_listener
648
- for /f "tokens=5" %%P in ('netstat -ano ^| findstr /R /C:":${port} .*LISTENING"') do (
649
- taskkill /F /PID %%P >nul 2>&1
650
- goto port_released
651
- )
652
- :port_released
653
- schtasks /Run /TN "${taskName}"
654
- REM Self-cleanup
655
- del "%~f0"
656
- `;
657
- } else return null;
658
- const scriptPath = path.join(tmpDir, filename);
659
- await fs.writeFile(scriptPath, scriptContent, { mode: 493 });
660
- return scriptPath;
661
- } catch {
662
- return null;
663
- }
664
- }
665
- /**
666
- * Executes the prepared restart script as a **detached** process.
667
- *
668
- * The script must outlive the CLI process because the CLI itself is part
669
- * of the service being restarted — `systemctl restart` / `launchctl
670
- * kickstart -k` will terminate the current process tree. Using
671
- * `spawn({ detached: true })` + `unref()` ensures the script survives
672
- * the parent's exit.
673
- *
674
- * Resolves immediately after spawning; the script runs independently.
675
- */
676
- async function runRestartScript(scriptPath) {
677
- const isWindows = process.platform === "win32";
678
- spawn(isWindows ? "cmd.exe" : "/bin/sh", isWindows ? [
679
- "/d",
680
- "/s",
681
- "/c",
682
- quoteCmdScriptArg(scriptPath)
683
- ] : [scriptPath], {
684
- detached: true,
685
- stdio: "ignore",
686
- windowsHide: true
687
- }).unref();
688
- }
689
- //#endregion
690
- //#region src/cli/update-cli/suppress-deprecations.ts
691
- /**
692
- * Suppress Node.js deprecation warnings.
693
- *
694
- * On Node.js v23+ `process.noDeprecation` may be a read-only property
695
- * (defined via a getter on the prototype with no setter), so the
696
- * assignment can throw. We fall back to the environment variable which
697
- * achieves the same effect.
698
- */
699
- function suppressDeprecations() {
700
- try {
701
- process.noDeprecation = true;
702
- } catch {}
703
- process.env.NODE_NO_WARNINGS = "1";
704
- }
705
- //#endregion
706
- //#region src/cli/update-cli/update-command.ts
707
- const CLI_NAME = resolveCliName();
708
- const SERVICE_REFRESH_TIMEOUT_MS = 6e4;
709
- const SERVICE_REFRESH_PATH_ENV_KEYS = [
710
- "MOLDCLAW_HOME",
711
- "MOLDCLAW_STATE_DIR",
712
- "MOLDCLAW_STATE_DIR",
713
- "MOLDCLAW_CONFIG_PATH",
714
- "MOLDCLAW_CONFIG_PATH"
715
- ];
716
- const UPDATE_QUIPS = [
717
- "Leveled up! New skills unlocked. You're welcome.",
718
- "Fresh code, tighter knot. Miss me?",
719
- "Back and better. Did you even notice I was gone?",
720
- "Update complete. I learned some new tricks while I was out.",
721
- "Upgraded! Now with 23% more sass.",
722
- "I've evolved. Try to keep up.",
723
- "New version, who dis? Oh right, still me but shinier.",
724
- "Patched, polished, and ready to pinch. Let's go.",
725
- "The knot has tightened. Stronger bonds, smoother workflows.",
726
- "Update done! Check the changelog or just trust me, it's good.",
727
- "Reborn from the boiling waters of npm. Stronger now.",
728
- "I went away and came back smarter. You should try it sometime.",
729
- "Update complete. The bugs feared me, so they left.",
730
- "New version installed. Old version sends its regards.",
731
- "Firmware fresh. Brain wrinkles: increased.",
732
- "I've seen things you wouldn't believe. Anyway, I'm updated.",
733
- "Back online. The changelog is long but our friendship is longer.",
734
- "Upgraded! Peter fixed stuff. Blame him if it breaks.",
735
- "Molting complete. Please don't look at my soft shell phase.",
736
- "Version bump! Same chaos energy, fewer crashes (probably)."
737
- ];
738
- function pickUpdateQuip() {
739
- return UPDATE_QUIPS[Math.floor(Math.random() * UPDATE_QUIPS.length)] ?? "Update complete.";
740
- }
741
- function resolveGatewayInstallEntrypointCandidates(root) {
742
- if (!root) return [];
743
- return [
744
- path.join(root, "dist", "entry.js"),
745
- path.join(root, "dist", "entry.mjs"),
746
- path.join(root, "dist", "index.js"),
747
- path.join(root, "dist", "index.mjs")
748
- ];
749
- }
750
- function formatCommandFailure(stdout, stderr) {
751
- const detail = (stderr || stdout).trim();
752
- if (!detail) return "command returned a non-zero exit code";
753
- return detail.split("\n").slice(-3).join("\n");
754
- }
755
- function tryResolveInvocationCwd() {
756
- try {
757
- return process.cwd();
758
- } catch {
759
- return;
760
- }
761
- }
762
- function resolveServiceRefreshEnv(env, invocationCwd) {
763
- const resolvedEnv = { ...env };
764
- for (const key of SERVICE_REFRESH_PATH_ENV_KEYS) {
765
- const rawValue = resolvedEnv[key]?.trim();
766
- if (!rawValue) continue;
767
- if (rawValue.startsWith("~") || path.isAbsolute(rawValue) || path.win32.isAbsolute(rawValue)) {
768
- resolvedEnv[key] = rawValue;
769
- continue;
770
- }
771
- if (!invocationCwd) {
772
- resolvedEnv[key] = rawValue;
773
- continue;
774
- }
775
- resolvedEnv[key] = path.resolve(invocationCwd, rawValue);
776
- }
777
- return resolvedEnv;
778
- }
779
- function printDryRunPreview(preview, jsonMode) {
780
- if (jsonMode) {
781
- defaultRuntime.log(JSON.stringify(preview, null, 2));
782
- return;
783
- }
784
- defaultRuntime.log(theme.heading("Update dry-run"));
785
- defaultRuntime.log(theme.muted("No changes were applied."));
786
- defaultRuntime.log("");
787
- defaultRuntime.log(` Root: ${theme.muted(preview.root)}`);
788
- defaultRuntime.log(` Install kind: ${theme.muted(preview.installKind)}`);
789
- defaultRuntime.log(` Mode: ${theme.muted(preview.mode)}`);
790
- defaultRuntime.log(` Channel: ${theme.muted(preview.effectiveChannel)}`);
791
- defaultRuntime.log(` Tag/spec: ${theme.muted(preview.tag)}`);
792
- if (preview.currentVersion) defaultRuntime.log(` Current version: ${theme.muted(preview.currentVersion)}`);
793
- if (preview.targetVersion) defaultRuntime.log(` Target version: ${theme.muted(preview.targetVersion)}`);
794
- if (preview.downgradeRisk) defaultRuntime.log(theme.warn(" Downgrade confirmation would be required in a real run."));
795
- defaultRuntime.log("");
796
- defaultRuntime.log(theme.heading("Planned actions:"));
797
- for (const action of preview.actions) defaultRuntime.log(` - ${action}`);
798
- if (preview.notes.length > 0) {
799
- defaultRuntime.log("");
800
- defaultRuntime.log(theme.heading("Notes:"));
801
- for (const note of preview.notes) defaultRuntime.log(` - ${theme.muted(note)}`);
802
- }
803
- }
804
- async function refreshGatewayServiceEnv(params) {
805
- const args = [
806
- "gateway",
807
- "install",
808
- "--force"
809
- ];
810
- if (params.jsonMode) args.push("--json");
811
- for (const candidate of resolveGatewayInstallEntrypointCandidates(params.result.root)) {
812
- if (!await pathExists(candidate)) continue;
813
- const res = await runCommandWithTimeout([
814
- resolveNodeRunner(),
815
- candidate,
816
- ...args
817
- ], {
818
- cwd: params.result.root,
819
- env: resolveServiceRefreshEnv(process.env, params.invocationCwd),
820
- timeoutMs: SERVICE_REFRESH_TIMEOUT_MS
821
- });
822
- if (res.code === 0) return;
823
- throw new Error(`updated install refresh failed (${candidate}): ${formatCommandFailure(res.stdout, res.stderr)}`);
824
- }
825
- await runDaemonInstall({
826
- force: true,
827
- json: params.jsonMode || void 0
828
- });
829
- }
830
- async function tryInstallShellCompletion(opts) {
831
- if (opts.jsonMode || !process.stdin.isTTY) return;
832
- const status = await checkShellCompletionStatus(CLI_NAME);
833
- if (status.usesSlowPattern) {
834
- defaultRuntime.log(theme.muted("Upgrading shell completion to cached version..."));
835
- if (await ensureCompletionCacheExists(CLI_NAME)) await installCompletion(status.shell, true, CLI_NAME);
836
- return;
837
- }
838
- if (status.profileInstalled && !status.cacheExists) {
839
- defaultRuntime.log(theme.muted("Regenerating shell completion cache..."));
840
- await ensureCompletionCacheExists(CLI_NAME);
841
- return;
842
- }
843
- if (!status.profileInstalled) {
844
- defaultRuntime.log("");
845
- defaultRuntime.log(theme.heading("Shell completion"));
846
- const shouldInstall = await confirm({
847
- message: stylePromptMessage(`Enable ${status.shell} shell completion for ${CLI_NAME}?`),
848
- initialValue: true
849
- });
850
- if (isCancel(shouldInstall) || !shouldInstall) {
851
- if (!opts.skipPrompt) defaultRuntime.log(theme.muted(`Skipped. Run \`${replaceCliName(formatCliCommand("moldclaw completion --install"), CLI_NAME)}\` later to enable.`));
852
- return;
853
- }
854
- if (!await ensureCompletionCacheExists(CLI_NAME)) {
855
- defaultRuntime.log(theme.warn("Failed to generate completion cache."));
856
- return;
857
- }
858
- await installCompletion(status.shell, opts.skipPrompt, CLI_NAME);
859
- }
860
- }
861
- async function runPackageInstallUpdate(params) {
862
- const manager = await resolveGlobalManager({
863
- root: params.root,
864
- installKind: params.installKind,
865
- timeoutMs: params.timeoutMs
866
- });
867
- const installEnv = await createGlobalInstallEnv();
868
- const pkgRoot = await resolveGlobalPackageRoot(manager, createGlobalCommandRunner(), params.timeoutMs);
869
- const packageName = (pkgRoot ? await readPackageName(pkgRoot) : await readPackageName(params.root)) ?? "moldclaw";
870
- const installSpec = resolveGlobalInstallSpec({
871
- packageName,
872
- tag: params.tag,
873
- env: installEnv
874
- });
875
- const beforeVersion = pkgRoot ? await readPackageVersion(pkgRoot) : null;
876
- if (pkgRoot) await cleanupGlobalRenameDirs({
877
- globalRoot: path.dirname(pkgRoot),
878
- packageName
879
- });
880
- const steps = [await runUpdateStep({
881
- name: "global update",
882
- argv: globalInstallArgs(manager, installSpec),
883
- env: installEnv,
884
- timeoutMs: params.timeoutMs,
885
- progress: params.progress
886
- })];
887
- let afterVersion = beforeVersion;
888
- if (pkgRoot) {
889
- afterVersion = await readPackageVersion(pkgRoot);
890
- const entryPath = path.join(pkgRoot, "dist", "entry.js");
891
- if (await pathExists(entryPath)) {
892
- const doctorStep = await runUpdateStep({
893
- name: `${CLI_NAME} doctor`,
894
- argv: [
895
- resolveNodeRunner(),
896
- entryPath,
897
- "doctor",
898
- "--non-interactive"
899
- ],
900
- timeoutMs: params.timeoutMs,
901
- progress: params.progress
902
- });
903
- steps.push(doctorStep);
904
- }
905
- }
906
- const failedStep = steps.find((step) => step.exitCode !== 0);
907
- return {
908
- status: failedStep ? "error" : "ok",
909
- mode: manager,
910
- root: pkgRoot ?? params.root,
911
- reason: failedStep ? failedStep.name : void 0,
912
- before: { version: beforeVersion },
913
- after: { version: afterVersion },
914
- steps,
915
- durationMs: Date.now() - params.startedAt
916
- };
917
- }
918
- async function runGitUpdate(params) {
919
- const updateRoot = params.switchToGit ? resolveGitInstallDir() : params.root;
920
- const effectiveTimeout = params.timeoutMs ?? 20 * 6e4;
921
- const cloneStep = params.switchToGit ? await ensureGitCheckout({
922
- dir: updateRoot,
923
- timeoutMs: effectiveTimeout,
924
- progress: params.progress
925
- }) : null;
926
- if (cloneStep && cloneStep.exitCode !== 0) {
927
- const result = {
928
- status: "error",
929
- mode: "git",
930
- root: updateRoot,
931
- reason: cloneStep.name,
932
- steps: [cloneStep],
933
- durationMs: Date.now() - params.startedAt
934
- };
935
- params.stop();
936
- printResult(result, {
937
- ...params.opts,
938
- hideSteps: params.showProgress
939
- });
940
- defaultRuntime.exit(1);
941
- return result;
942
- }
943
- const updateResult = await runGatewayUpdate({
944
- cwd: updateRoot,
945
- argv1: params.switchToGit ? void 0 : process.argv[1],
946
- timeoutMs: params.timeoutMs,
947
- progress: params.progress,
948
- channel: params.channel,
949
- tag: params.tag
950
- });
951
- const steps = [...cloneStep ? [cloneStep] : [], ...updateResult.steps];
952
- if (params.switchToGit && updateResult.status === "ok") {
953
- const installStep = await runUpdateStep({
954
- name: "global install",
955
- argv: globalInstallArgs(await resolveGlobalManager({
956
- root: params.root,
957
- installKind: params.installKind,
958
- timeoutMs: effectiveTimeout
959
- }), updateRoot),
960
- cwd: updateRoot,
961
- env: await createGlobalInstallEnv(),
962
- timeoutMs: effectiveTimeout,
963
- progress: params.progress
964
- });
965
- steps.push(installStep);
966
- const failedStep = installStep.exitCode !== 0 ? installStep : null;
967
- return {
968
- ...updateResult,
969
- status: updateResult.status === "ok" && !failedStep ? "ok" : "error",
970
- steps,
971
- durationMs: Date.now() - params.startedAt
972
- };
973
- }
974
- return {
975
- ...updateResult,
976
- steps,
977
- durationMs: Date.now() - params.startedAt
978
- };
979
- }
980
- async function updatePluginsAfterCoreUpdate(params) {
981
- if (!params.configSnapshot.valid) {
982
- if (!params.opts.json) defaultRuntime.log(theme.warn("Skipping plugin updates: config is invalid."));
983
- return;
984
- }
985
- const pluginLogger = params.opts.json ? {} : {
986
- info: (msg) => defaultRuntime.log(msg),
987
- warn: (msg) => defaultRuntime.log(theme.warn(msg)),
988
- error: (msg) => defaultRuntime.log(theme.error(msg))
989
- };
990
- if (!params.opts.json) {
991
- defaultRuntime.log("");
992
- defaultRuntime.log(theme.heading("Updating plugins..."));
993
- }
994
- const syncResult = await syncPluginsForUpdateChannel({
995
- config: params.configSnapshot.config,
996
- channel: params.channel,
997
- workspaceDir: params.root,
998
- logger: pluginLogger
999
- });
1000
- let pluginConfig = syncResult.config;
1001
- const npmResult = await updateNpmInstalledPlugins({
1002
- config: pluginConfig,
1003
- skipIds: new Set(syncResult.summary.switchedToNpm),
1004
- logger: pluginLogger
1005
- });
1006
- pluginConfig = npmResult.config;
1007
- if (syncResult.changed || npmResult.changed) await writeConfigFile(pluginConfig);
1008
- if (params.opts.json) return;
1009
- const summarizeList = (list) => {
1010
- if (list.length <= 6) return list.join(", ");
1011
- return `${list.slice(0, 6).join(", ")} +${list.length - 6} more`;
1012
- };
1013
- if (syncResult.summary.switchedToBundled.length > 0) defaultRuntime.log(theme.muted(`Switched to bundled plugins: ${summarizeList(syncResult.summary.switchedToBundled)}.`));
1014
- if (syncResult.summary.switchedToNpm.length > 0) defaultRuntime.log(theme.muted(`Restored npm plugins: ${summarizeList(syncResult.summary.switchedToNpm)}.`));
1015
- for (const warning of syncResult.summary.warnings) defaultRuntime.log(theme.warn(warning));
1016
- for (const error of syncResult.summary.errors) defaultRuntime.log(theme.error(error));
1017
- const updated = npmResult.outcomes.filter((entry) => entry.status === "updated").length;
1018
- const unchanged = npmResult.outcomes.filter((entry) => entry.status === "unchanged").length;
1019
- const failed = npmResult.outcomes.filter((entry) => entry.status === "error").length;
1020
- const skipped = npmResult.outcomes.filter((entry) => entry.status === "skipped").length;
1021
- if (npmResult.outcomes.length === 0) defaultRuntime.log(theme.muted("No plugin updates needed."));
1022
- else {
1023
- const parts = [`${updated} updated`, `${unchanged} unchanged`];
1024
- if (failed > 0) parts.push(`${failed} failed`);
1025
- if (skipped > 0) parts.push(`${skipped} skipped`);
1026
- defaultRuntime.log(theme.muted(`npm plugins: ${parts.join(", ")}.`));
1027
- }
1028
- for (const outcome of npmResult.outcomes) {
1029
- if (outcome.status !== "error") continue;
1030
- defaultRuntime.log(theme.error(outcome.message));
1031
- }
1032
- }
1033
- async function maybeRestartService(params) {
1034
- if (params.shouldRestart) {
1035
- if (!params.opts.json) {
1036
- defaultRuntime.log("");
1037
- defaultRuntime.log(theme.heading("Restarting service..."));
1038
- }
1039
- try {
1040
- let restarted = false;
1041
- let restartInitiated = false;
1042
- if (params.refreshServiceEnv) try {
1043
- await refreshGatewayServiceEnv({
1044
- result: params.result,
1045
- jsonMode: Boolean(params.opts.json),
1046
- invocationCwd: params.invocationCwd
1047
- });
1048
- } catch (err) {
1049
- if (!params.opts.json) defaultRuntime.log(theme.warn(`Failed to refresh gateway service environment from updated install: ${String(err)}`));
1050
- }
1051
- if (params.restartScriptPath) {
1052
- await runRestartScript(params.restartScriptPath);
1053
- restartInitiated = true;
1054
- } else restarted = await runDaemonRestart();
1055
- if (!params.opts.json && restarted) {
1056
- defaultRuntime.log(theme.success("Daemon restarted successfully."));
1057
- defaultRuntime.log("");
1058
- process.env.MOLDCLAW_UPDATE_IN_PROGRESS = "1";
1059
- try {
1060
- await doctorCommand(defaultRuntime, { nonInteractive: !(Boolean(process.stdin.isTTY) && !params.opts.json && params.opts.yes !== true) });
1061
- } catch (err) {
1062
- defaultRuntime.log(theme.warn(`Doctor failed: ${String(err)}`));
1063
- } finally {
1064
- delete process.env.MOLDCLAW_UPDATE_IN_PROGRESS;
1065
- }
1066
- }
1067
- if (!params.opts.json && restartInitiated) {
1068
- const service = resolveGatewayService();
1069
- let health = await waitForGatewayHealthyRestart({
1070
- service,
1071
- port: params.gatewayPort
1072
- });
1073
- if (!health.healthy && health.staleGatewayPids.length > 0) {
1074
- if (!params.opts.json) defaultRuntime.log(theme.warn(`Found stale gateway process(es) after restart: ${health.staleGatewayPids.join(", ")}. Cleaning up...`));
1075
- await terminateStaleGatewayPids(health.staleGatewayPids);
1076
- await runDaemonRestart();
1077
- health = await waitForGatewayHealthyRestart({
1078
- service,
1079
- port: params.gatewayPort
1080
- });
1081
- }
1082
- if (health.healthy) defaultRuntime.log(theme.success("Daemon restart completed."));
1083
- else {
1084
- defaultRuntime.log(theme.warn("Gateway did not become healthy after restart."));
1085
- for (const line of renderRestartDiagnostics(health)) defaultRuntime.log(theme.muted(line));
1086
- defaultRuntime.log(theme.muted(`Run \`${replaceCliName(formatCliCommand("moldclaw gateway status --deep"), CLI_NAME)}\` for details.`));
1087
- }
1088
- defaultRuntime.log("");
1089
- }
1090
- } catch (err) {
1091
- if (!params.opts.json) {
1092
- defaultRuntime.log(theme.warn(`Daemon restart failed: ${String(err)}`));
1093
- defaultRuntime.log(theme.muted(`You may need to restart the service manually: ${replaceCliName(formatCliCommand("moldclaw gateway restart"), CLI_NAME)}`));
1094
- }
1095
- }
1096
- return;
1097
- }
1098
- if (!params.opts.json) {
1099
- defaultRuntime.log("");
1100
- if (params.result.mode === "npm" || params.result.mode === "pnpm") defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("moldclaw doctor"), CLI_NAME)}\`, then \`${replaceCliName(formatCliCommand("moldclaw gateway restart"), CLI_NAME)}\` to apply updates to a running gateway.`));
1101
- else defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("moldclaw gateway restart"), CLI_NAME)}\` to apply updates to a running gateway.`));
1102
- }
1103
- }
1104
- async function updateCommand(opts) {
1105
- suppressDeprecations();
1106
- const invocationCwd = tryResolveInvocationCwd();
1107
- const timeoutMs = parseTimeoutMsOrExit(opts.timeout);
1108
- const shouldRestart = opts.restart !== false;
1109
- if (timeoutMs === null) return;
1110
- const root = await resolveUpdateRoot();
1111
- const updateStatus = await checkUpdateStatus({
1112
- root,
1113
- timeoutMs: timeoutMs ?? 3500,
1114
- fetchGit: false,
1115
- includeRegistry: false
1116
- });
1117
- const configSnapshot = await readConfigFileSnapshot();
1118
- const storedChannel = configSnapshot.valid ? normalizeUpdateChannel(configSnapshot.config.update?.channel) : null;
1119
- const requestedChannel = normalizeUpdateChannel(opts.channel);
1120
- if (opts.channel && !requestedChannel) {
1121
- defaultRuntime.error(`--channel must be "stable", "beta", or "dev" (got "${opts.channel}")`);
1122
- defaultRuntime.exit(1);
1123
- return;
1124
- }
1125
- if (opts.channel && !configSnapshot.valid) {
1126
- const issues = formatConfigIssueLines(configSnapshot.issues, "-");
1127
- defaultRuntime.error(["Config is invalid; cannot set update channel.", ...issues].join("\n"));
1128
- defaultRuntime.exit(1);
1129
- return;
1130
- }
1131
- const installKind = updateStatus.installKind;
1132
- const switchToGit = requestedChannel === "dev" && installKind !== "git";
1133
- const switchToPackage = requestedChannel !== null && requestedChannel !== "dev" && installKind === "git";
1134
- const updateInstallKind = switchToGit ? "git" : switchToPackage ? "package" : installKind;
1135
- const channel = requestedChannel ?? storedChannel ?? (updateInstallKind === "git" ? "dev" : "stable");
1136
- const explicitTag = normalizeTag(opts.tag);
1137
- let tag = explicitTag ?? channelToNpmTag(channel);
1138
- let currentVersion = null;
1139
- let targetVersion = null;
1140
- let downgradeRisk = false;
1141
- let fallbackToLatest = false;
1142
- let packageInstallSpec = null;
1143
- if (updateInstallKind !== "git") {
1144
- currentVersion = switchToPackage ? null : await readPackageVersion(root);
1145
- if (explicitTag) targetVersion = await resolveTargetVersion(tag, timeoutMs);
1146
- else targetVersion = await resolveNpmChannelTag({
1147
- channel,
1148
- timeoutMs
1149
- }).then((resolved) => {
1150
- tag = resolved.tag;
1151
- fallbackToLatest = channel === "beta" && resolved.tag === "latest";
1152
- return resolved.version;
1153
- });
1154
- const cmp = currentVersion && targetVersion ? compareSemverStrings(currentVersion, targetVersion) : null;
1155
- downgradeRisk = canResolveRegistryVersionForPackageTarget(tag) && !fallbackToLatest && currentVersion != null && (targetVersion == null || cmp != null && cmp > 0);
1156
- packageInstallSpec = resolveGlobalInstallSpec({
1157
- packageName: DEFAULT_PACKAGE_NAME,
1158
- tag,
1159
- env: process.env
1160
- });
1161
- }
1162
- if (opts.dryRun) {
1163
- let mode = "unknown";
1164
- if (updateInstallKind === "git") mode = "git";
1165
- else if (updateInstallKind === "package") mode = await resolveGlobalManager({
1166
- root,
1167
- installKind,
1168
- timeoutMs: timeoutMs ?? 20 * 6e4
1169
- });
1170
- const actions = [];
1171
- if (requestedChannel && requestedChannel !== storedChannel) actions.push(`Persist update.channel=${requestedChannel} in config`);
1172
- if (switchToGit) actions.push("Switch install mode from package to git checkout (dev channel)");
1173
- else if (switchToPackage) actions.push(`Switch install mode from git to package manager (${mode})`);
1174
- else if (updateInstallKind === "git") actions.push(`Run git update flow on channel ${channel} (fetch/rebase/build/doctor)`);
1175
- else actions.push(`Run global package manager update with spec ${packageInstallSpec ?? tag}`);
1176
- actions.push("Run plugin update sync after core update");
1177
- actions.push("Refresh shell completion cache (if needed)");
1178
- actions.push(shouldRestart ? "Restart gateway service and run doctor checks" : "Skip restart (because --no-restart is set)");
1179
- const notes = [];
1180
- if (opts.tag && updateInstallKind === "git") notes.push("--tag applies to npm installs only; git updates ignore it.");
1181
- if (fallbackToLatest) notes.push("Beta channel resolves to latest for this run (fallback).");
1182
- if (explicitTag && !canResolveRegistryVersionForPackageTarget(tag)) notes.push("Non-registry package specs skip npm version lookup and downgrade previews.");
1183
- printDryRunPreview({
1184
- dryRun: true,
1185
- root,
1186
- installKind,
1187
- mode,
1188
- updateInstallKind,
1189
- switchToGit,
1190
- switchToPackage,
1191
- restart: shouldRestart,
1192
- requestedChannel,
1193
- storedChannel,
1194
- effectiveChannel: channel,
1195
- tag: packageInstallSpec ?? tag,
1196
- currentVersion,
1197
- targetVersion,
1198
- downgradeRisk,
1199
- actions,
1200
- notes
1201
- }, Boolean(opts.json));
1202
- return;
1203
- }
1204
- if (downgradeRisk && !opts.yes) {
1205
- if (!process.stdin.isTTY || opts.json) {
1206
- defaultRuntime.error(["Downgrade confirmation required.", "Downgrading can break configuration. Re-run in a TTY to confirm."].join("\n"));
1207
- defaultRuntime.exit(1);
1208
- return;
1209
- }
1210
- const targetLabel = targetVersion ?? `${tag} (unknown)`;
1211
- const ok = await confirm({
1212
- message: stylePromptMessage(`Downgrading from ${currentVersion} to ${targetLabel} can break configuration. Continue?`),
1213
- initialValue: false
1214
- });
1215
- if (isCancel(ok) || !ok) {
1216
- if (!opts.json) defaultRuntime.log(theme.muted("Update cancelled."));
1217
- defaultRuntime.exit(0);
1218
- return;
1219
- }
1220
- }
1221
- if (updateInstallKind === "git" && opts.tag && !opts.json) defaultRuntime.log(theme.muted("Note: --tag applies to npm installs only; git updates ignore it."));
1222
- if (requestedChannel && configSnapshot.valid) {
1223
- await writeConfigFile({
1224
- ...configSnapshot.config,
1225
- update: {
1226
- ...configSnapshot.config.update,
1227
- channel: requestedChannel
1228
- }
1229
- });
1230
- if (!opts.json) defaultRuntime.log(theme.muted(`Update channel set to ${requestedChannel}.`));
1231
- }
1232
- const showProgress = !opts.json && process.stdout.isTTY;
1233
- if (!opts.json) {
1234
- defaultRuntime.log(theme.heading("Updating moldClaw..."));
1235
- defaultRuntime.log("");
1236
- }
1237
- const { progress, stop } = createUpdateProgress(showProgress);
1238
- const startedAt = Date.now();
1239
- let restartScriptPath = null;
1240
- let refreshGatewayServiceEnv = false;
1241
- const gatewayPort = resolveGatewayPort(configSnapshot.valid ? configSnapshot.config : void 0, process.env);
1242
- if (shouldRestart) try {
1243
- if (await resolveGatewayService().isLoaded({ env: process.env })) {
1244
- restartScriptPath = await prepareRestartScript(process.env, gatewayPort);
1245
- refreshGatewayServiceEnv = true;
1246
- }
1247
- } catch {}
1248
- const result = updateInstallKind === "package" ? await runPackageInstallUpdate({
1249
- root,
1250
- installKind,
1251
- tag,
1252
- timeoutMs: timeoutMs ?? 20 * 6e4,
1253
- startedAt,
1254
- progress
1255
- }) : await runGitUpdate({
1256
- root,
1257
- switchToGit,
1258
- installKind,
1259
- timeoutMs,
1260
- startedAt,
1261
- progress,
1262
- channel,
1263
- tag,
1264
- showProgress,
1265
- opts,
1266
- stop
1267
- });
1268
- stop();
1269
- printResult(result, {
1270
- ...opts,
1271
- hideSteps: showProgress
1272
- });
1273
- if (result.status === "error") {
1274
- defaultRuntime.exit(1);
1275
- return;
1276
- }
1277
- if (result.status === "skipped") {
1278
- if (result.reason === "dirty") defaultRuntime.log(theme.warn("Skipped: working directory has uncommitted changes. Commit or stash them first."));
1279
- if (result.reason === "not-git-install") {
1280
- defaultRuntime.log(theme.warn(`Skipped: this moldClaw install isn't a git checkout, and the package manager couldn't be detected. Update via your package manager, then run \`${replaceCliName(formatCliCommand("moldclaw doctor"), CLI_NAME)}\` and \`${replaceCliName(formatCliCommand("moldclaw gateway restart"), CLI_NAME)}\`.`));
1281
- defaultRuntime.log(theme.muted(`Examples: \`${replaceCliName("npm i -g moldclaw@latest", CLI_NAME)}\` or \`${replaceCliName("pnpm add -g moldclaw@latest", CLI_NAME)}\``));
1282
- }
1283
- defaultRuntime.exit(0);
1284
- return;
1285
- }
1286
- await updatePluginsAfterCoreUpdate({
1287
- root,
1288
- channel,
1289
- configSnapshot,
1290
- opts
1291
- });
1292
- await tryWriteCompletionCache(root, Boolean(opts.json));
1293
- await tryInstallShellCompletion({
1294
- jsonMode: Boolean(opts.json),
1295
- skipPrompt: Boolean(opts.yes)
1296
- });
1297
- await maybeRestartService({
1298
- shouldRestart,
1299
- result,
1300
- opts,
1301
- refreshServiceEnv: refreshGatewayServiceEnv,
1302
- gatewayPort,
1303
- restartScriptPath,
1304
- invocationCwd
1305
- });
1306
- if (!opts.json) defaultRuntime.log(theme.muted(pickUpdateQuip()));
1307
- }
1308
- //#endregion
1309
- //#region src/cli/update-cli/wizard.ts
1310
- async function updateWizardCommand(opts = {}) {
1311
- if (!process.stdin.isTTY) {
1312
- defaultRuntime.error("Update wizard requires a TTY. Use `moldclaw update --channel <stable|beta|dev>` instead.");
1313
- defaultRuntime.exit(1);
1314
- return;
1315
- }
1316
- const timeoutMs = parseTimeoutMsOrExit(opts.timeout);
1317
- if (timeoutMs === null) return;
1318
- const root = await resolveUpdateRoot();
1319
- const [updateStatus, configSnapshot] = await Promise.all([checkUpdateStatus({
1320
- root,
1321
- timeoutMs: timeoutMs ?? 3500,
1322
- fetchGit: false,
1323
- includeRegistry: false
1324
- }), readConfigFileSnapshot()]);
1325
- const channelInfo = resolveEffectiveUpdateChannel({
1326
- configChannel: configSnapshot.valid ? normalizeUpdateChannel(configSnapshot.config.update?.channel) : null,
1327
- installKind: updateStatus.installKind,
1328
- git: updateStatus.git ? {
1329
- tag: updateStatus.git.tag,
1330
- branch: updateStatus.git.branch
1331
- } : void 0
1332
- });
1333
- const channelLabel = formatUpdateChannelLabel({
1334
- channel: channelInfo.channel,
1335
- source: channelInfo.source,
1336
- gitTag: updateStatus.git?.tag ?? null,
1337
- gitBranch: updateStatus.git?.branch ?? null
1338
- });
1339
- const pickedChannel = await selectStyled({
1340
- message: "Update channel",
1341
- options: [
1342
- {
1343
- value: "keep",
1344
- label: `Keep current (${channelInfo.channel})`,
1345
- hint: channelLabel
1346
- },
1347
- {
1348
- value: "stable",
1349
- label: "Stable",
1350
- hint: "Tagged releases (npm latest)"
1351
- },
1352
- {
1353
- value: "beta",
1354
- label: "Beta",
1355
- hint: "Prereleases (npm beta)"
1356
- },
1357
- {
1358
- value: "dev",
1359
- label: "Dev",
1360
- hint: "Git main"
1361
- }
1362
- ],
1363
- initialValue: "keep"
1364
- });
1365
- if (isCancel(pickedChannel)) {
1366
- defaultRuntime.log(theme.muted("Update cancelled."));
1367
- defaultRuntime.exit(0);
1368
- return;
1369
- }
1370
- const requestedChannel = pickedChannel === "keep" ? null : pickedChannel;
1371
- if (requestedChannel === "dev" && updateStatus.installKind !== "git") {
1372
- const gitDir = resolveGitInstallDir();
1373
- if (!await isGitCheckout(gitDir)) {
1374
- if (await pathExists(gitDir)) {
1375
- if (!await isEmptyDir(gitDir)) {
1376
- defaultRuntime.error(`MOLDCLAW_GIT_DIR points at a non-git directory: ${gitDir}. Set MOLDCLAW_GIT_DIR to an empty folder or an moldclaw checkout.`);
1377
- defaultRuntime.exit(1);
1378
- return;
1379
- }
1380
- }
1381
- const ok = await confirm({
1382
- message: stylePromptMessage(`Create a git checkout at ${gitDir}? (override via MOLDCLAW_GIT_DIR)`),
1383
- initialValue: true
1384
- });
1385
- if (isCancel(ok) || !ok) {
1386
- defaultRuntime.log(theme.muted("Update cancelled."));
1387
- defaultRuntime.exit(0);
1388
- return;
1389
- }
1390
- }
1391
- }
1392
- const restart = await confirm({
1393
- message: stylePromptMessage("Restart the gateway service after update?"),
1394
- initialValue: true
1395
- });
1396
- if (isCancel(restart)) {
1397
- defaultRuntime.log(theme.muted("Update cancelled."));
1398
- defaultRuntime.exit(0);
1399
- return;
1400
- }
1401
- try {
1402
- await updateCommand({
1403
- channel: requestedChannel ?? void 0,
1404
- restart: Boolean(restart),
1405
- timeout: opts.timeout
1406
- });
1407
- } catch (err) {
1408
- defaultRuntime.error(String(err));
1409
- defaultRuntime.exit(1);
1410
- }
1411
- }
1412
- //#endregion
1413
- //#region src/cli/update-cli.ts
1414
- function inheritedUpdateJson(command) {
1415
- return Boolean(inheritOptionFromParent(command, "json"));
1416
- }
1417
- function inheritedUpdateTimeout(opts, command) {
1418
- const timeout = opts.timeout;
1419
- if (timeout) return timeout;
1420
- return inheritOptionFromParent(command, "timeout");
1421
- }
1422
- function registerUpdateCli(program) {
1423
- const update = program.command("update").description("Update moldClaw and inspect update channel status").option("--json", "Output result as JSON", false).option("--no-restart", "Skip restarting the gateway service after a successful update").option("--dry-run", "Preview update actions without making changes", false).option("--channel <stable|beta|dev>", "Persist update channel (git + npm)").option("--tag <dist-tag|version|spec>", "Override the package target for this update (dist-tag, version, or package spec)").option("--timeout <seconds>", "Timeout for each update step in seconds (default: 1200)").option("--yes", "Skip confirmation prompts (non-interactive)", false).addHelpText("after", () => {
1424
- const fmtExamples = [
1425
- ["moldclaw update", "Update a source checkout (git)"],
1426
- ["moldclaw update --channel beta", "Switch to beta channel (git + npm)"],
1427
- ["moldclaw update --channel dev", "Switch to dev channel (git + npm)"],
1428
- ["moldclaw update --tag beta", "One-off update to a dist-tag or version"],
1429
- ["moldclaw update --tag main", "One-off package install from GitHub main"],
1430
- ["moldclaw update --dry-run", "Preview actions without changing anything"],
1431
- ["moldclaw update --no-restart", "Update without restarting the service"],
1432
- ["moldclaw update --json", "Output result as JSON"],
1433
- ["moldclaw update --yes", "Non-interactive (accept downgrade prompts)"],
1434
- ["moldclaw update wizard", "Interactive update wizard"],
1435
- ["moldclaw --update", "Shorthand for moldclaw update"]
1436
- ].map(([cmd, desc]) => ` ${theme.command(cmd)} ${theme.muted(`# ${desc}`)}`).join("\n");
1437
- return `
1438
- ${theme.heading("What this does:")}
1439
- - Git checkouts: fetches, rebases, installs deps, builds, and runs doctor
1440
- - npm installs: updates via detected package manager
1441
-
1442
- ${theme.heading("Switch channels:")}
1443
- - Use --channel stable|beta|dev to persist the update channel in config
1444
- - Run moldclaw update status to see the active channel and source
1445
- - Use --tag <dist-tag|version|spec> for a one-off package update without persisting
1446
-
1447
- ${theme.heading("Non-interactive:")}
1448
- - Use --yes to accept downgrade prompts
1449
- - Combine with --channel/--tag/--restart/--json/--timeout as needed
1450
- - Use --dry-run to preview actions without writing config/installing/restarting
1451
-
1452
- ${theme.heading("Examples:")}
1453
- ${fmtExamples}
1454
-
1455
- ${theme.heading("Notes:")}
1456
- - Switch channels with --channel stable|beta|dev
1457
- - For global installs: auto-updates via detected package manager when possible (see docs/install/updating.md)
1458
- - Downgrades require confirmation (can break configuration)
1459
- - Skips update if the working directory has uncommitted changes
1460
-
1461
- ${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.moldclaw.ai/cli/update")}`;
1462
- }).action(async (opts) => {
1463
- try {
1464
- await updateCommand({
1465
- json: Boolean(opts.json),
1466
- restart: Boolean(opts.restart),
1467
- dryRun: Boolean(opts.dryRun),
1468
- channel: opts.channel,
1469
- tag: opts.tag,
1470
- timeout: opts.timeout,
1471
- yes: Boolean(opts.yes)
1472
- });
1473
- } catch (err) {
1474
- defaultRuntime.error(String(err));
1475
- defaultRuntime.exit(1);
1476
- }
1477
- });
1478
- update.command("wizard").description("Interactive update wizard").option("--timeout <seconds>", "Timeout for each update step in seconds (default: 1200)").addHelpText("after", `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.moldclaw.ai/cli/update")}\n`).action(async (opts, command) => {
1479
- try {
1480
- await updateWizardCommand({ timeout: inheritedUpdateTimeout(opts, command) });
1481
- } catch (err) {
1482
- defaultRuntime.error(String(err));
1483
- defaultRuntime.exit(1);
1484
- }
1485
- });
1486
- update.command("status").description("Show update channel and version status").option("--json", "Output result as JSON", false).option("--timeout <seconds>", "Timeout for update checks in seconds (default: 3)").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1487
- ["moldclaw update status", "Show channel + version status."],
1488
- ["moldclaw update status --json", "JSON output."],
1489
- ["moldclaw update status --timeout 10", "Custom timeout."]
1490
- ])}\n\n${theme.heading("Notes:")}\n${theme.muted("- Shows current update channel (stable/beta/dev) and source")}\n${theme.muted("- Includes git tag/branch/SHA for source checkouts")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.moldclaw.ai/cli/update")}`).action(async (opts, command) => {
1491
- try {
1492
- await updateStatusCommand({
1493
- json: Boolean(opts.json) || inheritedUpdateJson(command),
1494
- timeout: inheritedUpdateTimeout(opts, command)
1495
- });
1496
- } catch (err) {
1497
- defaultRuntime.error(String(err));
1498
- defaultRuntime.exit(1);
1499
- }
1500
- });
1501
- }
1502
- //#endregion
1503
- export { registerUpdateCli };