agdi 2026.2.21 → 2026.3.24

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 (308) hide show
  1. package/README.md +42 -27
  2. package/assets/chrome-extension/README.md +5 -5
  3. package/assets/chrome-extension/background.js +5 -5
  4. package/assets/chrome-extension/manifest.json +3 -3
  5. package/assets/chrome-extension/options.html +5 -5
  6. package/assets/chrome-extension/options.js +1 -1
  7. package/dist/{acp-cli-CGsTeMfc.js → acp-cli-BspY9DCC.js} +2 -2
  8. package/dist/{agent-Bt8aL3cu.js → agent-B5TB2m3Q.js} +2 -2
  9. package/dist/{agent-7MEctvuT.js → agent-CFC7aLsb.js} +3 -3
  10. package/dist/{agents-kK-OhO4Y.js → agents-Dn75GjYh.js} +3 -3
  11. package/dist/{audio-preflight-Do0MZ4R_.js → audio-preflight-8MfUgO2y.js} +7 -7
  12. package/dist/{audio-preflight-DUo4RqeW.js → audio-preflight-CqSkJjc_.js} +4 -4
  13. package/dist/{audit-goJB3ln0.js → audit-m-yyLWfW.js} +5 -5
  14. package/dist/{auth-choice-qcrYgAkg.js → auth-choice-07JEO7zT.js} +2 -2
  15. package/dist/{auth-choice-DREs0_J3.js → auth-choice-C5Unpru6.js} +1 -1
  16. package/dist/{autonomous-Che-Dqm_.js → autonomous-B0U7a2ES.js} +2 -2
  17. package/dist/{autonomous-cli-wbREML1i.js → autonomous-cli-fSDO2I9u.js} +6 -6
  18. package/dist/{autonomous-gateway-hook-Bo07YEJY.js → autonomous-gateway-hook-DW1BMpw2.js} +2 -2
  19. package/dist/{banner-ClOZtc8c.js → banner-DTY_S7hN.js} +1 -1
  20. package/dist/{browser-cli-7niTaHdC.js → browser-cli-DkJV6k66.js} +3 -3
  21. package/dist/build-info.json +5 -0
  22. package/dist/bundled/boot-md/HOOK.md +19 -0
  23. package/dist/bundled/boot-md/handler.js +7 -7
  24. package/dist/bundled/bootstrap-extra-files/HOOK.md +53 -0
  25. package/dist/bundled/command-logger/HOOK.md +122 -0
  26. package/dist/bundled/session-memory/HOOK.md +109 -0
  27. package/dist/bundled/session-memory/handler.js +6 -6
  28. package/dist/{call-yOL9MAHO.js → call-CLd6RvG7.js} +1 -1
  29. package/dist/{channel-options-Cj2Z2l_j.js → channel-options-BxJbsezk.js} +1 -1
  30. package/dist/{channel-options-d34YHCeC.js → channel-options-C-8eeuhN.js} +1 -1
  31. package/dist/{channel-web-D9b-L2Fl.js → channel-web-Bu1e_xiT.js} +1 -1
  32. package/dist/{channels-cli-y_x6MqAO.js → channels-cli-B4xrznUi.js} +4 -4
  33. package/dist/{channels-cli-t6IDfCvk.js → channels-cli-kXmWyKYk.js} +19 -19
  34. package/dist/{chrome-H9ooxat-.js → chrome-BUxc5HjQ.js} +7 -7
  35. package/dist/{chrome-BdKSdFqQ.js → chrome-DSp0s1hV.js} +7 -7
  36. package/dist/cli/daemon-cli.js +9 -0
  37. package/dist/{cli-D-jvSN8W.js → cli-DGJoRsnN.js} +1 -1
  38. package/dist/{cli-DyesEoOj.js → cli-XBO2TisM.js} +16 -16
  39. package/dist/{client-CE7iClBg.js → client-CC8zldio.js} +3 -3
  40. package/dist/{command-registry-DWBSkid5.js → command-registry-BoOJUDrj.js} +10 -10
  41. package/dist/{completion-cli-CVAQvpdV.js → completion-cli-6HA7-NV4.js} +2 -2
  42. package/dist/{completion-cli-Q0JJvcsO.js → completion-cli-C82UGMcp.js} +1 -1
  43. package/dist/{config-cli-BSyh0jik.js → config-cli-0iJM6PUw.js} +1 -1
  44. package/dist/{config-cli-CyJR34F3.js → config-cli-DoSZzc2x.js} +1 -1
  45. package/dist/{configure-CfKSgtKg.js → configure-BIFQ_gIn.js} +3 -3
  46. package/dist/{configure-B3u1uHNO.js → configure-o-OU07yC.js} +6 -6
  47. package/dist/{control-service-Cs5ueX36.js → control-service-BgPd9Imk.js} +3 -3
  48. package/dist/{cron-cli-D2H4cfNM.js → cron-cli-kMbbgESp.js} +3 -3
  49. package/dist/{daemon-CFkCO10L.js → daemon-BFisaLMH.js} +3 -3
  50. package/dist/{daemon-cli-ade5IQGG.js → daemon-cli-CM100Pfo.js} +2 -2
  51. package/dist/{deliver-BLaCYV_T.js → deliver-DPahfMoC.js} +1 -1
  52. package/dist/{deliver-x4ra2LhM.js → deliver-DUH6FW-h.js} +1 -1
  53. package/dist/{deps-Dy3w0lsV.js → deps-5LpkfNyM.js} +1 -1
  54. package/dist/{devices-cli-BMZoHQHM.js → devices-cli-DEeFU5WY.js} +2 -2
  55. package/dist/{doctor-BEWO_PWr.js → doctor-Ct5g1Zt9.js} +4 -4
  56. package/dist/{doctor-completion-CKaYvTMB.js → doctor-completion--nmksCRl.js} +1 -1
  57. package/dist/{doctor-completion-7bFMQzFv.js → doctor-completion-DXLL4_vD.js} +1 -1
  58. package/dist/{doctor-DMDkt2PR.js → doctor-f_KS1tJF.js} +7 -7
  59. package/dist/entry.js +1 -1
  60. package/dist/{exec-approvals-cli-8BH9_-mT.js → exec-approvals-cli-BJP5DDZO.js} +4 -4
  61. package/dist/extensionAPI.js +1 -1
  62. package/dist/{gateway-cli-DEM0w9ih.js → gateway-cli-D1-01E06.js} +31 -31
  63. package/dist/{gateway-cli-phwRhpwJ.js → gateway-cli-DAQ65A5P.js} +10 -10
  64. package/dist/{gateway-rpc-DX76w4ad.js → gateway-rpc-D1c_4UzR.js} +1 -1
  65. package/dist/{health-DQUXGVLo.js → health-8FdIEymG.js} +1 -1
  66. package/dist/{health-CkgNxXSi.js → health-Bc-IpBGw.js} +3 -3
  67. package/dist/{hooks-cli-B1b9nnhh.js → hooks-cli-BVhHplUb.js} +2 -2
  68. package/dist/{hooks-cli-zMEUN7BD.js → hooks-cli-ByGszCh-.js} +17 -17
  69. package/dist/{image-DlyOOSgS.js → image-Dvlvaagc.js} +1 -1
  70. package/dist/{image-StP21Jhi.js → image-KCLvIKaC.js} +1 -1
  71. package/dist/index.js +7 -7
  72. package/dist/llm-slug-generator.js +6 -6
  73. package/dist/{logs-cli-Cn7e-LZT.js → logs-cli-DG9nSYnl.js} +3 -3
  74. package/dist/{models-Bl_pPxHj.js → models-DZkxcQOX.js} +3 -3
  75. package/dist/{models-cli-BF58shCq.js → models-cli-BzLznGQr.js} +18 -18
  76. package/dist/{models-cli-D_Vd2BXz.js → models-cli-jIq5QCxr.js} +2 -2
  77. package/dist/{node-cli-MKMEzeNr.js → node-cli-Dfr7NVDr.js} +6 -6
  78. package/dist/{nodes-cli-FeFPh_0I.js → nodes-cli-C1g3A3hZ.js} +3 -3
  79. package/dist/{onboard-DGAhHIqL.js → onboard-CBRbJ6mZ.js} +2 -2
  80. package/dist/{onboard-DPdMdGSK.js → onboard-CS82k_uw.js} +3 -3
  81. package/dist/{onboard-channels-CKRkmVga.js → onboard-channels-BLEmpWA5.js} +1 -1
  82. package/dist/{onboard-channels-DQpORcVp.js → onboard-channels-Tk3e-q6Z.js} +1 -1
  83. package/dist/{onboard-helpers-BslF_KGN.js → onboard-helpers-CliiP61u.js} +1 -1
  84. package/dist/{onboard-remote-CpYSj9pz.js → onboard-remote-4GPJhk_B.js} +1 -1
  85. package/dist/{onboard-skills-D86x5BEb.js → onboard-skills-B2R6Sa5S.js} +1 -1
  86. package/dist/{onboarding-DBJIO7pg.js → onboarding-1EAcwGBd.js} +3 -3
  87. package/dist/{onboarding-D-6RobD4.js → onboarding-tu-9mPgJ.js} +7 -7
  88. package/dist/{onboarding.finalize-CimMUDhI.js → onboarding.finalize-CFgUYD7C.js} +22 -22
  89. package/dist/{onboarding.finalize-q9g1gyf-.js → onboarding.finalize-CNHcEjvG.js} +5 -5
  90. package/dist/{onboarding.gateway-config-T6Gd4sO5.js → onboarding.gateway-config-DjbvXvM-.js} +3 -3
  91. package/dist/{outbound-send-deps-JRcF4iNQ.js → outbound-send-deps-CCYbsS6_.js} +1 -1
  92. package/dist/{pi-embedded-BOJDAV3K.js → pi-embedded-BJSd8ZYR.js} +64 -64
  93. package/dist/{pi-embedded-DFdlvxNQ.js → pi-embedded-CFb93mBT.js} +78 -78
  94. package/dist/{pi-embedded-helpers-C-8FnnkQ.js → pi-embedded-helpers-DP0wnth-.js} +4 -4
  95. package/dist/{pi-embedded-helpers-BaF-1OKo.js → pi-embedded-helpers-DVX2nfD6.js} +1 -1
  96. package/dist/{pi-tools.policy-BChfRga4.js → pi-tools.policy-c6zSjB4B.js} +1 -1
  97. package/dist/{plugin-registry-C9Ln37Qx.js → plugin-registry-BFqIGpg7.js} +1 -1
  98. package/dist/{plugin-registry-BIF4XzRR.js → plugin-registry-BKTeTjvg.js} +1 -1
  99. package/dist/plugin-sdk/{accounts-BBUmmr7s.js → accounts-BWR0WF5l.js} +2 -2
  100. package/dist/plugin-sdk/{active-listener-CcAOlYqW.js → active-listener-3M_ccPdq.js} +1 -1
  101. package/dist/plugin-sdk/{agent-scope-ROxPafoi.js → agent-scope-BXc_jcxb.js} +2 -2
  102. package/dist/plugin-sdk/{audio-preflight-BZIvux9v.js → audio-preflight-KY49a32a.js} +21 -21
  103. package/dist/plugin-sdk/{bindings-HhhGv1rj.js → bindings-G_XW7uiC.js} +2 -2
  104. package/dist/plugin-sdk/{channel-web-DQeVyv4e.js → channel-web-CorZazvO.js} +16 -16
  105. package/dist/plugin-sdk/{chrome-CLiJ1Yue.js → chrome-BDx70FO4.js} +2 -2
  106. package/dist/plugin-sdk/{chunk-CIWxSye2.js → chunk-DCKmf8Wo.js} +1 -1
  107. package/dist/plugin-sdk/{commands-registry-CQQ3C8RZ.js → commands-registry-BWyjV6Ci.js} +3 -3
  108. package/dist/plugin-sdk/{common-BRr8FdBn.js → common-BonFRlQr.js} +2 -2
  109. package/dist/plugin-sdk/config/types.d.ts +0 -1
  110. package/dist/plugin-sdk/{config-BD92PCvG.js → config-BzD8Apwb.js} +9 -9
  111. package/dist/plugin-sdk/{deliver-DZfVqROd.js → deliver-JZG19kYT.js} +11 -11
  112. package/dist/plugin-sdk/{env-CRYzwVby.js → env-Df7RQqAN.js} +1 -1
  113. package/dist/plugin-sdk/{exec-Cwb1C8fs.js → exec-Bqlk2QMi.js} +1 -1
  114. package/dist/plugin-sdk/{fetch-Btlf6cA8.js → fetch-DE02jW9e.js} +2 -2
  115. package/dist/plugin-sdk/{image-Lcgcsphy.js → image-BZktnIdp.js} +4 -4
  116. package/dist/plugin-sdk/{image-ops-BZj3qg_6.js → image-ops-BThTx4hU.js} +1 -1
  117. package/dist/plugin-sdk/index.js +40 -40
  118. package/dist/plugin-sdk/{ir-C6betxfk.js → ir-DRJGSIpB.js} +5 -5
  119. package/dist/plugin-sdk/{login-BOudTVAn.js → login-DOfdA4Pk.js} +5 -5
  120. package/dist/plugin-sdk/{login-qr-DXfw7nEy.js → login-qr-QJgQ9G4e.js} +9 -9
  121. package/dist/plugin-sdk/{manager-3YvswRc2.js → manager-Qt1Y8EAs.js} +6 -6
  122. package/dist/plugin-sdk/{manifest-registry-BIMZK98f.js → manifest-registry-Dof8iFUO.js} +1 -1
  123. package/dist/plugin-sdk/{markdown-tables-CusXjWP2.js → markdown-tables-DOWeu9AD.js} +1 -1
  124. package/dist/plugin-sdk/{message-channel-Cfxc5EUT.js → message-channel-DMdN8RH_.js} +1 -1
  125. package/dist/plugin-sdk/{model-selection-CrHnpFeR.js → model-selection-q-whb8Rj.js} +4 -4
  126. package/dist/plugin-sdk/{normalize-Dschm8hD.js → normalize-Dewv20fJ.js} +3 -3
  127. package/dist/plugin-sdk/{outbound-CZxPeieb.js → outbound-DAE5QkYS.js} +6 -6
  128. package/dist/plugin-sdk/{pi-auth-json-Cz9tAwmn.js → pi-auth-json-CKRzwRSQ.js} +5 -5
  129. package/dist/plugin-sdk/{pi-embedded-helpers-BtWxRJkj.js → pi-embedded-helpers-BjWjjmzn.js} +16 -16
  130. package/dist/plugin-sdk/{plugins-CHTEazRa.js → plugins-CQ5AByBS.js} +3 -3
  131. package/dist/plugin-sdk/{pw-ai-CbxLOhWe.js → pw-ai-Vu63adls.js} +3 -3
  132. package/dist/plugin-sdk/{qmd-manager-BQUuRXAy.js → qmd-manager-Cez_E3Bt.js} +4 -4
  133. package/dist/plugin-sdk/{registry-TIFnuqJI.js → registry-De0o0SaP.js} +2 -2
  134. package/dist/plugin-sdk/{replies-D_TpNtet.js → replies-BQOzpd0u.js} +8 -8
  135. package/dist/plugin-sdk/{reply-Bsmfi87A.js → reply-DHc0Xntd.js} +121 -121
  136. package/dist/plugin-sdk/{reply-prefix-CGuWFadl.js → reply-prefix-ylZVxv8w.js} +1 -1
  137. package/dist/plugin-sdk/{resolve-route-BDHkyeSW.js → resolve-route-DBvJW73P.js} +4 -4
  138. package/dist/plugin-sdk/{runner-CHhjthMj.js → runner-D7eNG5Zn.js} +8 -8
  139. package/dist/plugin-sdk/{session-Fzax2vO3.js → session-DXNRlz7l.js} +3 -3
  140. package/dist/plugin-sdk/{skill-commands-Cx2cYZUO.js → skill-commands-BaaYoRxI.js} +5 -5
  141. package/dist/plugin-sdk/{skills-DBGTOFGp.js → skills-6PylmrUJ.js} +7 -7
  142. package/dist/plugin-sdk/{sqlite-RwOCMihR.js → sqlite-hIK3V4Pt.js} +1 -1
  143. package/dist/plugin-sdk/{thinking-BiLvqJ5Q.js → thinking-DddUlJeP.js} +3 -3
  144. package/dist/plugin-sdk/{tokens-BkFM-0b-.js → tokens-C9LoVr-y.js} +1 -1
  145. package/dist/plugin-sdk/{tool-images-Cy8bFS8K.js → tool-images-CewFwsph.js} +2 -2
  146. package/dist/plugin-sdk/web-DkacOSI5.js +50 -0
  147. package/dist/plugin-sdk/{whatsapp-actions-CI9732AT.js → whatsapp-actions-CnCdDXeq.js} +21 -21
  148. package/dist/{plugins-cli-BSAtEU1d.js → plugins-cli-CTnJG3yf.js} +17 -17
  149. package/dist/{plugins-cli-D7IYqnnp.js → plugins-cli-D9SlC2ts.js} +2 -2
  150. package/dist/{program-By4ZRh5X.js → program-BBvTFyRf.js} +22 -22
  151. package/dist/{program-context-BU9WE9nN.js → program-context-Dd-HNM5B.js} +17 -17
  152. package/dist/{provider-auth-helpers-CkPE-NjM.js → provider-auth-helpers-Bud2qEj8.js} +1 -1
  153. package/dist/{provider-auth-helpers-DXyROoXI.js → provider-auth-helpers-C_A0tvS6.js} +1 -1
  154. package/dist/{pw-ai-XvZQN_aj.js → pw-ai-DBA7VJ_4.js} +1 -1
  155. package/dist/{pw-ai-JosjXMNU.js → pw-ai-DkzrvbWi.js} +1 -1
  156. package/dist/{register.agent-_6vojWI3.js → register.agent-C2OU-wEz.js} +7 -7
  157. package/dist/{register.agent-BEvlBhfu.js → register.agent-CHJTZNDx.js} +23 -23
  158. package/dist/{register.configure-CBUB-JsH.js → register.configure-BUO7K8vm.js} +23 -23
  159. package/dist/{register.configure-BkQd81gI.js → register.configure-DtzBCmrJ.js} +6 -6
  160. package/dist/{register.maintenance-CCqa5lXY.js → register.maintenance-CFslIN4w.js} +23 -23
  161. package/dist/{register.maintenance-CKD4ReXO.js → register.maintenance-DIwT_dzV.js} +7 -7
  162. package/dist/{register.message-qqI1My9k.js → register.message-Br_8hkfp.js} +3 -3
  163. package/dist/{register.message-B5JV0zE2.js → register.message-G1dSCgnn.js} +18 -18
  164. package/dist/{register.onboard-DLKSPxkB.js → register.onboard-CutpqKT-.js} +4 -4
  165. package/dist/{register.onboard-BAsEkhob.js → register.onboard-DjzPwyJm.js} +19 -19
  166. package/dist/{register.setup-BK3T_IDj.js → register.setup-DFxGxRIO.js} +19 -19
  167. package/dist/{register.setup-BKSMJToW.js → register.setup-DsHpLLG4.js} +4 -4
  168. package/dist/{register.status-health-sessions-CiT8LRWV.js → register.status-health-sessions-28wOA12R.js} +19 -19
  169. package/dist/{register.status-health-sessions-Cqjm0Idz.js → register.status-health-sessions-BHoXRebl.js} +3 -3
  170. package/dist/{register.subclis-nc1aTDhV.js → register.subclis-B8T9Nho5.js} +22 -22
  171. package/dist/{reply-C5DEp-56.js → reply-CC_efixB.js} +64 -64
  172. package/dist/{routes-BB6LP568.js → routes-E8WiexN3.js} +2 -2
  173. package/dist/{rpc-ByAsUjMn.js → rpc-CPYD-Ar-.js} +1 -1
  174. package/dist/{run-main-e6BhCGjN.js → run-main-B7Zfdf6I.js} +29 -29
  175. package/dist/{runner-mwPo9ptb.js → runner-BWoqQvtk.js} +1 -1
  176. package/dist/{runner-xZpL42_b.js → runner-CEsOiYSs.js} +1 -1
  177. package/dist/{sandbox-DPfxTEzM.js → sandbox-QRoV7IDp.js} +3 -3
  178. package/dist/{sandbox-cli-BH2HbB27.js → sandbox-cli-BioWBC7F.js} +4 -4
  179. package/dist/{security-cli-DnQethIs.js → security-cli-CMJUiWHd.js} +8 -8
  180. package/dist/{server-context-CX9muXQr.js → server-context-lLA4yguq.js} +4 -4
  181. package/dist/{server-node-events-Cy-jZjnl.js → server-node-events-8p53GK77.js} +18 -18
  182. package/dist/{server-node-events-CRwpmUOU.js → server-node-events-CuKIN_pp.js} +3 -3
  183. package/dist/{status-CmCSWWvl.js → status-C-_AQa_n.js} +1 -1
  184. package/dist/{status-DNkkeh_0.js → status-C0PedGvk.js} +1 -1
  185. package/dist/{status-B8jCaxPw.js → status-Cs1zI-NP.js} +2 -2
  186. package/dist/{status-ROKKicH6.js → status-Ctfx8xox.js} +5 -5
  187. package/dist/{subagent-registry-BspDa86d.js → subagent-registry-VxxWWLpu.js} +85 -85
  188. package/dist/{system-cli-ixUuhdcu.js → system-cli-DSDe6SFL.js} +3 -3
  189. package/dist/{tui-cli-DkJ6qaMd.js → tui-cli-xehAsb_5.js} +8 -8
  190. package/dist/{tui-P-gFf3ML.js → tui-fq15F93e.js} +3 -3
  191. package/dist/{update-cli-CId9788n.js → update-cli-BVn_tBgg.js} +7 -7
  192. package/dist/{update-cli-BakRWL6_.js → update-cli-BqQRQK7Y.js} +24 -24
  193. package/dist/{update-runner-CUMr1hwv.js → update-runner-De7xuhL2.js} +1 -1
  194. package/dist/{update-runner-BiME2aa4.js → update-runner-immYfGfJ.js} +1 -1
  195. package/dist/{web-DYj3cPxd.js → web-BfOMHOcy.js} +6 -6
  196. package/dist/{web-DAxcAANg.js → web-CEI2IbA0.js} +16 -16
  197. package/dist/{web-DVzN1ROr.js → web-CETMHB6w.js} +1 -1
  198. package/dist/{web-xZAKEg_6.js → web-tnTvHSOJ.js} +2 -2
  199. package/dist/{with-timeout-CSdDvZtb.js → with-timeout-CB3jrUQq.js} +1 -1
  200. package/docs/_site/concepts/features.html +1 -1
  201. package/docs/_site/start/getting-started.html +1 -1
  202. package/docs/_site/start/onboarding-overview.html +1 -1
  203. package/docs/_site/start/onboarding.html +1 -1
  204. package/docs/_site/start/openclaw.html +1 -1
  205. package/docs/_site/start/showcase.html +1 -1
  206. package/docs/_site/start/wizard.html +1 -1
  207. package/docs/concepts/agent.md +1 -1
  208. package/docs/docs.json +9 -13
  209. package/docs/gateway/security/index.md +1 -1
  210. package/docs/index.md +0 -6
  211. package/docs/introduction.mdx +7 -21
  212. package/docs/ja-JP/index.md +1 -1
  213. package/docs/plugins/helloworld.md +9 -7
  214. package/docs/start/lore.md +2 -2
  215. package/docs/zh-CN/concepts/agent.md +1 -1
  216. package/docs/zh-CN/gateway/configuration.md +1 -1
  217. package/docs/zh-CN/gateway/security/index.md +1 -1
  218. package/docs/zh-CN/index.md +1 -1
  219. package/docs/zh-CN/reference/templates/AGENTS.dev.md +1 -1
  220. package/docs/zh-CN/start/lore.md +2 -2
  221. package/extensions/bluebubbles/README.md +1 -1
  222. package/extensions/bluebubbles/package.json +2 -2
  223. package/extensions/copilot-proxy/package.json +1 -1
  224. package/extensions/diagnostics-otel/package.json +1 -1
  225. package/extensions/discord/package.json +1 -1
  226. package/extensions/feishu/package.json +2 -2
  227. package/extensions/google-antigravity-auth/package.json +1 -1
  228. package/extensions/google-gemini-cli-auth/package.json +1 -1
  229. package/extensions/googlechat/package.json +2 -2
  230. package/extensions/helloworld/agdi.plugin.json +9 -0
  231. package/extensions/helloworld/index.ts +1 -2
  232. package/extensions/imessage/package.json +1 -1
  233. package/extensions/irc/package.json +1 -1
  234. package/extensions/line/package.json +2 -2
  235. package/extensions/llm-task/package.json +1 -1
  236. package/extensions/lobster/package.json +1 -1
  237. package/extensions/matrix/package.json +2 -2
  238. package/extensions/mattermost/package.json +2 -2
  239. package/extensions/memory-core/package.json +1 -1
  240. package/extensions/memory-lancedb/package.json +1 -1
  241. package/extensions/minimax-portal-auth/package.json +1 -1
  242. package/extensions/msteams/package.json +2 -2
  243. package/extensions/nextcloud-talk/package.json +2 -2
  244. package/extensions/nostr/package.json +2 -2
  245. package/extensions/open-prose/package.json +1 -1
  246. package/extensions/signal/package.json +1 -1
  247. package/extensions/slack/package.json +1 -1
  248. package/extensions/telegram/package.json +1 -1
  249. package/extensions/tlon/package.json +2 -2
  250. package/extensions/twitch/package.json +1 -1
  251. package/extensions/voice-call/package.json +1 -1
  252. package/extensions/whatsapp/package.json +1 -1
  253. package/extensions/zalo/package.json +2 -2
  254. package/extensions/zalouser/package.json +2 -2
  255. package/package.json +10 -10
  256. package/skills/1password/SKILL.md +3 -3
  257. package/skills/apple-notes/SKILL.md +2 -2
  258. package/skills/apple-reminders/SKILL.md +1 -1
  259. package/skills/bear-notes/SKILL.md +1 -1
  260. package/skills/blogwatcher/SKILL.md +1 -1
  261. package/skills/blucli/SKILL.md +1 -1
  262. package/skills/bluebubbles/SKILL.md +3 -3
  263. package/skills/camsnap/SKILL.md +1 -1
  264. package/skills/canvas/SKILL.md +15 -15
  265. package/skills/clawhub/SKILL.md +2 -2
  266. package/skills/coding-agent/SKILL.md +6 -6
  267. package/skills/discord/SKILL.md +1 -1
  268. package/skills/eightctl/SKILL.md +1 -1
  269. package/skills/food-order/SKILL.md +1 -1
  270. package/skills/gemini/SKILL.md +1 -1
  271. package/skills/gifgrep/SKILL.md +1 -1
  272. package/skills/github/SKILL.md +1 -1
  273. package/skills/gog/SKILL.md +1 -1
  274. package/skills/goplaces/SKILL.md +1 -1
  275. package/skills/healthcheck/SKILL.md +36 -36
  276. package/skills/himalaya/SKILL.md +1 -1
  277. package/skills/imsg/SKILL.md +1 -1
  278. package/skills/mcporter/SKILL.md +1 -1
  279. package/skills/model-usage/SKILL.md +1 -1
  280. package/skills/nano-banana-pro/SKILL.md +3 -3
  281. package/skills/nano-pdf/SKILL.md +1 -1
  282. package/skills/notion/SKILL.md +1 -1
  283. package/skills/obsidian/SKILL.md +1 -1
  284. package/skills/openai-image-gen/SKILL.md +1 -1
  285. package/skills/openai-whisper/SKILL.md +1 -1
  286. package/skills/openai-whisper-api/SKILL.md +2 -2
  287. package/skills/openhue/SKILL.md +1 -1
  288. package/skills/oracle/SKILL.md +1 -1
  289. package/skills/ordercli/SKILL.md +1 -1
  290. package/skills/peekaboo/SKILL.md +1 -1
  291. package/skills/sag/SKILL.md +1 -1
  292. package/skills/session-logs/SKILL.md +7 -7
  293. package/skills/sherpa-onnx-tts/SKILL.md +6 -6
  294. package/skills/slack/SKILL.md +4 -4
  295. package/skills/songsee/SKILL.md +1 -1
  296. package/skills/sonoscli/SKILL.md +1 -1
  297. package/skills/spotify-player/SKILL.md +1 -1
  298. package/skills/summarize/SKILL.md +1 -1
  299. package/skills/things-mac/SKILL.md +3 -3
  300. package/skills/tmux/SKILL.md +8 -8
  301. package/skills/trello/SKILL.md +2 -2
  302. package/skills/video-frames/SKILL.md +1 -1
  303. package/skills/voice-call/SKILL.md +4 -4
  304. package/skills/wacli/SKILL.md +2 -2
  305. package/skills/weather/SKILL.md +1 -1
  306. package/dist/plugin-sdk/web-DyqJw3zc.js +0 -50
  307. package/docs/start/showcase.md +0 -416
  308. package/docs/zh-CN/start/showcase.md +0 -423
@@ -27419,6 +27419,69 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
27419
27419
  };
27420
27420
  }
27421
27421
 
27422
+ //#endregion
27423
+ //#region src/agents/tools/email-tool.ts
27424
+ const EmailToolSchema = Type.Object({
27425
+ action: stringEnum([
27426
+ "search",
27427
+ "read",
27428
+ "send"
27429
+ ], { description: "The email action to perform (search, read, send)." }),
27430
+ query: Type.Optional(Type.String({ description: "Search query for Gmail (e.g. 'is:unread from:boss@example.com'). Used when action=search." })),
27431
+ messageId: Type.Optional(Type.String({ description: "The specific message ID to read. Used when action=read." })),
27432
+ to: Type.Optional(Type.String({ description: "Recipient email address. Used when action=send." })),
27433
+ subject: Type.Optional(Type.String({ description: "Email subject line. Used when action=send." })),
27434
+ body: Type.Optional(Type.String({ description: "Email body content (text/plain). Used when action=send." }))
27435
+ });
27436
+ function createEmailTool() {
27437
+ return {
27438
+ label: "Email (Gmail)",
27439
+ name: "email",
27440
+ description: "Natively interact with the user's connected Gmail account to search inbox, read specific threads, or send new emails. Uses 'gog' backend authentication.",
27441
+ parameters: EmailToolSchema,
27442
+ execute: async (_toolCallId, args) => {
27443
+ const params = args;
27444
+ const action = readStringParam(params, "action", { required: true });
27445
+ switch (action) {
27446
+ case "search": return jsonResult({
27447
+ ok: true,
27448
+ action: "search",
27449
+ query: readStringParam(params, "query") || "is:unread",
27450
+ results: [{
27451
+ id: "msg_12345",
27452
+ threadId: "thread_12345",
27453
+ snippet: "This is a scaffolded email search result...",
27454
+ date: (/* @__PURE__ */ new Date()).toISOString()
27455
+ }],
27456
+ note: "Email search is currently scaffolded. Full gog CLI integration pending."
27457
+ });
27458
+ case "read": {
27459
+ const messageId = readStringParam(params, "messageId", { required: true });
27460
+ return jsonResult({
27461
+ ok: true,
27462
+ action: "read",
27463
+ messageId,
27464
+ subject: "Scaffolded Email subject",
27465
+ from: "sender@example.com",
27466
+ to: "me@example.com",
27467
+ body: `This is the body of message ${messageId}. Email tool is in scaffolding mode.`
27468
+ });
27469
+ }
27470
+ case "send": return jsonResult({
27471
+ ok: true,
27472
+ action: "send",
27473
+ status: "drafted",
27474
+ to: readStringParam(params, "to", { required: true }),
27475
+ subject: readStringParam(params, "subject", { required: true }),
27476
+ preview: readStringParam(params, "body", { required: true }).slice(0, 100),
27477
+ note: "Email sending is scaffolded. No actual email was dispatched."
27478
+ });
27479
+ default: throw new Error(`Unknown email action: ${action}`);
27480
+ }
27481
+ }
27482
+ };
27483
+ }
27484
+
27422
27485
  //#endregion
27423
27486
  //#region src/infra/restart-sentinel.ts
27424
27487
  const SENTINEL_FILENAME = "restart-sentinel.json";
@@ -28291,69 +28354,6 @@ function createImageTool(options) {
28291
28354
  };
28292
28355
  }
28293
28356
 
28294
- //#endregion
28295
- //#region src/agents/tools/email-tool.ts
28296
- const EmailToolSchema = Type.Object({
28297
- action: stringEnum([
28298
- "search",
28299
- "read",
28300
- "send"
28301
- ], { description: "The email action to perform (search, read, send)." }),
28302
- query: Type.Optional(Type.String({ description: "Search query for Gmail (e.g. 'is:unread from:boss@example.com'). Used when action=search." })),
28303
- messageId: Type.Optional(Type.String({ description: "The specific message ID to read. Used when action=read." })),
28304
- to: Type.Optional(Type.String({ description: "Recipient email address. Used when action=send." })),
28305
- subject: Type.Optional(Type.String({ description: "Email subject line. Used when action=send." })),
28306
- body: Type.Optional(Type.String({ description: "Email body content (text/plain). Used when action=send." }))
28307
- });
28308
- function createEmailTool() {
28309
- return {
28310
- label: "Email (Gmail)",
28311
- name: "email",
28312
- description: "Natively interact with the user's connected Gmail account to search inbox, read specific threads, or send new emails. Uses 'gog' backend authentication.",
28313
- parameters: EmailToolSchema,
28314
- execute: async (_toolCallId, args) => {
28315
- const params = args;
28316
- const action = readStringParam(params, "action", { required: true });
28317
- switch (action) {
28318
- case "search": return jsonResult({
28319
- ok: true,
28320
- action: "search",
28321
- query: readStringParam(params, "query") || "is:unread",
28322
- results: [{
28323
- id: "msg_12345",
28324
- threadId: "thread_12345",
28325
- snippet: "This is a scaffolded email search result...",
28326
- date: (/* @__PURE__ */ new Date()).toISOString()
28327
- }],
28328
- note: "Email search is currently scaffolded. Full gog CLI integration pending."
28329
- });
28330
- case "read": {
28331
- const messageId = readStringParam(params, "messageId", { required: true });
28332
- return jsonResult({
28333
- ok: true,
28334
- action: "read",
28335
- messageId,
28336
- subject: "Scaffolded Email subject",
28337
- from: "sender@example.com",
28338
- to: "me@example.com",
28339
- body: `This is the body of message ${messageId}. Email tool is in scaffolding mode.`
28340
- });
28341
- }
28342
- case "send": return jsonResult({
28343
- ok: true,
28344
- action: "send",
28345
- status: "drafted",
28346
- to: readStringParam(params, "to", { required: true }),
28347
- subject: readStringParam(params, "subject", { required: true }),
28348
- preview: readStringParam(params, "body", { required: true }).slice(0, 100),
28349
- note: "Email sending is scaffolded. No actual email was dispatched."
28350
- });
28351
- default: throw new Error(`Unknown email action: ${action}`);
28352
- }
28353
- }
28354
- };
28355
- }
28356
-
28357
28357
  //#endregion
28358
28358
  //#region src/channels/plugins/bluebubbles-actions.ts
28359
28359
  const BLUEBUBBLES_ACTIONS = {
@@ -62162,7 +62162,7 @@ function loadWebLoginQr() {
62162
62162
  return webLoginQrPromise;
62163
62163
  }
62164
62164
  function loadWebChannel() {
62165
- webChannelPromise ??= import("./web-DVzN1ROr.js");
62165
+ webChannelPromise ??= import("./web-CETMHB6w.js");
62166
62166
  return webChannelPromise;
62167
62167
  }
62168
62168
  function loadWhatsAppActions() {
@@ -15,7 +15,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
15
15
  import { a as resolveSlackWebClientOptions, i as createSlackWebClient, o as parseSlackTarget, s as resolveSlackChannelId, t as sendMessageSlack } from "./send-DWYZx6F1.js";
16
16
  import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-YOWPemAw.js";
17
17
  import { $ as createDiscordClient, A as addRoleDiscord, B as removeRoleDiscord, C as fetchMessageDiscord, Ct as buildChannelKeyCandidates, D as readMessagesDiscord, E as pinMessageDiscord, F as fetchRoleInfoDiscord, G as createChannelDiscord, H as listGuildEmojisDiscord, I as fetchVoiceStatusDiscord, J as moveChannelDiscord, K as deleteChannelDiscord, L as kickMemberDiscord, M as createScheduledEventDiscord, N as fetchChannelInfoDiscord, O as searchMessagesDiscord, P as fetchMemberInfoDiscord, Q as fetchChannelPermissionsDiscord, R as listGuildChannelsDiscord, S as editMessageDiscord, St as applyChannelMatchMeta, T as listThreadsDiscord, U as uploadEmojiDiscord, V as timeoutMemberDiscord, W as uploadStickerDiscord, X as setChannelPermissionDiscord, Y as removeChannelPermissionDiscord, Z as stripUndefinedFields, _ as sendPollDiscord, _t as formatDiscordReactionEmoji, a as removeReactionDiscord, at as allowListMatches$1, b as createThreadDiscord, bt as resolveTimestampMs, c as formatDiscordComponentEventText, ct as normalizeDiscordSlug, d as parseDiscordModalCustomId, dt as resolveDiscordGuildEntry, et as chunkDiscordTextWithMode, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordMemberAccessState, g as sendMessageDiscord, gt as shouldEmitDiscordReactionNotification, h as resolveDiscordModalEntry, ht as resolveGroupDmAllow, i as removeOwnReactionsDiscord, it as listDiscordDirectoryPeersLive, j as banMemberDiscord, k as unpinMessageDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordAllowListMatch, m as resolveDiscordComponentEntry, mt as resolveDiscordShouldRequireMention, n as fetchReactionsDiscord, nt as resolveDiscordChannelId, o as sendDiscordComponentMessage, ot as isDiscordGroupAllowedByPolicy, p as readDiscordComponentSpec, pt as resolveDiscordOwnerAllowFrom, q as editChannelDiscord, r as reactMessageDiscord, rt as listDiscordDirectoryGroupsLive, s as createDiscordFormModal, st as normalizeDiscordAllowList, tt as parseDiscordTarget, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordChannelConfigWithFallback, v as sendStickerDiscord, vt as formatDiscordUserTag, w as listPinsDiscord, wt as resolveChannelEntryMatchWithFallback, x as deleteMessageDiscord, xt as fetchDiscord, y as sendVoiceMessageDiscord, yt as resolveDiscordSystemLocation, z as listScheduledEventsDiscord } from "./send-Bx-XLKZc.js";
18
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as throwIfAborted, b as splitMediaFromOutput, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-x4ra2LhM.js";
18
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as throwIfAborted, b as splitMediaFromOutput, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-DUH6FW-h.js";
19
19
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DJvnM_L0.js";
20
20
  import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramStreamMode, G as removeChannelAllowFromStoreEntry, H as toLocationContext, I as resolveTelegramThreadSpec, J as listPairingChannels, K as upsertChannelPairingRequest, L as firstDefined$2, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramReplyId, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as addChannelAllowFromStoreEntry, V as formatLocationText, W as readChannelAllowFromStore, X as parseTelegramTarget, Y as isVoiceCompatibleAudio, _ as splitTelegramCaption, a as sendMessageTelegram, b as buildSenderLabel, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as reactMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as deleteMessageTelegram, o as sendPollTelegram, p as markdownToTelegramHtml, q as getPairingAdapter, r as editMessageTelegram, s as sendStickerTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Clefr85B.js";
21
21
  import { C as mediaKindFromMime, _ as isAudioFileName, a as resizeToJpeg, f as normalizeHostname, g as imageMimeFromFormat, l as isBlockedHostname, m as extensionForMime, n as getImageMetadata, o as SsrFBlockedError, p as detectMime, u as isPrivateIpAddress, v as isGifMedia, x as MAX_IMAGE_BYTES } from "./image-ops-DWPqvrku.js";
@@ -23,10 +23,10 @@ import { A as resolveModelRefFromString, B as DEFAULT_MODEL, C as isCliProvider,
23
23
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BwATwZ_L.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CvOm0Qeg.js";
25
25
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-1kjjJYPE.js";
26
- import { A as isTransientHttpError, At as normalizeToolName, B as loadSessionStore, C as isContextOverflowError, Ct as resolveSandboxConfigForAgent, D as isRateLimitAssistantError, Dt as expandPolicyWithPluginGroups, E as isLikelyContextOverflowError, Et as collectExplicitAllowlist, F as resolveSandboxContext, Ft as buildBootstrapContextFiles, G as updateSessionStoreEntry, H as recordSessionMetaFromInbound, I as resolveSandboxRuntimeStatus, It as ensureSessionHeader, J as deliveryContextFromSession, K as isCacheEnabled, L as extractDeliveryInfo, Lt as resolveBootstrapMaxChars, M as parseImageSizeError, Mt as stripPluginOnlyAllowlist, N as sanitizeUserFacingText, Nt as compileGlobPatterns, O as isRawApiErrorPayload, Ot as expandToolGroups, P as ensureSandboxWorkspaceForSession, Pt as matchesAnyGlobPattern, Q as normalizeSessionDeliveryFields, R as appendAssistantMessageToSessionTranscript, Rt as resolveBootstrapTotalMaxChars, S as isCompactionFailureError, St as resolveBrowserControlAuth, T as isFailoverErrorMessage, Tt as buildPluginToolGroups, U as updateLastRoute, V as readSessionUpdatedAt, W as updateSessionStore, X as mergeDeliveryContext, Y as deliveryContextKey, Z as normalizeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as resolveProfile, a as isMessagingToolDuplicateNormalized, at as resolveSessionResetType, b as isBillingAssistantError, bt as getBridgeAuthForPort, c as extractToolCallsFromAssistant, ct as resolveFreshSessionTotalTokens, d as isAntigravityClaude, dt as resolveMainSessionKey, et as acquireSessionWriteLock, f as isGoogleModelApi, ft as deriveSessionMetaPatch, g as formatBillingErrorMessage, gt as resolveBrowserConfig, h as formatAssistantErrorText, ht as registerBrowserRoutes, it as resolveSessionResetPolicy, j as parseImageDimensionError, jt as resolveToolProfilePolicy, k as isTimeoutErrorMessage, kt as mergeAlsoAllowPolicy, l as extractToolResultId, lt as canonicalizeMainSessionAlias, m as classifyFailoverReason, mt as createBrowserRouteContext, n as validateGeminiTurns, nt as evaluateSessionFreshness, o as normalizeTextForComparison, ot as resolveThreadFlag, p as BILLING_ERROR_USER_MESSAGE, pt as resolveGroupSessionKey, q as resolveCacheTtlMs$1, r as pickFallbackThinkingLevel, rt as resolveChannelResetConfig, s as sanitizeSessionMessagesImages, st as DEFAULT_RESET_TRIGGERS, t as validateAnthropicTurns, tt as resolveSessionKey$1, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, vt as DEFAULT_UPLOAD_DIR, w as isFailoverAssistantError, wt as applyOwnerOnlyToolPolicy, x as isCloudCodeAssistFormatError, xt as ensureBrowserControlAuth, y as isAuthAssistantError, yt as resolvePathsWithinRoot, zt as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-C-8FnnkQ.js";
26
+ import { A as isTransientHttpError, At as normalizeToolName, B as loadSessionStore, C as isContextOverflowError, Ct as resolveSandboxConfigForAgent, D as isRateLimitAssistantError, Dt as expandPolicyWithPluginGroups, E as isLikelyContextOverflowError, Et as collectExplicitAllowlist, F as resolveSandboxContext, Ft as buildBootstrapContextFiles, G as updateSessionStoreEntry, H as recordSessionMetaFromInbound, I as resolveSandboxRuntimeStatus, It as ensureSessionHeader, J as deliveryContextFromSession, K as isCacheEnabled, L as extractDeliveryInfo, Lt as resolveBootstrapMaxChars, M as parseImageSizeError, Mt as stripPluginOnlyAllowlist, N as sanitizeUserFacingText, Nt as compileGlobPatterns, O as isRawApiErrorPayload, Ot as expandToolGroups, P as ensureSandboxWorkspaceForSession, Pt as matchesAnyGlobPattern, Q as normalizeSessionDeliveryFields, R as appendAssistantMessageToSessionTranscript, Rt as resolveBootstrapTotalMaxChars, S as isCompactionFailureError, St as resolveBrowserControlAuth, T as isFailoverErrorMessage, Tt as buildPluginToolGroups, U as updateLastRoute, V as readSessionUpdatedAt, W as updateSessionStore, X as mergeDeliveryContext, Y as deliveryContextKey, Z as normalizeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as resolveProfile, a as isMessagingToolDuplicateNormalized, at as resolveSessionResetType, b as isBillingAssistantError, bt as getBridgeAuthForPort, c as extractToolCallsFromAssistant, ct as resolveFreshSessionTotalTokens, d as isAntigravityClaude, dt as resolveMainSessionKey, et as acquireSessionWriteLock, f as isGoogleModelApi, ft as deriveSessionMetaPatch, g as formatBillingErrorMessage, gt as resolveBrowserConfig, h as formatAssistantErrorText, ht as registerBrowserRoutes, it as resolveSessionResetPolicy, j as parseImageDimensionError, jt as resolveToolProfilePolicy, k as isTimeoutErrorMessage, kt as mergeAlsoAllowPolicy, l as extractToolResultId, lt as canonicalizeMainSessionAlias, m as classifyFailoverReason, mt as createBrowserRouteContext, n as validateGeminiTurns, nt as evaluateSessionFreshness, o as normalizeTextForComparison, ot as resolveThreadFlag, p as BILLING_ERROR_USER_MESSAGE, pt as resolveGroupSessionKey, q as resolveCacheTtlMs$1, r as pickFallbackThinkingLevel, rt as resolveChannelResetConfig, s as sanitizeSessionMessagesImages, st as DEFAULT_RESET_TRIGGERS, t as validateAnthropicTurns, tt as resolveSessionKey$1, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, vt as DEFAULT_UPLOAD_DIR, w as isFailoverAssistantError, wt as applyOwnerOnlyToolPolicy, x as isCloudCodeAssistFormatError, xt as ensureBrowserControlAuth, y as isAuthAssistantError, yt as resolvePathsWithinRoot, zt as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-DP0wnth-.js";
27
27
  import { C as VERSION, S as resolveAgentMaxConcurrent, _ as getConfigValueAtPath, a as writeConfigFile, b as unsetConfigValueAtPath, c as TELEGRAM_COMMAND_NAME_PATTERN, d as parseDurationMs, f as validateJsonSchemaValue, g as unsetConfigOverride, h as setConfigOverride, i as resolveConfigSnapshotHash, l as normalizeTelegramCommandName, m as resetConfigOverrides, n as loadConfig, o as validateConfigObjectWithPlugins, p as getConfigOverrides, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as parseConfigPath, x as isSafeExecutableValue, y as setConfigValueAtPath } from "./config-BxWWjRcW.js";
28
28
  import { a as resolveEnableState, i as normalizePluginsConfig, n as discoverAGDIPlugins, o as resolveMemorySlotDecision, r as applyTestPluginDefaults, t as loadPluginManifestRegistry } from "./manifest-registry-3NDJffIO.js";
29
- import { C as pickPrimaryTailnetIPv4, S as pickPrimaryLanIPv4, b as rawDataToString, k as DEFAULT_AI_SNAPSHOT_MAX_CHARS, v as ensureChromeExtensionRelayServer } from "./chrome-H9ooxat-.js";
29
+ import { C as pickPrimaryTailnetIPv4, S as pickPrimaryLanIPv4, b as rawDataToString, k as DEFAULT_AI_SNAPSHOT_MAX_CHARS, v as ensureChromeExtensionRelayServer } from "./chrome-BUxc5HjQ.js";
30
30
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DelwZ1-m.js";
31
31
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CsoDC3nn.js";
32
32
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-D-Y31meG.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-D9xczclZ.js";
36
36
  import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath } from "./paths-rKjBYv7e.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-Bml8FY2B.js";
39
- import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as ensureAGDIModelsJson, y as resolveToolDisplay } from "./image-StP21Jhi.js";
39
+ import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as ensureAGDIModelsJson, y as resolveToolDisplay } from "./image-KCLvIKaC.js";
40
40
  import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-DhhMcw8Y.js";
41
41
  import { n as resolveMemorySearchConfig } from "./manager-YSFXQ3vm.js";
42
42
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-BIilK-dD.js";
@@ -49,7 +49,7 @@ import { i as fetchWithSsrFGuard, n as fetchRemoteMedia, r as readResponseWithLi
49
49
  import { a as loadWebMedia, i as getDefaultLocalRoots, s as getAgentScopedMediaLocalRoots } from "./ir-DdusNIqD.js";
50
50
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-CSfh9mUG.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CHonRf7n.js";
52
- import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-mwPo9ptb.js";
52
+ import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-BWoqQvtk.js";
53
53
  import { a as getRemoteSkillEligibility, c as getSkillsSnapshotVersion, n as listSkillCommandsForWorkspace, o as createAsyncLock, r as resolveSkillCommandInvocation, s as ensureSkillsWatcher, t as listSkillCommandsForAgents } from "./skill-commands-C54YkbC1.js";
54
54
  import { t as resolveFetch } from "./fetch-C4vS_mnb.js";
55
55
  import { n as normalizePollInput } from "./polls-BmfSI3-6.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import crypto, { X509Certificate, randomUUID } from "node:crypto";
80
80
  import AjvPkg from "ajv";
81
81
  import { createServer } from "node:http";
82
- import WebSocket, { WebSocket as WebSocket$1, WebSocketServer } from "ws";
82
+ import WebSocket$1, { WebSocket, WebSocketServer } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5807,7 +5807,7 @@ var GatewayClient = class {
5807
5807
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5808
5808
  });
5809
5809
  }
5810
- this.ws = new WebSocket$1(url, wsOptions);
5810
+ this.ws = new WebSocket(url, wsOptions);
5811
5811
  this.ws.on("open", () => {
5812
5812
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5813
5813
  const tlsError = this.validateTlsFingerprint();
@@ -6010,7 +6010,7 @@ var GatewayClient = class {
6010
6010
  return null;
6011
6011
  }
6012
6012
  async request(method, params, opts) {
6013
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6013
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6014
6014
  const id = randomUUID();
6015
6015
  const frame = {
6016
6016
  type: "req",
@@ -7048,7 +7048,7 @@ async function routeReply(params) {
7048
7048
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7049
7049
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7050
7050
  try {
7051
- const { deliverOutboundPayloads } = await import("./deliver-x4ra2LhM.js").then((n) => n.n);
7051
+ const { deliverOutboundPayloads } = await import("./deliver-DUH6FW-h.js").then((n) => n.n);
7052
7052
  return {
7053
7053
  ok: true,
7054
7054
  messageId: (await deliverOutboundPayloads({
@@ -26553,6 +26553,69 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
26553
26553
  };
26554
26554
  }
26555
26555
 
26556
+ //#endregion
26557
+ //#region src/agents/tools/email-tool.ts
26558
+ const EmailToolSchema = Type.Object({
26559
+ action: stringEnum([
26560
+ "search",
26561
+ "read",
26562
+ "send"
26563
+ ], { description: "The email action to perform (search, read, send)." }),
26564
+ query: Type.Optional(Type.String({ description: "Search query for Gmail (e.g. 'is:unread from:boss@example.com'). Used when action=search." })),
26565
+ messageId: Type.Optional(Type.String({ description: "The specific message ID to read. Used when action=read." })),
26566
+ to: Type.Optional(Type.String({ description: "Recipient email address. Used when action=send." })),
26567
+ subject: Type.Optional(Type.String({ description: "Email subject line. Used when action=send." })),
26568
+ body: Type.Optional(Type.String({ description: "Email body content (text/plain). Used when action=send." }))
26569
+ });
26570
+ function createEmailTool() {
26571
+ return {
26572
+ label: "Email (Gmail)",
26573
+ name: "email",
26574
+ description: "Natively interact with the user's connected Gmail account to search inbox, read specific threads, or send new emails. Uses 'gog' backend authentication.",
26575
+ parameters: EmailToolSchema,
26576
+ execute: async (_toolCallId, args) => {
26577
+ const params = args;
26578
+ const action = readStringParam(params, "action", { required: true });
26579
+ switch (action) {
26580
+ case "search": return jsonResult({
26581
+ ok: true,
26582
+ action: "search",
26583
+ query: readStringParam(params, "query") || "is:unread",
26584
+ results: [{
26585
+ id: "msg_12345",
26586
+ threadId: "thread_12345",
26587
+ snippet: "This is a scaffolded email search result...",
26588
+ date: (/* @__PURE__ */ new Date()).toISOString()
26589
+ }],
26590
+ note: "Email search is currently scaffolded. Full gog CLI integration pending."
26591
+ });
26592
+ case "read": {
26593
+ const messageId = readStringParam(params, "messageId", { required: true });
26594
+ return jsonResult({
26595
+ ok: true,
26596
+ action: "read",
26597
+ messageId,
26598
+ subject: "Scaffolded Email subject",
26599
+ from: "sender@example.com",
26600
+ to: "me@example.com",
26601
+ body: `This is the body of message ${messageId}. Email tool is in scaffolding mode.`
26602
+ });
26603
+ }
26604
+ case "send": return jsonResult({
26605
+ ok: true,
26606
+ action: "send",
26607
+ status: "drafted",
26608
+ to: readStringParam(params, "to", { required: true }),
26609
+ subject: readStringParam(params, "subject", { required: true }),
26610
+ preview: readStringParam(params, "body", { required: true }).slice(0, 100),
26611
+ note: "Email sending is scaffolded. No actual email was dispatched."
26612
+ });
26613
+ default: throw new Error(`Unknown email action: ${action}`);
26614
+ }
26615
+ }
26616
+ };
26617
+ }
26618
+
26556
26619
  //#endregion
26557
26620
  //#region src/infra/restart-sentinel.ts
26558
26621
  const SENTINEL_FILENAME = "restart-sentinel.json";
@@ -27425,69 +27488,6 @@ function createImageTool(options) {
27425
27488
  };
27426
27489
  }
27427
27490
 
27428
- //#endregion
27429
- //#region src/agents/tools/email-tool.ts
27430
- const EmailToolSchema = Type.Object({
27431
- action: stringEnum([
27432
- "search",
27433
- "read",
27434
- "send"
27435
- ], { description: "The email action to perform (search, read, send)." }),
27436
- query: Type.Optional(Type.String({ description: "Search query for Gmail (e.g. 'is:unread from:boss@example.com'). Used when action=search." })),
27437
- messageId: Type.Optional(Type.String({ description: "The specific message ID to read. Used when action=read." })),
27438
- to: Type.Optional(Type.String({ description: "Recipient email address. Used when action=send." })),
27439
- subject: Type.Optional(Type.String({ description: "Email subject line. Used when action=send." })),
27440
- body: Type.Optional(Type.String({ description: "Email body content (text/plain). Used when action=send." }))
27441
- });
27442
- function createEmailTool() {
27443
- return {
27444
- label: "Email (Gmail)",
27445
- name: "email",
27446
- description: "Natively interact with the user's connected Gmail account to search inbox, read specific threads, or send new emails. Uses 'gog' backend authentication.",
27447
- parameters: EmailToolSchema,
27448
- execute: async (_toolCallId, args) => {
27449
- const params = args;
27450
- const action = readStringParam(params, "action", { required: true });
27451
- switch (action) {
27452
- case "search": return jsonResult({
27453
- ok: true,
27454
- action: "search",
27455
- query: readStringParam(params, "query") || "is:unread",
27456
- results: [{
27457
- id: "msg_12345",
27458
- threadId: "thread_12345",
27459
- snippet: "This is a scaffolded email search result...",
27460
- date: (/* @__PURE__ */ new Date()).toISOString()
27461
- }],
27462
- note: "Email search is currently scaffolded. Full gog CLI integration pending."
27463
- });
27464
- case "read": {
27465
- const messageId = readStringParam(params, "messageId", { required: true });
27466
- return jsonResult({
27467
- ok: true,
27468
- action: "read",
27469
- messageId,
27470
- subject: "Scaffolded Email subject",
27471
- from: "sender@example.com",
27472
- to: "me@example.com",
27473
- body: `This is the body of message ${messageId}. Email tool is in scaffolding mode.`
27474
- });
27475
- }
27476
- case "send": return jsonResult({
27477
- ok: true,
27478
- action: "send",
27479
- status: "drafted",
27480
- to: readStringParam(params, "to", { required: true }),
27481
- subject: readStringParam(params, "subject", { required: true }),
27482
- preview: readStringParam(params, "body", { required: true }).slice(0, 100),
27483
- note: "Email sending is scaffolded. No actual email was dispatched."
27484
- });
27485
- default: throw new Error(`Unknown email action: ${action}`);
27486
- }
27487
- }
27488
- };
27489
- }
27490
-
27491
27491
  //#endregion
27492
27492
  //#region src/channels/plugins/bluebubbles-actions.ts
27493
27493
  const BLUEBUBBLES_ACTIONS = {
@@ -37856,7 +37856,7 @@ async function deliverSessionMaintenanceWarning(params) {
37856
37856
  return;
37857
37857
  }
37858
37858
  try {
37859
- const { deliverOutboundPayloads } = await import("./deliver-x4ra2LhM.js").then((n) => n.n);
37859
+ const { deliverOutboundPayloads } = await import("./deliver-DUH6FW-h.js").then((n) => n.n);
37860
37860
  await deliverOutboundPayloads({
37861
37861
  cfg: params.cfg,
37862
37862
  channel,
@@ -41172,7 +41172,7 @@ async function describeStickerImage(params) {
41172
41172
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
41173
41173
  try {
41174
41174
  const buffer = await fs.readFile(imagePath);
41175
- const { describeImageWithModel } = await import("./image-StP21Jhi.js").then((n) => n.n);
41175
+ const { describeImageWithModel } = await import("./image-KCLvIKaC.js").then((n) => n.n);
41176
41176
  return (await describeImageWithModel({
41177
41177
  buffer,
41178
41178
  fileName: "sticker.webp",
@@ -43333,7 +43333,7 @@ async function preflightDiscordMessage(params) {
43333
43333
  let preflightTranscript;
43334
43334
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
43335
43335
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
43336
- const { transcribeFirstAudio } = await import("./audio-preflight-DUo4RqeW.js");
43336
+ const { transcribeFirstAudio } = await import("./audio-preflight-CqSkJjc_.js");
43337
43337
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
43338
43338
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
43339
43339
  ctx: {
@@ -46760,7 +46760,7 @@ function createDiscordGatewayPlugin(params) {
46760
46760
  super(options);
46761
46761
  }
46762
46762
  createWebSocket(url) {
46763
- return new WebSocket(url, { agent });
46763
+ return new WebSocket$1(url, { agent });
46764
46764
  }
46765
46765
  }
46766
46766
  return new ProxyGatewayPlugin();
@@ -54985,7 +54985,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
54985
54985
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
54986
54986
  let preflightTranscript;
54987
54987
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
54988
- const { transcribeFirstAudio } = await import("./audio-preflight-DUo4RqeW.js");
54988
+ const { transcribeFirstAudio } = await import("./audio-preflight-CqSkJjc_.js");
54989
54989
  preflightTranscript = await transcribeFirstAudio({
54990
54990
  ctx: {
54991
54991
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -57067,7 +57067,7 @@ function loadWebLoginQr() {
57067
57067
  return webLoginQrPromise;
57068
57068
  }
57069
57069
  function loadWebChannel() {
57070
- webChannelPromise ??= import("./web-DYj3cPxd.js");
57070
+ webChannelPromise ??= import("./web-BfOMHOcy.js");
57071
57071
  return webChannelPromise;
57072
57072
  }
57073
57073
  function loadWhatsAppActions() {
@@ -12,7 +12,7 @@ import { a as resizeToJpeg, n as getImageMetadata } from "./image-ops-DWPqvrku.j
12
12
  import { y as isPidAlive } from "./model-auth-DArMRpum.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-1kjjJYPE.js";
14
14
  import { a as writeConfigFile, d as parseDurationMs, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BxWWjRcW.js";
15
- import { A as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_AGDI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_AGDI_BROWSER_ENABLED, a as resolveAGDIUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchAGDIChrome, j as DEFAULT_BROWSER_EVALUATE_ENABLED, k as DEFAULT_AI_SNAPSHOT_MAX_CHARS, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopAGDIChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AGDI_BROWSER_COLOR, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-H9ooxat-.js";
15
+ import { A as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_AGDI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_AGDI_BROWSER_ENABLED, a as resolveAGDIUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchAGDIChrome, j as DEFAULT_BROWSER_EVALUATE_ENABLED, k as DEFAULT_AI_SNAPSHOT_MAX_CHARS, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopAGDIChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AGDI_BROWSER_COLOR, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-BUxc5HjQ.js";
16
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, u as resolveSandboxPath } from "./skills-DelwZ1-m.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CsoDC3nn.js";
18
18
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-D-Y31meG.js";
@@ -813,7 +813,7 @@ function isModuleNotFoundError(err) {
813
813
  }
814
814
  async function loadPwAiModule(mode) {
815
815
  try {
816
- return await import("./pw-ai-JosjXMNU.js");
816
+ return await import("./pw-ai-DkzrvbWi.js");
817
817
  } catch (err) {
818
818
  if (mode === "soft") return null;
819
819
  if (isModuleNotFoundError(err)) return null;
@@ -3183,11 +3183,11 @@ function createProfileContext(opts, profile) {
3183
3183
  const userDataDir = resolveAGDIUserDataDir(profile.name);
3184
3184
  const profileState = getProfileState();
3185
3185
  if (await isHttpReachable(300) && !profileState.running) try {
3186
- await (await import("./pw-ai-JosjXMNU.js")).closePlaywrightBrowserConnection();
3186
+ await (await import("./pw-ai-DkzrvbWi.js")).closePlaywrightBrowserConnection();
3187
3187
  } catch {}
3188
3188
  if (profileState.running) await stopRunningBrowser();
3189
3189
  try {
3190
- await (await import("./pw-ai-JosjXMNU.js")).closePlaywrightBrowserConnection();
3190
+ await (await import("./pw-ai-DkzrvbWi.js")).closePlaywrightBrowserConnection();
3191
3191
  } catch {}
3192
3192
  if (!fs$1.existsSync(userDataDir)) return {
3193
3193
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { mt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DPfxTEzM.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-QRoV7IDp.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-C1KueG_R.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-C87vKug-.js";
5
5
  import path from "node:path";
@@ -2,7 +2,7 @@ import { S as resolveThreadParentSessionKey, d as resolveAgentIdFromSessionKey }
2
2
  import { n as resolveAgentConfig } from "./agent-scope-NDJGwP8g.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-9yklCv_K.js";
4
4
  import { r as normalizeChannelId } from "./plugins-B4cKx11a.js";
5
- import { C as compileGlobPatterns, b as normalizeToolName, v as expandToolGroups, w as matchesAnyGlobPattern } from "./sandbox-DPfxTEzM.js";
5
+ import { C as compileGlobPatterns, b as normalizeToolName, v as expandToolGroups, w as matchesAnyGlobPattern } from "./sandbox-QRoV7IDp.js";
6
6
  import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BaR9rcZE.js";
7
7
 
8
8
  //#region src/config/commands.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-NDJGwP8g.js";
4
4
  import { i as loadConfig } from "./config-BtO94gLM.js";
5
- import { h as loadAGDIPlugins } from "./subagent-registry-BspDa86d.js";
5
+ import { h as loadAGDIPlugins } from "./subagent-registry-VxxWWLpu.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { jt as loadAGDIPlugins } from "./reply-C5DEp-56.js";
2
+ import { jt as loadAGDIPlugins } from "./reply-CC_efixB.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-CuLntoz5.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DadeNFAN.js";
5
5
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DRpQcvGw.js";
@@ -1,7 +1,7 @@
1
- import { B as info, E as jidToE164, K as success, Z as getChildLogger, j as resolveUserPath } from "./registry-TIFnuqJI.js";
1
+ import { B as info, E as jidToE164, K as success, Z as getChildLogger, j as resolveUserPath } from "./registry-De0o0SaP.js";
2
2
  import { a as resolveOAuthDir } from "./paths-ChMOyvKh.js";
3
3
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-OcC-lU-t.js";
4
- import { d as defaultRuntime } from "./exec-Cwb1C8fs.js";
4
+ import { d as defaultRuntime } from "./exec-Bqlk2QMi.js";
5
5
  import { t as formatCliCommand } from "./command-format-jACKFOIO.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { t as DEFAULT_ACCOUNT_ID } from "./session-key-OcC-lU-t.js";
2
2
  import { t as formatCliCommand } from "./command-format-jACKFOIO.js";
3
- import { r as markdownToIRWithMeta } from "./ir-C6betxfk.js";
3
+ import { r as markdownToIRWithMeta } from "./ir-DRJGSIpB.js";
4
4
  import { t as renderMarkdownWithMarkers } from "./render-DW7AcFdD.js";
5
5
 
6
6
  //#region src/polls.ts
@@ -1,7 +1,7 @@
1
- import { O as pathExists, j as resolveUserPath } from "./registry-TIFnuqJI.js";
1
+ import { O as pathExists, j as resolveUserPath } from "./registry-De0o0SaP.js";
2
2
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-ChMOyvKh.js";
3
3
  import { _ as isSubagentSessionKey, g as isCronSessionKey, l as normalizeAgentId, n as DEFAULT_AGENT_ID, v as parseAgentSessionKey } from "./session-key-OcC-lU-t.js";
4
- import { t as runCommandWithTimeout } from "./exec-Cwb1C8fs.js";
4
+ import { t as runCommandWithTimeout } from "./exec-Bqlk2QMi.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
@@ -1,29 +1,29 @@
1
- import { G as shouldLogVerbose, H as logVerbose } from "./registry-TIFnuqJI.js";
1
+ import { G as shouldLogVerbose, H as logVerbose } from "./registry-De0o0SaP.js";
2
2
  import "./paths-ChMOyvKh.js";
3
- import "./model-selection-CrHnpFeR.js";
4
- import "./config-BD92PCvG.js";
5
- import "./agent-scope-ROxPafoi.js";
6
- import "./exec-Cwb1C8fs.js";
7
- import "./skills-DBGTOFGp.js";
3
+ import "./model-selection-q-whb8Rj.js";
4
+ import "./config-BzD8Apwb.js";
5
+ import "./agent-scope-BXc_jcxb.js";
6
+ import "./exec-Bqlk2QMi.js";
7
+ import "./skills-6PylmrUJ.js";
8
8
  import "./redact-DLALByE6.js";
9
9
  import "./errors-DsAYQPj4.js";
10
- import "./image-ops-BZj3qg_6.js";
11
- import "./fetch-Btlf6cA8.js";
12
- import "./env-CRYzwVby.js";
13
- import "./thinking-BiLvqJ5Q.js";
14
- import "./normalize-Dschm8hD.js";
15
- import "./bindings-HhhGv1rj.js";
16
- import "./accounts-BBUmmr7s.js";
17
- import "./plugins-CHTEazRa.js";
18
- import "./message-channel-Cfxc5EUT.js";
19
- import "./pi-embedded-helpers-BtWxRJkj.js";
10
+ import "./image-ops-BThTx4hU.js";
11
+ import "./fetch-DE02jW9e.js";
12
+ import "./env-Df7RQqAN.js";
13
+ import "./thinking-DddUlJeP.js";
14
+ import "./normalize-Dewv20fJ.js";
15
+ import "./bindings-G_XW7uiC.js";
16
+ import "./accounts-BWR0WF5l.js";
17
+ import "./plugins-CQ5AByBS.js";
18
+ import "./message-channel-DMdN8RH_.js";
19
+ import "./pi-embedded-helpers-BjWjjmzn.js";
20
20
  import "./github-copilot-token-BWyc6hKV.js";
21
- import "./manifest-registry-BIMZK98f.js";
21
+ import "./manifest-registry-Dof8iFUO.js";
22
22
  import "./paths-DCt2vNR8.js";
23
- import "./tool-images-Cy8bFS8K.js";
24
- import "./chrome-CLiJ1Yue.js";
25
- import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CHhjthMj.js";
26
- import "./image-Lcgcsphy.js";
23
+ import "./tool-images-CewFwsph.js";
24
+ import "./chrome-BDx70FO4.js";
25
+ import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-D7eNG5Zn.js";
26
+ import "./image-BZktnIdp.js";
27
27
  import "./pi-model-discovery-DtR631Ph.js";
28
28
 
29
29
  //#region src/media-understanding/audio-preflight.ts
@@ -1,6 +1,6 @@
1
- import { o as normalizeChatChannelId } from "./registry-TIFnuqJI.js";
1
+ import { o as normalizeChatChannelId } from "./registry-De0o0SaP.js";
2
2
  import { c as normalizeAccountId, l as normalizeAgentId } from "./session-key-OcC-lU-t.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-ROxPafoi.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-BXc_jcxb.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {