@symerian/symi 2.3.1 → 2.3.3
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/{accounts-ChTFYj8Q.js → accounts-CWktKM8a.js} +1 -1
- package/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
- package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
- package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
- package/dist/{accounts-CJR8j_Kq.js → accounts-qtxJ-6em.js} +1 -1
- package/dist/{accounts-CI6zQTJj.js → accounts-tNElYrCH.js} +14 -14
- package/dist/{acp-cli-Cu4icbJT.js → acp-cli-BgyJMtqt.js} +6 -6
- package/dist/{active-listener-D6sXIjAg.js → active-listener-C9r8ZB9m.js} +1 -1
- package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
- package/dist/{agent-scope-Bw1Ed8W9.js → agent-scope-BxoUQqgM.js} +3 -3
- package/dist/{agents-DzuttgJU.js → agents-DjLt6jc3.js} +4 -4
- package/dist/{agents.config-CSucty2T.js → agents.config-Dt7B_P5o.js} +1 -1
- package/dist/{agents.config-2HlZJsR3.js → agents.config-u_ibObha.js} +2 -2
- package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
- package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
- package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CjysqO8U.js} +28 -28
- package/dist/{audio-preflight-BsfqyC31.js → audio-preflight-D02HwB-I.js} +29 -29
- package/dist/{audit-CrITRV6w.js → audit-BSB9NPSO.js} +23 -23
- package/dist/{auth-choice-Cve09z1a.js → auth-choice-DUUu6Nhg.js} +1 -1
- package/dist/{auth-choice-ChrEc3cZ.js → auth-choice-DmSG7c8J.js} +8 -8
- package/dist/{auth-token-BnOynwk4.js → auth-token-DC5w1WoS.js} +1 -1
- package/dist/{banner-BoLflN_R.js → banner-BiAcdT2T.js} +1 -1
- package/dist/{bindings-BU2hsBd9.js → bindings-B7Ke6LJi.js} +2 -2
- package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
- package/dist/{browser-cli-BG4qPxpM.js → browser-cli-C4D9Ql3c.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +53 -53
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +53 -53
- package/dist/{call-CJaS1iRF.js → call-Dd7-bkfG.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-C9-gaquj.js → channel-activity-CsM_hJ_s.js} +1 -1
- package/dist/{channel-options-DqgeO1f6.js → channel-options-ClfXE1B7.js} +1 -1
- package/dist/{channel-options-Dkd1WQZx.js → channel-options-vQREpu-n.js} +2 -2
- package/dist/{channel-selection-DuWs0Aak.js → channel-selection-DjfBv8kq.js} +1 -1
- package/dist/{channel-web-CJvDQ5Ea.js → channel-web-y6pd_GHr.js} +17 -17
- package/dist/{channels-cli-D0jjOLRb.js → channels-cli-CjYD1_OO.js} +75 -75
- package/dist/{channels-cli-DtqwJZWy.js → channels-cli-suXRcyfF.js} +4 -4
- package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-BoH1ZJPN.js} +1 -1
- package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
- package/dist/{chrome-w3SLcQJF.js → chrome-EyvdASWt.js} +20 -20
- package/dist/{chrome-DtPkPq9T.js → chrome-r4RThPxq.js} +2 -2
- package/dist/{chunk-ClbN9Pqy.js → chunk-BW5f05BR.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CHOmeum9.js → cli-B-911QZL.js} +62 -62
- package/dist/{cli-CEtg8kql.js → cli-mbfUlFn3.js} +1 -1
- package/dist/{client-CQSyCS4M.js → client-BsrZnuSi.js} +1 -1
- package/dist/{command-format-UKHV-j0K.js → command-format-BaxDnULz.js} +1 -1
- package/dist/{command-registry-Ba2z3dYq.js → command-registry-y8CXSD5O.js} +9 -9
- package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
- package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
- package/dist/{commands-registry-VSmULp-g.js → commands-registry-D7CTCQPm.js} +4 -4
- package/dist/{completion-cli-CD-306wt.js → completion-cli-2Mi5hts2.js} +2 -2
- package/dist/{completion-cli-BgX3MWVU.js → completion-cli-BLrwUAyo.js} +12 -12
- package/dist/{config-CHwyw6l5.js → config-CJMcIRQM.js} +2 -2
- package/dist/{config-eEaJddXj.js → config-DRbjHIwD.js} +12 -12
- package/dist/{config-cli-Cz87-TYh.js → config-cli-CF-wdLkO.js} +4 -4
- package/dist/{config-cli-DAbXVRUL.js → config-cli-tYZAnvgQ.js} +1 -1
- package/dist/{config-guard-BflmO0t7.js → config-guard-C1Rs8NZG.js} +12 -12
- package/dist/{config-validation-CmimHAES.js → config-validation-ChQQVndI.js} +1 -1
- package/dist/{configure-D45ne4lm.js → configure-BHKdqhLb.js} +15 -15
- package/dist/{configure-0nrthdSf.js → configure-si19m30s.js} +3 -3
- package/dist/{control-service-Bz7rxLWq.js → control-service-B8H3Bqpv.js} +4 -4
- package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-DqGziq7x.js} +1 -1
- package/dist/{cron-cli-DBIlCvp3.js → cron-cli-YrMWJCkm.js} +10 -10
- package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-Dx4SXRyp.js} +11 -11
- package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime--RiRUx_2.js} +10 -10
- package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
- package/dist/{deliver-BmPK91JP.js → deliver-D1ZN6-fl.js} +20 -20
- package/dist/{deliver-CceEhg3d.js → deliver-Um8yyhRA.js} +7 -7
- package/dist/{devices-cli-Dds-25Ve.js → devices-cli-DAJ84AOe.js} +6 -6
- package/dist/{diagnostic-C3nsWaw3.js → diagnostic-CI0kRQkt.js} +1 -1
- package/dist/{diagnostics-BAMlsVVX.js → diagnostics-D2yUMZN1.js} +5 -5
- package/dist/{directory-cli-CpUByQew.js → directory-cli-C4h8KQLH.js} +7 -7
- package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-BCSw0GJS.js} +2 -2
- package/dist/{dns-cli-Beyzdh3S.js → dns-cli-s0ZWvTPm.js} +3 -3
- package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
- package/dist/{docs-cli-BpnEOtJi.js → docs-cli-BfPfHTDs.js} +1 -1
- package/dist/{doctor-completion-CcDVOtZ5.js → doctor-completion-C19QYsQN.js} +2 -2
- package/dist/{doctor-completion-CmGtqUHQ.js → doctor-completion-Dn_Kn4gz.js} +1 -1
- package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-D05HlWdn.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-Df1lyRyE.js} +13 -13
- package/dist/extensionAPI.js +6 -6
- package/dist/{frontmatter-DPlG6yha.js → frontmatter-C_bv_0P8.js} +2 -2
- package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
- package/dist/{gateway-cli-DajX3Pye.js → gateway-cli-B7khyAHs.js} +139 -155
- package/dist/{gateway-cli-BVN31fwu.js → gateway-cli-DG_Mdw0H.js} +35 -51
- package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DFeD8pZh.js} +1 -1
- package/dist/{gemini-auth-CF48hUR9.js → gemini-auth-CdSPHuLl.js} +1 -1
- package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
- package/dist/{glass-ui-ws-CQG6acJl.js → glass-ui-ws-BAub_JoN.js} +7 -7
- package/dist/{glass-ui-ws-Z1IOT6Vc.js → glass-ui-ws-BmQAULMj.js} +82 -82
- package/dist/{health-D9eQW7fJ.js → health-CboWXJkq.js} +1 -1
- package/dist/{health-f056vLGT.js → health-DkKXiUEF.js} +13 -13
- package/dist/{hooks-cli-hJ4euq2R.js → hooks-cli-BrO_9pas.js} +76 -76
- package/dist/{hooks-cli-CW-IRS72.js → hooks-cli-DLM_5caf.js} +2 -2
- package/dist/{image-D9uvDTrc.js → image-BiY-PfMh.js} +3 -3
- package/dist/{image-rZ4x9VS9.js → image-Cp3JDEBB.js} +4 -4
- package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
- package/dist/{image-ops-S8-8dAhx.js → image-ops-CvJzsyvE.js} +1 -1
- package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
- package/dist/index.js +72 -72
- package/dist/{inspect-CllGjsWo.js → inspect-ZJkNX0WL.js} +4 -4
- package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-Qqr_t_tH.js} +11 -11
- package/dist/{installs-C1Cebk97.js → installs-O9KlRu9h.js} +10 -10
- package/dist/{ir-CbFUkv_T.js → ir-DccrnjsE.js} +4 -4
- package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
- package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-BkPSoGM2.js} +5 -5
- package/dist/llm-slug-generator.js +53 -53
- package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
- package/dist/{local-roots-C7OCYACU.js → local-roots-DMwIh5cS.js} +5 -5
- package/dist/{login-dIlDkG4X.js → login-1sleXoB4.js} +3 -3
- package/dist/{login-B8uiUAnV.js → login-CwCoxapk.js} +7 -7
- package/dist/{login-qr-CIZk8uKX.js → login-qr-Batf3PT5.js} +12 -12
- package/dist/{login-qr-pbXdFORv.js → login-qr-wCWBOMwB.js} +5 -5
- package/dist/{logs-cli-xOzIPrHm.js → logs-cli-DVeEdUCU.js} +7 -7
- package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
- package/dist/{manager-BoLr3xR_.js → manager-D_LwXbc6.js} +13 -13
- package/dist/{manifest-registry-CneMHk0N.js → manifest-registry-D0IQ3WuX.js} +19 -19
- package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
- package/dist/{markdown-tables-DSHvnTLx.js → markdown-tables-iMQQZu4Q.js} +1 -1
- package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-lk6fRiwy.js} +14 -14
- package/dist/{message-channel-DbsRltF2.js → message-channel-Dz5lr5b0.js} +1 -1
- package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
- package/dist/{model-auth-CwOuTuXl.js → model-auth-DK43VicI.js} +9 -9
- package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-C3NLvWC2.js} +4 -4
- package/dist/{model-picker-Ddo3jHe-.js → model-picker-LKZLY2DL.js} +3 -3
- package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
- package/dist/{models-nO_t1uzp.js → models-BmiRYEVd.js} +2 -2
- package/dist/{models-cli-B2ticsCM.js → models-cli-4vQrbW6G.js} +72 -72
- package/dist/{models-cli-D9bG44Ao.js → models-cli-Tf61I97Q.js} +3 -3
- package/dist/{models-config-qyOXrOli.js → models-config-CqDdkHJq.js} +7 -7
- package/dist/{node-cli-C_G-Q3h-.js → node-cli-Jj2LTGzF.js} +28 -28
- package/dist/{node-service-Cxz4e-Qd.js → node-service-CJygtY5M.js} +1 -1
- package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-C43ifECe.js} +10 -10
- package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-C99kfE1u.js} +4 -4
- package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-DR_at_Hp.js} +9 -9
- package/dist/{onboard-BDbpfrZj.js → onboard-D8uxVvMq.js} +13 -13
- package/dist/{onboard-BtZ9WqhJ.js → onboard-FpptSqHZ.js} +2 -2
- package/dist/{onboard-channels-HubyUVjT.js → onboard-channels-DOKid2w1.js} +5 -5
- package/dist/{onboard-channels-CHE8nfNA.js → onboard-channels-Q_xxgZ8O.js} +1 -1
- package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-DPJiy9aT.js} +3 -3
- package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-Dixh6cNh.js} +8 -8
- package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-lsws7g2s.js} +1 -1
- package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-B66ZWtkN.js} +1 -1
- package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-B0IA09ig.js} +4 -4
- package/dist/{onboarding-eVb5gvwo.js → onboarding-CdlGKa0U.js} +13 -13
- package/dist/{onboarding-DtP0sps0.js → onboarding-DhIEUmp5.js} +3 -3
- package/dist/{onboarding.finalize-D8035U2E.js → onboarding.finalize-CEYLIXkq.js} +6 -6
- package/dist/{onboarding.finalize-CetxPTxL.js → onboarding.finalize-DyBsPxXJ.js} +74 -74
- package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-CCJqI0kw.js} +14 -14
- package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-BJ1IZ3TN.js} +2 -2
- package/dist/{outbound-opDNxv-l.js → outbound-D4fN_ZlE.js} +7 -7
- package/dist/{outbound-DB5Zus0-.js → outbound-NJCy0h4x.js} +4 -4
- package/dist/{outbound-attachment-D_QuKi8U.js → outbound-attachment-D62E0xDI.js} +2 -2
- package/dist/{outbound-attachment-Co2diKdP.js → outbound-attachment-DjNDa3zn.js} +2 -2
- package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CcW0ndhB.js} +8 -8
- package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-27SOKDzJ.js} +1 -1
- package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
- package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
- package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
- package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
- package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
- package/dist/{pi-auth-json-DPWPoruO.js → pi-auth-json-0SYBFZTt.js} +8 -8
- package/dist/{pi-auth-json-DayrlDg_.js → pi-auth-json-CCneTXUh.js} +3 -3
- package/dist/{pi-embedded-BY-dBus2.js → pi-embedded-BThV36aG.js} +109 -21
- package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
- package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-DO6u9K2t.js} +6 -6
- package/dist/{pi-embedded-helpers-B2z46qeM.js → pi-embedded-helpers-ag2bosuj.js} +52 -52
- package/dist/{pi-embedded-Dc3muKtS.js → pi-embedded-wr4HXhzm.js} +255 -167
- package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-juZV2uUv.js} +4 -4
- package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-Bbm7MwFV.js} +2 -2
- package/dist/{plugin-registry-CuoX8mar.js → plugin-registry-DvWWctC9.js} +1 -1
- package/dist/{plugin-registry-fxcvycGr.js → plugin-registry-lWWSu9UD.js} +3 -3
- package/dist/plugin-sdk/agents/model-token-filter.d.ts +15 -0
- package/dist/plugin-sdk/{channel-web-CV1KLtZh.js → channel-web-BnrTC55Y.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-C4mijdMZ.js → reply-kuMxu6Q4.js} +95 -7
- package/dist/plugin-sdk/{web-B17UUsjm.js → web-TMIhKQyF.js} +2 -2
- package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
- package/dist/{plugins-C4C9637U.js → plugins-DQYI3Fr-.js} +9 -9
- package/dist/{plugins-cli-4OqSGHp-.js → plugins-cli-BHfzYAq6.js} +71 -71
- package/dist/{plugins-cli-BbE_Qnlk.js → plugins-cli-wlWRx4Oj.js} +2 -2
- package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
- package/dist/{ports-BX0kKI0g.js → ports-b36gHZbA.js} +1 -1
- package/dist/{program-DkXOdfM2.js → program-CKy7s-bm.js} +7 -7
- package/dist/{program-context-0bDxGpMx.js → program-context-D4gbh6dg.js} +39 -39
- package/dist/{prompt-select-styled-DJkRn30j.js → prompt-select-styled-DlGPNq9c.js} +38 -38
- package/dist/{prompt-select-styled-_6KbTFXs.js → prompt-select-styled-bh0GLMiQ.js} +4 -4
- package/dist/{provider-auth-helpers-BpVAdwK_.js → provider-auth-helpers-B-YsKbwc.js} +1 -1
- package/dist/{provider-auth-helpers-Bnkj4QXS.js → provider-auth-helpers-Bd5VVReu.js} +5 -5
- package/dist/{push-apns-EKnCwrqK.js → push-apns-0et2AR44.js} +4 -4
- package/dist/{push-apns-C0wMP1XU.js → push-apns-ByyOJyDl.js} +1 -1
- package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
- package/dist/{pw-ai-PiQUncix.js → pw-ai-Ch7liUOW.js} +11 -11
- package/dist/{pw-ai-DqL87js3.js → pw-ai-MVzi113V.js} +7 -7
- package/dist/{qmd-manager-D85GJrir.js → qmd-manager-BP2r8b1D.js} +18 -18
- package/dist/{qmd-manager-DdZh9PHs.js → qmd-manager-QHUP-_em.js} +7 -7
- package/dist/{qr-cli-jd9LdZpq.js → qr-cli-17laLZm_.js} +3 -3
- package/dist/{register.agent-B0S1CJEx.js → register.agent-Dhijhxr5.js} +81 -81
- package/dist/{register.agent-B48Vf_DK.js → register.agent-oKma6YjU.js} +6 -6
- package/dist/{register.configure-Wyv7vb24.js → register.configure-BX8vQ2Np.js} +6 -6
- package/dist/register.configure-BcZ-7Yir.js +147 -0
- package/dist/{register.maintenance-Cmf17EW0.js → register.maintenance-B3TPb969.js} +84 -84
- package/dist/{register.maintenance-TgjAQ4E0.js → register.maintenance-OJCduNdt.js} +8 -8
- package/dist/{register.message-Dwv2puIB.js → register.message-CX8C_Fds.js} +2 -2
- package/dist/{register.message-BcsPnPvW.js → register.message-D0aswsGo.js} +63 -63
- package/dist/{register.onboard-BDGaSyq2.js → register.onboard-BHTyEs6d.js} +74 -74
- package/dist/{register.onboard-C8w7_w93.js → register.onboard-CSepiSPt.js} +4 -4
- package/dist/{register.setup-CMGSNKXS.js → register.setup-lZSHKiGQ.js} +4 -4
- package/dist/{register.setup-CiEuZOlI.js → register.setup-uhpgkBjU.js} +77 -77
- package/dist/{register.status-health-sessions-zKjmZyOs.js → register.status-health-sessions-Cbavf8do.js} +3 -3
- package/dist/{register.status-health-sessions-C8p0uINc.js → register.status-health-sessions-v1KN3eEp.js} +75 -75
- package/dist/{register.subclis-CofZE_pt.js → register.subclis-DBEv5xOP.js} +9 -9
- package/dist/{registry-DP24za6g.js → registry-CK4e9hn8.js} +17 -17
- package/dist/{replies-DpPvWiGF.js → replies-BIX_isV7.js} +3 -3
- package/dist/{replies-vgss3_QA.js → replies-BL7IBg12.js} +1 -1
- package/dist/{reply-SBi_U7P7.js → reply-DVxU0AMq.js} +225 -137
- package/dist/{reply-prefix-CtL0omgM.js → reply-prefix-BLOOs1aW.js} +1 -1
- package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-XlyuyChD.js} +1 -1
- package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
- package/dist/{resolve-route-BVikmvWO.js → resolve-route-CZ-1eqw0.js} +4 -4
- package/dist/{retry-dGG-MbxL.js → retry-Cly39XZB.js} +1 -1
- package/dist/{routes-Ba9CUQ8M.js → routes-CE-ohckF.js} +8 -8
- package/dist/{rpc-BfhojW8g.js → rpc-wovSCB5v.js} +1 -1
- package/dist/{run-main-BJaDO3WW.js → run-main-DspjiCY1.js} +14 -14
- package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
- package/dist/{runner-CUglpiFP.js → runner-Cen70krW.js} +20 -20
- package/dist/{runner-CCSMfQee.js → runner-D0QUGA_X.js} +9 -9
- package/dist/{sandbox-C-T6hOMv.js → sandbox-BzNrUHpt.js} +18 -18
- package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-CZrMO34w.js} +20 -20
- package/dist/{security-cli-BFLtWWHy.js → security-cli-CeBoEmeN.js} +36 -36
- package/dist/{send-DeEosX8F.js → send-B1u-LrcS.js} +18 -18
- package/dist/{send-Cutb0ZDY.js → send-BEeuDXqy.js} +6 -6
- package/dist/{send-tanEMpHN.js → send-BjdAgYLu.js} +6 -6
- package/dist/{send-CZr1hVHY.js → send-BnuIB59F.js} +13 -13
- package/dist/{send-CXxQ_f7L.js → send-C95ZRvja.js} +6 -6
- package/dist/{send-DwKJK3sM.js → send-CiTGOvEc.js} +10 -10
- package/dist/{send-zSarozV2.js → send-DW96zgDL.js} +6 -6
- package/dist/{send-CHEOWVc8.js → send-DeFniOjh.js} +6 -6
- package/dist/{send-DbcLJb0P.js → send-WyRqb4WD.js} +7 -7
- package/dist/{send-CPF8hSFp.js → send-dH0xroTu.js} +4 -4
- package/dist/{server-context-CEpFjqSk.js → server-context-DUXqnh6l.js} +5 -5
- package/dist/{server-methods-CyFB3XQf.js → server-methods-B9alalq5.js} +7 -7
- package/dist/{server-methods-Cm6W01ne.js → server-methods-BgBq7KRL.js} +54 -54
- package/dist/{server-node-events-Bhgt3xLw.js → server-node-events-BrBsrcCd.js} +63 -63
- package/dist/{server-node-events-CX1plxJz.js → server-node-events-DWG81_Fo.js} +2 -2
- package/dist/{service-Cl74hx8J.js → service--qMN5DPm.js} +15 -15
- package/dist/{session-DIBTkyvE.js → session-CsIk0Sqq.js} +2 -2
- package/dist/{session-DV1MNlbV.js → session-SM36BTsl.js} +8 -8
- package/dist/session-dirs-D3qlvucD.js +18 -0
- package/dist/{sessions-DgYpBvse.js → sessions-D5a7H247.js} +13 -13
- package/dist/{shared-Knv1hy6h.js → shared-Gi3l7nlY.js} +3 -3
- package/dist/{shared-BJvwnR5z.js → shared-Jm_QdQJQ.js} +1 -1
- package/dist/{skill-commands-D610IKhm.js → skill-commands-BJMb_psG.js} +9 -9
- package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
- package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-CXg9eeyc.js} +5 -5
- package/dist/{skills-o5WVqM4V.js → skills-BFekKL7i.js} +21 -21
- package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
- package/dist/{skills-cli-BZTBLQTt.js → skills-cli-D1JL_utC.js} +7 -7
- package/dist/{skills-install-D67isO1L.js → skills-install-DjcTy3CT.js} +3 -3
- package/dist/{skills-status-CURJKnyY.js → skills-status-DS-NZQiq.js} +1 -1
- package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
- package/dist/{sqlite-6H6Zw1cs.js → sqlite-DRbx2dhW.js} +4 -4
- package/dist/{status-CwXg8OO1.js → status-CgPPKk09.js} +25 -25
- package/dist/{status-U_1mE-yc.js → status-CkJV2sl6.js} +3 -3
- package/dist/{status-BdmYV3_x.js → status-DqMwkAnF.js} +1 -1
- package/dist/{status-BBpD_1pG.js → status-DxodHhzX.js} +2 -2
- package/dist/{status.update-DtwCUTf-.js → status.update-CmGpjKSr.js} +3 -3
- package/dist/{store-vVE6N2mH.js → store-C0wvOkae.js} +2 -2
- package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
- package/dist/{subagent-registry-Du9P0G2U.js → subagent-registry-CBklD0OL.js} +96 -8
- package/dist/{subsystem-DgpxyDQ_.js → subsystem-Bs9YvKLa.js} +1 -1
- package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
- package/dist/{system-cli-UMsMEurS.js → system-cli-Buhvt_H5.js} +11 -11
- package/dist/{systemd-riq8uNJQ.js → systemd-AhJEsmIk.js} +5 -5
- package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-Db0oImvK.js} +6 -6
- package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-BXwqn1jL.js} +1 -1
- package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
- package/dist/{tables-BIWsCKXJ.js → tables-DuZspiBu.js} +1 -1
- package/dist/{target-errors-DyItGyW9.js → target-errors-Be1SwYlW.js} +2 -2
- package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
- package/dist/{thinking-Ni0HF-w6.js → thinking-CdlENGRW.js} +5 -5
- package/dist/{tokens-c_SLAkVb.js → tokens-H1H1LiSQ.js} +1 -1
- package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
- package/dist/{tool-images-DBCfXdli.js → tool-images-DXB7tqWi.js} +2 -2
- package/dist/{tool-loop-detection-Bbc9OPFR.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
- package/dist/{tui-CriznorL.js → tui-C0A9W969.js} +7 -7
- package/dist/{tui-cli-CSIdfCTR.js → tui-cli-tCnkNdSx.js} +28 -28
- package/dist/{update-rw7wJwHd.js → update-Df4sEKtI.js} +3 -3
- package/dist/{update-check-CtckACbb.js → update-check-C0oYCI89.js} +5 -5
- package/dist/{update-cli-_45TJ3hZ.js → update-cli-BqdgQuYp.js} +8 -8
- package/dist/{update-cli-DJzF_9UX.js → update-cli-DYrpyu4a.js} +94 -94
- package/dist/{update-runner-BSQFv9b6.js → update-runner-BgzyPjF5.js} +15 -15
- package/dist/{update-runner-8Ac4bJ1w.js → update-runner-CmZW3aeK.js} +1 -1
- package/dist/{web-C1Zn8_qW.js → web-CfZp0Jv6.js} +6 -6
- package/dist/{web-BqRsq6mP.js → web-DNQzo8ao.js} +57 -57
- package/dist/web-DsCqmzyk.js +109 -0
- package/dist/{web-w-vV1rCZ.js → web-GL_nqURg.js} +1 -1
- package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-Bp-7Rs2Y.js} +4 -4
- package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-CFXNPLco.js} +15 -15
- package/dist/{whatsapp-actions-oRQjcdQe.js → whatsapp-actions-D1RsnX7P.js} +23 -23
- package/dist/{with-timeout-gmK6RciS.js → with-timeout-Cs6_LnHB.js} +1 -1
- package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
- package/dist/{workspace-CbvamIU6.js → workspace-wAaHI8-5.js} +6 -6
- package/dist/{wsl-C4424szg.js → wsl-BbXxnokd.js} +2 -2
- package/package.json +1 -1
- package/dist/register.configure-Drr3E9OG.js +0 -147
- package/dist/web-BZSI7b07.js +0 -109
|
@@ -3,101 +3,101 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
|
|
|
3
3
|
import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-EAliFiVK.js";
|
|
5
5
|
import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
|
-
import { t as resolveSymiPackageRoot } from "./symi-root-
|
|
6
|
+
import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
|
|
7
7
|
import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
|
|
8
8
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
9
9
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
10
|
-
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-
|
|
11
|
-
import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-
|
|
10
|
+
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-BRwEc2pG.js";
|
|
11
|
+
import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-X1oLh3CE.js";
|
|
12
12
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DAu1a6BX.js";
|
|
13
13
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
14
14
|
import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
16
16
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
|
|
17
|
-
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-
|
|
18
|
-
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
17
|
+
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BnuIB59F.js";
|
|
18
|
+
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CJMcIRQM.js";
|
|
19
19
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
|
|
20
20
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
21
21
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
22
22
|
import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
|
|
23
23
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
|
|
24
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
25
|
-
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-
|
|
26
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
24
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Cen70krW.js";
|
|
25
|
+
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-BiY-PfMh.js";
|
|
26
|
+
import { t as ensureSymiModelsJson } from "./models-config-CqDdkHJq.js";
|
|
27
27
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
|
|
28
|
-
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-
|
|
29
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
30
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
31
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
32
|
-
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-
|
|
28
|
+
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-DO6u9K2t.js";
|
|
29
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-BzNrUHpt.js";
|
|
30
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-r4RThPxq.js";
|
|
31
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DUXqnh6l.js";
|
|
32
|
+
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DqQUtOph.js";
|
|
33
33
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
|
|
34
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
34
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-CT6jsi4E.js";
|
|
35
35
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
|
|
36
|
-
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-
|
|
37
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./store-
|
|
38
|
-
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
39
|
-
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-
|
|
40
|
-
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-
|
|
41
|
-
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-
|
|
42
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
43
|
-
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
44
|
-
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-
|
|
36
|
+
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
|
|
37
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./store-DvtcmOKj.js";
|
|
38
|
+
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-D5a7H247.js";
|
|
39
|
+
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BYiRZSgZ.js";
|
|
40
|
+
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-BAyxWQSz.js";
|
|
41
|
+
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-Cd816n6l.js";
|
|
42
|
+
import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
|
|
43
|
+
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-mN_EcgxC.js";
|
|
44
|
+
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-dH0xroTu.js";
|
|
45
45
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
|
|
46
46
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
|
|
47
47
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
|
|
48
|
-
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-
|
|
48
|
+
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-B-pqX3nX.js";
|
|
49
49
|
import { n as resolveToolDisplay } from "./tool-display-D8N3rsYt.js";
|
|
50
50
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3da8yR.js";
|
|
51
51
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
52
|
-
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
53
|
-
import { v as runTasksWithConcurrency } from "./sqlite-
|
|
54
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
52
|
+
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
|
|
53
|
+
import { v as runTasksWithConcurrency } from "./sqlite-BV5ILFtC.js";
|
|
54
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C3NLvWC2.js";
|
|
55
55
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
|
|
56
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-
|
|
57
|
-
import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, 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 parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-
|
|
56
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-Cs6_LnHB.js";
|
|
57
|
+
import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, 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 parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-Um8yyhRA.js";
|
|
58
58
|
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-DjBRPfu9.js";
|
|
59
59
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
|
|
60
|
-
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-
|
|
61
|
-
import { a as buildModelAliasLines, n as resolveModel } from "./model-
|
|
62
|
-
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
63
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
60
|
+
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BEeuDXqy.js";
|
|
61
|
+
import { a as buildModelAliasLines, n as resolveModel } from "./model-CeeOcylL.js";
|
|
62
|
+
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BLOOs1aW.js";
|
|
63
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-lk6fRiwy.js";
|
|
64
|
+
import { i as resolveMemorySearchConfig } from "./manager-C1CfGzZ2.js";
|
|
65
65
|
import { n as retryAsync } from "./retry-BoS4e4X_.js";
|
|
66
|
-
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-
|
|
66
|
+
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-CCz79CmV.js";
|
|
67
67
|
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-1dhPX1NK.js";
|
|
68
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
69
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-
|
|
70
|
-
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-
|
|
71
|
-
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-
|
|
72
|
-
import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-
|
|
73
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
68
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
69
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Dt4hOzxG.js";
|
|
70
|
+
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CtocZ4Lg.js";
|
|
71
|
+
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BZ0ZSQpM.js";
|
|
72
|
+
import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BsrZnuSi.js";
|
|
73
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-Dd7-bkfG.js";
|
|
74
74
|
import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
|
|
75
75
|
import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
|
|
76
76
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
|
|
77
77
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
|
|
78
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
79
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
80
|
-
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
78
|
+
import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
|
|
79
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BjdAgYLu.js";
|
|
80
|
+
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-B8ktu-6j.js";
|
|
81
81
|
import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
|
|
82
82
|
import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
|
|
83
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
84
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
85
|
-
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-
|
|
83
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BcnaXYvh.js";
|
|
84
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BL7IBg12.js";
|
|
85
|
+
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-ZXbEITKi.js";
|
|
86
86
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
|
|
87
|
-
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-
|
|
88
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
89
|
-
import { t as resolvePairingIdLabel } from "./pairing-labels-
|
|
87
|
+
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-C95ZRvja.js";
|
|
88
|
+
import { r as detectBinary } from "./onboard-helpers-Dixh6cNh.js";
|
|
89
|
+
import { t as resolvePairingIdLabel } from "./pairing-labels-27SOKDzJ.js";
|
|
90
90
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
|
|
91
91
|
import { t as getActiveWebListener } from "./active-listener-kvXhlgwu.js";
|
|
92
92
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-Kn31mBcW.js";
|
|
93
|
-
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-
|
|
93
|
+
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-C99kfE1u.js";
|
|
94
94
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
|
|
95
95
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
|
|
96
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
97
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
96
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-juZV2uUv.js";
|
|
97
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-B8H3Bqpv.js";
|
|
98
98
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
|
|
99
99
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-C8_BLnaW.js";
|
|
100
|
-
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-
|
|
100
|
+
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DjfBv8kq.js";
|
|
101
101
|
import { t as parseTimeoutMs } from "./parse-timeout-C385GCpE.js";
|
|
102
102
|
import { createRequire } from "node:module";
|
|
103
103
|
import { fileURLToPath } from "node:url";
|
|
@@ -105,7 +105,7 @@ import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSyn
|
|
|
105
105
|
import os, { homedir } from "node:os";
|
|
106
106
|
import path from "node:path";
|
|
107
107
|
import JSON5 from "json5";
|
|
108
|
-
import
|
|
108
|
+
import fsPromises from "node:fs/promises";
|
|
109
109
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
110
110
|
import { inspect } from "node:util";
|
|
111
111
|
import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -2893,7 +2893,7 @@ async function createModelSelectionState(params) {
|
|
|
2893
2893
|
}
|
|
2894
2894
|
}
|
|
2895
2895
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
2896
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
2896
|
+
const { ensureAuthProfileStore } = await import("./model-selection-X1oLh3CE.js").then((n) => n.dt);
|
|
2897
2897
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
2898
2898
|
const providerKey = normalizeProviderId(provider);
|
|
2899
2899
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -10415,7 +10415,7 @@ async function routeReply(params) {
|
|
|
10415
10415
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10416
10416
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10417
10417
|
try {
|
|
10418
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10418
|
+
const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
|
|
10419
10419
|
return {
|
|
10420
10420
|
ok: true,
|
|
10421
10421
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12964,8 +12964,8 @@ async function describeStickerImage(params) {
|
|
|
12964
12964
|
const { provider, model } = resolved;
|
|
12965
12965
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
12966
12966
|
try {
|
|
12967
|
-
const buffer = await
|
|
12968
|
-
const { describeImageWithModel } = await import("./image-
|
|
12967
|
+
const buffer = await fsPromises.readFile(imagePath);
|
|
12968
|
+
const { describeImageWithModel } = await import("./image-BiY-PfMh.js").then((n) => n.n);
|
|
12969
12969
|
return (await describeImageWithModel({
|
|
12970
12970
|
buffer,
|
|
12971
12971
|
fileName: "sticker.webp",
|
|
@@ -13388,7 +13388,7 @@ function createWhatsAppLoginTool() {
|
|
|
13388
13388
|
force: Type.Optional(Type.Boolean())
|
|
13389
13389
|
}),
|
|
13390
13390
|
execute: async (_toolCallId, args) => {
|
|
13391
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
13391
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-wCWBOMwB.js");
|
|
13392
13392
|
if ((args?.action ?? "start") === "wait") {
|
|
13393
13393
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
13394
13394
|
return {
|
|
@@ -15604,7 +15604,7 @@ async function preflightDiscordMessage(params) {
|
|
|
15604
15604
|
let preflightTranscript;
|
|
15605
15605
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
15606
15606
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
15607
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
15607
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
|
|
15608
15608
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
15609
15609
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
15610
15610
|
ctx: {
|
|
@@ -21610,18 +21610,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
21610
21610
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
21611
21611
|
}
|
|
21612
21612
|
async function writeCliImages(images) {
|
|
21613
|
-
const tempDir = await
|
|
21613
|
+
const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
|
|
21614
21614
|
const paths = [];
|
|
21615
21615
|
for (let i = 0; i < images.length; i += 1) {
|
|
21616
21616
|
const image = images[i];
|
|
21617
21617
|
const ext = resolveImageExtension(image.mimeType);
|
|
21618
21618
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
21619
21619
|
const buffer = Buffer.from(image.data, "base64");
|
|
21620
|
-
await
|
|
21620
|
+
await fsPromises.writeFile(filePath, buffer, { mode: 384 });
|
|
21621
21621
|
paths.push(filePath);
|
|
21622
21622
|
}
|
|
21623
21623
|
const cleanup = async () => {
|
|
21624
|
-
await
|
|
21624
|
+
await fsPromises.rm(tempDir, {
|
|
21625
21625
|
recursive: true,
|
|
21626
21626
|
force: true
|
|
21627
21627
|
});
|
|
@@ -22374,27 +22374,27 @@ async function runWithImageModelFallback(params) {
|
|
|
22374
22374
|
function createDefaultDeps() {
|
|
22375
22375
|
return {
|
|
22376
22376
|
sendMessageWhatsApp: async (...args) => {
|
|
22377
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
22377
|
+
const { sendMessageWhatsApp } = await import("./web-DsCqmzyk.js");
|
|
22378
22378
|
return await sendMessageWhatsApp(...args);
|
|
22379
22379
|
},
|
|
22380
22380
|
sendMessageTelegram: async (...args) => {
|
|
22381
|
-
const { sendMessageTelegram } = await import("./send-
|
|
22381
|
+
const { sendMessageTelegram } = await import("./send-BEeuDXqy.js").then((n) => n.l);
|
|
22382
22382
|
return await sendMessageTelegram(...args);
|
|
22383
22383
|
},
|
|
22384
22384
|
sendMessageDiscord: async (...args) => {
|
|
22385
|
-
const { sendMessageDiscord } = await import("./send-
|
|
22385
|
+
const { sendMessageDiscord } = await import("./send-BnuIB59F.js").then((n) => n.t);
|
|
22386
22386
|
return await sendMessageDiscord(...args);
|
|
22387
22387
|
},
|
|
22388
22388
|
sendMessageSlack: async (...args) => {
|
|
22389
|
-
const { sendMessageSlack } = await import("./send-
|
|
22389
|
+
const { sendMessageSlack } = await import("./send-dH0xroTu.js").then((n) => n.n);
|
|
22390
22390
|
return await sendMessageSlack(...args);
|
|
22391
22391
|
},
|
|
22392
22392
|
sendMessageSignal: async (...args) => {
|
|
22393
|
-
const { sendMessageSignal } = await import("./send-
|
|
22393
|
+
const { sendMessageSignal } = await import("./send-BjdAgYLu.js").then((n) => n.i);
|
|
22394
22394
|
return await sendMessageSignal(...args);
|
|
22395
22395
|
},
|
|
22396
22396
|
sendMessageIMessage: async (...args) => {
|
|
22397
|
-
const { sendMessageIMessage } = await import("./send-
|
|
22397
|
+
const { sendMessageIMessage } = await import("./send-C95ZRvja.js").then((n) => n.n);
|
|
22398
22398
|
return await sendMessageIMessage(...args);
|
|
22399
22399
|
}
|
|
22400
22400
|
};
|
|
@@ -23578,10 +23578,10 @@ function estimateDurationSeconds(pcm) {
|
|
|
23578
23578
|
return pcm.length / (bytesPerSample * SAMPLE_RATE);
|
|
23579
23579
|
}
|
|
23580
23580
|
async function writeWavFile(pcm) {
|
|
23581
|
-
const tempDir = await
|
|
23581
|
+
const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
|
|
23582
23582
|
const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
|
|
23583
23583
|
const wav = buildWavBuffer(pcm);
|
|
23584
|
-
await
|
|
23584
|
+
await fsPromises.writeFile(filePath, wav);
|
|
23585
23585
|
scheduleTempCleanup(tempDir);
|
|
23586
23586
|
return {
|
|
23587
23587
|
path: filePath,
|
|
@@ -23590,7 +23590,7 @@ async function writeWavFile(pcm) {
|
|
|
23590
23590
|
}
|
|
23591
23591
|
function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
|
|
23592
23592
|
setTimeout(() => {
|
|
23593
|
-
|
|
23593
|
+
fsPromises.rm(tempDir, {
|
|
23594
23594
|
recursive: true,
|
|
23595
23595
|
force: true
|
|
23596
23596
|
}).catch((err) => {
|
|
@@ -27329,7 +27329,7 @@ function normalizeAllowList$2(list) {
|
|
|
27329
27329
|
async function detectRemoteHostFromCliPath(cliPath) {
|
|
27330
27330
|
try {
|
|
27331
27331
|
const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
|
|
27332
|
-
const content = await
|
|
27332
|
+
const content = await fsPromises.readFile(expanded, "utf8");
|
|
27333
27333
|
const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
|
|
27334
27334
|
if (userHostMatch) return userHostMatch[1];
|
|
27335
27335
|
return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
|
|
@@ -33544,7 +33544,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
33544
33544
|
}
|
|
33545
33545
|
let commandsRegistry;
|
|
33546
33546
|
async function getCommandsRegistry() {
|
|
33547
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
33547
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BZ0ZSQpM.js").then((n) => n.n);
|
|
33548
33548
|
return commandsRegistry;
|
|
33549
33549
|
}
|
|
33550
33550
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -33886,11 +33886,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
33886
33886
|
const channelName = channelInfo?.name;
|
|
33887
33887
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
33888
33888
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
33889
|
-
import("./resolve-route-
|
|
33889
|
+
import("./resolve-route-BcnaXYvh.js").then((n) => n.r),
|
|
33890
33890
|
import("./inbound-context-CmmmT8IP.js").then((n) => n.n),
|
|
33891
33891
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
33892
33892
|
]);
|
|
33893
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-
|
|
33893
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-BLOOs1aW.js").then((n) => n.n)]);
|
|
33894
33894
|
const route = resolveAgentRoute({
|
|
33895
33895
|
cfg,
|
|
33896
33896
|
channel: "slack",
|
|
@@ -33947,9 +33947,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
33947
33947
|
});
|
|
33948
33948
|
const deliverSlashPayloads = async (replies) => {
|
|
33949
33949
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
33950
|
-
import("./replies-
|
|
33950
|
+
import("./replies-BL7IBg12.js").then((n) => n.r),
|
|
33951
33951
|
import("./chunk-1dhPX1NK.js").then((n) => n.s),
|
|
33952
|
-
import("./markdown-tables-
|
|
33952
|
+
import("./markdown-tables-ZwP14ydw.js").then((n) => n.t)
|
|
33953
33953
|
]);
|
|
33954
33954
|
await deliverSlackSlashReplies({
|
|
33955
33955
|
replies,
|
|
@@ -34002,7 +34002,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
34002
34002
|
let nativeCommands = [];
|
|
34003
34003
|
if (nativeEnabled) {
|
|
34004
34004
|
reg = await getCommandsRegistry();
|
|
34005
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
34005
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ZXbEITKi.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
34006
34006
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
34007
34007
|
skillCommands,
|
|
34008
34008
|
provider: "slack"
|
|
@@ -38771,7 +38771,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
38771
38771
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
38772
38772
|
let preflightTranscript;
|
|
38773
38773
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
38774
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
38774
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
|
|
38775
38775
|
preflightTranscript = await transcribeFirstAudio({
|
|
38776
38776
|
ctx: {
|
|
38777
38777
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -40539,7 +40539,7 @@ function safeParseState(raw) {
|
|
|
40539
40539
|
async function readTelegramUpdateOffset(params) {
|
|
40540
40540
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
40541
40541
|
try {
|
|
40542
|
-
return safeParseState(await
|
|
40542
|
+
return safeParseState(await fsPromises.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
|
|
40543
40543
|
} catch (err) {
|
|
40544
40544
|
if (err.code === "ENOENT") return null;
|
|
40545
40545
|
return null;
|
|
@@ -40548,7 +40548,7 @@ async function readTelegramUpdateOffset(params) {
|
|
|
40548
40548
|
async function writeTelegramUpdateOffset(params) {
|
|
40549
40549
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
40550
40550
|
const dir = path.dirname(filePath);
|
|
40551
|
-
await
|
|
40551
|
+
await fsPromises.mkdir(dir, {
|
|
40552
40552
|
recursive: true,
|
|
40553
40553
|
mode: 448
|
|
40554
40554
|
});
|
|
@@ -40557,14 +40557,14 @@ async function writeTelegramUpdateOffset(params) {
|
|
|
40557
40557
|
version: STORE_VERSION,
|
|
40558
40558
|
lastUpdateId: params.updateId
|
|
40559
40559
|
};
|
|
40560
|
-
await
|
|
40561
|
-
await
|
|
40562
|
-
await
|
|
40560
|
+
await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
|
|
40561
|
+
await fsPromises.chmod(tmp, 384);
|
|
40562
|
+
await fsPromises.rename(tmp, filePath);
|
|
40563
40563
|
}
|
|
40564
40564
|
async function deleteTelegramUpdateOffset(params) {
|
|
40565
40565
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
40566
40566
|
try {
|
|
40567
|
-
await
|
|
40567
|
+
await fsPromises.unlink(filePath);
|
|
40568
40568
|
} catch (err) {
|
|
40569
40569
|
if (err.code === "ENOENT") return;
|
|
40570
40570
|
throw err;
|
|
@@ -40925,23 +40925,23 @@ let webLoginQrPromise = null;
|
|
|
40925
40925
|
let webChannelPromise = null;
|
|
40926
40926
|
let whatsappActionsPromise = null;
|
|
40927
40927
|
function loadWebOutbound() {
|
|
40928
|
-
webOutboundPromise ??= import("./outbound-
|
|
40928
|
+
webOutboundPromise ??= import("./outbound-NJCy0h4x.js").then((n) => n.t);
|
|
40929
40929
|
return webOutboundPromise;
|
|
40930
40930
|
}
|
|
40931
40931
|
function loadWebLogin() {
|
|
40932
|
-
webLoginPromise ??= import("./login-
|
|
40932
|
+
webLoginPromise ??= import("./login-1sleXoB4.js").then((n) => n.n);
|
|
40933
40933
|
return webLoginPromise;
|
|
40934
40934
|
}
|
|
40935
40935
|
function loadWebLoginQr() {
|
|
40936
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
40936
|
+
webLoginQrPromise ??= import("./login-qr-wCWBOMwB.js");
|
|
40937
40937
|
return webLoginQrPromise;
|
|
40938
40938
|
}
|
|
40939
40939
|
function loadWebChannel() {
|
|
40940
|
-
webChannelPromise ??= import("./web-
|
|
40940
|
+
webChannelPromise ??= import("./web-DsCqmzyk.js");
|
|
40941
40941
|
return webChannelPromise;
|
|
40942
40942
|
}
|
|
40943
40943
|
function loadWhatsAppActions() {
|
|
40944
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
40944
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-CFXNPLco.js");
|
|
40945
40945
|
return whatsappActionsPromise;
|
|
40946
40946
|
}
|
|
40947
40947
|
function createPluginRuntime() {
|
|
@@ -41708,7 +41708,7 @@ function resolvePluginTools(params) {
|
|
|
41708
41708
|
//#endregion
|
|
41709
41709
|
//#region src/agents/apply-patch-update.ts
|
|
41710
41710
|
async function defaultReadFile(filePath) {
|
|
41711
|
-
return
|
|
41711
|
+
return fsPromises.readFile(filePath, "utf8");
|
|
41712
41712
|
}
|
|
41713
41713
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
41714
41714
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -41952,10 +41952,10 @@ function resolvePatchFileOps(options) {
|
|
|
41952
41952
|
};
|
|
41953
41953
|
}
|
|
41954
41954
|
return {
|
|
41955
|
-
readFile: (filePath) =>
|
|
41956
|
-
writeFile: (filePath, content) =>
|
|
41957
|
-
remove: (filePath) =>
|
|
41958
|
-
mkdirp: (dir) =>
|
|
41955
|
+
readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
|
|
41956
|
+
writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
|
|
41957
|
+
remove: (filePath) => fsPromises.rm(filePath),
|
|
41958
|
+
mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
|
|
41959
41959
|
};
|
|
41960
41960
|
}
|
|
41961
41961
|
async function ensureDir(filePath, ops) {
|
|
@@ -42676,7 +42676,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
42676
42676
|
cwd: process.cwd(),
|
|
42677
42677
|
root: params.sandbox.workspaceDir
|
|
42678
42678
|
});
|
|
42679
|
-
if (!(await
|
|
42679
|
+
if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
42680
42680
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
42681
42681
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
42682
42682
|
return {
|
|
@@ -43657,13 +43657,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
43657
43657
|
cwd: params.workdir,
|
|
43658
43658
|
root: params.workdir
|
|
43659
43659
|
});
|
|
43660
|
-
stat = await
|
|
43660
|
+
stat = await fsPromises.stat(absPath);
|
|
43661
43661
|
} catch {
|
|
43662
43662
|
return;
|
|
43663
43663
|
}
|
|
43664
43664
|
if (!stat.isFile()) return;
|
|
43665
43665
|
if (stat.size > 512 * 1024) return;
|
|
43666
|
-
const content = await
|
|
43666
|
+
const content = await fsPromises.readFile(absPath, "utf-8");
|
|
43667
43667
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
43668
43668
|
if (first) {
|
|
43669
43669
|
const idx = first.index;
|
|
@@ -44587,6 +44587,42 @@ function createProcessTool(defaults) {
|
|
|
44587
44587
|
}
|
|
44588
44588
|
const processTool = createProcessTool();
|
|
44589
44589
|
|
|
44590
|
+
//#endregion
|
|
44591
|
+
//#region src/agents/model-token-filter.ts
|
|
44592
|
+
/**
|
|
44593
|
+
* Strips model-specific control tokens from streamed text.
|
|
44594
|
+
*
|
|
44595
|
+
* Used both server-side (in the streaming pipeline) and by the Glass UI
|
|
44596
|
+
* (as a defense-in-depth fallback). The patterns here cover tokens known
|
|
44597
|
+
* to leak from Gemma 4 / vLLM; Claude output is left untouched.
|
|
44598
|
+
*/
|
|
44599
|
+
const GEMMA_TOKEN_PATTERNS = [
|
|
44600
|
+
/<\|channel>\w*/g,
|
|
44601
|
+
/<channel\|>/g,
|
|
44602
|
+
/<start_of_turn>(?:model|user)?/g,
|
|
44603
|
+
/<end_of_turn>/g,
|
|
44604
|
+
/<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
|
|
44605
|
+
/^\s*<bos>\s*/gm
|
|
44606
|
+
];
|
|
44607
|
+
const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
|
|
44608
|
+
function isGemmaModel$1(modelId) {
|
|
44609
|
+
const lower = modelId.toLowerCase();
|
|
44610
|
+
return GEMMA_MODEL_HINTS$1.some((hint) => lower.includes(hint));
|
|
44611
|
+
}
|
|
44612
|
+
/**
|
|
44613
|
+
* Strip known control tokens from text. Only applies to Gemma-family models;
|
|
44614
|
+
* other models pass through unchanged.
|
|
44615
|
+
*/
|
|
44616
|
+
function stripModelTokens(text, modelId) {
|
|
44617
|
+
if (!text || !isGemmaModel$1(modelId)) return text;
|
|
44618
|
+
let result = text;
|
|
44619
|
+
for (const re of GEMMA_TOKEN_PATTERNS) {
|
|
44620
|
+
re.lastIndex = 0;
|
|
44621
|
+
result = result.replace(re, "");
|
|
44622
|
+
}
|
|
44623
|
+
return result;
|
|
44624
|
+
}
|
|
44625
|
+
|
|
44590
44626
|
//#endregion
|
|
44591
44627
|
//#region src/agents/pi-tools.abort.ts
|
|
44592
44628
|
function throwAbortError() {
|
|
@@ -46831,7 +46867,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
46831
46867
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
46832
46868
|
throw new Error("jsonlPath outside allowed roots");
|
|
46833
46869
|
}
|
|
46834
|
-
const canonical = await
|
|
46870
|
+
const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
|
|
46835
46871
|
if (!isInboundPathAllowed({
|
|
46836
46872
|
filePath: canonical,
|
|
46837
46873
|
roots
|
|
@@ -46839,7 +46875,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
46839
46875
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
46840
46876
|
throw new Error("jsonlPath outside allowed roots");
|
|
46841
46877
|
}
|
|
46842
|
-
return await
|
|
46878
|
+
return await fsPromises.readFile(canonical, "utf8");
|
|
46843
46879
|
}
|
|
46844
46880
|
const CanvasToolSchema = Type.Object({
|
|
46845
46881
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -47619,27 +47655,27 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
47619
47655
|
}
|
|
47620
47656
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
47621
47657
|
const filePath = resolveRestartSentinelPath(env);
|
|
47622
|
-
await
|
|
47658
|
+
await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
|
|
47623
47659
|
const data = {
|
|
47624
47660
|
version: 1,
|
|
47625
47661
|
payload
|
|
47626
47662
|
};
|
|
47627
|
-
await
|
|
47663
|
+
await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
47628
47664
|
return filePath;
|
|
47629
47665
|
}
|
|
47630
47666
|
async function readRestartSentinel(env = process.env) {
|
|
47631
47667
|
const filePath = resolveRestartSentinelPath(env);
|
|
47632
47668
|
try {
|
|
47633
|
-
const raw = await
|
|
47669
|
+
const raw = await fsPromises.readFile(filePath, "utf-8");
|
|
47634
47670
|
let parsed;
|
|
47635
47671
|
try {
|
|
47636
47672
|
parsed = JSON.parse(raw);
|
|
47637
47673
|
} catch {
|
|
47638
|
-
await
|
|
47674
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
47639
47675
|
return null;
|
|
47640
47676
|
}
|
|
47641
47677
|
if (!parsed || parsed.version !== 1 || !parsed.payload) {
|
|
47642
|
-
await
|
|
47678
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
47643
47679
|
return null;
|
|
47644
47680
|
}
|
|
47645
47681
|
return parsed;
|
|
@@ -47651,7 +47687,7 @@ async function consumeRestartSentinel(env = process.env) {
|
|
|
47651
47687
|
const filePath = resolveRestartSentinelPath(env);
|
|
47652
47688
|
const parsed = await readRestartSentinel(env);
|
|
47653
47689
|
if (!parsed) return null;
|
|
47654
|
-
await
|
|
47690
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
47655
47691
|
return parsed;
|
|
47656
47692
|
}
|
|
47657
47693
|
function formatRestartSentinelMessage(payload) {
|
|
@@ -48758,7 +48794,7 @@ async function hydrateAttachmentPayload(params) {
|
|
|
48758
48794
|
accountId: params.accountId
|
|
48759
48795
|
}),
|
|
48760
48796
|
sandboxValidated: true,
|
|
48761
|
-
readFile: (filePath) =>
|
|
48797
|
+
readFile: (filePath) => fsPromises.readFile(filePath)
|
|
48762
48798
|
});
|
|
48763
48799
|
params.args.buffer = media.buffer.toString("base64");
|
|
48764
48800
|
if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
|
|
@@ -55969,6 +56005,31 @@ function resolveToolLoopDetectionConfig(params) {
|
|
|
55969
56005
|
}
|
|
55970
56006
|
};
|
|
55971
56007
|
}
|
|
56008
|
+
/**
|
|
56009
|
+
* Wrap a tool to strip model-specific control tokens from string arguments
|
|
56010
|
+
* before execution. Gemma 4 via vLLM sometimes injects tokens like `<|`
|
|
56011
|
+
* into tool call arguments (e.g. `exec("<|node -v")`). This wrapper
|
|
56012
|
+
* sanitizes all string values in the argument object.
|
|
56013
|
+
*/
|
|
56014
|
+
function wrapToolWithArgSanitization(tool, modelId) {
|
|
56015
|
+
const execute = tool.execute;
|
|
56016
|
+
if (!execute) return tool;
|
|
56017
|
+
return {
|
|
56018
|
+
...tool,
|
|
56019
|
+
execute: async (toolCallId, params, signal, onUpdate) => {
|
|
56020
|
+
return execute(toolCallId, sanitizeToolArgs(params, modelId), signal, onUpdate);
|
|
56021
|
+
}
|
|
56022
|
+
};
|
|
56023
|
+
}
|
|
56024
|
+
function sanitizeToolArgs(params, modelId) {
|
|
56025
|
+
if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
|
|
56026
|
+
if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
|
|
56027
|
+
const result = {};
|
|
56028
|
+
for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
|
|
56029
|
+
else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
|
|
56030
|
+
else result[key] = value;
|
|
56031
|
+
return result;
|
|
56032
|
+
}
|
|
55972
56033
|
function createSymiCodingTools(options) {
|
|
55973
56034
|
const execToolName = "exec";
|
|
55974
56035
|
const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
|
|
@@ -56192,7 +56253,11 @@ function createSymiCodingTools(options) {
|
|
|
56192
56253
|
agentId
|
|
56193
56254
|
})
|
|
56194
56255
|
}));
|
|
56195
|
-
|
|
56256
|
+
const withAbort = options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
|
|
56257
|
+
const modelId = options?.modelId ?? "";
|
|
56258
|
+
const modelProvider = options?.modelProvider ?? "";
|
|
56259
|
+
const fullModelId = modelProvider ? `${modelProvider}/${modelId}` : modelId;
|
|
56260
|
+
return fullModelId ? withAbort.map((tool) => wrapToolWithArgSanitization(tool, fullModelId)) : withAbort;
|
|
56196
56261
|
}
|
|
56197
56262
|
|
|
56198
56263
|
//#endregion
|
|
@@ -56211,7 +56276,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
56211
56276
|
};
|
|
56212
56277
|
let content;
|
|
56213
56278
|
try {
|
|
56214
|
-
content = await
|
|
56279
|
+
content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
56215
56280
|
} catch (err) {
|
|
56216
56281
|
if (err?.code === "ENOENT") return {
|
|
56217
56282
|
repaired: false,
|
|
@@ -56259,15 +56324,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
56259
56324
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
56260
56325
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
56261
56326
|
try {
|
|
56262
|
-
const stat = await
|
|
56263
|
-
await
|
|
56264
|
-
if (stat) await
|
|
56265
|
-
await
|
|
56266
|
-
if (stat) await
|
|
56267
|
-
await
|
|
56327
|
+
const stat = await fsPromises.stat(sessionFile).catch(() => null);
|
|
56328
|
+
await fsPromises.writeFile(backupPath, content, "utf-8");
|
|
56329
|
+
if (stat) await fsPromises.chmod(backupPath, stat.mode);
|
|
56330
|
+
await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
|
|
56331
|
+
if (stat) await fsPromises.chmod(tmpPath, stat.mode);
|
|
56332
|
+
await fsPromises.rename(tmpPath, sessionFile);
|
|
56268
56333
|
} catch (err) {
|
|
56269
56334
|
try {
|
|
56270
|
-
await
|
|
56335
|
+
await fsPromises.unlink(tmpPath);
|
|
56271
56336
|
} catch (cleanupErr) {
|
|
56272
56337
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
56273
56338
|
}
|
|
@@ -58372,7 +58437,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
58372
58437
|
if (!isSessionManagerCacheEnabled()) return;
|
|
58373
58438
|
if (isSessionManagerCached(sessionFile)) return;
|
|
58374
58439
|
try {
|
|
58375
|
-
const handle = await
|
|
58440
|
+
const handle = await fsPromises.open(sessionFile, "r");
|
|
58376
58441
|
try {
|
|
58377
58442
|
const buffer = Buffer$1.alloc(4096);
|
|
58378
58443
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -58696,7 +58761,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
58696
58761
|
} catch (err) {
|
|
58697
58762
|
return fail(describeUnknownError(err));
|
|
58698
58763
|
}
|
|
58699
|
-
await
|
|
58764
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
58700
58765
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
58701
58766
|
const sandbox = await resolveSandboxContext({
|
|
58702
58767
|
config: params.config,
|
|
@@ -58704,7 +58769,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
58704
58769
|
workspaceDir: resolvedWorkspace
|
|
58705
58770
|
});
|
|
58706
58771
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
58707
|
-
await
|
|
58772
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
58708
58773
|
await ensureSessionHeader({
|
|
58709
58774
|
sessionFile: params.sessionFile,
|
|
58710
58775
|
sessionId: params.sessionId,
|
|
@@ -59242,11 +59307,34 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
|
|
|
59242
59307
|
if (cacheRetention) streamParams.cacheRetention = cacheRetention;
|
|
59243
59308
|
if (Object.keys(streamParams).length === 0) return;
|
|
59244
59309
|
log$2.debug(`creating streamFn wrapper with params: ${JSON.stringify(streamParams)}`);
|
|
59310
|
+
const sp = streamParams;
|
|
59311
|
+
const payloadOverrides = {};
|
|
59312
|
+
if (Array.isArray(sp.stop) && sp.stop.length > 0) payloadOverrides.stop = sp.stop;
|
|
59313
|
+
if (typeof sp.top_p === "number") payloadOverrides.top_p = sp.top_p;
|
|
59314
|
+
if (typeof sp.top_k === "number") payloadOverrides.top_k = sp.top_k;
|
|
59315
|
+
if (typeof sp.repeat_penalty === "number") payloadOverrides.repeat_penalty = sp.repeat_penalty;
|
|
59316
|
+
const hasPayloadOverrides = Object.keys(payloadOverrides).length > 0;
|
|
59245
59317
|
const underlying = baseStreamFn ?? streamSimple;
|
|
59246
|
-
const wrappedStreamFn = (model, context, options) =>
|
|
59247
|
-
|
|
59248
|
-
|
|
59249
|
-
|
|
59318
|
+
const wrappedStreamFn = (model, context, options) => {
|
|
59319
|
+
if (hasPayloadOverrides) {
|
|
59320
|
+
const originalOnPayload = options?.onPayload;
|
|
59321
|
+
return underlying(model, context, {
|
|
59322
|
+
...streamParams,
|
|
59323
|
+
...options,
|
|
59324
|
+
onPayload: (payload) => {
|
|
59325
|
+
if (payload && typeof payload === "object") {
|
|
59326
|
+
const p = payload;
|
|
59327
|
+
for (const [key, value] of Object.entries(payloadOverrides)) if (p[key] === void 0) p[key] = value;
|
|
59328
|
+
}
|
|
59329
|
+
originalOnPayload?.(payload);
|
|
59330
|
+
}
|
|
59331
|
+
});
|
|
59332
|
+
}
|
|
59333
|
+
return underlying(model, context, {
|
|
59334
|
+
...streamParams,
|
|
59335
|
+
...options
|
|
59336
|
+
});
|
|
59337
|
+
};
|
|
59250
59338
|
return wrappedStreamFn;
|
|
59251
59339
|
}
|
|
59252
59340
|
function isDirectOpenAIBaseUrl(baseUrl) {
|
|
@@ -59471,12 +59559,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
59471
59559
|
const existing = writers.get(filePath);
|
|
59472
59560
|
if (existing) return existing;
|
|
59473
59561
|
const dir = path.dirname(filePath);
|
|
59474
|
-
const ready =
|
|
59562
|
+
const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
59475
59563
|
let queue = Promise.resolve();
|
|
59476
59564
|
const writer = {
|
|
59477
59565
|
filePath,
|
|
59478
59566
|
write: (line) => {
|
|
59479
|
-
queue = queue.then(() => ready).then(() =>
|
|
59567
|
+
queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
59480
59568
|
}
|
|
59481
59569
|
};
|
|
59482
59570
|
writers.set(filePath, writer);
|
|
@@ -61868,7 +61956,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
61868
61956
|
return;
|
|
61869
61957
|
}
|
|
61870
61958
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
61871
|
-
await
|
|
61959
|
+
await fsPromises.writeFile(params.sessionFile, "", "utf-8");
|
|
61872
61960
|
sm.fileEntries = [header];
|
|
61873
61961
|
sm.byId?.clear?.();
|
|
61874
61962
|
sm.labelsById?.clear?.();
|
|
@@ -62426,7 +62514,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
62426
62514
|
const prevCwd = process.cwd();
|
|
62427
62515
|
const runAbortController = new AbortController();
|
|
62428
62516
|
log$2.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
62429
|
-
await
|
|
62517
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
62430
62518
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
62431
62519
|
const sandbox = await resolveSandboxContext({
|
|
62432
62520
|
config: params.config,
|
|
@@ -62434,7 +62522,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
62434
62522
|
workspaceDir: resolvedWorkspace
|
|
62435
62523
|
});
|
|
62436
62524
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
62437
|
-
await
|
|
62525
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
62438
62526
|
let restoreSkillEnv;
|
|
62439
62527
|
process.chdir(effectiveWorkspace);
|
|
62440
62528
|
try {
|
|
@@ -62662,7 +62750,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
62662
62750
|
sessionFile: params.sessionFile,
|
|
62663
62751
|
warn: (message) => log$2.warn(message)
|
|
62664
62752
|
});
|
|
62665
|
-
const hadSessionFile = await
|
|
62753
|
+
const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
62666
62754
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
62667
62755
|
modelApi: params.model?.api,
|
|
62668
62756
|
provider: params.provider,
|
|
@@ -63680,7 +63768,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
63680
63768
|
}
|
|
63681
63769
|
runLoopIterations += 1;
|
|
63682
63770
|
attemptedThinking.add(thinkLevel);
|
|
63683
|
-
await
|
|
63771
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
63684
63772
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
63685
63773
|
const attempt = await runEmbeddedAttempt({
|
|
63686
63774
|
sessionId: params.sessionId,
|
|
@@ -68022,7 +68110,7 @@ async function handleCommands(params) {
|
|
|
68022
68110
|
try {
|
|
68023
68111
|
const messages = [];
|
|
68024
68112
|
if (sessionFile) {
|
|
68025
|
-
const content = await
|
|
68113
|
+
const content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
68026
68114
|
for (const line of content.split("\n")) {
|
|
68027
68115
|
if (!line.trim()) continue;
|
|
68028
68116
|
try {
|
|
@@ -71680,7 +71768,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
71680
71768
|
return;
|
|
71681
71769
|
}
|
|
71682
71770
|
try {
|
|
71683
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
71771
|
+
const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
|
|
71684
71772
|
await deliverOutboundPayloads({
|
|
71685
71773
|
cfg: params.cfg,
|
|
71686
71774
|
channel,
|
|
@@ -72055,7 +72143,7 @@ async function stageSandboxMedia(params) {
|
|
|
72055
72143
|
};
|
|
72056
72144
|
try {
|
|
72057
72145
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
72058
|
-
await
|
|
72146
|
+
await fsPromises.mkdir(destDir, { recursive: true });
|
|
72059
72147
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
72060
72148
|
cfg,
|
|
72061
72149
|
accountId: ctx.AccountId
|
|
@@ -72105,7 +72193,7 @@ async function stageSandboxMedia(params) {
|
|
|
72105
72193
|
usedNames.add(fileName);
|
|
72106
72194
|
const dest = path.join(destDir, fileName);
|
|
72107
72195
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
72108
|
-
else await
|
|
72196
|
+
else await fsPromises.copyFile(source, dest);
|
|
72109
72197
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
72110
72198
|
staged.set(source, stagedPath);
|
|
72111
72199
|
}
|
|
@@ -72537,4 +72625,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
72537
72625
|
}
|
|
72538
72626
|
|
|
72539
72627
|
//#endregion
|
|
72540
|
-
export { normalizeOptionalSessionKey as $,
|
|
72628
|
+
export { normalizeOptionalSessionKey as $, textToSpeech as $n, loadAgentIdentityFromWorkspace as $t, formatTargetDisplay as A, countActiveRunsForSession as An, extractFileContentFromSource as Ar, computeBackoff as At, setPreRestartDeferralCheck as B, onAgentEvent as Bn, createOutboundSendDeps as Bt, loadSessionEntry as C, hasControlCommand as Cn, isSystemEventContextChanged as Cr, formatUsageReportLines as Ct, runMessageAction as D, buildMentionRegexes as Dn, DEFAULT_INPUT_IMAGE_MIMES as Dr, handleSlackHttpRequest as Dt, resolveSessionModelRef as E, stopSubagentsForRequester as En, DEFAULT_INPUT_IMAGE_MAX_BYTES as Er, resolveCommitHash as Et, emitGatewayRestart as F, runSubagentAnnounceFlow as Fn, resolveAgentTimeoutMs as Fr, resolveAgentOutboundTarget as Ft, summarizeRestartSentinel as G, isTtsProviderConfigured as Gn, runWithModelFallback as Gt, formatDoctorNonInteractiveHint as H, resolveUserTimezone as Hn, resolveSendPolicy as Ht, isGatewaySigusr1RestartExternallyAllowed as I, readLatestAssistantReply as In, resolveHeartbeatDeliveryTarget as It, normalizeHttpWebhookUrl as J, resolveTtsConfig as Jn, runCliAgent as Jt, trimLogTail as K, resolveTtsApiKey as Kn, getCliSessionId as Kt, markGatewaySigusr1RestartHandled as L, clearAgentRunContext as Ln, resolveHeartbeatSenderContext as Lt, CHANNEL_MESSAGE_ACTION_NAMES as M, listDescendantRunsForRequester as Mn, normalizeMimeList as Mr, agentCommand as Mt, consumeGatewaySigusr1RestartAuthorization as N, listSubagentRunsForRequester as Nn, resolveInputFileLimits as Nr, resolveSessionKeyForRequest as Nt, ensureOutboundSessionEntry as O, normalizeMentionText as On, DEFAULT_INPUT_MAX_REDIRECTS as Or, readJsonBodyWithLimit as Ot, deferGatewayRestartUntilIdle as P, subagent_registry_exports as Pn, estimateBase64DecodedBytes as Pr, resolveAgentDeliveryPlan as Pt, normalizeOptionalAgentId as Q, setTtsProvider as Qn, identityHasValues as Qt, scheduleGatewaySigusr1Restart as R, emitAgentEvent as Rn, resolveOutboundTarget as Rt, loadCombinedSessionStoreForGateway as S, formatZonedTimestamp as Sn, enqueueSystemEvent as Sr, loadProviderUsageSummary as St, resolveGatewaySessionStoreTarget as T, isAbortTrigger as Tn, peekSystemEvents as Tr, resolveUsageProviderId as Tt, formatRestartSentinelMessage as U, getTtsProvider as Un, createDefaultDeps as Ut, consumeRestartSentinel as V, registerAgentRunContext as Vn, normalizeSendPolicy as Vt, readRestartSentinel as W, isTtsEnabled as Wn, createOutboundSendDeps$1 as Wt, normalizeCronJobPatch as X, resolveTtsProviderOrder as Xn, describeFailoverError as Xt, normalizeCronJobCreate as Y, resolveTtsPrefsPath as Yn, sha256HexPrefix as Yt, inferLegacyName as Z, setTtsEnabled as Zn, resolveAgentAvatar as Zt, resolveAnnounceTargetFromKey as _, createDedupeCache as _n, buildAuthHealthSummary as _r, createPluginLoaderLogger as _t, buildChannelSummary as a, unbindThreadBindingsBySessionKey as an, resetAllLanes as ar, hasLegacyDeliveryHints as at, listAgentsForGateway as b, formatInboundEnvelope as bn, applyVerboseOverride as br, normalizeGroupActivation as bt, clearSessionQueues as c, DEFAULT_GROUP_HISTORY_LIMIT as cn, CommandLane as cr, CHANNEL_TARGET_DESCRIPTION as ct, getActiveEmbeddedRunCount as d, shouldAckReactionForWhatsApp as dn, isHeartbeatContentEffectivelyEmpty as dr, sniffMimeFromBase64 as dt, parseIdentityMarkdown as en, OPENAI_TTS_MODELS as er, normalizeOptionalText as et, waitForEmbeddedPiRunEnd as f, dispatchReplyWithBufferedBlockDispatcher as fn, resolveHeartbeatPrompt as fr, stripModelTokens as ft, createSymiTools as g, getTotalPendingReplies as gn, DEFAULT_OAUTH_WARN_MS as gr, getPluginToolMeta as gt, buildDefaultToolPolicyPipelineSteps as h, createReplyDispatcher as hn, maskApiKey as hr, resolveHeartbeatReasonKind as ht, resolveCronStyleNow as i, isExternalHookSession as in, getTotalQueueSize as ir, buildDeliveryFromLegacyPayload as it, resetDirectoryCache as j, initSubagentRegistry as jn, extractImageContentFromSource as jr, sleepWithAbort as jt, resolveOutboundSessionRoute as k, countActiveDescendantRuns as kn, DEFAULT_INPUT_TIMEOUT_MS as kr, requestBodyErrorToText as kt, runEmbeddedPiAgent as l, buildHistoryContextFromEntries as ln, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as lr, applyBrowserProxyPaths as lt, applyToolPolicyPipeline as m, dispatchInboundMessage as mn, lookupContextTokens as mr, setHeartbeatWakeHandler as mt, BARE_SESSION_RESET_PROMPT as n, detectSuspiciousPatterns as nn, getActiveTaskCount as nr, normalizeRequiredName as nt, buildChannelAccountSnapshot as o, buildPairingReply as on, setCommandLaneConcurrency as or, stripLegacyDeliveryFields as ot, resolveModelProfile as p, provider_dispatcher_exports as pn, stripHeartbeatToken as pr, requestHeartbeatNow as pt, writeRestartSentinel as q, resolveTtsAutoMode as qn, setCliSessionId as qt, appendCronStyleCurrentTimeLine as r, getHookType as rn, getQueueSize as rr, migrateLegacyCronPayload as rt, formatChannelAllowFrom as s, resolveMentionGating as sn, waitForActiveTasks as sr, CHANNEL_TARGETS_DESCRIPTION as st, getReplyFromConfig as t, buildSafeExternalPrompt as tn, OPENAI_TTS_VOICES as tr, normalizePayloadToSystemText as tt, abortEmbeddedPiRun as u, recordPendingHistoryEntryIfEnabled as un, DEFAULT_HEARTBEAT_EVERY as ur, persistBrowserProxyFiles as ut, canonicalizeSpawnedByForAgent as v, createInboundDebouncer as vn, formatRemainingShort as vr, loadSymiPlugins as vt, pruneLegacyStoreKeys as w, shouldComputeCommandAuthorized as wn, peekSystemEventEntries as wr, formatUsageWindowSummary as wt, listSessionsFromStore as x, resolveEnvelopeFormatOptions as xn, parseVerboseOverride as xr, parseActivationCommand as xt, classifySessionKey as y, resolveInboundDebounceMs as yn, applyModelOverrideToSessionEntry as yr, deleteTelegramUpdateOffset as yt, setGatewaySigusr1RestartPolicy as z, getAgentRunContext as zn, resolveSessionDeliveryTarget as zt };
|