@symerian/symi 3.4.0 → 3.4.2
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/{agent-D4GA9G6b.js → agent-BcHmIY_n.js} +18 -18
- package/dist/{agent-CEYVMKqC.js → agent-CDUpwXQX.js} +10 -10
- package/dist/{agent-scope-DIjW66iO.js → agent-scope-CKTVXF_1.js} +18 -18
- package/dist/{agents-Bh3R6D2o.js → agents-Dx_B11LV.js} +8 -8
- package/dist/{agents.config-D1nFwU81.js → agents.config-D6lBCMyT.js} +1 -1
- package/dist/{audit-DdRmmIE-.js → audit-CMPCYnHv.js} +23 -23
- package/dist/{audit-BzlpUi7R.js → audit-FMN4BTKc.js} +11 -11
- package/dist/{auth-choice-DY9j2BCn.js → auth-choice-BJgf7XV6.js} +6 -6
- package/dist/{auth-choice-options-BBYiPleR.js → auth-choice-options-B5NLwpLs.js} +1 -1
- package/dist/{auth-choice-options-C5b4PCvw.js → auth-choice-options-EWUh0VM6.js} +1 -1
- package/dist/{auth-choice-prompt-D8GvjOBX.js → auth-choice-prompt-BkTmN4sy.js} +1 -1
- package/dist/{auth-choice-prompt-DBfm0y9l.js → auth-choice-prompt-CXcrToaB.js} +1 -1
- package/dist/{auth-choice-EyD891pg.js → auth-choice-s1SGAS0u.js} +8 -8
- package/dist/{auth-profiles-BFSVvFKy.js → auth-profiles-BDvJK1Bg.js} +9 -9
- package/dist/{auth-token-SebYuqfR.js → auth-token-BKp_ClDP.js} +1 -1
- package/dist/{banner-DAGLXnYN.js → banner-C1DH2kVa.js} +1 -1
- package/dist/{browser-cli-BH_i0QVr.js → browser-cli-C6G2Ql9l.js} +4 -4
- package/dist/{browser-cli-YS3EqU78.js → browser-cli-DW3CxkSc.js} +10 -10
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +12 -12
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +11 -11
- package/dist/{call-uEbo7Orp.js → call-BjHvYJx2.js} +9 -9
- package/dist/{call-BDC211Sd.js → call-Dy_T6f6d.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{catalog-D2QxJOn1.js → catalog-CJzUbDcX.js} +2 -2
- package/dist/{catalog-BEREnWaa.js → catalog-CSgSg5Gp.js} +2 -2
- package/dist/{channel-options-2P4SZQZY.js → channel-options-77nGDc70.js} +2 -2
- package/dist/{channel-options-Dr3Iu_Yn.js → channel-options-BMZyRh5E.js} +2 -2
- package/dist/{channels-cli-BwAPAj2_.js → channels-cli-C048Z7h-.js} +57 -57
- package/dist/{channels-cli-Bxq-od6o.js → channels-cli-CjQ8Rfpv.js} +35 -35
- package/dist/{chrome-DfmXP1Xa.js → chrome-BQoO4LXq.js} +2 -2
- package/dist/{chrome-DvbQQ7qH.js → chrome-BxWRyWC_.js} +1 -1
- package/dist/{chrome-Cwdu25B-.js → chrome-C0vnHDyY.js} +8 -8
- package/dist/{chrome-Dw6r3c_L.js → chrome-droANDig.js} +8 -8
- package/dist/{cli-BCcQWANT.js → cli-CXAyZ9dx.js} +44 -44
- package/dist/{cli-6ogm9wuW.js → cli-CpmVizCT.js} +27 -27
- package/dist/{client-ZZqt0H0-.js → client-Bs2zB0rY.js} +1 -1
- package/dist/{command-registry-BBgjrvGs.js → command-registry-B9TplwzB.js} +11 -11
- package/dist/{commands-registry-BNCcZy2y.js → commands-registry-CLePPNDW.js} +1 -1
- package/dist/{completion-cli-DgR7QC7W.js → completion-cli-Dv8CNTMW.js} +2 -2
- package/dist/{completion-cli-B_lEJpoO.js → completion-cli-ecfjoaIU.js} +12 -12
- package/dist/{config-C5Ztbpa2.js → config-BEaq2Sb6.js} +4 -4
- package/dist/{config-CVMQkipH.js → config-Cw7uo7Dh.js} +2 -2
- package/dist/{config-cli-AEQbHSmK.js → config-cli-CAwWFZwh.js} +5 -5
- package/dist/{config-cli-Vl7Xxk-9.js → config-cli-zMpHOTSD.js} +3 -3
- package/dist/{config-guard-IIOwDwXX.js → config-guard-29sjAeg8.js} +8 -8
- package/dist/{config-guard-DiNrx0Cz.js → config-guard-B2j-KuUQ.js} +2 -2
- package/dist/{config-validation-CmSRTlVT.js → config-validation-Bp2AdKjN.js} +1 -1
- package/dist/{config-validation-sGgKL2lH.js → config-validation-MUkEKwbD.js} +1 -1
- package/dist/{configure-BLL4bVXO.js → configure-Bh0-A3hM.js} +15 -15
- package/dist/{configure-BbpI3Lrz.js → configure-DvVtZB1V.js} +18 -18
- package/dist/{consolidate-7Usm-b2g.js → consolidate-DeA11kIO.js} +6 -6
- package/dist/{control-service-Bew5Jq9S.js → control-service-BTydj9Kk.js} +4 -4
- package/dist/{control-service-wnEr9eCS.js → control-service-DhlgNQGb.js} +4 -4
- package/dist/{control-ui-assets-DUhvOLUL.js → control-ui-assets-D22DSxhv.js} +1 -1
- package/dist/{cron-cli-PyIF_pI1.js → cron-cli-5souN2YC.js} +4 -4
- package/dist/{cron-cli-vlseqDwZ.js → cron-cli-Cr8hrEDQ.js} +8 -8
- package/dist/{daemon-cli-BQJGtFBH.js → daemon-cli-AVJLjFd5.js} +6 -6
- package/dist/{daemon-cli-CYQDp0HS.js → daemon-cli-OZuuMobs.js} +11 -11
- package/dist/daemon-cli.js +1 -2
- package/dist/{daemon-runtime-CCIiGZsG.js → daemon-runtime-CkBw3gG5.js} +1 -1
- package/dist/{daemon-runtime-DGcALfeE.js → daemon-runtime-Dr_xKl0r.js} +10 -10
- package/dist/{deliver-CtSoKpd9.js → deliver-BwcK0QD6.js} +6 -6
- package/dist/{deliver-CHtzqhdE.js → deliver-Cl2fWxx4.js} +1 -1
- package/dist/{deliver-CKAEloz3.js → deliver-ccf_boim.js} +2 -2
- package/dist/{deliver-DnF5-Jn0.js → deliver-vzAN9mRl.js} +6 -6
- package/dist/{deps-CkEuUibi.js → deps-B6QYsl_-.js} +1 -1
- package/dist/{devices-cli-DHjCb6xx.js → devices-cli-BXaodSI7.js} +3 -3
- package/dist/{devices-cli-DuV6VLMa.js → devices-cli-DN3SH89Z.js} +7 -7
- package/dist/{diagnostics-DxdqTfpW.js → diagnostics-nLP2i_BY.js} +5 -5
- package/dist/{directory-cli-Cj3zj4zt.js → directory-cli-B72WzWuP.js} +4 -4
- package/dist/{directory-cli-B6BW3AGE.js → directory-cli-cK6CHm4W.js} +2 -2
- package/dist/{dm-policy-shared-5HLej1br.js → dm-policy-shared-DiZ3lMtl.js} +1 -1
- package/dist/{dns-cli-BpLjriTN.js → dns-cli-D6uc55C9.js} +2 -2
- package/dist/{dns-cli-Jd9gJc0T.js → dns-cli-DPO4AuUq.js} +4 -4
- package/dist/{docs-cli--T-77Ujn.js → docs-cli-C2BEC5yU.js} +3 -3
- package/dist/{docs-cli-D2hhvfad.js → docs-cli-CFklWCND.js} +3 -3
- package/dist/{doctor-completion-DaXTGUhV.js → doctor-completion-Cvu8koMQ.js} +2 -2
- package/dist/{doctor-completion-o02Kanxp.js → doctor-completion-DwrIExJJ.js} +1 -1
- package/dist/{doctor-config-flow-QPIo58ud.js → doctor-config-flow-BayEnbIy.js} +3 -3
- package/dist/{doctor-config-flow-Bdc03rxx.js → doctor-config-flow-Cu1ZuFHd.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CJW8VyEa.js → exec-approvals-cli-BI9yAGI5.js} +5 -5
- package/dist/{exec-approvals-cli-DKRhv0JO.js → exec-approvals-cli-BN5OFwrg.js} +14 -14
- package/dist/extensionAPI.js +9 -9
- package/dist/{frontmatter-B8duUx_6.js → frontmatter-B4levtVg.js} +1 -1
- package/dist/{frontmatter-B6IdJ7UK.js → frontmatter-CHu3sfCM.js} +1 -1
- package/dist/{frontmatter-BzAaXBfE.js → frontmatter-CwO0i5Q7.js} +1 -1
- package/dist/{fs-safe-B6nMaZqV.js → fs-safe-DjAKGGJ8.js} +6 -6
- package/dist/{gateway-cli-CKbm9ikc.js → gateway-cli-C_wDspkm.js} +9669 -323
- package/dist/{gateway-cli-uZu6GsIz.js → gateway-cli-uquFQTQW.js} +9629 -283
- package/dist/{gateway-rpc-BnGjn5ao.js → gateway-rpc-B5_ZCiHW.js} +1 -1
- package/dist/{gateway-rpc-BuXF5p-F.js → gateway-rpc-fQLZhzRK.js} +1 -1
- package/dist/{gmail-setup-utils-DjIM4-F9.js → gmail-setup-utils-C5QXoiTl.js} +1 -1
- package/dist/{gmail-setup-utils-D5G00y8h.js → gmail-setup-utils-DO0-mXYp.js} +1 -1
- package/dist/{health-DrjeJzLE.js → health-D2CsIdFz.js} +3 -3
- package/dist/{health-D41l07BM.js → health-DUulgHFK.js} +4 -4
- package/dist/{hooks-cli-BWp12-sQ.js → hooks-cli-6UBBpeAz.js} +61 -61
- package/dist/{hooks-cli-CqiK6DE3.js → hooks-cli-C6XdXNdl.js} +31 -31
- package/dist/{hooks-status-C-tHI7ZM.js → hooks-status-BQAuzmwT.js} +2 -2
- package/dist/{hooks-status-DLHEahg_.js → hooks-status-DGjgoBZt.js} +2 -2
- package/dist/{image-ops-C-gIIp7Q.js → image-ops-c7_of0HT.js} +10 -10
- package/dist/index.js +52 -52
- package/dist/{inspect-BDzd6yBs.js → inspect-op0Ov-v4.js} +4 -4
- package/dist/{install-safe-path-CQXx3s9R.js → install-safe-path-B73BkVO3.js} +11 -11
- package/dist/{installs-CLp95gcX.js → installs-BzgwvqqQ.js} +11 -11
- package/dist/{installs-D0_bsQwa.js → installs-cPraL4Dg.js} +2 -2
- package/dist/{internal-CHnZdvRy.js → internal-C3o_xyzP.js} +9 -9
- package/dist/legacy-names-BFZfXujv.js +6 -0
- package/dist/{legacy-names-C0hZiM-7.js → legacy-names-Catogrri.js} +2 -4
- package/dist/{lifecycle-core-BhmX7dfP.js → lifecycle-core-BmGPBj_P.js} +5 -5
- package/dist/{lifecycle-core-flVPkttM.js → lifecycle-core-Dark4HHr.js} +2 -2
- package/dist/llm-slug-generator.js +11 -11
- package/dist/{local-roots-BnDnugq3.js → local-roots-CUKhHNCV.js} +1 -1
- package/dist/{logs-cli-DLktVEgU.js → logs-cli-BXBN6_Kf.js} +8 -8
- package/dist/{logs-cli-BgLHN6qm.js → logs-cli-Dg7J424l.js} +4 -4
- package/dist/{manager-DJHy2EAm.js → manager-C_5p8DxF.js} +14 -14
- package/dist/{manager-CF2y6wbp.js → manager-DOfc0hW0.js} +1 -1
- package/dist/{manager-BU8KmNG0.js → manager-WHZtXzz0.js} +1 -1
- package/dist/{manager-Uwh87iKi.js → manager-tYTYy-pH.js} +1 -1
- package/dist/{manifest-registry-DsTUFMvZ.js → manifest-registry-C0nJ3Ja3.js} +1 -1
- package/dist/{manifest-registry-BV_2TbGz.js → manifest-registry-CAWGTwb5.js} +2 -4
- package/dist/{manifest-registry-BshGdYwm.js → manifest-registry-DJcKcUQ9.js} +1 -1
- package/dist/{manifest-registry-D7Qup2Vq.js → manifest-registry-D_LsBSyt.js} +1 -1
- package/dist/{memory-gSw5eshw.js → memory-BZPO-RoX.js} +5 -5
- package/dist/{memory-cQSSricw.js → memory-CjpS9o50.js} +4 -4
- package/dist/{memory-cli-DIchyZJ2.js → memory-cli-4vj-LpgO.js} +12 -12
- package/dist/{memory-cli-DXS73nCX.js → memory-cli-CbV91o_X.js} +3 -3
- package/dist/{model-BRcKPW49.js → model-CbRy_3xW.js} +1 -1
- package/dist/{model-catalog-BKCEeOYV.js → model-catalog-Ba4R_zVe.js} +2 -2
- package/dist/{model-catalog-DiG_T-Hd.js → model-catalog-BrW9BL1p.js} +4 -4
- package/dist/{model-picker-Cj3P3dRc.js → model-picker-DAOOfQUH.js} +2 -2
- package/dist/{model-picker-Ba0aPjVG.js → model-picker-UrQQVAuN.js} +3 -3
- package/dist/{models-CcT56XMM.js → models-EthIDORJ.js} +13 -13
- package/dist/{models-cli-BGBn_XQb.js → models-cli-BRnmApgY.js} +57 -57
- package/dist/{models-cli-C7vX8wrK.js → models-cli-DSW-aLCj.js} +33 -33
- package/dist/{models-config-T55qUOQH.js → models-config-C2OLw8vc.js} +1 -1
- package/dist/{models-config-of-BhU9a.js → models-config-Dh1tABIl.js} +7 -7
- package/dist/{node-cli-6nSZg2Ag.js → node-cli-DXCDRV3y.js} +29 -29
- package/dist/{node-cli-P6Bd4azz.js → node-cli-SMqarSas.js} +12 -12
- package/dist/{node-service-tPO_yUk7.js → node-service-n6G8Ybbk.js} +1 -1
- package/dist/{nodes-cli-CNbL0FQP.js → nodes-cli-BpG8jU6q.js} +4 -4
- package/dist/{nodes-cli-CxlfnpiJ.js → nodes-cli-Fyv-oG6A.js} +11 -11
- package/dist/{nodes-screen-JELuBMBi.js → nodes-screen-CT94yu_w.js} +4 -4
- package/dist/{npm-registry-spec-BXw_6vF6.js → npm-registry-spec-B8X06AqB.js} +9 -9
- package/dist/{onboard-C5Ivk_7_.js → onboard-CEyd79t_.js} +16 -16
- package/dist/{onboard-CG9scrQx.js → onboard-CLSFAKKt.js} +13 -13
- package/dist/{onboard-channels-Br6c8ho-.js → onboard-channels-DqhDDHZ3.js} +5 -5
- package/dist/{onboard-channels-B6_L4dD7.js → onboard-channels-LkgOp2vs.js} +4 -4
- package/dist/{onboard-custom-C--9q1aw.js → onboard-custom-BD_6SIA8.js} +2 -2
- package/dist/{onboard-custom-CdIFCex3.js → onboard-custom-BRFhBogJ.js} +3 -3
- package/dist/{onboard-helpers-DU7-6FKZ.js → onboard-helpers-C5YryU1N.js} +2 -2
- package/dist/{onboard-helpers-KK8MYq1e.js → onboard-helpers-wgkj6qF2.js} +8 -8
- package/dist/{onboard-hooks-CP54Px40.js → onboard-hooks-CknstfLG.js} +4 -4
- package/dist/{onboard-hooks-Dn62HF2k.js → onboard-hooks-DotvaUqG.js} +3 -3
- package/dist/{onboard-remote-BCG6Pa34.js → onboard-remote-B5rlIYUq.js} +1 -1
- package/dist/{onboard-remote-BNgEcJhQ.js → onboard-remote-DR9mcFjZ.js} +1 -1
- package/dist/{onboard-skills-Dl9x6Ewy.js → onboard-skills-5rA5bRSG.js} +3 -3
- package/dist/{onboard-skills-BMZQWj72.js → onboard-skills-_6kHqhHz.js} +4 -4
- package/dist/{onboarding-CsBNx5v8.js → onboarding-CJuG6AyD.js} +15 -15
- package/dist/{onboarding-BDfOQl6b.js → onboarding-CREA0oQK.js} +16 -16
- package/dist/{onboarding.finalize-Dnw20wa-.js → onboarding.finalize-7iPylQyi.js} +21 -21
- package/dist/{onboarding.finalize-CLPOjrbG.js → onboarding.finalize-CkgL8Zde.js} +34 -34
- package/dist/{onboarding.gateway-config-D-SDWyuX.js → onboarding.gateway-config-BzM2v2U5.js} +6 -6
- package/dist/{onboarding.gateway-config-BRSy-1P9.js → onboarding.gateway-config-DtNG0As8.js} +10 -10
- package/dist/{openai-model-default-BVPmAuXK.js → openai-model-default-CSl0PZzK.js} +1 -1
- package/dist/{openai-model-default-CDDFpxUr.js → openai-model-default-DeTAMJKz.js} +2 -2
- package/dist/{outbound-send-deps-EMcNAOK3.js → outbound-send-deps-CBRh4LsL.js} +1 -1
- package/dist/{pairing-cli-BlH0ZFgu.js → pairing-cli-BvP6MoPZ.js} +5 -5
- package/dist/{pairing-cli-B3N7sSmL.js → pairing-cli-MwIIeBee.js} +2 -2
- package/dist/{pairing-store-BGf29nPx.js → pairing-store-S9CXOhSG.js} +1 -1
- package/dist/{pairing-token-CURbSHdi.js → pairing-token-DorpwP8O.js} +7 -7
- package/dist/{paths-Dc6A9_vI.js → paths-DaQrPPet.js} +1 -1
- package/dist/{pi-auth-json-SHGGQzOL.js → pi-auth-json-CVwNh4rb.js} +5 -5
- package/dist/{pi-embedded-DE2UILhi.js → pi-embedded-B7_uthwZ.js} +20 -24
- package/dist/{pi-embedded-helpers-Ak7hKJEV.js → pi-embedded-helpers-BbBfO9m_.js} +1 -1
- package/dist/{pi-embedded-helpers-B-A6e4jw.js → pi-embedded-helpers-DGW2untm.js} +6 -6
- package/dist/{pi-tools.policy-BUY9pOhW.js → pi-tools.policy--USPnaLr.js} +2 -2
- package/dist/{pi-tools.policy-B3nP1-Zp.js → pi-tools.policy-BcTgKDG6.js} +3 -3
- package/dist/{plugin-auto-enable-CNDA103e.js → plugin-auto-enable-BDPdHiLS.js} +2 -2
- package/dist/{plugin-auto-enable-CF_vB-_e.js → plugin-auto-enable-DSliW8o4.js} +1 -1
- package/dist/{plugin-registry-C02Ztbi2.js → plugin-registry-5aIoUu-O.js} +2 -2
- package/dist/{plugin-registry-D2YgQFB0.js → plugin-registry-bskbnEuW.js} +3 -3
- package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +0 -4
- package/dist/plugin-sdk/compat/legacy-names.d.ts +0 -5
- package/dist/plugin-sdk/config/types.messages.d.ts +1 -8
- package/dist/plugin-sdk/config/types.symi.d.ts +1 -2
- package/dist/plugin-sdk/gateway/outbound-filter.d.ts +1 -7
- package/dist/plugin-sdk/index.js +1 -2
- package/dist/{plugins-cli-vVBp7ZxP.js → plugins-cli-DMCWSACj.js} +31 -31
- package/dist/{plugins-cli-Ba3CBKt4.js → plugins-cli-LQUO7D2v.js} +53 -53
- package/dist/{ports-DRHSHvqY.js → ports-ChuJYhEL.js} +1 -1
- package/dist/{ports-DqxP-bXz.js → ports-EAVAOFyK.js} +2 -2
- package/dist/{program-CUvzxNJ4.js → program-BgrmtnFn.js} +36 -36
- package/dist/{program-context-4FxfWCCw.js → program-context-C_uJXnZV.js} +38 -38
- package/dist/{prompt-select-styled-vwMhoP-U.js → prompt-select-styled-B3nTSykf.js} +38 -38
- package/dist/{prompt-select-styled-DTaKuS6l.js → prompt-select-styled-CuGBQ9LO.js} +21 -21
- package/dist/{provider-auth-helpers-WUtMTKoJ.js → provider-auth-helpers-IsZNkaS0.js} +6 -6
- package/dist/{provider-auth-helpers-Bu5Q-WC_.js → provider-auth-helpers-MMYRbW_U.js} +4 -4
- package/dist/{push-apns-D6zky4hI.js → push-apns-C7t2qAZ6.js} +4 -4
- package/dist/{push-apns-CnfKExbf.js → push-apns-qCbh6Vhl.js} +1 -1
- package/dist/{pw-ai-DQ1ckkue.js → pw-ai-Bc5uzn_J.js} +3 -3
- package/dist/{pw-ai-CNPSgxuq.js → pw-ai-DuPDo_Ia.js} +3 -3
- package/dist/{pw-ai-DJ_8OOoJ.js → pw-ai-Tm3pd-HP.js} +3 -3
- package/dist/{pw-ai-BpKRTux4.js → pw-ai-YJhl5L-z.js} +8 -8
- package/dist/{qmd-manager-358OTDns.js → qmd-manager-CrRvB46v.js} +19 -19
- package/dist/{qr-cli-DLAxaM_N.js → qr-cli-Bv4zF-WM.js} +2 -2
- package/dist/{qr-cli-BjgtEKM0.js → qr-cli-D1U-qIkG.js} +4 -4
- package/dist/{redact-identifier-DvxxnBnB.js → redact-identifier-QYENCXvy.js} +1 -1
- package/dist/{register.agent-B5s0F98B.js → register.agent-BWcxonR9.js} +45 -45
- package/dist/{register.agent-BtVDiH_r.js → register.agent-BblNQlzT.js} +69 -69
- package/dist/register.configure-BJ7xtOUZ.js +129 -0
- package/dist/{register.configure-NZcXrNuS.js → register.configure-D0T0kOp7.js} +50 -50
- package/dist/{register.maintenance-jTTn3oMK.js → register.maintenance-DLJpeuc4.js} +69 -69
- package/dist/{register.maintenance-DIkEIl8R.js → register.maintenance-w7sKxODf.js} +45 -45
- package/dist/{register.message-Cm77gd0W.js → register.message-C3dCPjVc.js} +29 -29
- package/dist/{register.message-DEa450JY.js → register.message-CXEwBJ1O.js} +47 -47
- package/dist/{register.onboard-5TEaQi6x.js → register.onboard-B520Ixsd.js} +25 -25
- package/dist/{register.onboard-DAMmTKhy.js → register.onboard-DJmVC_6h.js} +19 -19
- package/dist/{register.setup-B7PRYzpb.js → register.setup-BTse4F3a.js} +27 -27
- package/dist/{register.setup-DCwJ-ZlR.js → register.setup-Br-aZ0qD.js} +18 -18
- package/dist/{register.status-health-sessions-BXjn8VnY.js → register.status-health-sessions-4dxLj6hJ.js} +27 -27
- package/dist/{register.status-health-sessions-h8DNZ6hd.js → register.status-health-sessions-Dbizirr2.js} +40 -40
- package/dist/{register.subclis-BDIT6N_V.js → register.subclis-CSJZQox4.js} +28 -28
- package/dist/{replies-R4bX9dTZ.js → replies-CH1VlYZQ.js} +1 -1
- package/dist/{replies--JRoxSNQ.js → replies-CbipVshj.js} +1 -1
- package/dist/{replies-BnGR-qet.js → replies-CjSfYK97.js} +1 -1
- package/dist/{replies-BE5ZprKO.js → replies-DIWartyA.js} +1 -1
- package/dist/{reply-prefix-BOdARKaY.js → reply-prefix-DZQBodKF.js} +1 -1
- package/dist/{resolve-route-CRWE36h5.js → resolve-route-BbUl3Hi7.js} +1 -1
- package/dist/{routes-BFcVAVwZ.js → routes-CWYyvbxi.js} +3 -3
- package/dist/{routes-Czff-g7s.js → routes-DiqMB1cp.js} +10 -10
- package/dist/{rpc-Dv5VElqW.js → rpc-BcPBUUXl.js} +1 -1
- package/dist/{rpc-DyGMGnDM.js → rpc-DLfjbTSu.js} +1 -1
- package/dist/{run-main-DTZupTas.js → run-main-DISYU1dh.js} +47 -47
- package/dist/{sandbox-Yk0sGNnf.js → sandbox-B6P9-J8g.js} +6 -6
- package/dist/{sandbox-W71753dA.js → sandbox-DPn-s_K5.js} +18 -18
- package/dist/{sandbox-cli-XK1CujoA.js → sandbox-cli-Bl5CMRjH.js} +15 -15
- package/dist/{sandbox-cli-xejs3DAe.js → sandbox-cli-bOFig9Jd.js} +9 -9
- package/dist/{scan-paths-ppKrtZ9U.js → scan-paths-BVaXDn8b.js} +2 -4
- package/dist/{security-cli-D72O3Drj.js → security-cli-C7LBaB0e.js} +14 -14
- package/dist/{security-cli-C0OL3r1u.js → security-cli-DuxEuSGr.js} +30 -30
- package/dist/{send-BIeRhWqk.js → send-6IYv-yRp.js} +1 -1
- package/dist/{send-Bw1MYrkS.js → send-C3ZXgOXw.js} +1 -1
- package/dist/{send-D9mx56JE.js → send-CYJucYob.js} +7 -7
- package/dist/{server-context-D1WDO10m.js → server-context-BUbuOgNz.js} +5 -5
- package/dist/{server-context-BxbXmmz7.js → server-context-Vd9sEFb9.js} +5 -5
- package/dist/{server-node-events-x9VKUipR.js → server-node-events-7ToqdaU5.js} +48 -48
- package/dist/{server-node-events-CV6-B9Hg.js → server-node-events-BH4-UlAH.js} +30 -30
- package/dist/{service-AP9pR9R5.js → service-9ItKCWWS.js} +15 -15
- package/dist/{update-runner-CAdnmZZ6.js → session-dirs-6atzU47U.js} +16 -2
- package/dist/{update-runner-BtZbVAdv.js → session-dirs-DONOhYc3.js} +30 -16
- package/dist/{session-utils-CZAshAsv.js → session-utils-CJfEkQQQ.js} +3 -3
- package/dist/{session-utils-BgILIwNf.js → session-utils-CqSXwGYa.js} +12 -12
- package/dist/{sessions-TVtiVSw4.js → sessions-BHrlpR92.js} +1 -1
- package/dist/{sessions-DKoFrAAL.js → sessions-Chjdz1Gx.js} +3 -3
- package/dist/{sessions-C_xvI21O.js → sessions-DorP6zY8.js} +11 -11
- package/dist/{shared-iK9UaK0Y.js → shared-B-64oefu.js} +1 -1
- package/dist/{shared-CPD46OzN.js → shared-Z3KjnA8n.js} +3 -3
- package/dist/{shared-DmYHvtn2.js → shared-ot5_jkpP.js} +1 -1
- package/dist/{skill-commands-DlbnDTRO.js → skill-commands-C5n7FeDJ.js} +1 -1
- package/dist/{skill-commands-Dy8IDORU.js → skill-commands-CcCCVblU.js} +2 -2
- package/dist/{skill-commands-CWvBRsds.js → skill-commands-RbglvrSW.js} +4 -4
- package/dist/{skill-commands-5-5JJtVf.js → skill-commands-sTJFg5lz.js} +1 -1
- package/dist/{skill-scanner-qMQf6-FN.js → skill-scanner-CZK0TG9g.js} +6 -6
- package/dist/{skill-scanner-DkITukAS.js → skill-scanner-CuoStu03.js} +1 -1
- package/dist/{skills-B3e5S0iU.js → skills-BP6p7GnN.js} +2 -2
- package/dist/{skills-CSykGHmk.js → skills-Bn0f9KTL.js} +1 -1
- package/dist/{skills-DL8DjveU.js → skills-DS1Vdylm.js} +6 -6
- package/dist/{skills-D0hw3721.js → skills-DaU_5XvP.js} +2 -2
- package/dist/{skills-cli-BZvDZu8v.js → skills-cli-BmIb-9--.js} +8 -8
- package/dist/{skills-cli-BeJZwWJF.js → skills-cli-DbhEEC78.js} +6 -6
- package/dist/{skills-install-C9uT4MR2.js → skills-install-DcX1Txvp.js} +4 -4
- package/dist/{skills-install-BMhIk6vI.js → skills-install-Q5hgZITy.js} +3 -3
- package/dist/{skills-remote-Vz1dbWNB.js → skills-remote-BDSyRdyX.js} +3 -3
- package/dist/{skills-remote-Dv9T079m.js → skills-remote-DHfuS68n.js} +1 -1
- package/dist/{skills-status-CaEDEfYZ.js → skills-status-01KNlWUS.js} +2 -2
- package/dist/{skills-status-Dx3Lf5iU.js → skills-status-F7nlolZZ.js} +2 -2
- package/dist/{sqlite-DBEvS-Ne.js → sqlite-BUXBg2yu.js} +5 -5
- package/dist/{ssrf-B09I40bf.js → ssrf-BzPY2FrA.js} +1 -1
- package/dist/{ssrf-BEXdgoWo.js → ssrf-CJor4ewC.js} +1 -1
- package/dist/{status-JhT3liK_.js → status-CR4VgVZ0.js} +3 -3
- package/dist/{status-BZHeQGF_.js → status-CeaJlVQK.js} +2 -2
- package/dist/{status-DMNL9Ga5.js → status-Hf__QNbH.js} +24 -24
- package/dist/{status-DRtu03r8.js → status-dHYcVtbb.js} +14 -14
- package/dist/{status.update-D3Q9PDtb.js → status.update-DOj5ifHZ.js} +3 -3
- package/dist/{status.update-BOb9rNG9.js → status.update-lna4Lub4.js} +1 -1
- package/dist/{subagent-registry-B9IxZkG5.js → subagent-registry-BbQL79Gk.js} +34 -38
- package/dist/{symi-root-DueRHNOE.js → symi-root-0MUhiNlM.js} +2 -2
- package/dist/{synthesis--06mqRPn.js → synthesis-B4G0BnU5.js} +11 -11
- package/dist/{synthesis-DZT5Fkc5.js → synthesis-C-IePZG6.js} +9 -9
- package/dist/{synthesis-B8Nvwbp_.js → synthesis-CK0K7wFk.js} +44 -44
- package/dist/{synthesis-BPwzKPQT.js → synthesis-DiPl8Usv.js} +27 -27
- package/dist/{system-cli-D74xDNa8.js → system-cli-BKp2K0sb.js} +8 -8
- package/dist/{system-cli-B1eB5FoT.js → system-cli-C9uTFA4c.js} +4 -4
- package/dist/{systemd-9LEEqibe.js → systemd-8KKQdTO_.js} +5 -5
- package/dist/{systemd-hints-B0aT2ugu.js → systemd-hints-BefHB3bX.js} +6 -6
- package/dist/{systemd-hints-DDaidHXa.js → systemd-hints-DQKA3tTS.js} +1 -1
- package/dist/{systemd-linger-PqG8iGCt.js → systemd-linger-C0-G8yq4.js} +1 -1
- package/dist/{tui-CQAhT9c1.js → tui-BheB3rbE.js} +7 -7
- package/dist/{tui-C_cCiruf.js → tui-C_yv1hvy.js} +4 -4
- package/dist/{tui-cli-CwbuVeHU.js → tui-cli-BDcU-VgA.js} +21 -21
- package/dist/{tui-cli-71uMNJfy.js → tui-cli-D7wYLESM.js} +12 -12
- package/dist/{unified-runner-quh_mYPi.js → unified-runner-BSdnT6eM.js} +22 -26
- package/dist/{unified-runner-CMsoxWFP.js → unified-runner-D6p4N2vu.js} +105 -109
- package/dist/{update-JtKX2Yl3.js → update-CbkItCeC.js} +2 -2
- package/dist/{update-BvDXKE6K.js → update-Djvyvehx.js} +4 -4
- package/dist/{update-check-CZxZhEXr.js → update-check-BdSIMYWq.js} +5 -5
- package/dist/{update-cli-dSJwPmKQ.js → update-cli-BmQuYKTw.js} +51 -51
- package/dist/{update-cli-Bg728CPt.js → update-cli-CwznFR5g.js} +79 -79
- package/dist/{webhooks-cli-C4_gK-VO.js → webhooks-cli-B2_nrbvn.js} +5 -5
- package/dist/{webhooks-cli-CdWRzSWK.js → webhooks-cli-D_wAaLOU.js} +7 -7
- package/dist/{with-timeout-Uhem6WU4.js → with-timeout-BhDKgIeU.js} +1 -1
- package/dist/{with-timeout-C_GTWqlF.js → with-timeout-CAUWEPmp.js} +1 -1
- package/dist/{workspace-DHzBY6qe.js → workspace-2m2BLIbx.js} +2 -2
- package/dist/{workspace-B_xyjOdv.js → workspace-CxAs2tsz.js} +2 -2
- package/dist/{workspace-dirs-D5OnUmvw.js → workspace-dirs-QmSWJptJ.js} +1 -1
- package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
- package/package.json +1 -1
- package/dist/glass-ui-ws-CagpHsSJ.js +0 -341
- package/dist/glass-ui-ws-DLs3LNTG.js +0 -346
- package/dist/legacy-names-sghWmXe3.js +0 -8
- package/dist/register.configure-CD7DAbZQ.js +0 -129
- package/dist/server-methods-CMznpteR.js +0 -9432
- package/dist/server-methods-SRD683d-.js +0 -9434
- package/dist/session-dirs-Chh7bBGo.js +0 -18
- package/dist/session-dirs-Sl_x6tjD.js +0 -18
- /package/dist/{agents.config-D7cHU-OU.js → agents.config-gkq5o5Hy.js} +0 -0
- /package/dist/{auth-choice-legacy-CsjluQCN.js → auth-choice-legacy-DlTku0W1.js} +0 -0
- /package/dist/{auth-choice-legacy-D9WcUI_J.js → auth-choice-legacy-y8ZXjhDq.js} +0 -0
- /package/dist/{auth-token-Brb1Askz.js → auth-token-2yjfGFTo.js} +0 -0
- /package/dist/{consolidate-D1GUJ5qq.js → consolidate-CTKMVS1l.js} +0 -0
- /package/dist/{dm-policy-shared-CSF4Tw_F.js → dm-policy-shared-BcYwq7H9.js} +0 -0
- /package/dist/{format-BGzoTHhD.js → format-CUJQOEUj.js} +0 -0
- /package/dist/{format-C-0EAOjI.js → format-Cj8gNX2r.js} +0 -0
- /package/dist/{health-format-39e76m9p.js → health-format-BQdYy0nL.js} +0 -0
- /package/dist/{health-format-DaP03FBk.js → health-format-OIqaDZ2V.js} +0 -0
- /package/dist/{ipv4-CfVqgiTN.js → ipv4-CFw4fYIH.js} +0 -0
- /package/dist/{ipv4-DK4xoUQ-.js → ipv4-DBwTCOBu.js} +0 -0
- /package/dist/{logging-B96FQvnn.js → logging-BA2NbxMy.js} +0 -0
- /package/dist/{logging-BeA4q4J_.js → logging-Dt9kBzoO.js} +0 -0
- /package/dist/{model-param-b-B34yvxBN.js → model-param-b-CErLzOT8.js} +0 -0
- /package/dist/{model-param-b-CmgmcGoJ.js → model-param-b-DnsFCAGo.js} +0 -0
- /package/dist/{node-service-DDDCEDdv.js → node-service-B7zf4WFE.js} +0 -0
- /package/dist/{onboard-config-Barp7MT9.js → onboard-config-CIBKQuYV.js} +0 -0
- /package/dist/{onboard-config-DQkZqcyq.js → onboard-config-D6L72_zg.js} +0 -0
- /package/dist/{outbound-send-deps-BpziI1pC.js → outbound-send-deps-pzO0D6kV.js} +0 -0
- /package/dist/{ports-BAzQoIw0.js → ports-B3NnaSHu.js} +0 -0
- /package/dist/{qmd-manager--kGuC39q.js → qmd-manager-CX0jtKS5.js} +0 -0
- /package/dist/{system-run-command-QikSIqYG.js → system-run-command-XG1_P_la.js} +0 -0
- /package/dist/{systemd-linger-BM4qvprK.js → systemd-linger-CoyAJEZx.js} +0 -0
|
@@ -3,86 +3,86 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
|
|
|
3
3
|
import { g as resolveStateDir, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
|
|
4
4
|
import { S as isPlainObject, _ as shortenHomeInString, b as sliceUtf16Safe, c as escapeRegExp, h as resolveUserPath, r as clampInt, t as CONFIG_DIR, u as isRecord, v as shortenHomePath, x as truncateUtf16Safe, y as sleep } from "./utils-BU8jVQFM.js";
|
|
5
5
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
|
|
6
|
-
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-
|
|
6
|
+
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BDvJK1Bg.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
|
|
8
8
|
import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, g as getSubagentDepth, l as resolveThreadSessionKeys, m as normalizeAccountId, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-B_ZVH1kE.js";
|
|
9
|
-
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-
|
|
9
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
|
|
10
10
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
|
|
11
|
-
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-
|
|
11
|
+
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-CKTVXF_1.js";
|
|
12
12
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BTNK6Tcd.js";
|
|
13
13
|
import { t as parseBooleanValue } from "./boolean-Wzu0-e0P.js";
|
|
14
14
|
import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
|
|
15
|
-
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-
|
|
16
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-
|
|
17
|
-
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-
|
|
18
|
-
import { a as isPathInsideWithRealpath } from "./legacy-names-
|
|
19
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
20
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
21
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
22
|
-
import { l as parseFrontmatterBlock } from "./frontmatter-
|
|
23
|
-
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-
|
|
24
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
15
|
+
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-DGW2untm.js";
|
|
16
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-BEaq2Sb6.js";
|
|
17
|
+
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D_LsBSyt.js";
|
|
18
|
+
import { a as isPathInsideWithRealpath } from "./legacy-names-Catogrri.js";
|
|
19
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DPn-s_K5.js";
|
|
20
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BQoO4LXq.js";
|
|
21
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BUbuOgNz.js";
|
|
22
|
+
import { l as parseFrontmatterBlock } from "./frontmatter-CHu3sfCM.js";
|
|
23
|
+
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DS1Vdylm.js";
|
|
24
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-DiqMB1cp.js";
|
|
25
25
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Z-WkF18Q.js";
|
|
26
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
26
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DaQrPPet.js";
|
|
27
27
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
|
|
28
|
-
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-
|
|
29
|
-
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-
|
|
28
|
+
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-c7_of0HT.js";
|
|
29
|
+
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-DorP6zY8.js";
|
|
30
30
|
import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-CnGWTXL4.js";
|
|
31
31
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C_V8IAYx.js";
|
|
32
32
|
import { t as normalizeChatType } from "./chat-type-B7XD_ESN.js";
|
|
33
33
|
import { n as resolveConversationLabel } from "./conversation-label-CS5Zjc4w.js";
|
|
34
34
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
|
|
35
|
-
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-
|
|
35
|
+
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-CYJucYob.js";
|
|
36
36
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CJcw9nbZ.js";
|
|
37
37
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-DsLesw6T.js";
|
|
38
38
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-Ch7wLX-j.js";
|
|
39
39
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-177f26eg.js";
|
|
40
40
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
|
|
41
|
-
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-
|
|
41
|
+
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-ccf_boim.js";
|
|
42
42
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-CwF3MnBL.js";
|
|
43
43
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-I4x9gPY4.js";
|
|
44
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
45
|
-
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-
|
|
44
|
+
import { t as ensureSymiModelsJson } from "./models-config-Dh1tABIl.js";
|
|
45
|
+
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CVwNh4rb.js";
|
|
46
46
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-DYcv40ss.js";
|
|
47
|
-
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-
|
|
48
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
49
|
-
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
50
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
51
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
52
|
-
import { f as runTasksWithConcurrency } from "./internal-
|
|
47
|
+
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-CqSXwGYa.js";
|
|
48
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-CAUWEPmp.js";
|
|
49
|
+
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DZQBodKF.js";
|
|
50
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BZPO-RoX.js";
|
|
51
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-C_5p8DxF.js";
|
|
52
|
+
import { f as runTasksWithConcurrency } from "./internal-C3o_xyzP.js";
|
|
53
53
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DQGU0F8t.js";
|
|
54
54
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-GTLvbzuR.js";
|
|
55
55
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CgmRK282.js";
|
|
56
56
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
|
|
57
|
-
import { n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
57
|
+
import { n as getDefaultMediaLocalRoots } from "./local-roots-CUKhHNCV.js";
|
|
58
58
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-B3UrgxIz.js";
|
|
59
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
60
|
-
import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
61
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
59
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-CLePPNDW.js";
|
|
60
|
+
import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-Bs2zB0rY.js";
|
|
61
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-BjHvYJx2.js";
|
|
62
62
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Dr6VaTg5.js";
|
|
63
63
|
import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
|
|
64
64
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DqAyGDbE.js";
|
|
65
|
-
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-
|
|
65
|
+
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-BDSyRdyX.js";
|
|
66
66
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DdkUSfiI.js";
|
|
67
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
68
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
69
|
-
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
67
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BrW9BL1p.js";
|
|
68
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-RbglvrSW.js";
|
|
69
|
+
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-S9CXOhSG.js";
|
|
70
70
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-CZOc8M5w.js";
|
|
71
|
-
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-
|
|
71
|
+
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CT94yu_w.js";
|
|
72
72
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-dNgkVIEe.js";
|
|
73
73
|
import { t as formatDurationCompact$1 } from "./format-duration-DbZRICyO.js";
|
|
74
74
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-2_Os41y-.js";
|
|
75
75
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-Ca9K30TH.js";
|
|
76
76
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DsZw7bas.js";
|
|
77
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
77
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DhlgNQGb.js";
|
|
78
78
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
|
|
79
79
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BvIcXQLj.js";
|
|
80
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
80
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BbUl3Hi7.js";
|
|
81
81
|
import { t as parseTimeoutMs } from "./parse-timeout-CpgyC-LD.js";
|
|
82
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
83
|
-
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies
|
|
84
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
85
|
-
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-
|
|
82
|
+
import { n as registerMemoryCli } from "./memory-cli-4vj-LpgO.js";
|
|
83
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CbipVshj.js";
|
|
84
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BcTgKDG6.js";
|
|
85
|
+
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-CbRy_3xW.js";
|
|
86
86
|
import { createRequire } from "node:module";
|
|
87
87
|
import process$1 from "node:process";
|
|
88
88
|
import { fileURLToPath } from "node:url";
|
|
@@ -91,7 +91,7 @@ import path from "node:path";
|
|
|
91
91
|
import fs, { constants, existsSync, statSync } from "node:fs";
|
|
92
92
|
import os, { homedir } from "node:os";
|
|
93
93
|
import JSON5 from "json5";
|
|
94
|
-
import
|
|
94
|
+
import fsPromises from "node:fs/promises";
|
|
95
95
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
96
96
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
97
97
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
@@ -1068,7 +1068,7 @@ function isBareSilentReply(text) {
|
|
|
1068
1068
|
* Returns a structured verdict the caller uses to decide whether to
|
|
1069
1069
|
* broadcast / persist a payload. Pure function — no side effects.
|
|
1070
1070
|
*/
|
|
1071
|
-
function classifyOutboundMessage(rawText
|
|
1071
|
+
function classifyOutboundMessage(rawText) {
|
|
1072
1072
|
const text = typeof rawText === "string" ? rawText : "";
|
|
1073
1073
|
if (isBareSilentReply(text)) return {
|
|
1074
1074
|
action: "drop",
|
|
@@ -1841,7 +1841,7 @@ async function imageResult(params) {
|
|
|
1841
1841
|
}, params.label, params.imageSanitization);
|
|
1842
1842
|
}
|
|
1843
1843
|
async function imageResultFromFile(params) {
|
|
1844
|
-
const buf = await
|
|
1844
|
+
const buf = await fsPromises.readFile(params.path);
|
|
1845
1845
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
1846
1846
|
return await imageResult({
|
|
1847
1847
|
label: params.label,
|
|
@@ -5801,7 +5801,7 @@ async function routeReply(params) {
|
|
|
5801
5801
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
5802
5802
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
5803
5803
|
try {
|
|
5804
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
5804
|
+
const { deliverOutboundPayloads } = await import("./deliver-ccf_boim.js").then((n) => n.n);
|
|
5805
5805
|
return {
|
|
5806
5806
|
ok: true,
|
|
5807
5807
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -9959,8 +9959,7 @@ async function prepareAgentRun(params) {
|
|
|
9959
9959
|
const typingMode = resolveTypingMode({
|
|
9960
9960
|
configured: sessionCfg?.typingMode ?? agentCfg?.typingMode,
|
|
9961
9961
|
isGroupChat,
|
|
9962
|
-
wasMentioned
|
|
9963
|
-
isHeartbeat: false
|
|
9962
|
+
wasMentioned
|
|
9964
9963
|
});
|
|
9965
9964
|
const shouldInjectGroupIntro = Boolean(isGroupChat && (isFirstTurnInSession || sessionEntry?.groupActivationNeedsSystemIntro));
|
|
9966
9965
|
const groupChatContext = isGroupChat ? buildGroupChatContext({ sessionCtx }) : "";
|
|
@@ -11646,7 +11645,7 @@ var MediaAttachmentCache = class {
|
|
|
11646
11645
|
const size = await this.ensureLocalStat(entry);
|
|
11647
11646
|
if (entry.resolvedPath) {
|
|
11648
11647
|
if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
|
|
11649
|
-
const buffer = await
|
|
11648
|
+
const buffer = await fsPromises.readFile(entry.resolvedPath);
|
|
11650
11649
|
entry.buffer = buffer;
|
|
11651
11650
|
entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
|
|
11652
11651
|
buffer,
|
|
@@ -11716,10 +11715,10 @@ var MediaAttachmentCache = class {
|
|
|
11716
11715
|
prefix: "symi-media",
|
|
11717
11716
|
extension: path.extname(bufferResult.fileName || "") || ""
|
|
11718
11717
|
});
|
|
11719
|
-
await
|
|
11718
|
+
await fsPromises.writeFile(tmpPath, bufferResult.buffer);
|
|
11720
11719
|
entry.tempPath = tmpPath;
|
|
11721
11720
|
entry.tempCleanup = async () => {
|
|
11722
|
-
await
|
|
11721
|
+
await fsPromises.unlink(tmpPath).catch(() => {});
|
|
11723
11722
|
};
|
|
11724
11723
|
return {
|
|
11725
11724
|
path: tmpPath,
|
|
@@ -11766,12 +11765,12 @@ var MediaAttachmentCache = class {
|
|
|
11766
11765
|
if (entry.statSize !== void 0) return entry.statSize;
|
|
11767
11766
|
try {
|
|
11768
11767
|
const currentPath = entry.resolvedPath;
|
|
11769
|
-
const stat = await
|
|
11768
|
+
const stat = await fsPromises.stat(currentPath);
|
|
11770
11769
|
if (!stat.isFile()) {
|
|
11771
11770
|
entry.resolvedPath = void 0;
|
|
11772
11771
|
return;
|
|
11773
11772
|
}
|
|
11774
|
-
const canonicalPath = await
|
|
11773
|
+
const canonicalPath = await fsPromises.realpath(currentPath).catch(() => currentPath);
|
|
11775
11774
|
if (!isInboundPathAllowed({
|
|
11776
11775
|
filePath: canonicalPath,
|
|
11777
11776
|
roots: await this.getCanonicalLocalPathRoots()
|
|
@@ -11793,7 +11792,7 @@ var MediaAttachmentCache = class {
|
|
|
11793
11792
|
if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
|
|
11794
11793
|
this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
|
|
11795
11794
|
if (root.includes("*")) return root;
|
|
11796
|
-
return await
|
|
11795
|
+
return await fsPromises.realpath(root).catch(() => root);
|
|
11797
11796
|
}))))();
|
|
11798
11797
|
return await this.canonicalLocalPathRoots;
|
|
11799
11798
|
}
|
|
@@ -11864,7 +11863,7 @@ function formatAudioTranscripts(outputs) {
|
|
|
11864
11863
|
async function fileExists(filePath) {
|
|
11865
11864
|
if (!filePath) return false;
|
|
11866
11865
|
try {
|
|
11867
|
-
await
|
|
11866
|
+
await fsPromises.stat(filePath);
|
|
11868
11867
|
return true;
|
|
11869
11868
|
} catch {
|
|
11870
11869
|
return false;
|
|
@@ -11964,7 +11963,7 @@ async function resolveCliOutput(params) {
|
|
|
11964
11963
|
const commandId = commandBase(params.command);
|
|
11965
11964
|
const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
|
|
11966
11965
|
if (fileOutput && await fileExists(fileOutput)) try {
|
|
11967
|
-
const content = await
|
|
11966
|
+
const content = await fsPromises.readFile(fileOutput, "utf8");
|
|
11968
11967
|
if (content.trim()) return content.trim();
|
|
11969
11968
|
} catch {}
|
|
11970
11969
|
if (commandId === "gemini") {
|
|
@@ -12255,7 +12254,7 @@ async function runCliEntry(params) {
|
|
|
12255
12254
|
maxBytes,
|
|
12256
12255
|
timeoutMs
|
|
12257
12256
|
});
|
|
12258
|
-
const outputDir = await
|
|
12257
|
+
const outputDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
|
|
12259
12258
|
const mediaPath = pathResult.path;
|
|
12260
12259
|
const outputBase = path.join(outputDir, path.parse(mediaPath).name);
|
|
12261
12260
|
const templCtx = {
|
|
@@ -12289,7 +12288,7 @@ async function runCliEntry(params) {
|
|
|
12289
12288
|
model: command
|
|
12290
12289
|
};
|
|
12291
12290
|
} finally {
|
|
12292
|
-
await
|
|
12291
|
+
await fsPromises.rm(outputDir, {
|
|
12293
12292
|
recursive: true,
|
|
12294
12293
|
force: true
|
|
12295
12294
|
}).catch(() => {});
|
|
@@ -12333,9 +12332,9 @@ function candidateBinaryNames(name) {
|
|
|
12333
12332
|
}
|
|
12334
12333
|
async function isExecutable$1(filePath) {
|
|
12335
12334
|
try {
|
|
12336
|
-
if (!(await
|
|
12335
|
+
if (!(await fsPromises.stat(filePath)).isFile()) return false;
|
|
12337
12336
|
if (process.platform === "win32") return true;
|
|
12338
|
-
await
|
|
12337
|
+
await fsPromises.access(filePath, constants.X_OK);
|
|
12339
12338
|
return true;
|
|
12340
12339
|
} catch {
|
|
12341
12340
|
return false;
|
|
@@ -14039,7 +14038,7 @@ async function createModelSelectionState(params) {
|
|
|
14039
14038
|
}
|
|
14040
14039
|
}
|
|
14041
14040
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
14042
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
14041
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-BDvJK1Bg.js").then((n) => n.t);
|
|
14043
14042
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
14044
14043
|
const providerKey = normalizeProviderId(provider);
|
|
14045
14044
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -17183,7 +17182,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
17183
17182
|
cwd: process.cwd(),
|
|
17184
17183
|
root: params.sandbox.workspaceDir
|
|
17185
17184
|
});
|
|
17186
|
-
if (!(await
|
|
17185
|
+
if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
17187
17186
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
17188
17187
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
17189
17188
|
return {
|
|
@@ -18197,13 +18196,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
18197
18196
|
cwd: params.workdir,
|
|
18198
18197
|
root: params.workdir
|
|
18199
18198
|
});
|
|
18200
|
-
stat = await
|
|
18199
|
+
stat = await fsPromises.stat(absPath);
|
|
18201
18200
|
} catch {
|
|
18202
18201
|
return;
|
|
18203
18202
|
}
|
|
18204
18203
|
if (!stat.isFile()) return;
|
|
18205
18204
|
if (stat.size > 512 * 1024) return;
|
|
18206
|
-
const content = await
|
|
18205
|
+
const content = await fsPromises.readFile(absPath, "utf-8");
|
|
18207
18206
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
18208
18207
|
if (first) {
|
|
18209
18208
|
const idx = first.index;
|
|
@@ -22879,7 +22878,7 @@ async function handleCommands(params) {
|
|
|
22879
22878
|
try {
|
|
22880
22879
|
const messages = [];
|
|
22881
22880
|
if (sessionFile) {
|
|
22882
|
-
const content = await
|
|
22881
|
+
const content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
22883
22882
|
for (const line of content.split("\n")) {
|
|
22884
22883
|
if (!line.trim()) continue;
|
|
22885
22884
|
try {
|
|
@@ -25066,7 +25065,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25066
25065
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
25067
25066
|
throw new Error("jsonlPath outside allowed roots");
|
|
25068
25067
|
}
|
|
25069
|
-
const canonical = await
|
|
25068
|
+
const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
|
|
25070
25069
|
if (!isInboundPathAllowed({
|
|
25071
25070
|
filePath: canonical,
|
|
25072
25071
|
roots
|
|
@@ -25074,7 +25073,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25074
25073
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
25075
25074
|
throw new Error("jsonlPath outside allowed roots");
|
|
25076
25075
|
}
|
|
25077
|
-
return await
|
|
25076
|
+
return await fsPromises.readFile(canonical, "utf8");
|
|
25078
25077
|
}
|
|
25079
25078
|
const CanvasToolSchema = Type.Object({
|
|
25080
25079
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -26617,7 +26616,7 @@ async function hydrateAttachmentPayload(params) {
|
|
|
26617
26616
|
accountId: params.accountId
|
|
26618
26617
|
}),
|
|
26619
26618
|
sandboxValidated: true,
|
|
26620
|
-
readFile: (filePath) =>
|
|
26619
|
+
readFile: (filePath) => fsPromises.readFile(filePath)
|
|
26621
26620
|
});
|
|
26622
26621
|
params.args.buffer = media.buffer.toString("base64");
|
|
26623
26622
|
if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
|
|
@@ -33111,7 +33110,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
33111
33110
|
return;
|
|
33112
33111
|
}
|
|
33113
33112
|
try {
|
|
33114
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
33113
|
+
const { deliverOutboundPayloads } = await import("./deliver-ccf_boim.js").then((n) => n.n);
|
|
33115
33114
|
await deliverOutboundPayloads({
|
|
33116
33115
|
cfg: params.cfg,
|
|
33117
33116
|
channel,
|
|
@@ -33516,7 +33515,7 @@ async function stageSandboxMedia(params) {
|
|
|
33516
33515
|
};
|
|
33517
33516
|
try {
|
|
33518
33517
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
33519
|
-
await
|
|
33518
|
+
await fsPromises.mkdir(destDir, { recursive: true });
|
|
33520
33519
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
33521
33520
|
cfg,
|
|
33522
33521
|
accountId: ctx.AccountId
|
|
@@ -33566,7 +33565,7 @@ async function stageSandboxMedia(params) {
|
|
|
33566
33565
|
usedNames.add(fileName);
|
|
33567
33566
|
const dest = path.join(destDir, fileName);
|
|
33568
33567
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
33569
|
-
else await
|
|
33568
|
+
else await fsPromises.copyFile(source, dest);
|
|
33570
33569
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
33571
33570
|
staged.set(source, stagedPath);
|
|
33572
33571
|
}
|
|
@@ -38877,7 +38876,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
38877
38876
|
}
|
|
38878
38877
|
let commandsRegistry;
|
|
38879
38878
|
async function getCommandsRegistry() {
|
|
38880
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
38879
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CLePPNDW.js").then((n) => n.t);
|
|
38881
38880
|
return commandsRegistry;
|
|
38882
38881
|
}
|
|
38883
38882
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -39219,11 +39218,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39219
39218
|
const channelName = channelInfo?.name;
|
|
39220
39219
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
39221
39220
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
39222
|
-
import("./resolve-route-
|
|
39221
|
+
import("./resolve-route-BbUl3Hi7.js").then((n) => n.r),
|
|
39223
39222
|
import("./inbound-context-DqAyGDbE.js").then((n) => n.n),
|
|
39224
39223
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
39225
39224
|
]);
|
|
39226
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-
|
|
39225
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-DZQBodKF.js").then((n) => n.n)]);
|
|
39227
39226
|
const route = resolveAgentRoute({
|
|
39228
39227
|
cfg,
|
|
39229
39228
|
channel: "slack",
|
|
@@ -39280,7 +39279,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39280
39279
|
});
|
|
39281
39280
|
const deliverSlashPayloads = async (replies) => {
|
|
39282
39281
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
39283
|
-
import("./replies
|
|
39282
|
+
import("./replies-CbipVshj.js").then((n) => n.r),
|
|
39284
39283
|
import("./chunk-DQGU0F8t.js").then((n) => n.s),
|
|
39285
39284
|
import("./markdown-tables-GTLvbzuR.js").then((n) => n.t)
|
|
39286
39285
|
]);
|
|
@@ -39335,7 +39334,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39335
39334
|
let nativeCommands = [];
|
|
39336
39335
|
if (nativeEnabled) {
|
|
39337
39336
|
reg = await getCommandsRegistry();
|
|
39338
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
39337
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-RbglvrSW.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
39339
39338
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
39340
39339
|
skillCommands,
|
|
39341
39340
|
provider: "slack"
|
|
@@ -40468,7 +40467,7 @@ function resolvePluginTools(params) {
|
|
|
40468
40467
|
//#endregion
|
|
40469
40468
|
//#region src/agents/apply-patch-update.ts
|
|
40470
40469
|
async function defaultReadFile(filePath) {
|
|
40471
|
-
return
|
|
40470
|
+
return fsPromises.readFile(filePath, "utf8");
|
|
40472
40471
|
}
|
|
40473
40472
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
40474
40473
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -40712,10 +40711,10 @@ function resolvePatchFileOps(options) {
|
|
|
40712
40711
|
};
|
|
40713
40712
|
}
|
|
40714
40713
|
return {
|
|
40715
|
-
readFile: (filePath) =>
|
|
40716
|
-
writeFile: (filePath, content) =>
|
|
40717
|
-
remove: (filePath) =>
|
|
40718
|
-
mkdirp: (dir) =>
|
|
40714
|
+
readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
|
|
40715
|
+
writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
|
|
40716
|
+
remove: (filePath) => fsPromises.rm(filePath),
|
|
40717
|
+
mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
|
|
40719
40718
|
};
|
|
40720
40719
|
}
|
|
40721
40720
|
async function ensureDir(filePath, ops) {
|
|
@@ -41882,7 +41881,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41882
41881
|
};
|
|
41883
41882
|
let content;
|
|
41884
41883
|
try {
|
|
41885
|
-
content = await
|
|
41884
|
+
content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
41886
41885
|
} catch (err) {
|
|
41887
41886
|
if (err?.code === "ENOENT") return {
|
|
41888
41887
|
repaired: false,
|
|
@@ -41930,15 +41929,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41930
41929
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
41931
41930
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
41932
41931
|
try {
|
|
41933
|
-
const stat = await
|
|
41934
|
-
await
|
|
41935
|
-
if (stat) await
|
|
41936
|
-
await
|
|
41937
|
-
if (stat) await
|
|
41938
|
-
await
|
|
41932
|
+
const stat = await fsPromises.stat(sessionFile).catch(() => null);
|
|
41933
|
+
await fsPromises.writeFile(backupPath, content, "utf-8");
|
|
41934
|
+
if (stat) await fsPromises.chmod(backupPath, stat.mode);
|
|
41935
|
+
await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
|
|
41936
|
+
if (stat) await fsPromises.chmod(tmpPath, stat.mode);
|
|
41937
|
+
await fsPromises.rename(tmpPath, sessionFile);
|
|
41939
41938
|
} catch (err) {
|
|
41940
41939
|
try {
|
|
41941
|
-
await
|
|
41940
|
+
await fsPromises.unlink(tmpPath);
|
|
41942
41941
|
} catch (cleanupErr) {
|
|
41943
41942
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
41944
41943
|
}
|
|
@@ -43211,7 +43210,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
43211
43210
|
if (!isSessionManagerCacheEnabled()) return;
|
|
43212
43211
|
if (isSessionManagerCached(sessionFile)) return;
|
|
43213
43212
|
try {
|
|
43214
|
-
const handle = await
|
|
43213
|
+
const handle = await fsPromises.open(sessionFile, "r");
|
|
43215
43214
|
try {
|
|
43216
43215
|
const buffer = Buffer$1.alloc(4096);
|
|
43217
43216
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -43351,7 +43350,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43351
43350
|
} catch (err) {
|
|
43352
43351
|
return fail(describeUnknownError(err));
|
|
43353
43352
|
}
|
|
43354
|
-
await
|
|
43353
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
43355
43354
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
43356
43355
|
const sandbox = await resolveSandboxContext({
|
|
43357
43356
|
config: params.config,
|
|
@@ -43359,7 +43358,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43359
43358
|
workspaceDir: resolvedWorkspace
|
|
43360
43359
|
});
|
|
43361
43360
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
43362
|
-
await
|
|
43361
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
43363
43362
|
await ensureSessionHeader({
|
|
43364
43363
|
sessionFile: params.sessionFile,
|
|
43365
43364
|
sessionId: params.sessionId,
|
|
@@ -43684,12 +43683,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
43684
43683
|
const existing = writers.get(filePath);
|
|
43685
43684
|
if (existing) return existing;
|
|
43686
43685
|
const dir = path.dirname(filePath);
|
|
43687
|
-
const ready =
|
|
43686
|
+
const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
43688
43687
|
let queue = Promise.resolve();
|
|
43689
43688
|
const writer = {
|
|
43690
43689
|
filePath,
|
|
43691
43690
|
write: (line) => {
|
|
43692
|
-
queue = queue.then(() => ready).then(() =>
|
|
43691
|
+
queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
43693
43692
|
}
|
|
43694
43693
|
};
|
|
43695
43694
|
writers.set(filePath, writer);
|
|
@@ -46869,7 +46868,7 @@ Use the message tool with buttons:
|
|
|
46869
46868
|
*/
|
|
46870
46869
|
async function readSessionFile(sessionFile) {
|
|
46871
46870
|
try {
|
|
46872
|
-
return await
|
|
46871
|
+
return await fsPromises.readFile(sessionFile, "utf-8");
|
|
46873
46872
|
} catch {
|
|
46874
46873
|
return null;
|
|
46875
46874
|
}
|
|
@@ -46878,8 +46877,8 @@ async function writeAtomically(sessionFile, text) {
|
|
|
46878
46877
|
const dir = path.dirname(sessionFile);
|
|
46879
46878
|
const base = path.basename(sessionFile);
|
|
46880
46879
|
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
46881
|
-
await
|
|
46882
|
-
await
|
|
46880
|
+
await fsPromises.writeFile(tmp, text, "utf-8");
|
|
46881
|
+
await fsPromises.rename(tmp, sessionFile);
|
|
46883
46882
|
}
|
|
46884
46883
|
/**
|
|
46885
46884
|
* Remove empty assistant JSONL entries from the session file.
|
|
@@ -46981,7 +46980,7 @@ function isInPoisonRange(version) {
|
|
|
46981
46980
|
*/
|
|
46982
46981
|
async function checkSessionPoison(sessionFile) {
|
|
46983
46982
|
try {
|
|
46984
|
-
const firstLine = (await
|
|
46983
|
+
const firstLine = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n")[0];
|
|
46985
46984
|
if (!firstLine) return null;
|
|
46986
46985
|
const header = JSON.parse(firstLine);
|
|
46987
46986
|
if (header.type !== "session") return null;
|
|
@@ -46999,7 +46998,7 @@ async function checkSessionPoison(sessionFile) {
|
|
|
46999
46998
|
*/
|
|
47000
46999
|
async function archivePoisonedSession(sessionFile) {
|
|
47001
47000
|
const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
|
|
47002
|
-
await
|
|
47001
|
+
await fsPromises.rename(sessionFile, archiveName);
|
|
47003
47002
|
return archiveName;
|
|
47004
47003
|
}
|
|
47005
47004
|
/**
|
|
@@ -47008,14 +47007,14 @@ async function archivePoisonedSession(sessionFile) {
|
|
|
47008
47007
|
*/
|
|
47009
47008
|
async function stampSessionVersion(sessionFile) {
|
|
47010
47009
|
try {
|
|
47011
|
-
const lines = (await
|
|
47010
|
+
const lines = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n");
|
|
47012
47011
|
if (lines.length === 0) return;
|
|
47013
47012
|
const header = JSON.parse(lines[0]);
|
|
47014
47013
|
if (header.type !== "session") return;
|
|
47015
47014
|
if (header.symiVersion === VERSION) return;
|
|
47016
47015
|
header.symiVersion = VERSION;
|
|
47017
47016
|
lines[0] = JSON.stringify(header);
|
|
47018
|
-
await
|
|
47017
|
+
await fsPromises.writeFile(sessionFile, lines.join("\n"), "utf-8");
|
|
47019
47018
|
} catch {}
|
|
47020
47019
|
}
|
|
47021
47020
|
/**
|
|
@@ -47244,7 +47243,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
47244
47243
|
return;
|
|
47245
47244
|
}
|
|
47246
47245
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
47247
|
-
await
|
|
47246
|
+
await fsPromises.writeFile(params.sessionFile, "", "utf-8");
|
|
47248
47247
|
sm.fileEntries = [header];
|
|
47249
47248
|
sm.byId?.clear?.();
|
|
47250
47249
|
sm.labelsById?.clear?.();
|
|
@@ -47802,7 +47801,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47802
47801
|
const prevCwd = process.cwd();
|
|
47803
47802
|
const runAbortController = new AbortController();
|
|
47804
47803
|
log$7.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
47805
|
-
await
|
|
47804
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
47806
47805
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
47807
47806
|
const sandbox = await resolveSandboxContext({
|
|
47808
47807
|
config: params.config,
|
|
@@ -47810,7 +47809,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47810
47809
|
workspaceDir: resolvedWorkspace
|
|
47811
47810
|
});
|
|
47812
47811
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
47813
|
-
await
|
|
47812
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
47814
47813
|
let restoreSkillEnv;
|
|
47815
47814
|
process.chdir(effectiveWorkspace);
|
|
47816
47815
|
try {
|
|
@@ -48019,7 +48018,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48019
48018
|
sessionFile: params.sessionFile,
|
|
48020
48019
|
warn: (message) => log$7.warn(message)
|
|
48021
48020
|
});
|
|
48022
|
-
const hadSessionFile = await
|
|
48021
|
+
const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
48023
48022
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
48024
48023
|
modelApi: params.model?.api,
|
|
48025
48024
|
provider: params.provider,
|
|
@@ -49111,7 +49110,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
49111
49110
|
}
|
|
49112
49111
|
runLoopIterations += 1;
|
|
49113
49112
|
attemptedThinking.add(thinkLevel);
|
|
49114
|
-
await
|
|
49113
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
49115
49114
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
49116
49115
|
const attempt = await runEmbeddedAttempt({
|
|
49117
49116
|
sessionId: params.sessionId,
|
|
@@ -49774,10 +49773,7 @@ async function runAgentTurnImpl(params) {
|
|
|
49774
49773
|
});
|
|
49775
49774
|
const result = await runEmbeddedPiAgent(buildInternalParams());
|
|
49776
49775
|
const rawText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
|
|
49777
|
-
const outboundResult = classifyOutboundMessage(rawText
|
|
49778
|
-
isHeartbeat: false,
|
|
49779
|
-
heartbeatAckMaxChars: 0
|
|
49780
|
-
});
|
|
49776
|
+
const outboundResult = classifyOutboundMessage(rawText);
|
|
49781
49777
|
const filteredText = outboundResult.output.trim();
|
|
49782
49778
|
const resolvedProvider = result.meta.agentMeta?.provider ?? params.provider ?? "";
|
|
49783
49779
|
const resolvedModel = result.meta.agentMeta?.model ?? params.modelId ?? "";
|