@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
|
@@ -14,34 +14,35 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
|
14
14
|
import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
16
16
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
|
|
17
|
-
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-
|
|
18
|
-
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
17
|
+
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BbZtP8GJ.js";
|
|
18
|
+
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CitI_jxW.js";
|
|
19
19
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-BDSRH8nU.js";
|
|
20
20
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
21
21
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
22
22
|
import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
|
|
23
23
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
|
|
24
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
25
|
-
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, 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 stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-
|
|
26
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
24
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Im1oOE3i.js";
|
|
25
|
+
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, 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 stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-GaF72sln.js";
|
|
26
|
+
import { t as ensureSymiModelsJson } from "./models-config-DdK8uWQW.js";
|
|
27
27
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
|
|
28
|
-
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-
|
|
29
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
30
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
31
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
28
|
+
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-CmY04lZ7.js";
|
|
29
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-wUKYI3zy.js";
|
|
30
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CtTba9sH.js";
|
|
31
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BPuBLXYG.js";
|
|
32
|
+
import { l as parseFrontmatterBlock } from "./frontmatter-DWQhtOo7.js";
|
|
32
33
|
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BG8FpqDp.js";
|
|
33
34
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
|
|
34
35
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
|
|
35
36
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
|
|
36
37
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
|
|
37
38
|
import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
|
|
38
|
-
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
39
|
+
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-CVWGQEWu.js";
|
|
39
40
|
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
|
|
40
41
|
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
|
|
41
42
|
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
|
|
42
43
|
import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
|
|
43
44
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
|
|
44
|
-
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
45
|
+
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-nRhkxbqX.js";
|
|
45
46
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
|
|
46
47
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
|
|
47
48
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
|
|
@@ -51,17 +52,17 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
|
|
|
51
52
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
52
53
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
|
|
53
54
|
import { m as runTasksWithConcurrency } from "./internal-iXV867Nr.js";
|
|
54
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
55
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BFJW_s3i.js";
|
|
55
56
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
|
|
56
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-
|
|
57
|
-
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-
|
|
57
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-7M4c248g.js";
|
|
58
|
+
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-DrgHcdVo.js";
|
|
58
59
|
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-JkjuvDGH.js";
|
|
59
60
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
|
|
60
|
-
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-
|
|
61
|
+
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-aXMPprv9.js";
|
|
61
62
|
import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
|
|
62
63
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-
|
|
64
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CoTkaEhh.js";
|
|
65
|
+
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-CB20PmUH.js";
|
|
65
66
|
import { n as retryAsync } from "./retry-BoS4e4X_.js";
|
|
66
67
|
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C9e6dMU_.js";
|
|
67
68
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DIi9uyC6.js";
|
|
@@ -70,23 +71,23 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-jTXFdH5R.js";
|
|
|
70
71
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-vWB85AXk.js";
|
|
71
72
|
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-D_uByLpw.js";
|
|
72
73
|
import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-pd8kwOFJ.js";
|
|
73
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
74
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BIETyST6.js";
|
|
74
75
|
import { n as formatTimeAgo } from "./format-relative-CviDPm2s.js";
|
|
75
76
|
import { n as normalizePollInput } from "./polls-DZoQqmds.js";
|
|
76
77
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CoTZV03i.js";
|
|
77
78
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BECUf3wn.js";
|
|
78
79
|
import { t as convertMarkdownTables } from "./tables-C3TR-LvH.js";
|
|
79
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
80
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-D5Siw6wn.js";
|
|
80
81
|
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-iAT1if6k.js";
|
|
81
82
|
import { t as makeProxyFetch } from "./proxy-mdETjik4.js";
|
|
82
83
|
import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-DeLiQNNv.js";
|
|
83
84
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-FCaqxoqg.js";
|
|
84
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
85
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CsNZ9ImJ.js";
|
|
85
86
|
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Bz5sreu5.js";
|
|
86
87
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-C87_fedd.js";
|
|
87
88
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-RPrhIvZF.js";
|
|
88
|
-
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-
|
|
89
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
89
|
+
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DanpvmZQ.js";
|
|
90
|
+
import { r as detectBinary } from "./onboard-helpers-BiCrYw-N.js";
|
|
90
91
|
import { t as resolvePairingIdLabel } from "./pairing-labels-CTL1gXZb.js";
|
|
91
92
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-D4P4IiJ6.js";
|
|
92
93
|
import { t as getActiveWebListener } from "./active-listener-Cif6x8mY.js";
|
|
@@ -94,8 +95,8 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
|
|
|
94
95
|
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-BZS89z6C.js";
|
|
95
96
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-D3rffA64.js";
|
|
96
97
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CjL9F9WT.js";
|
|
97
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
98
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
98
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-54ABEJtH.js";
|
|
99
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BkyH7qkF.js";
|
|
99
100
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CZ1Rrj7O.js";
|
|
100
101
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DF8wPn-_.js";
|
|
101
102
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-9fIQGtZy.js";
|
|
@@ -10502,7 +10503,7 @@ async function routeReply(params) {
|
|
|
10502
10503
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10503
10504
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10504
10505
|
try {
|
|
10505
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10506
|
+
const { deliverOutboundPayloads } = await import("./deliver-DrgHcdVo.js").then((n) => n.n);
|
|
10506
10507
|
return {
|
|
10507
10508
|
ok: true,
|
|
10508
10509
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -13052,7 +13053,7 @@ async function describeStickerImage(params) {
|
|
|
13052
13053
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
13053
13054
|
try {
|
|
13054
13055
|
const buffer = await fs$1.readFile(imagePath);
|
|
13055
|
-
const { describeImageWithModel } = await import("./image-
|
|
13056
|
+
const { describeImageWithModel } = await import("./image-GaF72sln.js").then((n) => n.n);
|
|
13056
13057
|
return (await describeImageWithModel({
|
|
13057
13058
|
buffer,
|
|
13058
13059
|
fileName: "sticker.webp",
|
|
@@ -13475,7 +13476,7 @@ function createWhatsAppLoginTool() {
|
|
|
13475
13476
|
force: Type.Optional(Type.Boolean())
|
|
13476
13477
|
}),
|
|
13477
13478
|
execute: async (_toolCallId, args) => {
|
|
13478
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
13479
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Xgw7JPYo.js");
|
|
13479
13480
|
if ((args?.action ?? "start") === "wait") {
|
|
13480
13481
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
13481
13482
|
return {
|
|
@@ -15691,7 +15692,7 @@ async function preflightDiscordMessage(params) {
|
|
|
15691
15692
|
let preflightTranscript;
|
|
15692
15693
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
15693
15694
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
15694
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
15695
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-8UNY1akA.js");
|
|
15695
15696
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
15696
15697
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
15697
15698
|
ctx: {
|
|
@@ -20967,6 +20968,7 @@ function sanitizeForPromptLiteral(value) {
|
|
|
20967
20968
|
//#region src/agents/system-prompt.ts
|
|
20968
20969
|
function buildSkillsSection(params) {
|
|
20969
20970
|
if (params.isMinimal) return [];
|
|
20971
|
+
if (params.dropCatalog) return [];
|
|
20970
20972
|
const trimmed = params.skillsPrompt?.trim();
|
|
20971
20973
|
if (!trimmed) return [];
|
|
20972
20974
|
return [
|
|
@@ -21071,7 +21073,7 @@ function buildVoiceSection(params) {
|
|
|
21071
21073
|
];
|
|
21072
21074
|
}
|
|
21073
21075
|
function buildVerifyYourWorkSection(params) {
|
|
21074
|
-
if (params.isMinimal) return [];
|
|
21076
|
+
if (params.isMinimal || params.compactMode) return [];
|
|
21075
21077
|
const exec = params.execToolName;
|
|
21076
21078
|
const read = params.readToolName;
|
|
21077
21079
|
return [
|
|
@@ -21260,6 +21262,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
21260
21262
|
const promptMode = params.promptMode ?? "full";
|
|
21261
21263
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
21262
21264
|
const isCoding = promptMode === "coding";
|
|
21265
|
+
const compactMode = params.compactMode === true;
|
|
21263
21266
|
const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
|
|
21264
21267
|
const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
|
|
21265
21268
|
const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
|
|
@@ -21275,7 +21278,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
21275
21278
|
const skillsSection = buildSkillsSection({
|
|
21276
21279
|
skillsPrompt,
|
|
21277
21280
|
isMinimal,
|
|
21278
|
-
readToolName
|
|
21281
|
+
readToolName,
|
|
21282
|
+
dropCatalog: compactMode && (params.skillsDiscoveryMode === "jit" || params.skillsDiscoveryMode === "hybrid")
|
|
21279
21283
|
});
|
|
21280
21284
|
const memorySection = buildMemorySection({
|
|
21281
21285
|
isMinimal,
|
|
@@ -21318,39 +21322,43 @@ function buildAgentSystemPrompt(params) {
|
|
|
21318
21322
|
"If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done.",
|
|
21319
21323
|
"Do not poll `subagents list` / `sessions_list` in a loop; only check status on-demand (for intervention, debugging, or when explicitly asked).",
|
|
21320
21324
|
"",
|
|
21321
|
-
|
|
21322
|
-
|
|
21323
|
-
|
|
21324
|
-
|
|
21325
|
-
|
|
21326
|
-
|
|
21327
|
-
|
|
21328
|
-
|
|
21329
|
-
|
|
21330
|
-
|
|
21331
|
-
|
|
21332
|
-
|
|
21333
|
-
|
|
21334
|
-
|
|
21325
|
+
...compactMode ? [] : [
|
|
21326
|
+
"## Tool Call Style",
|
|
21327
|
+
"Default: do not narrate routine, low-risk tool calls (just call the tool).",
|
|
21328
|
+
"Narrate only when it helps: multi-step work, complex/challenging problems, sensitive actions (e.g., deletions), or when the user explicitly asks.",
|
|
21329
|
+
"Keep narration brief and value-dense; avoid repeating obvious steps.",
|
|
21330
|
+
"Use plain human language for narration unless in a technical context.",
|
|
21331
|
+
"",
|
|
21332
|
+
"## Edit Tool Best Practices",
|
|
21333
|
+
"When using the edit tool, the oldText must match the file EXACTLY (whitespace, indentation, and all).",
|
|
21334
|
+
"To avoid match failures:",
|
|
21335
|
+
"- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
|
|
21336
|
+
"- ALWAYS read the file first, then copy the exact text from the read output for oldText.",
|
|
21337
|
+
"- 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.",
|
|
21338
|
+
"- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines).",
|
|
21339
|
+
""
|
|
21340
|
+
],
|
|
21335
21341
|
...safetySection,
|
|
21336
|
-
"
|
|
21337
|
-
|
|
21338
|
-
|
|
21339
|
-
|
|
21340
|
-
|
|
21341
|
-
|
|
21342
|
-
|
|
21343
|
-
|
|
21344
|
-
|
|
21342
|
+
...compactMode ? ["For Symi CLI commands, ask the user to run `symi help` and paste the output.", ""] : [
|
|
21343
|
+
"## Symi CLI Quick Reference",
|
|
21344
|
+
"Symi is controlled via subcommands. Do not invent commands.",
|
|
21345
|
+
"To manage the Gateway daemon service (start/stop/restart):",
|
|
21346
|
+
"- symi gateway status",
|
|
21347
|
+
"- symi gateway start",
|
|
21348
|
+
"- symi gateway stop",
|
|
21349
|
+
"- symi gateway restart",
|
|
21350
|
+
"If unsure, ask the user to run `symi help` (or `symi gateway --help`) and paste the output.",
|
|
21351
|
+
""
|
|
21352
|
+
],
|
|
21345
21353
|
...skillsSection,
|
|
21346
21354
|
...memorySection,
|
|
21347
|
-
hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
|
|
21348
|
-
hasGateway && !isMinimal && !isCoding ? [
|
|
21355
|
+
hasGateway && !isMinimal && !isCoding && !compactMode ? "## Symi Self-Update" : "",
|
|
21356
|
+
hasGateway && !isMinimal && !isCoding && !compactMode ? [
|
|
21349
21357
|
"Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
|
|
21350
21358
|
"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.",
|
|
21351
21359
|
"Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
|
|
21352
21360
|
"After restart, Symi pings the last active session automatically."
|
|
21353
|
-
].join("\n") : "",
|
|
21361
|
+
].join("\n") : hasGateway && !isMinimal && !isCoding && compactMode ? "Gateway destructive actions (config.apply, config.patch, update.run) require explicit user authorization via userRequestAcknowledgment — never invoke speculatively." : "",
|
|
21354
21362
|
hasGateway && !isMinimal && !isCoding ? "" : "",
|
|
21355
21363
|
"",
|
|
21356
21364
|
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
|
|
@@ -21367,7 +21375,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
21367
21375
|
...buildVerifyYourWorkSection({
|
|
21368
21376
|
isMinimal,
|
|
21369
21377
|
execToolName,
|
|
21370
|
-
readToolName
|
|
21378
|
+
readToolName,
|
|
21379
|
+
compactMode
|
|
21371
21380
|
}),
|
|
21372
21381
|
params.sandboxInfo?.enabled ? "## Sandbox" : "",
|
|
21373
21382
|
params.sandboxInfo?.enabled ? [
|
|
@@ -21413,23 +21422,26 @@ function buildAgentSystemPrompt(params) {
|
|
|
21413
21422
|
}
|
|
21414
21423
|
if (params.reactionGuidance) {
|
|
21415
21424
|
const { level, channel } = params.reactionGuidance;
|
|
21416
|
-
|
|
21417
|
-
|
|
21418
|
-
|
|
21419
|
-
|
|
21420
|
-
|
|
21421
|
-
|
|
21422
|
-
|
|
21423
|
-
|
|
21424
|
-
|
|
21425
|
-
"
|
|
21426
|
-
|
|
21427
|
-
|
|
21428
|
-
|
|
21429
|
-
|
|
21430
|
-
|
|
21431
|
-
|
|
21432
|
-
|
|
21425
|
+
if (compactMode) lines.push("## Reactions", `Reactions for ${channel} are in ${level.toUpperCase()} mode — see the reactions-${level} skill (auto-loaded).`, "");
|
|
21426
|
+
else {
|
|
21427
|
+
const guidanceText = level === "minimal" ? [
|
|
21428
|
+
`Reactions are enabled for ${channel} in MINIMAL mode.`,
|
|
21429
|
+
"React ONLY when truly relevant:",
|
|
21430
|
+
"- Acknowledge important user requests or confirmations",
|
|
21431
|
+
"- Express genuine sentiment (humor, appreciation) sparingly",
|
|
21432
|
+
"- Avoid reacting to routine messages or your own replies",
|
|
21433
|
+
"Guideline: at most 1 reaction per 5-10 exchanges."
|
|
21434
|
+
].join("\n") : [
|
|
21435
|
+
`Reactions are enabled for ${channel} in EXTENSIVE mode.`,
|
|
21436
|
+
"Feel free to react liberally:",
|
|
21437
|
+
"- Acknowledge messages with appropriate emojis",
|
|
21438
|
+
"- Express sentiment and personality through reactions",
|
|
21439
|
+
"- React to interesting content, humor, or notable events",
|
|
21440
|
+
"- Use reactions to confirm understanding or agreement",
|
|
21441
|
+
"Guideline: react whenever it feels natural."
|
|
21442
|
+
].join("\n");
|
|
21443
|
+
lines.push("## Reactions", guidanceText, "");
|
|
21444
|
+
}
|
|
21433
21445
|
}
|
|
21434
21446
|
if (reasoningHint) lines.push("## Reasoning Format", reasoningHint, "");
|
|
21435
21447
|
const validContextFiles = (params.contextFiles ?? []).filter((file) => typeof file.path === "string" && file.path.trim().length > 0);
|
|
@@ -29223,10 +29235,10 @@ async function prepareSessionManagerForRun(params) {
|
|
|
29223
29235
|
//#endregion
|
|
29224
29236
|
//#region src/agents/system-prompt-skills-autoload.ts
|
|
29225
29237
|
const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
|
|
29226
|
-
let cachedPackageRoot;
|
|
29227
|
-
function getPackageRoot() {
|
|
29228
|
-
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
29229
|
-
return cachedPackageRoot;
|
|
29238
|
+
let cachedPackageRoot$1;
|
|
29239
|
+
function getPackageRoot$1() {
|
|
29240
|
+
if (cachedPackageRoot$1 === void 0) cachedPackageRoot$1 = resolveSymiPackageRootSync({});
|
|
29241
|
+
return cachedPackageRoot$1;
|
|
29230
29242
|
}
|
|
29231
29243
|
function safeSkillName(name) {
|
|
29232
29244
|
return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
|
|
@@ -29255,7 +29267,7 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
29255
29267
|
if (opts.minimalMode) return "";
|
|
29256
29268
|
const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
29257
29269
|
if (names.length === 0) return "";
|
|
29258
|
-
const packageRoot = getPackageRoot();
|
|
29270
|
+
const packageRoot = getPackageRoot$1();
|
|
29259
29271
|
const loaded = [];
|
|
29260
29272
|
for (const rawName of names) {
|
|
29261
29273
|
const name = rawName.trim();
|
|
@@ -29300,6 +29312,296 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
29300
29312
|
].join("\n");
|
|
29301
29313
|
}
|
|
29302
29314
|
|
|
29315
|
+
//#endregion
|
|
29316
|
+
//#region src/agents/skills/triggers.ts
|
|
29317
|
+
const QUOTE_RE = /^["'`](.*)["'`]$/;
|
|
29318
|
+
const ARRAY_FORM_RE = /^\[(.*)\]$/s;
|
|
29319
|
+
function stripWrappingQuotes(s) {
|
|
29320
|
+
const m = s.trim().match(QUOTE_RE);
|
|
29321
|
+
return m ? m[1] : s.trim();
|
|
29322
|
+
}
|
|
29323
|
+
/** Parse a single trigger value, dropping empty / whitespace-only entries. */
|
|
29324
|
+
function cleanTrigger(raw) {
|
|
29325
|
+
const trimmed = stripWrappingQuotes(raw).toLowerCase();
|
|
29326
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
29327
|
+
}
|
|
29328
|
+
/**
|
|
29329
|
+
* Parse the value of a `triggers:` frontmatter field into a string[].
|
|
29330
|
+
* Accepts both inline-array form `[a, b, "c d"]` and YAML-list form
|
|
29331
|
+
* (multiline with leading hyphens). Returns deduped lowercased trigger
|
|
29332
|
+
* strings, or empty array on unparseable / missing input.
|
|
29333
|
+
*/
|
|
29334
|
+
function parseTriggersValue(raw) {
|
|
29335
|
+
if (typeof raw !== "string") return [];
|
|
29336
|
+
const trimmed = raw.trim();
|
|
29337
|
+
if (!trimmed) return [];
|
|
29338
|
+
const items = [];
|
|
29339
|
+
const arrayMatch = trimmed.match(ARRAY_FORM_RE);
|
|
29340
|
+
if (arrayMatch) {
|
|
29341
|
+
const inner = arrayMatch[1];
|
|
29342
|
+
let buf = "";
|
|
29343
|
+
let inQuote = null;
|
|
29344
|
+
for (const ch of inner) {
|
|
29345
|
+
if (inQuote) {
|
|
29346
|
+
if (ch === inQuote) inQuote = null;
|
|
29347
|
+
else buf += ch;
|
|
29348
|
+
continue;
|
|
29349
|
+
}
|
|
29350
|
+
if (ch === "\"" || ch === "'") {
|
|
29351
|
+
inQuote = ch;
|
|
29352
|
+
continue;
|
|
29353
|
+
}
|
|
29354
|
+
if (ch === ",") {
|
|
29355
|
+
const cleaned = cleanTrigger(buf);
|
|
29356
|
+
if (cleaned) items.push(cleaned);
|
|
29357
|
+
buf = "";
|
|
29358
|
+
continue;
|
|
29359
|
+
}
|
|
29360
|
+
buf += ch;
|
|
29361
|
+
}
|
|
29362
|
+
const cleaned = cleanTrigger(buf);
|
|
29363
|
+
if (cleaned) items.push(cleaned);
|
|
29364
|
+
} else for (const line of trimmed.split("\n")) {
|
|
29365
|
+
const ltrim = line.trimStart();
|
|
29366
|
+
if (ltrim.startsWith("- ")) {
|
|
29367
|
+
const cleaned = cleanTrigger(ltrim.slice(2));
|
|
29368
|
+
if (cleaned) items.push(cleaned);
|
|
29369
|
+
} else if (ltrim && !ltrim.startsWith("#")) {
|
|
29370
|
+
const cleaned = cleanTrigger(ltrim);
|
|
29371
|
+
if (cleaned) items.push(cleaned);
|
|
29372
|
+
}
|
|
29373
|
+
}
|
|
29374
|
+
const seen = /* @__PURE__ */ new Set();
|
|
29375
|
+
const out = [];
|
|
29376
|
+
for (const t of items) if (!seen.has(t)) {
|
|
29377
|
+
seen.add(t);
|
|
29378
|
+
out.push(t);
|
|
29379
|
+
}
|
|
29380
|
+
return out;
|
|
29381
|
+
}
|
|
29382
|
+
/**
|
|
29383
|
+
* Extract triggers from a parsed frontmatter record. Returns empty array
|
|
29384
|
+
* when the field is absent or unparseable.
|
|
29385
|
+
*/
|
|
29386
|
+
function getSkillTriggers(frontmatter) {
|
|
29387
|
+
return parseTriggersValue(frontmatter.triggers);
|
|
29388
|
+
}
|
|
29389
|
+
|
|
29390
|
+
//#endregion
|
|
29391
|
+
//#region src/agents/tools/skill-search-tool.ts
|
|
29392
|
+
const SkillSearchToolSchema = Type.Object({
|
|
29393
|
+
query: Type.String({
|
|
29394
|
+
minLength: 1,
|
|
29395
|
+
description: "Intent description (2-8 words). Match by trigger keywords first, then description text."
|
|
29396
|
+
}),
|
|
29397
|
+
limit: Type.Optional(Type.Number({
|
|
29398
|
+
minimum: 1,
|
|
29399
|
+
maximum: 10,
|
|
29400
|
+
description: "Max results to return (default 5, capped at 10)."
|
|
29401
|
+
}))
|
|
29402
|
+
});
|
|
29403
|
+
const CACHE_TTL_MS = 6e4;
|
|
29404
|
+
const SAFE_NAME_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
29405
|
+
function loadSkillFromDir(dir, source) {
|
|
29406
|
+
const name = path.basename(dir);
|
|
29407
|
+
if (!SAFE_NAME_RE.test(name)) return null;
|
|
29408
|
+
const file = path.join(dir, "SKILL.md");
|
|
29409
|
+
let raw;
|
|
29410
|
+
try {
|
|
29411
|
+
if (!fs.statSync(file).isFile()) return null;
|
|
29412
|
+
raw = fs.readFileSync(file, "utf8");
|
|
29413
|
+
} catch {
|
|
29414
|
+
return null;
|
|
29415
|
+
}
|
|
29416
|
+
const fm = parseFrontmatterBlock(raw);
|
|
29417
|
+
return {
|
|
29418
|
+
name,
|
|
29419
|
+
description: (fm.description ?? "").trim(),
|
|
29420
|
+
path: file,
|
|
29421
|
+
triggers: getSkillTriggers(fm),
|
|
29422
|
+
source
|
|
29423
|
+
};
|
|
29424
|
+
}
|
|
29425
|
+
function listSkillDirs(root) {
|
|
29426
|
+
const skillsDir = path.join(root, "skills");
|
|
29427
|
+
let entries;
|
|
29428
|
+
try {
|
|
29429
|
+
entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
29430
|
+
} catch {
|
|
29431
|
+
return [];
|
|
29432
|
+
}
|
|
29433
|
+
return entries.filter((e) => e.isDirectory()).map((e) => path.join(skillsDir, e.name));
|
|
29434
|
+
}
|
|
29435
|
+
let cachedPackageRoot;
|
|
29436
|
+
const cachePerWorkspace = /* @__PURE__ */ new Map();
|
|
29437
|
+
function getPackageRoot() {
|
|
29438
|
+
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
29439
|
+
return cachedPackageRoot;
|
|
29440
|
+
}
|
|
29441
|
+
function loadAllSkills(workspaceDir) {
|
|
29442
|
+
const cacheKey = workspaceDir ?? "";
|
|
29443
|
+
const now = Date.now();
|
|
29444
|
+
const existing = cachePerWorkspace.get(cacheKey);
|
|
29445
|
+
if (existing && now - existing.loadedAt < CACHE_TTL_MS) return existing.skills;
|
|
29446
|
+
const seen = /* @__PURE__ */ new Map();
|
|
29447
|
+
if (workspaceDir) for (const dir of listSkillDirs(workspaceDir)) {
|
|
29448
|
+
const skill = loadSkillFromDir(dir, "workspace");
|
|
29449
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
29450
|
+
}
|
|
29451
|
+
const packageRoot = getPackageRoot();
|
|
29452
|
+
if (packageRoot) for (const dir of listSkillDirs(packageRoot)) {
|
|
29453
|
+
const skill = loadSkillFromDir(dir, "bundled");
|
|
29454
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
29455
|
+
}
|
|
29456
|
+
const skills = [...seen.values()];
|
|
29457
|
+
cachePerWorkspace.set(cacheKey, {
|
|
29458
|
+
skills,
|
|
29459
|
+
loadedAt: now
|
|
29460
|
+
});
|
|
29461
|
+
return skills;
|
|
29462
|
+
}
|
|
29463
|
+
const TOKEN_SPLIT_RE = /[^\w/]+/;
|
|
29464
|
+
function tokenizeQuery(raw) {
|
|
29465
|
+
return raw.toLowerCase().split(TOKEN_SPLIT_RE).filter((t) => t.length >= 2);
|
|
29466
|
+
}
|
|
29467
|
+
/**
|
|
29468
|
+
* Score a query against one skill's triggers + description.
|
|
29469
|
+
* - Trigger score: ratio of query tokens that appear in the trigger set.
|
|
29470
|
+
* - FTS score: 0.4 × ratio of query tokens that appear in the description
|
|
29471
|
+
* (case-insensitive substring match).
|
|
29472
|
+
* - Final = max(trigger, fts) so trigger matches always beat descriptions.
|
|
29473
|
+
* - Returns 0 for "no signal at all" (caller should drop these).
|
|
29474
|
+
*/
|
|
29475
|
+
function scoreSkillMatch(skill, queryTokens) {
|
|
29476
|
+
if (queryTokens.length === 0) return 0;
|
|
29477
|
+
const triggerSet = new Set(skill.triggers.map((t) => t.toLowerCase()));
|
|
29478
|
+
const description = skill.description.toLowerCase();
|
|
29479
|
+
let triggerHits = 0;
|
|
29480
|
+
let ftsHits = 0;
|
|
29481
|
+
for (const token of queryTokens) if (triggerSet.has(token)) triggerHits += 1;
|
|
29482
|
+
else if (description.includes(token)) ftsHits += 1;
|
|
29483
|
+
const triggerScore = triggerHits / queryTokens.length;
|
|
29484
|
+
const ftsScore = ftsHits / queryTokens.length * .4;
|
|
29485
|
+
return Math.max(triggerScore, ftsScore);
|
|
29486
|
+
}
|
|
29487
|
+
/**
|
|
29488
|
+
* Pure-function search; exported for testing without going through the
|
|
29489
|
+
* tool execute wrapper.
|
|
29490
|
+
*/
|
|
29491
|
+
function searchSkills(query, limit, workspaceDir) {
|
|
29492
|
+
const tokens = tokenizeQuery(query);
|
|
29493
|
+
if (tokens.length === 0) return [];
|
|
29494
|
+
const all = loadAllSkills(workspaceDir);
|
|
29495
|
+
const scored = [];
|
|
29496
|
+
for (const skill of all) {
|
|
29497
|
+
const score = scoreSkillMatch(skill, tokens);
|
|
29498
|
+
if (score > 0) scored.push({
|
|
29499
|
+
name: skill.name,
|
|
29500
|
+
description: skill.description,
|
|
29501
|
+
path: skill.path,
|
|
29502
|
+
score
|
|
29503
|
+
});
|
|
29504
|
+
}
|
|
29505
|
+
scored.sort((a, b) => b.score - a.score || a.name.localeCompare(b.name));
|
|
29506
|
+
return scored.slice(0, limit);
|
|
29507
|
+
}
|
|
29508
|
+
function createSkillSearchTool(opts) {
|
|
29509
|
+
return {
|
|
29510
|
+
name: "skill_search",
|
|
29511
|
+
label: "skill_search",
|
|
29512
|
+
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.",
|
|
29513
|
+
parameters: SkillSearchToolSchema,
|
|
29514
|
+
execute: async (_toolCallId, args) => {
|
|
29515
|
+
const params = args;
|
|
29516
|
+
const query = typeof params.query === "string" ? params.query.trim() : "";
|
|
29517
|
+
if (!query) return jsonResult({
|
|
29518
|
+
ok: false,
|
|
29519
|
+
error: "skill_search requires a non-empty `query` string."
|
|
29520
|
+
});
|
|
29521
|
+
const limit = typeof params.limit === "number" && Number.isFinite(params.limit) ? Math.min(10, Math.max(1, Math.floor(params.limit))) : 5;
|
|
29522
|
+
try {
|
|
29523
|
+
return jsonResult({
|
|
29524
|
+
ok: true,
|
|
29525
|
+
query,
|
|
29526
|
+
matches: searchSkills(query, limit, opts?.workspaceDir)
|
|
29527
|
+
});
|
|
29528
|
+
} catch (err) {
|
|
29529
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
29530
|
+
logWarn(`skill_search failed: ${message}`);
|
|
29531
|
+
return jsonResult({
|
|
29532
|
+
ok: false,
|
|
29533
|
+
error: message
|
|
29534
|
+
});
|
|
29535
|
+
}
|
|
29536
|
+
}
|
|
29537
|
+
};
|
|
29538
|
+
}
|
|
29539
|
+
|
|
29540
|
+
//#endregion
|
|
29541
|
+
//#region src/agents/system-prompt-skills-jit.ts
|
|
29542
|
+
const MAX_ANCHOR_DESCRIPTION_CHARS = 100;
|
|
29543
|
+
const MAX_AUTO_INJECT_RESULTS = 3;
|
|
29544
|
+
const MAX_AUTO_INJECT_TOTAL_CHARS = 600;
|
|
29545
|
+
/**
|
|
29546
|
+
* Build the anchor list block. Returns "" when no anchor list configured
|
|
29547
|
+
* or in preload mode (anchor list adds value only in jit/hybrid).
|
|
29548
|
+
*/
|
|
29549
|
+
function buildAnchorListBlock(opts) {
|
|
29550
|
+
if (opts.minimalMode) return "";
|
|
29551
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
29552
|
+
const names = (opts.anchorList ?? []).filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
29553
|
+
if (names.length === 0) return "";
|
|
29554
|
+
const lines = [];
|
|
29555
|
+
for (const name of names) {
|
|
29556
|
+
const description = searchSkills(name, 1, opts.workspaceDir)[0]?.description.trim() ?? "";
|
|
29557
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
29558
|
+
lines.push(truncated ? `- ${name}: ${truncated}` : `- ${name}`);
|
|
29559
|
+
}
|
|
29560
|
+
return [
|
|
29561
|
+
"",
|
|
29562
|
+
"## Anchor Skills",
|
|
29563
|
+
"These skills are always available. Read their SKILL.md via `read` if relevant. For full discovery use the `skill_search` tool.",
|
|
29564
|
+
lines.join("\n"),
|
|
29565
|
+
""
|
|
29566
|
+
].join("\n");
|
|
29567
|
+
}
|
|
29568
|
+
/**
|
|
29569
|
+
* Build the auto-injected matches block based on the user message triggers.
|
|
29570
|
+
* Returns "" when discoveryMode doesn't ask for it, no message available,
|
|
29571
|
+
* no matches found, or in minimal mode.
|
|
29572
|
+
*/
|
|
29573
|
+
function buildAutoInjectBlock(opts) {
|
|
29574
|
+
if (opts.minimalMode) return "";
|
|
29575
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
29576
|
+
const message = (opts.userMessage ?? "").trim();
|
|
29577
|
+
if (!message) return "";
|
|
29578
|
+
const matches = searchSkills(message, MAX_AUTO_INJECT_RESULTS, opts.workspaceDir);
|
|
29579
|
+
if (matches.length === 0) return "";
|
|
29580
|
+
const lines = [];
|
|
29581
|
+
let total = 0;
|
|
29582
|
+
for (const match of matches) {
|
|
29583
|
+
const description = match.description.trim();
|
|
29584
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
29585
|
+
const skillRef = path.basename(path.dirname(match.path));
|
|
29586
|
+
const line = truncated ? `- ${skillRef}: ${truncated}` : `- ${skillRef}`;
|
|
29587
|
+
if (total + line.length > MAX_AUTO_INJECT_TOTAL_CHARS) break;
|
|
29588
|
+
lines.push(line);
|
|
29589
|
+
total += line.length + 1;
|
|
29590
|
+
}
|
|
29591
|
+
if (lines.length === 0) return "";
|
|
29592
|
+
return [
|
|
29593
|
+
"",
|
|
29594
|
+
"## Possibly Relevant Skills (auto-suggested for this request)",
|
|
29595
|
+
"These skills' triggers matched keywords in your message. Read the SKILL.md if it applies; otherwise ignore and proceed.",
|
|
29596
|
+
lines.join("\n"),
|
|
29597
|
+
""
|
|
29598
|
+
].join("\n");
|
|
29599
|
+
}
|
|
29600
|
+
/** Convenience: build both blocks concatenated. */
|
|
29601
|
+
function buildSkillsJitBlocks(opts) {
|
|
29602
|
+
return `${buildAnchorListBlock(opts)}${buildAutoInjectBlock(opts)}`;
|
|
29603
|
+
}
|
|
29604
|
+
|
|
29303
29605
|
//#endregion
|
|
29304
29606
|
//#region src/agents/tool-summaries.ts
|
|
29305
29607
|
function buildToolSummaryMap(tools) {
|
|
@@ -29341,16 +29643,23 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
29341
29643
|
userTime: params.userTime,
|
|
29342
29644
|
userTimeFormat: params.userTimeFormat,
|
|
29343
29645
|
contextFiles: params.contextFiles,
|
|
29344
|
-
memoryCitationsMode: params.memoryCitationsMode
|
|
29646
|
+
memoryCitationsMode: params.memoryCitationsMode,
|
|
29647
|
+
compactMode: params.compactMode,
|
|
29648
|
+
skillsDiscoveryMode: params.skillsDiscoveryMode
|
|
29345
29649
|
});
|
|
29346
29650
|
const promptMode = params.promptMode ?? "full";
|
|
29347
29651
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
29348
|
-
|
|
29652
|
+
return `${corePrompt}${buildAutoLoadedSkillsBlock({
|
|
29349
29653
|
skillNames: params.autoLoadInlineSkills ?? [],
|
|
29350
29654
|
workspaceDir: params.workspaceDir,
|
|
29351
29655
|
minimalMode: isMinimal
|
|
29352
|
-
})
|
|
29353
|
-
|
|
29656
|
+
})}${buildSkillsJitBlocks({
|
|
29657
|
+
discoveryMode: params.skillsDiscoveryMode,
|
|
29658
|
+
anchorList: params.skillsAnchorList,
|
|
29659
|
+
userMessage: params.currentUserMessage,
|
|
29660
|
+
workspaceDir: params.workspaceDir,
|
|
29661
|
+
minimalMode: isMinimal
|
|
29662
|
+
})}`;
|
|
29354
29663
|
}
|
|
29355
29664
|
function createSystemPromptOverride(systemPrompt) {
|
|
29356
29665
|
const override = systemPrompt.trim();
|
|
@@ -30139,7 +30448,11 @@ async function runEmbeddedAttempt(params) {
|
|
|
30139
30448
|
userTimeFormat,
|
|
30140
30449
|
contextFiles,
|
|
30141
30450
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
30142
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
30451
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
30452
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
30453
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
30454
|
+
currentUserMessage: params.prompt,
|
|
30455
|
+
compactMode: params.config?.prompt?.compactMode
|
|
30143
30456
|
});
|
|
30144
30457
|
const systemPromptReport = buildSystemPromptReport({
|
|
30145
30458
|
source: "run",
|
|
@@ -32019,27 +32332,27 @@ async function runAgentTurn(params) {
|
|
|
32019
32332
|
function createDefaultDeps() {
|
|
32020
32333
|
return {
|
|
32021
32334
|
sendMessageWhatsApp: async (...args) => {
|
|
32022
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
32335
|
+
const { sendMessageWhatsApp } = await import("./web-DIDhNbES.js");
|
|
32023
32336
|
return await sendMessageWhatsApp(...args);
|
|
32024
32337
|
},
|
|
32025
32338
|
sendMessageTelegram: async (...args) => {
|
|
32026
|
-
const { sendMessageTelegram } = await import("./send-
|
|
32339
|
+
const { sendMessageTelegram } = await import("./send-aXMPprv9.js").then((n) => n.l);
|
|
32027
32340
|
return await sendMessageTelegram(...args);
|
|
32028
32341
|
},
|
|
32029
32342
|
sendMessageDiscord: async (...args) => {
|
|
32030
|
-
const { sendMessageDiscord } = await import("./send-
|
|
32343
|
+
const { sendMessageDiscord } = await import("./send-BbZtP8GJ.js").then((n) => n.t);
|
|
32031
32344
|
return await sendMessageDiscord(...args);
|
|
32032
32345
|
},
|
|
32033
32346
|
sendMessageSlack: async (...args) => {
|
|
32034
|
-
const { sendMessageSlack } = await import("./send-
|
|
32347
|
+
const { sendMessageSlack } = await import("./send-nRhkxbqX.js").then((n) => n.n);
|
|
32035
32348
|
return await sendMessageSlack(...args);
|
|
32036
32349
|
},
|
|
32037
32350
|
sendMessageSignal: async (...args) => {
|
|
32038
|
-
const { sendMessageSignal } = await import("./send-
|
|
32351
|
+
const { sendMessageSignal } = await import("./send-D5Siw6wn.js").then((n) => n.i);
|
|
32039
32352
|
return await sendMessageSignal(...args);
|
|
32040
32353
|
},
|
|
32041
32354
|
sendMessageIMessage: async (...args) => {
|
|
32042
|
-
const { sendMessageIMessage } = await import("./send-
|
|
32355
|
+
const { sendMessageIMessage } = await import("./send-DanpvmZQ.js").then((n) => n.n);
|
|
32043
32356
|
return await sendMessageIMessage(...args);
|
|
32044
32357
|
}
|
|
32045
32358
|
};
|
|
@@ -43590,7 +43903,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
43590
43903
|
});
|
|
43591
43904
|
const deliverSlashPayloads = async (replies) => {
|
|
43592
43905
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
43593
|
-
import("./replies-
|
|
43906
|
+
import("./replies-CsNZ9ImJ.js").then((n) => n.r),
|
|
43594
43907
|
import("./chunk-DIi9uyC6.js").then((n) => n.s),
|
|
43595
43908
|
import("./markdown-tables-kCfKPOgH.js").then((n) => n.t)
|
|
43596
43909
|
]);
|
|
@@ -48284,7 +48597,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
48284
48597
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
48285
48598
|
let preflightTranscript;
|
|
48286
48599
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
48287
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
48600
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-8UNY1akA.js");
|
|
48288
48601
|
preflightTranscript = await transcribeFirstAudio({
|
|
48289
48602
|
ctx: {
|
|
48290
48603
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -50438,23 +50751,23 @@ let webLoginQrPromise = null;
|
|
|
50438
50751
|
let webChannelPromise = null;
|
|
50439
50752
|
let whatsappActionsPromise = null;
|
|
50440
50753
|
function loadWebOutbound() {
|
|
50441
|
-
webOutboundPromise ??= import("./outbound-
|
|
50754
|
+
webOutboundPromise ??= import("./outbound-CPcVipU-.js").then((n) => n.t);
|
|
50442
50755
|
return webOutboundPromise;
|
|
50443
50756
|
}
|
|
50444
50757
|
function loadWebLogin() {
|
|
50445
|
-
webLoginPromise ??= import("./login-
|
|
50758
|
+
webLoginPromise ??= import("./login-Cd4DTmg6.js").then((n) => n.n);
|
|
50446
50759
|
return webLoginPromise;
|
|
50447
50760
|
}
|
|
50448
50761
|
function loadWebLoginQr() {
|
|
50449
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
50762
|
+
webLoginQrPromise ??= import("./login-qr-Xgw7JPYo.js");
|
|
50450
50763
|
return webLoginQrPromise;
|
|
50451
50764
|
}
|
|
50452
50765
|
function loadWebChannel() {
|
|
50453
|
-
webChannelPromise ??= import("./web-
|
|
50766
|
+
webChannelPromise ??= import("./web-DIDhNbES.js");
|
|
50454
50767
|
return webChannelPromise;
|
|
50455
50768
|
}
|
|
50456
50769
|
function loadWhatsAppActions() {
|
|
50457
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
50770
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-CJkCiI_n.js");
|
|
50458
50771
|
return whatsappActionsPromise;
|
|
50459
50772
|
}
|
|
50460
50773
|
function createPluginRuntime() {
|
|
@@ -65225,6 +65538,7 @@ function createSymiTools(options) {
|
|
|
65225
65538
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
65226
65539
|
createTaskListTool({ workspaceDir }),
|
|
65227
65540
|
createTaskCancelTool({ workspaceDir }),
|
|
65541
|
+
createSkillSearchTool({ workspaceDir }),
|
|
65228
65542
|
...messageTool ? [messageTool] : [],
|
|
65229
65543
|
createTtsTool({
|
|
65230
65544
|
agentChannel: options?.agentChannel,
|
|
@@ -65950,7 +66264,11 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
65950
66264
|
userTimeFormat,
|
|
65951
66265
|
contextFiles,
|
|
65952
66266
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
65953
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
66267
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
66268
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
66269
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
66270
|
+
currentUserMessage: void 0,
|
|
66271
|
+
compactMode: params.config?.prompt?.compactMode
|
|
65954
66272
|
}));
|
|
65955
66273
|
const sessionLock = await acquireSessionWriteLock({
|
|
65956
66274
|
sessionFile: params.sessionFile,
|
|
@@ -73626,7 +73944,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
73626
73944
|
return;
|
|
73627
73945
|
}
|
|
73628
73946
|
try {
|
|
73629
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
73947
|
+
const { deliverOutboundPayloads } = await import("./deliver-DrgHcdVo.js").then((n) => n.n);
|
|
73630
73948
|
await deliverOutboundPayloads({
|
|
73631
73949
|
cfg: params.cfg,
|
|
73632
73950
|
channel,
|