@symerian/symi 2.8.17 → 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acp-cli-Bav1bRj2.js → acp-cli-BNM6b6XY.js} +2 -2
- package/dist/{acp-cli-BTu3_kZ1.js → acp-cli-DXsJS3-G.js} +2 -2
- package/dist/{agents-9cAyC5ED.js → agents-FNeM-byc.js} +7 -7
- package/dist/{agents.config-DuwhYjpi.js → agents.config-CjML1ogJ.js} +1 -1
- package/dist/{agents.config-Cu9zTq04.js → agents.config-DUYDFbfP.js} +1 -1
- package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-CMutcMs5.js} +5 -5
- package/dist/{audio-preflight-C2EgDXSo.js → audio-preflight-CwbuWmdG.js} +11 -11
- package/dist/{audio-preflight-rjCWpcfE.js → audio-preflight-DlO0Hw-w.js} +5 -5
- package/dist/{audio-preflight-1dv3T5Zx.js → audio-preflight-SaT5IcVn.js} +11 -11
- package/dist/{audit-C9nq99IR.js → audit-Ojap-R-Y.js} +5 -5
- package/dist/{audit-CuKP86d_.js → audit-qWCLpveM.js} +5 -5
- package/dist/{auth-choice-DeNzlUAR.js → auth-choice-BjTiWmH-.js} +4 -4
- package/dist/{auth-choice-CPqyqc93.js → auth-choice-RQ5keocP.js} +4 -4
- package/dist/{banner-S1NGA6-s.js → banner-dYiFXA70.js} +1 -1
- package/dist/{browser-cli-ClgQ-C8E.js → browser-cli-BQ9jHIXP.js} +3 -3
- package/dist/{browser-cli-DuPPIcuV.js → browser-cli-BW0C5Y8-.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +14 -14
- package/dist/bundled/session-memory/handler.js +14 -14
- package/dist/{call-DYfKEdwh.js → call-BZbBLMOq.js} +1 -1
- package/dist/{call-M4YyUnwu.js → call-X_vwo309.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-C0v4BJgp.js → channel-options-CjZlTumK.js} +1 -1
- package/dist/{channel-options-C6y7Khvq.js → channel-options-DqXYA7rM.js} +1 -1
- package/dist/{channel-web-DirOFV_n.js → channel-web-BITaNjFT.js} +7 -7
- package/dist/{channels-cli-BhNHckMo.js → channels-cli-7cDtM5kW.js} +30 -30
- package/dist/{channels-cli-By_SbriI.js → channels-cli-C8CesA1x.js} +31 -31
- package/dist/{chrome-C08Z0XAa.js → chrome-B1zznUiv.js} +1 -1
- package/dist/{chrome-BJvuH-NZ.js → chrome-BFDOGeu3.js} +1 -1
- package/dist/{chrome-D2ohnA09.js → chrome-faqXQ9f1.js} +1 -1
- package/dist/{chrome-B14NNyfm.js → chrome-t-stBgN6.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-B1QQv1cb.js → cli-BJ9_X9eE.js} +27 -27
- package/dist/{cli-Bx4RQCuK.js → cli-ZC_92Xyn.js} +26 -26
- package/dist/{command-registry-uMOPbrbY.js → command-registry-B1ltIC7z.js} +11 -11
- package/dist/{completion-cli-DVD79pVj.js → completion-cli-KSs4eFcq.js} +1 -1
- package/dist/{completion-cli-B6s_3rEE.js → completion-cli-_P0e-rhC.js} +2 -2
- package/dist/{config-BkZ9HOKT.js → config-BXMAsmut.js} +2 -0
- package/dist/{config-PXAJCHa5.js → config-BYCtuYPj.js} +2 -0
- package/dist/{config-BAVNLbja.js → config-CbBZUq-Q.js} +2 -0
- package/dist/{config-DXt3pc08.js → config-DE6JXMtt.js} +2 -0
- package/dist/{config-cli-DzudcNAD.js → config-cli-DIrPShKH.js} +2 -2
- package/dist/{config-cli-DCGgd-ZL.js → config-cli-DjCKp4Pe.js} +2 -2
- package/dist/{config-guard-BvqCjFPk.js → config-guard-BrZXdLQw.js} +2 -2
- package/dist/{config-guard-CaP-V3tf.js → config-guard-DYmSI51f.js} +3 -3
- package/dist/{config-validation-B6Fa3VmF.js → config-validation-CNRgc5vc.js} +1 -1
- package/dist/{config-validation-EmHZVnuz.js → config-validation-fdYfdAc3.js} +1 -1
- package/dist/{configure-CItWwZwI.js → configure-CsZWO6Nr.js} +10 -10
- package/dist/{configure-BybpK_1N.js → configure-Ds8SzTEw.js} +10 -10
- package/dist/{control-service-Bujr5pk7.js → control-service-B5HVCnUI.js} +4 -4
- package/dist/{control-service-C0pRqIFv.js → control-service-DQX3HXS4.js} +4 -4
- package/dist/{cron-cli-C8-Gv5dd.js → cron-cli-CfSmL43G.js} +3 -3
- package/dist/{cron-cli-BEdmHCWZ.js → cron-cli-D2L3-4aw.js} +3 -3
- package/dist/{daemon-cli-BFoJGCHZ.js → daemon-cli-BHwfgmrQ.js} +6 -6
- package/dist/{daemon-cli-D6wyb9bo.js → daemon-cli-D9_xrFGD.js} +6 -6
- package/dist/daemon-cli.js +2 -0
- package/dist/{daemon-runtime-Cp7obV7Q.js → daemon-runtime-BiZG4Kqi.js} +1 -1
- package/dist/{daemon-runtime-D_elkkFW.js → daemon-runtime-DOqm0LLm.js} +1 -1
- package/dist/{deliver-D0bWiRCg.js → deliver--ff__Iq0.js} +2 -2
- package/dist/{deliver-Bdk_R0pQ.js → deliver-CeNdvQJ3.js} +3 -3
- package/dist/{deliver-D7BQXt0l.js → deliver-Cqk3zmyW.js} +3 -3
- package/dist/{deliver-qUx-eLKt.js → deliver-nBdNxMIr.js} +2 -2
- package/dist/{devices-cli-CHt4I-7e.js → devices-cli-BzyrjuAk.js} +2 -2
- package/dist/{devices-cli-BXc6DPkC.js → devices-cli-CEvTb9Vr.js} +2 -2
- package/dist/{directory-cli-DRWJsAT6.js → directory-cli-Ds7uESrp.js} +1 -1
- package/dist/{directory-cli-CQTzAhw1.js → directory-cli-KZHlp_jk.js} +1 -1
- package/dist/{dns-cli-BCKPibb8.js → dns-cli-SNU_PJfw.js} +1 -1
- package/dist/{dns-cli-BBVIay6Z.js → dns-cli-e8z7wTzi.js} +1 -1
- package/dist/{doctor-completion-Bf6dN4D-.js → doctor-completion-CfGWMYVG.js} +1 -1
- package/dist/{doctor-completion-BkwgaO4G.js → doctor-completion-D4bMStWc.js} +1 -1
- package/dist/{doctor-config-flow-BCMxS2lf.js → doctor-config-flow-CJ4__c8U.js} +2 -2
- package/dist/{doctor-config-flow-B2dVxbL7.js → doctor-config-flow-DHXFFSRu.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CKRDAo17.js → exec-approvals-cli-_AbKrXIH.js} +4 -4
- package/dist/{exec-approvals-cli-BBKVrFTj.js → exec-approvals-cli-z9Iy8aWD.js} +4 -4
- package/dist/extensionAPI.js +14 -14
- package/dist/{gateway-cli-7CVmb3cX.js → gateway-cli-B4ElmhPF.js} +116 -72
- package/dist/{gateway-cli-eNV6kb1V.js → gateway-cli-CfO9aUt0.js} +117 -73
- package/dist/{gateway-rpc-DZrB7Sl_.js → gateway-rpc-BlWORxUe.js} +1 -1
- package/dist/{gateway-rpc-BEfosIsg.js → gateway-rpc-D1S1i5HM.js} +1 -1
- package/dist/{glass-ui-ws-B4fsBuHx.js → glass-ui-ws-Bhu3COgn.js} +34 -34
- package/dist/{glass-ui-ws-i91Ms6ts.js → glass-ui-ws-D1UKJUFI.js} +35 -35
- package/dist/{health-dA8r4WJ4.js → health-CCslN1xh.js} +5 -5
- package/dist/{health-C4tWTDu_.js → health-CLRDrjsk.js} +5 -5
- package/dist/{hooks-cli-uGLWBIcW.js → hooks-cli-BrVLhsJ6.js} +27 -27
- package/dist/{hooks-cli-DYn9nXX0.js → hooks-cli-DvLYXNNe.js} +28 -28
- package/dist/{image-6RZuWKy5.js → image-B6aY1oY3.js} +2 -2
- package/dist/{image-C6rCON9L.js → image-CEdTQp1F.js} +2 -2
- package/dist/{image-CnEFsKgw.js → image-Cp6qRPZ2.js} +2 -2
- package/dist/{image-MNvheU8U.js → image-D5bsPk2_.js} +2 -2
- package/dist/index.js +35 -35
- package/dist/{lifecycle-core-v3lT0Ymo.js → lifecycle-core-BUGPz1GT.js} +2 -2
- package/dist/{lifecycle-core-Uucs6Wz6.js → lifecycle-core-CcPnnp9c.js} +2 -2
- package/dist/llm-slug-generator.js +14 -14
- package/dist/{login-EYdkb0dH.js → login-B7OJui4y.js} +2 -2
- package/dist/{login-D4rZWBXe.js → login-Cu0fTI3Z.js} +2 -2
- package/dist/{login-C7EdfiAr.js → login-DKeZ-sOf.js} +2 -2
- package/dist/{login-F4pbdnF5.js → login-DwBazcKM.js} +2 -2
- package/dist/{login-qr-Apnag5S6.js → login-qr-BBrzemk7.js} +2 -2
- package/dist/{login-qr-BElXRp6T.js → login-qr-CtELJan3.js} +2 -2
- package/dist/{login-qr-DdAVHOEC.js → login-qr-DyU6qD2X.js} +2 -2
- package/dist/{login-qr-DML5LgsI.js → login-qr-Ft17VIG6.js} +2 -2
- package/dist/{logs-cli-N5jQvJTm.js → logs-cli-CvgvoxvI.js} +3 -3
- package/dist/{logs-cli-CsHpYc2M.js → logs-cli-Dg6OSEA6.js} +3 -3
- package/dist/{manager-CgQo1mIM.js → manager-8N1YbbDk.js} +1 -1
- package/dist/{manager-D6E6EGWa.js → manager-CztTHQhN.js} +1 -1
- package/dist/{manager-BaSutzfz.js → manager-HASZR70T.js} +1 -1
- package/dist/{manager-DhGfNqfc.js → manager-OSWCBsL_.js} +1 -1
- package/dist/{memory-cli-BMb31chU.js → memory-cli-BDWdeqta.js} +4 -4
- package/dist/{memory-cli-lJe72a5i.js → memory-cli-BmWvHCEJ.js} +4 -4
- package/dist/{model-catalog-D7k3dDQq.js → model-catalog-BhW-vn5v.js} +2 -2
- package/dist/{model-catalog-BuYrTTBn.js → model-catalog-FckJ4pcL.js} +2 -2
- package/dist/{model-picker-BNWV-jU4.js → model-picker-D3ii5sBm.js} +2 -2
- package/dist/{model-picker-n7beL1F5.js → model-picker-DEUeht6L.js} +2 -2
- package/dist/{models-BITN17gY.js → models-5C-QKF0q.js} +8 -8
- package/dist/{models-cli-C6JJWWoI.js → models-cli-B2IebIhR.js} +29 -29
- package/dist/{models-cli-CHjxevMe.js → models-cli-BqW-Y1GI.js} +30 -30
- package/dist/{models-config-J1x_DaPn.js → models-config-CHVfeRDR.js} +1 -1
- package/dist/{models-config-B91ShhoT.js → models-config-DGDMieos.js} +1 -1
- package/dist/{node-cli-BD4E-Y8a.js → node-cli-emEb0aRo.js} +9 -9
- package/dist/{node-cli-CwnTjFkG.js → node-cli-hAxte5bw.js} +9 -9
- package/dist/{nodes-cli-Dv0NXhCO.js → nodes-cli-DQPQqEYN.js} +3 -3
- package/dist/{nodes-cli-DUD8_q_Q.js → nodes-cli-yd9KABqj.js} +3 -3
- package/dist/{onboard-C8Si08MS.js → onboard-BL7Ei8OA.js} +7 -7
- package/dist/{onboard-channels-Cb-bemSg.js → onboard-channels-B-PEQmiI.js} +1 -1
- package/dist/{onboard-channels-PQP9wlk8.js → onboard-channels-Do0lkLVV.js} +1 -1
- package/dist/{onboard-custom-Dk9cL3Uu.js → onboard-custom-BVMtQfB1.js} +2 -2
- package/dist/{onboard-custom-CJGSIPt3.js → onboard-custom-CVA34zSg.js} +2 -2
- package/dist/{onboard-helpers-DWDNKmkJ.js → onboard-helpers-CNFdWQIV.js} +2 -2
- package/dist/{onboard-helpers-CBxazphs.js → onboard-helpers-O6bxf40E.js} +2 -2
- package/dist/{onboard-DdJV-Doq.js → onboard-o5O2Ipvr.js} +7 -7
- package/dist/{onboard-remote-cZrkePlK.js → onboard-remote-QMqQxvh7.js} +1 -1
- package/dist/{onboard-remote-DoIKLWXA.js → onboard-remote-uYveiXQe.js} +1 -1
- package/dist/{onboard-skills-BjGYTueQ.js → onboard-skills-CLb94Ag2.js} +1 -1
- package/dist/{onboard-skills-zauvnEui.js → onboard-skills-Du3aWSN3.js} +1 -1
- package/dist/{onboarding-QAtuyHtA.js → onboarding-3DwQLO4z.js} +10 -10
- package/dist/{onboarding-CAaoPaVQ.js → onboarding-B_F_DbjQ.js} +10 -10
- package/dist/{onboarding.finalize-MuO2mvHv.js → onboarding.finalize-BWejCrVi.js} +32 -32
- package/dist/{onboarding.finalize-BhlQmJlX.js → onboarding.finalize-D_G6Tcqi.js} +34 -34
- package/dist/{onboarding.gateway-config-Dg12RcXA.js → onboarding.gateway-config-D8K7HsWb.js} +4 -4
- package/dist/{onboarding.gateway-config-uIRsaxMy.js → onboarding.gateway-config-Dixr8mmH.js} +4 -4
- package/dist/{outbound-mG1crIsY.js → outbound-CLCy4Nsg.js} +1 -1
- package/dist/{outbound-Zmd7UyQH.js → outbound-DVVulk0E.js} +1 -1
- package/dist/{outbound-B5OgOn1h.js → outbound-DlWjA7jN.js} +1 -1
- package/dist/{outbound-CW8eNbCh.js → outbound-b9pVFyW7.js} +1 -1
- package/dist/{pairing-cli-7X1qlhzF.js → pairing-cli-CchjvjCR.js} +1 -1
- package/dist/{pairing-cli-Cl4t3cDV.js → pairing-cli-Cgj6qx8Z.js} +1 -1
- package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-BPP4adeW.js} +5 -5
- package/dist/{pi-embedded-helpers-YD1JQ5xV.js → pi-embedded-helpers-BgpogTwt.js} +1 -1
- package/dist/{pi-embedded-helpers-DHAJW99p.js → pi-embedded-helpers-DK2WpZI8.js} +1 -1
- package/dist/{pi-embedded-helpers-P13adotN.js → pi-embedded-helpers-DrAT2ieP.js} +5 -5
- package/dist/{pi-embedded-BUYKq7Wv.js → pi-embedded-q_tNOp_h.js} +355 -120
- package/dist/{pi-tools.policy-Bx5zp45n.js → pi-tools.policy-BE7fB_Cf.js} +2 -2
- package/dist/{pi-tools.policy-o0ytjRqu.js → pi-tools.policy-GxaAKOgf.js} +2 -2
- package/dist/{plugin-registry-DEhkDNDx.js → plugin-registry-B_KRAoou.js} +2 -2
- package/dist/{plugin-registry-tXiHw0vr.js → plugin-registry-CRIH5Sdf.js} +2 -2
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +7 -0
- package/dist/plugin-sdk/agents/pi-tools.read-edit-guard.d.ts +5 -0
- package/dist/plugin-sdk/agents/pi-tools.read-edit-tracker.d.ts +26 -0
- package/dist/plugin-sdk/agents/pi-tools.read.d.ts +11 -0
- package/dist/plugin-sdk/agents/system-prompt-skills-autoload.d.ts +21 -0
- package/dist/plugin-sdk/{audio-preflight-DucGa8w7.js → audio-preflight-CwMsvdv8.js} +5 -5
- package/dist/plugin-sdk/{channel-web-C7aP_KKZ.js → channel-web-CiewzSOW.js} +7 -7
- package/dist/plugin-sdk/{chrome-D9kN9org.js → chrome-Cou8jVJ2.js} +1 -1
- package/dist/plugin-sdk/config/model-profiles-builtin.d.ts +16 -0
- package/dist/plugin-sdk/config/resolve-model-profile.d.ts +9 -1
- package/dist/plugin-sdk/config/types.skills.d.ts +8 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +4 -0
- package/dist/plugin-sdk/{config-BzupW6LN.js → config-DQntj58u.js} +2 -0
- package/dist/plugin-sdk/{deliver-CKgFosI5.js → deliver-OVx3XKTy.js} +2 -2
- package/dist/plugin-sdk/{image-DFyINnvE.js → image-ChrcMCo_.js} +2 -2
- package/dist/plugin-sdk/index.js +18 -18
- package/dist/plugin-sdk/{login-K1YB_7-t.js → login-WuhOM4Dg.js} +2 -2
- package/dist/plugin-sdk/{login-qr-lMl_OqDj.js → login-qr-C87Q7LuN.js} +2 -2
- package/dist/plugin-sdk/{manager-CvrDwB1Q.js → manager-Yvm-LGVR.js} +1 -1
- package/dist/plugin-sdk/{outbound-DW3cqlQW.js → outbound-T0XdUo-H.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BL7ZRhGv.js → pi-embedded-helpers-DihvU43r.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-B3T0mTHr.js → pw-ai-DUQ9kG2D.js} +2 -2
- package/dist/plugin-sdk/{replies-BR2TPTVW.js → replies-DD0EJRXx.js} +1 -1
- package/dist/plugin-sdk/{reply-BI7Rf3_S.js → reply-I6ZFg_UE.js} +355 -120
- package/dist/plugin-sdk/{runner-BhifC1J_.js → runner-IyZnVyIT.js} +2 -2
- package/dist/plugin-sdk/{send-ZhAe1nXO.js → send-Cxr9NnOd.js} +1 -1
- package/dist/plugin-sdk/{send-BP5pSPaZ.js → send-Dd71o3sZ.js} +1 -1
- package/dist/plugin-sdk/{send-DLO_yV5_.js → send-Do_qdBr_.js} +1 -1
- package/dist/plugin-sdk/{send-CGhw9mO3.js → send-DxXXcQ_o.js} +1 -1
- package/dist/plugin-sdk/{send-jsofmTfJ.js → send-SRQweHTE.js} +1 -1
- package/dist/plugin-sdk/{session-BfyK_04G.js → session-LEZ8u8RX.js} +1 -1
- package/dist/plugin-sdk/{synthesis-B3z0Jqt1.js → synthesis-bQ4DMwsj.js} +14 -14
- package/dist/plugin-sdk/{web-D2WrY-DI.js → web-C3YuHiih.js} +18 -18
- package/dist/plugin-sdk/{whatsapp-actions-eTefsWhW.js → whatsapp-actions-ClWxTG5S.js} +2 -2
- package/dist/{plugins-cli-D1vPxTOQ.js → plugins-cli-Co9cRpLe.js} +27 -27
- package/dist/{plugins-cli-ByG6o7D2.js → plugins-cli-MDYiXsRL.js} +28 -28
- package/dist/{program-Q44fKoq6.js → program-BWqVPm5t.js} +34 -34
- package/dist/{program-context-C3QEc34t.js → program-context-m9C36Cuq.js} +38 -38
- package/dist/{prompt-select-styled-DBVeLysq.js → prompt-select-styled-BKJVEVPk.js} +15 -15
- package/dist/{prompt-select-styled-BSZrZcW2.js → prompt-select-styled-DzjQVaDM.js} +15 -15
- package/dist/{provider-auth-helpers-Bm4cf-Ms.js → provider-auth-helpers-DYJ-0sNe.js} +2 -2
- package/dist/{provider-auth-helpers-rH91VXG-.js → provider-auth-helpers-DaTqy1aA.js} +2 -2
- package/dist/{push-apns-CRD9IH1s.js → push-apns-DdQlLTpV.js} +1 -1
- package/dist/{push-apns-Cj10sUbK.js → push-apns-_aeFBwsP.js} +1 -1
- package/dist/{pw-ai-CeWN4iD9.js → pw-ai-Bpp0J0PM.js} +2 -2
- package/dist/{pw-ai-DYZonrPL.js → pw-ai-D9ZuX3U6.js} +2 -2
- package/dist/{pw-ai-D9fCYPe7.js → pw-ai-DSmC8YuO.js} +2 -2
- package/dist/{pw-ai-40Jf9QIb.js → pw-ai-XSTIQILG.js} +2 -2
- package/dist/{qr-cli-CCWM_3Nb.js → qr-cli-Dq9G8FPl.js} +1 -1
- package/dist/{qr-cli-6eVyM6ek.js → qr-cli-DtHLOD1G.js} +1 -1
- package/dist/{register.agent-Dfu85lRL.js → register.agent-Hi0PN67T.js} +35 -35
- package/dist/{register.agent-DGDnsvVd.js → register.agent-RNTVF_Nk.js} +33 -33
- package/dist/{register.configure-BcdyiQui.js → register.configure-DE2Fg1dO.js} +38 -38
- package/dist/{register.configure-FCTbPCwe.js → register.configure-Dp-F_KKy.js} +37 -37
- package/dist/{register.maintenance-Y8P9AnLe.js → register.maintenance-Bbd-g7nL.js} +37 -37
- package/dist/{register.maintenance-DvDwpW6B.js → register.maintenance-QHRRhtsg.js} +35 -35
- package/dist/{register.message-mTqwOntI.js → register.message-B5uWOXev.js} +27 -27
- package/dist/{register.message-C57ubt4f.js → register.message-BvutRi1a.js} +28 -28
- package/dist/{register.onboard-MIChlygg.js → register.onboard-CNOh527M.js} +34 -34
- package/dist/{register.onboard-YCmMzAW-.js → register.onboard-DRHuoRTm.js} +33 -33
- package/dist/{register.setup-DzUZ2x6y.js → register.setup-Cj0oOZqL.js} +33 -33
- package/dist/{register.setup-sQeN5xag.js → register.setup-D1ePW7dl.js} +34 -34
- package/dist/{register.status-health-sessions-DsptpS7K.js → register.status-health-sessions-DfyO7JaH.js} +30 -30
- package/dist/{register.status-health-sessions-DaPK2tow.js → register.status-health-sessions-sf1XzcPo.js} +32 -32
- package/dist/{register.subclis-17z5d7uO.js → register.subclis-Do_HdpUT.js} +28 -28
- package/dist/{replies-D0NFBbd-.js → replies-BV7oFP7Z.js} +1 -1
- package/dist/{replies-Sxbew659.js → replies-BxvfG7Oj.js} +1 -1
- package/dist/{replies-CZH45dMt.js → replies-CPhYC11m.js} +1 -1
- package/dist/{replies-CUWXgyx2.js → replies-IkylJ7lX.js} +1 -1
- package/dist/{reply-2awhibgG.js → reply-DEub7xci.js} +364 -129
- package/dist/{routes-wmFRpLa9.js → routes-Evl8vnTV.js} +3 -3
- package/dist/{routes-c86p9MPH.js → routes-n7RUgOOW.js} +3 -3
- package/dist/{rpc-BKlQ97aZ.js → rpc-3T_LjHn1.js} +1 -1
- package/dist/{rpc-DC4ol5Xa.js → rpc-DeJsMHDF.js} +1 -1
- package/dist/{run-main-CfVO6DFS.js → run-main-B_ZLo4JR.js} +45 -45
- package/dist/{runner-BBYms6g4.js → runner-BX-ap4VU.js} +3 -3
- package/dist/{runner-DFuAePEr.js → runner-B_6xBcPB.js} +2 -2
- package/dist/{runner-D633VT13.js → runner-CMvsDzah.js} +2 -2
- package/dist/{runner-Cbz8g76d.js → runner-CiThXXY3.js} +3 -3
- package/dist/{sandbox-CCHQuSja.js → sandbox-BQ5LAIBQ.js} +5 -5
- package/dist/{sandbox-WWVXeHlA.js → sandbox-T9SO3y3b.js} +5 -5
- package/dist/{sandbox-cli-BtGgnGrs.js → sandbox-cli-Bi8lblc6.js} +6 -6
- package/dist/{sandbox-cli-momxce7H.js → sandbox-cli-MZJX1Ht6.js} +6 -6
- package/dist/{security-cli-BfiJ3e0Y.js → security-cli-AZBZs6ww.js} +9 -9
- package/dist/{security-cli-CIB7kqEk.js → security-cli-txjMZzBx.js} +9 -9
- package/dist/{send-DvbOiJ-I.js → send-BPBFuPrC.js} +1 -1
- package/dist/{send-SF7x1UHb.js → send-BUBES34Y.js} +1 -1
- package/dist/{send-DpMnSIi5.js → send-BaSqjfd_.js} +1 -1
- package/dist/{send-Dz656vcm.js → send-Bi8XhwOZ.js} +1 -1
- package/dist/{send-Bb4it0te.js → send-BtbWvw2k.js} +1 -1
- package/dist/{send-DFtnbzqy.js → send-C4IU_tV3.js} +1 -1
- package/dist/{send-Iocbaltq.js → send-C6-rN_Li.js} +1 -1
- package/dist/{send-5GrSqB6v.js → send-CSkNKYIc.js} +1 -1
- package/dist/{send-BaFD3lZ7.js → send-CcD9S5so.js} +1 -1
- package/dist/{send-DLVrnezL.js → send-CfejAK2u.js} +1 -1
- package/dist/{send-CJJuN-Fg.js → send-CoSPwGiI.js} +1 -1
- package/dist/{send-9sVK0zP4.js → send-CupfdYEg.js} +1 -1
- package/dist/{send-BKo1T3HF.js → send-CyPj_MLV.js} +1 -1
- package/dist/{send-COVVt64P.js → send-DNqcjLyg.js} +1 -1
- package/dist/{send-C0QjmPaf.js → send-DlYO3ExM.js} +1 -1
- package/dist/{send-Cpk3Ti6-.js → send-Dn1Pirhx.js} +1 -1
- package/dist/{send-B5kAnKqP.js → send-_CmB6CKB.js} +1 -1
- package/dist/{send-DGbBPbV0.js → send-dohExhb8.js} +1 -1
- package/dist/{send-BqOhAhRS.js → send-llekTUks.js} +1 -1
- package/dist/{send-BaBv1rAU.js → send-vmIzYMwN.js} +1 -1
- package/dist/{server-context-C66bI8ZM.js → server-context-BkYSrDni.js} +5 -5
- package/dist/{server-context-DefCxQsB.js → server-context-CGMSzPWd.js} +5 -5
- package/dist/{server-methods-D_g3GJhv.js → server-methods-C-itThFa.js} +17 -17
- package/dist/{server-methods-Bdgs89ve.js → server-methods-P-ayY-6k.js} +16 -16
- package/dist/{server-node-events-Cvgmf8fS.js → server-node-events-D5ee96aZ.js} +27 -27
- package/dist/{server-node-events-BZN3RZ8H.js → server-node-events-tvNFkev2.js} +28 -28
- package/dist/{session-mFiujXaP.js → session-CMploMg7.js} +1 -1
- package/dist/{session-BTeY6Gn2.js → session-CifmyF9K.js} +1 -1
- package/dist/{session-BtL_LuWh.js → session-DQimwuIx.js} +1 -1
- package/dist/{session-BpaF8fzk.js → session-bvybh7vL.js} +1 -1
- package/dist/{session-utils-DaBIs243.js → session-utils-DQ-t0PxQ.js} +3 -3
- package/dist/{sessions-B2KSRtKQ.js → sessions-BIsirZy0.js} +3 -3
- package/dist/{sessions-BeYHj0gr.js → sessions-BKn2DFYs.js} +1 -1
- package/dist/{sessions-BPD85pWA.js → sessions-DCr5nAOw.js} +1 -1
- package/dist/{shared-PtB96PLH.js → shared-F4GNd-mC.js} +1 -1
- package/dist/{shared-C9vLT1Vj.js → shared-iaXjUnvo.js} +1 -1
- package/dist/{skills-cli-dTks7st0.js → skills-cli-BX1J5GLJ.js} +1 -1
- package/dist/{skills-cli-DiND94Um.js → skills-cli-CZgrqMPo.js} +1 -1
- package/dist/{status-CwqBkxi2.js → status-BlTLrS6h.js} +2 -2
- package/dist/{status-Dkr4Celv.js → status-BqjF9Q9S.js} +9 -9
- package/dist/{status-Ca_VZkZV.js → status-CfIkReeE.js} +10 -10
- package/dist/{status-DcxWlds6.js → status-DjvBeoYl.js} +2 -2
- package/dist/{status.update-B5zI1_Id.js → status.update-BZnfRS2e.js} +1 -1
- package/dist/{status.update-8HXdAdwz.js → status.update-C5evp93A.js} +1 -1
- package/dist/{subagent-registry-CncIZPCd.js → subagent-registry-DVYhalAo.js} +365 -130
- package/dist/{synthesis-DOmJ2Gay.js → synthesis-DDQ5zAtf.js} +14 -14
- package/dist/{synthesis-CxvpkXBW.js → synthesis-DRXsTePq.js} +26 -26
- package/dist/{synthesis-lD0Vb_9q.js → synthesis-DgiYnjmZ.js} +14 -14
- package/dist/{synthesis-CTC73eY9.js → synthesis-y-Ozm8YK.js} +27 -27
- package/dist/{system-cli-BERSpUjO.js → system-cli-IeefTiI1.js} +3 -3
- package/dist/{system-cli-C61hzNPk.js → system-cli-hjvWuxnn.js} +3 -3
- package/dist/{systemd-hints-Ct8ebNeC.js → systemd-hints-CW7G2Z_2.js} +1 -1
- package/dist/{systemd-hints-vhJS1sOh.js → systemd-hints-CcsN2P1C.js} +1 -1
- package/dist/{tui-CI_zqapL.js → tui-ByDc_eA-.js} +4 -4
- package/dist/{tui-Dg_cvgVP.js → tui-DulNash-.js} +4 -4
- package/dist/{tui-cli-DtBW_VCL.js → tui-cli-D--Wucil.js} +9 -9
- package/dist/{tui-cli-BD1cbShC.js → tui-cli-cbFjX5ua.js} +9 -9
- package/dist/{unified-runner-JQaSdhSg.js → unified-runner-BRmPenSK.js} +355 -120
- package/dist/{update-cli-CplnPSZ5.js → update-cli-5uhTWLns.js} +38 -38
- package/dist/{update-cli-BO1uw-SU.js → update-cli-BfvcUFky.js} +40 -40
- package/dist/{update-runner-DFp9PDMN.js → update-runner-22u8HOoq.js} +1 -1
- package/dist/{update-runner-Df4mjndq.js → update-runner-DyENgdTM.js} +1 -1
- package/dist/{web-CZoQ03ZE.js → web-B8GaP73t.js} +17 -17
- package/dist/{web-Dn33Cd3-.js → web-CqeSgivQ.js} +30 -30
- package/dist/{web-BEDc6iEz.js → web-Dbe1DwOE.js} +17 -17
- package/dist/{web-CCEVjDcU.js → web-s9NWpUYH.js} +30 -30
- package/dist/{webhooks-cli-BEk3Xj9r.js → webhooks-cli-9lyrT9S-.js} +1 -1
- package/dist/{webhooks-cli-B7WTF3ao.js → webhooks-cli-C56QoA-d.js} +1 -1
- package/dist/{whatsapp-actions-uEcDLORc.js → whatsapp-actions-BV4mjN5j.js} +2 -2
- package/dist/{whatsapp-actions-DmVpLXmh.js → whatsapp-actions-BngdI8G3.js} +2 -2
- package/dist/{whatsapp-actions-DEn0NRir.js → whatsapp-actions-D5RBK0Cm.js} +2 -2
- package/dist/{whatsapp-actions-BUZuNBin.js → whatsapp-actions-Dx8FkbIf.js} +2 -2
- package/dist/{with-timeout-DwriPEWn.js → with-timeout-7gwjaz5c.js} +1 -1
- package/dist/{with-timeout-BuIx7QnX.js → with-timeout-C1vsg3IF.js} +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
|
@@ -8,12 +8,12 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ChYu
|
|
|
8
8
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CUNoPTKm.js";
|
|
9
9
|
import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry--_pGht6S.js";
|
|
10
10
|
import { n as retryAsync } from "./retry-ilSJqnz9.js";
|
|
11
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
12
|
-
import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-
|
|
11
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Cxr9NnOd.js";
|
|
12
|
+
import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-DQntj58u.js";
|
|
13
13
|
import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
|
|
14
14
|
import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
|
|
15
15
|
import { $ as resolveShellEnvFallbackTimeoutMs, A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_CONTEXT_TOKENS, K as normalizeSecretInput, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, Z as getShellPathFromLoginShell, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as resolveAuthProfileDisplayLabel, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-CtVwtb6y.js";
|
|
16
|
-
import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
|
|
16
|
+
import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, w as resolveSymiPackageRootSync, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
|
|
17
17
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-hy3Bn-r9.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
|
|
19
19
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Ji7f0gqq.js";
|
|
@@ -27,38 +27,38 @@ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel
|
|
|
27
27
|
import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
|
|
28
28
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
|
|
29
29
|
import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
|
|
30
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
30
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-SRQweHTE.js";
|
|
31
31
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-D7Lno-TE.js";
|
|
32
32
|
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-B7YyMnIi.js";
|
|
33
|
-
import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-
|
|
34
|
-
import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-
|
|
35
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-
|
|
33
|
+
import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-Dd71o3sZ.js";
|
|
34
|
+
import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Do_qdBr_.js";
|
|
35
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-IyZnVyIT.js";
|
|
36
36
|
import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BHuV5t70.js";
|
|
37
37
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CWMflosr.js";
|
|
38
38
|
import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-DEfqC_kJ.js";
|
|
39
39
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-C9DbB-Kp.js";
|
|
40
|
-
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
40
|
+
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-Cou8jVJ2.js";
|
|
41
41
|
import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-DCNUIAHY.js";
|
|
42
42
|
import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
|
|
43
43
|
import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BToL3HlP.js";
|
|
44
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
45
|
-
import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-
|
|
44
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-OVx3XKTy.js";
|
|
45
|
+
import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-DihvU43r.js";
|
|
46
46
|
import { n as resolveConversationLabel } from "./conversation-label-yNSj43Jt.js";
|
|
47
47
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-A0xdf3yk.js";
|
|
48
48
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
|
|
49
49
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-_oc91gNi.js";
|
|
50
50
|
import { i as saveMediaBuffer, r as getMediaDir } from "./store-Do3t33-c.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
|
|
52
|
-
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-
|
|
52
|
+
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-ChrcMCo_.js";
|
|
53
53
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
|
|
54
54
|
import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
|
|
55
55
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
|
|
56
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
56
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-Yvm-LGVR.js";
|
|
57
57
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
|
|
58
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
58
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-DxXXcQ_o.js";
|
|
59
59
|
import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
|
|
60
60
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CHQ7BTlU.js";
|
|
61
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
61
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DD0EJRXx.js";
|
|
62
62
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DiyK6bgV.js";
|
|
63
63
|
import { t as getActiveWebListener } from "./active-listener-CJuvR4C2.js";
|
|
64
64
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CP722fTK.js";
|
|
@@ -11638,7 +11638,7 @@ async function getMemorySearchManager(params) {
|
|
|
11638
11638
|
const wrapper = new FallbackMemoryManager({
|
|
11639
11639
|
primary,
|
|
11640
11640
|
fallbackFactory: async () => {
|
|
11641
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11641
|
+
const { MemoryIndexManager } = await import("./manager-Yvm-LGVR.js").then((n) => n.n);
|
|
11642
11642
|
return await MemoryIndexManager.get(params);
|
|
11643
11643
|
}
|
|
11644
11644
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -11651,7 +11651,7 @@ async function getMemorySearchManager(params) {
|
|
|
11651
11651
|
}
|
|
11652
11652
|
}
|
|
11653
11653
|
try {
|
|
11654
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11654
|
+
const { MemoryIndexManager } = await import("./manager-Yvm-LGVR.js").then((n) => n.n);
|
|
11655
11655
|
return { manager: await MemoryIndexManager.get(params) };
|
|
11656
11656
|
} catch (err) {
|
|
11657
11657
|
return {
|
|
@@ -14964,16 +14964,16 @@ function shouldComputeCommandAuthorized(text, cfg, options) {
|
|
|
14964
14964
|
|
|
14965
14965
|
//#endregion
|
|
14966
14966
|
//#region src/channels/sender-label.ts
|
|
14967
|
-
function normalize(value) {
|
|
14967
|
+
function normalize$1(value) {
|
|
14968
14968
|
const trimmed = value?.trim();
|
|
14969
14969
|
return trimmed ? trimmed : void 0;
|
|
14970
14970
|
}
|
|
14971
14971
|
function resolveSenderLabel(params) {
|
|
14972
|
-
const name = normalize(params.name);
|
|
14973
|
-
const username = normalize(params.username);
|
|
14974
|
-
const tag = normalize(params.tag);
|
|
14975
|
-
const e164 = normalize(params.e164);
|
|
14976
|
-
const id = normalize(params.id);
|
|
14972
|
+
const name = normalize$1(params.name);
|
|
14973
|
+
const username = normalize$1(params.username);
|
|
14974
|
+
const tag = normalize$1(params.tag);
|
|
14975
|
+
const e164 = normalize$1(params.e164);
|
|
14976
|
+
const id = normalize$1(params.id);
|
|
14977
14977
|
const display = name ?? username ?? tag ?? "";
|
|
14978
14978
|
const idPart = e164 ?? id ?? "";
|
|
14979
14979
|
if (display && idPart && display !== idPart) return `${display} (${idPart})`;
|
|
@@ -15653,7 +15653,7 @@ async function routeReply(params) {
|
|
|
15653
15653
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
15654
15654
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
15655
15655
|
try {
|
|
15656
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
15656
|
+
const { deliverOutboundPayloads } = await import("./deliver-OVx3XKTy.js").then((n) => n.n);
|
|
15657
15657
|
return {
|
|
15658
15658
|
ok: true,
|
|
15659
15659
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -18127,7 +18127,7 @@ async function describeStickerImage(params) {
|
|
|
18127
18127
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
18128
18128
|
try {
|
|
18129
18129
|
const buffer = await fs$1.readFile(imagePath);
|
|
18130
|
-
const { describeImageWithModel } = await import("./image-
|
|
18130
|
+
const { describeImageWithModel } = await import("./image-ChrcMCo_.js").then((n) => n.n);
|
|
18131
18131
|
return (await describeImageWithModel({
|
|
18132
18132
|
buffer,
|
|
18133
18133
|
fileName: "sticker.webp",
|
|
@@ -18538,7 +18538,7 @@ function createWhatsAppLoginTool() {
|
|
|
18538
18538
|
force: Type.Optional(Type.Boolean())
|
|
18539
18539
|
}),
|
|
18540
18540
|
execute: async (_toolCallId, args) => {
|
|
18541
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
18541
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C87Q7LuN.js");
|
|
18542
18542
|
if ((args?.action ?? "start") === "wait") {
|
|
18543
18543
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
18544
18544
|
return {
|
|
@@ -20693,7 +20693,7 @@ async function preflightDiscordMessage(params) {
|
|
|
20693
20693
|
let preflightTranscript;
|
|
20694
20694
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
20695
20695
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
20696
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
20696
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CwMsvdv8.js");
|
|
20697
20697
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
20698
20698
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
20699
20699
|
ctx: {
|
|
@@ -27382,6 +27382,38 @@ async function runWithImageModelFallback(params) {
|
|
|
27382
27382
|
//#endregion
|
|
27383
27383
|
//#region src/config/model-profiles-builtin.ts
|
|
27384
27384
|
/**
|
|
27385
|
+
* Shared safety + output-style additions applied to most built-in profiles
|
|
27386
|
+
* and the Generic fallback. These rules came from a long history of
|
|
27387
|
+
* model-specific bugs (verification-monologue padding, "I have addressed"
|
|
27388
|
+
* preambles, post-answer assessment lists). Keeping them in one place
|
|
27389
|
+
* means a new profile inherits sane defaults instead of starting empty.
|
|
27390
|
+
*
|
|
27391
|
+
* Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
|
|
27392
|
+
* live here; profile-specific rules (control-token stripping, tool-arg
|
|
27393
|
+
* cleanup, reasoning hints) live in their own per-profile additions.
|
|
27394
|
+
*
|
|
27395
|
+
* Exported so resolve-model-profile.ts can apply the same additions to
|
|
27396
|
+
* the Generic fallback profile — no model resolves to "Generic" without
|
|
27397
|
+
* inheriting the safety/style rules.
|
|
27398
|
+
*/
|
|
27399
|
+
const SAFETY_AND_STYLE_ADDITIONS = [
|
|
27400
|
+
"CRITICAL OUTPUT RULES:",
|
|
27401
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27402
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27403
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27404
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27405
|
+
"- If you need to verify your work, do so before writing your response, not after.",
|
|
27406
|
+
"- Send brief progress updates on long tasks so the user knows you are active."
|
|
27407
|
+
];
|
|
27408
|
+
/** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
|
|
27409
|
+
* planning internal. Not applied to Gemma/Ollama because those models
|
|
27410
|
+
* don't have structured thinking and the rule confuses them. */
|
|
27411
|
+
const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
|
|
27412
|
+
/** Hint for models that leak Gemma-style control tokens (Gemma family,
|
|
27413
|
+
* Ollama hosting any uncensored open model). Forces tool-arg cleanup and
|
|
27414
|
+
* forbids leaking turn markers in user-visible text. */
|
|
27415
|
+
const CONTROL_TOKEN_ADDITIONS = ["- Do not output raw control tokens, channel tags, or turn markers.", "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."];
|
|
27416
|
+
/**
|
|
27385
27417
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
27386
27418
|
* that `resolveModelProfile` can return the first match.
|
|
27387
27419
|
*
|
|
@@ -27415,17 +27447,7 @@ const BUILTIN_PROFILES = [
|
|
|
27415
27447
|
hasStructuredThinking: false,
|
|
27416
27448
|
validateToolArgs: true
|
|
27417
27449
|
},
|
|
27418
|
-
promptAdditions: [
|
|
27419
|
-
"CRITICAL OUTPUT RULES:",
|
|
27420
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27421
|
-
"- Do not output raw control tokens, channel tags, or turn markers.",
|
|
27422
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27423
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27424
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27425
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
27426
|
-
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
27427
|
-
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
27428
|
-
],
|
|
27450
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
|
|
27429
27451
|
ui: {
|
|
27430
27452
|
badge: "Local",
|
|
27431
27453
|
watchdogMs: 9e5,
|
|
@@ -27452,16 +27474,7 @@ const BUILTIN_PROFILES = [
|
|
|
27452
27474
|
hasStructuredThinking: true,
|
|
27453
27475
|
validateToolArgs: false
|
|
27454
27476
|
},
|
|
27455
|
-
promptAdditions: [
|
|
27456
|
-
"CRITICAL OUTPUT RULES:",
|
|
27457
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27458
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27459
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27460
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27461
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
27462
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
27463
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
27464
|
-
],
|
|
27477
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
27465
27478
|
ui: {
|
|
27466
27479
|
badge: "Local",
|
|
27467
27480
|
watchdogMs: 9e5,
|
|
@@ -27487,7 +27500,7 @@ const BUILTIN_PROFILES = [
|
|
|
27487
27500
|
hasStructuredThinking: true,
|
|
27488
27501
|
validateToolArgs: false
|
|
27489
27502
|
},
|
|
27490
|
-
promptAdditions: [],
|
|
27503
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
|
|
27491
27504
|
ui: {
|
|
27492
27505
|
badge: "API",
|
|
27493
27506
|
watchdogMs: 3e5,
|
|
@@ -27520,15 +27533,7 @@ const BUILTIN_PROFILES = [
|
|
|
27520
27533
|
hasStructuredThinking: true,
|
|
27521
27534
|
validateToolArgs: false
|
|
27522
27535
|
},
|
|
27523
|
-
promptAdditions: [
|
|
27524
|
-
"CRITICAL OUTPUT RULES:",
|
|
27525
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27526
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27527
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27528
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27529
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
27530
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
27531
|
-
],
|
|
27536
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
27532
27537
|
ui: {
|
|
27533
27538
|
badge: "Spider",
|
|
27534
27539
|
watchdogMs: 9e5,
|
|
@@ -27561,16 +27566,7 @@ const BUILTIN_PROFILES = [
|
|
|
27561
27566
|
hasStructuredThinking: false,
|
|
27562
27567
|
validateToolArgs: true
|
|
27563
27568
|
},
|
|
27564
|
-
promptAdditions: [
|
|
27565
|
-
"CRITICAL OUTPUT RULES:",
|
|
27566
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27567
|
-
"- Do not output raw control tokens, channel tags, or turn markers.",
|
|
27568
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27569
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27570
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27571
|
-
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
27572
|
-
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
27573
|
-
],
|
|
27569
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
|
|
27574
27570
|
ui: {
|
|
27575
27571
|
badge: "Spider",
|
|
27576
27572
|
watchdogMs: 6e5,
|
|
@@ -27602,16 +27598,7 @@ const BUILTIN_PROFILES = [
|
|
|
27602
27598
|
hasStructuredThinking: true,
|
|
27603
27599
|
validateToolArgs: false
|
|
27604
27600
|
},
|
|
27605
|
-
promptAdditions: [
|
|
27606
|
-
"CRITICAL OUTPUT RULES:",
|
|
27607
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
27608
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
27609
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
27610
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
27611
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
27612
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
27613
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
27614
|
-
],
|
|
27601
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
27615
27602
|
ui: {
|
|
27616
27603
|
badge: "CoreWeave",
|
|
27617
27604
|
watchdogMs: 9e5,
|
|
@@ -27622,7 +27609,15 @@ const BUILTIN_PROFILES = [
|
|
|
27622
27609
|
|
|
27623
27610
|
//#endregion
|
|
27624
27611
|
//#region src/config/resolve-model-profile.ts
|
|
27625
|
-
/**
|
|
27612
|
+
/**
|
|
27613
|
+
* Default profile returned when no match is found.
|
|
27614
|
+
*
|
|
27615
|
+
* Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
|
|
27616
|
+
* the same safety+style additions as every named profile, so newly-added
|
|
27617
|
+
* models without a profile entry inherit sane defaults instead of
|
|
27618
|
+
* starting empty (which would silently regress safety rules until someone
|
|
27619
|
+
* notices and adds a profile).
|
|
27620
|
+
*/
|
|
27626
27621
|
const FALLBACK_PROFILE = {
|
|
27627
27622
|
match: "*",
|
|
27628
27623
|
label: "Generic",
|
|
@@ -27641,7 +27636,7 @@ const FALLBACK_PROFILE = {
|
|
|
27641
27636
|
hasStructuredThinking: false,
|
|
27642
27637
|
validateToolArgs: false
|
|
27643
27638
|
},
|
|
27644
|
-
promptAdditions: [],
|
|
27639
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
|
|
27645
27640
|
ui: {
|
|
27646
27641
|
watchdogMs: 3e5,
|
|
27647
27642
|
armWatchdogOnSend: true
|
|
@@ -34191,6 +34186,86 @@ async function prepareSessionManagerForRun(params) {
|
|
|
34191
34186
|
}
|
|
34192
34187
|
}
|
|
34193
34188
|
|
|
34189
|
+
//#endregion
|
|
34190
|
+
//#region src/agents/system-prompt-skills-autoload.ts
|
|
34191
|
+
const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
|
|
34192
|
+
let cachedPackageRoot;
|
|
34193
|
+
function getPackageRoot() {
|
|
34194
|
+
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
34195
|
+
return cachedPackageRoot;
|
|
34196
|
+
}
|
|
34197
|
+
function safeSkillName(name) {
|
|
34198
|
+
return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
|
|
34199
|
+
}
|
|
34200
|
+
function tryLoadSkill(skillName, root) {
|
|
34201
|
+
const skillPath = path.join(root, "skills", skillName, "SKILL.md");
|
|
34202
|
+
try {
|
|
34203
|
+
if (!fs.statSync(skillPath).isFile()) return null;
|
|
34204
|
+
} catch {
|
|
34205
|
+
return null;
|
|
34206
|
+
}
|
|
34207
|
+
try {
|
|
34208
|
+
return fs.readFileSync(skillPath, "utf8");
|
|
34209
|
+
} catch {
|
|
34210
|
+
return null;
|
|
34211
|
+
}
|
|
34212
|
+
}
|
|
34213
|
+
function stripFrontmatter(body) {
|
|
34214
|
+
return body.replace(FRONTMATTER_RE, "").trimStart();
|
|
34215
|
+
}
|
|
34216
|
+
/**
|
|
34217
|
+
* Resolves and loads each named skill. Returns the inlinable Markdown block,
|
|
34218
|
+
* or empty string when no skills loaded / minimal mode / no names supplied.
|
|
34219
|
+
*/
|
|
34220
|
+
function buildAutoLoadedSkillsBlock(opts) {
|
|
34221
|
+
if (opts.minimalMode) return "";
|
|
34222
|
+
const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
34223
|
+
if (names.length === 0) return "";
|
|
34224
|
+
const packageRoot = getPackageRoot();
|
|
34225
|
+
const loaded = [];
|
|
34226
|
+
for (const rawName of names) {
|
|
34227
|
+
const name = rawName.trim();
|
|
34228
|
+
if (!safeSkillName(name)) {
|
|
34229
|
+
logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
|
|
34230
|
+
continue;
|
|
34231
|
+
}
|
|
34232
|
+
let body = null;
|
|
34233
|
+
let source = "bundled";
|
|
34234
|
+
if (opts.workspaceDir) {
|
|
34235
|
+
body = tryLoadSkill(name, opts.workspaceDir);
|
|
34236
|
+
source = "workspace";
|
|
34237
|
+
}
|
|
34238
|
+
if (body === null && packageRoot) {
|
|
34239
|
+
body = tryLoadSkill(name, packageRoot);
|
|
34240
|
+
source = "bundled";
|
|
34241
|
+
}
|
|
34242
|
+
if (body === null) {
|
|
34243
|
+
logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
|
|
34244
|
+
continue;
|
|
34245
|
+
}
|
|
34246
|
+
const stripped = stripFrontmatter(body).trim();
|
|
34247
|
+
if (!stripped) {
|
|
34248
|
+
logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
|
|
34249
|
+
continue;
|
|
34250
|
+
}
|
|
34251
|
+
loaded.push({
|
|
34252
|
+
name,
|
|
34253
|
+
body: stripped,
|
|
34254
|
+
source
|
|
34255
|
+
});
|
|
34256
|
+
}
|
|
34257
|
+
if (loaded.length === 0) return "";
|
|
34258
|
+
return [
|
|
34259
|
+
"",
|
|
34260
|
+
"---",
|
|
34261
|
+
"",
|
|
34262
|
+
"## Auto-loaded Skills",
|
|
34263
|
+
"",
|
|
34264
|
+
loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
|
|
34265
|
+
""
|
|
34266
|
+
].join("\n");
|
|
34267
|
+
}
|
|
34268
|
+
|
|
34194
34269
|
//#endregion
|
|
34195
34270
|
//#region src/agents/tool-summaries.ts
|
|
34196
34271
|
function buildToolSummaryMap(tools) {
|
|
@@ -34206,7 +34281,7 @@ function buildToolSummaryMap(tools) {
|
|
|
34206
34281
|
//#endregion
|
|
34207
34282
|
//#region src/agents/pi-embedded-runner/system-prompt.ts
|
|
34208
34283
|
function buildEmbeddedSystemPrompt(params) {
|
|
34209
|
-
|
|
34284
|
+
const corePrompt = buildAgentSystemPrompt({
|
|
34210
34285
|
workspaceDir: params.workspaceDir,
|
|
34211
34286
|
defaultThinkLevel: params.defaultThinkLevel,
|
|
34212
34287
|
reasoningLevel: params.reasoningLevel,
|
|
@@ -34234,6 +34309,14 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
34234
34309
|
contextFiles: params.contextFiles,
|
|
34235
34310
|
memoryCitationsMode: params.memoryCitationsMode
|
|
34236
34311
|
});
|
|
34312
|
+
const promptMode = params.promptMode ?? "full";
|
|
34313
|
+
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
34314
|
+
const skillsBlock = buildAutoLoadedSkillsBlock({
|
|
34315
|
+
skillNames: params.autoLoadInlineSkills ?? [],
|
|
34316
|
+
workspaceDir: params.workspaceDir,
|
|
34317
|
+
minimalMode: isMinimal
|
|
34318
|
+
});
|
|
34319
|
+
return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
|
|
34237
34320
|
}
|
|
34238
34321
|
function createSystemPromptOverride(systemPrompt) {
|
|
34239
34322
|
const override = systemPrompt.trim();
|
|
@@ -35021,7 +35104,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
35021
35104
|
userTime,
|
|
35022
35105
|
userTimeFormat,
|
|
35023
35106
|
contextFiles,
|
|
35024
|
-
memoryCitationsMode: params.config?.memory?.citations
|
|
35107
|
+
memoryCitationsMode: params.config?.memory?.citations,
|
|
35108
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
35025
35109
|
});
|
|
35026
35110
|
const systemPromptReport = buildSystemPromptReport({
|
|
35027
35111
|
source: "run",
|
|
@@ -36901,27 +36985,27 @@ async function runAgentTurn(params) {
|
|
|
36901
36985
|
function createDefaultDeps() {
|
|
36902
36986
|
return {
|
|
36903
36987
|
sendMessageWhatsApp: async (...args) => {
|
|
36904
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36988
|
+
const { sendMessageWhatsApp } = await import("./web-C3YuHiih.js");
|
|
36905
36989
|
return await sendMessageWhatsApp(...args);
|
|
36906
36990
|
},
|
|
36907
36991
|
sendMessageTelegram: async (...args) => {
|
|
36908
|
-
const { sendMessageTelegram } = await import("./send-
|
|
36992
|
+
const { sendMessageTelegram } = await import("./send-Do_qdBr_.js").then((n) => n.l);
|
|
36909
36993
|
return await sendMessageTelegram(...args);
|
|
36910
36994
|
},
|
|
36911
36995
|
sendMessageDiscord: async (...args) => {
|
|
36912
|
-
const { sendMessageDiscord } = await import("./send-
|
|
36996
|
+
const { sendMessageDiscord } = await import("./send-Cxr9NnOd.js").then((n) => n.t);
|
|
36913
36997
|
return await sendMessageDiscord(...args);
|
|
36914
36998
|
},
|
|
36915
36999
|
sendMessageSlack: async (...args) => {
|
|
36916
|
-
const { sendMessageSlack } = await import("./send-
|
|
37000
|
+
const { sendMessageSlack } = await import("./send-Dd71o3sZ.js").then((n) => n.n);
|
|
36917
37001
|
return await sendMessageSlack(...args);
|
|
36918
37002
|
},
|
|
36919
37003
|
sendMessageSignal: async (...args) => {
|
|
36920
|
-
const { sendMessageSignal } = await import("./send-
|
|
37004
|
+
const { sendMessageSignal } = await import("./send-DxXXcQ_o.js").then((n) => n.i);
|
|
36921
37005
|
return await sendMessageSignal(...args);
|
|
36922
37006
|
},
|
|
36923
37007
|
sendMessageIMessage: async (...args) => {
|
|
36924
|
-
const { sendMessageIMessage } = await import("./send-
|
|
37008
|
+
const { sendMessageIMessage } = await import("./send-SRQweHTE.js").then((n) => n.n);
|
|
36925
37009
|
return await sendMessageIMessage(...args);
|
|
36926
37010
|
}
|
|
36927
37011
|
};
|
|
@@ -47476,7 +47560,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
47476
47560
|
});
|
|
47477
47561
|
const deliverSlashPayloads = async (replies) => {
|
|
47478
47562
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
47479
|
-
import("./replies-
|
|
47563
|
+
import("./replies-DD0EJRXx.js").then((n) => n.r),
|
|
47480
47564
|
import("./chunk-jvk9axTQ.js").then((n) => n.s),
|
|
47481
47565
|
import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
|
|
47482
47566
|
]);
|
|
@@ -52182,7 +52266,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
52182
52266
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
52183
52267
|
let preflightTranscript;
|
|
52184
52268
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
52185
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
52269
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CwMsvdv8.js");
|
|
52186
52270
|
preflightTranscript = await transcribeFirstAudio({
|
|
52187
52271
|
ctx: {
|
|
52188
52272
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -54327,23 +54411,23 @@ let webLoginQrPromise = null;
|
|
|
54327
54411
|
let webChannelPromise = null;
|
|
54328
54412
|
let whatsappActionsPromise = null;
|
|
54329
54413
|
function loadWebOutbound() {
|
|
54330
|
-
webOutboundPromise ??= import("./outbound-
|
|
54414
|
+
webOutboundPromise ??= import("./outbound-T0XdUo-H.js").then((n) => n.t);
|
|
54331
54415
|
return webOutboundPromise;
|
|
54332
54416
|
}
|
|
54333
54417
|
function loadWebLogin() {
|
|
54334
|
-
webLoginPromise ??= import("./login-
|
|
54418
|
+
webLoginPromise ??= import("./login-WuhOM4Dg.js").then((n) => n.n);
|
|
54335
54419
|
return webLoginPromise;
|
|
54336
54420
|
}
|
|
54337
54421
|
function loadWebLoginQr() {
|
|
54338
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
54422
|
+
webLoginQrPromise ??= import("./login-qr-C87Q7LuN.js");
|
|
54339
54423
|
return webLoginQrPromise;
|
|
54340
54424
|
}
|
|
54341
54425
|
function loadWebChannel() {
|
|
54342
|
-
webChannelPromise ??= import("./web-
|
|
54426
|
+
webChannelPromise ??= import("./web-C3YuHiih.js");
|
|
54343
54427
|
return webChannelPromise;
|
|
54344
54428
|
}
|
|
54345
54429
|
function loadWhatsAppActions() {
|
|
54346
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
54430
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-ClWxTG5S.js");
|
|
54347
54431
|
return whatsappActionsPromise;
|
|
54348
54432
|
}
|
|
54349
54433
|
function createPluginRuntime() {
|
|
@@ -59821,6 +59905,91 @@ function isToolAllowedByPolicies(name, policies) {
|
|
|
59821
59905
|
return policies.every((policy) => isToolAllowedByPolicyName(name, policy));
|
|
59822
59906
|
}
|
|
59823
59907
|
|
|
59908
|
+
//#endregion
|
|
59909
|
+
//#region src/agents/pi-tools.read-edit-guard.ts
|
|
59910
|
+
const RETRY_GUIDANCE_SUFFIX$1 = " Read the file first, then retry the edit.";
|
|
59911
|
+
function readGuardError(filePath) {
|
|
59912
|
+
return /* @__PURE__ */ new Error(`Edit refused: '${filePath}' has not been read in this session. The edit tool requires the agent to read the file first so oldText can match real content rather than hallucinated content.${RETRY_GUIDANCE_SUFFIX$1}`);
|
|
59913
|
+
}
|
|
59914
|
+
function extractPath(args) {
|
|
59915
|
+
if (!args || typeof args !== "object") return;
|
|
59916
|
+
const record = args;
|
|
59917
|
+
const candidate = record.path ?? record.file_path;
|
|
59918
|
+
if (typeof candidate !== "string") return;
|
|
59919
|
+
const trimmed = candidate.trim();
|
|
59920
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
59921
|
+
}
|
|
59922
|
+
function wrapReadToolWithTracker(tool, tracker) {
|
|
59923
|
+
return {
|
|
59924
|
+
...tool,
|
|
59925
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
59926
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
59927
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
59928
|
+
const filePath = extractPath(args);
|
|
59929
|
+
if (filePath) tracker.recordRead(filePath);
|
|
59930
|
+
}
|
|
59931
|
+
return result;
|
|
59932
|
+
}
|
|
59933
|
+
};
|
|
59934
|
+
}
|
|
59935
|
+
function wrapWriteToolWithTracker(tool, tracker) {
|
|
59936
|
+
return {
|
|
59937
|
+
...tool,
|
|
59938
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
59939
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
59940
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
59941
|
+
const filePath = extractPath(args);
|
|
59942
|
+
if (filePath) tracker.recordWrite(filePath);
|
|
59943
|
+
}
|
|
59944
|
+
return result;
|
|
59945
|
+
}
|
|
59946
|
+
};
|
|
59947
|
+
}
|
|
59948
|
+
function wrapEditToolWithGuard(tool, tracker) {
|
|
59949
|
+
return {
|
|
59950
|
+
...tool,
|
|
59951
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
59952
|
+
const filePath = extractPath(args);
|
|
59953
|
+
if (filePath && !tracker.hasObserved(filePath)) throw readGuardError(filePath);
|
|
59954
|
+
return tool.execute(toolCallId, args, signal, onUpdate);
|
|
59955
|
+
}
|
|
59956
|
+
};
|
|
59957
|
+
}
|
|
59958
|
+
|
|
59959
|
+
//#endregion
|
|
59960
|
+
//#region src/agents/pi-tools.read-edit-tracker.ts
|
|
59961
|
+
function normalize(filePath, workspaceRoot) {
|
|
59962
|
+
if (!workspaceRoot) return filePath;
|
|
59963
|
+
if (path.isAbsolute(filePath)) return path.normalize(filePath);
|
|
59964
|
+
return path.resolve(workspaceRoot, filePath);
|
|
59965
|
+
}
|
|
59966
|
+
function createReadEditTracker(opts = {}) {
|
|
59967
|
+
const observed = /* @__PURE__ */ new Map();
|
|
59968
|
+
const record = (filePath, kind) => {
|
|
59969
|
+
if (typeof filePath !== "string" || !filePath.trim()) return;
|
|
59970
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
59971
|
+
const prior = observed.get(key);
|
|
59972
|
+
if (kind === "written" || prior !== "written") observed.set(key, kind);
|
|
59973
|
+
};
|
|
59974
|
+
return {
|
|
59975
|
+
recordRead: (filePath) => record(filePath, "read"),
|
|
59976
|
+
recordWrite: (filePath) => record(filePath, "written"),
|
|
59977
|
+
observation: (filePath) => {
|
|
59978
|
+
if (typeof filePath !== "string" || !filePath.trim()) return null;
|
|
59979
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
59980
|
+
return observed.get(key) ?? null;
|
|
59981
|
+
},
|
|
59982
|
+
hasObserved: (filePath) => {
|
|
59983
|
+
if (typeof filePath !== "string" || !filePath.trim()) return false;
|
|
59984
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
59985
|
+
return observed.has(key);
|
|
59986
|
+
},
|
|
59987
|
+
reset: () => {
|
|
59988
|
+
observed.clear();
|
|
59989
|
+
}
|
|
59990
|
+
};
|
|
59991
|
+
}
|
|
59992
|
+
|
|
59824
59993
|
//#endregion
|
|
59825
59994
|
//#region src/media/sniff-mime-from-base64.ts
|
|
59826
59995
|
async function sniffMimeFromBase64(base64) {
|
|
@@ -60146,6 +60315,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
|
|
|
60146
60315
|
}
|
|
60147
60316
|
};
|
|
60148
60317
|
}
|
|
60318
|
+
/**
|
|
60319
|
+
* Override a tool's description while preserving execute, parameters, and
|
|
60320
|
+
* other properties. Used by Stage 2.5 of the prompt-reduction plan to move
|
|
60321
|
+
* usage docs from the system prompt into tool descriptions where they
|
|
60322
|
+
* belong contextually.
|
|
60323
|
+
*
|
|
60324
|
+
* The replacement description should include the upstream's tool-purpose
|
|
60325
|
+
* sentence so models that only read the description (without the prompt
|
|
60326
|
+
* section) still have the same baseline understanding.
|
|
60327
|
+
*/
|
|
60328
|
+
function wrapToolWithDescriptionOverride(tool, description) {
|
|
60329
|
+
return {
|
|
60330
|
+
...tool,
|
|
60331
|
+
description
|
|
60332
|
+
};
|
|
60333
|
+
}
|
|
60149
60334
|
function wrapToolWorkspaceRootGuard(tool, root) {
|
|
60150
60335
|
return {
|
|
60151
60336
|
...tool,
|
|
@@ -62832,8 +63017,39 @@ const GatewayToolSchema = Type.Object({
|
|
|
62832
63017
|
baseHash: Type.Optional(Type.String()),
|
|
62833
63018
|
sessionKey: Type.Optional(Type.String()),
|
|
62834
63019
|
note: Type.Optional(Type.String()),
|
|
62835
|
-
restartDelayMs: Type.Optional(Type.Number())
|
|
63020
|
+
restartDelayMs: Type.Optional(Type.Number()),
|
|
63021
|
+
userRequestAcknowledgment: Type.Optional(Type.String())
|
|
62836
63022
|
});
|
|
63023
|
+
/** Actions that mutate gateway state and require explicit user authorization. */
|
|
63024
|
+
const DESTRUCTIVE_ACTIONS = new Set([
|
|
63025
|
+
"config.apply",
|
|
63026
|
+
"config.patch",
|
|
63027
|
+
"update.run"
|
|
63028
|
+
]);
|
|
63029
|
+
/** Minimum length for a meaningful authorization message. */
|
|
63030
|
+
const MIN_AUTHORIZATION_LENGTH = 10;
|
|
63031
|
+
/**
|
|
63032
|
+
* Asserts the user's request was explicitly acknowledged for destructive
|
|
63033
|
+
* actions. Throws a descriptive error if the acknowledgment is missing,
|
|
63034
|
+
* empty, or trivially short.
|
|
63035
|
+
*
|
|
63036
|
+
* NOTE: This is defense-in-depth, not a hard barrier. A determined model
|
|
63037
|
+
* could still populate the field with fabricated text. The barrier exists
|
|
63038
|
+
* to:
|
|
63039
|
+
* 1. Force the agent to deliberately compose a justification (vs. blind
|
|
63040
|
+
* tool invocation).
|
|
63041
|
+
* 2. Provide an audit trail (the acknowledgment is logged with the tool
|
|
63042
|
+
* call args).
|
|
63043
|
+
* 3. Surface for future tightening (e.g., matching against real session
|
|
63044
|
+
* history).
|
|
63045
|
+
*/
|
|
63046
|
+
function assertUserAuthorization(action, params) {
|
|
63047
|
+
if (!DESTRUCTIVE_ACTIONS.has(action)) return;
|
|
63048
|
+
const ack = params.userRequestAcknowledgment;
|
|
63049
|
+
const trimmed = typeof ack === "string" ? ack.trim() : "";
|
|
63050
|
+
if (!trimmed) throw new Error(`Action '${action}' requires an explicit user authorization. Pass userRequestAcknowledgment with a paraphrase of the user's request (e.g., "user said: please update Symi"). If the user did not explicitly request this action, ask them first instead of invoking it.`);
|
|
63051
|
+
if (trimmed.length < MIN_AUTHORIZATION_LENGTH) throw new Error(`Action '${action}' requires a substantive userRequestAcknowledgment (minimum ${MIN_AUTHORIZATION_LENGTH} characters describing the user's request). Received: ${JSON.stringify(trimmed)}.`);
|
|
63052
|
+
}
|
|
62837
63053
|
function createGatewayTool(opts) {
|
|
62838
63054
|
return {
|
|
62839
63055
|
label: "Gateway",
|
|
@@ -62844,6 +63060,7 @@ function createGatewayTool(opts) {
|
|
|
62844
63060
|
execute: async (_toolCallId, args) => {
|
|
62845
63061
|
const params = args;
|
|
62846
63062
|
const action = readStringParam(params, "action", { required: true });
|
|
63063
|
+
assertUserAuthorization(action, params);
|
|
62847
63064
|
if (action === "restart") {
|
|
62848
63065
|
if (!isRestartEnabled(opts?.config)) throw new Error("Gateway restart is disabled (commands.restart=false).");
|
|
62849
63066
|
const sessionKey = typeof params.sessionKey === "string" && params.sessionKey.trim() ? params.sessionKey.trim() : opts?.agentSessionKey?.trim() || void 0;
|
|
@@ -70525,6 +70742,26 @@ function resolveToolLoopDetectionConfig(params) {
|
|
|
70525
70742
|
}
|
|
70526
70743
|
};
|
|
70527
70744
|
}
|
|
70745
|
+
/**
|
|
70746
|
+
* Edit tool description. Replaces the upstream's terse one-liner with
|
|
70747
|
+
* usage notes migrated from the system prompt's "Edit Tool Best Practices"
|
|
70748
|
+
* section in Stage 2.5 of the prompt-reduction plan. Co-locating these
|
|
70749
|
+
* notes with the tool means they ship only when edit is in palette, and
|
|
70750
|
+
* the system prompt section can be deleted in Stage 4 without losing the
|
|
70751
|
+
* guidance.
|
|
70752
|
+
*
|
|
70753
|
+
* Combined with the read-before-edit guard (Stage 1.3) and the model's
|
|
70754
|
+
* own discipline, this should kill the hallucinated-oldText failure class
|
|
70755
|
+
* for any well-intentioned model.
|
|
70756
|
+
*/
|
|
70757
|
+
const EDIT_TOOL_DESCRIPTION = [
|
|
70758
|
+
"Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
|
|
70759
|
+
"Best practices to avoid match failures:",
|
|
70760
|
+
"- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
|
|
70761
|
+
"- ALWAYS read the file first, then copy the exact text from the read output for oldText. The read-before-edit guard refuses edits to unread files.",
|
|
70762
|
+
"- If an edit fails with 'Could not find the exact text', re-read the file and retry with the exact text from the fresh read. Do NOT skip to a different issue.",
|
|
70763
|
+
"- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
|
|
70764
|
+
].join(" ");
|
|
70528
70765
|
function createSymiCodingTools(options) {
|
|
70529
70766
|
const execToolName = "exec";
|
|
70530
70767
|
const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
|
|
@@ -70587,33 +70824,34 @@ function createSymiCodingTools(options) {
|
|
|
70587
70824
|
});
|
|
70588
70825
|
if (sandboxRoot && !sandboxFsBridge) throw new Error("Sandbox filesystem bridge is unavailable.");
|
|
70589
70826
|
const imageSanitization = resolveImageSanitizationLimits(options?.config);
|
|
70827
|
+
const readEditTracker = createReadEditTracker({ workspaceRoot: sandboxRoot ?? workspaceRoot });
|
|
70590
70828
|
const base = codingTools.flatMap((tool) => {
|
|
70591
70829
|
if (tool.name === readTool.name) {
|
|
70592
70830
|
if (sandboxRoot) {
|
|
70593
|
-
const
|
|
70831
|
+
const tracked = wrapReadToolWithTracker(createSandboxedReadTool({
|
|
70594
70832
|
root: sandboxRoot,
|
|
70595
70833
|
bridge: sandboxFsBridge,
|
|
70596
70834
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
70597
70835
|
imageSanitization
|
|
70598
|
-
});
|
|
70599
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
70836
|
+
}), readEditTracker);
|
|
70837
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, sandboxRoot) : tracked];
|
|
70600
70838
|
}
|
|
70601
|
-
const
|
|
70839
|
+
const tracked = wrapReadToolWithTracker(createSymiReadTool(createReadTool(workspaceRoot), {
|
|
70602
70840
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
70603
70841
|
imageSanitization
|
|
70604
|
-
});
|
|
70605
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
70842
|
+
}), readEditTracker);
|
|
70843
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
70606
70844
|
}
|
|
70607
70845
|
if (tool.name === "bash" || tool.name === execToolName) return [];
|
|
70608
70846
|
if (tool.name === "write") {
|
|
70609
70847
|
if (sandboxRoot) return [];
|
|
70610
|
-
const
|
|
70611
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
70848
|
+
const tracked = wrapWriteToolWithTracker(wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write), readEditTracker);
|
|
70849
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
70612
70850
|
}
|
|
70613
70851
|
if (tool.name === "edit") {
|
|
70614
70852
|
if (sandboxRoot) return [];
|
|
70615
|
-
const
|
|
70616
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
70853
|
+
const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
|
|
70854
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
|
|
70617
70855
|
}
|
|
70618
70856
|
return [tool];
|
|
70619
70857
|
});
|
|
@@ -70656,22 +70894,18 @@ function createSymiCodingTools(options) {
|
|
|
70656
70894
|
} : void 0,
|
|
70657
70895
|
workspaceOnly: applyPatchWorkspaceOnly
|
|
70658
70896
|
});
|
|
70897
|
+
const sandboxedEditTool = sandboxRoot ? wrapEditToolWithGuard(createSandboxedEditTool({
|
|
70898
|
+
root: sandboxRoot,
|
|
70899
|
+
bridge: sandboxFsBridge
|
|
70900
|
+
}), readEditTracker) : null;
|
|
70901
|
+
const sandboxedWriteTool = sandboxRoot ? wrapWriteToolWithTracker(createSandboxedWriteTool({
|
|
70902
|
+
root: sandboxRoot,
|
|
70903
|
+
bridge: sandboxFsBridge
|
|
70904
|
+
}), readEditTracker) : null;
|
|
70659
70905
|
const withHooks = applyToolPolicyPipeline({
|
|
70660
70906
|
tools: applyOwnerOnlyToolPolicy([
|
|
70661
70907
|
...base,
|
|
70662
|
-
...sandboxRoot ? allowWorkspaceWrites ? [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
70663
|
-
root: sandboxRoot,
|
|
70664
|
-
bridge: sandboxFsBridge
|
|
70665
|
-
}), sandboxRoot) : createSandboxedEditTool({
|
|
70666
|
-
root: sandboxRoot,
|
|
70667
|
-
bridge: sandboxFsBridge
|
|
70668
|
-
}), workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedWriteTool({
|
|
70669
|
-
root: sandboxRoot,
|
|
70670
|
-
bridge: sandboxFsBridge
|
|
70671
|
-
}), sandboxRoot) : createSandboxedWriteTool({
|
|
70672
|
-
root: sandboxRoot,
|
|
70673
|
-
bridge: sandboxFsBridge
|
|
70674
|
-
})] : [] : [],
|
|
70908
|
+
...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
|
|
70675
70909
|
...applyPatchTool ? [applyPatchTool] : [],
|
|
70676
70910
|
execTool,
|
|
70677
70911
|
processTool,
|
|
@@ -71059,7 +71293,8 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
71059
71293
|
userTime,
|
|
71060
71294
|
userTimeFormat,
|
|
71061
71295
|
contextFiles,
|
|
71062
|
-
memoryCitationsMode: params.config?.memory?.citations
|
|
71296
|
+
memoryCitationsMode: params.config?.memory?.citations,
|
|
71297
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
71063
71298
|
}));
|
|
71064
71299
|
const sessionLock = await acquireSessionWriteLock({
|
|
71065
71300
|
sessionFile: params.sessionFile,
|
|
@@ -79121,7 +79356,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
79121
79356
|
return;
|
|
79122
79357
|
}
|
|
79123
79358
|
try {
|
|
79124
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
79359
|
+
const { deliverOutboundPayloads } = await import("./deliver-OVx3XKTy.js").then((n) => n.n);
|
|
79125
79360
|
await deliverOutboundPayloads({
|
|
79126
79361
|
cfg: params.cfg,
|
|
79127
79362
|
channel,
|