@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.
- package/dist/{_registry.generated-CsDwKqbj.js → _registry.generated-B5zHyziR.js} +55 -19
- package/dist/{_registry.generated-Bf3ymIWb.js → _registry.generated-C3zYJ6On.js} +55 -19
- package/dist/{_registry.generated-CNf4nYSA.js → _registry.generated-DKC2RDUo.js} +55 -19
- package/dist/{accounts-B7ml53Ys.js → accounts-BwLt-V29.js} +1 -1
- package/dist/{accounts-D4dBjkdJ.js → accounts-CJf7velm.js} +1 -1
- package/dist/{accounts-CDifKOa5.js → accounts-DZ-7pWtI.js} +1 -1
- package/dist/{accounts-CJ54_EYq.js → accounts-vA22MiLu.js} +1 -1
- package/dist/{acp-cli-DG6f4Jao.js → acp-cli-DCCSn5NL.js} +4 -4
- package/dist/{acp-cli-DMIGuEja.js → acp-cli-wKQfGJIA.js} +4 -4
- package/dist/{agent-BzAtsKoj.js → agent-BvFdXWhL.js} +12 -12
- package/dist/{agent-vOBNNEUm.js → agent-DaBGbCfi.js} +11 -11
- package/dist/{agent-step-BzczgcBW.js → agent-step-BCSCZOB-.js} +3 -3
- package/dist/{agent-step-DAXo3AND.js → agent-step-CgJNQPZ8.js} +3 -3
- package/dist/{agents-CkHaALu1.js → agents-CGJzMj2S.js} +8 -8
- package/dist/{agents-list-tool-h0YontT9.js → agents-list-tool-C93hCbLj.js} +3 -3
- package/dist/{agents-list-tool-DZYlXoEu.js → agents-list-tool-Cd_Q7HuV.js} +3 -3
- package/dist/{agents-list-tool-C8z1M3vP.js → agents-list-tool-SNOunDVC.js} +3 -3
- package/dist/{audit-DFazpU7u.js → audit-CftXdiYP.js} +12 -12
- package/dist/{audit-DAd-GODJ.js → audit-D9GAKieT.js} +12 -12
- package/dist/{auth-choice-BWy0ncH4.js → auth-choice-DKtOuFks.js} +4 -4
- package/dist/{auth-choice-BqTjvTu_.js → auth-choice-dbpaxkks.js} +4 -4
- package/dist/{banner-fb9sKyTG.js → banner-B-uaqlJ9.js} +1 -1
- package/dist/{browser-cli-Dgym9Pss.js → browser-cli-BhqYEW3P.js} +3 -3
- package/dist/{browser-cli-NlqZe4Ya.js → browser-cli-DZrCLNaa.js} +3 -3
- package/dist/{browser-tool-9WO6zBb1.js → browser-tool-BWAVW295.js} +7 -7
- package/dist/{browser-tool-B8mfIisN.js → browser-tool-DErZM1k2.js} +7 -7
- package/dist/{browser-tool-B9ovj5p-.js → browser-tool-DjCmhgOb.js} +7 -7
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +153 -10
- package/dist/bundled/kg-message-sync/handler.js +2 -1
- package/dist/bundled/session-memory/handler.js +33 -0
- package/dist/{call-ZqMa-gJE.js → call-BWSchIcf.js} +3 -3
- package/dist/{call-Bak9BEaV.js → call-DHo0XdK6.js} +2 -11
- package/dist/{call-HrC4j982.js → call-DQ1ciEPz.js} +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{canvas-tool-DfHPvEBP.js → canvas-tool-BneFVxD8.js} +2 -2
- package/dist/{canvas-tool-DBXhD6tC.js → canvas-tool-DeJaejKM.js} +2 -2
- package/dist/{canvas-tool-BuPplKr1.js → canvas-tool-Ogd2OChc.js} +2 -2
- package/dist/{channel-options-BlbC4hoP.js → channel-options-D8AdMco0.js} +2 -2
- package/dist/{channel-options-Djd8KDTO.js → channel-options-DjEmC0qR.js} +2 -2
- package/dist/{channel-selection-rfZAntR5.js → channel-selection-1nQ35zxv.js} +1 -1
- package/dist/{channel-selection-DFlpx-HQ.js → channel-selection-wHLAe5Et.js} +1 -1
- package/dist/{channel-web-DOEUixG-.js → channel-web-DRfE9BO9.js} +12 -12
- package/dist/{channels-cli-BJXid8X2.js → channels-cli-B2WLqWbi.js} +13 -13
- package/dist/{channels-cli-URtGha3o.js → channels-cli-DWxvR4dU.js} +13 -13
- package/dist/{channels-status-issues-C0kIpkF7.js → channels-status-issues-8gZwCTjP.js} +1 -1
- package/dist/{channels-status-issues-DaiYEqAS.js → channels-status-issues-CE1BlXu3.js} +1 -1
- package/dist/{chrome-D_76HZyF.js → chrome-BA0Rm2cQ.js} +2 -2
- package/dist/{chrome-DuRehNFS.js → chrome-CQYa8Qpn.js} +2 -2
- package/dist/{chrome-BRzE-LJY.js → chrome-Cm9IFEur.js} +2 -2
- package/dist/{clawbot-cli-66rOShMF.js → clawbot-cli-00xvHy61.js} +1 -1
- package/dist/{clawbot-cli-hq1Rw3L6.js → clawbot-cli-BBjE2ol-.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-BkuiwObq.js → cli-CgVsnrl6.js} +3 -3
- package/dist/{cli-BHAgh8CB.js → cli-CtGu18f6.js} +3 -3
- package/dist/{client-B0-4D6WF.js → client-2fZQKc2l.js} +5 -5
- package/dist/{client-UbK7ubLT.js → client-4u1JH1Zk.js} +0 -9
- package/dist/{client-D1WALv-l.js → client-B8GOknl-.js} +5 -5
- package/dist/{client-BytZEJbm.js → client-D-ZPTrtK.js} +5 -5
- package/dist/{client-BYzTMaoO.js → client-W3BYtITQ.js} +0 -9
- package/dist/{command-registry-CfWB1hdH.js → command-registry-B5mckc9m.js} +14 -14
- package/dist/{commands-registry-BlyGFCSk.js → commands-registry-DJs-edcv.js} +2 -2
- package/dist/{commands-registry-C2WcVGlB.js → commands-registry-qRRu3RMk.js} +2 -2
- package/dist/{completion-cli-tqqS0a94.js → completion-cli-BXTewelZ.js} +2 -2
- package/dist/{completion-cli-Df0qaL-8.js → completion-cli-BcPY11gL.js} +1 -1
- package/dist/{config-Cv9wgnm3.js → config-BerwgOPM.js} +2 -2
- package/dist/{config-Cl99ZT5K.js → config-BrDW75c2.js} +2 -2
- package/dist/{config-jWZyRZCZ.js → config-DPP0lwsZ.js} +1 -1
- package/dist/{config-cli-CYLtsJxS.js → config-cli-CDhIjQc_.js} +4 -4
- package/dist/{config-cli-B5jOL0sJ.js → config-cli-CS88lrpx.js} +4 -4
- package/dist/{config-guard-CmMZyP8A.js → config-guard-CdCd4lGu.js} +3 -3
- package/dist/{config-guard-l4pi5ua5.js → config-guard-DeZ33UWP.js} +3 -3
- package/dist/{config-validation-Den1ytQw.js → config-validation-CL0L0Dyf.js} +2 -2
- package/dist/{config-validation-CLa17eM9.js → config-validation-txBaIaqO.js} +2 -2
- package/dist/{configure-Iq4PQCTT.js → configure-Bg10bnTk.js} +16 -16
- package/dist/{configure-DSS4L9Mq.js → configure-D5oM27Go.js} +16 -16
- package/dist/{control-service-yE-yJe9a.js → control-service-C369Rxs0.js} +6 -6
- package/dist/{control-service-C7eTLrXZ.js → control-service-DIbEfWbr.js} +6 -6
- package/dist/crm-conversation-themes-tool-47-Pcl5J.js +37 -0
- package/dist/crm-conversation-themes-tool-COuQB3TU.js +37 -0
- package/dist/crm-conversation-themes-tool-DB8zQpU1.js +37 -0
- package/dist/{cron-cli-D6wEIJaf.js → cron-cli-CsVKtwB8.js} +2 -2
- package/dist/{cron-cli-CQ94l2uK.js → cron-cli-Dddt4cu1.js} +2 -2
- package/dist/{cron-tool-UCuWE7ej.js → cron-tool-BWM-ykso.js} +5 -5
- package/dist/{cron-tool-NSfa1aQw.js → cron-tool-CD3kXNpT.js} +5 -5
- package/dist/{cron-tool-DbqPDo0E.js → cron-tool-CaMrrFJF.js} +5 -5
- package/dist/{daemon-cli-8SASjlXZ.js → daemon-cli-CAgHOWp8.js} +9 -9
- package/dist/{daemon-cli-RcyTg_dK.js → daemon-cli-yrlA9L0h.js} +9 -9
- package/dist/daemon-cli.js +2 -10
- package/dist/daemon-install-helpers-Dwlr417c.js +2 -0
- package/dist/daemon-install-helpers-Khda5myS.js +2 -0
- package/dist/{daemon-runtime-BhDDZrXa.js → daemon-runtime-C0_5HhUZ.js} +1 -1
- package/dist/{daemon-runtime-CAiL2S2s.js → daemon-runtime-CZXX_eXt.js} +1 -1
- package/dist/{deliver-B1Y0N_1y.js → deliver-BUifEj0F.js} +4 -4
- package/dist/{deliver-CSoS2hSJ.js → deliver-DJHcrP_i.js} +5 -5
- package/dist/{deliver-CUJiWM35.js → deliver-O2dLDnLg.js} +4 -4
- package/dist/{deps-D9Ntzz9k.js → deps-i_B9izvk.js} +7 -7
- package/dist/{devices-cli-Bipcftov.js → devices-cli-B9OXRt0t.js} +1 -1
- package/dist/{devices-cli-BRJy3IY1.js → devices-cli-DAcSoXi5.js} +1 -1
- package/dist/{directory-cli-8BQHC04L.js → directory-cli-kxPXkKog.js} +4 -4
- package/dist/{directory-cli-_WM5bP6W.js → directory-cli-t11V_DDe.js} +4 -4
- package/dist/{dispatcher-CtHTDVaN.js → dispatcher-CvddQmnF.js} +1 -1
- package/dist/{dispatcher-988hS7Ae.js → dispatcher-Dt_9aSBz.js} +1 -1
- package/dist/{dm-policy-shared-CfyAqELR.js → dm-policy-shared-Df7eGBuI.js} +2 -2
- package/dist/{dm-policy-shared-CppG0CX8.js → dm-policy-shared-DyFNKOIs.js} +2 -2
- package/dist/{dns-cli-DCgy52JG.js → dns-cli-CuxJhzIr.js} +2 -2
- package/dist/{dns-cli-DbqXCKNP.js → dns-cli-D-xNNWBy.js} +2 -2
- package/dist/doctor-completion-B-tgL_ut.js +2 -0
- package/dist/{doctor-completion-BPELnU8c.js → doctor-completion-D1cLVgnw.js} +1 -1
- package/dist/doctor-completion-DvEGPvIT.js +2 -0
- package/dist/{doctor-completion-DWJ2fJLm.js → doctor-completion-rfyVqz7I.js} +1 -1
- package/dist/{doctor-config-flow-Duw53q8X.js → doctor-config-flow-C2p3v-cC.js} +6 -6
- package/dist/{doctor-config-flow-9obFC4B6.js → doctor-config-flow-D6uaIY8F.js} +6 -6
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-DnEDMEl_.js → exec-approvals-cli-CYxKrRPS.js} +2 -2
- package/dist/{exec-approvals-cli-bG-2V8IK.js → exec-approvals-cli-CaGKwCkP.js} +2 -2
- package/dist/extensionAPI.d.ts +11 -0
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-CsUP-93u.js → gateway-DpUea-L8.js} +3 -3
- package/dist/{gateway-CHEg4jKw.js → gateway-DyaIYiPf.js} +3 -3
- package/dist/{gateway-CcEXool4.js → gateway-RMd15lxN.js} +3 -3
- package/dist/{gateway-cli-CLUd67zt.js → gateway-cli-1dY-uNhm.js} +125 -77
- package/dist/{gateway-cli-BaxymLId.js → gateway-cli-n18LFNeU.js} +124 -76
- package/dist/{gateway-rpc-COQ8FqPA.js → gateway-rpc-BaD9gDWy.js} +1 -1
- package/dist/{gateway-rpc-BqUEmI86.js → gateway-rpc-C3LLjyGe.js} +1 -1
- package/dist/{gateway-tool-CLJLs_eO.js → gateway-tool-BAdp6SH1.js} +3 -3
- package/dist/{gateway-tool-DIlC2Nw9.js → gateway-tool-kRxmsmMz.js} +3 -3
- package/dist/{gateway-tool-CMZ7JFSi.js → gateway-tool-sHQ43WtK.js} +3 -3
- package/dist/{github-copilot-auth-DSN2t-MD.js → github-copilot-auth-C6LhCOk3.js} +2 -2
- package/dist/{github-copilot-auth-DEKfsNig.js → github-copilot-auth-VK12SD5f.js} +2 -2
- package/dist/{gmail-C0H3lnho.js → gmail-89acEtXH.js} +1 -1
- package/dist/{gmail-BWzWyuEC.js → gmail-tGz-kYHa.js} +1 -1
- package/dist/{health-BOLotDVI.js → health-8oE9qNSE.js} +10 -10
- package/dist/{health-n09fR4uF.js → health-CYE5q8Un.js} +10 -10
- package/dist/{heartbeat-events-DLgkBgdw.js → heartbeat-events-C2_9-jxQ.js} +2 -1
- package/dist/{heartbeat-events-CNb7CXLY.js → heartbeat-events-D-wmX2Vg.js} +2 -1
- package/dist/{helpers-u2p1CEdY.js → helpers-CNcaAdSH.js} +1 -1
- package/dist/{helpers-wYqnVV1l.js → helpers-bG_wfee1.js} +1 -1
- package/dist/{hooks-cli-BChX0GfN.js → hooks-cli-CB_KzY16.js} +2 -2
- package/dist/{hooks-cli-BsiKHy2j.js → hooks-cli-CEnzt4Dn.js} +2 -2
- package/dist/{host-D_jlsIB_.js → host-Ck1Iu5db.js} +33 -0
- package/dist/{host-w2pX4Cmj.js → host-FOFn61kz.js} +33 -0
- package/dist/{image-tool-DPs5GOo0.js → image-tool-CEjIXfAz.js} +2 -2
- package/dist/{image-tool-KquG28S1.js → image-tool-DA0ckrPq.js} +1 -1
- package/dist/{image-tool-B64cWBbG.js → image-tool-OiDWYqmY.js} +2 -2
- package/dist/index.d.ts +11 -0
- package/dist/index.js +10 -10
- package/dist/{io-_W2ysx6z.js → io-6cqme3no.js} +2 -2
- package/dist/{io-DL2AoOm6.js → io-7MYBxUkU.js} +2 -2
- package/dist/{io-CHxJ2IV9.js → io-D8w0m4e7.js} +2 -1
- package/dist/{ir-C_pqBx9f.js → ir-BPZJ-sfR.js} +1 -1
- package/dist/{ir-CQ_IDLBh.js → ir-BhnJmnK_.js} +5 -5
- package/dist/{ir-De8voDFg.js → ir-CdlSkzAy.js} +1 -1
- package/dist/{lifecycle-core-D-4LcacU.js → lifecycle-core-Dmy-67JO.js} +3 -3
- package/dist/{lifecycle-core-Dv7iETEh.js → lifecycle-core-DwiJf6GO.js} +3 -3
- package/dist/llm-slug-generator.js +33 -0
- package/dist/{load-tools-tool-ty4HlT93.js → load-tools-tool-CK9n4dpv.js} +3 -3
- package/dist/{load-tools-tool-BYrsmdJA.js → load-tools-tool-DVMiLHnV.js} +3 -3
- package/dist/{load-tools-tool-D-t6Uyow.js → load-tools-tool-jvr9ELiC.js} +3 -3
- package/dist/{logs-cli-D0f9ClNf.js → logs-cli-DYkz_Y2b.js} +2 -2
- package/dist/{logs-cli-DQcLuVDk.js → logs-cli-y33n6Plb.js} +2 -2
- package/dist/{memory-cli-DJz45LiT.js → memory-cli-CchSD5_M.js} +3 -3
- package/dist/{memory-cli-B-kgMpE9.js → memory-cli-DWeZSF4O.js} +3 -3
- package/dist/{message-action-runner-WAH6Nx_E.js → message-action-runner-BJzBMfAN.js} +11 -11
- package/dist/{message-action-runner-CrnI7zJF.js → message-action-runner-aRJaOp3h.js} +11 -11
- package/dist/{message-ledger-DGMqKFzT.js → message-ledger-DmX8k7Eb.js} +6 -6
- package/dist/{message-tool-BP7sus2D.js → message-tool-BT_lShXP.js} +6 -6
- package/dist/{message-tool-DJ4XAozg.js → message-tool-CJ2k9G2X.js} +6 -6
- package/dist/{message-tool-C4ivxq_1.js → message-tool-DkxTGNJ_.js} +9 -9
- package/dist/{minion-tools-DR8Fp8tP.js → minion-tools-CEQNyDLo.js} +22 -20
- package/dist/{model-catalog-DU-4NufX.js → model-catalog-Dun9rUwm.js} +3 -3
- package/dist/{model-catalog-DmPKIRh-.js → model-catalog-RhTD2XJY.js} +3 -3
- package/dist/{model-fallback-D6SvylPa.js → model-fallback-Cm3Tv0In.js} +2 -2
- package/dist/{model-fallback-DjjhedHX.js → model-fallback-CrSemKRh.js} +2 -2
- package/dist/{model-fallback-BIWcF5BS.js → model-fallback-uwtaor8f.js} +4 -4
- package/dist/{model-picker-CdMq6Dy8.js → model-picker-C_UhEF-R.js} +2 -2
- package/dist/{model-picker-CUVKlLlc.js → model-picker-D7OvwR5Y.js} +2 -2
- package/dist/{models-CDsotXJU.js → models-DEvrTY5o.js} +12 -12
- package/dist/{models-cli-DgOgLS1i.js → models-cli-BBuPQES6.js} +2 -2
- package/dist/{models-cli-BVnIdzK_.js → models-cli-DsDVKG2f.js} +12 -12
- package/dist/{models-config-8eBWJPY6.js → models-config-DTMIOONu.js} +2 -2
- package/dist/{models-config-Ca7_3EVB.js → models-config-pB1nNFSi.js} +2 -2
- package/dist/{node-cli-BVFcL7al.js → node-cli-Cdp1_fUq.js} +9 -9
- package/dist/{node-cli-DuEWn_K5.js → node-cli-DsU_QUTE.js} +9 -9
- package/dist/{nodes-cli-BB-4JVQ9.js → nodes-cli-B4oX5uNL.js} +5 -5
- package/dist/{nodes-cli-BV5htTim.js → nodes-cli-CKkuvp7a.js} +5 -5
- package/dist/{nodes-tool-DNk_iGvq.js → nodes-tool-C9NV_GnB.js} +3 -3
- package/dist/{nodes-tool-D9D8rWHz.js → nodes-tool-CTpJ5fug.js} +3 -3
- package/dist/{nodes-tool-VT3uXXFG.js → nodes-tool-sKJc-Yjj.js} +3 -3
- package/dist/{nodes-utils-Bwt9VQrQ.js → nodes-utils-CFmLuU06.js} +1 -1
- package/dist/{nodes-utils-hu5DJ-kd.js → nodes-utils-CkQsT0N0.js} +1 -1
- package/dist/{nodes-utils-DGkb5nAT.js → nodes-utils-DNMhzvVb.js} +1 -1
- package/dist/{onboard-2ztWbC9y.js → onboard-V7JyPJex.js} +9 -9
- package/dist/{onboard-channels-BQPYIAjI.js → onboard-channels-BDfxpK7n.js} +1 -1
- package/dist/{onboard-channels-DVkwLCVk.js → onboard-channels-CmC3qBbq.js} +3 -3
- package/dist/{onboard-channels-CiCrqf3j.js → onboard-channels-CzKarfzC.js} +1 -1
- package/dist/{onboard-channels-DrLduhDq.js → onboard-channels-yUQOZPgP.js} +3 -3
- package/dist/{onboard-custom-Bg1Gr0Lb.js → onboard-custom-BDM5_y2p.js} +2 -2
- package/dist/{onboard-custom-Dj7SknXG.js → onboard-custom-BvfApkVd.js} +1 -1
- package/dist/{onboard-custom-L6PmxwEN.js → onboard-custom-CfZMfUJ3.js} +1 -1
- package/dist/{onboard-custom-C3VrRkQU.js → onboard-custom-CmwY-IfM.js} +2 -2
- package/dist/{onboard-helpers-98Ab25-x.js → onboard-helpers-BE_18443.js} +1 -1
- package/dist/{onboard-helpers-Ckl5HK9L.js → onboard-helpers-CekhN2Dt.js} +5 -5
- package/dist/{onboard-helpers-Dx0nCBj-.js → onboard-helpers-DfEvL7Eo.js} +1 -1
- package/dist/{onboard-helpers-CWZOB3ci.js → onboard-helpers-gS7HQOeH.js} +5 -5
- package/dist/{onboard-remote-ngZhsiae.js → onboard-remote-CEWlSso0.js} +1 -1
- package/dist/{onboard-remote-Cl8bKHYI.js → onboard-remote-aQfExF92.js} +1 -1
- package/dist/{onboard-BM4TgJ6r.js → onboard-rqIA9EXQ.js} +9 -9
- package/dist/{onboard-skills-fAHH7Gyd.js → onboard-skills-75JQVISV.js} +1 -1
- package/dist/{onboard-skills-Qg53Hbwm.js → onboard-skills-BSGpQX_t.js} +1 -1
- package/dist/{onboarding-C5nm_X1A.js → onboarding-BNfuRC7v.js} +12 -12
- package/dist/{onboarding-D8RZyRch.js → onboarding-IiILUaqA.js} +12 -12
- package/dist/{onboarding.finalize-Bd8kpm5F.js → onboarding.finalize-D2iRalHn.js} +9 -9
- package/dist/{onboarding.finalize-BVBgWbsD.js → onboarding.finalize-T1iu9hW_.js} +9 -9
- package/dist/{onboarding.gateway-config-Bdb5Z5Aw.js → onboarding.gateway-config-DPJvhCxG.js} +2 -2
- package/dist/{onboarding.gateway-config-CQIiKPZZ.js → onboarding.gateway-config-W1qUrMi_.js} +2 -2
- package/dist/{outbound-send-deps-DrcbV6tD.js → outbound-send-deps-_gwXpS3X.js} +7 -7
- package/dist/{pairing-cli-CcnxCBHt.js → pairing-cli-DOVP6x__.js} +4 -4
- package/dist/{pairing-cli-st8U6EcM.js → pairing-cli-DZQ0VISz.js} +4 -4
- package/dist/{pairing-store-BZ_JYBuQ.js → pairing-store-BP5Qp69V.js} +2 -2
- package/dist/{pairing-store-B79S_0_e.js → pairing-store-CNDIY_e9.js} +2 -2
- package/dist/{pi-embedded-helpers-DomoDW6C.js → pi-embedded-helpers-CAos7nyg.js} +6 -6
- package/dist/{pi-embedded-helpers-Crzl9Ptt.js → pi-embedded-helpers-CJQRe8VG.js} +1 -1
- package/dist/{pi-embedded-helpers-Dy2o4GJU.js → pi-embedded-helpers-Dt84Vt0L.js} +1 -1
- package/dist/{pi-embedded-utils-W20xojsQ.js → pi-embedded-utils-BlYe4un1.js} +1 -1
- package/dist/{pi-embedded-utils-Dov_1wrm.js → pi-embedded-utils-C3czix2Z.js} +1 -1
- package/dist/{pi-embedded-utils-C9Ig6x5H.js → pi-embedded-utils-CnKLZQZs.js} +1 -1
- package/dist/{pi-tools.policy-ZOYo3MOw.js → pi-tools.policy-DClWWLv0.js} +4 -4
- package/dist/{plugin-auto-enable-DJVuPnPD.js → plugin-auto-enable-2zVKrpSR.js} +1 -1
- package/dist/{plugin-auto-enable-pxHX0maS.js → plugin-auto-enable-BFqsBeiO.js} +1 -1
- package/dist/{plugin-registry-BdA8bkkg.js → plugin-registry-B8Ol763b.js} +3 -3
- package/dist/{plugin-registry-BcUcYmaR.js → plugin-registry-DqZ7qJuj.js} +3 -3
- package/dist/plugin-sdk/agents/tools/hub/crm-conversation-themes-tool.d.ts +11 -0
- package/dist/plugin-sdk/agents/tools/hub/search-crm-conversations-tool.d.ts +11 -0
- package/dist/plugin-sdk/channels/discord.js +153 -10
- package/dist/plugin-sdk/channels/imessage.js +153 -10
- package/dist/plugin-sdk/channels/line.js +153 -10
- package/dist/plugin-sdk/channels/signal.js +153 -10
- package/dist/plugin-sdk/channels/slack.js +153 -10
- package/dist/plugin-sdk/channels/telegram.js +153 -10
- package/dist/plugin-sdk/channels/whatsapp.js +153 -10
- package/dist/plugin-sdk/config/types.channels.d.ts +11 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
- package/dist/plugin-sdk/config/zod-schema.providers.d.ts +1 -0
- package/dist/plugin-sdk/core.js +2 -1
- package/dist/plugin-sdk/gateway/client.d.ts +0 -5
- package/dist/plugin-sdk/index.js +153 -10
- package/dist/plugin-sdk/personal-agent/credential-client.d.ts +6 -3
- package/dist/{plugins-aBgm3_eG.js → plugins-BSX3IzSW.js} +1 -1
- package/dist/{plugins-ILaNu51h.js → plugins-BbE87x_i.js} +1 -1
- package/dist/{plugins-DIMPP-zl.js → plugins-Db3l--Iv.js} +1 -1
- package/dist/{plugins-cli-z0673Z22.js → plugins-cli-Do_2x-P9.js} +3 -3
- package/dist/{plugins-cli-DMXOjGN9.js → plugins-cli-sYIckkU6.js} +3 -3
- package/dist/{program-CYyifeuZ.js → program-DuPIc0CA.js} +7 -7
- package/dist/{program-context-DzIbU0bj.js → program-context-Butv-q95.js} +42 -42
- package/dist/{prompt-select-styled-DE_9eTX0.js → prompt-select-styled-BExVeXb2.js} +18 -18
- package/dist/{prompt-select-styled-BI5heXfT.js → prompt-select-styled-Cp4tJmDm.js} +18 -18
- package/dist/{push-apns-CEfyUVQq.js → push-apns-Bxplfna8.js} +1 -31
- package/dist/{push-apns-D-ADx4p9.js → push-apns-a42ldGL8.js} +1 -31
- package/dist/{pw-ai-BkVKdYxH.js → pw-ai-CYHslBvW.js} +2 -2
- package/dist/{pw-ai-B6aEpQIL.js → pw-ai-CuhAAfak.js} +2 -2
- package/dist/{pw-ai-1AjpMjvn.js → pw-ai-DQg5o_dq.js} +2 -2
- package/dist/{pw-session-CwDrqroL.js → pw-session-CE6GP8K2.js} +1 -1
- package/dist/{pw-session-BTG9qS_z.js → pw-session-DllHustd.js} +1 -1
- package/dist/{pw-session-DOTM4Sle.js → pw-session-UBu8_Nno.js} +1 -1
- package/dist/{qr-cli-FqFw51_J.js → qr-cli-BCZv2_hI.js} +2 -2
- package/dist/{qr-cli-D38LRTOG.js → qr-cli-DX6_VGoE.js} +2 -2
- package/dist/{register.agent-CD9wHycm.js → register.agent-BxjtbKDH.js} +7 -7
- package/dist/{register.agent-BYrXMCEF.js → register.agent-DWJIWMVU.js} +12 -12
- package/dist/{register.channel-B9Mw_26i.js → register.channel-BDuMmK1a.js} +2 -2
- package/dist/{register.channel-fZE2JOS9.js → register.channel-C_DXxr7c.js} +2 -2
- package/dist/{register.configure-Dqmb6Fqp.js → register.configure-B_XY4Rl7.js} +1 -1
- package/dist/{register.configure-C8kMa4VY.js → register.configure-kQKEsyRt.js} +1 -1
- package/dist/{register.drone-DX5m_SKw.js → register.drone-B2YlfnxU.js} +2 -2
- package/dist/{register.drone-DyOcUxfl.js → register.drone-BEaZQLpQ.js} +2 -2
- package/dist/{register.maintenance-3MNrjbFd.js → register.maintenance-BzbQEwcr.js} +5 -5
- package/dist/{register.maintenance-CuxgtPmA.js → register.maintenance-x4QqUEAs.js} +5 -5
- package/dist/{register.message-BaCQuwDe.js → register.message-C-HGH6ro.js} +7 -7
- package/dist/{register.message-D0inC6JU.js → register.message-erSrrSy8.js} +7 -7
- package/dist/{register.onboard-CtZogYsE.js → register.onboard-DtSasogy.js} +1 -1
- package/dist/{register.onboard-CkI-ZPxt.js → register.onboard-RztK81fK.js} +1 -1
- package/dist/{register.setup-BCAqb9nl.js → register.setup-CNKwjRf3.js} +4 -4
- package/dist/{register.setup-CvTBTBJL.js → register.setup-CU4oyWQN.js} +4 -4
- package/dist/{register.status-health-sessions-BCca16t9.js → register.status-health-sessions-C4MLusee.js} +6 -6
- package/dist/{register.status-health-sessions-CGSIqPsZ.js → register.status-health-sessions-CaPTa3NI.js} +3 -3
- package/dist/{register.subclis-avuYre6I.js → register.subclis-Q6q9ktLa.js} +29 -29
- package/dist/{reply-CMo5_5nQ.js → reply-pajA-Yl6.js} +33 -31
- package/dist/{reply-payloads-C5viTd5m.js → reply-payloads-BlZu5x6x.js} +6 -6
- package/dist/{reply-prefix-BqPoLwgX.js → reply-prefix-C2RVZSgb.js} +1 -1
- package/dist/{reply-prefix-C_4_2_tQ.js → reply-prefix-g25aWRqJ.js} +1 -1
- package/dist/{resolve-route-B8qAtRTs.js → resolve-route-DQ7BIAU_.js} +2 -2
- package/dist/{resolve-route-Dr04XQXF.js → resolve-route-yooa1z42.js} +4 -4
- package/dist/{routes-CSewHf9L.js → routes-C5NVLNYd.js} +4 -4
- package/dist/{routes-COyjqFSx.js → routes-C9bf1VtT.js} +4 -4
- package/dist/{rpc-Bps1MdYe.js → rpc-BXk0xG0H.js} +1 -1
- package/dist/{rpc-U0uJ0I1k.js → rpc-CRCwztMb.js} +1 -1
- package/dist/{run-main-CeWSzBJg.js → run-main-BdLBIyiP.js} +19 -19
- package/dist/{sandbox-DVJQM86_.js → sandbox-DLtSFsnF.js} +7 -7
- package/dist/{sandbox-CITm9v8F.js → sandbox-DQ8PqB1U.js} +7 -7
- package/dist/{sandbox-cli-DGeuI0Wo.js → sandbox-cli-BoxfOIvp.js} +4 -4
- package/dist/{sandbox-cli-B95ZMCXB.js → sandbox-cli-CFJ9cLf1.js} +4 -4
- package/dist/{sdk-inspect-tool-CZuz_PqC.js → sdk-inspect-tool--0YwiPqb.js} +2 -2
- package/dist/{sdk-inspect-tool-pAJTD-ha.js → sdk-inspect-tool-gngBv_e2.js} +2 -2
- package/dist/{sdk-inspect-tool-D42KFyHW.js → sdk-inspect-tool-lWmixb2O.js} +2 -2
- package/dist/search-crm-conversations-tool-CXlTimAj.js +37 -0
- package/dist/search-crm-conversations-tool-CsAUIlEu.js +37 -0
- package/dist/search-crm-conversations-tool-CxEqcbxC.js +37 -0
- package/dist/{search-tools-tool-C-IdNFYI.js → search-tools-tool-BCV0uHLY.js} +2 -2
- package/dist/{search-tools-tool-RZGm2Xcj.js → search-tools-tool-DIr1vVNX.js} +2 -2
- package/dist/{search-tools-tool-DHcesN1E.js → search-tools-tool-XuYT8kpL.js} +2 -2
- package/dist/{security-cli-CVhHPapS.js → security-cli-Cx2puO6Q.js} +4 -4
- package/dist/{security-cli-vf7gqh0K.js → security-cli-sqaoNzjc.js} +4 -4
- package/dist/{send-B4YbtmkF.js → send-BABrPQhp.js} +4 -4
- package/dist/{send-CjkML4L8.js → send-BOAXOqlj.js} +5 -5
- package/dist/{send-D2OpIavo.js → send-BhHYA7fz.js} +4 -4
- package/dist/{send-DK8EFs7N.js → send-C1R6SHFd.js} +4 -4
- package/dist/{send-B0lgkcly.js → send-CQTnHf7j.js} +6 -6
- package/dist/{send-CFbW7252.js → send-CzX8rfQQ.js} +6 -6
- package/dist/{send-DKFYAGz-.js → send-DIjmAwBt.js} +5 -5
- package/dist/{send-Cy07SRYV.js → send-DfwkS1Cy.js} +5 -5
- package/dist/{send-5NXIO0Hz.js → send-DmLvgXqi.js} +5 -5
- package/dist/{send-CDxvcffu.js → send-F3N3Vgcy.js} +4 -4
- package/dist/{server-context-BzJmaGcJ.js → server-context-BYcLDvQc.js} +6 -6
- package/dist/{server-context-tH7qykHx.js → server-context-CDmBokpm.js} +6 -6
- package/dist/{server-context-DjgDk76D.js → server-context-DFdTmsBq.js} +6 -6
- package/dist/{server-methods-list-DCASvqMj.js → server-methods-list-CUUd_Znm.js} +1 -1
- package/dist/{server-methods-list-DDeo_-Mr.js → server-methods-list-ZEquDpTD.js} +1 -1
- package/dist/{server-node-events-FM-1CCYG.js → server-node-events-Dml6MIAW.js} +11 -11
- package/dist/{server-node-events-FvS3PKPQ.js → server-node-events-DpkjSBLL.js} +9 -9
- package/dist/{session-status-tool-DP2Q1LTf.js → session-status-tool-BHEQX4IM.js} +6 -6
- package/dist/{session-status-tool-Bzg63rF-.js → session-status-tool-CIAw4c-9.js} +5 -5
- package/dist/{session-status-tool-Cm0CqYIk.js → session-status-tool-CJeMrNTI.js} +7 -7
- package/dist/{session-utils-DJlQmR6P.js → session-utils-Ffl6ASbR.js} +4 -4
- package/dist/{sessions-D0Infjpa.js → sessions-CiNGPwTK.js} +4 -4
- package/dist/{sessions-utf2q0f9.js → sessions-ClJAVE0p.js} +6 -6
- package/dist/{sessions-BCDks_XV.js → sessions-DcOCMszs.js} +3 -3
- package/dist/{sessions-CNmLoXhd.js → sessions-bztP6lN1.js} +6 -6
- package/dist/{sessions-helpers-xCR-AaFX.js → sessions-helpers-Ctko7_ZU.js} +3 -3
- package/dist/{sessions-helpers-zap6ivKN.js → sessions-helpers-D6BayuvJ.js} +3 -3
- package/dist/{sessions-helpers-ghfg2LfY.js → sessions-helpers-DpKh-EgX.js} +3 -3
- package/dist/{sessions-history-tool-CxIG0JPX.js → sessions-history-tool-BtLEW8Jq.js} +5 -5
- package/dist/{sessions-history-tool-BF5ChD6B.js → sessions-history-tool-DlKTVhCD.js} +5 -5
- package/dist/{sessions-history-tool-D3Dn_uha.js → sessions-history-tool-DnxZRMF3.js} +5 -5
- package/dist/{sessions-list-tool-B6UDiCME.js → sessions-list-tool-BGmjNjoA.js} +5 -5
- package/dist/{sessions-list-tool-BT6CtOqD.js → sessions-list-tool-DSB6_hFi.js} +5 -5
- package/dist/{sessions-list-tool-CCPfOMIk.js → sessions-list-tool-OP5IQOE0.js} +5 -5
- package/dist/{sessions-send-tool-DSiDvTip.js → sessions-send-tool-BF8lKSLy.js} +6 -6
- package/dist/{sessions-send-tool-CIkyHnqX.js → sessions-send-tool-C1WMGH6W.js} +6 -6
- package/dist/{sessions-send-tool-3Xy11nb5.js → sessions-send-tool-CG8A-kW5.js} +5 -5
- package/dist/{sessions-spawn-tool-P_cgC56H.js → sessions-spawn-tool-BD6XdQ4G.js} +1 -1
- package/dist/{sessions-spawn-tool-DNo3suCr.js → sessions-spawn-tool-BE94fv2r.js} +1 -1
- package/dist/{sessions-spawn-tool-BOUcfO2z.js → sessions-spawn-tool-DRxk6sWZ.js} +1 -1
- package/dist/{shared-DZI5Tw3G.js → shared-3xuhqrQ5.js} +2 -2
- package/dist/{shared-Cs4h-DrN.js → shared-CCaYvPXV.js} +2 -2
- package/dist/{skills-cli-Czq_tuYG.js → skills-cli-CQ8fYddY.js} +2 -2
- package/dist/{skills-cli-_aZXg-M2.js → skills-cli-D-V0vRgX.js} +2 -2
- package/dist/{status-B8ctdi4H.js → status-BeasmhMH.js} +13 -13
- package/dist/{status-qdsXcKy3.js → status-D8c6C5Z0.js} +3 -3
- package/dist/{status-DAl0ewcT.js → status-DHuWnwac.js} +3 -3
- package/dist/{status-DAWcKhN8.js → status-DbOwDhDe.js} +14 -14
- package/dist/{status.update-BBvsvukV.js → status.update-otfuSKpG.js} +1 -1
- package/dist/{status.update-GAs1fuEC.js → status.update-ww09PQZI.js} +1 -1
- package/dist/{subagent-registry-ByD-v8W6.js → subagent-registry-BHdRG10Z.js} +34 -32
- package/dist/{subagents-tool-DW6VxAbS.js → subagents-tool-CpBMVS4i.js} +6 -6
- package/dist/{subagents-tool-DY3qkUDA.js → subagents-tool-DIxAhxWP.js} +6 -6
- package/dist/{subagents-tool-DzdXPWJG.js → subagents-tool-h2WCtDtU.js} +6 -6
- package/dist/{system-cli-BfEvMnOR.js → system-cli-C7sjnpqK.js} +1 -1
- package/dist/{system-cli-DGKQvMgv.js → system-cli-DP_wysY-.js} +1 -1
- package/dist/{systemd-hints-BuFrkz3c.js → systemd-hints-BnL2sVfy.js} +1 -1
- package/dist/{systemd-hints-CknVLhp1.js → systemd-hints-DEXpKBnF.js} +1 -1
- package/dist/{tables-7hvx4NLL.js → tables-Cu2OX2r-.js} +1 -1
- package/dist/{tables-CaW_VQVO.js → tables-DMdQO81Y.js} +1 -1
- package/dist/{targets-BLzENb7Y.js → targets-By4KtyZv.js} +1 -1
- package/dist/{targets-q-IdZXy8.js → targets-DypSB4K6.js} +2 -2
- package/dist/{targets-dnyaBFnI.js → targets-UmV1VAkB.js} +1 -1
- package/dist/{tool-index-jbcu4uIg.js → tool-index-BtpJk78_.js} +1 -1
- package/dist/{tool-index-CSvXEUhV.js → tool-index-BwKMLu1r.js} +1 -1
- package/dist/{tool-index-DT6m2Vqq.js → tool-index-CEYMGFrO.js} +1 -1
- package/dist/{tool-policy-Cn0_ZqFk.js → tool-policy-CGuZzs9F.js} +2 -0
- package/dist/{tools-cli-NmnXQw8E.js → tools-cli-B13gsec8.js} +3 -3
- package/dist/{tools-cli-C8t6Y2DR.js → tools-cli-BJ_zWgqf.js} +3 -3
- package/dist/{tts-DT0JbNew.js → tts-CdyriGYN.js} +2 -2
- package/dist/{tts-CkvaGeSt.js → tts-DH1gVM5t.js} +34 -1
- package/dist/{tts-BKfdvnUw.js → tts-EAcO1Hwe.js} +2 -2
- package/dist/{tts-tool-Bt02Ilnt.js → tts-tool-BBIMu7X2.js} +3 -3
- package/dist/{tts-tool-B4hynytG.js → tts-tool-DO_F3ZME.js} +3 -3
- package/dist/{tts-tool-DeKe9DRz.js → tts-tool-oG4FOqod.js} +3 -3
- package/dist/{tui-Djk1B2Va.js → tui-CvQjFLn2.js} +6 -13
- package/dist/{tui-BlYxWZKF.js → tui-CyKvw7SL.js} +6 -13
- package/dist/{tui-cli-B8fz3Gfm.js → tui-cli-DROBYt8G.js} +1 -1
- package/dist/{tui-cli-BGoP1l4m.js → tui-cli-PQR9JVFA.js} +1 -1
- package/dist/{update-cli--Kai2Xfo.js → update-cli-DsNQjCBa.js} +8 -8
- package/dist/{update-cli-B4x9hkNP.js → update-cli-GDRvdoj2.js} +8 -8
- package/dist/{validation-Tg8YP6Zn.js → validation-DAS7vvMM.js} +1 -0
- package/dist/{validation-Crc6Dwkp.js → validation-DoqW0cF4.js} +1 -0
- package/dist/{web-BNlwEmMT.js → web-Bqx30F6C.js} +12 -12
- package/dist/web-DKofD48i.js +2 -0
- package/dist/{web-search-Q8h69tgX.js → web-search-BGzVmln0.js} +4 -4
- package/dist/{web-search-CG0Jah4V.js → web-search-BXe6QGYe.js} +4 -4
- package/dist/{web-search-8KE8nizc.js → web-search-CGnEgHNH.js} +4 -4
- package/dist/{webhooks-cli-loBRONyV.js → webhooks-cli-DMfQ_Sq0.js} +4 -4
- package/dist/{webhooks-cli-Dtt7wEbR.js → webhooks-cli-wUMz0eSs.js} +4 -4
- package/dist/{workspace-dirs-DCRQB551.js → workspace-dirs-Duw92DA5.js} +4 -4
- package/extensions/alert-watcher/index.js +33 -0
- package/extensions/bluebubbles/index.js +1 -0
- package/extensions/feishu/index.js +1 -0
- package/extensions/flows/index.js +34 -0
- package/extensions/gmail-calendar/index.js +201 -100
- package/extensions/gmail-calendar/index.ts +4 -0
- package/extensions/gmail-calendar/src/pulse-tools.test.ts +14 -0
- package/extensions/gmail-calendar/src/pulse-tools.ts +63 -0
- package/extensions/googlechat/index.js +1 -0
- package/extensions/irc/index.js +1 -0
- package/extensions/llm-task/index.js +33 -0
- package/extensions/matrix/{credentials-BiYGX26F.mjs → credentials-B_Avjvsy.mjs} +1 -0
- package/extensions/matrix/index.js +3 -3
- package/extensions/matrix/{matrix-Dqf7qlT1.mjs → matrix-Dy31zmus.mjs} +2 -2
- package/extensions/matrix/{resolve-targets-BPyBSXgs.mjs → resolve-targets-Bv0B2AJv.mjs} +2 -2
- package/extensions/mattermost/index.js +1 -0
- package/extensions/meta-graph/index.js +43 -3
- package/extensions/meta-graph/minion.manifest.ts +3 -0
- package/extensions/meta-graph/minion.plugin.json +7 -1
- package/extensions/meta-graph/src/channels/messaging-platform.ts +66 -1
- package/extensions/meta-graph/src/channels/shared.ts +21 -0
- package/extensions/nextcloud-talk/index.js +1 -0
- package/extensions/tlon/index.js +33 -0
- package/extensions/wati/index.js +1 -0
- package/extensions/weixin/index.js +1 -0
- package/extensions/zalo/index.js +1 -0
- package/extensions/zalouser/index.js +1 -0
- package/package.json +1 -1
- package/dist/daemon-install-helpers-7XKlSxjN.js +0 -2
- package/dist/daemon-install-helpers-BItV2t5d.js +0 -2
- package/dist/doctor-completion-8gqw3zRt.js +0 -2
- package/dist/doctor-completion-uY7s1Gdv.js +0 -2
- 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.
|
|
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<{
|
package/dist/plugin-sdk/core.js
CHANGED
|
@@ -4557,7 +4557,7 @@ function resolveShellEnvFallbackTimeoutMs(env) {
|
|
|
4557
4557
|
}
|
|
4558
4558
|
//#endregion
|
|
4559
4559
|
//#region src/version.ts
|
|
4560
|
-
const VERSION = "2026.7.
|
|
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;
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
32
|
-
*
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
7
|
-
import "./config-
|
|
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-
|
|
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";
|