@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
|
@@ -48,6 +48,7 @@ import { Readable } from "node:stream";
|
|
|
48
48
|
import chokidar from "chokidar";
|
|
49
49
|
import { WebClient } from "@slack/web-api";
|
|
50
50
|
import { Type as Type$1 } from "@sinclair/typebox";
|
|
51
|
+
import { Bash, InMemoryFs, MountableFs, ReadWriteFs } from "just-bash";
|
|
51
52
|
import fs$2 from "fs/promises";
|
|
52
53
|
import os$1 from "os";
|
|
53
54
|
import path$1 from "path";
|
|
@@ -1989,6 +1990,7 @@ var init_zod_schema_agent_runtime = __esmMin((() => {
|
|
|
1989
1990
|
]).optional(),
|
|
1990
1991
|
perSession: z.boolean().optional(),
|
|
1991
1992
|
workspaceRoot: z.string().optional(),
|
|
1993
|
+
tier0: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
1992
1994
|
docker: SandboxDockerSchema,
|
|
1993
1995
|
browser: SandboxBrowserSchema,
|
|
1994
1996
|
prune: SandboxPruneSchema
|
|
@@ -2190,7 +2192,8 @@ var init_zod_schema_agent_runtime = __esmMin((() => {
|
|
|
2190
2192
|
exec: ToolExecSchema,
|
|
2191
2193
|
fs: ToolFsSchema,
|
|
2192
2194
|
subagents: z.object({ tools: ToolPolicySchema }).strict().optional(),
|
|
2193
|
-
sandbox: z.object({ tools: ToolPolicySchema }).strict().optional()
|
|
2195
|
+
sandbox: z.object({ tools: ToolPolicySchema }).strict().optional(),
|
|
2196
|
+
outputReduce: z.object({ enabled: z.boolean().optional() }).strict().optional()
|
|
2194
2197
|
}).strict().superRefine((value, ctx) => {
|
|
2195
2198
|
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)");
|
|
2196
2199
|
}).optional();
|
|
@@ -2619,7 +2622,7 @@ function notifyMcpToolsChanged() {
|
|
|
2619
2622
|
}
|
|
2620
2623
|
}
|
|
2621
2624
|
var tools, sseSubscribers, EMPTY_OBJECT_SCHEMA;
|
|
2622
|
-
var init_registry$
|
|
2625
|
+
var init_registry$7 = __esmMin((() => {
|
|
2623
2626
|
tools = /* @__PURE__ */ new Map();
|
|
2624
2627
|
sseSubscribers = /* @__PURE__ */ new Set();
|
|
2625
2628
|
EMPTY_OBJECT_SCHEMA = {
|
|
@@ -3373,9 +3376,9 @@ function createPluginRegistry(registryParams) {
|
|
|
3373
3376
|
registerTypedHook
|
|
3374
3377
|
};
|
|
3375
3378
|
}
|
|
3376
|
-
var init_registry$
|
|
3379
|
+
var init_registry$6 = __esmMin((() => {
|
|
3377
3380
|
init_instant_commands();
|
|
3378
|
-
init_registry$
|
|
3381
|
+
init_registry$7();
|
|
3379
3382
|
init_internal_hooks();
|
|
3380
3383
|
init_utils$2();
|
|
3381
3384
|
init_channel_link_runtime();
|
|
@@ -3409,7 +3412,7 @@ function setActivePluginRuntime(runtime) {
|
|
|
3409
3412
|
}
|
|
3410
3413
|
var REGISTRY_STATE, CONFIG_STATE, RUNTIME_STATE, state$3, configState, runtimeState;
|
|
3411
3414
|
var init_runtime$3 = __esmMin((() => {
|
|
3412
|
-
init_registry$
|
|
3415
|
+
init_registry$6();
|
|
3413
3416
|
REGISTRY_STATE = Symbol.for("minion.pluginRegistryState");
|
|
3414
3417
|
CONFIG_STATE = Symbol.for("minion.pluginRegistryConfig");
|
|
3415
3418
|
RUNTIME_STATE = Symbol.for("minion.activePluginRuntime");
|
|
@@ -3456,7 +3459,7 @@ function normalizeAnyChannelId(raw) {
|
|
|
3456
3459
|
})?.plugin.id ?? null;
|
|
3457
3460
|
}
|
|
3458
3461
|
var CHAT_CHANNEL_ORDER, CHANNEL_IDS, CHAT_CHANNEL_META, CHAT_CHANNEL_ALIASES, normalizeChannelKey;
|
|
3459
|
-
var init_registry$
|
|
3462
|
+
var init_registry$5 = __esmMin((() => {
|
|
3460
3463
|
init_runtime$3();
|
|
3461
3464
|
CHAT_CHANNEL_ORDER = [
|
|
3462
3465
|
"telegram",
|
|
@@ -3878,7 +3881,7 @@ function createSubsystemLogger(subsystem) {
|
|
|
3878
3881
|
}
|
|
3879
3882
|
var SUBSYSTEM_COLORS, SUBSYSTEM_COLOR_OVERRIDES, SUBSYSTEM_PREFIXES_TO_DROP, SUBSYSTEM_MAX_SEGMENTS, CHANNEL_SUBSYSTEM_PREFIXES;
|
|
3880
3883
|
var init_subsystem = __esmMin((() => {
|
|
3881
|
-
init_registry$
|
|
3884
|
+
init_registry$5();
|
|
3882
3885
|
init_globals();
|
|
3883
3886
|
init_runtime$2();
|
|
3884
3887
|
init_progress_line();
|
|
@@ -4107,7 +4110,7 @@ var init_shell_env = __esmMin((() => {
|
|
|
4107
4110
|
//#region src/version.ts
|
|
4108
4111
|
var VERSION;
|
|
4109
4112
|
var init_version$1 = __esmMin((() => {
|
|
4110
|
-
VERSION = "2026.6.
|
|
4113
|
+
VERSION = "2026.6.16-dev";
|
|
4111
4114
|
}));
|
|
4112
4115
|
//#endregion
|
|
4113
4116
|
//#region src/config/agent-dirs.ts
|
|
@@ -14813,6 +14816,7 @@ var init_zod_schema = __esmMin((() => {
|
|
|
14813
14816
|
importContacts: z.boolean().optional()
|
|
14814
14817
|
}).strict().optional(),
|
|
14815
14818
|
memorySync: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
14819
|
+
trajectory: z.object({ enabled: z.boolean().optional() }).strict().optional(),
|
|
14816
14820
|
personalAgentObservations: z.object({
|
|
14817
14821
|
enabled: z.boolean().optional(),
|
|
14818
14822
|
dbPath: z.string().optional()
|
|
@@ -14925,6 +14929,7 @@ var init_zod_schema = __esmMin((() => {
|
|
|
14925
14929
|
memory: MemorySchema,
|
|
14926
14930
|
skills: z.object({
|
|
14927
14931
|
allowBundled: z.array(z.string()).optional(),
|
|
14932
|
+
progressiveDisclosure: z.boolean().optional(),
|
|
14928
14933
|
load: z.object({
|
|
14929
14934
|
extraDirs: z.array(z.string()).optional(),
|
|
14930
14935
|
watch: z.boolean().optional(),
|
|
@@ -15300,7 +15305,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
15300
15305
|
var AVATAR_SCHEME_RE, AVATAR_DATA_RE, AVATAR_HTTP_RE, WINDOWS_ABS_RE;
|
|
15301
15306
|
var init_validation = __esmMin((() => {
|
|
15302
15307
|
init_agent_scope();
|
|
15303
|
-
init_registry$
|
|
15308
|
+
init_registry$5();
|
|
15304
15309
|
init_config_state();
|
|
15305
15310
|
init_manifest_registry();
|
|
15306
15311
|
init_schema_validator();
|
|
@@ -17801,7 +17806,7 @@ function isMarkdownCapableMessageChannel(raw) {
|
|
|
17801
17806
|
}
|
|
17802
17807
|
var INTERNAL_MESSAGE_CHANNEL, MARKDOWN_CAPABLE_CHANNELS, listPluginChannelIds, listDeliverableMessageChannels, listGatewayMessageChannels;
|
|
17803
17808
|
var init_message_channel = __esmMin((() => {
|
|
17804
|
-
init_registry$
|
|
17809
|
+
init_registry$5();
|
|
17805
17810
|
init_client_info();
|
|
17806
17811
|
init_runtime$3();
|
|
17807
17812
|
INTERNAL_MESSAGE_CHANNEL = "webchat";
|
|
@@ -19987,7 +19992,7 @@ function resolveDefaultAgentBoundAccountId(cfg, channelId) {
|
|
|
19987
19992
|
}
|
|
19988
19993
|
var init_bindings = __esmMin((() => {
|
|
19989
19994
|
init_agent_scope();
|
|
19990
|
-
init_registry$
|
|
19995
|
+
init_registry$5();
|
|
19991
19996
|
init_session_key$1();
|
|
19992
19997
|
}));
|
|
19993
19998
|
//#endregion
|
|
@@ -20485,7 +20490,7 @@ function normalizeChannelId(raw) {
|
|
|
20485
20490
|
}
|
|
20486
20491
|
var init_plugins = __esmMin((() => {
|
|
20487
20492
|
init_runtime$3();
|
|
20488
|
-
init_registry$
|
|
20493
|
+
init_registry$5();
|
|
20489
20494
|
init_directory_config();
|
|
20490
20495
|
init_channel_config();
|
|
20491
20496
|
init_allowlist_match();
|
|
@@ -25549,7 +25554,7 @@ var init_dock = __esmMin((() => {
|
|
|
25549
25554
|
init_utils$2();
|
|
25550
25555
|
init_group_mentions();
|
|
25551
25556
|
init_signal$1();
|
|
25552
|
-
init_registry$
|
|
25557
|
+
init_registry$5();
|
|
25553
25558
|
formatLower = (allowFrom) => allowFrom.map((entry) => String(entry).trim()).filter(Boolean).map((entry) => entry.toLowerCase());
|
|
25554
25559
|
formatDiscordAllowFrom = (allowFrom) => allowFrom.map((entry) => String(entry).trim().replace(/^<@!?/, "").replace(/>$/, "").replace(/^discord:/i, "").replace(/^user:/i, "").replace(/^pk:/i, "").trim().toLowerCase()).filter(Boolean);
|
|
25555
25560
|
DOCKS = {
|
|
@@ -29457,6 +29462,24 @@ var init_bundled_dir = __esmMin((() => {
|
|
|
29457
29462
|
init_minion_root();
|
|
29458
29463
|
}));
|
|
29459
29464
|
//#endregion
|
|
29465
|
+
//#region src/agents/skills/compact-prompt.ts
|
|
29466
|
+
/**
|
|
29467
|
+
* Render a compact, name+description-only skills listing for progressive
|
|
29468
|
+
* disclosure. The full SKILL.md body is deliberately omitted; the agent is
|
|
29469
|
+
* instructed to load it on demand via the `skill_view` tool. This keeps the
|
|
29470
|
+
* system prompt small when many skills are available.
|
|
29471
|
+
*/
|
|
29472
|
+
function formatSkillsCompact(skills) {
|
|
29473
|
+
if (skills.length === 0) return "";
|
|
29474
|
+
return [
|
|
29475
|
+
"<available_skills>",
|
|
29476
|
+
...skills.map((s) => `- **${s.name}** — ${s.description.trim()}`),
|
|
29477
|
+
"</available_skills>",
|
|
29478
|
+
"Call the `skill_view` tool with a skill name to load its full instructions before using it."
|
|
29479
|
+
].join("\n");
|
|
29480
|
+
}
|
|
29481
|
+
var init_compact_prompt = __esmMin((() => {}));
|
|
29482
|
+
//#endregion
|
|
29460
29483
|
//#region src/shared/config-eval.ts
|
|
29461
29484
|
function isTruthyValue(value) {
|
|
29462
29485
|
if (value === void 0 || value === null) return false;
|
|
@@ -30207,6 +30230,35 @@ function applySkillsPromptLimits(params) {
|
|
|
30207
30230
|
truncatedReason
|
|
30208
30231
|
};
|
|
30209
30232
|
}
|
|
30233
|
+
/**
|
|
30234
|
+
* Resolve whether progressive disclosure is enabled. Default is ON; only an
|
|
30235
|
+
* explicit `false` disables it (inlining full skill bodies in the prompt).
|
|
30236
|
+
*/
|
|
30237
|
+
function resolveProgressiveDisclosure(config, override) {
|
|
30238
|
+
if (override !== void 0) return override;
|
|
30239
|
+
return config?.skills?.progressiveDisclosure !== false;
|
|
30240
|
+
}
|
|
30241
|
+
/**
|
|
30242
|
+
* Map prompt-eligible skill entries to compact `{ name, description, body }`
|
|
30243
|
+
* records. The body is the full SKILL.md text, read from disk on demand; if the
|
|
30244
|
+
* file can't be read we fall back to an empty body (compact mode omits bodies
|
|
30245
|
+
* from the prompt anyway, so this only affects callers that inspect `body`).
|
|
30246
|
+
*/
|
|
30247
|
+
function toCompactSkills(skills) {
|
|
30248
|
+
return skills.map((skill) => {
|
|
30249
|
+
let body = "";
|
|
30250
|
+
try {
|
|
30251
|
+
body = fs.readFileSync(skill.filePath, "utf-8");
|
|
30252
|
+
} catch {
|
|
30253
|
+
body = "";
|
|
30254
|
+
}
|
|
30255
|
+
return {
|
|
30256
|
+
name: skill.name,
|
|
30257
|
+
description: skill.description ?? "",
|
|
30258
|
+
body
|
|
30259
|
+
};
|
|
30260
|
+
});
|
|
30261
|
+
}
|
|
30210
30262
|
function buildWorkspaceSkillSnapshot(workspaceDir, opts) {
|
|
30211
30263
|
const eligible = filterSkillEntries(opts?.entries ?? loadSkillEntries(workspaceDir, opts), opts?.config, opts?.skillFilter, opts?.eligibility, opts?.denyFilter);
|
|
30212
30264
|
const resolvedSkills = eligible.filter((entry) => entry.invocation?.disableModelInvocation !== true).map((entry) => entry.skill);
|
|
@@ -30218,7 +30270,7 @@ function buildWorkspaceSkillSnapshot(workspaceDir, opts) {
|
|
|
30218
30270
|
const prompt = [
|
|
30219
30271
|
remoteNote,
|
|
30220
30272
|
truncated ? `⚠️ Skills truncated: included ${skillsForPrompt.length} of ${resolvedSkills.length}. Run \`openclaw skills check\` to audit.` : "",
|
|
30221
|
-
formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
30273
|
+
resolveProgressiveDisclosure(opts?.config, opts?.progressive) ? formatSkillsCompact(toCompactSkills(skillsForPrompt)) : formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
30222
30274
|
].filter(Boolean).join("\n");
|
|
30223
30275
|
const skillFilter = normalizeSkillFilter(opts?.skillFilter);
|
|
30224
30276
|
const denyFilter = normalizeSkillFilter(opts?.denyFilter);
|
|
@@ -30245,7 +30297,7 @@ function buildWorkspaceSkillsPrompt(workspaceDir, opts) {
|
|
|
30245
30297
|
return [
|
|
30246
30298
|
remoteNote,
|
|
30247
30299
|
truncated ? `⚠️ Skills truncated: included ${skillsForPrompt.length} of ${resolvedSkills.length}. Run \`openclaw skills check\` to audit.` : "",
|
|
30248
|
-
formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
30300
|
+
resolveProgressiveDisclosure(opts?.config, opts?.progressive) ? formatSkillsCompact(toCompactSkills(skillsForPrompt)) : formatSkillsForPrompt(compactSkillPaths(skillsForPrompt))
|
|
30249
30301
|
].filter(Boolean).join("\n");
|
|
30250
30302
|
}
|
|
30251
30303
|
function resolveSkillsPromptForRun(params) {
|
|
@@ -30398,6 +30450,7 @@ var init_workspace$1 = __esmMin((() => {
|
|
|
30398
30450
|
init_utils$2();
|
|
30399
30451
|
init_sandbox_paths();
|
|
30400
30452
|
init_bundled_dir();
|
|
30453
|
+
init_compact_prompt();
|
|
30401
30454
|
init_config$3();
|
|
30402
30455
|
init_filter();
|
|
30403
30456
|
init_frontmatter();
|
|
@@ -32128,7 +32181,7 @@ var init_parse$2 = __esmMin((() => {
|
|
|
32128
32181
|
ERROR_PAYLOAD_PREFIX_RE = /^(?:error|api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error)[:\s-]+/i;
|
|
32129
32182
|
})), 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;
|
|
32130
32183
|
var init_constants$2 = __esmMin((() => {
|
|
32131
|
-
init_registry$
|
|
32184
|
+
init_registry$5();
|
|
32132
32185
|
init_config$4();
|
|
32133
32186
|
DEFAULT_SANDBOX_WORKSPACE_ROOT = path.join(STATE_DIR, "sandboxes");
|
|
32134
32187
|
DEFAULT_SANDBOX_IMAGE = "minion-sandbox:bookworm-slim";
|
|
@@ -32633,6 +32686,7 @@ function resolveSandboxConfigForAgent(cfg, agentId) {
|
|
|
32633
32686
|
scope,
|
|
32634
32687
|
workspaceAccess: agentSandbox?.workspaceAccess ?? agent?.workspaceAccess ?? "none",
|
|
32635
32688
|
workspaceRoot: agentSandbox?.workspaceRoot ?? agent?.workspaceRoot ?? DEFAULT_SANDBOX_WORKSPACE_ROOT,
|
|
32689
|
+
tier0: { enabled: agentSandbox?.tier0?.enabled ?? agent?.tier0?.enabled ?? false },
|
|
32636
32690
|
docker: resolveSandboxDockerConfig({
|
|
32637
32691
|
scope,
|
|
32638
32692
|
globalDocker: agent?.docker,
|
|
@@ -40165,7 +40219,7 @@ async function removeBrowserRegistryEntry(containerName) {
|
|
|
40165
40219
|
return next;
|
|
40166
40220
|
});
|
|
40167
40221
|
}
|
|
40168
|
-
var init_registry$
|
|
40222
|
+
var init_registry$4 = __esmMin((() => {
|
|
40169
40223
|
init_session_write_lock();
|
|
40170
40224
|
init_constants$2();
|
|
40171
40225
|
}));
|
|
@@ -40626,7 +40680,7 @@ var init_docker = __esmMin((() => {
|
|
|
40626
40680
|
init_runtime$2();
|
|
40627
40681
|
init_config_hash();
|
|
40628
40682
|
init_constants$2();
|
|
40629
|
-
init_registry$
|
|
40683
|
+
init_registry$4();
|
|
40630
40684
|
init_shared$1();
|
|
40631
40685
|
init_validate_sandbox_security();
|
|
40632
40686
|
log$45 = createSubsystemLogger("sandbox/docker");
|
|
@@ -40852,7 +40906,7 @@ var init_browser = __esmMin((() => {
|
|
|
40852
40906
|
init_config$2();
|
|
40853
40907
|
init_constants$2();
|
|
40854
40908
|
init_docker();
|
|
40855
|
-
init_registry$
|
|
40909
|
+
init_registry$4();
|
|
40856
40910
|
init_shared$1();
|
|
40857
40911
|
init_tool_policy();
|
|
40858
40912
|
HOT_BROWSER_WINDOW_MS = 300 * 1e3;
|
|
@@ -41218,7 +41272,7 @@ var init_prune = __esmMin((() => {
|
|
|
41218
41272
|
init_runtime$2();
|
|
41219
41273
|
init_browser_bridges();
|
|
41220
41274
|
init_docker();
|
|
41221
|
-
init_registry$
|
|
41275
|
+
init_registry$4();
|
|
41222
41276
|
lastPruneAtMs = 0;
|
|
41223
41277
|
}));
|
|
41224
41278
|
//#endregion
|
|
@@ -43064,7 +43118,7 @@ var init_manage = __esmMin((() => {
|
|
|
43064
43118
|
init_config$4();
|
|
43065
43119
|
init_config$2();
|
|
43066
43120
|
init_docker();
|
|
43067
|
-
init_registry$
|
|
43121
|
+
init_registry$4();
|
|
43068
43122
|
init_shared$1();
|
|
43069
43123
|
}));
|
|
43070
43124
|
//#endregion
|
|
@@ -44164,7 +44218,7 @@ var loggedListActionErrors;
|
|
|
44164
44218
|
var init_channel_tools = __esmMin((() => {
|
|
44165
44219
|
init_dock();
|
|
44166
44220
|
init_plugins();
|
|
44167
|
-
init_registry$
|
|
44221
|
+
init_registry$5();
|
|
44168
44222
|
init_runtime$2();
|
|
44169
44223
|
loggedListActionErrors = /* @__PURE__ */ new Set();
|
|
44170
44224
|
}));
|
|
@@ -57275,7 +57329,7 @@ function resolveCommandAuthorization(params) {
|
|
|
57275
57329
|
}
|
|
57276
57330
|
var init_command_auth = __esmMin((() => {
|
|
57277
57331
|
init_dock();
|
|
57278
|
-
init_registry$
|
|
57332
|
+
init_registry$5();
|
|
57279
57333
|
init_message_channel();
|
|
57280
57334
|
}));
|
|
57281
57335
|
//#endregion
|
|
@@ -63215,7 +63269,7 @@ var init_commands_allowlist = __esmMin((() => {
|
|
|
63215
63269
|
init_resolve_users();
|
|
63216
63270
|
init_config_writes();
|
|
63217
63271
|
init_pairing();
|
|
63218
|
-
init_registry$
|
|
63272
|
+
init_registry$5();
|
|
63219
63273
|
init_accounts$3();
|
|
63220
63274
|
init_accounts$2();
|
|
63221
63275
|
init_config$4();
|
|
@@ -67520,6 +67574,198 @@ var init_landlock = __esmMin((() => {
|
|
|
67520
67574
|
_caps = null;
|
|
67521
67575
|
}));
|
|
67522
67576
|
//#endregion
|
|
67577
|
+
//#region src/agents/sandbox/tier0/router.ts
|
|
67578
|
+
function shouldTryTier0(command) {
|
|
67579
|
+
const cmd = command.trim();
|
|
67580
|
+
if (!cmd) return false;
|
|
67581
|
+
for (const re of ESCALATE_PATTERNS) if (re.test(cmd)) return false;
|
|
67582
|
+
return true;
|
|
67583
|
+
}
|
|
67584
|
+
/**
|
|
67585
|
+
* Distinguish "just-bash can't do this" from "the user's command legitimately
|
|
67586
|
+
* failed". Known limitations in just-bash@3.0.1 include `$(( ))` arithmetic
|
|
67587
|
+
* expansion (trips its own defense-in-depth `node:module` guard) and any
|
|
67588
|
+
* unimplemented builtin. These must escalate to Docker, not surface as failures.
|
|
67589
|
+
*/
|
|
67590
|
+
function isInterpreterLimitation(stderr) {
|
|
67591
|
+
if (!stderr) return false;
|
|
67592
|
+
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);
|
|
67593
|
+
}
|
|
67594
|
+
var ESCALATE_PATTERNS;
|
|
67595
|
+
var init_router = __esmMin((() => {
|
|
67596
|
+
ESCALATE_PATTERNS = [
|
|
67597
|
+
/\b(curl|wget|nc|ncat|netcat|ssh|scp|sftp|rsync|ping|dig|nslookup|host)\b/,
|
|
67598
|
+
/\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/,
|
|
67599
|
+
/\b(apt|apt-get|dpkg|yum|dnf|apk|brew|sudo|su|systemctl|service|mount|umount|chroot|insmod|modprobe|iptables)\b/,
|
|
67600
|
+
/\b(docker|kubectl|helm|git|gh|aws|gcloud|az|terraform|ffmpeg|convert|magick|pandoc)\b/,
|
|
67601
|
+
/(^|\s|=)\/(dev|proc|sys)\//,
|
|
67602
|
+
/<\(|>\(/
|
|
67603
|
+
];
|
|
67604
|
+
}));
|
|
67605
|
+
//#endregion
|
|
67606
|
+
//#region src/agents/sandbox/tier0/virtual-sandbox.ts
|
|
67607
|
+
/**
|
|
67608
|
+
* Tier-0 virtual sandbox — an in-process bash backend powered by just-bash.
|
|
67609
|
+
*
|
|
67610
|
+
* This is the cheap/fast tier in front of the Docker sandbox. For the high-volume
|
|
67611
|
+
* "safe" majority of agent shell calls (string munging, fs reads/writes in the
|
|
67612
|
+
* workspace, grep/sed/jq-style pipelines) it runs the command in-process against
|
|
67613
|
+
* an in-memory shell with the real workspace dir mounted — no container spawn.
|
|
67614
|
+
*
|
|
67615
|
+
* Correctness: the agent's real workspace dir is mounted (read-write, symlink-
|
|
67616
|
+
* blocked, root-jailed via just-bash's ReadWriteFs) at the container workdir, so
|
|
67617
|
+
* file visibility is identical to the Docker path. `/tmp` etc. live on an
|
|
67618
|
+
* InMemoryFs base. Network and python are OFF by default (just-bash defaults).
|
|
67619
|
+
*
|
|
67620
|
+
* Anything just-bash can't serve (an unimplemented builtin, an internal error)
|
|
67621
|
+
* sets `unsupported: true`; callers MUST escalate those to the Docker backend.
|
|
67622
|
+
* See ./router.ts for the routing + interpreter-limitation heuristics.
|
|
67623
|
+
*/
|
|
67624
|
+
function withTimeout$4(p, ms) {
|
|
67625
|
+
if (!ms) return p;
|
|
67626
|
+
return new Promise((resolve, reject) => {
|
|
67627
|
+
const timer = setTimeout(() => reject(new TimeoutError()), ms);
|
|
67628
|
+
p.then((value) => {
|
|
67629
|
+
clearTimeout(timer);
|
|
67630
|
+
resolve(value);
|
|
67631
|
+
}, (error) => {
|
|
67632
|
+
clearTimeout(timer);
|
|
67633
|
+
reject(error);
|
|
67634
|
+
});
|
|
67635
|
+
});
|
|
67636
|
+
}
|
|
67637
|
+
var Tier0VirtualSandbox, TimeoutError;
|
|
67638
|
+
var init_virtual_sandbox = __esmMin((() => {
|
|
67639
|
+
init_router();
|
|
67640
|
+
Tier0VirtualSandbox = class {
|
|
67641
|
+
constructor() {
|
|
67642
|
+
this.instances = /* @__PURE__ */ new Map();
|
|
67643
|
+
}
|
|
67644
|
+
getInstance(req) {
|
|
67645
|
+
const existing = this.instances.get(req.scopeKey);
|
|
67646
|
+
if (existing && existing.workspaceHostDir === req.workspaceHostDir && existing.workdir === req.workdir) {
|
|
67647
|
+
existing.lastUsed = Date.now();
|
|
67648
|
+
return existing.bash;
|
|
67649
|
+
}
|
|
67650
|
+
const fs = new MountableFs({ base: new InMemoryFs() });
|
|
67651
|
+
fs.mount(req.workdir, new ReadWriteFs({ root: req.workspaceHostDir }));
|
|
67652
|
+
const bash = new Bash({
|
|
67653
|
+
fs,
|
|
67654
|
+
cwd: req.workdir,
|
|
67655
|
+
env: {
|
|
67656
|
+
LANG: "C.UTF-8",
|
|
67657
|
+
...req.env
|
|
67658
|
+
},
|
|
67659
|
+
executionLimits: {
|
|
67660
|
+
maxCommandCount: 1e4,
|
|
67661
|
+
maxLoopIterations: 1e6
|
|
67662
|
+
}
|
|
67663
|
+
});
|
|
67664
|
+
const inst = {
|
|
67665
|
+
bash,
|
|
67666
|
+
workspaceHostDir: req.workspaceHostDir,
|
|
67667
|
+
workdir: req.workdir,
|
|
67668
|
+
lastUsed: Date.now()
|
|
67669
|
+
};
|
|
67670
|
+
this.instances.set(req.scopeKey, inst);
|
|
67671
|
+
return bash;
|
|
67672
|
+
}
|
|
67673
|
+
async exec(req) {
|
|
67674
|
+
const startedAt = Date.now();
|
|
67675
|
+
let bash;
|
|
67676
|
+
try {
|
|
67677
|
+
bash = this.getInstance(req);
|
|
67678
|
+
} catch {
|
|
67679
|
+
return {
|
|
67680
|
+
status: "failed",
|
|
67681
|
+
exitCode: null,
|
|
67682
|
+
durationMs: Date.now() - startedAt,
|
|
67683
|
+
aggregated: "",
|
|
67684
|
+
timedOut: false,
|
|
67685
|
+
unsupported: true
|
|
67686
|
+
};
|
|
67687
|
+
}
|
|
67688
|
+
try {
|
|
67689
|
+
const result = await withTimeout$4(bash.exec(req.command, {
|
|
67690
|
+
cwd: req.workdir,
|
|
67691
|
+
env: req.env
|
|
67692
|
+
}), req.timeoutSec ? req.timeoutSec * 1e3 : void 0);
|
|
67693
|
+
const durationMs = Date.now() - startedAt;
|
|
67694
|
+
const combined = [result.stdout, result.stderr].filter(Boolean).join("").trim();
|
|
67695
|
+
if (result.exitCode === 0) return {
|
|
67696
|
+
status: "completed",
|
|
67697
|
+
exitCode: 0,
|
|
67698
|
+
durationMs,
|
|
67699
|
+
aggregated: combined,
|
|
67700
|
+
timedOut: false,
|
|
67701
|
+
unsupported: false
|
|
67702
|
+
};
|
|
67703
|
+
return {
|
|
67704
|
+
status: "failed",
|
|
67705
|
+
exitCode: result.exitCode,
|
|
67706
|
+
durationMs,
|
|
67707
|
+
aggregated: combined,
|
|
67708
|
+
timedOut: false,
|
|
67709
|
+
unsupported: isInterpreterLimitation(result.stderr)
|
|
67710
|
+
};
|
|
67711
|
+
} catch (err) {
|
|
67712
|
+
const timedOut = err instanceof TimeoutError;
|
|
67713
|
+
return {
|
|
67714
|
+
status: "failed",
|
|
67715
|
+
exitCode: null,
|
|
67716
|
+
durationMs: Date.now() - startedAt,
|
|
67717
|
+
aggregated: "",
|
|
67718
|
+
timedOut,
|
|
67719
|
+
unsupported: !timedOut
|
|
67720
|
+
};
|
|
67721
|
+
}
|
|
67722
|
+
}
|
|
67723
|
+
dispose(scopeKey) {
|
|
67724
|
+
if (scopeKey) this.instances.delete(scopeKey);
|
|
67725
|
+
else this.instances.clear();
|
|
67726
|
+
}
|
|
67727
|
+
/** test/inspection helper */
|
|
67728
|
+
get liveInstances() {
|
|
67729
|
+
return this.instances.size;
|
|
67730
|
+
}
|
|
67731
|
+
};
|
|
67732
|
+
TimeoutError = class extends Error {};
|
|
67733
|
+
}));
|
|
67734
|
+
//#endregion
|
|
67735
|
+
//#region src/agents/sandbox/tier0/registry.ts
|
|
67736
|
+
function getTier0Sandbox() {
|
|
67737
|
+
if (!singleton$1) singleton$1 = new Tier0VirtualSandbox();
|
|
67738
|
+
return singleton$1;
|
|
67739
|
+
}
|
|
67740
|
+
/**
|
|
67741
|
+
* Resolve the tier-0 binding for an exec, or undefined to use the Docker/host
|
|
67742
|
+
* path. `workspaceHostDir` is the real sandbox workspace dir (mounted into the
|
|
67743
|
+
* Docker container too), so tier-0 sees the same files.
|
|
67744
|
+
*/
|
|
67745
|
+
function resolveTier0Binding(params) {
|
|
67746
|
+
if (!params.workspaceHostDir) return;
|
|
67747
|
+
const sandboxCfg = resolveSandboxConfigForAgent(params.config ?? loadConfig(), params.agentId);
|
|
67748
|
+
if (!sandboxCfg.tier0.enabled) return;
|
|
67749
|
+
if (sandboxCfg.workspaceAccess === "ro") return;
|
|
67750
|
+
return {
|
|
67751
|
+
backend: getTier0Sandbox(),
|
|
67752
|
+
workspaceHostDir: params.workspaceHostDir
|
|
67753
|
+
};
|
|
67754
|
+
}
|
|
67755
|
+
var singleton$1;
|
|
67756
|
+
var init_registry$3 = __esmMin((() => {
|
|
67757
|
+
init_config$4();
|
|
67758
|
+
init_config$2();
|
|
67759
|
+
init_virtual_sandbox();
|
|
67760
|
+
}));
|
|
67761
|
+
//#endregion
|
|
67762
|
+
//#region src/agents/sandbox/tier0/index.ts
|
|
67763
|
+
var init_tier0 = __esmMin((() => {
|
|
67764
|
+
init_router();
|
|
67765
|
+
init_registry$3();
|
|
67766
|
+
init_virtual_sandbox();
|
|
67767
|
+
}));
|
|
67768
|
+
//#endregion
|
|
67523
67769
|
//#region src/agents/tools/automation/gateway.ts
|
|
67524
67770
|
function readGatewayCallOptions(params) {
|
|
67525
67771
|
return {
|
|
@@ -68894,10 +69140,112 @@ function emitExecSystemEvent(text, opts) {
|
|
|
68894
69140
|
});
|
|
68895
69141
|
requestHeartbeatNow({ reason: "exec-event" });
|
|
68896
69142
|
}
|
|
69143
|
+
/**
|
|
69144
|
+
* Tier-0 fast path: run `execCommand` in the in-process virtual sandbox. Returns
|
|
69145
|
+
* a completed ExecProcessHandle on success, or null when just-bash can't serve
|
|
69146
|
+
* the command (so the caller escalates to Docker). Output is sanitized and a
|
|
69147
|
+
* ProcessSession is registered exactly like the normal path, so downstream
|
|
69148
|
+
* session listing / tailing is unaffected.
|
|
69149
|
+
*/
|
|
69150
|
+
async function tryTier0Exec(args) {
|
|
69151
|
+
const { opts, sessionId, startedAt, execCommand } = args;
|
|
69152
|
+
const tier0 = opts.tier0;
|
|
69153
|
+
const sandbox = opts.sandbox;
|
|
69154
|
+
if (!tier0 || !sandbox) return null;
|
|
69155
|
+
const workdir = opts.containerWorkdir ?? sandbox.containerWorkdir;
|
|
69156
|
+
let outcome;
|
|
69157
|
+
try {
|
|
69158
|
+
outcome = await tier0.backend.exec({
|
|
69159
|
+
command: execCommand,
|
|
69160
|
+
workdir,
|
|
69161
|
+
workspaceHostDir: tier0.workspaceHostDir,
|
|
69162
|
+
env: opts.env,
|
|
69163
|
+
scopeKey: sandbox.containerName,
|
|
69164
|
+
timeoutSec: opts.timeoutSec
|
|
69165
|
+
});
|
|
69166
|
+
} catch {
|
|
69167
|
+
return null;
|
|
69168
|
+
}
|
|
69169
|
+
if (outcome.unsupported) return null;
|
|
69170
|
+
const session = {
|
|
69171
|
+
id: sessionId,
|
|
69172
|
+
command: opts.command,
|
|
69173
|
+
scopeKey: opts.scopeKey,
|
|
69174
|
+
sessionKey: opts.sessionKey,
|
|
69175
|
+
notifyOnExit: opts.notifyOnExit,
|
|
69176
|
+
notifyOnExitEmptySuccess: opts.notifyOnExitEmptySuccess === true,
|
|
69177
|
+
exitNotified: false,
|
|
69178
|
+
child: void 0,
|
|
69179
|
+
stdin: void 0,
|
|
69180
|
+
pid: void 0,
|
|
69181
|
+
startedAt,
|
|
69182
|
+
cwd: opts.workdir,
|
|
69183
|
+
maxOutputChars: opts.maxOutput,
|
|
69184
|
+
pendingMaxOutputChars: opts.pendingMaxOutput,
|
|
69185
|
+
totalOutputChars: 0,
|
|
69186
|
+
pendingStdout: [],
|
|
69187
|
+
pendingStderr: [],
|
|
69188
|
+
pendingStdoutChars: 0,
|
|
69189
|
+
pendingStderrChars: 0,
|
|
69190
|
+
aggregated: "",
|
|
69191
|
+
tail: "",
|
|
69192
|
+
exited: false,
|
|
69193
|
+
exitCode: void 0,
|
|
69194
|
+
exitSignal: void 0,
|
|
69195
|
+
truncated: false,
|
|
69196
|
+
backgrounded: false
|
|
69197
|
+
};
|
|
69198
|
+
addSession(session);
|
|
69199
|
+
const sanitized = stripAnsi(sanitizeBinaryOutput(outcome.aggregated));
|
|
69200
|
+
for (const chunk of chunkString(sanitized)) appendOutput(session, "stdout", chunk);
|
|
69201
|
+
const status = outcome.status === "completed" ? "completed" : "failed";
|
|
69202
|
+
markExited(session, outcome.exitCode ?? 0, null, status);
|
|
69203
|
+
const durationMs = Date.now() - startedAt;
|
|
69204
|
+
const aggregated = session.aggregated.trim();
|
|
69205
|
+
let result;
|
|
69206
|
+
if (status === "completed") {
|
|
69207
|
+
const exitCode = outcome.exitCode ?? 0;
|
|
69208
|
+
result = {
|
|
69209
|
+
status: "completed",
|
|
69210
|
+
exitCode,
|
|
69211
|
+
exitSignal: null,
|
|
69212
|
+
durationMs,
|
|
69213
|
+
aggregated: aggregated + (exitCode !== 0 ? `\n\n(Command exited with code ${exitCode})` : ""),
|
|
69214
|
+
timedOut: false
|
|
69215
|
+
};
|
|
69216
|
+
} else {
|
|
69217
|
+
const reason = outcome.timedOut ? `Command timed out after ${opts.timeoutSec} seconds` : `Command exited with code ${outcome.exitCode ?? 1}`;
|
|
69218
|
+
result = {
|
|
69219
|
+
status: "failed",
|
|
69220
|
+
exitCode: outcome.exitCode,
|
|
69221
|
+
exitSignal: null,
|
|
69222
|
+
durationMs,
|
|
69223
|
+
aggregated,
|
|
69224
|
+
timedOut: outcome.timedOut,
|
|
69225
|
+
reason: aggregated ? `${aggregated}\n\n${reason}` : reason
|
|
69226
|
+
};
|
|
69227
|
+
}
|
|
69228
|
+
return {
|
|
69229
|
+
session,
|
|
69230
|
+
startedAt,
|
|
69231
|
+
pid: void 0,
|
|
69232
|
+
promise: Promise.resolve(result),
|
|
69233
|
+
kill: () => {}
|
|
69234
|
+
};
|
|
69235
|
+
}
|
|
68897
69236
|
async function runExecProcess(opts) {
|
|
68898
69237
|
const startedAt = Date.now();
|
|
68899
69238
|
const sessionId = createSessionSlug();
|
|
68900
69239
|
const execCommand = opts.execCommand ?? opts.command;
|
|
69240
|
+
if (opts.tier0 && opts.sandbox && !opts.usePty && shouldTryTier0(execCommand)) {
|
|
69241
|
+
const tier0Handle = await tryTier0Exec({
|
|
69242
|
+
opts,
|
|
69243
|
+
sessionId,
|
|
69244
|
+
startedAt,
|
|
69245
|
+
execCommand
|
|
69246
|
+
});
|
|
69247
|
+
if (tier0Handle) return tier0Handle;
|
|
69248
|
+
}
|
|
68901
69249
|
const supervisor = getProcessSupervisor();
|
|
68902
69250
|
const session = {
|
|
68903
69251
|
id: sessionId,
|
|
@@ -69128,6 +69476,7 @@ var init_bash_tools_exec_runtime = __esmMin((() => {
|
|
|
69128
69476
|
init_supervisor();
|
|
69129
69477
|
init_pty_dsr();
|
|
69130
69478
|
init_shell_utils();
|
|
69479
|
+
init_tier0();
|
|
69131
69480
|
init_bash_process_registry();
|
|
69132
69481
|
init_bash_tools_shared();
|
|
69133
69482
|
DANGEROUS_HOST_ENV_VARS = new Set([
|
|
@@ -69731,7 +70080,11 @@ function createExecTool(defaults) {
|
|
|
69731
70080
|
scopeKey: defaults?.scopeKey,
|
|
69732
70081
|
sessionKey: notifySessionKey,
|
|
69733
70082
|
timeoutSec: effectiveTimeout,
|
|
69734
|
-
onUpdate
|
|
70083
|
+
onUpdate,
|
|
70084
|
+
tier0: sandbox ? resolveTier0Binding({
|
|
70085
|
+
agentId,
|
|
70086
|
+
workspaceHostDir: sandbox.workspaceDir
|
|
70087
|
+
}) : void 0
|
|
69735
70088
|
});
|
|
69736
70089
|
let yielded = false;
|
|
69737
70090
|
let yieldTimer = null;
|
|
@@ -69806,6 +70159,7 @@ var init_bash_tools_exec = __esmMin((() => {
|
|
|
69806
70159
|
init_logger$2();
|
|
69807
70160
|
init_session_key$1();
|
|
69808
70161
|
init_landlock();
|
|
70162
|
+
init_tier0();
|
|
69809
70163
|
init_gateway();
|
|
69810
70164
|
init_nodes_utils();
|
|
69811
70165
|
init_bash_process_registry();
|
|
@@ -71985,7 +72339,7 @@ var init_debug_commands = __esmMin((() => {
|
|
|
71985
72339
|
var handleConfigCommand, handleDebugCommand;
|
|
71986
72340
|
var init_commands_config = __esmMin((() => {
|
|
71987
72341
|
init_config_writes();
|
|
71988
|
-
init_registry$
|
|
72342
|
+
init_registry$5();
|
|
71989
72343
|
init_config_paths();
|
|
71990
72344
|
init_config$4();
|
|
71991
72345
|
init_runtime_overrides();
|
|
@@ -72630,11 +72984,12 @@ var init_agent_type = __esmMin((() => {
|
|
|
72630
72984
|
if (!trimmed) return [];
|
|
72631
72985
|
return [
|
|
72632
72986
|
"## Skills (mandatory)",
|
|
72633
|
-
"Before replying: scan <available_skills>
|
|
72634
|
-
|
|
72635
|
-
"- If multiple could apply: choose the most specific one, then
|
|
72636
|
-
"- If none clearly apply: do not
|
|
72637
|
-
|
|
72987
|
+
"Before replying: scan the <available_skills> entries.",
|
|
72988
|
+
"- If exactly one skill clearly applies: load its full instructions, then follow it.",
|
|
72989
|
+
"- If multiple could apply: choose the most specific one, then load/follow it.",
|
|
72990
|
+
"- If none clearly apply: do not load any skill.",
|
|
72991
|
+
`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}\`.`,
|
|
72992
|
+
"Constraints: never load more than one skill up front; only load after selecting.",
|
|
72638
72993
|
trimmed,
|
|
72639
72994
|
""
|
|
72640
72995
|
];
|
|
@@ -72780,6 +73135,37 @@ var init_agent_type = __esmMin((() => {
|
|
|
72780
73135
|
];
|
|
72781
73136
|
}));
|
|
72782
73137
|
//#endregion
|
|
73138
|
+
//#region src/agents/sections/behaviour.ts
|
|
73139
|
+
var BEHAVIOUR_SECTIONS;
|
|
73140
|
+
var init_behaviour = __esmMin((() => {
|
|
73141
|
+
init_prose_loader();
|
|
73142
|
+
BEHAVIOUR_SECTIONS = [{
|
|
73143
|
+
id: "behaviour",
|
|
73144
|
+
layer: "identity",
|
|
73145
|
+
order: 2200,
|
|
73146
|
+
modes: ["full", "minimal"],
|
|
73147
|
+
cacheable: false,
|
|
73148
|
+
header: "## Operating Rules (self-maintained)",
|
|
73149
|
+
source: "file",
|
|
73150
|
+
render: (ctx) => {
|
|
73151
|
+
const workspaceDir = ctx.params.workspaceDir;
|
|
73152
|
+
if (!workspaceDir) return [];
|
|
73153
|
+
const content = resolveProse({
|
|
73154
|
+
layer: "identity",
|
|
73155
|
+
id: "behaviour",
|
|
73156
|
+
agentWorkspaceDir: workspaceDir
|
|
73157
|
+
})?.content.trim();
|
|
73158
|
+
if (!content) return [];
|
|
73159
|
+
return [
|
|
73160
|
+
"## Operating Rules (self-maintained)",
|
|
73161
|
+
"",
|
|
73162
|
+
content,
|
|
73163
|
+
""
|
|
73164
|
+
];
|
|
73165
|
+
}
|
|
73166
|
+
}];
|
|
73167
|
+
}));
|
|
73168
|
+
//#endregion
|
|
72783
73169
|
//#region src/agents/sections/identity.ts
|
|
72784
73170
|
var IDENTITY_SECTIONS;
|
|
72785
73171
|
var init_identity$1 = __esmMin((() => {
|
|
@@ -73748,6 +74134,7 @@ function getBuiltinRegistry() {
|
|
|
73748
74134
|
_registry$1.registerAll(PLATFORM_SECTIONS);
|
|
73749
74135
|
_registry$1.registerAll(AGENT_TYPE_SECTIONS);
|
|
73750
74136
|
_registry$1.registerAll(IDENTITY_SECTIONS);
|
|
74137
|
+
_registry$1.registerAll(BEHAVIOUR_SECTIONS);
|
|
73751
74138
|
_registry$1.registerAll(USER_SECTIONS);
|
|
73752
74139
|
_registry$1.registerAll(SESSION_SECTIONS);
|
|
73753
74140
|
return _registry$1;
|
|
@@ -73766,6 +74153,7 @@ function assembleAgentSystemPrompt(params) {
|
|
|
73766
74153
|
var _registry$1;
|
|
73767
74154
|
var init_assemble = __esmMin((() => {
|
|
73768
74155
|
init_agent_type();
|
|
74156
|
+
init_behaviour();
|
|
73769
74157
|
init_identity$1();
|
|
73770
74158
|
init_platform();
|
|
73771
74159
|
init_registry$1();
|
|
@@ -81598,7 +81986,7 @@ var init_reply_elevated = __esmMin((() => {
|
|
|
81598
81986
|
init_agent_scope();
|
|
81599
81987
|
init_dock();
|
|
81600
81988
|
init_plugins();
|
|
81601
|
-
init_registry$
|
|
81989
|
+
init_registry$5();
|
|
81602
81990
|
init_message_channel();
|
|
81603
81991
|
init_string_normalization();
|
|
81604
81992
|
init_elevated_unavailable();
|
|
@@ -90984,7 +91372,7 @@ function resolvePingPongTurns(cfg) {
|
|
|
90984
91372
|
var ANNOUNCE_SKIP_TOKEN, REPLY_SKIP_TOKEN, DEFAULT_PING_PONG_TURNS, MAX_PING_PONG_TURNS;
|
|
90985
91373
|
var init_sessions_send_helpers = __esmMin((() => {
|
|
90986
91374
|
init_plugins();
|
|
90987
|
-
init_registry$
|
|
91375
|
+
init_registry$5();
|
|
90988
91376
|
ANNOUNCE_SKIP_TOKEN = "ANNOUNCE_SKIP";
|
|
90989
91377
|
REPLY_SKIP_TOKEN = "REPLY_SKIP";
|
|
90990
91378
|
DEFAULT_PING_PONG_TURNS = 5;
|
|
@@ -98725,7 +99113,7 @@ var BUN_FETCH_SOCKET_ERROR_RE, isBunFetchSocketError, formatBunFetchSocketError,
|
|
|
98725
99113
|
var init_agent_runner_utils = __esmMin((() => {
|
|
98726
99114
|
init_agent_scope();
|
|
98727
99115
|
init_dock();
|
|
98728
|
-
init_registry$
|
|
99116
|
+
init_registry$5();
|
|
98729
99117
|
init_sessions$1();
|
|
98730
99118
|
init_provider_utils();
|
|
98731
99119
|
init_usage_format();
|
|
@@ -104747,7 +105135,7 @@ function loadOpenClawPlugins(options = {}) {
|
|
|
104747
105135
|
}
|
|
104748
105136
|
var registryCache, defaultLogger, resolvePluginSdkAliasFile, resolvePluginSdkAlias;
|
|
104749
105137
|
var init_loader = __esmMin((() => {
|
|
104750
|
-
init_registry$
|
|
105138
|
+
init_registry$7();
|
|
104751
105139
|
init_subsystem();
|
|
104752
105140
|
init_utils$2();
|
|
104753
105141
|
init_version$1();
|
|
@@ -104759,7 +105147,7 @@ var init_loader = __esmMin((() => {
|
|
|
104759
105147
|
init_discovery();
|
|
104760
105148
|
init_hook_runner_global();
|
|
104761
105149
|
init_manifest_registry();
|
|
104762
|
-
init_registry$
|
|
105150
|
+
init_registry$6();
|
|
104763
105151
|
init_runtime$3();
|
|
104764
105152
|
init_runtime$1();
|
|
104765
105153
|
init_schema_validator();
|
|
@@ -115744,6 +116132,36 @@ async function prepareSessionManagerForRun(params) {
|
|
|
115744
116132
|
}
|
|
115745
116133
|
var init_session_manager_init = __esmMin((() => {}));
|
|
115746
116134
|
//#endregion
|
|
116135
|
+
//#region src/agents/pi-embedded-runner/tool-result-reduce.ts
|
|
116136
|
+
/** Pure text reducer for oversized/repetitive tool output. Never throws. */
|
|
116137
|
+
function reduceToolOutputText(text, opts) {
|
|
116138
|
+
let lines = text.split("\n");
|
|
116139
|
+
if (opts.collapseRuns) {
|
|
116140
|
+
const collapsed = [];
|
|
116141
|
+
let i = 0;
|
|
116142
|
+
while (i < lines.length) {
|
|
116143
|
+
let j = i + 1;
|
|
116144
|
+
while (j < lines.length && lines[j] === lines[i]) j += 1;
|
|
116145
|
+
const run = j - i;
|
|
116146
|
+
if (run >= 5) collapsed.push(`${lines[i]} (repeated ${run}×)`);
|
|
116147
|
+
else for (let k = i; k < j; k++) collapsed.push(lines[k]);
|
|
116148
|
+
i = j;
|
|
116149
|
+
}
|
|
116150
|
+
lines = collapsed;
|
|
116151
|
+
}
|
|
116152
|
+
if (lines.length <= opts.maxLines) return lines.join("\n");
|
|
116153
|
+
if (opts.headLines + opts.tailLines >= lines.length) return lines.join("\n");
|
|
116154
|
+
const head = lines.slice(0, opts.headLines);
|
|
116155
|
+
const tail = lines.slice(lines.length - opts.tailLines);
|
|
116156
|
+
const elided = lines.length - head.length - tail.length;
|
|
116157
|
+
return [
|
|
116158
|
+
...head,
|
|
116159
|
+
`… ${elided} lines elided …`,
|
|
116160
|
+
...tail
|
|
116161
|
+
].join("\n");
|
|
116162
|
+
}
|
|
116163
|
+
var init_tool_result_reduce = __esmMin((() => {}));
|
|
116164
|
+
//#endregion
|
|
115747
116165
|
//#region src/agents/pi-embedded-runner/tool-result-context-guard.ts
|
|
115748
116166
|
function isTextBlock(block) {
|
|
115749
116167
|
return !!block && typeof block === "object" && block.type === "text";
|
|
@@ -115878,8 +116296,28 @@ function applyMessageMutationInPlace(target, source) {
|
|
|
115878
116296
|
for (const key of Object.keys(targetRecord)) if (!(key in sourceRecord)) delete targetRecord[key];
|
|
115879
116297
|
Object.assign(targetRecord, sourceRecord);
|
|
115880
116298
|
}
|
|
116299
|
+
/**
|
|
116300
|
+
* Run the pure line-reducer over each tool-result message's text content,
|
|
116301
|
+
* mutating messages in place. Skips reductions that wouldn't shrink the text.
|
|
116302
|
+
*/
|
|
116303
|
+
function reduceToolResultOutputsInPlace(messages) {
|
|
116304
|
+
for (const message of messages) {
|
|
116305
|
+
if (!isToolResultMessage(message)) continue;
|
|
116306
|
+
const rawText = getToolResultText(message);
|
|
116307
|
+
if (!rawText) continue;
|
|
116308
|
+
const reduced = reduceToolOutputText(rawText, {
|
|
116309
|
+
maxLines: REDUCE_MAX_LINES,
|
|
116310
|
+
headLines: REDUCE_HEAD_LINES,
|
|
116311
|
+
tailLines: REDUCE_TAIL_LINES,
|
|
116312
|
+
collapseRuns: true
|
|
116313
|
+
});
|
|
116314
|
+
if (reduced === rawText) continue;
|
|
116315
|
+
applyMessageMutationInPlace(message, replaceToolResultText(message, reduced));
|
|
116316
|
+
}
|
|
116317
|
+
}
|
|
115881
116318
|
function enforceToolResultContextBudgetInPlace(params) {
|
|
115882
|
-
const { messages, contextBudgetChars, maxSingleToolResultChars } = params;
|
|
116319
|
+
const { messages, contextBudgetChars, maxSingleToolResultChars, reduceOutput } = params;
|
|
116320
|
+
if (reduceOutput) reduceToolResultOutputsInPlace(messages);
|
|
115883
116321
|
for (const message of messages) {
|
|
115884
116322
|
if (!isToolResultMessage(message)) continue;
|
|
115885
116323
|
applyMessageMutationInPlace(message, truncateToolResultToChars(message, maxSingleToolResultChars));
|
|
@@ -115901,6 +116339,7 @@ function enforceToolResultContextBudgetInPlace(params) {
|
|
|
115901
116339
|
* @returns An async function suitable for use as Agent's transformContext callback.
|
|
115902
116340
|
*/
|
|
115903
116341
|
function createToolResultContextGuardTransform(params) {
|
|
116342
|
+
const reduceOutput = params.reduceOutput !== false;
|
|
115904
116343
|
const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
|
|
115905
116344
|
const contextBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * CONTEXT_INPUT_HEADROOM_RATIO));
|
|
115906
116345
|
const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
|
|
@@ -115911,13 +116350,15 @@ function createToolResultContextGuardTransform(params) {
|
|
|
115911
116350
|
enforceToolResultContextBudgetInPlace({
|
|
115912
116351
|
messages: contextMessages,
|
|
115913
116352
|
contextBudgetChars,
|
|
115914
|
-
maxSingleToolResultChars
|
|
116353
|
+
maxSingleToolResultChars,
|
|
116354
|
+
reduceOutput
|
|
115915
116355
|
});
|
|
115916
116356
|
return contextMessages;
|
|
115917
116357
|
};
|
|
115918
116358
|
}
|
|
115919
|
-
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;
|
|
116359
|
+
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;
|
|
115920
116360
|
var init_tool_result_context_guard = __esmMin((() => {
|
|
116361
|
+
init_tool_result_reduce();
|
|
115921
116362
|
CHARS_PER_TOKEN_ESTIMATE = 4;
|
|
115922
116363
|
CONTEXT_INPUT_HEADROOM_RATIO = .75;
|
|
115923
116364
|
SINGLE_TOOL_RESULT_CONTEXT_SHARE = .5;
|
|
@@ -115926,6 +116367,9 @@ var init_tool_result_context_guard = __esmMin((() => {
|
|
|
115926
116367
|
CONTEXT_LIMIT_TRUNCATION_NOTICE = "[truncated: output exceeded context limit]";
|
|
115927
116368
|
CONTEXT_LIMIT_TRUNCATION_SUFFIX = `\n${CONTEXT_LIMIT_TRUNCATION_NOTICE}`;
|
|
115928
116369
|
PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER = "[compacted: tool output removed to free context]";
|
|
116370
|
+
REDUCE_MAX_LINES = 200;
|
|
116371
|
+
REDUCE_HEAD_LINES = 40;
|
|
116372
|
+
REDUCE_TAIL_LINES = 40;
|
|
115929
116373
|
}));
|
|
115930
116374
|
//#endregion
|
|
115931
116375
|
//#region src/agents/pi-embedded-runner/run/attempt-session.ts
|
|
@@ -116018,7 +116462,10 @@ async function createRunSession(params, env) {
|
|
|
116018
116462
|
applySystemPromptOverrideToSession(session, env.systemPromptText);
|
|
116019
116463
|
if (!session) throw new Error("Embedded agent session missing");
|
|
116020
116464
|
const activeSession = session;
|
|
116021
|
-
const contextGuardTransform = createToolResultContextGuardTransform({
|
|
116465
|
+
const contextGuardTransform = createToolResultContextGuardTransform({
|
|
116466
|
+
contextWindowTokens: Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? 2e5)),
|
|
116467
|
+
reduceOutput: params.config?.tools?.outputReduce?.enabled !== false
|
|
116468
|
+
});
|
|
116022
116469
|
activeSession.agent.transformContext = contextGuardTransform;
|
|
116023
116470
|
const cacheTrace = createCacheTrace({
|
|
116024
116471
|
cfg: params.config,
|