@symerian/symi 2.0.9 → 2.0.10
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/{agents-DhimA7PX.js → agents-CNsMe4Dr.js} +4 -4
- package/dist/{agents.config-fv5KaNkC.js → agents.config-CdDf19dm.js} +1 -1
- package/dist/{agents.config-Dx90DAnM.js → agents.config-yx78oSLx.js} +1 -1
- package/dist/{audio-preflight-B6L8N6Ly.js → audio-preflight-B8ffbICW.js} +11 -12
- package/dist/{audio-preflight-DQDfh7hZ.js → audio-preflight-CO2seHjy.js} +11 -12
- package/dist/{audio-preflight-Bk54IW__.js → audio-preflight-DRQD_nt1.js} +16 -17
- package/dist/{audio-preflight-C2U7KMim.js → audio-preflight-DSeaWZZW.js} +5 -6
- package/dist/{audit-C1KuICJa.js → audit-CiugrQda.js} +2 -2
- package/dist/{audit--HKrSvGg.js → audit-DKUpFt8z.js} +2 -2
- package/dist/{auth-choice-BqU5qMZy.js → auth-choice-CXMFi9LR.js} +1 -1
- package/dist/{auth-choice-B4zjI12P.js → auth-choice-mw9ndZQO.js} +4 -4
- package/dist/{banner-XTz_k5N3.js → banner-B-joBGLz.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +34 -34
- package/dist/bundled/session-memory/handler.js +34 -34
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-mU0wiiP2.js → channel-options-D74Jofp4.js} +1 -1
- package/dist/{channel-options-Bbd-uPQW.js → channel-options-XPRRVrmU.js} +1 -1
- package/dist/{channel-web-CT8JWl10.js → channel-web-vRvvtf0S.js} +8 -8
- package/dist/{channels-cli-16POci9_.js → channels-cli-D3lj5dXo.js} +32 -32
- package/dist/{channels-cli-DMCnP5KN.js → channels-cli-DgxPfJF7.js} +12 -12
- package/dist/{chrome-2-wXJfuH.js → chrome-LmEyZdbC.js} +1 -1
- package/dist/{chunk-BPSLqkZN.js → chunk-BW5f05BR.js} +1 -1
- package/dist/{chunk-rw3-yl6B.js → chunk-DTMTDXwE.js} +1 -1
- package/dist/{cli-Bzq5mSbu.js → cli-Bg_5WQFe.js} +9 -9
- package/dist/{cli-nuP_OZI0.js → cli-DQQAfUbo.js} +29 -29
- package/dist/{command-registry-DbtbOY_4.js → command-registry-Cde2LqTh.js} +9 -9
- package/dist/{commands-registry-CZ5P8CpC.js → commands-registry-C3C4Rv3O.js} +2 -2
- package/dist/{commands-registry-UwWpNkQg.js → commands-registry-Copoizgv.js} +1 -1
- package/dist/{completion-cli-mwQhHtOm.js → completion-cli-Cx9htCOm.js} +1 -1
- package/dist/{completion-cli-BwRqjgrI.js → completion-cli-KJUTWJP3.js} +2 -2
- package/dist/{config-D3XlX-h-.js → config-DM0K7qC1.js} +1 -1
- package/dist/{config-cli-Bu_y5erZ.js → config-cli-C5-P9Nzz.js} +1 -1
- package/dist/{config-cli-CoceKyQv.js → config-cli-ozfA6MGF.js} +1 -1
- package/dist/{config-guard-DujvCAc6.js → config-guard-BpQn1MKk.js} +1 -1
- package/dist/{config-guard-CFGZ0BjX.js → config-guard-Cnu2qssk.js} +2 -3
- package/dist/{configure-C27dLO_C.js → configure-DiuQ_aTS.js} +6 -6
- package/dist/{configure-DekriuOk.js → configure-ktsZw1bT.js} +3 -3
- package/dist/{deliver-B572qYqb.js → deliver-2Y_F_0yh.js} +5 -5
- package/dist/{deliver-DGaRNkFI.js → deliver-B3UoBZdC.js} +5 -5
- package/dist/{deliver-jK_qcWx-.js → deliver-CkjSfucB.js} +5 -5
- package/dist/{deliver-l9I03N1d.js → deliver-DONp5mgd.js} +2 -2
- package/dist/{diagnostic-BIVLRT_X.js → diagnostic-CI0kRQkt.js} +1 -1
- package/dist/{diagnostic-C-7DW8ZL.js → diagnostic-D0xmLpej.js} +1 -1
- package/dist/{doctor-completion-D2AFiL0G.js → doctor-completion-CrN6Ly8x.js} +1 -1
- package/dist/{doctor-completion-RScd9m4s.js → doctor-completion-Vwi_je1c.js} +1 -1
- package/dist/{doctor-config-flow-ZeM3rJqG.js → doctor-config-flow-B150h841.js} +1 -1
- package/dist/{doctor-config-flow-Cpwv-_yJ.js → doctor-config-flow-C_56SUPO.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +28 -28
- package/dist/{fetch-BrtlUMgb.js → fetch-DTNGXEzX.js} +1 -1
- package/dist/{fetch-guard-DPA1vbaF.js → fetch-guard-DOPkVbh3.js} +1 -1
- package/dist/{gateway-cli-N4jJ2_RN.js → gateway-cli-CwO3878F.js} +20 -20
- package/dist/{gateway-cli-D98Kj3_n.js → gateway-cli-DyqK4XZ1.js} +43 -43
- package/dist/{gemini-auth-Ca6F0cNq.js → gemini-auth-7AWT6JXV.js} +1 -1
- package/dist/{glass-ui-ws-Dd-MN6YA.js → glass-ui-ws-BmqwQaCf.js} +16 -16
- package/dist/{glass-ui-ws-B2fxjJTt.js → glass-ui-ws-zVNodseh.js} +39 -39
- package/dist/{health-C1_ivVPh.js → health-Q1RP1M2f.js} +5 -5
- package/dist/{health-Da2Nvp6A.js → health-UjXEBnzA.js} +4 -4
- package/dist/{heartbeat-visibility-DS9JNq6T.js → heartbeat-visibility-B8TDjqpW.js} +2 -2
- package/dist/{heartbeat-visibility-D4Xy8Sv0.js → heartbeat-visibility-U4BL57eQ.js} +2 -2
- package/dist/{hooks-cli-Bv6VXisB.js → hooks-cli-D4qJl6do.js} +10 -10
- package/dist/{hooks-cli-GzTpm8sN.js → hooks-cli-DOT9uGZw.js} +30 -30
- package/dist/{image-BW-m96jq.js → image-B4LY9KFw.js} +1 -1
- package/dist/{image-qnqUW4nb.js → image-CSeAnozE.js} +2 -2
- package/dist/{image-B_WF7Uie.js → image-DrZEJQwQ.js} +2 -2
- package/dist/{image-BJiE96Ml.js → image-RFofsrof.js} +4 -4
- package/dist/index.js +36 -36
- package/dist/{ir-DEVHhjq7.js → ir-DZam9q5M.js} +1 -1
- package/dist/{ir-B4l25ISI.js → ir-DccrnjsE.js} +3 -3
- package/dist/{ir-DPLo2LIn.js → ir-F0moAwIl.js} +3 -3
- package/dist/llm-slug-generator.js +34 -34
- package/dist/{local-roots-BDORNz_Q.js → local-roots-CC8jiKDk.js} +1 -1
- package/dist/{local-roots-Dg0r0pJL.js → local-roots-DMwIh5cS.js} +1 -1
- package/dist/{local-roots-C31eq7PP.js → local-roots-aAFLQGkY.js} +1 -1
- package/dist/{login-DNi-TGJT.js → login-BG_7eJLu.js} +2 -2
- package/dist/{login-qr-DWlyS1Bc.js → login-qr-9OQSnm5L.js} +4 -4
- package/dist/{manager-BX65xO2I.js → manager-B5EXdBQV.js} +2 -2
- package/dist/{manager-DjVWQ1JF.js → manager-C_DoJrcP.js} +3 -3
- package/dist/{memory-cli-BsBiPX0L.js → memory-cli-D4J9SO7Z.js} +4 -4
- package/dist/{model-auth-Daguh6Kb.js → model-auth-CeL58m55.js} +1 -1
- package/dist/{model-picker-CiSWZdy1.js → model-picker-DXwUsLAy.js} +1 -1
- package/dist/{models-B7W1r9j8.js → models-DKsiIvSx.js} +2 -2
- package/dist/{models-cli-BBFKprvF.js → models-cli-BS6UJ98e.js} +11 -11
- package/dist/{models-cli-B3XOSnTQ.js → models-cli-ULbdeSgc.js} +30 -30
- package/dist/{onboard-D54rYSt2.js → onboard-B387frTY.js} +5 -5
- package/dist/{onboard-DEBJWlyh.js → onboard-Bt-BwfkR.js} +2 -2
- package/dist/{onboard-channels-CwXnFQgu.js → onboard-channels-COcxT5Q0.js} +1 -1
- package/dist/{onboard-channels-D4U3bHOF.js → onboard-channels-ybPEmcP8.js} +1 -1
- package/dist/{onboard-custom-B3RZopk5.js → onboard-custom-DoIhWPnb.js} +2 -2
- package/dist/{onboard-skills-DfKmsYuM.js → onboard-skills-BD8JNVwL.js} +1 -1
- package/dist/{onboarding-Do5IBVbx.js → onboarding-BibGEGIS.js} +4 -4
- package/dist/{onboarding-Ch56YN4Q.js → onboarding-CdN_NU2d.js} +7 -7
- package/dist/{onboarding.finalize-C8I4yJ1J.js → onboarding.finalize-CY1NjrGb.js} +15 -15
- package/dist/{onboarding.finalize-ijmEZx2f.js → onboarding.finalize-CvahVrDM.js} +34 -34
- package/dist/{onboarding.gateway-config-BxgvBGxU.js → onboarding.gateway-config-Cj_s_IG8.js} +1 -2
- package/dist/{onboarding.gateway-config-EtWmSCuC.js → onboarding.gateway-config-DipSuaKH.js} +1 -2
- package/dist/{openai-model-default-BkscYpXX.js → openai-model-default-DF334-MD.js} +1 -1
- package/dist/{outbound-ByC0HdWz.js → outbound-BNMysnJ1.js} +2 -2
- package/dist/{outbound-DpGc1neG.js → outbound-Cedd_yui.js} +3 -3
- package/dist/{outbound-56UQxS1I.js → outbound-DfOF58G2.js} +2 -2
- package/dist/{outbound-attachment-C-GD7uJh.js → outbound-attachment-D_QuKi8U.js} +1 -1
- package/dist/{outbound-attachment-CJZwroQb.js → outbound-attachment-DjNDa3zn.js} +2 -2
- package/dist/{outbound-attachment-Cir36qaG.js → outbound-attachment-entfcjDW.js} +2 -2
- package/dist/{pi-auth-json-CHgA276j.js → pi-auth-json-BNhcohVK.js} +2 -2
- package/dist/{pi-embedded-FBOXa0Py.js → pi-embedded-9wEA_0mu.js} +144 -49
- package/dist/{pi-embedded-C5XncARS.js → pi-embedded-BjzaB3CT.js} +157 -62
- package/dist/{pi-embedded-helpers-BqnI9Mzn.js → pi-embedded-helpers-BmYZe8o8.js} +7 -103
- package/dist/{pi-embedded-helpers-dLW7QMQa.js → pi-embedded-helpers-CgxKWHj9.js} +1 -1
- package/dist/{pi-embedded-helpers-B8JQjQlx.js → pi-embedded-helpers-kB5lBgXk.js} +13 -109
- package/dist/{pi-embedded-helpers-V5QifZSd.js → pi-embedded-helpers-ueCT6VlS.js} +2 -2
- package/dist/{pi-tools.policy-C747j2xs.js → pi-tools.policy-DPmdlOwE.js} +1 -1
- package/dist/{pi-tools.policy-B9nQ2esl.js → pi-tools.policy-T6Z5F-_n.js} +1 -1
- package/dist/{plugin-registry-BQ_14aNH.js → plugin-registry-BAbkdLQ7.js} +1 -1
- package/dist/{plugin-registry-Dso3ttvf.js → plugin-registry-CEoSVvL1.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CAWn5TBW.js → audio-preflight-CpYjfwrA.js} +3 -4
- package/dist/plugin-sdk/{channel-web-CdAlKpn7.js → channel-web-xXTpy0N_.js} +3 -3
- package/dist/plugin-sdk/{deliver-PnVwVXLm.js → deliver-BwnrMlHO.js} +1 -1
- package/dist/plugin-sdk/gateway/chat-sanitize.d.ts +0 -11
- package/dist/plugin-sdk/{image-BGfQ0dkr.js → image-k_W1USVr.js} +1 -1
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/plugin-sdk/{pi-embedded-helpers-BMudP5Tn.js → pi-embedded-helpers-Cs2-_EpL.js} +2 -98
- package/dist/plugin-sdk/{reply-QYyMp-Tw.js → reply-EEvLfWgt.js} +107 -12
- package/dist/plugin-sdk/{runner-qajBqJHY.js → runner-Br1179I4.js} +1 -1
- package/dist/plugin-sdk/{web-CVs35ve3.js → web-COWtpMAH.js} +6 -6
- package/dist/{plugins-cli-CgbeQGSF.js → plugins-cli-BpuQ7Y9l.js} +10 -10
- package/dist/{plugins-cli-BVyrgA8I.js → plugins-cli-C_S07pgO.js} +30 -30
- package/dist/{program-kfkuCFKS.js → program-cO9YX6wL.js} +16 -16
- package/dist/{program-context-hfUEmZz7.js → program-context-QBBvnWFX.js} +21 -21
- package/dist/{prompt-select-styled-J9mSr0OH.js → prompt-select-styled-CepuQSKg.js} +10 -10
- package/dist/{prompt-select-styled-116ZbBko.js → prompt-select-styled-D3dYbx2P.js} +7 -7
- package/dist/{provider-auth-helpers-C6JINKCe.js → provider-auth-helpers-BMACaaEd.js} +1 -1
- package/dist/{provider-auth-helpers-B6VXmCAd.js → provider-auth-helpers-DXqvuBCi.js} +1 -1
- package/dist/{push-apns-jxwr84iE.js → push-apns-8YIzbTM7.js} +1 -1
- package/dist/{push-apns-DPN9gxCf.js → push-apns-DhZgao_r.js} +1 -1
- package/dist/{pw-ai-D8UzqLyI.js → pw-ai-CAkn033M.js} +4 -4
- package/dist/{qmd-manager-DeZm1nJL.js → qmd-manager-D85GJrir.js} +1 -1
- package/dist/{register.agent-zXM0Ehps.js → register.agent-CSUoUVKd.js} +14 -14
- package/dist/{register.agent-DuJFFLJT.js → register.agent-CiTS9lyx.js} +35 -35
- package/dist/{register.configure-CNCoYc7M.js → register.configure-BbE9MAer.js} +39 -39
- package/dist/{register.configure-DS0YVUwx.js → register.configure-CuCVLOW0.js} +14 -14
- package/dist/{register.maintenance-BXnLhacM.js → register.maintenance-CJG75LTu.js} +17 -17
- package/dist/{register.maintenance-D3oTcEuA.js → register.maintenance-D8bthvou.js} +37 -37
- package/dist/{register.message-BjdjpA_Z.js → register.message-CyqE4E2O.js} +10 -10
- package/dist/{register.message-DyIz3Dyp.js → register.message-nUpHGrEE.js} +30 -30
- package/dist/{register.onboard-CStFDwlr.js → register.onboard-BDlne5KX.js} +12 -12
- package/dist/{register.onboard-DN3MQsVM.js → register.onboard-Dlw-TCPH.js} +35 -35
- package/dist/{register.setup-BMsroiDO.js → register.setup-B8kiMuah.js} +35 -35
- package/dist/{register.setup-6f2WvCYV.js → register.setup-ByMyofSq.js} +12 -12
- package/dist/{register.status-health-sessions-CQB3d6mV.js → register.status-health-sessions-0odRpA-p.js} +13 -13
- package/dist/{register.status-health-sessions-Bioq718n.js → register.status-health-sessions-Diirshgb.js} +34 -34
- package/dist/{register.subclis-DjRoIlDB.js → register.subclis-CqEj9vfW.js} +12 -12
- package/dist/{replies-B4-OBhpP.js → replies-D9V19U2-.js} +2 -2
- package/dist/{replies-ConxSQu4.js → replies-DqdOBkTB.js} +2 -2
- package/dist/{replies-DPvPoRgq.js → replies-QloQerhz.js} +2 -2
- package/dist/{reply-b43dsTx2.js → reply-B9o45s3E.js} +166 -45
- package/dist/{run-main-DYbAd0T1.js → run-main-C__lZ7VF.js} +25 -25
- package/dist/{runner-CQnf083C.js → runner-BXN4KYDK.js} +1 -1
- package/dist/{runner-DhtP_e8E.js → runner-C0tJTZmp.js} +6 -6
- package/dist/{runner-t-wbbvf-.js → runner-CJJY2r19.js} +4 -4
- package/dist/{runner-Ct0-sE8b.js → runner-DOvsNiYz.js} +8 -8
- package/dist/{sandbox-DofcD9ax.js → sandbox-CbuJolk2.js} +1 -1
- package/dist/{sandbox-cli-Dx6F5FaT.js → sandbox-cli-C90jqh9l.js} +2 -3
- package/dist/{sandbox-cli-l_OcbOYC.js → sandbox-cli-Duc05KL9.js} +2 -3
- package/dist/{sandbox-yaTFb84E.js → sandbox-rMmahr2s.js} +1 -1
- package/dist/{security-cli-CSpwKdww.js → security-cli-Bt0VkUtO.js} +4 -5
- package/dist/{security-cli-BJ3IXZfm.js → security-cli-YGXUUBvD.js} +4 -5
- package/dist/{send-DXoJ5lC_.js → send-3YM-aarb.js} +1 -1
- package/dist/{send-OEyo5LFE.js → send-B18gkuvz.js} +2 -2
- package/dist/{send-LZO3UNRb.js → send-BVZGeP2r.js} +3 -3
- package/dist/{send-D3qb_2Q-.js → send-BeASPkFg.js} +4 -4
- package/dist/{send-Dz76LuDQ.js → send-BsocounR.js} +2 -2
- package/dist/{send-DzmRVAHq.js → send-CHOArYFe.js} +3 -3
- package/dist/{send-B9JhmJSo.js → send-CzE5UKr-.js} +5 -5
- package/dist/{send-TQWniAsM.js → send-D0dzPf6g.js} +2 -2
- package/dist/{send-bTMPppyJ.js → send-D16XtYvC.js} +4 -4
- package/dist/{send-yBb6c4og.js → send-D3M6pMr5.js} +5 -5
- package/dist/{send-CiVBt5gu.js → send-DEWzWqfZ.js} +4 -4
- package/dist/{send-COvqFO3S.js → send-D_yJMeJa.js} +4 -4
- package/dist/{send-DDt3Bdxx.js → send-De_WCeGZ.js} +4 -4
- package/dist/{send-DmlK72uJ.js → send-Do-0Kcmv.js} +3 -3
- package/dist/{send-DBTO2dLX.js → send-mi3NHnwI.js} +2 -2
- package/dist/{server-methods-DIMQMEoV.js → server-methods-B_NSJmhc.js} +14 -14
- package/dist/{server-methods-B_y_To6u.js → server-methods-Df9KsV_-.js} +13 -13
- package/dist/{server-node-events-xk6gk1TZ.js → server-node-events-C2mugatX.js} +10 -10
- package/dist/{server-node-events-Cl8uQahY.js → server-node-events-ZG0SBDkU.js} +30 -30
- package/dist/{session-_ViRAnAz.js → session-T0JXlYWe.js} +1 -1
- package/dist/{session-utils-kkbiQhvc.js → session-utils-Cdv2Qaq2.js} +1 -1
- package/dist/{sessions-8_kZyON5.js → sessions-BEyCtqBB.js} +3 -271
- package/dist/{sessions-C-C7dQBK.js → sessions-CX93jXmG.js} +2 -2
- package/dist/{sessions-BYcI2Zrm.js → sessions-DJAxaVI7.js} +2 -270
- package/dist/{skill-commands-D_bBwwvA.js → skill-commands-B64uavY9.js} +1 -1
- package/dist/{skill-commands-Bc-ztbDr.js → skill-commands-DWcJOIzP.js} +1 -1
- package/dist/{skills-install-CKFZBTH2.js → skills-install-D67isO1L.js} +1 -1
- package/dist/{status-B2lMU2Pm.js → status-BTF6_aBO.js} +1 -1
- package/dist/{status-Bz1iwxQ8.js → status-BytVj4kU.js} +1 -1
- package/dist/{status-D0xPNlv4.js → status-PADx9rG7.js} +5 -5
- package/dist/{status-Dy0ocYJ8.js → status-hgm5EhwS.js} +7 -7
- package/dist/{status.update-D40obmG1.js → status.update-DlaskfTr.js} +1 -1
- package/dist/{store-Bb4oiLME.js → store-C0wvOkae.js} +1 -1
- package/dist/{store-C4ZvS7QX.js → store-bnzGvI16.js} +1 -1
- package/dist/{subagent-registry-7kBxT_d_.js → subagent-registry-BR2Qhqjf.js} +138 -17
- package/dist/{tables-CjPLB3aX.js → tables-BEzT0Da4.js} +1 -1
- package/dist/{tables-dfFTl4Oa.js → tables-COnZ169v.js} +1 -1
- package/dist/{tables-XnT3BCYh.js → tables-DuZspiBu.js} +1 -1
- package/dist/{target-errors-B_xs1J06.js → target-errors-7AvoVa10.js} +1 -1
- package/dist/{target-errors-CL9BfceM.js → target-errors-BbOqxMY0.js} +2 -2
- package/dist/{target-errors-LR7w6--g.js → target-errors-Be1SwYlW.js} +2 -2
- package/dist/{thinking-EjJEKdLq.js → thinking-CdlENGRW.js} +1 -1
- package/dist/{thinking-XA7vussX.js → thinking-W85Rb32m.js} +1 -1
- package/dist/{tool-images-BHM4TeU5.js → tool-images-ChC2CXaN.js} +1 -1
- package/dist/{tool-images-BwAkbbBM.js → tool-images-DXB7tqWi.js} +1 -1
- package/dist/{tui-Bmq33rYO.js → tui-0rURH3b3.js} +2 -2
- package/dist/{tui-DSGlMzTS.js → tui-CcirlGg5.js} +3 -3
- package/dist/{tui-cli-yL_gg_7w.js → tui-cli-D3VMk5c8.js} +6 -7
- package/dist/{tui-cli-8Ln6C319.js → tui-cli-hcbzeOtp.js} +4 -5
- package/dist/{update-check-DK1kMuwI.js → update-check-CtckACbb.js} +1 -1
- package/dist/{update-cli-D0Jlnkzy.js → update-cli-CHr8rjf-.js} +17 -17
- package/dist/{update-cli-B4FtAyNd.js → update-cli-qacplfF4.js} +38 -38
- package/dist/{update-runner-Ci3cNYff.js → update-runner-DM8zQvQB.js} +2 -2
- package/dist/{update-runner-CDnlfyP5.js → update-runner-DNA7FJa2.js} +1 -1
- package/dist/{web-ENDSDPaD.js → web-BKQnrqo-.js} +37 -37
- package/dist/{web-cJUlI_Wb.js → web-CAnxcgBD.js} +29 -29
- package/dist/{web-10GxXUo7.js → web-DkQc82PT.js} +9 -9
- package/dist/{web-gNZ16539.js → web-UroM-w6c.js} +31 -31
- package/dist/{whatsapp-actions-CUczC854.js → whatsapp-actions-BIjGyW3T.js} +9 -9
- package/dist/{whatsapp-actions-ia2odzch.js → whatsapp-actions-BL7tCNC_.js} +12 -12
- package/dist/{whatsapp-actions-BcsFR5tf.js → whatsapp-actions-Jfx4zcwv.js} +7 -7
- package/package.json +1 -1
- /package/dist/{accounts-9VRq1rY7.js → accounts-8zZqL37v.js} +0 -0
- /package/dist/{accounts-BCS-nbgN.js → accounts-CWktKM8a.js} +0 -0
- /package/dist/{api-key-rotation-erqZ9Tuc.js → api-key-rotation-BukD0zzl.js} +0 -0
- /package/dist/{diagnostic-session-state-Bu3E4Enn.js → diagnostic-session-state-Bxo4UHOL.js} +0 -0
- /package/dist/{diagnostic-session-state-DmrztgHU.js → diagnostic-session-state-C1vRJs5w.js} +0 -0
- /package/dist/{fetch-timeout-DoySHqfO.js → fetch-timeout-Db3da8yR.js} +0 -0
- /package/dist/{github-copilot-token-BqpAEW8G.js → github-copilot-token-C_qUP7p5.js} +0 -0
- /package/dist/{image-ops-UtlmP67m.js → image-ops-ByaQt43P.js} +0 -0
- /package/dist/{image-ops-DD37OhdR.js → image-ops-CvJzsyvE.js} +0 -0
- /package/dist/{message-channel-B3YUM8IG.js → message-channel-BQINJQIT.js} +0 -0
- /package/dist/{message-channel-Bj7aZphL.js → message-channel-Dz5lr5b0.js} +0 -0
- /package/dist/{model-catalog-DhaH7him.js → model-catalog-DjJ9GtKX.js} +0 -0
- /package/dist/{pi-model-discovery-C-yOXpma.js → pi-model-discovery-j5tVLINv.js} +0 -0
- /package/dist/{sqlite-DhNyBVPk.js → sqlite-Dx3J_aSE.js} +0 -0
- /package/dist/{tokens-DBCvs-Ns.js → tokens-BuceUQDl.js} +0 -0
- /package/dist/{tool-display-pHB3J5PK.js → tool-display-D8N3rsYt.js} +0 -0
- /package/dist/{tool-images-CLRUTPlM.js → tool-images-DvUBlqjX.js} +0 -0
- /package/dist/{transcript-events-CJRvASY_.js → transcript-events-DdnTeoR1.js} +0 -0
|
@@ -5,63 +5,63 @@ import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as dang
|
|
|
5
5
|
import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, l as resolveEffectiveModelFallbacks, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-BxoUQqgM.js";
|
|
6
6
|
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
7
7
|
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-wAaHI8-5.js";
|
|
8
|
-
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-H1H1LiSQ.js";
|
|
9
|
-
import { $ as normalizeDeliveryContext, $t as stripHeartbeatToken, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, Qt as resolveHeartbeatPrompt, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B8JQjQlx.js";
|
|
8
|
+
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-H1H1LiSQ.js";
|
|
10
9
|
import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-DQYI3Fr-.js";
|
|
11
10
|
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-tNElYrCH.js";
|
|
12
11
|
import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
|
|
13
12
|
import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
|
|
14
13
|
import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
|
|
15
|
-
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
16
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
17
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
18
|
-
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-
|
|
19
|
-
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-
|
|
20
|
-
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
21
|
-
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-
|
|
22
|
-
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-
|
|
23
|
-
import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-
|
|
24
|
-
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-
|
|
25
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
26
|
-
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-
|
|
27
|
-
import { A as
|
|
14
|
+
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-CHOArYFe.js";
|
|
15
|
+
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-D3M6pMr5.js";
|
|
16
|
+
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-B3UoBZdC.js";
|
|
17
|
+
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-CI0kRQkt.js";
|
|
18
|
+
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
|
|
19
|
+
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CWktKM8a.js";
|
|
20
|
+
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-D_yJMeJa.js";
|
|
21
|
+
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-CvJzsyvE.js";
|
|
22
|
+
import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-CeL58m55.js";
|
|
23
|
+
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-C_qUP7p5.js";
|
|
24
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
|
|
25
|
+
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Dz5lr5b0.js";
|
|
26
|
+
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-kB5lBgXk.js";
|
|
27
|
+
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-DM0K7qC1.js";
|
|
28
28
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-D0IQ3WuX.js";
|
|
29
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
29
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-LmEyZdbC.js";
|
|
30
30
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BFekKL7i.js";
|
|
31
31
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
|
|
32
32
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
|
|
33
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./store-
|
|
34
|
-
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-
|
|
33
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./store-C0wvOkae.js";
|
|
34
|
+
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-CdlENGRW.js";
|
|
35
35
|
import { n as resolveConversationLabel } from "./conversation-label-DXUkoKcB.js";
|
|
36
36
|
import { t as resolveIMessageAccount } from "./accounts-qtxJ-6em.js";
|
|
37
37
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
|
|
38
38
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
|
|
39
|
-
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-
|
|
40
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
39
|
+
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DXB7tqWi.js";
|
|
40
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-RFofsrof.js";
|
|
41
41
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
|
|
42
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
42
|
+
import { n as resolveMemorySearchConfig } from "./manager-B5EXdBQV.js";
|
|
43
43
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-DRbx2dhW.js";
|
|
44
44
|
import { n as retryAsync } from "./retry-Cly39XZB.js";
|
|
45
|
-
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-
|
|
46
|
-
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-
|
|
45
|
+
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Be1SwYlW.js";
|
|
46
|
+
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BW5f05BR.js";
|
|
47
47
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
|
|
48
48
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
|
|
49
|
-
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
50
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-
|
|
51
|
-
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
52
|
-
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-
|
|
49
|
+
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DMwIh5cS.js";
|
|
50
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DccrnjsE.js";
|
|
51
|
+
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-C3C4Rv3O.js";
|
|
52
|
+
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-B64uavY9.js";
|
|
53
53
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
|
|
54
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
54
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DOvsNiYz.js";
|
|
55
55
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
|
|
56
56
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
|
|
57
57
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CsM_hJ_s.js";
|
|
58
58
|
import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
|
|
59
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
60
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
61
|
-
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-
|
|
59
|
+
import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
|
|
60
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CzE5UKr-.js";
|
|
61
|
+
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-BeASPkFg.js";
|
|
62
62
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZ-1eqw0.js";
|
|
63
63
|
import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
|
|
64
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
64
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-D9V19U2-.js";
|
|
65
65
|
import { t as getActiveWebListener } from "./active-listener-C9r8ZB9m.js";
|
|
66
66
|
import { createRequire } from "node:module";
|
|
67
67
|
import * as fs$2 from "node:fs/promises";
|
|
@@ -102,6 +102,101 @@ import { run, sequentialize } from "@grammyjs/runner";
|
|
|
102
102
|
import { apiThrottler } from "@grammyjs/transformer-throttler";
|
|
103
103
|
import { EventEmitter } from "node:events";
|
|
104
104
|
|
|
105
|
+
//#region src/auto-reply/heartbeat.ts
|
|
106
|
+
const HEARTBEAT_PROMPT = "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.";
|
|
107
|
+
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
108
|
+
function resolveHeartbeatPrompt(raw) {
|
|
109
|
+
return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
|
|
110
|
+
}
|
|
111
|
+
function stripTokenAtEdges(raw) {
|
|
112
|
+
let text = raw.trim();
|
|
113
|
+
if (!text) return {
|
|
114
|
+
text: "",
|
|
115
|
+
didStrip: false
|
|
116
|
+
};
|
|
117
|
+
const token = SYMIPULSE_TOKEN;
|
|
118
|
+
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
119
|
+
if (!text.includes(token)) return {
|
|
120
|
+
text,
|
|
121
|
+
didStrip: false
|
|
122
|
+
};
|
|
123
|
+
let didStrip = false;
|
|
124
|
+
let changed = true;
|
|
125
|
+
while (changed) {
|
|
126
|
+
changed = false;
|
|
127
|
+
const next = text.trim();
|
|
128
|
+
if (next.startsWith(token)) {
|
|
129
|
+
text = next.slice(token.length).trimStart();
|
|
130
|
+
didStrip = true;
|
|
131
|
+
changed = true;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
135
|
+
const idx = next.lastIndexOf(token);
|
|
136
|
+
const before = next.slice(0, idx).trimEnd();
|
|
137
|
+
if (!before) text = "";
|
|
138
|
+
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
139
|
+
didStrip = true;
|
|
140
|
+
changed = true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
text: text.replace(/\s+/g, " ").trim(),
|
|
145
|
+
didStrip
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function stripHeartbeatToken(raw, opts = {}) {
|
|
149
|
+
if (!raw) return {
|
|
150
|
+
shouldSkip: true,
|
|
151
|
+
text: "",
|
|
152
|
+
didStrip: false
|
|
153
|
+
};
|
|
154
|
+
const trimmed = raw.trim();
|
|
155
|
+
if (!trimmed) return {
|
|
156
|
+
shouldSkip: true,
|
|
157
|
+
text: "",
|
|
158
|
+
didStrip: false
|
|
159
|
+
};
|
|
160
|
+
const mode = opts.mode ?? "message";
|
|
161
|
+
const maxAckCharsRaw = opts.maxAckChars;
|
|
162
|
+
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
163
|
+
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
164
|
+
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
165
|
+
const trimmedNormalized = stripMarkup(trimmed);
|
|
166
|
+
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
167
|
+
shouldSkip: false,
|
|
168
|
+
text: trimmed,
|
|
169
|
+
didStrip: false
|
|
170
|
+
};
|
|
171
|
+
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
172
|
+
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
173
|
+
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
174
|
+
if (!picked.didStrip) return {
|
|
175
|
+
shouldSkip: false,
|
|
176
|
+
text: trimmed,
|
|
177
|
+
didStrip: false
|
|
178
|
+
};
|
|
179
|
+
if (!picked.text) return {
|
|
180
|
+
shouldSkip: true,
|
|
181
|
+
text: "",
|
|
182
|
+
didStrip: true
|
|
183
|
+
};
|
|
184
|
+
const rest = picked.text.trim();
|
|
185
|
+
if (mode === "heartbeat") {
|
|
186
|
+
if (rest.length <= maxAckChars) return {
|
|
187
|
+
shouldSkip: true,
|
|
188
|
+
text: "",
|
|
189
|
+
didStrip: true
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
shouldSkip: false,
|
|
194
|
+
text: rest,
|
|
195
|
+
didStrip: true
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
//#endregion
|
|
105
200
|
//#region src/channels/allowlist-match.ts
|
|
106
201
|
function formatAllowlistMatchMeta(match) {
|
|
107
202
|
return `matchKey=${match?.matchKey ?? "none"} matchSource=${match?.matchSource ?? "none"}`;
|
|
@@ -3379,7 +3474,7 @@ async function getMemorySearchManager(params) {
|
|
|
3379
3474
|
const wrapper = new FallbackMemoryManager({
|
|
3380
3475
|
primary,
|
|
3381
3476
|
fallbackFactory: async () => {
|
|
3382
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3477
|
+
const { MemoryIndexManager } = await import("./manager-B5EXdBQV.js").then((n) => n.t);
|
|
3383
3478
|
return await MemoryIndexManager.get(params);
|
|
3384
3479
|
}
|
|
3385
3480
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -3392,7 +3487,7 @@ async function getMemorySearchManager(params) {
|
|
|
3392
3487
|
}
|
|
3393
3488
|
}
|
|
3394
3489
|
try {
|
|
3395
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3490
|
+
const { MemoryIndexManager } = await import("./manager-B5EXdBQV.js").then((n) => n.t);
|
|
3396
3491
|
return { manager: await MemoryIndexManager.get(params) };
|
|
3397
3492
|
} catch (err) {
|
|
3398
3493
|
return {
|
|
@@ -7105,7 +7200,7 @@ async function routeReply(params) {
|
|
|
7105
7200
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7106
7201
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7107
7202
|
try {
|
|
7108
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7203
|
+
const { deliverOutboundPayloads } = await import("./deliver-B3UoBZdC.js").then((n) => n.n);
|
|
7109
7204
|
return {
|
|
7110
7205
|
ok: true,
|
|
7111
7206
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12340,7 +12435,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
|
12340
12435
|
await ensureSymiModelsJson(cfg);
|
|
12341
12436
|
} catch {}
|
|
12342
12437
|
try {
|
|
12343
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
12438
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DaNAekda.js").then((n) => n.r);
|
|
12344
12439
|
const agentDir = resolveSymiAgentDir();
|
|
12345
12440
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
12346
12441
|
applyDiscoveredContextWindows({
|
|
@@ -12558,7 +12653,7 @@ async function createModelSelectionState(params) {
|
|
|
12558
12653
|
}
|
|
12559
12654
|
}
|
|
12560
12655
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
12561
|
-
const { ensureAuthProfileStore } = await import("./model-auth-
|
|
12656
|
+
const { ensureAuthProfileStore } = await import("./model-auth-CeL58m55.js").then((n) => n.s);
|
|
12562
12657
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
12563
12658
|
const providerKey = normalizeProviderId(provider);
|
|
12564
12659
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -41478,7 +41573,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41478
41573
|
return;
|
|
41479
41574
|
}
|
|
41480
41575
|
try {
|
|
41481
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41576
|
+
const { deliverOutboundPayloads } = await import("./deliver-B3UoBZdC.js").then((n) => n.n);
|
|
41482
41577
|
await deliverOutboundPayloads({
|
|
41483
41578
|
cfg: params.cfg,
|
|
41484
41579
|
channel,
|
|
@@ -44921,7 +45016,7 @@ async function describeStickerImage(params) {
|
|
|
44921
45016
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
44922
45017
|
try {
|
|
44923
45018
|
const buffer = await fs.readFile(imagePath);
|
|
44924
|
-
const { describeImageWithModel } = await import("./image-
|
|
45019
|
+
const { describeImageWithModel } = await import("./image-RFofsrof.js").then((n) => n.n);
|
|
44925
45020
|
return (await describeImageWithModel({
|
|
44926
45021
|
buffer,
|
|
44927
45022
|
fileName: "sticker.webp",
|
|
@@ -45344,7 +45439,7 @@ function createWhatsAppLoginTool() {
|
|
|
45344
45439
|
force: Type.Optional(Type.Boolean())
|
|
45345
45440
|
}),
|
|
45346
45441
|
execute: async (_toolCallId, args) => {
|
|
45347
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
45442
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-9OQSnm5L.js");
|
|
45348
45443
|
if ((args?.action ?? "start") === "wait") {
|
|
45349
45444
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
45350
45445
|
return {
|
|
@@ -47382,7 +47477,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47382
47477
|
let preflightTranscript;
|
|
47383
47478
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47384
47479
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47385
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47480
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DRQD_nt1.js");
|
|
47386
47481
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47387
47482
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47388
47483
|
ctx: {
|
|
@@ -51388,27 +51483,27 @@ function isVoiceChannelType(type) {
|
|
|
51388
51483
|
function createDefaultDeps() {
|
|
51389
51484
|
return {
|
|
51390
51485
|
sendMessageWhatsApp: async (...args) => {
|
|
51391
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51486
|
+
const { sendMessageWhatsApp } = await import("./web-BKQnrqo-.js");
|
|
51392
51487
|
return await sendMessageWhatsApp(...args);
|
|
51393
51488
|
},
|
|
51394
51489
|
sendMessageTelegram: async (...args) => {
|
|
51395
|
-
const { sendMessageTelegram } = await import("./send-
|
|
51490
|
+
const { sendMessageTelegram } = await import("./send-D_yJMeJa.js").then((n) => n.l);
|
|
51396
51491
|
return await sendMessageTelegram(...args);
|
|
51397
51492
|
},
|
|
51398
51493
|
sendMessageDiscord: async (...args) => {
|
|
51399
|
-
const { sendMessageDiscord } = await import("./send-
|
|
51494
|
+
const { sendMessageDiscord } = await import("./send-D3M6pMr5.js").then((n) => n.t);
|
|
51400
51495
|
return await sendMessageDiscord(...args);
|
|
51401
51496
|
},
|
|
51402
51497
|
sendMessageSlack: async (...args) => {
|
|
51403
|
-
const { sendMessageSlack } = await import("./send-
|
|
51498
|
+
const { sendMessageSlack } = await import("./send-CHOArYFe.js").then((n) => n.n);
|
|
51404
51499
|
return await sendMessageSlack(...args);
|
|
51405
51500
|
},
|
|
51406
51501
|
sendMessageSignal: async (...args) => {
|
|
51407
|
-
const { sendMessageSignal } = await import("./send-
|
|
51502
|
+
const { sendMessageSignal } = await import("./send-CzE5UKr-.js").then((n) => n.i);
|
|
51408
51503
|
return await sendMessageSignal(...args);
|
|
51409
51504
|
},
|
|
51410
51505
|
sendMessageIMessage: async (...args) => {
|
|
51411
|
-
const { sendMessageIMessage } = await import("./send-
|
|
51506
|
+
const { sendMessageIMessage } = await import("./send-BeASPkFg.js").then((n) => n.n);
|
|
51412
51507
|
return await sendMessageIMessage(...args);
|
|
51413
51508
|
}
|
|
51414
51509
|
};
|
|
@@ -61834,7 +61929,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
61834
61929
|
}
|
|
61835
61930
|
let commandsRegistry;
|
|
61836
61931
|
async function getCommandsRegistry() {
|
|
61837
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
61932
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C3C4Rv3O.js").then((n) => n.n);
|
|
61838
61933
|
return commandsRegistry;
|
|
61839
61934
|
}
|
|
61840
61935
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -62237,8 +62332,8 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62237
62332
|
});
|
|
62238
62333
|
const deliverSlashPayloads = async (replies) => {
|
|
62239
62334
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
62240
|
-
import("./replies-
|
|
62241
|
-
import("./chunk-
|
|
62335
|
+
import("./replies-D9V19U2-.js").then((n) => n.r),
|
|
62336
|
+
import("./chunk-BW5f05BR.js").then((n) => n.s),
|
|
62242
62337
|
import("./markdown-tables-iMQQZu4Q.js").then((n) => n.t)
|
|
62243
62338
|
]);
|
|
62244
62339
|
await deliverSlackSlashReplies({
|
|
@@ -62292,7 +62387,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62292
62387
|
let nativeCommands = [];
|
|
62293
62388
|
if (nativeEnabled) {
|
|
62294
62389
|
reg = await getCommandsRegistry();
|
|
62295
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
62390
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B64uavY9.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
62296
62391
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
62297
62392
|
skillCommands,
|
|
62298
62393
|
provider: "slack"
|
|
@@ -64510,7 +64605,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64510
64605
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64511
64606
|
let preflightTranscript;
|
|
64512
64607
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64513
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64608
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DRQD_nt1.js");
|
|
64514
64609
|
preflightTranscript = await transcribeFirstAudio({
|
|
64515
64610
|
ctx: {
|
|
64516
64611
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66655,23 +66750,23 @@ let webLoginQrPromise = null;
|
|
|
66655
66750
|
let webChannelPromise = null;
|
|
66656
66751
|
let whatsappActionsPromise = null;
|
|
66657
66752
|
function loadWebOutbound() {
|
|
66658
|
-
webOutboundPromise ??= import("./outbound-
|
|
66753
|
+
webOutboundPromise ??= import("./outbound-Cedd_yui.js").then((n) => n.t);
|
|
66659
66754
|
return webOutboundPromise;
|
|
66660
66755
|
}
|
|
66661
66756
|
function loadWebLogin() {
|
|
66662
|
-
webLoginPromise ??= import("./login-
|
|
66757
|
+
webLoginPromise ??= import("./login-BG_7eJLu.js").then((n) => n.n);
|
|
66663
66758
|
return webLoginPromise;
|
|
66664
66759
|
}
|
|
66665
66760
|
function loadWebLoginQr() {
|
|
66666
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
66761
|
+
webLoginQrPromise ??= import("./login-qr-9OQSnm5L.js");
|
|
66667
66762
|
return webLoginQrPromise;
|
|
66668
66763
|
}
|
|
66669
66764
|
function loadWebChannel() {
|
|
66670
|
-
webChannelPromise ??= import("./web-
|
|
66765
|
+
webChannelPromise ??= import("./web-BKQnrqo-.js");
|
|
66671
66766
|
return webChannelPromise;
|
|
66672
66767
|
}
|
|
66673
66768
|
function loadWhatsAppActions() {
|
|
66674
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
66769
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BL7tCNC_.js");
|
|
66675
66770
|
return whatsappActionsPromise;
|
|
66676
66771
|
}
|
|
66677
66772
|
function createPluginRuntime() {
|
|
@@ -67949,7 +68044,7 @@ function shouldEmitLoopWarning(state, warningKey, count) {
|
|
|
67949
68044
|
async function recordLoopOutcome(args) {
|
|
67950
68045
|
if (!args.ctx?.sessionKey) return;
|
|
67951
68046
|
try {
|
|
67952
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
68047
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bxo4UHOL.js").then((n) => n.n);
|
|
67953
68048
|
const { recordToolCallOutcome } = await import("./tool-loop-detection-Cs8_HCsx.js");
|
|
67954
68049
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
67955
68050
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -67970,8 +68065,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
67970
68065
|
const toolName = normalizeToolName(args.toolName || "tool");
|
|
67971
68066
|
const params = args.params;
|
|
67972
68067
|
if (args.ctx?.sessionKey) {
|
|
67973
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
67974
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
68068
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bxo4UHOL.js").then((n) => n.n);
|
|
68069
|
+
const { logToolLoopAction } = await import("./diagnostic-CI0kRQkt.js").then((n) => n.n);
|
|
67975
68070
|
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Cs8_HCsx.js");
|
|
67976
68071
|
const sessionState = getDiagnosticSessionState({
|
|
67977
68072
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -71833,7 +71928,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
71833
71928
|
if (!apiKeyInfo.apiKey) {
|
|
71834
71929
|
if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
|
|
71835
71930
|
} else if (model.provider === "github-copilot") {
|
|
71836
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
71931
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-C_qUP7p5.js").then((n) => n.n);
|
|
71837
71932
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
71838
71933
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
71839
71934
|
} else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
|
|
@@ -76456,7 +76551,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
76456
76551
|
return;
|
|
76457
76552
|
}
|
|
76458
76553
|
if (model.provider === "github-copilot") {
|
|
76459
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
76554
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-C_qUP7p5.js").then((n) => n.n);
|
|
76460
76555
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
76461
76556
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
76462
76557
|
} else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
|
|
2
2
|
import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
|
|
3
|
-
import { A as normalizeE164, P as resolveUserPath,
|
|
3
|
+
import { A as normalizeE164, P as resolveUserPath, V as truncateUtf16Safe, lt as resolvePreferredSymiTmpDir, t as CHANNEL_IDS } from "./registry-BhoUuugi.js";
|
|
4
4
|
import { E as runExec, _ as DEFAULT_SYMIPULSE_FILENAME, b as ensureAgentWorkspace, f as DEFAULT_AGENTS_FILENAME, g as DEFAULT_SYMICORE_FILENAME, h as DEFAULT_IDENTITY_FILENAME, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, p as DEFAULT_AGENT_WORKSPACE_DIR, u as resolveSessionAgentId, v as DEFAULT_TOOLS_FILENAME, y as DEFAULT_USER_FILENAME } from "./agent-scope-Cbl5pNe1.js";
|
|
5
5
|
import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
|
|
6
6
|
import { J as isPidAlive, q as resolveProcessScopedMap } from "./model-selection--4t4F87n.js";
|
|
7
7
|
import { n as parseBooleanValue, r as formatCliCommand } from "./env-CQ_DQOwT.js";
|
|
8
|
-
import { r as SYMIPULSE_TOKEN } from "./tokens-Cn6drXx2.js";
|
|
9
8
|
import { r as normalizeChannelId } from "./plugins-71oIavrF.js";
|
|
10
9
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
11
|
-
import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-
|
|
12
|
-
import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-
|
|
10
|
+
import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
|
|
11
|
+
import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
|
|
13
12
|
import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BjGo9GnL.js";
|
|
14
13
|
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B_zrSLce.js";
|
|
15
14
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
|
|
16
15
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
|
|
17
16
|
import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
18
|
-
import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-
|
|
19
|
-
import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-
|
|
17
|
+
import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-bnzGvI16.js";
|
|
18
|
+
import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-W85Rb32m.js";
|
|
20
19
|
import { n as resolveConversationLabel } from "./conversation-label-BShfMyKA.js";
|
|
21
20
|
import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
|
|
22
21
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
|
|
23
|
-
import { t as sanitizeContentBlocksImages } from "./tool-images-
|
|
22
|
+
import { t as sanitizeContentBlocksImages } from "./tool-images-ChC2CXaN.js";
|
|
24
23
|
import path, { posix } from "node:path";
|
|
25
24
|
import fs, { existsSync, realpathSync } from "node:fs";
|
|
26
25
|
import os from "node:os";
|
|
@@ -30,101 +29,6 @@ import crypto, { createHash, timingSafeEqual } from "node:crypto";
|
|
|
30
29
|
import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
|
|
31
30
|
import express from "express";
|
|
32
31
|
|
|
33
|
-
//#region src/auto-reply/heartbeat.ts
|
|
34
|
-
const HEARTBEAT_PROMPT = "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.";
|
|
35
|
-
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
36
|
-
function resolveHeartbeatPrompt(raw) {
|
|
37
|
-
return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
|
|
38
|
-
}
|
|
39
|
-
function stripTokenAtEdges(raw) {
|
|
40
|
-
let text = raw.trim();
|
|
41
|
-
if (!text) return {
|
|
42
|
-
text: "",
|
|
43
|
-
didStrip: false
|
|
44
|
-
};
|
|
45
|
-
const token = SYMIPULSE_TOKEN;
|
|
46
|
-
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
47
|
-
if (!text.includes(token)) return {
|
|
48
|
-
text,
|
|
49
|
-
didStrip: false
|
|
50
|
-
};
|
|
51
|
-
let didStrip = false;
|
|
52
|
-
let changed = true;
|
|
53
|
-
while (changed) {
|
|
54
|
-
changed = false;
|
|
55
|
-
const next = text.trim();
|
|
56
|
-
if (next.startsWith(token)) {
|
|
57
|
-
text = next.slice(token.length).trimStart();
|
|
58
|
-
didStrip = true;
|
|
59
|
-
changed = true;
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
63
|
-
const idx = next.lastIndexOf(token);
|
|
64
|
-
const before = next.slice(0, idx).trimEnd();
|
|
65
|
-
if (!before) text = "";
|
|
66
|
-
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
67
|
-
didStrip = true;
|
|
68
|
-
changed = true;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
text: text.replace(/\s+/g, " ").trim(),
|
|
73
|
-
didStrip
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function stripHeartbeatToken(raw, opts = {}) {
|
|
77
|
-
if (!raw) return {
|
|
78
|
-
shouldSkip: true,
|
|
79
|
-
text: "",
|
|
80
|
-
didStrip: false
|
|
81
|
-
};
|
|
82
|
-
const trimmed = raw.trim();
|
|
83
|
-
if (!trimmed) return {
|
|
84
|
-
shouldSkip: true,
|
|
85
|
-
text: "",
|
|
86
|
-
didStrip: false
|
|
87
|
-
};
|
|
88
|
-
const mode = opts.mode ?? "message";
|
|
89
|
-
const maxAckCharsRaw = opts.maxAckChars;
|
|
90
|
-
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
91
|
-
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
92
|
-
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
93
|
-
const trimmedNormalized = stripMarkup(trimmed);
|
|
94
|
-
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
95
|
-
shouldSkip: false,
|
|
96
|
-
text: trimmed,
|
|
97
|
-
didStrip: false
|
|
98
|
-
};
|
|
99
|
-
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
100
|
-
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
101
|
-
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
102
|
-
if (!picked.didStrip) return {
|
|
103
|
-
shouldSkip: false,
|
|
104
|
-
text: trimmed,
|
|
105
|
-
didStrip: false
|
|
106
|
-
};
|
|
107
|
-
if (!picked.text) return {
|
|
108
|
-
shouldSkip: true,
|
|
109
|
-
text: "",
|
|
110
|
-
didStrip: true
|
|
111
|
-
};
|
|
112
|
-
const rest = picked.text.trim();
|
|
113
|
-
if (mode === "heartbeat") {
|
|
114
|
-
if (rest.length <= maxAckChars) return {
|
|
115
|
-
shouldSkip: true,
|
|
116
|
-
text: "",
|
|
117
|
-
didStrip: true
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
shouldSkip: false,
|
|
122
|
-
text: rest,
|
|
123
|
-
didStrip: true
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
//#endregion
|
|
128
32
|
//#region src/agents/pi-embedded-helpers/bootstrap.ts
|
|
129
33
|
function isBase64Signature(value) {
|
|
130
34
|
const trimmed = value.trim();
|
|
@@ -7881,4 +7785,4 @@ function validateAnthropicTurns(messages) {
|
|
|
7881
7785
|
}
|
|
7882
7786
|
|
|
7883
7787
|
//#endregion
|
|
7884
|
-
export { mergeDeliveryContext as $,
|
|
7788
|
+
export { mergeDeliveryContext as $, isTransientHttpError as A, DEFAULT_UPLOAD_DIR as At, resolveMirroredTranscriptText as B, expandToolGroups as Bt, isContextOverflowError as C, resolveGroupSessionKey as Ct, isRateLimitAssistantError as D, registerBrowserRoutes as Dt, isLikelyContextOverflowError as E, createBrowserRouteContext as Et, resolveSandboxContext as F, resolveSandboxConfigForAgent as Ft, saveSessionStore as G, compileGlobPatterns as Gt, loadSessionStore as H, normalizeToolName as Ht, resolveSandboxRuntimeStatus as I, applyOwnerOnlyToolPolicy as It, updateSessionStoreEntry as J, ensureSessionHeader$1 as Jt, updateLastRoute as K, matchesAnyGlobPattern as Kt, extractDeliveryInfo as L, buildPluginToolGroups as Lt, parseImageSizeError as M, getBridgeAuthForPort as Mt, sanitizeUserFacingText as N, ensureBrowserControlAuth as Nt, isRawApiErrorPayload as O, resolveBrowserConfig as Ot, ensureSandboxWorkspaceForSession as P, resolveBrowserControlAuth as Pt, deliveryContextKey as Q, parseSessionThreadInfo as R, collectExplicitAllowlist as Rt, isCompactionFailureError as S, deriveSessionMetaPatch as St, isFailoverErrorMessage as T, resolveSessionLockMaxHoldFromTimeout as Tt, readSessionUpdatedAt as U, resolveToolProfilePolicy as Ut, resolveAndPersistSessionFile as V, mergeAlsoAllowPolicy as Vt, recordSessionMetaFromInbound as W, stripPluginOnlyAllowlist as Wt, resolveCacheTtlMs as X, resolveBootstrapTotalMaxChars as Xt, isCacheEnabled as Y, resolveBootstrapMaxChars as Yt, deliveryContextFromSession as Z, sanitizeGoogleTurnOrdering as Zt, formatRawAssistantErrorForUi as _, DEFAULT_RESET_TRIGGERS as _t, isMessagingToolDuplicateNormalized as a, countToolResults as at, isBillingAssistantError as b, resolveExplicitAgentSessionKey as bt, extractToolCallsFromAssistant as c, applyInputProvenanceToUserMessage as ct, isAntigravityClaude as d, resolveSessionKey as dt, normalizeDeliveryContext as et, isGoogleModelApi as f, evaluateSessionFreshness as ft, formatBillingErrorMessage as g, resolveThreadFlag as gt, formatAssistantErrorText as h, resolveSessionResetType as ht, isMessagingToolDuplicate as i, capArrayByJsonBytes as it, parseImageDimensionError as j, resolveExistingPathsWithinRoot as jt, isTimeoutErrorMessage as k, resolveProfile as kt, extractToolResultId as l, hasInterSessionUserProvenance as lt, classifyFailoverReason as m, resolveSessionResetPolicy as mt, validateGeminiTurns as n, normalizeAccountId as nt, normalizeTextForComparison as o, extractToolCallNames as ot, BILLING_ERROR_USER_MESSAGE as p, resolveChannelResetConfig as pt, updateSessionStore as q, buildBootstrapContextFiles as qt, pickFallbackThinkingLevel as r, archiveSessionTranscripts as rt, sanitizeSessionMessagesImages as s, INPUT_PROVENANCE_KIND_VALUES as st, validateAnthropicTurns as t, normalizeSessionDeliveryFields as tt, downgradeOpenAIReasoningBlocks as u, normalizeInputProvenance as ut, getApiErrorPayloadFingerprint as v, resolveFreshSessionTotalTokens as vt, isFailoverAssistantError as w, acquireSessionWriteLock as wt, isCloudCodeAssistFormatError as x, resolveMainSessionKey as xt, isAuthAssistantError as y, canonicalizeMainSessionAlias as yt, appendAssistantMessageToSessionTranscript as z, expandPolicyWithPluginGroups as zt };
|