@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { $t as triggerInternalHook, A as normalizeChannelId, B as getPluginCommandSpecs, C as CHAT_CHANNEL_ORDER, Dt as theme, G as clampInt, H as matchPluginCommand, I as createPluginRegistry, It as STATE_DIR, L as normalizePluginHttpPath, Mt as normalizeLogLevel, N as requireActivePluginRegistry, Nt as resolvePreferredSymiTmpDir, Ot as getChildLogger, P as setActivePluginRegistry, Q as isRecord$1, R as clearPluginCommands, St as shouldLogVerbose, U as CONFIG_DIR, Ut as resolveGatewayPort, V as listPluginCommands, X as escapeRegExp, Yt as resolveStateDir, Zt as createInternalHookEvent, _ as defaultRuntime, a as parseBooleanValue$1, ct as shortenHomeInString, dt as sliceUtf16Safe, g as createNonExitingRuntime, ht as danger, k as normalizeAnyChannelId, lt as shortenHomePath, mt as isPlainObject, n as isTruthyEnvValue, o as createSubsystemLogger, ot as resolveUserPath, pn as resolveRequiredHomeDir, pt as truncateUtf16Safe, tt as normalizeE164, ut as sleep$1, w as DEFAULT_CHAT_CHANNEL, wt as warn, yt as logVerbose, z as executePluginCommand } from "./entry.js";
|
|
3
|
-
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, E as withFileLock, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$2, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, P as isCliProvider, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, c as resolveApiKeyForProfile, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, m as dedupeProfileIds, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-
|
|
3
|
+
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, E as withFileLock, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$2, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, P as isCliProvider, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, c as resolveApiKeyForProfile, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, m as dedupeProfileIds, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-Cs3GPB03.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
|
|
5
5
|
import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey } from "./session-key-DjZ7Z1hW.js";
|
|
6
6
|
import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
|
|
@@ -8,34 +8,34 @@ import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWit
|
|
|
8
8
|
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-D-jRCY0d.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DuFIqfeC.js";
|
|
10
10
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-anX686I1.js";
|
|
11
|
-
import { a as buildModelAliasLines, n as resolveModel } from "./model-
|
|
11
|
+
import { a as buildModelAliasLines, n as resolveModel } from "./model-DDV7HL-B.js";
|
|
12
12
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Do3xMEtM.js";
|
|
13
13
|
import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
|
|
14
14
|
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-hAdgFdrv.js";
|
|
15
15
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-Czr39pxG.js";
|
|
16
|
-
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
16
|
+
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CxnbOYs8.js";
|
|
17
17
|
import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DMBZpU6X.js";
|
|
18
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
18
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-B-p451Eo.js";
|
|
19
19
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
|
|
20
20
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
|
|
21
|
-
import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-
|
|
21
|
+
import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-BF3cJslT.js";
|
|
22
22
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Csntmwwn.js";
|
|
23
23
|
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-CwSlLxM8.js";
|
|
24
24
|
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-D9ITgITj.js";
|
|
25
25
|
import { t as normalizeChatType } from "./chat-type-CeFzWU-6.js";
|
|
26
|
-
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-
|
|
27
|
-
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-
|
|
28
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-
|
|
29
|
-
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-
|
|
26
|
+
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-Btgfdf6H.js";
|
|
27
|
+
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-Dfohx1Dj.js";
|
|
28
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-C0euAxXp.js";
|
|
29
|
+
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-8jOk1f3v.js";
|
|
30
30
|
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-Ci8Xsc_Y.js";
|
|
31
31
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
|
|
32
32
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-D1eLj5t8.js";
|
|
33
|
-
import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-
|
|
33
|
+
import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CboqahSN.js";
|
|
34
34
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-CUkaZz2F.js";
|
|
35
|
-
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-
|
|
36
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
37
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
38
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
35
|
+
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-XJw27Ryb.js";
|
|
36
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-CPR0wRyk.js";
|
|
37
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-Chj8uCZN.js";
|
|
38
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CZZZ5S6q.js";
|
|
39
39
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Ba_ROWsq.js";
|
|
40
40
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-OWKu4tXF.js";
|
|
41
41
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Ixuyn7h8.js";
|
|
@@ -47,10 +47,10 @@ import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveS
|
|
|
47
47
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-D5O01TlD.js";
|
|
48
48
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CVLISeRT.js";
|
|
49
49
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
|
|
50
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
50
|
+
import { t as ensureSymiModelsJson } from "./models-config-CjPV5JrE.js";
|
|
51
51
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
|
|
52
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
53
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
52
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-OWL3A7_N.js";
|
|
53
|
+
import { i as resolveMemorySearchConfig } from "./manager-DqkRhYYl.js";
|
|
54
54
|
import { g as runTasksWithConcurrency } from "./sqlite-CQGamAhm.js";
|
|
55
55
|
import { n as retryAsync } from "./retry-C4Q_VPOo.js";
|
|
56
56
|
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-whPRf4c9.js";
|
|
@@ -61,16 +61,16 @@ import { t as fetchWithSsrFGuard } from "./fetch-guard-Dp7VnmeK.js";
|
|
|
61
61
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-CpUKTvDW.js";
|
|
62
62
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D-flMHhr.js";
|
|
63
63
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CkrIpKCc.js";
|
|
64
|
-
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-
|
|
65
|
-
import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-
|
|
64
|
+
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-nK_mZXUN.js";
|
|
65
|
+
import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-bJzFwVE3.js";
|
|
66
66
|
import { n as resolveToolDisplay } from "./tool-display-CXwOC-qw.js";
|
|
67
67
|
import { n as formatTimeAgo } from "./format-relative-DX-rh76l.js";
|
|
68
68
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-72dOKfLG.js";
|
|
69
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
70
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
71
|
-
import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-
|
|
72
|
-
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-
|
|
73
|
-
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
69
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-b_ibT3sW.js";
|
|
70
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Dq60dweH.js";
|
|
71
|
+
import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-Cs-nCi4-.js";
|
|
72
|
+
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-BlfEmZ8t.js";
|
|
73
|
+
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-cjckhuQX.js";
|
|
74
74
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BhFkwlZW.js";
|
|
75
75
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-BhFq_Iv9.js";
|
|
76
76
|
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-DrIN-j3C.js";
|
|
@@ -82,19 +82,19 @@ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChan
|
|
|
82
82
|
import { n as normalizePollInput } from "./polls-DXeUmcgz.js";
|
|
83
83
|
import { t as convertMarkdownTables } from "./tables-CXWwq-Md.js";
|
|
84
84
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CPeVoSXJ.js";
|
|
85
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
85
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-B7EmYYFH.js";
|
|
86
86
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CQar2eKe.js";
|
|
87
87
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BzfEFyPn.js";
|
|
88
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
89
|
-
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-
|
|
88
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C7DzVT6I.js";
|
|
89
|
+
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-B26isft5.js";
|
|
90
90
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CjnIuTqX.js";
|
|
91
91
|
import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
|
|
92
92
|
import { t as makeProxyFetch } from "./proxy-DL3MD6-P.js";
|
|
93
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
94
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
95
|
-
import { t as resolvePairingIdLabel } from "./pairing-labels-
|
|
93
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-B5Jh0OCP.js";
|
|
94
|
+
import { r as detectBinary } from "./onboard-helpers-C9emwuya.js";
|
|
95
|
+
import { t as resolvePairingIdLabel } from "./pairing-labels-D_XOc2nT.js";
|
|
96
96
|
import { t as getActiveWebListener } from "./active-listener-De1JhR4W.js";
|
|
97
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
97
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-P1akpJL8.js";
|
|
98
98
|
import { createRequire } from "node:module";
|
|
99
99
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
100
100
|
import os, { homedir } from "node:os";
|
|
@@ -5426,6 +5426,8 @@ function resolveAgentTimeoutMs(opts) {
|
|
|
5426
5426
|
if (overrideSeconds < 0) return defaultMs;
|
|
5427
5427
|
return clampTimeoutMs(overrideSeconds * 1e3);
|
|
5428
5428
|
}
|
|
5429
|
+
const modelSeconds = normalizeNumber(opts.modelTimeoutSeconds);
|
|
5430
|
+
if (modelSeconds !== void 0 && modelSeconds > 0) return clampTimeoutMs(modelSeconds * 1e3);
|
|
5429
5431
|
return defaultMs;
|
|
5430
5432
|
}
|
|
5431
5433
|
|
|
@@ -7605,7 +7607,7 @@ async function createModelSelectionState(params) {
|
|
|
7605
7607
|
}
|
|
7606
7608
|
}
|
|
7607
7609
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
7608
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
7610
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-Cs3GPB03.js").then((n) => n.t);
|
|
7609
7611
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
7610
7612
|
const providerKey = normalizeProviderId(provider);
|
|
7611
7613
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -14695,8 +14697,8 @@ function buildMemorySection(params) {
|
|
|
14695
14697
|
lines.push("");
|
|
14696
14698
|
return lines;
|
|
14697
14699
|
}
|
|
14698
|
-
function buildUserIdentitySection(ownerLine, isMinimal) {
|
|
14699
|
-
if (!ownerLine || isMinimal) return [];
|
|
14700
|
+
function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
|
|
14701
|
+
if (!ownerLine || isMinimal || isCoding) return [];
|
|
14700
14702
|
return [
|
|
14701
14703
|
"## Authorized Senders",
|
|
14702
14704
|
ownerLine,
|
|
@@ -14720,8 +14722,8 @@ function buildTimeSection(params) {
|
|
|
14720
14722
|
""
|
|
14721
14723
|
];
|
|
14722
14724
|
}
|
|
14723
|
-
function buildReplyTagsSection(isMinimal) {
|
|
14724
|
-
if (isMinimal) return [];
|
|
14725
|
+
function buildReplyTagsSection(isMinimal, isCoding) {
|
|
14726
|
+
if (isMinimal || isCoding) return [];
|
|
14725
14727
|
return [
|
|
14726
14728
|
"## Reply Tags",
|
|
14727
14729
|
"To request a native reply/quote on supported surfaces, include one tag in your reply:",
|
|
@@ -14734,7 +14736,7 @@ function buildReplyTagsSection(isMinimal) {
|
|
|
14734
14736
|
];
|
|
14735
14737
|
}
|
|
14736
14738
|
function buildMessagingSection(params) {
|
|
14737
|
-
if (params.isMinimal) return [];
|
|
14739
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
14738
14740
|
return [
|
|
14739
14741
|
"## Messaging",
|
|
14740
14742
|
"- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
|
|
@@ -14757,7 +14759,7 @@ function buildMessagingSection(params) {
|
|
|
14757
14759
|
];
|
|
14758
14760
|
}
|
|
14759
14761
|
function buildVoiceSection(params) {
|
|
14760
|
-
if (params.isMinimal) return [];
|
|
14762
|
+
if (params.isMinimal || params.isCoding) return [];
|
|
14761
14763
|
const hint = params.ttsHint?.trim();
|
|
14762
14764
|
if (!hint) return [];
|
|
14763
14765
|
return [
|
|
@@ -14766,6 +14768,71 @@ function buildVoiceSection(params) {
|
|
|
14766
14768
|
""
|
|
14767
14769
|
];
|
|
14768
14770
|
}
|
|
14771
|
+
function buildVerifyYourWorkSection(params) {
|
|
14772
|
+
if (params.isMinimal) return [];
|
|
14773
|
+
const exec = params.execToolName;
|
|
14774
|
+
const read = params.readToolName;
|
|
14775
|
+
return [
|
|
14776
|
+
"## Verify Your Work",
|
|
14777
|
+
[
|
|
14778
|
+
"Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
|
|
14779
|
+
"Skipping verification is the single most common cause of incomplete or broken outputs.",
|
|
14780
|
+
"Treat this section as mandatory for every coding task, not optional polish."
|
|
14781
|
+
].join(" "),
|
|
14782
|
+
"",
|
|
14783
|
+
"### 1. Re-read the request",
|
|
14784
|
+
[
|
|
14785
|
+
"Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
|
|
14786
|
+
"Extract every discrete requirement, constraint, and preference they stated.",
|
|
14787
|
+
"Write them down internally as a checklist.",
|
|
14788
|
+
"This catches drift: it is easy to start solving a related-but-different problem mid-task."
|
|
14789
|
+
].join(" "),
|
|
14790
|
+
"",
|
|
14791
|
+
"### 2. Check each requirement against your output",
|
|
14792
|
+
[
|
|
14793
|
+
"Walk through your internal checklist point by point.",
|
|
14794
|
+
"For each requirement, locate the exact lines in your output that satisfy it.",
|
|
14795
|
+
"If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
|
|
14796
|
+
"Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
|
|
14797
|
+
].join(" "),
|
|
14798
|
+
"",
|
|
14799
|
+
"### 3. Run the code",
|
|
14800
|
+
[
|
|
14801
|
+
`Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
|
|
14802
|
+
"Do not guess whether code works — execute it and observe the result.",
|
|
14803
|
+
"If the code produces errors, fix them and re-run until it succeeds.",
|
|
14804
|
+
"For scripts: run them with representative inputs.",
|
|
14805
|
+
"For libraries/modules: write and execute a minimal smoke test.",
|
|
14806
|
+
"For config files: validate syntax (e.g., json, yaml, toml parsers).",
|
|
14807
|
+
"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."
|
|
14808
|
+
].join(" "),
|
|
14809
|
+
"",
|
|
14810
|
+
"### 4. Include tests when requested",
|
|
14811
|
+
[
|
|
14812
|
+
"If the user asked for tests, they are a hard requirement — not a nice-to-have.",
|
|
14813
|
+
"Deliver the tests alongside the implementation, not as an afterthought.",
|
|
14814
|
+
"Run the tests and confirm they pass before responding.",
|
|
14815
|
+
"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."
|
|
14816
|
+
].join(" "),
|
|
14817
|
+
"",
|
|
14818
|
+
"### 5. Self-review",
|
|
14819
|
+
[
|
|
14820
|
+
`After everything above, use ${read} to re-read any files you created or modified.`,
|
|
14821
|
+
"Look at them with fresh eyes as if reviewing someone else's code.",
|
|
14822
|
+
"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).",
|
|
14823
|
+
"If you find problems during self-review, fix them, re-run verification, and only then respond."
|
|
14824
|
+
].join(" "),
|
|
14825
|
+
"",
|
|
14826
|
+
"### Verification failures",
|
|
14827
|
+
[
|
|
14828
|
+
"If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
|
|
14829
|
+
"Instead, fix the issue silently and re-verify.",
|
|
14830
|
+
"The user should receive working, complete output — not a draft with known issues.",
|
|
14831
|
+
"Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
|
|
14832
|
+
].join(" "),
|
|
14833
|
+
""
|
|
14834
|
+
];
|
|
14835
|
+
}
|
|
14769
14836
|
function buildDocsSection(params) {
|
|
14770
14837
|
const docsPath = params.docsPath?.trim();
|
|
14771
14838
|
if (!docsPath || params.isMinimal) return [];
|
|
@@ -14890,6 +14957,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
14890
14957
|
const messageChannelOptions = listDeliverableMessageChannels().join("|");
|
|
14891
14958
|
const promptMode = params.promptMode ?? "full";
|
|
14892
14959
|
const isMinimal = promptMode === "minimal" || promptMode === "none";
|
|
14960
|
+
const isCoding = promptMode === "coding";
|
|
14893
14961
|
const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
|
|
14894
14962
|
const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
|
|
14895
14963
|
const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
|
|
@@ -14966,19 +15034,19 @@ function buildAgentSystemPrompt(params) {
|
|
|
14966
15034
|
"",
|
|
14967
15035
|
...skillsSection,
|
|
14968
15036
|
...memorySection,
|
|
14969
|
-
hasGateway && !isMinimal ? "## Symi Self-Update" : "",
|
|
14970
|
-
hasGateway && !isMinimal ? [
|
|
15037
|
+
hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
|
|
15038
|
+
hasGateway && !isMinimal && !isCoding ? [
|
|
14971
15039
|
"Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
|
|
14972
15040
|
"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.",
|
|
14973
15041
|
"Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
|
|
14974
15042
|
"After restart, Symi pings the last active session automatically."
|
|
14975
15043
|
].join("\n") : "",
|
|
14976
|
-
hasGateway && !isMinimal ? "" : "",
|
|
15044
|
+
hasGateway && !isMinimal && !isCoding ? "" : "",
|
|
14977
15045
|
"",
|
|
14978
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "## Model Aliases" : "",
|
|
14979
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
|
|
14980
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? params.modelAliasLines.join("\n") : "",
|
|
14981
|
-
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "" : "",
|
|
15046
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
|
|
15047
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
|
|
15048
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
|
|
15049
|
+
params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
|
|
14982
15050
|
userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
|
|
14983
15051
|
"## Workspace",
|
|
14984
15052
|
`Your working directory is: ${displayWorkspaceDir}`,
|
|
@@ -14986,6 +15054,11 @@ function buildAgentSystemPrompt(params) {
|
|
|
14986
15054
|
...workspaceNotes,
|
|
14987
15055
|
"",
|
|
14988
15056
|
...docsSection,
|
|
15057
|
+
...buildVerifyYourWorkSection({
|
|
15058
|
+
isMinimal,
|
|
15059
|
+
execToolName,
|
|
15060
|
+
readToolName
|
|
15061
|
+
}),
|
|
14989
15062
|
params.sandboxInfo?.enabled ? "## Sandbox" : "",
|
|
14990
15063
|
params.sandboxInfo?.enabled ? [
|
|
14991
15064
|
"You are running in a sandboxed runtime (tools execute in Docker).",
|
|
@@ -15003,14 +15076,15 @@ function buildAgentSystemPrompt(params) {
|
|
|
15003
15076
|
params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
|
|
15004
15077
|
].filter(Boolean).join("\n") : "",
|
|
15005
15078
|
params.sandboxInfo?.enabled ? "" : "",
|
|
15006
|
-
...buildUserIdentitySection(ownerLine, isMinimal),
|
|
15079
|
+
...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
|
|
15007
15080
|
...buildTimeSection({ userTimezone }),
|
|
15008
15081
|
"## Workspace Files (injected)",
|
|
15009
15082
|
"These user-editable files are loaded by Symi and included below in Project Context.",
|
|
15010
15083
|
"",
|
|
15011
|
-
...buildReplyTagsSection(isMinimal),
|
|
15084
|
+
...buildReplyTagsSection(isMinimal, isCoding),
|
|
15012
15085
|
...buildMessagingSection({
|
|
15013
15086
|
isMinimal,
|
|
15087
|
+
isCoding,
|
|
15014
15088
|
availableTools,
|
|
15015
15089
|
messageChannelOptions,
|
|
15016
15090
|
inlineButtonsEnabled,
|
|
@@ -15019,6 +15093,7 @@ function buildAgentSystemPrompt(params) {
|
|
|
15019
15093
|
}),
|
|
15020
15094
|
...buildVoiceSection({
|
|
15021
15095
|
isMinimal,
|
|
15096
|
+
isCoding,
|
|
15022
15097
|
ttsHint: params.ttsHint
|
|
15023
15098
|
})
|
|
15024
15099
|
];
|
|
@@ -15058,8 +15133,8 @@ function buildAgentSystemPrompt(params) {
|
|
|
15058
15133
|
lines.push("");
|
|
15059
15134
|
for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
|
|
15060
15135
|
}
|
|
15061
|
-
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}`, "");
|
|
15062
|
-
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.", "");
|
|
15136
|
+
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}`, "");
|
|
15137
|
+
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.", "");
|
|
15063
15138
|
lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
|
|
15064
15139
|
return lines.filter(Boolean).join("\n");
|
|
15065
15140
|
}
|
|
@@ -20290,7 +20365,7 @@ async function routeReply(params) {
|
|
|
20290
20365
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
20291
20366
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
20292
20367
|
try {
|
|
20293
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
20368
|
+
const { deliverOutboundPayloads } = await import("./deliver-8jOk1f3v.js").then((n) => n.n);
|
|
20294
20369
|
return {
|
|
20295
20370
|
ok: true,
|
|
20296
20371
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -34848,7 +34923,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
34848
34923
|
return;
|
|
34849
34924
|
}
|
|
34850
34925
|
try {
|
|
34851
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
34926
|
+
const { deliverOutboundPayloads } = await import("./deliver-8jOk1f3v.js").then((n) => n.n);
|
|
34852
34927
|
await deliverOutboundPayloads({
|
|
34853
34928
|
cfg: params.cfg,
|
|
34854
34929
|
channel,
|
|
@@ -35500,9 +35575,12 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
35500
35575
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
35501
35576
|
})).dir;
|
|
35502
35577
|
const agentDir = resolveAgentDir(cfg, agentId);
|
|
35578
|
+
const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
|
|
35579
|
+
const modelTimeoutSeconds = primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0;
|
|
35503
35580
|
const timeoutMs = resolveAgentTimeoutMs({
|
|
35504
35581
|
cfg,
|
|
35505
|
-
overrideSeconds: opts?.timeoutOverrideSeconds
|
|
35582
|
+
overrideSeconds: opts?.timeoutOverrideSeconds,
|
|
35583
|
+
modelTimeoutSeconds: modelTimeoutSeconds ?? null
|
|
35506
35584
|
});
|
|
35507
35585
|
const configuredTypingSeconds = agentCfg?.typingIntervalSeconds ?? sessionCfg?.typingIntervalSeconds;
|
|
35508
35586
|
const typingIntervalSeconds = typeof configuredTypingSeconds === "number" ? configuredTypingSeconds : 6;
|
|
@@ -38299,7 +38377,7 @@ async function describeStickerImage(params) {
|
|
|
38299
38377
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
38300
38378
|
try {
|
|
38301
38379
|
const buffer = await fs$1.readFile(imagePath);
|
|
38302
|
-
const { describeImageWithModel } = await import("./image-
|
|
38380
|
+
const { describeImageWithModel } = await import("./image-bJzFwVE3.js").then((n) => n.n);
|
|
38303
38381
|
return (await describeImageWithModel({
|
|
38304
38382
|
buffer,
|
|
38305
38383
|
fileName: "sticker.webp",
|
|
@@ -38722,7 +38800,7 @@ function createWhatsAppLoginTool() {
|
|
|
38722
38800
|
force: Type.Optional(Type.Boolean())
|
|
38723
38801
|
}),
|
|
38724
38802
|
execute: async (_toolCallId, args) => {
|
|
38725
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
38803
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-rvsxQT5p.js");
|
|
38726
38804
|
if ((args?.action ?? "start") === "wait") {
|
|
38727
38805
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
38728
38806
|
return {
|
|
@@ -40098,7 +40176,7 @@ async function preflightDiscordMessage(params) {
|
|
|
40098
40176
|
let preflightTranscript;
|
|
40099
40177
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
40100
40178
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
40101
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
40179
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-USnUISOE.js");
|
|
40102
40180
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
40103
40181
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
40104
40182
|
ctx: {
|
|
@@ -44104,27 +44182,27 @@ function isVoiceChannelType(type) {
|
|
|
44104
44182
|
function createDefaultDeps() {
|
|
44105
44183
|
return {
|
|
44106
44184
|
sendMessageWhatsApp: async (...args) => {
|
|
44107
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
44185
|
+
const { sendMessageWhatsApp } = await import("./web-CScA06_W.js");
|
|
44108
44186
|
return await sendMessageWhatsApp(...args);
|
|
44109
44187
|
},
|
|
44110
44188
|
sendMessageTelegram: async (...args) => {
|
|
44111
|
-
const { sendMessageTelegram } = await import("./send-
|
|
44189
|
+
const { sendMessageTelegram } = await import("./send-CboqahSN.js").then((n) => n.l);
|
|
44112
44190
|
return await sendMessageTelegram(...args);
|
|
44113
44191
|
},
|
|
44114
44192
|
sendMessageDiscord: async (...args) => {
|
|
44115
|
-
const { sendMessageDiscord } = await import("./send-
|
|
44193
|
+
const { sendMessageDiscord } = await import("./send-Dfohx1Dj.js").then((n) => n.t);
|
|
44116
44194
|
return await sendMessageDiscord(...args);
|
|
44117
44195
|
},
|
|
44118
44196
|
sendMessageSlack: async (...args) => {
|
|
44119
|
-
const { sendMessageSlack } = await import("./send-
|
|
44197
|
+
const { sendMessageSlack } = await import("./send-Btgfdf6H.js").then((n) => n.n);
|
|
44120
44198
|
return await sendMessageSlack(...args);
|
|
44121
44199
|
},
|
|
44122
44200
|
sendMessageSignal: async (...args) => {
|
|
44123
|
-
const { sendMessageSignal } = await import("./send-
|
|
44201
|
+
const { sendMessageSignal } = await import("./send-C7DzVT6I.js").then((n) => n.i);
|
|
44124
44202
|
return await sendMessageSignal(...args);
|
|
44125
44203
|
},
|
|
44126
44204
|
sendMessageIMessage: async (...args) => {
|
|
44127
|
-
const { sendMessageIMessage } = await import("./send-
|
|
44205
|
+
const { sendMessageIMessage } = await import("./send-B26isft5.js").then((n) => n.n);
|
|
44128
44206
|
return await sendMessageIMessage(...args);
|
|
44129
44207
|
}
|
|
44130
44208
|
};
|
|
@@ -44614,9 +44692,11 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
|
|
|
44614
44692
|
const isSubagentLane = (typeof opts.lane === "string" ? opts.lane.trim() : "") === String(AGENT_LANE_SUBAGENT);
|
|
44615
44693
|
const timeoutSecondsRaw = opts.timeout !== void 0 ? Number.parseInt(String(opts.timeout), 10) : isSubagentLane ? 0 : void 0;
|
|
44616
44694
|
if (timeoutSecondsRaw !== void 0 && (Number.isNaN(timeoutSecondsRaw) || timeoutSecondsRaw < 0)) throw new Error("--timeout must be a non-negative integer (seconds; 0 means no timeout)");
|
|
44695
|
+
const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
|
|
44617
44696
|
const timeoutMs = resolveAgentTimeoutMs({
|
|
44618
44697
|
cfg,
|
|
44619
|
-
overrideSeconds: timeoutSecondsRaw
|
|
44698
|
+
overrideSeconds: timeoutSecondsRaw,
|
|
44699
|
+
modelTimeoutSeconds: (primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0) ?? null
|
|
44620
44700
|
});
|
|
44621
44701
|
const { sessionId, sessionKey, sessionEntry: resolvedSessionEntry, sessionStore, storePath, isNewSession, persistedThinking, persistedVerbose } = resolveSession({
|
|
44622
44702
|
cfg,
|
|
@@ -54575,7 +54655,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
54575
54655
|
}
|
|
54576
54656
|
let commandsRegistry;
|
|
54577
54657
|
async function getCommandsRegistry() {
|
|
54578
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
54658
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-nK_mZXUN.js").then((n) => n.n);
|
|
54579
54659
|
return commandsRegistry;
|
|
54580
54660
|
}
|
|
54581
54661
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -54978,7 +55058,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
54978
55058
|
});
|
|
54979
55059
|
const deliverSlashPayloads = async (replies) => {
|
|
54980
55060
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
54981
|
-
import("./replies-
|
|
55061
|
+
import("./replies-B5Jh0OCP.js").then((n) => n.r),
|
|
54982
55062
|
import("./chunk-CQyUJNtc.js").then((n) => n.s),
|
|
54983
55063
|
import("./markdown-tables-D82z_Ahc.js").then((n) => n.t)
|
|
54984
55064
|
]);
|
|
@@ -55033,7 +55113,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
55033
55113
|
let nativeCommands = [];
|
|
55034
55114
|
if (nativeEnabled) {
|
|
55035
55115
|
reg = await getCommandsRegistry();
|
|
55036
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
55116
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BlfEmZ8t.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
55037
55117
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
55038
55118
|
skillCommands,
|
|
55039
55119
|
provider: "slack"
|
|
@@ -57251,7 +57331,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
57251
57331
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
57252
57332
|
let preflightTranscript;
|
|
57253
57333
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
57254
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
57334
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-USnUISOE.js");
|
|
57255
57335
|
preflightTranscript = await transcribeFirstAudio({
|
|
57256
57336
|
ctx: {
|
|
57257
57337
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -59405,23 +59485,23 @@ let webLoginQrPromise = null;
|
|
|
59405
59485
|
let webChannelPromise = null;
|
|
59406
59486
|
let whatsappActionsPromise = null;
|
|
59407
59487
|
function loadWebOutbound() {
|
|
59408
|
-
webOutboundPromise ??= import("./outbound-
|
|
59488
|
+
webOutboundPromise ??= import("./outbound-btxNyARe.js").then((n) => n.t);
|
|
59409
59489
|
return webOutboundPromise;
|
|
59410
59490
|
}
|
|
59411
59491
|
function loadWebLogin() {
|
|
59412
|
-
webLoginPromise ??= import("./login-
|
|
59492
|
+
webLoginPromise ??= import("./login-DTkUG4Mp.js").then((n) => n.n);
|
|
59413
59493
|
return webLoginPromise;
|
|
59414
59494
|
}
|
|
59415
59495
|
function loadWebLoginQr() {
|
|
59416
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
59496
|
+
webLoginQrPromise ??= import("./login-qr-rvsxQT5p.js");
|
|
59417
59497
|
return webLoginQrPromise;
|
|
59418
59498
|
}
|
|
59419
59499
|
function loadWebChannel() {
|
|
59420
|
-
webChannelPromise ??= import("./web-
|
|
59500
|
+
webChannelPromise ??= import("./web-CScA06_W.js");
|
|
59421
59501
|
return webChannelPromise;
|
|
59422
59502
|
}
|
|
59423
59503
|
function loadWhatsAppActions() {
|
|
59424
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
59504
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BgiS8DUJ.js");
|
|
59425
59505
|
return whatsappActionsPromise;
|
|
59426
59506
|
}
|
|
59427
59507
|
function createPluginRuntime() {
|
|
@@ -64511,7 +64591,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
64511
64591
|
config: params.config
|
|
64512
64592
|
});
|
|
64513
64593
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
64514
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
64594
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
64515
64595
|
const docsPath = await resolveSymiDocsPath({
|
|
64516
64596
|
workspaceDir: effectiveWorkspace,
|
|
64517
64597
|
argv1: process.argv[1],
|
|
@@ -64751,6 +64831,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
|
|
|
64751
64831
|
const streamParams = {};
|
|
64752
64832
|
if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
|
|
64753
64833
|
if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
|
|
64834
|
+
if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
|
|
64835
|
+
if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
|
|
64836
|
+
if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
|
|
64754
64837
|
const cacheRetention = resolveCacheRetention(extraParams, provider);
|
|
64755
64838
|
if (cacheRetention) streamParams.cacheRetention = cacheRetention;
|
|
64756
64839
|
if (Object.keys(streamParams).length === 0) return;
|
|
@@ -67079,7 +67162,7 @@ function scorePlanComplexity(prompt) {
|
|
|
67079
67162
|
if ([...PLAN_KEYWORDS, ...ANALYSIS_KEYWORDS].some((kw) => lower.includes(kw)) || FILE_PATH_RE.test(prompt)) score += 3;
|
|
67080
67163
|
}
|
|
67081
67164
|
const numberedItems = prompt.match(NUMBERED_LIST_RE);
|
|
67082
|
-
if (numberedItems && numberedItems.length >=
|
|
67165
|
+
if (numberedItems && numberedItems.length >= 6) score += 2;
|
|
67083
67166
|
for (const kw of PLAN_KEYWORDS) if (lower.includes(kw)) {
|
|
67084
67167
|
score += 2;
|
|
67085
67168
|
break;
|
|
@@ -67096,7 +67179,7 @@ function scorePlanComplexity(prompt) {
|
|
|
67096
67179
|
}
|
|
67097
67180
|
return score;
|
|
67098
67181
|
}
|
|
67099
|
-
const PLAN_MODE_THRESHOLD =
|
|
67182
|
+
const PLAN_MODE_THRESHOLD = 8;
|
|
67100
67183
|
/**
|
|
67101
67184
|
* Determine whether a prompt should trigger plan mode.
|
|
67102
67185
|
*
|
|
@@ -67131,14 +67214,15 @@ function shouldEnterPlanMode(prompt, opts = {}) {
|
|
|
67131
67214
|
score: 0
|
|
67132
67215
|
};
|
|
67133
67216
|
const score = scorePlanComplexity(trimmed);
|
|
67134
|
-
|
|
67217
|
+
const threshold = opts.threshold ?? PLAN_MODE_THRESHOLD;
|
|
67218
|
+
if (score >= threshold) return {
|
|
67135
67219
|
enter: true,
|
|
67136
|
-
reason: `complexity score ${score} >= ${
|
|
67220
|
+
reason: `complexity score ${score} >= ${threshold}`,
|
|
67137
67221
|
score
|
|
67138
67222
|
};
|
|
67139
67223
|
return {
|
|
67140
67224
|
enter: false,
|
|
67141
|
-
reason: `complexity score ${score} < ${
|
|
67225
|
+
reason: `complexity score ${score} < ${threshold}`,
|
|
67142
67226
|
score
|
|
67143
67227
|
};
|
|
67144
67228
|
}
|
|
@@ -68034,7 +68118,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
68034
68118
|
}
|
|
68035
68119
|
});
|
|
68036
68120
|
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
68037
|
-
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
|
|
68121
|
+
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
68038
68122
|
const docsPath = await resolveSymiDocsPath({
|
|
68039
68123
|
workspaceDir: effectiveWorkspace,
|
|
68040
68124
|
argv1: process.argv[1],
|
|
@@ -68431,7 +68515,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
68431
68515
|
{
|
|
68432
68516
|
const planResult = shouldEnterPlanMode(effectivePrompt, {
|
|
68433
68517
|
isSubagent: isSubagentSessionKey(params.sessionKey),
|
|
68434
|
-
isCron: isCronSessionKey(params.sessionKey)
|
|
68518
|
+
isCron: isCronSessionKey(params.sessionKey),
|
|
68519
|
+
threshold: params.config?.agents?.defaults?.planModeThreshold
|
|
68435
68520
|
});
|
|
68436
68521
|
if (planResult.enter) {
|
|
68437
68522
|
if (planResult.stripped != null) effectivePrompt = planResult.stripped;
|
|
@@ -69049,6 +69134,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
69049
69134
|
let lastRunPromptUsage;
|
|
69050
69135
|
let autoCompactionCount = 0;
|
|
69051
69136
|
let runLoopIterations = 0;
|
|
69137
|
+
let verificationPassCompleted = false;
|
|
69052
69138
|
try {
|
|
69053
69139
|
while (true) {
|
|
69054
69140
|
if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
|
|
@@ -69418,6 +69504,116 @@ async function runEmbeddedPiAgent(params) {
|
|
|
69418
69504
|
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
69419
69505
|
inlineToolResultsAllowed: false
|
|
69420
69506
|
});
|
|
69507
|
+
if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
|
|
69508
|
+
const CODE_TOOL_NAMES = new Set([
|
|
69509
|
+
"exec",
|
|
69510
|
+
"bash",
|
|
69511
|
+
"write",
|
|
69512
|
+
"edit",
|
|
69513
|
+
"file_write",
|
|
69514
|
+
"file_edit",
|
|
69515
|
+
"write_file",
|
|
69516
|
+
"edit_file",
|
|
69517
|
+
"create_file",
|
|
69518
|
+
"patch"
|
|
69519
|
+
]);
|
|
69520
|
+
const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
|
|
69521
|
+
const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
|
|
69522
|
+
if (hasCodeToolUsage || hasCodeBlocks) {
|
|
69523
|
+
verificationPassCompleted = true;
|
|
69524
|
+
log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
|
|
69525
|
+
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.";
|
|
69526
|
+
try {
|
|
69527
|
+
const verifyAttempt = await runEmbeddedAttempt({
|
|
69528
|
+
sessionId: params.sessionId,
|
|
69529
|
+
sessionKey: params.sessionKey,
|
|
69530
|
+
messageChannel: params.messageChannel,
|
|
69531
|
+
messageProvider: params.messageProvider,
|
|
69532
|
+
agentAccountId: params.agentAccountId,
|
|
69533
|
+
messageTo: params.messageTo,
|
|
69534
|
+
messageThreadId: params.messageThreadId,
|
|
69535
|
+
groupId: params.groupId,
|
|
69536
|
+
groupChannel: params.groupChannel,
|
|
69537
|
+
groupSpace: params.groupSpace,
|
|
69538
|
+
spawnedBy: params.spawnedBy,
|
|
69539
|
+
senderIsOwner: params.senderIsOwner,
|
|
69540
|
+
currentChannelId: params.currentChannelId,
|
|
69541
|
+
currentThreadTs: params.currentThreadTs,
|
|
69542
|
+
replyToMode: params.replyToMode,
|
|
69543
|
+
hasRepliedRef: params.hasRepliedRef,
|
|
69544
|
+
sessionFile: params.sessionFile,
|
|
69545
|
+
workspaceDir: resolvedWorkspace,
|
|
69546
|
+
agentDir,
|
|
69547
|
+
config: params.config,
|
|
69548
|
+
skillsSnapshot: params.skillsSnapshot,
|
|
69549
|
+
prompt: verificationPrompt,
|
|
69550
|
+
images: void 0,
|
|
69551
|
+
disableTools: params.disableTools,
|
|
69552
|
+
provider,
|
|
69553
|
+
modelId,
|
|
69554
|
+
model,
|
|
69555
|
+
authStorage,
|
|
69556
|
+
modelRegistry,
|
|
69557
|
+
agentId: workspaceResolution.agentId,
|
|
69558
|
+
thinkLevel,
|
|
69559
|
+
verboseLevel: params.verboseLevel,
|
|
69560
|
+
reasoningLevel: params.reasoningLevel,
|
|
69561
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
69562
|
+
execOverrides: params.execOverrides,
|
|
69563
|
+
bashElevated: params.bashElevated,
|
|
69564
|
+
timeoutMs: params.timeoutMs,
|
|
69565
|
+
runId: params.runId,
|
|
69566
|
+
abortSignal: params.abortSignal,
|
|
69567
|
+
shouldEmitToolResult: params.shouldEmitToolResult,
|
|
69568
|
+
shouldEmitToolOutput: params.shouldEmitToolOutput,
|
|
69569
|
+
onPartialReply: params.onPartialReply,
|
|
69570
|
+
onAssistantMessageStart: params.onAssistantMessageStart,
|
|
69571
|
+
onBlockReply: params.onBlockReply,
|
|
69572
|
+
onBlockReplyFlush: params.onBlockReplyFlush,
|
|
69573
|
+
blockReplyBreak: params.blockReplyBreak,
|
|
69574
|
+
blockReplyChunking: params.blockReplyChunking,
|
|
69575
|
+
onReasoningStream: params.onReasoningStream,
|
|
69576
|
+
onReasoningEnd: params.onReasoningEnd,
|
|
69577
|
+
onToolResult: params.onToolResult,
|
|
69578
|
+
onAgentEvent: params.onAgentEvent,
|
|
69579
|
+
extraSystemPrompt: params.extraSystemPrompt,
|
|
69580
|
+
inputProvenance: params.inputProvenance,
|
|
69581
|
+
streamParams: params.streamParams,
|
|
69582
|
+
ownerNumbers: params.ownerNumbers,
|
|
69583
|
+
enforceFinalTag: params.enforceFinalTag
|
|
69584
|
+
});
|
|
69585
|
+
const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
|
|
69586
|
+
mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
|
|
69587
|
+
if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
|
|
69588
|
+
const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
|
|
69589
|
+
const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
|
|
69590
|
+
if (verifyHasToolUsage || verifyHasContent) {
|
|
69591
|
+
const verifyPayloads = buildEmbeddedRunPayloads({
|
|
69592
|
+
assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
|
|
69593
|
+
toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
|
|
69594
|
+
lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
|
|
69595
|
+
lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
|
|
69596
|
+
config: params.config,
|
|
69597
|
+
sessionKey: params.sessionKey ?? params.sessionId,
|
|
69598
|
+
provider: activeErrorContext.provider,
|
|
69599
|
+
model: activeErrorContext.model,
|
|
69600
|
+
verboseLevel: params.verboseLevel,
|
|
69601
|
+
reasoningLevel: params.reasoningLevel,
|
|
69602
|
+
toolResultFormat: resolvedToolResultFormat,
|
|
69603
|
+
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
69604
|
+
inlineToolResultsAllowed: false
|
|
69605
|
+
});
|
|
69606
|
+
if (verifyPayloads.length > 0) {
|
|
69607
|
+
payloads.length = 0;
|
|
69608
|
+
payloads.push(...verifyPayloads);
|
|
69609
|
+
}
|
|
69610
|
+
log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
|
|
69611
|
+
} else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
|
|
69612
|
+
} catch (verifyErr) {
|
|
69613
|
+
log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
|
|
69614
|
+
}
|
|
69615
|
+
}
|
|
69616
|
+
}
|
|
69421
69617
|
if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
|
|
69422
69618
|
payloads: [{
|
|
69423
69619
|
text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",
|