@symerian/symi 3.5.26 → 3.5.28
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-CoHzNs_e.js → agent-BsRYHa15.js} +18 -18
- package/dist/{agent-CB5yb-7V.js → agent-TRt_SsAW.js} +1 -1
- package/dist/{agent-scope-Bnsyyeci.js → agent-scope-DOrZjOnW.js} +18 -18
- package/dist/{agents-DtRd3yEb.js → agents-7qMp2MWu.js} +2 -2
- package/dist/{agents.config-DA0ISLi7.js → agents.config-B7sNDvhz.js} +1 -1
- package/dist/{audit-CuwXq_EA.js → audit-C_3fAFeS.js} +20 -20
- package/dist/{auth-choice-5SLfZiQ7.js → auth-choice-C8lwYiEQ.js} +1 -1
- package/dist/{auth-choice-DKRHawfp.js → auth-choice-DcB72YWZ.js} +11 -11
- package/dist/{auth-profiles-D5nYBj_Z.js → auth-profiles-Ce7R_25e.js} +2 -2
- package/dist/{auth-token-fgnCQEHT.js → auth-token-Cr28IDKY.js} +3 -3
- package/dist/{banner-B_P_FrmA.js → banner-B5Hv4rlk.js} +1 -1
- package/dist/{browser-cli-BI81RlI8.js → browser-cli-D6xFqw9w.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-xUpyZDH4.js → call-AZ9vNhST.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-vjcKi2yl.js → channel-options-DOzFci6h.js} +1 -1
- package/dist/{channel-options-8NGYZjfd.js → channel-options-ZkruGuHl.js} +1 -1
- package/dist/{channels-cli-Bx90nSmB.js → channels-cli-CEz9LILV.js} +7 -7
- package/dist/{channels-cli-CfBFa-VO.js → channels-cli-DMShhX0d.js} +57 -57
- package/dist/{chrome-38OnGyuN.js → chrome-DJChpTwP.js} +2 -2
- package/dist/{chrome-3jl2ulOE.js → chrome-DNssqQJs.js} +7 -7
- package/dist/{chrome-CmQwGAuL.js → chrome-OTJg3QKn.js} +7 -7
- package/dist/{cli-qf0qK7oi.js → cli-Byovb_j5.js} +45 -45
- package/dist/{cli-DHG9iZJi.js → cli-MDHkESMC.js} +4 -4
- package/dist/{client-DiPa71im.js → client-DH75FlQF.js} +1 -1
- package/dist/{command-registry-DBbzZvh6.js → command-registry-Dzj-Uz5N.js} +10 -10
- package/dist/{commands-registry-CwXsDVuO.js → commands-registry-Ca5hh7nh.js} +1 -1
- package/dist/{completion-cli-Ddfrnilx.js → completion-cli-CsJ2f_fk.js} +12 -12
- package/dist/{completion-cli-DoQrkCAd.js → completion-cli-vAwL_uEK.js} +2 -2
- package/dist/{config-BngIfn5l.js → config-B4jkreCN.js} +2 -2
- package/dist/{config-cli-9a5qBcdo.js → config-cli-CqqCDyf0.js} +1 -1
- package/dist/{config-cli-JVGYyfYA.js → config-cli-cmea_Z-A.js} +4 -4
- package/dist/{config-guard-DStz4_V2.js → config-guard-BRm3RiOi.js} +6 -6
- package/dist/{config-validation-Dxj9LRzr.js → config-validation-Cdyg1BZB.js} +1 -1
- package/dist/{configure-ryB8EvyP.js → configure-BEPKQuJj.js} +2 -2
- package/dist/{configure-Bqz2Hvnf.js → configure-DymrZd1n.js} +14 -14
- package/dist/{consolidate-CO32_TEx.js → consolidate-DymnvvYm.js} +6 -6
- package/dist/{control-service-CUreKVeY.js → control-service-D8kKOts5.js} +4 -4
- package/dist/control-ui/css/style.css +274 -0
- package/dist/control-ui/index.html +14 -0
- package/dist/control-ui/js/symframe-bidirectional.js +210 -0
- package/dist/{control-ui-assets-B8B9z_Ll.js → control-ui-assets-CJQ97d4u.js} +1 -1
- package/dist/{cost-cli-D-ssjcRF.js → cost-cli-DWiVCOCx.js} +3 -3
- package/dist/{cron-cli-pZ_7Wzhj.js → cron-cli-VH_t2D1o.js} +7 -7
- package/dist/{daemon-cli-BDzcfcu_.js → daemon-cli-3PFXkheJ.js} +11 -11
- package/dist/{daemon-runtime-CKn0wmCk.js → daemon-runtime-DlQla_dA.js} +10 -10
- package/dist/{deliver-B04yNX82.js → deliver-BiWlR84Y.js} +4 -4
- package/dist/{deliver-CWMFmMCv.js → deliver-lTZLIQqf.js} +2 -2
- package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
- package/dist/{deps-CdibsPMx.js → deps-Bf9dt2UO.js} +1 -1
- package/dist/{devices-cli-BIZbo_Pt.js → devices-cli-Bhi1rWnT.js} +6 -6
- package/dist/{diagnostics-CYkqD5lP.js → diagnostics-DlZODdRf.js} +5 -5
- package/dist/{directory-cli-giqTe8Yg.js → directory-cli-Bm5QYEo-.js} +3 -3
- package/dist/{dm-policy-shared-B61_yf6G.js → dm-policy-shared-CeFt0nch.js} +1 -1
- package/dist/{dns-cli-Dssz4RqF.js → dns-cli-CubLq4j9.js} +3 -3
- package/dist/{docs-cli-Ct1STieY.js → docs-cli-PS8m1er7.js} +1 -1
- package/dist/{doctor-completion-Bk55g4MP.js → doctor-completion--phnyAqO.js} +1 -1
- package/dist/{doctor-completion-eh7aImCx.js → doctor-completion-BY72G6-l.js} +2 -2
- package/dist/{doctor-config-flow-ljVnQJjo.js → doctor-config-flow-C52W1uUK.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-B2UY9dZC.js → exec-approvals-cli-xTOKcyZh.js} +13 -13
- package/dist/extensionAPI.js +4 -4
- package/dist/{file-lock-2AecMjCa.js → file-lock-BVUYnlQv.js} +8 -8
- package/dist/{fs-safe-B0Is-oLk.js → fs-safe-BdejYjW8.js} +6 -6
- package/dist/{gateway-cli-BwPy7u0B.js → gateway-cli-BVpyqk_H.js} +98 -98
- package/dist/{gateway-cli-BGMVOW2G.js → gateway-cli-Bo80TSkq.js} +10 -10
- package/dist/{gateway-rpc-DmFOiGIJ.js → gateway-rpc-C6lKFbor.js} +1 -1
- package/dist/{glass-ui-ws-Z-W33_mF.js → glass-ui-ws-BK5qk7-_.js} +8 -8
- package/dist/{glass-ui-ws-CwOiILiY.js → glass-ui-ws-CrmnRYxe.js} +67 -67
- package/dist/{health-Bc1wmAO5.js → health-7UqIGG8U.js} +4 -4
- package/dist/{hooks-cli-DOjHV2fF.js → hooks-cli-CjklMDuK.js} +59 -59
- package/dist/{hooks-cli-Bn6x6Jnj.js → hooks-cli-CqmTdxT6.js} +5 -5
- package/dist/{image-ops-BzCBIakN.js → image-ops-L70xVnpG.js} +10 -10
- package/dist/index.js +52 -52
- package/dist/{inspect-DzYUb_Dl.js → inspect-CGKsaVZ4.js} +4 -4
- package/dist/{install-safe-path-BrpA09f2.js → install-safe-path-B2JrFspY.js} +11 -11
- package/dist/{installs-bnDlOSq2.js → installs-D890uIIW.js} +10 -10
- package/dist/{internal-csqU78gW.js → internal-DVCddhhN.js} +9 -9
- package/dist/{lifecycle-core-cSR_xiIO.js → lifecycle-core-wFwnK_mD.js} +5 -5
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{local-roots-2Jb79HZ8.js → local-roots-CgDCgCuM.js} +1 -1
- package/dist/{logs-cli-CYFlhj51.js → logs-cli-BTU7zrkU.js} +7 -7
- package/dist/{manager-DuWp0CTD.js → manager-CL767Sv9.js} +15 -15
- package/dist/{manager-BHddoe4T.js → manager-NDn8AFhr.js} +1 -1
- package/dist/{manager-DH00nlW8.js → manager-XfNxjaX5.js} +1 -1
- package/dist/{manager-F0-SHT1B.js → manager-fgUC_sHR.js} +1 -1
- package/dist/{memory-C02Znuee.js → memory-CTf9MdBg.js} +2 -2
- package/dist/{memory-fFc7GGPZ.js → memory-DOl2l2AS.js} +5 -5
- package/dist/{memory-cli-BnBKckEk.js → memory-cli-B9_Vfaow.js} +12 -12
- package/dist/{memory-cli-083UJtVJ.js → memory-cli-CA5PbH9y.js} +2 -2
- package/dist/{model-Cwbcw-km.js → model-MUMSB_7d.js} +1 -1
- package/dist/{model-auth-_C07_3Yr.js → model-auth-1EAQvYRv.js} +2 -2
- package/dist/{model-catalog-BWurV7gl.js → model-catalog-IWi6-nY9.js} +3 -3
- package/dist/{model-picker-Dpkr5xBW.js → model-picker-Cf6UgQEh.js} +5 -5
- package/dist/{model-selection-CCTzD29o.js → model-selection-7wdmO-Iw.js} +1 -1
- package/dist/{models-Bh_frCup.js → models-DgiBOeVH.js} +2 -2
- package/dist/{models-cli-DVdb_TUS.js → models-cli-B7gTrlgn.js} +55 -55
- package/dist/{models-cli-BhBu4Dwm.js → models-cli-BHN3bt0f.js} +6 -6
- package/dist/{models-config-DlXge3Sd.js → models-config-B5Xxy-c-.js} +8 -8
- package/dist/{node-cli-B0ePfMUr.js → node-cli-CWbA6YCw.js} +27 -27
- package/dist/{node-service-Cc18m-uk.js → node-service-BH08wY5j.js} +1 -1
- package/dist/{nodes-cli-L0gy-26E.js → nodes-cli-BfHcv62i.js} +10 -10
- package/dist/{nodes-screen-Cp5QP3ET.js → nodes-screen-De9ma6e1.js} +4 -4
- package/dist/{npm-registry-spec-C-muP97-.js → npm-registry-spec-DTqn-NXZ.js} +9 -9
- package/dist/{onboard-D6GZ2t-L.js → onboard-BNdKimpG.js} +15 -15
- package/dist/{onboard-BSxqEQfo.js → onboard-DGp6mHJD.js} +1 -1
- package/dist/{onboard-channels-BkR3MKMp.js → onboard-channels-DSBWRjSp.js} +1 -1
- package/dist/{onboard-channels-DVS9vciR.js → onboard-channels-Dhb-28-_.js} +4 -4
- package/dist/{onboard-custom-DnDrvxSg.js → onboard-custom-BcRYreNG.js} +3 -3
- package/dist/{onboard-helpers-CJlheOSJ.js → onboard-helpers-7IGQ8nAM.js} +8 -8
- package/dist/{onboard-hooks-D9jHwImb.js → onboard-hooks-2SCajRKc.js} +1 -1
- package/dist/{onboard-remote-CVZ8l58S.js → onboard-remote-Dr75eqOQ.js} +1 -1
- package/dist/{onboard-skills-MgcaLiE6.js → onboard-skills-uO7HZwjc.js} +3 -3
- package/dist/{onboarding-D-mzwQ_f.js → onboarding-BG23DuS1.js} +12 -12
- package/dist/{onboarding-CrCGoZ4H.js → onboarding-MPSU9pXd.js} +3 -3
- package/dist/{onboarding.finalize-BYzduVFA.js → onboarding.finalize-B-mxzJ08.js} +4 -4
- package/dist/{onboarding.finalize-DBFL76p0.js → onboarding.finalize-Cv20GyNt.js} +31 -31
- package/dist/{onboarding.gateway-config-BCDgsFl8.js → onboarding.gateway-config-CkP7K4EN.js} +8 -8
- package/dist/{openai-model-default-De-UAjwg.js → openai-model-default-BkuuK-Di.js} +2 -2
- package/dist/{pairing-cli-CBMMCNnx.js → pairing-cli-Rsae0KnN.js} +5 -5
- package/dist/{pairing-store-Be-ZQK87.js → pairing-store-BNhJOnWn.js} +1 -1
- package/dist/{pairing-token-B703A1U3.js → pairing-token-Dcy37-4s.js} +7 -7
- package/dist/{paths-BWqg8NZT.js → paths-DObzwe08.js} +1 -1
- package/dist/{pi-auth-json-D-vdh-nY.js → pi-auth-json-Db8XJVGL.js} +6 -6
- package/dist/{pi-embedded-DGnpyHm-.js → pi-embedded-V-5MAZNb.js} +11 -10
- package/dist/{pi-embedded-helpers-j1JrlsI0.js → pi-embedded-helpers-D-OFjhdI.js} +6 -6
- package/dist/{pi-tools.policy-CvAqjEH9.js → pi-tools.policy-H2t-Xkfc.js} +3 -3
- package/dist/{plugin-auto-enable-BXSJTxI7.js → plugin-auto-enable-DJBhDIMq.js} +1 -1
- package/dist/{plugin-registry-KP94aK4z.js → plugin-registry-CBV_Y6Dj.js} +3 -3
- package/dist/{plugin-registry-B74FBx4U.js → plugin-registry-c3Skr0q9.js} +1 -1
- package/dist/{plugins-cli-Cmf3kRf5.js → plugins-cli-8Jo1X8SU.js} +5 -5
- package/dist/{plugins-cli-B4ljapU5.js → plugins-cli-Dl7-FSCq.js} +54 -54
- package/dist/{ports-CB_Iu83U.js → ports-gxLM5ahL.js} +2 -2
- package/dist/{ports-Bi3V_3n9.js → ports-r7LBic2V.js} +1 -1
- package/dist/{program-CGuYYumL.js → program-D-LYHEvk.js} +10 -10
- package/dist/{program-context-BzqGUxMS.js → program-context-BpeLcVUB.js} +40 -40
- package/dist/{prompt-select-styled-BVkRteee.js → prompt-select-styled-Ceih9wkY.js} +38 -38
- package/dist/{prompt-select-styled-b752FPLG.js → prompt-select-styled-ZWxB2Odf.js} +4 -4
- package/dist/{provider-auth-helpers-C6GjAO-s.js → provider-auth-helpers-BCejcf5o.js} +6 -6
- package/dist/{provider-auth-helpers-BKveYcEH.js → provider-auth-helpers-BdvW7eau.js} +1 -1
- package/dist/{push-apns-HNg0rTkI.js → push-apns-D4iLNyBo.js} +1 -1
- package/dist/{push-apns-CbbWM63o.js → push-apns-HQd5hCpM.js} +4 -4
- package/dist/{pw-ai-CP5pn3eU.js → pw-ai-BiBvIJzd.js} +7 -7
- package/dist/{pw-ai-DLsdzdgc.js → pw-ai-DY_6l11g.js} +1 -1
- package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
- package/dist/{qmd-manager-Dxyue7B1.js → qmd-manager-C8-M4Pru.js} +19 -19
- package/dist/{qr-cli-DHw6muwK.js → qr-cli-1sCVaPcF.js} +3 -3
- package/dist/{register.agent-DbPYGG3u.js → register.agent-DoUbqZIu.js} +9 -9
- package/dist/{register.agent-DhS2lmWo.js → register.agent-zwVEiCHs.js} +67 -67
- package/dist/{register.configure-ChjzXxh8.js → register.configure-CSe8Rlda.js} +70 -70
- package/dist/{register.configure-B0M15y31.js → register.configure-jBKvvOnk.js} +8 -8
- package/dist/{register.maintenance-bzLNOqch.js → register.maintenance-BdikNAV1.js} +9 -9
- package/dist/{register.maintenance-frHWf6Xs.js → register.maintenance-royLmVA2.js} +67 -67
- package/dist/{register.message-Bfukmte_.js → register.message-C1H5Vcnb.js} +5 -5
- package/dist/{register.message-DWB4eVII.js → register.message-C_0uLdYn.js} +47 -47
- package/dist/{register.onboard-4P8ud4Sw.js → register.onboard-DTLtb0SN.js} +25 -25
- package/dist/{register.onboard-CDsSVoFI.js → register.onboard-DnMRUtnl.js} +2 -2
- package/dist/{register.setup-Bp8rYeRx.js → register.setup-B9sjRH7l.js} +2 -2
- package/dist/{register.setup-D0I7sEGc.js → register.setup-KA8Cs3HJ.js} +28 -28
- package/dist/{register.status-health-sessions-69Gigo_H.js → register.status-health-sessions-B_jcsH3c.js} +41 -41
- package/dist/{register.status-health-sessions-DE2db_Uo.js → register.status-health-sessions-BwiKHLEj.js} +3 -3
- package/dist/{register.subclis-QXO75pUm.js → register.subclis-B_V8vNI0.js} +9 -9
- package/dist/{replies-B_3j7R_Q.js → replies-CbXXjn9X.js} +1 -1
- package/dist/{reply-prefix-CtZtkTJK.js → reply-prefix-BFNeXT65.js} +1 -1
- package/dist/{resolve-route-Du0VftVs.js → resolve-route-C1IIA6kH.js} +1 -1
- package/dist/{routes-BwTUoI5h.js → routes-ivqbutvM.js} +10 -10
- package/dist/{rpc-DTqyJZKO.js → rpc-B1czfnym.js} +1 -1
- package/dist/{run-main-MD8Z8ydF.js → run-main-DhgQtxI0.js} +17 -17
- package/dist/{sandbox-CZGTCone.js → sandbox-BkznAPKO.js} +18 -18
- package/dist/{sandbox-cli-DEtGT_4y.js → sandbox-cli-Bb9cBtBH.js} +13 -13
- package/dist/{security-cli-iJpHPABF.js → security-cli-l59T6lAJ.js} +29 -29
- package/dist/{send-CxjvucMO.js → send-B0jHSNMF.js} +7 -7
- package/dist/{server-context-DXdk410X.js → server-context-ChcbJgNo.js} +5 -5
- package/dist/{server-methods-DHWxmfIu.js → server-methods-6-10RyMD.js} +60 -60
- package/dist/{server-methods-DTkVQH8Q.js → server-methods-Bdz-OwQ4.js} +7 -7
- package/dist/{server-node-events-C0smPxrR.js → server-node-events-B3Yey3h9.js} +6 -6
- package/dist/{server-node-events-DHSiqnRS.js → server-node-events-C4giIb7q.js} +48 -48
- package/dist/{service-CRZoXO_n.js → service-e6MzlLCd.js} +15 -15
- package/dist/{session-dirs-a00Ad2SO.js → session-dirs-C9E2G0yZ.js} +2 -2
- package/dist/{session-utils-CJhcRx3E.js → session-utils-Cs1jlD-q.js} +14 -14
- package/dist/{sessions-BCc3THTm.js → sessions-Dxf5Kjig.js} +10 -10
- package/dist/{shared-C39SiDDJ.js → shared-1xPo9ygd.js} +1 -1
- package/dist/{shared-Dh-O8nRd.js → shared-COtpr3Ad.js} +3 -3
- package/dist/{skill-commands-DWvXs3lz.js → skill-commands-DDGGlq68.js} +4 -4
- package/dist/{skill-scanner-CIlHPszT.js → skill-scanner-BCgVcIwi.js} +5 -5
- package/dist/{skills-CYcBtLGH.js → skills-BwDmcZdt.js} +4 -4
- package/dist/{skills-cli-CD9s3cgm.js → skills-cli-B-7TY-vS.js} +7 -7
- package/dist/{skills-install-BTa9IuQ6.js → skills-install-Dwzsjoc8.js} +3 -3
- package/dist/{skills-remote-BcRQTDsZ.js → skills-remote-bz71Bstn.js} +3 -3
- package/dist/{skills-status-DLnCHUZ2.js → skills-status-BKX1PjCc.js} +1 -1
- package/dist/{sqlite-BpogPlQW.js → sqlite-Cod7C5ba.js} +5 -5
- package/dist/{status-DUbs9rVu.js → status-BRUIJsUm.js} +3 -3
- package/dist/{status-OTYFx93W.js → status-B_CQpjQ9.js} +1 -1
- package/dist/{status-ISN-LC9F.js → status-CCAO6ZHm.js} +23 -23
- package/dist/{status-BEZotN01.js → status-D_0593yR.js} +1 -1
- package/dist/{status.update-CKfyV6zw.js → status.update-DGJi0OLl.js} +3 -3
- package/dist/{subagent-registry-CVhLz4p3.js → subagent-registry-D8BIWG9Q.js} +4 -3
- package/dist/{symframe-cli-CPE5nxuJ.js → symframe-cli-BVmRLRid.js} +9 -9
- package/dist/{symi-root-DeCVdZB4.js → symi-root-BQ0IpoW2.js} +2 -2
- package/dist/{synthesis-C1mZnGqD.js → synthesis-BfVWACNx.js} +4 -4
- package/dist/{synthesis-DkHCk0El.js → synthesis-CV94EuT_.js} +45 -45
- package/dist/{synthesis-CDPVZw2P.js → synthesis-D6pnRAxI.js} +4 -4
- package/dist/{synthesis-RhT991Ni.js → synthesis-qvteT0Ti.js} +4 -4
- package/dist/{system-cli-nWJwLo85.js → system-cli-Du1GEeoO.js} +7 -7
- package/dist/{systemd-CsoVnIbM.js → systemd-CUIM0n5P.js} +5 -5
- package/dist/{systemd-hints-QISwLlFU.js → systemd-hints-CsrzMCTD.js} +6 -6
- package/dist/{systemd-linger-BnhuRdbt.js → systemd-linger-BzYk7A6M.js} +1 -1
- package/dist/{tui-ZL7IGA7l.js → tui-B2MY6Mj2.js} +7 -7
- package/dist/{tui-cli-CEpMtmhP.js → tui-cli-BMEnosW9.js} +19 -19
- package/dist/{unified-runner-CsadjpQa.js → unified-runner-CtSJoaGS.js} +102 -101
- package/dist/{unified-runner-Cppo8O8z.js → unified-runner-H3Qh_NZO.js} +11 -10
- package/dist/{update-check-u6Jgr1cz.js → update-check-BCL_K7kx.js} +5 -5
- package/dist/{update-cli-48-Nah-Y.js → update-cli-BrryYmFA.js} +77 -77
- package/dist/{update-cli-D9g9s187.js → update-cli-CUos9qgT.js} +9 -9
- package/dist/{update-runner-G2YgEATs.js → update-runner-BLV8SI96.js} +15 -15
- package/dist/{update-Cb0Fmxic.js → update-yYduAjKd.js} +3 -3
- package/dist/{webhooks-cli-DjUITimx.js → webhooks-cli-D5k-Y2A8.js} +4 -4
- package/dist/{with-timeout-CLrF-Yr_.js → with-timeout-DPR4A2dx.js} +1 -1
- package/dist/{workspace-dirs-DCICLTHx.js → workspace-dirs-jKFQf7of.js} +1 -1
- package/dist/{wsl-DTi7eX-V.js → wsl-CglTdtlb.js} +2 -2
- package/extensions/memory-core/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/package.json +1 -1
|
@@ -3,93 +3,93 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
|
|
|
3
3
|
import { _ as resolveStateDir, u as resolveGatewayPort } from "./paths-By0XjHBk.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-CTPsqyE_.js";
|
|
5
5
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
6
|
-
import { T as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, b as ensureAuthProfileStore, g as markAuthProfileGood, h as listProfilesForProvider, i as isProfileInCooldown, n as resolveAuthProfileOrder, o as markAuthProfileUsed, r as getSoonestCooldownExpiry, w as resolveAuthStorePathForDisplay } from "./auth-profiles-
|
|
6
|
+
import { T as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, b as ensureAuthProfileStore, g as markAuthProfileGood, h as listProfilesForProvider, i as isProfileInCooldown, n as resolveAuthProfileOrder, o as markAuthProfileUsed, r as getSoonestCooldownExpiry, w as resolveAuthStorePathForDisplay } from "./auth-profiles-Ce7R_25e.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.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-DUSb7CCb.js";
|
|
9
|
-
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-
|
|
9
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.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-DuYbft0z.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-
|
|
12
|
-
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFromString, a as findNormalizedProviderValue, b as resolveThinkingDefault, c as modelKey, h as resolveDefaultModelForAgent, l as normalizeModelRef$1, m as resolveConfiguredModelRef, n as buildConfiguredAllowlistKeys, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId, w as DEFAULT_PROVIDER, x as getProviderAdapter, y as resolveSubagentSpawnModelSelection } from "./model-selection-
|
|
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-DOrZjOnW.js";
|
|
12
|
+
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFromString, a as findNormalizedProviderValue, b as resolveThinkingDefault, c as modelKey, h as resolveDefaultModelForAgent, l as normalizeModelRef$1, m as resolveConfiguredModelRef, n as buildConfiguredAllowlistKeys, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId, w as DEFAULT_PROVIDER, x as getProviderAdapter, y as resolveSubagentSpawnModelSelection } from "./model-selection-7wdmO-Iw.js";
|
|
13
13
|
import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
|
|
14
14
|
import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CNp4GTiH.js";
|
|
15
15
|
import { t as resolveSymiAgentDir } from "./agent-paths-BbZSGrUA.js";
|
|
16
|
-
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-
|
|
17
|
-
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-
|
|
16
|
+
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-D-OFjhdI.js";
|
|
17
|
+
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-B4jkreCN.js";
|
|
18
18
|
import { t as parseBooleanValue } from "./boolean-CbZoNRMn.js";
|
|
19
19
|
import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
|
|
20
20
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-Dc3iU7HK.js";
|
|
21
21
|
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-D1MLZEjS.js";
|
|
22
22
|
import { a as isPathInsideWithRealpath } from "./legacy-names-BQ9vKISY.js";
|
|
23
|
-
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-
|
|
24
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
25
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
23
|
+
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-BkznAPKO.js";
|
|
24
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DJChpTwP.js";
|
|
25
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-ChcbJgNo.js";
|
|
26
26
|
import { l as parseFrontmatterBlock } from "./frontmatter-B_jqcova.js";
|
|
27
|
-
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-
|
|
28
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
27
|
+
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-BwDmcZdt.js";
|
|
28
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-ivqbutvM.js";
|
|
29
29
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-bI7Tdx75.js";
|
|
30
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
30
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DObzwe08.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DOZRI5XH.js";
|
|
32
|
-
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-
|
|
33
|
-
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-
|
|
32
|
+
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-L70xVnpG.js";
|
|
33
|
+
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-Dxf5Kjig.js";
|
|
34
34
|
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-hF45sewN.js";
|
|
35
35
|
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-DgjXWzf-.js";
|
|
36
36
|
import { t as normalizeChatType } from "./chat-type-CUJqUqwu.js";
|
|
37
37
|
import { n as resolveConversationLabel } from "./conversation-label-CffvEjpp.js";
|
|
38
38
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
|
|
39
|
-
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-
|
|
39
|
+
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-B0jHSNMF.js";
|
|
40
40
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-BtvQ7JvU.js";
|
|
41
41
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-Dfn-vEsu.js";
|
|
42
42
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
|
|
43
43
|
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-COroyVA5.js";
|
|
44
44
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-0yh2UnJq.js";
|
|
45
|
-
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-
|
|
45
|
+
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-lTZLIQqf.js";
|
|
46
46
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-DbT9t0Sh.js";
|
|
47
47
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DnkpMfCl.js";
|
|
48
|
-
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-
|
|
49
|
-
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-
|
|
50
|
-
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-
|
|
48
|
+
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-1EAQvYRv.js";
|
|
49
|
+
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-B5Xxy-c-.js";
|
|
50
|
+
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-Db8XJVGL.js";
|
|
51
51
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-D3mgssM_.js";
|
|
52
|
-
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-
|
|
53
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
54
|
-
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
55
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
56
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
57
|
-
import { f as runTasksWithConcurrency } from "./internal-
|
|
52
|
+
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-Cs1jlD-q.js";
|
|
53
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-DPR4A2dx.js";
|
|
54
|
+
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DOl2l2AS.js";
|
|
56
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CL767Sv9.js";
|
|
57
|
+
import { f as runTasksWithConcurrency } from "./internal-DVCddhhN.js";
|
|
58
58
|
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-BxfKjCUx.js";
|
|
59
59
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
|
|
60
60
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BhdrdVp5.js";
|
|
61
61
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
|
|
62
|
-
import { n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
62
|
+
import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
|
|
63
63
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
|
|
64
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
65
|
-
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
66
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
64
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-Ca5hh7nh.js";
|
|
65
|
+
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-DH75FlQF.js";
|
|
66
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-AZ9vNhST.js";
|
|
67
67
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
|
|
68
68
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
69
69
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
|
|
70
|
-
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-
|
|
70
|
+
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
|
|
71
71
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-ClQLvlCW.js";
|
|
72
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
73
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
74
|
-
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
72
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-IWi6-nY9.js";
|
|
73
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-DDGGlq68.js";
|
|
74
|
+
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BNhJOnWn.js";
|
|
75
75
|
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-DioSaIeH.js";
|
|
76
|
-
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-
|
|
76
|
+
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-De9ma6e1.js";
|
|
77
77
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-N7nsmfM6.js";
|
|
78
78
|
import { t as formatDurationCompact$1 } from "./format-duration-CIjmjQST.js";
|
|
79
79
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-9ygk6nTV.js";
|
|
80
80
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DeczTGI-.js";
|
|
81
81
|
import { i as resolveWindow, n as formatSummaryReport, r as loadCostBenchmarkSummary, t as buildCostBreakdown } from "./breakdown-B_Dhhm3K.js";
|
|
82
82
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BLIhifCJ.js";
|
|
83
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
83
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-D8kKOts5.js";
|
|
84
84
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DQs772BN.js";
|
|
85
85
|
import { t as emitSymframePush } from "./symframe-broadcast-CXo2qoxy.js";
|
|
86
86
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-H1qOf0q-.js";
|
|
87
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
87
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C1IIA6kH.js";
|
|
88
88
|
import { t as parseTimeoutMs } from "./parse-timeout-DmEcHIsV.js";
|
|
89
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
90
|
-
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
91
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
92
|
-
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-
|
|
89
|
+
import { n as registerMemoryCli } from "./memory-cli-B9_Vfaow.js";
|
|
90
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CbXXjn9X.js";
|
|
91
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-H2t-Xkfc.js";
|
|
92
|
+
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-MUMSB_7d.js";
|
|
93
93
|
import { createRequire } from "node:module";
|
|
94
94
|
import process$1 from "node:process";
|
|
95
95
|
import { fileURLToPath } from "node:url";
|
|
@@ -98,7 +98,7 @@ import path from "node:path";
|
|
|
98
98
|
import fs, { constants, existsSync, statSync } from "node:fs";
|
|
99
99
|
import os, { homedir } from "node:os";
|
|
100
100
|
import JSON5 from "json5";
|
|
101
|
-
import
|
|
101
|
+
import fs$1 from "node:fs/promises";
|
|
102
102
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
103
103
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
104
104
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
@@ -1848,7 +1848,7 @@ async function imageResult(params) {
|
|
|
1848
1848
|
}, params.label, params.imageSanitization);
|
|
1849
1849
|
}
|
|
1850
1850
|
async function imageResultFromFile(params) {
|
|
1851
|
-
const buf = await
|
|
1851
|
+
const buf = await fs$1.readFile(params.path);
|
|
1852
1852
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
1853
1853
|
return await imageResult({
|
|
1854
1854
|
label: params.label,
|
|
@@ -4702,6 +4702,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
4702
4702
|
" - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
|
|
4703
4703
|
"Modes are sticky until you `setMode` again or the user overrides via the header chips. Default to `ambient`; pick `focus` only when you genuinely want a single card to dominate; pick `awaiting` only when waiting is the user's primary experience.",
|
|
4704
4704
|
"After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
|
|
4705
|
+
"Card references (Stage E): when you reference a card you pushed earlier in chat, use the literal syntax `[panel:<card-id>]` (e.g. \"see [panel:sf-abc123] for the draft\"). Glass UI rewrites this into a clickable span showing the card's title and auto-pulses the card to draw the user's eye. Use only the card id you got back from a previous `display_artifact add` call. Use sparingly — only when you genuinely want to direct the user to a specific previously-pushed card.",
|
|
4705
4706
|
"",
|
|
4706
4707
|
...compactMode ? [] : [
|
|
4707
4708
|
"## Tool Call Style",
|
|
@@ -5834,7 +5835,7 @@ async function routeReply(params) {
|
|
|
5834
5835
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
5835
5836
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
5836
5837
|
try {
|
|
5837
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
5838
|
+
const { deliverOutboundPayloads } = await import("./deliver-lTZLIQqf.js").then((n) => n.n);
|
|
5838
5839
|
return {
|
|
5839
5840
|
ok: true,
|
|
5840
5841
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -11675,7 +11676,7 @@ var MediaAttachmentCache = class {
|
|
|
11675
11676
|
const size = await this.ensureLocalStat(entry);
|
|
11676
11677
|
if (entry.resolvedPath) {
|
|
11677
11678
|
if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
|
|
11678
|
-
const buffer = await
|
|
11679
|
+
const buffer = await fs$1.readFile(entry.resolvedPath);
|
|
11679
11680
|
entry.buffer = buffer;
|
|
11680
11681
|
entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
|
|
11681
11682
|
buffer,
|
|
@@ -11745,10 +11746,10 @@ var MediaAttachmentCache = class {
|
|
|
11745
11746
|
prefix: "symi-media",
|
|
11746
11747
|
extension: path.extname(bufferResult.fileName || "") || ""
|
|
11747
11748
|
});
|
|
11748
|
-
await
|
|
11749
|
+
await fs$1.writeFile(tmpPath, bufferResult.buffer);
|
|
11749
11750
|
entry.tempPath = tmpPath;
|
|
11750
11751
|
entry.tempCleanup = async () => {
|
|
11751
|
-
await
|
|
11752
|
+
await fs$1.unlink(tmpPath).catch(() => {});
|
|
11752
11753
|
};
|
|
11753
11754
|
return {
|
|
11754
11755
|
path: tmpPath,
|
|
@@ -11795,12 +11796,12 @@ var MediaAttachmentCache = class {
|
|
|
11795
11796
|
if (entry.statSize !== void 0) return entry.statSize;
|
|
11796
11797
|
try {
|
|
11797
11798
|
const currentPath = entry.resolvedPath;
|
|
11798
|
-
const stat = await
|
|
11799
|
+
const stat = await fs$1.stat(currentPath);
|
|
11799
11800
|
if (!stat.isFile()) {
|
|
11800
11801
|
entry.resolvedPath = void 0;
|
|
11801
11802
|
return;
|
|
11802
11803
|
}
|
|
11803
|
-
const canonicalPath = await
|
|
11804
|
+
const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
|
|
11804
11805
|
if (!isInboundPathAllowed({
|
|
11805
11806
|
filePath: canonicalPath,
|
|
11806
11807
|
roots: await this.getCanonicalLocalPathRoots()
|
|
@@ -11822,7 +11823,7 @@ var MediaAttachmentCache = class {
|
|
|
11822
11823
|
if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
|
|
11823
11824
|
this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
|
|
11824
11825
|
if (root.includes("*")) return root;
|
|
11825
|
-
return await
|
|
11826
|
+
return await fs$1.realpath(root).catch(() => root);
|
|
11826
11827
|
}))))();
|
|
11827
11828
|
return await this.canonicalLocalPathRoots;
|
|
11828
11829
|
}
|
|
@@ -11893,7 +11894,7 @@ function formatAudioTranscripts(outputs) {
|
|
|
11893
11894
|
async function fileExists(filePath) {
|
|
11894
11895
|
if (!filePath) return false;
|
|
11895
11896
|
try {
|
|
11896
|
-
await
|
|
11897
|
+
await fs$1.stat(filePath);
|
|
11897
11898
|
return true;
|
|
11898
11899
|
} catch {
|
|
11899
11900
|
return false;
|
|
@@ -11993,7 +11994,7 @@ async function resolveCliOutput(params) {
|
|
|
11993
11994
|
const commandId = commandBase(params.command);
|
|
11994
11995
|
const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
|
|
11995
11996
|
if (fileOutput && await fileExists(fileOutput)) try {
|
|
11996
|
-
const content = await
|
|
11997
|
+
const content = await fs$1.readFile(fileOutput, "utf8");
|
|
11997
11998
|
if (content.trim()) return content.trim();
|
|
11998
11999
|
} catch {}
|
|
11999
12000
|
if (commandId === "gemini") {
|
|
@@ -12284,7 +12285,7 @@ async function runCliEntry(params) {
|
|
|
12284
12285
|
maxBytes,
|
|
12285
12286
|
timeoutMs
|
|
12286
12287
|
});
|
|
12287
|
-
const outputDir = await
|
|
12288
|
+
const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
|
|
12288
12289
|
const mediaPath = pathResult.path;
|
|
12289
12290
|
const outputBase = path.join(outputDir, path.parse(mediaPath).name);
|
|
12290
12291
|
const templCtx = {
|
|
@@ -12318,7 +12319,7 @@ async function runCliEntry(params) {
|
|
|
12318
12319
|
model: command
|
|
12319
12320
|
};
|
|
12320
12321
|
} finally {
|
|
12321
|
-
await
|
|
12322
|
+
await fs$1.rm(outputDir, {
|
|
12322
12323
|
recursive: true,
|
|
12323
12324
|
force: true
|
|
12324
12325
|
}).catch(() => {});
|
|
@@ -12362,9 +12363,9 @@ function candidateBinaryNames(name) {
|
|
|
12362
12363
|
}
|
|
12363
12364
|
async function isExecutable$1(filePath) {
|
|
12364
12365
|
try {
|
|
12365
|
-
if (!(await
|
|
12366
|
+
if (!(await fs$1.stat(filePath)).isFile()) return false;
|
|
12366
12367
|
if (process.platform === "win32") return true;
|
|
12367
|
-
await
|
|
12368
|
+
await fs$1.access(filePath, constants.X_OK);
|
|
12368
12369
|
return true;
|
|
12369
12370
|
} catch {
|
|
12370
12371
|
return false;
|
|
@@ -14076,7 +14077,7 @@ async function createModelSelectionState(params) {
|
|
|
14076
14077
|
}
|
|
14077
14078
|
}
|
|
14078
14079
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
14079
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
14080
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-Ce7R_25e.js").then((n) => n.t);
|
|
14080
14081
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
14081
14082
|
const providerKey = normalizeProviderId(provider);
|
|
14082
14083
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -17220,7 +17221,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
17220
17221
|
cwd: process.cwd(),
|
|
17221
17222
|
root: params.sandbox.workspaceDir
|
|
17222
17223
|
});
|
|
17223
|
-
if (!(await
|
|
17224
|
+
if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
17224
17225
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
17225
17226
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
17226
17227
|
return {
|
|
@@ -18234,13 +18235,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
18234
18235
|
cwd: params.workdir,
|
|
18235
18236
|
root: params.workdir
|
|
18236
18237
|
});
|
|
18237
|
-
stat = await
|
|
18238
|
+
stat = await fs$1.stat(absPath);
|
|
18238
18239
|
} catch {
|
|
18239
18240
|
return;
|
|
18240
18241
|
}
|
|
18241
18242
|
if (!stat.isFile()) return;
|
|
18242
18243
|
if (stat.size > 512 * 1024) return;
|
|
18243
|
-
const content = await
|
|
18244
|
+
const content = await fs$1.readFile(absPath, "utf-8");
|
|
18244
18245
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
18245
18246
|
if (first) {
|
|
18246
18247
|
const idx = first.index;
|
|
@@ -22975,7 +22976,7 @@ async function handleCommands(params) {
|
|
|
22975
22976
|
try {
|
|
22976
22977
|
const messages = [];
|
|
22977
22978
|
if (sessionFile) {
|
|
22978
|
-
const content = await
|
|
22979
|
+
const content = await fs$1.readFile(sessionFile, "utf-8");
|
|
22979
22980
|
for (const line of content.split("\n")) {
|
|
22980
22981
|
if (!line.trim()) continue;
|
|
22981
22982
|
try {
|
|
@@ -25162,7 +25163,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25162
25163
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
25163
25164
|
throw new Error("jsonlPath outside allowed roots");
|
|
25164
25165
|
}
|
|
25165
|
-
const canonical = await
|
|
25166
|
+
const canonical = await fs$1.realpath(resolved).catch(() => resolved);
|
|
25166
25167
|
if (!isInboundPathAllowed({
|
|
25167
25168
|
filePath: canonical,
|
|
25168
25169
|
roots
|
|
@@ -25170,7 +25171,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25170
25171
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
25171
25172
|
throw new Error("jsonlPath outside allowed roots");
|
|
25172
25173
|
}
|
|
25173
|
-
return await
|
|
25174
|
+
return await fs$1.readFile(canonical, "utf8");
|
|
25174
25175
|
}
|
|
25175
25176
|
const CanvasToolSchema = Type.Object({
|
|
25176
25177
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -26873,7 +26874,7 @@ async function hydrateAttachmentPayload(params) {
|
|
|
26873
26874
|
accountId: params.accountId
|
|
26874
26875
|
}),
|
|
26875
26876
|
sandboxValidated: true,
|
|
26876
|
-
readFile: (filePath) =>
|
|
26877
|
+
readFile: (filePath) => fs$1.readFile(filePath)
|
|
26877
26878
|
});
|
|
26878
26879
|
params.args.buffer = media.buffer.toString("base64");
|
|
26879
26880
|
if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
|
|
@@ -33487,7 +33488,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
33487
33488
|
return;
|
|
33488
33489
|
}
|
|
33489
33490
|
try {
|
|
33490
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
33491
|
+
const { deliverOutboundPayloads } = await import("./deliver-lTZLIQqf.js").then((n) => n.n);
|
|
33491
33492
|
await deliverOutboundPayloads({
|
|
33492
33493
|
cfg: params.cfg,
|
|
33493
33494
|
channel,
|
|
@@ -33892,7 +33893,7 @@ async function stageSandboxMedia(params) {
|
|
|
33892
33893
|
};
|
|
33893
33894
|
try {
|
|
33894
33895
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
33895
|
-
await
|
|
33896
|
+
await fs$1.mkdir(destDir, { recursive: true });
|
|
33896
33897
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
33897
33898
|
cfg,
|
|
33898
33899
|
accountId: ctx.AccountId
|
|
@@ -33942,7 +33943,7 @@ async function stageSandboxMedia(params) {
|
|
|
33942
33943
|
usedNames.add(fileName);
|
|
33943
33944
|
const dest = path.join(destDir, fileName);
|
|
33944
33945
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
33945
|
-
else await
|
|
33946
|
+
else await fs$1.copyFile(source, dest);
|
|
33946
33947
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
33947
33948
|
staged.set(source, stagedPath);
|
|
33948
33949
|
}
|
|
@@ -39273,7 +39274,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
39273
39274
|
}
|
|
39274
39275
|
let commandsRegistry;
|
|
39275
39276
|
async function getCommandsRegistry() {
|
|
39276
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
39277
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Ca5hh7nh.js").then((n) => n.t);
|
|
39277
39278
|
return commandsRegistry;
|
|
39278
39279
|
}
|
|
39279
39280
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -39615,11 +39616,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39615
39616
|
const channelName = channelInfo?.name;
|
|
39616
39617
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
39617
39618
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
39618
|
-
import("./resolve-route-
|
|
39619
|
+
import("./resolve-route-C1IIA6kH.js").then((n) => n.r),
|
|
39619
39620
|
import("./inbound-context-B7Rvs8pK.js").then((n) => n.n),
|
|
39620
39621
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
39621
39622
|
]);
|
|
39622
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CffvEjpp.js").then((n) => n.t), import("./reply-prefix-
|
|
39623
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CffvEjpp.js").then((n) => n.t), import("./reply-prefix-BFNeXT65.js").then((n) => n.n)]);
|
|
39623
39624
|
const route = resolveAgentRoute({
|
|
39624
39625
|
cfg,
|
|
39625
39626
|
channel: "slack",
|
|
@@ -39676,7 +39677,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39676
39677
|
});
|
|
39677
39678
|
const deliverSlashPayloads = async (replies) => {
|
|
39678
39679
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
39679
|
-
import("./replies-
|
|
39680
|
+
import("./replies-CbXXjn9X.js").then((n) => n.r),
|
|
39680
39681
|
import("./chunk-BxfKjCUx.js").then((n) => n.s),
|
|
39681
39682
|
import("./markdown-tables-CS1Tvb3z.js").then((n) => n.t)
|
|
39682
39683
|
]);
|
|
@@ -39731,7 +39732,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39731
39732
|
let nativeCommands = [];
|
|
39732
39733
|
if (nativeEnabled) {
|
|
39733
39734
|
reg = await getCommandsRegistry();
|
|
39734
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
39735
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DDGGlq68.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
39735
39736
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
39736
39737
|
skillCommands,
|
|
39737
39738
|
provider: "slack"
|
|
@@ -40864,7 +40865,7 @@ function resolvePluginTools(params) {
|
|
|
40864
40865
|
//#endregion
|
|
40865
40866
|
//#region src/agents/apply-patch-update.ts
|
|
40866
40867
|
async function defaultReadFile(filePath) {
|
|
40867
|
-
return
|
|
40868
|
+
return fs$1.readFile(filePath, "utf8");
|
|
40868
40869
|
}
|
|
40869
40870
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
40870
40871
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -41108,10 +41109,10 @@ function resolvePatchFileOps(options) {
|
|
|
41108
41109
|
};
|
|
41109
41110
|
}
|
|
41110
41111
|
return {
|
|
41111
|
-
readFile: (filePath) =>
|
|
41112
|
-
writeFile: (filePath, content) =>
|
|
41113
|
-
remove: (filePath) =>
|
|
41114
|
-
mkdirp: (dir) =>
|
|
41112
|
+
readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
|
|
41113
|
+
writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
|
|
41114
|
+
remove: (filePath) => fs$1.rm(filePath),
|
|
41115
|
+
mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
|
|
41115
41116
|
};
|
|
41116
41117
|
}
|
|
41117
41118
|
async function ensureDir(filePath, ops) {
|
|
@@ -42316,7 +42317,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
42316
42317
|
};
|
|
42317
42318
|
let content;
|
|
42318
42319
|
try {
|
|
42319
|
-
content = await
|
|
42320
|
+
content = await fs$1.readFile(sessionFile, "utf-8");
|
|
42320
42321
|
} catch (err) {
|
|
42321
42322
|
if (err?.code === "ENOENT") return {
|
|
42322
42323
|
repaired: false,
|
|
@@ -42364,15 +42365,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
42364
42365
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
42365
42366
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
42366
42367
|
try {
|
|
42367
|
-
const stat = await
|
|
42368
|
-
await
|
|
42369
|
-
if (stat) await
|
|
42370
|
-
await
|
|
42371
|
-
if (stat) await
|
|
42372
|
-
await
|
|
42368
|
+
const stat = await fs$1.stat(sessionFile).catch(() => null);
|
|
42369
|
+
await fs$1.writeFile(backupPath, content, "utf-8");
|
|
42370
|
+
if (stat) await fs$1.chmod(backupPath, stat.mode);
|
|
42371
|
+
await fs$1.writeFile(tmpPath, cleaned, "utf-8");
|
|
42372
|
+
if (stat) await fs$1.chmod(tmpPath, stat.mode);
|
|
42373
|
+
await fs$1.rename(tmpPath, sessionFile);
|
|
42373
42374
|
} catch (err) {
|
|
42374
42375
|
try {
|
|
42375
|
-
await
|
|
42376
|
+
await fs$1.unlink(tmpPath);
|
|
42376
42377
|
} catch (cleanupErr) {
|
|
42377
42378
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
42378
42379
|
}
|
|
@@ -43645,7 +43646,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
43645
43646
|
if (!isSessionManagerCacheEnabled()) return;
|
|
43646
43647
|
if (isSessionManagerCached(sessionFile)) return;
|
|
43647
43648
|
try {
|
|
43648
|
-
const handle = await
|
|
43649
|
+
const handle = await fs$1.open(sessionFile, "r");
|
|
43649
43650
|
try {
|
|
43650
43651
|
const buffer = Buffer$1.alloc(4096);
|
|
43651
43652
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -43785,7 +43786,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43785
43786
|
} catch (err) {
|
|
43786
43787
|
return fail(describeUnknownError(err));
|
|
43787
43788
|
}
|
|
43788
|
-
await
|
|
43789
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
43789
43790
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
43790
43791
|
const sandbox = await resolveSandboxContext({
|
|
43791
43792
|
config: params.config,
|
|
@@ -43793,7 +43794,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43793
43794
|
workspaceDir: resolvedWorkspace
|
|
43794
43795
|
});
|
|
43795
43796
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
43796
|
-
await
|
|
43797
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
43797
43798
|
await ensureSessionHeader({
|
|
43798
43799
|
sessionFile: params.sessionFile,
|
|
43799
43800
|
sessionId: params.sessionId,
|
|
@@ -44118,12 +44119,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
44118
44119
|
const existing = writers.get(filePath);
|
|
44119
44120
|
if (existing) return existing;
|
|
44120
44121
|
const dir = path.dirname(filePath);
|
|
44121
|
-
const ready =
|
|
44122
|
+
const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
44122
44123
|
let queue = Promise.resolve();
|
|
44123
44124
|
const writer = {
|
|
44124
44125
|
filePath,
|
|
44125
44126
|
write: (line) => {
|
|
44126
|
-
queue = queue.then(() => ready).then(() =>
|
|
44127
|
+
queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
44127
44128
|
}
|
|
44128
44129
|
};
|
|
44129
44130
|
writers.set(filePath, writer);
|
|
@@ -47214,7 +47215,7 @@ Use the message tool with buttons:
|
|
|
47214
47215
|
*/
|
|
47215
47216
|
async function readSessionFile(sessionFile) {
|
|
47216
47217
|
try {
|
|
47217
|
-
return await
|
|
47218
|
+
return await fs$1.readFile(sessionFile, "utf-8");
|
|
47218
47219
|
} catch {
|
|
47219
47220
|
return null;
|
|
47220
47221
|
}
|
|
@@ -47223,8 +47224,8 @@ async function writeAtomically(sessionFile, text) {
|
|
|
47223
47224
|
const dir = path.dirname(sessionFile);
|
|
47224
47225
|
const base = path.basename(sessionFile);
|
|
47225
47226
|
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
47226
|
-
await
|
|
47227
|
-
await
|
|
47227
|
+
await fs$1.writeFile(tmp, text, "utf-8");
|
|
47228
|
+
await fs$1.rename(tmp, sessionFile);
|
|
47228
47229
|
}
|
|
47229
47230
|
/**
|
|
47230
47231
|
* Remove empty assistant JSONL entries from the session file.
|
|
@@ -47326,7 +47327,7 @@ function isInPoisonRange(version) {
|
|
|
47326
47327
|
*/
|
|
47327
47328
|
async function checkSessionPoison(sessionFile) {
|
|
47328
47329
|
try {
|
|
47329
|
-
const firstLine = (await
|
|
47330
|
+
const firstLine = (await fs$1.readFile(sessionFile, "utf-8")).split("\n")[0];
|
|
47330
47331
|
if (!firstLine) return null;
|
|
47331
47332
|
const header = JSON.parse(firstLine);
|
|
47332
47333
|
if (header.type !== "session") return null;
|
|
@@ -47344,7 +47345,7 @@ async function checkSessionPoison(sessionFile) {
|
|
|
47344
47345
|
*/
|
|
47345
47346
|
async function archivePoisonedSession(sessionFile) {
|
|
47346
47347
|
const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
|
|
47347
|
-
await
|
|
47348
|
+
await fs$1.rename(sessionFile, archiveName);
|
|
47348
47349
|
return archiveName;
|
|
47349
47350
|
}
|
|
47350
47351
|
/**
|
|
@@ -47353,14 +47354,14 @@ async function archivePoisonedSession(sessionFile) {
|
|
|
47353
47354
|
*/
|
|
47354
47355
|
async function stampSessionVersion(sessionFile) {
|
|
47355
47356
|
try {
|
|
47356
|
-
const lines = (await
|
|
47357
|
+
const lines = (await fs$1.readFile(sessionFile, "utf-8")).split("\n");
|
|
47357
47358
|
if (lines.length === 0) return;
|
|
47358
47359
|
const header = JSON.parse(lines[0]);
|
|
47359
47360
|
if (header.type !== "session") return;
|
|
47360
47361
|
if (header.symiVersion === VERSION) return;
|
|
47361
47362
|
header.symiVersion = VERSION;
|
|
47362
47363
|
lines[0] = JSON.stringify(header);
|
|
47363
|
-
await
|
|
47364
|
+
await fs$1.writeFile(sessionFile, lines.join("\n"), "utf-8");
|
|
47364
47365
|
} catch {}
|
|
47365
47366
|
}
|
|
47366
47367
|
/**
|
|
@@ -47589,7 +47590,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
47589
47590
|
return;
|
|
47590
47591
|
}
|
|
47591
47592
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
47592
|
-
await
|
|
47593
|
+
await fs$1.writeFile(params.sessionFile, "", "utf-8");
|
|
47593
47594
|
sm.fileEntries = [header];
|
|
47594
47595
|
sm.byId?.clear?.();
|
|
47595
47596
|
sm.labelsById?.clear?.();
|
|
@@ -48147,7 +48148,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48147
48148
|
const prevCwd = process.cwd();
|
|
48148
48149
|
const runAbortController = new AbortController();
|
|
48149
48150
|
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"}`);
|
|
48150
|
-
await
|
|
48151
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
48151
48152
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
48152
48153
|
const sandbox = await resolveSandboxContext({
|
|
48153
48154
|
config: params.config,
|
|
@@ -48155,7 +48156,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48155
48156
|
workspaceDir: resolvedWorkspace
|
|
48156
48157
|
});
|
|
48157
48158
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
48158
|
-
await
|
|
48159
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
48159
48160
|
let restoreSkillEnv;
|
|
48160
48161
|
process.chdir(effectiveWorkspace);
|
|
48161
48162
|
try {
|
|
@@ -48364,7 +48365,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48364
48365
|
sessionFile: params.sessionFile,
|
|
48365
48366
|
warn: (message) => log$7.warn(message)
|
|
48366
48367
|
});
|
|
48367
|
-
const hadSessionFile = await
|
|
48368
|
+
const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
48368
48369
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
48369
48370
|
modelApi: params.model?.api,
|
|
48370
48371
|
provider: params.provider,
|
|
@@ -49456,7 +49457,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
49456
49457
|
}
|
|
49457
49458
|
runLoopIterations += 1;
|
|
49458
49459
|
attemptedThinking.add(thinkLevel);
|
|
49459
|
-
await
|
|
49460
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
49460
49461
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
49461
49462
|
const attempt = await runEmbeddedAttempt({
|
|
49462
49463
|
sessionId: params.sessionId,
|