@symerian/symi 2.0.16 → 2.0.18
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-CSX62tsS.js → acp-cli-Cp81ShIC.js} +3 -3
- package/dist/{acp-cli-CrfY9UHo.js → acp-cli-h36Zuriy.js} +3 -3
- package/dist/{agents-CP6mOf0j.js → agents-B2jtcp_Y.js} +8 -8
- package/dist/{agents.config-CFps8Krs.js → agents.config-ButbIjGA.js} +1 -1
- package/dist/{agents.config-Da5XukaM.js → agents.config-DTJxgmnd.js} +1 -1
- package/dist/{api-key-rotation-BukD0zzl.js → api-key-rotation-De1ivBc0.js} +1 -1
- package/dist/{audio-preflight-DRQD_nt1.js → audio-preflight-B_VLZd_F.js} +7 -7
- package/dist/{audio-preflight-CQ5_RYEe.js → audio-preflight-CSix46JB.js} +13 -13
- package/dist/{audio-preflight-DSeaWZZW.js → audio-preflight-DGpde3Ae.js} +13 -13
- package/dist/{audio-preflight-Cq4C-m27.js → audio-preflight-k4jOy8Bo.js} +7 -7
- package/dist/{audit-Do2bVss3.js → audit-BbhuQjTl.js} +7 -7
- package/dist/{audit-x_SzU263.js → audit-BmuBsZal.js} +7 -7
- package/dist/{auth-choice-CZ9ugRNS.js → auth-choice-BMHb00f1.js} +7 -7
- package/dist/{auth-choice-za414gQg.js → auth-choice-Du7VUK1p.js} +7 -7
- package/dist/{auth-profiles-BD22fK4p.js → auth-profiles-Cs3GPB03.js} +6 -2
- package/dist/{auth-token-CNnt7guc.js → auth-token-CbDExtp_.js} +1 -1
- package/dist/{auth-token-BrlnZiCq.js → auth-token-DdkoxDu3.js} +1 -1
- package/dist/{banner-DHgxDWv_.js → banner-BoFDxo1X.js} +1 -1
- package/dist/{browser-cli-BydQRa6Z.js → browser-cli-Bu0BnRct.js} +4 -4
- package/dist/{browser-cli-Bz2dcSy1.js → browser-cli-DEnpvEPP.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +18 -18
- package/dist/bundled/session-memory/handler.js +18 -18
- package/dist/{call-BVw7l9v8.js → call-6AGLOo_A.js} +1 -1
- package/dist/{call-CJYWtIM9.js → call-TvMa4u8t.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-D7RdZp1E.js → channel-options-BzQJoPFc.js} +1 -1
- package/dist/{channel-options-BCZol8_4.js → channel-options-D1K0w33c.js} +1 -1
- package/dist/{channel-web-Dki5eEiP.js → channel-web-NaWX5pUl.js} +8 -8
- package/dist/{channels-cli-CwliXNUk.js → channels-cli-BGX2AX0X.js} +38 -38
- package/dist/{channels-cli-CILkYyG3.js → channels-cli-KVy9GUcY.js} +39 -39
- package/dist/{chrome-BgIDB_SH.js → chrome-CaijV4gw.js} +1 -1
- package/dist/{chrome-D9OwvWm7.js → chrome-Cgiw9tI6.js} +1 -1
- package/dist/{chrome-h6BnL8Lp.js → chrome-DX-9I4dn.js} +1 -1
- package/dist/{chrome-LmEyZdbC.js → chrome-DrxNYzTD.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-aAOs92a8.js → cli-DAaNQKv7.js} +33 -33
- package/dist/{cli-CLHi2LEP.js → cli-MBTHCM04.js} +34 -34
- package/dist/{command-registry-OHfvK1Oq.js → command-registry-DRHBO07P.js} +11 -11
- package/dist/{commands-registry-DyWjIe7d.js → commands-registry-B_V42ZiZ.js} +1 -1
- package/dist/{commands-registry-Copoizgv.js → commands-registry-DN93gKlx.js} +1 -1
- package/dist/{commands-registry-uo2OKqdL.js → commands-registry-nK_mZXUN.js} +1 -1
- package/dist/{commands-registry-C3C4Rv3O.js → commands-registry-tuRMQmX4.js} +1 -1
- package/dist/{completion-cli-DSHmAUFN.js → completion-cli-By9Hj91p.js} +1 -1
- package/dist/{completion-cli-D7iBY_Z-.js → completion-cli-E2HmAubG.js} +2 -2
- package/dist/{config-BjGo9GnL.js → config-BUHRlrbS.js} +5 -2
- package/dist/{config-amjzHiWZ.js → config-COvlkain.js} +5 -2
- package/dist/{config-DM0K7qC1.js → config-C_1uZzwy.js} +5 -2
- package/dist/{config-Dgn_cL29.js → config-DB5jMj3Z.js} +5 -2
- package/dist/{config-cli-CcbYdW1-.js → config-cli-DaV2gvHS.js} +3 -3
- package/dist/{config-cli-BlusBXAA.js → config-cli-gvLM_Jmx.js} +3 -3
- package/dist/{config-guard-BpQn1MKk.js → config-guard-CP12zw3r.js} +2 -2
- package/dist/{config-guard-Cnu2qssk.js → config-guard-DLAUq-eu.js} +5 -5
- package/dist/{config-validation-BHjDr-an.js → config-validation-BdUdtuuI.js} +1 -1
- package/dist/{config-validation-pVfqbrLy.js → config-validation-CJNWEllT.js} +1 -1
- package/dist/{configure-CJf-vDqN.js → configure-BPdAIpJb.js} +11 -11
- package/dist/{configure-rrxn5n5n.js → configure-DjRUXJNv.js} +11 -11
- package/dist/{control-service-DVFF3PrV.js → control-service-CwdjvhxE.js} +4 -4
- package/dist/{control-service-DMz_CcLi.js → control-service-D670V6cS.js} +4 -4
- package/dist/control-ui/js/app.js +79 -0
- package/dist/control-ui/js/render.js +39 -0
- package/dist/{cron-cli-CMb8Tfrd.js → cron-cli-BVdg2ZHh.js} +4 -4
- package/dist/{cron-cli-B9s3FO4y.js → cron-cli-CWybZWLu.js} +4 -4
- package/dist/{daemon-cli-DY782AjS.js → daemon-cli-A0V_cYcw.js} +6 -6
- package/dist/{daemon-cli-duUjaj82.js → daemon-cli-BSKnv95o.js} +6 -6
- package/dist/daemon-cli.js +4 -1
- package/dist/{daemon-runtime-B38pOixq.js → daemon-runtime-BgbGrT3P.js} +1 -1
- package/dist/{daemon-runtime-CjgoCPLb.js → daemon-runtime-DtGPdsmL.js} +1 -1
- package/dist/{deliver-DONp5mgd.js → deliver-CUJWonlP.js} +3 -3
- package/dist/{deliver-B3UoBZdC.js → deliver-DXVMhb3A.js} +2 -2
- package/dist/{deliver-2Y_F_0yh.js → deliver-sMuSzZX6.js} +3 -3
- package/dist/{deliver-CZF9f8aC.js → deliver-wRQauy5B.js} +2 -2
- package/dist/{devices-cli-Ch8p42OS.js → devices-cli-Bwg8gUuS.js} +3 -3
- package/dist/{devices-cli-Cahrr6Rd.js → devices-cli-DBDevKR4.js} +3 -3
- package/dist/{directory-cli-B0H80BMR.js → directory-cli-2W4B1Ct_.js} +2 -2
- package/dist/{directory-cli-DH9ww80p.js → directory-cli-B9wwg8xg.js} +2 -2
- package/dist/{dm-policy-shared-BovJdm5T.js → dm-policy-shared-CvHrO6D_.js} +1 -1
- package/dist/{dm-policy-shared-DckBYBwg.js → dm-policy-shared-flFO0wFg.js} +1 -1
- package/dist/{dns-cli-CVMQnrzw.js → dns-cli-Dc8SoCMN.js} +2 -2
- package/dist/{dns-cli-Lzt29-Zu.js → dns-cli-go7hrLbV.js} +2 -2
- package/dist/{doctor-completion-B6R-Um0m.js → doctor-completion-CJ6GgqdP.js} +1 -1
- package/dist/{doctor-completion-Db9Ka2VX.js → doctor-completion-cGUMfSWW.js} +1 -1
- package/dist/{doctor-config-flow-C_56SUPO.js → doctor-config-flow-CSyqq_3u.js} +3 -3
- package/dist/{doctor-config-flow-B150h841.js → doctor-config-flow-DpVhYkFY.js} +3 -3
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CSTHY6Vs.js → exec-approvals-cli-Bc7-sWEN.js} +5 -5
- package/dist/{exec-approvals-cli-lduNEUnu.js → exec-approvals-cli-NGv-JYZx.js} +5 -5
- package/dist/extensionAPI.js +18 -18
- package/dist/{gateway-cli-VZ3pwSh3.js → gateway-cli-BACTzHef.js} +52 -52
- package/dist/{gateway-cli-DVzEvDKA.js → gateway-cli-DIUZJz3l.js} +51 -51
- package/dist/{gateway-rpc-BTXPWO6j.js → gateway-rpc-CzQ2-09T.js} +1 -1
- package/dist/{gateway-rpc-Cx0HPjI7.js → gateway-rpc-DijKM-l5.js} +1 -1
- package/dist/{gemini-auth-7AWT6JXV.js → gemini-auth-2cinXFeY.js} +1 -1
- package/dist/{gemini-auth-BHSrr2_B.js → gemini-auth-DmWoaMTb.js} +1 -1
- package/dist/{gemini-auth-K6vg8B5c.js → gemini-auth-DtBB7-5F.js} +1 -1
- package/dist/{glass-ui-ws-CAm9wWND.js → glass-ui-ws-BBYLD-43.js} +43 -43
- package/dist/{glass-ui-ws-DmPVzO59.js → glass-ui-ws-DMW9fQLQ.js} +42 -42
- package/dist/{health-CnH3J7xA.js → health-BIgxejdY.js} +5 -5
- package/dist/{health-CYZdOaco.js → health-D9sE5ymK.js} +5 -5
- package/dist/{hooks-cli-CHMoGB4O.js → hooks-cli-DnvETK6m.js} +34 -34
- package/dist/{hooks-cli-C7tb9Ef0.js → hooks-cli-EthBM_qY.js} +35 -35
- package/dist/{image-RFofsrof.js → image-Bf_jHnTg.js} +3 -3
- package/dist/{image-B4LY9KFw.js → image-CEcLOmLW.js} +3 -3
- package/dist/{image-DrZEJQwQ.js → image-DCArHTqR.js} +3 -3
- package/dist/{image-DOnOTocl.js → image-Kl1J-62v.js} +3 -3
- package/dist/index.js +42 -42
- package/dist/{lifecycle-core-De5BcVI4.js → lifecycle-core-fFRFJvPD.js} +2 -2
- package/dist/{lifecycle-core-BYV6-zd8.js → lifecycle-core-pG9T1o7U.js} +2 -2
- package/dist/llm-slug-generator.js +18 -18
- package/dist/{login-BH17fJ5L.js → login-BwU6oNNU.js} +2 -2
- package/dist/{login-BG_7eJLu.js → login-CM1U-ARd.js} +2 -2
- package/dist/{login-CXSct1EH.js → login-CvotLxMc.js} +2 -2
- package/dist/{login-BZYFLDxo.js → login-J-hL4MZQ.js} +2 -2
- package/dist/{login-qr-BLmEvZVj.js → login-qr-CADWVR1b.js} +3 -3
- package/dist/{login-qr-zVpxocbF.js → login-qr-CW01jgLl.js} +3 -3
- package/dist/{login-qr-DoNfx43Q.js → login-qr-CiPw9ee6.js} +3 -3
- package/dist/{login-qr-9OQSnm5L.js → login-qr-_FriwsNr.js} +3 -3
- package/dist/{logs-cli-Cvhx1c0V.js → logs-cli-DPaTYFru.js} +4 -4
- package/dist/{logs-cli-DUzUCojZ.js → logs-cli-mM7GM-9Q.js} +4 -4
- package/dist/{manager-oiX42wby.js → manager-Cw42HtQ7.js} +136 -19
- package/dist/{manager-C_DoJrcP.js → manager-D0d-bOOe.js} +136 -19
- package/dist/{manager-B5EXdBQV.js → manager-D5ZbBYmN.js} +136 -19
- package/dist/{manager-CYHgFXd8.js → manager-DqkRhYYl.js} +136 -19
- package/dist/{memory-cli-D4J9SO7Z.js → memory-cli-C7w-I03k.js} +206 -3
- package/dist/{memory-cli-BhnOq4Ev.js → memory-cli-Pp2xuPKC.js} +206 -3
- package/dist/{model-CLebVu_U.js → model-ApXxvnzl.js} +1 -1
- package/dist/{model-DaukLY-k.js → model-DDV7HL-B.js} +1 -1
- package/dist/{model-auth-CeL58m55.js → model-auth-Db8I8QVL.js} +6 -2
- package/dist/{model-catalog-Dj5pIc1G.js → model-catalog-61-kKlKu.js} +4 -4
- package/dist/{model-catalog-CX8kAHv8.js → model-catalog-QboGjwLO.js} +4 -4
- package/dist/{model-picker-ay4NPk8S.js → model-picker-CSnZDydf.js} +3 -3
- package/dist/{model-picker-CDXdeNr-.js → model-picker-iDZTbvXk.js} +3 -3
- package/dist/{model-selection-Csawd2_i.js → model-selection-BBrZnKDw.js} +6 -2
- package/dist/{model-selection--4t4F87n.js → model-selection-DBPwoBvb.js} +6 -2
- package/dist/{models-wHzbWyGd.js → models-B_oSANn2.js} +14 -14
- package/dist/{models-cli-CTptBZ1_.js → models-cli-CzdeeUpE.js} +40 -40
- package/dist/{models-cli-xt0_lwNn.js → models-cli-u62LAXdh.js} +39 -39
- package/dist/{models-config-u4va9_AO.js → models-config-BTd2aHYU.js} +2 -2
- package/dist/{models-config-Cb41NmVa.js → models-config-CMJN_5Vh.js} +2 -2
- package/dist/{node-cli-BhCoxgBf.js → node-cli-BEvFRkYC.js} +10 -10
- package/dist/{node-cli-C8scjTTR.js → node-cli-BQyxhqF5.js} +10 -10
- package/dist/{nodes-cli-DvFB1bRc.js → nodes-cli-C2hHbQ47.js} +4 -4
- package/dist/{nodes-cli-BHnGJEDY.js → nodes-cli-FbzJ-7tA.js} +4 -4
- package/dist/{onboard-CLT8dKkn.js → onboard-CwNzqMn1.js} +10 -10
- package/dist/{onboard-CqrqIyTw.js → onboard-DcBV5QjY.js} +10 -10
- package/dist/{onboard-channels-B1qEMRuK.js → onboard-channels-C0wtv2Cp.js} +2 -2
- package/dist/{onboard-channels-Dq99OYWi.js → onboard-channels-C79jGR3_.js} +2 -2
- package/dist/{onboard-custom-BKR6vm2R.js → onboard-custom-CwTH9Yg-.js} +3 -3
- package/dist/{onboard-custom-BPHkLBMT.js → onboard-custom-adn6IG8i.js} +3 -3
- package/dist/{onboard-helpers-Dsr4zKCb.js → onboard-helpers-Bt2zwkKD.js} +2 -2
- package/dist/{onboard-helpers-CYxzQfe5.js → onboard-helpers-CKM-mWPH.js} +2 -2
- package/dist/{onboard-remote-d48SMpNw.js → onboard-remote-C-4NSq0W.js} +1 -1
- package/dist/{onboard-remote-3c_muVej.js → onboard-remote-P6H-x_vQ.js} +1 -1
- package/dist/{onboard-skills-2HJIpm3O.js → onboard-skills-C9ZAlUR6.js} +2 -2
- package/dist/{onboard-skills-b_chEkYH.js → onboard-skills-DlbXWPzM.js} +2 -2
- package/dist/{onboarding-yfMTHyHB.js → onboarding-C2vTobUO.js} +11 -11
- package/dist/{onboarding-Bs82247P.js → onboarding-CT_P8dE6.js} +11 -11
- package/dist/{onboarding.finalize-QC0g7ZLU.js → onboarding.finalize-BdeyH2Eh.js} +39 -39
- package/dist/{onboarding.finalize-DkZuXXiU.js → onboarding.finalize-DPQDvxEp.js} +41 -41
- package/dist/{onboarding.gateway-config-BkXJPv7f.js → onboarding.gateway-config-DKVcVoUF.js} +5 -5
- package/dist/{onboarding.gateway-config-stm3z82Y.js → onboarding.gateway-config-IqmHGk2A.js} +5 -5
- package/dist/{openai-model-default-DF334-MD.js → openai-model-default-BMY_YH9P.js} +2 -2
- package/dist/{openai-model-default-DJwRgrAC.js → openai-model-default-l66tU27B.js} +2 -2
- package/dist/{outbound-Cedd_yui.js → outbound-0ici4ICv.js} +1 -1
- package/dist/{outbound-BNMysnJ1.js → outbound-BEumB8qs.js} +1 -1
- package/dist/{outbound-Bv4FdtnF.js → outbound-CzuytbQ5.js} +1 -1
- package/dist/{outbound-DfOF58G2.js → outbound-DTZdWgeZ.js} +1 -1
- package/dist/{pairing-cli-7_4ayuXX.js → pairing-cli-CUu3LyX0.js} +4 -4
- package/dist/{pairing-cli-B7oA36Ke.js → pairing-cli-D_9vmECc.js} +4 -4
- package/dist/{pairing-labels-B-WwqJ-z.js → pairing-labels-Ca15tgVV.js} +1 -1
- package/dist/{pairing-labels-sIj1ZLt-.js → pairing-labels-D_XOc2nT.js} +1 -1
- package/dist/{pairing-store-CFwkjcA5.js → pairing-store-DdUVpKvp.js} +1 -1
- package/dist/{pairing-store-CicZMhK8.js → pairing-store-cjckhuQX.js} +1 -1
- package/dist/{pi-auth-json-BNhcohVK.js → pi-auth-json-BJB80_DY.js} +1 -1
- package/dist/{pi-auth-json-DV2ruNQM.js → pi-auth-json-BqB9Z6Gg.js} +1 -1
- package/dist/{pi-auth-json-B83DuyYZ.js → pi-auth-json-Bzpuls50.js} +2 -2
- package/dist/{pi-auth-json-CNgAAznq.js → pi-auth-json-etIDtHw9.js} +1 -1
- package/dist/{pi-embedded-DDe6lqPs.js → pi-embedded-DUUw7-tO.js} +448 -60
- package/dist/{pi-embedded-B3nbPN60.js → pi-embedded-DmUwEsG1.js} +448 -60
- package/dist/{pi-embedded-helpers-kB5lBgXk.js → pi-embedded-helpers-CLip13MP.js} +6 -6
- package/dist/{pi-embedded-helpers-CgxKWHj9.js → pi-embedded-helpers-D57pDra0.js} +1 -1
- package/dist/{pi-embedded-helpers--yFTAWwW.js → pi-embedded-helpers-D9Rvkx8A.js} +6 -6
- package/dist/{pi-embedded-helpers-ueCT6VlS.js → pi-embedded-helpers-f7cnM8BN.js} +1 -1
- package/dist/{pi-tools.policy-T6Z5F-_n.js → pi-tools.policy-BV1RWUnE.js} +2 -2
- package/dist/{pi-tools.policy-DPmdlOwE.js → pi-tools.policy-BegHNtNO.js} +2 -2
- package/dist/{plugin-auto-enable-D4BRdbII.js → plugin-auto-enable-B-WfJQ_3.js} +1 -1
- package/dist/{plugin-auto-enable-DdvlcMuw.js → plugin-auto-enable-CdctkFTt.js} +1 -1
- package/dist/{plugin-registry-DWJeC9bW.js → plugin-registry-C80itc6t.js} +2 -2
- package/dist/{plugin-registry-SCI1BVkI.js → plugin-registry-DrYURaBs.js} +2 -2
- package/dist/plugin-sdk/agents/memory-search.d.ts +2 -2
- package/dist/plugin-sdk/agents/synthetic-models.d.ts +1 -1
- package/dist/plugin-sdk/agents/system-prompt.d.ts +2 -1
- package/dist/plugin-sdk/{api-key-rotation-Qy7QGV8_.js → api-key-rotation-DNKq8sDG.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CpYjfwrA.js → audio-preflight-D5K2YgFn.js} +7 -7
- package/dist/plugin-sdk/{channel-web-BUTyAx0r.js → channel-web-Bkv0U1ox.js} +7 -7
- package/dist/plugin-sdk/{chrome-BFy_lpld.js → chrome-DJ6LIeRu.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CvppXodz.js → commands-registry-un-LmdXo.js} +1 -1
- package/dist/plugin-sdk/config/types.agent-defaults.d.ts +2 -0
- package/dist/plugin-sdk/config/types.tools.d.ts +2 -2
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +3 -2
- package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +4 -4
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +5 -4
- package/dist/plugin-sdk/config/zod-schema.d.ts +5 -4
- package/dist/plugin-sdk/{config-Do1-fcaS.js → config-8u0WDlgj.js} +5 -2
- package/dist/plugin-sdk/{deliver-BwnrMlHO.js → deliver-Bip_mCNI.js} +2 -2
- package/dist/plugin-sdk/{image-k_W1USVr.js → image-DX2HTDUY.js} +3 -3
- package/dist/plugin-sdk/index.js +22 -22
- package/dist/plugin-sdk/{login-DPofXJE3.js → login-CKLot2mH.js} +2 -2
- package/dist/plugin-sdk/{login-qr-CNatqAUv.js → login-qr-DOVV9TXm.js} +3 -3
- package/dist/plugin-sdk/{manager-DnoXj4EG.js → manager-BItSTruD.js} +136 -19
- package/dist/plugin-sdk/memory/embeddings-ollama.d.ts +27 -0
- package/dist/plugin-sdk/memory/embeddings.d.ts +4 -1
- package/dist/plugin-sdk/memory/manager-sync-ops.d.ts +1 -1
- package/dist/plugin-sdk/memory/manager.d.ts +1 -1
- package/dist/plugin-sdk/{model-selection-D6J2MZsj.js → model-selection-aEd_4vFO.js} +6 -2
- package/dist/plugin-sdk/{outbound-w5v_6nFD.js → outbound-uamhXJrA.js} +1 -1
- package/dist/plugin-sdk/{pi-auth-json-BmWuNdJA.js → pi-auth-json-FyiScmI7.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-Cs2-_EpL.js → pi-embedded-helpers-JY-1kHdk.js} +6 -6
- package/dist/plugin-sdk/{pw-ai-BoitXk7j.js → pw-ai-BG29-fkq.js} +3 -3
- package/dist/plugin-sdk/{replies-BU-tUT8j.js → replies-B1pTxZOl.js} +1 -1
- package/dist/plugin-sdk/{reply-CjWIATx5.js → reply-B576Fhv8.js} +446 -58
- package/dist/plugin-sdk/{runner-Br1179I4.js → runner-BL2UhCUB.js} +5 -5
- package/dist/plugin-sdk/{send-Ts2lINh9.js → send-CARqECtw.js} +1 -1
- package/dist/plugin-sdk/{send-CE6VxWke.js → send-CJEdtrU7.js} +1 -1
- package/dist/plugin-sdk/{send-P8PiZ2Os.js → send-DnSED91h.js} +2 -2
- package/dist/plugin-sdk/{send-Dkyi5g1U.js → send-e3xSJ8To.js} +1 -1
- package/dist/plugin-sdk/{send-BaLZTKkj.js → send-oZqyXIiB.js} +1 -1
- package/dist/plugin-sdk/{session-Bwdr4g-M.js → session-CzQVSJF5.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-NTPqO_az.js → skill-commands-Cwps3qpb.js} +1 -1
- package/dist/plugin-sdk/{web-C1q3B85D.js → web-mZ4uDhBl.js} +22 -22
- package/dist/plugin-sdk/{whatsapp-actions-Di-yCTCj.js → whatsapp-actions-1-Mp-KwB.js} +3 -3
- package/dist/{plugins-cli-D2GDnmKk.js → plugins-cli-Cv9eBXlW.js} +34 -34
- package/dist/{plugins-cli-QSrupxLG.js → plugins-cli-Dnq6iHh8.js} +35 -35
- package/dist/{program-context-CIOqtCr8.js → program-context-D_OS2K8H.js} +38 -38
- package/dist/{program-7hcHnpYu.js → program-iimCXTOX.js} +41 -41
- package/dist/{prompt-select-styled-DpVAhv1V.js → prompt-select-styled-B1V6teLm.js} +17 -17
- package/dist/{prompt-select-styled-DC-k-kBQ.js → prompt-select-styled-BHDOHzSI.js} +17 -17
- package/dist/{provider-auth-helpers-BGhm_DOe.js → provider-auth-helpers-nXDpwc0f.js} +4 -4
- package/dist/{provider-auth-helpers-DvwmlisW.js → provider-auth-helpers-ozVqcIrR.js} +4 -4
- package/dist/{push-apns-CiOx7dgB.js → push-apns-BZ7FEmsK.js} +1 -1
- package/dist/{push-apns-BZu5OVg5.js → push-apns-Dmo8BBk4.js} +1 -1
- package/dist/{pw-ai-CQzJmf8V.js → pw-ai-3nNWe272.js} +3 -3
- package/dist/{pw-ai-CAkn033M.js → pw-ai-BUH9Ew6q.js} +3 -3
- package/dist/{pw-ai-C_C5as1t.js → pw-ai-DQuj9c2U.js} +3 -3
- package/dist/{pw-ai-CdaTpZo1.js → pw-ai-DhirpjMU.js} +3 -3
- package/dist/{qr-cli-Diq_Rb3t.js → qr-cli-CGS8DyNl.js} +2 -2
- package/dist/{qr-cli-DlVBiDQm.js → qr-cli-CHnzhKoc.js} +2 -2
- package/dist/{register.agent-CDD5Z9Fj.js → register.agent-BOuUXJJS.js} +43 -43
- package/dist/{register.agent-Ds6PkEYl.js → register.agent-DYzV2wmB.js} +45 -45
- package/dist/{register.configure-COyj6XWC.js → register.configure-C4oljj3F.js} +47 -47
- package/dist/{register.configure-CBRYdCX2.js → register.configure-CHvDZtU1.js} +48 -48
- package/dist/{register.maintenance-DwHXDl_N.js → register.maintenance-DIylvylR.js} +44 -44
- package/dist/{register.maintenance-CyJQDrP0.js → register.maintenance-DhprP_dA.js} +46 -46
- package/dist/{register.message-BNe6-SJE.js → register.message-B9SgsGyt.js} +35 -35
- package/dist/{register.message-CvQ7LEYe.js → register.message-DF4_1evm.js} +34 -34
- package/dist/{register.onboard-BxxfWU46.js → register.onboard-CdwNCs_L.js} +42 -42
- package/dist/{register.onboard-CuRnx0wV.js → register.onboard-DOJyYmJS.js} +43 -43
- package/dist/{register.setup-qmcQQ6EM.js → register.setup-0Due7c9e.js} +43 -43
- package/dist/{register.setup-B4rO_Fld.js → register.setup-DxV_KIbP.js} +42 -42
- package/dist/{register.status-health-sessions-CQ0_UB_j.js → register.status-health-sessions-C584c9tm.js} +38 -38
- package/dist/{register.status-health-sessions-4OEVg4h6.js → register.status-health-sessions-D1tqd_k_.js} +40 -40
- package/dist/{register.subclis-68XcQ3ao.js → register.subclis-DuON_fJu.js} +28 -28
- package/dist/{replies-QloQerhz.js → replies-BXYTRk0Z.js} +1 -1
- package/dist/{replies-D9V19U2-.js → replies-Bhx469BX.js} +1 -1
- package/dist/{replies-CTKReSzx.js → replies-BnmCXHdE.js} +1 -1
- package/dist/{replies-DqdOBkTB.js → replies-UxER0fi1.js} +1 -1
- package/dist/{reply-DI3kOl7x.js → reply-BzqL_47o.js} +257 -70
- package/dist/{routes-qIyRWgzF.js → routes-DH3bW8wF.js} +3 -3
- package/dist/{routes-BYphcpth.js → routes-lbqRkIBb.js} +3 -3
- package/dist/{rpc-CvzWzHjS.js → rpc-BkvZNT-M.js} +1 -1
- package/dist/{rpc-DfC0wvv1.js → rpc-DYXJGfFr.js} +1 -1
- package/dist/{run-main-DiJI5-hU.js → run-main-CcFCZNx_.js} +53 -53
- package/dist/{runner-DOvsNiYz.js → runner-BHZy2rvh.js} +5 -5
- package/dist/{runner-BXN4KYDK.js → runner-CNY0hwm-.js} +5 -5
- package/dist/{runner-VHq3quQZ.js → runner-CplzHJ1b.js} +5 -5
- package/dist/{runner-uDZlTCm2.js → runner-Cu0qqBIE.js} +5 -5
- package/dist/{sandbox-rMmahr2s.js → sandbox-B0QOR7Cn.js} +5 -5
- package/dist/{sandbox-cli-C90jqh9l.js → sandbox-cli-CPkB96x-.js} +7 -7
- package/dist/{sandbox-cli-Duc05KL9.js → sandbox-cli-DAY7EbKl.js} +7 -7
- package/dist/{sandbox-CbuJolk2.js → sandbox-psIl5_gT.js} +5 -5
- package/dist/{security-cli-BTcKFy-k.js → security-cli-Bolpxy60.js} +12 -12
- package/dist/{security-cli-BPqLtK8x.js → security-cli-C2ZKf8ET.js} +12 -12
- package/dist/{send-BVZGeP2r.js → send-8dFVpIIg.js} +1 -1
- package/dist/{send-CHOArYFe.js → send-BPqK6C8h.js} +1 -1
- package/dist/{send-D0dzPf6g.js → send-BVRNZ9hM.js} +1 -1
- package/dist/{send-CzE5UKr-.js → send-BbscKwuU.js} +1 -1
- package/dist/{send-Do-0Kcmv.js → send-Bj2SQQVP.js} +1 -1
- package/dist/{send-BeASPkFg.js → send-Bj3PJmrF.js} +1 -1
- package/dist/{send-De_WCeGZ.js → send-Bv-112XA.js} +1 -1
- package/dist/{send-BH09HKsX.js → send-C8fjzstb.js} +1 -1
- package/dist/{send-mi3NHnwI.js → send-C8ohJBK5.js} +2 -2
- package/dist/{send-BsocounR.js → send-CIvsJpdo.js} +2 -2
- package/dist/{send-BVw7fCyL.js → send-CUhH6I6A.js} +1 -1
- package/dist/{send-3YM-aarb.js → send-CWrxWRjz.js} +1 -1
- package/dist/{send-CYfaZNZ4.js → send-Ci0uVV_k.js} +1 -1
- package/dist/{send-C7u4_H5t.js → send-Ci3UEBVK.js} +1 -1
- package/dist/{send-hNornLoH.js → send-CzxMGZc_.js} +2 -2
- package/dist/{send-DEWzWqfZ.js → send-DEcC_kQP.js} +1 -1
- package/dist/{send-D16XtYvC.js → send-DPKghOxz.js} +1 -1
- package/dist/{send-D3M6pMr5.js → send-DZbplWNh.js} +1 -1
- package/dist/{send-D_yJMeJa.js → send-DiBs_eJc.js} +2 -2
- package/dist/{send-B18gkuvz.js → send-FW1P3D82.js} +1 -1
- package/dist/{server-context-bMIwnOnH.js → server-context-AHh7m1PV.js} +5 -5
- package/dist/{server-context-DG2dIhAy.js → server-context-cw7ha2ct.js} +5 -5
- package/dist/{server-methods-DnTo3Oou.js → server-methods-BriHyeA7.js} +17 -17
- package/dist/{server-methods-B_JpD0c-.js → server-methods-CJ7xa1ot.js} +18 -18
- package/dist/{server-node-events-IlWB4f_P.js → server-node-events-CCId0gGy.js} +34 -34
- package/dist/{server-node-events-t5pGPXLD.js → server-node-events-_q8duhVi.js} +35 -35
- package/dist/{session-BeJq-MLE.js → session-B4Bibpie.js} +1 -1
- package/dist/{session-T0JXlYWe.js → session-D4FMCkcS.js} +1 -1
- package/dist/{session-BjcsCwgz.js → session-Dw3zM2St.js} +1 -1
- package/dist/{session-BkVBeAkg.js → session-lD2CnIWX.js} +1 -1
- package/dist/{session-utils-Cdv2Qaq2.js → session-utils-DySzoW4O.js} +4 -4
- package/dist/{sessions-CX93jXmG.js → sessions-BVbSbD60.js} +4 -4
- package/dist/{sessions-DJAxaVI7.js → sessions-CRTZnttk.js} +2 -2
- package/dist/{sessions-BEyCtqBB.js → sessions-L4e356Ra.js} +2 -2
- package/dist/{shared-CMw4odDH.js → shared-DZ9YCnZC.js} +2 -2
- package/dist/{shared-CLXhDldI.js → shared-oaw6SrnD.js} +2 -2
- package/dist/{skill-commands-CWySL97a.js → skill-commands-BlfEmZ8t.js} +1 -1
- package/dist/{skill-commands-B64uavY9.js → skill-commands-C2kxEz5h.js} +1 -1
- package/dist/{skill-commands-DrFCB9F9.js → skill-commands-CSBmZ_di.js} +1 -1
- package/dist/{skill-commands-DWcJOIzP.js → skill-commands-C_ZNSYNS.js} +1 -1
- package/dist/{skills-cli-DIx7YItN.js → skills-cli-D9gvgM58.js} +2 -2
- package/dist/{skills-cli-CQ7XQ4Kn.js → skills-cli-DBVcmBEp.js} +2 -2
- package/dist/{status-s1Tp-jVl.js → status-BUX2e6T-.js} +11 -11
- package/dist/{status-cWLYsK8x.js → status-C6UoBmkd.js} +2 -2
- package/dist/{status-BXQGCrxj.js → status-DJDE9f6i.js} +12 -12
- package/dist/{status-kOpLSgWJ.js → status-oObYVZk-.js} +2 -2
- package/dist/{status.update-DlaskfTr.js → status.update-CbAFtv61.js} +1 -1
- package/dist/{status.update-BXs3adtg.js → status.update-qDyKo2AJ.js} +1 -1
- package/dist/{subagent-registry-XHBZsH3Q.js → subagent-registry-BmP1Rhns.js} +258 -71
- package/dist/{system-cli-DPNDYRBr.js → system-cli-DpluDf4c.js} +4 -4
- package/dist/{system-cli-D10NhXw1.js → system-cli-gtr03ReO.js} +4 -4
- package/dist/{systemd-hints-Bm2H1erP.js → systemd-hints-Bmr_bzjF.js} +1 -1
- package/dist/{systemd-hints-BBPT8Use.js → systemd-hints-CnG98ooq.js} +1 -1
- package/dist/{tui-pvq_HI-q.js → tui-DnLFki4B.js} +16 -7
- package/dist/{tui-4d-MyU6O.js → tui-UMEqttti.js} +16 -7
- package/dist/{tui-cli-BsSKYVE3.js → tui-cli-ChVrbXQ7.js} +11 -11
- package/dist/{tui-cli-9uTZZ13F.js → tui-cli-DaL5S2ce.js} +11 -11
- package/dist/{update-cli-B3VC_mrH.js → update-cli-Bxb34ox7.js} +49 -49
- package/dist/{update-cli-_1YRH17q.js → update-cli-C-zL3WoC.js} +47 -47
- package/dist/{update-runner-Dsc1_XOK.js → update-runner-D9rjTCpa.js} +1 -1
- package/dist/{update-runner-DBbX4Iin.js → update-runner-rav9ZMjZ.js} +1 -1
- package/dist/{web-JIG-oxRW.js → web-4xYayj1G.js} +37 -37
- package/dist/{web-DjgeLZ5l.js → web-BS91XHKA.js} +21 -21
- package/dist/{web-DzjJ_iNt.js → web-DlKbVYgh.js} +37 -37
- package/dist/{web-CmZZsoMg.js → web-OmlhMCcZ.js} +21 -21
- package/dist/{webhooks-cli-B0Crq2Ec.js → webhooks-cli-BxXpx8Hu.js} +2 -2
- package/dist/{webhooks-cli-CLIdArAE.js → webhooks-cli-CvbEWtdd.js} +2 -2
- package/dist/{whatsapp-actions-Jfx4zcwv.js → whatsapp-actions-7xW0TEHg.js} +3 -3
- package/dist/{whatsapp-actions-B821AFp-.js → whatsapp-actions-B3zu-BhB.js} +3 -3
- package/dist/{whatsapp-actions-BL7tCNC_.js → whatsapp-actions-BWERIEcF.js} +3 -3
- package/dist/{whatsapp-actions-BIjGyW3T.js → whatsapp-actions-DAFOi466.js} +3 -3
- package/dist/{with-timeout-Cj_xUxo6.js → with-timeout-C6nbJrH1.js} +1 -1
- package/dist/{with-timeout-BeA4Jxcl.js → with-timeout-CNkLG3QR.js} +1 -1
- package/docs/reference/templates/SYMIPULSE.md +23 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normali
|
|
|
4
4
|
import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, lt as resolvePreferredSymiTmpDir, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, st as normalizeLogLevel, tt as getChildLogger, u as setActivePluginRegistry, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry-BhoUuugi.js";
|
|
5
5
|
import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-Cbl5pNe1.js";
|
|
6
6
|
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
|
|
7
|
-
import { $ as DEFAULT_PROVIDER, A as resolveShellEnvFallbackTimeoutMs, B as dedupeProfileIds, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as getSoonestCooldownExpiry, G as resolveSymiAgentDir, H as markAuthProfileGood, I as isProfileInCooldown, K as withFileLock, L as markAuthProfileFailure, O as getShellPathFromLoginShell, P as resolveAuthProfileOrder, Q as DEFAULT_MODEL, R as markAuthProfileUsed, S as getApiKeyForModel, T as resolveApiKeyForProvider, U as ensureAuthProfileStore, V as listProfilesForProvider, W as resolveAuthStorePathForDisplay, X as resolveAuthProfileDisplayLabel, Y as normalizeSecretInput, Z as DEFAULT_CONTEXT_TOKENS, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveApiKeyForProfile } from "./model-selection
|
|
7
|
+
import { $ as DEFAULT_PROVIDER, A as resolveShellEnvFallbackTimeoutMs, B as dedupeProfileIds, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as getSoonestCooldownExpiry, G as resolveSymiAgentDir, H as markAuthProfileGood, I as isProfileInCooldown, K as withFileLock, L as markAuthProfileFailure, O as getShellPathFromLoginShell, P as resolveAuthProfileOrder, Q as DEFAULT_MODEL, R as markAuthProfileUsed, S as getApiKeyForModel, T as resolveApiKeyForProvider, U as ensureAuthProfileStore, V as listProfilesForProvider, W as resolveAuthStorePathForDisplay, X as resolveAuthProfileDisplayLabel, Y as normalizeSecretInput, Z as DEFAULT_CONTEXT_TOKENS, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveApiKeyForProfile } from "./model-selection-DBPwoBvb.js";
|
|
8
8
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-K_J_nfgx.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BbsJ0Qbo.js";
|
|
10
10
|
import { i as resolveCliName, n as parseBooleanValue$1, r as formatCliCommand, t as isTruthyEnvValue } from "./env-CQ_DQOwT.js";
|
|
@@ -12,20 +12,20 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
|
|
|
12
12
|
import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
|
|
13
13
|
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
|
|
14
14
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
15
|
-
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-
|
|
16
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
17
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
15
|
+
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-BVRNZ9hM.js";
|
|
16
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Bv-112XA.js";
|
|
17
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-wRQauy5B.js";
|
|
18
18
|
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-D0xmLpej.js";
|
|
19
19
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
|
|
20
20
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
|
|
21
|
-
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-
|
|
21
|
+
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-C8ohJBK5.js";
|
|
22
22
|
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
|
|
23
23
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
|
|
24
24
|
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
|
|
25
|
-
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers
|
|
26
|
-
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-
|
|
25
|
+
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-D9Rvkx8A.js";
|
|
26
|
+
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BUHRlrbS.js";
|
|
27
27
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
|
|
28
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
28
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DX-9I4dn.js";
|
|
29
29
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
|
|
30
30
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
@@ -36,8 +36,8 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
|
|
|
36
36
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
|
|
38
38
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
|
|
39
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
40
|
-
import {
|
|
39
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-Kl1J-62v.js";
|
|
40
|
+
import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-Cw42HtQ7.js";
|
|
41
41
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
|
|
42
42
|
import { n as retryAsync } from "./retry-QGp0jvVi.js";
|
|
43
43
|
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BbOqxMY0.js";
|
|
@@ -46,20 +46,20 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
|
|
|
46
46
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BheTNyes.js";
|
|
47
47
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-CC8jiKDk.js";
|
|
48
48
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
|
|
49
|
-
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
50
|
-
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-
|
|
49
|
+
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-DN93gKlx.js";
|
|
50
|
+
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-C_ZNSYNS.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
|
|
52
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
52
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Cu0qqBIE.js";
|
|
53
53
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
|
|
54
54
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
|
|
55
55
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
|
|
56
56
|
import { n as normalizePollInput } from "./polls-DQcEziPg.js";
|
|
57
57
|
import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
|
|
58
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
59
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
58
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DPKghOxz.js";
|
|
59
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Bj2SQQVP.js";
|
|
60
60
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
|
|
61
61
|
import { t as makeProxyFetch } from "./proxy-BaSHbVlA.js";
|
|
62
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
62
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-UxER0fi1.js";
|
|
63
63
|
import { t as getActiveWebListener } from "./active-listener-1krIj9TM.js";
|
|
64
64
|
import { createRequire } from "node:module";
|
|
65
65
|
import * as path$1 from "node:path";
|
|
@@ -3472,7 +3472,7 @@ async function getMemorySearchManager(params) {
|
|
|
3472
3472
|
const wrapper = new FallbackMemoryManager({
|
|
3473
3473
|
primary,
|
|
3474
3474
|
fallbackFactory: async () => {
|
|
3475
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3475
|
+
const { MemoryIndexManager } = await import("./manager-Cw42HtQ7.js").then((n) => n.t);
|
|
3476
3476
|
return await MemoryIndexManager.get(params);
|
|
3477
3477
|
}
|
|
3478
3478
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -3485,7 +3485,7 @@ async function getMemorySearchManager(params) {
|
|
|
3485
3485
|
}
|
|
3486
3486
|
}
|
|
3487
3487
|
try {
|
|
3488
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3488
|
+
const { MemoryIndexManager } = await import("./manager-Cw42HtQ7.js").then((n) => n.t);
|
|
3489
3489
|
return { manager: await MemoryIndexManager.get(params) };
|
|
3490
3490
|
} catch (err) {
|
|
3491
3491
|
return {
|
|
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
|
|
|
7199
7199
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7200
7200
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7201
7201
|
try {
|
|
7202
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7202
|
+
const { deliverOutboundPayloads } = await import("./deliver-wRQauy5B.js").then((n) => n.n);
|
|
7203
7203
|
return {
|
|
7204
7204
|
ok: true,
|
|
7205
7205
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12652,7 +12652,7 @@ async function createModelSelectionState(params) {
|
|
|
12652
12652
|
}
|
|
12653
12653
|
}
|
|
12654
12654
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
12655
|
-
const { ensureAuthProfileStore } = await import("./model-selection
|
|
12655
|
+
const { ensureAuthProfileStore } = await import("./model-selection-DBPwoBvb.js").then((n) => n.N);
|
|
12656
12656
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
12657
12657
|
const providerKey = normalizeProviderId(provider);
|
|
12658
12658
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -14223,7 +14223,7 @@ function ensureNestedObject(root, path) {
|
|
|
14223
14223
|
}
|
|
14224
14224
|
return current;
|
|
14225
14225
|
}
|
|
14226
|
-
function setNestedValue(root, path, value) {
|
|
14226
|
+
function setNestedValue$1(root, path, value) {
|
|
14227
14227
|
if (path.length === 0) return;
|
|
14228
14228
|
if (path.length === 1) {
|
|
14229
14229
|
root[path[0]] = value;
|
|
@@ -14557,7 +14557,7 @@ const handleAllowlistCommand = async (params, allowTextCommands) => {
|
|
|
14557
14557
|
}
|
|
14558
14558
|
if (configChanged) {
|
|
14559
14559
|
if (next.length === 0) deleteNestedValue(target, allowlistPath);
|
|
14560
|
-
else setNestedValue(target, allowlistPath, next);
|
|
14560
|
+
else setNestedValue$1(target, allowlistPath, next);
|
|
14561
14561
|
if (scope === "dm" && (channelId === "slack" || channelId === "discord")) deleteNestedValue(target, ["dm", "allowFrom"]);
|
|
14562
14562
|
}
|
|
14563
14563
|
if (configChanged) {
|
|
@@ -21456,8 +21456,8 @@ function buildMemorySection(params) {
|
|
|
21456
21456
|
lines.push("");
|
|
21457
21457
|
return lines;
|
|
21458
21458
|
}
|
|
21459
|
-
function buildUserIdentitySection(ownerLine, isMinimal) {
|
|
21460
|
-
if (!ownerLine || isMinimal) return [];
|
|
21459
|
+
function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
|
|
21460
|
+
if (!ownerLine || isMinimal || isCoding) return [];
|
|
21461
21461
|
return [
|
|
21462
21462
|
"## Authorized Senders",
|
|
21463
21463
|
ownerLine,
|
|
@@ -21481,8 +21481,8 @@ function buildTimeSection(params) {
|
|
|
21481
21481
|
""
|
|
21482
21482
|
];
|
|
21483
21483
|
}
|
|
21484
|
-
function buildReplyTagsSection(isMinimal) {
|
|
21485
|
-
if (isMinimal) return [];
|
|
21484
|
+
function buildReplyTagsSection(isMinimal, isCoding) {
|
|
21485
|
+
if (isMinimal || isCoding) return [];
|
|
21486
21486
|
return [
|
|
21487
21487
|
"## Reply Tags",
|
|
21488
21488
|
"To request a native reply/quote on supported surfaces, include one tag in your reply:",
|
|
@@ -21495,7 +21495,7 @@ function buildReplyTagsSection(isMinimal) {
|
|
|
21495
21495
|
];
|
|
21496
21496
|
}
|
|
21497
21497
|
function buildMessagingSection(params) {
|
|
21498
|
-
if (params.isMinimal) return [];
|
|
21498
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
21499
21499
|
return [
|
|
21500
21500
|
"## Messaging",
|
|
21501
21501
|
"- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
|
|
@@ -21518,7 +21518,7 @@ function buildMessagingSection(params) {
|
|
|
21518
21518
|
];
|
|
21519
21519
|
}
|
|
21520
21520
|
function buildVoiceSection(params) {
|
|
21521
|
-
if (params.isMinimal) return [];
|
|
21521
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
21522
21522
|
const hint = params.ttsHint?.trim();
|
|
21523
21523
|
if (!hint) return [];
|
|
21524
21524
|
return [
|
|
@@ -21527,6 +21527,71 @@ function buildVoiceSection(params) {
|
|
|
21527
21527
|
""
|
|
21528
21528
|
];
|
|
21529
21529
|
}
|
|
21530
|
+
function buildVerifyYourWorkSection(params) {
|
|
21531
|
+
if (params.isMinimal) return [];
|
|
21532
|
+
const exec = params.execToolName;
|
|
21533
|
+
const read = params.readToolName;
|
|
21534
|
+
return [
|
|
21535
|
+
"## Verify Your Work",
|
|
21536
|
+
[
|
|
21537
|
+
"Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
|
|
21538
|
+
"Skipping verification is the single most common cause of incomplete or broken outputs.",
|
|
21539
|
+
"Treat this section as mandatory for every coding task, not optional polish."
|
|
21540
|
+
].join(" "),
|
|
21541
|
+
"",
|
|
21542
|
+
"### 1. Re-read the request",
|
|
21543
|
+
[
|
|
21544
|
+
"Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
|
|
21545
|
+
"Extract every discrete requirement, constraint, and preference they stated.",
|
|
21546
|
+
"Write them down internally as a checklist.",
|
|
21547
|
+
"This catches drift: it is easy to start solving a related-but-different problem mid-task."
|
|
21548
|
+
].join(" "),
|
|
21549
|
+
"",
|
|
21550
|
+
"### 2. Check each requirement against your output",
|
|
21551
|
+
[
|
|
21552
|
+
"Walk through your internal checklist point by point.",
|
|
21553
|
+
"For each requirement, locate the exact lines in your output that satisfy it.",
|
|
21554
|
+
"If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
|
|
21555
|
+
"Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
|
|
21556
|
+
].join(" "),
|
|
21557
|
+
"",
|
|
21558
|
+
"### 3. Run the code",
|
|
21559
|
+
[
|
|
21560
|
+
`Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
|
|
21561
|
+
"Do not guess whether code works — execute it and observe the result.",
|
|
21562
|
+
"If the code produces errors, fix them and re-run until it succeeds.",
|
|
21563
|
+
"For scripts: run them with representative inputs.",
|
|
21564
|
+
"For libraries/modules: write and execute a minimal smoke test.",
|
|
21565
|
+
"For config files: validate syntax (e.g., json, yaml, toml parsers).",
|
|
21566
|
+
"If execution is genuinely impossible (no runtime available, user explicitly said not to run), state that you were unable to verify execution and explain why."
|
|
21567
|
+
].join(" "),
|
|
21568
|
+
"",
|
|
21569
|
+
"### 4. Include tests when requested",
|
|
21570
|
+
[
|
|
21571
|
+
"If the user asked for tests, they are a hard requirement — not a nice-to-have.",
|
|
21572
|
+
"Deliver the tests alongside the implementation, not as an afterthought.",
|
|
21573
|
+
"Run the tests and confirm they pass before responding.",
|
|
21574
|
+
"If the user did not explicitly ask for tests but the change is non-trivial, consider whether a test would catch a regression and offer one."
|
|
21575
|
+
].join(" "),
|
|
21576
|
+
"",
|
|
21577
|
+
"### 5. Self-review",
|
|
21578
|
+
[
|
|
21579
|
+
`After everything above, use ${read} to re-read any files you created or modified.`,
|
|
21580
|
+
"Look at them with fresh eyes as if reviewing someone else's code.",
|
|
21581
|
+
"Check for: typos, missing imports, unused variables, inconsistent naming, hardcoded values that should be configurable, incomplete error handling, and security issues (exposed secrets, injection vectors, missing input validation).",
|
|
21582
|
+
"If you find problems during self-review, fix them, re-run verification, and only then respond."
|
|
21583
|
+
].join(" "),
|
|
21584
|
+
"",
|
|
21585
|
+
"### Verification failures",
|
|
21586
|
+
[
|
|
21587
|
+
"If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
|
|
21588
|
+
"Instead, fix the issue silently and re-verify.",
|
|
21589
|
+
"The user should receive working, complete output — not a draft with known issues.",
|
|
21590
|
+
"Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
|
|
21591
|
+
].join(" "),
|
|
21592
|
+
""
|
|
21593
|
+
];
|
|
21594
|
+
}
|
|
21530
21595
|
function buildDocsSection(params) {
|
|
21531
21596
|
const docsPath = params.docsPath?.trim();
|
|
21532
21597
|
if (!docsPath || params.isMinimal) return [];
|
|
@@ -21651,6 +21716,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
21651
21716
|
const messageChannelOptions = listDeliverableMessageChannels().join("|");
|
|
21652
21717
|
const promptMode = params.promptMode ?? "full";
|
|
21653
21718
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
21719
|
+
const isCoding = promptMode === "coding";
|
|
21654
21720
|
const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
|
|
21655
21721
|
const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
|
|
21656
21722
|
const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
|
|
@@ -21727,19 +21793,19 @@ function buildAgentSystemPrompt(params) {
|
|
|
21727
21793
|
"",
|
|
21728
21794
|
...skillsSection,
|
|
21729
21795
|
...memorySection,
|
|
21730
|
-
hasGateway && !isMinimal ? "## Symi Self-Update" : "",
|
|
21731
|
-
hasGateway && !isMinimal ? [
|
|
21796
|
+
hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
|
|
21797
|
+
hasGateway && !isMinimal && !isCoding ? [
|
|
21732
21798
|
"Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
|
|
21733
21799
|
"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.",
|
|
21734
21800
|
"Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
|
|
21735
21801
|
"After restart, Symi pings the last active session automatically."
|
|
21736
21802
|
].join("\n") : "",
|
|
21737
|
-
hasGateway && !isMinimal ? "" : "",
|
|
21803
|
+
hasGateway && !isMinimal && !isCoding ? "" : "",
|
|
21738
21804
|
"",
|
|
21739
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "## Model Aliases" : "",
|
|
21740
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
|
|
21741
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? params.modelAliasLines.join("\n") : "",
|
|
21742
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "" : "",
|
|
21805
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
|
|
21806
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
|
|
21807
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
|
|
21808
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
|
|
21743
21809
|
userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
|
|
21744
21810
|
"## Workspace",
|
|
21745
21811
|
`Your working directory is: ${displayWorkspaceDir}`,
|
|
@@ -21747,6 +21813,11 @@ function buildAgentSystemPrompt(params) {
|
|
|
21747
21813
|
...workspaceNotes,
|
|
21748
21814
|
"",
|
|
21749
21815
|
...docsSection,
|
|
21816
|
+
...buildVerifyYourWorkSection({
|
|
21817
|
+
isMinimal,
|
|
21818
|
+
execToolName,
|
|
21819
|
+
readToolName
|
|
21820
|
+
}),
|
|
21750
21821
|
params.sandboxInfo?.enabled ? "## Sandbox" : "",
|
|
21751
21822
|
params.sandboxInfo?.enabled ? [
|
|
21752
21823
|
"You are running in a sandboxed runtime (tools execute in Docker).",
|
|
@@ -21764,14 +21835,15 @@ function buildAgentSystemPrompt(params) {
|
|
|
21764
21835
|
params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
|
|
21765
21836
|
].filter(Boolean).join("\n") : "",
|
|
21766
21837
|
params.sandboxInfo?.enabled ? "" : "",
|
|
21767
|
-
...buildUserIdentitySection(ownerLine, isMinimal),
|
|
21838
|
+
...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
|
|
21768
21839
|
...buildTimeSection({ userTimezone }),
|
|
21769
21840
|
"## Workspace Files (injected)",
|
|
21770
21841
|
"These user-editable files are loaded by Symi and included below in Project Context.",
|
|
21771
21842
|
"",
|
|
21772
|
-
...buildReplyTagsSection(isMinimal),
|
|
21843
|
+
...buildReplyTagsSection(isMinimal, isCoding),
|
|
21773
21844
|
...buildMessagingSection({
|
|
21774
21845
|
isMinimal,
|
|
21846
|
+
isCoding,
|
|
21775
21847
|
availableTools,
|
|
21776
21848
|
messageChannelOptions,
|
|
21777
21849
|
inlineButtonsEnabled,
|
|
@@ -21780,6 +21852,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
21780
21852
|
}),
|
|
21781
21853
|
...buildVoiceSection({
|
|
21782
21854
|
isMinimal,
|
|
21855
|
+
isCoding,
|
|
21783
21856
|
ttsHint: params.ttsHint
|
|
21784
21857
|
})
|
|
21785
21858
|
];
|
|
@@ -21819,8 +21892,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
21819
21892
|
lines.push("");
|
|
21820
21893
|
for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
|
|
21821
21894
|
}
|
|
21822
|
-
if (!isMinimal) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
|
|
21823
|
-
if (!isMinimal) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
|
|
21895
|
+
if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
|
|
21896
|
+
if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
|
|
21824
21897
|
lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
|
|
21825
21898
|
return lines.filter(Boolean).join("\n");
|
|
21826
21899
|
}
|
|
@@ -41572,7 +41645,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41572
41645
|
return;
|
|
41573
41646
|
}
|
|
41574
41647
|
try {
|
|
41575
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41648
|
+
const { deliverOutboundPayloads } = await import("./deliver-wRQauy5B.js").then((n) => n.n);
|
|
41576
41649
|
await deliverOutboundPayloads({
|
|
41577
41650
|
cfg: params.cfg,
|
|
41578
41651
|
channel,
|
|
@@ -45015,7 +45088,7 @@ async function describeStickerImage(params) {
|
|
|
45015
45088
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
45016
45089
|
try {
|
|
45017
45090
|
const buffer = await fs$1.readFile(imagePath);
|
|
45018
|
-
const { describeImageWithModel } = await import("./image-
|
|
45091
|
+
const { describeImageWithModel } = await import("./image-Kl1J-62v.js").then((n) => n.n);
|
|
45019
45092
|
return (await describeImageWithModel({
|
|
45020
45093
|
buffer,
|
|
45021
45094
|
fileName: "sticker.webp",
|
|
@@ -45438,7 +45511,7 @@ function createWhatsAppLoginTool() {
|
|
|
45438
45511
|
force: Type.Optional(Type.Boolean())
|
|
45439
45512
|
}),
|
|
45440
45513
|
execute: async (_toolCallId, args) => {
|
|
45441
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
45514
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CADWVR1b.js");
|
|
45442
45515
|
if ((args?.action ?? "start") === "wait") {
|
|
45443
45516
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
45444
45517
|
return {
|
|
@@ -46164,6 +46237,207 @@ function registerMemoryCli(program) {
|
|
|
46164
46237
|
}
|
|
46165
46238
|
});
|
|
46166
46239
|
});
|
|
46240
|
+
memory.command("setup").description("Auto-detect and configure the best embedding provider").option("--agent <id>", "Agent id (default: default agent)").option("--dry-run", "Show what would be configured without writing", false).option("--verbose", "Verbose logging", false).action(async (opts) => {
|
|
46241
|
+
setVerbose(Boolean(opts.verbose));
|
|
46242
|
+
await runMemorySetup(opts);
|
|
46243
|
+
});
|
|
46244
|
+
}
|
|
46245
|
+
async function detectEmbeddingProviders(cfg) {
|
|
46246
|
+
const detected = [];
|
|
46247
|
+
const ollamaProbe = await probeOllamaEmbeddingModels(resolveOllamaBaseUrl(cfg));
|
|
46248
|
+
if (ollamaProbe && ollamaProbe.models.length > 0) detected.push({
|
|
46249
|
+
id: "ollama",
|
|
46250
|
+
model: ollamaProbe.models[0],
|
|
46251
|
+
baseUrl: ollamaProbe.baseUrl,
|
|
46252
|
+
reason: `Ollama at ${ollamaProbe.baseUrl} — ${ollamaProbe.models[0]}`
|
|
46253
|
+
});
|
|
46254
|
+
for (const remote of [
|
|
46255
|
+
{
|
|
46256
|
+
id: "openai",
|
|
46257
|
+
envKey: "OPENAI_API_KEY",
|
|
46258
|
+
defaultModel: "text-embedding-3-small"
|
|
46259
|
+
},
|
|
46260
|
+
{
|
|
46261
|
+
id: "gemini",
|
|
46262
|
+
envKey: "GEMINI_API_KEY",
|
|
46263
|
+
defaultModel: "gemini-embedding-001"
|
|
46264
|
+
},
|
|
46265
|
+
{
|
|
46266
|
+
id: "voyage",
|
|
46267
|
+
envKey: "VOYAGE_API_KEY",
|
|
46268
|
+
defaultModel: "voyage-4-large"
|
|
46269
|
+
}
|
|
46270
|
+
]) {
|
|
46271
|
+
const envValue = process.env[remote.envKey]?.trim();
|
|
46272
|
+
let hasKey = Boolean(envValue);
|
|
46273
|
+
if (!hasKey) try {
|
|
46274
|
+
const resolved = await resolveApiKeyForProvider({
|
|
46275
|
+
provider: remote.id,
|
|
46276
|
+
cfg
|
|
46277
|
+
});
|
|
46278
|
+
hasKey = Boolean(resolved?.apiKey);
|
|
46279
|
+
} catch {}
|
|
46280
|
+
if (hasKey) detected.push({
|
|
46281
|
+
id: remote.id,
|
|
46282
|
+
model: remote.defaultModel,
|
|
46283
|
+
reason: `${remote.id} — API key found`
|
|
46284
|
+
});
|
|
46285
|
+
}
|
|
46286
|
+
return detected;
|
|
46287
|
+
}
|
|
46288
|
+
function setNestedValue(obj, path, value) {
|
|
46289
|
+
let current = obj;
|
|
46290
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
46291
|
+
const key = path[i];
|
|
46292
|
+
if (current[key] === void 0 || typeof current[key] !== "object" || current[key] === null) current[key] = {};
|
|
46293
|
+
current = current[key];
|
|
46294
|
+
}
|
|
46295
|
+
current[path[path.length - 1]] = value;
|
|
46296
|
+
}
|
|
46297
|
+
async function runMemorySetup(opts) {
|
|
46298
|
+
const rich = isRich();
|
|
46299
|
+
const heading = (text) => colorize(rich, theme.heading, text);
|
|
46300
|
+
const success = (text) => colorize(rich, theme.success, text);
|
|
46301
|
+
const warn = (text) => colorize(rich, theme.warn, text);
|
|
46302
|
+
const info = (text) => colorize(rich, theme.info, text);
|
|
46303
|
+
const muted = (text) => colorize(rich, theme.muted, text);
|
|
46304
|
+
const cfg = loadConfig();
|
|
46305
|
+
const agentId = resolveAgent(cfg, opts.agent);
|
|
46306
|
+
defaultRuntime.log(heading("Detecting embedding providers..."));
|
|
46307
|
+
defaultRuntime.log("");
|
|
46308
|
+
const detected = await detectEmbeddingProviders(cfg);
|
|
46309
|
+
const ollamaBase = resolveOllamaBaseUrl(cfg);
|
|
46310
|
+
const ollamaFound = detected.some((d) => d.id === "ollama");
|
|
46311
|
+
const openaiFound = detected.some((d) => d.id === "openai");
|
|
46312
|
+
const geminiFound = detected.some((d) => d.id === "gemini");
|
|
46313
|
+
const voyageFound = detected.some((d) => d.id === "voyage");
|
|
46314
|
+
if (ollamaFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "ollama").reason}`);
|
|
46315
|
+
else defaultRuntime.log(` ${warn("✗")} Ollama — not reachable at ${ollamaBase} or no embedding models`);
|
|
46316
|
+
if (openaiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "openai").reason}`);
|
|
46317
|
+
else defaultRuntime.log(` ${warn("✗")} OpenAI — no API key`);
|
|
46318
|
+
if (geminiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "gemini").reason}`);
|
|
46319
|
+
else defaultRuntime.log(` ${warn("✗")} Gemini — no API key`);
|
|
46320
|
+
if (voyageFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "voyage").reason}`);
|
|
46321
|
+
else defaultRuntime.log(` ${warn("✗")} Voyage — no API key`);
|
|
46322
|
+
defaultRuntime.log("");
|
|
46323
|
+
if (detected.length === 0) {
|
|
46324
|
+
defaultRuntime.error("No embedding providers detected.");
|
|
46325
|
+
defaultRuntime.error("");
|
|
46326
|
+
defaultRuntime.error("To fix, do one of:");
|
|
46327
|
+
defaultRuntime.error(" - Install Ollama and pull an embedding model: ollama pull nomic-embed-text");
|
|
46328
|
+
defaultRuntime.error(" - Set OPENAI_API_KEY environment variable");
|
|
46329
|
+
defaultRuntime.error(" - Set GEMINI_API_KEY or VOYAGE_API_KEY environment variable");
|
|
46330
|
+
process.exitCode = 1;
|
|
46331
|
+
return;
|
|
46332
|
+
}
|
|
46333
|
+
const best = detected[0];
|
|
46334
|
+
defaultRuntime.log(`${heading("Configuring:")} ${info(best.id)} (${best.model})`);
|
|
46335
|
+
if (opts.dryRun) {
|
|
46336
|
+
defaultRuntime.log(muted(" (dry run — no changes written)"));
|
|
46337
|
+
const configProvider = best.id === "ollama" ? "openai" : best.id;
|
|
46338
|
+
defaultRuntime.log(` provider = ${info(configProvider)}${best.id === "ollama" ? muted(" (via Ollama)") : ""}`);
|
|
46339
|
+
defaultRuntime.log(` model = ${info(best.model)}`);
|
|
46340
|
+
if (best.baseUrl) {
|
|
46341
|
+
const configUrl = best.id === "ollama" ? `${best.baseUrl}/v1` : best.baseUrl;
|
|
46342
|
+
defaultRuntime.log(` remote.baseUrl = ${info(configUrl)}`);
|
|
46343
|
+
}
|
|
46344
|
+
return;
|
|
46345
|
+
}
|
|
46346
|
+
const snapshot = await readConfigFileSnapshot();
|
|
46347
|
+
const next = structuredClone(snapshot.resolved);
|
|
46348
|
+
const memPath = [
|
|
46349
|
+
"agents",
|
|
46350
|
+
"defaults",
|
|
46351
|
+
"memorySearch"
|
|
46352
|
+
];
|
|
46353
|
+
setNestedValue(next, [...memPath, "enabled"], true);
|
|
46354
|
+
setNestedValue(next, [...memPath, "sources"], ["memory", "sessions"]);
|
|
46355
|
+
if (best.id === "ollama" && best.baseUrl) {
|
|
46356
|
+
setNestedValue(next, [...memPath, "provider"], "openai");
|
|
46357
|
+
setNestedValue(next, [...memPath, "model"], best.model);
|
|
46358
|
+
setNestedValue(next, [
|
|
46359
|
+
...memPath,
|
|
46360
|
+
"remote",
|
|
46361
|
+
"baseUrl"
|
|
46362
|
+
], `${best.baseUrl}/v1`);
|
|
46363
|
+
setNestedValue(next, [
|
|
46364
|
+
...memPath,
|
|
46365
|
+
"remote",
|
|
46366
|
+
"apiKey"
|
|
46367
|
+
], "ollama-local");
|
|
46368
|
+
} else {
|
|
46369
|
+
setNestedValue(next, [...memPath, "provider"], best.id);
|
|
46370
|
+
setNestedValue(next, [...memPath, "model"], best.model);
|
|
46371
|
+
if (best.baseUrl) setNestedValue(next, [
|
|
46372
|
+
...memPath,
|
|
46373
|
+
"remote",
|
|
46374
|
+
"baseUrl"
|
|
46375
|
+
], best.baseUrl);
|
|
46376
|
+
}
|
|
46377
|
+
await writeConfigFile(next);
|
|
46378
|
+
defaultRuntime.log(` ${success("✓")} Updated symi.json`);
|
|
46379
|
+
defaultRuntime.log("");
|
|
46380
|
+
defaultRuntime.log(heading("Indexing memory files..."));
|
|
46381
|
+
const freshCfg = loadConfig();
|
|
46382
|
+
let indexOk = false;
|
|
46383
|
+
await withMemoryManagerForAgent({
|
|
46384
|
+
cfg: freshCfg,
|
|
46385
|
+
agentId,
|
|
46386
|
+
run: async (manager) => {
|
|
46387
|
+
const syncFn = manager.sync ? manager.sync.bind(manager) : void 0;
|
|
46388
|
+
if (!syncFn) {
|
|
46389
|
+
defaultRuntime.log(warn(" Memory backend does not support indexing."));
|
|
46390
|
+
return;
|
|
46391
|
+
}
|
|
46392
|
+
try {
|
|
46393
|
+
await withProgressTotals({
|
|
46394
|
+
label: "Indexing memory…",
|
|
46395
|
+
total: 0
|
|
46396
|
+
}, async (update, progress) => {
|
|
46397
|
+
await syncFn({
|
|
46398
|
+
reason: "cli",
|
|
46399
|
+
force: true,
|
|
46400
|
+
progress: (syncUpdate) => {
|
|
46401
|
+
update({
|
|
46402
|
+
completed: syncUpdate.completed,
|
|
46403
|
+
total: syncUpdate.total,
|
|
46404
|
+
label: syncUpdate.label
|
|
46405
|
+
});
|
|
46406
|
+
if (syncUpdate.label) progress.setLabel(syncUpdate.label);
|
|
46407
|
+
}
|
|
46408
|
+
});
|
|
46409
|
+
});
|
|
46410
|
+
const status = manager.status();
|
|
46411
|
+
defaultRuntime.log(` ${success("✓")} ${status.files ?? 0} files → ${status.chunks ?? 0} chunks` + (status.vector?.dims ? ` (${status.vector.dims}-dim vectors)` : ""));
|
|
46412
|
+
indexOk = true;
|
|
46413
|
+
} catch (err) {
|
|
46414
|
+
defaultRuntime.error(` ${warn("✗")} Index failed: ${formatErrorMessage(err)}`);
|
|
46415
|
+
}
|
|
46416
|
+
}
|
|
46417
|
+
});
|
|
46418
|
+
if (!indexOk) {
|
|
46419
|
+
process.exitCode = 1;
|
|
46420
|
+
return;
|
|
46421
|
+
}
|
|
46422
|
+
defaultRuntime.log("");
|
|
46423
|
+
defaultRuntime.log(heading("Verifying search..."));
|
|
46424
|
+
await withMemoryManagerForAgent({
|
|
46425
|
+
cfg: freshCfg,
|
|
46426
|
+
agentId,
|
|
46427
|
+
run: async (manager) => {
|
|
46428
|
+
try {
|
|
46429
|
+
const results = await manager.search("test memory verification", { maxResults: 3 });
|
|
46430
|
+
defaultRuntime.log(` ${success("✓")} Test query returned ${results.length} results` + (results.length > 0 ? ` (score ${results[results.length - 1].score.toFixed(2)}–${results[0].score.toFixed(2)})` : ""));
|
|
46431
|
+
} catch (err) {
|
|
46432
|
+
defaultRuntime.log(` ${warn("✗")} Search verification failed: ${formatErrorMessage(err)}`);
|
|
46433
|
+
process.exitCode = 1;
|
|
46434
|
+
return;
|
|
46435
|
+
}
|
|
46436
|
+
}
|
|
46437
|
+
});
|
|
46438
|
+
defaultRuntime.log("");
|
|
46439
|
+
defaultRuntime.log(success("Memory system is fully operational."));
|
|
46440
|
+
defaultRuntime.log(muted("Restart the gateway to apply: systemctl --user restart symi-gateway"));
|
|
46167
46441
|
}
|
|
46168
46442
|
|
|
46169
46443
|
//#endregion
|
|
@@ -47476,7 +47750,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47476
47750
|
let preflightTranscript;
|
|
47477
47751
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47478
47752
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47479
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47753
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
|
|
47480
47754
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47481
47755
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47482
47756
|
ctx: {
|
|
@@ -51482,27 +51756,27 @@ function isVoiceChannelType(type) {
|
|
|
51482
51756
|
function createDefaultDeps() {
|
|
51483
51757
|
return {
|
|
51484
51758
|
sendMessageWhatsApp: async (...args) => {
|
|
51485
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51759
|
+
const { sendMessageWhatsApp } = await import("./web-BS91XHKA.js");
|
|
51486
51760
|
return await sendMessageWhatsApp(...args);
|
|
51487
51761
|
},
|
|
51488
51762
|
sendMessageTelegram: async (...args) => {
|
|
51489
|
-
const { sendMessageTelegram } = await import("./send-
|
|
51763
|
+
const { sendMessageTelegram } = await import("./send-C8ohJBK5.js").then((n) => n.l);
|
|
51490
51764
|
return await sendMessageTelegram(...args);
|
|
51491
51765
|
},
|
|
51492
51766
|
sendMessageDiscord: async (...args) => {
|
|
51493
|
-
const { sendMessageDiscord } = await import("./send-
|
|
51767
|
+
const { sendMessageDiscord } = await import("./send-Bv-112XA.js").then((n) => n.t);
|
|
51494
51768
|
return await sendMessageDiscord(...args);
|
|
51495
51769
|
},
|
|
51496
51770
|
sendMessageSlack: async (...args) => {
|
|
51497
|
-
const { sendMessageSlack } = await import("./send-
|
|
51771
|
+
const { sendMessageSlack } = await import("./send-BVRNZ9hM.js").then((n) => n.n);
|
|
51498
51772
|
return await sendMessageSlack(...args);
|
|
51499
51773
|
},
|
|
51500
51774
|
sendMessageSignal: async (...args) => {
|
|
51501
|
-
const { sendMessageSignal } = await import("./send-
|
|
51775
|
+
const { sendMessageSignal } = await import("./send-DPKghOxz.js").then((n) => n.i);
|
|
51502
51776
|
return await sendMessageSignal(...args);
|
|
51503
51777
|
},
|
|
51504
51778
|
sendMessageIMessage: async (...args) => {
|
|
51505
|
-
const { sendMessageIMessage } = await import("./send-
|
|
51779
|
+
const { sendMessageIMessage } = await import("./send-Bj2SQQVP.js").then((n) => n.n);
|
|
51506
51780
|
return await sendMessageIMessage(...args);
|
|
51507
51781
|
}
|
|
51508
51782
|
};
|
|
@@ -61928,7 +62202,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
61928
62202
|
}
|
|
61929
62203
|
let commandsRegistry;
|
|
61930
62204
|
async function getCommandsRegistry() {
|
|
61931
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
62205
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DN93gKlx.js").then((n) => n.n);
|
|
61932
62206
|
return commandsRegistry;
|
|
61933
62207
|
}
|
|
61934
62208
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -62331,7 +62605,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62331
62605
|
});
|
|
62332
62606
|
const deliverSlashPayloads = async (replies) => {
|
|
62333
62607
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
62334
|
-
import("./replies-
|
|
62608
|
+
import("./replies-UxER0fi1.js").then((n) => n.r),
|
|
62335
62609
|
import("./chunk-DTMTDXwE.js").then((n) => n.s),
|
|
62336
62610
|
import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
|
|
62337
62611
|
]);
|
|
@@ -62386,7 +62660,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62386
62660
|
let nativeCommands = [];
|
|
62387
62661
|
if (nativeEnabled) {
|
|
62388
62662
|
reg = await getCommandsRegistry();
|
|
62389
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
62663
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C_ZNSYNS.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
62390
62664
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
62391
62665
|
skillCommands,
|
|
62392
62666
|
provider: "slack"
|
|
@@ -64604,7 +64878,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64604
64878
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64605
64879
|
let preflightTranscript;
|
|
64606
64880
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64607
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64881
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
|
|
64608
64882
|
preflightTranscript = await transcribeFirstAudio({
|
|
64609
64883
|
ctx: {
|
|
64610
64884
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66749,23 +67023,23 @@ let webLoginQrPromise = null;
|
|
|
66749
67023
|
let webChannelPromise = null;
|
|
66750
67024
|
let whatsappActionsPromise = null;
|
|
66751
67025
|
function loadWebOutbound() {
|
|
66752
|
-
webOutboundPromise ??= import("./outbound-
|
|
67026
|
+
webOutboundPromise ??= import("./outbound-BEumB8qs.js").then((n) => n.t);
|
|
66753
67027
|
return webOutboundPromise;
|
|
66754
67028
|
}
|
|
66755
67029
|
function loadWebLogin() {
|
|
66756
|
-
webLoginPromise ??= import("./login-
|
|
67030
|
+
webLoginPromise ??= import("./login-J-hL4MZQ.js").then((n) => n.n);
|
|
66757
67031
|
return webLoginPromise;
|
|
66758
67032
|
}
|
|
66759
67033
|
function loadWebLoginQr() {
|
|
66760
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
67034
|
+
webLoginQrPromise ??= import("./login-qr-CADWVR1b.js");
|
|
66761
67035
|
return webLoginQrPromise;
|
|
66762
67036
|
}
|
|
66763
67037
|
function loadWebChannel() {
|
|
66764
|
-
webChannelPromise ??= import("./web-
|
|
67038
|
+
webChannelPromise ??= import("./web-BS91XHKA.js");
|
|
66765
67039
|
return webChannelPromise;
|
|
66766
67040
|
}
|
|
66767
67041
|
function loadWhatsAppActions() {
|
|
66768
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
67042
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-DAFOi466.js");
|
|
66769
67043
|
return whatsappActionsPromise;
|
|
66770
67044
|
}
|
|
66771
67045
|
function createPluginRuntime() {
|
|
@@ -72073,7 +72347,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
72073
72347
|
config: params.config
|
|
72074
72348
|
});
|
|
72075
72349
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
72076
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
72350
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
72077
72351
|
const docsPath = await resolveSymiDocsPath({
|
|
72078
72352
|
workspaceDir: effectiveWorkspace,
|
|
72079
72353
|
argv1: process.argv[1],
|
|
@@ -72313,6 +72587,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
|
|
|
72313
72587
|
const streamParams = {};
|
|
72314
72588
|
if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
|
|
72315
72589
|
if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
|
|
72590
|
+
if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
|
|
72591
|
+
if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
|
|
72592
|
+
if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
|
|
72316
72593
|
const cacheRetention = resolveCacheRetention(extraParams, provider);
|
|
72317
72594
|
if (cacheRetention) streamParams.cacheRetention = cacheRetention;
|
|
72318
72595
|
if (Object.keys(streamParams).length === 0) return;
|
|
@@ -75593,7 +75870,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
75593
75870
|
}
|
|
75594
75871
|
});
|
|
75595
75872
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
75596
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
75873
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
75597
75874
|
const docsPath = await resolveSymiDocsPath({
|
|
75598
75875
|
workspaceDir: effectiveWorkspace,
|
|
75599
75876
|
argv1: process.argv[1],
|
|
@@ -76608,6 +76885,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
76608
76885
|
let lastRunPromptUsage;
|
|
76609
76886
|
let autoCompactionCount = 0;
|
|
76610
76887
|
let runLoopIterations = 0;
|
|
76888
|
+
let verificationPassCompleted = false;
|
|
76611
76889
|
try {
|
|
76612
76890
|
while (true) {
|
|
76613
76891
|
if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
|
|
@@ -76977,6 +77255,116 @@ async function runEmbeddedPiAgent(params) {
|
|
|
76977
77255
|
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
76978
77256
|
inlineToolResultsAllowed: false
|
|
76979
77257
|
});
|
|
77258
|
+
if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
|
|
77259
|
+
const CODE_TOOL_NAMES = new Set([
|
|
77260
|
+
"exec",
|
|
77261
|
+
"bash",
|
|
77262
|
+
"write",
|
|
77263
|
+
"edit",
|
|
77264
|
+
"file_write",
|
|
77265
|
+
"file_edit",
|
|
77266
|
+
"write_file",
|
|
77267
|
+
"edit_file",
|
|
77268
|
+
"create_file",
|
|
77269
|
+
"patch"
|
|
77270
|
+
]);
|
|
77271
|
+
const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
|
|
77272
|
+
const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
|
|
77273
|
+
if (hasCodeToolUsage || hasCodeBlocks) {
|
|
77274
|
+
verificationPassCompleted = true;
|
|
77275
|
+
log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
|
|
77276
|
+
const verificationPrompt = "Review your response against the original user request. Check: (1) Did you address every requirement? (2) Did you include tests if requested? (3) Did you run and verify the code works? If you missed anything, fix it now. If everything looks correct, briefly confirm.";
|
|
77277
|
+
try {
|
|
77278
|
+
const verifyAttempt = await runEmbeddedAttempt({
|
|
77279
|
+
sessionId: params.sessionId,
|
|
77280
|
+
sessionKey: params.sessionKey,
|
|
77281
|
+
messageChannel: params.messageChannel,
|
|
77282
|
+
messageProvider: params.messageProvider,
|
|
77283
|
+
agentAccountId: params.agentAccountId,
|
|
77284
|
+
messageTo: params.messageTo,
|
|
77285
|
+
messageThreadId: params.messageThreadId,
|
|
77286
|
+
groupId: params.groupId,
|
|
77287
|
+
groupChannel: params.groupChannel,
|
|
77288
|
+
groupSpace: params.groupSpace,
|
|
77289
|
+
spawnedBy: params.spawnedBy,
|
|
77290
|
+
senderIsOwner: params.senderIsOwner,
|
|
77291
|
+
currentChannelId: params.currentChannelId,
|
|
77292
|
+
currentThreadTs: params.currentThreadTs,
|
|
77293
|
+
replyToMode: params.replyToMode,
|
|
77294
|
+
hasRepliedRef: params.hasRepliedRef,
|
|
77295
|
+
sessionFile: params.sessionFile,
|
|
77296
|
+
workspaceDir: resolvedWorkspace,
|
|
77297
|
+
agentDir,
|
|
77298
|
+
config: params.config,
|
|
77299
|
+
skillsSnapshot: params.skillsSnapshot,
|
|
77300
|
+
prompt: verificationPrompt,
|
|
77301
|
+
images: void 0,
|
|
77302
|
+
disableTools: params.disableTools,
|
|
77303
|
+
provider,
|
|
77304
|
+
modelId,
|
|
77305
|
+
model,
|
|
77306
|
+
authStorage,
|
|
77307
|
+
modelRegistry,
|
|
77308
|
+
agentId: workspaceResolution.agentId,
|
|
77309
|
+
thinkLevel,
|
|
77310
|
+
verboseLevel: params.verboseLevel,
|
|
77311
|
+
reasoningLevel: params.reasoningLevel,
|
|
77312
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
77313
|
+
execOverrides: params.execOverrides,
|
|
77314
|
+
bashElevated: params.bashElevated,
|
|
77315
|
+
timeoutMs: params.timeoutMs,
|
|
77316
|
+
runId: params.runId,
|
|
77317
|
+
abortSignal: params.abortSignal,
|
|
77318
|
+
shouldEmitToolResult: params.shouldEmitToolResult,
|
|
77319
|
+
shouldEmitToolOutput: params.shouldEmitToolOutput,
|
|
77320
|
+
onPartialReply: params.onPartialReply,
|
|
77321
|
+
onAssistantMessageStart: params.onAssistantMessageStart,
|
|
77322
|
+
onBlockReply: params.onBlockReply,
|
|
77323
|
+
onBlockReplyFlush: params.onBlockReplyFlush,
|
|
77324
|
+
blockReplyBreak: params.blockReplyBreak,
|
|
77325
|
+
blockReplyChunking: params.blockReplyChunking,
|
|
77326
|
+
onReasoningStream: params.onReasoningStream,
|
|
77327
|
+
onReasoningEnd: params.onReasoningEnd,
|
|
77328
|
+
onToolResult: params.onToolResult,
|
|
77329
|
+
onAgentEvent: params.onAgentEvent,
|
|
77330
|
+
extraSystemPrompt: params.extraSystemPrompt,
|
|
77331
|
+
inputProvenance: params.inputProvenance,
|
|
77332
|
+
streamParams: params.streamParams,
|
|
77333
|
+
ownerNumbers: params.ownerNumbers,
|
|
77334
|
+
enforceFinalTag: params.enforceFinalTag
|
|
77335
|
+
});
|
|
77336
|
+
const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
|
|
77337
|
+
mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
|
|
77338
|
+
if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
|
|
77339
|
+
const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
|
|
77340
|
+
const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
|
|
77341
|
+
if (verifyHasToolUsage || verifyHasContent) {
|
|
77342
|
+
const verifyPayloads = buildEmbeddedRunPayloads({
|
|
77343
|
+
assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
|
|
77344
|
+
toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
|
|
77345
|
+
lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
|
|
77346
|
+
lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
|
|
77347
|
+
config: params.config,
|
|
77348
|
+
sessionKey: params.sessionKey ?? params.sessionId,
|
|
77349
|
+
provider: activeErrorContext.provider,
|
|
77350
|
+
model: activeErrorContext.model,
|
|
77351
|
+
verboseLevel: params.verboseLevel,
|
|
77352
|
+
reasoningLevel: params.reasoningLevel,
|
|
77353
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
77354
|
+
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
77355
|
+
inlineToolResultsAllowed: false
|
|
77356
|
+
});
|
|
77357
|
+
if (verifyPayloads.length > 0) {
|
|
77358
|
+
payloads.length = 0;
|
|
77359
|
+
payloads.push(...verifyPayloads);
|
|
77360
|
+
}
|
|
77361
|
+
log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
|
|
77362
|
+
} else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
|
|
77363
|
+
} catch (verifyErr) {
|
|
77364
|
+
log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
|
|
77365
|
+
}
|
|
77366
|
+
}
|
|
77367
|
+
}
|
|
76980
77368
|
if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
|
|
76981
77369
|
payloads: [{
|
|
76982
77370
|
text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",
|