@nikolasp98/minion 2026.6.14-dev.20260616061802 → 2026.6.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/{acp-cli-Du7NWZu3.js → acp-cli-2xKZfd6v.js} +3 -3
- package/dist/{acp-cli-BmKOFno7.js → acp-cli-q8e4aJoa.js} +3 -3
- package/dist/{agent-6dzad4Vk.js → agent-CZq9c4BW.js} +13 -13
- package/dist/{agent-step-C3wXb9Cx.js → agent-step-D5w2xNfi.js} +2 -2
- package/dist/{agent-step-Bf1GImWB.js → agent-step-DnVo1ws9.js} +2 -2
- package/dist/{agents-Dw2xlB7X.js → agents-3owoMugG.js} +7 -7
- package/dist/{agents-list-tool-Dq0lIpTn.js → agents-list-tool-Bjcc4I_6.js} +3 -3
- package/dist/{agents-list-tool-D9mHFLLa.js → agents-list-tool-CzUTgXov.js} +3 -3
- package/dist/{agents.config-1imA1H12.js → agents.config-Di1Fb5KI.js} +12 -12
- package/dist/{audit-DmbpL3cv.js → audit-B8L_aShb.js} +10 -10
- package/dist/{audit-DmJGMt0j.js → audit-Ck6MCUxx.js} +10 -10
- package/dist/{auth-choice-neer30p3.js → auth-choice-B6U5biA7.js} +4 -4
- package/dist/{auth-choice-CAmZkQLg.js → auth-choice-DmpOyRlb.js} +4 -4
- package/dist/{banner-DpI_geg3.js → banner-Be2ToLay.js} +1 -1
- package/dist/{browser-cli-z39mB4Us.js → browser-cli-BvtSNPci.js} +3 -3
- package/dist/{browser-cli-DDHEGwdS.js → browser-cli-De-S5eSp.js} +3 -3
- package/dist/{browser-tool-CWG74LXa.js → browser-tool-BVAlCkv9.js} +7 -7
- package/dist/{browser-tool-CZsdYOyF.js → browser-tool-CTNhVzit.js} +7 -7
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +489 -42
- package/dist/bundled/kg-message-sync/handler.js +6 -2
- package/dist/bundled/session-memory/handler.js +47 -1
- package/dist/{call-DkT-xA-u.js → call-BrDNyQiZ.js} +2 -2
- package/dist/{call-COjGFB_A.js → call-Di0NGY7s.js} +2 -2
- package/dist/{call-BKa0221r.js → call-QNmBuec5.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{canvas-tool-yqzOmVk8.js → canvas-tool-C8kJ8X6t.js} +2 -2
- package/dist/{canvas-tool-D7utVUj9.js → canvas-tool-v_tDod0l.js} +2 -2
- package/dist/{channel-options-DDJR7t6c.js → channel-options-BgB_XE_R.js} +1 -1
- package/dist/{channel-options-wAeX19Sd.js → channel-options-C3G3uvc8.js} +1 -1
- package/dist/{channel-web-B731iz_S.js → channel-web-C7erWB8c.js} +7 -7
- package/dist/{channels-cli-DyZ1QjyT.js → channels-cli-CWL9_dUC.js} +9 -9
- package/dist/{channels-cli-B2lgO976.js → channels-cli-D0WU7aEW.js} +9 -9
- package/dist/{chrome-BYfNS8BB.js → chrome-BUH9jMtc.js} +1 -1
- package/dist/{chrome-DKRiholg.js → chrome-WqxB18cs.js} +2 -2
- package/dist/{chrome-C3MXJRdA.js → chrome-xmfH0ICu.js} +2 -2
- package/dist/{clawbot-cli-ByrTjcjf.js → clawbot-cli-BqvWmOf2.js} +1 -1
- package/dist/{clawbot-cli-C-8EFRKv.js → clawbot-cli-Cy4xxEwA.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-DNiohgQu.js → cli-C6-qelzK.js} +3 -3
- package/dist/{cli-D-m3umOT.js → cli-COPy2u3N.js} +3 -3
- package/dist/{client-D2hf2jQ7.js → client-BIS2Uayk.js} +4 -4
- package/dist/{client-BQN-LuPk.js → client-BoM5FwV4.js} +4 -4
- package/dist/{client-xu3whbFC.js → client-CTr2olAS.js} +4 -4
- package/dist/{command-registry-CB0tYTNA.js → command-registry-BSAY6wdm.js} +14 -14
- package/dist/{commands-registry-PW7IInMR.js → commands-registry-SXjoCA7i.js} +2 -2
- package/dist/{commands-registry-dia3m7-M.js → commands-registry-UnBqSA67.js} +2 -2
- package/dist/{completion-cli-Dg5pvBMY.js → completion-cli--3eqgAwK.js} +1 -1
- package/dist/{completion-cli-CSzxM5wY.js → completion-cli-RDTl_9qR.js} +2 -2
- package/dist/{config-BBoAK0dA.js → config-CkMQunWU.js} +6 -2
- package/dist/{config-ClkrcdId.js → config-DHYot764.js} +2 -2
- package/dist/{config-BgqD6SVw.js → config-DJTLRK5S.js} +2 -2
- package/dist/{config-cli-Denu0eEu.js → config-cli-BUCeVfP_.js} +4 -4
- package/dist/{config-cli-DtAjejub.js → config-cli-C1RrXpz0.js} +4 -4
- package/dist/{config-guard-DF1WNs2e.js → config-guard-CVx36OOi.js} +3 -3
- package/dist/config-guard-Csz0-uEX.js +2 -0
- package/dist/{config-validation-mmyHFUrK.js → config-validation-BVN3OEOd.js} +2 -2
- package/dist/{config-validation-lm5BwYiy.js → config-validation-C3jULSMI.js} +2 -2
- package/dist/{configure-CxrB1V4C.js → configure-CQEz5KQ3.js} +15 -15
- package/dist/{configure-CroxylRT.js → configure-akx6bWAt.js} +15 -15
- package/dist/{cron-cli-CYFkAl-f.js → cron-cli-BoMJUHUX.js} +2 -2
- package/dist/{cron-cli-CMjG3iLg.js → cron-cli-DvtMDSN2.js} +1 -1
- package/dist/{cron-tool-B3ffaxAO.js → cron-tool-Dcr3QMih.js} +5 -5
- package/dist/{cron-tool-BnUUPLV3.js → cron-tool-DllqQBKI.js} +5 -5
- package/dist/{daemon-cli-Bs0GD5xF.js → daemon-cli-CHfZAu4w.js} +9 -9
- package/dist/{daemon-cli-dauqwBcE.js → daemon-cli-D7K6zRR6.js} +9 -9
- package/dist/daemon-cli.js +6 -2
- package/dist/daemon-install-helpers-Ls_foXgf.js +2 -0
- package/dist/daemon-install-helpers-VzSaKa-j.js +2 -0
- package/dist/{daemon-runtime-C-XyxJRT.js → daemon-runtime--L-FasK6.js} +1 -1
- package/dist/{daemon-runtime-BLp3uThx.js → daemon-runtime-DKTkFmdZ.js} +1 -1
- package/dist/{deliver-C40KRMzm.js → deliver-BCijF1xe.js} +4 -4
- package/dist/{deliver-C5vVViLg.js → deliver-DiDYkpmh.js} +5 -5
- package/dist/{deliver-Dhut24vc.js → deliver-Ds0o_rCY.js} +3 -3
- package/dist/{deps-DRyTOIPO.js → deps-DFeGFeii.js} +6 -6
- package/dist/{devices-cli-DFPiK0W5.js → devices-cli-C9OvVBEs.js} +1 -1
- package/dist/{devices-cli-BfwxECLu.js → devices-cli-D4YJarjz.js} +1 -1
- package/dist/{diagnostic-Bzd3eHBU.js → diagnostic-CVAiT8Yi.js} +2 -2
- package/dist/{diagnostic-session-state-C8e7GxAm.js → diagnostic-session-state-Cj5nMvNL.js} +1 -1
- package/dist/{directory-cli-BX_a06o7.js → directory-cli--LuldZqc.js} +2 -2
- package/dist/{directory-cli-BQlGeeQK.js → directory-cli-DHpksyLI.js} +2 -2
- package/dist/{dispatcher-BWcYLowQ.js → dispatcher-D46WCdTe.js} +7 -7
- package/dist/{dispatcher-DefEQC4n.js → dispatcher-D8fgAnwH.js} +7 -7
- package/dist/{dm-policy-shared-Dm70u4Yr.js → dm-policy-shared-CEUsAI0F.js} +1 -1
- package/dist/{dm-policy-shared-DeX6SUMT.js → dm-policy-shared-DZglJJMa.js} +1 -1
- package/dist/{dns-cli-CxMaD4cI.js → dns-cli-C4L7EzEY.js} +2 -2
- package/dist/{dns-cli-DAdvx6qq.js → dns-cli-wSFONc42.js} +2 -2
- package/dist/{docs-cli-BR1YXIH4.js → docs-cli-4Dzg7LrJ.js} +1 -1
- package/dist/{docs-cli-BR8IKtP3.js → docs-cli-BWUGypxO.js} +1 -1
- package/dist/doctor-completion-B4bzzPyA.js +2 -0
- package/dist/doctor-completion-CE9xjPcf.js +2 -0
- package/dist/{doctor-completion-C3YAoPkP.js → doctor-completion-COKl8-PU.js} +1 -1
- package/dist/{doctor-completion-CkIy7FpB.js → doctor-completion-DPjvm1G7.js} +1 -1
- package/dist/{doctor-config-flow-CsP66Ij5.js → doctor-config-flow-CCqETtju.js} +4 -4
- package/dist/{doctor-config-flow-D_WRZLT3.js → doctor-config-flow-CRibe33c.js} +4 -4
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CLIzgYS8.js → exec-approvals-cli-CCqVDSOe.js} +2 -2
- package/dist/{exec-approvals-cli-DW2-7TEV.js → exec-approvals-cli-RRZ5wIP0.js} +2 -2
- package/dist/extensionAPI.d.ts +36 -2
- package/dist/extensionAPI.js +263 -20
- package/dist/{gateway-Duqy39t3.js → gateway-Bvd5CqY4.js} +3 -3
- package/dist/{gateway-CqhiWZQd.js → gateway-D_kwhuup.js} +3 -3
- package/dist/{gateway-cli-CUrxOlB4.js → gateway-cli-BbuSOWKq.js} +328 -244
- package/dist/{gateway-cli-BrM4d8E7.js → gateway-cli-C-AMSwgo.js} +324 -240
- package/dist/{gateway-0sVK3Rjy.js → gateway-q_fM0u-m.js} +2 -2
- package/dist/{gateway-rpc-BGgh3mTl.js → gateway-rpc-Ed0F1N_m.js} +1 -1
- package/dist/{gateway-rpc-9WQJwkTJ.js → gateway-rpc-J14XBNuM.js} +1 -1
- package/dist/{gateway-tool-DtlbDV6N.js → gateway-tool-Bi96OPGe.js} +3 -3
- package/dist/{gateway-tool-CMd3r3O5.js → gateway-tool-CNaxsMbd.js} +3 -3
- package/dist/{github-copilot-auth-Dh5sombA.js → github-copilot-auth-BmlL3P7c.js} +2 -2
- package/dist/{github-copilot-auth-ClDHXpfT.js → github-copilot-auth-DhjScF3O.js} +2 -2
- package/dist/{gmail-Dkq3kngs.js → gmail-BuCz-KEp.js} +1 -1
- package/dist/{gmail-DpPYd91j.js → gmail-C1O6grHu.js} +1 -1
- package/dist/{health-BlZEOPXK.js → health-6TTjEZoo.js} +8 -8
- package/dist/{health-BJ-Irw3K.js → health-BJbAa4df.js} +8 -8
- package/dist/{hooks-cli-Bqd1BR2r.js → hooks-cli-C0Z9dRtP.js} +2 -2
- package/dist/{hooks-cli-CR_bwhdf.js → hooks-cli-DFrRHJ1j.js} +2 -2
- package/dist/{host-D3VZGype.js → host-C8oRBLB6.js} +1 -1
- package/dist/{host-CafVbu36.js → host-DCfZcVR_.js} +1 -1
- package/dist/{image-tool-CwCxITcF.js → image-tool-D_dhIXLT.js} +2 -2
- package/dist/{image-tool-BY8NbIQs.js → image-tool-y-FDf6-M.js} +2 -2
- package/dist/index.d.ts +36 -2
- package/dist/index.js +10 -10
- package/dist/{io-TKYkFbcF.js → io-C_Q6AU5E.js} +2 -2
- package/dist/{io-oiyyZuuG.js → io-CpUiX-Lv.js} +2 -2
- package/dist/{ir-CP9ltYx0.js → ir-D0vxg3iM.js} +2 -2
- package/dist/{knowledge-graph-Dd0rSl0Q.js → knowledge-graph-BFnL_feN.js} +1 -1
- package/dist/{lifecycle-core-C7W7YZwn.js → lifecycle-core-CCUOBmZs.js} +3 -3
- package/dist/{lifecycle-core-BQztQGrv.js → lifecycle-core-CX37YE4Z.js} +3 -3
- package/dist/llm-slug-generator.js +47 -1
- package/dist/{logs-cli-CdAJHTuP.js → logs-cli-BYdqoMkJ.js} +2 -2
- package/dist/{logs-cli-lcuW5kPv.js → logs-cli-Comxq7pP.js} +2 -2
- package/dist/{manager-DeR0znMP.js → manager-DvUEsXx3.js} +1 -1
- package/dist/{memory-cli-BxVGlaEm.js → memory-cli-Bz--RMDo.js} +3 -3
- package/dist/{memory-cli-Y_w-AsVt.js → memory-cli-ilkHc_D4.js} +3 -3
- package/dist/{message-action-runner-CE4bDq6V.js → message-action-runner-BZQOV03k.js} +9 -9
- package/dist/{message-action-runner-BdclEzxx.js → message-action-runner-J8W9BPhj.js} +9 -9
- package/dist/{message-tool-BpFLUe6E.js → message-tool-BHJpugQ6.js} +6 -6
- package/dist/{message-tool-_MODnjgC.js → message-tool-GTRrYMuR.js} +6 -6
- package/dist/{model-catalog-AiXYmm_2.js → model-catalog-7Ew4iFgU.js} +3 -3
- package/dist/{model-catalog-CIgjk707.js → model-catalog-B1R3eepi.js} +3 -3
- package/dist/{model-fallback-DsefSc26.js → model-fallback--afWtYyY.js} +2 -2
- package/dist/{model-fallback-C92G-WUW.js → model-fallback-DXR7ZbvM.js} +2 -2
- package/dist/{model-fallback-Dwkt7imi.js → model-fallback-GSMox3YK.js} +3 -3
- package/dist/{model-picker-B_SEgewv.js → model-picker--bqpbxbC.js} +2 -2
- package/dist/{model-picker-DLr3xagY.js → model-picker-DJpEjKZT.js} +2 -2
- package/dist/{models-YFKEQsfy.js → models-CETV4zZ3.js} +12 -12
- package/dist/{models-cli-DuHCNW7r.js → models-cli-B5caj79x.js} +2 -2
- package/dist/{models-cli-yoQKaR0X.js → models-cli-DPT6gYJm.js} +12 -12
- package/dist/{models-config-BWzVL4DK.js → models-config-CX3wpMrd.js} +2 -2
- package/dist/{models-config-Df7nRCU-.js → models-config-ChIAfklN.js} +2 -2
- package/dist/{node-cli-D4pCYQMW.js → node-cli-4VRhz_1P.js} +7 -7
- package/dist/{node-cli-DzvdQBVp.js → node-cli-DyoQqYo1.js} +7 -7
- package/dist/{nodes-cli-CHWJMLm6.js → nodes-cli-CNQ633Hz.js} +5 -5
- package/dist/{nodes-cli-cjiOPFLH.js → nodes-cli-Dl3KtKoX.js} +5 -5
- package/dist/{nodes-tool-CR8MmpTZ.js → nodes-tool-BkgixWxk.js} +3 -3
- package/dist/{nodes-tool-DxMgloLr.js → nodes-tool-BmT8LWTt.js} +3 -3
- package/dist/{nodes-utils-BHrOJOWk.js → nodes-utils-B1jr4oHE.js} +1 -1
- package/dist/{nodes-utils-BRFzmJmB.js → nodes-utils-CVaBTJ5V.js} +1 -1
- package/dist/{nodes-utils-Eo4ilZ36.js → nodes-utils-DVNKajNN.js} +1 -1
- package/dist/{onboard-D3EkmOs0.js → onboard-BSb-bXtw.js} +9 -9
- package/dist/{onboard-DdguleAq.js → onboard-DHzBfhN9.js} +9 -9
- package/dist/{onboard-channels-DBltNYY2.js → onboard-channels-BP5oQVqD.js} +1 -1
- package/dist/{onboard-channels-cSzxNqaz.js → onboard-channels-CNmc5fTo.js} +1 -1
- package/dist/{onboard-channels-CeAsHBgW.js → onboard-channels-DHeOj8d6.js} +1 -1
- package/dist/{onboard-channels-ZDMAODeW.js → onboard-channels-DqoegMtk.js} +1 -1
- package/dist/{onboard-custom-DqkrqRdv.js → onboard-custom-B7OO328d.js} +2 -2
- package/dist/{onboard-custom-DMHUJH5-.js → onboard-custom-BODmfSpC.js} +1 -1
- package/dist/{onboard-custom-Vb7K9679.js → onboard-custom-BZv_tJxB.js} +1 -1
- package/dist/{onboard-custom-DOEx3xcN.js → onboard-custom-D7LvDFdH.js} +2 -2
- package/dist/{onboard-helpers-D60Qp1ne.js → onboard-helpers-B9IGa3vx.js} +5 -5
- package/dist/{onboard-helpers-7fbTU2tq.js → onboard-helpers-BKca3qU4.js} +1 -1
- package/dist/{onboard-helpers-DCve32jF.js → onboard-helpers-DP2LE5Oh.js} +5 -5
- package/dist/{onboard-helpers-xGGsG9to.js → onboard-helpers-HkYz_NGi.js} +1 -1
- package/dist/{onboard-remote-B13DRLJa.js → onboard-remote-DQrtJWPJ.js} +1 -1
- package/dist/{onboard-remote-C6s3bR7X.js → onboard-remote-kBPMv7zo.js} +1 -1
- package/dist/{onboard-skills-BU0OKpqj.js → onboard-skills-Cd2WeuBn.js} +3 -3
- package/dist/{onboard-skills-CKzdl2Ph.js → onboard-skills-KRXxu17b.js} +3 -3
- package/dist/{onboarding-BkiZ3JkU.js → onboarding-Cg42Uf0E.js} +11 -11
- package/dist/{onboarding-C--TfoeE.js → onboarding-nPyIyp8f.js} +11 -11
- package/dist/{onboarding.finalize-CUkOVH_E.js → onboarding.finalize-B8gctARP.js} +9 -9
- package/dist/{onboarding.finalize-Damz4ET-.js → onboarding.finalize-BoMhnz3U.js} +9 -9
- package/dist/{onboarding.gateway-config-BA3PQJBL.js → onboarding.gateway-config-Co5c5Jsj.js} +2 -2
- package/dist/{onboarding.gateway-config-4wtmgfdq.js → onboarding.gateway-config-DkkPCpUx.js} +2 -2
- package/dist/{outbound-send-deps-BmDpImVK.js → outbound-send-deps-Dg8cSoFv.js} +6 -6
- package/dist/{outbound-session-B9B7Vsxm.js → outbound-session-BCNTkSVV.js} +3 -3
- package/dist/{outbound-session-pZGUQ4vz.js → outbound-session-BG0ZMrIB.js} +3 -3
- package/dist/{pairing-cli-CRnZKVjx.js → pairing-cli-B_sfgSbk.js} +2 -2
- package/dist/{pairing-cli-aoyKpG0L.js → pairing-cli-mUAKj093.js} +2 -2
- package/dist/{pi-embedded-helpers-D-m7pmXE.js → pi-embedded-helpers-BsRnajNh.js} +1 -1
- package/dist/{pi-embedded-helpers-CkhQP2gU.js → pi-embedded-helpers-CSxJBpFl.js} +1 -1
- package/dist/{pi-embedded-helpers-BbHYim54.js → pi-embedded-helpers-CUfPWD_N.js} +6 -5
- package/dist/{pi-embedded-utils-C6MaVLHj.js → pi-embedded-utils-BlNfBen_.js} +1 -1
- package/dist/{pi-embedded-utils-DIGchmzO.js → pi-embedded-utils-Bql42QTv.js} +1 -1
- package/dist/{pi-embedded-utils-Ip0GsjWb.js → pi-embedded-utils-BtyCE2ZK.js} +1 -1
- package/dist/{pi-model-discovery-Ot_Q_yYa.js → pi-model-discovery-BV73T1am.js} +1 -1
- package/dist/{pi-tools.policy-Dt2kTSid.js → pi-tools.policy-DDJ31-0E.js} +3 -3
- package/dist/{plugin-registry-BZCSZFQn.js → plugin-registry-Dq33ZU89.js} +3 -3
- package/dist/{plugin-registry-DMRnpxA2.js → plugin-registry-RoPLmlrM.js} +3 -3
- package/dist/plugin-sdk/agents/bash/bash-tools.exec-runtime.d.ts +4 -0
- package/dist/plugin-sdk/agents/pi-embedded-runner/tool-result-context-guard.d.ts +5 -0
- package/dist/plugin-sdk/agents/pi-embedded-runner/tool-result-reduce.d.ts +8 -0
- package/dist/plugin-sdk/agents/sandbox/tier0/index.d.ts +3 -0
- package/dist/plugin-sdk/agents/sandbox/tier0/registry.d.ts +28 -0
- package/dist/plugin-sdk/agents/sandbox/tier0/router.d.ts +18 -0
- package/dist/plugin-sdk/agents/sandbox/tier0/virtual-sandbox.d.ts +30 -0
- package/dist/plugin-sdk/agents/sandbox/types.d.ts +5 -0
- package/dist/plugin-sdk/agents/sections/behaviour.d.ts +9 -0
- package/dist/plugin-sdk/agents/skills/compact-prompt.d.ts +12 -0
- package/dist/plugin-sdk/agents/skills/workspace.d.ts +4 -0
- package/dist/plugin-sdk/channels/discord.js +487 -40
- package/dist/plugin-sdk/channels/googlechat.js +3 -1
- package/dist/plugin-sdk/channels/imessage.js +487 -40
- package/dist/plugin-sdk/channels/line.js +489 -42
- package/dist/plugin-sdk/channels/msteams.js +3 -1
- package/dist/plugin-sdk/channels/signal.js +487 -40
- package/dist/plugin-sdk/channels/slack.js +487 -40
- package/dist/plugin-sdk/channels/telegram.js +487 -40
- package/dist/plugin-sdk/channels/whatsapp.js +488 -41
- package/dist/plugin-sdk/config/types.agent-defaults.d.ts +8 -0
- package/dist/plugin-sdk/config/types.agents.d.ts +4 -0
- package/dist/plugin-sdk/config/types.gateway.d.ts +8 -0
- package/dist/plugin-sdk/config/types.skills.d.ts +7 -0
- package/dist/plugin-sdk/config/types.tools.d.ts +8 -0
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +3 -0
- package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +9 -0
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +6 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +26 -0
- package/dist/plugin-sdk/core.js +6 -2
- package/dist/plugin-sdk/index.js +501 -54
- package/dist/{plugins-cli-BKMBY-np.js → plugins-cli-BA0wJM-k.js} +3 -3
- package/dist/{plugins-cli-D3_BCsVN.js → plugins-cli-a-DWljrI.js} +3 -3
- package/dist/{program-context-CVLR19jJ.js → program-context-CUZUPsiC.js} +43 -43
- package/dist/{program-DFvYiOXj.js → program-gbYi5UIa.js} +7 -7
- package/dist/{prompt-select-styled-D-axSDjg.js → prompt-select-styled-DAdqH32e.js} +17 -17
- package/dist/{prompt-select-styled-n1nMLPsI.js → prompt-select-styled-lKRNiihE.js} +17 -17
- package/dist/{push-apns-Dh6xZki_.js → push-apns-BhtcU_Da.js} +1 -1
- package/dist/{push-apns-D4wjtIOe.js → push-apns-D69Af97u.js} +1 -1
- package/dist/{pw-ai-2VhRhF2B.js → pw-ai-Ba9xJlWV.js} +2 -2
- package/dist/{pw-ai-Blk_s6D5.js → pw-ai-Cvjg4UOk.js} +2 -2
- package/dist/{pw-ai-B6oeo1wI.js → pw-ai-DiwvYyv3.js} +2 -2
- package/dist/{pw-session-Crb06R5v.js → pw-session-BZ1pAX5r.js} +1 -1
- package/dist/{pw-session-DmaV4mTM.js → pw-session-BxiZ6YYh.js} +1 -1
- package/dist/{pw-session-CATqkBLI.js → pw-session-EHew9i-n.js} +1 -1
- package/dist/{qr-cli-B3IWV_8b.js → qr-cli-CFsUuFR-.js} +2 -2
- package/dist/{qr-cli-SfioxAM_.js → qr-cli-SfzcWdI0.js} +2 -2
- package/dist/{register.agent-DDVZDpQC.js → register.agent-B4bNkRtB.js} +11 -11
- package/dist/{register.agent-Dfk70LYq.js → register.agent-DHCAqxWX.js} +8 -8
- package/dist/{register.channel-BvMvb6ip.js → register.channel-B1vKkWV7.js} +2 -2
- package/dist/{register.channel-BJtyCgD7.js → register.channel-D0lVq7dU.js} +2 -2
- package/dist/{register.configure-WQlTjNyz.js → register.configure-DFSJd0YH.js} +1 -1
- package/dist/{register.configure-BdKChDnl.js → register.configure-DIHFldND.js} +1 -1
- package/dist/{register.drone-B-xrDJpJ.js → register.drone-Do4i5ZE9.js} +2 -2
- package/dist/{register.drone-DSHJ5vq1.js → register.drone-Tckr0QFo.js} +2 -2
- package/dist/{register.maintenance-DoMoBeyF.js → register.maintenance-Bw9G1eZ0.js} +5 -5
- package/dist/{register.maintenance-DnP_N0ye.js → register.maintenance-D5LVEuKI.js} +5 -5
- package/dist/{register.message-Xl-pZILp.js → register.message-BsGRyTVT.js} +7 -7
- package/dist/{register.message-Cdp8TM0J.js → register.message-C_51tZCE.js} +8 -8
- package/dist/{register.onboard-BzZPizJ0.js → register.onboard-CMusJAzJ.js} +1 -1
- package/dist/{register.onboard-IPqLR5Zb.js → register.onboard-Ngaw9ikW.js} +1 -1
- package/dist/{register.setup-DLzSctB1.js → register.setup-aKi_hurQ.js} +4 -4
- package/dist/{register.setup-BX8Ya9qY.js → register.setup-xpiPRct8.js} +4 -4
- package/dist/{register.status-health-sessions-CXIHidz6.js → register.status-health-sessions-B87H-g0g.js} +6 -6
- package/dist/{register.status-health-sessions-DnNAMB3T.js → register.status-health-sessions-D2rMUW_t.js} +4 -4
- package/dist/{register.subclis-DAt5WEzu.js → register.subclis-DB0kFld6.js} +30 -30
- package/dist/{reply-D_uwJ_hb.js → reply-CNJWciSj.js} +442 -52
- package/dist/{reply-payloads-BBHotu7W.js → reply-payloads-BS889lPA.js} +2 -2
- package/dist/{reply-payloads-CikGrhVL.js → reply-payloads-Dk-zLmJC.js} +2 -2
- package/dist/{reply-prefix-eSF5kXs5.js → reply-prefix-CfrIMbCM.js} +1 -1
- package/dist/{reply-prefix-CYbvVBOV.js → reply-prefix-D9MQ_veY.js} +1 -1
- package/dist/{resolve-route-FLi7kFo1.js → resolve-route-0arQsERr.js} +1 -1
- package/dist/{resolve-route-DiiBj8NL.js → resolve-route-DwDSX3mI.js} +2 -2
- package/dist/{routes-DFLRIpty.js → routes-DubNFADQ.js} +4 -4
- package/dist/{routes-CagC77kh.js → routes-hcdbDZ60.js} +4 -4
- package/dist/{rpc-DxdMMngu.js → rpc-CpEGWO4f.js} +1 -1
- package/dist/{rpc-dZcSayi6.js → rpc-DShIx1il.js} +1 -1
- package/dist/{run-main-Cw7JO4bk.js → run-main-CgrHeBpO.js} +20 -20
- package/dist/{sandbox-DX1DKAJb.js → sandbox-BYK6Qgnd.js} +9 -8
- package/dist/{sandbox-pZvVQZ-a.js → sandbox-CDGF9AVA.js} +9 -8
- package/dist/{sandbox-cli-DsFqky0Y.js → sandbox-cli-3v8NFyXC.js} +4 -4
- package/dist/{sandbox-cli--NZU5yHm.js → sandbox-cli-DmXP8NkD.js} +4 -4
- package/dist/{security-cli-B9rFqAom.js → security-cli-B23Rjmu8.js} +3 -3
- package/dist/{security-cli-DUGFqvJc.js → security-cli-C7jxF7EW.js} +3 -3
- package/dist/{send-OcwoynpB.js → send-B3EXtlyb.js} +2 -2
- package/dist/{send-BUUHmWJ3.js → send-Boe93Q4V.js} +2 -2
- package/dist/{send-Czh3Yz38.js → send-Br1IcpxR.js} +2 -2
- package/dist/{send-mztwgKny.js → send-BrvRGJ0_.js} +3 -3
- package/dist/{send-CRNffLsb.js → send-BuiJlYF8.js} +2 -2
- package/dist/{send-DTQ_lSWv.js → send-DPURnZWZ.js} +2 -2
- package/dist/{send-Bh69NFd_.js → send-DT-x-IFQ.js} +3 -3
- package/dist/{send-CuFw68zk.js → send-D_PQuZ3x.js} +2 -2
- package/dist/{send-Ckq83rOO.js → send-DhuPDKRX.js} +2 -2
- package/dist/{server-context-D-VUH9Bz.js → server-context-BRKaxwJB.js} +6 -6
- package/dist/{server-context-BlUcP_zF.js → server-context-CvEQbenq.js} +6 -6
- package/dist/{server-context-BNI2cc_e.js → server-context-nyYhGUmI.js} +5 -5
- package/dist/{server-node-events-DQqHB_8B.js → server-node-events-B6rUT0PE.js} +8 -8
- package/dist/{server-node-events-BqG45BMs.js → server-node-events-D90DAPI1.js} +10 -10
- package/dist/{session-status-tool-CN-Juxjq.js → session-status-tool-BIN4ooy0.js} +6 -6
- package/dist/{session-status-tool-DnD354sJ.js → session-status-tool-CtbF1-VI.js} +7 -7
- package/dist/{session-utils-0BYkk3f_.js → session-utils-DDCd8HC9.js} +4 -4
- package/dist/{sessions-CismtNoo.js → sessions-ByNQiqr2.js} +1 -1
- package/dist/{sessions-D_b2UXud.js → sessions-C0Qs0Flz.js} +3 -3
- package/dist/{sessions-0d-dBE8D.js → sessions-CPoA3oJo.js} +4 -4
- package/dist/{sessions-Z8JCL_sa.js → sessions-CW4tzKA-.js} +3 -3
- package/dist/{sessions-helpers-Crh_NTSX.js → sessions-helpers-DdqQiSR6.js} +3 -3
- package/dist/{sessions-helpers-JsbUTHcP.js → sessions-helpers-vwVJ1Vy4.js} +3 -3
- package/dist/{sessions-helpers-uZ0Taeh3.js → sessions-helpers-xH-u6Byb.js} +3 -3
- package/dist/{sessions-history-tool-6VYdT_kc.js → sessions-history-tool-BO81rMTT.js} +5 -5
- package/dist/{sessions-history-tool-6WMcHpxy.js → sessions-history-tool-DKXNjv5X.js} +5 -5
- package/dist/{sessions-list-tool-CwTLRwGc.js → sessions-list-tool-6DJtypdD.js} +5 -5
- package/dist/{sessions-list-tool-CwGp-l3S.js → sessions-list-tool-s_y-_4Uv.js} +5 -5
- package/dist/{sessions-send-tool-BKNgicV5.js → sessions-send-tool-C3ggqtMe.js} +5 -5
- package/dist/{sessions-send-tool-Dl4HKGgL.js → sessions-send-tool-roh-kyNw.js} +5 -5
- package/dist/{sessions-spawn-tool-DqfoPFrK.js → sessions-spawn-tool-BgkkNWMg.js} +1 -1
- package/dist/{sessions-spawn-tool-Bguo3O1I.js → sessions-spawn-tool-UAd65WIb.js} +1 -1
- package/dist/{shared-Cr0N9iap.js → shared-BysrBqEi.js} +2 -2
- package/dist/{shared-B7QVxDsn.js → shared-CjEFJgna.js} +2 -2
- package/dist/{skills-DkeUrhAT.js → skills-Bf4ZPGHe.js} +1 -1
- package/dist/{skills-DMPRReoe.js → skills-DDhWBAii.js} +1 -1
- package/dist/{skills-cli--8zG3UQk.js → skills-cli-DnO1g2oN.js} +6 -6
- package/dist/{skills-cli-D334Q0dM.js → skills-cli-DxFMRja6.js} +6 -6
- package/dist/{skills-install-DAphGXoj.js → skills-install-Bo9PwVmT.js} +2 -2
- package/dist/{skills-install-BNR2Nfa3.js → skills-install-DkZHLCih.js} +2 -2
- package/dist/{skills-status-D54inzOP.js → skills-status-8p-KrlIF.js} +2 -2
- package/dist/{skills-status-DDzkv-Rj.js → skills-status-CBTT87BN.js} +2 -2
- package/dist/{status-BIvJQtxV.js → status-BpgCPxM4.js} +3 -3
- package/dist/{status-JJ8BdlhI.js → status-Db6PPdwI.js} +3 -3
- package/dist/{status-DosDYGut.js → status-DyQwrglF.js} +12 -12
- package/dist/{status-gWt5DmvD.js → status-Dz_-4ATW.js} +13 -13
- package/dist/{status.update-BnYycijV.js → status.update-BBLk_Q3P.js} +1 -1
- package/dist/{status.update-D0KmfrNX.js → status.update-OhQ3FS7R.js} +1 -1
- package/dist/{subagent-registry-0zv9UyYz.js → subagent-registry-C_UHFYRY.js} +443 -53
- package/dist/{subagents-tool-usr_WpP2.js → subagents-tool-BdWYv7Mb.js} +6 -6
- package/dist/{subagents-tool-m92Kjy1x.js → subagents-tool-DjPwvSat.js} +6 -6
- package/dist/{system-cli-t4Qk2mcC.js → system-cli-BQJK1EiV.js} +1 -1
- package/dist/{system-cli-BxYnYU05.js → system-cli-Cj6oDS1q.js} +1 -1
- package/dist/{systemd-hints-JlNoKkcf.js → systemd-hints-BKM-UvY_.js} +1 -1
- package/dist/{systemd-hints-C21GmUrX.js → systemd-hints-BdVIEvO3.js} +1 -1
- package/dist/{targets-BWPxk4rU.js → targets-BpZ7t54u.js} +1 -1
- package/dist/{tools-F4g3knJE.js → tools-D3fRPoa3.js} +421 -38
- package/dist/{tools-cli-Cmg7InJT.js → tools-cli-CjniP2oD.js} +3 -3
- package/dist/{tools-cli-BPV7GpBg.js → tools-cli-DLPn3_f-.js} +3 -3
- package/dist/{tts-CC3WSaW9.js → tts-BhWpmVdG.js} +1 -1
- package/dist/{tts-CRpGlsYO.js → tts-DrFhyLnB.js} +1 -1
- package/dist/{tts-OJZ7iSKo.js → tts-DyQvwyVi.js} +1 -1
- package/dist/{tts-tool-DsLN8-ZT.js → tts-tool-CdaKVWBM.js} +3 -3
- package/dist/{tts-tool-B73xs8Vs.js → tts-tool-CfEs7ebD.js} +3 -3
- package/dist/{tui-BRdOjXJy.js → tui-CNuz7tKz.js} +5 -5
- package/dist/{tui-PSDwA6SF.js → tui-DJvjN1xV.js} +5 -5
- package/dist/{tui-cli-DMD7clw2.js → tui-cli-CLoyYSXd.js} +1 -1
- package/dist/{tui-cli-DHWrleUP.js → tui-cli-DhhA87TG.js} +1 -1
- package/dist/{update-cli-DlxYgSAN.js → update-cli-0lBEnFj5.js} +8 -8
- package/dist/{update-cli-Du5BbYfl.js → update-cli-Cc4jgBsG.js} +8 -8
- package/dist/{validation-CG8Ui8_v.js → validation-B-XaORq2.js} +5 -1
- package/dist/{validation-T0CNq_JP.js → validation-DuFmPzCB.js} +5 -1
- package/dist/web-BUkj8HIz.js +2 -0
- package/dist/{web-CtwxKIvO.js → web-BY79LufL.js} +8 -8
- package/dist/{web-search-B5d6ODyB.js → web-search-CCeGZMBD.js} +4 -4
- package/dist/{web-search-CV42wG57.js → web-search-D1pX-Tuc.js} +4 -4
- package/dist/{webhooks-cli-tSv_Pzzq.js → webhooks-cli-B3LP9UKY.js} +5 -5
- package/dist/{webhooks-cli-BeHnKv6z.js → webhooks-cli-C5xR4Wu5.js} +5 -5
- package/dist/{workspace-Dov1_dCF.js → workspace-BwzunhL2.js} +49 -3
- package/dist/{workspace-CSGZ3DZ_.js → workspace-CVAkpBJa.js} +48 -2
- package/dist/{workspace-CSBTFAxh.js → workspace-D5-DoTNR.js} +48 -2
- package/dist/{workspace-dirs-Yo4RZm7s.js → workspace-dirs-CJDJUlno.js} +3 -3
- package/docs/superpowers/plans/2026-06-10-phase1-quick-wins.md +1260 -0
- package/docs/superpowers/specs/2026-06-10-recon-quick-wins-and-silent-agent-design.md +151 -0
- package/extensions/alert-watcher/index.js +47 -1
- package/extensions/bluebubbles/index.js +5 -1
- package/extensions/feishu/index.js +5 -1
- package/extensions/flows/index.js +52 -2
- package/extensions/gmail-calendar/index.js +47 -1
- package/extensions/googlechat/index.js +5 -1
- package/extensions/irc/index.js +5 -1
- package/extensions/llm-task/index.js +47 -1
- package/extensions/matrix/{credentials-B1q3x-N0.mjs → credentials-BtiLgiNR.mjs} +5 -1
- package/extensions/matrix/index.js +3 -3
- package/extensions/matrix/{matrix-B9amoffh.mjs → matrix-CWlUSNSh.mjs} +2 -2
- package/extensions/matrix/{resolve-targets-Dw7tv-7K.mjs → resolve-targets-ml4iU4Bd.mjs} +2 -2
- package/extensions/mattermost/index.js +5 -1
- package/extensions/nextcloud-talk/index.js +5 -1
- package/extensions/tlon/index.js +47 -1
- package/extensions/wati/index.js +5 -1
- package/extensions/weixin/index.js +5 -1
- package/extensions/zalo/index.js +5 -1
- package/extensions/zalouser/index.js +5 -1
- package/package.json +3 -2
- package/dist/config-guard-BfdkKYAa.js +0 -2
- package/dist/daemon-install-helpers-4gMthp-_.js +0 -2
- package/dist/daemon-install-helpers-BLXYJ3C5.js +0 -2
- package/dist/doctor-completion-DKJRw1m1.js +0 -2
- package/dist/doctor-completion-DMcJXsi0.js +0 -2
- package/dist/web-Dj8nR4rt.js +0 -2
|
@@ -46,6 +46,7 @@ import { Type as Type$1 } from "@sinclair/typebox";
|
|
|
46
46
|
import MarkdownIt from "markdown-it";
|
|
47
47
|
import { spinner } from "@clack/prompts";
|
|
48
48
|
import { createOscProgressController, supportsOscProgress } from "osc-progress";
|
|
49
|
+
import { Bash, InMemoryFs, MountableFs, ReadWriteFs } from "just-bash";
|
|
49
50
|
import fs$2 from "fs/promises";
|
|
50
51
|
import os$1 from "os";
|
|
51
52
|
import path$1 from "path";
|
|
@@ -1383,7 +1384,7 @@ function notifyMcpToolsChanged() {
|
|
|
1383
1384
|
}
|
|
1384
1385
|
}
|
|
1385
1386
|
var tools, sseSubscribers, EMPTY_OBJECT_SCHEMA;
|
|
1386
|
-
var init_registry$
|
|
1387
|
+
var init_registry$7 = __esmMin((() => {
|
|
1387
1388
|
tools = /* @__PURE__ */ new Map();
|
|
1388
1389
|
sseSubscribers = /* @__PURE__ */ new Set();
|
|
1389
1390
|
EMPTY_OBJECT_SCHEMA = {
|
|
@@ -2137,9 +2138,9 @@ function createPluginRegistry(registryParams) {
|
|
|
2137
2138
|
registerTypedHook
|
|
2138
2139
|
};
|
|
2139
2140
|
}
|
|
2140
|
-
var init_registry$
|
|
2141
|
+
var init_registry$6 = __esmMin((() => {
|
|
2141
2142
|
init_instant_commands();
|
|
2142
|
-
init_registry$
|
|
2143
|
+
init_registry$7();
|
|
2143
2144
|
init_internal_hooks();
|
|
2144
2145
|
init_utils$2();
|
|
2145
2146
|
init_channel_link_runtime();
|
|
@@ -2182,7 +2183,7 @@ function getActivePluginRuntime() {
|
|
|
2182
2183
|
}
|
|
2183
2184
|
var REGISTRY_STATE, CONFIG_STATE, RUNTIME_STATE, state$4, configState, runtimeState;
|
|
2184
2185
|
var init_runtime$3 = __esmMin((() => {
|
|
2185
|
-
init_registry$
|
|
2186
|
+
init_registry$6();
|
|
2186
2187
|
REGISTRY_STATE = Symbol.for("minion.pluginRegistryState");
|
|
2187
2188
|
CONFIG_STATE = Symbol.for("minion.pluginRegistryConfig");
|
|
2188
2189
|
RUNTIME_STATE = Symbol.for("minion.activePluginRuntime");
|
|
@@ -2229,7 +2230,7 @@ function normalizeAnyChannelId(raw) {
|
|
|
2229
2230
|
})?.plugin.id ?? null;
|
|
2230
2231
|
}
|
|
2231
2232
|
var CHAT_CHANNEL_ORDER, CHANNEL_IDS, CHAT_CHANNEL_META, CHAT_CHANNEL_ALIASES, normalizeChannelKey;
|
|
2232
|
-
var init_registry$
|
|
2233
|
+
var init_registry$5 = __esmMin((() => {
|
|
2233
2234
|
init_runtime$3();
|
|
2234
2235
|
CHAT_CHANNEL_ORDER = [
|
|
2235
2236
|
"telegram",
|
|
@@ -2576,7 +2577,7 @@ function createSubsystemLogger(subsystem) {
|
|
|
2576
2577
|
}
|
|
2577
2578
|
var SUBSYSTEM_COLORS, SUBSYSTEM_COLOR_OVERRIDES, SUBSYSTEM_PREFIXES_TO_DROP, SUBSYSTEM_MAX_SEGMENTS, CHANNEL_SUBSYSTEM_PREFIXES;
|
|
2578
2579
|
var init_subsystem = __esmMin((() => {
|
|
2579
|
-
init_registry$
|
|
2580
|
+
init_registry$5();
|
|
2580
2581
|
init_globals();
|
|
2581
2582
|
init_runtime$2();
|
|
2582
2583
|
init_progress_line();
|
|
@@ -10276,6 +10277,7 @@ var init_zod_schema_agent_runtime = __esmMin((() => {
|
|
|
10276
10277
|
]).optional(),
|
|
10277
10278
|
perSession: z.boolean().optional(),
|
|
10278
10279
|
workspaceRoot: z.string().optional(),
|
|
10280
|
+
tier0: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
10279
10281
|
docker: SandboxDockerSchema,
|
|
10280
10282
|
browser: SandboxBrowserSchema,
|
|
10281
10283
|
prune: SandboxPruneSchema
|
|
@@ -10477,7 +10479,8 @@ var init_zod_schema_agent_runtime = __esmMin((() => {
|
|
|
10477
10479
|
exec: ToolExecSchema,
|
|
10478
10480
|
fs: ToolFsSchema,
|
|
10479
10481
|
subagents: z.object({ tools: ToolPolicySchema }).strict().optional(),
|
|
10480
|
-
sandbox: z.object({ tools: ToolPolicySchema }).strict().optional()
|
|
10482
|
+
sandbox: z.object({ tools: ToolPolicySchema }).strict().optional(),
|
|
10483
|
+
outputReduce: z.object({ enabled: z.boolean().optional() }).strict().optional()
|
|
10481
10484
|
}).strict().superRefine((value, ctx) => {
|
|
10482
10485
|
addAllowAlsoAllowConflictIssue(value, ctx, "tools cannot set both allow and alsoAllow in the same scope (merge alsoAllow into allow, or remove allow and use profile + alsoAllow)");
|
|
10483
10486
|
}).optional();
|
|
@@ -10830,7 +10833,7 @@ var init_dotenv = __esmMin((() => {
|
|
|
10830
10833
|
//#region src/version.ts
|
|
10831
10834
|
var VERSION;
|
|
10832
10835
|
var init_version$1 = __esmMin((() => {
|
|
10833
|
-
VERSION = "2026.6.
|
|
10836
|
+
VERSION = "2026.6.16-dev";
|
|
10834
10837
|
}));
|
|
10835
10838
|
//#endregion
|
|
10836
10839
|
//#region src/config/agent-dirs.ts
|
|
@@ -15942,6 +15945,7 @@ var init_zod_schema = __esmMin((() => {
|
|
|
15942
15945
|
importContacts: z.boolean().optional()
|
|
15943
15946
|
}).strict().optional(),
|
|
15944
15947
|
memorySync: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
15948
|
+
trajectory: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
15945
15949
|
personalAgentObservations: z.object({
|
|
15946
15950
|
enabled: z.boolean().optional(),
|
|
15947
15951
|
dbPath: z.string().optional()
|
|
@@ -16054,6 +16058,7 @@ var init_zod_schema = __esmMin((() => {
|
|
|
16054
16058
|
memory: MemorySchema,
|
|
16055
16059
|
skills: z.object({
|
|
16056
16060
|
allowBundled: z.array(z.string()).optional(),
|
|
16061
|
+
progressiveDisclosure: z.boolean().optional(),
|
|
16057
16062
|
load: z.object({
|
|
16058
16063
|
extraDirs: z.array(z.string()).optional(),
|
|
16059
16064
|
watch: z.boolean().optional(),
|
|
@@ -16429,7 +16434,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
16429
16434
|
var AVATAR_SCHEME_RE, AVATAR_DATA_RE, AVATAR_HTTP_RE, WINDOWS_ABS_RE;
|
|
16430
16435
|
var init_validation = __esmMin((() => {
|
|
16431
16436
|
init_agent_scope();
|
|
16432
|
-
init_registry$
|
|
16437
|
+
init_registry$5();
|
|
16433
16438
|
init_config_state();
|
|
16434
16439
|
init_manifest_registry();
|
|
16435
16440
|
init_schema_validator();
|
|
@@ -19788,7 +19793,7 @@ var init_parse$2 = __esmMin((() => {
|
|
|
19788
19793
|
ERROR_PAYLOAD_PREFIX_RE = /^(?:error|api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error)[:\s-]+/i;
|
|
19789
19794
|
})), DEFAULT_SANDBOX_WORKSPACE_ROOT, DEFAULT_SANDBOX_IMAGE, DEFAULT_TOOL_ALLOW, DEFAULT_TOOL_DENY, SANDBOX_AGENT_WORKSPACE_MOUNT, SANDBOX_STATE_DIR, SANDBOX_REGISTRY_PATH, SANDBOX_BROWSER_REGISTRY_PATH;
|
|
19790
19795
|
var init_constants$3 = __esmMin((() => {
|
|
19791
|
-
init_registry$
|
|
19796
|
+
init_registry$5();
|
|
19792
19797
|
init_config$4();
|
|
19793
19798
|
DEFAULT_SANDBOX_WORKSPACE_ROOT = path.join(STATE_DIR, "sandboxes");
|
|
19794
19799
|
DEFAULT_SANDBOX_IMAGE = "minion-sandbox:bookworm-slim";
|
|
@@ -20293,6 +20298,7 @@ function resolveSandboxConfigForAgent(cfg, agentId) {
|
|
|
20293
20298
|
scope,
|
|
20294
20299
|
workspaceAccess: agentSandbox?.workspaceAccess ?? agent?.workspaceAccess ?? "none",
|
|
20295
20300
|
workspaceRoot: agentSandbox?.workspaceRoot ?? agent?.workspaceRoot ?? DEFAULT_SANDBOX_WORKSPACE_ROOT,
|
|
20301
|
+
tier0: { enabled: agentSandbox?.tier0?.enabled ?? agent?.tier0?.enabled ?? false },
|
|
20296
20302
|
docker: resolveSandboxDockerConfig({
|
|
20297
20303
|
scope,
|
|
20298
20304
|
globalDocker: agent?.docker,
|
|
@@ -21317,6 +21323,24 @@ var init_bundled_dir = __esmMin((() => {
|
|
|
21317
21323
|
init_minion_root();
|
|
21318
21324
|
}));
|
|
21319
21325
|
//#endregion
|
|
21326
|
+
//#region src/agents/skills/compact-prompt.ts
|
|
21327
|
+
/**
|
|
21328
|
+
* Render a compact, name+description-only skills listing for progressive
|
|
21329
|
+
* disclosure. The full SKILL.md body is deliberately omitted; the agent is
|
|
21330
|
+
* instructed to load it on demand via the `skill_view` tool. This keeps the
|
|
21331
|
+
* system prompt small when many skills are available.
|
|
21332
|
+
*/
|
|
21333
|
+
function formatSkillsCompact(skills) {
|
|
21334
|
+
if (skills.length === 0) return "";
|
|
21335
|
+
return [
|
|
21336
|
+
"<available_skills>",
|
|
21337
|
+
...skills.map((s) => `- **${s.name}** — ${s.description.trim()}`),
|
|
21338
|
+
"</available_skills>",
|
|
21339
|
+
"Call the `skill_view` tool with a skill name to load its full instructions before using it."
|
|
21340
|
+
].join("\n");
|
|
21341
|
+
}
|
|
21342
|
+
var init_compact_prompt = __esmMin((() => {}));
|
|
21343
|
+
//#endregion
|
|
21320
21344
|
//#region src/agents/skills/plugin-skills.ts
|
|
21321
21345
|
function resolvePluginSkillDirs(params) {
|
|
21322
21346
|
const workspaceDir = params.workspaceDir.trim();
|
|
@@ -21662,6 +21686,35 @@ function applySkillsPromptLimits(params) {
|
|
|
21662
21686
|
truncatedReason
|
|
21663
21687
|
};
|
|
21664
21688
|
}
|
|
21689
|
+
/**
|
|
21690
|
+
* Resolve whether progressive disclosure is enabled. Default is ON; only an
|
|
21691
|
+
* explicit `false` disables it (inlining full skill bodies in the prompt).
|
|
21692
|
+
*/
|
|
21693
|
+
function resolveProgressiveDisclosure(config, override) {
|
|
21694
|
+
if (override !== void 0) return override;
|
|
21695
|
+
return config?.skills?.progressiveDisclosure !== false;
|
|
21696
|
+
}
|
|
21697
|
+
/**
|
|
21698
|
+
* Map prompt-eligible skill entries to compact `{ name, description, body }`
|
|
21699
|
+
* records. The body is the full SKILL.md text, read from disk on demand; if the
|
|
21700
|
+
* file can't be read we fall back to an empty body (compact mode omits bodies
|
|
21701
|
+
* from the prompt anyway, so this only affects callers that inspect `body`).
|
|
21702
|
+
*/
|
|
21703
|
+
function toCompactSkills(skills) {
|
|
21704
|
+
return skills.map((skill) => {
|
|
21705
|
+
let body = "";
|
|
21706
|
+
try {
|
|
21707
|
+
body = fs.readFileSync(skill.filePath, "utf-8");
|
|
21708
|
+
} catch {
|
|
21709
|
+
body = "";
|
|
21710
|
+
}
|
|
21711
|
+
return {
|
|
21712
|
+
name: skill.name,
|
|
21713
|
+
description: skill.description ?? "",
|
|
21714
|
+
body
|
|
21715
|
+
};
|
|
21716
|
+
});
|
|
21717
|
+
}
|
|
21665
21718
|
function buildWorkspaceSkillSnapshot(workspaceDir, opts) {
|
|
21666
21719
|
const eligible = filterSkillEntries(opts?.entries ?? loadSkillEntries(workspaceDir, opts), opts?.config, opts?.skillFilter, opts?.eligibility, opts?.denyFilter);
|
|
21667
21720
|
const resolvedSkills = eligible.filter((entry) => entry.invocation?.disableModelInvocation !== true).map((entry) => entry.skill);
|
|
@@ -21673,7 +21726,7 @@ function buildWorkspaceSkillSnapshot(workspaceDir, opts) {
|
|
|
21673
21726
|
const prompt = [
|
|
21674
21727
|
remoteNote,
|
|
21675
21728
|
truncated ? `⚠️ Skills truncated: included ${skillsForPrompt.length} of ${resolvedSkills.length}. Run \`openclaw skills check\` to audit.` : "",
|
|
21676
|
-
formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
21729
|
+
resolveProgressiveDisclosure(opts?.config, opts?.progressive) ? formatSkillsCompact(toCompactSkills(skillsForPrompt)) : formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
21677
21730
|
].filter(Boolean).join("\n");
|
|
21678
21731
|
const skillFilter = normalizeSkillFilter(opts?.skillFilter);
|
|
21679
21732
|
const denyFilter = normalizeSkillFilter(opts?.denyFilter);
|
|
@@ -21700,7 +21753,7 @@ function buildWorkspaceSkillsPrompt(workspaceDir, opts) {
|
|
|
21700
21753
|
return [
|
|
21701
21754
|
remoteNote,
|
|
21702
21755
|
truncated ? `⚠️ Skills truncated: included ${skillsForPrompt.length} of ${resolvedSkills.length}. Run \`openclaw skills check\` to audit.` : "",
|
|
21703
|
-
formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
21756
|
+
resolveProgressiveDisclosure(opts?.config, opts?.progressive) ? formatSkillsCompact(toCompactSkills(skillsForPrompt)) : formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
21704
21757
|
].filter(Boolean).join("\n");
|
|
21705
21758
|
}
|
|
21706
21759
|
function resolveSkillsPromptForRun(params) {
|
|
@@ -21853,6 +21906,7 @@ var init_workspace$1 = __esmMin((() => {
|
|
|
21853
21906
|
init_utils$2();
|
|
21854
21907
|
init_sandbox_paths();
|
|
21855
21908
|
init_bundled_dir();
|
|
21909
|
+
init_compact_prompt();
|
|
21856
21910
|
init_config$2();
|
|
21857
21911
|
init_filter();
|
|
21858
21912
|
init_frontmatter();
|
|
@@ -29761,7 +29815,7 @@ async function removeBrowserRegistryEntry(containerName) {
|
|
|
29761
29815
|
return next;
|
|
29762
29816
|
});
|
|
29763
29817
|
}
|
|
29764
|
-
var init_registry$
|
|
29818
|
+
var init_registry$4 = __esmMin((() => {
|
|
29765
29819
|
init_session_write_lock();
|
|
29766
29820
|
init_constants$3();
|
|
29767
29821
|
}));
|
|
@@ -30222,7 +30276,7 @@ var init_docker = __esmMin((() => {
|
|
|
30222
30276
|
init_runtime$2();
|
|
30223
30277
|
init_config_hash();
|
|
30224
30278
|
init_constants$3();
|
|
30225
|
-
init_registry$
|
|
30279
|
+
init_registry$4();
|
|
30226
30280
|
init_shared$1();
|
|
30227
30281
|
init_validate_sandbox_security();
|
|
30228
30282
|
log$49 = createSubsystemLogger("sandbox/docker");
|
|
@@ -30448,7 +30502,7 @@ var init_browser = __esmMin((() => {
|
|
|
30448
30502
|
init_config$3();
|
|
30449
30503
|
init_constants$3();
|
|
30450
30504
|
init_docker();
|
|
30451
|
-
init_registry$
|
|
30505
|
+
init_registry$4();
|
|
30452
30506
|
init_shared$1();
|
|
30453
30507
|
init_tool_policy();
|
|
30454
30508
|
HOT_BROWSER_WINDOW_MS = 300 * 1e3;
|
|
@@ -30814,7 +30868,7 @@ var init_prune = __esmMin((() => {
|
|
|
30814
30868
|
init_runtime$2();
|
|
30815
30869
|
init_browser_bridges();
|
|
30816
30870
|
init_docker();
|
|
30817
|
-
init_registry$
|
|
30871
|
+
init_registry$4();
|
|
30818
30872
|
lastPruneAtMs = 0;
|
|
30819
30873
|
})), GATEWAY_CLIENT_IDS, GATEWAY_CLIENT_NAMES, GATEWAY_CLIENT_MODES;
|
|
30820
30874
|
var init_client_info = __esmMin((() => {
|
|
@@ -30882,7 +30936,7 @@ function isMarkdownCapableMessageChannel(raw) {
|
|
|
30882
30936
|
}
|
|
30883
30937
|
var INTERNAL_MESSAGE_CHANNEL, MARKDOWN_CAPABLE_CHANNELS, listPluginChannelIds, listDeliverableMessageChannels, listGatewayMessageChannels;
|
|
30884
30938
|
var init_message_channel = __esmMin((() => {
|
|
30885
|
-
init_registry$
|
|
30939
|
+
init_registry$5();
|
|
30886
30940
|
init_client_info();
|
|
30887
30941
|
init_runtime$3();
|
|
30888
30942
|
INTERNAL_MESSAGE_CHANNEL = "webchat";
|
|
@@ -31271,7 +31325,7 @@ function resolveDefaultAgentBoundAccountId(cfg, channelId) {
|
|
|
31271
31325
|
}
|
|
31272
31326
|
var init_bindings = __esmMin((() => {
|
|
31273
31327
|
init_agent_scope();
|
|
31274
|
-
init_registry$
|
|
31328
|
+
init_registry$5();
|
|
31275
31329
|
init_session_key$1();
|
|
31276
31330
|
}));
|
|
31277
31331
|
//#endregion
|
|
@@ -31901,7 +31955,7 @@ var init_dock = __esmMin((() => {
|
|
|
31901
31955
|
init_utils$2();
|
|
31902
31956
|
init_group_mentions();
|
|
31903
31957
|
init_signal$1();
|
|
31904
|
-
init_registry$
|
|
31958
|
+
init_registry$5();
|
|
31905
31959
|
formatLower = (allowFrom) => allowFrom.map((entry) => String(entry).trim()).filter(Boolean).map((entry) => entry.toLowerCase());
|
|
31906
31960
|
formatDiscordAllowFrom = (allowFrom) => allowFrom.map((entry) => String(entry).trim().replace(/^<@!?/, "").replace(/>$/, "").replace(/^discord:/i, "").replace(/^user:/i, "").replace(/^pk:/i, "").trim().toLowerCase()).filter(Boolean);
|
|
31907
31961
|
DOCKS = {
|
|
@@ -32357,7 +32411,7 @@ function normalizeChannelId(raw) {
|
|
|
32357
32411
|
}
|
|
32358
32412
|
var init_plugins = __esmMin((() => {
|
|
32359
32413
|
init_runtime$3();
|
|
32360
|
-
init_registry$
|
|
32414
|
+
init_registry$5();
|
|
32361
32415
|
init_directory_config();
|
|
32362
32416
|
}));
|
|
32363
32417
|
//#endregion
|
|
@@ -34139,7 +34193,7 @@ var init_manage = __esmMin((() => {
|
|
|
34139
34193
|
init_config$4();
|
|
34140
34194
|
init_config$3();
|
|
34141
34195
|
init_docker();
|
|
34142
|
-
init_registry$
|
|
34196
|
+
init_registry$4();
|
|
34143
34197
|
init_shared$1();
|
|
34144
34198
|
}));
|
|
34145
34199
|
//#endregion
|
|
@@ -38975,7 +39029,7 @@ function resolveCommandAuthorization(params) {
|
|
|
38975
39029
|
}
|
|
38976
39030
|
var init_command_auth = __esmMin((() => {
|
|
38977
39031
|
init_dock();
|
|
38978
|
-
init_registry$
|
|
39032
|
+
init_registry$5();
|
|
38979
39033
|
init_message_channel();
|
|
38980
39034
|
}));
|
|
38981
39035
|
//#endregion
|
|
@@ -44148,7 +44202,7 @@ var loggedListActionErrors;
|
|
|
44148
44202
|
var init_channel_tools = __esmMin((() => {
|
|
44149
44203
|
init_dock();
|
|
44150
44204
|
init_plugins();
|
|
44151
|
-
init_registry$
|
|
44205
|
+
init_registry$5();
|
|
44152
44206
|
init_runtime$2();
|
|
44153
44207
|
loggedListActionErrors = /* @__PURE__ */ new Set();
|
|
44154
44208
|
}));
|
|
@@ -63487,7 +63541,7 @@ function loadOpenClawPlugins(options = {}) {
|
|
|
63487
63541
|
}
|
|
63488
63542
|
var registryCache, defaultLogger, resolvePluginSdkAliasFile, resolvePluginSdkAlias;
|
|
63489
63543
|
var init_loader = __esmMin((() => {
|
|
63490
|
-
init_registry$
|
|
63544
|
+
init_registry$7();
|
|
63491
63545
|
init_subsystem();
|
|
63492
63546
|
init_utils$2();
|
|
63493
63547
|
init_version$1();
|
|
@@ -63499,7 +63553,7 @@ var init_loader = __esmMin((() => {
|
|
|
63499
63553
|
init_discovery();
|
|
63500
63554
|
init_hook_runner_global();
|
|
63501
63555
|
init_manifest_registry();
|
|
63502
|
-
init_registry$
|
|
63556
|
+
init_registry$6();
|
|
63503
63557
|
init_runtime$3();
|
|
63504
63558
|
init_runtime$1();
|
|
63505
63559
|
init_schema_validator();
|
|
@@ -64972,6 +65026,198 @@ var init_landlock = __esmMin((() => {
|
|
|
64972
65026
|
_caps = null;
|
|
64973
65027
|
}));
|
|
64974
65028
|
//#endregion
|
|
65029
|
+
//#region src/agents/sandbox/tier0/router.ts
|
|
65030
|
+
function shouldTryTier0(command) {
|
|
65031
|
+
const cmd = command.trim();
|
|
65032
|
+
if (!cmd) return false;
|
|
65033
|
+
for (const re of ESCALATE_PATTERNS) if (re.test(cmd)) return false;
|
|
65034
|
+
return true;
|
|
65035
|
+
}
|
|
65036
|
+
/**
|
|
65037
|
+
* Distinguish "just-bash can't do this" from "the user's command legitimately
|
|
65038
|
+
* failed". Known limitations in just-bash@3.0.1 include `$(( ))` arithmetic
|
|
65039
|
+
* expansion (trips its own defense-in-depth `node:module` guard) and any
|
|
65040
|
+
* unimplemented builtin. These must escalate to Docker, not surface as failures.
|
|
65041
|
+
*/
|
|
65042
|
+
function isInterpreterLimitation(stderr) {
|
|
65043
|
+
if (!stderr) return false;
|
|
65044
|
+
return /security violation/i.test(stderr) || /indicates a bug in just-bash/i.test(stderr) || /\bcommand not found\b/i.test(stderr) || /not (yet )?(supported|implemented)/i.test(stderr) || /unknown command/i.test(stderr);
|
|
65045
|
+
}
|
|
65046
|
+
var ESCALATE_PATTERNS;
|
|
65047
|
+
var init_router = __esmMin((() => {
|
|
65048
|
+
ESCALATE_PATTERNS = [
|
|
65049
|
+
/\b(curl|wget|nc|ncat|netcat|ssh|scp|sftp|rsync|ping|dig|nslookup|host)\b/,
|
|
65050
|
+
/\b(python3?|pip3?|node|npm|pnpm|yarn|bun|deno|ruby|perl|php|cargo|rustc|go|gcc|g\+\+|cc|clang|make|cmake|java|javac|dotnet)\b/,
|
|
65051
|
+
/\b(apt|apt-get|dpkg|yum|dnf|apk|brew|sudo|su|systemctl|service|mount|umount|chroot|insmod|modprobe|iptables)\b/,
|
|
65052
|
+
/\b(docker|kubectl|helm|git|gh|aws|gcloud|az|terraform|ffmpeg|convert|magick|pandoc)\b/,
|
|
65053
|
+
/(^|\s|=)\/(dev|proc|sys)\//,
|
|
65054
|
+
/<\(|>\(/
|
|
65055
|
+
];
|
|
65056
|
+
}));
|
|
65057
|
+
//#endregion
|
|
65058
|
+
//#region src/agents/sandbox/tier0/virtual-sandbox.ts
|
|
65059
|
+
/**
|
|
65060
|
+
* Tier-0 virtual sandbox — an in-process bash backend powered by just-bash.
|
|
65061
|
+
*
|
|
65062
|
+
* This is the cheap/fast tier in front of the Docker sandbox. For the high-volume
|
|
65063
|
+
* "safe" majority of agent shell calls (string munging, fs reads/writes in the
|
|
65064
|
+
* workspace, grep/sed/jq-style pipelines) it runs the command in-process against
|
|
65065
|
+
* an in-memory shell with the real workspace dir mounted — no container spawn.
|
|
65066
|
+
*
|
|
65067
|
+
* Correctness: the agent's real workspace dir is mounted (read-write, symlink-
|
|
65068
|
+
* blocked, root-jailed via just-bash's ReadWriteFs) at the container workdir, so
|
|
65069
|
+
* file visibility is identical to the Docker path. `/tmp` etc. live on an
|
|
65070
|
+
* InMemoryFs base. Network and python are OFF by default (just-bash defaults).
|
|
65071
|
+
*
|
|
65072
|
+
* Anything just-bash can't serve (an unimplemented builtin, an internal error)
|
|
65073
|
+
* sets `unsupported: true`; callers MUST escalate those to the Docker backend.
|
|
65074
|
+
* See ./router.ts for the routing + interpreter-limitation heuristics.
|
|
65075
|
+
*/
|
|
65076
|
+
function withTimeout$4(p, ms) {
|
|
65077
|
+
if (!ms) return p;
|
|
65078
|
+
return new Promise((resolve, reject) => {
|
|
65079
|
+
const timer = setTimeout(() => reject(new TimeoutError()), ms);
|
|
65080
|
+
p.then((value) => {
|
|
65081
|
+
clearTimeout(timer);
|
|
65082
|
+
resolve(value);
|
|
65083
|
+
}, (error) => {
|
|
65084
|
+
clearTimeout(timer);
|
|
65085
|
+
reject(error);
|
|
65086
|
+
});
|
|
65087
|
+
});
|
|
65088
|
+
}
|
|
65089
|
+
var Tier0VirtualSandbox, TimeoutError;
|
|
65090
|
+
var init_virtual_sandbox = __esmMin((() => {
|
|
65091
|
+
init_router();
|
|
65092
|
+
Tier0VirtualSandbox = class {
|
|
65093
|
+
constructor() {
|
|
65094
|
+
this.instances = /* @__PURE__ */ new Map();
|
|
65095
|
+
}
|
|
65096
|
+
getInstance(req) {
|
|
65097
|
+
const existing = this.instances.get(req.scopeKey);
|
|
65098
|
+
if (existing && existing.workspaceHostDir === req.workspaceHostDir && existing.workdir === req.workdir) {
|
|
65099
|
+
existing.lastUsed = Date.now();
|
|
65100
|
+
return existing.bash;
|
|
65101
|
+
}
|
|
65102
|
+
const fs = new MountableFs({ base: new InMemoryFs() });
|
|
65103
|
+
fs.mount(req.workdir, new ReadWriteFs({ root: req.workspaceHostDir }));
|
|
65104
|
+
const bash = new Bash({
|
|
65105
|
+
fs,
|
|
65106
|
+
cwd: req.workdir,
|
|
65107
|
+
env: {
|
|
65108
|
+
LANG: "C.UTF-8",
|
|
65109
|
+
...req.env
|
|
65110
|
+
},
|
|
65111
|
+
executionLimits: {
|
|
65112
|
+
maxCommandCount: 1e4,
|
|
65113
|
+
maxLoopIterations: 1e6
|
|
65114
|
+
}
|
|
65115
|
+
});
|
|
65116
|
+
const inst = {
|
|
65117
|
+
bash,
|
|
65118
|
+
workspaceHostDir: req.workspaceHostDir,
|
|
65119
|
+
workdir: req.workdir,
|
|
65120
|
+
lastUsed: Date.now()
|
|
65121
|
+
};
|
|
65122
|
+
this.instances.set(req.scopeKey, inst);
|
|
65123
|
+
return bash;
|
|
65124
|
+
}
|
|
65125
|
+
async exec(req) {
|
|
65126
|
+
const startedAt = Date.now();
|
|
65127
|
+
let bash;
|
|
65128
|
+
try {
|
|
65129
|
+
bash = this.getInstance(req);
|
|
65130
|
+
} catch {
|
|
65131
|
+
return {
|
|
65132
|
+
status: "failed",
|
|
65133
|
+
exitCode: null,
|
|
65134
|
+
durationMs: Date.now() - startedAt,
|
|
65135
|
+
aggregated: "",
|
|
65136
|
+
timedOut: false,
|
|
65137
|
+
unsupported: true
|
|
65138
|
+
};
|
|
65139
|
+
}
|
|
65140
|
+
try {
|
|
65141
|
+
const result = await withTimeout$4(bash.exec(req.command, {
|
|
65142
|
+
cwd: req.workdir,
|
|
65143
|
+
env: req.env
|
|
65144
|
+
}), req.timeoutSec ? req.timeoutSec * 1e3 : void 0);
|
|
65145
|
+
const durationMs = Date.now() - startedAt;
|
|
65146
|
+
const combined = [result.stdout, result.stderr].filter(Boolean).join("").trim();
|
|
65147
|
+
if (result.exitCode === 0) return {
|
|
65148
|
+
status: "completed",
|
|
65149
|
+
exitCode: 0,
|
|
65150
|
+
durationMs,
|
|
65151
|
+
aggregated: combined,
|
|
65152
|
+
timedOut: false,
|
|
65153
|
+
unsupported: false
|
|
65154
|
+
};
|
|
65155
|
+
return {
|
|
65156
|
+
status: "failed",
|
|
65157
|
+
exitCode: result.exitCode,
|
|
65158
|
+
durationMs,
|
|
65159
|
+
aggregated: combined,
|
|
65160
|
+
timedOut: false,
|
|
65161
|
+
unsupported: isInterpreterLimitation(result.stderr)
|
|
65162
|
+
};
|
|
65163
|
+
} catch (err) {
|
|
65164
|
+
const timedOut = err instanceof TimeoutError;
|
|
65165
|
+
return {
|
|
65166
|
+
status: "failed",
|
|
65167
|
+
exitCode: null,
|
|
65168
|
+
durationMs: Date.now() - startedAt,
|
|
65169
|
+
aggregated: "",
|
|
65170
|
+
timedOut,
|
|
65171
|
+
unsupported: !timedOut
|
|
65172
|
+
};
|
|
65173
|
+
}
|
|
65174
|
+
}
|
|
65175
|
+
dispose(scopeKey) {
|
|
65176
|
+
if (scopeKey) this.instances.delete(scopeKey);
|
|
65177
|
+
else this.instances.clear();
|
|
65178
|
+
}
|
|
65179
|
+
/** test/inspection helper */
|
|
65180
|
+
get liveInstances() {
|
|
65181
|
+
return this.instances.size;
|
|
65182
|
+
}
|
|
65183
|
+
};
|
|
65184
|
+
TimeoutError = class extends Error {};
|
|
65185
|
+
}));
|
|
65186
|
+
//#endregion
|
|
65187
|
+
//#region src/agents/sandbox/tier0/registry.ts
|
|
65188
|
+
function getTier0Sandbox() {
|
|
65189
|
+
if (!singleton$1) singleton$1 = new Tier0VirtualSandbox();
|
|
65190
|
+
return singleton$1;
|
|
65191
|
+
}
|
|
65192
|
+
/**
|
|
65193
|
+
* Resolve the tier-0 binding for an exec, or undefined to use the Docker/host
|
|
65194
|
+
* path. `workspaceHostDir` is the real sandbox workspace dir (mounted into the
|
|
65195
|
+
* Docker container too), so tier-0 sees the same files.
|
|
65196
|
+
*/
|
|
65197
|
+
function resolveTier0Binding(params) {
|
|
65198
|
+
if (!params.workspaceHostDir) return;
|
|
65199
|
+
const sandboxCfg = resolveSandboxConfigForAgent(params.config ?? loadConfig(), params.agentId);
|
|
65200
|
+
if (!sandboxCfg.tier0.enabled) return;
|
|
65201
|
+
if (sandboxCfg.workspaceAccess === "ro") return;
|
|
65202
|
+
return {
|
|
65203
|
+
backend: getTier0Sandbox(),
|
|
65204
|
+
workspaceHostDir: params.workspaceHostDir
|
|
65205
|
+
};
|
|
65206
|
+
}
|
|
65207
|
+
var singleton$1;
|
|
65208
|
+
var init_registry$3 = __esmMin((() => {
|
|
65209
|
+
init_config$4();
|
|
65210
|
+
init_config$3();
|
|
65211
|
+
init_virtual_sandbox();
|
|
65212
|
+
}));
|
|
65213
|
+
//#endregion
|
|
65214
|
+
//#region src/agents/sandbox/tier0/index.ts
|
|
65215
|
+
var init_tier0 = __esmMin((() => {
|
|
65216
|
+
init_router();
|
|
65217
|
+
init_registry$3();
|
|
65218
|
+
init_virtual_sandbox();
|
|
65219
|
+
}));
|
|
65220
|
+
//#endregion
|
|
64975
65221
|
//#region src/agents/tools/automation/gateway.ts
|
|
64976
65222
|
function readGatewayCallOptions(params) {
|
|
64977
65223
|
return {
|
|
@@ -66654,10 +66900,112 @@ function emitExecSystemEvent(text, opts) {
|
|
|
66654
66900
|
});
|
|
66655
66901
|
requestHeartbeatNow({ reason: "exec-event" });
|
|
66656
66902
|
}
|
|
66903
|
+
/**
|
|
66904
|
+
* Tier-0 fast path: run `execCommand` in the in-process virtual sandbox. Returns
|
|
66905
|
+
* a completed ExecProcessHandle on success, or null when just-bash can't serve
|
|
66906
|
+
* the command (so the caller escalates to Docker). Output is sanitized and a
|
|
66907
|
+
* ProcessSession is registered exactly like the normal path, so downstream
|
|
66908
|
+
* session listing / tailing is unaffected.
|
|
66909
|
+
*/
|
|
66910
|
+
async function tryTier0Exec(args) {
|
|
66911
|
+
const { opts, sessionId, startedAt, execCommand } = args;
|
|
66912
|
+
const tier0 = opts.tier0;
|
|
66913
|
+
const sandbox = opts.sandbox;
|
|
66914
|
+
if (!tier0 || !sandbox) return null;
|
|
66915
|
+
const workdir = opts.containerWorkdir ?? sandbox.containerWorkdir;
|
|
66916
|
+
let outcome;
|
|
66917
|
+
try {
|
|
66918
|
+
outcome = await tier0.backend.exec({
|
|
66919
|
+
command: execCommand,
|
|
66920
|
+
workdir,
|
|
66921
|
+
workspaceHostDir: tier0.workspaceHostDir,
|
|
66922
|
+
env: opts.env,
|
|
66923
|
+
scopeKey: sandbox.containerName,
|
|
66924
|
+
timeoutSec: opts.timeoutSec
|
|
66925
|
+
});
|
|
66926
|
+
} catch {
|
|
66927
|
+
return null;
|
|
66928
|
+
}
|
|
66929
|
+
if (outcome.unsupported) return null;
|
|
66930
|
+
const session = {
|
|
66931
|
+
id: sessionId,
|
|
66932
|
+
command: opts.command,
|
|
66933
|
+
scopeKey: opts.scopeKey,
|
|
66934
|
+
sessionKey: opts.sessionKey,
|
|
66935
|
+
notifyOnExit: opts.notifyOnExit,
|
|
66936
|
+
notifyOnExitEmptySuccess: opts.notifyOnExitEmptySuccess === true,
|
|
66937
|
+
exitNotified: false,
|
|
66938
|
+
child: void 0,
|
|
66939
|
+
stdin: void 0,
|
|
66940
|
+
pid: void 0,
|
|
66941
|
+
startedAt,
|
|
66942
|
+
cwd: opts.workdir,
|
|
66943
|
+
maxOutputChars: opts.maxOutput,
|
|
66944
|
+
pendingMaxOutputChars: opts.pendingMaxOutput,
|
|
66945
|
+
totalOutputChars: 0,
|
|
66946
|
+
pendingStdout: [],
|
|
66947
|
+
pendingStderr: [],
|
|
66948
|
+
pendingStdoutChars: 0,
|
|
66949
|
+
pendingStderrChars: 0,
|
|
66950
|
+
aggregated: "",
|
|
66951
|
+
tail: "",
|
|
66952
|
+
exited: false,
|
|
66953
|
+
exitCode: void 0,
|
|
66954
|
+
exitSignal: void 0,
|
|
66955
|
+
truncated: false,
|
|
66956
|
+
backgrounded: false
|
|
66957
|
+
};
|
|
66958
|
+
addSession(session);
|
|
66959
|
+
const sanitized = stripAnsi(sanitizeBinaryOutput(outcome.aggregated));
|
|
66960
|
+
for (const chunk of chunkString(sanitized)) appendOutput(session, "stdout", chunk);
|
|
66961
|
+
const status = outcome.status === "completed" ? "completed" : "failed";
|
|
66962
|
+
markExited(session, outcome.exitCode ?? 0, null, status);
|
|
66963
|
+
const durationMs = Date.now() - startedAt;
|
|
66964
|
+
const aggregated = session.aggregated.trim();
|
|
66965
|
+
let result;
|
|
66966
|
+
if (status === "completed") {
|
|
66967
|
+
const exitCode = outcome.exitCode ?? 0;
|
|
66968
|
+
result = {
|
|
66969
|
+
status: "completed",
|
|
66970
|
+
exitCode,
|
|
66971
|
+
exitSignal: null,
|
|
66972
|
+
durationMs,
|
|
66973
|
+
aggregated: aggregated + (exitCode !== 0 ? `\n\n(Command exited with code ${exitCode})` : ""),
|
|
66974
|
+
timedOut: false
|
|
66975
|
+
};
|
|
66976
|
+
} else {
|
|
66977
|
+
const reason = outcome.timedOut ? `Command timed out after ${opts.timeoutSec} seconds` : `Command exited with code ${outcome.exitCode ?? 1}`;
|
|
66978
|
+
result = {
|
|
66979
|
+
status: "failed",
|
|
66980
|
+
exitCode: outcome.exitCode,
|
|
66981
|
+
exitSignal: null,
|
|
66982
|
+
durationMs,
|
|
66983
|
+
aggregated,
|
|
66984
|
+
timedOut: outcome.timedOut,
|
|
66985
|
+
reason: aggregated ? `${aggregated}\n\n${reason}` : reason
|
|
66986
|
+
};
|
|
66987
|
+
}
|
|
66988
|
+
return {
|
|
66989
|
+
session,
|
|
66990
|
+
startedAt,
|
|
66991
|
+
pid: void 0,
|
|
66992
|
+
promise: Promise.resolve(result),
|
|
66993
|
+
kill: () => {}
|
|
66994
|
+
};
|
|
66995
|
+
}
|
|
66657
66996
|
async function runExecProcess(opts) {
|
|
66658
66997
|
const startedAt = Date.now();
|
|
66659
66998
|
const sessionId = createSessionSlug();
|
|
66660
66999
|
const execCommand = opts.execCommand ?? opts.command;
|
|
67000
|
+
if (opts.tier0 && opts.sandbox && !opts.usePty && shouldTryTier0(execCommand)) {
|
|
67001
|
+
const tier0Handle = await tryTier0Exec({
|
|
67002
|
+
opts,
|
|
67003
|
+
sessionId,
|
|
67004
|
+
startedAt,
|
|
67005
|
+
execCommand
|
|
67006
|
+
});
|
|
67007
|
+
if (tier0Handle) return tier0Handle;
|
|
67008
|
+
}
|
|
66661
67009
|
const supervisor = getProcessSupervisor();
|
|
66662
67010
|
const session = {
|
|
66663
67011
|
id: sessionId,
|
|
@@ -66888,6 +67236,7 @@ var init_bash_tools_exec_runtime = __esmMin((() => {
|
|
|
66888
67236
|
init_supervisor();
|
|
66889
67237
|
init_pty_dsr();
|
|
66890
67238
|
init_shell_utils();
|
|
67239
|
+
init_tier0();
|
|
66891
67240
|
init_bash_process_registry();
|
|
66892
67241
|
init_bash_tools_shared();
|
|
66893
67242
|
DANGEROUS_HOST_ENV_VARS = new Set([
|
|
@@ -67491,7 +67840,11 @@ function createExecTool(defaults) {
|
|
|
67491
67840
|
scopeKey: defaults?.scopeKey,
|
|
67492
67841
|
sessionKey: notifySessionKey,
|
|
67493
67842
|
timeoutSec: effectiveTimeout,
|
|
67494
|
-
onUpdate
|
|
67843
|
+
onUpdate,
|
|
67844
|
+
tier0: sandbox ? resolveTier0Binding({
|
|
67845
|
+
agentId,
|
|
67846
|
+
workspaceHostDir: sandbox.workspaceDir
|
|
67847
|
+
}) : void 0
|
|
67495
67848
|
});
|
|
67496
67849
|
let yielded = false;
|
|
67497
67850
|
let yieldTimer = null;
|
|
@@ -67566,6 +67919,7 @@ var init_bash_tools_exec = __esmMin((() => {
|
|
|
67566
67919
|
init_logger$2();
|
|
67567
67920
|
init_session_key$1();
|
|
67568
67921
|
init_landlock();
|
|
67922
|
+
init_tier0();
|
|
67569
67923
|
init_gateway();
|
|
67570
67924
|
init_nodes_utils();
|
|
67571
67925
|
init_bash_process_registry();
|
|
@@ -79716,7 +80070,7 @@ function resolvePingPongTurns(cfg) {
|
|
|
79716
80070
|
var ANNOUNCE_SKIP_TOKEN, REPLY_SKIP_TOKEN, DEFAULT_PING_PONG_TURNS, MAX_PING_PONG_TURNS;
|
|
79717
80071
|
var init_sessions_send_helpers = __esmMin((() => {
|
|
79718
80072
|
init_plugins();
|
|
79719
|
-
init_registry$
|
|
80073
|
+
init_registry$5();
|
|
79720
80074
|
ANNOUNCE_SKIP_TOKEN = "ANNOUNCE_SKIP";
|
|
79721
80075
|
REPLY_SKIP_TOKEN = "REPLY_SKIP";
|
|
79722
80076
|
DEFAULT_PING_PONG_TURNS = 5;
|
|
@@ -92211,11 +92565,12 @@ var init_agent_type = __esmMin((() => {
|
|
|
92211
92565
|
if (!trimmed) return [];
|
|
92212
92566
|
return [
|
|
92213
92567
|
"## Skills (mandatory)",
|
|
92214
|
-
"Before replying: scan <available_skills>
|
|
92215
|
-
|
|
92216
|
-
"- If multiple could apply: choose the most specific one, then
|
|
92217
|
-
"- If none clearly apply: do not
|
|
92218
|
-
|
|
92568
|
+
"Before replying: scan the <available_skills> entries.",
|
|
92569
|
+
"- If exactly one skill clearly applies: load its full instructions, then follow it.",
|
|
92570
|
+
"- If multiple could apply: choose the most specific one, then load/follow it.",
|
|
92571
|
+
"- If none clearly apply: do not load any skill.",
|
|
92572
|
+
`To load a skill's full instructions: if they aren't already shown, call the \`skill_view\` tool with the skill name; otherwise read its SKILL.md at <location> with \`${ctx.readToolName}\`.`,
|
|
92573
|
+
"Constraints: never load more than one skill up front; only load after selecting.",
|
|
92219
92574
|
trimmed,
|
|
92220
92575
|
""
|
|
92221
92576
|
];
|
|
@@ -92361,6 +92716,37 @@ var init_agent_type = __esmMin((() => {
|
|
|
92361
92716
|
];
|
|
92362
92717
|
}));
|
|
92363
92718
|
//#endregion
|
|
92719
|
+
//#region src/agents/sections/behaviour.ts
|
|
92720
|
+
var BEHAVIOUR_SECTIONS;
|
|
92721
|
+
var init_behaviour = __esmMin((() => {
|
|
92722
|
+
init_prose_loader();
|
|
92723
|
+
BEHAVIOUR_SECTIONS = [{
|
|
92724
|
+
id: "behaviour",
|
|
92725
|
+
layer: "identity",
|
|
92726
|
+
order: 2200,
|
|
92727
|
+
modes: ["full", "minimal"],
|
|
92728
|
+
cacheable: false,
|
|
92729
|
+
header: "## Operating Rules (self-maintained)",
|
|
92730
|
+
source: "file",
|
|
92731
|
+
render: (ctx) => {
|
|
92732
|
+
const workspaceDir = ctx.params.workspaceDir;
|
|
92733
|
+
if (!workspaceDir) return [];
|
|
92734
|
+
const content = resolveProse({
|
|
92735
|
+
layer: "identity",
|
|
92736
|
+
id: "behaviour",
|
|
92737
|
+
agentWorkspaceDir: workspaceDir
|
|
92738
|
+
})?.content.trim();
|
|
92739
|
+
if (!content) return [];
|
|
92740
|
+
return [
|
|
92741
|
+
"## Operating Rules (self-maintained)",
|
|
92742
|
+
"",
|
|
92743
|
+
content,
|
|
92744
|
+
""
|
|
92745
|
+
];
|
|
92746
|
+
}
|
|
92747
|
+
}];
|
|
92748
|
+
}));
|
|
92749
|
+
//#endregion
|
|
92364
92750
|
//#region src/agents/sections/identity.ts
|
|
92365
92751
|
var IDENTITY_SECTIONS;
|
|
92366
92752
|
var init_identity = __esmMin((() => {
|
|
@@ -93329,6 +93715,7 @@ function getBuiltinRegistry() {
|
|
|
93329
93715
|
_registry.registerAll(PLATFORM_SECTIONS);
|
|
93330
93716
|
_registry.registerAll(AGENT_TYPE_SECTIONS);
|
|
93331
93717
|
_registry.registerAll(IDENTITY_SECTIONS);
|
|
93718
|
+
_registry.registerAll(BEHAVIOUR_SECTIONS);
|
|
93332
93719
|
_registry.registerAll(USER_SECTIONS);
|
|
93333
93720
|
_registry.registerAll(SESSION_SECTIONS);
|
|
93334
93721
|
return _registry;
|
|
@@ -93347,6 +93734,7 @@ function assembleAgentSystemPrompt(params) {
|
|
|
93347
93734
|
var _registry;
|
|
93348
93735
|
var init_assemble = __esmMin((() => {
|
|
93349
93736
|
init_agent_type();
|
|
93737
|
+
init_behaviour();
|
|
93350
93738
|
init_identity();
|
|
93351
93739
|
init_platform();
|
|
93352
93740
|
init_registry$1();
|
|
@@ -99069,6 +99457,36 @@ async function prepareSessionManagerForRun(params) {
|
|
|
99069
99457
|
}
|
|
99070
99458
|
var init_session_manager_init = __esmMin((() => {}));
|
|
99071
99459
|
//#endregion
|
|
99460
|
+
//#region src/agents/pi-embedded-runner/tool-result-reduce.ts
|
|
99461
|
+
/** Pure text reducer for oversized/repetitive tool output. Never throws. */
|
|
99462
|
+
function reduceToolOutputText(text, opts) {
|
|
99463
|
+
let lines = text.split("\n");
|
|
99464
|
+
if (opts.collapseRuns) {
|
|
99465
|
+
const collapsed = [];
|
|
99466
|
+
let i = 0;
|
|
99467
|
+
while (i < lines.length) {
|
|
99468
|
+
let j = i + 1;
|
|
99469
|
+
while (j < lines.length && lines[j] === lines[i]) j += 1;
|
|
99470
|
+
const run = j - i;
|
|
99471
|
+
if (run >= 5) collapsed.push(`${lines[i]} (repeated ${run}×)`);
|
|
99472
|
+
else for (let k = i; k < j; k++) collapsed.push(lines[k]);
|
|
99473
|
+
i = j;
|
|
99474
|
+
}
|
|
99475
|
+
lines = collapsed;
|
|
99476
|
+
}
|
|
99477
|
+
if (lines.length <= opts.maxLines) return lines.join("\n");
|
|
99478
|
+
if (opts.headLines + opts.tailLines >= lines.length) return lines.join("\n");
|
|
99479
|
+
const head = lines.slice(0, opts.headLines);
|
|
99480
|
+
const tail = lines.slice(lines.length - opts.tailLines);
|
|
99481
|
+
const elided = lines.length - head.length - tail.length;
|
|
99482
|
+
return [
|
|
99483
|
+
...head,
|
|
99484
|
+
`… ${elided} lines elided …`,
|
|
99485
|
+
...tail
|
|
99486
|
+
].join("\n");
|
|
99487
|
+
}
|
|
99488
|
+
var init_tool_result_reduce = __esmMin((() => {}));
|
|
99489
|
+
//#endregion
|
|
99072
99490
|
//#region src/agents/pi-embedded-runner/tool-result-context-guard.ts
|
|
99073
99491
|
function isTextBlock(block) {
|
|
99074
99492
|
return !!block && typeof block === "object" && block.type === "text";
|
|
@@ -99203,8 +99621,28 @@ function applyMessageMutationInPlace(target, source) {
|
|
|
99203
99621
|
for (const key of Object.keys(targetRecord)) if (!(key in sourceRecord)) delete targetRecord[key];
|
|
99204
99622
|
Object.assign(targetRecord, sourceRecord);
|
|
99205
99623
|
}
|
|
99624
|
+
/**
|
|
99625
|
+
* Run the pure line-reducer over each tool-result message's text content,
|
|
99626
|
+
* mutating messages in place. Skips reductions that wouldn't shrink the text.
|
|
99627
|
+
*/
|
|
99628
|
+
function reduceToolResultOutputsInPlace(messages) {
|
|
99629
|
+
for (const message of messages) {
|
|
99630
|
+
if (!isToolResultMessage(message)) continue;
|
|
99631
|
+
const rawText = getToolResultText(message);
|
|
99632
|
+
if (!rawText) continue;
|
|
99633
|
+
const reduced = reduceToolOutputText(rawText, {
|
|
99634
|
+
maxLines: REDUCE_MAX_LINES,
|
|
99635
|
+
headLines: REDUCE_HEAD_LINES,
|
|
99636
|
+
tailLines: REDUCE_TAIL_LINES,
|
|
99637
|
+
collapseRuns: true
|
|
99638
|
+
});
|
|
99639
|
+
if (reduced === rawText) continue;
|
|
99640
|
+
applyMessageMutationInPlace(message, replaceToolResultText(message, reduced));
|
|
99641
|
+
}
|
|
99642
|
+
}
|
|
99206
99643
|
function enforceToolResultContextBudgetInPlace(params) {
|
|
99207
|
-
const { messages, contextBudgetChars, maxSingleToolResultChars } = params;
|
|
99644
|
+
const { messages, contextBudgetChars, maxSingleToolResultChars, reduceOutput } = params;
|
|
99645
|
+
if (reduceOutput) reduceToolResultOutputsInPlace(messages);
|
|
99208
99646
|
for (const message of messages) {
|
|
99209
99647
|
if (!isToolResultMessage(message)) continue;
|
|
99210
99648
|
applyMessageMutationInPlace(message, truncateToolResultToChars(message, maxSingleToolResultChars));
|
|
@@ -99226,6 +99664,7 @@ function enforceToolResultContextBudgetInPlace(params) {
|
|
|
99226
99664
|
* @returns An async function suitable for use as Agent's transformContext callback.
|
|
99227
99665
|
*/
|
|
99228
99666
|
function createToolResultContextGuardTransform(params) {
|
|
99667
|
+
const reduceOutput = params.reduceOutput !== false;
|
|
99229
99668
|
const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
|
|
99230
99669
|
const contextBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * CONTEXT_INPUT_HEADROOM_RATIO));
|
|
99231
99670
|
const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
|
|
@@ -99236,13 +99675,15 @@ function createToolResultContextGuardTransform(params) {
|
|
|
99236
99675
|
enforceToolResultContextBudgetInPlace({
|
|
99237
99676
|
messages: contextMessages,
|
|
99238
99677
|
contextBudgetChars,
|
|
99239
|
-
maxSingleToolResultChars
|
|
99678
|
+
maxSingleToolResultChars,
|
|
99679
|
+
reduceOutput
|
|
99240
99680
|
});
|
|
99241
99681
|
return contextMessages;
|
|
99242
99682
|
};
|
|
99243
99683
|
}
|
|
99244
|
-
var CHARS_PER_TOKEN_ESTIMATE, CONTEXT_INPUT_HEADROOM_RATIO, SINGLE_TOOL_RESULT_CONTEXT_SHARE, TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, IMAGE_CHAR_ESTIMATE, CONTEXT_LIMIT_TRUNCATION_NOTICE, CONTEXT_LIMIT_TRUNCATION_SUFFIX, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER;
|
|
99684
|
+
var CHARS_PER_TOKEN_ESTIMATE, CONTEXT_INPUT_HEADROOM_RATIO, SINGLE_TOOL_RESULT_CONTEXT_SHARE, TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, IMAGE_CHAR_ESTIMATE, CONTEXT_LIMIT_TRUNCATION_NOTICE, CONTEXT_LIMIT_TRUNCATION_SUFFIX, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER, REDUCE_MAX_LINES, REDUCE_HEAD_LINES, REDUCE_TAIL_LINES;
|
|
99245
99685
|
var init_tool_result_context_guard = __esmMin((() => {
|
|
99686
|
+
init_tool_result_reduce();
|
|
99246
99687
|
CHARS_PER_TOKEN_ESTIMATE = 4;
|
|
99247
99688
|
CONTEXT_INPUT_HEADROOM_RATIO = .75;
|
|
99248
99689
|
SINGLE_TOOL_RESULT_CONTEXT_SHARE = .5;
|
|
@@ -99251,6 +99692,9 @@ var init_tool_result_context_guard = __esmMin((() => {
|
|
|
99251
99692
|
CONTEXT_LIMIT_TRUNCATION_NOTICE = "[truncated: output exceeded context limit]";
|
|
99252
99693
|
CONTEXT_LIMIT_TRUNCATION_SUFFIX = `\n${CONTEXT_LIMIT_TRUNCATION_NOTICE}`;
|
|
99253
99694
|
PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER = "[compacted: tool output removed to free context]";
|
|
99695
|
+
REDUCE_MAX_LINES = 200;
|
|
99696
|
+
REDUCE_HEAD_LINES = 40;
|
|
99697
|
+
REDUCE_TAIL_LINES = 40;
|
|
99254
99698
|
}));
|
|
99255
99699
|
//#endregion
|
|
99256
99700
|
//#region src/agents/pi-embedded-runner/run/attempt-session.ts
|
|
@@ -99343,7 +99787,10 @@ async function createRunSession(params, env) {
|
|
|
99343
99787
|
applySystemPromptOverrideToSession(session, env.systemPromptText);
|
|
99344
99788
|
if (!session) throw new Error("Embedded agent session missing");
|
|
99345
99789
|
const activeSession = session;
|
|
99346
|
-
const contextGuardTransform = createToolResultContextGuardTransform({
|
|
99790
|
+
const contextGuardTransform = createToolResultContextGuardTransform({
|
|
99791
|
+
contextWindowTokens: Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? 2e5)),
|
|
99792
|
+
reduceOutput: params.config?.tools?.outputReduce?.enabled !== false
|
|
99793
|
+
});
|
|
99347
99794
|
activeSession.agent.transformContext = contextGuardTransform;
|
|
99348
99795
|
const cacheTrace = createCacheTrace({
|
|
99349
99796
|
cfg: params.config,
|
|
@@ -103549,7 +103996,7 @@ var init_commands_allowlist = __esmMin((() => {
|
|
|
103549
103996
|
init_resolve_users();
|
|
103550
103997
|
init_config_writes();
|
|
103551
103998
|
init_pairing();
|
|
103552
|
-
init_registry$
|
|
103999
|
+
init_registry$5();
|
|
103553
104000
|
init_accounts();
|
|
103554
104001
|
init_accounts$5();
|
|
103555
104002
|
init_config$4();
|
|
@@ -104889,7 +105336,7 @@ var init_debug_commands = __esmMin((() => {
|
|
|
104889
105336
|
var handleConfigCommand, handleDebugCommand;
|
|
104890
105337
|
var init_commands_config = __esmMin((() => {
|
|
104891
105338
|
init_config_writes();
|
|
104892
|
-
init_registry$
|
|
105339
|
+
init_registry$5();
|
|
104893
105340
|
init_config_paths();
|
|
104894
105341
|
init_config$4();
|
|
104895
105342
|
init_runtime_overrides();
|
|
@@ -109070,7 +109517,7 @@ var init_reply_elevated = __esmMin((() => {
|
|
|
109070
109517
|
init_agent_scope();
|
|
109071
109518
|
init_dock();
|
|
109072
109519
|
init_plugins();
|
|
109073
|
-
init_registry$
|
|
109520
|
+
init_registry$5();
|
|
109074
109521
|
init_message_channel();
|
|
109075
109522
|
init_string_normalization();
|
|
109076
109523
|
init_elevated_unavailable();
|
|
@@ -110671,7 +111118,7 @@ var BUN_FETCH_SOCKET_ERROR_RE, isBunFetchSocketError, formatBunFetchSocketError,
|
|
|
110671
111118
|
var init_agent_runner_utils = __esmMin((() => {
|
|
110672
111119
|
init_agent_scope();
|
|
110673
111120
|
init_dock();
|
|
110674
|
-
init_registry$
|
|
111121
|
+
init_registry$5();
|
|
110675
111122
|
init_sessions$1();
|
|
110676
111123
|
init_provider_utils();
|
|
110677
111124
|
init_usage_format();
|
|
@@ -114323,7 +114770,7 @@ var init_reply = __esmMin((() => {
|
|
|
114323
114770
|
//#region src/channels/plugins/whatsapp-heartbeat.ts
|
|
114324
114771
|
init_sessions$1();
|
|
114325
114772
|
init_utils$2();
|
|
114326
|
-
init_registry$
|
|
114773
|
+
init_registry$5();
|
|
114327
114774
|
function getSessionRecipients(cfg) {
|
|
114328
114775
|
if ((cfg.session?.scope ?? "per-sender") === "global") return [];
|
|
114329
114776
|
const store = loadSessionStore(resolveStorePath$1(cfg.session?.store));
|