@symerian/symi 2.6.39 → 2.6.41
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-dRUMQQrB.js → accounts-3dCrO3oZ.js} +1 -1
- package/dist/{accounts-D1r2dq1t.js → accounts-BRw8yhIW.js} +21 -21
- package/dist/{accounts-wSphH5gv.js → accounts-BuZxOb3B.js} +1 -1
- package/dist/{acp-cli-EqE2uipx.js → acp-cli-BLUeUUA5.js} +2 -2
- package/dist/{acp-cli-ByYHYK_E.js → acp-cli-CrEIx-c7.js} +2 -2
- package/dist/{active-listener-C3pfJhdC.js → active-listener-Br2FcRv7.js} +1 -1
- package/dist/{agent-scope-D68_xfTL.js → agent-scope-CpEJ0B88.js} +3 -3
- package/dist/{agents-BaNrmXzu.js → agents-B4RNdKQ3.js} +7 -7
- package/dist/{agents.config-BOxmN33d.js → agents.config-CA31c0kN.js} +1 -1
- package/dist/{agents.config-C78DHdxT.js → agents.config-CG2klYOg.js} +1 -1
- package/dist/{audio-preflight-CzQUZSUK.js → audio-preflight-CIiS5cfP.js} +11 -11
- package/dist/{audio-preflight-DZ_2w4B5.js → audio-preflight-DD18zIZd.js} +5 -5
- package/dist/{audio-preflight-UXg8r6a7.js → audio-preflight-K-s65jbB.js} +29 -29
- package/dist/{audio-preflight-BuT_gIRW.js → audio-preflight-XrlQA8IZ.js} +11 -11
- package/dist/{audit-Cgd5-Y7W.js → audit-BjI_Yyr5.js} +5 -5
- package/dist/{audit-BxqTVyZo.js → audit-DB9YkTVX.js} +5 -5
- package/dist/{auth-choice-CnpKK0cS.js → auth-choice-CCGIgXvF.js} +4 -4
- package/dist/{auth-choice-BnJzLsv5.js → auth-choice-CiMf3Pjp.js} +4 -4
- package/dist/{auth-profiles-CZZjOpX8.js → auth-profiles-q3HjbboY.js} +17 -17
- package/dist/{banner-DdpNhjX6.js → banner-BNsB_A87.js} +1 -1
- package/dist/{bindings-Bat2RnAR.js → bindings-BsHoBLIE.js} +2 -2
- package/dist/{browser-cli-BrzYV9w9.js → browser-cli-Ctn9do4z.js} +3 -3
- package/dist/{browser-cli-Dun4KSp2.js → browser-cli-kDUw45Y0.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +54 -54
- 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 +54 -54
- package/dist/{call-DIDhYlsx.js → call-DKi-hnaF.js} +1 -1
- package/dist/{call-CFhGTNtt.js → call-DwpGquzW.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-Cm1OJRbv.js → channel-activity-D-kw83R0.js} +1 -1
- package/dist/{channel-options-CJE7N_QV.js → channel-options-BMQlkUDX.js} +1 -1
- package/dist/{channel-options-47wHx-rM.js → channel-options-pAH4A-xX.js} +1 -1
- package/dist/{channel-web-CVf8YV4M.js → channel-web-Dwuj48T5.js} +7 -7
- package/dist/{channels-cli-CMLy_xVT.js → channels-cli-CuExxB0U.js} +30 -30
- package/dist/{channels-cli-Iya7tcnY.js → channels-cli-rmDzxb0W.js} +29 -29
- package/dist/{chrome-CXbfCc20.js → chrome-BYOhnxTr.js} +5 -5
- package/dist/{chrome-D0sqCqXY.js → chrome-BxwUEWrH.js} +16 -16
- package/dist/{chrome-Dq0bSDVx.js → chrome-DAw-AWNi.js} +1 -1
- package/dist/{chrome-DtPkPq9T.js → chrome-DU2ZysN3.js} +1 -1
- package/dist/{chunk-B9x_1qSr.js → chunk-BHW8Yu5A.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-dC-CEeDc.js → cli-BPGZalMg.js} +25 -25
- package/dist/{cli-DmGUr8aj.js → cli-Mcq2pPI0.js} +26 -26
- package/dist/{command-registry-DSV-4T7A.js → command-registry-BoEw2RzH.js} +11 -11
- package/dist/{commands-registry-DPf4J7nj.js → commands-registry-BSvi46KZ.js} +4 -4
- package/dist/{completion-cli-dlL2VvFw.js → completion-cli-CE9Xqlyx.js} +1 -1
- package/dist/{completion-cli-DjQVuJdD.js → completion-cli-CQVZGJPg.js} +2 -2
- package/dist/{config-giEDOxub.js → config-B6OxYMgn.js} +21 -13
- package/dist/{config-DHBLS1Hl.js → config-BNTB6qj8.js} +9 -1
- package/dist/{config-DBqxAhpU.js → config-BUTI-mUZ.js} +9 -1
- package/dist/{config-CHwyw6l5.js → config-Dz95lSBW.js} +9 -1
- package/dist/{config-cli-Cm4KwczC.js → config-cli-BucNvr-c.js} +2 -2
- package/dist/{config-cli-DLFKoU1U.js → config-cli-mU_ckD4l.js} +2 -2
- package/dist/{config-guard-CPHvOzsC.js → config-guard-B1skCv1C.js} +2 -2
- package/dist/{config-guard--WfHrCVe.js → config-guard-CEkSg4hl.js} +3 -3
- package/dist/{config-validation-BITwrsxY.js → config-validation-Cutpn5eO.js} +1 -1
- package/dist/{config-validation-BckiR0w9.js → config-validation-HDVDlMSV.js} +1 -1
- package/dist/{configure-DNRNOqKI.js → configure-CDOF87Fk.js} +10 -10
- package/dist/{configure-BbFd3c68.js → configure-CxnBcN95.js} +10 -10
- package/dist/{control-service-Dtn-qw2s.js → control-service-BYKXzY4f.js} +4 -4
- package/dist/{control-service-DEVN6FRR.js → control-service-rbSHSlcd.js} +4 -4
- package/dist/control-ui/css/style.css +43 -0
- package/dist/control-ui/index.html +7 -1
- package/dist/control-ui/js/app.js +41 -0
- package/dist/control-ui/js/models.js +56 -16
- package/dist/{cron-cli-Bml4UNHa.js → cron-cli-DCpsXkrw.js} +3 -3
- package/dist/{cron-cli-C-gg6wfO.js → cron-cli-QCTdVZuP.js} +3 -3
- package/dist/{daemon-cli-BPHe9wOW.js → daemon-cli-DSDcmWOi.js} +6 -6
- package/dist/{daemon-cli-0RLS-CwL.js → daemon-cli-DhJYEAoL.js} +6 -6
- package/dist/daemon-cli.js +9 -1
- package/dist/{daemon-runtime-CfRwa6qh.js → daemon-runtime-CVFg-ZmT.js} +1 -1
- package/dist/{daemon-runtime-COZ4usfy.js → daemon-runtime-mE1b-Q48.js} +1 -1
- package/dist/{deliver-DrFtaFZt.js → deliver-B4KZ6-oZ.js} +3 -3
- package/dist/{deliver-CXRSdUr1.js → deliver-Bu0iWeja.js} +3 -3
- package/dist/{deliver-BY58QnO8.js → deliver-C1HRkzPJ.js} +20 -20
- package/dist/{deliver-DepjYu87.js → deliver-DtuY4Wgl.js} +2 -2
- package/dist/{devices-cli-CI2TOoP1.js → devices-cli-BNG-fvdl.js} +2 -2
- package/dist/{devices-cli-texa_iUV.js → devices-cli-x3jIP4Ih.js} +2 -2
- package/dist/{diagnostic-DIKKFHpP.js → diagnostic-CQiU0O8b.js} +1 -1
- package/dist/{directory-cli-D6vlxPje.js → directory-cli-BxnSZZsW.js} +1 -1
- package/dist/{directory-cli-BRMi7Alb.js → directory-cli-KgsAVTA0.js} +1 -1
- package/dist/{dns-cli-BEub5qgQ.js → dns-cli-BuVomfxS.js} +1 -1
- package/dist/{dns-cli-BsRMpavf.js → dns-cli-Cwr92Aiq.js} +1 -1
- package/dist/{doctor-completion-Z_RXu40-.js → doctor-completion-CHF_TwGQ.js} +1 -1
- package/dist/{doctor-completion-Cm7WG43a.js → doctor-completion-CoftKlUX.js} +1 -1
- package/dist/{doctor-config-flow-CA3eiKhd.js → doctor-config-flow-DhAYwhNB.js} +2 -2
- package/dist/{doctor-config-flow-BTQvpBys.js → doctor-config-flow-iIzSEQxb.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{env-xmBFQPBP.js → env-BDXYbTKj.js} +1 -1
- package/dist/{exec-approvals-cli-DxKAWA8Y.js → exec-approvals-cli-BSgxsdMt.js} +4 -4
- package/dist/{exec-approvals-cli-wesKZNXl.js → exec-approvals-cli-CmndFjEA.js} +4 -4
- package/dist/extensionAPI.js +13 -13
- package/dist/{frontmatter-CV0YkjoY.js → frontmatter-CTR5f_Ez.js} +2 -2
- package/dist/{gateway-cli-DliBYmLu.js → gateway-cli-G7fiXsQ6.js} +42 -42
- package/dist/{gateway-cli-Fnxgv97F.js → gateway-cli-SNaqDM7f.js} +41 -41
- package/dist/{gateway-rpc-DiTk_nOl.js → gateway-rpc-5fREQe9Q.js} +1 -1
- package/dist/{gateway-rpc-BkB6xEaM.js → gateway-rpc-BMdVa3QV.js} +1 -1
- package/dist/{gemini-auth-C39f2zRe.js → gemini-auth-BkLFtndu.js} +1 -1
- package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
- package/dist/{glass-ui-ws-CfNTIb_g.js → glass-ui-ws-CF0__vuO.js} +34 -34
- package/dist/{glass-ui-ws-B0sH6QQi.js → glass-ui-ws-he25wGFt.js} +33 -33
- package/dist/{health-9z0Hpkuc.js → health-en2N_Kqc.js} +5 -5
- package/dist/{health-NTpZ8ssG.js → health-q7706M36.js} +5 -5
- package/dist/{hooks-cli-C86OGnVu.js → hooks-cli-C4rVaLzZ.js} +26 -26
- package/dist/{hooks-cli-wq_uFJly.js → hooks-cli-ChQbBpyb.js} +27 -27
- package/dist/{image-BwXkayiM.js → image-BWmcNF8N.js} +2 -2
- package/dist/{image-CO4meYzg.js → image-C3wYkWyK.js} +2 -2
- package/dist/{image-CKMw_vhe.js → image-CbyTdMd5.js} +4 -4
- package/dist/{image-CjuJpc3E.js → image-lp19FlzF.js} +2 -2
- package/dist/{image-ops-M5agStZn.js → image-ops-C7CauEK8.js} +16 -16
- package/dist/index.js +34 -34
- package/dist/{ir-Z9axTYHx.js → ir-JAy_3A3B.js} +4 -4
- package/dist/{lifecycle-core-DIBHfMOL.js → lifecycle-core-BZ5sOcHT.js} +2 -2
- package/dist/{lifecycle-core-D0n_6gjJ.js → lifecycle-core-C4HzGXA1.js} +2 -2
- package/dist/llm-slug-generator.js +54 -54
- package/dist/{local-roots-Bh5xx9IO.js → local-roots-Se92wAN5.js} +5 -5
- package/dist/{login-CeXFO0OG.js → login-BkbDSDPc.js} +2 -2
- package/dist/{login-2w0Q7Btb.js → login-BtBwGFrb.js} +7 -7
- package/dist/{login-tFW8qUTU.js → login-CiVdC-o_.js} +2 -2
- package/dist/{login-y9uojrfG.js → login-DODfJ3Dn.js} +2 -2
- package/dist/{login-qr-CC0TE3ax.js → login-qr-CBRxijIg.js} +2 -2
- package/dist/{login-qr-CqPpNO1y.js → login-qr-DPxuLEvD.js} +2 -2
- package/dist/{login-qr-BMIn_eOf.js → login-qr-Dbw5m381.js} +2 -2
- package/dist/{login-qr-BJMvic1s.js → login-qr-q201Ckfe.js} +12 -12
- package/dist/{logs-cli-Dld6m2xN.js → logs-cli-CfGj-dOg.js} +3 -3
- package/dist/{logs-cli-Dvs8e7u9.js → logs-cli-DtlrLf7u.js} +3 -3
- package/dist/{manager-BoLUtbg2.js → manager-CJ3M1Uxq.js} +22 -22
- package/dist/{manifest-registry-0J48biqr.js → manifest-registry-yb7sAlu4.js} +19 -19
- package/dist/{markdown-tables-DuRhvVpP.js → markdown-tables-Dnj2LQUc.js} +1 -1
- package/dist/{memory-cli-C2SWDd8g.js → memory-cli-Btzr8gfD.js} +1 -1
- package/dist/{memory-cli-CPONmMrJ.js → memory-cli-DDumUksr.js} +1 -1
- package/dist/{message-channel-DwDSKGn4.js → message-channel-OlFBYAw8.js} +1 -1
- package/dist/{model-catalog-r6v4orfa.js → model-catalog-8Son0J4O.js} +2 -2
- package/dist/{model-catalog-Bn0ffe1O.js → model-catalog-DNvgFPZn.js} +2 -2
- package/dist/{model-picker-TnkH7DsN.js → model-picker-CAm2Bftd.js} +2 -2
- package/dist/{model-picker-D1J9kB3d.js → model-picker-Casgrpw3.js} +2 -2
- package/dist/{models-DfuMRKvu.js → models-DOTpfa7b.js} +8 -8
- package/dist/{models-cli-BJv-aMkH.js → models-cli-CBl45f7R.js} +28 -28
- package/dist/{models-cli-FnD3ZD7s.js → models-cli-MJAY_Wg4.js} +29 -29
- package/dist/{models-config-CCMpqFyr.js → models-config-Be8DRFkB.js} +1 -1
- package/dist/{models-config-qyOXrOli.js → models-config-CFFjJPe7.js} +1 -1
- package/dist/{node-cli-C8xs7jkn.js → node-cli-DnfDOh1d.js} +9 -9
- package/dist/{node-cli-C4b1vFcY.js → node-cli-eHn9-YfJ.js} +9 -9
- package/dist/{nodes-cli-_wKGGKvG.js → nodes-cli-Ci3oxw8k.js} +3 -3
- package/dist/{nodes-cli-alQ9Bv_-.js → nodes-cli-Ct4M7JOe.js} +3 -3
- package/dist/{onboard-BSlbkbv-.js → onboard-Bx02XPb1.js} +7 -7
- package/dist/{onboard-A5dfwOyL.js → onboard-DQdGJ1lE.js} +7 -7
- package/dist/{onboard-channels-CEZpwlsw.js → onboard-channels-Bp89ZT6Q.js} +1 -1
- package/dist/{onboard-channels-DjqHX51z.js → onboard-channels-Ct2eNYUC.js} +1 -1
- package/dist/{onboard-custom-yNOjvlgR.js → onboard-custom-CQOMQkfS.js} +2 -2
- package/dist/{onboard-custom-BNyCb71p.js → onboard-custom-XiomtQr7.js} +2 -2
- package/dist/{onboard-helpers-DASpwgat.js → onboard-helpers-BBtPmJEe.js} +2 -2
- package/dist/{onboard-helpers-CAjcAisT.js → onboard-helpers-DFvWPFhU.js} +2 -2
- package/dist/{onboard-remote-D-8pd-tx.js → onboard-remote-BURDxwoE.js} +1 -1
- package/dist/{onboard-remote-xXi061GI.js → onboard-remote-D-B4EiOE.js} +1 -1
- package/dist/{onboard-skills-Bn2T6lze.js → onboard-skills-BDCzVjxb.js} +1 -1
- package/dist/{onboard-skills-c4Rw-CGf.js → onboard-skills-CbzgBT1W.js} +1 -1
- package/dist/{onboarding-COqa6a28.js → onboarding-Dnn_0VTy.js} +10 -10
- package/dist/{onboarding-BTNiewJj.js → onboarding-DxUcsrKV.js} +10 -10
- package/dist/{onboarding.finalize-CAax5IdL.js → onboarding.finalize-1kzzMLFM.js} +33 -33
- package/dist/{onboarding.finalize-CDsTN9zD.js → onboarding.finalize-Dwr-jEtL.js} +31 -31
- package/dist/{onboarding.gateway-config-D6SN3HBb.js → onboarding.gateway-config-B9zGPfCl.js} +4 -4
- package/dist/{onboarding.gateway-config-DOna9Sr4.js → onboarding.gateway-config-DKwJ5bWd.js} +4 -4
- package/dist/{outbound-BihTVvMr.js → outbound-BIOChOHt.js} +1 -1
- package/dist/{outbound-drXCcH8D.js → outbound-Bt8rj9kO.js} +1 -1
- package/dist/{outbound-B_wliV26.js → outbound-DL8bdXlZ.js} +7 -7
- package/dist/{outbound-attachment-BOy-OY4-.js → outbound-attachment-BzwVH4Pn.js} +2 -2
- package/dist/{outbound-DyBiNY4z.js → outbound-wnv03tb3.js} +1 -1
- package/dist/{pairing-cli-CpKm3M-X.js → pairing-cli-DSM82gJG.js} +1 -1
- package/dist/{pairing-cli-CQRAnpvm.js → pairing-cli-HDWwcqjZ.js} +1 -1
- package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
- package/dist/{pi-auth-json-BQcKJvH0.js → pi-auth-json-CCaxCywz.js} +1 -1
- package/dist/{pi-embedded-R_JHJFwq.js → pi-embedded-BfEg6Wwb.js} +468 -253
- package/dist/{pi-embedded-helpers-BuVSLhG_.js → pi-embedded-helpers-BgdB5kvy.js} +1 -1
- package/dist/{pi-embedded-helpers-DE9h5GAu.js → pi-embedded-helpers-DA4liAIZ.js} +1 -1
- package/dist/{pi-embedded-helpers-BJrRH97f.js → pi-embedded-helpers-Dij3O6ox.js} +5 -5
- package/dist/{pi-embedded-helpers-Cr1X3W9i.js → pi-embedded-helpers-GaCyI2oH.js} +73 -73
- package/dist/{pi-tools.policy-C6MWZ59E.js → pi-tools.policy-DRWb_Cax.js} +2 -2
- package/dist/{pi-tools.policy-De00gPXt.js → pi-tools.policy-DxNwL7Dl.js} +2 -2
- package/dist/{plugin-registry-DeT0nOee.js → plugin-registry-BMFEJ4FA.js} +2 -2
- package/dist/{plugin-registry-DMUt9X9t.js → plugin-registry-wAQeBSeD.js} +2 -2
- package/dist/plugin-sdk/agents/session-empty-prune.d.ts +37 -0
- package/dist/plugin-sdk/agents/session-transcript-repair.d.ts +8 -0
- package/dist/plugin-sdk/{audio-preflight-JLsqSVmS.js → audio-preflight-BacDFPyc.js} +5 -5
- package/dist/plugin-sdk/{channel-web-BtuQPMkd.js → channel-web-Ba27v-Om.js} +7 -7
- package/dist/plugin-sdk/{chrome-cPabhZZ4.js → chrome-BMimuhgP.js} +1 -1
- package/dist/plugin-sdk/config/model-profiles.d.ts +10 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +8 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +4 -0
- package/dist/plugin-sdk/{config-XjK1L039.js → config-DdA6JiyD.js} +9 -1
- package/dist/plugin-sdk/{deliver-Clj5uUID.js → deliver-Bxa1-mj5.js} +2 -2
- package/dist/plugin-sdk/{image-CAA-0T17.js → image-aq-JAobP.js} +2 -2
- package/dist/plugin-sdk/index.js +17 -17
- package/dist/plugin-sdk/{login-Btqnuww9.js → login-CHgiUvI_.js} +2 -2
- package/dist/plugin-sdk/{login-qr-Bxhch9R1.js → login-qr-D5vJo1fy.js} +2 -2
- package/dist/plugin-sdk/{outbound-D_7ktHfW.js → outbound-CD38Hxn9.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CDrcAlGW.js → pi-embedded-helpers-BPvzgLtj.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-CJjlxWj7.js → pw-ai-fdBOQzz5.js} +2 -2
- package/dist/plugin-sdk/{replies-DC9NI2KS.js → replies-CW_-4klO.js} +1 -1
- package/dist/plugin-sdk/{reply-CnTdwks6.js → reply-Bok_WQGW.js} +464 -249
- package/dist/plugin-sdk/{runner-CBq0_f-j.js → runner-BQJ7x06O.js} +2 -2
- package/dist/plugin-sdk/{send-BditKDxK.js → send-C4t6h9-o.js} +1 -1
- package/dist/plugin-sdk/{send-u7SJPkmf.js → send-Cz_FQ8Ao.js} +1 -1
- package/dist/plugin-sdk/{send-vTA7ntTD.js → send-DG6c7BpZ.js} +1 -1
- package/dist/plugin-sdk/{send-CdJoYllr.js → send-HKy51Hz_.js} +1 -1
- package/dist/plugin-sdk/{send-BeO7M3pz.js → send-Xy1L54q4.js} +1 -1
- package/dist/plugin-sdk/{session-t6hhaLPe.js → session-BUzIlHr9.js} +1 -1
- package/dist/plugin-sdk/{web-BkK8fGjJ.js → web-BoOAa0Xn.js} +17 -17
- package/dist/plugin-sdk/{whatsapp-actions-DifisvHY.js → whatsapp-actions-CZLagx0h.js} +2 -2
- package/dist/{plugins-Bkr5ZdYs.js → plugins-BzmbgY7s.js} +9 -9
- package/dist/{plugins-cli-D85G3qZp.js → plugins-cli-B36YKKla.js} +26 -26
- package/dist/{plugins-cli-BCYM8B89.js → plugins-cli-DoJbbST7.js} +27 -27
- package/dist/{program-C4k7oBuC.js → program-4f7W2RMs.js} +33 -33
- package/dist/{program-context-CiGMAzyC.js → program-context-Y4KnAKNT.js} +38 -38
- package/dist/{prompt-select-styled-CYiMonwj.js → prompt-select-styled-D0sLJ4TD.js} +14 -14
- package/dist/{prompt-select-styled-CoWkFI4l.js → prompt-select-styled-Dql_0SI0.js} +14 -14
- package/dist/{provider-auth-helpers-CfkQBpo7.js → provider-auth-helpers-CJbHC_mv.js} +2 -2
- package/dist/{provider-auth-helpers-B8RGFZit.js → provider-auth-helpers-GSv3namf.js} +2 -2
- package/dist/{push-apns-DmpUv3y4.js → push-apns-giplY7u-.js} +1 -1
- package/dist/{push-apns-DM6nj062.js → push-apns-sxB8QxSj.js} +1 -1
- package/dist/{pw-ai-CbyO1fbh.js → pw-ai-BCSFVeD5.js} +2 -2
- package/dist/{pw-ai-CS2tDZd2.js → pw-ai-BO5cSmwD.js} +2 -2
- package/dist/{pw-ai-C_1hRlOM.js → pw-ai-DQohWnzT.js} +2 -2
- package/dist/{pw-ai-Ch_WUbQZ.js → pw-ai-pQoxTh-a.js} +11 -11
- package/dist/{qmd-manager-8-Z3Cdpt.js → qmd-manager-lBS9mT9w.js} +7 -7
- package/dist/{qr-cli-9L-HExyH.js → qr-cli-CejYwqsj.js} +1 -1
- package/dist/{qr-cli-mgnfD5ce.js → qr-cli-XttU2KOR.js} +1 -1
- package/dist/{register.agent-DX-OyYzL.js → register.agent-_2tVQLMK.js} +34 -34
- package/dist/{register.agent-DcvwdQXs.js → register.agent-vd2BSsyE.js} +32 -32
- package/dist/{register.configure-DBaELzEM.js → register.configure-BVKwTrz8.js} +37 -37
- package/dist/{register.configure-Bldjj3LP.js → register.configure-D-XV6_Nb.js} +36 -36
- package/dist/{register.maintenance-DAwf6cHN.js → register.maintenance-BqYR2fop.js} +36 -36
- package/dist/{register.maintenance-DVv8ljal.js → register.maintenance-XySU31jf.js} +34 -34
- package/dist/{register.message-ClKGIfK4.js → register.message-CCfWNWs3.js} +26 -26
- package/dist/{register.message-DUeR-Dz2.js → register.message-DOyREWdG.js} +27 -27
- package/dist/{register.onboard-DJEZcUm5.js → register.onboard-Dy_D_uMj.js} +33 -33
- package/dist/{register.onboard-DWrxbBr5.js → register.onboard-zmF-euog.js} +32 -32
- package/dist/{register.setup-BDqhSgCz.js → register.setup-DiGPa1Fw.js} +32 -32
- package/dist/{register.setup-Ah9E7LHA.js → register.setup-cE7gPp2m.js} +33 -33
- package/dist/{register.status-health-sessions-CMQS8zwA.js → register.status-health-sessions-DWKL1rkz.js} +29 -29
- package/dist/{register.status-health-sessions-BJYemCHi.js → register.status-health-sessions-ksv1WnIs.js} +31 -31
- package/dist/{register.subclis-Bb0yWevQ.js → register.subclis-Crt_IYK0.js} +28 -28
- package/dist/{registry-UkL38jvt.js → registry-DYq1AYOv.js} +17 -17
- package/dist/{replies-vgss3_QA.js → replies-BMqtgBhh.js} +1 -1
- package/dist/{replies-DO80zq73.js → replies-Bo49QlAg.js} +1 -1
- package/dist/{replies-CbeMv5WZ.js → replies-CBS0567j.js} +3 -3
- package/dist/{replies-CM5QgPHM.js → replies-CfyMcfoY.js} +1 -1
- package/dist/{reply-YphHjxHp.js → reply-CjYJHt_H.js} +475 -260
- package/dist/{reply-prefix-ZnX2V-k9.js → reply-prefix-CvEIl6_d.js} +1 -1
- package/dist/{resolve-route-gl0ZOOKR.js → resolve-route-DX7xcMsD.js} +4 -4
- package/dist/{retry-D25Z8MVS.js → retry-B-y5suGA.js} +1 -1
- package/dist/{routes-B1-BfEDm.js → routes-BAZTZNuQ.js} +3 -3
- package/dist/{routes-BFw2-yAN.js → routes-CMvgBDOg.js} +3 -3
- package/dist/{rpc-gJOYujMj.js → rpc-Co5PQ3IJ.js} +1 -1
- package/dist/{rpc--E7i90bk.js → rpc-D0FiEinj.js} +1 -1
- package/dist/{run-main-CZI2Ne08.js → run-main-bOlPbL7t.js} +44 -44
- package/dist/{runner-B2Y_5crX.js → runner-B0AbN8wV.js} +22 -22
- package/dist/{runner-DKkSu9cc.js → runner-Ct0suQrd.js} +2 -2
- package/dist/{runner-DmM2HhB-.js → runner-DRv0uCK_.js} +3 -3
- package/dist/{runner-CW9KEL7W.js → runner-Dd2bbNGV.js} +3 -3
- package/dist/{sandbox-DAOxwUQm.js → sandbox-B6N8cV4d.js} +5 -5
- package/dist/{sandbox-BFzSUT19.js → sandbox-DY75ZyJD.js} +5 -5
- package/dist/{sandbox-cli-Cj5__-gh.js → sandbox-cli-BDM_QM_f.js} +6 -6
- package/dist/{sandbox-cli-BV6FS0bK.js → sandbox-cli-DwzaNjIJ.js} +6 -6
- package/dist/{security-cli-KxA9AZ3q.js → security-cli-CG1uSlRK.js} +9 -9
- package/dist/{security-cli-BA4AGkeh.js → security-cli-D5BWzqEJ.js} +9 -9
- package/dist/{send-ZI2bG_Jc.js → send-9SapUCg7.js} +1 -1
- package/dist/{send-Cutb0ZDY.js → send-B3RdXvjC.js} +1 -1
- package/dist/{send-CukP8Vq4.js → send-B7HhiTdx.js} +1 -1
- package/dist/{send-DHWMRnPk.js → send-B986asZ7.js} +1 -1
- package/dist/{send-iUSZIdml.js → send-B9EinkUl.js} +7 -7
- package/dist/{send-CCNIWI2Z.js → send-BNnv8GtF.js} +10 -10
- package/dist/{send-CY8oqBFg.js → send-BhJZ16uV.js} +1 -1
- package/dist/{send-Cgcbuw8U.js → send-Bm4ULEzh.js} +1 -1
- package/dist/{send-CFzf_ab4.js → send-BzKHnf3b.js} +1 -1
- package/dist/{send-DTTtmhjA.js → send-CC9V8V81.js} +1 -1
- package/dist/{send-CZr1hVHY.js → send-CQVnyJyF.js} +1 -1
- package/dist/{send-CPSKimCF.js → send-CZemAajS.js} +6 -6
- package/dist/{send-Dy8tsHUE.js → send-DI9Vhnmw.js} +6 -6
- package/dist/{send-CB3dCCmE.js → send-DLWaX69q.js} +1 -1
- package/dist/{send-DK_pm_7l.js → send-DSnJ503J.js} +1 -1
- package/dist/{send-CPF8hSFp.js → send-DVm0du0_.js} +1 -1
- package/dist/{send-sgxdFZNy.js → send-DaBsat3L.js} +18 -18
- package/dist/{send-iVPD3yf2.js → send-DdLJtOjk.js} +1 -1
- package/dist/{send-CR5fRDgW.js → send-DlQtxlG_.js} +1 -1
- package/dist/{send-BJTX03Bn.js → send-RfIXG6-I.js} +1 -1
- package/dist/{server-context-CHYWo_TC.js → server-context-CCBZN8a0.js} +5 -5
- package/dist/{server-context-H24IFajW.js → server-context-DK-T2rBR.js} +5 -5
- package/dist/{server-methods-DJ3Bi-Xg.js → server-methods-CiwWwj6K.js} +15 -15
- package/dist/{server-methods-C3xXynlm.js → server-methods-VimYvcpY.js} +16 -16
- package/dist/{server-node-events-Cgdwex4k.js → server-node-events-CHmLiFNV.js} +27 -27
- package/dist/{server-node-events-DS50d7AK.js → server-node-events-DYC45lKC.js} +26 -26
- package/dist/{session-Ckw7cXeP.js → session-C1cn-CxQ.js} +1 -1
- package/dist/{session-BF9s_N2s.js → session-CUeezgP1.js} +1 -1
- package/dist/{session-CINKYYDi.js → session-DsJGtM7g.js} +1 -1
- package/dist/{session-utils-Bka9dR4m.js → session-utils-B8Fif925.js} +3 -3
- package/dist/{session-BTpKgzso.js → session-v_9AVJhH.js} +8 -8
- package/dist/{sessions-CJXnZVjR.js → sessions-Cfa6JEB3.js} +1 -1
- package/dist/{sessions-DgYpBvse.js → sessions-Cpgnq0pA.js} +1 -1
- package/dist/{sessions-WBoXk-Ag.js → sessions-DfbhRBHR.js} +3 -3
- package/dist/{shared-CvNixzwn.js → shared-73T9fyuK.js} +1 -1
- package/dist/{shared-D8K9MkWg.js → shared-DdxPzyOH.js} +1 -1
- package/dist/{skill-commands-HBkNllDU.js → skill-commands-BiPrghRt.js} +16 -16
- package/dist/{skills-CGHRETGF.js → skills-Bs0AW1g3.js} +24 -24
- package/dist/{skills-cli-C-URp1av.js → skills-cli-DXkx4vNV.js} +1 -1
- package/dist/{skills-cli-CkTGL9dR.js → skills-cli-uEA9KXOO.js} +1 -1
- package/dist/{sqlite-JHY-uOmS.js → sqlite-BHWvOATS.js} +16 -16
- package/dist/{status-BBnhTX-n.js → status-CA5wJHMj.js} +2 -2
- package/dist/{status-0aNBSe72.js → status-DEpM69Pd.js} +9 -9
- package/dist/{status-2KD2q2sn.js → status-Dt_MXoNa.js} +2 -2
- package/dist/{status-D9uWA9pU.js → status-DxhtJtzE.js} +10 -10
- package/dist/{status.update-DbmZz0Aq.js → status.update-C2GN8s9C.js} +1 -1
- package/dist/{status.update-DP0OFqyb.js → status.update-CG0ciGaf.js} +1 -1
- package/dist/{store-Ea3zM6xK.js → store-01F_JM7O.js} +6 -6
- package/dist/{subagent-registry-aZczbtLM.js → subagent-registry-BPwn3Qm7.js} +476 -261
- package/dist/{subsystem-DN75fnEF.js → subsystem-BjyjJF-d.js} +1 -1
- package/dist/{system-cli-BXewgTZR.js → system-cli-DFZNGx0i.js} +3 -3
- package/dist/{system-cli-CECNjZdB.js → system-cli-Z7uzO8qd.js} +3 -3
- package/dist/{systemd-hints-sQipWGd1.js → systemd-hints-DT6cDIM2.js} +1 -1
- package/dist/{systemd-hints-DZH9qY5W.js → systemd-hints-xYZbFny_.js} +1 -1
- package/dist/{tables-Dkg9O8rv.js → tables-BuM4FKR3.js} +1 -1
- package/dist/{target-errors-Pr77jao5.js → target-errors-BEugWC4F.js} +2 -2
- package/dist/{thinking-C9-JAUzD.js → thinking-BprCy23Z.js} +5 -5
- package/dist/{tokens-CCZl4YHT.js → tokens-W0JzCJJM.js} +1 -1
- package/dist/{tool-images-B1qVCntj.js → tool-images-SqqWIT22.js} +2 -2
- package/dist/{tool-loop-detection-C33wf43N.js → tool-loop-detection-D5mBY7AC.js} +3 -3
- package/dist/{tui-DLaU7tTx.js → tui-DjPsMdL6.js} +4 -4
- package/dist/{tui-2nWOvxxE.js → tui-DrATGNms.js} +4 -4
- package/dist/{tui-cli-B-Nl_8uj.js → tui-cli-D19-MCXt.js} +9 -9
- package/dist/{tui-cli-D-PVUsS5.js → tui-cli-pWD_NrUR.js} +9 -9
- package/dist/{unified-runner-hulABWDL.js → unified-runner-CVkyzT1I.js} +444 -229
- package/dist/{update-cli-DwGmFbPH.js → update-cli-Dh_dfprI.js} +39 -39
- package/dist/{update-cli-CnN_k3P1.js → update-cli-Dv4c5Gup.js} +37 -37
- package/dist/{update-runner-BkdQhkKR.js → update-runner-CG_kbbGR.js} +1 -1
- package/dist/{update-runner-dT5l0kuK.js → update-runner-MMFI1UZ0.js} +1 -1
- package/dist/{web-DpQ5RaFz.js → web-BUc-ts5b.js} +58 -58
- package/dist/{web-C0ZdaR6w.js → web-CJk-lv93.js} +16 -16
- package/dist/{web-CJSRBiDm.js → web-CfVd3Mhp.js} +29 -29
- package/dist/{web-DPki9fDa.js → web-DCBOD-Vj.js} +29 -29
- package/dist/{webhooks-cli-iOLEyFdx.js → webhooks-cli-BRxe4uCg.js} +1 -1
- package/dist/{webhooks-cli-ChiCyIaD.js → webhooks-cli-CsRZl0_H.js} +1 -1
- package/dist/{whatsapp-actions-C8nNH4ax.js → whatsapp-actions-7YbV2-Fv.js} +2 -2
- package/dist/{whatsapp-actions-BW8P8Izy.js → whatsapp-actions-BylecqEa.js} +2 -2
- package/dist/{whatsapp-actions-BmcMtU_J.js → whatsapp-actions-ChO_shrk.js} +2 -2
- package/dist/{whatsapp-actions-D_w4AfW9.js → whatsapp-actions-mBarFBeS.js} +23 -23
- package/dist/{with-timeout-Di0nddLY.js → with-timeout-Cgi3TwWN.js} +1 -1
- package/dist/{with-timeout-D2z7OkiK.js → with-timeout-CtVdu_1U.js} +1 -1
- package/dist/{workspace-DqJ5h-ZB.js → workspace-DscDraUb.js} +27 -27
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/paths-CYmyCDsE.js +0 -212
|
@@ -12,20 +12,20 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
|
|
|
12
12
|
import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
|
|
13
13
|
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
|
|
14
14
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
15
|
-
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
16
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
17
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
15
|
+
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BzKHnf3b.js";
|
|
16
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-RfIXG6-I.js";
|
|
17
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-DtuY4Wgl.js";
|
|
18
18
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-D0xmLpej.js";
|
|
19
19
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
|
|
20
20
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
|
|
21
|
-
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-
|
|
21
|
+
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-B986asZ7.js";
|
|
22
22
|
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
|
|
23
23
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
|
|
24
24
|
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
|
|
25
|
-
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
26
|
-
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-
|
|
25
|
+
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Dij3O6ox.js";
|
|
26
|
+
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BUTI-mUZ.js";
|
|
27
27
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
|
|
28
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
28
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BxwUEWrH.js";
|
|
29
29
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
|
|
30
30
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
|
|
|
36
36
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
|
|
38
38
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
|
|
39
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
39
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-lp19FlzF.js";
|
|
40
40
|
import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CgLdpXXM.js";
|
|
41
41
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
|
|
42
42
|
import { n as retryAsync } from "./retry-QGp0jvVi.js";
|
|
@@ -49,18 +49,18 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
|
|
|
49
49
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-DYoNKo_h.js";
|
|
50
50
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-D8RiKDh0.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
|
|
52
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
52
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Ct0suQrd.js";
|
|
53
53
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
|
|
54
54
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
|
|
55
55
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
|
|
56
56
|
import { n as normalizePollInput } from "./polls-DQcEziPg.js";
|
|
57
57
|
import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
|
|
58
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
59
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
58
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DLWaX69q.js";
|
|
59
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-DdLJtOjk.js";
|
|
60
60
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
|
|
61
61
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BloyLEwh.js";
|
|
62
62
|
import { t as makeProxyFetch } from "./proxy-CLEew2L6.js";
|
|
63
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
63
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CfyMcfoY.js";
|
|
64
64
|
import { t as getActiveWebListener } from "./active-listener-Dx_Y1ouV.js";
|
|
65
65
|
import { createRequire } from "node:module";
|
|
66
66
|
import * as path$1 from "node:path";
|
|
@@ -80,7 +80,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
80
80
|
import AjvPkg from "ajv";
|
|
81
81
|
import { createServer } from "node:http";
|
|
82
82
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
83
|
-
import WebSocket
|
|
83
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
84
84
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
85
85
|
import { createJiti } from "jiti";
|
|
86
86
|
import { Type } from "@sinclair/typebox";
|
|
@@ -5720,7 +5720,7 @@ var GatewayClient = class {
|
|
|
5720
5720
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5721
5721
|
});
|
|
5722
5722
|
}
|
|
5723
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
5723
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
5724
5724
|
this.ws.on("open", () => {
|
|
5725
5725
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5726
5726
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -5939,7 +5939,7 @@ var GatewayClient = class {
|
|
|
5939
5939
|
return null;
|
|
5940
5940
|
}
|
|
5941
5941
|
async request(method, params, opts) {
|
|
5942
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
5942
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
5943
5943
|
const id = randomUUID();
|
|
5944
5944
|
const frame = {
|
|
5945
5945
|
type: "req",
|
|
@@ -7205,7 +7205,7 @@ async function routeReply(params) {
|
|
|
7205
7205
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7206
7206
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7207
7207
|
try {
|
|
7208
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7208
|
+
const { deliverOutboundPayloads } = await import("./deliver-DtuY4Wgl.js").then((n) => n.n);
|
|
7209
7209
|
return {
|
|
7210
7210
|
ok: true,
|
|
7211
7211
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -39146,13 +39146,97 @@ const BUILTIN_PROFILES = [
|
|
|
39146
39146
|
}
|
|
39147
39147
|
},
|
|
39148
39148
|
{
|
|
39149
|
-
match: ["
|
|
39150
|
-
label: "Qwen 3.
|
|
39149
|
+
match: ["qwen3.6", "spider-qwen36"],
|
|
39150
|
+
label: "Qwen 3.6",
|
|
39151
|
+
params: {
|
|
39152
|
+
temperature: 1,
|
|
39153
|
+
top_p: .95,
|
|
39154
|
+
top_k: 20,
|
|
39155
|
+
max_tokens: 16384,
|
|
39156
|
+
presence_penalty: 1.5,
|
|
39157
|
+
chatTemplateKwargs: { preserve_thinking: true }
|
|
39158
|
+
},
|
|
39159
|
+
streaming: {
|
|
39160
|
+
deltaThrottleMs: 50,
|
|
39161
|
+
flushOnFinal: true,
|
|
39162
|
+
chunkPattern: "burst"
|
|
39163
|
+
},
|
|
39164
|
+
filters: {
|
|
39165
|
+
stripPatterns: [],
|
|
39166
|
+
suppressMonologue: true,
|
|
39167
|
+
hasStructuredThinking: true,
|
|
39168
|
+
validateToolArgs: false
|
|
39169
|
+
},
|
|
39170
|
+
promptAdditions: [
|
|
39171
|
+
"CRITICAL OUTPUT RULES:",
|
|
39172
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
39173
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
39174
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
39175
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
39176
|
+
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
39177
|
+
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
39178
|
+
],
|
|
39179
|
+
ui: {
|
|
39180
|
+
badge: "Spider",
|
|
39181
|
+
watchdogMs: 9e5,
|
|
39182
|
+
armWatchdogOnSend: true
|
|
39183
|
+
}
|
|
39184
|
+
},
|
|
39185
|
+
{
|
|
39186
|
+
match: ["trevorjs/gemma", "spider-gemma4"],
|
|
39187
|
+
label: "Gemma 4 (Spider)",
|
|
39151
39188
|
params: {
|
|
39152
39189
|
temperature: 1,
|
|
39153
39190
|
top_p: .95,
|
|
39154
39191
|
top_k: 64,
|
|
39155
|
-
max_tokens:
|
|
39192
|
+
max_tokens: 4096,
|
|
39193
|
+
stop: ["<end_of_turn>", "<eos>"]
|
|
39194
|
+
},
|
|
39195
|
+
streaming: {
|
|
39196
|
+
deltaThrottleMs: 50,
|
|
39197
|
+
flushOnFinal: true,
|
|
39198
|
+
chunkPattern: "burst"
|
|
39199
|
+
},
|
|
39200
|
+
filters: {
|
|
39201
|
+
stripPatterns: [
|
|
39202
|
+
"<\\|channel>\\w*",
|
|
39203
|
+
"<channel\\|>",
|
|
39204
|
+
"<start_of_turn>(?:model|user)?",
|
|
39205
|
+
"<end_of_turn>"
|
|
39206
|
+
],
|
|
39207
|
+
suppressMonologue: true,
|
|
39208
|
+
hasStructuredThinking: false,
|
|
39209
|
+
validateToolArgs: true
|
|
39210
|
+
},
|
|
39211
|
+
promptAdditions: [
|
|
39212
|
+
"CRITICAL OUTPUT RULES:",
|
|
39213
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
39214
|
+
"- Do not output raw control tokens, channel tags, or turn markers.",
|
|
39215
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
39216
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
39217
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
39218
|
+
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
39219
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
39220
|
+
],
|
|
39221
|
+
ui: {
|
|
39222
|
+
badge: "Spider",
|
|
39223
|
+
watchdogMs: 6e5,
|
|
39224
|
+
armWatchdogOnSend: true
|
|
39225
|
+
}
|
|
39226
|
+
},
|
|
39227
|
+
{
|
|
39228
|
+
match: [
|
|
39229
|
+
"qwen-cw",
|
|
39230
|
+
"spider-qwen35",
|
|
39231
|
+
"qwen3"
|
|
39232
|
+
],
|
|
39233
|
+
label: "Qwen 3.5",
|
|
39234
|
+
params: {
|
|
39235
|
+
temperature: 1,
|
|
39236
|
+
top_p: .95,
|
|
39237
|
+
top_k: 20,
|
|
39238
|
+
max_tokens: 16384,
|
|
39239
|
+
presence_penalty: 1.5
|
|
39156
39240
|
},
|
|
39157
39241
|
streaming: {
|
|
39158
39242
|
deltaThrottleMs: 50,
|
|
@@ -39802,6 +39886,10 @@ function createModelAwareStreamFn(opts) {
|
|
|
39802
39886
|
if (typeof mergedParams.top_p === "number") injections.top_p = mergedParams.top_p;
|
|
39803
39887
|
if (typeof mergedParams.top_k === "number") injections.top_k = mergedParams.top_k;
|
|
39804
39888
|
if (typeof mergedParams.repeat_penalty === "number") injections.repeat_penalty = mergedParams.repeat_penalty;
|
|
39889
|
+
if (typeof mergedParams.presence_penalty === "number") injections.presence_penalty = mergedParams.presence_penalty;
|
|
39890
|
+
if (typeof mergedParams.frequency_penalty === "number") injections.frequency_penalty = mergedParams.frequency_penalty;
|
|
39891
|
+
const chatTemplateKwargs = mergedParams.chatTemplateKwargs ?? mergedParams.chat_template_kwargs;
|
|
39892
|
+
if (chatTemplateKwargs && typeof chatTemplateKwargs === "object" && !Array.isArray(chatTemplateKwargs)) injections.chat_template_kwargs = chatTemplateKwargs;
|
|
39805
39893
|
const isVllm = isVllmProvider(opts.provider, opts.modelId, opts.config);
|
|
39806
39894
|
const isOpenRouter = opts.provider === "openrouter";
|
|
39807
39895
|
const extraHeaders = {};
|
|
@@ -40632,7 +40720,11 @@ function handleMessageUpdate(ctx, evt) {
|
|
|
40632
40720
|
emitAgentEvent({
|
|
40633
40721
|
runId: ctx.params.runId,
|
|
40634
40722
|
stream: "thinking",
|
|
40635
|
-
data: {
|
|
40723
|
+
data: {
|
|
40724
|
+
phase: evtType,
|
|
40725
|
+
delta: thinkingDelta,
|
|
40726
|
+
content: thinkingContent
|
|
40727
|
+
}
|
|
40636
40728
|
});
|
|
40637
40729
|
if (ctx.state.streamReasoning) {
|
|
40638
40730
|
const partialThinking = extractAssistantThinking(msg);
|
|
@@ -42674,6 +42766,338 @@ Use the message tool with buttons:
|
|
|
42674
42766
|
[{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
|
|
42675
42767
|
</plan_mode>`;
|
|
42676
42768
|
|
|
42769
|
+
//#endregion
|
|
42770
|
+
//#region src/agents/session-transcript-repair.ts
|
|
42771
|
+
function isToolCallBlock(block) {
|
|
42772
|
+
if (!block || typeof block !== "object") return false;
|
|
42773
|
+
const type = block.type;
|
|
42774
|
+
return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
|
|
42775
|
+
}
|
|
42776
|
+
function hasToolCallInput(block) {
|
|
42777
|
+
const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
|
|
42778
|
+
const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
|
|
42779
|
+
return hasInput || hasArguments;
|
|
42780
|
+
}
|
|
42781
|
+
function hasNonEmptyStringField(value) {
|
|
42782
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
42783
|
+
}
|
|
42784
|
+
function hasToolCallId(block) {
|
|
42785
|
+
return hasNonEmptyStringField(block.id);
|
|
42786
|
+
}
|
|
42787
|
+
function hasToolCallName(block) {
|
|
42788
|
+
return hasNonEmptyStringField(block.name);
|
|
42789
|
+
}
|
|
42790
|
+
function makeMissingToolResult(params) {
|
|
42791
|
+
return {
|
|
42792
|
+
role: "toolResult",
|
|
42793
|
+
toolCallId: params.toolCallId,
|
|
42794
|
+
toolName: params.toolName ?? "unknown",
|
|
42795
|
+
content: [{
|
|
42796
|
+
type: "text",
|
|
42797
|
+
text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
|
|
42798
|
+
}],
|
|
42799
|
+
isError: true,
|
|
42800
|
+
timestamp: Date.now()
|
|
42801
|
+
};
|
|
42802
|
+
}
|
|
42803
|
+
/**
|
|
42804
|
+
* True when an assistant message has no tool calls and only empty/whitespace
|
|
42805
|
+
* text or thinking blocks. This happens when a stream fails before any
|
|
42806
|
+
* content arrives — the blank entry is otherwise persisted and produces
|
|
42807
|
+
* consecutive same-role messages, which strict providers (vLLM) reject with
|
|
42808
|
+
* "role must alternate" errors that poison the session for every future turn.
|
|
42809
|
+
*/
|
|
42810
|
+
function isEmptyAssistantMessage(message) {
|
|
42811
|
+
if (!message || typeof message !== "object") return false;
|
|
42812
|
+
const msg = message;
|
|
42813
|
+
if (msg.role !== "assistant") return false;
|
|
42814
|
+
if (!Array.isArray(msg.content) || msg.content.length === 0) return true;
|
|
42815
|
+
for (const block of msg.content) {
|
|
42816
|
+
if (!block || typeof block !== "object") continue;
|
|
42817
|
+
const type = block.type;
|
|
42818
|
+
if (type === "toolCall" || type === "toolUse" || type === "functionCall") return false;
|
|
42819
|
+
if (type === "text") {
|
|
42820
|
+
const text = block.text;
|
|
42821
|
+
if (typeof text === "string" && text.trim().length > 0) return false;
|
|
42822
|
+
continue;
|
|
42823
|
+
}
|
|
42824
|
+
if (type === "thinking") {
|
|
42825
|
+
const thinking = block.thinking;
|
|
42826
|
+
if (typeof thinking === "string" && thinking.trim().length > 0) return false;
|
|
42827
|
+
continue;
|
|
42828
|
+
}
|
|
42829
|
+
return false;
|
|
42830
|
+
}
|
|
42831
|
+
return true;
|
|
42832
|
+
}
|
|
42833
|
+
function stripToolResultDetails(messages) {
|
|
42834
|
+
let touched = false;
|
|
42835
|
+
const out = [];
|
|
42836
|
+
for (const msg of messages) {
|
|
42837
|
+
if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
|
|
42838
|
+
out.push(msg);
|
|
42839
|
+
continue;
|
|
42840
|
+
}
|
|
42841
|
+
if (!("details" in msg)) {
|
|
42842
|
+
out.push(msg);
|
|
42843
|
+
continue;
|
|
42844
|
+
}
|
|
42845
|
+
const { details: _details, ...rest } = msg;
|
|
42846
|
+
touched = true;
|
|
42847
|
+
out.push(rest);
|
|
42848
|
+
}
|
|
42849
|
+
return touched ? out : messages;
|
|
42850
|
+
}
|
|
42851
|
+
function repairToolCallInputs(messages) {
|
|
42852
|
+
let droppedToolCalls = 0;
|
|
42853
|
+
let droppedAssistantMessages = 0;
|
|
42854
|
+
let changed = false;
|
|
42855
|
+
const out = [];
|
|
42856
|
+
for (const msg of messages) {
|
|
42857
|
+
if (!msg || typeof msg !== "object") {
|
|
42858
|
+
out.push(msg);
|
|
42859
|
+
continue;
|
|
42860
|
+
}
|
|
42861
|
+
if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
|
|
42862
|
+
out.push(msg);
|
|
42863
|
+
continue;
|
|
42864
|
+
}
|
|
42865
|
+
const nextContent = [];
|
|
42866
|
+
let droppedInMessage = 0;
|
|
42867
|
+
for (const block of msg.content) {
|
|
42868
|
+
if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
|
|
42869
|
+
droppedToolCalls += 1;
|
|
42870
|
+
droppedInMessage += 1;
|
|
42871
|
+
changed = true;
|
|
42872
|
+
continue;
|
|
42873
|
+
}
|
|
42874
|
+
nextContent.push(block);
|
|
42875
|
+
}
|
|
42876
|
+
if (droppedInMessage > 0) {
|
|
42877
|
+
if (nextContent.length === 0) {
|
|
42878
|
+
droppedAssistantMessages += 1;
|
|
42879
|
+
changed = true;
|
|
42880
|
+
continue;
|
|
42881
|
+
}
|
|
42882
|
+
out.push({
|
|
42883
|
+
...msg,
|
|
42884
|
+
content: nextContent
|
|
42885
|
+
});
|
|
42886
|
+
continue;
|
|
42887
|
+
}
|
|
42888
|
+
out.push(msg);
|
|
42889
|
+
}
|
|
42890
|
+
return {
|
|
42891
|
+
messages: changed ? out : messages,
|
|
42892
|
+
droppedToolCalls,
|
|
42893
|
+
droppedAssistantMessages
|
|
42894
|
+
};
|
|
42895
|
+
}
|
|
42896
|
+
function sanitizeToolCallInputs(messages) {
|
|
42897
|
+
return repairToolCallInputs(messages).messages;
|
|
42898
|
+
}
|
|
42899
|
+
function sanitizeToolUseResultPairing(messages) {
|
|
42900
|
+
return repairToolUseResultPairing(messages).messages;
|
|
42901
|
+
}
|
|
42902
|
+
function repairToolUseResultPairing(messages) {
|
|
42903
|
+
const out = [];
|
|
42904
|
+
const added = [];
|
|
42905
|
+
const seenToolResultIds = /* @__PURE__ */ new Set();
|
|
42906
|
+
let droppedDuplicateCount = 0;
|
|
42907
|
+
let droppedOrphanCount = 0;
|
|
42908
|
+
let moved = false;
|
|
42909
|
+
let changed = false;
|
|
42910
|
+
const pushToolResult = (msg) => {
|
|
42911
|
+
const id = extractToolResultId(msg);
|
|
42912
|
+
if (id && seenToolResultIds.has(id)) {
|
|
42913
|
+
droppedDuplicateCount += 1;
|
|
42914
|
+
changed = true;
|
|
42915
|
+
return;
|
|
42916
|
+
}
|
|
42917
|
+
if (id) seenToolResultIds.add(id);
|
|
42918
|
+
out.push(msg);
|
|
42919
|
+
};
|
|
42920
|
+
for (let i = 0; i < messages.length; i += 1) {
|
|
42921
|
+
const msg = messages[i];
|
|
42922
|
+
if (!msg || typeof msg !== "object") {
|
|
42923
|
+
out.push(msg);
|
|
42924
|
+
continue;
|
|
42925
|
+
}
|
|
42926
|
+
const role = msg.role;
|
|
42927
|
+
if (role !== "assistant") {
|
|
42928
|
+
if (role !== "toolResult") out.push(msg);
|
|
42929
|
+
else {
|
|
42930
|
+
droppedOrphanCount += 1;
|
|
42931
|
+
changed = true;
|
|
42932
|
+
}
|
|
42933
|
+
continue;
|
|
42934
|
+
}
|
|
42935
|
+
const assistant = msg;
|
|
42936
|
+
const stopReason = assistant.stopReason;
|
|
42937
|
+
if (stopReason === "error" || stopReason === "aborted") {
|
|
42938
|
+
out.push(msg);
|
|
42939
|
+
continue;
|
|
42940
|
+
}
|
|
42941
|
+
const toolCalls = extractToolCallsFromAssistant(assistant);
|
|
42942
|
+
if (toolCalls.length === 0) {
|
|
42943
|
+
out.push(msg);
|
|
42944
|
+
continue;
|
|
42945
|
+
}
|
|
42946
|
+
const toolCallIds = new Set(toolCalls.map((t) => t.id));
|
|
42947
|
+
const spanResultsById = /* @__PURE__ */ new Map();
|
|
42948
|
+
const remainder = [];
|
|
42949
|
+
let j = i + 1;
|
|
42950
|
+
for (; j < messages.length; j += 1) {
|
|
42951
|
+
const next = messages[j];
|
|
42952
|
+
if (!next || typeof next !== "object") {
|
|
42953
|
+
remainder.push(next);
|
|
42954
|
+
continue;
|
|
42955
|
+
}
|
|
42956
|
+
const nextRole = next.role;
|
|
42957
|
+
if (nextRole === "assistant") break;
|
|
42958
|
+
if (nextRole === "toolResult") {
|
|
42959
|
+
const toolResult = next;
|
|
42960
|
+
const id = extractToolResultId(toolResult);
|
|
42961
|
+
if (id && toolCallIds.has(id)) {
|
|
42962
|
+
if (seenToolResultIds.has(id)) {
|
|
42963
|
+
droppedDuplicateCount += 1;
|
|
42964
|
+
changed = true;
|
|
42965
|
+
continue;
|
|
42966
|
+
}
|
|
42967
|
+
if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
|
|
42968
|
+
continue;
|
|
42969
|
+
}
|
|
42970
|
+
}
|
|
42971
|
+
if (nextRole !== "toolResult") remainder.push(next);
|
|
42972
|
+
else {
|
|
42973
|
+
droppedOrphanCount += 1;
|
|
42974
|
+
changed = true;
|
|
42975
|
+
}
|
|
42976
|
+
}
|
|
42977
|
+
out.push(msg);
|
|
42978
|
+
if (spanResultsById.size > 0 && remainder.length > 0) {
|
|
42979
|
+
moved = true;
|
|
42980
|
+
changed = true;
|
|
42981
|
+
}
|
|
42982
|
+
for (const call of toolCalls) {
|
|
42983
|
+
const existing = spanResultsById.get(call.id);
|
|
42984
|
+
if (existing) pushToolResult(existing);
|
|
42985
|
+
else {
|
|
42986
|
+
const missing = makeMissingToolResult({
|
|
42987
|
+
toolCallId: call.id,
|
|
42988
|
+
toolName: call.name
|
|
42989
|
+
});
|
|
42990
|
+
added.push(missing);
|
|
42991
|
+
changed = true;
|
|
42992
|
+
pushToolResult(missing);
|
|
42993
|
+
}
|
|
42994
|
+
}
|
|
42995
|
+
for (const rem of remainder) {
|
|
42996
|
+
if (!rem || typeof rem !== "object") {
|
|
42997
|
+
out.push(rem);
|
|
42998
|
+
continue;
|
|
42999
|
+
}
|
|
43000
|
+
out.push(rem);
|
|
43001
|
+
}
|
|
43002
|
+
i = j - 1;
|
|
43003
|
+
}
|
|
43004
|
+
const changedOrMoved = changed || moved;
|
|
43005
|
+
return {
|
|
43006
|
+
messages: changedOrMoved ? out : messages,
|
|
43007
|
+
added,
|
|
43008
|
+
droppedDuplicateCount,
|
|
43009
|
+
droppedOrphanCount,
|
|
43010
|
+
moved: changedOrMoved
|
|
43011
|
+
};
|
|
43012
|
+
}
|
|
43013
|
+
|
|
43014
|
+
//#endregion
|
|
43015
|
+
//#region src/agents/session-empty-prune.ts
|
|
43016
|
+
/**
|
|
43017
|
+
* Pre-run prune of empty assistant entries from a session JSONL file.
|
|
43018
|
+
*
|
|
43019
|
+
* When a stream fails before any content arrives, pi-coding-agent persists
|
|
43020
|
+
* an assistant message with an empty content array. If this repeats (e.g. a
|
|
43021
|
+
* misconfigured provider fails on every retry), the session ends up with
|
|
43022
|
+
* hundreds of consecutive empty assistant entries. vLLM and other strict
|
|
43023
|
+
* providers then reject the request with a role-ordering error — once the
|
|
43024
|
+
* session is in that state, every future turn fails until the user runs /new.
|
|
43025
|
+
*
|
|
43026
|
+
* This helper runs before SessionManager opens the file, reads the JSONL
|
|
43027
|
+
* line-by-line, filters out any line whose `message` is an empty-content
|
|
43028
|
+
* assistant, and rewrites the file atomically if anything was dropped. The
|
|
43029
|
+
* in-memory SessionManager state and the on-disk file stay consistent.
|
|
43030
|
+
*
|
|
43031
|
+
* The append guard in {@link ./session-tool-result-guard.ts} prevents new
|
|
43032
|
+
* empty entries from being written; this helper retroactively cleans files
|
|
43033
|
+
* that were poisoned before the guard existed.
|
|
43034
|
+
*
|
|
43035
|
+
* @module
|
|
43036
|
+
*/
|
|
43037
|
+
async function readSessionFile(sessionFile) {
|
|
43038
|
+
try {
|
|
43039
|
+
return await fs$1.readFile(sessionFile, "utf-8");
|
|
43040
|
+
} catch {
|
|
43041
|
+
return null;
|
|
43042
|
+
}
|
|
43043
|
+
}
|
|
43044
|
+
async function writeAtomically(sessionFile, text) {
|
|
43045
|
+
const dir = path.dirname(sessionFile);
|
|
43046
|
+
const base = path.basename(sessionFile);
|
|
43047
|
+
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
43048
|
+
await fs$1.writeFile(tmp, text, "utf-8");
|
|
43049
|
+
await fs$1.rename(tmp, sessionFile);
|
|
43050
|
+
}
|
|
43051
|
+
/**
|
|
43052
|
+
* Remove empty assistant JSONL entries from the session file.
|
|
43053
|
+
*
|
|
43054
|
+
* Parses each line; lines that don't parse are preserved verbatim so we don't
|
|
43055
|
+
* lose unknown data. Only lines that parse into a `{type:"message", message:
|
|
43056
|
+
* <empty-assistant>}` entry are dropped.
|
|
43057
|
+
*/
|
|
43058
|
+
async function pruneEmptyAssistantsFromSessionFile(sessionFile) {
|
|
43059
|
+
const raw = await readSessionFile(sessionFile);
|
|
43060
|
+
if (raw === null || raw.length === 0) return {
|
|
43061
|
+
rewrote: false,
|
|
43062
|
+
pruned: 0,
|
|
43063
|
+
unparsable: 0
|
|
43064
|
+
};
|
|
43065
|
+
const lines = raw.split("\n");
|
|
43066
|
+
const kept = [];
|
|
43067
|
+
let pruned = 0;
|
|
43068
|
+
let unparsable = 0;
|
|
43069
|
+
for (const line of lines) {
|
|
43070
|
+
if (line.length === 0) {
|
|
43071
|
+
kept.push(line);
|
|
43072
|
+
continue;
|
|
43073
|
+
}
|
|
43074
|
+
let parsed = null;
|
|
43075
|
+
try {
|
|
43076
|
+
parsed = JSON.parse(line);
|
|
43077
|
+
} catch {
|
|
43078
|
+
unparsable += 1;
|
|
43079
|
+
kept.push(line);
|
|
43080
|
+
continue;
|
|
43081
|
+
}
|
|
43082
|
+
if (parsed?.type === "message" && isEmptyAssistantMessage(parsed.message)) {
|
|
43083
|
+
pruned += 1;
|
|
43084
|
+
continue;
|
|
43085
|
+
}
|
|
43086
|
+
kept.push(line);
|
|
43087
|
+
}
|
|
43088
|
+
if (pruned === 0) return {
|
|
43089
|
+
rewrote: false,
|
|
43090
|
+
pruned: 0,
|
|
43091
|
+
unparsable
|
|
43092
|
+
};
|
|
43093
|
+
await writeAtomically(sessionFile, kept.join("\n"));
|
|
43094
|
+
return {
|
|
43095
|
+
rewrote: true,
|
|
43096
|
+
pruned,
|
|
43097
|
+
unparsable
|
|
43098
|
+
};
|
|
43099
|
+
}
|
|
43100
|
+
|
|
42677
43101
|
//#endregion
|
|
42678
43102
|
//#region src/agents/session-file-repair.ts
|
|
42679
43103
|
function isSessionHeader(entry) {
|
|
@@ -42947,221 +43371,6 @@ function sessionLikelyHasOversizedToolResults(params) {
|
|
|
42947
43371
|
return false;
|
|
42948
43372
|
}
|
|
42949
43373
|
|
|
42950
|
-
//#endregion
|
|
42951
|
-
//#region src/agents/session-transcript-repair.ts
|
|
42952
|
-
function isToolCallBlock(block) {
|
|
42953
|
-
if (!block || typeof block !== "object") return false;
|
|
42954
|
-
const type = block.type;
|
|
42955
|
-
return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
|
|
42956
|
-
}
|
|
42957
|
-
function hasToolCallInput(block) {
|
|
42958
|
-
const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
|
|
42959
|
-
const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
|
|
42960
|
-
return hasInput || hasArguments;
|
|
42961
|
-
}
|
|
42962
|
-
function hasNonEmptyStringField(value) {
|
|
42963
|
-
return typeof value === "string" && value.trim().length > 0;
|
|
42964
|
-
}
|
|
42965
|
-
function hasToolCallId(block) {
|
|
42966
|
-
return hasNonEmptyStringField(block.id);
|
|
42967
|
-
}
|
|
42968
|
-
function hasToolCallName(block) {
|
|
42969
|
-
return hasNonEmptyStringField(block.name);
|
|
42970
|
-
}
|
|
42971
|
-
function makeMissingToolResult(params) {
|
|
42972
|
-
return {
|
|
42973
|
-
role: "toolResult",
|
|
42974
|
-
toolCallId: params.toolCallId,
|
|
42975
|
-
toolName: params.toolName ?? "unknown",
|
|
42976
|
-
content: [{
|
|
42977
|
-
type: "text",
|
|
42978
|
-
text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
|
|
42979
|
-
}],
|
|
42980
|
-
isError: true,
|
|
42981
|
-
timestamp: Date.now()
|
|
42982
|
-
};
|
|
42983
|
-
}
|
|
42984
|
-
function stripToolResultDetails(messages) {
|
|
42985
|
-
let touched = false;
|
|
42986
|
-
const out = [];
|
|
42987
|
-
for (const msg of messages) {
|
|
42988
|
-
if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
|
|
42989
|
-
out.push(msg);
|
|
42990
|
-
continue;
|
|
42991
|
-
}
|
|
42992
|
-
if (!("details" in msg)) {
|
|
42993
|
-
out.push(msg);
|
|
42994
|
-
continue;
|
|
42995
|
-
}
|
|
42996
|
-
const { details: _details, ...rest } = msg;
|
|
42997
|
-
touched = true;
|
|
42998
|
-
out.push(rest);
|
|
42999
|
-
}
|
|
43000
|
-
return touched ? out : messages;
|
|
43001
|
-
}
|
|
43002
|
-
function repairToolCallInputs(messages) {
|
|
43003
|
-
let droppedToolCalls = 0;
|
|
43004
|
-
let droppedAssistantMessages = 0;
|
|
43005
|
-
let changed = false;
|
|
43006
|
-
const out = [];
|
|
43007
|
-
for (const msg of messages) {
|
|
43008
|
-
if (!msg || typeof msg !== "object") {
|
|
43009
|
-
out.push(msg);
|
|
43010
|
-
continue;
|
|
43011
|
-
}
|
|
43012
|
-
if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
|
|
43013
|
-
out.push(msg);
|
|
43014
|
-
continue;
|
|
43015
|
-
}
|
|
43016
|
-
const nextContent = [];
|
|
43017
|
-
let droppedInMessage = 0;
|
|
43018
|
-
for (const block of msg.content) {
|
|
43019
|
-
if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
|
|
43020
|
-
droppedToolCalls += 1;
|
|
43021
|
-
droppedInMessage += 1;
|
|
43022
|
-
changed = true;
|
|
43023
|
-
continue;
|
|
43024
|
-
}
|
|
43025
|
-
nextContent.push(block);
|
|
43026
|
-
}
|
|
43027
|
-
if (droppedInMessage > 0) {
|
|
43028
|
-
if (nextContent.length === 0) {
|
|
43029
|
-
droppedAssistantMessages += 1;
|
|
43030
|
-
changed = true;
|
|
43031
|
-
continue;
|
|
43032
|
-
}
|
|
43033
|
-
out.push({
|
|
43034
|
-
...msg,
|
|
43035
|
-
content: nextContent
|
|
43036
|
-
});
|
|
43037
|
-
continue;
|
|
43038
|
-
}
|
|
43039
|
-
out.push(msg);
|
|
43040
|
-
}
|
|
43041
|
-
return {
|
|
43042
|
-
messages: changed ? out : messages,
|
|
43043
|
-
droppedToolCalls,
|
|
43044
|
-
droppedAssistantMessages
|
|
43045
|
-
};
|
|
43046
|
-
}
|
|
43047
|
-
function sanitizeToolCallInputs(messages) {
|
|
43048
|
-
return repairToolCallInputs(messages).messages;
|
|
43049
|
-
}
|
|
43050
|
-
function sanitizeToolUseResultPairing(messages) {
|
|
43051
|
-
return repairToolUseResultPairing(messages).messages;
|
|
43052
|
-
}
|
|
43053
|
-
function repairToolUseResultPairing(messages) {
|
|
43054
|
-
const out = [];
|
|
43055
|
-
const added = [];
|
|
43056
|
-
const seenToolResultIds = /* @__PURE__ */ new Set();
|
|
43057
|
-
let droppedDuplicateCount = 0;
|
|
43058
|
-
let droppedOrphanCount = 0;
|
|
43059
|
-
let moved = false;
|
|
43060
|
-
let changed = false;
|
|
43061
|
-
const pushToolResult = (msg) => {
|
|
43062
|
-
const id = extractToolResultId(msg);
|
|
43063
|
-
if (id && seenToolResultIds.has(id)) {
|
|
43064
|
-
droppedDuplicateCount += 1;
|
|
43065
|
-
changed = true;
|
|
43066
|
-
return;
|
|
43067
|
-
}
|
|
43068
|
-
if (id) seenToolResultIds.add(id);
|
|
43069
|
-
out.push(msg);
|
|
43070
|
-
};
|
|
43071
|
-
for (let i = 0; i < messages.length; i += 1) {
|
|
43072
|
-
const msg = messages[i];
|
|
43073
|
-
if (!msg || typeof msg !== "object") {
|
|
43074
|
-
out.push(msg);
|
|
43075
|
-
continue;
|
|
43076
|
-
}
|
|
43077
|
-
const role = msg.role;
|
|
43078
|
-
if (role !== "assistant") {
|
|
43079
|
-
if (role !== "toolResult") out.push(msg);
|
|
43080
|
-
else {
|
|
43081
|
-
droppedOrphanCount += 1;
|
|
43082
|
-
changed = true;
|
|
43083
|
-
}
|
|
43084
|
-
continue;
|
|
43085
|
-
}
|
|
43086
|
-
const assistant = msg;
|
|
43087
|
-
const stopReason = assistant.stopReason;
|
|
43088
|
-
if (stopReason === "error" || stopReason === "aborted") {
|
|
43089
|
-
out.push(msg);
|
|
43090
|
-
continue;
|
|
43091
|
-
}
|
|
43092
|
-
const toolCalls = extractToolCallsFromAssistant(assistant);
|
|
43093
|
-
if (toolCalls.length === 0) {
|
|
43094
|
-
out.push(msg);
|
|
43095
|
-
continue;
|
|
43096
|
-
}
|
|
43097
|
-
const toolCallIds = new Set(toolCalls.map((t) => t.id));
|
|
43098
|
-
const spanResultsById = /* @__PURE__ */ new Map();
|
|
43099
|
-
const remainder = [];
|
|
43100
|
-
let j = i + 1;
|
|
43101
|
-
for (; j < messages.length; j += 1) {
|
|
43102
|
-
const next = messages[j];
|
|
43103
|
-
if (!next || typeof next !== "object") {
|
|
43104
|
-
remainder.push(next);
|
|
43105
|
-
continue;
|
|
43106
|
-
}
|
|
43107
|
-
const nextRole = next.role;
|
|
43108
|
-
if (nextRole === "assistant") break;
|
|
43109
|
-
if (nextRole === "toolResult") {
|
|
43110
|
-
const toolResult = next;
|
|
43111
|
-
const id = extractToolResultId(toolResult);
|
|
43112
|
-
if (id && toolCallIds.has(id)) {
|
|
43113
|
-
if (seenToolResultIds.has(id)) {
|
|
43114
|
-
droppedDuplicateCount += 1;
|
|
43115
|
-
changed = true;
|
|
43116
|
-
continue;
|
|
43117
|
-
}
|
|
43118
|
-
if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
|
|
43119
|
-
continue;
|
|
43120
|
-
}
|
|
43121
|
-
}
|
|
43122
|
-
if (nextRole !== "toolResult") remainder.push(next);
|
|
43123
|
-
else {
|
|
43124
|
-
droppedOrphanCount += 1;
|
|
43125
|
-
changed = true;
|
|
43126
|
-
}
|
|
43127
|
-
}
|
|
43128
|
-
out.push(msg);
|
|
43129
|
-
if (spanResultsById.size > 0 && remainder.length > 0) {
|
|
43130
|
-
moved = true;
|
|
43131
|
-
changed = true;
|
|
43132
|
-
}
|
|
43133
|
-
for (const call of toolCalls) {
|
|
43134
|
-
const existing = spanResultsById.get(call.id);
|
|
43135
|
-
if (existing) pushToolResult(existing);
|
|
43136
|
-
else {
|
|
43137
|
-
const missing = makeMissingToolResult({
|
|
43138
|
-
toolCallId: call.id,
|
|
43139
|
-
toolName: call.name
|
|
43140
|
-
});
|
|
43141
|
-
added.push(missing);
|
|
43142
|
-
changed = true;
|
|
43143
|
-
pushToolResult(missing);
|
|
43144
|
-
}
|
|
43145
|
-
}
|
|
43146
|
-
for (const rem of remainder) {
|
|
43147
|
-
if (!rem || typeof rem !== "object") {
|
|
43148
|
-
out.push(rem);
|
|
43149
|
-
continue;
|
|
43150
|
-
}
|
|
43151
|
-
out.push(rem);
|
|
43152
|
-
}
|
|
43153
|
-
i = j - 1;
|
|
43154
|
-
}
|
|
43155
|
-
const changedOrMoved = changed || moved;
|
|
43156
|
-
return {
|
|
43157
|
-
messages: changedOrMoved ? out : messages,
|
|
43158
|
-
added,
|
|
43159
|
-
droppedDuplicateCount,
|
|
43160
|
-
droppedOrphanCount,
|
|
43161
|
-
moved: changedOrMoved
|
|
43162
|
-
};
|
|
43163
|
-
}
|
|
43164
|
-
|
|
43165
43374
|
//#endregion
|
|
43166
43375
|
//#region src/agents/session-tool-result-guard.ts
|
|
43167
43376
|
const GUARD_TRUNCATION_SUFFIX = "\n\n⚠️ [Content truncated during persistence — original exceeded size limit. Use offset/limit parameters or request specific sections for large content.]";
|
|
@@ -43242,6 +43451,10 @@ function installSessionToolResultGuard(sessionManager, opts) {
|
|
|
43242
43451
|
const guardedAppend = (message) => {
|
|
43243
43452
|
let nextMessage = message;
|
|
43244
43453
|
if (message.role === "assistant") {
|
|
43454
|
+
if (isEmptyAssistantMessage(message)) {
|
|
43455
|
+
if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
|
|
43456
|
+
return;
|
|
43457
|
+
}
|
|
43245
43458
|
const sanitized = sanitizeToolCallInputs([message]);
|
|
43246
43459
|
if (sanitized.length === 0) {
|
|
43247
43460
|
if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
|
|
@@ -46440,6 +46653,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
46440
46653
|
});
|
|
46441
46654
|
const versionCheck = await handleSessionVersion(params.sessionFile);
|
|
46442
46655
|
if (versionCheck.archived) log$5.warn(`session archived: created by ${versionCheck.poisonVersion}, known corruption range → ${versionCheck.archivePath}`);
|
|
46656
|
+
const pruneReport = await pruneEmptyAssistantsFromSessionFile(params.sessionFile);
|
|
46657
|
+
if (pruneReport.rewrote) log$5.warn(`session prune: removed ${pruneReport.pruned} empty assistant entries from ${params.sessionFile}`);
|
|
46443
46658
|
await prewarmSessionFile(params.sessionFile);
|
|
46444
46659
|
sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
|
|
46445
46660
|
agentId: sessionAgentId,
|
|
@@ -50806,7 +51021,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
50806
51021
|
return;
|
|
50807
51022
|
}
|
|
50808
51023
|
try {
|
|
50809
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
51024
|
+
const { deliverOutboundPayloads } = await import("./deliver-DtuY4Wgl.js").then((n) => n.n);
|
|
50810
51025
|
await deliverOutboundPayloads({
|
|
50811
51026
|
cfg: params.cfg,
|
|
50812
51027
|
channel,
|
|
@@ -54252,7 +54467,7 @@ async function describeStickerImage(params) {
|
|
|
54252
54467
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
54253
54468
|
try {
|
|
54254
54469
|
const buffer = await fs$1.readFile(imagePath);
|
|
54255
|
-
const { describeImageWithModel } = await import("./image-
|
|
54470
|
+
const { describeImageWithModel } = await import("./image-lp19FlzF.js").then((n) => n.n);
|
|
54256
54471
|
return (await describeImageWithModel({
|
|
54257
54472
|
buffer,
|
|
54258
54473
|
fileName: "sticker.webp",
|
|
@@ -54675,7 +54890,7 @@ function createWhatsAppLoginTool() {
|
|
|
54675
54890
|
force: Type.Optional(Type.Boolean())
|
|
54676
54891
|
}),
|
|
54677
54892
|
execute: async (_toolCallId, args) => {
|
|
54678
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
54893
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Dbw5m381.js");
|
|
54679
54894
|
if ((args?.action ?? "start") === "wait") {
|
|
54680
54895
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
54681
54896
|
return {
|
|
@@ -56914,7 +57129,7 @@ async function preflightDiscordMessage(params) {
|
|
|
56914
57129
|
let preflightTranscript;
|
|
56915
57130
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
56916
57131
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
56917
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
57132
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DD18zIZd.js");
|
|
56918
57133
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
56919
57134
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
56920
57135
|
ctx: {
|
|
@@ -60697,27 +60912,27 @@ function isVoiceChannelType(type) {
|
|
|
60697
60912
|
function createDefaultDeps() {
|
|
60698
60913
|
return {
|
|
60699
60914
|
sendMessageWhatsApp: async (...args) => {
|
|
60700
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60915
|
+
const { sendMessageWhatsApp } = await import("./web-CJk-lv93.js");
|
|
60701
60916
|
return await sendMessageWhatsApp(...args);
|
|
60702
60917
|
},
|
|
60703
60918
|
sendMessageTelegram: async (...args) => {
|
|
60704
|
-
const { sendMessageTelegram } = await import("./send-
|
|
60919
|
+
const { sendMessageTelegram } = await import("./send-B986asZ7.js").then((n) => n.l);
|
|
60705
60920
|
return await sendMessageTelegram(...args);
|
|
60706
60921
|
},
|
|
60707
60922
|
sendMessageDiscord: async (...args) => {
|
|
60708
|
-
const { sendMessageDiscord } = await import("./send-
|
|
60923
|
+
const { sendMessageDiscord } = await import("./send-RfIXG6-I.js").then((n) => n.t);
|
|
60709
60924
|
return await sendMessageDiscord(...args);
|
|
60710
60925
|
},
|
|
60711
60926
|
sendMessageSlack: async (...args) => {
|
|
60712
|
-
const { sendMessageSlack } = await import("./send-
|
|
60927
|
+
const { sendMessageSlack } = await import("./send-BzKHnf3b.js").then((n) => n.n);
|
|
60713
60928
|
return await sendMessageSlack(...args);
|
|
60714
60929
|
},
|
|
60715
60930
|
sendMessageSignal: async (...args) => {
|
|
60716
|
-
const { sendMessageSignal } = await import("./send-
|
|
60931
|
+
const { sendMessageSignal } = await import("./send-DLWaX69q.js").then((n) => n.i);
|
|
60717
60932
|
return await sendMessageSignal(...args);
|
|
60718
60933
|
},
|
|
60719
60934
|
sendMessageIMessage: async (...args) => {
|
|
60720
|
-
const { sendMessageIMessage } = await import("./send-
|
|
60935
|
+
const { sendMessageIMessage } = await import("./send-DdLJtOjk.js").then((n) => n.n);
|
|
60721
60936
|
return await sendMessageIMessage(...args);
|
|
60722
60937
|
}
|
|
60723
60938
|
};
|
|
@@ -63602,7 +63817,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
63602
63817
|
super(options);
|
|
63603
63818
|
}
|
|
63604
63819
|
createWebSocket(url) {
|
|
63605
|
-
return new WebSocket
|
|
63820
|
+
return new WebSocket(url, { agent });
|
|
63606
63821
|
}
|
|
63607
63822
|
}
|
|
63608
63823
|
return new ProxyGatewayPlugin();
|
|
@@ -71547,7 +71762,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
71547
71762
|
});
|
|
71548
71763
|
const deliverSlashPayloads = async (replies) => {
|
|
71549
71764
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
71550
|
-
import("./replies-
|
|
71765
|
+
import("./replies-CfyMcfoY.js").then((n) => n.r),
|
|
71551
71766
|
import("./chunk-DTMTDXwE.js").then((n) => n.s),
|
|
71552
71767
|
import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
|
|
71553
71768
|
]);
|
|
@@ -73820,7 +74035,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
73820
74035
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
73821
74036
|
let preflightTranscript;
|
|
73822
74037
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
73823
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
74038
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DD18zIZd.js");
|
|
73824
74039
|
preflightTranscript = await transcribeFirstAudio({
|
|
73825
74040
|
ctx: {
|
|
73826
74041
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -75965,23 +76180,23 @@ let webLoginQrPromise = null;
|
|
|
75965
76180
|
let webChannelPromise = null;
|
|
75966
76181
|
let whatsappActionsPromise = null;
|
|
75967
76182
|
function loadWebOutbound() {
|
|
75968
|
-
webOutboundPromise ??= import("./outbound-
|
|
76183
|
+
webOutboundPromise ??= import("./outbound-BIOChOHt.js").then((n) => n.t);
|
|
75969
76184
|
return webOutboundPromise;
|
|
75970
76185
|
}
|
|
75971
76186
|
function loadWebLogin() {
|
|
75972
|
-
webLoginPromise ??= import("./login-
|
|
76187
|
+
webLoginPromise ??= import("./login-BkbDSDPc.js").then((n) => n.n);
|
|
75973
76188
|
return webLoginPromise;
|
|
75974
76189
|
}
|
|
75975
76190
|
function loadWebLoginQr() {
|
|
75976
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
76191
|
+
webLoginQrPromise ??= import("./login-qr-Dbw5m381.js");
|
|
75977
76192
|
return webLoginQrPromise;
|
|
75978
76193
|
}
|
|
75979
76194
|
function loadWebChannel() {
|
|
75980
|
-
webChannelPromise ??= import("./web-
|
|
76195
|
+
webChannelPromise ??= import("./web-CJk-lv93.js");
|
|
75981
76196
|
return webChannelPromise;
|
|
75982
76197
|
}
|
|
75983
76198
|
function loadWhatsAppActions() {
|
|
75984
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
76199
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BylecqEa.js");
|
|
75985
76200
|
return whatsappActionsPromise;
|
|
75986
76201
|
}
|
|
75987
76202
|
function createPluginRuntime() {
|