@symerian/symi 2.9.1 → 2.9.3
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-BNM6b6XY.js → acp-cli-Bc6ZQZ4f.js} +2 -2
- package/dist/{acp-cli-DXsJS3-G.js → acp-cli-Dy9QuDBN.js} +2 -2
- package/dist/{agents-FNeM-byc.js → agents-D6V_7iZL.js} +7 -7
- package/dist/{agents.config-CjML1ogJ.js → agents.config-B-NRTvyi.js} +1 -1
- package/dist/{agents.config-DUYDFbfP.js → agents.config-BeX0kxT3.js} +1 -1
- package/dist/{audio-preflight-CwbuWmdG.js → audio-preflight-8UNY1akA.js} +11 -11
- package/dist/{audio-preflight-SaT5IcVn.js → audio-preflight-By0dnw-T.js} +11 -11
- package/dist/{audio-preflight-DlO0Hw-w.js → audio-preflight-CbyJ_yDs.js} +5 -5
- package/dist/{audio-preflight-CMutcMs5.js → audio-preflight-Dtsvq6Hj.js} +6 -6
- package/dist/{audit-qWCLpveM.js → audit-DGwhL71Q.js} +5 -5
- package/dist/{audit-Ojap-R-Y.js → audit-OPWWS900.js} +5 -5
- package/dist/{auth-choice-BjTiWmH-.js → auth-choice-4lzxjIcf.js} +4 -4
- package/dist/{auth-choice-RQ5keocP.js → auth-choice-BJQjxe_Y.js} +4 -4
- package/dist/{banner-dYiFXA70.js → banner-Q3fjWWy3.js} +1 -1
- package/dist/{browser-cli-BQ9jHIXP.js → browser-cli-CGLTZ9KQ.js} +3 -3
- package/dist/{browser-cli-BW0C5Y8-.js → browser-cli-qpJlsofO.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-X_vwo309.js → call-BCTAmPye.js} +1 -1
- package/dist/{call-BZbBLMOq.js → call-BIETyST6.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-DqXYA7rM.js → channel-options-CQ0Q0xZr.js} +1 -1
- package/dist/{channel-options-CjZlTumK.js → channel-options-D6U_Dpa2.js} +1 -1
- package/dist/{channel-web-BITaNjFT.js → channel-web-D6aolbVC.js} +7 -7
- package/dist/{channels-cli-C8CesA1x.js → channels-cli-By4y_t51.js} +31 -31
- package/dist/{channels-cli-7cDtM5kW.js → channels-cli-CxuKeNkr.js} +30 -30
- package/dist/{chrome-t-stBgN6.js → chrome-B-hW5hrK.js} +1 -1
- package/dist/{chrome-B1zznUiv.js → chrome-CJHOBnUB.js} +1 -1
- package/dist/{chrome-faqXQ9f1.js → chrome-CO5ZhkcZ.js} +1 -1
- package/dist/{chrome-BFDOGeu3.js → chrome-CtTba9sH.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-ZC_92Xyn.js → cli-41r_BAjv.js} +26 -26
- package/dist/{cli-BJ9_X9eE.js → cli-B1gtEojq.js} +27 -27
- package/dist/{command-registry-B1ltIC7z.js → command-registry-FJWuYmEn.js} +11 -11
- package/dist/{completion-cli-KSs4eFcq.js → completion-cli-C20c_vzO.js} +1 -1
- package/dist/{completion-cli-_P0e-rhC.js → completion-cli-DWVW4P54.js} +2 -2
- package/dist/{config-BYCtuYPj.js → config-CitI_jxW.js} +6 -0
- package/dist/{config-CbBZUq-Q.js → config-D7Zr88dI.js} +6 -0
- package/dist/{config-BXMAsmut.js → config-Do4JxgLI.js} +6 -0
- package/dist/{config-DE6JXMtt.js → config-Gfhqs66L.js} +6 -0
- package/dist/{config-cli-DIrPShKH.js → config-cli-CJQ-12f7.js} +2 -2
- package/dist/{config-cli-DjCKp4Pe.js → config-cli-CLXuCFJc.js} +2 -2
- package/dist/{config-guard-BrZXdLQw.js → config-guard-BLcbR_sH.js} +2 -2
- package/dist/{config-guard-DYmSI51f.js → config-guard-CgPPAm7S.js} +3 -3
- package/dist/{config-validation-CNRgc5vc.js → config-validation-B6GnatLw.js} +1 -1
- package/dist/{config-validation-fdYfdAc3.js → config-validation-UMq2H_tR.js} +1 -1
- package/dist/{configure-Ds8SzTEw.js → configure-DrIhqYYW.js} +10 -10
- package/dist/{configure-CsZWO6Nr.js → configure-I99ztt2Y.js} +10 -10
- package/dist/{control-service-DQX3HXS4.js → control-service-BkyH7qkF.js} +4 -4
- package/dist/{control-service-B5HVCnUI.js → control-service-DnNPjFvU.js} +4 -4
- package/dist/{cron-cli-CfSmL43G.js → cron-cli-CcgewYtp.js} +3 -3
- package/dist/{cron-cli-D2L3-4aw.js → cron-cli-DEcQk1bb.js} +3 -3
- package/dist/{daemon-cli-D9_xrFGD.js → daemon-cli-BNZu5unw.js} +6 -6
- package/dist/{daemon-cli-BHwfgmrQ.js → daemon-cli-BiBjGGfw.js} +6 -6
- package/dist/daemon-cli.js +6 -0
- package/dist/{daemon-runtime-BiZG4Kqi.js → daemon-runtime-C-Mwepv_.js} +1 -1
- package/dist/{daemon-runtime-DOqm0LLm.js → daemon-runtime-C86WnKU5.js} +1 -1
- package/dist/{deliver-nBdNxMIr.js → deliver-D5655IkX.js} +2 -2
- package/dist/{deliver-CeNdvQJ3.js → deliver-DaRQn5Ai.js} +3 -3
- package/dist/{deliver-Cqk3zmyW.js → deliver-DrgHcdVo.js} +3 -3
- package/dist/{deliver--ff__Iq0.js → deliver-XYF4JahT.js} +2 -2
- package/dist/{devices-cli-BzyrjuAk.js → devices-cli-Wb4H-vyx.js} +2 -2
- package/dist/{devices-cli-CEvTb9Vr.js → devices-cli-hX2lrsCy.js} +2 -2
- package/dist/{directory-cli-KZHlp_jk.js → directory-cli-CLIYvXkV.js} +1 -1
- package/dist/{directory-cli-Ds7uESrp.js → directory-cli-C_vm-dsr.js} +1 -1
- package/dist/{dns-cli-e8z7wTzi.js → dns-cli-BJuUZ4pr.js} +1 -1
- package/dist/{dns-cli-SNU_PJfw.js → dns-cli-CTCAHPcB.js} +1 -1
- package/dist/{doctor-completion-D4bMStWc.js → doctor-completion-B4pjrehH.js} +1 -1
- package/dist/{doctor-completion-CfGWMYVG.js → doctor-completion-C9A7E6Wb.js} +1 -1
- package/dist/{doctor-config-flow-CJ4__c8U.js → doctor-config-flow-BFHsvL2k.js} +2 -2
- package/dist/{doctor-config-flow-DHXFFSRu.js → doctor-config-flow-l2aPNzHP.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-z9Iy8aWD.js → exec-approvals-cli-BXDSu2Ze.js} +4 -4
- package/dist/{exec-approvals-cli-_AbKrXIH.js → exec-approvals-cli-uAM6-swA.js} +4 -4
- package/dist/extensionAPI.js +16 -16
- package/dist/{gateway-cli-B4ElmhPF.js → gateway-cli-BByLEck3.js} +42 -42
- package/dist/{gateway-cli-CfO9aUt0.js → gateway-cli-cZpbavO4.js} +43 -43
- package/dist/{gateway-rpc-D1S1i5HM.js → gateway-rpc-DMEPdgmc.js} +1 -1
- package/dist/{gateway-rpc-BlWORxUe.js → gateway-rpc-Wa_4MrZb.js} +1 -1
- package/dist/{glass-ui-ws-D1UKJUFI.js → glass-ui-ws-09XXkYnX.js} +35 -35
- package/dist/{glass-ui-ws-Bhu3COgn.js → glass-ui-ws-DUHaC6lE.js} +34 -34
- package/dist/{health-CLRDrjsk.js → health-Bvo3NXZK.js} +5 -5
- package/dist/{health-CCslN1xh.js → health-CYHbTw04.js} +5 -5
- package/dist/{hooks-cli-BrVLhsJ6.js → hooks-cli-BwFW4lKC.js} +27 -27
- package/dist/{hooks-cli-DvLYXNNe.js → hooks-cli-CiFs-0g0.js} +28 -28
- package/dist/{image-D5bsPk2_.js → image-BjyeKf1c.js} +2 -2
- package/dist/{image-CEdTQp1F.js → image-BqpivNGG.js} +2 -2
- package/dist/{image-B6aY1oY3.js → image-GaF72sln.js} +2 -2
- package/dist/{image-Cp6qRPZ2.js → image-dYtWZNKT.js} +2 -2
- package/dist/index.js +35 -35
- package/dist/{lifecycle-core-CcPnnp9c.js → lifecycle-core-BMVHLJi_.js} +2 -2
- package/dist/{lifecycle-core-BUGPz1GT.js → lifecycle-core-HOQrbQ-_.js} +2 -2
- package/dist/llm-slug-generator.js +14 -14
- package/dist/{login-DwBazcKM.js → login-Cd4DTmg6.js} +2 -2
- package/dist/{login-B7OJui4y.js → login-Cv_LYGzG.js} +2 -2
- package/dist/{login-DKeZ-sOf.js → login-D4OYfM0U.js} +2 -2
- package/dist/{login-Cu0fTI3Z.js → login-DqhTprwd.js} +2 -2
- package/dist/{login-qr-BBrzemk7.js → login-qr-CZXIrzvh.js} +2 -2
- package/dist/{login-qr-DyU6qD2X.js → login-qr-DiyxAHpv.js} +2 -2
- package/dist/{login-qr-CtELJan3.js → login-qr-Dq_hs3eJ.js} +2 -2
- package/dist/{login-qr-Ft17VIG6.js → login-qr-Xgw7JPYo.js} +2 -2
- package/dist/{logs-cli-CvgvoxvI.js → logs-cli-DZTxEhiM.js} +3 -3
- package/dist/{logs-cli-Dg6OSEA6.js → logs-cli-Dh-aAqF3.js} +3 -3
- package/dist/{manager-CztTHQhN.js → manager-Bj8GFlcZ.js} +1 -1
- package/dist/{manager-8N1YbbDk.js → manager-BsfrsBPw.js} +1 -1
- package/dist/{manager-OSWCBsL_.js → manager-CB20PmUH.js} +1 -1
- package/dist/{manager-HASZR70T.js → manager-CMB15ft8.js} +1 -1
- package/dist/{memory-cli-BDWdeqta.js → memory-cli-CoTkaEhh.js} +4 -4
- package/dist/{memory-cli-BmWvHCEJ.js → memory-cli-Cuhhh4qN.js} +4 -4
- package/dist/{model-catalog-BhW-vn5v.js → model-catalog-BFJW_s3i.js} +2 -2
- package/dist/{model-catalog-FckJ4pcL.js → model-catalog-DRqmevpR.js} +2 -2
- package/dist/{model-picker-D3ii5sBm.js → model-picker-BT8MumhL.js} +2 -2
- package/dist/{model-picker-DEUeht6L.js → model-picker-DhsG4iZa.js} +2 -2
- package/dist/{models-5C-QKF0q.js → models-CdIe1IJX.js} +8 -8
- package/dist/{models-cli-BqW-Y1GI.js → models-cli-CZcMWBL0.js} +30 -30
- package/dist/{models-cli-B2IebIhR.js → models-cli-o07a-fh5.js} +29 -29
- package/dist/{models-config-DGDMieos.js → models-config-DdK8uWQW.js} +1 -1
- package/dist/{models-config-CHVfeRDR.js → models-config-frWb8fDT.js} +1 -1
- package/dist/{node-cli-hAxte5bw.js → node-cli-DB4Z23h8.js} +9 -9
- package/dist/{node-cli-emEb0aRo.js → node-cli-DcRlL2Np.js} +9 -9
- package/dist/{nodes-cli-DQPQqEYN.js → nodes-cli-B42u9UxB.js} +3 -3
- package/dist/{nodes-cli-yd9KABqj.js → nodes-cli-DQ9YsQmy.js} +3 -3
- package/dist/{onboard-BL7Ei8OA.js → onboard-44op-88v.js} +7 -7
- package/dist/{onboard-o5O2Ipvr.js → onboard-Cjlal6-V.js} +7 -7
- package/dist/{onboard-channels-B-PEQmiI.js → onboard-channels-BseAErC9.js} +1 -1
- package/dist/{onboard-channels-Do0lkLVV.js → onboard-channels-Lt1TlRrb.js} +1 -1
- package/dist/{onboard-custom-BVMtQfB1.js → onboard-custom-7TON2w6b.js} +2 -2
- package/dist/{onboard-custom-CVA34zSg.js → onboard-custom-Bb3xuH0G.js} +2 -2
- package/dist/{onboard-helpers-O6bxf40E.js → onboard-helpers-BiCrYw-N.js} +2 -2
- package/dist/{onboard-helpers-CNFdWQIV.js → onboard-helpers-Ca4KojJF.js} +2 -2
- package/dist/{onboard-remote-QMqQxvh7.js → onboard-remote-B8MQTgX-.js} +1 -1
- package/dist/{onboard-remote-uYveiXQe.js → onboard-remote-IMqgmH78.js} +1 -1
- package/dist/{onboard-skills-CLb94Ag2.js → onboard-skills-BP1P7f-w.js} +1 -1
- package/dist/{onboard-skills-Du3aWSN3.js → onboard-skills-BcvPjVfl.js} +1 -1
- package/dist/{onboarding-B_F_DbjQ.js → onboarding-DODsq7cg.js} +10 -10
- package/dist/{onboarding-3DwQLO4z.js → onboarding-DYJYybkl.js} +10 -10
- package/dist/{onboarding.finalize-BWejCrVi.js → onboarding.finalize-BX-xeFu7.js} +32 -32
- package/dist/{onboarding.finalize-D_G6Tcqi.js → onboarding.finalize-DhhWr8GR.js} +34 -34
- package/dist/{onboarding.gateway-config-D8K7HsWb.js → onboarding.gateway-config-Cp8mV8S9.js} +4 -4
- package/dist/{onboarding.gateway-config-Dixr8mmH.js → onboarding.gateway-config-tmzsyFbT.js} +4 -4
- package/dist/{outbound-CLCy4Nsg.js → outbound-BD7PNRhC.js} +1 -1
- package/dist/{outbound-DVVulk0E.js → outbound-BaF9dF-H.js} +1 -1
- package/dist/{outbound-b9pVFyW7.js → outbound-CDuo0JH3.js} +1 -1
- package/dist/{outbound-DlWjA7jN.js → outbound-CPcVipU-.js} +1 -1
- package/dist/{pairing-cli-Cgj6qx8Z.js → pairing-cli-CfuG75IW.js} +1 -1
- package/dist/{pairing-cli-CchjvjCR.js → pairing-cli-K09J3MIl.js} +1 -1
- package/dist/{pi-embedded-q_tNOp_h.js → pi-embedded-UMBd-Mrj.js} +405 -88
- package/dist/{pi-embedded-helpers-BgpogTwt.js → pi-embedded-helpers-BlL08R8g.js} +1 -1
- package/dist/{pi-embedded-helpers-DrAT2ieP.js → pi-embedded-helpers-CU-kYRrF.js} +5 -5
- package/dist/{pi-embedded-helpers-DK2WpZI8.js → pi-embedded-helpers-CmY04lZ7.js} +1 -1
- package/dist/{pi-embedded-helpers-BPP4adeW.js → pi-embedded-helpers-DuZtk5SK.js} +6 -6
- package/dist/{pi-tools.policy-BE7fB_Cf.js → pi-tools.policy-54ABEJtH.js} +2 -2
- package/dist/{pi-tools.policy-GxaAKOgf.js → pi-tools.policy-BFsWV2pS.js} +2 -2
- package/dist/{plugin-registry-B_KRAoou.js → plugin-registry-Di_isjUm.js} +2 -2
- package/dist/{plugin-registry-CRIH5Sdf.js → plugin-registry-HrZC-Iww.js} +2 -2
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +23 -0
- package/dist/plugin-sdk/agents/skills/triggers.d.ts +12 -0
- package/dist/plugin-sdk/agents/system-prompt-skills-jit.d.ts +28 -0
- package/dist/plugin-sdk/agents/system-prompt.d.ts +17 -0
- package/dist/plugin-sdk/agents/tools/skill-search-tool.d.ts +30 -0
- package/dist/plugin-sdk/{audio-preflight-CwMsvdv8.js → audio-preflight-CoKYDdd4.js} +6 -6
- package/dist/plugin-sdk/{channel-web-CiewzSOW.js → channel-web-CzZZsS3O.js} +7 -7
- package/dist/plugin-sdk/{chrome-Cou8jVJ2.js → chrome-CdjVSHtz.js} +1 -1
- package/dist/plugin-sdk/config/types.skills.d.ts +14 -0
- package/dist/plugin-sdk/config/types.symi.d.ts +7 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
- package/dist/plugin-sdk/{config-DQntj58u.js → config-Cf-PzD3r.js} +6 -0
- package/dist/plugin-sdk/{deliver-OVx3XKTy.js → deliver-hjUeDZ7e.js} +2 -2
- package/dist/plugin-sdk/{image-ChrcMCo_.js → image-CS95I-I5.js} +2 -2
- package/dist/plugin-sdk/index.js +20 -20
- package/dist/plugin-sdk/{login-WuhOM4Dg.js → login-BhLw-aw1.js} +2 -2
- package/dist/plugin-sdk/{login-qr-C87Q7LuN.js → login-qr-B4dxH543.js} +2 -2
- package/dist/plugin-sdk/{manager-Yvm-LGVR.js → manager-BiRYpsW7.js} +1 -1
- package/dist/plugin-sdk/{outbound-T0XdUo-H.js → outbound-D7yJKgEX.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DihvU43r.js → pi-embedded-helpers-6EL59cK1.js} +6 -6
- package/dist/plugin-sdk/{pw-ai-DUQ9kG2D.js → pw-ai-DWcXZkbZ.js} +2 -2
- package/dist/plugin-sdk/{replies-DD0EJRXx.js → replies-B4fizDsZ.js} +1 -1
- package/dist/plugin-sdk/{reply-I6ZFg_UE.js → reply-DYEklKOc.js} +410 -93
- package/dist/plugin-sdk/{runner-IyZnVyIT.js → runner-D9c_MNRa.js} +2 -2
- package/dist/plugin-sdk/{send-Do_qdBr_.js → send-BAzimHH-.js} +1 -1
- package/dist/plugin-sdk/{send-DxXXcQ_o.js → send-BfqyNBU1.js} +1 -1
- package/dist/plugin-sdk/{send-Cxr9NnOd.js → send-CF7BhO8B.js} +1 -1
- package/dist/plugin-sdk/{send-SRQweHTE.js → send-CJIEYVXL.js} +1 -1
- package/dist/plugin-sdk/{send-Dd71o3sZ.js → send-DDpZS9jb.js} +1 -1
- package/dist/plugin-sdk/{session-LEZ8u8RX.js → session-BfTQAyNx.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-DEfqC_kJ.js → skill-commands-C70yD9PL.js} +1 -1
- package/dist/plugin-sdk/{skills-C9DbB-Kp.js → skills-DuQ-xGok.js} +1 -1
- package/dist/plugin-sdk/{synthesis-bQ4DMwsj.js → synthesis-CaDiVumM.js} +16 -16
- package/dist/plugin-sdk/{web-C3YuHiih.js → web-DU4xaLZf.js} +20 -20
- package/dist/plugin-sdk/{whatsapp-actions-ClWxTG5S.js → whatsapp-actions-B_3do0s7.js} +2 -2
- package/dist/{plugins-cli-Co9cRpLe.js → plugins-cli-BlBz4J4q.js} +27 -27
- package/dist/{plugins-cli-MDYiXsRL.js → plugins-cli-CMz1ww6G.js} +28 -28
- package/dist/{program-context-m9C36Cuq.js → program-context-ByWsh-2T.js} +38 -38
- package/dist/{program-BWqVPm5t.js → program-dFZ5CYgD.js} +34 -34
- package/dist/{prompt-select-styled-DzjQVaDM.js → prompt-select-styled-BkwnTGjt.js} +15 -15
- package/dist/{prompt-select-styled-BKJVEVPk.js → prompt-select-styled-nywEyQoQ.js} +15 -15
- package/dist/{provider-auth-helpers-DaTqy1aA.js → provider-auth-helpers-CQ604vQz.js} +2 -2
- package/dist/{provider-auth-helpers-DYJ-0sNe.js → provider-auth-helpers-CgJE4rvP.js} +2 -2
- package/dist/{push-apns-_aeFBwsP.js → push-apns-CQlSAman.js} +1 -1
- package/dist/{push-apns-DdQlLTpV.js → push-apns-CbjqnCIn.js} +1 -1
- package/dist/{pw-ai-DSmC8YuO.js → pw-ai-B8IypzYb.js} +2 -2
- package/dist/{pw-ai-D9ZuX3U6.js → pw-ai-BYRvpqBg.js} +2 -2
- package/dist/{pw-ai-Bpp0J0PM.js → pw-ai-BjfsUmjw.js} +2 -2
- package/dist/{pw-ai-XSTIQILG.js → pw-ai-BwKx4yAQ.js} +2 -2
- package/dist/{qr-cli-DtHLOD1G.js → qr-cli-B7hz3Zj2.js} +1 -1
- package/dist/{qr-cli-Dq9G8FPl.js → qr-cli-Zf3abH3y.js} +1 -1
- package/dist/{register.agent-RNTVF_Nk.js → register.agent-BaLgPcGg.js} +33 -33
- package/dist/{register.agent-Hi0PN67T.js → register.agent-Hw7FS0tf.js} +35 -35
- package/dist/{register.configure-Dp-F_KKy.js → register.configure-BC-jW4EY.js} +37 -37
- package/dist/{register.configure-DE2Fg1dO.js → register.configure-D6bKnyeR.js} +38 -38
- package/dist/{register.maintenance-Bbd-g7nL.js → register.maintenance-7LeID6wA.js} +37 -37
- package/dist/{register.maintenance-QHRRhtsg.js → register.maintenance-DQ73gAH0.js} +35 -35
- package/dist/{register.message-B5uWOXev.js → register.message-D2Ubr7KY.js} +27 -27
- package/dist/{register.message-BvutRi1a.js → register.message-odamuJP5.js} +28 -28
- package/dist/{register.onboard-DRHuoRTm.js → register.onboard-Bv3BjuIZ.js} +33 -33
- package/dist/{register.onboard-CNOh527M.js → register.onboard-DwYvxoBx.js} +34 -34
- package/dist/{register.setup-Cj0oOZqL.js → register.setup-B6ylBd_s.js} +33 -33
- package/dist/{register.setup-D1ePW7dl.js → register.setup-BvNMj7Tn.js} +34 -34
- package/dist/{register.status-health-sessions-DfyO7JaH.js → register.status-health-sessions-Bx0oTY_P.js} +30 -30
- package/dist/{register.status-health-sessions-sf1XzcPo.js → register.status-health-sessions-Cr65vOYW.js} +32 -32
- package/dist/{register.subclis-Do_HdpUT.js → register.subclis-BzbNYOC6.js} +28 -28
- package/dist/{replies-IkylJ7lX.js → replies-A6SltFjk.js} +1 -1
- package/dist/{replies-CPhYC11m.js → replies-CsNZ9ImJ.js} +1 -1
- package/dist/{replies-BxvfG7Oj.js → replies-Dk0cnpHa.js} +1 -1
- package/dist/{replies-BV7oFP7Z.js → replies-Dmo0pSSf.js} +1 -1
- package/dist/{reply-DEub7xci.js → reply-Bymjl4wV.js} +417 -99
- package/dist/{routes-n7RUgOOW.js → routes-B3wAMCSw.js} +3 -3
- package/dist/{routes-Evl8vnTV.js → routes-DH2Da7TP.js} +3 -3
- package/dist/{rpc-3T_LjHn1.js → rpc-BPtq6BO7.js} +1 -1
- package/dist/{rpc-DeJsMHDF.js → rpc-DCB41PXt.js} +1 -1
- package/dist/{run-main-B_ZLo4JR.js → run-main-BAaL6QjO.js} +45 -45
- package/dist/{runner-CiThXXY3.js → runner-CY_8vnxU.js} +3 -3
- package/dist/{runner-B_6xBcPB.js → runner-Dbs3i8HW.js} +2 -2
- package/dist/{runner-CMvsDzah.js → runner-DzNo-GCz.js} +2 -2
- package/dist/{runner-BX-ap4VU.js → runner-Im1oOE3i.js} +3 -3
- package/dist/{sandbox-T9SO3y3b.js → sandbox-BTziorto.js} +5 -5
- package/dist/{sandbox-cli-MZJX1Ht6.js → sandbox-cli-BVpVuidu.js} +6 -6
- package/dist/{sandbox-cli-Bi8lblc6.js → sandbox-cli-rOwF1Yuh.js} +6 -6
- package/dist/{sandbox-BQ5LAIBQ.js → sandbox-wUKYI3zy.js} +5 -5
- package/dist/{security-cli-AZBZs6ww.js → security-cli-Bb4vR6LY.js} +9 -9
- package/dist/{security-cli-txjMZzBx.js → security-cli-Cg7KhJC7.js} +9 -9
- package/dist/{send-CcD9S5so.js → send-8Gw3YmOh.js} +1 -1
- package/dist/{send-BtbWvw2k.js → send-90t8KM2a.js} +1 -1
- package/dist/{send-DlYO3ExM.js → send-9ktd0CBZ.js} +1 -1
- package/dist/{send-C6-rN_Li.js → send-B0szkIfv.js} +1 -1
- package/dist/{send-CyPj_MLV.js → send-B7kMNQ-T.js} +1 -1
- package/dist/{send-DNqcjLyg.js → send-BbZtP8GJ.js} +1 -1
- package/dist/{send-C4IU_tV3.js → send-CQj8FBE3.js} +1 -1
- package/dist/{send-Bi8XhwOZ.js → send-Cxr6CgGf.js} +1 -1
- package/dist/{send-CfejAK2u.js → send-D27q8Oqo.js} +1 -1
- package/dist/{send-CupfdYEg.js → send-D4GfXudZ.js} +1 -1
- package/dist/{send-BPBFuPrC.js → send-D5Siw6wn.js} +1 -1
- package/dist/{send-BUBES34Y.js → send-DanpvmZQ.js} +1 -1
- package/dist/{send-CSkNKYIc.js → send-DbJsN7Lj.js} +1 -1
- package/dist/{send-dohExhb8.js → send-Dj6_LS_W.js} +1 -1
- package/dist/{send-vmIzYMwN.js → send-F2Cpm-SJ.js} +1 -1
- package/dist/{send-BaSqjfd_.js → send-aXMPprv9.js} +1 -1
- package/dist/{send-_CmB6CKB.js → send-depbZ9aA.js} +1 -1
- package/dist/{send-llekTUks.js → send-nRhkxbqX.js} +1 -1
- package/dist/{send-CoSPwGiI.js → send-t_DoGd2Y.js} +1 -1
- package/dist/{send-Dn1Pirhx.js → send-zMHWALCW.js} +1 -1
- package/dist/{server-context-CGMSzPWd.js → server-context-BPuBLXYG.js} +5 -5
- package/dist/{server-context-BkYSrDni.js → server-context-DQIkGNj2.js} +5 -5
- package/dist/{server-methods-C-itThFa.js → server-methods-C4j7W_qQ.js} +17 -17
- package/dist/{server-methods-P-ayY-6k.js → server-methods-Ds4i0Q2F.js} +16 -16
- package/dist/{server-node-events-D5ee96aZ.js → server-node-events-D0gNq3h6.js} +27 -27
- package/dist/{server-node-events-tvNFkev2.js → server-node-events-tbjGwgHF.js} +28 -28
- package/dist/{session-CifmyF9K.js → session-C4odFBc2.js} +1 -1
- package/dist/{session-bvybh7vL.js → session-CTTpxOx1.js} +1 -1
- package/dist/{session-CMploMg7.js → session-Cs58by4_.js} +1 -1
- package/dist/{session-DQimwuIx.js → session-d5_vMl76.js} +1 -1
- package/dist/{session-utils-DQ-t0PxQ.js → session-utils--1xVj2BC.js} +3 -3
- package/dist/{sessions-BIsirZy0.js → sessions-BikjOqQs.js} +3 -3
- package/dist/{sessions-BKn2DFYs.js → sessions-CVWGQEWu.js} +1 -1
- package/dist/{sessions-DCr5nAOw.js → sessions-CpDbQNFu.js} +1 -1
- package/dist/{shared-iaXjUnvo.js → shared-DHpMu95O.js} +1 -1
- package/dist/{shared-F4GNd-mC.js → shared-NCp143fJ.js} +1 -1
- package/dist/{skill-commands-CSF7Poen.js → skill-commands-QmLQo8Tj.js} +1 -1
- package/dist/{skills-XEbTRNYL.js → skills-D0hfZgFz.js} +1 -1
- package/dist/{skills-cli-BX1J5GLJ.js → skills-cli-6wYY0Xes.js} +1 -1
- package/dist/{skills-cli-CZgrqMPo.js → skills-cli-CkTThcTU.js} +1 -1
- package/dist/{status-BlTLrS6h.js → status-BdkVcIDX.js} +2 -2
- package/dist/{status-BqjF9Q9S.js → status-BfNSBvnp.js} +9 -9
- package/dist/{status-CfIkReeE.js → status-CGabcN-L.js} +10 -10
- package/dist/{status-DjvBeoYl.js → status-DpVc9DSG.js} +2 -2
- package/dist/{status.update-C5evp93A.js → status.update-BSaVYFQv.js} +1 -1
- package/dist/{status.update-BZnfRS2e.js → status.update-DoXJrRh6.js} +1 -1
- package/dist/{subagent-registry-DVYhalAo.js → subagent-registry-0D_yjdW5.js} +413 -95
- package/dist/{synthesis-DRXsTePq.js → synthesis-1f-yGtS7.js} +26 -26
- package/dist/{synthesis-y-Ozm8YK.js → synthesis-A2SfvBRN.js} +27 -27
- package/dist/{synthesis-DDQ5zAtf.js → synthesis-Bf2XnlvP.js} +16 -16
- package/dist/{synthesis-DgiYnjmZ.js → synthesis-DFQ_rjEF.js} +14 -14
- package/dist/{system-cli-IeefTiI1.js → system-cli-BmccUOcE.js} +3 -3
- package/dist/{system-cli-hjvWuxnn.js → system-cli-DJIrqTFB.js} +3 -3
- package/dist/{systemd-hints-CW7G2Z_2.js → systemd-hints-BbqPFaZ2.js} +1 -1
- package/dist/{systemd-hints-CcsN2P1C.js → systemd-hints-CfnF9j3s.js} +1 -1
- package/dist/{tui-DulNash-.js → tui-Cc1L4YuN.js} +4 -4
- package/dist/{tui-ByDc_eA-.js → tui-D5we2kr7.js} +4 -4
- package/dist/{tui-cli-cbFjX5ua.js → tui-cli-BHBp8e8w.js} +9 -9
- package/dist/{tui-cli-D--Wucil.js → tui-cli-CmVmkEzr.js} +9 -9
- package/dist/{unified-runner-BRmPenSK.js → unified-runner-j_Vn4K8X.js} +408 -90
- package/dist/{update-cli-5uhTWLns.js → update-cli-B3t4yUU6.js} +38 -38
- package/dist/{update-cli-BfvcUFky.js → update-cli-CWMGbbPM.js} +40 -40
- package/dist/{update-runner-DyENgdTM.js → update-runner-CfzHxbsu.js} +1 -1
- package/dist/{update-runner-22u8HOoq.js → update-runner-UfVHKth_.js} +1 -1
- package/dist/{web-Dbe1DwOE.js → web-BSf9H0_w.js} +17 -17
- package/dist/{web-s9NWpUYH.js → web-DCTvbYTy.js} +30 -30
- package/dist/{web-CqeSgivQ.js → web-DIDhNbES.js} +30 -30
- package/dist/{web-B8GaP73t.js → web-DaChMSyM.js} +19 -19
- package/dist/{webhooks-cli-9lyrT9S-.js → webhooks-cli-BPWIcZ4r.js} +1 -1
- package/dist/{webhooks-cli-C56QoA-d.js → webhooks-cli-DCw-yCzR.js} +1 -1
- package/dist/{whatsapp-actions-Dx8FkbIf.js → whatsapp-actions-B5o7eFIc.js} +2 -2
- package/dist/{whatsapp-actions-D5RBK0Cm.js → whatsapp-actions-CJkCiI_n.js} +2 -2
- package/dist/{whatsapp-actions-BV4mjN5j.js → whatsapp-actions-CkT3dnmD.js} +2 -2
- package/dist/{whatsapp-actions-BngdI8G3.js → whatsapp-actions-DRvUrapa.js} +2 -2
- package/dist/{with-timeout-7gwjaz5c.js → with-timeout-7M4c248g.js} +1 -1
- package/dist/{with-timeout-C1vsg3IF.js → with-timeout-BWETfI9T.js} +1 -1
- package/docs/capabilities.md +153 -0
- 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
- package/skills/1password/SKILL.md +1 -0
- package/skills/apple-notes/SKILL.md +1 -0
- package/skills/apple-reminders/SKILL.md +1 -0
- package/skills/bear-notes/SKILL.md +1 -0
- package/skills/blogwatcher/SKILL.md +1 -0
- package/skills/blucli/SKILL.md +1 -0
- package/skills/bluebubbles/SKILL.md +1 -0
- package/skills/camsnap/SKILL.md +1 -0
- package/skills/canvas/SKILL.md +6 -0
- package/skills/channel-routing/SKILL.md +42 -0
- package/skills/coding-agent/SKILL.md +1 -0
- package/skills/connect-email/SKILL.md +1 -0
- package/skills/discord/SKILL.md +1 -0
- package/skills/document-generation/SKILL.md +64 -0
- package/skills/eightctl/SKILL.md +1 -0
- package/skills/food-order/SKILL.md +1 -0
- package/skills/gemini/SKILL.md +1 -0
- package/skills/gh-issues/SKILL.md +1 -0
- package/skills/gifgrep/SKILL.md +1 -0
- package/skills/github/SKILL.md +1 -0
- package/skills/gog/SKILL.md +1 -0
- package/skills/goplaces/SKILL.md +1 -0
- package/skills/healthcheck/SKILL.md +1 -0
- package/skills/himalaya/SKILL.md +1 -0
- package/skills/imsg/SKILL.md +1 -0
- package/skills/long-task/SKILL.md +1 -0
- package/skills/mcporter/SKILL.md +1 -0
- package/skills/model-usage/SKILL.md +1 -0
- package/skills/nano-banana-pro/SKILL.md +1 -0
- package/skills/nano-pdf/SKILL.md +1 -0
- package/skills/notion/SKILL.md +1 -0
- package/skills/obsidian/SKILL.md +1 -0
- package/skills/openai-image-gen/SKILL.md +1 -0
- package/skills/openai-whisper/SKILL.md +1 -0
- package/skills/openai-whisper-api/SKILL.md +1 -0
- package/skills/openhue/SKILL.md +1 -0
- package/skills/oracle/SKILL.md +1 -0
- package/skills/ordercli/SKILL.md +1 -0
- package/skills/peekaboo/SKILL.md +1 -0
- package/skills/reactions-extensive/SKILL.md +30 -0
- package/skills/reactions-minimal/SKILL.md +31 -0
- package/skills/safe-edit/SKILL.md +51 -0
- package/skills/sag/SKILL.md +1 -0
- package/skills/session-logs/SKILL.md +1 -0
- package/skills/sherpa-onnx-tts/SKILL.md +1 -0
- package/skills/skill-creator/SKILL.md +1 -0
- package/skills/slack/SKILL.md +1 -0
- package/skills/songsee/SKILL.md +1 -0
- package/skills/sonoscli/SKILL.md +1 -0
- package/skills/spotify-player/SKILL.md +1 -0
- package/skills/summarize/SKILL.md +1 -0
- package/skills/symihub/SKILL.md +1 -0
- package/skills/things-mac/SKILL.md +1 -0
- package/skills/tmux/SKILL.md +1 -0
- package/skills/tool-narration/SKILL.md +40 -0
- package/skills/trello/SKILL.md +1 -0
- package/skills/verify-output/SKILL.md +47 -0
- package/skills/video-frames/SKILL.md +1 -0
- package/skills/voice-call/SKILL.md +1 -0
- package/skills/wacli/SKILL.md +1 -0
- package/skills/weather/SKILL.md +1 -0
- package/skills/xurl/SKILL.md +1 -0
|
@@ -8,8 +8,8 @@ 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-CF7BhO8B.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-Cf-PzD3r.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";
|
|
@@ -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-CJIEYVXL.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-DDpZS9jb.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-BAzimHH-.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-D9c_MNRa.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
|
-
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-
|
|
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-
|
|
40
|
-
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
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-C70yD9PL.js";
|
|
39
|
+
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DuQ-xGok.js";
|
|
40
|
+
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-CdjVSHtz.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-hjUeDZ7e.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-6EL59cK1.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-CS95I-I5.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-BiRYpsW7.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-BfqyNBU1.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-B4fizDsZ.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-BiRYpsW7.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-BiRYpsW7.js").then((n) => n.n);
|
|
11655
11655
|
return { manager: await MemoryIndexManager.get(params) };
|
|
11656
11656
|
} catch (err) {
|
|
11657
11657
|
return {
|
|
@@ -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-hjUeDZ7e.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-CS95I-I5.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-B4dxH543.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-CoKYDdd4.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: {
|
|
@@ -25880,6 +25880,7 @@ function sanitizeForPromptLiteral(value) {
|
|
|
25880
25880
|
//#region src/agents/system-prompt.ts
|
|
25881
25881
|
function buildSkillsSection(params) {
|
|
25882
25882
|
if (params.isMinimal) return [];
|
|
25883
|
+
if (params.dropCatalog) return [];
|
|
25883
25884
|
const trimmed = params.skillsPrompt?.trim();
|
|
25884
25885
|
if (!trimmed) return [];
|
|
25885
25886
|
return [
|
|
@@ -25984,7 +25985,7 @@ function buildVoiceSection(params) {
|
|
|
25984
25985
|
];
|
|
25985
25986
|
}
|
|
25986
25987
|
function buildVerifyYourWorkSection(params) {
|
|
25987
|
-
if (params.isMinimal) return [];
|
|
25988
|
+
if (params.isMinimal || params.compactMode) return [];
|
|
25988
25989
|
const exec = params.execToolName;
|
|
25989
25990
|
const read = params.readToolName;
|
|
25990
25991
|
return [
|
|
@@ -26173,6 +26174,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
26173
26174
|
const promptMode = params.promptMode ?? "full";
|
|
26174
26175
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
26175
26176
|
const isCoding = promptMode === "coding";
|
|
26177
|
+
const compactMode = params.compactMode === true;
|
|
26176
26178
|
const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
|
|
26177
26179
|
const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
|
|
26178
26180
|
const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
|
|
@@ -26188,7 +26190,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
26188
26190
|
const skillsSection = buildSkillsSection({
|
|
26189
26191
|
skillsPrompt,
|
|
26190
26192
|
isMinimal,
|
|
26191
|
-
readToolName
|
|
26193
|
+
readToolName,
|
|
26194
|
+
dropCatalog: compactMode && (params.skillsDiscoveryMode === "jit" || params.skillsDiscoveryMode === "hybrid")
|
|
26192
26195
|
});
|
|
26193
26196
|
const memorySection = buildMemorySection({
|
|
26194
26197
|
isMinimal,
|
|
@@ -26231,39 +26234,43 @@ function buildAgentSystemPrompt(params) {
|
|
|
26231
26234
|
"If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done.",
|
|
26232
26235
|
"Do not poll `subagents list` / `sessions_list` in a loop; only check status on-demand (for intervention, debugging, or when explicitly asked).",
|
|
26233
26236
|
"",
|
|
26234
|
-
|
|
26235
|
-
|
|
26236
|
-
|
|
26237
|
-
|
|
26238
|
-
|
|
26239
|
-
|
|
26240
|
-
|
|
26241
|
-
|
|
26242
|
-
|
|
26243
|
-
|
|
26244
|
-
|
|
26245
|
-
|
|
26246
|
-
|
|
26247
|
-
|
|
26237
|
+
...compactMode ? [] : [
|
|
26238
|
+
"## Tool Call Style",
|
|
26239
|
+
"Default: do not narrate routine, low-risk tool calls (just call the tool).",
|
|
26240
|
+
"Narrate only when it helps: multi-step work, complex/challenging problems, sensitive actions (e.g., deletions), or when the user explicitly asks.",
|
|
26241
|
+
"Keep narration brief and value-dense; avoid repeating obvious steps.",
|
|
26242
|
+
"Use plain human language for narration unless in a technical context.",
|
|
26243
|
+
"",
|
|
26244
|
+
"## Edit Tool Best Practices",
|
|
26245
|
+
"When using the edit tool, the oldText must match the file EXACTLY (whitespace, indentation, and all).",
|
|
26246
|
+
"To avoid match failures:",
|
|
26247
|
+
"- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
|
|
26248
|
+
"- ALWAYS read the file first, then copy the exact text from the read output for oldText.",
|
|
26249
|
+
"- 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 move on or fix a different issue.",
|
|
26250
|
+
"- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines).",
|
|
26251
|
+
""
|
|
26252
|
+
],
|
|
26248
26253
|
...safetySection,
|
|
26249
|
-
"
|
|
26250
|
-
|
|
26251
|
-
|
|
26252
|
-
|
|
26253
|
-
|
|
26254
|
-
|
|
26255
|
-
|
|
26256
|
-
|
|
26257
|
-
|
|
26254
|
+
...compactMode ? ["For Symi CLI commands, ask the user to run `symi help` and paste the output.", ""] : [
|
|
26255
|
+
"## Symi CLI Quick Reference",
|
|
26256
|
+
"Symi is controlled via subcommands. Do not invent commands.",
|
|
26257
|
+
"To manage the Gateway daemon service (start/stop/restart):",
|
|
26258
|
+
"- symi gateway status",
|
|
26259
|
+
"- symi gateway start",
|
|
26260
|
+
"- symi gateway stop",
|
|
26261
|
+
"- symi gateway restart",
|
|
26262
|
+
"If unsure, ask the user to run `symi help` (or `symi gateway --help`) and paste the output.",
|
|
26263
|
+
""
|
|
26264
|
+
],
|
|
26258
26265
|
...skillsSection,
|
|
26259
26266
|
...memorySection,
|
|
26260
|
-
hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
|
|
26261
|
-
hasGateway && !isMinimal && !isCoding ? [
|
|
26267
|
+
hasGateway && !isMinimal && !isCoding && !compactMode ? "## Symi Self-Update" : "",
|
|
26268
|
+
hasGateway && !isMinimal && !isCoding && !compactMode ? [
|
|
26262
26269
|
"Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
|
|
26263
26270
|
"Do not run config.apply or update.run unless the user explicitly requests an update or config change; if it's not explicit, ask first.",
|
|
26264
26271
|
"Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
|
|
26265
26272
|
"After restart, Symi pings the last active session automatically."
|
|
26266
|
-
].join("\n") : "",
|
|
26273
|
+
].join("\n") : hasGateway && !isMinimal && !isCoding && compactMode ? "Gateway destructive actions (config.apply, config.patch, update.run) require explicit user authorization via userRequestAcknowledgment — never invoke speculatively." : "",
|
|
26267
26274
|
hasGateway && !isMinimal && !isCoding ? "" : "",
|
|
26268
26275
|
"",
|
|
26269
26276
|
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
|
|
@@ -26280,7 +26287,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
26280
26287
|
...buildVerifyYourWorkSection({
|
|
26281
26288
|
isMinimal,
|
|
26282
26289
|
execToolName,
|
|
26283
|
-
readToolName
|
|
26290
|
+
readToolName,
|
|
26291
|
+
compactMode
|
|
26284
26292
|
}),
|
|
26285
26293
|
params.sandboxInfo?.enabled ? "## Sandbox" : "",
|
|
26286
26294
|
params.sandboxInfo?.enabled ? [
|
|
@@ -26326,23 +26334,26 @@ function buildAgentSystemPrompt(params) {
|
|
|
26326
26334
|
}
|
|
26327
26335
|
if (params.reactionGuidance) {
|
|
26328
26336
|
const { level, channel } = params.reactionGuidance;
|
|
26329
|
-
|
|
26330
|
-
|
|
26331
|
-
|
|
26332
|
-
|
|
26333
|
-
|
|
26334
|
-
|
|
26335
|
-
|
|
26336
|
-
|
|
26337
|
-
|
|
26338
|
-
"
|
|
26339
|
-
|
|
26340
|
-
|
|
26341
|
-
|
|
26342
|
-
|
|
26343
|
-
|
|
26344
|
-
|
|
26345
|
-
|
|
26337
|
+
if (compactMode) lines.push("## Reactions", `Reactions for ${channel} are in ${level.toUpperCase()} mode — see the reactions-${level} skill (auto-loaded).`, "");
|
|
26338
|
+
else {
|
|
26339
|
+
const guidanceText = level === "minimal" ? [
|
|
26340
|
+
`Reactions are enabled for ${channel} in MINIMAL mode.`,
|
|
26341
|
+
"React ONLY when truly relevant:",
|
|
26342
|
+
"- Acknowledge important user requests or confirmations",
|
|
26343
|
+
"- Express genuine sentiment (humor, appreciation) sparingly",
|
|
26344
|
+
"- Avoid reacting to routine messages or your own replies",
|
|
26345
|
+
"Guideline: at most 1 reaction per 5-10 exchanges."
|
|
26346
|
+
].join("\n") : [
|
|
26347
|
+
`Reactions are enabled for ${channel} in EXTENSIVE mode.`,
|
|
26348
|
+
"Feel free to react liberally:",
|
|
26349
|
+
"- Acknowledge messages with appropriate emojis",
|
|
26350
|
+
"- Express sentiment and personality through reactions",
|
|
26351
|
+
"- React to interesting content, humor, or notable events",
|
|
26352
|
+
"- Use reactions to confirm understanding or agreement",
|
|
26353
|
+
"Guideline: react whenever it feels natural."
|
|
26354
|
+
].join("\n");
|
|
26355
|
+
lines.push("## Reactions", guidanceText, "");
|
|
26356
|
+
}
|
|
26346
26357
|
}
|
|
26347
26358
|
if (reasoningHint) lines.push("## Reasoning Format", reasoningHint, "");
|
|
26348
26359
|
const validContextFiles = (params.contextFiles ?? []).filter((file) => typeof file.path === "string" && file.path.trim().length > 0);
|
|
@@ -34189,10 +34200,10 @@ async function prepareSessionManagerForRun(params) {
|
|
|
34189
34200
|
//#endregion
|
|
34190
34201
|
//#region src/agents/system-prompt-skills-autoload.ts
|
|
34191
34202
|
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;
|
|
34203
|
+
let cachedPackageRoot$1;
|
|
34204
|
+
function getPackageRoot$1() {
|
|
34205
|
+
if (cachedPackageRoot$1 === void 0) cachedPackageRoot$1 = resolveSymiPackageRootSync({});
|
|
34206
|
+
return cachedPackageRoot$1;
|
|
34196
34207
|
}
|
|
34197
34208
|
function safeSkillName(name) {
|
|
34198
34209
|
return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
|
|
@@ -34221,7 +34232,7 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
34221
34232
|
if (opts.minimalMode) return "";
|
|
34222
34233
|
const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
34223
34234
|
if (names.length === 0) return "";
|
|
34224
|
-
const packageRoot = getPackageRoot();
|
|
34235
|
+
const packageRoot = getPackageRoot$1();
|
|
34225
34236
|
const loaded = [];
|
|
34226
34237
|
for (const rawName of names) {
|
|
34227
34238
|
const name = rawName.trim();
|
|
@@ -34266,6 +34277,296 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
34266
34277
|
].join("\n");
|
|
34267
34278
|
}
|
|
34268
34279
|
|
|
34280
|
+
//#endregion
|
|
34281
|
+
//#region src/agents/skills/triggers.ts
|
|
34282
|
+
const QUOTE_RE = /^["'`](.*)["'`]$/;
|
|
34283
|
+
const ARRAY_FORM_RE = /^\[(.*)\]$/s;
|
|
34284
|
+
function stripWrappingQuotes(s) {
|
|
34285
|
+
const m = s.trim().match(QUOTE_RE);
|
|
34286
|
+
return m ? m[1] : s.trim();
|
|
34287
|
+
}
|
|
34288
|
+
/** Parse a single trigger value, dropping empty / whitespace-only entries. */
|
|
34289
|
+
function cleanTrigger(raw) {
|
|
34290
|
+
const trimmed = stripWrappingQuotes(raw).toLowerCase();
|
|
34291
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
34292
|
+
}
|
|
34293
|
+
/**
|
|
34294
|
+
* Parse the value of a `triggers:` frontmatter field into a string[].
|
|
34295
|
+
* Accepts both inline-array form `[a, b, "c d"]` and YAML-list form
|
|
34296
|
+
* (multiline with leading hyphens). Returns deduped lowercased trigger
|
|
34297
|
+
* strings, or empty array on unparseable / missing input.
|
|
34298
|
+
*/
|
|
34299
|
+
function parseTriggersValue(raw) {
|
|
34300
|
+
if (typeof raw !== "string") return [];
|
|
34301
|
+
const trimmed = raw.trim();
|
|
34302
|
+
if (!trimmed) return [];
|
|
34303
|
+
const items = [];
|
|
34304
|
+
const arrayMatch = trimmed.match(ARRAY_FORM_RE);
|
|
34305
|
+
if (arrayMatch) {
|
|
34306
|
+
const inner = arrayMatch[1];
|
|
34307
|
+
let buf = "";
|
|
34308
|
+
let inQuote = null;
|
|
34309
|
+
for (const ch of inner) {
|
|
34310
|
+
if (inQuote) {
|
|
34311
|
+
if (ch === inQuote) inQuote = null;
|
|
34312
|
+
else buf += ch;
|
|
34313
|
+
continue;
|
|
34314
|
+
}
|
|
34315
|
+
if (ch === "\"" || ch === "'") {
|
|
34316
|
+
inQuote = ch;
|
|
34317
|
+
continue;
|
|
34318
|
+
}
|
|
34319
|
+
if (ch === ",") {
|
|
34320
|
+
const cleaned = cleanTrigger(buf);
|
|
34321
|
+
if (cleaned) items.push(cleaned);
|
|
34322
|
+
buf = "";
|
|
34323
|
+
continue;
|
|
34324
|
+
}
|
|
34325
|
+
buf += ch;
|
|
34326
|
+
}
|
|
34327
|
+
const cleaned = cleanTrigger(buf);
|
|
34328
|
+
if (cleaned) items.push(cleaned);
|
|
34329
|
+
} else for (const line of trimmed.split("\n")) {
|
|
34330
|
+
const ltrim = line.trimStart();
|
|
34331
|
+
if (ltrim.startsWith("- ")) {
|
|
34332
|
+
const cleaned = cleanTrigger(ltrim.slice(2));
|
|
34333
|
+
if (cleaned) items.push(cleaned);
|
|
34334
|
+
} else if (ltrim && !ltrim.startsWith("#")) {
|
|
34335
|
+
const cleaned = cleanTrigger(ltrim);
|
|
34336
|
+
if (cleaned) items.push(cleaned);
|
|
34337
|
+
}
|
|
34338
|
+
}
|
|
34339
|
+
const seen = /* @__PURE__ */ new Set();
|
|
34340
|
+
const out = [];
|
|
34341
|
+
for (const t of items) if (!seen.has(t)) {
|
|
34342
|
+
seen.add(t);
|
|
34343
|
+
out.push(t);
|
|
34344
|
+
}
|
|
34345
|
+
return out;
|
|
34346
|
+
}
|
|
34347
|
+
/**
|
|
34348
|
+
* Extract triggers from a parsed frontmatter record. Returns empty array
|
|
34349
|
+
* when the field is absent or unparseable.
|
|
34350
|
+
*/
|
|
34351
|
+
function getSkillTriggers(frontmatter) {
|
|
34352
|
+
return parseTriggersValue(frontmatter.triggers);
|
|
34353
|
+
}
|
|
34354
|
+
|
|
34355
|
+
//#endregion
|
|
34356
|
+
//#region src/agents/tools/skill-search-tool.ts
|
|
34357
|
+
const SkillSearchToolSchema = Type.Object({
|
|
34358
|
+
query: Type.String({
|
|
34359
|
+
minLength: 1,
|
|
34360
|
+
description: "Intent description (2-8 words). Match by trigger keywords first, then description text."
|
|
34361
|
+
}),
|
|
34362
|
+
limit: Type.Optional(Type.Number({
|
|
34363
|
+
minimum: 1,
|
|
34364
|
+
maximum: 10,
|
|
34365
|
+
description: "Max results to return (default 5, capped at 10)."
|
|
34366
|
+
}))
|
|
34367
|
+
});
|
|
34368
|
+
const CACHE_TTL_MS = 6e4;
|
|
34369
|
+
const SAFE_NAME_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
34370
|
+
function loadSkillFromDir(dir, source) {
|
|
34371
|
+
const name = path.basename(dir);
|
|
34372
|
+
if (!SAFE_NAME_RE.test(name)) return null;
|
|
34373
|
+
const file = path.join(dir, "SKILL.md");
|
|
34374
|
+
let raw;
|
|
34375
|
+
try {
|
|
34376
|
+
if (!fs.statSync(file).isFile()) return null;
|
|
34377
|
+
raw = fs.readFileSync(file, "utf8");
|
|
34378
|
+
} catch {
|
|
34379
|
+
return null;
|
|
34380
|
+
}
|
|
34381
|
+
const fm = parseFrontmatterBlock(raw);
|
|
34382
|
+
return {
|
|
34383
|
+
name,
|
|
34384
|
+
description: (fm.description ?? "").trim(),
|
|
34385
|
+
path: file,
|
|
34386
|
+
triggers: getSkillTriggers(fm),
|
|
34387
|
+
source
|
|
34388
|
+
};
|
|
34389
|
+
}
|
|
34390
|
+
function listSkillDirs(root) {
|
|
34391
|
+
const skillsDir = path.join(root, "skills");
|
|
34392
|
+
let entries;
|
|
34393
|
+
try {
|
|
34394
|
+
entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
34395
|
+
} catch {
|
|
34396
|
+
return [];
|
|
34397
|
+
}
|
|
34398
|
+
return entries.filter((e) => e.isDirectory()).map((e) => path.join(skillsDir, e.name));
|
|
34399
|
+
}
|
|
34400
|
+
let cachedPackageRoot;
|
|
34401
|
+
const cachePerWorkspace = /* @__PURE__ */ new Map();
|
|
34402
|
+
function getPackageRoot() {
|
|
34403
|
+
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
34404
|
+
return cachedPackageRoot;
|
|
34405
|
+
}
|
|
34406
|
+
function loadAllSkills(workspaceDir) {
|
|
34407
|
+
const cacheKey = workspaceDir ?? "";
|
|
34408
|
+
const now = Date.now();
|
|
34409
|
+
const existing = cachePerWorkspace.get(cacheKey);
|
|
34410
|
+
if (existing && now - existing.loadedAt < CACHE_TTL_MS) return existing.skills;
|
|
34411
|
+
const seen = /* @__PURE__ */ new Map();
|
|
34412
|
+
if (workspaceDir) for (const dir of listSkillDirs(workspaceDir)) {
|
|
34413
|
+
const skill = loadSkillFromDir(dir, "workspace");
|
|
34414
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
34415
|
+
}
|
|
34416
|
+
const packageRoot = getPackageRoot();
|
|
34417
|
+
if (packageRoot) for (const dir of listSkillDirs(packageRoot)) {
|
|
34418
|
+
const skill = loadSkillFromDir(dir, "bundled");
|
|
34419
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
34420
|
+
}
|
|
34421
|
+
const skills = [...seen.values()];
|
|
34422
|
+
cachePerWorkspace.set(cacheKey, {
|
|
34423
|
+
skills,
|
|
34424
|
+
loadedAt: now
|
|
34425
|
+
});
|
|
34426
|
+
return skills;
|
|
34427
|
+
}
|
|
34428
|
+
const TOKEN_SPLIT_RE = /[^\w/]+/;
|
|
34429
|
+
function tokenizeQuery(raw) {
|
|
34430
|
+
return raw.toLowerCase().split(TOKEN_SPLIT_RE).filter((t) => t.length >= 2);
|
|
34431
|
+
}
|
|
34432
|
+
/**
|
|
34433
|
+
* Score a query against one skill's triggers + description.
|
|
34434
|
+
* - Trigger score: ratio of query tokens that appear in the trigger set.
|
|
34435
|
+
* - FTS score: 0.4 × ratio of query tokens that appear in the description
|
|
34436
|
+
* (case-insensitive substring match).
|
|
34437
|
+
* - Final = max(trigger, fts) so trigger matches always beat descriptions.
|
|
34438
|
+
* - Returns 0 for "no signal at all" (caller should drop these).
|
|
34439
|
+
*/
|
|
34440
|
+
function scoreSkillMatch(skill, queryTokens) {
|
|
34441
|
+
if (queryTokens.length === 0) return 0;
|
|
34442
|
+
const triggerSet = new Set(skill.triggers.map((t) => t.toLowerCase()));
|
|
34443
|
+
const description = skill.description.toLowerCase();
|
|
34444
|
+
let triggerHits = 0;
|
|
34445
|
+
let ftsHits = 0;
|
|
34446
|
+
for (const token of queryTokens) if (triggerSet.has(token)) triggerHits += 1;
|
|
34447
|
+
else if (description.includes(token)) ftsHits += 1;
|
|
34448
|
+
const triggerScore = triggerHits / queryTokens.length;
|
|
34449
|
+
const ftsScore = ftsHits / queryTokens.length * .4;
|
|
34450
|
+
return Math.max(triggerScore, ftsScore);
|
|
34451
|
+
}
|
|
34452
|
+
/**
|
|
34453
|
+
* Pure-function search; exported for testing without going through the
|
|
34454
|
+
* tool execute wrapper.
|
|
34455
|
+
*/
|
|
34456
|
+
function searchSkills(query, limit, workspaceDir) {
|
|
34457
|
+
const tokens = tokenizeQuery(query);
|
|
34458
|
+
if (tokens.length === 0) return [];
|
|
34459
|
+
const all = loadAllSkills(workspaceDir);
|
|
34460
|
+
const scored = [];
|
|
34461
|
+
for (const skill of all) {
|
|
34462
|
+
const score = scoreSkillMatch(skill, tokens);
|
|
34463
|
+
if (score > 0) scored.push({
|
|
34464
|
+
name: skill.name,
|
|
34465
|
+
description: skill.description,
|
|
34466
|
+
path: skill.path,
|
|
34467
|
+
score
|
|
34468
|
+
});
|
|
34469
|
+
}
|
|
34470
|
+
scored.sort((a, b) => b.score - a.score || a.name.localeCompare(b.name));
|
|
34471
|
+
return scored.slice(0, limit);
|
|
34472
|
+
}
|
|
34473
|
+
function createSkillSearchTool(opts) {
|
|
34474
|
+
return {
|
|
34475
|
+
name: "skill_search",
|
|
34476
|
+
label: "skill_search",
|
|
34477
|
+
description: "Find skills relevant to the current task. Returns matching skills with name/description/path; `read` the SKILL.md to apply. Call before non-trivial tool work — search by intent ('connect email', 'long task') not tool name.",
|
|
34478
|
+
parameters: SkillSearchToolSchema,
|
|
34479
|
+
execute: async (_toolCallId, args) => {
|
|
34480
|
+
const params = args;
|
|
34481
|
+
const query = typeof params.query === "string" ? params.query.trim() : "";
|
|
34482
|
+
if (!query) return jsonResult({
|
|
34483
|
+
ok: false,
|
|
34484
|
+
error: "skill_search requires a non-empty `query` string."
|
|
34485
|
+
});
|
|
34486
|
+
const limit = typeof params.limit === "number" && Number.isFinite(params.limit) ? Math.min(10, Math.max(1, Math.floor(params.limit))) : 5;
|
|
34487
|
+
try {
|
|
34488
|
+
return jsonResult({
|
|
34489
|
+
ok: true,
|
|
34490
|
+
query,
|
|
34491
|
+
matches: searchSkills(query, limit, opts?.workspaceDir)
|
|
34492
|
+
});
|
|
34493
|
+
} catch (err) {
|
|
34494
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
34495
|
+
logWarn(`skill_search failed: ${message}`);
|
|
34496
|
+
return jsonResult({
|
|
34497
|
+
ok: false,
|
|
34498
|
+
error: message
|
|
34499
|
+
});
|
|
34500
|
+
}
|
|
34501
|
+
}
|
|
34502
|
+
};
|
|
34503
|
+
}
|
|
34504
|
+
|
|
34505
|
+
//#endregion
|
|
34506
|
+
//#region src/agents/system-prompt-skills-jit.ts
|
|
34507
|
+
const MAX_ANCHOR_DESCRIPTION_CHARS = 100;
|
|
34508
|
+
const MAX_AUTO_INJECT_RESULTS = 3;
|
|
34509
|
+
const MAX_AUTO_INJECT_TOTAL_CHARS = 600;
|
|
34510
|
+
/**
|
|
34511
|
+
* Build the anchor list block. Returns "" when no anchor list configured
|
|
34512
|
+
* or in preload mode (anchor list adds value only in jit/hybrid).
|
|
34513
|
+
*/
|
|
34514
|
+
function buildAnchorListBlock(opts) {
|
|
34515
|
+
if (opts.minimalMode) return "";
|
|
34516
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
34517
|
+
const names = (opts.anchorList ?? []).filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
34518
|
+
if (names.length === 0) return "";
|
|
34519
|
+
const lines = [];
|
|
34520
|
+
for (const name of names) {
|
|
34521
|
+
const description = searchSkills(name, 1, opts.workspaceDir)[0]?.description.trim() ?? "";
|
|
34522
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
34523
|
+
lines.push(truncated ? `- ${name}: ${truncated}` : `- ${name}`);
|
|
34524
|
+
}
|
|
34525
|
+
return [
|
|
34526
|
+
"",
|
|
34527
|
+
"## Anchor Skills",
|
|
34528
|
+
"These skills are always available. Read their SKILL.md via `read` if relevant. For full discovery use the `skill_search` tool.",
|
|
34529
|
+
lines.join("\n"),
|
|
34530
|
+
""
|
|
34531
|
+
].join("\n");
|
|
34532
|
+
}
|
|
34533
|
+
/**
|
|
34534
|
+
* Build the auto-injected matches block based on the user message triggers.
|
|
34535
|
+
* Returns "" when discoveryMode doesn't ask for it, no message available,
|
|
34536
|
+
* no matches found, or in minimal mode.
|
|
34537
|
+
*/
|
|
34538
|
+
function buildAutoInjectBlock(opts) {
|
|
34539
|
+
if (opts.minimalMode) return "";
|
|
34540
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
34541
|
+
const message = (opts.userMessage ?? "").trim();
|
|
34542
|
+
if (!message) return "";
|
|
34543
|
+
const matches = searchSkills(message, MAX_AUTO_INJECT_RESULTS, opts.workspaceDir);
|
|
34544
|
+
if (matches.length === 0) return "";
|
|
34545
|
+
const lines = [];
|
|
34546
|
+
let total = 0;
|
|
34547
|
+
for (const match of matches) {
|
|
34548
|
+
const description = match.description.trim();
|
|
34549
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
34550
|
+
const skillRef = path.basename(path.dirname(match.path));
|
|
34551
|
+
const line = truncated ? `- ${skillRef}: ${truncated}` : `- ${skillRef}`;
|
|
34552
|
+
if (total + line.length > MAX_AUTO_INJECT_TOTAL_CHARS) break;
|
|
34553
|
+
lines.push(line);
|
|
34554
|
+
total += line.length + 1;
|
|
34555
|
+
}
|
|
34556
|
+
if (lines.length === 0) return "";
|
|
34557
|
+
return [
|
|
34558
|
+
"",
|
|
34559
|
+
"## Possibly Relevant Skills (auto-suggested for this request)",
|
|
34560
|
+
"These skills' triggers matched keywords in your message. Read the SKILL.md if it applies; otherwise ignore and proceed.",
|
|
34561
|
+
lines.join("\n"),
|
|
34562
|
+
""
|
|
34563
|
+
].join("\n");
|
|
34564
|
+
}
|
|
34565
|
+
/** Convenience: build both blocks concatenated. */
|
|
34566
|
+
function buildSkillsJitBlocks(opts) {
|
|
34567
|
+
return `${buildAnchorListBlock(opts)}${buildAutoInjectBlock(opts)}`;
|
|
34568
|
+
}
|
|
34569
|
+
|
|
34269
34570
|
//#endregion
|
|
34270
34571
|
//#region src/agents/tool-summaries.ts
|
|
34271
34572
|
function buildToolSummaryMap(tools) {
|
|
@@ -34307,16 +34608,23 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
34307
34608
|
userTime: params.userTime,
|
|
34308
34609
|
userTimeFormat: params.userTimeFormat,
|
|
34309
34610
|
contextFiles: params.contextFiles,
|
|
34310
|
-
memoryCitationsMode: params.memoryCitationsMode
|
|
34611
|
+
memoryCitationsMode: params.memoryCitationsMode,
|
|
34612
|
+
compactMode: params.compactMode,
|
|
34613
|
+
skillsDiscoveryMode: params.skillsDiscoveryMode
|
|
34311
34614
|
});
|
|
34312
34615
|
const promptMode = params.promptMode ?? "full";
|
|
34313
34616
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
34314
|
-
|
|
34617
|
+
return `${corePrompt}${buildAutoLoadedSkillsBlock({
|
|
34315
34618
|
skillNames: params.autoLoadInlineSkills ?? [],
|
|
34316
34619
|
workspaceDir: params.workspaceDir,
|
|
34317
34620
|
minimalMode: isMinimal
|
|
34318
|
-
})
|
|
34319
|
-
|
|
34621
|
+
})}${buildSkillsJitBlocks({
|
|
34622
|
+
discoveryMode: params.skillsDiscoveryMode,
|
|
34623
|
+
anchorList: params.skillsAnchorList,
|
|
34624
|
+
userMessage: params.currentUserMessage,
|
|
34625
|
+
workspaceDir: params.workspaceDir,
|
|
34626
|
+
minimalMode: isMinimal
|
|
34627
|
+
})}`;
|
|
34320
34628
|
}
|
|
34321
34629
|
function createSystemPromptOverride(systemPrompt) {
|
|
34322
34630
|
const override = systemPrompt.trim();
|
|
@@ -35105,7 +35413,11 @@ async function runEmbeddedAttempt(params) {
|
|
|
35105
35413
|
userTimeFormat,
|
|
35106
35414
|
contextFiles,
|
|
35107
35415
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
35108
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
35416
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
35417
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
35418
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
35419
|
+
currentUserMessage: params.prompt,
|
|
35420
|
+
compactMode: params.config?.prompt?.compactMode
|
|
35109
35421
|
});
|
|
35110
35422
|
const systemPromptReport = buildSystemPromptReport({
|
|
35111
35423
|
source: "run",
|
|
@@ -36985,27 +37297,27 @@ async function runAgentTurn(params) {
|
|
|
36985
37297
|
function createDefaultDeps() {
|
|
36986
37298
|
return {
|
|
36987
37299
|
sendMessageWhatsApp: async (...args) => {
|
|
36988
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
37300
|
+
const { sendMessageWhatsApp } = await import("./web-DU4xaLZf.js");
|
|
36989
37301
|
return await sendMessageWhatsApp(...args);
|
|
36990
37302
|
},
|
|
36991
37303
|
sendMessageTelegram: async (...args) => {
|
|
36992
|
-
const { sendMessageTelegram } = await import("./send-
|
|
37304
|
+
const { sendMessageTelegram } = await import("./send-BAzimHH-.js").then((n) => n.l);
|
|
36993
37305
|
return await sendMessageTelegram(...args);
|
|
36994
37306
|
},
|
|
36995
37307
|
sendMessageDiscord: async (...args) => {
|
|
36996
|
-
const { sendMessageDiscord } = await import("./send-
|
|
37308
|
+
const { sendMessageDiscord } = await import("./send-CF7BhO8B.js").then((n) => n.t);
|
|
36997
37309
|
return await sendMessageDiscord(...args);
|
|
36998
37310
|
},
|
|
36999
37311
|
sendMessageSlack: async (...args) => {
|
|
37000
|
-
const { sendMessageSlack } = await import("./send-
|
|
37312
|
+
const { sendMessageSlack } = await import("./send-DDpZS9jb.js").then((n) => n.n);
|
|
37001
37313
|
return await sendMessageSlack(...args);
|
|
37002
37314
|
},
|
|
37003
37315
|
sendMessageSignal: async (...args) => {
|
|
37004
|
-
const { sendMessageSignal } = await import("./send-
|
|
37316
|
+
const { sendMessageSignal } = await import("./send-BfqyNBU1.js").then((n) => n.i);
|
|
37005
37317
|
return await sendMessageSignal(...args);
|
|
37006
37318
|
},
|
|
37007
37319
|
sendMessageIMessage: async (...args) => {
|
|
37008
|
-
const { sendMessageIMessage } = await import("./send-
|
|
37320
|
+
const { sendMessageIMessage } = await import("./send-CJIEYVXL.js").then((n) => n.n);
|
|
37009
37321
|
return await sendMessageIMessage(...args);
|
|
37010
37322
|
}
|
|
37011
37323
|
};
|
|
@@ -47560,7 +47872,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
47560
47872
|
});
|
|
47561
47873
|
const deliverSlashPayloads = async (replies) => {
|
|
47562
47874
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
47563
|
-
import("./replies-
|
|
47875
|
+
import("./replies-B4fizDsZ.js").then((n) => n.r),
|
|
47564
47876
|
import("./chunk-jvk9axTQ.js").then((n) => n.s),
|
|
47565
47877
|
import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
|
|
47566
47878
|
]);
|
|
@@ -47615,7 +47927,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
47615
47927
|
let nativeCommands = [];
|
|
47616
47928
|
if (nativeEnabled) {
|
|
47617
47929
|
reg = await getCommandsRegistry();
|
|
47618
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
47930
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C70yD9PL.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
47619
47931
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
47620
47932
|
skillCommands,
|
|
47621
47933
|
provider: "slack"
|
|
@@ -52266,7 +52578,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
52266
52578
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
52267
52579
|
let preflightTranscript;
|
|
52268
52580
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
52269
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
52581
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CoKYDdd4.js");
|
|
52270
52582
|
preflightTranscript = await transcribeFirstAudio({
|
|
52271
52583
|
ctx: {
|
|
52272
52584
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -54411,23 +54723,23 @@ let webLoginQrPromise = null;
|
|
|
54411
54723
|
let webChannelPromise = null;
|
|
54412
54724
|
let whatsappActionsPromise = null;
|
|
54413
54725
|
function loadWebOutbound() {
|
|
54414
|
-
webOutboundPromise ??= import("./outbound-
|
|
54726
|
+
webOutboundPromise ??= import("./outbound-D7yJKgEX.js").then((n) => n.t);
|
|
54415
54727
|
return webOutboundPromise;
|
|
54416
54728
|
}
|
|
54417
54729
|
function loadWebLogin() {
|
|
54418
|
-
webLoginPromise ??= import("./login-
|
|
54730
|
+
webLoginPromise ??= import("./login-BhLw-aw1.js").then((n) => n.n);
|
|
54419
54731
|
return webLoginPromise;
|
|
54420
54732
|
}
|
|
54421
54733
|
function loadWebLoginQr() {
|
|
54422
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
54734
|
+
webLoginQrPromise ??= import("./login-qr-B4dxH543.js");
|
|
54423
54735
|
return webLoginQrPromise;
|
|
54424
54736
|
}
|
|
54425
54737
|
function loadWebChannel() {
|
|
54426
|
-
webChannelPromise ??= import("./web-
|
|
54738
|
+
webChannelPromise ??= import("./web-DU4xaLZf.js");
|
|
54427
54739
|
return webChannelPromise;
|
|
54428
54740
|
}
|
|
54429
54741
|
function loadWhatsAppActions() {
|
|
54430
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
54742
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-B_3do0s7.js");
|
|
54431
54743
|
return whatsappActionsPromise;
|
|
54432
54744
|
}
|
|
54433
54745
|
function createPluginRuntime() {
|
|
@@ -70547,6 +70859,7 @@ function createSymiTools(options) {
|
|
|
70547
70859
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
70548
70860
|
createTaskListTool({ workspaceDir }),
|
|
70549
70861
|
createTaskCancelTool({ workspaceDir }),
|
|
70862
|
+
createSkillSearchTool({ workspaceDir }),
|
|
70550
70863
|
...messageTool ? [messageTool] : [],
|
|
70551
70864
|
createTtsTool({
|
|
70552
70865
|
agentChannel: options?.agentChannel,
|
|
@@ -71294,7 +71607,11 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
71294
71607
|
userTimeFormat,
|
|
71295
71608
|
contextFiles,
|
|
71296
71609
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
71297
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
71610
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
71611
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
71612
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
71613
|
+
currentUserMessage: void 0,
|
|
71614
|
+
compactMode: params.config?.prompt?.compactMode
|
|
71298
71615
|
}));
|
|
71299
71616
|
const sessionLock = await acquireSessionWriteLock({
|
|
71300
71617
|
sessionFile: params.sessionFile,
|
|
@@ -79356,7 +79673,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
79356
79673
|
return;
|
|
79357
79674
|
}
|
|
79358
79675
|
try {
|
|
79359
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
79676
|
+
const { deliverOutboundPayloads } = await import("./deliver-hjUeDZ7e.js").then((n) => n.n);
|
|
79360
79677
|
await deliverOutboundPayloads({
|
|
79361
79678
|
cfg: params.cfg,
|
|
79362
79679
|
channel,
|