@symerian/symi 2.9.1 → 2.9.2
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-DTl30WoB.js} +7 -7
- package/dist/{agents.config-DUYDFbfP.js → agents.config-CO8F9mkD.js} +1 -1
- package/dist/{agents.config-CjML1ogJ.js → agents.config-CZ3GFxPg.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-DQR2Ivi-.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-BYDGn7lJ.js} +4 -4
- package/dist/{auth-choice-RQ5keocP.js → auth-choice-BoOyy-ZT.js} +4 -4
- package/dist/{banner-dYiFXA70.js → banner-D4MiyUnv.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-CjZlTumK.js → channel-options-B6qP-vR-.js} +1 -1
- package/dist/{channel-options-DqXYA7rM.js → channel-options-BiSSYYQC.js} +1 -1
- package/dist/{channel-web-BITaNjFT.js → channel-web-DP97EUhx.js} +7 -7
- package/dist/{channels-cli-7cDtM5kW.js → channels-cli-6LNvJQPb.js} +30 -30
- package/dist/{channels-cli-C8CesA1x.js → channels-cli-CE_A3Hai.js} +31 -31
- package/dist/{chrome-t-stBgN6.js → chrome-B-hW5hrK.js} +1 -1
- package/dist/{chrome-B1zznUiv.js → chrome-BaMQiegP.js} +8 -8
- 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-BJ9_X9eE.js → cli-D4j_JTug.js} +27 -27
- package/dist/{cli-ZC_92Xyn.js → cli-DwQ3mqhI.js} +26 -26
- package/dist/{command-registry-B1ltIC7z.js → command-registry-b62Qpsi2.js} +11 -11
- package/dist/{completion-cli-_P0e-rhC.js → completion-cli-DUT2XYgK.js} +2 -2
- package/dist/{completion-cli-KSs4eFcq.js → completion-cli-RQyC3L-t.js} +1 -1
- 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-Di8VOhbp.js} +2 -2
- package/dist/{config-cli-DjCKp4Pe.js → config-cli-H52N8rp1.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-CsZWO6Nr.js → configure-BF9crM5K.js} +10 -10
- package/dist/{configure-Ds8SzTEw.js → configure-DQxuawe-.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-CeNdvQJ3.js → deliver-DaRQn5Ai.js} +3 -3
- package/dist/{deliver-Cqk3zmyW.js → deliver-DrgHcdVo.js} +3 -3
- package/dist/{deliver-nBdNxMIr.js → deliver-Dx39g9ey.js} +2 -2
- 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-BKXQ50ee.js} +1 -1
- package/dist/{doctor-completion-CfGWMYVG.js → doctor-completion-BS2JEeZy.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-Do9KUPqe.js} +42 -42
- package/dist/{gateway-cli-CfO9aUt0.js → gateway-cli-moPf-zP5.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-D53pvIov.js} +35 -35
- package/dist/{glass-ui-ws-Bhu3COgn.js → glass-ui-ws-Dfro-3R8.js} +34 -34
- package/dist/{health-CCslN1xh.js → health-BQGRC0xh.js} +5 -5
- package/dist/{health-CLRDrjsk.js → health-CV741PBg.js} +5 -5
- package/dist/{hooks-cli-DvLYXNNe.js → hooks-cli-CG-PDY2U.js} +28 -28
- package/dist/{hooks-cli-BrVLhsJ6.js → hooks-cli-CWXGIL9L.js} +27 -27
- package/dist/{image-D5bsPk2_.js → image-BjyeKf1c.js} +2 -2
- package/dist/{image-CEdTQp1F.js → image-C-JvPPpM.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-OSWCBsL_.js → manager-B_2KzUSI.js} +1 -1
- package/dist/{manager-HASZR70T.js → manager-Bc-MeMho.js} +1 -1
- package/dist/{manager-CztTHQhN.js → manager-CLPHK-qG.js} +1 -1
- package/dist/{manager-8N1YbbDk.js → manager-yrUe0KOT.js} +1 -1
- package/dist/{memory-cli-BmWvHCEJ.js → memory-cli-3RSIw4no.js} +4 -4
- package/dist/{memory-cli-BDWdeqta.js → memory-cli-BKNnDIdx.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-D_C2JFPw.js} +8 -8
- package/dist/{models-cli-BqW-Y1GI.js → models-cli-DQE60EtL.js} +30 -30
- package/dist/{models-cli-B2IebIhR.js → models-cli-j2O4e1Lu.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-Ckw89oRF.js} +7 -7
- package/dist/{onboard-o5O2Ipvr.js → onboard-DUIZfWqa.js} +7 -7
- package/dist/{onboard-channels-B-PEQmiI.js → onboard-channels-B8Ouc5sR.js} +1 -1
- package/dist/{onboard-channels-Do0lkLVV.js → onboard-channels-Oa9IlsGt.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-3DwQLO4z.js → onboarding-Cjh-Y8ha.js} +10 -10
- package/dist/{onboarding-B_F_DbjQ.js → onboarding-JFWHlqAb.js} +10 -10
- package/dist/{onboarding.finalize-BWejCrVi.js → onboarding.finalize-CkGLgiEA.js} +32 -32
- package/dist/{onboarding.finalize-D_G6Tcqi.js → onboarding.finalize-spzEoVkm.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-D6Zi01El.js} +343 -41
- package/dist/{pi-embedded-helpers-DrAT2ieP.js → pi-embedded-helpers-B1P8lkqj.js} +5 -5
- package/dist/{pi-embedded-helpers-BgpogTwt.js → pi-embedded-helpers-BlL08R8g.js} +1 -1
- 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-CRIH5Sdf.js → plugin-registry-CYglC746.js} +2 -2
- package/dist/{plugin-registry-B_KRAoou.js → plugin-registry-zGF6HUkQ.js} +2 -2
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +14 -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/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-eeGSjU9N.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/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-DZ5-lr4s.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-BRGoceel.js} +348 -46
- 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-DVsG2Tbp.js} +16 -16
- package/dist/plugin-sdk/{web-C3YuHiih.js → web-7u3fdT2S.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-CLb_0vH6.js} +27 -27
- package/dist/{plugins-cli-MDYiXsRL.js → plugins-cli-ndIGvW38.js} +28 -28
- package/dist/{program-BWqVPm5t.js → program-BovNsUAh.js} +34 -34
- package/dist/{program-context-m9C36Cuq.js → program-context-mFSRQPMm.js} +38 -38
- package/dist/{prompt-select-styled-DzjQVaDM.js → prompt-select-styled-DlKhnnDV.js} +15 -15
- package/dist/{prompt-select-styled-BKJVEVPk.js → prompt-select-styled-vhI0kQYd.js} +15 -15
- package/dist/{provider-auth-helpers-DaTqy1aA.js → provider-auth-helpers-DXlKD0hY.js} +2 -2
- package/dist/{provider-auth-helpers-DYJ-0sNe.js → provider-auth-helpers-U0t5YhCn.js} +2 -2
- package/dist/{push-apns-DdQlLTpV.js → push-apns-hN0N3Wcu.js} +1 -1
- package/dist/{push-apns-_aeFBwsP.js → push-apns-rDsc17-c.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-BlWK9Tr3.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-Hi0PN67T.js → register.agent-B1liWWB3.js} +35 -35
- package/dist/{register.agent-RNTVF_Nk.js → register.agent-Cyij2g-g.js} +33 -33
- package/dist/{register.configure-Dp-F_KKy.js → register.configure-CoYKlH75.js} +37 -37
- package/dist/{register.configure-DE2Fg1dO.js → register.configure-keWh1w1p.js} +38 -38
- package/dist/{register.maintenance-Bbd-g7nL.js → register.maintenance-CsA9QQRE.js} +37 -37
- package/dist/{register.maintenance-QHRRhtsg.js → register.maintenance-CvY-Yar9.js} +35 -35
- package/dist/{register.message-BvutRi1a.js → register.message-D7815_7Y.js} +28 -28
- package/dist/{register.message-B5uWOXev.js → register.message-DltuBwIg.js} +27 -27
- package/dist/{register.onboard-DRHuoRTm.js → register.onboard-CY50To_-.js} +33 -33
- package/dist/{register.onboard-CNOh527M.js → register.onboard-FcZymlrx.js} +34 -34
- package/dist/{register.setup-D1ePW7dl.js → register.setup-8dkIizGs.js} +34 -34
- package/dist/{register.setup-Cj0oOZqL.js → register.setup-X011Evir.js} +33 -33
- package/dist/{register.status-health-sessions-sf1XzcPo.js → register.status-health-sessions-DRkIaw1q.js} +32 -32
- package/dist/{register.status-health-sessions-DfyO7JaH.js → register.status-health-sessions-u9ZbWWea.js} +30 -30
- package/dist/{register.subclis-Do_HdpUT.js → register.subclis-vTS3UwIU.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-Dx9DWIO2.js} +355 -52
- 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-BQKf71Kt.js} +45 -45
- package/dist/{runner-CMvsDzah.js → runner-C4opGXAA.js} +2 -2
- 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-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-1TzYth88.js} +17 -17
- package/dist/{server-methods-P-ayY-6k.js → server-methods-DeIwhdBv.js} +16 -16
- package/dist/{server-node-events-tvNFkev2.js → server-node-events-CFMtnBFU.js} +28 -28
- package/dist/{server-node-events-D5ee96aZ.js → server-node-events-DF_ks0oa.js} +27 -27
- 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-CvElSWg2.js} +2 -2
- package/dist/{status-CfIkReeE.js → status-CwZgLSfx.js} +10 -10
- package/dist/{status-DjvBeoYl.js → status-DEQAH4oA.js} +2 -2
- package/dist/{status-BqjF9Q9S.js → status-vO4-v0vI.js} +9 -9
- 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-K1lQH7iR.js} +351 -48
- package/dist/{synthesis-y-Ozm8YK.js → synthesis-AYqn8_O8.js} +27 -27
- package/dist/{synthesis-DgiYnjmZ.js → synthesis-CZhOC8n4.js} +14 -14
- package/dist/{synthesis-DRXsTePq.js → synthesis-DazoL-DI.js} +26 -26
- package/dist/{synthesis-DDQ5zAtf.js → synthesis-DhxkkJq7.js} +16 -16
- 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-CavADnkK.js} +350 -47
- package/dist/{update-cli-BfvcUFky.js → update-cli-DPf2vrJK.js} +40 -40
- package/dist/{update-cli-5uhTWLns.js → update-cli-DmxFKAmJ.js} +38 -38
- package/dist/{update-runner-DyENgdTM.js → update-runner-D4UIv_1p.js} +1 -1
- package/dist/{update-runner-22u8HOoq.js → update-runner-XU-jPEg_.js} +1 -1
- package/dist/{web-s9NWpUYH.js → web-BBbVbRTg.js} +30 -30
- package/dist/{web-Dbe1DwOE.js → web-BJIv_6uQ.js} +17 -17
- package/dist/{web-CqeSgivQ.js → web-C-E-O8iP.js} +30 -30
- package/dist/{web-B8GaP73t.js → web-CIj8erCe.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/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- 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/coding-agent/SKILL.md +1 -0
- package/skills/connect-email/SKILL.md +1 -0
- package/skills/discord/SKILL.md +1 -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/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/trello/SKILL.md +1 -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-BKNnDIdx.js";
|
|
65
|
+
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-B_2KzUSI.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: {
|
|
@@ -29223,10 +29224,10 @@ async function prepareSessionManagerForRun(params) {
|
|
|
29223
29224
|
//#endregion
|
|
29224
29225
|
//#region src/agents/system-prompt-skills-autoload.ts
|
|
29225
29226
|
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;
|
|
29227
|
+
let cachedPackageRoot$1;
|
|
29228
|
+
function getPackageRoot$1() {
|
|
29229
|
+
if (cachedPackageRoot$1 === void 0) cachedPackageRoot$1 = resolveSymiPackageRootSync({});
|
|
29230
|
+
return cachedPackageRoot$1;
|
|
29230
29231
|
}
|
|
29231
29232
|
function safeSkillName(name) {
|
|
29232
29233
|
return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
|
|
@@ -29255,7 +29256,7 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
29255
29256
|
if (opts.minimalMode) return "";
|
|
29256
29257
|
const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
29257
29258
|
if (names.length === 0) return "";
|
|
29258
|
-
const packageRoot = getPackageRoot();
|
|
29259
|
+
const packageRoot = getPackageRoot$1();
|
|
29259
29260
|
const loaded = [];
|
|
29260
29261
|
for (const rawName of names) {
|
|
29261
29262
|
const name = rawName.trim();
|
|
@@ -29300,6 +29301,296 @@ function buildAutoLoadedSkillsBlock(opts) {
|
|
|
29300
29301
|
].join("\n");
|
|
29301
29302
|
}
|
|
29302
29303
|
|
|
29304
|
+
//#endregion
|
|
29305
|
+
//#region src/agents/skills/triggers.ts
|
|
29306
|
+
const QUOTE_RE = /^["'`](.*)["'`]$/;
|
|
29307
|
+
const ARRAY_FORM_RE = /^\[(.*)\]$/s;
|
|
29308
|
+
function stripWrappingQuotes(s) {
|
|
29309
|
+
const m = s.trim().match(QUOTE_RE);
|
|
29310
|
+
return m ? m[1] : s.trim();
|
|
29311
|
+
}
|
|
29312
|
+
/** Parse a single trigger value, dropping empty / whitespace-only entries. */
|
|
29313
|
+
function cleanTrigger(raw) {
|
|
29314
|
+
const trimmed = stripWrappingQuotes(raw).toLowerCase();
|
|
29315
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
29316
|
+
}
|
|
29317
|
+
/**
|
|
29318
|
+
* Parse the value of a `triggers:` frontmatter field into a string[].
|
|
29319
|
+
* Accepts both inline-array form `[a, b, "c d"]` and YAML-list form
|
|
29320
|
+
* (multiline with leading hyphens). Returns deduped lowercased trigger
|
|
29321
|
+
* strings, or empty array on unparseable / missing input.
|
|
29322
|
+
*/
|
|
29323
|
+
function parseTriggersValue(raw) {
|
|
29324
|
+
if (typeof raw !== "string") return [];
|
|
29325
|
+
const trimmed = raw.trim();
|
|
29326
|
+
if (!trimmed) return [];
|
|
29327
|
+
const items = [];
|
|
29328
|
+
const arrayMatch = trimmed.match(ARRAY_FORM_RE);
|
|
29329
|
+
if (arrayMatch) {
|
|
29330
|
+
const inner = arrayMatch[1];
|
|
29331
|
+
let buf = "";
|
|
29332
|
+
let inQuote = null;
|
|
29333
|
+
for (const ch of inner) {
|
|
29334
|
+
if (inQuote) {
|
|
29335
|
+
if (ch === inQuote) inQuote = null;
|
|
29336
|
+
else buf += ch;
|
|
29337
|
+
continue;
|
|
29338
|
+
}
|
|
29339
|
+
if (ch === "\"" || ch === "'") {
|
|
29340
|
+
inQuote = ch;
|
|
29341
|
+
continue;
|
|
29342
|
+
}
|
|
29343
|
+
if (ch === ",") {
|
|
29344
|
+
const cleaned = cleanTrigger(buf);
|
|
29345
|
+
if (cleaned) items.push(cleaned);
|
|
29346
|
+
buf = "";
|
|
29347
|
+
continue;
|
|
29348
|
+
}
|
|
29349
|
+
buf += ch;
|
|
29350
|
+
}
|
|
29351
|
+
const cleaned = cleanTrigger(buf);
|
|
29352
|
+
if (cleaned) items.push(cleaned);
|
|
29353
|
+
} else for (const line of trimmed.split("\n")) {
|
|
29354
|
+
const ltrim = line.trimStart();
|
|
29355
|
+
if (ltrim.startsWith("- ")) {
|
|
29356
|
+
const cleaned = cleanTrigger(ltrim.slice(2));
|
|
29357
|
+
if (cleaned) items.push(cleaned);
|
|
29358
|
+
} else if (ltrim && !ltrim.startsWith("#")) {
|
|
29359
|
+
const cleaned = cleanTrigger(ltrim);
|
|
29360
|
+
if (cleaned) items.push(cleaned);
|
|
29361
|
+
}
|
|
29362
|
+
}
|
|
29363
|
+
const seen = /* @__PURE__ */ new Set();
|
|
29364
|
+
const out = [];
|
|
29365
|
+
for (const t of items) if (!seen.has(t)) {
|
|
29366
|
+
seen.add(t);
|
|
29367
|
+
out.push(t);
|
|
29368
|
+
}
|
|
29369
|
+
return out;
|
|
29370
|
+
}
|
|
29371
|
+
/**
|
|
29372
|
+
* Extract triggers from a parsed frontmatter record. Returns empty array
|
|
29373
|
+
* when the field is absent or unparseable.
|
|
29374
|
+
*/
|
|
29375
|
+
function getSkillTriggers(frontmatter) {
|
|
29376
|
+
return parseTriggersValue(frontmatter.triggers);
|
|
29377
|
+
}
|
|
29378
|
+
|
|
29379
|
+
//#endregion
|
|
29380
|
+
//#region src/agents/tools/skill-search-tool.ts
|
|
29381
|
+
const SkillSearchToolSchema = Type.Object({
|
|
29382
|
+
query: Type.String({
|
|
29383
|
+
minLength: 1,
|
|
29384
|
+
description: "Intent description (2-8 words). Match by trigger keywords first, then description text."
|
|
29385
|
+
}),
|
|
29386
|
+
limit: Type.Optional(Type.Number({
|
|
29387
|
+
minimum: 1,
|
|
29388
|
+
maximum: 10,
|
|
29389
|
+
description: "Max results to return (default 5, capped at 10)."
|
|
29390
|
+
}))
|
|
29391
|
+
});
|
|
29392
|
+
const CACHE_TTL_MS = 6e4;
|
|
29393
|
+
const SAFE_NAME_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
29394
|
+
function loadSkillFromDir(dir, source) {
|
|
29395
|
+
const name = path.basename(dir);
|
|
29396
|
+
if (!SAFE_NAME_RE.test(name)) return null;
|
|
29397
|
+
const file = path.join(dir, "SKILL.md");
|
|
29398
|
+
let raw;
|
|
29399
|
+
try {
|
|
29400
|
+
if (!fs.statSync(file).isFile()) return null;
|
|
29401
|
+
raw = fs.readFileSync(file, "utf8");
|
|
29402
|
+
} catch {
|
|
29403
|
+
return null;
|
|
29404
|
+
}
|
|
29405
|
+
const fm = parseFrontmatterBlock(raw);
|
|
29406
|
+
return {
|
|
29407
|
+
name,
|
|
29408
|
+
description: (fm.description ?? "").trim(),
|
|
29409
|
+
path: file,
|
|
29410
|
+
triggers: getSkillTriggers(fm),
|
|
29411
|
+
source
|
|
29412
|
+
};
|
|
29413
|
+
}
|
|
29414
|
+
function listSkillDirs(root) {
|
|
29415
|
+
const skillsDir = path.join(root, "skills");
|
|
29416
|
+
let entries;
|
|
29417
|
+
try {
|
|
29418
|
+
entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
29419
|
+
} catch {
|
|
29420
|
+
return [];
|
|
29421
|
+
}
|
|
29422
|
+
return entries.filter((e) => e.isDirectory()).map((e) => path.join(skillsDir, e.name));
|
|
29423
|
+
}
|
|
29424
|
+
let cachedPackageRoot;
|
|
29425
|
+
const cachePerWorkspace = /* @__PURE__ */ new Map();
|
|
29426
|
+
function getPackageRoot() {
|
|
29427
|
+
if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
|
|
29428
|
+
return cachedPackageRoot;
|
|
29429
|
+
}
|
|
29430
|
+
function loadAllSkills(workspaceDir) {
|
|
29431
|
+
const cacheKey = workspaceDir ?? "";
|
|
29432
|
+
const now = Date.now();
|
|
29433
|
+
const existing = cachePerWorkspace.get(cacheKey);
|
|
29434
|
+
if (existing && now - existing.loadedAt < CACHE_TTL_MS) return existing.skills;
|
|
29435
|
+
const seen = /* @__PURE__ */ new Map();
|
|
29436
|
+
if (workspaceDir) for (const dir of listSkillDirs(workspaceDir)) {
|
|
29437
|
+
const skill = loadSkillFromDir(dir, "workspace");
|
|
29438
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
29439
|
+
}
|
|
29440
|
+
const packageRoot = getPackageRoot();
|
|
29441
|
+
if (packageRoot) for (const dir of listSkillDirs(packageRoot)) {
|
|
29442
|
+
const skill = loadSkillFromDir(dir, "bundled");
|
|
29443
|
+
if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
|
|
29444
|
+
}
|
|
29445
|
+
const skills = [...seen.values()];
|
|
29446
|
+
cachePerWorkspace.set(cacheKey, {
|
|
29447
|
+
skills,
|
|
29448
|
+
loadedAt: now
|
|
29449
|
+
});
|
|
29450
|
+
return skills;
|
|
29451
|
+
}
|
|
29452
|
+
const TOKEN_SPLIT_RE = /[^\w/]+/;
|
|
29453
|
+
function tokenizeQuery(raw) {
|
|
29454
|
+
return raw.toLowerCase().split(TOKEN_SPLIT_RE).filter((t) => t.length >= 2);
|
|
29455
|
+
}
|
|
29456
|
+
/**
|
|
29457
|
+
* Score a query against one skill's triggers + description.
|
|
29458
|
+
* - Trigger score: ratio of query tokens that appear in the trigger set.
|
|
29459
|
+
* - FTS score: 0.4 × ratio of query tokens that appear in the description
|
|
29460
|
+
* (case-insensitive substring match).
|
|
29461
|
+
* - Final = max(trigger, fts) so trigger matches always beat descriptions.
|
|
29462
|
+
* - Returns 0 for "no signal at all" (caller should drop these).
|
|
29463
|
+
*/
|
|
29464
|
+
function scoreSkillMatch(skill, queryTokens) {
|
|
29465
|
+
if (queryTokens.length === 0) return 0;
|
|
29466
|
+
const triggerSet = new Set(skill.triggers.map((t) => t.toLowerCase()));
|
|
29467
|
+
const description = skill.description.toLowerCase();
|
|
29468
|
+
let triggerHits = 0;
|
|
29469
|
+
let ftsHits = 0;
|
|
29470
|
+
for (const token of queryTokens) if (triggerSet.has(token)) triggerHits += 1;
|
|
29471
|
+
else if (description.includes(token)) ftsHits += 1;
|
|
29472
|
+
const triggerScore = triggerHits / queryTokens.length;
|
|
29473
|
+
const ftsScore = ftsHits / queryTokens.length * .4;
|
|
29474
|
+
return Math.max(triggerScore, ftsScore);
|
|
29475
|
+
}
|
|
29476
|
+
/**
|
|
29477
|
+
* Pure-function search; exported for testing without going through the
|
|
29478
|
+
* tool execute wrapper.
|
|
29479
|
+
*/
|
|
29480
|
+
function searchSkills(query, limit, workspaceDir) {
|
|
29481
|
+
const tokens = tokenizeQuery(query);
|
|
29482
|
+
if (tokens.length === 0) return [];
|
|
29483
|
+
const all = loadAllSkills(workspaceDir);
|
|
29484
|
+
const scored = [];
|
|
29485
|
+
for (const skill of all) {
|
|
29486
|
+
const score = scoreSkillMatch(skill, tokens);
|
|
29487
|
+
if (score > 0) scored.push({
|
|
29488
|
+
name: skill.name,
|
|
29489
|
+
description: skill.description,
|
|
29490
|
+
path: skill.path,
|
|
29491
|
+
score
|
|
29492
|
+
});
|
|
29493
|
+
}
|
|
29494
|
+
scored.sort((a, b) => b.score - a.score || a.name.localeCompare(b.name));
|
|
29495
|
+
return scored.slice(0, limit);
|
|
29496
|
+
}
|
|
29497
|
+
function createSkillSearchTool(opts) {
|
|
29498
|
+
return {
|
|
29499
|
+
name: "skill_search",
|
|
29500
|
+
label: "skill_search",
|
|
29501
|
+
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.",
|
|
29502
|
+
parameters: SkillSearchToolSchema,
|
|
29503
|
+
execute: async (_toolCallId, args) => {
|
|
29504
|
+
const params = args;
|
|
29505
|
+
const query = typeof params.query === "string" ? params.query.trim() : "";
|
|
29506
|
+
if (!query) return jsonResult({
|
|
29507
|
+
ok: false,
|
|
29508
|
+
error: "skill_search requires a non-empty `query` string."
|
|
29509
|
+
});
|
|
29510
|
+
const limit = typeof params.limit === "number" && Number.isFinite(params.limit) ? Math.min(10, Math.max(1, Math.floor(params.limit))) : 5;
|
|
29511
|
+
try {
|
|
29512
|
+
return jsonResult({
|
|
29513
|
+
ok: true,
|
|
29514
|
+
query,
|
|
29515
|
+
matches: searchSkills(query, limit, opts?.workspaceDir)
|
|
29516
|
+
});
|
|
29517
|
+
} catch (err) {
|
|
29518
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
29519
|
+
logWarn(`skill_search failed: ${message}`);
|
|
29520
|
+
return jsonResult({
|
|
29521
|
+
ok: false,
|
|
29522
|
+
error: message
|
|
29523
|
+
});
|
|
29524
|
+
}
|
|
29525
|
+
}
|
|
29526
|
+
};
|
|
29527
|
+
}
|
|
29528
|
+
|
|
29529
|
+
//#endregion
|
|
29530
|
+
//#region src/agents/system-prompt-skills-jit.ts
|
|
29531
|
+
const MAX_ANCHOR_DESCRIPTION_CHARS = 100;
|
|
29532
|
+
const MAX_AUTO_INJECT_RESULTS = 3;
|
|
29533
|
+
const MAX_AUTO_INJECT_TOTAL_CHARS = 600;
|
|
29534
|
+
/**
|
|
29535
|
+
* Build the anchor list block. Returns "" when no anchor list configured
|
|
29536
|
+
* or in preload mode (anchor list adds value only in jit/hybrid).
|
|
29537
|
+
*/
|
|
29538
|
+
function buildAnchorListBlock(opts) {
|
|
29539
|
+
if (opts.minimalMode) return "";
|
|
29540
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
29541
|
+
const names = (opts.anchorList ?? []).filter((n) => typeof n === "string" && n.trim().length > 0);
|
|
29542
|
+
if (names.length === 0) return "";
|
|
29543
|
+
const lines = [];
|
|
29544
|
+
for (const name of names) {
|
|
29545
|
+
const description = searchSkills(name, 1, opts.workspaceDir)[0]?.description.trim() ?? "";
|
|
29546
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
29547
|
+
lines.push(truncated ? `- ${name}: ${truncated}` : `- ${name}`);
|
|
29548
|
+
}
|
|
29549
|
+
return [
|
|
29550
|
+
"",
|
|
29551
|
+
"## Anchor Skills",
|
|
29552
|
+
"These skills are always available. Read their SKILL.md via `read` if relevant. For full discovery use the `skill_search` tool.",
|
|
29553
|
+
lines.join("\n"),
|
|
29554
|
+
""
|
|
29555
|
+
].join("\n");
|
|
29556
|
+
}
|
|
29557
|
+
/**
|
|
29558
|
+
* Build the auto-injected matches block based on the user message triggers.
|
|
29559
|
+
* Returns "" when discoveryMode doesn't ask for it, no message available,
|
|
29560
|
+
* no matches found, or in minimal mode.
|
|
29561
|
+
*/
|
|
29562
|
+
function buildAutoInjectBlock(opts) {
|
|
29563
|
+
if (opts.minimalMode) return "";
|
|
29564
|
+
if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
|
|
29565
|
+
const message = (opts.userMessage ?? "").trim();
|
|
29566
|
+
if (!message) return "";
|
|
29567
|
+
const matches = searchSkills(message, MAX_AUTO_INJECT_RESULTS, opts.workspaceDir);
|
|
29568
|
+
if (matches.length === 0) return "";
|
|
29569
|
+
const lines = [];
|
|
29570
|
+
let total = 0;
|
|
29571
|
+
for (const match of matches) {
|
|
29572
|
+
const description = match.description.trim();
|
|
29573
|
+
const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
|
|
29574
|
+
const skillRef = path.basename(path.dirname(match.path));
|
|
29575
|
+
const line = truncated ? `- ${skillRef}: ${truncated}` : `- ${skillRef}`;
|
|
29576
|
+
if (total + line.length > MAX_AUTO_INJECT_TOTAL_CHARS) break;
|
|
29577
|
+
lines.push(line);
|
|
29578
|
+
total += line.length + 1;
|
|
29579
|
+
}
|
|
29580
|
+
if (lines.length === 0) return "";
|
|
29581
|
+
return [
|
|
29582
|
+
"",
|
|
29583
|
+
"## Possibly Relevant Skills (auto-suggested for this request)",
|
|
29584
|
+
"These skills' triggers matched keywords in your message. Read the SKILL.md if it applies; otherwise ignore and proceed.",
|
|
29585
|
+
lines.join("\n"),
|
|
29586
|
+
""
|
|
29587
|
+
].join("\n");
|
|
29588
|
+
}
|
|
29589
|
+
/** Convenience: build both blocks concatenated. */
|
|
29590
|
+
function buildSkillsJitBlocks(opts) {
|
|
29591
|
+
return `${buildAnchorListBlock(opts)}${buildAutoInjectBlock(opts)}`;
|
|
29592
|
+
}
|
|
29593
|
+
|
|
29303
29594
|
//#endregion
|
|
29304
29595
|
//#region src/agents/tool-summaries.ts
|
|
29305
29596
|
function buildToolSummaryMap(tools) {
|
|
@@ -29345,12 +29636,17 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
29345
29636
|
});
|
|
29346
29637
|
const promptMode = params.promptMode ?? "full";
|
|
29347
29638
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
29348
|
-
|
|
29639
|
+
return `${corePrompt}${buildAutoLoadedSkillsBlock({
|
|
29349
29640
|
skillNames: params.autoLoadInlineSkills ?? [],
|
|
29350
29641
|
workspaceDir: params.workspaceDir,
|
|
29351
29642
|
minimalMode: isMinimal
|
|
29352
|
-
})
|
|
29353
|
-
|
|
29643
|
+
})}${buildSkillsJitBlocks({
|
|
29644
|
+
discoveryMode: params.skillsDiscoveryMode,
|
|
29645
|
+
anchorList: params.skillsAnchorList,
|
|
29646
|
+
userMessage: params.currentUserMessage,
|
|
29647
|
+
workspaceDir: params.workspaceDir,
|
|
29648
|
+
minimalMode: isMinimal
|
|
29649
|
+
})}`;
|
|
29354
29650
|
}
|
|
29355
29651
|
function createSystemPromptOverride(systemPrompt) {
|
|
29356
29652
|
const override = systemPrompt.trim();
|
|
@@ -30139,7 +30435,10 @@ async function runEmbeddedAttempt(params) {
|
|
|
30139
30435
|
userTimeFormat,
|
|
30140
30436
|
contextFiles,
|
|
30141
30437
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
30142
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
30438
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
30439
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
30440
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
30441
|
+
currentUserMessage: params.prompt
|
|
30143
30442
|
});
|
|
30144
30443
|
const systemPromptReport = buildSystemPromptReport({
|
|
30145
30444
|
source: "run",
|
|
@@ -32019,27 +32318,27 @@ async function runAgentTurn(params) {
|
|
|
32019
32318
|
function createDefaultDeps() {
|
|
32020
32319
|
return {
|
|
32021
32320
|
sendMessageWhatsApp: async (...args) => {
|
|
32022
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
32321
|
+
const { sendMessageWhatsApp } = await import("./web-C-E-O8iP.js");
|
|
32023
32322
|
return await sendMessageWhatsApp(...args);
|
|
32024
32323
|
},
|
|
32025
32324
|
sendMessageTelegram: async (...args) => {
|
|
32026
|
-
const { sendMessageTelegram } = await import("./send-
|
|
32325
|
+
const { sendMessageTelegram } = await import("./send-aXMPprv9.js").then((n) => n.l);
|
|
32027
32326
|
return await sendMessageTelegram(...args);
|
|
32028
32327
|
},
|
|
32029
32328
|
sendMessageDiscord: async (...args) => {
|
|
32030
|
-
const { sendMessageDiscord } = await import("./send-
|
|
32329
|
+
const { sendMessageDiscord } = await import("./send-BbZtP8GJ.js").then((n) => n.t);
|
|
32031
32330
|
return await sendMessageDiscord(...args);
|
|
32032
32331
|
},
|
|
32033
32332
|
sendMessageSlack: async (...args) => {
|
|
32034
|
-
const { sendMessageSlack } = await import("./send-
|
|
32333
|
+
const { sendMessageSlack } = await import("./send-nRhkxbqX.js").then((n) => n.n);
|
|
32035
32334
|
return await sendMessageSlack(...args);
|
|
32036
32335
|
},
|
|
32037
32336
|
sendMessageSignal: async (...args) => {
|
|
32038
|
-
const { sendMessageSignal } = await import("./send-
|
|
32337
|
+
const { sendMessageSignal } = await import("./send-D5Siw6wn.js").then((n) => n.i);
|
|
32039
32338
|
return await sendMessageSignal(...args);
|
|
32040
32339
|
},
|
|
32041
32340
|
sendMessageIMessage: async (...args) => {
|
|
32042
|
-
const { sendMessageIMessage } = await import("./send-
|
|
32341
|
+
const { sendMessageIMessage } = await import("./send-DanpvmZQ.js").then((n) => n.n);
|
|
32043
32342
|
return await sendMessageIMessage(...args);
|
|
32044
32343
|
}
|
|
32045
32344
|
};
|
|
@@ -43590,7 +43889,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
43590
43889
|
});
|
|
43591
43890
|
const deliverSlashPayloads = async (replies) => {
|
|
43592
43891
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
43593
|
-
import("./replies-
|
|
43892
|
+
import("./replies-CsNZ9ImJ.js").then((n) => n.r),
|
|
43594
43893
|
import("./chunk-DIi9uyC6.js").then((n) => n.s),
|
|
43595
43894
|
import("./markdown-tables-kCfKPOgH.js").then((n) => n.t)
|
|
43596
43895
|
]);
|
|
@@ -48284,7 +48583,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
48284
48583
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
48285
48584
|
let preflightTranscript;
|
|
48286
48585
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
48287
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
48586
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-8UNY1akA.js");
|
|
48288
48587
|
preflightTranscript = await transcribeFirstAudio({
|
|
48289
48588
|
ctx: {
|
|
48290
48589
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -50438,23 +50737,23 @@ let webLoginQrPromise = null;
|
|
|
50438
50737
|
let webChannelPromise = null;
|
|
50439
50738
|
let whatsappActionsPromise = null;
|
|
50440
50739
|
function loadWebOutbound() {
|
|
50441
|
-
webOutboundPromise ??= import("./outbound-
|
|
50740
|
+
webOutboundPromise ??= import("./outbound-CPcVipU-.js").then((n) => n.t);
|
|
50442
50741
|
return webOutboundPromise;
|
|
50443
50742
|
}
|
|
50444
50743
|
function loadWebLogin() {
|
|
50445
|
-
webLoginPromise ??= import("./login-
|
|
50744
|
+
webLoginPromise ??= import("./login-Cd4DTmg6.js").then((n) => n.n);
|
|
50446
50745
|
return webLoginPromise;
|
|
50447
50746
|
}
|
|
50448
50747
|
function loadWebLoginQr() {
|
|
50449
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
50748
|
+
webLoginQrPromise ??= import("./login-qr-Xgw7JPYo.js");
|
|
50450
50749
|
return webLoginQrPromise;
|
|
50451
50750
|
}
|
|
50452
50751
|
function loadWebChannel() {
|
|
50453
|
-
webChannelPromise ??= import("./web-
|
|
50752
|
+
webChannelPromise ??= import("./web-C-E-O8iP.js");
|
|
50454
50753
|
return webChannelPromise;
|
|
50455
50754
|
}
|
|
50456
50755
|
function loadWhatsAppActions() {
|
|
50457
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
50756
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-CJkCiI_n.js");
|
|
50458
50757
|
return whatsappActionsPromise;
|
|
50459
50758
|
}
|
|
50460
50759
|
function createPluginRuntime() {
|
|
@@ -65225,6 +65524,7 @@ function createSymiTools(options) {
|
|
|
65225
65524
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
65226
65525
|
createTaskListTool({ workspaceDir }),
|
|
65227
65526
|
createTaskCancelTool({ workspaceDir }),
|
|
65527
|
+
createSkillSearchTool({ workspaceDir }),
|
|
65228
65528
|
...messageTool ? [messageTool] : [],
|
|
65229
65529
|
createTtsTool({
|
|
65230
65530
|
agentChannel: options?.agentChannel,
|
|
@@ -65950,7 +66250,10 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
65950
66250
|
userTimeFormat,
|
|
65951
66251
|
contextFiles,
|
|
65952
66252
|
memoryCitationsMode: params.config?.memory?.citations,
|
|
65953
|
-
autoLoadInlineSkills: params.config?.skills?.autoLoadInline
|
|
66253
|
+
autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
|
|
66254
|
+
skillsDiscoveryMode: params.config?.skills?.discoveryMode,
|
|
66255
|
+
skillsAnchorList: params.config?.skills?.anchorList,
|
|
66256
|
+
currentUserMessage: void 0
|
|
65954
66257
|
}));
|
|
65955
66258
|
const sessionLock = await acquireSessionWriteLock({
|
|
65956
66259
|
sessionFile: params.sessionFile,
|
|
@@ -73626,7 +73929,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
73626
73929
|
return;
|
|
73627
73930
|
}
|
|
73628
73931
|
try {
|
|
73629
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
73932
|
+
const { deliverOutboundPayloads } = await import("./deliver-DrgHcdVo.js").then((n) => n.n);
|
|
73630
73933
|
await deliverOutboundPayloads({
|
|
73631
73934
|
cfg: params.cfg,
|
|
73632
73935
|
channel,
|