@symerian/symi 2.9.0 → 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-CvNeiuSB.js → agents-FNeM-byc.js} +7 -7
- package/dist/{agents.config-Ct64cGQ8.js → agents.config-CjML1ogJ.js} +1 -1
- package/dist/{agents.config-BCgY5FjE.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-Cb-T0r6e.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-DmMyKZX4.js → auth-choice-BjTiWmH-.js} +4 -4
- package/dist/{auth-choice-ChFU9OCF.js → auth-choice-RQ5keocP.js} +4 -4
- package/dist/{banner-Bf46tqiY.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-Bqc2VCgt.js → channel-options-CjZlTumK.js} +1 -1
- package/dist/{channel-options-D4a0ZJ72.js → channel-options-DqXYA7rM.js} +1 -1
- package/dist/{channel-web-YNC2xS5K.js → channel-web-BITaNjFT.js} +7 -7
- package/dist/{channels-cli-BFJcNLbB.js → channels-cli-7cDtM5kW.js} +30 -30
- package/dist/{channels-cli-h3GnmmM9.js → channels-cli-C8CesA1x.js} +31 -31
- package/dist/{chrome-ROtrXlNs.js → chrome-B1zznUiv.js} +8 -8
- 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-BX54CAM7.js → cli-BJ9_X9eE.js} +27 -27
- package/dist/{cli-BpQlSGVs.js → cli-ZC_92Xyn.js} +26 -26
- package/dist/{command-registry-BiRjJ2Sy.js → command-registry-B1ltIC7z.js} +11 -11
- package/dist/{completion-cli-C8K5J1ld.js → completion-cli-KSs4eFcq.js} +1 -1
- package/dist/{completion-cli-BYXofVqv.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-BPPD3xqE.js → config-cli-DIrPShKH.js} +2 -2
- package/dist/{config-cli-Deoo6r2K.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-D4f0P3bH.js → configure-CsZWO6Nr.js} +10 -10
- package/dist/{configure-BKHxUAAh.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-B0OUq6RP.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-woDYSVtY.js → doctor-completion-CfGWMYVG.js} +1 -1
- package/dist/{doctor-completion-gMWymNcA.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-DsnkTUOp.js → gateway-cli-B4ElmhPF.js} +42 -42
- package/dist/{gateway-cli-Bnh42-56.js → gateway-cli-CfO9aUt0.js} +43 -43
- 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-uj3DRmL8.js → glass-ui-ws-Bhu3COgn.js} +34 -34
- package/dist/{glass-ui-ws-0Y0KsBvU.js → glass-ui-ws-D1UKJUFI.js} +35 -35
- package/dist/{health-Dl2WRoTa.js → health-CCslN1xh.js} +5 -5
- package/dist/{health-CcV5nKIK.js → health-CLRDrjsk.js} +5 -5
- package/dist/{hooks-cli-DEJe3dUH.js → hooks-cli-BrVLhsJ6.js} +27 -27
- package/dist/{hooks-cli-CTcHtm_0.js → hooks-cli-DvLYXNNe.js} +28 -28
- package/dist/{image-6RZuWKy5.js → image-B6aY1oY3.js} +2 -2
- package/dist/{image-BuVL0jHI.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-QPF0UtOC.js → manager-8N1YbbDk.js} +1 -1
- package/dist/{manager-C-H0XXJq.js → manager-CztTHQhN.js} +1 -1
- package/dist/{manager-CjW8kPVc.js → manager-HASZR70T.js} +1 -1
- package/dist/{manager-9Mni2AA9.js → manager-OSWCBsL_.js} +1 -1
- package/dist/{memory-cli-BTByRgM0.js → memory-cli-BDWdeqta.js} +4 -4
- package/dist/{memory-cli-OW9XfyYu.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-Q1jV8ArL.js → models-5C-QKF0q.js} +8 -8
- package/dist/{models-cli-pfVmmgpv.js → models-cli-B2IebIhR.js} +29 -29
- package/dist/{models-cli-Cy6H1sFq.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-CvpyaUQd.js → onboard-BL7Ei8OA.js} +7 -7
- package/dist/{onboard-channels-BRoSUijQ.js → onboard-channels-B-PEQmiI.js} +1 -1
- package/dist/{onboard-channels-Bupbm6zh.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-EL8foMiP.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-Ch8WSJ3j.js → onboarding-3DwQLO4z.js} +10 -10
- package/dist/{onboarding-Dg5ydWSh.js → onboarding-B_F_DbjQ.js} +10 -10
- package/dist/{onboarding.finalize-Bo8-8TtH.js → onboarding.finalize-BWejCrVi.js} +32 -32
- package/dist/{onboarding.finalize-CCTaCp2s.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-D1_Sab0M.js → pi-embedded-helpers-DrAT2ieP.js} +5 -5
- package/dist/{pi-embedded-Bl3YkBkI.js → pi-embedded-q_tNOp_h.js} +212 -91
- 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-Bn9Mj8mP.js → plugin-registry-B_KRAoou.js} +2 -2
- package/dist/{plugin-registry-BVYZLxmo.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.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-BhqGIC7q.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-DdOb0Em2.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-Cjjf4VYT.js → reply-I6ZFg_UE.js} +212 -91
- 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-CZ8BYNXP.js → synthesis-bQ4DMwsj.js} +14 -14
- package/dist/plugin-sdk/{web-B8upqMUo.js → web-C3YuHiih.js} +18 -18
- package/dist/plugin-sdk/{whatsapp-actions-eTefsWhW.js → whatsapp-actions-ClWxTG5S.js} +2 -2
- package/dist/{plugins-cli-CYOQh2DM.js → plugins-cli-Co9cRpLe.js} +27 -27
- package/dist/{plugins-cli-3h1N5N8n.js → plugins-cli-MDYiXsRL.js} +28 -28
- package/dist/{program-D3_xE9BL.js → program-BWqVPm5t.js} +34 -34
- package/dist/{program-context-COwsYCbf.js → program-context-m9C36Cuq.js} +38 -38
- package/dist/{prompt-select-styled-D88AWCeM.js → prompt-select-styled-BKJVEVPk.js} +15 -15
- package/dist/{prompt-select-styled-rKPBDv7n.js → prompt-select-styled-DzjQVaDM.js} +15 -15
- package/dist/{provider-auth-helpers-CyZyVx-V.js → provider-auth-helpers-DYJ-0sNe.js} +2 -2
- package/dist/{provider-auth-helpers-rff7s_gC.js → provider-auth-helpers-DaTqy1aA.js} +2 -2
- package/dist/{push-apns-BNzgqUl3.js → push-apns-DdQlLTpV.js} +1 -1
- package/dist/{push-apns-d9qKGKPe.js → push-apns-_aeFBwsP.js} +1 -1
- package/dist/{pw-ai-DWkC5eGA.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-D_MON8p-.js → register.agent-Hi0PN67T.js} +35 -35
- package/dist/{register.agent-BjaqQA02.js → register.agent-RNTVF_Nk.js} +33 -33
- package/dist/{register.configure-UJi9sfNv.js → register.configure-DE2Fg1dO.js} +38 -38
- package/dist/{register.configure-BWkkQhpH.js → register.configure-Dp-F_KKy.js} +37 -37
- package/dist/{register.maintenance-ChskcWGz.js → register.maintenance-Bbd-g7nL.js} +37 -37
- package/dist/{register.maintenance-DJptz3DR.js → register.maintenance-QHRRhtsg.js} +35 -35
- package/dist/{register.message-BDTsiyrW.js → register.message-B5uWOXev.js} +27 -27
- package/dist/{register.message-CiadI_oS.js → register.message-BvutRi1a.js} +28 -28
- package/dist/{register.onboard-BflOE1jy.js → register.onboard-CNOh527M.js} +34 -34
- package/dist/{register.onboard-KR_-4TLY.js → register.onboard-DRHuoRTm.js} +33 -33
- package/dist/{register.setup-W-oNfOp0.js → register.setup-Cj0oOZqL.js} +33 -33
- package/dist/{register.setup-Cl0sD25T.js → register.setup-D1ePW7dl.js} +34 -34
- package/dist/{register.status-health-sessions-CT_SmmOH.js → register.status-health-sessions-DfyO7JaH.js} +30 -30
- package/dist/{register.status-health-sessions-CCQs235z.js → register.status-health-sessions-sf1XzcPo.js} +32 -32
- package/dist/{register.subclis-ByZAz4st.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-CgyjcoxC.js → reply-DEub7xci.js} +221 -100
- 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-xmWpjZL9.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-ecX1WzDt.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-DDpCXuOU.js → server-methods-C-itThFa.js} +17 -17
- package/dist/{server-methods-CBn954AO.js → server-methods-P-ayY-6k.js} +16 -16
- package/dist/{server-node-events-BUEZ3py9.js → server-node-events-D5ee96aZ.js} +27 -27
- package/dist/{server-node-events-BBEMSKVE.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-BjMiGq0n.js → status-BlTLrS6h.js} +2 -2
- package/dist/{status-CG5iHUJ6.js → status-BqjF9Q9S.js} +9 -9
- package/dist/{status-PfvX-BjO.js → status-CfIkReeE.js} +10 -10
- package/dist/{status-CpvzoCOC.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-D0IYimMO.js → subagent-registry-DVYhalAo.js} +222 -101
- package/dist/{synthesis-itgrzpuj.js → synthesis-DDQ5zAtf.js} +14 -14
- package/dist/{synthesis-BVZ5RJLg.js → synthesis-DRXsTePq.js} +26 -26
- package/dist/{synthesis-CBwKBuLy.js → synthesis-DgiYnjmZ.js} +14 -14
- package/dist/{synthesis-D55QrjAJ.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-BhnvjB1J.js → unified-runner-BRmPenSK.js} +216 -95
- package/dist/{update-cli-D3K4mhrr.js → update-cli-5uhTWLns.js} +38 -38
- package/dist/{update-cli-CL1_LPBS.js → update-cli-BfvcUFky.js} +40 -40
- package/dist/{update-runner-DMucmRlv.js → update-runner-22u8HOoq.js} +1 -1
- package/dist/{update-runner-Bmq67eos.js → update-runner-DyENgdTM.js} +1 -1
- package/dist/{web-C1HPdY_D.js → web-B8GaP73t.js} +17 -17
- package/dist/{web-DmgQtLx3.js → web-CqeSgivQ.js} +30 -30
- package/dist/{web-DCO_YCRw.js → web-Dbe1DwOE.js} +17 -17
- package/dist/{web-B0lZdBBl.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 +6 -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 +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -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 +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
|
@@ -4,16 +4,16 @@ import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normali
|
|
|
4
4
|
import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-DYq1AYOv.js";
|
|
5
5
|
import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, l as resolveEffectiveModelFallbacks, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-CpEJ0B88.js";
|
|
6
6
|
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
|
|
7
|
-
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-DscDraUb.js";
|
|
7
|
+
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-DscDraUb.js";
|
|
8
8
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CbQV9WEg.js";
|
|
9
9
|
import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C as normalizeProviderId, D as resolveModelRefFromString, E as resolveDefaultModelForAgent, F as OLLAMA_NATIVE_BASE_URL, G as getShellPathFromLoginShell, H as resolveModelAuthMode, I as createOllamaStreamFn, L as getApiKeyForModel, O as resolveSubagentSpawnModelSelection, Q as DEFAULT_PROVIDER, R as getCustomProviderApiKey, S as normalizeModelRef$2, T as resolveConfiguredModelRef, V as resolveEnvApiKey, W as normalizeSecretInput, X as DEFAULT_CONTEXT_TOKENS, Z as DEFAULT_MODEL, _ as buildConfiguredAllowlistKeys, a as markAuthProfileFailure, b as isCliProvider, c as dedupeProfileIds, d as ensureAuthProfileStore, et as resolveSymiAgentDir, f as resolveAuthStorePathForDisplay, g as buildAllowedModelSet, i as isProfileInCooldown, k as resolveThinkingDefault, l as listProfilesForProvider, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as withFileLock, q as resolveShellEnvFallbackTimeoutMs, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildModelAliasIndex, x as modelKey, y as findNormalizedProviderValue, z as requireApiKey } from "./auth-profiles-C2vj6htZ.js";
|
|
10
10
|
import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
|
|
11
11
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
|
|
12
12
|
import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
|
|
13
|
-
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
14
|
-
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-
|
|
13
|
+
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-DrAT2ieP.js";
|
|
14
|
+
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BXMAsmut.js";
|
|
15
15
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CBCGTsIb.js";
|
|
16
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
16
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B1zznUiv.js";
|
|
17
17
|
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-CXxrn_e2.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
|
|
19
19
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
|
|
@@ -27,20 +27,20 @@ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTele
|
|
|
27
27
|
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
|
|
28
28
|
import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
|
|
29
29
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BuZxOb3B.js";
|
|
30
|
-
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
31
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, 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 applyChannelMatchMeta, 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 fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
30
|
+
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-CyPj_MLV.js";
|
|
31
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, 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 applyChannelMatchMeta, 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 fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DlYO3ExM.js";
|
|
32
32
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
|
|
33
33
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
|
|
34
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
34
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-nBdNxMIr.js";
|
|
35
35
|
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-BUcR3Meg.js";
|
|
36
36
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
|
|
37
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
37
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CEdTQp1F.js";
|
|
38
38
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-RXOlh8ar.js";
|
|
39
39
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-W0JzCJJM.js";
|
|
40
|
-
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-
|
|
40
|
+
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-BtbWvw2k.js";
|
|
41
41
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
|
|
42
42
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
|
|
43
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
43
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-HASZR70T.js";
|
|
44
44
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
|
|
45
45
|
import { n as retryAsync } from "./retry-B-y5suGA.js";
|
|
46
46
|
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-DeJTztcq.js";
|
|
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCB
|
|
|
50
50
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-ClipCZ9s.js";
|
|
51
51
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-7tMVY7D_.js";
|
|
52
52
|
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-DxbSTLNQ.js";
|
|
53
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, 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 registerUnhandledRejectionHandler } from "./runner-
|
|
53
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, 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 registerUnhandledRejectionHandler } from "./runner-CMvsDzah.js";
|
|
54
54
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DG2lcozb.js";
|
|
55
55
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
|
|
56
56
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
|
|
@@ -58,11 +58,11 @@ import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-po
|
|
|
58
58
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D8QD7GoV.js";
|
|
59
59
|
import { n as normalizePollInput } from "./polls-Kt7OzYCK.js";
|
|
60
60
|
import { t as convertMarkdownTables } from "./tables-DoG-pFrf.js";
|
|
61
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
62
|
-
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-
|
|
61
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Dn1Pirhx.js";
|
|
62
|
+
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-C4IU_tV3.js";
|
|
63
63
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Jy5dFY67.js";
|
|
64
64
|
import { t as makeProxyFetch } from "./proxy-d9fklNTC.js";
|
|
65
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
65
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-IkylJ7lX.js";
|
|
66
66
|
import { t as getActiveWebListener } from "./active-listener-BVZOh2T1.js";
|
|
67
67
|
import { createRequire } from "node:module";
|
|
68
68
|
import * as path$1 from "node:path";
|
|
@@ -81,7 +81,7 @@ import AjvPkg from "ajv";
|
|
|
81
81
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
82
82
|
import { createServer } from "node:http";
|
|
83
83
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
84
|
-
import WebSocket, { WebSocket
|
|
84
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
85
85
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
86
86
|
import { EdgeTTS } from "node-edge-tts";
|
|
87
87
|
import { createJiti } from "jiti";
|
|
@@ -105,6 +105,38 @@ import { apiThrottler } from "@grammyjs/transformer-throttler";
|
|
|
105
105
|
|
|
106
106
|
//#region src/config/model-profiles-builtin.ts
|
|
107
107
|
/**
|
|
108
|
+
* Shared safety + output-style additions applied to most built-in profiles
|
|
109
|
+
* and the Generic fallback. These rules came from a long history of
|
|
110
|
+
* model-specific bugs (verification-monologue padding, "I have addressed"
|
|
111
|
+
* preambles, post-answer assessment lists). Keeping them in one place
|
|
112
|
+
* means a new profile inherits sane defaults instead of starting empty.
|
|
113
|
+
*
|
|
114
|
+
* Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
|
|
115
|
+
* live here; profile-specific rules (control-token stripping, tool-arg
|
|
116
|
+
* cleanup, reasoning hints) live in their own per-profile additions.
|
|
117
|
+
*
|
|
118
|
+
* Exported so resolve-model-profile.ts can apply the same additions to
|
|
119
|
+
* the Generic fallback profile — no model resolves to "Generic" without
|
|
120
|
+
* inheriting the safety/style rules.
|
|
121
|
+
*/
|
|
122
|
+
const SAFETY_AND_STYLE_ADDITIONS = [
|
|
123
|
+
"CRITICAL OUTPUT RULES:",
|
|
124
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
125
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
126
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
127
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
128
|
+
"- If you need to verify your work, do so before writing your response, not after.",
|
|
129
|
+
"- Send brief progress updates on long tasks so the user knows you are active."
|
|
130
|
+
];
|
|
131
|
+
/** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
|
|
132
|
+
* planning internal. Not applied to Gemma/Ollama because those models
|
|
133
|
+
* don't have structured thinking and the rule confuses them. */
|
|
134
|
+
const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
|
|
135
|
+
/** Hint for models that leak Gemma-style control tokens (Gemma family,
|
|
136
|
+
* Ollama hosting any uncensored open model). Forces tool-arg cleanup and
|
|
137
|
+
* forbids leaking turn markers in user-visible text. */
|
|
138
|
+
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."];
|
|
139
|
+
/**
|
|
108
140
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
109
141
|
* that `resolveModelProfile` can return the first match.
|
|
110
142
|
*
|
|
@@ -138,17 +170,7 @@ const BUILTIN_PROFILES = [
|
|
|
138
170
|
hasStructuredThinking: false,
|
|
139
171
|
validateToolArgs: true
|
|
140
172
|
},
|
|
141
|
-
promptAdditions: [
|
|
142
|
-
"CRITICAL OUTPUT RULES:",
|
|
143
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
144
|
-
"- Do not output raw control tokens, channel tags, or turn markers.",
|
|
145
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
146
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
147
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
148
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
149
|
-
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
150
|
-
"- 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."
|
|
151
|
-
],
|
|
173
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
|
|
152
174
|
ui: {
|
|
153
175
|
badge: "Local",
|
|
154
176
|
watchdogMs: 9e5,
|
|
@@ -175,16 +197,7 @@ const BUILTIN_PROFILES = [
|
|
|
175
197
|
hasStructuredThinking: true,
|
|
176
198
|
validateToolArgs: false
|
|
177
199
|
},
|
|
178
|
-
promptAdditions: [
|
|
179
|
-
"CRITICAL OUTPUT RULES:",
|
|
180
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
181
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
182
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
183
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
184
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
185
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
186
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
187
|
-
],
|
|
200
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
188
201
|
ui: {
|
|
189
202
|
badge: "Local",
|
|
190
203
|
watchdogMs: 9e5,
|
|
@@ -210,7 +223,7 @@ const BUILTIN_PROFILES = [
|
|
|
210
223
|
hasStructuredThinking: true,
|
|
211
224
|
validateToolArgs: false
|
|
212
225
|
},
|
|
213
|
-
promptAdditions: [],
|
|
226
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
|
|
214
227
|
ui: {
|
|
215
228
|
badge: "API",
|
|
216
229
|
watchdogMs: 3e5,
|
|
@@ -243,15 +256,7 @@ const BUILTIN_PROFILES = [
|
|
|
243
256
|
hasStructuredThinking: true,
|
|
244
257
|
validateToolArgs: false
|
|
245
258
|
},
|
|
246
|
-
promptAdditions: [
|
|
247
|
-
"CRITICAL OUTPUT RULES:",
|
|
248
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
249
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
250
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
251
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
252
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
253
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
254
|
-
],
|
|
259
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
255
260
|
ui: {
|
|
256
261
|
badge: "Spider",
|
|
257
262
|
watchdogMs: 9e5,
|
|
@@ -284,16 +289,7 @@ const BUILTIN_PROFILES = [
|
|
|
284
289
|
hasStructuredThinking: false,
|
|
285
290
|
validateToolArgs: true
|
|
286
291
|
},
|
|
287
|
-
promptAdditions: [
|
|
288
|
-
"CRITICAL OUTPUT RULES:",
|
|
289
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
290
|
-
"- Do not output raw control tokens, channel tags, or turn markers.",
|
|
291
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
292
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
293
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
294
|
-
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
295
|
-
"- 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."
|
|
296
|
-
],
|
|
292
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
|
|
297
293
|
ui: {
|
|
298
294
|
badge: "Spider",
|
|
299
295
|
watchdogMs: 6e5,
|
|
@@ -325,16 +321,7 @@ const BUILTIN_PROFILES = [
|
|
|
325
321
|
hasStructuredThinking: true,
|
|
326
322
|
validateToolArgs: false
|
|
327
323
|
},
|
|
328
|
-
promptAdditions: [
|
|
329
|
-
"CRITICAL OUTPUT RULES:",
|
|
330
|
-
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
331
|
-
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
332
|
-
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
333
|
-
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
334
|
-
"- If you need to verify your work, do so before writing your response, not after.",
|
|
335
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
336
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
337
|
-
],
|
|
324
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
|
|
338
325
|
ui: {
|
|
339
326
|
badge: "CoreWeave",
|
|
340
327
|
watchdogMs: 9e5,
|
|
@@ -345,7 +332,15 @@ const BUILTIN_PROFILES = [
|
|
|
345
332
|
|
|
346
333
|
//#endregion
|
|
347
334
|
//#region src/config/resolve-model-profile.ts
|
|
348
|
-
/**
|
|
335
|
+
/**
|
|
336
|
+
* Default profile returned when no match is found.
|
|
337
|
+
*
|
|
338
|
+
* Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
|
|
339
|
+
* the same safety+style additions as every named profile, so newly-added
|
|
340
|
+
* models without a profile entry inherit sane defaults instead of
|
|
341
|
+
* starting empty (which would silently regress safety rules until someone
|
|
342
|
+
* notices and adds a profile).
|
|
343
|
+
*/
|
|
349
344
|
const FALLBACK_PROFILE = {
|
|
350
345
|
match: "*",
|
|
351
346
|
label: "Generic",
|
|
@@ -364,7 +359,7 @@ const FALLBACK_PROFILE = {
|
|
|
364
359
|
hasStructuredThinking: false,
|
|
365
360
|
validateToolArgs: false
|
|
366
361
|
},
|
|
367
|
-
promptAdditions: [],
|
|
362
|
+
promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
|
|
368
363
|
ui: {
|
|
369
364
|
watchdogMs: 3e5,
|
|
370
365
|
armWatchdogOnSend: true
|
|
@@ -4340,7 +4335,7 @@ async function getMemorySearchManager(params) {
|
|
|
4340
4335
|
const wrapper = new FallbackMemoryManager({
|
|
4341
4336
|
primary,
|
|
4342
4337
|
fallbackFactory: async () => {
|
|
4343
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4338
|
+
const { MemoryIndexManager } = await import("./manager-HASZR70T.js").then((n) => n.n);
|
|
4344
4339
|
return await MemoryIndexManager.get(params);
|
|
4345
4340
|
}
|
|
4346
4341
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -4353,7 +4348,7 @@ async function getMemorySearchManager(params) {
|
|
|
4353
4348
|
}
|
|
4354
4349
|
}
|
|
4355
4350
|
try {
|
|
4356
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4351
|
+
const { MemoryIndexManager } = await import("./manager-HASZR70T.js").then((n) => n.n);
|
|
4357
4352
|
return { manager: await MemoryIndexManager.get(params) };
|
|
4358
4353
|
} catch (err) {
|
|
4359
4354
|
return {
|
|
@@ -6447,6 +6442,86 @@ function buildEmbeddedSandboxInfo(sandbox, execElevated) {
|
|
|
6447
6442
|
};
|
|
6448
6443
|
}
|
|
6449
6444
|
|
|
6445
|
+
//#endregion
|
|
6446
|
+
//#region src/agents/system-prompt-skills-autoload.ts
|
|
6447
|
+
const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
|
|
6448
|
+
let cachedPackageRoot;
|
|
6449
|
+
function getPackageRoot() {
|
|
6450
|
+
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
6451
|
+
return cachedPackageRoot;
|
|
6452
|
+
}
|
|
6453
|
+
function safeSkillName(name) {
|
|
6454
|
+
return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
|
|
6455
|
+
}
|
|
6456
|
+
function tryLoadSkill(skillName, root) {
|
|
6457
|
+
const skillPath = path.join(root, "skills", skillName, "SKILL.md");
|
|
6458
|
+
try {
|
|
6459
|
+
if (!fs.statSync(skillPath).isFile()) return null;
|
|
6460
|
+
} catch {
|
|
6461
|
+
return null;
|
|
6462
|
+
}
|
|
6463
|
+
try {
|
|
6464
|
+
return fs.readFileSync(skillPath, "utf8");
|
|
6465
|
+
} catch {
|
|
6466
|
+
return null;
|
|
6467
|
+
}
|
|
6468
|
+
}
|
|
6469
|
+
function stripFrontmatter(body) {
|
|
6470
|
+
return body.replace(FRONTMATTER_RE, "").trimStart();
|
|
6471
|
+
}
|
|
6472
|
+
/**
|
|
6473
|
+
* Resolves and loads each named skill. Returns the inlinable Markdown block,
|
|
6474
|
+
* or empty string when no skills loaded / minimal mode / no names supplied.
|
|
6475
|
+
*/
|
|
6476
|
+
function buildAutoLoadedSkillsBlock(opts) {
|
|
6477
|
+
if (opts.minimalMode) return "";
|
|
6478
|
+
const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
6479
|
+
if (names.length === 0) return "";
|
|
6480
|
+
const packageRoot = getPackageRoot();
|
|
6481
|
+
const loaded = [];
|
|
6482
|
+
for (const rawName of names) {
|
|
6483
|
+
const name = rawName.trim();
|
|
6484
|
+
if (!safeSkillName(name)) {
|
|
6485
|
+
logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
|
|
6486
|
+
continue;
|
|
6487
|
+
}
|
|
6488
|
+
let body = null;
|
|
6489
|
+
let source = "bundled";
|
|
6490
|
+
if (opts.workspaceDir) {
|
|
6491
|
+
body = tryLoadSkill(name, opts.workspaceDir);
|
|
6492
|
+
source = "workspace";
|
|
6493
|
+
}
|
|
6494
|
+
if (body === null && packageRoot) {
|
|
6495
|
+
body = tryLoadSkill(name, packageRoot);
|
|
6496
|
+
source = "bundled";
|
|
6497
|
+
}
|
|
6498
|
+
if (body === null) {
|
|
6499
|
+
logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
|
|
6500
|
+
continue;
|
|
6501
|
+
}
|
|
6502
|
+
const stripped = stripFrontmatter(body).trim();
|
|
6503
|
+
if (!stripped) {
|
|
6504
|
+
logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
|
|
6505
|
+
continue;
|
|
6506
|
+
}
|
|
6507
|
+
loaded.push({
|
|
6508
|
+
name,
|
|
6509
|
+
body: stripped,
|
|
6510
|
+
source
|
|
6511
|
+
});
|
|
6512
|
+
}
|
|
6513
|
+
if (loaded.length === 0) return "";
|
|
6514
|
+
return [
|
|
6515
|
+
"",
|
|
6516
|
+
"---",
|
|
6517
|
+
"",
|
|
6518
|
+
"## Auto-loaded Skills",
|
|
6519
|
+
"",
|
|
6520
|
+
loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
|
|
6521
|
+
""
|
|
6522
|
+
].join("\n");
|
|
6523
|
+
}
|
|
6524
|
+
|
|
6450
6525
|
//#endregion
|
|
6451
6526
|
//#region src/agents/system-prompt.ts
|
|
6452
6527
|
function buildSkillsSection(params) {
|
|
@@ -6963,7 +7038,7 @@ function buildToolSummaryMap(tools) {
|
|
|
6963
7038
|
//#endregion
|
|
6964
7039
|
//#region src/agents/pi-embedded-runner/system-prompt.ts
|
|
6965
7040
|
function buildEmbeddedSystemPrompt(params) {
|
|
6966
|
-
|
|
7041
|
+
const corePrompt = buildAgentSystemPrompt({
|
|
6967
7042
|
workspaceDir: params.workspaceDir,
|
|
6968
7043
|
defaultThinkLevel: params.defaultThinkLevel,
|
|
6969
7044
|
reasoningLevel: params.reasoningLevel,
|
|
@@ -6991,6 +7066,14 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
6991
7066
|
contextFiles: params.contextFiles,
|
|
6992
7067
|
memoryCitationsMode: params.memoryCitationsMode
|
|
6993
7068
|
});
|
|
7069
|
+
const promptMode = params.promptMode ?? "full";
|
|
7070
|
+
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
7071
|
+
const skillsBlock = buildAutoLoadedSkillsBlock({
|
|
7072
|
+
skillNames: params.autoLoadInlineSkills ?? [],
|
|
7073
|
+
workspaceDir: params.workspaceDir,
|
|
7074
|
+
minimalMode: isMinimal
|
|
7075
|
+
});
|
|
7076
|
+
return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
|
|
6994
7077
|
}
|
|
6995
7078
|
function createSystemPromptOverride(systemPrompt) {
|
|
6996
7079
|
const override = systemPrompt.trim();
|
|
@@ -8955,7 +9038,7 @@ var GatewayClient = class {
|
|
|
8955
9038
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8956
9039
|
});
|
|
8957
9040
|
}
|
|
8958
|
-
this.ws = new WebSocket
|
|
9041
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
8959
9042
|
this.ws.on("open", () => {
|
|
8960
9043
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8961
9044
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -9174,7 +9257,7 @@ var GatewayClient = class {
|
|
|
9174
9257
|
return null;
|
|
9175
9258
|
}
|
|
9176
9259
|
async request(method, params, opts) {
|
|
9177
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
9260
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
9178
9261
|
const id = randomUUID();
|
|
9179
9262
|
const frame = {
|
|
9180
9263
|
type: "req",
|
|
@@ -10443,7 +10526,7 @@ async function routeReply(params) {
|
|
|
10443
10526
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10444
10527
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10445
10528
|
try {
|
|
10446
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10529
|
+
const { deliverOutboundPayloads } = await import("./deliver-nBdNxMIr.js").then((n) => n.n);
|
|
10447
10530
|
return {
|
|
10448
10531
|
ok: true,
|
|
10449
10532
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -44236,7 +44319,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
44236
44319
|
return;
|
|
44237
44320
|
}
|
|
44238
44321
|
try {
|
|
44239
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
44322
|
+
const { deliverOutboundPayloads } = await import("./deliver-nBdNxMIr.js").then((n) => n.n);
|
|
44240
44323
|
await deliverOutboundPayloads({
|
|
44241
44324
|
cfg: params.cfg,
|
|
44242
44325
|
channel,
|
|
@@ -47682,7 +47765,7 @@ async function describeStickerImage(params) {
|
|
|
47682
47765
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
47683
47766
|
try {
|
|
47684
47767
|
const buffer = await fs$1.readFile(imagePath);
|
|
47685
|
-
const { describeImageWithModel } = await import("./image-
|
|
47768
|
+
const { describeImageWithModel } = await import("./image-CEdTQp1F.js").then((n) => n.n);
|
|
47686
47769
|
return (await describeImageWithModel({
|
|
47687
47770
|
buffer,
|
|
47688
47771
|
fileName: "sticker.webp",
|
|
@@ -48105,7 +48188,7 @@ function createWhatsAppLoginTool() {
|
|
|
48105
48188
|
force: Type.Optional(Type.Boolean())
|
|
48106
48189
|
}),
|
|
48107
48190
|
execute: async (_toolCallId, args) => {
|
|
48108
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
48191
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DyU6qD2X.js");
|
|
48109
48192
|
if ((args?.action ?? "start") === "wait") {
|
|
48110
48193
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
48111
48194
|
return {
|
|
@@ -50431,7 +50514,7 @@ async function preflightDiscordMessage(params) {
|
|
|
50431
50514
|
let preflightTranscript;
|
|
50432
50515
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
50433
50516
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
50434
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
50517
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DlO0Hw-w.js");
|
|
50435
50518
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
50436
50519
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
50437
50520
|
ctx: {
|
|
@@ -54437,27 +54520,27 @@ function isVoiceChannelType(type) {
|
|
|
54437
54520
|
function createDefaultDeps() {
|
|
54438
54521
|
return {
|
|
54439
54522
|
sendMessageWhatsApp: async (...args) => {
|
|
54440
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
54523
|
+
const { sendMessageWhatsApp } = await import("./web-Dbe1DwOE.js");
|
|
54441
54524
|
return await sendMessageWhatsApp(...args);
|
|
54442
54525
|
},
|
|
54443
54526
|
sendMessageTelegram: async (...args) => {
|
|
54444
|
-
const { sendMessageTelegram } = await import("./send-
|
|
54527
|
+
const { sendMessageTelegram } = await import("./send-BtbWvw2k.js").then((n) => n.l);
|
|
54445
54528
|
return await sendMessageTelegram(...args);
|
|
54446
54529
|
},
|
|
54447
54530
|
sendMessageDiscord: async (...args) => {
|
|
54448
|
-
const { sendMessageDiscord } = await import("./send-
|
|
54531
|
+
const { sendMessageDiscord } = await import("./send-DlYO3ExM.js").then((n) => n.t);
|
|
54449
54532
|
return await sendMessageDiscord(...args);
|
|
54450
54533
|
},
|
|
54451
54534
|
sendMessageSlack: async (...args) => {
|
|
54452
|
-
const { sendMessageSlack } = await import("./send-
|
|
54535
|
+
const { sendMessageSlack } = await import("./send-CyPj_MLV.js").then((n) => n.n);
|
|
54453
54536
|
return await sendMessageSlack(...args);
|
|
54454
54537
|
},
|
|
54455
54538
|
sendMessageSignal: async (...args) => {
|
|
54456
|
-
const { sendMessageSignal } = await import("./send-
|
|
54539
|
+
const { sendMessageSignal } = await import("./send-Dn1Pirhx.js").then((n) => n.i);
|
|
54457
54540
|
return await sendMessageSignal(...args);
|
|
54458
54541
|
},
|
|
54459
54542
|
sendMessageIMessage: async (...args) => {
|
|
54460
|
-
const { sendMessageIMessage } = await import("./send-
|
|
54543
|
+
const { sendMessageIMessage } = await import("./send-C4IU_tV3.js").then((n) => n.n);
|
|
54461
54544
|
return await sendMessageIMessage(...args);
|
|
54462
54545
|
}
|
|
54463
54546
|
};
|
|
@@ -57342,7 +57425,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
57342
57425
|
super(options);
|
|
57343
57426
|
}
|
|
57344
57427
|
createWebSocket(url) {
|
|
57345
|
-
return new WebSocket(url, { agent });
|
|
57428
|
+
return new WebSocket$1(url, { agent });
|
|
57346
57429
|
}
|
|
57347
57430
|
}
|
|
57348
57431
|
return new ProxyGatewayPlugin();
|
|
@@ -65287,7 +65370,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
65287
65370
|
});
|
|
65288
65371
|
const deliverSlashPayloads = async (replies) => {
|
|
65289
65372
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
65290
|
-
import("./replies-
|
|
65373
|
+
import("./replies-IkylJ7lX.js").then((n) => n.r),
|
|
65291
65374
|
import("./chunk-BRe1o4Af.js").then((n) => n.s),
|
|
65292
65375
|
import("./markdown-tables-x2Xe2UXh.js").then((n) => n.t)
|
|
65293
65376
|
]);
|
|
@@ -67560,7 +67643,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
67560
67643
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
67561
67644
|
let preflightTranscript;
|
|
67562
67645
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
67563
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
67646
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DlO0Hw-w.js");
|
|
67564
67647
|
preflightTranscript = await transcribeFirstAudio({
|
|
67565
67648
|
ctx: {
|
|
67566
67649
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -69705,23 +69788,23 @@ let webLoginQrPromise = null;
|
|
|
69705
69788
|
let webChannelPromise = null;
|
|
69706
69789
|
let whatsappActionsPromise = null;
|
|
69707
69790
|
function loadWebOutbound() {
|
|
69708
|
-
webOutboundPromise ??= import("./outbound-
|
|
69791
|
+
webOutboundPromise ??= import("./outbound-DVVulk0E.js").then((n) => n.t);
|
|
69709
69792
|
return webOutboundPromise;
|
|
69710
69793
|
}
|
|
69711
69794
|
function loadWebLogin() {
|
|
69712
|
-
webLoginPromise ??= import("./login-
|
|
69795
|
+
webLoginPromise ??= import("./login-Cu0fTI3Z.js").then((n) => n.n);
|
|
69713
69796
|
return webLoginPromise;
|
|
69714
69797
|
}
|
|
69715
69798
|
function loadWebLoginQr() {
|
|
69716
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
69799
|
+
webLoginQrPromise ??= import("./login-qr-DyU6qD2X.js");
|
|
69717
69800
|
return webLoginQrPromise;
|
|
69718
69801
|
}
|
|
69719
69802
|
function loadWebChannel() {
|
|
69720
|
-
webChannelPromise ??= import("./web-
|
|
69803
|
+
webChannelPromise ??= import("./web-Dbe1DwOE.js");
|
|
69721
69804
|
return webChannelPromise;
|
|
69722
69805
|
}
|
|
69723
69806
|
function loadWhatsAppActions() {
|
|
69724
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
69807
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BngdI8G3.js");
|
|
69725
69808
|
return whatsappActionsPromise;
|
|
69726
69809
|
}
|
|
69727
69810
|
function createPluginRuntime() {
|
|
@@ -71596,6 +71679,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
|
|
|
71596
71679
|
}
|
|
71597
71680
|
};
|
|
71598
71681
|
}
|
|
71682
|
+
/**
|
|
71683
|
+
* Override a tool's description while preserving execute, parameters, and
|
|
71684
|
+
* other properties. Used by Stage 2.5 of the prompt-reduction plan to move
|
|
71685
|
+
* usage docs from the system prompt into tool descriptions where they
|
|
71686
|
+
* belong contextually.
|
|
71687
|
+
*
|
|
71688
|
+
* The replacement description should include the upstream's tool-purpose
|
|
71689
|
+
* sentence so models that only read the description (without the prompt
|
|
71690
|
+
* section) still have the same baseline understanding.
|
|
71691
|
+
*/
|
|
71692
|
+
function wrapToolWithDescriptionOverride(tool, description) {
|
|
71693
|
+
return {
|
|
71694
|
+
...tool,
|
|
71695
|
+
description
|
|
71696
|
+
};
|
|
71697
|
+
}
|
|
71599
71698
|
function wrapToolWorkspaceRootGuard(tool, root) {
|
|
71600
71699
|
return {
|
|
71601
71700
|
...tool,
|
|
@@ -71836,6 +71935,26 @@ function resolveToolLoopDetectionConfig(params) {
|
|
|
71836
71935
|
}
|
|
71837
71936
|
};
|
|
71838
71937
|
}
|
|
71938
|
+
/**
|
|
71939
|
+
* Edit tool description. Replaces the upstream's terse one-liner with
|
|
71940
|
+
* usage notes migrated from the system prompt's "Edit Tool Best Practices"
|
|
71941
|
+
* section in Stage 2.5 of the prompt-reduction plan. Co-locating these
|
|
71942
|
+
* notes with the tool means they ship only when edit is in palette, and
|
|
71943
|
+
* the system prompt section can be deleted in Stage 4 without losing the
|
|
71944
|
+
* guidance.
|
|
71945
|
+
*
|
|
71946
|
+
* Combined with the read-before-edit guard (Stage 1.3) and the model's
|
|
71947
|
+
* own discipline, this should kill the hallucinated-oldText failure class
|
|
71948
|
+
* for any well-intentioned model.
|
|
71949
|
+
*/
|
|
71950
|
+
const EDIT_TOOL_DESCRIPTION = [
|
|
71951
|
+
"Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
|
|
71952
|
+
"Best practices to avoid match failures:",
|
|
71953
|
+
"- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
|
|
71954
|
+
"- 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.",
|
|
71955
|
+
"- 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.",
|
|
71956
|
+
"- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
|
|
71957
|
+
].join(" ");
|
|
71839
71958
|
function createSymiCodingTools(options) {
|
|
71840
71959
|
const execToolName = "exec";
|
|
71841
71960
|
const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
|
|
@@ -71924,7 +72043,7 @@ function createSymiCodingTools(options) {
|
|
|
71924
72043
|
}
|
|
71925
72044
|
if (tool.name === "edit") {
|
|
71926
72045
|
if (sandboxRoot) return [];
|
|
71927
|
-
const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
|
|
72046
|
+
const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
|
|
71928
72047
|
return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
|
|
71929
72048
|
}
|
|
71930
72049
|
return [tool];
|
|
@@ -73687,7 +73806,8 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
73687
73806
|
userTime,
|
|
73688
73807
|
userTimeFormat,
|
|
73689
73808
|
contextFiles,
|
|
73690
|
-
memoryCitationsMode: params.config?.memory?.citations
|
|
73809
|
+
memoryCitationsMode: params.config?.memory?.citations,
|
|
73810
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
73691
73811
|
}));
|
|
73692
73812
|
const sessionLock = await acquireSessionWriteLock({
|
|
73693
73813
|
sessionFile: params.sessionFile,
|
|
@@ -77877,7 +77997,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
77877
77997
|
userTime,
|
|
77878
77998
|
userTimeFormat,
|
|
77879
77999
|
contextFiles,
|
|
77880
|
-
memoryCitationsMode: params.config?.memory?.citations
|
|
78000
|
+
memoryCitationsMode: params.config?.memory?.citations,
|
|
78001
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
77881
78002
|
});
|
|
77882
78003
|
const systemPromptReport = buildSystemPromptReport({
|
|
77883
78004
|
source: "run",
|