@symerian/symi 2.0.17 → 2.0.19
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-SgZGC8og.js → acp-cli-bbOWOXnN.js} +3 -3
- package/dist/{acp-cli-DqQjT50N.js → acp-cli-sXld4yJl.js} +3 -3
- package/dist/{agents-C4_0TzXm.js → agents-CENGwpKH.js} +8 -8
- package/dist/{agents.config-Bneyaqn6.js → agents.config-CgNflQtq.js} +1 -1
- package/dist/{agents.config-D9Ufj9CE.js → agents.config-WhJPXBWO.js} +1 -1
- package/dist/{api-key-rotation-BukD0zzl.js → api-key-rotation-De1ivBc0.js} +1 -1
- package/dist/{audio-preflight-BiAp3Hvj.js → audio-preflight-BxuYnm6k.js} +7 -7
- package/dist/{audio-preflight-Cpsd8C3J.js → audio-preflight-DCHBMKWE.js} +13 -13
- package/dist/{audio-preflight-mSUx5I34.js → audio-preflight-Djedh6Uc.js} +7 -7
- package/dist/{audio-preflight-5w1q1hWh.js → audio-preflight-USnUISOE.js} +13 -13
- package/dist/{audit-BCHYqYge.js → audit-DpqAVLn7.js} +7 -7
- package/dist/{audit-FH7mu_3g.js → audit-Dxa-KhrA.js} +7 -7
- package/dist/{auth-choice-B8qrETy7.js → auth-choice-BdZAR0l8.js} +7 -7
- package/dist/{auth-choice-5u4JonD1.js → auth-choice-upc_PcJy.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-CufnkY4K.js → banner-BE8pGhkj.js} +1 -1
- package/dist/{browser-cli-Cmyh_mQi.js → browser-cli-8URbjVyN.js} +4 -4
- package/dist/{browser-cli-n1RQ8OQs.js → browser-cli-DQ0DQymk.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-BKOIc76f.js → call-B-p451Eo.js} +1 -1
- package/dist/{call-C30ffTSt.js → call-Cspuh_Jh.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BBDX9s3H.js → channel-options-BPQpyMzn.js} +1 -1
- package/dist/{channel-options-CxOu5Gvn.js → channel-options-DEmvgalQ.js} +1 -1
- package/dist/{channel-web-DxSaM7GA.js → channel-web-Djcjl6S4.js} +8 -8
- package/dist/{channels-cli-CvtvmTOx.js → channels-cli-Cps6htRW.js} +39 -39
- package/dist/{channels-cli-CB6lWL72.js → channels-cli-Dn9ahV_w.js} +38 -38
- package/dist/{chrome-1cQdPKbv.js → chrome-BUUMKYz7.js} +8 -8
- package/dist/{chrome-CPwj5x24.js → chrome-Chj8uCZN.js} +1 -1
- package/dist/{chrome-DPu6LSX4.js → chrome-DGb_CkF8.js} +8 -8
- package/dist/{chrome-CUsfMVUk.js → chrome-XQjc7KSW.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CU_pJKCD.js → cli-Df__rsHc.js} +33 -33
- package/dist/{cli-cDOiHmL7.js → cli-atR7r3t-.js} +34 -34
- package/dist/{command-registry-D1zcgjTn.js → command-registry-Yv0ZBYYd.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-C8TsFimX.js → completion-cli-BCDS6oHd.js} +2 -2
- package/dist/{completion-cli-DWcx6gc6.js → completion-cli-Bw-2RaGe.js} +1 -1
- package/dist/{config-BLe0R4JX.js → config-BMStjqdp.js} +5 -2
- package/dist/{config-CvuX_y8t.js → config-Bh5BJYfZ.js} +5 -2
- package/dist/{config-ClXqj_D1.js → config-Crs8V2FU.js} +5 -2
- package/dist/{config-DehS9e5w.js → config-CxnbOYs8.js} +5 -2
- package/dist/{config-cli-DcjOWFbW.js → config-cli-BK-o9KUV.js} +3 -3
- package/dist/{config-cli-CEp26CMt.js → config-cli-CQJtnjeK.js} +3 -3
- package/dist/{config-guard-CGgFpviD.js → config-guard-CNwpT-bm.js} +5 -5
- package/dist/{config-guard-Ix_EcPkt.js → config-guard-DvNDqIJp.js} +2 -2
- package/dist/{config-validation-Ct_myZSl.js → config-validation-D0ku5PSk.js} +1 -1
- package/dist/{config-validation-BQnULegl.js → config-validation-g8v4CRxO.js} +1 -1
- package/dist/{configure-DbqI2Bgi.js → configure-D1fWVt_Z.js} +11 -11
- package/dist/{configure-B3aYKtwN.js → configure-D6i9bdDN.js} +11 -11
- package/dist/{control-service-CZ8lXYgi.js → control-service-B7EmYYFH.js} +4 -4
- package/dist/{control-service-DI1Do6Nn.js → control-service-BwrQoUMh.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-NJy3v3Eb.js → cron-cli-D-nqfPZ5.js} +4 -4
- package/dist/{cron-cli-BH6kt3EZ.js → cron-cli-D9nGEQiu.js} +4 -4
- package/dist/{daemon-cli-BuOGkn7L.js → daemon-cli-DJR87xEg.js} +6 -6
- package/dist/{daemon-cli-CweZn-1O.js → daemon-cli-l5oXLo3n.js} +6 -6
- package/dist/daemon-cli.js +4 -1
- package/dist/{daemon-runtime-D1K-9VEC.js → daemon-runtime-BkVgNwLi.js} +1 -1
- package/dist/{daemon-runtime-C1t_OfMD.js → daemon-runtime-D4sIbUkl.js} +1 -1
- package/dist/{deliver-D8xILUUI.js → deliver-8_lPbrcf.js} +2 -2
- package/dist/{deliver-CIc_l0o6.js → deliver-8jOk1f3v.js} +3 -3
- package/dist/{deliver-DqqfC-g1.js → deliver-C0Azi_cK.js} +3 -3
- package/dist/{deliver-BorDF5OG.js → deliver-mS1WnuiB.js} +2 -2
- package/dist/{devices-cli-BE5ZzcA7.js → devices-cli-CaK3Ausk.js} +3 -3
- package/dist/{devices-cli-BUdOf8m2.js → devices-cli-V6vhbLKq.js} +3 -3
- package/dist/{directory-cli-BBdctcDF.js → directory-cli-BmNzLgXc.js} +2 -2
- package/dist/{directory-cli-DQHIn9um.js → directory-cli-Cd9lchia.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-mCiUyfvk.js → dns-cli-BEOWeAGR.js} +2 -2
- package/dist/{dns-cli-6H_E37de.js → dns-cli-mH-jPqkH.js} +2 -2
- package/dist/{doctor-completion-CAdewURI.js → doctor-completion-CCRu96-k.js} +1 -1
- package/dist/{doctor-completion-CXUM27y3.js → doctor-completion-DblWjsvi.js} +1 -1
- package/dist/{doctor-config-flow-CthAM9my.js → doctor-config-flow-Dd6-lC3V.js} +3 -3
- package/dist/{doctor-config-flow-BWD9G2UQ.js → doctor-config-flow-Dpnvu5A2.js} +3 -3
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CjU3pZzx.js → exec-approvals-cli-Dlf9s8ne.js} +5 -5
- package/dist/{exec-approvals-cli-CYKHeoEA.js → exec-approvals-cli-lDvry8Xq.js} +5 -5
- package/dist/extensionAPI.js +18 -18
- package/dist/{gateway-cli-n-kmAuP8.js → gateway-cli-B7kUZfUu.js} +51 -51
- package/dist/{gateway-cli-Bs96hk7L.js → gateway-cli-CaelVnat.js} +52 -52
- package/dist/{gateway-rpc-CTqBFfgd.js → gateway-rpc-CCYQR5Bz.js} +1 -1
- package/dist/{gateway-rpc-0C2uJScX.js → gateway-rpc-aJiLRbJG.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-mIHlWvBv.js → glass-ui-ws-CMCfE_8I.js} +42 -42
- package/dist/{glass-ui-ws-DFYRIWTO.js → glass-ui-ws-CzHgG5_-.js} +43 -43
- package/dist/{health-gsbXEgFI.js → health-C8krNwSF.js} +5 -5
- package/dist/{health-CpbZDInE.js → health-CiMUQ2KG.js} +5 -5
- package/dist/{hooks-cli-iVG6fkFc.js → hooks-cli-C8fq5oKx.js} +34 -34
- package/dist/{hooks-cli-SJWnM2SY.js → hooks-cli-CYHfc5jB.js} +35 -35
- package/dist/{image-DrkD-6sg.js → image-BTLvoV0e.js} +3 -3
- package/dist/{image-DIzd7Gw9.js → image-CNYGLoQl.js} +3 -3
- package/dist/{image-GHA29jwQ.js → image-DCnQz5jN.js} +3 -3
- package/dist/{image-DWOvY8sR.js → image-bJzFwVE3.js} +3 -3
- package/dist/index.js +42 -42
- package/dist/{lifecycle-core-CPLYFbS4.js → lifecycle-core-C7fyJOuN.js} +2 -2
- package/dist/{lifecycle-core-CE8aXuLe.js → lifecycle-core-f8oPRRaQ.js} +2 -2
- package/dist/llm-slug-generator.js +18 -18
- package/dist/{login-BcCF4noU.js → login-BZsZO9ST.js} +2 -2
- package/dist/{login-_Ynqrjet.js → login-C2C1yAD8.js} +2 -2
- package/dist/{login-DNeGXcjV.js → login-CJf4Gdbq.js} +2 -2
- package/dist/{login-C5eMLg1G.js → login-DTkUG4Mp.js} +2 -2
- package/dist/{login-qr-DjXNemMm.js → login-qr-BSm4xrHW.js} +3 -3
- package/dist/{login-qr-E4YwhoPt.js → login-qr-C4uL0W0C.js} +3 -3
- package/dist/{login-qr-CzD7_Pru.js → login-qr-CBPis3I2.js} +3 -3
- package/dist/{login-qr-CYEYc0Vo.js → login-qr-rvsxQT5p.js} +3 -3
- package/dist/{logs-cli-CIQ4qmRW.js → logs-cli-9__MsacS.js} +4 -4
- package/dist/{logs-cli-BLp5AOM0.js → logs-cli-DJJ4_QXv.js} +4 -4
- package/dist/{manager-oQJvFR6J.js → manager-Cw42HtQ7.js} +2 -2
- package/dist/{manager-Oiy1uHsu.js → manager-D0d-bOOe.js} +2 -2
- package/dist/{manager-BmHL5ETi.js → manager-D5ZbBYmN.js} +2 -2
- package/dist/{manager-CPQ2pEj3.js → manager-DqkRhYYl.js} +2 -2
- package/dist/{memory-cli-CGRSXKeF.js → memory-cli-D5iikkSG.js} +5 -5
- package/dist/{memory-cli-BUoM-v1-.js → memory-cli-OWL3A7_N.js} +5 -5
- 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-sW2MkIv9.js → model-catalog-Dq60dweH.js} +4 -4
- package/dist/{model-catalog-DZbVIJnH.js → model-catalog-jhBOlBYp.js} +4 -4
- package/dist/{model-picker-BJBeaNrK.js → model-picker-Bsyh5aNH.js} +3 -3
- package/dist/{model-picker-DUl7Gvdh.js → model-picker-C1U-Jt0h.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-LtuCAbk5.js → models-Cyr_kMKD.js} +14 -14
- package/dist/{models-cli-DEQCqsfo.js → models-cli-Ds0-bgOC.js} +39 -39
- package/dist/{models-cli-CB2zHB3Q.js → models-cli-H_wXDrQs.js} +40 -40
- package/dist/{models-config-DT09Fas0.js → models-config-CjPV5JrE.js} +2 -2
- package/dist/{models-config-BH6-rmtt.js → models-config-vcoi9QfD.js} +2 -2
- package/dist/{node-cli-BnZT8tc-.js → node-cli-B9nJomOA.js} +10 -10
- package/dist/{node-cli-znp1IPL2.js → node-cli-DHVafAR8.js} +10 -10
- package/dist/{nodes-cli-C8L5ablK.js → nodes-cli-CyVFmnaa.js} +4 -4
- package/dist/{nodes-cli-D3bHqKX1.js → nodes-cli-fvPbfbB4.js} +4 -4
- package/dist/{onboard-Dz7lPFv1.js → onboard-B-lQ356l.js} +10 -10
- package/dist/{onboard-B725u5vG.js → onboard-BSMzd6sG.js} +10 -10
- package/dist/{onboard-channels-DjG2jZUq.js → onboard-channels-C_p8450m.js} +2 -2
- package/dist/{onboard-channels-DPb8R8S3.js → onboard-channels-CfoFMyCh.js} +2 -2
- package/dist/{onboard-custom-CFqoXgjd.js → onboard-custom-CpKrCcyH.js} +3 -3
- package/dist/{onboard-custom-in5WChfX.js → onboard-custom-DsPk-82B.js} +3 -3
- package/dist/{onboard-helpers-BmDQMRZ7.js → onboard-helpers-C9emwuya.js} +2 -2
- package/dist/{onboard-helpers-_sSsfEAa.js → onboard-helpers-DIAvDwi8.js} +2 -2
- package/dist/{onboard-remote-BeAAhzmD.js → onboard-remote-CJrAdmgq.js} +1 -1
- package/dist/{onboard-remote-CBEIs-Ew.js → onboard-remote-DQu1ERap.js} +1 -1
- package/dist/{onboard-skills-EVFmwR8Q.js → onboard-skills-BC-T_r3T.js} +2 -2
- package/dist/{onboard-skills-Bx_OM5v0.js → onboard-skills-CtX6zH5x.js} +2 -2
- package/dist/{onboarding-D-FQIiBn.js → onboarding-CCO17f35.js} +11 -11
- package/dist/{onboarding-qxWeXuGM.js → onboarding-CEg1sg-w.js} +11 -11
- package/dist/{onboarding.finalize-D_gWQwW0.js → onboarding.finalize-B0eG7XwQ.js} +39 -39
- package/dist/{onboarding.finalize-DJTQnGkJ.js → onboarding.finalize-CD7SmwyJ.js} +41 -41
- package/dist/{onboarding.gateway-config-r7VeJWM7.js → onboarding.gateway-config-Cr1fFG05.js} +5 -5
- package/dist/{onboarding.gateway-config-Boplq1Mn.js → onboarding.gateway-config-GDMTEWcW.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-DRslTBga.js → outbound-DXyOHKUR.js} +1 -1
- package/dist/{outbound-DPCAcHLQ.js → outbound-DYyGKxSZ.js} +1 -1
- package/dist/{outbound-yaYfpPTu.js → outbound-Qgo51Q1x.js} +1 -1
- package/dist/{outbound-B_cf2WkB.js → outbound-btxNyARe.js} +1 -1
- package/dist/{pairing-cli-DOMZSDiT.js → pairing-cli-DC6MUFHZ.js} +4 -4
- package/dist/{pairing-cli-DFgfVeeY.js → pairing-cli-m3BrxJoY.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-Do26xypW.js → pi-auth-json-Ba2dEWAH.js} +2 -2
- package/dist/{pi-auth-json-DV2ruNQM.js → pi-auth-json-BqB9Z6Gg.js} +1 -1
- package/dist/{pi-auth-json-CNgAAznq.js → pi-auth-json-etIDtHw9.js} +1 -1
- package/dist/{pi-embedded-BINp4yHJ.js → pi-embedded-BR587DfN.js} +266 -70
- package/dist/{pi-embedded-C6BUGEuF.js → pi-embedded-CyEM9NzS.js} +266 -70
- package/dist/{pi-embedded-helpers-jynCNZsb.js → pi-embedded-helpers-BflbNBBD.js} +1 -1
- package/dist/{pi-embedded-helpers-BDwdFGX-.js → pi-embedded-helpers-CAtkZb8c.js} +6 -6
- package/dist/{pi-embedded-helpers-Dfp-iKzJ.js → pi-embedded-helpers-KIM5SCp6.js} +6 -6
- package/dist/{pi-embedded-helpers-Cs0TgOaH.js → pi-embedded-helpers-XJw27Ryb.js} +1 -1
- package/dist/{pi-tools.policy-eb_uvOQV.js → pi-tools.policy-BJ7mumw5.js} +2 -2
- package/dist/{pi-tools.policy-vws0LV7U.js → pi-tools.policy-P1akpJL8.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-C61W5IWr.js → plugin-registry-CAuOLe4u.js} +2 -2
- package/dist/{plugin-registry-D1cKRWYQ.js → plugin-registry-gJKyJBN5.js} +2 -2
- package/dist/plugin-sdk/agents/plan-mode.d.ts +2 -1
- 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/agents/timeout.d.ts +1 -0
- package/dist/plugin-sdk/{api-key-rotation-Qy7QGV8_.js → api-key-rotation-DNKq8sDG.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CdG1OBN2.js → audio-preflight-BLIDrYdM.js} +7 -7
- package/dist/plugin-sdk/{channel-web-DFVIpsZB.js → channel-web-CmlTJ7hK.js} +7 -7
- package/dist/plugin-sdk/{chrome-XyjVFCkY.js → chrome-DZFDAzW-.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 +6 -0
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +3 -0
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +3 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +3 -0
- package/dist/plugin-sdk/{config-DG32gDDp.js → config-E1hS2lFY.js} +5 -2
- package/dist/plugin-sdk/{deliver-BdbnTrPD.js → deliver-DedoujTw.js} +2 -2
- package/dist/plugin-sdk/{image-B4_TBNqR.js → image-BTkmcfWM.js} +3 -3
- package/dist/plugin-sdk/index.js +22 -22
- package/dist/plugin-sdk/{login-Dey5tDpn.js → login-DsV1n99g.js} +2 -2
- package/dist/plugin-sdk/{login-qr-Tx8z1frn.js → login-qr-BXuSdbtI.js} +3 -3
- package/dist/plugin-sdk/{manager-RdPsBbBU.js → manager-BItSTruD.js} +2 -2
- package/dist/plugin-sdk/{model-selection-D6J2MZsj.js → model-selection-aEd_4vFO.js} +6 -2
- package/dist/plugin-sdk/{outbound-BpzsDbEV.js → outbound-2GErJr9p.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-OWtoPEg8.js → pi-embedded-helpers-ClMAnIcK.js} +6 -6
- package/dist/plugin-sdk/{pw-ai-OhVopvbb.js → pw-ai-DgQXeoga.js} +3 -3
- package/dist/plugin-sdk/{replies-DiFTMGgM.js → replies-DgHmcQJm.js} +1 -1
- package/dist/plugin-sdk/{reply-v8ed4JLy.js → reply-ByXRSx6U.js} +262 -66
- package/dist/plugin-sdk/{runner-BUXsfUip.js → runner-BZyapZ82.js} +5 -5
- package/dist/plugin-sdk/{send-CGSsrvd1.js → send-BRY1rgHy.js} +2 -2
- package/dist/plugin-sdk/{send-BXvJJUV_.js → send-BeLrD_W8.js} +1 -1
- package/dist/plugin-sdk/{send-BbFwAS_k.js → send-BmtFyMcr.js} +1 -1
- package/dist/plugin-sdk/{send-Drdgnfr_.js → send-BnQuSlC7.js} +1 -1
- package/dist/plugin-sdk/{send-DXcq1jzH.js → send-pZOlfgD0.js} +1 -1
- package/dist/plugin-sdk/{session-CX5KhlOe.js → session-Bjd4Dl7q.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-NTPqO_az.js → skill-commands-Cwps3qpb.js} +1 -1
- package/dist/plugin-sdk/{web-DfIRv_Mx.js → web-C0VbV0vu.js} +22 -22
- package/dist/plugin-sdk/{whatsapp-actions-Dh6Y2fu9.js → whatsapp-actions-ydkRfuPg.js} +3 -3
- package/dist/{plugins-cli-ClY_BPg9.js → plugins-cli-BgXKqvpz.js} +34 -34
- package/dist/{plugins-cli-UmtKEuxj.js → plugins-cli-wo480wui.js} +35 -35
- package/dist/{program-CNsuYlJt.js → program-Ce64EM2F.js} +41 -41
- package/dist/{program-context-C2XeNCxI.js → program-context-D1Aj6Hxo.js} +38 -38
- package/dist/{prompt-select-styled-CiYSpQIf.js → prompt-select-styled-DLBGvEup.js} +17 -17
- package/dist/{prompt-select-styled-CgsYQqlJ.js → prompt-select-styled-DWgtQk76.js} +17 -17
- package/dist/{provider-auth-helpers-XIYHuUnj.js → provider-auth-helpers-CVi3VrsV.js} +4 -4
- package/dist/{provider-auth-helpers-CVAbJckC.js → provider-auth-helpers-fgQMn0eD.js} +4 -4
- package/dist/{push-apns-9q7Pl5I0.js → push-apns-CckLJBvV.js} +1 -1
- package/dist/{push-apns-6y-7OuAU.js → push-apns-kn7d-4VV.js} +1 -1
- package/dist/{pw-ai-C9noP7iN.js → pw-ai-5o71PJ5h.js} +3 -3
- package/dist/{pw-ai-BdNmRxEw.js → pw-ai-C3t2kdhc.js} +3 -3
- package/dist/{pw-ai-BfUWg8Eh.js → pw-ai-D-O0LOKC.js} +3 -3
- package/dist/{pw-ai-Dnh_iopr.js → pw-ai-I8AbpqgG.js} +3 -3
- package/dist/{qr-cli-BbRZOhwI.js → qr-cli-DC0qgjHf.js} +2 -2
- package/dist/{qr-cli-Cac34dCs.js → qr-cli-iTQlujHe.js} +2 -2
- package/dist/{register.agent-Ys85zXmm.js → register.agent-B94MeV3Q.js} +43 -43
- package/dist/{register.agent-DmLJVv4N.js → register.agent-uEXUpxgu.js} +45 -45
- package/dist/{register.configure-DYuK1UkU.js → register.configure-Bv85zqz8.js} +48 -48
- package/dist/{register.configure-BwmAY5TF.js → register.configure-tHkhp6vI.js} +47 -47
- package/dist/{register.maintenance-BQa25CA8.js → register.maintenance-BICJkK4r.js} +46 -46
- package/dist/{register.maintenance-625En1kE.js → register.maintenance-DaW01sHo.js} +44 -44
- package/dist/{register.message-DKeM6mQo.js → register.message-7Or0MY88.js} +34 -34
- package/dist/{register.message-CDpK3rbI.js → register.message-CSCfumTM.js} +35 -35
- package/dist/{register.onboard-CbvkWFq5.js → register.onboard-DgC3S144.js} +42 -42
- package/dist/{register.onboard-DtMjj81J.js → register.onboard-oEy-BwfU.js} +43 -43
- package/dist/{register.setup-DdX4Ahvt.js → register.setup-BnpJJOV4.js} +42 -42
- package/dist/{register.setup-BHhLns2f.js → register.setup-hrp8DAVZ.js} +43 -43
- package/dist/{register.status-health-sessions-D1KvwnF9.js → register.status-health-sessions-BfLJEzMU.js} +38 -38
- package/dist/{register.status-health-sessions-CqMFel_o.js → register.status-health-sessions-njnukBAU.js} +40 -40
- package/dist/{register.subclis-su5EMHvC.js → register.subclis-DEYBaz-Z.js} +28 -28
- package/dist/{replies-DqyX2Vln.js → replies-B5Jh0OCP.js} +1 -1
- package/dist/{replies-DtdP8R93.js → replies-BVXZDrhw.js} +1 -1
- package/dist/{replies-zeeuLUij.js → replies-CHirod5x.js} +1 -1
- package/dist/{replies-Dzc6eCFS.js → replies-Cyt5jQaT.js} +1 -1
- package/dist/{reply-DyFibFiG.js → reply-77x5WoQH.js} +274 -78
- package/dist/{routes-CEjKic_-.js → routes-BtsprtPx.js} +3 -3
- package/dist/{routes-B7FWIw81.js → routes-D5iYXgsO.js} +3 -3
- package/dist/{rpc-CV10Y2YL.js → rpc-CjvivzOg.js} +1 -1
- package/dist/{rpc-CR9IjVRa.js → rpc-lMWCuyRt.js} +1 -1
- package/dist/{run-main-CRPU46XB.js → run-main-DNA2le87.js} +53 -53
- package/dist/{runner-BkANJiWS.js → runner-3kD2Hk1w.js} +5 -5
- package/dist/{runner-v0fS4J7T.js → runner-Bzh_L69X.js} +5 -5
- package/dist/{runner-CTglx_CV.js → runner-_npJ-cn9.js} +5 -5
- package/dist/{runner-w5reqY02.js → runner-b_ibT3sW.js} +5 -5
- package/dist/{sandbox-DTzJlbvf.js → sandbox-BBGJMpXR.js} +5 -5
- package/dist/{sandbox-BpIrSDhl.js → sandbox-CPR0wRyk.js} +5 -5
- package/dist/{sandbox-cli-R_ZOY_KC.js → sandbox-cli-BgCrevMy.js} +7 -7
- package/dist/{sandbox-cli-B4VN_9mV.js → sandbox-cli-CHOc4ElC.js} +7 -7
- package/dist/{security-cli-BMB3kCFA.js → security-cli-B7YKQ6Nh.js} +12 -12
- package/dist/{security-cli-DmpyxTgQ.js → security-cli-iW-aIZ15.js} +12 -12
- package/dist/{send-DVLEgg9H.js → send--qdaLm4C.js} +1 -1
- package/dist/{send-CRWQglv9.js → send-B26isft5.js} +1 -1
- package/dist/{send-DDrpEKUg.js → send-BAM-zeo8.js} +2 -2
- package/dist/{send-Bt4UsVrd.js → send-BVKK9mIc.js} +1 -1
- package/dist/{send-Bx04WqH5.js → send-BfoI2xoz.js} +1 -1
- package/dist/{send-hJthT6M_.js → send-Btgfdf6H.js} +1 -1
- package/dist/{send-tDTl6xgz.js → send-BxkOVx17.js} +2 -2
- package/dist/{send-CC2vm0xU.js → send-C1fiVl-C.js} +1 -1
- package/dist/{send-BLT3lTZy.js → send-C7DzVT6I.js} +1 -1
- package/dist/{send-BbV4XqMl.js → send-CNZ2iT1h.js} +1 -1
- package/dist/{send-CQzO_Tg0.js → send-CboqahSN.js} +2 -2
- package/dist/{send-DyK4u4yH.js → send-DVNiZsde.js} +1 -1
- package/dist/{send-CZ18Xq5n.js → send-DXw0_dn5.js} +1 -1
- package/dist/{send-CEjpAJ8N.js → send-DffO5_WA.js} +1 -1
- package/dist/{send-BXiiQprI.js → send-Dfohx1Dj.js} +1 -1
- package/dist/{send-EQ1insgp.js → send-Dfum4W06.js} +1 -1
- package/dist/{send-CltKx_vS.js → send-QGcGaA1o.js} +2 -2
- package/dist/{send-BR3reUOE.js → send-TtpoiB7G.js} +1 -1
- package/dist/{send-Dm4UYQsf.js → send-sS-DxRJV.js} +1 -1
- package/dist/{send-1iB7Rdwp.js → send-ytd5gZYc.js} +1 -1
- package/dist/{server-context-DbcjnRHG.js → server-context-CZZZ5S6q.js} +5 -5
- package/dist/{server-context-BcjcQhiM.js → server-context-DiCxB7wV.js} +5 -5
- package/dist/{server-methods-U_lDP83A.js → server-methods-DgHyPneM.js} +21 -18
- package/dist/{server-methods-56m79WbR.js → server-methods-alycWcYE.js} +22 -19
- package/dist/{server-node-events-DpGswbj8.js → server-node-events-B5dFQdac.js} +34 -34
- package/dist/{server-node-events-Q9J_E8Ce.js → server-node-events-BkIo___r.js} +35 -35
- package/dist/{session-1Q4kg4xp.js → session-BFbJf357.js} +1 -1
- package/dist/{session-C86mCuOs.js → session-BdWP3apT.js} +1 -1
- package/dist/{session-BvXsNdtA.js → session-CiCHQ3Ah.js} +1 -1
- package/dist/{session-B4JR6zUJ.js → session-Dg44BpS1.js} +1 -1
- package/dist/{session-utils-CFvGKxdu.js → session-utils-Cs-nCi4-.js} +4 -4
- package/dist/{sessions-B3nP13Fw.js → sessions-BF3cJslT.js} +2 -2
- package/dist/{sessions-BdeJp6uY.js → sessions-C_c07viS.js} +2 -2
- package/dist/{sessions-m60NabL_.js → sessions-RYattOnc.js} +4 -4
- package/dist/{shared-mv9M8Mzc.js → shared-BmGIQ5oj.js} +2 -2
- package/dist/{shared-sOiAK5kN.js → shared-Dg2JustZ.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-B7FG8Ft4.js → skills-cli-D9N3SSqr.js} +2 -2
- package/dist/{skills-cli-DVTw-NM0.js → skills-cli-G_0fvsIb.js} +2 -2
- package/dist/{status-D4KjZ3qi.js → status-D-gXM4AZ.js} +11 -11
- package/dist/{status-BNmYNm1S.js → status-T4y8IdyW.js} +2 -2
- package/dist/{status-DIYjr2wp.js → status-s0Mudh8o.js} +2 -2
- package/dist/{status-DbXRbJqY.js → status-yh81t6sL.js} +12 -12
- package/dist/{status.update-DKLvc9EH.js → status.update-9QVNoqzS.js} +1 -1
- package/dist/{status.update-CbXOcYqG.js → status.update-DAK4tN-2.js} +1 -1
- package/dist/{subagent-registry-Ct3GvWVn.js → subagent-registry-newoxfzs.js} +275 -79
- package/dist/{system-cli-B_KTvR0v.js → system-cli-B0oAtepa.js} +4 -4
- package/dist/{system-cli-9b3AzE_M.js → system-cli-kixN2BmA.js} +4 -4
- package/dist/{systemd-hints-BE7qhp3n.js → systemd-hints-BPRCUlOg.js} +1 -1
- package/dist/{systemd-hints-D_u4AuIu.js → systemd-hints-CRzDDf1-.js} +1 -1
- package/dist/{tui-oo_JjD-G.js → tui-CwMmsLXs.js} +16 -7
- package/dist/{tui-BViOdgFZ.js → tui-PZpjjXWo.js} +16 -7
- package/dist/{tui-cli-DKQz32oa.js → tui-cli-CU2JJJI9.js} +11 -11
- package/dist/{tui-cli-B97jQaQp.js → tui-cli-PTM4Eps5.js} +11 -11
- package/dist/{update-cli-Dhk0Yxsm.js → update-cli-B1dB4WdO.js} +47 -47
- package/dist/{update-cli-C9S00L1E.js → update-cli-BQdfZeXu.js} +49 -49
- package/dist/{update-runner-DBZOvTzN.js → update-runner-DKzlPMRC.js} +1 -1
- package/dist/{update-runner-BnIIcsqA.js → update-runner-HJhfkubt.js} +1 -1
- package/dist/{web-mXHyxR_l.js → web-BnH0qf_8.js} +21 -21
- package/dist/{web-f7lkf_un.js → web-CQzdHGhF.js} +21 -21
- package/dist/{web-8NQJ75ip.js → web-CScA06_W.js} +37 -37
- package/dist/{web-5uLk4OEM.js → web-DTIV3Lgo.js} +37 -37
- package/dist/{webhooks-cli-BLi_usfE.js → webhooks-cli-B97uWTaD.js} +2 -2
- package/dist/{webhooks-cli-Dz9n2L0-.js → webhooks-cli-CAHebfVz.js} +2 -2
- package/dist/{whatsapp-actions-ChtHuvdU.js → whatsapp-actions-BgiS8DUJ.js} +3 -3
- package/dist/{whatsapp-actions-6S6PNs2p.js → whatsapp-actions-BsVCZeLO.js} +3 -3
- package/dist/{whatsapp-actions-B4YPuD2Q.js → whatsapp-actions-DfJHCjBV.js} +3 -3
- package/dist/{whatsapp-actions-M8kjDd9l.js → whatsapp-actions-xhdGIJBd.js} +3 -3
- package/dist/{with-timeout-2zPYOOzh.js → with-timeout-C0euAxXp.js} +1 -1
- package/dist/{with-timeout-gaHpaiis.js → with-timeout-CiGZZ4b2.js} +1 -1
- package/docs/reference/templates/SYMIPULSE.md +1 -0
- 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-DXw0_dn5.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-CNZ2iT1h.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-8_lPbrcf.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-QGcGaA1o.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-CAtkZb8c.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-Crs8V2FU.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-BUUMKYz7.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 { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-
|
|
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-BTLvoV0e.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-_npJ-cn9.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--qdaLm4C.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-sS-DxRJV.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-Cyt5jQaT.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";
|
|
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
79
79
|
import AjvPkg from "ajv";
|
|
80
80
|
import { createServer } from "node:http";
|
|
81
81
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
82
|
-
import WebSocket
|
|
82
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
83
83
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
84
84
|
import { createJiti } from "jiti";
|
|
85
85
|
import { Type } from "@sinclair/typebox";
|
|
@@ -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 {
|
|
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
|
|
|
5714
5714
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5715
5715
|
});
|
|
5716
5716
|
}
|
|
5717
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
5717
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
5718
5718
|
this.ws.on("open", () => {
|
|
5719
5719
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5720
5720
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
|
|
|
5933
5933
|
return null;
|
|
5934
5934
|
}
|
|
5935
5935
|
async request(method, params, opts) {
|
|
5936
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
5936
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
5937
5937
|
const id = randomUUID();
|
|
5938
5938
|
const frame = {
|
|
5939
5939
|
type: "req",
|
|
@@ -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-8_lPbrcf.js").then((n) => n.n);
|
|
7203
7203
|
return {
|
|
7204
7204
|
ok: true,
|
|
7205
7205
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -8997,6 +8997,8 @@ function resolveAgentTimeoutMs(opts) {
|
|
|
8997
8997
|
if (overrideSeconds < 0) return defaultMs;
|
|
8998
8998
|
return clampTimeoutMs(overrideSeconds * 1e3);
|
|
8999
8999
|
}
|
|
9000
|
+
const modelSeconds = normalizeNumber(opts.modelTimeoutSeconds);
|
|
9001
|
+
if (modelSeconds !== void 0 && modelSeconds > 0) return clampTimeoutMs(modelSeconds * 1e3);
|
|
9000
9002
|
return defaultMs;
|
|
9001
9003
|
}
|
|
9002
9004
|
|
|
@@ -12652,7 +12654,7 @@ async function createModelSelectionState(params) {
|
|
|
12652
12654
|
}
|
|
12653
12655
|
}
|
|
12654
12656
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
12655
|
-
const { ensureAuthProfileStore } = await import("./model-selection
|
|
12657
|
+
const { ensureAuthProfileStore } = await import("./model-selection-DBPwoBvb.js").then((n) => n.N);
|
|
12656
12658
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
12657
12659
|
const providerKey = normalizeProviderId(provider);
|
|
12658
12660
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -21456,8 +21458,8 @@ function buildMemorySection(params) {
|
|
|
21456
21458
|
lines.push("");
|
|
21457
21459
|
return lines;
|
|
21458
21460
|
}
|
|
21459
|
-
function buildUserIdentitySection(ownerLine, isMinimal) {
|
|
21460
|
-
if (!ownerLine || isMinimal) return [];
|
|
21461
|
+
function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
|
|
21462
|
+
if (!ownerLine || isMinimal || isCoding) return [];
|
|
21461
21463
|
return [
|
|
21462
21464
|
"## Authorized Senders",
|
|
21463
21465
|
ownerLine,
|
|
@@ -21481,8 +21483,8 @@ function buildTimeSection(params) {
|
|
|
21481
21483
|
""
|
|
21482
21484
|
];
|
|
21483
21485
|
}
|
|
21484
|
-
function buildReplyTagsSection(isMinimal) {
|
|
21485
|
-
if (isMinimal) return [];
|
|
21486
|
+
function buildReplyTagsSection(isMinimal, isCoding) {
|
|
21487
|
+
if (isMinimal || isCoding) return [];
|
|
21486
21488
|
return [
|
|
21487
21489
|
"## Reply Tags",
|
|
21488
21490
|
"To request a native reply/quote on supported surfaces, include one tag in your reply:",
|
|
@@ -21495,7 +21497,7 @@ function buildReplyTagsSection(isMinimal) {
|
|
|
21495
21497
|
];
|
|
21496
21498
|
}
|
|
21497
21499
|
function buildMessagingSection(params) {
|
|
21498
|
-
if (params.isMinimal) return [];
|
|
21500
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
21499
21501
|
return [
|
|
21500
21502
|
"## Messaging",
|
|
21501
21503
|
"- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
|
|
@@ -21518,7 +21520,7 @@ function buildMessagingSection(params) {
|
|
|
21518
21520
|
];
|
|
21519
21521
|
}
|
|
21520
21522
|
function buildVoiceSection(params) {
|
|
21521
|
-
if (params.isMinimal) return [];
|
|
21523
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
21522
21524
|
const hint = params.ttsHint?.trim();
|
|
21523
21525
|
if (!hint) return [];
|
|
21524
21526
|
return [
|
|
@@ -21527,6 +21529,71 @@ function buildVoiceSection(params) {
|
|
|
21527
21529
|
""
|
|
21528
21530
|
];
|
|
21529
21531
|
}
|
|
21532
|
+
function buildVerifyYourWorkSection(params) {
|
|
21533
|
+
if (params.isMinimal) return [];
|
|
21534
|
+
const exec = params.execToolName;
|
|
21535
|
+
const read = params.readToolName;
|
|
21536
|
+
return [
|
|
21537
|
+
"## Verify Your Work",
|
|
21538
|
+
[
|
|
21539
|
+
"Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
|
|
21540
|
+
"Skipping verification is the single most common cause of incomplete or broken outputs.",
|
|
21541
|
+
"Treat this section as mandatory for every coding task, not optional polish."
|
|
21542
|
+
].join(" "),
|
|
21543
|
+
"",
|
|
21544
|
+
"### 1. Re-read the request",
|
|
21545
|
+
[
|
|
21546
|
+
"Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
|
|
21547
|
+
"Extract every discrete requirement, constraint, and preference they stated.",
|
|
21548
|
+
"Write them down internally as a checklist.",
|
|
21549
|
+
"This catches drift: it is easy to start solving a related-but-different problem mid-task."
|
|
21550
|
+
].join(" "),
|
|
21551
|
+
"",
|
|
21552
|
+
"### 2. Check each requirement against your output",
|
|
21553
|
+
[
|
|
21554
|
+
"Walk through your internal checklist point by point.",
|
|
21555
|
+
"For each requirement, locate the exact lines in your output that satisfy it.",
|
|
21556
|
+
"If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
|
|
21557
|
+
"Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
|
|
21558
|
+
].join(" "),
|
|
21559
|
+
"",
|
|
21560
|
+
"### 3. Run the code",
|
|
21561
|
+
[
|
|
21562
|
+
`Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
|
|
21563
|
+
"Do not guess whether code works — execute it and observe the result.",
|
|
21564
|
+
"If the code produces errors, fix them and re-run until it succeeds.",
|
|
21565
|
+
"For scripts: run them with representative inputs.",
|
|
21566
|
+
"For libraries/modules: write and execute a minimal smoke test.",
|
|
21567
|
+
"For config files: validate syntax (e.g., json, yaml, toml parsers).",
|
|
21568
|
+
"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."
|
|
21569
|
+
].join(" "),
|
|
21570
|
+
"",
|
|
21571
|
+
"### 4. Include tests when requested",
|
|
21572
|
+
[
|
|
21573
|
+
"If the user asked for tests, they are a hard requirement — not a nice-to-have.",
|
|
21574
|
+
"Deliver the tests alongside the implementation, not as an afterthought.",
|
|
21575
|
+
"Run the tests and confirm they pass before responding.",
|
|
21576
|
+
"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."
|
|
21577
|
+
].join(" "),
|
|
21578
|
+
"",
|
|
21579
|
+
"### 5. Self-review",
|
|
21580
|
+
[
|
|
21581
|
+
`After everything above, use ${read} to re-read any files you created or modified.`,
|
|
21582
|
+
"Look at them with fresh eyes as if reviewing someone else's code.",
|
|
21583
|
+
"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).",
|
|
21584
|
+
"If you find problems during self-review, fix them, re-run verification, and only then respond."
|
|
21585
|
+
].join(" "),
|
|
21586
|
+
"",
|
|
21587
|
+
"### Verification failures",
|
|
21588
|
+
[
|
|
21589
|
+
"If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
|
|
21590
|
+
"Instead, fix the issue silently and re-verify.",
|
|
21591
|
+
"The user should receive working, complete output — not a draft with known issues.",
|
|
21592
|
+
"Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
|
|
21593
|
+
].join(" "),
|
|
21594
|
+
""
|
|
21595
|
+
];
|
|
21596
|
+
}
|
|
21530
21597
|
function buildDocsSection(params) {
|
|
21531
21598
|
const docsPath = params.docsPath?.trim();
|
|
21532
21599
|
if (!docsPath || params.isMinimal) return [];
|
|
@@ -21651,6 +21718,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
21651
21718
|
const messageChannelOptions = listDeliverableMessageChannels().join("|");
|
|
21652
21719
|
const promptMode = params.promptMode ?? "full";
|
|
21653
21720
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
21721
|
+
const isCoding = promptMode === "coding";
|
|
21654
21722
|
const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
|
|
21655
21723
|
const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
|
|
21656
21724
|
const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
|
|
@@ -21727,19 +21795,19 @@ function buildAgentSystemPrompt(params) {
|
|
|
21727
21795
|
"",
|
|
21728
21796
|
...skillsSection,
|
|
21729
21797
|
...memorySection,
|
|
21730
|
-
hasGateway && !isMinimal ? "## Symi Self-Update" : "",
|
|
21731
|
-
hasGateway && !isMinimal ? [
|
|
21798
|
+
hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
|
|
21799
|
+
hasGateway && !isMinimal && !isCoding ? [
|
|
21732
21800
|
"Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
|
|
21733
21801
|
"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
21802
|
"Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
|
|
21735
21803
|
"After restart, Symi pings the last active session automatically."
|
|
21736
21804
|
].join("\n") : "",
|
|
21737
|
-
hasGateway && !isMinimal ? "" : "",
|
|
21805
|
+
hasGateway && !isMinimal && !isCoding ? "" : "",
|
|
21738
21806
|
"",
|
|
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 ? "" : "",
|
|
21807
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
|
|
21808
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
|
|
21809
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
|
|
21810
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
|
|
21743
21811
|
userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
|
|
21744
21812
|
"## Workspace",
|
|
21745
21813
|
`Your working directory is: ${displayWorkspaceDir}`,
|
|
@@ -21747,6 +21815,11 @@ function buildAgentSystemPrompt(params) {
|
|
|
21747
21815
|
...workspaceNotes,
|
|
21748
21816
|
"",
|
|
21749
21817
|
...docsSection,
|
|
21818
|
+
...buildVerifyYourWorkSection({
|
|
21819
|
+
isMinimal,
|
|
21820
|
+
execToolName,
|
|
21821
|
+
readToolName
|
|
21822
|
+
}),
|
|
21750
21823
|
params.sandboxInfo?.enabled ? "## Sandbox" : "",
|
|
21751
21824
|
params.sandboxInfo?.enabled ? [
|
|
21752
21825
|
"You are running in a sandboxed runtime (tools execute in Docker).",
|
|
@@ -21764,14 +21837,15 @@ function buildAgentSystemPrompt(params) {
|
|
|
21764
21837
|
params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
|
|
21765
21838
|
].filter(Boolean).join("\n") : "",
|
|
21766
21839
|
params.sandboxInfo?.enabled ? "" : "",
|
|
21767
|
-
...buildUserIdentitySection(ownerLine, isMinimal),
|
|
21840
|
+
...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
|
|
21768
21841
|
...buildTimeSection({ userTimezone }),
|
|
21769
21842
|
"## Workspace Files (injected)",
|
|
21770
21843
|
"These user-editable files are loaded by Symi and included below in Project Context.",
|
|
21771
21844
|
"",
|
|
21772
|
-
...buildReplyTagsSection(isMinimal),
|
|
21845
|
+
...buildReplyTagsSection(isMinimal, isCoding),
|
|
21773
21846
|
...buildMessagingSection({
|
|
21774
21847
|
isMinimal,
|
|
21848
|
+
isCoding,
|
|
21775
21849
|
availableTools,
|
|
21776
21850
|
messageChannelOptions,
|
|
21777
21851
|
inlineButtonsEnabled,
|
|
@@ -21780,6 +21854,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
21780
21854
|
}),
|
|
21781
21855
|
...buildVoiceSection({
|
|
21782
21856
|
isMinimal,
|
|
21857
|
+
isCoding,
|
|
21783
21858
|
ttsHint: params.ttsHint
|
|
21784
21859
|
})
|
|
21785
21860
|
];
|
|
@@ -21819,8 +21894,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
21819
21894
|
lines.push("");
|
|
21820
21895
|
for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
|
|
21821
21896
|
}
|
|
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.", "");
|
|
21897
|
+
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}`, "");
|
|
21898
|
+
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
21899
|
lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
|
|
21825
21900
|
return lines.filter(Boolean).join("\n");
|
|
21826
21901
|
}
|
|
@@ -41572,7 +41647,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41572
41647
|
return;
|
|
41573
41648
|
}
|
|
41574
41649
|
try {
|
|
41575
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41650
|
+
const { deliverOutboundPayloads } = await import("./deliver-8_lPbrcf.js").then((n) => n.n);
|
|
41576
41651
|
await deliverOutboundPayloads({
|
|
41577
41652
|
cfg: params.cfg,
|
|
41578
41653
|
channel,
|
|
@@ -42224,9 +42299,12 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
42224
42299
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
42225
42300
|
})).dir;
|
|
42226
42301
|
const agentDir = resolveAgentDir(cfg, agentId);
|
|
42302
|
+
const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
|
|
42303
|
+
const modelTimeoutSeconds = primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0;
|
|
42227
42304
|
const timeoutMs = resolveAgentTimeoutMs({
|
|
42228
42305
|
cfg,
|
|
42229
|
-
overrideSeconds: opts?.timeoutOverrideSeconds
|
|
42306
|
+
overrideSeconds: opts?.timeoutOverrideSeconds,
|
|
42307
|
+
modelTimeoutSeconds: modelTimeoutSeconds ?? null
|
|
42230
42308
|
});
|
|
42231
42309
|
const configuredTypingSeconds = agentCfg?.typingIntervalSeconds ?? sessionCfg?.typingIntervalSeconds;
|
|
42232
42310
|
const typingIntervalSeconds = typeof configuredTypingSeconds === "number" ? configuredTypingSeconds : 6;
|
|
@@ -45015,7 +45093,7 @@ async function describeStickerImage(params) {
|
|
|
45015
45093
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
45016
45094
|
try {
|
|
45017
45095
|
const buffer = await fs$1.readFile(imagePath);
|
|
45018
|
-
const { describeImageWithModel } = await import("./image-
|
|
45096
|
+
const { describeImageWithModel } = await import("./image-BTLvoV0e.js").then((n) => n.n);
|
|
45019
45097
|
return (await describeImageWithModel({
|
|
45020
45098
|
buffer,
|
|
45021
45099
|
fileName: "sticker.webp",
|
|
@@ -45438,7 +45516,7 @@ function createWhatsAppLoginTool() {
|
|
|
45438
45516
|
force: Type.Optional(Type.Boolean())
|
|
45439
45517
|
}),
|
|
45440
45518
|
execute: async (_toolCallId, args) => {
|
|
45441
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
45519
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C4uL0W0C.js");
|
|
45442
45520
|
if ((args?.action ?? "start") === "wait") {
|
|
45443
45521
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
45444
45522
|
return {
|
|
@@ -47677,7 +47755,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47677
47755
|
let preflightTranscript;
|
|
47678
47756
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47679
47757
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47680
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47758
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
|
|
47681
47759
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47682
47760
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47683
47761
|
ctx: {
|
|
@@ -51683,27 +51761,27 @@ function isVoiceChannelType(type) {
|
|
|
51683
51761
|
function createDefaultDeps() {
|
|
51684
51762
|
return {
|
|
51685
51763
|
sendMessageWhatsApp: async (...args) => {
|
|
51686
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51764
|
+
const { sendMessageWhatsApp } = await import("./web-BnH0qf_8.js");
|
|
51687
51765
|
return await sendMessageWhatsApp(...args);
|
|
51688
51766
|
},
|
|
51689
51767
|
sendMessageTelegram: async (...args) => {
|
|
51690
|
-
const { sendMessageTelegram } = await import("./send-
|
|
51768
|
+
const { sendMessageTelegram } = await import("./send-QGcGaA1o.js").then((n) => n.l);
|
|
51691
51769
|
return await sendMessageTelegram(...args);
|
|
51692
51770
|
},
|
|
51693
51771
|
sendMessageDiscord: async (...args) => {
|
|
51694
|
-
const { sendMessageDiscord } = await import("./send-
|
|
51772
|
+
const { sendMessageDiscord } = await import("./send-CNZ2iT1h.js").then((n) => n.t);
|
|
51695
51773
|
return await sendMessageDiscord(...args);
|
|
51696
51774
|
},
|
|
51697
51775
|
sendMessageSlack: async (...args) => {
|
|
51698
|
-
const { sendMessageSlack } = await import("./send-
|
|
51776
|
+
const { sendMessageSlack } = await import("./send-DXw0_dn5.js").then((n) => n.n);
|
|
51699
51777
|
return await sendMessageSlack(...args);
|
|
51700
51778
|
},
|
|
51701
51779
|
sendMessageSignal: async (...args) => {
|
|
51702
|
-
const { sendMessageSignal } = await import("./send
|
|
51780
|
+
const { sendMessageSignal } = await import("./send--qdaLm4C.js").then((n) => n.i);
|
|
51703
51781
|
return await sendMessageSignal(...args);
|
|
51704
51782
|
},
|
|
51705
51783
|
sendMessageIMessage: async (...args) => {
|
|
51706
|
-
const { sendMessageIMessage } = await import("./send-
|
|
51784
|
+
const { sendMessageIMessage } = await import("./send-sS-DxRJV.js").then((n) => n.n);
|
|
51707
51785
|
return await sendMessageIMessage(...args);
|
|
51708
51786
|
}
|
|
51709
51787
|
};
|
|
@@ -52183,9 +52261,11 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
|
|
|
52183
52261
|
const isSubagentLane = (typeof opts.lane === "string" ? opts.lane.trim() : "") === String(AGENT_LANE_SUBAGENT);
|
|
52184
52262
|
const timeoutSecondsRaw = opts.timeout !== void 0 ? Number.parseInt(String(opts.timeout), 10) : isSubagentLane ? 0 : void 0;
|
|
52185
52263
|
if (timeoutSecondsRaw !== void 0 && (Number.isNaN(timeoutSecondsRaw) || timeoutSecondsRaw < 0)) throw new Error("--timeout must be a non-negative integer (seconds; 0 means no timeout)");
|
|
52264
|
+
const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
|
|
52186
52265
|
const timeoutMs = resolveAgentTimeoutMs({
|
|
52187
52266
|
cfg,
|
|
52188
|
-
overrideSeconds: timeoutSecondsRaw
|
|
52267
|
+
overrideSeconds: timeoutSecondsRaw,
|
|
52268
|
+
modelTimeoutSeconds: (primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0) ?? null
|
|
52189
52269
|
});
|
|
52190
52270
|
const { sessionId, sessionKey, sessionEntry: resolvedSessionEntry, sessionStore, storePath, isNewSession, persistedThinking, persistedVerbose } = resolveSession({
|
|
52191
52271
|
cfg,
|
|
@@ -54587,7 +54667,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
54587
54667
|
super(options);
|
|
54588
54668
|
}
|
|
54589
54669
|
createWebSocket(url) {
|
|
54590
|
-
return new WebSocket
|
|
54670
|
+
return new WebSocket(url, { agent });
|
|
54591
54671
|
}
|
|
54592
54672
|
}
|
|
54593
54673
|
return new ProxyGatewayPlugin();
|
|
@@ -62129,7 +62209,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
62129
62209
|
}
|
|
62130
62210
|
let commandsRegistry;
|
|
62131
62211
|
async function getCommandsRegistry() {
|
|
62132
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
62212
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DN93gKlx.js").then((n) => n.n);
|
|
62133
62213
|
return commandsRegistry;
|
|
62134
62214
|
}
|
|
62135
62215
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -62532,7 +62612,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62532
62612
|
});
|
|
62533
62613
|
const deliverSlashPayloads = async (replies) => {
|
|
62534
62614
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
62535
|
-
import("./replies-
|
|
62615
|
+
import("./replies-Cyt5jQaT.js").then((n) => n.r),
|
|
62536
62616
|
import("./chunk-DTMTDXwE.js").then((n) => n.s),
|
|
62537
62617
|
import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
|
|
62538
62618
|
]);
|
|
@@ -62587,7 +62667,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62587
62667
|
let nativeCommands = [];
|
|
62588
62668
|
if (nativeEnabled) {
|
|
62589
62669
|
reg = await getCommandsRegistry();
|
|
62590
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
62670
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C_ZNSYNS.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
62591
62671
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
62592
62672
|
skillCommands,
|
|
62593
62673
|
provider: "slack"
|
|
@@ -64805,7 +64885,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64805
64885
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64806
64886
|
let preflightTranscript;
|
|
64807
64887
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64808
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64888
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
|
|
64809
64889
|
preflightTranscript = await transcribeFirstAudio({
|
|
64810
64890
|
ctx: {
|
|
64811
64891
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66950,23 +67030,23 @@ let webLoginQrPromise = null;
|
|
|
66950
67030
|
let webChannelPromise = null;
|
|
66951
67031
|
let whatsappActionsPromise = null;
|
|
66952
67032
|
function loadWebOutbound() {
|
|
66953
|
-
webOutboundPromise ??= import("./outbound-
|
|
67033
|
+
webOutboundPromise ??= import("./outbound-DXyOHKUR.js").then((n) => n.t);
|
|
66954
67034
|
return webOutboundPromise;
|
|
66955
67035
|
}
|
|
66956
67036
|
function loadWebLogin() {
|
|
66957
|
-
webLoginPromise ??= import("./login-
|
|
67037
|
+
webLoginPromise ??= import("./login-C2C1yAD8.js").then((n) => n.n);
|
|
66958
67038
|
return webLoginPromise;
|
|
66959
67039
|
}
|
|
66960
67040
|
function loadWebLoginQr() {
|
|
66961
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
67041
|
+
webLoginQrPromise ??= import("./login-qr-C4uL0W0C.js");
|
|
66962
67042
|
return webLoginQrPromise;
|
|
66963
67043
|
}
|
|
66964
67044
|
function loadWebChannel() {
|
|
66965
|
-
webChannelPromise ??= import("./web-
|
|
67045
|
+
webChannelPromise ??= import("./web-BnH0qf_8.js");
|
|
66966
67046
|
return webChannelPromise;
|
|
66967
67047
|
}
|
|
66968
67048
|
function loadWhatsAppActions() {
|
|
66969
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
67049
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BsVCZeLO.js");
|
|
66970
67050
|
return whatsappActionsPromise;
|
|
66971
67051
|
}
|
|
66972
67052
|
function createPluginRuntime() {
|
|
@@ -72274,7 +72354,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
72274
72354
|
config: params.config
|
|
72275
72355
|
});
|
|
72276
72356
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
72277
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
72357
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
72278
72358
|
const docsPath = await resolveSymiDocsPath({
|
|
72279
72359
|
workspaceDir: effectiveWorkspace,
|
|
72280
72360
|
argv1: process.argv[1],
|
|
@@ -72514,6 +72594,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
|
|
|
72514
72594
|
const streamParams = {};
|
|
72515
72595
|
if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
|
|
72516
72596
|
if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
|
|
72597
|
+
if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
|
|
72598
|
+
if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
|
|
72599
|
+
if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
|
|
72517
72600
|
const cacheRetention = resolveCacheRetention(extraParams, provider);
|
|
72518
72601
|
if (cacheRetention) streamParams.cacheRetention = cacheRetention;
|
|
72519
72602
|
if (Object.keys(streamParams).length === 0) return;
|
|
@@ -74842,7 +74925,7 @@ function scorePlanComplexity(prompt) {
|
|
|
74842
74925
|
if ([...PLAN_KEYWORDS, ...ANALYSIS_KEYWORDS].some((kw) => lower.includes(kw)) || FILE_PATH_RE.test(prompt)) score += 3;
|
|
74843
74926
|
}
|
|
74844
74927
|
const numberedItems = prompt.match(NUMBERED_LIST_RE);
|
|
74845
|
-
if (numberedItems && numberedItems.length >=
|
|
74928
|
+
if (numberedItems && numberedItems.length >= 6) score += 2;
|
|
74846
74929
|
for (const kw of PLAN_KEYWORDS) if (lower.includes(kw)) {
|
|
74847
74930
|
score += 2;
|
|
74848
74931
|
break;
|
|
@@ -74859,7 +74942,7 @@ function scorePlanComplexity(prompt) {
|
|
|
74859
74942
|
}
|
|
74860
74943
|
return score;
|
|
74861
74944
|
}
|
|
74862
|
-
const PLAN_MODE_THRESHOLD =
|
|
74945
|
+
const PLAN_MODE_THRESHOLD = 8;
|
|
74863
74946
|
/**
|
|
74864
74947
|
* Determine whether a prompt should trigger plan mode.
|
|
74865
74948
|
*
|
|
@@ -74894,14 +74977,15 @@ function shouldEnterPlanMode(prompt, opts = {}) {
|
|
|
74894
74977
|
score: 0
|
|
74895
74978
|
};
|
|
74896
74979
|
const score = scorePlanComplexity(trimmed);
|
|
74897
|
-
|
|
74980
|
+
const threshold = opts.threshold ?? PLAN_MODE_THRESHOLD;
|
|
74981
|
+
if (score >= threshold) return {
|
|
74898
74982
|
enter: true,
|
|
74899
|
-
reason: `complexity score ${score} >= ${
|
|
74983
|
+
reason: `complexity score ${score} >= ${threshold}`,
|
|
74900
74984
|
score
|
|
74901
74985
|
};
|
|
74902
74986
|
return {
|
|
74903
74987
|
enter: false,
|
|
74904
|
-
reason: `complexity score ${score} < ${
|
|
74988
|
+
reason: `complexity score ${score} < ${threshold}`,
|
|
74905
74989
|
score
|
|
74906
74990
|
};
|
|
74907
74991
|
}
|
|
@@ -75794,7 +75878,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
75794
75878
|
}
|
|
75795
75879
|
});
|
|
75796
75880
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
75797
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
75881
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
75798
75882
|
const docsPath = await resolveSymiDocsPath({
|
|
75799
75883
|
workspaceDir: effectiveWorkspace,
|
|
75800
75884
|
argv1: process.argv[1],
|
|
@@ -76191,7 +76275,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
76191
76275
|
{
|
|
76192
76276
|
const planResult = shouldEnterPlanMode(effectivePrompt, {
|
|
76193
76277
|
isSubagent: isSubagentSessionKey(params.sessionKey),
|
|
76194
|
-
isCron: isCronSessionKey(params.sessionKey)
|
|
76278
|
+
isCron: isCronSessionKey(params.sessionKey),
|
|
76279
|
+
threshold: params.config?.agents?.defaults?.planModeThreshold
|
|
76195
76280
|
});
|
|
76196
76281
|
if (planResult.enter) {
|
|
76197
76282
|
if (planResult.stripped != null) effectivePrompt = planResult.stripped;
|
|
@@ -76809,6 +76894,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
76809
76894
|
let lastRunPromptUsage;
|
|
76810
76895
|
let autoCompactionCount = 0;
|
|
76811
76896
|
let runLoopIterations = 0;
|
|
76897
|
+
let verificationPassCompleted = false;
|
|
76812
76898
|
try {
|
|
76813
76899
|
while (true) {
|
|
76814
76900
|
if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
|
|
@@ -77178,6 +77264,116 @@ async function runEmbeddedPiAgent(params) {
|
|
|
77178
77264
|
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
77179
77265
|
inlineToolResultsAllowed: false
|
|
77180
77266
|
});
|
|
77267
|
+
if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
|
|
77268
|
+
const CODE_TOOL_NAMES = new Set([
|
|
77269
|
+
"exec",
|
|
77270
|
+
"bash",
|
|
77271
|
+
"write",
|
|
77272
|
+
"edit",
|
|
77273
|
+
"file_write",
|
|
77274
|
+
"file_edit",
|
|
77275
|
+
"write_file",
|
|
77276
|
+
"edit_file",
|
|
77277
|
+
"create_file",
|
|
77278
|
+
"patch"
|
|
77279
|
+
]);
|
|
77280
|
+
const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
|
|
77281
|
+
const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
|
|
77282
|
+
if (hasCodeToolUsage || hasCodeBlocks) {
|
|
77283
|
+
verificationPassCompleted = true;
|
|
77284
|
+
log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
|
|
77285
|
+
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.";
|
|
77286
|
+
try {
|
|
77287
|
+
const verifyAttempt = await runEmbeddedAttempt({
|
|
77288
|
+
sessionId: params.sessionId,
|
|
77289
|
+
sessionKey: params.sessionKey,
|
|
77290
|
+
messageChannel: params.messageChannel,
|
|
77291
|
+
messageProvider: params.messageProvider,
|
|
77292
|
+
agentAccountId: params.agentAccountId,
|
|
77293
|
+
messageTo: params.messageTo,
|
|
77294
|
+
messageThreadId: params.messageThreadId,
|
|
77295
|
+
groupId: params.groupId,
|
|
77296
|
+
groupChannel: params.groupChannel,
|
|
77297
|
+
groupSpace: params.groupSpace,
|
|
77298
|
+
spawnedBy: params.spawnedBy,
|
|
77299
|
+
senderIsOwner: params.senderIsOwner,
|
|
77300
|
+
currentChannelId: params.currentChannelId,
|
|
77301
|
+
currentThreadTs: params.currentThreadTs,
|
|
77302
|
+
replyToMode: params.replyToMode,
|
|
77303
|
+
hasRepliedRef: params.hasRepliedRef,
|
|
77304
|
+
sessionFile: params.sessionFile,
|
|
77305
|
+
workspaceDir: resolvedWorkspace,
|
|
77306
|
+
agentDir,
|
|
77307
|
+
config: params.config,
|
|
77308
|
+
skillsSnapshot: params.skillsSnapshot,
|
|
77309
|
+
prompt: verificationPrompt,
|
|
77310
|
+
images: void 0,
|
|
77311
|
+
disableTools: params.disableTools,
|
|
77312
|
+
provider,
|
|
77313
|
+
modelId,
|
|
77314
|
+
model,
|
|
77315
|
+
authStorage,
|
|
77316
|
+
modelRegistry,
|
|
77317
|
+
agentId: workspaceResolution.agentId,
|
|
77318
|
+
thinkLevel,
|
|
77319
|
+
verboseLevel: params.verboseLevel,
|
|
77320
|
+
reasoningLevel: params.reasoningLevel,
|
|
77321
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
77322
|
+
execOverrides: params.execOverrides,
|
|
77323
|
+
bashElevated: params.bashElevated,
|
|
77324
|
+
timeoutMs: params.timeoutMs,
|
|
77325
|
+
runId: params.runId,
|
|
77326
|
+
abortSignal: params.abortSignal,
|
|
77327
|
+
shouldEmitToolResult: params.shouldEmitToolResult,
|
|
77328
|
+
shouldEmitToolOutput: params.shouldEmitToolOutput,
|
|
77329
|
+
onPartialReply: params.onPartialReply,
|
|
77330
|
+
onAssistantMessageStart: params.onAssistantMessageStart,
|
|
77331
|
+
onBlockReply: params.onBlockReply,
|
|
77332
|
+
onBlockReplyFlush: params.onBlockReplyFlush,
|
|
77333
|
+
blockReplyBreak: params.blockReplyBreak,
|
|
77334
|
+
blockReplyChunking: params.blockReplyChunking,
|
|
77335
|
+
onReasoningStream: params.onReasoningStream,
|
|
77336
|
+
onReasoningEnd: params.onReasoningEnd,
|
|
77337
|
+
onToolResult: params.onToolResult,
|
|
77338
|
+
onAgentEvent: params.onAgentEvent,
|
|
77339
|
+
extraSystemPrompt: params.extraSystemPrompt,
|
|
77340
|
+
inputProvenance: params.inputProvenance,
|
|
77341
|
+
streamParams: params.streamParams,
|
|
77342
|
+
ownerNumbers: params.ownerNumbers,
|
|
77343
|
+
enforceFinalTag: params.enforceFinalTag
|
|
77344
|
+
});
|
|
77345
|
+
const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
|
|
77346
|
+
mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
|
|
77347
|
+
if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
|
|
77348
|
+
const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
|
|
77349
|
+
const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
|
|
77350
|
+
if (verifyHasToolUsage || verifyHasContent) {
|
|
77351
|
+
const verifyPayloads = buildEmbeddedRunPayloads({
|
|
77352
|
+
assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
|
|
77353
|
+
toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
|
|
77354
|
+
lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
|
|
77355
|
+
lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
|
|
77356
|
+
config: params.config,
|
|
77357
|
+
sessionKey: params.sessionKey ?? params.sessionId,
|
|
77358
|
+
provider: activeErrorContext.provider,
|
|
77359
|
+
model: activeErrorContext.model,
|
|
77360
|
+
verboseLevel: params.verboseLevel,
|
|
77361
|
+
reasoningLevel: params.reasoningLevel,
|
|
77362
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
77363
|
+
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
77364
|
+
inlineToolResultsAllowed: false
|
|
77365
|
+
});
|
|
77366
|
+
if (verifyPayloads.length > 0) {
|
|
77367
|
+
payloads.length = 0;
|
|
77368
|
+
payloads.push(...verifyPayloads);
|
|
77369
|
+
}
|
|
77370
|
+
log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
|
|
77371
|
+
} else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
|
|
77372
|
+
} catch (verifyErr) {
|
|
77373
|
+
log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
|
|
77374
|
+
}
|
|
77375
|
+
}
|
|
77376
|
+
}
|
|
77181
77377
|
if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
|
|
77182
77378
|
payloads: [{
|
|
77183
77379
|
text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",
|