@spacebar_ai/moldclaw-core 2026.3.34 → 2026.3.37

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 (580) hide show
  1. package/dist/{accounts-gLr-Udmt.d.ts → accounts-Bm1YhbU7.d.ts} +1 -1
  2. package/dist/{accounts-aTt3QEQp.js → accounts-BzPAIbrp.js} +13 -13
  3. package/dist/{acp-cli-tiua8R7r.js → acp-cli-BP1xt-ID.js} +10 -10
  4. package/dist/{actions.runtime-BJ2UrUYy.js → actions.runtime-Dw5KU876.js} +14 -14
  5. package/dist/{actions.runtime-DUXmWtfx.js → actions.runtime-RAf9ZcgL.js} +14 -14
  6. package/dist/{agents-BO1djsfN.js → agents-CK2o_IzV.js} +6 -6
  7. package/dist/{agents-Dl_m9Dz3.js → agents-DCCmy28Z.js} +91 -91
  8. package/dist/{allow-list-BzInY5rv.js → allow-list-CDOR2KnO.js} +1 -1
  9. package/dist/{allowlist-DwkZFfsI.js → allowlist-Ces9UHWV.js} +1 -1
  10. package/dist/{api-DMTs3TAP.js → api-D1zeT9OB.js} +12 -12
  11. package/dist/{audit-Xw6kjEpM.js → audit-7XJK3Cs2.js} +1 -1
  12. package/dist/{audit-DAuJGhfF.js → audit-DKNWWI6t.js} +6 -6
  13. package/dist/{audit-channel.collect.runtime-taBsLq7H.js → audit-channel.collect.runtime-CQ17xAdN.js} +11 -11
  14. package/dist/{audit-channel.runtime-CiTkaeMY.js → audit-channel.runtime-LNOHZIIE.js} +10 -10
  15. package/dist/{audit-membership-runtime-lGPrdwS1.js → audit-membership-runtime-CJskdoel.js} +10 -10
  16. package/dist/{audit.runtime-CzCMwKUF.js → audit.runtime-CheLBGqi.js} +11 -11
  17. package/dist/{auth-C-elARYa.js → auth-44xGYGG8.js} +1 -1
  18. package/dist/{auth-choice-FjocOW3y.js → auth-choice-DBxeGNdv.js} +5 -5
  19. package/dist/{auth-choice-B_HSeZ8P.js → auth-choice-Tq5daLrn.js} +16 -16
  20. package/dist/{auth-choice-options-CYkXXjhE.js → auth-choice-options-C0BTw7o7.js} +1 -1
  21. package/dist/{auth-choice-prompt-DxdrBhaO.js → auth-choice-prompt-CxCfqQmI.js} +1 -1
  22. package/dist/{auth-choice-prompt-CgO0ut4b.js → auth-choice-prompt-H-g-LgTE.js} +13 -13
  23. package/dist/{auth-choice-D6gXwfOu.js → auth-choice-uIO7ak5S.js} +15 -15
  24. package/dist/{auth-choice.plugin-providers.runtime-8hgvk2I1.js → auth-choice.plugin-providers.runtime-BlhXpULI.js} +11 -11
  25. package/dist/{auth-profiles-DyDb7qXP.js → auth-profiles-DrQTUlZ0.js} +44 -44
  26. package/dist/{auth-profiles.runtime-CBcfp2Fv.js → auth-profiles.runtime-Dzcrxpt4.js} +10 -10
  27. package/dist/{bluebubbles-D3cCqgY_.js → bluebubbles-CA6wAJju.js} +1 -1
  28. package/dist/{bluebubbles-U2sAfO4_.d.ts → bluebubbles-zaW9rbBq.d.ts} +1 -1
  29. package/dist/{bot-DW12K3bO.d.ts → bot-DfZRcR0u.d.ts} +3 -3
  30. package/dist/{browser-cli-BxWtHM96.js → browser-cli-BNn6Kq3C.js} +4 -4
  31. package/dist/build-info.json +3 -3
  32. package/dist/bundled/boot-md/handler.d.ts +1 -1
  33. package/dist/bundled/boot-md/handler.js +10 -10
  34. package/dist/bundled/bootstrap-extra-files/handler.d.ts +1 -1
  35. package/dist/bundled/command-logger/handler.d.ts +1 -1
  36. package/dist/bundled/session-memory/handler.d.ts +1 -1
  37. package/dist/bundled/session-memory/handler.js +11 -11
  38. package/dist/{call-DMTt4nWs.js → call-BmrlO1_v.js} +3 -3
  39. package/dist/{call-7m_dY36v.js → call-DPyZUKSd.js} +2 -2
  40. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  41. package/dist/{channel-Bo7ZtC9w.js → channel-5KycBCHQ.js} +3 -3
  42. package/dist/{channel-dsemxBCh.js → channel-BEUqYzMZ.js} +2 -2
  43. package/dist/{channel-ypCSZ9u7.js → channel-BMmCBS2O.js} +2 -2
  44. package/dist/{channel-CUUd0E2T.js → channel-BqDxzcJl.js} +2 -2
  45. package/dist/{channel-JYUnYCRT.js → channel-BrSHLgUs.js} +5 -5
  46. package/dist/{channel-BJ55aM6h.js → channel-CDyFCMwY.js} +5 -5
  47. package/dist/{channel-DX5vmC6L2.js → channel-CM67l0w_2.js} +5 -5
  48. package/dist/{channel-BauhvMo6.js → channel-CN4ZNOBX.js} +5 -5
  49. package/dist/{channel-SWTLi37Q.js → channel-Cme10VsR.js} +3 -3
  50. package/dist/{channel-CdVAUZg6.js → channel-CworwjuR.js} +2 -2
  51. package/dist/{channel-BtPmXFlD.js → channel-Cx1LE-bH.js} +3 -3
  52. package/dist/{channel-Dv90HIYs.js → channel-D1dePvQM.js} +2 -2
  53. package/dist/{channel-DjdaavsG.js → channel-DOpp-LRL.js} +6 -6
  54. package/dist/{channel-DVxo3tqK.js → channel-DTeE5Qk1.js} +3 -3
  55. package/dist/{channel-jBj8WGWf.js → channel-Dfu6KIts.js} +2 -2
  56. package/dist/{channel-BpRYEehx.js → channel-Dn95hilt.js} +4 -4
  57. package/dist/{channel-CRL-VOKm.js → channel-DqKKLqU_.js} +5 -5
  58. package/dist/{channel-Cz5OEDag.js → channel-JZ_UljnZ.js} +4 -4
  59. package/dist/{channel-GYK4Wp6U.js → channel-OSxNuXf-.js} +5 -5
  60. package/dist/{channel-account-context-ZyP18QGU.js → channel-account-context-CTPSh_vb.js} +1 -1
  61. package/dist/{channel-zcQ2cbA5.js → channel-f27UpFRA.js} +6 -6
  62. package/dist/{channel-options-C35xho-0.js → channel-options-Bjd1gGvu.js} +2 -2
  63. package/dist/{channel-summary-CYeYScvL.js → channel-summary-Dm7GAPF5.js} +10 -10
  64. package/dist/{channel.runtime-BjD5ufM9.js → channel.runtime-0RA_Ax14.js} +16 -16
  65. package/dist/{channel.runtime-C1Cf7DLF.js → channel.runtime-BB313CHb.js} +13 -13
  66. package/dist/{channel.runtime-DWgANw6A.js → channel.runtime-Bd9IBjoK.js} +11 -11
  67. package/dist/{channel.runtime-DUo4xx-7.js → channel.runtime-Bo9SUzES.js} +14 -14
  68. package/dist/{channel.runtime-B9on4Fen.js → channel.runtime-CA_YwYiY.js} +14 -14
  69. package/dist/{channel.runtime-CQBYIkDh.js → channel.runtime-CYhY3lf-.js} +12 -12
  70. package/dist/{channel.runtime-BOoBHfgS.js → channel.runtime-CuBLYsPl.js} +11 -11
  71. package/dist/{channel.runtime-adxyrg1d.js → channel.runtime-Dsl_a0b9.js} +12 -12
  72. package/dist/{channel.runtime-tzdzCnEl.js → channel.runtime-_AgWW9dr.js} +13 -13
  73. package/dist/{channel.runtime-CA_K59bl.js → channel.runtime-nMf9soYW.js} +14 -14
  74. package/dist/{channel.runtime-RKbc5CHW.js → channel.runtime-pYRgCYzy.js} +13 -13
  75. package/dist/{channel.setup-B7QefUxn.js → channel.setup-B8nxJN4X.js} +2 -2
  76. package/dist/{channel.setup-DwGSBKEO.js → channel.setup-BPnahjyf.js} +2 -2
  77. package/dist/{channel.setup-DVtTTBZ6.js → channel.setup-BaHfL6Dn.js} +3 -3
  78. package/dist/{channel.setup-DZngHKej.js → channel.setup-D74ScuEP.js} +2 -2
  79. package/dist/{channel.setup-BFmRgNan.js → channel.setup-DPc8gnm4.js} +1 -1
  80. package/dist/{channel.setup-CHZXQy6R.js → channel.setup-DTnNIegt.js} +1 -1
  81. package/dist/{channel.setup-D49mcTEP.js → channel.setup-esiaK_kT.js} +1 -1
  82. package/dist/channels/plugins/actions/discord.d.ts +1 -1
  83. package/dist/channels/plugins/actions/discord.js +10 -10
  84. package/dist/channels/plugins/actions/signal.d.ts +1 -1
  85. package/dist/channels/plugins/actions/signal.js +10 -10
  86. package/dist/channels/plugins/actions/telegram.d.ts +1 -1
  87. package/dist/channels/plugins/actions/telegram.js +10 -10
  88. package/dist/channels/plugins/agent-tools/whatsapp-login.d.ts +1 -1
  89. package/dist/channels/plugins/agent-tools/whatsapp-login.js +10 -10
  90. package/dist/{channels-Bnvu9-jD.js → channels-DpdZfCr0.js} +1 -1
  91. package/dist/{channels-J50cvSaQ.js → channels-DufNsiRp.js} +17 -17
  92. package/dist/{channels-cli-CSZ807EQ.js → channels-cli-BzVAy4zl.js} +19 -19
  93. package/dist/{channels-status-issues-J14SNnHw.js → channels-status-issues-Bl1SnxQh.js} +1 -1
  94. package/dist/{clawbot-cli-1pwWl-d1.js → clawbot-cli-C0Okk4-N.js} +11 -11
  95. package/dist/cli/daemon-cli.js +1 -1
  96. package/dist/{cli-DFhlaNra.js → cli-CbEsnIC3.js} +10 -10
  97. package/dist/{command-registry-_7ATg_o7.js → command-registry-D7yyimgQ.js} +13 -13
  98. package/dist/{command-registry-DjXtX4Gc.js → command-registry-DpO-9zF6.js} +2 -2
  99. package/dist/{command-secret-gateway-caYNrdAM.js → command-secret-gateway-CzYWsrqy.js} +10 -10
  100. package/dist/{compact.runtime-BTEOm0QT.js → compact.runtime-ClR_gpSY.js} +10 -10
  101. package/dist/{completion-cli-ChlcvXnJ.js → completion-cli-CkUn1rS-.js} +2 -2
  102. package/dist/{completion-cli-BxjbzBG5.js → completion-cli-YHWpaDMV.js} +3 -3
  103. package/dist/{config-cli-DDMEwnZz.js → config-cli-BixCqMvz.js} +12 -12
  104. package/dist/{config-guard-DJ8la5es.js → config-guard-DSpD6TGR.js} +1 -1
  105. package/dist/{config-validation-69BS9xEX.js → config-validation-DAGZiSC9.js} +1 -1
  106. package/dist/{configure-CCYSxphO.js → configure-CNkGygBr.js} +14 -14
  107. package/dist/{configure-Bp5f4Url.js → configure-DgwY5Usl.js} +97 -97
  108. package/dist/{core-dPA4nFkn.d.ts → core-DHIwz9F8.d.ts} +1 -1
  109. package/dist/{cron-cli-BmgHb9qo.js → cron-cli-BkuWj3Mt.js} +11 -11
  110. package/dist/{daemon-cli-BmKNuIYy.js → daemon-cli-DDycXexu.js} +3 -3
  111. package/dist/{daemon-install-BnuMtj5i.js → daemon-install-dn2kC67M.js} +12 -12
  112. package/dist/{deliver-runtime-rxgXLPmI.js → deliver-runtime-CjzjNvfD.js} +10 -10
  113. package/dist/{deliver-Dk3MOfDe.js → deliver-yhe2g8_w.js} +10 -10
  114. package/dist/{device-id-cli-B9imn0Kc.js → device-id-cli-BuGh2DaA.js} +2 -2
  115. package/dist/device-identity-B4itFxET.js +340 -0
  116. package/dist/{devices-cli-CHUxOiPW.js → devices-cli-ClL9DKKe.js} +3 -3
  117. package/dist/{directory-cli-DPeXGtt_.js → directory-cli-b4FkF0YS.js} +10 -10
  118. package/dist/{directory-config-helpers-CpU1oflo.d.ts → directory-config-helpers-DroQgwas.d.ts} +1 -1
  119. package/dist/{directory.static-BZR7ICt0.js → directory.static-zvNwdlxR.js} +1 -1
  120. package/dist/{discord-2_kIR52A.js → discord-CEVo1fuW.js} +10 -10
  121. package/dist/{discovery-PnxQXxab.js → discovery-HRjgZ5qk.js} +1 -1
  122. package/dist/{dm-policy-shared-73A52W6E.d.ts → dm-policy-shared-BTiyOc7g.d.ts} +1 -1
  123. package/dist/{doctor-completion-B6Hpiujc.js → doctor-completion-wEPFcLD4.js} +1 -1
  124. package/dist/{doctor-config-flow-ByLyEBFi.js → doctor-config-flow-BTghDAlB.js} +11 -11
  125. package/dist/{doctor-config-flow-CxMnn2TX.js → doctor-config-flow-ikXWDCn0.js} +1 -1
  126. package/dist/{enable-CAgRSx65.js → enable-DK0osKvC.js} +1 -1
  127. package/dist/entry.js +1 -1
  128. package/dist/{exec-approvals-cli-pVPZAK26.js → exec-approvals-cli-C02fa6Q5.js} +5 -5
  129. package/dist/extensions/acpx/index.d.ts +1 -1
  130. package/dist/extensions/amazon-bedrock/index.d.ts +1 -1
  131. package/dist/extensions/anthropic/index.d.ts +1 -1
  132. package/dist/extensions/anthropic/index.js +10 -10
  133. package/dist/extensions/bluebubbles/index.d.ts +1 -1
  134. package/dist/extensions/bluebubbles/index.js +14 -14
  135. package/dist/extensions/bluebubbles/setup-entry.d.ts +1 -1
  136. package/dist/extensions/bluebubbles/setup-entry.js +14 -14
  137. package/dist/extensions/brave/index.d.ts +1 -1
  138. package/dist/extensions/byteplus/index.d.ts +1 -1
  139. package/dist/extensions/byteplus/index.js +10 -10
  140. package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
  141. package/dist/extensions/cloudflare-ai-gateway/index.js +10 -10
  142. package/dist/extensions/copilot-proxy/index.d.ts +1 -1
  143. package/dist/extensions/device-pair/index.d.ts +1 -1
  144. package/dist/extensions/diagnostics-otel/index.d.ts +1 -1
  145. package/dist/extensions/diffs/index.d.ts +1 -1
  146. package/dist/extensions/discord/index.d.ts +1 -1
  147. package/dist/extensions/discord/index.js +15 -15
  148. package/dist/extensions/discord/setup-entry.d.ts +1 -1
  149. package/dist/extensions/discord/setup-entry.js +13 -13
  150. package/dist/extensions/elevenlabs/index.d.ts +1 -1
  151. package/dist/extensions/elevenlabs/index.js +10 -10
  152. package/dist/extensions/feishu/index.d.ts +2 -2
  153. package/dist/extensions/feishu/index.js +15 -15
  154. package/dist/extensions/feishu/setup-entry.d.ts +2 -2
  155. package/dist/extensions/feishu/setup-entry.js +12 -12
  156. package/dist/extensions/firecrawl/index.d.ts +1 -1
  157. package/dist/extensions/firecrawl/index.js +10 -10
  158. package/dist/extensions/github-copilot/index.d.ts +1 -1
  159. package/dist/extensions/github-copilot/index.js +10 -10
  160. package/dist/extensions/google/index.d.ts +1 -1
  161. package/dist/extensions/google/index.js +10 -10
  162. package/dist/extensions/googlechat/index.d.ts +1 -1
  163. package/dist/extensions/googlechat/index.js +13 -13
  164. package/dist/extensions/googlechat/setup-entry.d.ts +1 -1
  165. package/dist/extensions/googlechat/setup-entry.js +13 -13
  166. package/dist/extensions/huggingface/index.d.ts +1 -1
  167. package/dist/extensions/huggingface/index.js +10 -10
  168. package/dist/extensions/imessage/index.d.ts +1 -1
  169. package/dist/extensions/imessage/index.js +14 -14
  170. package/dist/extensions/imessage/setup-entry.d.ts +1 -1
  171. package/dist/extensions/imessage/setup-entry.js +14 -14
  172. package/dist/extensions/irc/index.d.ts +1 -1
  173. package/dist/extensions/irc/index.js +13 -13
  174. package/dist/extensions/irc/setup-entry.d.ts +2 -2
  175. package/dist/extensions/irc/setup-entry.js +13 -13
  176. package/dist/extensions/kakao-talkchannel/index.d.ts +1 -1
  177. package/dist/extensions/kilocode/index.d.ts +1 -1
  178. package/dist/extensions/kilocode/index.js +10 -10
  179. package/dist/extensions/kimi-coding/index.d.ts +1 -1
  180. package/dist/extensions/kimi-coding/index.js +10 -10
  181. package/dist/extensions/line/index.d.ts +1 -1
  182. package/dist/extensions/line/index.js +12 -12
  183. package/dist/extensions/line/setup-entry.d.ts +1 -1
  184. package/dist/extensions/line/setup-entry.js +12 -12
  185. package/dist/extensions/llm-task/index.d.ts +1 -1
  186. package/dist/extensions/llm-task/index.js +10 -10
  187. package/dist/extensions/lobster/index.d.ts +1 -1
  188. package/dist/extensions/matrix/index.d.ts +1 -1
  189. package/dist/extensions/matrix/index.js +15 -15
  190. package/dist/extensions/matrix/setup-entry.d.ts +2 -2
  191. package/dist/extensions/matrix/setup-entry.js +15 -15
  192. package/dist/extensions/mattermost/index.d.ts +1 -1
  193. package/dist/extensions/mattermost/index.js +12 -12
  194. package/dist/extensions/mattermost/setup-entry.d.ts +1 -1
  195. package/dist/extensions/mattermost/setup-entry.js +12 -12
  196. package/dist/extensions/memory-core/index.d.ts +1 -1
  197. package/dist/extensions/memory-lancedb/index.d.ts +1 -1
  198. package/dist/extensions/microsoft/index.d.ts +1 -1
  199. package/dist/extensions/microsoft/index.js +10 -10
  200. package/dist/extensions/minimax/index.d.ts +1 -1
  201. package/dist/extensions/minimax/index.js +10 -10
  202. package/dist/extensions/mistral/index.d.ts +1 -1
  203. package/dist/extensions/mistral/index.js +10 -10
  204. package/dist/extensions/modelstudio/index.d.ts +1 -1
  205. package/dist/extensions/modelstudio/index.js +10 -10
  206. package/dist/extensions/moonshot/index.d.ts +1 -1
  207. package/dist/extensions/moonshot/index.js +10 -10
  208. package/dist/extensions/msteams/index.d.ts +1 -1
  209. package/dist/extensions/msteams/index.js +15 -15
  210. package/dist/extensions/msteams/setup-entry.d.ts +1 -1
  211. package/dist/extensions/msteams/setup-entry.js +15 -15
  212. package/dist/extensions/nextcloud-talk/index.d.ts +1 -1
  213. package/dist/extensions/nextcloud-talk/index.js +12 -12
  214. package/dist/extensions/nextcloud-talk/setup-entry.d.ts +1 -1
  215. package/dist/extensions/nextcloud-talk/setup-entry.js +12 -12
  216. package/dist/extensions/nostr/index.d.ts +1 -1
  217. package/dist/extensions/nostr/index.js +12 -12
  218. package/dist/extensions/nostr/setup-entry.d.ts +1 -1
  219. package/dist/extensions/nostr/setup-entry.js +12 -12
  220. package/dist/extensions/nvidia/index.d.ts +1 -1
  221. package/dist/extensions/ollama/index.d.ts +1 -1
  222. package/dist/extensions/open-prose/index.d.ts +1 -1
  223. package/dist/extensions/openai/index.d.ts +1 -1
  224. package/dist/extensions/openai/index.js +10 -10
  225. package/dist/extensions/opencode/index.d.ts +1 -1
  226. package/dist/extensions/opencode/index.js +10 -10
  227. package/dist/extensions/opencode-go/index.d.ts +1 -1
  228. package/dist/extensions/opencode-go/index.js +10 -10
  229. package/dist/extensions/openrouter/index.d.ts +1 -1
  230. package/dist/extensions/openrouter/index.js +10 -10
  231. package/dist/extensions/openshell/index.d.ts +1 -1
  232. package/dist/extensions/openshell/index.js +10 -10
  233. package/dist/extensions/perplexity/index.d.ts +1 -1
  234. package/dist/extensions/phone-control/index.d.ts +1 -1
  235. package/dist/extensions/qianfan/index.d.ts +1 -1
  236. package/dist/extensions/qianfan/index.js +10 -10
  237. package/dist/extensions/qwen-portal-auth/index.d.ts +1 -1
  238. package/dist/extensions/qwen-portal-auth/index.js +10 -10
  239. package/dist/extensions/sglang/index.d.ts +1 -1
  240. package/dist/extensions/sglang/index.js +10 -10
  241. package/dist/extensions/signal/index.d.ts +1 -1
  242. package/dist/extensions/signal/index.js +13 -13
  243. package/dist/extensions/signal/setup-entry.d.ts +1 -1
  244. package/dist/extensions/signal/setup-entry.js +13 -13
  245. package/dist/extensions/slack/index.d.ts +1 -1
  246. package/dist/extensions/slack/index.js +14 -14
  247. package/dist/extensions/slack/setup-entry.d.ts +1 -1
  248. package/dist/extensions/slack/setup-entry.js +13 -13
  249. package/dist/extensions/synology-chat/index.d.ts +1 -1
  250. package/dist/extensions/synology-chat/index.js +12 -12
  251. package/dist/extensions/synology-chat/setup-entry.d.ts +1 -1
  252. package/dist/extensions/synology-chat/setup-entry.js +12 -12
  253. package/dist/extensions/synthetic/index.d.ts +1 -1
  254. package/dist/extensions/synthetic/index.js +10 -10
  255. package/dist/extensions/talk-voice/index.d.ts +1 -1
  256. package/dist/extensions/talk-voice/index.js +10 -10
  257. package/dist/extensions/telegram/index.d.ts +1 -1
  258. package/dist/extensions/telegram/index.js +13 -13
  259. package/dist/extensions/telegram/setup-entry.d.ts +1 -1
  260. package/dist/extensions/telegram/setup-entry.js +12 -12
  261. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  262. package/dist/extensions/tlon/index.d.ts +1 -1
  263. package/dist/extensions/tlon/index.js +12 -12
  264. package/dist/extensions/tlon/setup-entry.d.ts +1 -1
  265. package/dist/extensions/tlon/setup-entry.js +12 -12
  266. package/dist/extensions/together/index.d.ts +1 -1
  267. package/dist/extensions/together/index.js +10 -10
  268. package/dist/extensions/twitch/index.d.ts +2 -2
  269. package/dist/extensions/twitch/index.js +12 -12
  270. package/dist/extensions/venice/index.d.ts +1 -1
  271. package/dist/extensions/venice/index.js +10 -10
  272. package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
  273. package/dist/extensions/vercel-ai-gateway/index.js +10 -10
  274. package/dist/extensions/vllm/index.d.ts +1 -1
  275. package/dist/extensions/vllm/index.js +10 -10
  276. package/dist/extensions/voice-call/index.d.ts +1 -1
  277. package/dist/extensions/voice-call/index.js +10 -10
  278. package/dist/extensions/volcengine/index.d.ts +1 -1
  279. package/dist/extensions/volcengine/index.js +10 -10
  280. package/dist/extensions/whatsapp/index.d.ts +1 -1
  281. package/dist/extensions/whatsapp/index.js +13 -13
  282. package/dist/extensions/whatsapp/setup-entry.d.ts +1 -1
  283. package/dist/extensions/whatsapp/setup-entry.js +13 -13
  284. package/dist/extensions/xai/index.d.ts +1 -1
  285. package/dist/extensions/xai/index.js +10 -10
  286. package/dist/extensions/xiaomi/index.d.ts +1 -1
  287. package/dist/extensions/xiaomi/index.js +10 -10
  288. package/dist/extensions/zai/index.d.ts +1 -1
  289. package/dist/extensions/zai/index.js +10 -10
  290. package/dist/extensions/zalo/index.d.ts +1 -1
  291. package/dist/extensions/zalo/index.js +14 -14
  292. package/dist/extensions/zalo/setup-entry.d.ts +1 -1
  293. package/dist/extensions/zalo/setup-entry.js +14 -14
  294. package/dist/extensions/zalouser/index.d.ts +1 -1
  295. package/dist/extensions/zalouser/index.js +15 -15
  296. package/dist/extensions/zalouser/setup-entry.d.ts +1 -1
  297. package/dist/extensions/zalouser/setup-entry.js +15 -15
  298. package/dist/{feishu-B5JDcyF9.d.ts → feishu-CGHy3STk.d.ts} +1 -1
  299. package/dist/{gateway-cli-D8AiySMi.js → gateway-cli-B8SNm71U.js} +29 -29
  300. package/dist/{gateway-install-token-DyVeqYWZ.js → gateway-install-token-Bqz5WVOS.js} +2 -2
  301. package/dist/{gateway-rpc-DCttnSpr.js → gateway-rpc-JBaYzgfZ.js} +1 -1
  302. package/dist/{gateway-runtime-D4jWu9X8.js → gateway-runtime-BY9n2Yad.js} +2 -2
  303. package/dist/{googlechat-De-T7C31.d.ts → googlechat-DsQv9cGP.d.ts} +1 -1
  304. package/dist/{googlechat-B1K3TJLW.js → googlechat-Dyz5w7b9.js} +1 -1
  305. package/dist/{health-DxcmcoUE.js → health-BGqyjq3-.js} +11 -11
  306. package/dist/{health-CSqFI1bL.js → health-BRZkH6HZ.js} +2 -2
  307. package/dist/hooks-DgFYiL3V.d.ts +6 -0
  308. package/dist/{hooks-cli-CRC1snix.js → hooks-cli-T0ApEpIT.js} +12 -12
  309. package/dist/{http-registry-C-KXqwnj.d.ts → http-registry-QnOYkWLc.d.ts} +1 -1
  310. package/dist/{image-generation-CafM5hZh.d.ts → image-generation-BscSmF4m.d.ts} +1 -1
  311. package/dist/{imessage-CRzF2-NT.js → imessage-BzwmqcT-.js} +11 -11
  312. package/dist/{imessage-CE6zAb4o.js → imessage-Clrr8Idv.js} +1 -1
  313. package/dist/{inbound-reply-dispatch-BMshOyKq.js → inbound-reply-dispatch--TyZaK4a.js} +1 -1
  314. package/dist/{inbound-reply-dispatch-DmL0KWLe.d.ts → inbound-reply-dispatch-Ccgw4KWV.d.ts} +1 -1
  315. package/dist/index.js +2 -2
  316. package/dist/{install-target-DSt05xEK.js → install-target-C9nbXzIr.js} +1 -1
  317. package/dist/{installs-Dz8MzLg0.js → installs-1ZHp7xSM.js} +2 -2
  318. package/dist/{irc-Da5RV8Mv.js → irc-B1LR35vq.js} +1 -1
  319. package/dist/{library-CMv9rD3-.js → library-DsyjDU8p.js} +10 -10
  320. package/dist/line/accounts.d.ts +1 -1
  321. package/dist/line/send.d.ts +1 -1
  322. package/dist/line/template-messages.d.ts +1 -1
  323. package/dist/{line-Dbnzpi71.js → line-BZfP5AlE.js} +1 -1
  324. package/dist/{line-CKU3ER-n.d.ts → line-DaJDJq2_.d.ts} +1 -1
  325. package/dist/{llm-slug-generator-CHTP5DcE.js → llm-slug-generator-BvIa49bg.js} +1 -1
  326. package/dist/llm-slug-generator.d.ts +1 -1
  327. package/dist/llm-slug-generator.js +11 -11
  328. package/dist/{login-qr-D61-Sako.js → login-qr-DjE2AFRR.js} +11 -11
  329. package/dist/{login-qr-CwT-SPjx.js → login-qr-hYJJrK8N.js} +1 -1
  330. package/dist/{logs-cli-hF95bT7S.js → logs-cli-DY3RgYr2.js} +4 -4
  331. package/dist/{manager-runtime-ChgSyMvv.js → manager-runtime-C1PPAIA8.js} +10 -10
  332. package/dist/{manager.runtime-CzldjguT.js → manager.runtime-CT6UVy8g.js} +10 -10
  333. package/dist/{matrix-D-_Z6Em0.js → matrix-B0C68i1T.js} +15 -15
  334. package/dist/{matrix-fC6NrFM5.d.ts → matrix-CQIR063o.d.ts} +1 -1
  335. package/dist/{matrix-B--w1GSI.js → matrix-Ci3ucuPd.js} +1 -1
  336. package/dist/{media-understanding.runtime-DuLJcGEg.js → media-understanding.runtime-ma7L4e89.js} +10 -10
  337. package/dist/{memory-cli-CgDNuoFK.js → memory-cli-CkW3piTH.js} +10 -10
  338. package/dist/{method-scopes-DTNYkocH.js → method-scopes-CfRtamRU.js} +1 -1
  339. package/dist/{model-auth-markers-B1bbs9Qd.d.ts → model-auth-markers-DWokuCMN.d.ts} +1 -1
  340. package/dist/{model-picker-ChidUjf5.js → model-picker-CZKZj-hT.js} +11 -11
  341. package/dist/{model-picker-_7wNmQeq.js → model-picker-CrBCe8vo.js} +2 -2
  342. package/dist/{model-picker.runtime-DDJKYGGZ.js → model-picker.runtime-Cdwz_fZo.js} +13 -13
  343. package/dist/{model-suppression.runtime-B1oWkT9q.js → model-suppression.runtime-BDoyJIOY.js} +10 -10
  344. package/dist/{models-CRZW_iba.js → models-CE3YSrbF.js} +5 -5
  345. package/dist/{models-cli-DSFsDpvN.js → models-cli-DylUTeWq.js} +13 -13
  346. package/dist/{models-config-B6Y43x2y.js → models-config-e4-AUVET.js} +10 -10
  347. package/dist/{models-config.providers.discovery-BKB5JH9M.d.ts → models-config.providers.discovery-LRG9KPxU.d.ts} +1 -1
  348. package/dist/{models-C45UyPcv.js → models-wGbqbV4H.js} +13 -13
  349. package/dist/{monitor-DfeLMT-s.js → monitor-8V2T1pCE.js} +1 -1
  350. package/dist/{monitor-DRq2puEX.js → monitor-B-2Aa8GD.js} +12 -12
  351. package/dist/{monitor-Jd6o0IgW.js → monitor-BbmC_lU2.js} +13 -13
  352. package/dist/{monitor-CGkbzLZc.js → monitor-Bfo5hc8M.js} +14 -14
  353. package/dist/{monitor-0FJ4Fqxs.js → monitor-C1iBNw2u.js} +11 -11
  354. package/dist/{monitor-Bai3gSt3.js → monitor-C7FOVAeJ.js} +3 -3
  355. package/dist/{monitor-Bm-qK77y.js → monitor-D9bz6Agw.js} +2 -2
  356. package/dist/{monitor-shared-A8TyiTd5.js → monitor-shared-BlmHa30L.js} +2 -2
  357. package/dist/{msteams-ClfaxBW-.js → msteams-0JZW4POL.js} +1 -1
  358. package/dist/{node-cli-cXey0lT8.js → node-cli-BaOSPbEk.js} +10 -10
  359. package/dist/{nodes-cli-Aw1cBzM1.js → nodes-cli-BQEmWkVH.js} +11 -11
  360. package/dist/{nostr-CbfZLQD-.js → nostr-BZf7bi2h.js} +1 -1
  361. package/dist/{nostr-D8scBiYq.d.ts → nostr-BzAqoNSm.d.ts} +1 -1
  362. package/dist/{npm-resolution-Da-EcYao.js → npm-resolution-D0VyFlEK.js} +1 -1
  363. package/dist/{onboard-VOOS_fTl.js → onboard-BFjFXpCK.js} +5 -5
  364. package/dist/{onboard-channels-Bl5wjZWp.js → onboard-channels-2wMLaEzS.js} +31 -31
  365. package/dist/{onboard-channels-CQC4vlES.js → onboard-channels-5UVh94_t.js} +81 -81
  366. package/dist/{onboard-custom-xcC7B9fo.js → onboard-custom-DzHXLGqw.js} +1 -1
  367. package/dist/{onboard-custom-D93_5sRj.js → onboard-custom-qhbnuz9z.js} +12 -12
  368. package/dist/{onboard-helpers-CC4K-7kv.js → onboard-helpers-BBa7BbYy.js} +11 -11
  369. package/dist/{onboard-helpers-CvdagIOX.js → onboard-helpers-DoJFaoyv.js} +1 -1
  370. package/dist/{onboard-remote-DlymX-KF.js → onboard-remote-CF_1mYIe.js} +12 -12
  371. package/dist/{onboard-remote-B0Ac92g6.js → onboard-remote-Cp1q05io.js} +2 -2
  372. package/dist/{onboard-search-BH04Eytf.js → onboard-search-BR6N4Zmv.js} +11 -11
  373. package/dist/{onboard-skills-BdEHHwpa.js → onboard-skills-BEeBLieA.js} +13 -13
  374. package/dist/{onboard-skills-BdlaAK3v.js → onboard-skills-DM-DhfyP.js} +2 -2
  375. package/dist/{outbound-media-CgNYEQWb.d.ts → outbound-media-BtoNxAOs.d.ts} +1 -1
  376. package/dist/{outbound-media-CxsKoFDS.js → outbound-media-CE4IqdT3.js} +1 -1
  377. package/dist/{pairing-access-Dsiu5Mvl.d.ts → pairing-access-C55M4dAm.d.ts} +1 -1
  378. package/dist/{pairing-cli-kJbZ4qmk.js → pairing-cli-DP6wYVQ8.js} +10 -10
  379. package/dist/{persistent-dedupe-DMLOqJ23.d.ts → persistent-dedupe-B73RPzzU.d.ts} +1 -1
  380. package/dist/{pi-model-discovery-runtime-SFFLcDzP.js → pi-model-discovery-runtime-i4mbEh4K.js} +10 -10
  381. package/dist/{plugin-install-BMtE-d99.js → plugin-install-DAFoDs9E.js} +4 -4
  382. package/dist/{plugin-install-8cg59k_V.js → plugin-install-DsTO8NA1.js} +15 -15
  383. package/dist/{plugin-install-plan-DovxxuhN.js → plugin-install-plan-DNvK04_n.js} +1 -1
  384. package/dist/{plugin-registry-CUhF3YiX.js → plugin-registry-65jzPs00.js} +11 -11
  385. package/dist/{plugin-registry-v-Oje0xS.js → plugin-registry-BwdSuLla.js} +1 -1
  386. package/dist/plugin-sdk/account-resolution.js +10 -10
  387. package/dist/plugin-sdk/acp-runtime.js +10 -10
  388. package/dist/plugin-sdk/agent-runtime.js +10 -10
  389. package/dist/plugin-sdk/bluebubbles.js +12 -12
  390. package/dist/plugin-sdk/channel-config-helpers.js +10 -10
  391. package/dist/plugin-sdk/channel-policy.js +10 -10
  392. package/dist/plugin-sdk/channel-runtime.js +10 -10
  393. package/dist/plugin-sdk/compat.js +11 -11
  394. package/dist/plugin-sdk/config-runtime.js +10 -10
  395. package/dist/plugin-sdk/conversation-runtime.js +10 -10
  396. package/dist/plugin-sdk/discord.js +10 -10
  397. package/dist/plugin-sdk/feishu.js +10 -10
  398. package/dist/plugin-sdk/gateway-runtime.js +4 -4
  399. package/dist/plugin-sdk/googlechat.js +12 -12
  400. package/dist/plugin-sdk/image-generation-runtime.js +10 -10
  401. package/dist/plugin-sdk/image-generation.js +10 -10
  402. package/dist/plugin-sdk/imessage.js +11 -11
  403. package/dist/plugin-sdk/index.js +10 -10
  404. package/dist/plugin-sdk/infra-runtime.js +10 -10
  405. package/dist/plugin-sdk/irc.js +12 -12
  406. package/dist/plugin-sdk/line.js +11 -11
  407. package/dist/plugin-sdk/llm-task.js +10 -10
  408. package/dist/plugin-sdk/matrix.js +12 -12
  409. package/dist/plugin-sdk/mattermost.js +11 -11
  410. package/dist/plugin-sdk/media-runtime.js +10 -10
  411. package/dist/plugin-sdk/media-understanding-runtime.js +10 -10
  412. package/dist/plugin-sdk/media-understanding.js +10 -10
  413. package/dist/plugin-sdk/msteams.js +13 -13
  414. package/dist/plugin-sdk/nextcloud-talk.js +11 -11
  415. package/dist/plugin-sdk/nostr.js +11 -11
  416. package/dist/plugin-sdk/plugin-runtime.js +10 -10
  417. package/dist/plugin-sdk/provider-auth.js +10 -10
  418. package/dist/plugin-sdk/provider-setup.js +11 -11
  419. package/dist/plugin-sdk/qwen-portal-auth.js +10 -10
  420. package/dist/plugin-sdk/reply-history.js +10 -10
  421. package/dist/plugin-sdk/reply-runtime.js +10 -10
  422. package/dist/plugin-sdk/sandbox.js +10 -10
  423. package/dist/plugin-sdk/security-runtime.js +10 -10
  424. package/dist/plugin-sdk/self-hosted-provider-setup.js +11 -11
  425. package/dist/plugin-sdk/setup.js +10 -10
  426. package/dist/plugin-sdk/signal.js +10 -10
  427. package/dist/plugin-sdk/slack.js +10 -10
  428. package/dist/plugin-sdk/speech-runtime.js +10 -10
  429. package/dist/plugin-sdk/speech.js +10 -10
  430. package/dist/plugin-sdk/src/infra/fingerprint.d.ts +25 -0
  431. package/dist/plugin-sdk/src/subscription/mode.d.ts +5 -1
  432. package/dist/plugin-sdk/synology-chat.js +11 -11
  433. package/dist/plugin-sdk/telegram.js +10 -10
  434. package/dist/plugin-sdk/tlon.js +11 -11
  435. package/dist/plugin-sdk/twitch.js +10 -10
  436. package/dist/plugin-sdk/voice-call.js +10 -10
  437. package/dist/plugin-sdk/whatsapp.js +10 -10
  438. package/dist/plugin-sdk/zalo.js +13 -13
  439. package/dist/plugin-sdk/zalouser.js +13 -13
  440. package/dist/plugins/runtime/index.d.ts +1 -1
  441. package/dist/plugins/runtime/index.js +10 -10
  442. package/dist/{plugins-DRnzdP8G.js → plugins-B5hbG4_t.js} +10 -10
  443. package/dist/{plugins-cli-BY_lcV4C.js → plugins-cli-COzuwPxm.js} +16 -16
  444. package/dist/{policy-Bakcr773.js → policy-YnRpKaiy.js} +1 -1
  445. package/dist/{preflight-audio.runtime-DHJAuLt5.js → preflight-audio.runtime-rzzWcclF.js} +10 -10
  446. package/dist/{probe-D4CsFu-i.js → probe-C-z3tIVD.js} +1 -1
  447. package/dist/{probe-GTTKpX2C.js → probe-CP5VPgzQ.js} +1 -1
  448. package/dist/{probe-CCbIhGy6.js → probe-DNR5TFhn.js} +3 -3
  449. package/dist/{probe-CkcfyNrv.js → probe-DXqBs4DV.js} +3 -3
  450. package/dist/{probe-5xwg5XgF.js → probe-DxSV9UJn.js} +3 -3
  451. package/dist/{probe-auth-DWDmsaQs.js → probe-auth-DPZv-f2X.js} +4 -4
  452. package/dist/{probe-auth-Bj1iFXrO.js → probe-auth-O5_S21MC.js} +1 -1
  453. package/dist/{program-DMp38kl4.js → program-B4y0No5Y.js} +16 -16
  454. package/dist/{prompt-select-styled-C1hW1MLR.js → prompt-select-styled-3i7dhtP5.js} +12 -12
  455. package/dist/{provider-api-key-auth.runtime-B3CVxiBR.js → provider-api-key-auth.runtime-BvZbgKuy.js} +10 -10
  456. package/dist/{provider-auth-choice-CD5zhbvx.js → provider-auth-choice-B3uuv1mQ.js} +2 -2
  457. package/dist/{provider-auth-choice-preference-Blz6_MWN.js → provider-auth-choice-preference-qVghMJDF.js} +2 -2
  458. package/dist/{provider-auth-choice.runtime-GATVjnS-.js → provider-auth-choice.runtime-CGJnbdCq.js} +11 -11
  459. package/dist/{provider-auth-guidance-q_g-K1Ds.js → provider-auth-guidance-CDlxY7_p.js} +1 -1
  460. package/dist/{provider-auth-result-Cw6qIhO-.d.ts → provider-auth-result-CVk-ws5n.d.ts} +1 -1
  461. package/dist/{provider-models-Ok-DrSiY.d.ts → provider-models-CtqOuWdy.d.ts} +1 -1
  462. package/dist/{provider-ollama-setup-lGDdTl0b.d.ts → provider-ollama-setup-DnfCpqBM.d.ts} +1 -1
  463. package/dist/{provider-onboard-CSPi7jOK.d.ts → provider-onboard-Deqtuk7w.d.ts} +1 -1
  464. package/dist/{provider-runtime.runtime-CW6APPA8.js → provider-runtime.runtime-Cl7O-w-B.js} +10 -10
  465. package/dist/{provider-self-hosted-setup-Df91By-J.d.ts → provider-self-hosted-setup-CUUxxn10.d.ts} +1 -1
  466. package/dist/{provider-self-hosted-setup-BqI71L_U.js → provider-self-hosted-setup-czU3OKWd.js} +1 -1
  467. package/dist/{provider-usage-x2f0o4KH.js → provider-usage-C_mOHQbT.js} +10 -10
  468. package/dist/{provider-wizard-CXPw5doc.js → provider-wizard-BMYXteaG.js} +1 -1
  469. package/dist/{push-apns-CXAsbMqN.js → push-apns-BkIPD-HH.js} +2 -2
  470. package/dist/{qr-cli-BER_3arl.js → qr-cli-CGjurcai.js} +11 -11
  471. package/dist/{qr-cli-DU8hP1JY.js → qr-cli-D__rAWk2.js} +1 -1
  472. package/dist/{reactions-BKPjsnth.js → reactions-CZ7qDdbB.js} +1 -1
  473. package/dist/{read-only-account-inspect.discord.runtime-Dkl_B5sJ.js → read-only-account-inspect.discord.runtime-Ce54EYGO.js} +10 -10
  474. package/dist/{read-only-account-inspect.slack.runtime-wSaFOWSO.js → read-only-account-inspect.slack.runtime-BVki5egl.js} +10 -10
  475. package/dist/{read-only-account-inspect.telegram.runtime-T1P9YWJI.js → read-only-account-inspect.telegram.runtime-BPRtEgFt.js} +10 -10
  476. package/dist/{redact-snapshot-BFgoIKK2.js → redact-snapshot-CeEn6Qac.js} +1 -1
  477. package/dist/{register.agent-BQunRR9G.js → register.agent-BuxE85lF.js} +91 -91
  478. package/dist/{register.configure-BD4bAEQp.js → register.configure-D7sKLAKo.js} +97 -97
  479. package/dist/{register.maintenance-CEpMS8zW.js → register.maintenance-DNXChWml.js} +23 -23
  480. package/dist/{register.message-BjEGFVKa.js → register.message-B4HTOlJF.js} +11 -11
  481. package/dist/{register.onboard-ChNcUzHH.js → register.onboard-08i4fmg4.js} +15 -15
  482. package/dist/{register.setup-BGsQdcJs.js → register.setup-Dpp_ntIL.js} +13 -13
  483. package/dist/{register.status-health-sessions-CUgexhGl.js → register.status-health-sessions-CgQbrbtQ.js} +19 -19
  484. package/dist/{register.subclis-LrwvFCiG.js → register.subclis-BkYW4bNO.js} +25 -25
  485. package/dist/{register.subclis-NTGBmTH6.js → register.subclis-CI1f4HfX.js} +1 -1
  486. package/dist/{replies-BgeixxSS.js → replies-CHyklVY5.js} +1 -1
  487. package/dist/{resolve-channels-DtvB5KhP.js → resolve-channels-BgwataOc.js} +1 -1
  488. package/dist/{resolve-channels-4F6m66K4.js → resolve-channels-D5maY1Wi.js} +2 -2
  489. package/dist/{resolve-users-CW7FOv5V.js → resolve-users-BeP4-C3V.js} +1 -1
  490. package/dist/{rpc-DWnFbikD.js → rpc-5u9sDzeW.js} +1 -1
  491. package/dist/{run-main-CBnPXB44.js → run-main-CJP8MV9Y.js} +19 -19
  492. package/dist/{runtime-D61jzMiI.d.ts → runtime-C4HXc5W_.d.ts} +1 -1
  493. package/dist/{runtime-discord-ops.runtime-Ci1Yoyk7.js → runtime-discord-ops.runtime-D4kUJ8cn.js} +15 -15
  494. package/dist/{runtime-slack-ops.runtime-Cj1K6p1I.js → runtime-slack-ops.runtime-BPLVpFca.js} +16 -16
  495. package/dist/{runtime-telegram-ops.runtime-Cbx_5f51.js → runtime-telegram-ops.runtime-DeMFub4j.js} +11 -11
  496. package/dist/{runtime-whatsapp-login.runtime-CB5GKS1-.js → runtime-whatsapp-login.runtime-CcY54z01.js} +10 -10
  497. package/dist/{runtime-whatsapp-outbound.runtime-CKqLHoTS.js → runtime-whatsapp-outbound.runtime-CZ2c7IW3.js} +10 -10
  498. package/dist/{sandbox-cli-CRLwXFCH.js → sandbox-cli-BYF1-EHr.js} +10 -10
  499. package/dist/{search-manager-BmwOKnaU.js → search-manager-CkjD54Cn.js} +1 -1
  500. package/dist/{search-manager-Ciy886Kd.js → search-manager-D3YfaxIS.js} +1 -1
  501. package/dist/{secrets-cli-g0dNxbOg.js → secrets-cli-CEytChhh.js} +11 -11
  502. package/dist/{security-cli-CuCD1BbR.js → security-cli-BIFx5om_.js} +11 -11
  503. package/dist/{send--wj83n1t.js → send-CLetK5u0.js} +1 -1
  504. package/dist/{send-DtAoters.js → send-Cz8xZPSk.js} +1 -1
  505. package/dist/{send-BlO4rkjf.js → send-DRlipjoh.js} +1 -1
  506. package/dist/{send-C8qMj5a1.js → send-DvU-MKU8.js} +1 -1
  507. package/dist/{server-node-events-By7xjrCx.js → server-node-events-CXCFqtLM.js} +11 -11
  508. package/dist/{sessions-CojSSvej.js → sessions-Csi21ZpV.js} +1 -1
  509. package/dist/{sessions-BkRRQq1f.js → sessions-Dr1DtFW3.js} +11 -11
  510. package/dist/{setup-BSPXdMuK.d.ts → setup-BlUrPLRo.d.ts} +1 -1
  511. package/dist/{setup-BzPRC9Cb.js → setup-CgbC8zeM.js} +13 -13
  512. package/dist/{setup-core-Dm3jFztV.js → setup-core-BnOJ3aSh.js} +1 -1
  513. package/dist/{setup-core-Cvxog0oB.js → setup-core-CbDHwQsX.js} +1 -1
  514. package/dist/{setup-core-B9o-hz8S.js → setup-core-D99cPbs9.js} +1 -1
  515. package/dist/{setup-core-DHlEd_ju.js → setup-core-Drzfsevw.js} +1 -1
  516. package/dist/{setup-surface-B9ztRhX2.js → setup-surface-DXyynqRo.js} +2 -2
  517. package/dist/{setup-wizard-helpers-Ck9wDR0b.d.ts → setup-wizard-helpers-D3NTXnBw.d.ts} +1 -1
  518. package/dist/{setup.finalize-D7HxyTij.js → setup.finalize-XdZjbyP4.js} +20 -20
  519. package/dist/{setup.gateway-config-D2CRN61X.js → setup.gateway-config-CGemzYoZ.js} +11 -11
  520. package/dist/{shared-DGEUCxl6.js → shared--tC4JeNA.js} +1 -1
  521. package/dist/{shared-BI_JcWGJ.js → shared-B0gNi7k2.js} +3 -3
  522. package/dist/{shared-Dt8zAO8e.js → shared-B27LySzy.js} +3 -3
  523. package/dist/{shared-Bsy4Ji-z.js → shared-ByE8WrO7.js} +3 -3
  524. package/dist/{shared-B170Tv7e.js → shared-Co859RQ9.js} +2 -2
  525. package/dist/{signal-DQZf2M69.js → signal-B_0NFCPN.js} +10 -10
  526. package/dist/{skills-install-CSKNuBrM.js → skills-install-CO5FHKtQ.js} +1 -1
  527. package/dist/{slack-DdnP6sxI.js → slack-jKFhk7_x.js} +10 -10
  528. package/dist/{slash-commands.runtime-BzFeRVzQ.js → slash-commands.runtime-BdDKa7ib.js} +10 -10
  529. package/dist/{slash-dispatch.runtime-DHgsmAxr.js → slash-dispatch.runtime-DFomn1i3.js} +11 -11
  530. package/dist/{slash-skill-commands.runtime-CuiYhYe8.js → slash-skill-commands.runtime-BkBZAc-4.js} +10 -10
  531. package/dist/{src-CNd2DFeb.js → src-nXjd_Gcs.js} +15 -15
  532. package/dist/{status-BqLAxZtq.js → status-46qF59Ug.js} +1 -1
  533. package/dist/{status-TBByVnhj.js → status-BgzzYCnG.js} +14 -14
  534. package/dist/{status-DBYbfKjQ.js → status-R6gD45q0.js} +18 -18
  535. package/dist/{status-DrBurrYP.js → status-Sw5dlzQ0.js} +14 -14
  536. package/dist/{status-Djk34OvW.js → status-eRQkfxJb.js} +4 -4
  537. package/dist/{status-json-Cm7yWUk1.js → status-json-CP6-qZPo.js} +12 -12
  538. package/dist/{status.link-channel-Btcm08bF.js → status.link-channel-DyR7HIyK.js} +11 -11
  539. package/dist/{status.scan.deps.runtime-DtHk6Cqm.js → status.scan.deps.runtime-DCBYmntk.js} +10 -10
  540. package/dist/{status.scan.runtime-D4mn6dG9.js → status.scan.runtime-CFycVTeN.js} +12 -12
  541. package/dist/{status.summary-wewBALMg.js → status.summary-BudvwDAQ.js} +6 -6
  542. package/dist/{status.summary.runtime-mhLQqatU.js → status.summary.runtime-B536mF0z.js} +10 -10
  543. package/dist/{subagent-orphan-recovery-C4ftbozq.js → subagent-orphan-recovery-DmYXHo9y.js} +10 -10
  544. package/dist/{subagent-registry-runtime-CY06wx43.js → subagent-registry-runtime-D5dRs3wm.js} +10 -10
  545. package/dist/subscription-Cqrd04MX.js +33 -0
  546. package/dist/{subscription-D9tfSJfc.js → subscription-DVc65BPl.js} +1 -1
  547. package/dist/{subscription-cli-B901EO-e.js → subscription-cli-CXteNDI2.js} +29 -3
  548. package/dist/{synology-chat-CWrvXbpl.js → synology-chat-B9AmE-IN.js} +1 -1
  549. package/dist/{system-cli-B-2_7Exb.js → system-cli-vxzh87JQ.js} +4 -4
  550. package/dist/telegram/audit.d.ts +1 -1
  551. package/dist/telegram/audit.js +1 -1
  552. package/dist/telegram/token.d.ts +1 -1
  553. package/dist/telegram/token.js +10 -10
  554. package/dist/{telegram-CPpb1-1t.js → telegram-CY_MaRPW.js} +10 -10
  555. package/dist/{text-chunking-DzB11ONk.d.ts → text-chunking-44GCuWiY.d.ts} +1 -1
  556. package/dist/{text-chunking-BtePSujy.js → text-chunking-BlnjZkh9.js} +1 -1
  557. package/dist/{tlon-BTotog3k.js → tlon-DQk3Gxwd.js} +1 -1
  558. package/dist/{tui-BNOMqeSD.js → tui-TkakVPcn.js} +3 -3
  559. package/dist/{tui-cli-ByWCBly5.js → tui-cli-CFmC9Vbt.js} +11 -11
  560. package/dist/{types-MeyueBE0.d.ts → types-CNIExW20.d.ts} +1 -1
  561. package/dist/{types-BKldC9YN.d.ts → types-CNieyloX.d.ts} +15 -15
  562. package/dist/{ui-B5SE56n8.js → ui-oX6420WN.js} +1 -1
  563. package/dist/{update-CdTw2pF9.js → update-0P8UQXvA.js} +2 -2
  564. package/dist/{update-cli-DM9x8x0I.js → update-cli-Dqen4e-O.js} +30 -30
  565. package/dist/{update-offset-store-fIzm6P3M.js → update-offset-store-CJzEbLyb.js} +10 -10
  566. package/dist/{update-runner-Ci-MEdo2.js → update-runner-CVY3ppS1.js} +1 -1
  567. package/dist/{usage-mHPlkPI4.js → usage-CqX1OOPJ.js} +12 -3
  568. package/dist/{web-W0bpr0ym.js → web-K1QAMoPF.js} +10 -10
  569. package/dist/{web-shared-C2qHVxw1.d.ts → web-shared-CN6dA0uV.d.ts} +1 -1
  570. package/dist/{webhook-targets-D965-A7o.js → webhook-targets-CsRWe6Cq.js} +1 -1
  571. package/dist/{webhook-targets-DP_EkQa4.d.ts → webhook-targets-DOggG60G.d.ts} +1 -1
  572. package/dist/{whatsapp-CcFiDv0K.js → whatsapp-QHFHQZ_g.js} +10 -10
  573. package/dist/{whatsapp-actions-CUCPAbTh.js → whatsapp-actions-4oQFg4BE.js} +10 -10
  574. package/dist/{zalo-C9OQRYRw.d.ts → zalo-CmZcCjKE.d.ts} +1 -1
  575. package/dist/{zalo-B2XXk1WH.js → zalo-CsyNRqqj.js} +1 -1
  576. package/dist/{zalouser-Bv8s-QTw.js → zalouser-BpdvP5vB.js} +2 -2
  577. package/package.json +1 -1
  578. package/dist/device-identity-DdfNLdug.js +0 -140
  579. package/dist/hooks-B5pYs_d7.d.ts +0 -6
  580. package/dist/subscription-Bf50WgMm.js +0 -6
@@ -15,7 +15,7 @@ import "./warning-filter-B1UOeM0G.js";
15
15
  import "./utils-C7ykRPCQ.js";
16
16
  import "./links-BcahUP5U.js";
17
17
  import "./setup-binary-C17YnmA8.js";
18
- import { su as deliverOutboundPayloads } from "./auth-profiles-DyDb7qXP.js";
18
+ import { su as deliverOutboundPayloads } from "./auth-profiles-DrQTUlZ0.js";
19
19
  import "./model-selection-hL8i1Jbs.js";
20
20
  import "./agent-scope-C-YmLnnb.js";
21
21
  import "./boundary-file-read-tPYh_8fH.js";
@@ -60,7 +60,7 @@ import "./resolve-route-CSHDsa_m.js";
60
60
  import "./internal-hooks-83AcmxP3.js";
61
61
  import "./lazy-runtime-BoGB4usD.js";
62
62
  import "./config-schema-BNU4GQh_.js";
63
- import "./method-scopes-DTNYkocH.js";
63
+ import "./method-scopes-CfRtamRU.js";
64
64
  import "./session-cost-usage-DWgQk6XT.js";
65
65
  import "./paths-ApLcu1Uu.js";
66
66
  import "./routing-DQ-fpTaA.js";
@@ -75,18 +75,18 @@ import "./runtime-env-BlEtPF6b.js";
75
75
  import "./registry-BFMbkmgR.js";
76
76
  import "./provider-onboard-Ca0TaNud.js";
77
77
  import "./model-definitions-Cyyzm6Kr.js";
78
- import "./usage-mHPlkPI4.js";
79
- import "./device-identity-DdfNLdug.js";
80
- import "./auth-C-elARYa.js";
81
- import "./subscription-D9tfSJfc.js";
78
+ import "./usage-CqX1OOPJ.js";
79
+ import "./device-identity-B4itFxET.js";
80
+ import "./auth-44xGYGG8.js";
81
+ import "./subscription-DVc65BPl.js";
82
82
  import "./diagnostic-D96Xaqrj.js";
83
83
  import "./message-hook-mappers-CeiHXgSQ.js";
84
84
  import "./json-store--7cBPxTG.js";
85
- import "./call-7m_dY36v.js";
85
+ import "./call-DPyZUKSd.js";
86
86
  import "./multimodal-BJBBn_4F.js";
87
87
  import "./memory-search-Cv1SBrn7.js";
88
88
  import "./query-expansion-D_Mm5Hhi.js";
89
- import "./search-manager-BmwOKnaU.js";
89
+ import "./search-manager-CkjD54Cn.js";
90
90
  import "./core-CvDzLs7B.js";
91
91
  import "./issue-format-B0SI57Es.js";
92
92
  import "./logging-CxP9suT8.js";
@@ -102,10 +102,10 @@ import "./delivery-queue-BOf5wYIc.js";
102
102
  import "./pairing-token-bu1e6z6X.js";
103
103
  import "./accounts-J2OhhhQi.js";
104
104
  import "./process-runtime-D27SftX_.js";
105
- import "./audit-Xw6kjEpM.js";
105
+ import "./audit-7XJK3Cs2.js";
106
106
  import "./cli-runtime-DTCHPjCi.js";
107
107
  import "./cli-utils-BCuSS4l6.js";
108
108
  import "./help-format-BFzPm_8V.js";
109
109
  import "./progress-Cwq59vgZ.js";
110
- import "./gateway-runtime-D4jWu9X8.js";
110
+ import "./gateway-runtime-BY9n2Yad.js";
111
111
  export { deliverOutboundPayloads };
@@ -15,7 +15,7 @@ import "./warning-filter-B1UOeM0G.js";
15
15
  import "./utils-C7ykRPCQ.js";
16
16
  import "./links-BcahUP5U.js";
17
17
  import "./setup-binary-C17YnmA8.js";
18
- import { su as deliverOutboundPayloads } from "./auth-profiles-DyDb7qXP.js";
18
+ import { su as deliverOutboundPayloads } from "./auth-profiles-DrQTUlZ0.js";
19
19
  import "./model-selection-hL8i1Jbs.js";
20
20
  import "./agent-scope-C-YmLnnb.js";
21
21
  import "./boundary-file-read-tPYh_8fH.js";
@@ -60,7 +60,7 @@ import "./resolve-route-CSHDsa_m.js";
60
60
  import "./internal-hooks-83AcmxP3.js";
61
61
  import "./lazy-runtime-BoGB4usD.js";
62
62
  import "./config-schema-BNU4GQh_.js";
63
- import "./method-scopes-DTNYkocH.js";
63
+ import "./method-scopes-CfRtamRU.js";
64
64
  import "./session-cost-usage-DWgQk6XT.js";
65
65
  import "./paths-ApLcu1Uu.js";
66
66
  import "./routing-DQ-fpTaA.js";
@@ -75,18 +75,18 @@ import "./runtime-env-BlEtPF6b.js";
75
75
  import "./registry-BFMbkmgR.js";
76
76
  import "./provider-onboard-Ca0TaNud.js";
77
77
  import "./model-definitions-Cyyzm6Kr.js";
78
- import "./usage-mHPlkPI4.js";
79
- import "./device-identity-DdfNLdug.js";
80
- import "./auth-C-elARYa.js";
81
- import "./subscription-D9tfSJfc.js";
78
+ import "./usage-CqX1OOPJ.js";
79
+ import "./device-identity-B4itFxET.js";
80
+ import "./auth-44xGYGG8.js";
81
+ import "./subscription-DVc65BPl.js";
82
82
  import "./diagnostic-D96Xaqrj.js";
83
83
  import "./message-hook-mappers-CeiHXgSQ.js";
84
84
  import "./json-store--7cBPxTG.js";
85
- import "./call-7m_dY36v.js";
85
+ import "./call-DPyZUKSd.js";
86
86
  import "./multimodal-BJBBn_4F.js";
87
87
  import "./memory-search-Cv1SBrn7.js";
88
88
  import "./query-expansion-D_Mm5Hhi.js";
89
- import "./search-manager-BmwOKnaU.js";
89
+ import "./search-manager-CkjD54Cn.js";
90
90
  import "./core-CvDzLs7B.js";
91
91
  import "./issue-format-B0SI57Es.js";
92
92
  import "./logging-CxP9suT8.js";
@@ -102,10 +102,10 @@ import "./delivery-queue-BOf5wYIc.js";
102
102
  import "./pairing-token-bu1e6z6X.js";
103
103
  import "./accounts-J2OhhhQi.js";
104
104
  import "./process-runtime-D27SftX_.js";
105
- import "./audit-Xw6kjEpM.js";
105
+ import "./audit-7XJK3Cs2.js";
106
106
  import "./cli-runtime-DTCHPjCi.js";
107
107
  import "./cli-utils-BCuSS4l6.js";
108
108
  import "./help-format-BFzPm_8V.js";
109
109
  import "./progress-Cwq59vgZ.js";
110
- import "./gateway-runtime-D4jWu9X8.js";
110
+ import "./gateway-runtime-BY9n2Yad.js";
111
111
  export { deliverOutboundPayloads };
@@ -2,8 +2,8 @@ import "./redact-fatrROh9.js";
2
2
  import "./errors-DOJWZqNo.js";
3
3
  import "./paths-D6AgsMTU.js";
4
4
  import { n as defaultRuntime } from "./runtime-_tQz41uA.js";
5
- import { i as publicKeyRawBase64UrlFromPem, n as loadOrCreateDeviceIdentity } from "./device-identity-DdfNLdug.js";
6
- import { t as createSubscriptionAuthHeaders } from "./auth-C-elARYa.js";
5
+ import { i as publicKeyRawBase64UrlFromPem, n as loadOrCreateDeviceIdentity } from "./device-identity-B4itFxET.js";
6
+ import { t as createSubscriptionAuthHeaders } from "./auth-44xGYGG8.js";
7
7
  import { n as runCommandWithRuntime } from "./cli-utils-BCuSS4l6.js";
8
8
  //#region src/cli/device-id-cli.ts
9
9
  /**
@@ -0,0 +1,340 @@
1
+ import { _ as resolveStateDir } from "./paths-D6AgsMTU.js";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { execSync } from "node:child_process";
5
+ import os from "node:os";
6
+ import crypto from "node:crypto";
7
+ //#region src/infra/fingerprint.ts
8
+ /**
9
+ * Device Fingerprint Generation
10
+ *
11
+ * Generates platform-specific device fingerprint using hardware identifiers.
12
+ * Must match Rust implementation in moldClaw Desktop (fingerprint.rs).
13
+ *
14
+ * Security notes:
15
+ * - Only hash is transmitted, never raw hardware info
16
+ * - Multiple sources combined for uniqueness
17
+ * - Works in VM environments
18
+ */
19
+ function sha256(input) {
20
+ return crypto.createHash("sha256").update(input).digest("hex");
21
+ }
22
+ function execCommand(command) {
23
+ try {
24
+ return execSync(command, {
25
+ encoding: "utf8",
26
+ timeout: 5e3,
27
+ stdio: [
28
+ "pipe",
29
+ "pipe",
30
+ "pipe"
31
+ ]
32
+ }).trim();
33
+ } catch {
34
+ return null;
35
+ }
36
+ }
37
+ /**
38
+ * Windows fingerprint: MachineGuid + ProcessorId + BIOS
39
+ * Must match Rust: collect_fingerprint_data() for Windows
40
+ */
41
+ function collectWindowsFingerprint() {
42
+ const components = [];
43
+ const machineGuid = execCommand(`powershell -NoProfile -Command "(Get-ItemProperty -Path 'HKLM:\\SOFTWARE\\Microsoft\\Cryptography' -Name 'MachineGuid').MachineGuid"`);
44
+ if (machineGuid) components.push(`machine_guid:${machineGuid}`);
45
+ const processorId = execCommand(`powershell -NoProfile -Command "(Get-WmiObject -Class Win32_Processor).ProcessorId"`);
46
+ if (processorId) components.push(`cpu_id:${processorId}`);
47
+ const biosSerial = execCommand(`powershell -NoProfile -Command "(Get-WmiObject Win32_BIOS).SerialNumber"`);
48
+ if (biosSerial && !biosSerial.includes("To Be Filled")) components.push(`bios:${biosSerial}`);
49
+ if (components.length < 2) {
50
+ const username = process.env.USERNAME || "";
51
+ const computername = process.env.COMPUTERNAME || "";
52
+ components.push(`fallback:${username}@${computername}`);
53
+ }
54
+ if (components.length === 0) throw new Error("Failed to collect Windows fingerprint data");
55
+ return components.join("|");
56
+ }
57
+ /**
58
+ * macOS fingerprint: IOPlatformUUID + Hardware UUID
59
+ * Must match Rust: collect_fingerprint_data() for macOS
60
+ */
61
+ function collectMacOSFingerprint() {
62
+ const components = [];
63
+ const uuid = execCommand(`ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}'`);
64
+ if (uuid) components.push(`platform_uuid:${uuid}`);
65
+ const hardwareInfo = execCommand(`system_profiler SPHardwareDataType`);
66
+ if (hardwareInfo) {
67
+ const match = hardwareInfo.match(/Hardware UUID:\s*(.+)/i);
68
+ if (match?.[1]) components.push(`hardware_uuid:${match[1].trim()}`);
69
+ }
70
+ if (components.length === 0 && hardwareInfo) {
71
+ const match = hardwareInfo.match(/Serial Number.*?:\s*(.+)/i);
72
+ if (match?.[1]) components.push(`serial:${match[1].trim()}`);
73
+ }
74
+ if (components.length === 0) throw new Error("Failed to collect macOS fingerprint data");
75
+ return components.join("|");
76
+ }
77
+ /**
78
+ * Linux fingerprint: /etc/machine-id + CPU info + product_uuid
79
+ * Must match Rust: collect_fingerprint_data() for Linux
80
+ */
81
+ function collectLinuxFingerprint() {
82
+ const components = [];
83
+ try {
84
+ const machineId = fs.readFileSync("/etc/machine-id", "utf8").trim();
85
+ if (machineId) components.push(`machine_id:${machineId}`);
86
+ } catch {
87
+ try {
88
+ const machineId = fs.readFileSync("/var/lib/dbus/machine-id", "utf8").trim();
89
+ if (machineId) components.push(`dbus_machine_id:${machineId}`);
90
+ } catch {}
91
+ }
92
+ try {
93
+ const cpuinfo = fs.readFileSync("/proc/cpuinfo", "utf8");
94
+ let modelName = "";
95
+ let processorCount = 0;
96
+ for (const line of cpuinfo.split("\n")) {
97
+ if (line.startsWith("model name") && !modelName) {
98
+ const parts = line.split(":");
99
+ if (parts[1]) modelName = parts[1].trim();
100
+ }
101
+ if (line.startsWith("processor")) processorCount++;
102
+ }
103
+ if (modelName) components.push(`cpu:${processorCount}x${modelName}`);
104
+ } catch {}
105
+ try {
106
+ const uuid = fs.readFileSync("/sys/class/dmi/id/product_uuid", "utf8").trim();
107
+ if (uuid && uuid !== "To Be Filled By O.E.M.") components.push(`product_uuid:${uuid}`);
108
+ } catch {}
109
+ if (components.length === 0) throw new Error("Failed to collect Linux fingerprint data");
110
+ return components.join("|");
111
+ }
112
+ /**
113
+ * Get device fingerprint (platform-specific)
114
+ *
115
+ * @returns SHA256 hash of hardware identifiers
116
+ */
117
+ function getDeviceFingerprint() {
118
+ const platform = os.platform();
119
+ let rawFingerprint;
120
+ switch (platform) {
121
+ case "win32":
122
+ rawFingerprint = collectWindowsFingerprint();
123
+ break;
124
+ case "darwin":
125
+ rawFingerprint = collectMacOSFingerprint();
126
+ break;
127
+ case "linux":
128
+ rawFingerprint = collectLinuxFingerprint();
129
+ break;
130
+ default: throw new Error(`Unsupported platform: ${platform}`);
131
+ }
132
+ return sha256(rawFingerprint);
133
+ }
134
+ //#endregion
135
+ //#region src/infra/device-identity.ts
136
+ const INSTANCE_SALT_SIZE = 32;
137
+ /**
138
+ * Read instance salt from Rust's location
139
+ * ~/.moldclaw/license/instance.salt
140
+ */
141
+ function readInstanceSalt() {
142
+ try {
143
+ const saltPath = path.join(resolveStateDir(), "license", "instance.salt");
144
+ if (!fs.existsSync(saltPath)) return null;
145
+ const saltB64 = fs.readFileSync(saltPath, "utf8").trim();
146
+ const salt = Buffer.from(saltB64, "base64");
147
+ if (salt.length !== INSTANCE_SALT_SIZE) return null;
148
+ return salt;
149
+ } catch {
150
+ return null;
151
+ }
152
+ }
153
+ /**
154
+ * Derive AES-256 key using HKDF-SHA256
155
+ * Must match Rust: derive_key(fingerprint, "device")
156
+ */
157
+ function deriveKey(fingerprint, salt, instanceSalt) {
158
+ const ikm = `${fingerprint}:${salt}`;
159
+ const info = Buffer.from("moldclaw-v1-encryption");
160
+ return Buffer.from(crypto.hkdfSync("sha256", Buffer.from(ikm), instanceSalt, info, 32));
161
+ }
162
+ /**
163
+ * Decrypt encrypted private key using AES-256-GCM
164
+ * Format: base64(nonce[12] + ciphertext + tag[16])
165
+ */
166
+ function decryptPrivateKey(encryptedB64, key) {
167
+ try {
168
+ const data = Buffer.from(encryptedB64, "base64");
169
+ if (data.length < 28) return null;
170
+ const nonce = data.subarray(0, 12);
171
+ const tag = data.subarray(-16);
172
+ const ciphertext = data.subarray(12, -16);
173
+ const decipher = crypto.createDecipheriv("aes-256-gcm", key, nonce);
174
+ decipher.setAuthTag(tag);
175
+ return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString("utf8");
176
+ } catch {
177
+ return null;
178
+ }
179
+ }
180
+ /**
181
+ * Try to load version 2 (encrypted) identity
182
+ */
183
+ function tryLoadV2Identity(parsed) {
184
+ try {
185
+ const instanceSalt = readInstanceSalt();
186
+ if (!instanceSalt) return null;
187
+ const key = deriveKey(getDeviceFingerprint(), "device", instanceSalt);
188
+ const privateKeyPem = decryptPrivateKey(parsed.encryptedPrivateKey, key);
189
+ if (!privateKeyPem) return null;
190
+ return {
191
+ deviceId: parsed.deviceId,
192
+ publicKeyPem: parsed.publicKeyPem,
193
+ privateKeyPem
194
+ };
195
+ } catch {
196
+ return null;
197
+ }
198
+ }
199
+ function resolveDefaultIdentityPath() {
200
+ return path.join(resolveStateDir(), "device.json");
201
+ }
202
+ function ensureDir(filePath) {
203
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
204
+ }
205
+ const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
206
+ function base64UrlEncode(buf) {
207
+ return buf.toString("base64").replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/g, "");
208
+ }
209
+ function base64UrlDecode(input) {
210
+ const normalized = input.replaceAll("-", "+").replaceAll("_", "/");
211
+ const padded = normalized + "=".repeat((4 - normalized.length % 4) % 4);
212
+ return Buffer.from(padded, "base64");
213
+ }
214
+ function derivePublicKeyRaw(publicKeyPem) {
215
+ const spki = crypto.createPublicKey(publicKeyPem).export({
216
+ type: "spki",
217
+ format: "der"
218
+ });
219
+ if (spki.length === ED25519_SPKI_PREFIX.length + 32 && spki.subarray(0, ED25519_SPKI_PREFIX.length).equals(ED25519_SPKI_PREFIX)) return spki.subarray(ED25519_SPKI_PREFIX.length);
220
+ return spki;
221
+ }
222
+ function fingerprintPublicKey(publicKeyPem) {
223
+ const raw = derivePublicKeyRaw(publicKeyPem);
224
+ return crypto.createHash("sha256").update(raw).digest("hex");
225
+ }
226
+ function generateIdentity() {
227
+ const { publicKey, privateKey } = crypto.generateKeyPairSync("ed25519");
228
+ const publicKeyPem = publicKey.export({
229
+ type: "spki",
230
+ format: "pem"
231
+ }).toString();
232
+ const privateKeyPem = privateKey.export({
233
+ type: "pkcs8",
234
+ format: "pem"
235
+ }).toString();
236
+ return {
237
+ deviceId: fingerprintPublicKey(publicKeyPem),
238
+ publicKeyPem,
239
+ privateKeyPem
240
+ };
241
+ }
242
+ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
243
+ try {
244
+ if (fs.existsSync(filePath)) {
245
+ const raw = fs.readFileSync(filePath, "utf8");
246
+ const parsed = JSON.parse(raw);
247
+ if (parsed?.version === 2 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.encryptedPrivateKey === "string") {
248
+ const identity = tryLoadV2Identity(parsed);
249
+ if (identity) return identity;
250
+ console.error("[device-identity] Warning: Failed to decrypt v2 identity. This may indicate fingerprint mismatch between Rust and Node.js.");
251
+ }
252
+ if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
253
+ const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
254
+ if (derivedId && derivedId !== parsed.deviceId) {
255
+ const updated = {
256
+ ...parsed,
257
+ deviceId: derivedId
258
+ };
259
+ fs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
260
+ try {
261
+ fs.chmodSync(filePath, 384);
262
+ } catch {}
263
+ return {
264
+ deviceId: derivedId,
265
+ publicKeyPem: parsed.publicKeyPem,
266
+ privateKeyPem: parsed.privateKeyPem
267
+ };
268
+ }
269
+ return {
270
+ deviceId: parsed.deviceId,
271
+ publicKeyPem: parsed.publicKeyPem,
272
+ privateKeyPem: parsed.privateKeyPem
273
+ };
274
+ }
275
+ }
276
+ } catch (err) {
277
+ console.error("[device-identity] Error loading identity:", err);
278
+ }
279
+ const identity = generateIdentity();
280
+ ensureDir(filePath);
281
+ const stored = {
282
+ version: 1,
283
+ deviceId: identity.deviceId,
284
+ publicKeyPem: identity.publicKeyPem,
285
+ privateKeyPem: identity.privateKeyPem,
286
+ createdAtMs: Date.now()
287
+ };
288
+ fs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
289
+ try {
290
+ fs.chmodSync(filePath, 384);
291
+ } catch {}
292
+ return identity;
293
+ }
294
+ function signDevicePayload(privateKeyPem, payload) {
295
+ const key = crypto.createPrivateKey(privateKeyPem);
296
+ return base64UrlEncode(crypto.sign(null, Buffer.from(payload, "utf8"), key));
297
+ }
298
+ function normalizeDevicePublicKeyBase64Url(publicKey) {
299
+ try {
300
+ if (publicKey.includes("BEGIN")) return base64UrlEncode(derivePublicKeyRaw(publicKey));
301
+ const raw = base64UrlDecode(publicKey);
302
+ if (raw.length === 0) return null;
303
+ return base64UrlEncode(raw);
304
+ } catch {
305
+ return null;
306
+ }
307
+ }
308
+ function deriveDeviceIdFromPublicKey(publicKey) {
309
+ try {
310
+ const raw = publicKey.includes("BEGIN") ? derivePublicKeyRaw(publicKey) : base64UrlDecode(publicKey);
311
+ if (raw.length === 0) return null;
312
+ return crypto.createHash("sha256").update(raw).digest("hex");
313
+ } catch {
314
+ return null;
315
+ }
316
+ }
317
+ function publicKeyRawBase64UrlFromPem(publicKeyPem) {
318
+ return base64UrlEncode(derivePublicKeyRaw(publicKeyPem));
319
+ }
320
+ function verifyDeviceSignature(publicKey, payload, signatureBase64Url) {
321
+ try {
322
+ const key = publicKey.includes("BEGIN") ? crypto.createPublicKey(publicKey) : crypto.createPublicKey({
323
+ key: Buffer.concat([ED25519_SPKI_PREFIX, base64UrlDecode(publicKey)]),
324
+ type: "spki",
325
+ format: "der"
326
+ });
327
+ const sig = (() => {
328
+ try {
329
+ return base64UrlDecode(signatureBase64Url);
330
+ } catch {
331
+ return Buffer.from(signatureBase64Url, "base64");
332
+ }
333
+ })();
334
+ return crypto.verify(null, Buffer.from(payload, "utf8"), key, sig);
335
+ } catch {
336
+ return false;
337
+ }
338
+ }
339
+ //#endregion
340
+ export { signDevicePayload as a, publicKeyRawBase64UrlFromPem as i, loadOrCreateDeviceIdentity as n, verifyDeviceSignature as o, normalizeDevicePublicKeyBase64Url as r, deriveDeviceIdFromPublicKey as t };
@@ -33,9 +33,9 @@ import "./tailnet-fFTz5Twr.js";
33
33
  import { r as isLoopbackHost } from "./net-K181nxTH.js";
34
34
  import "./credentials-D-5Pb-aZ.js";
35
35
  import { _ as GATEWAY_CLIENT_MODES, v as GATEWAY_CLIENT_NAMES } from "./message-channel-DFE4FuE_.js";
36
- import "./method-scopes-DTNYkocH.js";
37
- import "./device-identity-DdfNLdug.js";
38
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-7m_dY36v.js";
36
+ import "./method-scopes-CfRtamRU.js";
37
+ import "./device-identity-B4itFxET.js";
38
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DPyZUKSd.js";
39
39
  import { n as formatTimeAgo } from "./format-relative-B1Jfwsqe.js";
40
40
  import "./pairing-token-bu1e6z6X.js";
41
41
  import { n as withProgress } from "./progress-Cwq59vgZ.js";
@@ -15,7 +15,7 @@ import "./warning-filter-B1UOeM0G.js";
15
15
  import "./utils-C7ykRPCQ.js";
16
16
  import { t as formatDocsLink } from "./links-BcahUP5U.js";
17
17
  import "./setup-binary-C17YnmA8.js";
18
- import { MT as resolveChannelDefaultAccountId, hu as resolveMessageChannelSelection, w as getChannelPlugin } from "./auth-profiles-DyDb7qXP.js";
18
+ import { MT as resolveChannelDefaultAccountId, hu as resolveMessageChannelSelection, w as getChannelPlugin } from "./auth-profiles-DrQTUlZ0.js";
19
19
  import "./model-selection-hL8i1Jbs.js";
20
20
  import "./agent-scope-C-YmLnnb.js";
21
21
  import "./boundary-file-read-tPYh_8fH.js";
@@ -60,7 +60,7 @@ import "./resolve-route-CSHDsa_m.js";
60
60
  import "./internal-hooks-83AcmxP3.js";
61
61
  import "./lazy-runtime-BoGB4usD.js";
62
62
  import "./config-schema-BNU4GQh_.js";
63
- import "./method-scopes-DTNYkocH.js";
63
+ import "./method-scopes-CfRtamRU.js";
64
64
  import "./session-cost-usage-DWgQk6XT.js";
65
65
  import "./paths-ApLcu1Uu.js";
66
66
  import "./routing-DQ-fpTaA.js";
@@ -75,18 +75,18 @@ import "./runtime-env-BlEtPF6b.js";
75
75
  import "./registry-BFMbkmgR.js";
76
76
  import "./provider-onboard-Ca0TaNud.js";
77
77
  import "./model-definitions-Cyyzm6Kr.js";
78
- import "./usage-mHPlkPI4.js";
79
- import "./device-identity-DdfNLdug.js";
80
- import "./auth-C-elARYa.js";
81
- import "./subscription-D9tfSJfc.js";
78
+ import "./usage-CqX1OOPJ.js";
79
+ import "./device-identity-B4itFxET.js";
80
+ import "./auth-44xGYGG8.js";
81
+ import "./subscription-DVc65BPl.js";
82
82
  import "./diagnostic-D96Xaqrj.js";
83
83
  import "./message-hook-mappers-CeiHXgSQ.js";
84
84
  import "./json-store--7cBPxTG.js";
85
- import "./call-7m_dY36v.js";
85
+ import "./call-DPyZUKSd.js";
86
86
  import "./multimodal-BJBBn_4F.js";
87
87
  import "./memory-search-Cv1SBrn7.js";
88
88
  import "./query-expansion-D_Mm5Hhi.js";
89
- import "./search-manager-BmwOKnaU.js";
89
+ import "./search-manager-CkjD54Cn.js";
90
90
  import "./core-CvDzLs7B.js";
91
91
  import "./issue-format-B0SI57Es.js";
92
92
  import "./logging-CxP9suT8.js";
@@ -102,12 +102,12 @@ import "./delivery-queue-BOf5wYIc.js";
102
102
  import "./pairing-token-bu1e6z6X.js";
103
103
  import "./accounts-J2OhhhQi.js";
104
104
  import "./process-runtime-D27SftX_.js";
105
- import "./audit-Xw6kjEpM.js";
105
+ import "./audit-7XJK3Cs2.js";
106
106
  import "./cli-runtime-DTCHPjCi.js";
107
107
  import "./cli-utils-BCuSS4l6.js";
108
108
  import { t as formatHelpExamples } from "./help-format-BFzPm_8V.js";
109
109
  import "./progress-Cwq59vgZ.js";
110
- import "./gateway-runtime-D4jWu9X8.js";
110
+ import "./gateway-runtime-BY9n2Yad.js";
111
111
  import { n as renderTable, t as getTerminalTableWidth } from "./table-BldgNDVQ.js";
112
112
  //#region src/cli/directory-cli.ts
113
113
  function parseLimit(value) {
@@ -1,4 +1,4 @@
1
- import { gA as ChannelDirectoryEntry } from "./types-BKldC9YN.js";
1
+ import { gA as ChannelDirectoryEntry } from "./types-CNieyloX.js";
2
2
 
3
3
  //#region src/channels/plugins/directory-config-helpers.d.ts
4
4
  declare function applyDirectoryQueryAndLimit(ids: string[], params: {
@@ -1,4 +1,4 @@
1
- import { Hh as resolveFeishuAccount } from "./auth-profiles-DyDb7qXP.js";
1
+ import { Hh as resolveFeishuAccount } from "./auth-profiles-DrQTUlZ0.js";
2
2
  import { a as listDirectoryUserEntriesFromAllowFromAndMapKeys, r as listDirectoryGroupEntriesFromMapKeysAndAllowFrom } from "./directory-config-helpers-CbRZemIs.js";
3
3
  import { i as normalizeFeishuTarget } from "./runtime-BKcd1buT.js";
4
4
  //#region extensions/feishu/src/directory.static.ts
@@ -15,7 +15,7 @@ import "./warning-filter-B1UOeM0G.js";
15
15
  import "./utils-C7ykRPCQ.js";
16
16
  import "./links-BcahUP5U.js";
17
17
  import "./setup-binary-C17YnmA8.js";
18
- import { ta as sendMessageDiscord } from "./auth-profiles-DyDb7qXP.js";
18
+ import { ta as sendMessageDiscord } from "./auth-profiles-DrQTUlZ0.js";
19
19
  import "./model-selection-hL8i1Jbs.js";
20
20
  import "./agent-scope-C-YmLnnb.js";
21
21
  import "./boundary-file-read-tPYh_8fH.js";
@@ -60,7 +60,7 @@ import "./resolve-route-CSHDsa_m.js";
60
60
  import "./internal-hooks-83AcmxP3.js";
61
61
  import "./lazy-runtime-BoGB4usD.js";
62
62
  import "./config-schema-BNU4GQh_.js";
63
- import "./method-scopes-DTNYkocH.js";
63
+ import "./method-scopes-CfRtamRU.js";
64
64
  import "./session-cost-usage-DWgQk6XT.js";
65
65
  import "./paths-ApLcu1Uu.js";
66
66
  import "./routing-DQ-fpTaA.js";
@@ -75,18 +75,18 @@ import "./runtime-env-BlEtPF6b.js";
75
75
  import "./registry-BFMbkmgR.js";
76
76
  import "./provider-onboard-Ca0TaNud.js";
77
77
  import "./model-definitions-Cyyzm6Kr.js";
78
- import "./usage-mHPlkPI4.js";
79
- import "./device-identity-DdfNLdug.js";
80
- import "./auth-C-elARYa.js";
81
- import "./subscription-D9tfSJfc.js";
78
+ import "./usage-CqX1OOPJ.js";
79
+ import "./device-identity-B4itFxET.js";
80
+ import "./auth-44xGYGG8.js";
81
+ import "./subscription-DVc65BPl.js";
82
82
  import "./diagnostic-D96Xaqrj.js";
83
83
  import "./message-hook-mappers-CeiHXgSQ.js";
84
84
  import "./json-store--7cBPxTG.js";
85
- import "./call-7m_dY36v.js";
85
+ import "./call-DPyZUKSd.js";
86
86
  import "./multimodal-BJBBn_4F.js";
87
87
  import "./memory-search-Cv1SBrn7.js";
88
88
  import "./query-expansion-D_Mm5Hhi.js";
89
- import "./search-manager-BmwOKnaU.js";
89
+ import "./search-manager-CkjD54Cn.js";
90
90
  import "./core-CvDzLs7B.js";
91
91
  import "./issue-format-B0SI57Es.js";
92
92
  import "./logging-CxP9suT8.js";
@@ -102,12 +102,12 @@ import "./delivery-queue-BOf5wYIc.js";
102
102
  import "./pairing-token-bu1e6z6X.js";
103
103
  import "./accounts-J2OhhhQi.js";
104
104
  import "./process-runtime-D27SftX_.js";
105
- import "./audit-Xw6kjEpM.js";
105
+ import "./audit-7XJK3Cs2.js";
106
106
  import "./cli-runtime-DTCHPjCi.js";
107
107
  import "./cli-utils-BCuSS4l6.js";
108
108
  import "./help-format-BFzPm_8V.js";
109
109
  import "./progress-Cwq59vgZ.js";
110
- import "./gateway-runtime-D4jWu9X8.js";
110
+ import "./gateway-runtime-BY9n2Yad.js";
111
111
  //#region src/cli/send-runtime/discord.ts
112
112
  const runtimeSend = { sendMessage: sendMessageDiscord };
113
113
  //#endregion
@@ -1,4 +1,4 @@
1
- import { Fw as listChannelPluginCatalogEntries } from "./auth-profiles-DyDb7qXP.js";
1
+ import { Fw as listChannelPluginCatalogEntries } from "./auth-profiles-DrQTUlZ0.js";
2
2
  import { m as resolveDefaultAgentId, p as resolveAgentWorkspaceDir } from "./agent-scope-C-YmLnnb.js";
3
3
  import { a as listChatChannels } from "./registry-C1pRrsQl.js";
4
4
  import { n as loadPluginManifestRegistry } from "./manifest-registry-DAd0SRAP.js";
@@ -1,4 +1,4 @@
1
- import { bA as ChannelId } from "./types-BKldC9YN.js";
1
+ import { bA as ChannelId } from "./types-CNieyloX.js";
2
2
 
3
3
  //#region src/security/dm-policy-shared.d.ts
4
4
  declare function resolvePinnedMainDmOwnerFromAllowlist(params: {
@@ -1,7 +1,7 @@
1
1
  import { t as resolvemoldClawPackageRoot } from "./moldclaw-root-D6PbhbZk.js";
2
2
  import { n as resolveCliName } from "./cli-name-Bq08c3PW.js";
3
3
  import { t as note } from "./note-dOl5kPAy.js";
4
- import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-ChlcvXnJ.js";
4
+ import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-CkUn1rS-.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
  //#region src/commands/doctor-completion.ts