@spacebar_ai/moldclaw-core 2026.3.48 → 2026.3.50

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 (552) hide show
  1. package/dist/{accounts-Dk7Snooy.js → accounts-DfdmtpQ-.js} +6 -6
  2. package/dist/{accounts-DDwJcgwh.d.ts → accounts-Do7arb94.d.ts} +1 -1
  3. package/dist/{acp-cli-CWBf4L9a.js → acp-cli-B36Gsd-F.js} +3 -3
  4. package/dist/{actions.runtime-uFvx6OiD.js → actions.runtime-CllaGNdT.js} +7 -7
  5. package/dist/{actions.runtime-_HZIA6lZ.js → actions.runtime-DSHrM_Y-.js} +7 -7
  6. package/dist/{agents-C5Al_zzA.js → agents-BWxr1D1e.js} +5 -5
  7. package/dist/{agents-B-7aCWhd.js → agents-D05NO4Eh.js} +83 -83
  8. package/dist/{allow-list-DsS_RFMf.js → allow-list-BhAeVJYY.js} +1 -1
  9. package/dist/{allowlist-Cq9YR1mK.js → allowlist-CSzBsuYn.js} +1 -1
  10. package/dist/{api-CLC1zGE4.js → api-SfBg9D8Y.js} +5 -5
  11. package/dist/{audit-BSzRqxfq.js → audit-CSGucdf8.js} +1 -1
  12. package/dist/{audit-V2mqdhOL.js → audit-D2FCb5t-.js} +3 -3
  13. package/dist/{audit-channel.collect.runtime-Dcj5Ow69.js → audit-channel.collect.runtime-21apvenI.js} +4 -4
  14. package/dist/{audit-channel.runtime-w7R_ojOc.js → audit-channel.runtime-Bqi0wUrN.js} +3 -3
  15. package/dist/{audit-membership-runtime-C93iPHnV.js → audit-membership-runtime-D2M7EJu4.js} +3 -3
  16. package/dist/{audit.runtime-Cj6gqQ4S.js → audit.runtime-8A5iZPBT.js} +4 -4
  17. package/dist/{auth-choice-Db0qrtbn.js → auth-choice-C8fcTD7-.js} +4 -4
  18. package/dist/{auth-choice-BRyPMQX0.js → auth-choice-CQv0bwq8.js} +8 -8
  19. package/dist/{auth-choice-D6WNWhnX.js → auth-choice-DvZZdkAT.js} +8 -8
  20. package/dist/{auth-choice-options-8HzAfB-t.js → auth-choice-options-CdTbWTyI.js} +1 -1
  21. package/dist/{auth-choice-prompt-DYtPgCdv.js → auth-choice-prompt-B3K-aa9e.js} +6 -6
  22. package/dist/{auth-choice-prompt-DIQMOY8u.js → auth-choice-prompt-BLyYvRRp.js} +1 -1
  23. package/dist/{auth-choice.plugin-providers.runtime-BGENJeCv.js → auth-choice.plugin-providers.runtime-BpZL2PGS.js} +4 -4
  24. package/dist/{auth-profiles-SpVumeP9.js → auth-profiles-Dho6F9Y8.js} +187 -44
  25. package/dist/{auth-profiles.runtime-CGbzXxBR.js → auth-profiles.runtime-ZxErGqvR.js} +3 -3
  26. package/dist/{bluebubbles-BJsxBIeh.js → bluebubbles-BJdxTSkF.js} +1 -1
  27. package/dist/{bluebubbles-CpDXZalM.d.ts → bluebubbles-BpCok56F.d.ts} +1 -1
  28. package/dist/{bot-M9ri5jo9.d.ts → bot-Bg-TdG6E.d.ts} +5 -5
  29. package/dist/build-info.json +3 -3
  30. package/dist/bundled/boot-md/handler.d.ts +1 -1
  31. package/dist/bundled/boot-md/handler.js +3 -3
  32. package/dist/bundled/bootstrap-extra-files/handler.d.ts +1 -1
  33. package/dist/bundled/command-logger/handler.d.ts +1 -1
  34. package/dist/bundled/session-memory/handler.d.ts +1 -1
  35. package/dist/bundled/session-memory/handler.js +4 -4
  36. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  37. package/dist/{channel-BjU5SbiN.js → channel-3ls63wlw.js} +2 -2
  38. package/dist/{channel-DQH17Bph.js → channel-BRS__gMP.js} +4 -4
  39. package/dist/{channel-D6Rpj8dK.js → channel-BVeLSF0q.js} +2 -2
  40. package/dist/{channel-DYsSQiTy.js → channel-B_ZxyhUE.js} +5 -5
  41. package/dist/{channel-B6cYFXSb.js → channel-Bec6f0eW.js} +5 -5
  42. package/dist/{channel-kFvG7lIj.js → channel-BhFzCKnx.js} +3 -3
  43. package/dist/{channel-xwYsG7xG.js → channel-BrJHXhFQ.js} +2 -2
  44. package/dist/{channel-CHvv_a3q.js → channel-C2elXJmm.js} +3 -3
  45. package/dist/{channel-CTaVVozS.js → channel-CF-0Ik0Y.js} +3 -3
  46. package/dist/{channel-3Vqyz3sj.js → channel-CH5pNIvq.js} +5 -5
  47. package/dist/{channel-BAcGmSBt.js → channel-CloTFJMw.js} +2 -2
  48. package/dist/{channel-5Jpa9SqB.js → channel-CpqEVFyn.js} +6 -6
  49. package/dist/{channel-BNh5fgi6.js → channel-D9yckImk.js} +6 -6
  50. package/dist/{channel-D8imtcJt2.js → channel-DBnuUtc22.js} +5 -5
  51. package/dist/{channel-CiPr6qNW.js → channel-DF1QKP9k.js} +3 -3
  52. package/dist/{channel-EUG5e7ze.js → channel-DZK1ysc6.js} +5 -5
  53. package/dist/{channel-738m4eY9.js → channel-Dpl0D-bQ.js} +4 -4
  54. package/dist/{channel-Sc4rpJNg.js → channel-JIxbg8V-.js} +5 -5
  55. package/dist/{channel-account-context-CZSRqgyc.js → channel-account-context-Dv--sXIg.js} +1 -1
  56. package/dist/{channel-CKEbAXN7.js → channel-b0E69q5i.js} +2 -2
  57. package/dist/{channel-options-BYh_lERg.js → channel-options-BIx16K37.js} +2 -2
  58. package/dist/{channel-summary-6DZ04-Fb.js → channel-summary-DrL6v9Mk.js} +3 -3
  59. package/dist/{channel-BTwh5S41.js → channel-vzp9Nvud.js} +2 -2
  60. package/dist/{channel.runtime-Y953yzgT.js → channel.runtime-B-WG-8vn.js} +7 -7
  61. package/dist/{channel.runtime-BTjEq0Et.js → channel.runtime-B17tAeds.js} +5 -5
  62. package/dist/{channel.runtime-CV3-_zq7.js → channel.runtime-BRk7eLLc.js} +5 -5
  63. package/dist/{channel.runtime-jMv0Pknw.js → channel.runtime-BtbiJ69D.js} +9 -9
  64. package/dist/{channel.runtime-CK2svurx.js → channel.runtime-CERcYrFi.js} +6 -6
  65. package/dist/{channel.runtime-Un4EHols.js → channel.runtime-CLObzGbi.js} +6 -6
  66. package/dist/{channel.runtime-BOIhs_nj.js → channel.runtime-D07UrmnF.js} +4 -4
  67. package/dist/{channel.runtime-CbrUKbbQ.js → channel.runtime-DMoR3M3u.js} +4 -4
  68. package/dist/{channel.runtime-C_QsLuAw.js → channel.runtime-DZVVVPZx.js} +6 -6
  69. package/dist/{channel.runtime-DHBCjjef.js → channel.runtime-DeHvns2u.js} +7 -7
  70. package/dist/{channel.runtime-D2z8tFnD.js → channel.runtime-x-rnNO9f.js} +7 -7
  71. package/dist/{channel.setup-BXEJ89Yy.js → channel.setup-BcKD68ye.js} +1 -1
  72. package/dist/{channel.setup-DacseVpJ.js → channel.setup-BsDG1u6Q.js} +3 -3
  73. package/dist/{channel.setup-Co90fLy2.js → channel.setup-ByDJKU4X.js} +1 -1
  74. package/dist/{channel.setup-B_QCizzx.js → channel.setup-D-gJOGMQ.js} +2 -2
  75. package/dist/{channel.setup-D0ZYc7VK.js → channel.setup-DYhAHaUH.js} +2 -2
  76. package/dist/{channel.setup-ibXulHCq.js → channel.setup-DiA_AZZb.js} +2 -2
  77. package/dist/{channel.setup-Kk65-Pf6.js → channel.setup-DiHAnHZB.js} +1 -1
  78. package/dist/channels/plugins/actions/discord.d.ts +1 -1
  79. package/dist/channels/plugins/actions/discord.js +3 -3
  80. package/dist/channels/plugins/actions/signal.d.ts +1 -1
  81. package/dist/channels/plugins/actions/signal.js +3 -3
  82. package/dist/channels/plugins/actions/telegram.d.ts +1 -1
  83. package/dist/channels/plugins/actions/telegram.js +3 -3
  84. package/dist/channels/plugins/agent-tools/whatsapp-login.d.ts +1 -1
  85. package/dist/channels/plugins/agent-tools/whatsapp-login.js +3 -3
  86. package/dist/{channels-BFmVt46g.js → channels-C_LPzh5r.js} +10 -10
  87. package/dist/{channels-1qMQVwVa.js → channels-Cal2ApwG.js} +1 -1
  88. package/dist/{channels-cli-3hZont92.js → channels-cli-BxmjQWEE.js} +12 -12
  89. package/dist/{channels-status-issues-CcslO4xl.js → channels-status-issues-BhZXF4oZ.js} +1 -1
  90. package/dist/{clawbot-cli-26ujOf2U.js → clawbot-cli-DKnjHkQp.js} +4 -4
  91. package/dist/cli/daemon-cli.js +1 -1
  92. package/dist/{cli-Cyx0mI0J.js → cli-CJa12N9G.js} +3 -3
  93. package/dist/{command-registry-BYJQri13.js → command-registry-CtZHXP15.js} +2 -2
  94. package/dist/{command-registry-CzHucuET.js → command-registry-DvV0Kk5y.js} +10 -10
  95. package/dist/{command-secret-gateway-BMVvqD45.js → command-secret-gateway-B_q6WN27.js} +3 -3
  96. package/dist/{compact.runtime-U1eP9Vll.js → compact.runtime-Bo_hevHL.js} +3 -3
  97. package/dist/{completion-cli-BmGBylFC.js → completion-cli-BBXO1koI.js} +3 -3
  98. package/dist/{completion-cli-BeKS79HC.js → completion-cli-DualHMFj.js} +2 -2
  99. package/dist/{config-cli-B0to_d-u.js → config-cli-XS5Nd-79.js} +5 -5
  100. package/dist/{config-guard-CRYVoM-3.js → config-guard-B2Dr-GJz.js} +1 -1
  101. package/dist/{config-validation-BirVE5o7.js → config-validation-DowUgQZS.js} +1 -1
  102. package/dist/{configure-omlgtqer.js → configure-DU2rZcza.js} +89 -89
  103. package/dist/{configure-BRXE6Bcn.js → configure-DytHNuZz.js} +13 -13
  104. package/dist/{core-DhlK5UpA.d.ts → core-QeNHc6i6.d.ts} +1 -1
  105. package/dist/{cron-cli-C6I06S_F.js → cron-cli-Db0Pqffq.js} +3 -3
  106. package/dist/{daemon-cli-C0qWyN0Q.js → daemon-cli-C0wUN1o8.js} +1 -1
  107. package/dist/{daemon-install-DyWoGSA2.js → daemon-install-CFitLKwO.js} +4 -4
  108. package/dist/{deliver-runtime-DwlpsZAB.js → deliver-BiigHjfy.js} +3 -3
  109. package/dist/{deliver-CHykkI3C.js → deliver-runtime-L10Rq6cZ.js} +3 -3
  110. package/dist/{directory-cli-Cr24cAdp.js → directory-cli-DUjuui5g.js} +3 -3
  111. package/dist/{directory-config-helpers-DV9PKPQB.d.ts → directory-config-helpers-D7TR0kGo.d.ts} +1 -1
  112. package/dist/{directory.static-DBpdtr1i.js → directory.static-f0OAc5ja.js} +1 -1
  113. package/dist/{discord-_jNayEfc.js → discord-D7xfbnPe.js} +3 -3
  114. package/dist/{discovery-Dg8ccMjq.js → discovery-BVhmJK1C.js} +1 -1
  115. package/dist/{dm-policy-shared-Ql9FWpI6.d.ts → dm-policy-shared-H7Ec-mk7.d.ts} +1 -1
  116. package/dist/{doctor-completion-BHRVvdul.js → doctor-completion-Cr7nd3n9.js} +1 -1
  117. package/dist/{doctor-config-flow-DbSTJMbQ.js → doctor-config-flow-CGXMMXb_.js} +4 -4
  118. package/dist/{doctor-config-flow-w3H1GxzX.js → doctor-config-flow-DovR-52w.js} +1 -1
  119. package/dist/{enable-C4GWWoGH.js → enable-C45wRM0g.js} +1 -1
  120. package/dist/entry.js +1 -1
  121. package/dist/extensions/acpx/index.d.ts +1 -1
  122. package/dist/extensions/amazon-bedrock/index.d.ts +1 -1
  123. package/dist/extensions/anthropic/index.d.ts +1 -1
  124. package/dist/extensions/anthropic/index.js +3 -3
  125. package/dist/extensions/bluebubbles/index.d.ts +1 -1
  126. package/dist/extensions/bluebubbles/index.js +7 -7
  127. package/dist/extensions/bluebubbles/setup-entry.d.ts +1 -1
  128. package/dist/extensions/bluebubbles/setup-entry.js +7 -7
  129. package/dist/extensions/brave/index.d.ts +1 -1
  130. package/dist/extensions/byteplus/index.d.ts +1 -1
  131. package/dist/extensions/byteplus/index.js +3 -3
  132. package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
  133. package/dist/extensions/cloudflare-ai-gateway/index.js +3 -3
  134. package/dist/extensions/copilot-proxy/index.d.ts +1 -1
  135. package/dist/extensions/device-pair/index.d.ts +1 -1
  136. package/dist/extensions/diagnostics-otel/index.d.ts +1 -1
  137. package/dist/extensions/diffs/index.d.ts +1 -1
  138. package/dist/extensions/discord/index.d.ts +1 -1
  139. package/dist/extensions/discord/index.js +8 -8
  140. package/dist/extensions/discord/setup-entry.d.ts +1 -1
  141. package/dist/extensions/discord/setup-entry.js +6 -6
  142. package/dist/extensions/elevenlabs/index.d.ts +1 -1
  143. package/dist/extensions/elevenlabs/index.js +3 -3
  144. package/dist/extensions/feishu/index.d.ts +2 -2
  145. package/dist/extensions/feishu/index.js +8 -8
  146. package/dist/extensions/feishu/setup-entry.d.ts +2 -2
  147. package/dist/extensions/feishu/setup-entry.js +5 -5
  148. package/dist/extensions/firecrawl/index.d.ts +1 -1
  149. package/dist/extensions/firecrawl/index.js +3 -3
  150. package/dist/extensions/github-copilot/index.d.ts +1 -1
  151. package/dist/extensions/github-copilot/index.js +3 -3
  152. package/dist/extensions/google/index.d.ts +1 -1
  153. package/dist/extensions/google/index.js +3 -3
  154. package/dist/extensions/googlechat/index.d.ts +1 -1
  155. package/dist/extensions/googlechat/index.js +6 -6
  156. package/dist/extensions/googlechat/setup-entry.d.ts +1 -1
  157. package/dist/extensions/googlechat/setup-entry.js +6 -6
  158. package/dist/extensions/huggingface/index.d.ts +1 -1
  159. package/dist/extensions/huggingface/index.js +3 -3
  160. package/dist/extensions/imessage/index.d.ts +1 -1
  161. package/dist/extensions/imessage/index.js +7 -7
  162. package/dist/extensions/imessage/setup-entry.d.ts +1 -1
  163. package/dist/extensions/imessage/setup-entry.js +7 -7
  164. package/dist/extensions/irc/index.d.ts +1 -1
  165. package/dist/extensions/irc/index.js +6 -6
  166. package/dist/extensions/irc/setup-entry.d.ts +2 -2
  167. package/dist/extensions/irc/setup-entry.js +6 -6
  168. package/dist/extensions/kakao-talkchannel/index.d.ts +1 -1
  169. package/dist/extensions/kilocode/index.d.ts +1 -1
  170. package/dist/extensions/kilocode/index.js +3 -3
  171. package/dist/extensions/kimi-coding/index.d.ts +1 -1
  172. package/dist/extensions/kimi-coding/index.js +3 -3
  173. package/dist/extensions/line/index.d.ts +1 -1
  174. package/dist/extensions/line/index.js +5 -5
  175. package/dist/extensions/line/setup-entry.d.ts +1 -1
  176. package/dist/extensions/line/setup-entry.js +5 -5
  177. package/dist/extensions/llm-task/index.d.ts +1 -1
  178. package/dist/extensions/llm-task/index.js +3 -3
  179. package/dist/extensions/lobster/index.d.ts +1 -1
  180. package/dist/extensions/matrix/index.d.ts +1 -1
  181. package/dist/extensions/matrix/index.js +8 -8
  182. package/dist/extensions/matrix/setup-entry.d.ts +2 -2
  183. package/dist/extensions/matrix/setup-entry.js +8 -8
  184. package/dist/extensions/mattermost/index.d.ts +1 -1
  185. package/dist/extensions/mattermost/index.js +5 -5
  186. package/dist/extensions/mattermost/setup-entry.d.ts +1 -1
  187. package/dist/extensions/mattermost/setup-entry.js +5 -5
  188. package/dist/extensions/memory-core/index.d.ts +1 -1
  189. package/dist/extensions/memory-lancedb/index.d.ts +1 -1
  190. package/dist/extensions/microsoft/index.d.ts +1 -1
  191. package/dist/extensions/microsoft/index.js +3 -3
  192. package/dist/extensions/minimax/index.d.ts +1 -1
  193. package/dist/extensions/minimax/index.js +3 -3
  194. package/dist/extensions/mistral/index.d.ts +1 -1
  195. package/dist/extensions/mistral/index.js +3 -3
  196. package/dist/extensions/modelstudio/index.d.ts +1 -1
  197. package/dist/extensions/modelstudio/index.js +3 -3
  198. package/dist/extensions/moonshot/index.d.ts +1 -1
  199. package/dist/extensions/moonshot/index.js +3 -3
  200. package/dist/extensions/msteams/index.d.ts +1 -1
  201. package/dist/extensions/msteams/index.js +8 -8
  202. package/dist/extensions/msteams/setup-entry.d.ts +1 -1
  203. package/dist/extensions/msteams/setup-entry.js +8 -8
  204. package/dist/extensions/nextcloud-talk/index.d.ts +1 -1
  205. package/dist/extensions/nextcloud-talk/index.js +5 -5
  206. package/dist/extensions/nextcloud-talk/setup-entry.d.ts +1 -1
  207. package/dist/extensions/nextcloud-talk/setup-entry.js +5 -5
  208. package/dist/extensions/nostr/index.d.ts +1 -1
  209. package/dist/extensions/nostr/index.js +5 -5
  210. package/dist/extensions/nostr/setup-entry.d.ts +1 -1
  211. package/dist/extensions/nostr/setup-entry.js +5 -5
  212. package/dist/extensions/nvidia/index.d.ts +1 -1
  213. package/dist/extensions/ollama/index.d.ts +1 -1
  214. package/dist/extensions/open-prose/index.d.ts +1 -1
  215. package/dist/extensions/openai/index.d.ts +1 -1
  216. package/dist/extensions/openai/index.js +3 -3
  217. package/dist/extensions/opencode/index.d.ts +1 -1
  218. package/dist/extensions/opencode/index.js +3 -3
  219. package/dist/extensions/opencode-go/index.d.ts +1 -1
  220. package/dist/extensions/opencode-go/index.js +3 -3
  221. package/dist/extensions/openrouter/index.d.ts +1 -1
  222. package/dist/extensions/openrouter/index.js +3 -3
  223. package/dist/extensions/openshell/index.d.ts +1 -1
  224. package/dist/extensions/openshell/index.js +3 -3
  225. package/dist/extensions/perplexity/index.d.ts +1 -1
  226. package/dist/extensions/phone-control/index.d.ts +1 -1
  227. package/dist/extensions/qianfan/index.d.ts +1 -1
  228. package/dist/extensions/qianfan/index.js +3 -3
  229. package/dist/extensions/qwen-portal-auth/index.d.ts +1 -1
  230. package/dist/extensions/qwen-portal-auth/index.js +3 -3
  231. package/dist/extensions/sglang/index.d.ts +1 -1
  232. package/dist/extensions/sglang/index.js +3 -3
  233. package/dist/extensions/signal/index.d.ts +1 -1
  234. package/dist/extensions/signal/index.js +6 -6
  235. package/dist/extensions/signal/setup-entry.d.ts +1 -1
  236. package/dist/extensions/signal/setup-entry.js +6 -6
  237. package/dist/extensions/slack/index.d.ts +1 -1
  238. package/dist/extensions/slack/index.js +7 -7
  239. package/dist/extensions/slack/setup-entry.d.ts +1 -1
  240. package/dist/extensions/slack/setup-entry.js +6 -6
  241. package/dist/extensions/synology-chat/index.d.ts +1 -1
  242. package/dist/extensions/synology-chat/index.js +5 -5
  243. package/dist/extensions/synology-chat/setup-entry.d.ts +1 -1
  244. package/dist/extensions/synology-chat/setup-entry.js +5 -5
  245. package/dist/extensions/synthetic/index.d.ts +1 -1
  246. package/dist/extensions/synthetic/index.js +3 -3
  247. package/dist/extensions/talk-voice/index.d.ts +1 -1
  248. package/dist/extensions/talk-voice/index.js +3 -3
  249. package/dist/extensions/telegram/index.d.ts +1 -1
  250. package/dist/extensions/telegram/index.js +6 -6
  251. package/dist/extensions/telegram/setup-entry.d.ts +1 -1
  252. package/dist/extensions/telegram/setup-entry.js +5 -5
  253. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  254. package/dist/extensions/tlon/index.d.ts +1 -1
  255. package/dist/extensions/tlon/index.js +5 -5
  256. package/dist/extensions/tlon/setup-entry.d.ts +1 -1
  257. package/dist/extensions/tlon/setup-entry.js +5 -5
  258. package/dist/extensions/together/index.d.ts +1 -1
  259. package/dist/extensions/together/index.js +3 -3
  260. package/dist/extensions/twitch/index.d.ts +2 -2
  261. package/dist/extensions/twitch/index.js +5 -5
  262. package/dist/extensions/venice/index.d.ts +1 -1
  263. package/dist/extensions/venice/index.js +3 -3
  264. package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
  265. package/dist/extensions/vercel-ai-gateway/index.js +3 -3
  266. package/dist/extensions/vllm/index.d.ts +1 -1
  267. package/dist/extensions/vllm/index.js +3 -3
  268. package/dist/extensions/voice-call/index.d.ts +1 -1
  269. package/dist/extensions/voice-call/index.js +3 -3
  270. package/dist/extensions/volcengine/index.d.ts +1 -1
  271. package/dist/extensions/volcengine/index.js +3 -3
  272. package/dist/extensions/whatsapp/index.d.ts +1 -1
  273. package/dist/extensions/whatsapp/index.js +6 -6
  274. package/dist/extensions/whatsapp/setup-entry.d.ts +1 -1
  275. package/dist/extensions/whatsapp/setup-entry.js +6 -6
  276. package/dist/extensions/xai/index.d.ts +1 -1
  277. package/dist/extensions/xai/index.js +3 -3
  278. package/dist/extensions/xiaomi/index.d.ts +1 -1
  279. package/dist/extensions/xiaomi/index.js +3 -3
  280. package/dist/extensions/zai/index.d.ts +1 -1
  281. package/dist/extensions/zai/index.js +3 -3
  282. package/dist/extensions/zalo/index.d.ts +1 -1
  283. package/dist/extensions/zalo/index.js +7 -7
  284. package/dist/extensions/zalo/setup-entry.d.ts +1 -1
  285. package/dist/extensions/zalo/setup-entry.js +7 -7
  286. package/dist/extensions/zalouser/index.d.ts +1 -1
  287. package/dist/extensions/zalouser/index.js +8 -8
  288. package/dist/extensions/zalouser/setup-entry.d.ts +1 -1
  289. package/dist/extensions/zalouser/setup-entry.js +8 -8
  290. package/dist/{feishu-Dq4r0lbG.d.ts → feishu-30M66iSJ.d.ts} +1 -1
  291. package/dist/{gateway-cli-K7ED9wKb.js → gateway-cli-B5nIp9kc.js} +18 -18
  292. package/dist/{gateway-install-token-BVbDHIzC.js → gateway-install-token-0ZSF6mJj.js} +1 -1
  293. package/dist/{googlechat-CmPvfq1M.js → googlechat-G4O5K7qD.js} +1 -1
  294. package/dist/{googlechat-M5klXIBz.d.ts → googlechat-eGfLGNaj.d.ts} +1 -1
  295. package/dist/{health-CnFuLbLZ.js → health-BLEFWMew.js} +1 -1
  296. package/dist/{health-CgxBJYvj.js → health-CSoEt5sJ.js} +4 -4
  297. package/dist/{hooks-cli-CNQVTHtZ.js → hooks-cli-Cs1Xi00v.js} +5 -5
  298. package/dist/hooks-hpp5zlIN.d.ts +6 -0
  299. package/dist/{http-registry-mBVHcWCO.d.ts → http-registry-BQLYyW8p.d.ts} +1 -1
  300. package/dist/{image-generation-CEwonXei.d.ts → image-generation-DQCOI5jp.d.ts} +1 -1
  301. package/dist/{imessage-BjpGNudZ.js → imessage-CKmfsxKl.js} +1 -1
  302. package/dist/{imessage-Ba0jyfjP.js → imessage-D4kFo8Tv.js} +4 -4
  303. package/dist/{inbound-reply-dispatch-KEy_cH0I.d.ts → inbound-reply-dispatch-CkN5KbMO.d.ts} +1 -1
  304. package/dist/{inbound-reply-dispatch-RAZGspZj.js → inbound-reply-dispatch-GSrwqtJu.js} +1 -1
  305. package/dist/index.js +2 -2
  306. package/dist/{install-target-Yd12OiXR.js → install-target-Wzmq2x7i.js} +1 -1
  307. package/dist/{installs-CDn6J4mD.js → installs-F_EAJ1Ej.js} +2 -2
  308. package/dist/{irc-Dv73-QlG.js → irc-Djpzebrp.js} +1 -1
  309. package/dist/{library-Bo1Axk44.js → library-oo7mj3aZ.js} +3 -3
  310. package/dist/line/accounts.d.ts +1 -1
  311. package/dist/line/send.d.ts +1 -1
  312. package/dist/line/template-messages.d.ts +1 -1
  313. package/dist/{line-361LsOyi.d.ts → line-DQJrDWdP.d.ts} +1 -1
  314. package/dist/{line-BnN1lfna.js → line-oVEwEIz5.js} +1 -1
  315. package/dist/{llm-slug-generator-BZA8yMPc.js → llm-slug-generator-D1yv2RfV.js} +1 -1
  316. package/dist/llm-slug-generator.d.ts +1 -1
  317. package/dist/llm-slug-generator.js +4 -4
  318. package/dist/{login-qr-BB4-uHYy.js → login-qr-BrlUpyAO.js} +4 -4
  319. package/dist/{login-qr-cu_Jz-mk.js → login-qr-C0fYYyMW.js} +1 -1
  320. package/dist/{manager-runtime-Dtcu_ug7.js → manager-runtime-CXROjlE8.js} +3 -3
  321. package/dist/{manager.runtime-B7glFQLd.js → manager.runtime-gQqK_1qc.js} +3 -3
  322. package/dist/{matrix-jSd9iMwi.js → matrix-8Aab5I4q.js} +8 -8
  323. package/dist/{matrix-CpYpeOtK.d.ts → matrix-ChWGM7Rf.d.ts} +1 -1
  324. package/dist/{matrix-UL5rb1Q8.js → matrix-D2BW04NN.js} +1 -1
  325. package/dist/{media-understanding.runtime-CrWdI8kP.js → media-understanding.runtime-DZeIc6d0.js} +3 -3
  326. package/dist/{memory-cli-DLJCW5_f.js → memory-cli-Agb3AJfc.js} +3 -3
  327. package/dist/{model-auth-markers-CwEnK74G.d.ts → model-auth-markers-Do3juoEL.d.ts} +1 -1
  328. package/dist/{model-picker-BOSpoVxd.js → model-picker-C9S6W21O.js} +2 -2
  329. package/dist/{model-picker-C1VITz7x.js → model-picker-D9yWQKR_.js} +4 -4
  330. package/dist/{model-picker.runtime-Dsh7I_AH.js → model-picker.runtime-ByfRUHa8.js} +6 -6
  331. package/dist/{model-suppression.runtime-BwjrIR8T.js → model-suppression.runtime-C4vn8kEz.js} +3 -3
  332. package/dist/{models-C8W1cCsu.js → models-BS99rDG0.js} +5 -5
  333. package/dist/{models-Bjoa0FNV.js → models-VRy8ufXQ.js} +4 -4
  334. package/dist/{models-cli-DrXH1KLc.js → models-cli-Dm4vXyHf.js} +5 -5
  335. package/dist/{models-config-CvH96jrN.js → models-config-6oMucO-e.js} +3 -3
  336. package/dist/{models-config.providers.discovery-CV2T29n1.d.ts → models-config.providers.discovery-DLVEmnwL.d.ts} +1 -1
  337. package/dist/{monitor-Dk6I5Is9.js → monitor-0XNeijvZ.js} +7 -7
  338. package/dist/{monitor-Ln6X6VRE.js → monitor-4CEcAFsr.js} +4 -4
  339. package/dist/{monitor-qiJ9qV1x.js → monitor-BLpIzSkm.js} +3 -3
  340. package/dist/{monitor-D07azxj8.js → monitor-BtHGjg4d.js} +6 -6
  341. package/dist/{monitor-CCzcl7zm.js → monitor-Bzo7FWCR.js} +1 -1
  342. package/dist/{monitor-HTN0BfuM.js → monitor-D8GSVf_c.js} +5 -5
  343. package/dist/{monitor-2Vq-EYHK.js → monitor-Dg8FzE4W.js} +2 -2
  344. package/dist/{monitor-shared-DbvHfvrb.js → monitor-shared-B9q8l0h2.js} +2 -2
  345. package/dist/{msteams-CRKfjUlX.js → msteams-TBh92jfl.js} +1 -1
  346. package/dist/{node-cli-CxmZ2qUt.js → node-cli-6rBELm3D.js} +3 -3
  347. package/dist/{nodes-cli-CaAbjVRR.js → nodes-cli-D_vxUaui.js} +3 -3
  348. package/dist/{nostr-6d6J1eus.d.ts → nostr-95eZrVW7.d.ts} +1 -1
  349. package/dist/{nostr-keiFL7WL.js → nostr-DLQuD4Aj.js} +1 -1
  350. package/dist/{npm-resolution-VE_UScLC.js → npm-resolution-DhaK4-V3.js} +1 -1
  351. package/dist/{onboard-CIi2VLmo.js → onboard-CBPshZ64.js} +4 -4
  352. package/dist/{onboard-channels-CSI-ES0G.js → onboard-channels-Cs9ekFGX.js} +74 -74
  353. package/dist/{onboard-channels-BgXlsUas.js → onboard-channels-kjdAfmxH.js} +31 -31
  354. package/dist/{onboard-custom-u2QIkimv.js → onboard-custom-BZbJhsFE.js} +5 -5
  355. package/dist/{onboard-custom-Lkxe8JoS.js → onboard-custom-k_jl8caW.js} +1 -1
  356. package/dist/{onboard-helpers-D84afYG2.js → onboard-helpers-Pk8FmDIS.js} +3 -3
  357. package/dist/{onboard-remote-Dyp4vCKB.js → onboard-remote-C5YR5FZ4.js} +4 -4
  358. package/dist/{onboard-remote-CDHyv-At.js → onboard-remote-DFkrQIPH.js} +1 -1
  359. package/dist/{onboard-search-DHcvTJor.js → onboard-search-DjCN3Mtd.js} +4 -4
  360. package/dist/{onboard-skills-Gupx879W.js → onboard-skills-CmLCk6fV.js} +5 -5
  361. package/dist/{onboard-skills-DLfFSzPh.js → onboard-skills-DzWL6IdA.js} +1 -1
  362. package/dist/{outbound-media-CqoNWUiH.d.ts → outbound-media-B7P8RE5I.d.ts} +1 -1
  363. package/dist/{outbound-media-Crq0fx9y.js → outbound-media-DyYZQ-5J.js} +1 -1
  364. package/dist/{pairing-access-WsmWEROQ.d.ts → pairing-access-Cyz3lbvX.d.ts} +1 -1
  365. package/dist/{pairing-cli-aFa0g4BY.js → pairing-cli-Bp7laAF4.js} +3 -3
  366. package/dist/{persistent-dedupe-bkXkno8F.d.ts → persistent-dedupe-CoOsTmgz.d.ts} +1 -1
  367. package/dist/{pi-model-discovery-runtime-Bdv7hB1U.js → pi-model-discovery-runtime-Drc2DJ_p.js} +3 -3
  368. package/dist/{plugin-install-CChs7EJL.js → plugin-install-CpfzqEAl.js} +8 -8
  369. package/dist/{plugin-install-Be3LF9gw.js → plugin-install-CyZLfhm3.js} +4 -4
  370. package/dist/{plugin-install-plan-DVuqIe63.js → plugin-install-plan-NZqn1jyH.js} +1 -1
  371. package/dist/{plugin-registry-CGMqXglq.js → plugin-registry-D9kuqtic.js} +4 -4
  372. package/dist/{plugin-registry-iVd9ILUG.js → plugin-registry-DqBAVOE3.js} +1 -1
  373. package/dist/plugin-sdk/account-resolution.js +3 -3
  374. package/dist/plugin-sdk/acp-runtime.js +3 -3
  375. package/dist/plugin-sdk/agent-runtime.js +3 -3
  376. package/dist/plugin-sdk/bluebubbles.js +5 -5
  377. package/dist/plugin-sdk/channel-config-helpers.js +3 -3
  378. package/dist/plugin-sdk/channel-policy.js +3 -3
  379. package/dist/plugin-sdk/channel-runtime.js +3 -3
  380. package/dist/plugin-sdk/compat.js +4 -4
  381. package/dist/plugin-sdk/config-runtime.js +3 -3
  382. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  383. package/dist/plugin-sdk/discord.js +3 -3
  384. package/dist/plugin-sdk/feishu.js +3 -3
  385. package/dist/plugin-sdk/googlechat.js +5 -5
  386. package/dist/plugin-sdk/image-generation-runtime.js +3 -3
  387. package/dist/plugin-sdk/image-generation.js +3 -3
  388. package/dist/plugin-sdk/imessage.js +4 -4
  389. package/dist/plugin-sdk/index.js +3 -3
  390. package/dist/plugin-sdk/infra-runtime.js +3 -3
  391. package/dist/plugin-sdk/irc.js +5 -5
  392. package/dist/plugin-sdk/line.js +4 -4
  393. package/dist/plugin-sdk/llm-task.js +3 -3
  394. package/dist/plugin-sdk/matrix.js +5 -5
  395. package/dist/plugin-sdk/mattermost.js +4 -4
  396. package/dist/plugin-sdk/media-runtime.js +3 -3
  397. package/dist/plugin-sdk/media-understanding-runtime.js +3 -3
  398. package/dist/plugin-sdk/media-understanding.js +3 -3
  399. package/dist/plugin-sdk/msteams.js +6 -6
  400. package/dist/plugin-sdk/nextcloud-talk.js +4 -4
  401. package/dist/plugin-sdk/nostr.js +4 -4
  402. package/dist/plugin-sdk/plugin-runtime.js +3 -3
  403. package/dist/plugin-sdk/provider-auth.js +3 -3
  404. package/dist/plugin-sdk/provider-setup.js +4 -4
  405. package/dist/plugin-sdk/qwen-portal-auth.js +3 -3
  406. package/dist/plugin-sdk/reply-history.js +3 -3
  407. package/dist/plugin-sdk/reply-runtime.js +3 -3
  408. package/dist/plugin-sdk/sandbox.js +3 -3
  409. package/dist/plugin-sdk/security-runtime.js +3 -3
  410. package/dist/plugin-sdk/self-hosted-provider-setup.js +4 -4
  411. package/dist/plugin-sdk/setup.js +3 -3
  412. package/dist/plugin-sdk/signal.js +3 -3
  413. package/dist/plugin-sdk/slack.js +3 -3
  414. package/dist/plugin-sdk/speech-runtime.js +3 -3
  415. package/dist/plugin-sdk/speech.js +3 -3
  416. package/dist/plugin-sdk/synology-chat.js +4 -4
  417. package/dist/plugin-sdk/telegram.js +3 -3
  418. package/dist/plugin-sdk/tlon.js +4 -4
  419. package/dist/plugin-sdk/twitch.js +3 -3
  420. package/dist/plugin-sdk/voice-call.js +3 -3
  421. package/dist/plugin-sdk/whatsapp.js +3 -3
  422. package/dist/plugin-sdk/zalo.js +6 -6
  423. package/dist/plugin-sdk/zalouser.js +6 -6
  424. package/dist/plugins/runtime/index.d.ts +1 -1
  425. package/dist/plugins/runtime/index.js +3 -3
  426. package/dist/{plugins-CdpMRpng.js → plugins-CnhiozTI.js} +3 -3
  427. package/dist/{plugins-cli-7-LJzZSO.js → plugins-cli-BRkF5nhY.js} +9 -9
  428. package/dist/{policy-Bqubw48Y.js → policy-EW-UZi9B.js} +1 -1
  429. package/dist/{preflight-audio.runtime-99hzskTG.js → preflight-audio.runtime-DVuyDFZX.js} +3 -3
  430. package/dist/{probe-BuKitqQK.js → probe-BrjJHTnF.js} +3 -3
  431. package/dist/{probe-bq0UJA8g.js → probe-BxApy8W-.js} +2 -2
  432. package/dist/{probe-DqKKTQer.js → probe-C6hMbjLs.js} +1 -1
  433. package/dist/{program-aIQMUQHy.js → program-Cd2im_DD.js} +9 -9
  434. package/dist/{prompt-select-styled-BxtiVkfK.js → prompt-select-styled-CkdKWO9D.js} +10 -10
  435. package/dist/{provider-api-key-auth.runtime-Dc_2R79M.js → provider-api-key-auth.runtime-BQuGbFyY.js} +3 -3
  436. package/dist/{provider-auth-choice-qgGicNm1.js → provider-auth-choice-DbROD3BK.js} +2 -2
  437. package/dist/{provider-auth-choice-preference-Dmm0h3fW.js → provider-auth-choice-preference-BWY5r96O.js} +2 -2
  438. package/dist/{provider-auth-choice.runtime-XxVgHYrX.js → provider-auth-choice.runtime-tutP2Dm-.js} +4 -4
  439. package/dist/{provider-auth-guidance-CkaHxtEM.js → provider-auth-guidance-ioVdVouy.js} +1 -1
  440. package/dist/{provider-auth-result-B0HBP98j.d.ts → provider-auth-result-BxuPE0HJ.d.ts} +1 -1
  441. package/dist/{provider-models-DN8dwbor.d.ts → provider-models-C-0p3vxo.d.ts} +1 -1
  442. package/dist/{provider-ollama-setup-DHuKj9Kd.d.ts → provider-ollama-setup-Dz3DsGgw.d.ts} +1 -1
  443. package/dist/{provider-onboard-Dxds4AYf.d.ts → provider-onboard-DE0ipC6S.d.ts} +1 -1
  444. package/dist/{provider-runtime.runtime-C7D4oXUA.js → provider-runtime.runtime-B6DfXI1y.js} +3 -3
  445. package/dist/{provider-self-hosted-setup-BRp54OBK.js → provider-self-hosted-setup-DrSC2UJq.js} +1 -1
  446. package/dist/{provider-self-hosted-setup-7mGwONa7.d.ts → provider-self-hosted-setup-DvGGRp2v.d.ts} +1 -1
  447. package/dist/{provider-usage-DW3D3Sqe.js → provider-usage-CbPVnvo4.js} +3 -3
  448. package/dist/{provider-wizard-BFPd8mvr.js → provider-wizard-BhrIqFdZ.js} +1 -1
  449. package/dist/{push-apns-Db2kRM3O.js → push-apns-Ddk0JboD.js} +1 -1
  450. package/dist/{qr-cli-CxYxuHA4.js → qr-cli-BW6OVKd2.js} +1 -1
  451. package/dist/{qr-cli-DT8wd0s3.js → qr-cli-Ckj_gVMW.js} +4 -4
  452. package/dist/{reactions-BOSbzeKM.js → reactions-BvUva95M.js} +1 -1
  453. package/dist/{read-only-account-inspect.discord.runtime-Bq32QZFM.js → read-only-account-inspect.discord.runtime-DseEIQJq.js} +3 -3
  454. package/dist/{read-only-account-inspect.slack.runtime-BJpmTFws.js → read-only-account-inspect.slack.runtime-C7A7QC7t.js} +3 -3
  455. package/dist/{read-only-account-inspect.telegram.runtime-Cxx84k7l.js → read-only-account-inspect.telegram.runtime-za3x5-GK.js} +3 -3
  456. package/dist/{redact-snapshot-CLgTsHrX.js → redact-snapshot-CtZt-HLX.js} +1 -1
  457. package/dist/{register.agent-VR8x9Nxw.js → register.agent-CHh-8q5Y.js} +83 -83
  458. package/dist/{register.configure-bXeizxB0.js → register.configure-DfGU4_3r.js} +89 -89
  459. package/dist/{register.maintenance-Zl555-Y-.js → register.maintenance-BWfGzMCx.js} +15 -15
  460. package/dist/{register.message-DVVngVPk.js → register.message-CQtJ69XD.js} +4 -4
  461. package/dist/{register.onboard-3hbMDziq.js → register.onboard-BoAQBR02.js} +7 -7
  462. package/dist/{register.setup-bxxxysTy.js → register.setup-HlgM5tVM.js} +5 -5
  463. package/dist/{register.status-health-sessions-Du99iD2Q.js → register.status-health-sessions-Dh6tctU7.js} +9 -9
  464. package/dist/{register.subclis-CoOPt5I3.js → register.subclis-CbcnIvdC.js} +21 -21
  465. package/dist/{register.subclis-mqrM5YZ4.js → register.subclis-CoD_INze.js} +1 -1
  466. package/dist/{replies-DQMwcyWp.js → replies-BLE-uX7E.js} +1 -1
  467. package/dist/{resolve-channels-zAV6SOTT.js → resolve-channels-BREw3SDf.js} +2 -2
  468. package/dist/{resolve-channels-CHRx9JbC.js → resolve-channels-D-1YBsKX.js} +1 -1
  469. package/dist/{resolve-users-DASMFPfq.js → resolve-users-Bng45ayG.js} +1 -1
  470. package/dist/{run-main-BlieNf2K.js → run-main-D0v58zvY.js} +19 -19
  471. package/dist/{runtime-CkxFHxuU.d.ts → runtime-DqW8jJN9.d.ts} +1 -1
  472. package/dist/{runtime-discord-ops.runtime-BKnLRXeP.js → runtime-discord-ops.runtime-COBaHwyG.js} +8 -8
  473. package/dist/{runtime-slack-ops.runtime-DYzWub5J.js → runtime-slack-ops.runtime-DKdfO5AD.js} +9 -9
  474. package/dist/{runtime-telegram-ops.runtime-BXTcPA0s.js → runtime-telegram-ops.runtime-d__OwQPB.js} +4 -4
  475. package/dist/{runtime-whatsapp-login.runtime-UJmDU1aZ.js → runtime-whatsapp-login.runtime-DAsQiVsc.js} +3 -3
  476. package/dist/{runtime-whatsapp-outbound.runtime-CDplsrK-.js → runtime-whatsapp-outbound.runtime-CtZ6aSID.js} +3 -3
  477. package/dist/{sandbox-cli-zKuYOQaz.js → sandbox-cli-BIqu6mdX.js} +3 -3
  478. package/dist/{search-manager-Bow0BAM3.js → search-manager-B1ifAltj.js} +1 -1
  479. package/dist/{search-manager-D4g5Ko_a.js → search-manager-iAIoWNRC.js} +1 -1
  480. package/dist/{secrets-cli-NEgtGajp.js → secrets-cli-CGo-tb4T.js} +3 -3
  481. package/dist/{security-cli-DqSAmdHB.js → security-cli-5ZIVNtxE.js} +4 -4
  482. package/dist/{send-CwM0pKlc.js → send-BvW2G8TJ.js} +1 -1
  483. package/dist/{send-DbUK8Xlo.js → send-DZ7xjjc2.js} +1 -1
  484. package/dist/{send-CkLvnRS8.js → send-Drj0etLL.js} +1 -1
  485. package/dist/{send-BOc8nunS.js → send-N42sEtAA.js} +1 -1
  486. package/dist/{server-node-events-Bn3uSWbx.js → server-node-events-ib8RpvhY.js} +4 -4
  487. package/dist/{sessions-CPD5ePJp.js → sessions-BLx_M1oI.js} +4 -4
  488. package/dist/{sessions-DCN2CGnG.js → sessions-vXkkmXcQ.js} +1 -1
  489. package/dist/{setup-Ci5sgFX5.d.ts → setup-DxS66_7A.d.ts} +1 -1
  490. package/dist/{setup-Baauxts_.js → setup-ZYD3Gm_k.js} +13 -13
  491. package/dist/{setup-core-fRh8m_u9.js → setup-core-BMIxx5L2.js} +1 -1
  492. package/dist/{setup-core-C0LxQsHj.js → setup-core-CFb00Jhj.js} +1 -1
  493. package/dist/{setup-core-Dh0mHB_A.js → setup-core-CWXZmr4M.js} +1 -1
  494. package/dist/{setup-core-CDZtu-OT.js → setup-core-buTvZWT2.js} +1 -1
  495. package/dist/{setup-surface-k685KRCx.js → setup-surface-DAD9YJZ4.js} +2 -2
  496. package/dist/{setup-wizard-helpers-BKYZgvaT.d.ts → setup-wizard-helpers-_Nm5gKTP.d.ts} +1 -1
  497. package/dist/{setup.finalize-oPL1DYO2.js → setup.finalize-JIbFJgTk.js} +12 -12
  498. package/dist/{setup.gateway-config-BkXVCQ7t.js → setup.gateway-config-CNvoPpnd.js} +3 -3
  499. package/dist/{shared-DZj_yWiR.js → shared-BYcoBtj0.js} +3 -3
  500. package/dist/{shared-_YwkKIRW.js → shared-Cr-CdBR3.js} +1 -1
  501. package/dist/{shared-BP9BjZ0D.js → shared-Qu8H1btd.js} +3 -3
  502. package/dist/{shared-DakizVGo.js → shared-eRx5nJcR.js} +3 -3
  503. package/dist/{shared-CKR7-uh_.js → shared-klMiMKfy.js} +2 -2
  504. package/dist/{signal-Bwr4cE_j.js → signal-BFSbFgqU.js} +3 -3
  505. package/dist/{skills-install-Daey6c0B.js → skills-install-HDmkkZp6.js} +1 -1
  506. package/dist/{slack-DLit3qXw.js → slack-Dx69Heba.js} +3 -3
  507. package/dist/{slash-commands.runtime-BuN4WLqU.js → slash-commands.runtime-DD85pw-v.js} +3 -3
  508. package/dist/{slash-dispatch.runtime-DrwF3RoO.js → slash-dispatch.runtime-gCNA8_Ro.js} +4 -4
  509. package/dist/{slash-skill-commands.runtime-Dv18_9oI.js → slash-skill-commands.runtime-D4KWjPAQ.js} +3 -3
  510. package/dist/{src-3uG2Xj98.js → src-BItpqEhB.js} +8 -8
  511. package/dist/{status-XmSiNkqm.js → status-11Z1Q8hb.js} +10 -10
  512. package/dist/{status-oZj6jvi5.js → status-BIoFj2OH.js} +3 -3
  513. package/dist/{status-DH-rRm1T.js → status-CLDov3WO.js} +8 -8
  514. package/dist/{status-FcpInHOO.js → status-CzikSMvW.js} +1 -1
  515. package/dist/{status-json-4hn88q3G.js → status-json-B3Y8J8ce.js} +6 -6
  516. package/dist/{status.link-channel-BPw91HtO.js → status.link-channel-C6--3KoK.js} +4 -4
  517. package/dist/{status.scan.deps.runtime-rFiIVE5X.js → status.scan.deps.runtime-Ok7Pk3_T.js} +3 -3
  518. package/dist/{status.scan.runtime-BDxk6G2Z.js → status.scan.runtime-BnLdJFJm.js} +5 -5
  519. package/dist/{status.summary-CRJgx6fd.js → status.summary-DU5_m3FX.js} +3 -3
  520. package/dist/{status.summary.runtime-C3fQIT7Y.js → status.summary.runtime-BVg6djYV.js} +3 -3
  521. package/dist/{subagent-orphan-recovery-ms91q27O.js → subagent-orphan-recovery-CYGjTJMX.js} +3 -3
  522. package/dist/{subagent-registry-runtime-CGD5aXfH.js → subagent-registry-runtime-sKV8rkLm.js} +3 -3
  523. package/dist/{synology-chat-BGZ8DqK4.js → synology-chat-BvCsUYbT.js} +1 -1
  524. package/dist/telegram/audit.d.ts +1 -1
  525. package/dist/telegram/audit.js +1 -1
  526. package/dist/telegram/token.d.ts +1 -1
  527. package/dist/telegram/token.js +3 -3
  528. package/dist/{telegram-DRHBM88_.js → telegram-Lj0UlsAl.js} +3 -3
  529. package/dist/{text-chunking-BCTAY2m_.d.ts → text-chunking-k9OuqMHc.d.ts} +1 -1
  530. package/dist/{text-chunking-Bs86XPtN.js → text-chunking-t89xETUM.js} +1 -1
  531. package/dist/{tlon-C2ZxuFRo.js → tlon-Pa9zosty.js} +1 -1
  532. package/dist/{tui-BE-Hl2HS.js → tui-BmemZB1W.js} +1 -1
  533. package/dist/{tui-cli-_HJ6K6vZ.js → tui-cli-6fWnPLki.js} +4 -4
  534. package/dist/{types-CRX5Cyaj.d.ts → types-BLR6Qxou.d.ts} +1 -1
  535. package/dist/{types-BwJBiwss.d.ts → types-DwDu-2nM.d.ts} +26 -26
  536. package/dist/{ui-BUXGXkDY.js → ui-DalmfTrW.js} +1 -1
  537. package/dist/{update-Cgu8Wm8W.js → update-D_qlPVCl.js} +2 -2
  538. package/dist/{update-cli-vTQcAQaR.js → update-cli-Dlph9Wfn.js} +19 -19
  539. package/dist/{update-offset-store-B0hGZXe5.js → update-offset-store-BSBtbMzt.js} +3 -3
  540. package/dist/{update-runner-DECQAYSR.js → update-runner-BapwjigT.js} +1 -1
  541. package/dist/{web-mbQXhhZK.js → web-CabKolDJ.js} +3 -3
  542. package/dist/{web-shared-DqQFEhWR.d.ts → web-shared-CZE2NAAd.d.ts} +1 -1
  543. package/dist/{webhook-targets-DqqfcpOn.d.ts → webhook-targets-C3324LcW.d.ts} +1 -1
  544. package/dist/{webhook-targets-CjPuFFIt.js → webhook-targets-DCwmJaQa.js} +1 -1
  545. package/dist/{whatsapp-C3Lj2e5w.js → whatsapp-NbTvP67u.js} +3 -3
  546. package/dist/{whatsapp-actions-DnV4w9hb.js → whatsapp-actions-BttU-2PE.js} +3 -3
  547. package/dist/{zalo-BV3oM3Qy.js → zalo-BV-dEMwC.js} +1 -1
  548. package/dist/{zalo-Sabz5KKS.d.ts → zalo-CPD_ycsg.d.ts} +1 -1
  549. package/dist/{zalouser-CqNOz2Js.js → zalouser-EGLrlvR6.js} +2 -2
  550. package/dist/{zod-schema.core-R31V-A-5.d.ts → zod-schema.core-DEIG-kr_.d.ts} +1 -1
  551. package/package.json +1 -1
  552. package/dist/hooks-BcRAxbUq.d.ts +0 -6
@@ -102,7 +102,7 @@ import { i as getMemoryMultimodalExtensions, r as classifyMemoryMultimodalPath,
102
102
  import { t as resolveMemorySearchConfig } from "./memory-search-tTD5o_rU.js";
103
103
  import { t as parseGeminiAuth } from "./google-CWlY451I.js";
104
104
  import { C as isFileMissingError, S as splitTextToUtf8ByteLimit, _ as remapChunkLines, a as listSessionFilesForAgent, b as estimateStructuredEmbeddingInputBytes, c as buildMultimodalChunkForIndexing, d as ensureDir$2, f as hashText$1, g as parseEmbedding, h as normalizeExtraMemoryPaths, i as buildSessionEntry, l as chunkMarkdown, m as listMemoryFiles, n as isQueryStopWordToken, o as sessionPathForFile, p as isMemoryPath, r as requireNodeSqlite, s as buildFileEntry, t as extractKeywords, u as cosineSimilarity, v as runWithConcurrency$1, w as statRegularFile, x as estimateUtf8Bytes, y as hasNonTextEmbeddingParts } from "./query-expansion-D_Mm5Hhi.js";
105
- import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./search-manager-Bow0BAM3.js";
105
+ import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./search-manager-B1ifAltj.js";
106
106
  import { a as buildOutboundBaseSessionKey, c as buildOauthProviderAuthResult, i as normalizeOutboundThreadId, n as definePluginEntry } from "./core-BwKq3krw.js";
107
107
  import { n as formatConfigIssueLines } from "./issue-format-B0SI57Es.js";
108
108
  import { n as logConfigUpdated } from "./logging-CdisccbY.js";
@@ -125,7 +125,7 @@ import { a as resolvePairingPaths, i as pruneExpiredPending, n as verifyPairingT
125
125
  import { i as resolveLineAccount, n as normalizeAccountId$2, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-J2OhhhQi.js";
126
126
  import { t as buildTemplateMessageFromPayload } from "./template-messages-dPxEb-WR.js";
127
127
  import { r as isAllowedParsedChatSender } from "./allow-from-Brz0jyla.js";
128
- import { n as collectTelegramUnmentionedGroupIds } from "./audit-BSzRqxfq.js";
128
+ import { n as collectTelegramUnmentionedGroupIds } from "./audit-CSGucdf8.js";
129
129
  import { t as waitForever } from "./cli-runtime-DTCHPjCi.js";
130
130
  import { r as withManager } from "./cli-utils-BCuSS4l6.js";
131
131
  import { t as formatHelpExamples } from "./help-format-BFzPm_8V.js";
@@ -200,7 +200,7 @@ function resolveAuthProfileDisplayLabel(params) {
200
200
  //#region src/agents/auth-profiles/doctor.ts
201
201
  let providerRuntimePromise$3;
202
202
  function loadProviderRuntime$3() {
203
- providerRuntimePromise$3 ??= import("./provider-runtime.runtime-C7D4oXUA.js");
203
+ providerRuntimePromise$3 ??= import("./provider-runtime.runtime-B6DfXI1y.js");
204
204
  return providerRuntimePromise$3;
205
205
  }
206
206
  async function formatAuthDoctorHint(params) {
@@ -1136,7 +1136,7 @@ function repairOAuthProfileIdMismatch(params) {
1136
1136
  const OAUTH_PROVIDER_IDS = new Set(getOAuthProviders().map((provider) => provider.id));
1137
1137
  let providerRuntimePromise$2;
1138
1138
  function loadProviderRuntime$2() {
1139
- providerRuntimePromise$2 ??= import("./provider-runtime.runtime-C7D4oXUA.js");
1139
+ providerRuntimePromise$2 ??= import("./provider-runtime.runtime-B6DfXI1y.js");
1140
1140
  return providerRuntimePromise$2;
1141
1141
  }
1142
1142
  const isOAuthProvider = (provider) => OAUTH_PROVIDER_IDS.has(provider);
@@ -5694,15 +5694,15 @@ let discordInspectModulePromise;
5694
5694
  let slackInspectModulePromise;
5695
5695
  let telegramInspectModulePromise;
5696
5696
  function loadDiscordInspectModule() {
5697
- discordInspectModulePromise ??= import("./read-only-account-inspect.discord.runtime-Bq32QZFM.js");
5697
+ discordInspectModulePromise ??= import("./read-only-account-inspect.discord.runtime-DseEIQJq.js");
5698
5698
  return discordInspectModulePromise;
5699
5699
  }
5700
5700
  function loadSlackInspectModule() {
5701
- slackInspectModulePromise ??= import("./read-only-account-inspect.slack.runtime-BJpmTFws.js");
5701
+ slackInspectModulePromise ??= import("./read-only-account-inspect.slack.runtime-C7A7QC7t.js");
5702
5702
  return slackInspectModulePromise;
5703
5703
  }
5704
5704
  function loadTelegramInspectModule() {
5705
- telegramInspectModulePromise ??= import("./read-only-account-inspect.telegram.runtime-Cxx84k7l.js");
5705
+ telegramInspectModulePromise ??= import("./read-only-account-inspect.telegram.runtime-za3x5-GK.js");
5706
5706
  return telegramInspectModulePromise;
5707
5707
  }
5708
5708
  async function inspectReadOnlyChannelAccount(params) {
@@ -10463,7 +10463,7 @@ const AWS_SECRET_KEY_ENV = "AWS_SECRET_ACCESS_KEY";
10463
10463
  const AWS_PROFILE_ENV = "AWS_PROFILE";
10464
10464
  let providerRuntimePromise$1;
10465
10465
  function loadProviderRuntime$1() {
10466
- providerRuntimePromise$1 ??= import("./provider-runtime.runtime-C7D4oXUA.js");
10466
+ providerRuntimePromise$1 ??= import("./provider-runtime.runtime-B6DfXI1y.js");
10467
10467
  return providerRuntimePromise$1;
10468
10468
  }
10469
10469
  function resolveProviderConfig(cfg, provider) {
@@ -11977,17 +11977,17 @@ async function ensuremoldClawModelsJson(config, agentDirOverride) {
11977
11977
  const log$35 = createSubsystemLogger("model-catalog");
11978
11978
  let modelCatalogPromise = null;
11979
11979
  let hasLoggedModelCatalogError = false;
11980
- const defaultImportPiSdk = () => import("./pi-model-discovery-runtime-Bdv7hB1U.js");
11980
+ const defaultImportPiSdk = () => import("./pi-model-discovery-runtime-Drc2DJ_p.js");
11981
11981
  let importPiSdk = defaultImportPiSdk;
11982
11982
  let providerRuntimePromise;
11983
11983
  let modelSuppressionPromise;
11984
11984
  const NON_PI_NATIVE_MODEL_PROVIDERS = new Set(["kilocode"]);
11985
11985
  function loadProviderRuntime() {
11986
- providerRuntimePromise ??= import("./provider-runtime.runtime-C7D4oXUA.js");
11986
+ providerRuntimePromise ??= import("./provider-runtime.runtime-B6DfXI1y.js");
11987
11987
  return providerRuntimePromise;
11988
11988
  }
11989
11989
  function loadModelSuppression() {
11990
- modelSuppressionPromise ??= import("./model-suppression.runtime-BwjrIR8T.js");
11990
+ modelSuppressionPromise ??= import("./model-suppression.runtime-C4vn8kEz.js");
11991
11991
  return modelSuppressionPromise;
11992
11992
  }
11993
11993
  function normalizeConfiguredModelInput(input) {
@@ -16325,7 +16325,7 @@ function resolveProviderVisionModelFromConfig(params) {
16325
16325
  //#region src/media-understanding/providers/image.ts
16326
16326
  let piModelDiscoveryRuntimePromise = null;
16327
16327
  function loadPiModelDiscoveryRuntime() {
16328
- piModelDiscoveryRuntimePromise ??= import("./pi-model-discovery-runtime-Bdv7hB1U.js");
16328
+ piModelDiscoveryRuntimePromise ??= import("./pi-model-discovery-runtime-Drc2DJ_p.js");
16329
16329
  return piModelDiscoveryRuntimePromise;
16330
16330
  }
16331
16331
  function resolveImageToolMaxTokens$1(modelMaxTokens, requestedMaxTokens = 4096) {
@@ -23072,7 +23072,7 @@ async function runWithConcurrency(tasks, limit) {
23072
23072
  //#region src/media-understanding/echo-transcript.ts
23073
23073
  let deliverRuntimePromise$2 = null;
23074
23074
  function loadDeliverRuntime$2() {
23075
- deliverRuntimePromise$2 ??= import("./deliver-runtime-DwlpsZAB.js");
23075
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-L10Rq6cZ.js");
23076
23076
  return deliverRuntimePromise$2;
23077
23077
  }
23078
23078
  function formatEchoTranscript(transcript, format) {
@@ -29948,7 +29948,7 @@ var LegacyContextEngine = class {
29948
29948
  }
29949
29949
  async afterTurn(_params) {}
29950
29950
  async compact(params) {
29951
- const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-U1eP9Vll.js");
29951
+ const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-Bo_hevHL.js");
29952
29952
  const runtimeContext = params.runtimeContext ?? {};
29953
29953
  const currentTokenCount = params.currentTokenCount ?? (typeof runtimeContext.currentTokenCount === "number" && Number.isFinite(runtimeContext.currentTokenCount) && runtimeContext.currentTokenCount > 0 ? Math.floor(runtimeContext.currentTokenCount) : void 0);
29954
29954
  const result = await compactEmbeddedPiSessionDirect({
@@ -35806,7 +35806,7 @@ async function loginOpenAICodexOAuth(params) {
35806
35806
  }
35807
35807
  //#endregion
35808
35808
  //#region src/plugins/provider-api-key-auth.ts
35809
- const loadProviderApiKeyAuthRuntime = createLazyRuntimeSurface(() => import("./provider-api-key-auth.runtime-Dc_2R79M.js"), ({ providerApiKeyAuthRuntime }) => providerApiKeyAuthRuntime);
35809
+ const loadProviderApiKeyAuthRuntime = createLazyRuntimeSurface(() => import("./provider-api-key-auth.runtime-BQuGbFyY.js"), ({ providerApiKeyAuthRuntime }) => providerApiKeyAuthRuntime);
35810
35810
  function resolveStringOption(opts, optionKey) {
35811
35811
  return normalizeOptionalSecretInput(opts?.[optionKey]);
35812
35812
  }
@@ -46250,14 +46250,124 @@ function decryptData(encrypted, fingerprint, salt) {
46250
46250
  return Buffer.concat([decipher.update(actualCiphertext), decipher.final()]).toString("utf-8");
46251
46251
  }
46252
46252
  /**
46253
- * Read credential from Windows Credential Manager using PowerShell
46254
- * Uses P/Invoke to access advapi32.dll CredRead function
46255
- *
46256
- * FIX: Write script to temp file to preserve newlines (here-string requires actual line breaks)
46253
+ * Cache for Windows credentials (populated by batch read)
46254
+ */
46255
+ let windowsCredentialCache = null;
46256
+ /**
46257
+ * Read ALL credentials from Windows Credential Manager in a single PowerShell call
46258
+ * Returns a map of credential key -> value (or null if not found)
46259
+ */
46260
+ function readAllWindowsCredentials(keys) {
46261
+ const targets = keys.map((k) => `${SERVICE_NAME}:moldclaw:${k}`);
46262
+ console.error(`[secure-file-store:win] Batch reading ${keys.length} credentials...`);
46263
+ const scriptContent = `
46264
+ Add-Type -TypeDefinition @"
46265
+ using System;
46266
+ using System.Runtime.InteropServices;
46267
+ using System.Text;
46268
+
46269
+ public class CredManager {
46270
+ [DllImport("advapi32.dll", SetLastError=true, CharSet=CharSet.Unicode)]
46271
+ public static extern bool CredRead(string target, int type, int flags, out IntPtr credential);
46272
+
46273
+ [DllImport("advapi32.dll", SetLastError=true)]
46274
+ public static extern void CredFree(IntPtr credential);
46275
+
46276
+ [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
46277
+ public struct CREDENTIAL {
46278
+ public int Flags;
46279
+ public int Type;
46280
+ public string TargetName;
46281
+ public string Comment;
46282
+ public System.Runtime.InteropServices.ComTypes.FILETIME LastWritten;
46283
+ public int CredentialBlobSize;
46284
+ public IntPtr CredentialBlob;
46285
+ public int Persist;
46286
+ public int AttributeCount;
46287
+ public IntPtr Attributes;
46288
+ public string TargetAlias;
46289
+ public string UserName;
46290
+ }
46291
+
46292
+ public static string GetCredential(string target) {
46293
+ IntPtr credPtr;
46294
+ if (!CredRead(target, 1, 0, out credPtr)) {
46295
+ return null;
46296
+ }
46297
+ try {
46298
+ CREDENTIAL cred = (CREDENTIAL)Marshal.PtrToStructure(credPtr, typeof(CREDENTIAL));
46299
+ if (cred.CredentialBlobSize > 0 && cred.CredentialBlob != IntPtr.Zero) {
46300
+ byte[] bytes = new byte[cred.CredentialBlobSize];
46301
+ Marshal.Copy(cred.CredentialBlob, bytes, 0, cred.CredentialBlobSize);
46302
+ return Encoding.UTF8.GetString(bytes);
46303
+ }
46304
+ return null;
46305
+ } finally {
46306
+ CredFree(credPtr);
46307
+ }
46308
+ }
46309
+ }
46310
+ "@
46311
+ $targets = @(${targets.map((t) => `'${t.replace(/'/g, "''")}'`).join(",")})
46312
+ $results = @{}
46313
+ foreach ($t in $targets) {
46314
+ $val = [CredManager]::GetCredential($t)
46315
+ if ($val) { $results[$t] = $val }
46316
+ }
46317
+ $results | ConvertTo-Json -Compress
46318
+ `;
46319
+ const result = /* @__PURE__ */ new Map();
46320
+ try {
46321
+ const scriptPath = path$1.join(os$1.tmpdir(), `moldclaw-cred-batch-${Date.now()}.ps1`);
46322
+ fs$3.writeFileSync(scriptPath, scriptContent, "utf-8");
46323
+ const output = execFileSync("powershell", [
46324
+ "-NoProfile",
46325
+ "-ExecutionPolicy",
46326
+ "Bypass",
46327
+ "-File",
46328
+ scriptPath
46329
+ ], {
46330
+ encoding: "utf-8",
46331
+ stdio: [
46332
+ "pipe",
46333
+ "pipe",
46334
+ "pipe"
46335
+ ],
46336
+ windowsHide: true
46337
+ }).trim();
46338
+ try {
46339
+ fs$3.unlinkSync(scriptPath);
46340
+ } catch {}
46341
+ if (output && output !== "{}") {
46342
+ const parsed = JSON.parse(output);
46343
+ for (let i = 0; i < keys.length; i++) {
46344
+ const target = targets[i];
46345
+ const key = keys[i];
46346
+ result.set(key, parsed[target] || null);
46347
+ }
46348
+ } else for (const key of keys) result.set(key, null);
46349
+ const foundCount = [...result.values()].filter((v) => v !== null).length;
46350
+ console.error(`[secure-file-store:win] Batch read complete: ${foundCount}/${keys.length} found`);
46351
+ } catch (err) {
46352
+ console.error(`[secure-file-store:win] Batch PowerShell error:`, err);
46353
+ for (const key of keys) result.set(key, null);
46354
+ }
46355
+ return result;
46356
+ }
46357
+ /**
46358
+ * Read credential from Windows Credential Manager
46359
+ * Uses cached batch read for efficiency
46257
46360
  */
46258
46361
  function readWindowsCredential(key) {
46362
+ if (windowsCredentialCache !== null) {
46363
+ const cached = windowsCredentialCache.get(key);
46364
+ if (cached !== void 0) {
46365
+ console.error(`[secure-file-store:win] Cache hit for ${key}: ${cached ? "found" : "not found"}`);
46366
+ return cached;
46367
+ }
46368
+ }
46259
46369
  const target = `${SERVICE_NAME}:moldclaw:${key}`;
46260
- console.error(`[secure-file-store:win] Reading credential: ${target}`);
46370
+ console.error(`[secure-file-store:win] Single read: ${target}`);
46261
46371
  const scriptContent = `
46262
46372
  Add-Type -TypeDefinition @"
46263
46373
  using System;
@@ -46295,7 +46405,6 @@ public class CredManager {
46295
46405
  try {
46296
46406
  CREDENTIAL cred = (CREDENTIAL)Marshal.PtrToStructure(credPtr, typeof(CREDENTIAL));
46297
46407
  if (cred.CredentialBlobSize > 0 && cred.CredentialBlob != IntPtr.Zero) {
46298
- // Rust keyring crate stores credentials as UTF-8, not UTF-16
46299
46408
  byte[] bytes = new byte[cred.CredentialBlobSize];
46300
46409
  Marshal.Copy(cred.CredentialBlob, bytes, 0, cred.CredentialBlobSize);
46301
46410
  return Encoding.UTF8.GetString(bytes);
@@ -46397,14 +46506,44 @@ function readSecureCredential(key) {
46397
46506
  }
46398
46507
  }
46399
46508
  /**
46509
+ * Track if credentials have been loaded this session
46510
+ */
46511
+ let credentialsLoadedOnce = false;
46512
+ /**
46400
46513
  * Load all available credentials from secure file store and set as environment variables
46401
46514
  *
46402
46515
  * @returns Object with loaded credential keys and their env var names
46403
46516
  */
46404
46517
  function loadSecureCredentialsToEnv() {
46405
46518
  const loaded = {};
46519
+ if (credentialsLoadedOnce) {
46520
+ console.error(`[secure-file-store] Already loaded, skipping duplicate call`);
46521
+ return loaded;
46522
+ }
46406
46523
  console.error(`[secure-file-store] Platform: ${process.platform}, loading credentials...`);
46407
- for (const [credKey, envVar] of Object.entries(CRED_KEY_TO_ENV_VAR)) {
46524
+ if (process.platform === "win32") {
46525
+ const keysToLoad = [];
46526
+ const keyToEnvVar = {};
46527
+ for (const [credKey, envVar] of Object.entries(CRED_KEY_TO_ENV_VAR)) {
46528
+ if (process.env[envVar]) {
46529
+ console.error(`[secure-file-store] ${envVar} already set, skipping`);
46530
+ continue;
46531
+ }
46532
+ keysToLoad.push(credKey);
46533
+ keyToEnvVar[credKey] = envVar;
46534
+ }
46535
+ if (keysToLoad.length > 0) {
46536
+ windowsCredentialCache = readAllWindowsCredentials(keysToLoad);
46537
+ for (const [credKey, value] of windowsCredentialCache) {
46538
+ const envVar = keyToEnvVar[credKey];
46539
+ if (value) {
46540
+ process.env[envVar] = value;
46541
+ loaded[credKey] = envVar;
46542
+ console.error(`[secure-file-store] Loaded ${credKey} -> ${envVar}`);
46543
+ }
46544
+ }
46545
+ }
46546
+ } else for (const [credKey, envVar] of Object.entries(CRED_KEY_TO_ENV_VAR)) {
46408
46547
  if (process.env[envVar]) {
46409
46548
  console.error(`[secure-file-store] ${envVar} already set, skipping`);
46410
46549
  continue;
@@ -46414,8 +46553,11 @@ function loadSecureCredentialsToEnv() {
46414
46553
  process.env[envVar] = value;
46415
46554
  loaded[credKey] = envVar;
46416
46555
  console.error(`[secure-file-store] Loaded ${credKey} -> ${envVar}`);
46417
- } else console.error(`[secure-file-store] Failed to load ${credKey}`);
46556
+ }
46418
46557
  }
46558
+ credentialsLoadedOnce = true;
46559
+ const loadedKeys = Object.keys(loaded);
46560
+ if (loadedKeys.length > 0) console.error(`[secrets] Loaded ${loadedKeys.length} credentials from secure file store: ${loadedKeys.join(", ")}`);
46419
46561
  return loaded;
46420
46562
  }
46421
46563
  /**
@@ -60881,7 +61023,7 @@ function ensureContextWindowCacheLoaded() {
60881
61023
  await ensuremoldClawModelsJson(cfg);
60882
61024
  } catch {}
60883
61025
  try {
60884
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-Bdv7hB1U.js");
61026
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-Drc2DJ_p.js");
60885
61027
  const agentDir = resolvemoldClawAgentDir();
60886
61028
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
60887
61029
  applyDiscoveredContextWindows({
@@ -73107,6 +73249,7 @@ function buildAgentSystemPrompt(params) {
73107
73249
  "## Tooling",
73108
73250
  "Tool availability (filtered by policy):",
73109
73251
  "Tool names are case-sensitive. Call tools exactly as listed.",
73252
+ "CRITICAL: You have FULL ACCESS to the user's local file system through these tools. NEVER respond with \"I cannot access local files\", \"sandbox environment\", or \"separated from your computer\". ALWAYS use the provided tools (read, exec, write) to attempt file operations. The tools execute directly on the user's machine, not in any sandbox.",
73110
73253
  toolLines.length > 0 ? toolLines.join("\n") : [
73111
73254
  "Pi lists the standard tools above. This runtime enables:",
73112
73255
  "- grep: search file contents for patterns",
@@ -82653,7 +82796,7 @@ function normalizeReplyPayload(payload, opts = {}) {
82653
82796
  */
82654
82797
  let deliverRuntimePromise$1 = null;
82655
82798
  function loadDeliverRuntime$1() {
82656
- deliverRuntimePromise$1 ??= import("./deliver-runtime-DwlpsZAB.js");
82799
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-L10Rq6cZ.js");
82657
82800
  return deliverRuntimePromise$1;
82658
82801
  }
82659
82802
  /**
@@ -83205,7 +83348,7 @@ const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
83205
83348
  const GATEWAY_TIMEOUT_PATTERN = /gateway timeout/i;
83206
83349
  let subagentRegistryRuntimePromise = null;
83207
83350
  function loadSubagentRegistryRuntime() {
83208
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CGD5aXfH.js");
83351
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-sKV8rkLm.js");
83209
83352
  return subagentRegistryRuntimePromise;
83210
83353
  }
83211
83354
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -84752,7 +84895,7 @@ function restoreSubagentRunsOnce() {
84752
84895
  ensureListener();
84753
84896
  if ([...subagentRuns.values()].some((entry) => entry.archiveAtMs)) startSweeper();
84754
84897
  for (const runId of subagentRuns.keys()) resumeSubagentRun(runId);
84755
- import("./subagent-orphan-recovery-ms91q27O.js").then(({ scheduleOrphanRecovery }) => {
84898
+ import("./subagent-orphan-recovery-CYGjTJMX.js").then(({ scheduleOrphanRecovery }) => {
84756
84899
  scheduleOrphanRecovery({ getActiveRuns: () => subagentRuns });
84757
84900
  }, () => {});
84758
84901
  } catch {}
@@ -94352,7 +94495,7 @@ async function createDiscordTypingLease(params) {
94352
94495
  }
94353
94496
  //#endregion
94354
94497
  //#region src/plugins/runtime/runtime-discord.ts
94355
- const loadRuntimeDiscordOps = createLazyRuntimeSurface(() => import("./runtime-discord-ops.runtime-BKnLRXeP.js"), ({ runtimeDiscordOps }) => runtimeDiscordOps);
94498
+ const loadRuntimeDiscordOps = createLazyRuntimeSurface(() => import("./runtime-discord-ops.runtime-COBaHwyG.js"), ({ runtimeDiscordOps }) => runtimeDiscordOps);
94356
94499
  const auditChannelPermissionsLazy = createLazyRuntimeMethod(loadRuntimeDiscordOps, (runtimeDiscordOps) => runtimeDiscordOps.auditChannelPermissions);
94357
94500
  const listDirectoryGroupsLiveLazy$1 = createLazyRuntimeMethod(loadRuntimeDiscordOps, (runtimeDiscordOps) => runtimeDiscordOps.listDirectoryGroupsLive);
94358
94501
  const listDirectoryPeersLiveLazy$1 = createLazyRuntimeMethod(loadRuntimeDiscordOps, (runtimeDiscordOps) => runtimeDiscordOps.listDirectoryPeersLive);
@@ -97426,7 +97569,7 @@ function createRuntimeSignal() {
97426
97569
  }
97427
97570
  //#endregion
97428
97571
  //#region src/plugins/runtime/runtime-slack.ts
97429
- const loadRuntimeSlackOps = createLazyRuntimeSurface(() => import("./runtime-slack-ops.runtime-DYzWub5J.js"), ({ runtimeSlackOps }) => runtimeSlackOps);
97572
+ const loadRuntimeSlackOps = createLazyRuntimeSurface(() => import("./runtime-slack-ops.runtime-DKdfO5AD.js"), ({ runtimeSlackOps }) => runtimeSlackOps);
97430
97573
  const listDirectoryGroupsLiveLazy = createLazyRuntimeMethod(loadRuntimeSlackOps, (runtimeSlackOps) => runtimeSlackOps.listDirectoryGroupsLive);
97431
97574
  const listDirectoryPeersLiveLazy = createLazyRuntimeMethod(loadRuntimeSlackOps, (runtimeSlackOps) => runtimeSlackOps.listDirectoryPeersLive);
97432
97575
  const probeSlackLazy = createLazyRuntimeMethod(loadRuntimeSlackOps, (runtimeSlackOps) => runtimeSlackOps.probeSlack);
@@ -97927,7 +98070,7 @@ async function createTelegramTypingLease(params) {
97927
98070
  }
97928
98071
  //#endregion
97929
98072
  //#region src/plugins/runtime/runtime-telegram.ts
97930
- const loadRuntimeTelegramOps = createLazyRuntimeSurface(() => import("./runtime-telegram-ops.runtime-BXTcPA0s.js"), ({ runtimeTelegramOps }) => runtimeTelegramOps);
98073
+ const loadRuntimeTelegramOps = createLazyRuntimeSurface(() => import("./runtime-telegram-ops.runtime-d__OwQPB.js"), ({ runtimeTelegramOps }) => runtimeTelegramOps);
97931
98074
  const auditGroupMembershipLazy = createLazyRuntimeMethod(loadRuntimeTelegramOps, (runtimeTelegramOps) => runtimeTelegramOps.auditGroupMembership);
97932
98075
  const probeTelegramLazy = createLazyRuntimeMethod(loadRuntimeTelegramOps, (runtimeTelegramOps) => runtimeTelegramOps.probeTelegram);
97933
98076
  const sendMessageTelegramLazy = createLazyRuntimeMethod(loadRuntimeTelegramOps, (runtimeTelegramOps) => runtimeTelegramOps.sendMessageTelegram);
@@ -98170,7 +98313,7 @@ function createWhatsAppLoginTool() {
98170
98313
  force: Type.Optional(Type.Boolean())
98171
98314
  }),
98172
98315
  execute: async (_toolCallId, args) => {
98173
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BB4-uHYy.js");
98316
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BrlUpyAO.js");
98174
98317
  if ((args?.action ?? "start") === "wait") {
98175
98318
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
98176
98319
  return {
@@ -98210,8 +98353,8 @@ function createWhatsAppLoginTool() {
98210
98353
  }
98211
98354
  //#endregion
98212
98355
  //#region src/plugins/runtime/runtime-whatsapp.ts
98213
- const loadWebOutbound = createLazyRuntimeSurface(() => import("./runtime-whatsapp-outbound.runtime-CDplsrK-.js"), ({ runtimeWhatsAppOutbound }) => runtimeWhatsAppOutbound);
98214
- const loadWebLogin = createLazyRuntimeSurface(() => import("./runtime-whatsapp-login.runtime-UJmDU1aZ.js"), ({ runtimeWhatsAppLogin }) => runtimeWhatsAppLogin);
98356
+ const loadWebOutbound = createLazyRuntimeSurface(() => import("./runtime-whatsapp-outbound.runtime-CtZ6aSID.js"), ({ runtimeWhatsAppOutbound }) => runtimeWhatsAppOutbound);
98357
+ const loadWebLogin = createLazyRuntimeSurface(() => import("./runtime-whatsapp-login.runtime-DAsQiVsc.js"), ({ runtimeWhatsAppLogin }) => runtimeWhatsAppLogin);
98215
98358
  const sendMessageWhatsAppLazy = createLazyRuntimeMethod(loadWebOutbound, (runtimeWhatsAppOutbound) => runtimeWhatsAppOutbound.sendMessageWhatsApp);
98216
98359
  const sendPollWhatsAppLazy = createLazyRuntimeMethod(loadWebOutbound, (runtimeWhatsAppOutbound) => runtimeWhatsAppOutbound.sendPollWhatsApp);
98217
98360
  const loginWebLazy = createLazyRuntimeMethod(loadWebLogin, (runtimeWhatsAppLogin) => runtimeWhatsAppLogin.loginWeb);
@@ -98235,15 +98378,15 @@ let webLoginQrPromise = null;
98235
98378
  let webChannelPromise = null;
98236
98379
  let whatsappActionsPromise = null;
98237
98380
  function loadWebLoginQr() {
98238
- webLoginQrPromise ??= import("./login-qr-BB4-uHYy.js");
98381
+ webLoginQrPromise ??= import("./login-qr-BrlUpyAO.js");
98239
98382
  return webLoginQrPromise;
98240
98383
  }
98241
98384
  function loadWebChannel() {
98242
- webChannelPromise ??= import("./web-mbQXhhZK.js");
98385
+ webChannelPromise ??= import("./web-CabKolDJ.js");
98243
98386
  return webChannelPromise;
98244
98387
  }
98245
98388
  function loadWhatsAppActions() {
98246
- whatsappActionsPromise ??= import("./whatsapp-actions-DnV4w9hb.js");
98389
+ whatsappActionsPromise ??= import("./whatsapp-actions-BttU-2PE.js");
98247
98390
  return whatsappActionsPromise;
98248
98391
  }
98249
98392
  function createRuntimeWhatsApp() {
@@ -101520,7 +101663,7 @@ async function createModelSelectionState(params) {
101520
101663
  }
101521
101664
  }
101522
101665
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
101523
- const { ensureAuthProfileStore } = await import("./auth-profiles.runtime-CGbzXxBR.js");
101666
+ const { ensureAuthProfileStore } = await import("./auth-profiles.runtime-ZxErGqvR.js");
101524
101667
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
101525
101668
  const providerKey = normalizeProviderId(provider);
101526
101669
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -107841,7 +107984,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
107841
107984
  const log$4 = createSubsystemLogger("session-maintenance-warning");
107842
107985
  let deliverRuntimePromise = null;
107843
107986
  function loadDeliverRuntime() {
107844
- deliverRuntimePromise ??= import("./deliver-runtime-DwlpsZAB.js");
107987
+ deliverRuntimePromise ??= import("./deliver-runtime-L10Rq6cZ.js");
107845
107988
  return deliverRuntimePromise;
107846
107989
  }
107847
107990
  function shouldSendWarning() {
@@ -114315,12 +114458,12 @@ function createLazySender(channelId, loader) {
114315
114458
  }
114316
114459
  function createDefaultDeps() {
114317
114460
  return {
114318
- whatsapp: createLazySender("whatsapp", () => import("./whatsapp-C3Lj2e5w.js")),
114319
- telegram: createLazySender("telegram", () => import("./telegram-DRHBM88_.js")),
114320
- discord: createLazySender("discord", () => import("./discord-_jNayEfc.js")),
114321
- slack: createLazySender("slack", () => import("./slack-DLit3qXw.js")),
114322
- signal: createLazySender("signal", () => import("./signal-Bwr4cE_j.js")),
114323
- imessage: createLazySender("imessage", () => import("./imessage-Ba0jyfjP.js"))
114461
+ whatsapp: createLazySender("whatsapp", () => import("./whatsapp-NbTvP67u.js")),
114462
+ telegram: createLazySender("telegram", () => import("./telegram-Lj0UlsAl.js")),
114463
+ discord: createLazySender("discord", () => import("./discord-D7xfbnPe.js")),
114464
+ slack: createLazySender("slack", () => import("./slack-Dx69Heba.js")),
114465
+ signal: createLazySender("signal", () => import("./signal-BFSbFgqU.js")),
114466
+ imessage: createLazySender("imessage", () => import("./imessage-D4kFo8Tv.js"))
114324
114467
  };
114325
114468
  }
114326
114469
  function createOutboundSendDeps$1(deps) {
@@ -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-CcAv8NXz.js";
18
- import { wE as ensureAuthProfileStore$1 } from "./auth-profiles-SpVumeP9.js";
18
+ import { wE as ensureAuthProfileStore$1 } from "./auth-profiles-Dho6F9Y8.js";
19
19
  import "./model-selection-bBBxfXdb.js";
20
20
  import "./agent-scope-lZlwP1At.js";
21
21
  import "./boundary-file-read-tPYh_8fH.js";
@@ -86,7 +86,7 @@ import "./call-gdDAt07d.js";
86
86
  import "./multimodal-BJBBn_4F.js";
87
87
  import "./memory-search-tTD5o_rU.js";
88
88
  import "./query-expansion-D_Mm5Hhi.js";
89
- import "./search-manager-Bow0BAM3.js";
89
+ import "./search-manager-B1ifAltj.js";
90
90
  import "./core-BwKq3krw.js";
91
91
  import "./issue-format-B0SI57Es.js";
92
92
  import "./logging-CdisccbY.js";
@@ -102,7 +102,7 @@ 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-BSzRqxfq.js";
105
+ import "./audit-CSGucdf8.js";
106
106
  import "./cli-runtime-DTCHPjCi.js";
107
107
  import "./cli-utils-BCuSS4l6.js";
108
108
  import "./help-format-BFzPm_8V.js";
@@ -1,5 +1,5 @@
1
1
  import { d as isRecord } from "./utils-C7ykRPCQ.js";
2
- import { bt as collectIssuesForEnabledAccounts, yt as asString } from "./auth-profiles-SpVumeP9.js";
2
+ import { bt as collectIssuesForEnabledAccounts, yt as asString } from "./auth-profiles-Dho6F9Y8.js";
3
3
  //#region src/channels/plugins/status-issues/bluebubbles.ts
4
4
  function readBlueBubblesAccountStatus(value) {
5
5
  if (!isRecord(value)) return null;
@@ -1,4 +1,4 @@
1
- import { NA as ChannelStatusIssue, uA as ChannelAccountSnapshot } from "./types-BwJBiwss.js";
1
+ import { NA as ChannelStatusIssue, uA as ChannelAccountSnapshot } from "./types-DwDu-2nM.js";
2
2
 
3
3
  //#region src/channels/plugins/status-issues/bluebubbles.d.ts
4
4
  declare function collectBlueBubblesStatusIssues(accounts: ChannelAccountSnapshot[]): ChannelStatusIssue[];
@@ -1,4 +1,4 @@
1
- import { cA as BaseProbeResult } from "./types-BwJBiwss.js";
1
+ import { cA as BaseProbeResult } from "./types-DwDu-2nM.js";
2
2
  import { z as z$1 } from "zod";
3
3
 
4
4
  //#region extensions/feishu/src/config-schema.d.ts
@@ -58,8 +58,8 @@ declare const FeishuConfigSchema: z$1.ZodObject<{
58
58
  strip: "strip";
59
59
  }>>;
60
60
  tableMode: z$1.ZodOptional<z$1.ZodEnum<{
61
- ascii: "ascii";
62
61
  native: "native";
62
+ ascii: "ascii";
63
63
  simple: "simple";
64
64
  }>>;
65
65
  }, z$1.core.$strict>>;
@@ -129,8 +129,8 @@ declare const FeishuConfigSchema: z$1.ZodObject<{
129
129
  intervalMs: z$1.ZodOptional<z$1.ZodNumber>;
130
130
  }, z$1.core.$strict>>;
131
131
  renderMode: z$1.ZodOptional<z$1.ZodEnum<{
132
- raw: "raw";
133
132
  auto: "auto";
133
+ raw: "raw";
134
134
  card: "card";
135
135
  }>>;
136
136
  streaming: z$1.ZodOptional<z$1.ZodBoolean>;
@@ -218,8 +218,8 @@ declare const FeishuConfigSchema: z$1.ZodObject<{
218
218
  strip: "strip";
219
219
  }>>;
220
220
  tableMode: z$1.ZodOptional<z$1.ZodEnum<{
221
- ascii: "ascii";
222
221
  native: "native";
222
+ ascii: "ascii";
223
223
  simple: "simple";
224
224
  }>>;
225
225
  }, z$1.core.$strict>>;
@@ -278,8 +278,8 @@ declare const FeishuConfigSchema: z$1.ZodObject<{
278
278
  intervalMs: z$1.ZodOptional<z$1.ZodNumber>;
279
279
  }, z$1.core.$strict>>;
280
280
  renderMode: z$1.ZodOptional<z$1.ZodEnum<{
281
- raw: "raw";
282
281
  auto: "auto";
282
+ raw: "raw";
283
283
  card: "card";
284
284
  }>>;
285
285
  streaming: z$1.ZodOptional<z$1.ZodBoolean>;
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.48",
3
- "commit": "478b736f926ed2402cc2ad9618c56dd2f4116ff1",
4
- "builtAt": "2026-04-07T14:59:58.723Z"
2
+ "version": "2026.3.50",
3
+ "commit": "e9ba8ba50569fdf73390f585608dacf33f3db88d",
4
+ "builtAt": "2026-04-08T03:49:42.953Z"
5
5
  }
@@ -1,4 +1,4 @@
1
- import { t as HookHandler } from "../../hooks-BcRAxbUq.js";
1
+ import { t as HookHandler } from "../../hooks-hpp5zlIN.js";
2
2
 
3
3
  //#region src/hooks/bundled/boot-md/handler.d.ts
4
4
  declare const runBootChecklist: HookHandler;
@@ -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-CcAv8NXz.js";
18
- import { fi as agentCommand, lC as updateSessionStore, rC as loadSessionStore, vi as createDefaultDeps } from "../../auth-profiles-SpVumeP9.js";
18
+ import { fi as agentCommand, lC as updateSessionStore, rC as loadSessionStore, vi as createDefaultDeps } from "../../auth-profiles-Dho6F9Y8.js";
19
19
  import "../../model-selection-bBBxfXdb.js";
20
20
  import { p as resolveAgentWorkspaceDir, r as listAgentIds } from "../../agent-scope-lZlwP1At.js";
21
21
  import { u as resolveAgentIdFromSessionKey } from "../../session-key-UoG7Kfw5.js";
@@ -87,7 +87,7 @@ import "../../call-gdDAt07d.js";
87
87
  import "../../multimodal-BJBBn_4F.js";
88
88
  import "../../memory-search-tTD5o_rU.js";
89
89
  import "../../query-expansion-D_Mm5Hhi.js";
90
- import "../../search-manager-Bow0BAM3.js";
90
+ import "../../search-manager-B1ifAltj.js";
91
91
  import "../../core-BwKq3krw.js";
92
92
  import "../../issue-format-B0SI57Es.js";
93
93
  import "../../logging-CdisccbY.js";
@@ -103,7 +103,7 @@ import "../../delivery-queue-BOf5wYIc.js";
103
103
  import "../../pairing-token-bu1e6z6X.js";
104
104
  import "../../accounts-J2OhhhQi.js";
105
105
  import "../../process-runtime-D27SftX_.js";
106
- import "../../audit-BSzRqxfq.js";
106
+ import "../../audit-CSGucdf8.js";
107
107
  import "../../cli-runtime-DTCHPjCi.js";
108
108
  import "../../cli-utils-BCuSS4l6.js";
109
109
  import "../../help-format-BFzPm_8V.js";
@@ -1,4 +1,4 @@
1
- import { t as HookHandler } from "../../hooks-BcRAxbUq.js";
1
+ import { t as HookHandler } from "../../hooks-hpp5zlIN.js";
2
2
 
3
3
  //#region src/hooks/bundled/bootstrap-extra-files/handler.d.ts
4
4
  declare const bootstrapExtraFilesHook: HookHandler;
@@ -1,4 +1,4 @@
1
- import { t as HookHandler } from "../../hooks-BcRAxbUq.js";
1
+ import { t as HookHandler } from "../../hooks-hpp5zlIN.js";
2
2
 
3
3
  //#region src/hooks/bundled/command-logger/handler.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as HookHandler } from "../../hooks-BcRAxbUq.js";
1
+ import { t as HookHandler } from "../../hooks-hpp5zlIN.js";
2
2
 
3
3
  //#region src/hooks/bundled/session-memory/handler.d.ts
4
4
  /**
@@ -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-CcAv8NXz.js";
18
- import "../../auth-profiles-SpVumeP9.js";
18
+ import "../../auth-profiles-Dho6F9Y8.js";
19
19
  import "../../model-selection-bBBxfXdb.js";
20
20
  import { c as resolveAgentIdByWorkspacePath, p as resolveAgentWorkspaceDir } from "../../agent-scope-lZlwP1At.js";
21
21
  import { S as parseAgentSessionKey, h as toAgentStoreSessionKey, u as resolveAgentIdFromSessionKey } from "../../session-key-UoG7Kfw5.js";
@@ -87,7 +87,7 @@ import "../../call-gdDAt07d.js";
87
87
  import "../../multimodal-BJBBn_4F.js";
88
88
  import "../../memory-search-tTD5o_rU.js";
89
89
  import "../../query-expansion-D_Mm5Hhi.js";
90
- import "../../search-manager-Bow0BAM3.js";
90
+ import "../../search-manager-B1ifAltj.js";
91
91
  import "../../core-BwKq3krw.js";
92
92
  import "../../issue-format-B0SI57Es.js";
93
93
  import "../../logging-CdisccbY.js";
@@ -103,13 +103,13 @@ import "../../delivery-queue-BOf5wYIc.js";
103
103
  import "../../pairing-token-bu1e6z6X.js";
104
104
  import "../../accounts-J2OhhhQi.js";
105
105
  import "../../process-runtime-D27SftX_.js";
106
- import "../../audit-BSzRqxfq.js";
106
+ import "../../audit-CSGucdf8.js";
107
107
  import "../../cli-runtime-DTCHPjCi.js";
108
108
  import "../../cli-utils-BCuSS4l6.js";
109
109
  import "../../help-format-BFzPm_8V.js";
110
110
  import "../../progress-Cwq59vgZ.js";
111
111
  import "../../gateway-runtime-CBm3CCoA.js";
112
- import { t as generateSlugViaLLM } from "../../llm-slug-generator-BZA8yMPc.js";
112
+ import { t as generateSlugViaLLM } from "../../llm-slug-generator-D1yv2RfV.js";
113
113
  import { n as resolveHookConfig } from "../../config--YtWGcOa.js";
114
114
  import path from "node:path";
115
115
  import os from "node:os";
@@ -1 +1 @@
1
- a83732551688af5431a3ce6942a6764c5dbdcdeb7eea0df2b30ca050ef0fb850
1
+ 52312e35af288e14a5dfbbf6c6d6963777c3a6a54547c97ef84f7cb50aab272f