@nikolasp98/minion 2026.7.12-dev.20260717012629 → 2026.7.16-dev

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 (436) hide show
  1. package/dist/{_registry.generated-CsDwKqbj.js → _registry.generated-B5zHyziR.js} +55 -19
  2. package/dist/{_registry.generated-Bf3ymIWb.js → _registry.generated-C3zYJ6On.js} +55 -19
  3. package/dist/{_registry.generated-CNf4nYSA.js → _registry.generated-DKC2RDUo.js} +55 -19
  4. package/dist/{accounts-B7ml53Ys.js → accounts-BwLt-V29.js} +1 -1
  5. package/dist/{accounts-D4dBjkdJ.js → accounts-CJf7velm.js} +1 -1
  6. package/dist/{accounts-CDifKOa5.js → accounts-DZ-7pWtI.js} +1 -1
  7. package/dist/{accounts-CJ54_EYq.js → accounts-vA22MiLu.js} +1 -1
  8. package/dist/{acp-cli-DG6f4Jao.js → acp-cli-DCCSn5NL.js} +4 -4
  9. package/dist/{acp-cli-DMIGuEja.js → acp-cli-wKQfGJIA.js} +4 -4
  10. package/dist/{agent-BzAtsKoj.js → agent-BvFdXWhL.js} +12 -12
  11. package/dist/{agent-vOBNNEUm.js → agent-DaBGbCfi.js} +11 -11
  12. package/dist/{agent-step-BzczgcBW.js → agent-step-BCSCZOB-.js} +3 -3
  13. package/dist/{agent-step-DAXo3AND.js → agent-step-CgJNQPZ8.js} +3 -3
  14. package/dist/{agents-CkHaALu1.js → agents-CGJzMj2S.js} +8 -8
  15. package/dist/{agents-list-tool-h0YontT9.js → agents-list-tool-C93hCbLj.js} +3 -3
  16. package/dist/{agents-list-tool-DZYlXoEu.js → agents-list-tool-Cd_Q7HuV.js} +3 -3
  17. package/dist/{agents-list-tool-C8z1M3vP.js → agents-list-tool-SNOunDVC.js} +3 -3
  18. package/dist/{audit-DFazpU7u.js → audit-CftXdiYP.js} +12 -12
  19. package/dist/{audit-DAd-GODJ.js → audit-D9GAKieT.js} +12 -12
  20. package/dist/{auth-choice-BWy0ncH4.js → auth-choice-DKtOuFks.js} +4 -4
  21. package/dist/{auth-choice-BqTjvTu_.js → auth-choice-dbpaxkks.js} +4 -4
  22. package/dist/{banner-fb9sKyTG.js → banner-B-uaqlJ9.js} +1 -1
  23. package/dist/{browser-cli-Dgym9Pss.js → browser-cli-BhqYEW3P.js} +3 -3
  24. package/dist/{browser-cli-NlqZe4Ya.js → browser-cli-DZrCLNaa.js} +3 -3
  25. package/dist/{browser-tool-9WO6zBb1.js → browser-tool-BWAVW295.js} +7 -7
  26. package/dist/{browser-tool-B8mfIisN.js → browser-tool-DErZM1k2.js} +7 -7
  27. package/dist/{browser-tool-B9ovj5p-.js → browser-tool-DjCmhgOb.js} +7 -7
  28. package/dist/build-info.json +3 -3
  29. package/dist/bundled/boot-md/handler.js +153 -10
  30. package/dist/bundled/kg-message-sync/handler.js +2 -1
  31. package/dist/bundled/session-memory/handler.js +33 -0
  32. package/dist/{call-ZqMa-gJE.js → call-BWSchIcf.js} +3 -3
  33. package/dist/{call-Bak9BEaV.js → call-DHo0XdK6.js} +2 -11
  34. package/dist/{call-HrC4j982.js → call-DQ1ciEPz.js} +3 -3
  35. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  36. package/dist/{canvas-tool-DfHPvEBP.js → canvas-tool-BneFVxD8.js} +2 -2
  37. package/dist/{canvas-tool-DBXhD6tC.js → canvas-tool-DeJaejKM.js} +2 -2
  38. package/dist/{canvas-tool-BuPplKr1.js → canvas-tool-Ogd2OChc.js} +2 -2
  39. package/dist/{channel-options-BlbC4hoP.js → channel-options-D8AdMco0.js} +2 -2
  40. package/dist/{channel-options-Djd8KDTO.js → channel-options-DjEmC0qR.js} +2 -2
  41. package/dist/{channel-selection-rfZAntR5.js → channel-selection-1nQ35zxv.js} +1 -1
  42. package/dist/{channel-selection-DFlpx-HQ.js → channel-selection-wHLAe5Et.js} +1 -1
  43. package/dist/{channel-web-DOEUixG-.js → channel-web-DRfE9BO9.js} +12 -12
  44. package/dist/{channels-cli-BJXid8X2.js → channels-cli-B2WLqWbi.js} +13 -13
  45. package/dist/{channels-cli-URtGha3o.js → channels-cli-DWxvR4dU.js} +13 -13
  46. package/dist/{channels-status-issues-C0kIpkF7.js → channels-status-issues-8gZwCTjP.js} +1 -1
  47. package/dist/{channels-status-issues-DaiYEqAS.js → channels-status-issues-CE1BlXu3.js} +1 -1
  48. package/dist/{chrome-D_76HZyF.js → chrome-BA0Rm2cQ.js} +2 -2
  49. package/dist/{chrome-DuRehNFS.js → chrome-CQYa8Qpn.js} +2 -2
  50. package/dist/{chrome-BRzE-LJY.js → chrome-Cm9IFEur.js} +2 -2
  51. package/dist/{clawbot-cli-66rOShMF.js → clawbot-cli-00xvHy61.js} +1 -1
  52. package/dist/{clawbot-cli-hq1Rw3L6.js → clawbot-cli-BBjE2ol-.js} +1 -1
  53. package/dist/cli/daemon-cli.js +1 -1
  54. package/dist/{cli-BkuiwObq.js → cli-CgVsnrl6.js} +3 -3
  55. package/dist/{cli-BHAgh8CB.js → cli-CtGu18f6.js} +3 -3
  56. package/dist/{client-B0-4D6WF.js → client-2fZQKc2l.js} +5 -5
  57. package/dist/{client-UbK7ubLT.js → client-4u1JH1Zk.js} +0 -9
  58. package/dist/{client-D1WALv-l.js → client-B8GOknl-.js} +5 -5
  59. package/dist/{client-BytZEJbm.js → client-D-ZPTrtK.js} +5 -5
  60. package/dist/{client-BYzTMaoO.js → client-W3BYtITQ.js} +0 -9
  61. package/dist/{command-registry-CfWB1hdH.js → command-registry-B5mckc9m.js} +14 -14
  62. package/dist/{commands-registry-BlyGFCSk.js → commands-registry-DJs-edcv.js} +2 -2
  63. package/dist/{commands-registry-C2WcVGlB.js → commands-registry-qRRu3RMk.js} +2 -2
  64. package/dist/{completion-cli-tqqS0a94.js → completion-cli-BXTewelZ.js} +2 -2
  65. package/dist/{completion-cli-Df0qaL-8.js → completion-cli-BcPY11gL.js} +1 -1
  66. package/dist/{config-Cv9wgnm3.js → config-BerwgOPM.js} +2 -2
  67. package/dist/{config-Cl99ZT5K.js → config-BrDW75c2.js} +2 -2
  68. package/dist/{config-jWZyRZCZ.js → config-DPP0lwsZ.js} +1 -1
  69. package/dist/{config-cli-CYLtsJxS.js → config-cli-CDhIjQc_.js} +4 -4
  70. package/dist/{config-cli-B5jOL0sJ.js → config-cli-CS88lrpx.js} +4 -4
  71. package/dist/{config-guard-CmMZyP8A.js → config-guard-CdCd4lGu.js} +3 -3
  72. package/dist/{config-guard-l4pi5ua5.js → config-guard-DeZ33UWP.js} +3 -3
  73. package/dist/{config-validation-Den1ytQw.js → config-validation-CL0L0Dyf.js} +2 -2
  74. package/dist/{config-validation-CLa17eM9.js → config-validation-txBaIaqO.js} +2 -2
  75. package/dist/{configure-Iq4PQCTT.js → configure-Bg10bnTk.js} +16 -16
  76. package/dist/{configure-DSS4L9Mq.js → configure-D5oM27Go.js} +16 -16
  77. package/dist/{control-service-yE-yJe9a.js → control-service-C369Rxs0.js} +6 -6
  78. package/dist/{control-service-C7eTLrXZ.js → control-service-DIbEfWbr.js} +6 -6
  79. package/dist/crm-conversation-themes-tool-47-Pcl5J.js +37 -0
  80. package/dist/crm-conversation-themes-tool-COuQB3TU.js +37 -0
  81. package/dist/crm-conversation-themes-tool-DB8zQpU1.js +37 -0
  82. package/dist/{cron-cli-D6wEIJaf.js → cron-cli-CsVKtwB8.js} +2 -2
  83. package/dist/{cron-cli-CQ94l2uK.js → cron-cli-Dddt4cu1.js} +2 -2
  84. package/dist/{cron-tool-UCuWE7ej.js → cron-tool-BWM-ykso.js} +5 -5
  85. package/dist/{cron-tool-NSfa1aQw.js → cron-tool-CD3kXNpT.js} +5 -5
  86. package/dist/{cron-tool-DbqPDo0E.js → cron-tool-CaMrrFJF.js} +5 -5
  87. package/dist/{daemon-cli-8SASjlXZ.js → daemon-cli-CAgHOWp8.js} +9 -9
  88. package/dist/{daemon-cli-RcyTg_dK.js → daemon-cli-yrlA9L0h.js} +9 -9
  89. package/dist/daemon-cli.js +2 -10
  90. package/dist/daemon-install-helpers-Dwlr417c.js +2 -0
  91. package/dist/daemon-install-helpers-Khda5myS.js +2 -0
  92. package/dist/{daemon-runtime-BhDDZrXa.js → daemon-runtime-C0_5HhUZ.js} +1 -1
  93. package/dist/{daemon-runtime-CAiL2S2s.js → daemon-runtime-CZXX_eXt.js} +1 -1
  94. package/dist/{deliver-B1Y0N_1y.js → deliver-BUifEj0F.js} +4 -4
  95. package/dist/{deliver-CSoS2hSJ.js → deliver-DJHcrP_i.js} +5 -5
  96. package/dist/{deliver-CUJiWM35.js → deliver-O2dLDnLg.js} +4 -4
  97. package/dist/{deps-D9Ntzz9k.js → deps-i_B9izvk.js} +7 -7
  98. package/dist/{devices-cli-Bipcftov.js → devices-cli-B9OXRt0t.js} +1 -1
  99. package/dist/{devices-cli-BRJy3IY1.js → devices-cli-DAcSoXi5.js} +1 -1
  100. package/dist/{directory-cli-8BQHC04L.js → directory-cli-kxPXkKog.js} +4 -4
  101. package/dist/{directory-cli-_WM5bP6W.js → directory-cli-t11V_DDe.js} +4 -4
  102. package/dist/{dispatcher-CtHTDVaN.js → dispatcher-CvddQmnF.js} +1 -1
  103. package/dist/{dispatcher-988hS7Ae.js → dispatcher-Dt_9aSBz.js} +1 -1
  104. package/dist/{dm-policy-shared-CfyAqELR.js → dm-policy-shared-Df7eGBuI.js} +2 -2
  105. package/dist/{dm-policy-shared-CppG0CX8.js → dm-policy-shared-DyFNKOIs.js} +2 -2
  106. package/dist/{dns-cli-DCgy52JG.js → dns-cli-CuxJhzIr.js} +2 -2
  107. package/dist/{dns-cli-DbqXCKNP.js → dns-cli-D-xNNWBy.js} +2 -2
  108. package/dist/doctor-completion-B-tgL_ut.js +2 -0
  109. package/dist/{doctor-completion-BPELnU8c.js → doctor-completion-D1cLVgnw.js} +1 -1
  110. package/dist/doctor-completion-DvEGPvIT.js +2 -0
  111. package/dist/{doctor-completion-DWJ2fJLm.js → doctor-completion-rfyVqz7I.js} +1 -1
  112. package/dist/{doctor-config-flow-Duw53q8X.js → doctor-config-flow-C2p3v-cC.js} +6 -6
  113. package/dist/{doctor-config-flow-9obFC4B6.js → doctor-config-flow-D6uaIY8F.js} +6 -6
  114. package/dist/entry.js +1 -1
  115. package/dist/{exec-approvals-cli-DnEDMEl_.js → exec-approvals-cli-CYxKrRPS.js} +2 -2
  116. package/dist/{exec-approvals-cli-bG-2V8IK.js → exec-approvals-cli-CaGKwCkP.js} +2 -2
  117. package/dist/extensionAPI.d.ts +11 -0
  118. package/dist/extensionAPI.js +2 -2
  119. package/dist/{gateway-CsUP-93u.js → gateway-DpUea-L8.js} +3 -3
  120. package/dist/{gateway-CHEg4jKw.js → gateway-DyaIYiPf.js} +3 -3
  121. package/dist/{gateway-CcEXool4.js → gateway-RMd15lxN.js} +3 -3
  122. package/dist/{gateway-cli-CLUd67zt.js → gateway-cli-1dY-uNhm.js} +125 -77
  123. package/dist/{gateway-cli-BaxymLId.js → gateway-cli-n18LFNeU.js} +124 -76
  124. package/dist/{gateway-rpc-COQ8FqPA.js → gateway-rpc-BaD9gDWy.js} +1 -1
  125. package/dist/{gateway-rpc-BqUEmI86.js → gateway-rpc-C3LLjyGe.js} +1 -1
  126. package/dist/{gateway-tool-CLJLs_eO.js → gateway-tool-BAdp6SH1.js} +3 -3
  127. package/dist/{gateway-tool-DIlC2Nw9.js → gateway-tool-kRxmsmMz.js} +3 -3
  128. package/dist/{gateway-tool-CMZ7JFSi.js → gateway-tool-sHQ43WtK.js} +3 -3
  129. package/dist/{github-copilot-auth-DSN2t-MD.js → github-copilot-auth-C6LhCOk3.js} +2 -2
  130. package/dist/{github-copilot-auth-DEKfsNig.js → github-copilot-auth-VK12SD5f.js} +2 -2
  131. package/dist/{gmail-C0H3lnho.js → gmail-89acEtXH.js} +1 -1
  132. package/dist/{gmail-BWzWyuEC.js → gmail-tGz-kYHa.js} +1 -1
  133. package/dist/{health-BOLotDVI.js → health-8oE9qNSE.js} +10 -10
  134. package/dist/{health-n09fR4uF.js → health-CYE5q8Un.js} +10 -10
  135. package/dist/{heartbeat-events-DLgkBgdw.js → heartbeat-events-C2_9-jxQ.js} +2 -1
  136. package/dist/{heartbeat-events-CNb7CXLY.js → heartbeat-events-D-wmX2Vg.js} +2 -1
  137. package/dist/{helpers-u2p1CEdY.js → helpers-CNcaAdSH.js} +1 -1
  138. package/dist/{helpers-wYqnVV1l.js → helpers-bG_wfee1.js} +1 -1
  139. package/dist/{hooks-cli-BChX0GfN.js → hooks-cli-CB_KzY16.js} +2 -2
  140. package/dist/{hooks-cli-BsiKHy2j.js → hooks-cli-CEnzt4Dn.js} +2 -2
  141. package/dist/{host-D_jlsIB_.js → host-Ck1Iu5db.js} +33 -0
  142. package/dist/{host-w2pX4Cmj.js → host-FOFn61kz.js} +33 -0
  143. package/dist/{image-tool-DPs5GOo0.js → image-tool-CEjIXfAz.js} +2 -2
  144. package/dist/{image-tool-KquG28S1.js → image-tool-DA0ckrPq.js} +1 -1
  145. package/dist/{image-tool-B64cWBbG.js → image-tool-OiDWYqmY.js} +2 -2
  146. package/dist/index.d.ts +11 -0
  147. package/dist/index.js +10 -10
  148. package/dist/{io-_W2ysx6z.js → io-6cqme3no.js} +2 -2
  149. package/dist/{io-DL2AoOm6.js → io-7MYBxUkU.js} +2 -2
  150. package/dist/{io-CHxJ2IV9.js → io-D8w0m4e7.js} +2 -1
  151. package/dist/{ir-C_pqBx9f.js → ir-BPZJ-sfR.js} +1 -1
  152. package/dist/{ir-CQ_IDLBh.js → ir-BhnJmnK_.js} +5 -5
  153. package/dist/{ir-De8voDFg.js → ir-CdlSkzAy.js} +1 -1
  154. package/dist/{lifecycle-core-D-4LcacU.js → lifecycle-core-Dmy-67JO.js} +3 -3
  155. package/dist/{lifecycle-core-Dv7iETEh.js → lifecycle-core-DwiJf6GO.js} +3 -3
  156. package/dist/llm-slug-generator.js +33 -0
  157. package/dist/{load-tools-tool-ty4HlT93.js → load-tools-tool-CK9n4dpv.js} +3 -3
  158. package/dist/{load-tools-tool-BYrsmdJA.js → load-tools-tool-DVMiLHnV.js} +3 -3
  159. package/dist/{load-tools-tool-D-t6Uyow.js → load-tools-tool-jvr9ELiC.js} +3 -3
  160. package/dist/{logs-cli-D0f9ClNf.js → logs-cli-DYkz_Y2b.js} +2 -2
  161. package/dist/{logs-cli-DQcLuVDk.js → logs-cli-y33n6Plb.js} +2 -2
  162. package/dist/{memory-cli-DJz45LiT.js → memory-cli-CchSD5_M.js} +3 -3
  163. package/dist/{memory-cli-B-kgMpE9.js → memory-cli-DWeZSF4O.js} +3 -3
  164. package/dist/{message-action-runner-WAH6Nx_E.js → message-action-runner-BJzBMfAN.js} +11 -11
  165. package/dist/{message-action-runner-CrnI7zJF.js → message-action-runner-aRJaOp3h.js} +11 -11
  166. package/dist/{message-ledger-DGMqKFzT.js → message-ledger-DmX8k7Eb.js} +6 -6
  167. package/dist/{message-tool-BP7sus2D.js → message-tool-BT_lShXP.js} +6 -6
  168. package/dist/{message-tool-DJ4XAozg.js → message-tool-CJ2k9G2X.js} +6 -6
  169. package/dist/{message-tool-C4ivxq_1.js → message-tool-DkxTGNJ_.js} +9 -9
  170. package/dist/{minion-tools-DR8Fp8tP.js → minion-tools-CEQNyDLo.js} +22 -20
  171. package/dist/{model-catalog-DU-4NufX.js → model-catalog-Dun9rUwm.js} +3 -3
  172. package/dist/{model-catalog-DmPKIRh-.js → model-catalog-RhTD2XJY.js} +3 -3
  173. package/dist/{model-fallback-D6SvylPa.js → model-fallback-Cm3Tv0In.js} +2 -2
  174. package/dist/{model-fallback-DjjhedHX.js → model-fallback-CrSemKRh.js} +2 -2
  175. package/dist/{model-fallback-BIWcF5BS.js → model-fallback-uwtaor8f.js} +4 -4
  176. package/dist/{model-picker-CdMq6Dy8.js → model-picker-C_UhEF-R.js} +2 -2
  177. package/dist/{model-picker-CUVKlLlc.js → model-picker-D7OvwR5Y.js} +2 -2
  178. package/dist/{models-CDsotXJU.js → models-DEvrTY5o.js} +12 -12
  179. package/dist/{models-cli-DgOgLS1i.js → models-cli-BBuPQES6.js} +2 -2
  180. package/dist/{models-cli-BVnIdzK_.js → models-cli-DsDVKG2f.js} +12 -12
  181. package/dist/{models-config-8eBWJPY6.js → models-config-DTMIOONu.js} +2 -2
  182. package/dist/{models-config-Ca7_3EVB.js → models-config-pB1nNFSi.js} +2 -2
  183. package/dist/{node-cli-BVFcL7al.js → node-cli-Cdp1_fUq.js} +9 -9
  184. package/dist/{node-cli-DuEWn_K5.js → node-cli-DsU_QUTE.js} +9 -9
  185. package/dist/{nodes-cli-BB-4JVQ9.js → nodes-cli-B4oX5uNL.js} +5 -5
  186. package/dist/{nodes-cli-BV5htTim.js → nodes-cli-CKkuvp7a.js} +5 -5
  187. package/dist/{nodes-tool-DNk_iGvq.js → nodes-tool-C9NV_GnB.js} +3 -3
  188. package/dist/{nodes-tool-D9D8rWHz.js → nodes-tool-CTpJ5fug.js} +3 -3
  189. package/dist/{nodes-tool-VT3uXXFG.js → nodes-tool-sKJc-Yjj.js} +3 -3
  190. package/dist/{nodes-utils-Bwt9VQrQ.js → nodes-utils-CFmLuU06.js} +1 -1
  191. package/dist/{nodes-utils-hu5DJ-kd.js → nodes-utils-CkQsT0N0.js} +1 -1
  192. package/dist/{nodes-utils-DGkb5nAT.js → nodes-utils-DNMhzvVb.js} +1 -1
  193. package/dist/{onboard-2ztWbC9y.js → onboard-V7JyPJex.js} +9 -9
  194. package/dist/{onboard-channels-BQPYIAjI.js → onboard-channels-BDfxpK7n.js} +1 -1
  195. package/dist/{onboard-channels-DVkwLCVk.js → onboard-channels-CmC3qBbq.js} +3 -3
  196. package/dist/{onboard-channels-CiCrqf3j.js → onboard-channels-CzKarfzC.js} +1 -1
  197. package/dist/{onboard-channels-DrLduhDq.js → onboard-channels-yUQOZPgP.js} +3 -3
  198. package/dist/{onboard-custom-Bg1Gr0Lb.js → onboard-custom-BDM5_y2p.js} +2 -2
  199. package/dist/{onboard-custom-Dj7SknXG.js → onboard-custom-BvfApkVd.js} +1 -1
  200. package/dist/{onboard-custom-L6PmxwEN.js → onboard-custom-CfZMfUJ3.js} +1 -1
  201. package/dist/{onboard-custom-C3VrRkQU.js → onboard-custom-CmwY-IfM.js} +2 -2
  202. package/dist/{onboard-helpers-98Ab25-x.js → onboard-helpers-BE_18443.js} +1 -1
  203. package/dist/{onboard-helpers-Ckl5HK9L.js → onboard-helpers-CekhN2Dt.js} +5 -5
  204. package/dist/{onboard-helpers-Dx0nCBj-.js → onboard-helpers-DfEvL7Eo.js} +1 -1
  205. package/dist/{onboard-helpers-CWZOB3ci.js → onboard-helpers-gS7HQOeH.js} +5 -5
  206. package/dist/{onboard-remote-ngZhsiae.js → onboard-remote-CEWlSso0.js} +1 -1
  207. package/dist/{onboard-remote-Cl8bKHYI.js → onboard-remote-aQfExF92.js} +1 -1
  208. package/dist/{onboard-BM4TgJ6r.js → onboard-rqIA9EXQ.js} +9 -9
  209. package/dist/{onboard-skills-fAHH7Gyd.js → onboard-skills-75JQVISV.js} +1 -1
  210. package/dist/{onboard-skills-Qg53Hbwm.js → onboard-skills-BSGpQX_t.js} +1 -1
  211. package/dist/{onboarding-C5nm_X1A.js → onboarding-BNfuRC7v.js} +12 -12
  212. package/dist/{onboarding-D8RZyRch.js → onboarding-IiILUaqA.js} +12 -12
  213. package/dist/{onboarding.finalize-Bd8kpm5F.js → onboarding.finalize-D2iRalHn.js} +9 -9
  214. package/dist/{onboarding.finalize-BVBgWbsD.js → onboarding.finalize-T1iu9hW_.js} +9 -9
  215. package/dist/{onboarding.gateway-config-Bdb5Z5Aw.js → onboarding.gateway-config-DPJvhCxG.js} +2 -2
  216. package/dist/{onboarding.gateway-config-CQIiKPZZ.js → onboarding.gateway-config-W1qUrMi_.js} +2 -2
  217. package/dist/{outbound-send-deps-DrcbV6tD.js → outbound-send-deps-_gwXpS3X.js} +7 -7
  218. package/dist/{pairing-cli-CcnxCBHt.js → pairing-cli-DOVP6x__.js} +4 -4
  219. package/dist/{pairing-cli-st8U6EcM.js → pairing-cli-DZQ0VISz.js} +4 -4
  220. package/dist/{pairing-store-BZ_JYBuQ.js → pairing-store-BP5Qp69V.js} +2 -2
  221. package/dist/{pairing-store-B79S_0_e.js → pairing-store-CNDIY_e9.js} +2 -2
  222. package/dist/{pi-embedded-helpers-DomoDW6C.js → pi-embedded-helpers-CAos7nyg.js} +6 -6
  223. package/dist/{pi-embedded-helpers-Crzl9Ptt.js → pi-embedded-helpers-CJQRe8VG.js} +1 -1
  224. package/dist/{pi-embedded-helpers-Dy2o4GJU.js → pi-embedded-helpers-Dt84Vt0L.js} +1 -1
  225. package/dist/{pi-embedded-utils-W20xojsQ.js → pi-embedded-utils-BlYe4un1.js} +1 -1
  226. package/dist/{pi-embedded-utils-Dov_1wrm.js → pi-embedded-utils-C3czix2Z.js} +1 -1
  227. package/dist/{pi-embedded-utils-C9Ig6x5H.js → pi-embedded-utils-CnKLZQZs.js} +1 -1
  228. package/dist/{pi-tools.policy-ZOYo3MOw.js → pi-tools.policy-DClWWLv0.js} +4 -4
  229. package/dist/{plugin-auto-enable-DJVuPnPD.js → plugin-auto-enable-2zVKrpSR.js} +1 -1
  230. package/dist/{plugin-auto-enable-pxHX0maS.js → plugin-auto-enable-BFqsBeiO.js} +1 -1
  231. package/dist/{plugin-registry-BdA8bkkg.js → plugin-registry-B8Ol763b.js} +3 -3
  232. package/dist/{plugin-registry-BcUcYmaR.js → plugin-registry-DqZ7qJuj.js} +3 -3
  233. package/dist/plugin-sdk/agents/tools/hub/crm-conversation-themes-tool.d.ts +11 -0
  234. package/dist/plugin-sdk/agents/tools/hub/search-crm-conversations-tool.d.ts +11 -0
  235. package/dist/plugin-sdk/channels/discord.js +153 -10
  236. package/dist/plugin-sdk/channels/imessage.js +153 -10
  237. package/dist/plugin-sdk/channels/line.js +153 -10
  238. package/dist/plugin-sdk/channels/signal.js +153 -10
  239. package/dist/plugin-sdk/channels/slack.js +153 -10
  240. package/dist/plugin-sdk/channels/telegram.js +153 -10
  241. package/dist/plugin-sdk/channels/whatsapp.js +153 -10
  242. package/dist/plugin-sdk/config/types.channels.d.ts +11 -0
  243. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
  244. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +1 -0
  245. package/dist/plugin-sdk/core.js +2 -1
  246. package/dist/plugin-sdk/gateway/client.d.ts +0 -5
  247. package/dist/plugin-sdk/index.js +153 -10
  248. package/dist/plugin-sdk/personal-agent/credential-client.d.ts +6 -3
  249. package/dist/{plugins-aBgm3_eG.js → plugins-BSX3IzSW.js} +1 -1
  250. package/dist/{plugins-ILaNu51h.js → plugins-BbE87x_i.js} +1 -1
  251. package/dist/{plugins-DIMPP-zl.js → plugins-Db3l--Iv.js} +1 -1
  252. package/dist/{plugins-cli-z0673Z22.js → plugins-cli-Do_2x-P9.js} +3 -3
  253. package/dist/{plugins-cli-DMXOjGN9.js → plugins-cli-sYIckkU6.js} +3 -3
  254. package/dist/{program-CYyifeuZ.js → program-DuPIc0CA.js} +7 -7
  255. package/dist/{program-context-DzIbU0bj.js → program-context-Butv-q95.js} +42 -42
  256. package/dist/{prompt-select-styled-DE_9eTX0.js → prompt-select-styled-BExVeXb2.js} +18 -18
  257. package/dist/{prompt-select-styled-BI5heXfT.js → prompt-select-styled-Cp4tJmDm.js} +18 -18
  258. package/dist/{push-apns-CEfyUVQq.js → push-apns-Bxplfna8.js} +1 -31
  259. package/dist/{push-apns-D-ADx4p9.js → push-apns-a42ldGL8.js} +1 -31
  260. package/dist/{pw-ai-BkVKdYxH.js → pw-ai-CYHslBvW.js} +2 -2
  261. package/dist/{pw-ai-B6aEpQIL.js → pw-ai-CuhAAfak.js} +2 -2
  262. package/dist/{pw-ai-1AjpMjvn.js → pw-ai-DQg5o_dq.js} +2 -2
  263. package/dist/{pw-session-CwDrqroL.js → pw-session-CE6GP8K2.js} +1 -1
  264. package/dist/{pw-session-BTG9qS_z.js → pw-session-DllHustd.js} +1 -1
  265. package/dist/{pw-session-DOTM4Sle.js → pw-session-UBu8_Nno.js} +1 -1
  266. package/dist/{qr-cli-FqFw51_J.js → qr-cli-BCZv2_hI.js} +2 -2
  267. package/dist/{qr-cli-D38LRTOG.js → qr-cli-DX6_VGoE.js} +2 -2
  268. package/dist/{register.agent-CD9wHycm.js → register.agent-BxjtbKDH.js} +7 -7
  269. package/dist/{register.agent-BYrXMCEF.js → register.agent-DWJIWMVU.js} +12 -12
  270. package/dist/{register.channel-B9Mw_26i.js → register.channel-BDuMmK1a.js} +2 -2
  271. package/dist/{register.channel-fZE2JOS9.js → register.channel-C_DXxr7c.js} +2 -2
  272. package/dist/{register.configure-Dqmb6Fqp.js → register.configure-B_XY4Rl7.js} +1 -1
  273. package/dist/{register.configure-C8kMa4VY.js → register.configure-kQKEsyRt.js} +1 -1
  274. package/dist/{register.drone-DX5m_SKw.js → register.drone-B2YlfnxU.js} +2 -2
  275. package/dist/{register.drone-DyOcUxfl.js → register.drone-BEaZQLpQ.js} +2 -2
  276. package/dist/{register.maintenance-3MNrjbFd.js → register.maintenance-BzbQEwcr.js} +5 -5
  277. package/dist/{register.maintenance-CuxgtPmA.js → register.maintenance-x4QqUEAs.js} +5 -5
  278. package/dist/{register.message-BaCQuwDe.js → register.message-C-HGH6ro.js} +7 -7
  279. package/dist/{register.message-D0inC6JU.js → register.message-erSrrSy8.js} +7 -7
  280. package/dist/{register.onboard-CtZogYsE.js → register.onboard-DtSasogy.js} +1 -1
  281. package/dist/{register.onboard-CkI-ZPxt.js → register.onboard-RztK81fK.js} +1 -1
  282. package/dist/{register.setup-BCAqb9nl.js → register.setup-CNKwjRf3.js} +4 -4
  283. package/dist/{register.setup-CvTBTBJL.js → register.setup-CU4oyWQN.js} +4 -4
  284. package/dist/{register.status-health-sessions-BCca16t9.js → register.status-health-sessions-C4MLusee.js} +6 -6
  285. package/dist/{register.status-health-sessions-CGSIqPsZ.js → register.status-health-sessions-CaPTa3NI.js} +3 -3
  286. package/dist/{register.subclis-avuYre6I.js → register.subclis-Q6q9ktLa.js} +29 -29
  287. package/dist/{reply-CMo5_5nQ.js → reply-pajA-Yl6.js} +33 -31
  288. package/dist/{reply-payloads-C5viTd5m.js → reply-payloads-BlZu5x6x.js} +6 -6
  289. package/dist/{reply-prefix-BqPoLwgX.js → reply-prefix-C2RVZSgb.js} +1 -1
  290. package/dist/{reply-prefix-C_4_2_tQ.js → reply-prefix-g25aWRqJ.js} +1 -1
  291. package/dist/{resolve-route-B8qAtRTs.js → resolve-route-DQ7BIAU_.js} +2 -2
  292. package/dist/{resolve-route-Dr04XQXF.js → resolve-route-yooa1z42.js} +4 -4
  293. package/dist/{routes-CSewHf9L.js → routes-C5NVLNYd.js} +4 -4
  294. package/dist/{routes-COyjqFSx.js → routes-C9bf1VtT.js} +4 -4
  295. package/dist/{rpc-Bps1MdYe.js → rpc-BXk0xG0H.js} +1 -1
  296. package/dist/{rpc-U0uJ0I1k.js → rpc-CRCwztMb.js} +1 -1
  297. package/dist/{run-main-CeWSzBJg.js → run-main-BdLBIyiP.js} +19 -19
  298. package/dist/{sandbox-DVJQM86_.js → sandbox-DLtSFsnF.js} +7 -7
  299. package/dist/{sandbox-CITm9v8F.js → sandbox-DQ8PqB1U.js} +7 -7
  300. package/dist/{sandbox-cli-DGeuI0Wo.js → sandbox-cli-BoxfOIvp.js} +4 -4
  301. package/dist/{sandbox-cli-B95ZMCXB.js → sandbox-cli-CFJ9cLf1.js} +4 -4
  302. package/dist/{sdk-inspect-tool-CZuz_PqC.js → sdk-inspect-tool--0YwiPqb.js} +2 -2
  303. package/dist/{sdk-inspect-tool-pAJTD-ha.js → sdk-inspect-tool-gngBv_e2.js} +2 -2
  304. package/dist/{sdk-inspect-tool-D42KFyHW.js → sdk-inspect-tool-lWmixb2O.js} +2 -2
  305. package/dist/search-crm-conversations-tool-CXlTimAj.js +37 -0
  306. package/dist/search-crm-conversations-tool-CsAUIlEu.js +37 -0
  307. package/dist/search-crm-conversations-tool-CxEqcbxC.js +37 -0
  308. package/dist/{search-tools-tool-C-IdNFYI.js → search-tools-tool-BCV0uHLY.js} +2 -2
  309. package/dist/{search-tools-tool-RZGm2Xcj.js → search-tools-tool-DIr1vVNX.js} +2 -2
  310. package/dist/{search-tools-tool-DHcesN1E.js → search-tools-tool-XuYT8kpL.js} +2 -2
  311. package/dist/{security-cli-CVhHPapS.js → security-cli-Cx2puO6Q.js} +4 -4
  312. package/dist/{security-cli-vf7gqh0K.js → security-cli-sqaoNzjc.js} +4 -4
  313. package/dist/{send-B4YbtmkF.js → send-BABrPQhp.js} +4 -4
  314. package/dist/{send-CjkML4L8.js → send-BOAXOqlj.js} +5 -5
  315. package/dist/{send-D2OpIavo.js → send-BhHYA7fz.js} +4 -4
  316. package/dist/{send-DK8EFs7N.js → send-C1R6SHFd.js} +4 -4
  317. package/dist/{send-B0lgkcly.js → send-CQTnHf7j.js} +6 -6
  318. package/dist/{send-CFbW7252.js → send-CzX8rfQQ.js} +6 -6
  319. package/dist/{send-DKFYAGz-.js → send-DIjmAwBt.js} +5 -5
  320. package/dist/{send-Cy07SRYV.js → send-DfwkS1Cy.js} +5 -5
  321. package/dist/{send-5NXIO0Hz.js → send-DmLvgXqi.js} +5 -5
  322. package/dist/{send-CDxvcffu.js → send-F3N3Vgcy.js} +4 -4
  323. package/dist/{server-context-BzJmaGcJ.js → server-context-BYcLDvQc.js} +6 -6
  324. package/dist/{server-context-tH7qykHx.js → server-context-CDmBokpm.js} +6 -6
  325. package/dist/{server-context-DjgDk76D.js → server-context-DFdTmsBq.js} +6 -6
  326. package/dist/{server-methods-list-DCASvqMj.js → server-methods-list-CUUd_Znm.js} +1 -1
  327. package/dist/{server-methods-list-DDeo_-Mr.js → server-methods-list-ZEquDpTD.js} +1 -1
  328. package/dist/{server-node-events-FM-1CCYG.js → server-node-events-Dml6MIAW.js} +11 -11
  329. package/dist/{server-node-events-FvS3PKPQ.js → server-node-events-DpkjSBLL.js} +9 -9
  330. package/dist/{session-status-tool-DP2Q1LTf.js → session-status-tool-BHEQX4IM.js} +6 -6
  331. package/dist/{session-status-tool-Bzg63rF-.js → session-status-tool-CIAw4c-9.js} +5 -5
  332. package/dist/{session-status-tool-Cm0CqYIk.js → session-status-tool-CJeMrNTI.js} +7 -7
  333. package/dist/{session-utils-DJlQmR6P.js → session-utils-Ffl6ASbR.js} +4 -4
  334. package/dist/{sessions-D0Infjpa.js → sessions-CiNGPwTK.js} +4 -4
  335. package/dist/{sessions-utf2q0f9.js → sessions-ClJAVE0p.js} +6 -6
  336. package/dist/{sessions-BCDks_XV.js → sessions-DcOCMszs.js} +3 -3
  337. package/dist/{sessions-CNmLoXhd.js → sessions-bztP6lN1.js} +6 -6
  338. package/dist/{sessions-helpers-xCR-AaFX.js → sessions-helpers-Ctko7_ZU.js} +3 -3
  339. package/dist/{sessions-helpers-zap6ivKN.js → sessions-helpers-D6BayuvJ.js} +3 -3
  340. package/dist/{sessions-helpers-ghfg2LfY.js → sessions-helpers-DpKh-EgX.js} +3 -3
  341. package/dist/{sessions-history-tool-CxIG0JPX.js → sessions-history-tool-BtLEW8Jq.js} +5 -5
  342. package/dist/{sessions-history-tool-BF5ChD6B.js → sessions-history-tool-DlKTVhCD.js} +5 -5
  343. package/dist/{sessions-history-tool-D3Dn_uha.js → sessions-history-tool-DnxZRMF3.js} +5 -5
  344. package/dist/{sessions-list-tool-B6UDiCME.js → sessions-list-tool-BGmjNjoA.js} +5 -5
  345. package/dist/{sessions-list-tool-BT6CtOqD.js → sessions-list-tool-DSB6_hFi.js} +5 -5
  346. package/dist/{sessions-list-tool-CCPfOMIk.js → sessions-list-tool-OP5IQOE0.js} +5 -5
  347. package/dist/{sessions-send-tool-DSiDvTip.js → sessions-send-tool-BF8lKSLy.js} +6 -6
  348. package/dist/{sessions-send-tool-CIkyHnqX.js → sessions-send-tool-C1WMGH6W.js} +6 -6
  349. package/dist/{sessions-send-tool-3Xy11nb5.js → sessions-send-tool-CG8A-kW5.js} +5 -5
  350. package/dist/{sessions-spawn-tool-P_cgC56H.js → sessions-spawn-tool-BD6XdQ4G.js} +1 -1
  351. package/dist/{sessions-spawn-tool-DNo3suCr.js → sessions-spawn-tool-BE94fv2r.js} +1 -1
  352. package/dist/{sessions-spawn-tool-BOUcfO2z.js → sessions-spawn-tool-DRxk6sWZ.js} +1 -1
  353. package/dist/{shared-DZI5Tw3G.js → shared-3xuhqrQ5.js} +2 -2
  354. package/dist/{shared-Cs4h-DrN.js → shared-CCaYvPXV.js} +2 -2
  355. package/dist/{skills-cli-Czq_tuYG.js → skills-cli-CQ8fYddY.js} +2 -2
  356. package/dist/{skills-cli-_aZXg-M2.js → skills-cli-D-V0vRgX.js} +2 -2
  357. package/dist/{status-B8ctdi4H.js → status-BeasmhMH.js} +13 -13
  358. package/dist/{status-qdsXcKy3.js → status-D8c6C5Z0.js} +3 -3
  359. package/dist/{status-DAl0ewcT.js → status-DHuWnwac.js} +3 -3
  360. package/dist/{status-DAWcKhN8.js → status-DbOwDhDe.js} +14 -14
  361. package/dist/{status.update-BBvsvukV.js → status.update-otfuSKpG.js} +1 -1
  362. package/dist/{status.update-GAs1fuEC.js → status.update-ww09PQZI.js} +1 -1
  363. package/dist/{subagent-registry-ByD-v8W6.js → subagent-registry-BHdRG10Z.js} +34 -32
  364. package/dist/{subagents-tool-DW6VxAbS.js → subagents-tool-CpBMVS4i.js} +6 -6
  365. package/dist/{subagents-tool-DY3qkUDA.js → subagents-tool-DIxAhxWP.js} +6 -6
  366. package/dist/{subagents-tool-DzdXPWJG.js → subagents-tool-h2WCtDtU.js} +6 -6
  367. package/dist/{system-cli-BfEvMnOR.js → system-cli-C7sjnpqK.js} +1 -1
  368. package/dist/{system-cli-DGKQvMgv.js → system-cli-DP_wysY-.js} +1 -1
  369. package/dist/{systemd-hints-BuFrkz3c.js → systemd-hints-BnL2sVfy.js} +1 -1
  370. package/dist/{systemd-hints-CknVLhp1.js → systemd-hints-DEXpKBnF.js} +1 -1
  371. package/dist/{tables-7hvx4NLL.js → tables-Cu2OX2r-.js} +1 -1
  372. package/dist/{tables-CaW_VQVO.js → tables-DMdQO81Y.js} +1 -1
  373. package/dist/{targets-BLzENb7Y.js → targets-By4KtyZv.js} +1 -1
  374. package/dist/{targets-q-IdZXy8.js → targets-DypSB4K6.js} +2 -2
  375. package/dist/{targets-dnyaBFnI.js → targets-UmV1VAkB.js} +1 -1
  376. package/dist/{tool-index-jbcu4uIg.js → tool-index-BtpJk78_.js} +1 -1
  377. package/dist/{tool-index-CSvXEUhV.js → tool-index-BwKMLu1r.js} +1 -1
  378. package/dist/{tool-index-DT6m2Vqq.js → tool-index-CEYMGFrO.js} +1 -1
  379. package/dist/{tool-policy-Cn0_ZqFk.js → tool-policy-CGuZzs9F.js} +2 -0
  380. package/dist/{tools-cli-NmnXQw8E.js → tools-cli-B13gsec8.js} +3 -3
  381. package/dist/{tools-cli-C8t6Y2DR.js → tools-cli-BJ_zWgqf.js} +3 -3
  382. package/dist/{tts-DT0JbNew.js → tts-CdyriGYN.js} +2 -2
  383. package/dist/{tts-CkvaGeSt.js → tts-DH1gVM5t.js} +34 -1
  384. package/dist/{tts-BKfdvnUw.js → tts-EAcO1Hwe.js} +2 -2
  385. package/dist/{tts-tool-Bt02Ilnt.js → tts-tool-BBIMu7X2.js} +3 -3
  386. package/dist/{tts-tool-B4hynytG.js → tts-tool-DO_F3ZME.js} +3 -3
  387. package/dist/{tts-tool-DeKe9DRz.js → tts-tool-oG4FOqod.js} +3 -3
  388. package/dist/{tui-Djk1B2Va.js → tui-CvQjFLn2.js} +6 -13
  389. package/dist/{tui-BlYxWZKF.js → tui-CyKvw7SL.js} +6 -13
  390. package/dist/{tui-cli-B8fz3Gfm.js → tui-cli-DROBYt8G.js} +1 -1
  391. package/dist/{tui-cli-BGoP1l4m.js → tui-cli-PQR9JVFA.js} +1 -1
  392. package/dist/{update-cli--Kai2Xfo.js → update-cli-DsNQjCBa.js} +8 -8
  393. package/dist/{update-cli-B4x9hkNP.js → update-cli-GDRvdoj2.js} +8 -8
  394. package/dist/{validation-Tg8YP6Zn.js → validation-DAS7vvMM.js} +1 -0
  395. package/dist/{validation-Crc6Dwkp.js → validation-DoqW0cF4.js} +1 -0
  396. package/dist/{web-BNlwEmMT.js → web-Bqx30F6C.js} +12 -12
  397. package/dist/web-DKofD48i.js +2 -0
  398. package/dist/{web-search-Q8h69tgX.js → web-search-BGzVmln0.js} +4 -4
  399. package/dist/{web-search-CG0Jah4V.js → web-search-BXe6QGYe.js} +4 -4
  400. package/dist/{web-search-8KE8nizc.js → web-search-CGnEgHNH.js} +4 -4
  401. package/dist/{webhooks-cli-loBRONyV.js → webhooks-cli-DMfQ_Sq0.js} +4 -4
  402. package/dist/{webhooks-cli-Dtt7wEbR.js → webhooks-cli-wUMz0eSs.js} +4 -4
  403. package/dist/{workspace-dirs-DCRQB551.js → workspace-dirs-Duw92DA5.js} +4 -4
  404. package/extensions/alert-watcher/index.js +33 -0
  405. package/extensions/bluebubbles/index.js +1 -0
  406. package/extensions/feishu/index.js +1 -0
  407. package/extensions/flows/index.js +34 -0
  408. package/extensions/gmail-calendar/index.js +201 -100
  409. package/extensions/gmail-calendar/index.ts +4 -0
  410. package/extensions/gmail-calendar/src/pulse-tools.test.ts +14 -0
  411. package/extensions/gmail-calendar/src/pulse-tools.ts +63 -0
  412. package/extensions/googlechat/index.js +1 -0
  413. package/extensions/irc/index.js +1 -0
  414. package/extensions/llm-task/index.js +33 -0
  415. package/extensions/matrix/{credentials-BiYGX26F.mjs → credentials-B_Avjvsy.mjs} +1 -0
  416. package/extensions/matrix/index.js +3 -3
  417. package/extensions/matrix/{matrix-Dqf7qlT1.mjs → matrix-Dy31zmus.mjs} +2 -2
  418. package/extensions/matrix/{resolve-targets-BPyBSXgs.mjs → resolve-targets-Bv0B2AJv.mjs} +2 -2
  419. package/extensions/mattermost/index.js +1 -0
  420. package/extensions/meta-graph/index.js +43 -3
  421. package/extensions/meta-graph/minion.manifest.ts +3 -0
  422. package/extensions/meta-graph/minion.plugin.json +7 -1
  423. package/extensions/meta-graph/src/channels/messaging-platform.ts +66 -1
  424. package/extensions/meta-graph/src/channels/shared.ts +21 -0
  425. package/extensions/nextcloud-talk/index.js +1 -0
  426. package/extensions/tlon/index.js +33 -0
  427. package/extensions/wati/index.js +1 -0
  428. package/extensions/weixin/index.js +1 -0
  429. package/extensions/zalo/index.js +1 -0
  430. package/extensions/zalouser/index.js +1 -0
  431. package/package.json +1 -1
  432. package/dist/daemon-install-helpers-7XKlSxjN.js +0 -2
  433. package/dist/daemon-install-helpers-BItV2t5d.js +0 -2
  434. package/dist/doctor-completion-8gqw3zRt.js +0 -2
  435. package/dist/doctor-completion-uY7s1Gdv.js +0 -2
  436. package/dist/web-BfUZ3tIc.js +0 -2
@@ -4150,7 +4150,7 @@ var init_shell_env = __esmMin((() => {
4150
4150
  //#region src/version.ts
4151
4151
  var VERSION;
4152
4152
  var init_version$1 = __esmMin((() => {
4153
- VERSION = "2026.7.12-dev.20260717012629";
4153
+ VERSION = "2026.7.16-dev";
4154
4154
  }));
4155
4155
  //#endregion
4156
4156
  //#region src/config/agent-dirs.ts
@@ -14450,6 +14450,7 @@ var init_zod_schema_providers = __esmMin((() => {
14450
14450
  heartbeat: ChannelHeartbeatVisibilitySchema
14451
14451
  }).strict().optional(),
14452
14452
  accountOrgs: z.record(z.string(), z.record(z.string(), z.array(z.string()).optional()).optional()).optional(),
14453
+ accountOwners: z.record(z.string(), z.record(z.string(), z.string().optional()).optional()).optional(),
14453
14454
  whatsapp: WhatsAppConfigSchema.optional(),
14454
14455
  telegram: TelegramConfigSchema.optional(),
14455
14456
  discord: DiscordConfigSchema.optional(),
@@ -20170,6 +20171,7 @@ var init__groups_generated = __esmMin((() => {
20170
20171
  "chat_artifact",
20171
20172
  "contact_tag",
20172
20173
  "contact_update",
20174
+ "crm_conversation_themes",
20173
20175
  "crm_insight",
20174
20176
  "crm_query",
20175
20177
  "crm_search",
@@ -20195,6 +20197,7 @@ var init__groups_generated = __esmMin((() => {
20195
20197
  "orders_query",
20196
20198
  "projects_query",
20197
20199
  "sdk_inspect",
20200
+ "search_crm_conversations",
20198
20201
  "search_tools",
20199
20202
  "session_status",
20200
20203
  "sessions_history",
@@ -43240,9 +43243,14 @@ var init_audio = __esmMin((() => {
43240
43243
  */
43241
43244
  function createGatewayDroneHost(opts = {}) {
43242
43245
  const { config, agentDir, workspaceDir } = opts;
43246
+ let resolvedModel;
43243
43247
  return {
43244
43248
  async resolveApiKey(spec) {
43245
43249
  const auth = await resolveProvider$1(spec, config, agentDir);
43250
+ resolvedModel = {
43251
+ provider: spec.provider,
43252
+ model: spec.model
43253
+ };
43246
43254
  return {
43247
43255
  apiKey: requireApiKey(auth, spec.provider),
43248
43256
  source: auth.source
@@ -43275,6 +43283,34 @@ function createGatewayDroneHost(opts = {}) {
43275
43283
  },
43276
43284
  timestamp: Date.now()
43277
43285
  });
43286
+ if (input.event === "agent.run.end" && input.usage && resolvedModel) {
43287
+ const u = input.usage;
43288
+ const inTok = u.inputTokens ?? 0;
43289
+ const outTok = u.outputTokens ?? 0;
43290
+ const cacheTok = u.cacheReadTokens ?? 0;
43291
+ emitEvent({
43292
+ category: "agent",
43293
+ severity: "info",
43294
+ event: "agent.llm.usage",
43295
+ message: `Drone LLM usage: ${input.droneId}`,
43296
+ correlationId: input.correlationId,
43297
+ metadata: {
43298
+ kind: "drone",
43299
+ droneId: input.droneId,
43300
+ provider: resolvedModel.provider,
43301
+ model: resolvedModel.model,
43302
+ source: "system",
43303
+ channel: "drone",
43304
+ tokens: {
43305
+ input: inTok,
43306
+ output: outTok,
43307
+ cacheRead: cacheTok,
43308
+ total: inTok + outTok + cacheTok
43309
+ }
43310
+ },
43311
+ timestamp: Date.now()
43312
+ });
43313
+ }
43278
43314
  }
43279
43315
  };
43280
43316
  }
@@ -54612,7 +54648,6 @@ var init_client$3 = __esmMin((() => {
54612
54648
  this.pending = /* @__PURE__ */ new Map();
54613
54649
  this.backoffMs = 1e3;
54614
54650
  this.closed = false;
54615
- this.lastSeq = null;
54616
54651
  this.connectNonce = null;
54617
54652
  this.connectSent = false;
54618
54653
  this.connectTimer = null;
@@ -54786,14 +54821,6 @@ var init_client$3 = __esmMin((() => {
54786
54821
  }
54787
54822
  return;
54788
54823
  }
54789
- const seq = typeof evt.seq === "number" ? evt.seq : null;
54790
- if (seq !== null) {
54791
- if (this.lastSeq !== null && seq > this.lastSeq + 1) this.opts.onGap?.({
54792
- expected: this.lastSeq + 1,
54793
- received: seq
54794
- });
54795
- this.lastSeq = seq;
54796
- }
54797
54824
  if (evt.event === "tick") this.lastTick = Date.now();
54798
54825
  this.opts.onEvent?.(evt);
54799
54826
  return;
@@ -71620,6 +71647,45 @@ var init_contact_update_tool = __esmMin((() => {
71620
71647
  });
71621
71648
  }));
71622
71649
  //#endregion
71650
+ //#region src/agents/tools/hub/crm-conversation-themes-tool.ts
71651
+ var crm_conversation_themes_tool_exports = /* @__PURE__ */ __exportAll({ createCrmConversationThemesTool: () => createCrmConversationThemesTool });
71652
+ /**
71653
+ * CRM Conversation Intelligence (spec 2026-07-17, §2 WP-B) — structured
71654
+ * rollup half. Calls the hub's /api/gateway/crm-conversation-themes, an
71655
+ * aggregate over `crm_conversation_analysis`: top pain points, intent
71656
+ * distribution, over-answered (over-explaining) rate. Use
71657
+ * search_crm_conversations instead for a targeted lookup question.
71658
+ */
71659
+ function createCrmConversationThemesTool(options) {
71660
+ const agentId = options.agentId;
71661
+ if (!hubToolsAvailable(agentId)) return null;
71662
+ return wrapToolWithTracking({
71663
+ label: "CRM Conversation Themes",
71664
+ name: "crm_conversation_themes",
71665
+ description: "Aggregate census over customer conversations: top pain points, intent distribution, and the over-explaining ('over_answered') rate — for questions like 'what are customers' biggest pain-points?' or 'are we giving too much info vs. what customers ask for?'. For a targeted lookup ('what did people say about X?') use search_crm_conversations instead.",
71666
+ parameters: CrmConversationThemesSchema,
71667
+ execute: async (_toolCallId, args) => {
71668
+ const params = args;
71669
+ const orgId = readStringParam(params, "orgId");
71670
+ return jsonResult(await hubPost("crm-conversation-themes", agentId, {
71671
+ channel: readStringParam(params, "channel"),
71672
+ since: readStringParam(params, "since")
71673
+ }, orgId));
71674
+ }
71675
+ }, "builtin:crm_conversation_themes");
71676
+ }
71677
+ var CrmConversationThemesSchema;
71678
+ var init_crm_conversation_themes_tool = __esmMin((() => {
71679
+ init_tool_tracking();
71680
+ init_common();
71681
+ init_hub_common();
71682
+ CrmConversationThemesSchema = Type.Object({
71683
+ channel: Type.Optional(Type.String({ description: "Filter to one channel: whatsapp, instagram, or telegram." })),
71684
+ since: Type.Optional(Type.String({ description: "ISO timestamp — only conversations last active on/after this." })),
71685
+ orgId: ORG_ID_FIELD
71686
+ });
71687
+ }));
71688
+ //#endregion
71623
71689
  //#region src/agents/tools/hub/email-recent-tool.ts
71624
71690
  var email_recent_tool_exports = /* @__PURE__ */ __exportAll({ createEmailRecentTool: () => createEmailRecentTool });
71625
71691
  /**
@@ -72056,6 +72122,45 @@ var init_projects_query_tool = __esmMin((() => {
72056
72122
  });
72057
72123
  }));
72058
72124
  //#endregion
72125
+ //#region src/agents/tools/hub/search-crm-conversations-tool.ts
72126
+ var search_crm_conversations_tool_exports = /* @__PURE__ */ __exportAll({ createSearchCrmConversationsTool: () => createSearchCrmConversationsTool });
72127
+ /**
72128
+ * CRM Conversation Intelligence (spec 2026-07-17, §2 WP-B) — semantic
72129
+ * retrieval half. Calls the hub's /api/gateway/search-crm-conversations,
72130
+ * which vector-searches `crm_conversation_chunks` for targeted questions
72131
+ * ("what did people say about pricing?"). Use crm_conversation_themes for
72132
+ * aggregate/census questions instead.
72133
+ */
72134
+ function createSearchCrmConversationsTool(options) {
72135
+ const agentId = options.agentId;
72136
+ if (!hubToolsAvailable(agentId)) return null;
72137
+ return wrapToolWithTracking({
72138
+ label: "Search CRM Conversations",
72139
+ name: "search_crm_conversations",
72140
+ description: "Semantic search over customer conversation history (WhatsApp/Instagram/Telegram chats) for a targeted question, e.g. 'what did customers say about pricing?'. For census/aggregate questions (pain-point counts, over-explaining rate, intent distribution) use crm_conversation_themes instead.",
72141
+ parameters: SearchCrmConversationsSchema,
72142
+ execute: async (_toolCallId, args) => {
72143
+ const params = args;
72144
+ const orgId = readStringParam(params, "orgId");
72145
+ return jsonResult(await hubPost("search-crm-conversations", agentId, {
72146
+ query: readStringParam(params, "query", { required: true }),
72147
+ k: readNumberParam(params, "k")
72148
+ }, orgId));
72149
+ }
72150
+ }, "builtin:search_crm_conversations");
72151
+ }
72152
+ var SearchCrmConversationsSchema;
72153
+ var init_search_crm_conversations_tool = __esmMin((() => {
72154
+ init_tool_tracking();
72155
+ init_common();
72156
+ init_hub_common();
72157
+ SearchCrmConversationsSchema = Type.Object({
72158
+ query: Type.String({ description: "Natural-language search over customer conversation history." }),
72159
+ k: Type.Optional(Type.Number({ description: "Max conversation hits to return (default 8, max 25)." })),
72160
+ orgId: ORG_ID_FIELD
72161
+ });
72162
+ }));
72163
+ //#endregion
72059
72164
  //#region src/agents/tools/hub/stock-entry-create-tool.ts
72060
72165
  var stock_entry_create_tool_exports = /* @__PURE__ */ __exportAll({ createStockEntryCreateTool: () => createStockEntryCreateTool });
72061
72166
  function readLines(params) {
@@ -89916,6 +90021,24 @@ var init__registry_generated = __esmMin((() => {
89916
90021
  },
89917
90022
  load: () => Promise.resolve().then(() => (init_contact_update_tool(), contact_update_tool_exports))
89918
90023
  },
90024
+ crm_conversation_themes: {
90025
+ meta: {
90026
+ id: "crm_conversation_themes",
90027
+ factory: "createCrmConversationThemesTool",
90028
+ groups: ["group:minion"],
90029
+ display: {
90030
+ emoji: "📊",
90031
+ title: "CRM Conversation Themes",
90032
+ detailKeys: ["channel", "since"]
90033
+ },
90034
+ permission: {
90035
+ module: "crm",
90036
+ action: "view"
90037
+ },
90038
+ mcpExport: true
90039
+ },
90040
+ load: () => Promise.resolve().then(() => (init_crm_conversation_themes_tool(), crm_conversation_themes_tool_exports))
90041
+ },
89919
90042
  email_recent: {
89920
90043
  meta: {
89921
90044
  id: "email_recent",
@@ -90088,6 +90211,24 @@ var init__registry_generated = __esmMin((() => {
90088
90211
  },
90089
90212
  load: () => Promise.resolve().then(() => (init_projects_query_tool(), projects_query_tool_exports))
90090
90213
  },
90214
+ search_crm_conversations: {
90215
+ meta: {
90216
+ id: "search_crm_conversations",
90217
+ factory: "createSearchCrmConversationsTool",
90218
+ groups: ["group:minion"],
90219
+ display: {
90220
+ emoji: "🔎",
90221
+ title: "Search CRM Conversations",
90222
+ detailKeys: ["query"]
90223
+ },
90224
+ permission: {
90225
+ module: "crm",
90226
+ action: "view"
90227
+ },
90228
+ mcpExport: true
90229
+ },
90230
+ load: () => Promise.resolve().then(() => (init_search_crm_conversations_tool(), search_crm_conversations_tool_exports))
90231
+ },
90091
90232
  stock_entry_create: {
90092
90233
  meta: {
90093
90234
  id: "stock_entry_create",
@@ -91723,6 +91864,8 @@ function buildToolOptions(id, ctx) {
91723
91864
  case "brains_list":
91724
91865
  case "brain_search":
91725
91866
  case "brain_remember":
91867
+ case "search_crm_conversations":
91868
+ case "crm_conversation_themes":
91726
91869
  case "notes_create":
91727
91870
  case "notes_query":
91728
91871
  case "email_recent":
@@ -41,6 +41,17 @@ export type ChannelsConfig = {
41
41
  * visible to every org; connections with no org claim see everything.
42
42
  */
43
43
  accountOrgs?: Record<string, Record<string, string[] | undefined> | undefined>;
44
+ /**
45
+ * USER-scoping map: `accountOwners[channelId][accountId]` = the hub profile id
46
+ * that OWNS that account (their own WhatsApp/Telegram/Discord). A user-scoped
47
+ * account belongs to a person and follows them across every org they're in, so
48
+ * the same real account is never duplicated per org — the class `accountOrgs`
49
+ * cannot express. Org-scoped accounts are absent here (covered by accountOrgs).
50
+ *
51
+ * P0 (specs/2026-07-19-channel-scoping-fix-plan.md): CARRIED ONLY — no
52
+ * visibility decision reads this yet. Enforcement lands in P2/P3.
53
+ */
54
+ accountOwners?: Record<string, Record<string, string | undefined> | undefined>;
44
55
  whatsapp?: WhatsAppConfig;
45
56
  telegram?: TelegramConfig;
46
57
  discord?: DiscordConfig;
@@ -1637,6 +1637,7 @@ export declare const MinionSchema: z.ZodObject<{
1637
1637
  }, z.core.$strict>>;
1638
1638
  }, z.core.$strict>>;
1639
1639
  accountOrgs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodArray<z.ZodString>>>>>>;
1640
+ accountOwners: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
1640
1641
  whatsapp: z.ZodOptional<z.ZodObject<{
1641
1642
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1642
1643
  markdown: z.ZodOptional<z.ZodObject<{
@@ -5564,6 +5565,7 @@ export declare const OpenClawSchema: z.ZodObject<{
5564
5565
  }, z.core.$strict>>;
5565
5566
  }, z.core.$strict>>;
5566
5567
  accountOrgs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodArray<z.ZodString>>>>>>;
5568
+ accountOwners: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
5567
5569
  whatsapp: z.ZodOptional<z.ZodObject<{
5568
5570
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
5569
5571
  markdown: z.ZodOptional<z.ZodObject<{
@@ -16,6 +16,7 @@ export declare const ChannelsSchema: z.ZodOptional<z.ZodObject<{
16
16
  }, z.core.$strict>>;
17
17
  }, z.core.$strict>>;
18
18
  accountOrgs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodArray<z.ZodString>>>>>>;
19
+ accountOwners: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
19
20
  whatsapp: z.ZodOptional<z.ZodObject<{
20
21
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
22
  markdown: z.ZodOptional<z.ZodObject<{
@@ -4557,7 +4557,7 @@ function resolveShellEnvFallbackTimeoutMs(env) {
4557
4557
  }
4558
4558
  //#endregion
4559
4559
  //#region src/version.ts
4560
- const VERSION = "2026.7.12-dev.20260717012629";
4560
+ const VERSION = "2026.7.16-dev";
4561
4561
  //#endregion
4562
4562
  //#region src/config/agent-dirs.ts
4563
4563
  var DuplicateAgentDirError = class extends Error {
@@ -9058,6 +9058,7 @@ const ChannelsSchema = z.object({
9058
9058
  heartbeat: ChannelHeartbeatVisibilitySchema
9059
9059
  }).strict().optional(),
9060
9060
  accountOrgs: z.record(z.string(), z.record(z.string(), z.array(z.string()).optional()).optional()).optional(),
9061
+ accountOwners: z.record(z.string(), z.record(z.string(), z.string().optional()).optional()).optional(),
9061
9062
  whatsapp: WhatsAppConfigSchema.optional(),
9062
9063
  telegram: TelegramConfigSchema.optional(),
9063
9064
  discord: DiscordConfigSchema.optional(),
@@ -27,10 +27,6 @@ export type GatewayClientOptions = {
27
27
  onHelloOk?: (hello: HelloOk) => void;
28
28
  onConnectError?: (err: Error) => void;
29
29
  onClose?: (code: number, reason: string) => void;
30
- onGap?: (info: {
31
- expected: number;
32
- received: number;
33
- }) => void;
34
30
  };
35
31
  export declare const GATEWAY_CLOSE_CODE_HINTS: Readonly<Record<number, string>>;
36
32
  export declare function describeGatewayCloseCode(code: number): string | undefined;
@@ -40,7 +36,6 @@ export declare class GatewayClient {
40
36
  private pending;
41
37
  private backoffMs;
42
38
  private closed;
43
- private lastSeq;
44
39
  private connectNonce;
45
40
  private connectSent;
46
41
  private connectTimer;
@@ -7430,7 +7430,7 @@ var init_shell_env = __esmMin((() => {
7430
7430
  //#region src/version.ts
7431
7431
  var VERSION;
7432
7432
  var init_version$1 = __esmMin((() => {
7433
- VERSION = "2026.7.12-dev.20260717012629";
7433
+ VERSION = "2026.7.16-dev";
7434
7434
  }));
7435
7435
  //#endregion
7436
7436
  //#region src/config/agent-dirs.ts
@@ -16636,6 +16636,7 @@ var init_zod_schema_providers = __esmMin((() => {
16636
16636
  heartbeat: ChannelHeartbeatVisibilitySchema
16637
16637
  }).strict().optional(),
16638
16638
  accountOrgs: z.record(z.string(), z.record(z.string(), z.array(z.string()).optional()).optional()).optional(),
16639
+ accountOwners: z.record(z.string(), z.record(z.string(), z.string().optional()).optional()).optional(),
16639
16640
  whatsapp: WhatsAppConfigSchema.optional(),
16640
16641
  telegram: TelegramConfigSchema.optional(),
16641
16642
  discord: DiscordConfigSchema.optional(),
@@ -36921,9 +36922,14 @@ var init_workspace$1 = __esmMin((() => {
36921
36922
  */
36922
36923
  function createGatewayDroneHost(opts = {}) {
36923
36924
  const { config, agentDir, workspaceDir } = opts;
36925
+ let resolvedModel;
36924
36926
  return {
36925
36927
  async resolveApiKey(spec) {
36926
36928
  const auth = await resolveProvider$1(spec, config, agentDir);
36929
+ resolvedModel = {
36930
+ provider: spec.provider,
36931
+ model: spec.model
36932
+ };
36927
36933
  return {
36928
36934
  apiKey: requireApiKey(auth, spec.provider),
36929
36935
  source: auth.source
@@ -36956,6 +36962,34 @@ function createGatewayDroneHost(opts = {}) {
36956
36962
  },
36957
36963
  timestamp: Date.now()
36958
36964
  });
36965
+ if (input.event === "agent.run.end" && input.usage && resolvedModel) {
36966
+ const u = input.usage;
36967
+ const inTok = u.inputTokens ?? 0;
36968
+ const outTok = u.outputTokens ?? 0;
36969
+ const cacheTok = u.cacheReadTokens ?? 0;
36970
+ emitEvent({
36971
+ category: "agent",
36972
+ severity: "info",
36973
+ event: "agent.llm.usage",
36974
+ message: `Drone LLM usage: ${input.droneId}`,
36975
+ correlationId: input.correlationId,
36976
+ metadata: {
36977
+ kind: "drone",
36978
+ droneId: input.droneId,
36979
+ provider: resolvedModel.provider,
36980
+ model: resolvedModel.model,
36981
+ source: "system",
36982
+ channel: "drone",
36983
+ tokens: {
36984
+ input: inTok,
36985
+ output: outTok,
36986
+ cacheRead: cacheTok,
36987
+ total: inTok + outTok + cacheTok
36988
+ }
36989
+ },
36990
+ timestamp: Date.now()
36991
+ });
36992
+ }
36959
36993
  }
36960
36994
  };
36961
36995
  }
@@ -38727,6 +38761,7 @@ var init__groups_generated = __esmMin((() => {
38727
38761
  "chat_artifact",
38728
38762
  "contact_tag",
38729
38763
  "contact_update",
38764
+ "crm_conversation_themes",
38730
38765
  "crm_insight",
38731
38766
  "crm_query",
38732
38767
  "crm_search",
@@ -38752,6 +38787,7 @@ var init__groups_generated = __esmMin((() => {
38752
38787
  "orders_query",
38753
38788
  "projects_query",
38754
38789
  "sdk_inspect",
38790
+ "search_crm_conversations",
38755
38791
  "search_tools",
38756
38792
  "session_status",
38757
38793
  "sessions_history",
@@ -69889,7 +69925,6 @@ var init_client$1 = __esmMin((() => {
69889
69925
  this.pending = /* @__PURE__ */ new Map();
69890
69926
  this.backoffMs = 1e3;
69891
69927
  this.closed = false;
69892
- this.lastSeq = null;
69893
69928
  this.connectNonce = null;
69894
69929
  this.connectSent = false;
69895
69930
  this.connectTimer = null;
@@ -70063,14 +70098,6 @@ var init_client$1 = __esmMin((() => {
70063
70098
  }
70064
70099
  return;
70065
70100
  }
70066
- const seq = typeof evt.seq === "number" ? evt.seq : null;
70067
- if (seq !== null) {
70068
- if (this.lastSeq !== null && seq > this.lastSeq + 1) this.opts.onGap?.({
70069
- expected: this.lastSeq + 1,
70070
- received: seq
70071
- });
70072
- this.lastSeq = seq;
70073
- }
70074
70101
  if (evt.event === "tick") this.lastTick = Date.now();
70075
70102
  this.opts.onEvent?.(evt);
70076
70103
  return;
@@ -89770,6 +89797,45 @@ var init_contact_update_tool = __esmMin((() => {
89770
89797
  });
89771
89798
  }));
89772
89799
  //#endregion
89800
+ //#region src/agents/tools/hub/crm-conversation-themes-tool.ts
89801
+ var crm_conversation_themes_tool_exports = /* @__PURE__ */ __exportAll({ createCrmConversationThemesTool: () => createCrmConversationThemesTool });
89802
+ /**
89803
+ * CRM Conversation Intelligence (spec 2026-07-17, §2 WP-B) — structured
89804
+ * rollup half. Calls the hub's /api/gateway/crm-conversation-themes, an
89805
+ * aggregate over `crm_conversation_analysis`: top pain points, intent
89806
+ * distribution, over-answered (over-explaining) rate. Use
89807
+ * search_crm_conversations instead for a targeted lookup question.
89808
+ */
89809
+ function createCrmConversationThemesTool(options) {
89810
+ const agentId = options.agentId;
89811
+ if (!hubToolsAvailable(agentId)) return null;
89812
+ return wrapToolWithTracking({
89813
+ label: "CRM Conversation Themes",
89814
+ name: "crm_conversation_themes",
89815
+ description: "Aggregate census over customer conversations: top pain points, intent distribution, and the over-explaining ('over_answered') rate — for questions like 'what are customers' biggest pain-points?' or 'are we giving too much info vs. what customers ask for?'. For a targeted lookup ('what did people say about X?') use search_crm_conversations instead.",
89816
+ parameters: CrmConversationThemesSchema,
89817
+ execute: async (_toolCallId, args) => {
89818
+ const params = args;
89819
+ const orgId = readStringParam(params, "orgId");
89820
+ return jsonResult(await hubPost("crm-conversation-themes", agentId, {
89821
+ channel: readStringParam(params, "channel"),
89822
+ since: readStringParam(params, "since")
89823
+ }, orgId));
89824
+ }
89825
+ }, "builtin:crm_conversation_themes");
89826
+ }
89827
+ var CrmConversationThemesSchema;
89828
+ var init_crm_conversation_themes_tool = __esmMin((() => {
89829
+ init_tool_tracking();
89830
+ init_common$1();
89831
+ init_hub_common();
89832
+ CrmConversationThemesSchema = Type.Object({
89833
+ channel: Type.Optional(Type.String({ description: "Filter to one channel: whatsapp, instagram, or telegram." })),
89834
+ since: Type.Optional(Type.String({ description: "ISO timestamp — only conversations last active on/after this." })),
89835
+ orgId: ORG_ID_FIELD
89836
+ });
89837
+ }));
89838
+ //#endregion
89773
89839
  //#region src/agents/tools/hub/email-recent-tool.ts
89774
89840
  var email_recent_tool_exports = /* @__PURE__ */ __exportAll({ createEmailRecentTool: () => createEmailRecentTool });
89775
89841
  /**
@@ -90206,6 +90272,45 @@ var init_projects_query_tool = __esmMin((() => {
90206
90272
  });
90207
90273
  }));
90208
90274
  //#endregion
90275
+ //#region src/agents/tools/hub/search-crm-conversations-tool.ts
90276
+ var search_crm_conversations_tool_exports = /* @__PURE__ */ __exportAll({ createSearchCrmConversationsTool: () => createSearchCrmConversationsTool });
90277
+ /**
90278
+ * CRM Conversation Intelligence (spec 2026-07-17, §2 WP-B) — semantic
90279
+ * retrieval half. Calls the hub's /api/gateway/search-crm-conversations,
90280
+ * which vector-searches `crm_conversation_chunks` for targeted questions
90281
+ * ("what did people say about pricing?"). Use crm_conversation_themes for
90282
+ * aggregate/census questions instead.
90283
+ */
90284
+ function createSearchCrmConversationsTool(options) {
90285
+ const agentId = options.agentId;
90286
+ if (!hubToolsAvailable(agentId)) return null;
90287
+ return wrapToolWithTracking({
90288
+ label: "Search CRM Conversations",
90289
+ name: "search_crm_conversations",
90290
+ description: "Semantic search over customer conversation history (WhatsApp/Instagram/Telegram chats) for a targeted question, e.g. 'what did customers say about pricing?'. For census/aggregate questions (pain-point counts, over-explaining rate, intent distribution) use crm_conversation_themes instead.",
90291
+ parameters: SearchCrmConversationsSchema,
90292
+ execute: async (_toolCallId, args) => {
90293
+ const params = args;
90294
+ const orgId = readStringParam(params, "orgId");
90295
+ return jsonResult(await hubPost("search-crm-conversations", agentId, {
90296
+ query: readStringParam(params, "query", { required: true }),
90297
+ k: readNumberParam(params, "k")
90298
+ }, orgId));
90299
+ }
90300
+ }, "builtin:search_crm_conversations");
90301
+ }
90302
+ var SearchCrmConversationsSchema;
90303
+ var init_search_crm_conversations_tool = __esmMin((() => {
90304
+ init_tool_tracking();
90305
+ init_common$1();
90306
+ init_hub_common();
90307
+ SearchCrmConversationsSchema = Type.Object({
90308
+ query: Type.String({ description: "Natural-language search over customer conversation history." }),
90309
+ k: Type.Optional(Type.Number({ description: "Max conversation hits to return (default 8, max 25)." })),
90310
+ orgId: ORG_ID_FIELD
90311
+ });
90312
+ }));
90313
+ //#endregion
90209
90314
  //#region src/agents/tools/hub/stock-entry-create-tool.ts
90210
90315
  var stock_entry_create_tool_exports = /* @__PURE__ */ __exportAll({ createStockEntryCreateTool: () => createStockEntryCreateTool });
90211
90316
  function readLines(params) {
@@ -105000,6 +105105,24 @@ var init__registry_generated = __esmMin((() => {
105000
105105
  },
105001
105106
  load: () => Promise.resolve().then(() => (init_contact_update_tool(), contact_update_tool_exports))
105002
105107
  },
105108
+ crm_conversation_themes: {
105109
+ meta: {
105110
+ id: "crm_conversation_themes",
105111
+ factory: "createCrmConversationThemesTool",
105112
+ groups: ["group:minion"],
105113
+ display: {
105114
+ emoji: "📊",
105115
+ title: "CRM Conversation Themes",
105116
+ detailKeys: ["channel", "since"]
105117
+ },
105118
+ permission: {
105119
+ module: "crm",
105120
+ action: "view"
105121
+ },
105122
+ mcpExport: true
105123
+ },
105124
+ load: () => Promise.resolve().then(() => (init_crm_conversation_themes_tool(), crm_conversation_themes_tool_exports))
105125
+ },
105003
105126
  email_recent: {
105004
105127
  meta: {
105005
105128
  id: "email_recent",
@@ -105172,6 +105295,24 @@ var init__registry_generated = __esmMin((() => {
105172
105295
  },
105173
105296
  load: () => Promise.resolve().then(() => (init_projects_query_tool(), projects_query_tool_exports))
105174
105297
  },
105298
+ search_crm_conversations: {
105299
+ meta: {
105300
+ id: "search_crm_conversations",
105301
+ factory: "createSearchCrmConversationsTool",
105302
+ groups: ["group:minion"],
105303
+ display: {
105304
+ emoji: "🔎",
105305
+ title: "Search CRM Conversations",
105306
+ detailKeys: ["query"]
105307
+ },
105308
+ permission: {
105309
+ module: "crm",
105310
+ action: "view"
105311
+ },
105312
+ mcpExport: true
105313
+ },
105314
+ load: () => Promise.resolve().then(() => (init_search_crm_conversations_tool(), search_crm_conversations_tool_exports))
105315
+ },
105175
105316
  stock_entry_create: {
105176
105317
  meta: {
105177
105318
  id: "stock_entry_create",
@@ -106383,6 +106524,8 @@ function buildToolOptions(id, ctx) {
106383
106524
  case "brains_list":
106384
106525
  case "brain_search":
106385
106526
  case "brain_remember":
106527
+ case "search_crm_conversations":
106528
+ case "crm_conversation_themes":
106386
106529
  case "notes_create":
106387
106530
  case "notes_query":
106388
106531
  case "email_recent":
@@ -28,10 +28,13 @@ export interface GoogleAdcClient {
28
28
  fetchForUser(userId: string): Promise<GoogleCredential | null>;
29
29
  /**
30
30
  * Returns EVERY Google credential the user's feed should pull: their own plus
31
- * any subscribed shared inboxes. Throws if the hub endpoint is missing/errors
32
- * (so callers can fall back to {@link fetchForUser} on an older hub).
31
+ * any subscribed shared inboxes. `orgId` is optional and scopes the shared
32
+ * inboxes to that org (hub-side fail-closed: omit it and only the own
33
+ * identity comes back — see hub `resolveFeedGoogleCredentials`). Throws if
34
+ * the hub endpoint is missing/errors (so callers can fall back to
35
+ * {@link fetchForUser} on an older hub).
33
36
  */
34
- fetchFeedForUser(userId: string): Promise<FeedGoogleCredential[]>;
37
+ fetchFeedForUser(userId: string, orgId?: string): Promise<FeedGoogleCredential[]>;
35
38
  /** Drop any cached entry for a user (e.g. after an auth error). */
36
39
  invalidate(userId: string): void;
37
40
  }
@@ -6,7 +6,7 @@ import "./runtime-Da615Z-K.js";
6
6
  import { n as isTruthyEnvValue } from "./entry.js";
7
7
  import { c as normalizeAgentId, s as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DK3D9dkE.js";
8
8
  import { u as resolveDefaultAgentId } from "./agent-scope-Bg7gbuMz.js";
9
- import { i as loadConfig } from "./io-_W2ysx6z.js";
9
+ import { i as loadConfig } from "./io-6cqme3no.js";
10
10
  import "./logging-CyBpyZLp.js";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import { A as normalizeE164, N as resolveUserPath, d as normalizeChatChannelId, l as normalizeAnyChannelId, lt as resolveOAuthDir, p as requireActivePluginRegistry, s as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-DRI1a_Xn.js";
2
2
  import { F as normalizeAccountId, I as normalizeAgentId, k as DEFAULT_ACCOUNT_ID, l as resolveDefaultAgentId } from "./agent-scope-Cpl7TgWW.js";
3
3
  import { rt as isTruthyEnvValue } from "./model-selection-DwJwoDl4.js";
4
- import "./io-CHxJ2IV9.js";
4
+ import "./io-D8w0m4e7.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import "node:fs/promises";
@@ -6,7 +6,7 @@ import "./runtime-Da615Z-K.js";
6
6
  import { c as normalizeAccountId, l as normalizeAgentId, t as DEFAULT_ACCOUNT_ID } from "./session-key-BcXqsG0l.js";
7
7
  import { u as resolveDefaultAgentId } from "./agent-scope-C31m2EYG.js";
8
8
  import { t as isTruthyEnvValue } from "./env-IZo5oHSI.js";
9
- import { i as loadConfig } from "./io-DL2AoOm6.js";
9
+ import { i as loadConfig } from "./io-7MYBxUkU.js";
10
10
  import "./logging-_oKeHe0e.js";
11
11
  import fs from "node:fs";
12
12
  import path from "node:path";
@@ -3,14 +3,14 @@ import { g as resolveUserPath, m as resolveConfigDir, v as shortenHomeInString,
3
3
  import { r as theme } from "./theme-CDbj88LB.js";
4
4
  import { t as defaultRuntime } from "./runtime-Da615Z-K.js";
5
5
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-ByjgBm6U.js";
6
- import { i as loadConfig, l as writeConfigFile } from "./io-_W2ysx6z.js";
7
- import "./config-Cv9wgnm3.js";
6
+ import { i as loadConfig, l as writeConfigFile } from "./io-6cqme3no.js";
7
+ import "./config-BerwgOPM.js";
8
8
  import { u as promptYesNo } from "./tailscale-DdVOGsI9.js";
9
9
  import { t as formatDocsLink } from "./links-snWstk4Z.js";
10
10
  import { c as resolveArchiveKind } from "./install-safe-path-Cm0MRa5U.js";
11
11
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-WGfBNsiV.js";
12
12
  import { t as renderTable } from "./table-BvCO-EDN.js";
13
- import { t as buildPluginStatusReport } from "./status-qdsXcKy3.js";
13
+ import { t as buildPluginStatusReport } from "./status-D8c6C5Z0.js";
14
14
  import { n as updateNpmInstalledPlugins } from "./update-9t5S0PsI.js";
15
15
  import os from "node:os";
16
16
  import path from "node:path";