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
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: boot-md
3
+ description: "Run BOOT.md on gateway startup"
4
+ homepage: https://docs.agdi.ai/automation/hooks#boot-md
5
+ metadata:
6
+ {
7
+ "agdi":
8
+ {
9
+ "emoji": "🚀",
10
+ "events": ["gateway:startup"],
11
+ "requires": { "config": ["workspace.dir"] },
12
+ "install": [{ "id": "bundled", "kind": "bundled", "label": "Bundled with AGDI" }],
13
+ },
14
+ }
15
+ ---
16
+
17
+ # Boot Checklist Hook
18
+
19
+ Runs `BOOT.md` every time the gateway starts, if the file exists in the workspace.
@@ -5,7 +5,7 @@ import { a as resolveAgentModelPrimary, l as resolveEffectiveModelFallbacks, o a
5
5
  import { c as createSubsystemLogger, u as defaultRuntime } from "../../exec-BcVJd1-_.js";
6
6
  import { l as ensureAgentWorkspace } from "../../workspace-BhyIDsly.js";
7
7
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-xvk0fv7i.js";
8
- import { B as resolveAgentTimeoutMs, C as hasNonzeroUsage, D as clearSessionAuthProfileOverride, E as lookupContextTokens, G as registerAgentRunContext, H as AGENT_LANE_SUBAGENT, O as applyModelOverrideToSessionEntry, S as deriveSessionTotalTokens, T as resolveSendPolicy, U as clearAgentRunContext, V as AGENT_LANE_NESTED, W as emitAgentEvent, _ as resolveOutboundTarget, g as runCliAgent, h as setCliSessionId, k as applyVerboseOverride, m as getCliSessionId, t as runEmbeddedPiAgent, v as resolveSessionDeliveryTarget, y as runWithModelFallback } from "../../pi-embedded-DFdlvxNQ.js";
8
+ import { B as resolveAgentTimeoutMs, C as hasNonzeroUsage, D as clearSessionAuthProfileOverride, E as lookupContextTokens, G as registerAgentRunContext, H as AGENT_LANE_SUBAGENT, O as applyModelOverrideToSessionEntry, S as deriveSessionTotalTokens, T as resolveSendPolicy, U as clearAgentRunContext, V as AGENT_LANE_NESTED, W as emitAgentEvent, _ as resolveOutboundTarget, g as runCliAgent, h as setCliSessionId, k as applyVerboseOverride, m as getCliSessionId, t as runEmbeddedPiAgent, v as resolveSessionDeliveryTarget, y as runWithModelFallback } from "../../pi-embedded-CFb93mBT.js";
9
9
  import "../../normalize-BnegWTOJ.js";
10
10
  import "../../boolean-mcn6kL0s.js";
11
11
  import "../../env-COrVDn0D.js";
@@ -15,17 +15,17 @@ import "../../accounts-BRxBc2bj.js";
15
15
  import "../../send-DWYZx6F1.js";
16
16
  import { r as normalizeChannelId, t as getChannelPlugin } from "../../plugins-YOWPemAw.js";
17
17
  import "../../send-Bx-XLKZc.js";
18
- import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-x4ra2LhM.js";
18
+ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-DUH6FW-h.js";
19
19
  import "../../send-Clefr85B.js";
20
20
  import "../../image-ops-DWPqvrku.js";
21
21
  import { B as DEFAULT_MODEL, C as isCliProvider, O as resolveConfiguredModelRef, T as normalizeModelRef, V as DEFAULT_PROVIDER, b as buildAllowedModelSet, h as ensureAuthProfileStore, j as resolveThinkingDefault, w as modelKey, z as DEFAULT_CONTEXT_TOKENS } from "../../model-auth-DArMRpum.js";
22
22
  import "../../github-copilot-token-BwATwZ_L.js";
23
23
  import "../../pi-model-discovery-CvOm0Qeg.js";
24
24
  import { i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "../../message-channel-1kjjJYPE.js";
25
- import { $ as normalizeAccountId, B as loadSessionStore, W as updateSessionStore, at as resolveSessionResetType, dt as resolveMainSessionKey, it as resolveSessionResetPolicy, nt as evaluateSessionFreshness, rt as resolveChannelResetConfig, tt as resolveSessionKey, ut as resolveExplicitAgentSessionKey } from "../../pi-embedded-helpers-C-8FnnkQ.js";
25
+ import { $ as normalizeAccountId, B as loadSessionStore, W as updateSessionStore, at as resolveSessionResetType, dt as resolveMainSessionKey, it as resolveSessionResetPolicy, nt as evaluateSessionFreshness, rt as resolveChannelResetConfig, tt as resolveSessionKey, ut as resolveExplicitAgentSessionKey } from "../../pi-embedded-helpers-DP0wnth-.js";
26
26
  import { n as loadConfig } from "../../config-BxWWjRcW.js";
27
27
  import "../../manifest-registry-3NDJffIO.js";
28
- import "../../chrome-H9ooxat-.js";
28
+ import "../../chrome-BUxc5HjQ.js";
29
29
  import "../../frontmatter-B1sPPll-.js";
30
30
  import { n as buildWorkspaceSkillSnapshot } from "../../skills-DelwZ1-m.js";
31
31
  import "../../redact-BjQ9RIiE.js";
@@ -34,7 +34,7 @@ import "../../store-D-Y31meG.js";
34
34
  import { c as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeThinkLevel, t as formatThinkingLevels, u as supportsXHighThinking } from "../../thinking-D9E0fuhq.js";
35
35
  import { n as resolveSessionFilePath, s as resolveStorePath } from "../../paths-rKjBYv7e.js";
36
36
  import "../../tool-images-Bml8FY2B.js";
37
- import "../../image-StP21Jhi.js";
37
+ import "../../image-KCLvIKaC.js";
38
38
  import "../../reply-prefix-DhhMcw8Y.js";
39
39
  import "../../manager-YSFXQ3vm.js";
40
40
  import "../../sqlite-BIilK-dD.js";
@@ -46,7 +46,7 @@ import "../../fetch-Ce3-WABA.js";
46
46
  import "../../ir-DdusNIqD.js";
47
47
  import "../../render-B1VqYyvo.js";
48
48
  import "../../commands-registry-CSfh9mUG.js";
49
- import { s as loadModelCatalog } from "../../runner-mwPo9ptb.js";
49
+ import { s as loadModelCatalog } from "../../runner-BWoqQvtk.js";
50
50
  import { a as getRemoteSkillEligibility, c as getSkillsSnapshotVersion } from "../../skill-commands-C54YkbC1.js";
51
51
  import "../../send-DcOWU3ju.js";
52
52
  import "../../outbound-attachment-DFH0Ktjm.js";
@@ -64,7 +64,7 @@ import crypto from "node:crypto";
64
64
  function createDefaultDeps() {
65
65
  return {
66
66
  sendMessageWhatsApp: async (...args) => {
67
- const { sendMessageWhatsApp } = await import("../../web-DYj3cPxd.js");
67
+ const { sendMessageWhatsApp } = await import("../../web-BfOMHOcy.js");
68
68
  return await sendMessageWhatsApp(...args);
69
69
  },
70
70
  sendMessageTelegram: async (...args) => {
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: bootstrap-extra-files
3
+ description: "Inject additional workspace bootstrap files via glob/path patterns"
4
+ homepage: https://docs.agdi.ai/automation/hooks#bootstrap-extra-files
5
+ metadata:
6
+ {
7
+ "agdi":
8
+ {
9
+ "emoji": "📎",
10
+ "events": ["agent:bootstrap"],
11
+ "requires": { "config": ["workspace.dir"] },
12
+ "install": [{ "id": "bundled", "kind": "bundled", "label": "Bundled with AGDI" }],
13
+ },
14
+ }
15
+ ---
16
+
17
+ # Bootstrap Extra Files Hook
18
+
19
+ Loads additional bootstrap files into `Project Context` during `agent:bootstrap`.
20
+
21
+ ## Why
22
+
23
+ Use this when your workspace has multiple context roots (for example monorepos) and
24
+ you want to include extra `AGENTS.md`/`TOOLS.md`-class files without changing the
25
+ workspace root.
26
+
27
+ ## Configuration
28
+
29
+ ```json
30
+ {
31
+ "hooks": {
32
+ "internal": {
33
+ "enabled": true,
34
+ "entries": {
35
+ "bootstrap-extra-files": {
36
+ "enabled": true,
37
+ "paths": ["packages/*/AGENTS.md", "packages/*/TOOLS.md"]
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ ## Options
46
+
47
+ - `paths` (string[]): preferred list of glob/path patterns.
48
+ - `patterns` (string[]): alias of `paths`.
49
+ - `files` (string[]): alias of `paths`.
50
+
51
+ All paths are resolved from the workspace and must stay inside it (including realpath checks).
52
+ Only recognized bootstrap basenames are loaded (`AGENTS.md`, `SOUL.md`, `TOOLS.md`,
53
+ `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`, `MEMORY.md`, `memory.md`).
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: command-logger
3
+ description: "Log all command events to a centralized audit file"
4
+ homepage: https://docs.agdi.ai/automation/hooks#command-logger
5
+ metadata:
6
+ {
7
+ "agdi":
8
+ {
9
+ "emoji": "📝",
10
+ "events": ["command"],
11
+ "install": [{ "id": "bundled", "kind": "bundled", "label": "Bundled with AGDI" }],
12
+ },
13
+ }
14
+ ---
15
+
16
+ # Command Logger Hook
17
+
18
+ Logs all command events (`/new`, `/reset`, `/stop`, etc.) to a centralized audit log file for debugging and monitoring purposes.
19
+
20
+ ## What It Does
21
+
22
+ Every time you issue a command to the agent:
23
+
24
+ 1. **Captures event details** - Command action, timestamp, session key, sender ID, source
25
+ 2. **Appends to log file** - Writes a JSON line to `~/.agdi/logs/commands.log`
26
+ 3. **Silent operation** - Runs in the background without user notifications
27
+
28
+ ## Output Format
29
+
30
+ Log entries are written in JSONL (JSON Lines) format:
31
+
32
+ ```json
33
+ {"timestamp":"2026-01-16T14:30:00.000Z","action":"new","sessionKey":"agent:main:main","senderId":"+1234567890","source":"telegram"}
34
+ {"timestamp":"2026-01-16T15:45:22.000Z","action":"stop","sessionKey":"agent:main:main","senderId":"user@example.com","source":"whatsapp"}
35
+ ```
36
+
37
+ ## Use Cases
38
+
39
+ - **Debugging**: Track when commands were issued and from which source
40
+ - **Auditing**: Monitor command usage across different channels
41
+ - **Analytics**: Analyze command patterns and frequency
42
+ - **Troubleshooting**: Investigate issues by reviewing command history
43
+
44
+ ## Log File Location
45
+
46
+ `~/.agdi/logs/commands.log`
47
+
48
+ ## Requirements
49
+
50
+ No requirements - this hook works out of the box on all platforms.
51
+
52
+ ## Configuration
53
+
54
+ No configuration needed. The hook automatically:
55
+
56
+ - Creates the log directory if it doesn't exist
57
+ - Appends to the log file (doesn't overwrite)
58
+ - Handles errors silently without disrupting command execution
59
+
60
+ ## Disabling
61
+
62
+ To disable this hook:
63
+
64
+ ```bash
65
+ agdi hooks disable command-logger
66
+ ```
67
+
68
+ Or via config:
69
+
70
+ ```json
71
+ {
72
+ "hooks": {
73
+ "internal": {
74
+ "entries": {
75
+ "command-logger": { "enabled": false }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ```
81
+
82
+ ## Log Rotation
83
+
84
+ The hook does not automatically rotate logs. To manage log size, you can:
85
+
86
+ 1. **Manual rotation**:
87
+
88
+ ```bash
89
+ mv ~/.agdi/logs/commands.log ~/.agdi/logs/commands.log.old
90
+ ```
91
+
92
+ 2. **Use logrotate** (Linux):
93
+ Create `/etc/logrotate.d/agdi`:
94
+ ```
95
+ /home/username/.agdi/logs/commands.log {
96
+ weekly
97
+ rotate 4
98
+ compress
99
+ missingok
100
+ notifempty
101
+ }
102
+ ```
103
+
104
+ ## Viewing Logs
105
+
106
+ View recent commands:
107
+
108
+ ```bash
109
+ tail -n 20 ~/.agdi/logs/commands.log
110
+ ```
111
+
112
+ Pretty-print with jq:
113
+
114
+ ```bash
115
+ cat ~/.agdi/logs/commands.log | jq .
116
+ ```
117
+
118
+ Filter by action:
119
+
120
+ ```bash
121
+ grep '"action":"new"' ~/.agdi/logs/commands.log | jq .
122
+ ```
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: session-memory
3
+ description: "Save session context to memory when /new command is issued"
4
+ homepage: https://docs.agdi.ai/automation/hooks#session-memory
5
+ metadata:
6
+ {
7
+ "agdi":
8
+ {
9
+ "emoji": "💾",
10
+ "events": ["command:new"],
11
+ "requires": { "config": ["workspace.dir"] },
12
+ "install": [{ "id": "bundled", "kind": "bundled", "label": "Bundled with AGDI" }],
13
+ },
14
+ }
15
+ ---
16
+
17
+ # Session Memory Hook
18
+
19
+ Automatically saves session context to your workspace memory when you issue the `/new` command.
20
+
21
+ ## What It Does
22
+
23
+ When you run `/new` to start a fresh session:
24
+
25
+ 1. **Finds the previous session** - Uses the pre-reset session entry to locate the correct transcript
26
+ 2. **Extracts conversation** - Reads the last N user/assistant messages from the session (default: 15, configurable)
27
+ 3. **Generates descriptive slug** - Uses LLM to create a meaningful filename slug based on conversation content
28
+ 4. **Saves to memory** - Creates a new file at `<workspace>/memory/YYYY-MM-DD-slug.md`
29
+ 5. **Sends confirmation** - Notifies you with the file path
30
+
31
+ ## Output Format
32
+
33
+ Memory files are created with the following format:
34
+
35
+ ```markdown
36
+ # Session: 2026-01-16 14:30:00 UTC
37
+
38
+ - **Session Key**: agent:main:main
39
+ - **Session ID**: abc123def456
40
+ - **Source**: telegram
41
+ ```
42
+
43
+ ## Filename Examples
44
+
45
+ The LLM generates descriptive slugs based on your conversation:
46
+
47
+ - `2026-01-16-vendor-pitch.md` - Discussion about vendor evaluation
48
+ - `2026-01-16-api-design.md` - API architecture planning
49
+ - `2026-01-16-bug-fix.md` - Debugging session
50
+ - `2026-01-16-1430.md` - Fallback timestamp if slug generation fails
51
+
52
+ ## Requirements
53
+
54
+ - **Config**: `workspace.dir` must be set (automatically configured during onboarding)
55
+
56
+ The hook uses your configured LLM provider to generate slugs, so it works with any provider (Anthropic, OpenAI, etc.).
57
+
58
+ ## Configuration
59
+
60
+ The hook supports optional configuration:
61
+
62
+ | Option | Type | Default | Description |
63
+ | ---------- | ------ | ------- | --------------------------------------------------------------- |
64
+ | `messages` | number | 15 | Number of user/assistant messages to include in the memory file |
65
+
66
+ Example configuration:
67
+
68
+ ```json
69
+ {
70
+ "hooks": {
71
+ "internal": {
72
+ "entries": {
73
+ "session-memory": {
74
+ "enabled": true,
75
+ "messages": 25
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ The hook automatically:
84
+
85
+ - Uses your workspace directory (`~/.agdi/workspace` by default)
86
+ - Uses your configured LLM for slug generation
87
+ - Falls back to timestamp slugs if LLM is unavailable
88
+
89
+ ## Disabling
90
+
91
+ To disable this hook:
92
+
93
+ ```bash
94
+ agdi hooks disable session-memory
95
+ ```
96
+
97
+ Or remove it from your config:
98
+
99
+ ```json
100
+ {
101
+ "hooks": {
102
+ "internal": {
103
+ "entries": {
104
+ "session-memory": { "enabled": false }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ ```
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-CN-qYKON.js";
5
5
  import { c as createSubsystemLogger } from "../../exec-BcVJd1-_.js";
6
6
  import "../../workspace-BhyIDsly.js";
7
7
  import "../../tokens-xvk0fv7i.js";
8
- import { K as hasInterSessionUserProvenance } from "../../pi-embedded-DFdlvxNQ.js";
8
+ import { K as hasInterSessionUserProvenance } from "../../pi-embedded-CFb93mBT.js";
9
9
  import "../../normalize-BnegWTOJ.js";
10
10
  import "../../boolean-mcn6kL0s.js";
11
11
  import "../../env-COrVDn0D.js";
@@ -14,17 +14,17 @@ import "../../accounts-BRxBc2bj.js";
14
14
  import "../../send-DWYZx6F1.js";
15
15
  import "../../plugins-YOWPemAw.js";
16
16
  import "../../send-Bx-XLKZc.js";
17
- import "../../deliver-x4ra2LhM.js";
17
+ import "../../deliver-DUH6FW-h.js";
18
18
  import "../../send-Clefr85B.js";
19
19
  import "../../image-ops-DWPqvrku.js";
20
20
  import "../../model-auth-DArMRpum.js";
21
21
  import "../../github-copilot-token-BwATwZ_L.js";
22
22
  import "../../pi-model-discovery-CvOm0Qeg.js";
23
23
  import "../../message-channel-1kjjJYPE.js";
24
- import "../../pi-embedded-helpers-C-8FnnkQ.js";
24
+ import "../../pi-embedded-helpers-DP0wnth-.js";
25
25
  import "../../config-BxWWjRcW.js";
26
26
  import "../../manifest-registry-3NDJffIO.js";
27
- import "../../chrome-H9ooxat-.js";
27
+ import "../../chrome-BUxc5HjQ.js";
28
28
  import "../../frontmatter-B1sPPll-.js";
29
29
  import "../../skills-DelwZ1-m.js";
30
30
  import "../../redact-BjQ9RIiE.js";
@@ -33,7 +33,7 @@ import "../../store-D-Y31meG.js";
33
33
  import "../../thinking-D9E0fuhq.js";
34
34
  import "../../paths-rKjBYv7e.js";
35
35
  import "../../tool-images-Bml8FY2B.js";
36
- import "../../image-StP21Jhi.js";
36
+ import "../../image-KCLvIKaC.js";
37
37
  import "../../reply-prefix-DhhMcw8Y.js";
38
38
  import "../../manager-YSFXQ3vm.js";
39
39
  import "../../sqlite-BIilK-dD.js";
@@ -45,7 +45,7 @@ import "../../fetch-Ce3-WABA.js";
45
45
  import "../../ir-DdusNIqD.js";
46
46
  import "../../render-B1VqYyvo.js";
47
47
  import "../../commands-registry-CSfh9mUG.js";
48
- import "../../runner-mwPo9ptb.js";
48
+ import "../../runner-BWoqQvtk.js";
49
49
  import "../../skill-commands-C54YkbC1.js";
50
50
  import "../../send-DcOWU3ju.js";
51
51
  import "../../outbound-attachment-DFH0Ktjm.js";
@@ -1,6 +1,6 @@
1
1
  import { U as CONFIG_DIR, Ut as resolveGatewayPort, Y as ensureDir, Yt as resolveStateDir, lt as shortenHomeInString, st as resolveUserPath, zt as resolveConfigPath } from "./entry.js";
2
2
  import { i as loadConfig } from "./config-BtO94gLM.js";
3
- import { Dt as PROTOCOL_VERSION, Ft as loadOrCreateDeviceIdentity, Nt as normalizeFingerprint, t as GatewayClient } from "./client-CE7iClBg.js";
3
+ import { Dt as PROTOCOL_VERSION, Ft as loadOrCreateDeviceIdentity, Nt as normalizeFingerprint, t as GatewayClient } from "./client-CC8zldio.js";
4
4
  import { n as pickPrimaryTailnetIPv4 } from "./tailnet-B_GvGC2l.js";
5
5
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-9yklCv_K.js";
6
6
  import { c as pickPrimaryLanIPv4 } from "./net-BdCqGqx_.js";
@@ -2,7 +2,7 @@ import { n as CHAT_CHANNEL_ORDER } from "./registry-CuLntoz5.js";
2
2
  import { t as isTruthyEnvValue } from "./env-DUo8fxPH.js";
3
3
  import { n as listChannelPlugins } from "./plugins-MwvdnOch.js";
4
4
  import { r as listChannelPluginCatalogEntries } from "./catalog-DntCerQb.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BIF4XzRR.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BKTeTjvg.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,7 +1,7 @@
1
1
  import { C as CHAT_CHANNEL_ORDER, n as isTruthyEnvValue } from "./entry.js";
2
2
  import { n as listChannelPlugins } from "./plugins-B4cKx11a.js";
3
3
  import { r as listChannelPluginCatalogEntries } from "./catalog-BZ3pJeRw.js";
4
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C9Ln37Qx.js";
4
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BFqIGpg7.js";
5
5
 
6
6
  //#region src/cli/channel-options.ts
7
7
  function dedupe(values) {
@@ -1,5 +1,5 @@
1
1
  import { E as toWhatsappJid, F as shouldLogVerbose, M as logVerbose, V as getChildLogger, h as normalizeE164, m as jidToE164, p as isSelfChatMode, r as clamp, w as sleep, y as resolveJidToE164 } from "./utils-BKveydcb.js";
2
- import { $t as shouldAckReactionForWhatsApp, Ht as computeBackoff, Jt as buildPairingReply, Mt as normalizeGroupActivation, Nt as parseActivationCommand, Qt as recordPendingHistoryEntryIfEnabled, Ut as sleepWithAbort, Xt as DEFAULT_GROUP_HISTORY_LIMIT, Yt as resolveMentionGating, Zt as buildHistoryContextFromEntries, an as createDedupeCache, cn as formatInboundEnvelope, dn as hasControlCommand, en as dispatchReplyWithBufferedBlockDispatcher, fn as shouldComputeCommandAuthorized, gn as normalizeMentionText, hn as buildMentionRegexes, ln as resolveEnvelopeFormatOptions, on as createInboundDebouncer, sn as resolveInboundDebounceMs, t as getReplyFromConfig, ur as enqueueSystemEvent } from "./reply-C5DEp-56.js";
2
+ import { $t as shouldAckReactionForWhatsApp, Ht as computeBackoff, Jt as buildPairingReply, Mt as normalizeGroupActivation, Nt as parseActivationCommand, Qt as recordPendingHistoryEntryIfEnabled, Ut as sleepWithAbort, Xt as DEFAULT_GROUP_HISTORY_LIMIT, Yt as resolveMentionGating, Zt as buildHistoryContextFromEntries, an as createDedupeCache, cn as formatInboundEnvelope, dn as hasControlCommand, en as dispatchReplyWithBufferedBlockDispatcher, fn as shouldComputeCommandAuthorized, gn as normalizeMentionText, hn as buildMentionRegexes, ln as resolveEnvelopeFormatOptions, on as createInboundDebouncer, sn as resolveInboundDebounceMs, t as getReplyFromConfig, ur as enqueueSystemEvent } from "./reply-CC_efixB.js";
3
3
  import { i as buildAgentMainSessionKey, l as normalizeAgentId, o as buildGroupHistoryKey, r as DEFAULT_MAIN_KEY } from "./session-key-CZ6OwgSB.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DadeNFAN.js";
5
5
  import { t as formatCliCommand } from "./command-format-VSTHcwJu.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Ev8I7SL0.js";
2
2
  import { B as theme, O as danger, P as setVerbose, U as getResolvedLoggerSettings, f as isRecord } from "./utils-BKveydcb.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Ft as formatUsageReportLines, Pt as loadProviderUsageSummary } from "./reply-C5DEp-56.js";
4
+ import { Ft as formatUsageReportLines, Pt as loadProviderUsageSummary } from "./reply-CC_efixB.js";
5
5
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-CZ6OwgSB.js";
6
6
  import { r as DEFAULT_CHAT_CHANNEL } from "./registry-CuLntoz5.js";
7
7
  import { f as defaultRuntime } from "./subsystem-DadeNFAN.js";
@@ -97,8 +97,8 @@ import { n as resolveMessageChannelSelection } from "./channel-selection-JszaWeI
97
97
  import "./delivery-queue-edv-vqI6.js";
98
98
  import "./daemon-aXmnEk0S.js";
99
99
  import { r as listChannelPluginCatalogEntries } from "./catalog-DntCerQb.js";
100
- import "./plugin-registry-BIF4XzRR.js";
101
- import { t as formatCliChannelOptions } from "./channel-options-Cj2Z2l_j.js";
100
+ import "./plugin-registry-BKTeTjvg.js";
101
+ import { t as formatCliChannelOptions } from "./channel-options-BxJbsezk.js";
102
102
  import "./note-C4rEYsTa.js";
103
103
  import { t as createClackPrompter } from "./clack-prompter-EKxzQeBv.js";
104
104
  import { t as resolveChannelDefaultAccountId } from "./helpers-Bidkq1e1.js";
@@ -107,7 +107,7 @@ import "./install-safe-path-vz3fSbKC.js";
107
107
  import "./npm-registry-spec-z2UqPKiy.js";
108
108
  import "./skill-scanner-DPOg50kq.js";
109
109
  import "./installs-DTCxE_Xa.js";
110
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-DQpORcVp.js";
110
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-Tk3e-q6Z.js";
111
111
  import { t as buildChannelAccountSnapshot } from "./status-C6YNwimj.js";
112
112
  import { t as parseLogLine } from "./parse-log-line-CT0H1-oQ.js";
113
113
  import { t as collectChannelStatusIssues } from "./channels-status-issues-h7UWB56H.js";
@@ -11,10 +11,10 @@ import "./frontmatter-BuqtYiY5.js";
11
11
  import "./skills-CpssLkD1.js";
12
12
  import "./manifest-registry-CbKQUFQw.js";
13
13
  import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BtO94gLM.js";
14
- import "./client-CE7iClBg.js";
15
- import { n as callGateway } from "./call-yOL9MAHO.js";
14
+ import "./client-CC8zldio.js";
15
+ import { n as callGateway } from "./call-CLd6RvG7.js";
16
16
  import "./message-channel-9yklCv_K.js";
17
- import { Bt as loadProviderUsageSummary, Vt as formatUsageReportLines } from "./subagent-registry-BspDa86d.js";
17
+ import { Bt as loadProviderUsageSummary, Vt as formatUsageReportLines } from "./subagent-registry-VxxWWLpu.js";
18
18
  import "./sessions-DKmZQl7F.js";
19
19
  import "./tokens-vdnEt1VF.js";
20
20
  import "./normalize-7I11kiq3.js";
@@ -24,17 +24,17 @@ import "./accounts-D39iGvOB.js";
24
24
  import { i as createSlackWebClient } from "./send-H2a-nt3x.js";
25
25
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-B4cKx11a.js";
26
26
  import { Q as fetchChannelPermissionsDiscord, tt as parseDiscordTarget } from "./send-zNQ7Y36R.js";
27
- import "./with-timeout-CSdDvZtb.js";
28
- import "./deliver-BLaCYV_T.js";
27
+ import "./with-timeout-CB3jrUQq.js";
28
+ import "./deliver-DPahfMoC.js";
29
29
  import "./send-BYD4U1MX.js";
30
30
  import "./mime-C9_iPCyG.js";
31
- import "./pi-embedded-helpers-BaF-1OKo.js";
32
- import "./sandbox-DPfxTEzM.js";
33
- import "./chrome-BdKSdFqQ.js";
31
+ import "./pi-embedded-helpers-DVX2nfD6.js";
32
+ import "./sandbox-QRoV7IDp.js";
33
+ import "./chrome-DSp0s1hV.js";
34
34
  import "./tailscale-DiKAvIaO.js";
35
35
  import "./auth-DmxxnIDe.js";
36
- import "./server-context-CX9muXQr.js";
37
- import "./routes-BB6LP568.js";
36
+ import "./server-context-lLA4yguq.js";
37
+ import "./routes-E8WiexN3.js";
38
38
  import "./redact-C5wI7Ob4.js";
39
39
  import "./errors-CFvaLX5j.js";
40
40
  import "./paths-BwlsRRAl.js";
@@ -62,10 +62,10 @@ import "./fetch-VaB-Yg64.js";
62
62
  import "./ir-DCqtVNAe.js";
63
63
  import "./render-CIF_SgbA.js";
64
64
  import "./commands-registry-lTenwiD2.js";
65
- import "./image-DlyOOSgS.js";
65
+ import "./image-Dvlvaagc.js";
66
66
  import "./tool-display-BYQEZQnf.js";
67
67
  import { n as formatTimeAgo } from "./format-relative-CEWK-aoC.js";
68
- import "./runner-xZpL42_b.js";
68
+ import "./runner-CEsOiYSs.js";
69
69
  import "./model-catalog-C1KIWs0t.js";
70
70
  import "./session-utils-B0CMDUCI.js";
71
71
  import "./skill-commands-DV9aPhYA.js";
@@ -73,8 +73,8 @@ import "./workspace-dirs-CjGEq0Vl.js";
73
73
  import "./pairing-store-Dpx7EOlk.js";
74
74
  import "./nodes-screen-z7mcWoZB.js";
75
75
  import "./session-cost-usage-D74aSvzF.js";
76
- import "./daemon-CFkCO10L.js";
77
- import "./control-service-Cs5ueX36.js";
76
+ import "./daemon-BFisaLMH.js";
77
+ import "./control-service-BgPd9Imk.js";
78
78
  import { n as resolveMessageChannelSelection } from "./channel-selection-Bg7IseRY.js";
79
79
  import "./send-xwAG0wZC.js";
80
80
  import "./outbound-attachment-BR5qtxVN.js";
@@ -88,8 +88,8 @@ import { t as formatDocsLink } from "./links-CUYsHvzj.js";
88
88
  import { n as runCommandWithRuntime } from "./cli-utils-CzIyxbam.js";
89
89
  import { n as withProgress } from "./progress-y1G4icso.js";
90
90
  import "./replies-B6q9Gy_3.js";
91
- import "./pi-tools.policy-BChfRga4.js";
92
- import "./onboard-helpers-BslF_KGN.js";
91
+ import "./pi-tools.policy-c6zSjB4B.js";
92
+ import "./onboard-helpers-CliiP61u.js";
93
93
  import "./prompt-style-BnmZYmhi.js";
94
94
  import "./pairing-labels-Bhb3MaTu.js";
95
95
  import { r as listChannelPluginCatalogEntries } from "./catalog-BZ3pJeRw.js";
@@ -101,12 +101,12 @@ import "./install-safe-path-BlJQqcRs.js";
101
101
  import "./npm-registry-spec-ByeJNX9s.js";
102
102
  import "./skill-scanner-y_KR7NQg.js";
103
103
  import "./installs-Cl9AyMSQ.js";
104
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-CKRkmVga.js";
104
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BLEmpWA5.js";
105
105
  import { t as buildChannelAccountSnapshot } from "./status-yrDGXYZM.js";
106
106
  import { t as parseLogLine } from "./parse-log-line-pij_xhtE.js";
107
107
  import { t as collectChannelStatusIssues } from "./channels-status-issues-ChuHog1w.js";
108
- import "./plugin-registry-C9Ln37Qx.js";
109
- import { t as formatCliChannelOptions } from "./channel-options-d34YHCeC.js";
108
+ import "./plugin-registry-BFqIGpg7.js";
109
+ import { t as formatCliChannelOptions } from "./channel-options-C-8eeuhN.js";
110
110
  import { t as hasExplicitOptions } from "./command-options-DOr6ATcp.js";
111
111
  import fs from "node:fs/promises";
112
112
 
@@ -9,7 +9,7 @@ import { execFileSync, spawn } from "node:child_process";
9
9
  import { randomBytes } from "node:crypto";
10
10
  import net from "node:net";
11
11
  import { createServer } from "node:http";
12
- import WebSocket, { WebSocketServer } from "ws";
12
+ import WebSocket$1, { WebSocketServer } from "ws";
13
13
  import { Buffer as Buffer$1 } from "node:buffer";
14
14
 
15
15
  //#region src/browser/constants.ts
@@ -175,7 +175,7 @@ async function ensureChromeExtensionRelayServer(opts) {
175
175
  let nextExtensionId = 1;
176
176
  const sendToExtension = async (payload) => {
177
177
  const ws = extensionWs;
178
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
178
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
179
179
  ws.send(JSON.stringify(payload));
180
180
  return await new Promise((resolve, reject) => {
181
181
  const timer = setTimeout(() => {
@@ -192,12 +192,12 @@ async function ensureChromeExtensionRelayServer(opts) {
192
192
  const broadcastToCdpClients = (evt) => {
193
193
  const msg = JSON.stringify(evt);
194
194
  for (const ws of cdpClients) {
195
- if (ws.readyState !== WebSocket.OPEN) continue;
195
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
196
196
  ws.send(msg);
197
197
  }
198
198
  };
199
199
  const sendResponseToCdp = (ws, res) => {
200
- if (ws.readyState !== WebSocket.OPEN) return;
200
+ if (ws.readyState !== WebSocket$1.OPEN) return;
201
201
  ws.send(JSON.stringify(res));
202
202
  };
203
203
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -418,7 +418,7 @@ async function ensureChromeExtensionRelayServer(opts) {
418
418
  extensionWs = ws;
419
419
  let lastSeenAt = Date.now();
420
420
  const ping = setInterval(() => {
421
- if (ws.readyState !== WebSocket.OPEN) return;
421
+ if (ws.readyState !== WebSocket$1.OPEN) return;
422
422
  if (Date.now() - lastSeenAt > extensionIdleTimeoutMs) {
423
423
  try {
424
424
  ws.close(1011, "extension idle timeout");
@@ -740,7 +740,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
740
740
  }
741
741
  async function withCdpSocket(wsUrl, fn, opts) {
742
742
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
743
- const ws = new WebSocket(wsUrl, {
743
+ const ws = new WebSocket$1(wsUrl, {
744
744
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
745
745
  ...Object.keys(headers).length ? { headers } : {}
746
746
  });
@@ -1595,7 +1595,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1595
1595
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1596
1596
  return await new Promise((resolve) => {
1597
1597
  const headers = getHeadersWithAuth(wsUrl);
1598
- const ws = new WebSocket(wsUrl, {
1598
+ const ws = new WebSocket$1(wsUrl, {
1599
1599
  handshakeTimeout: timeoutMs,
1600
1600
  ...Object.keys(headers).length ? { headers } : {}
1601
1601
  });