@symerian/symi 2.0.9 → 2.0.11
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-DQDfh7hZ.js → audio-preflight-CO2seHjy.js} +11 -12
- package/dist/{audio-preflight-B6L8N6Ly.js → audio-preflight-Cq4C-m27.js} +12 -13
- 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/{chrome-B_zrSLce.js → chrome-h6BnL8Lp.js} +7 -7
- 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/control-ui/vendor/highlight.min.js +2518 -0
- package/dist/control-ui/vendor/marked.min.js +69 -0
- 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-CZF9f8aC.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 +29 -29
- 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-DOnOTocl.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-C5XncARS.js → pi-embedded-BjzaB3CT.js} +157 -62
- package/dist/{pi-embedded-FBOXa0Py.js → pi-embedded-BvCoZBNg.js} +149 -54
- package/dist/{pi-embedded-helpers-BqnI9Mzn.js → pi-embedded-helpers--yFTAWwW.js} +11 -107
- 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/{pw-ai-s-d46DCX.js → pw-ai-C_C5as1t.js} +1 -1
- 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-Ct0-sE8b.js → runner-DOvsNiYz.js} +8 -8
- package/dist/{runner-t-wbbvf-.js → runner-uDZlTCm2.js} +4 -4
- 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-10GxXUo7.js → web-DkQc82PT.js} +9 -9
- package/dist/{web-cJUlI_Wb.js → web-G0LUda_q.js} +30 -30
- 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
|
@@ -8,58 +8,58 @@ import { $ as DEFAULT_PROVIDER, A as resolveShellEnvFallbackTimeoutMs, B as dedu
|
|
|
8
8
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-K_J_nfgx.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BbsJ0Qbo.js";
|
|
10
10
|
import { i as resolveCliName, n as parseBooleanValue$1, r as formatCliCommand, t as isTruthyEnvValue } from "./env-CQ_DQOwT.js";
|
|
11
|
-
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Cn6drXx2.js";
|
|
12
|
-
import { $ as mergeDeliveryContext, $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, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, 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 resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BqnI9Mzn.js";
|
|
11
|
+
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Cn6drXx2.js";
|
|
13
12
|
import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
|
|
14
13
|
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
|
|
15
14
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
16
|
-
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-
|
|
17
|
-
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-
|
|
18
|
-
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-
|
|
19
|
-
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-
|
|
20
|
-
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-
|
|
21
|
-
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
22
|
-
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-
|
|
23
|
-
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-
|
|
24
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
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-
|
|
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-D0dzPf6g.js";
|
|
16
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-De_WCeGZ.js";
|
|
17
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CZF9f8aC.js";
|
|
18
|
+
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-D0xmLpej.js";
|
|
19
|
+
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
|
|
20
|
+
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
|
|
21
|
+
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-mi3NHnwI.js";
|
|
22
|
+
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
|
|
23
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
|
|
24
|
+
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
|
|
25
|
+
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers--yFTAWwW.js";
|
|
26
26
|
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BjGo9GnL.js";
|
|
27
27
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
|
|
28
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
28
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-h6BnL8Lp.js";
|
|
29
29
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
|
|
30
30
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
32
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./store-
|
|
33
|
-
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-
|
|
32
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./store-bnzGvI16.js";
|
|
33
|
+
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-W85Rb32m.js";
|
|
34
34
|
import { n as resolveConversationLabel } from "./conversation-label-BShfMyKA.js";
|
|
35
35
|
import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
|
|
36
36
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
|
|
38
|
-
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-
|
|
39
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
38
|
+
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
|
|
39
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DOnOTocl.js";
|
|
40
40
|
import { n as resolveMemorySearchConfig } from "./manager-oiX42wby.js";
|
|
41
41
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
|
|
42
42
|
import { n as retryAsync } from "./retry-QGp0jvVi.js";
|
|
43
|
-
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-
|
|
44
|
-
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-
|
|
43
|
+
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BbOqxMY0.js";
|
|
44
|
+
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-DTMTDXwE.js";
|
|
45
45
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
|
|
46
46
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BheTNyes.js";
|
|
47
|
-
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
48
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-
|
|
49
|
-
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
50
|
-
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-
|
|
47
|
+
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-CC8jiKDk.js";
|
|
48
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
|
|
49
|
+
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-Copoizgv.js";
|
|
50
|
+
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DWcJOIzP.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
|
|
52
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
52
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-uDZlTCm2.js";
|
|
53
53
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
|
|
54
54
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
|
|
55
55
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
|
|
56
56
|
import { n as normalizePollInput } from "./polls-DQcEziPg.js";
|
|
57
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
58
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
59
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
57
|
+
import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
|
|
58
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-D16XtYvC.js";
|
|
59
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Do-0Kcmv.js";
|
|
60
60
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
|
|
61
61
|
import { t as makeProxyFetch } from "./proxy-BaSHbVlA.js";
|
|
62
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
62
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DqdOBkTB.js";
|
|
63
63
|
import { t as getActiveWebListener } from "./active-listener-1krIj9TM.js";
|
|
64
64
|
import { createRequire } from "node:module";
|
|
65
65
|
import * as path$1 from "node:path";
|
|
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
79
79
|
import AjvPkg from "ajv";
|
|
80
80
|
import { createServer } from "node:http";
|
|
81
81
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
82
|
-
import WebSocket, { WebSocket
|
|
82
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
83
83
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
84
84
|
import { createJiti } from "jiti";
|
|
85
85
|
import { Type } from "@sinclair/typebox";
|
|
@@ -100,6 +100,101 @@ import { run, sequentialize } from "@grammyjs/runner";
|
|
|
100
100
|
import { apiThrottler } from "@grammyjs/transformer-throttler";
|
|
101
101
|
import { EventEmitter } from "node:events";
|
|
102
102
|
|
|
103
|
+
//#region src/auto-reply/heartbeat.ts
|
|
104
|
+
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.";
|
|
105
|
+
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
106
|
+
function resolveHeartbeatPrompt(raw) {
|
|
107
|
+
return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
|
|
108
|
+
}
|
|
109
|
+
function stripTokenAtEdges(raw) {
|
|
110
|
+
let text = raw.trim();
|
|
111
|
+
if (!text) return {
|
|
112
|
+
text: "",
|
|
113
|
+
didStrip: false
|
|
114
|
+
};
|
|
115
|
+
const token = SYMIPULSE_TOKEN;
|
|
116
|
+
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
117
|
+
if (!text.includes(token)) return {
|
|
118
|
+
text,
|
|
119
|
+
didStrip: false
|
|
120
|
+
};
|
|
121
|
+
let didStrip = false;
|
|
122
|
+
let changed = true;
|
|
123
|
+
while (changed) {
|
|
124
|
+
changed = false;
|
|
125
|
+
const next = text.trim();
|
|
126
|
+
if (next.startsWith(token)) {
|
|
127
|
+
text = next.slice(token.length).trimStart();
|
|
128
|
+
didStrip = true;
|
|
129
|
+
changed = true;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
133
|
+
const idx = next.lastIndexOf(token);
|
|
134
|
+
const before = next.slice(0, idx).trimEnd();
|
|
135
|
+
if (!before) text = "";
|
|
136
|
+
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
137
|
+
didStrip = true;
|
|
138
|
+
changed = true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
text: text.replace(/\s+/g, " ").trim(),
|
|
143
|
+
didStrip
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function stripHeartbeatToken(raw, opts = {}) {
|
|
147
|
+
if (!raw) return {
|
|
148
|
+
shouldSkip: true,
|
|
149
|
+
text: "",
|
|
150
|
+
didStrip: false
|
|
151
|
+
};
|
|
152
|
+
const trimmed = raw.trim();
|
|
153
|
+
if (!trimmed) return {
|
|
154
|
+
shouldSkip: true,
|
|
155
|
+
text: "",
|
|
156
|
+
didStrip: false
|
|
157
|
+
};
|
|
158
|
+
const mode = opts.mode ?? "message";
|
|
159
|
+
const maxAckCharsRaw = opts.maxAckChars;
|
|
160
|
+
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
161
|
+
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
162
|
+
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
163
|
+
const trimmedNormalized = stripMarkup(trimmed);
|
|
164
|
+
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
165
|
+
shouldSkip: false,
|
|
166
|
+
text: trimmed,
|
|
167
|
+
didStrip: false
|
|
168
|
+
};
|
|
169
|
+
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
170
|
+
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
171
|
+
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
172
|
+
if (!picked.didStrip) return {
|
|
173
|
+
shouldSkip: false,
|
|
174
|
+
text: trimmed,
|
|
175
|
+
didStrip: false
|
|
176
|
+
};
|
|
177
|
+
if (!picked.text) return {
|
|
178
|
+
shouldSkip: true,
|
|
179
|
+
text: "",
|
|
180
|
+
didStrip: true
|
|
181
|
+
};
|
|
182
|
+
const rest = picked.text.trim();
|
|
183
|
+
if (mode === "heartbeat") {
|
|
184
|
+
if (rest.length <= maxAckChars) return {
|
|
185
|
+
shouldSkip: true,
|
|
186
|
+
text: "",
|
|
187
|
+
didStrip: true
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
shouldSkip: false,
|
|
192
|
+
text: rest,
|
|
193
|
+
didStrip: true
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
//#endregion
|
|
103
198
|
//#region src/channels/allowlist-match.ts
|
|
104
199
|
function formatAllowlistMatchMeta(match) {
|
|
105
200
|
return `matchKey=${match?.matchKey ?? "none"} matchSource=${match?.matchSource ?? "none"}`;
|
|
@@ -5618,7 +5713,7 @@ var GatewayClient = class {
|
|
|
5618
5713
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5619
5714
|
});
|
|
5620
5715
|
}
|
|
5621
|
-
this.ws = new WebSocket
|
|
5716
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
5622
5717
|
this.ws.on("open", () => {
|
|
5623
5718
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5624
5719
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -5837,7 +5932,7 @@ var GatewayClient = class {
|
|
|
5837
5932
|
return null;
|
|
5838
5933
|
}
|
|
5839
5934
|
async request(method, params, opts) {
|
|
5840
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
5935
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
5841
5936
|
const id = randomUUID();
|
|
5842
5937
|
const frame = {
|
|
5843
5938
|
type: "req",
|
|
@@ -7103,7 +7198,7 @@ async function routeReply(params) {
|
|
|
7103
7198
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7104
7199
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7105
7200
|
try {
|
|
7106
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7201
|
+
const { deliverOutboundPayloads } = await import("./deliver-CZF9f8aC.js").then((n) => n.n);
|
|
7107
7202
|
return {
|
|
7108
7203
|
ok: true,
|
|
7109
7204
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12338,7 +12433,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
|
12338
12433
|
await ensureSymiModelsJson(cfg);
|
|
12339
12434
|
} catch {}
|
|
12340
12435
|
try {
|
|
12341
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
12436
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-j5tVLINv.js").then((n) => n.r);
|
|
12342
12437
|
const agentDir = resolveSymiAgentDir();
|
|
12343
12438
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
12344
12439
|
applyDiscoveredContextWindows({
|
|
@@ -41476,7 +41571,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41476
41571
|
return;
|
|
41477
41572
|
}
|
|
41478
41573
|
try {
|
|
41479
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41574
|
+
const { deliverOutboundPayloads } = await import("./deliver-CZF9f8aC.js").then((n) => n.n);
|
|
41480
41575
|
await deliverOutboundPayloads({
|
|
41481
41576
|
cfg: params.cfg,
|
|
41482
41577
|
channel,
|
|
@@ -44919,7 +45014,7 @@ async function describeStickerImage(params) {
|
|
|
44919
45014
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
44920
45015
|
try {
|
|
44921
45016
|
const buffer = await fs$1.readFile(imagePath);
|
|
44922
|
-
const { describeImageWithModel } = await import("./image-
|
|
45017
|
+
const { describeImageWithModel } = await import("./image-DOnOTocl.js").then((n) => n.n);
|
|
44923
45018
|
return (await describeImageWithModel({
|
|
44924
45019
|
buffer,
|
|
44925
45020
|
fileName: "sticker.webp",
|
|
@@ -47380,7 +47475,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47380
47475
|
let preflightTranscript;
|
|
47381
47476
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47382
47477
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47383
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47478
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Cq4C-m27.js");
|
|
47384
47479
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47385
47480
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47386
47481
|
ctx: {
|
|
@@ -51386,27 +51481,27 @@ function isVoiceChannelType(type) {
|
|
|
51386
51481
|
function createDefaultDeps() {
|
|
51387
51482
|
return {
|
|
51388
51483
|
sendMessageWhatsApp: async (...args) => {
|
|
51389
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51484
|
+
const { sendMessageWhatsApp } = await import("./web-G0LUda_q.js");
|
|
51390
51485
|
return await sendMessageWhatsApp(...args);
|
|
51391
51486
|
},
|
|
51392
51487
|
sendMessageTelegram: async (...args) => {
|
|
51393
|
-
const { sendMessageTelegram } = await import("./send-
|
|
51488
|
+
const { sendMessageTelegram } = await import("./send-mi3NHnwI.js").then((n) => n.l);
|
|
51394
51489
|
return await sendMessageTelegram(...args);
|
|
51395
51490
|
},
|
|
51396
51491
|
sendMessageDiscord: async (...args) => {
|
|
51397
|
-
const { sendMessageDiscord } = await import("./send-
|
|
51492
|
+
const { sendMessageDiscord } = await import("./send-De_WCeGZ.js").then((n) => n.t);
|
|
51398
51493
|
return await sendMessageDiscord(...args);
|
|
51399
51494
|
},
|
|
51400
51495
|
sendMessageSlack: async (...args) => {
|
|
51401
|
-
const { sendMessageSlack } = await import("./send-
|
|
51496
|
+
const { sendMessageSlack } = await import("./send-D0dzPf6g.js").then((n) => n.n);
|
|
51402
51497
|
return await sendMessageSlack(...args);
|
|
51403
51498
|
},
|
|
51404
51499
|
sendMessageSignal: async (...args) => {
|
|
51405
|
-
const { sendMessageSignal } = await import("./send-
|
|
51500
|
+
const { sendMessageSignal } = await import("./send-D16XtYvC.js").then((n) => n.i);
|
|
51406
51501
|
return await sendMessageSignal(...args);
|
|
51407
51502
|
},
|
|
51408
51503
|
sendMessageIMessage: async (...args) => {
|
|
51409
|
-
const { sendMessageIMessage } = await import("./send-
|
|
51504
|
+
const { sendMessageIMessage } = await import("./send-Do-0Kcmv.js").then((n) => n.n);
|
|
51410
51505
|
return await sendMessageIMessage(...args);
|
|
51411
51506
|
}
|
|
51412
51507
|
};
|
|
@@ -54290,7 +54385,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
54290
54385
|
super(options);
|
|
54291
54386
|
}
|
|
54292
54387
|
createWebSocket(url) {
|
|
54293
|
-
return new WebSocket(url, { agent });
|
|
54388
|
+
return new WebSocket$1(url, { agent });
|
|
54294
54389
|
}
|
|
54295
54390
|
}
|
|
54296
54391
|
return new ProxyGatewayPlugin();
|
|
@@ -61832,7 +61927,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
61832
61927
|
}
|
|
61833
61928
|
let commandsRegistry;
|
|
61834
61929
|
async function getCommandsRegistry() {
|
|
61835
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
61930
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Copoizgv.js").then((n) => n.n);
|
|
61836
61931
|
return commandsRegistry;
|
|
61837
61932
|
}
|
|
61838
61933
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -62235,8 +62330,8 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62235
62330
|
});
|
|
62236
62331
|
const deliverSlashPayloads = async (replies) => {
|
|
62237
62332
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
62238
|
-
import("./replies-
|
|
62239
|
-
import("./chunk-
|
|
62333
|
+
import("./replies-DqdOBkTB.js").then((n) => n.r),
|
|
62334
|
+
import("./chunk-DTMTDXwE.js").then((n) => n.s),
|
|
62240
62335
|
import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
|
|
62241
62336
|
]);
|
|
62242
62337
|
await deliverSlackSlashReplies({
|
|
@@ -62290,7 +62385,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
62290
62385
|
let nativeCommands = [];
|
|
62291
62386
|
if (nativeEnabled) {
|
|
62292
62387
|
reg = await getCommandsRegistry();
|
|
62293
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
62388
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DWcJOIzP.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
62294
62389
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
62295
62390
|
skillCommands,
|
|
62296
62391
|
provider: "slack"
|
|
@@ -64508,7 +64603,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64508
64603
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64509
64604
|
let preflightTranscript;
|
|
64510
64605
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64511
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64606
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Cq4C-m27.js");
|
|
64512
64607
|
preflightTranscript = await transcribeFirstAudio({
|
|
64513
64608
|
ctx: {
|
|
64514
64609
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66653,7 +66748,7 @@ let webLoginQrPromise = null;
|
|
|
66653
66748
|
let webChannelPromise = null;
|
|
66654
66749
|
let whatsappActionsPromise = null;
|
|
66655
66750
|
function loadWebOutbound() {
|
|
66656
|
-
webOutboundPromise ??= import("./outbound-
|
|
66751
|
+
webOutboundPromise ??= import("./outbound-BNMysnJ1.js").then((n) => n.t);
|
|
66657
66752
|
return webOutboundPromise;
|
|
66658
66753
|
}
|
|
66659
66754
|
function loadWebLogin() {
|
|
@@ -66665,11 +66760,11 @@ function loadWebLoginQr() {
|
|
|
66665
66760
|
return webLoginQrPromise;
|
|
66666
66761
|
}
|
|
66667
66762
|
function loadWebChannel() {
|
|
66668
|
-
webChannelPromise ??= import("./web-
|
|
66763
|
+
webChannelPromise ??= import("./web-G0LUda_q.js");
|
|
66669
66764
|
return webChannelPromise;
|
|
66670
66765
|
}
|
|
66671
66766
|
function loadWhatsAppActions() {
|
|
66672
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
66767
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BIjGyW3T.js");
|
|
66673
66768
|
return whatsappActionsPromise;
|
|
66674
66769
|
}
|
|
66675
66770
|
function createPluginRuntime() {
|
|
@@ -67947,7 +68042,7 @@ function shouldEmitLoopWarning(state, warningKey, count) {
|
|
|
67947
68042
|
async function recordLoopOutcome(args) {
|
|
67948
68043
|
if (!args.ctx?.sessionKey) return;
|
|
67949
68044
|
try {
|
|
67950
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
68045
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C1vRJs5w.js").then((n) => n.n);
|
|
67951
68046
|
const { recordToolCallOutcome } = await import("./tool-loop-detection-BgbtzUGc.js");
|
|
67952
68047
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
67953
68048
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -67968,8 +68063,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
67968
68063
|
const toolName = normalizeToolName(args.toolName || "tool");
|
|
67969
68064
|
const params = args.params;
|
|
67970
68065
|
if (args.ctx?.sessionKey) {
|
|
67971
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
67972
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
68066
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C1vRJs5w.js").then((n) => n.n);
|
|
68067
|
+
const { logToolLoopAction } = await import("./diagnostic-D0xmLpej.js").then((n) => n.n);
|
|
67973
68068
|
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BgbtzUGc.js");
|
|
67974
68069
|
const sessionState = getDiagnosticSessionState({
|
|
67975
68070
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -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
|
-
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-
|
|
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-h6BnL8Lp.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();
|
|
@@ -1027,7 +931,7 @@ function isModuleNotFoundError(err) {
|
|
|
1027
931
|
}
|
|
1028
932
|
async function loadPwAiModule(mode) {
|
|
1029
933
|
try {
|
|
1030
|
-
return await import("./pw-ai-
|
|
934
|
+
return await import("./pw-ai-C_C5as1t.js");
|
|
1031
935
|
} catch (err) {
|
|
1032
936
|
if (mode === "soft") return null;
|
|
1033
937
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3567,11 +3471,11 @@ function createProfileContext(opts, profile) {
|
|
|
3567
3471
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
3568
3472
|
const profileState = getProfileState();
|
|
3569
3473
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3570
|
-
await (await import("./pw-ai-
|
|
3474
|
+
await (await import("./pw-ai-C_C5as1t.js")).closePlaywrightBrowserConnection();
|
|
3571
3475
|
} catch {}
|
|
3572
3476
|
if (profileState.running) await stopRunningBrowser();
|
|
3573
3477
|
try {
|
|
3574
|
-
await (await import("./pw-ai-
|
|
3478
|
+
await (await import("./pw-ai-C_C5as1t.js")).closePlaywrightBrowserConnection();
|
|
3575
3479
|
} catch {}
|
|
3576
3480
|
if (!fs.existsSync(userDataDir)) return {
|
|
3577
3481
|
moved: false,
|
|
@@ -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 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { pt as truncateUtf16Safe } from "./entry.js";
|
|
2
|
-
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-
|
|
2
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CbuJolk2.js";
|
|
3
3
|
import { t as sanitizeContentBlocksImages } from "./tool-images-CVLISeRT.js";
|
|
4
4
|
import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
|
|
5
5
|
import path from "node:path";
|