@symerian/symi 2.6.40 → 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/{acp-cli-Cm65S6FL.js → acp-cli-BLUeUUA5.js} +2 -2
- package/dist/{acp-cli-CArw-nEj.js → acp-cli-CrEIx-c7.js} +2 -2
- package/dist/{agents-BUphGO8B.js → agents-B4RNdKQ3.js} +7 -7
- package/dist/{agents.config-bWQyGjxK.js → agents.config-CA31c0kN.js} +1 -1
- package/dist/{agents.config-C5FjRTiH.js → agents.config-CG2klYOg.js} +1 -1
- package/dist/{audio-preflight-DEJHmI9r.js → audio-preflight-CIiS5cfP.js} +11 -11
- package/dist/{audio-preflight-B0alOE_D.js → audio-preflight-DD18zIZd.js} +5 -5
- package/dist/{audio-preflight-BUO1aDLp.js → audio-preflight-K-s65jbB.js} +5 -5
- package/dist/{audio-preflight-EindUWk_.js → audio-preflight-XrlQA8IZ.js} +11 -11
- package/dist/{audit-ChxZ7_3y.js → audit-BjI_Yyr5.js} +5 -5
- package/dist/{audit-B_XnVSC_.js → audit-DB9YkTVX.js} +5 -5
- package/dist/{auth-choice-CScrqcEI.js → auth-choice-CCGIgXvF.js} +4 -4
- package/dist/{auth-choice-BZIJ1WP4.js → auth-choice-CiMf3Pjp.js} +4 -4
- package/dist/{banner-DdxLX10a.js → banner-BNsB_A87.js} +1 -1
- package/dist/{browser-cli-B8qCOonD.js → browser-cli-Ctn9do4z.js} +3 -3
- package/dist/{browser-cli-d3tBzuZB.js → browser-cli-kDUw45Y0.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +13 -13
- package/dist/bundled/session-memory/handler.js +13 -13
- package/dist/{call-CLKMnHOP.js → call-DKi-hnaF.js} +1 -1
- package/dist/{call-Dqx-xSZ7.js → call-DwpGquzW.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-CC5ojwB6.js → channel-options-BMQlkUDX.js} +1 -1
- package/dist/{channel-options-BAqgueJ5.js → channel-options-pAH4A-xX.js} +1 -1
- package/dist/{channel-web-_jV8VUEw.js → channel-web-Dwuj48T5.js} +7 -7
- package/dist/{channels-cli-1we8fBWm.js → channels-cli-CuExxB0U.js} +30 -30
- package/dist/{channels-cli-GldZ8ajW.js → channels-cli-rmDzxb0W.js} +29 -29
- package/dist/{chrome-D07ZncFh.js → chrome-BYOhnxTr.js} +8 -8
- package/dist/{chrome-DJn17LsI.js → chrome-BxwUEWrH.js} +1 -1
- package/dist/{chrome-Cixcv-qk.js → chrome-DAw-AWNi.js} +1 -1
- package/dist/{chrome-DtPv6OzN.js → chrome-DU2ZysN3.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CNO5cyFx.js → cli-BPGZalMg.js} +25 -25
- package/dist/{cli-DZAotBEi.js → cli-Mcq2pPI0.js} +26 -26
- package/dist/{command-registry-DZIdLwVe.js → command-registry-BoEw2RzH.js} +11 -11
- package/dist/{completion-cli-BWw06AVN.js → completion-cli-CE9Xqlyx.js} +1 -1
- package/dist/{completion-cli-DYgPksHH.js → completion-cli-CQVZGJPg.js} +2 -2
- package/dist/{config-CyV6zkEL.js → config-B6OxYMgn.js} +6 -1
- package/dist/{config-BwQutavB.js → config-BNTB6qj8.js} +6 -1
- package/dist/{config-jVLwO6DP.js → config-BUTI-mUZ.js} +6 -1
- package/dist/{config-Bjt5P4vW.js → config-Dz95lSBW.js} +6 -1
- package/dist/{config-cli-DNHtgLYH.js → config-cli-BucNvr-c.js} +2 -2
- package/dist/{config-cli-BOS84uDD.js → config-cli-mU_ckD4l.js} +2 -2
- package/dist/{config-guard-bJv1t515.js → config-guard-B1skCv1C.js} +2 -2
- package/dist/{config-guard-BTGDJDTi.js → config-guard-CEkSg4hl.js} +3 -3
- package/dist/{config-validation-D1EjO6bG.js → config-validation-Cutpn5eO.js} +1 -1
- package/dist/{config-validation-PZAxf4DR.js → config-validation-HDVDlMSV.js} +1 -1
- package/dist/{configure-B7YGhbtM.js → configure-CDOF87Fk.js} +10 -10
- package/dist/{configure-DZQuTL_V.js → configure-CxnBcN95.js} +10 -10
- package/dist/{control-service-B0G5d40m.js → control-service-BYKXzY4f.js} +4 -4
- package/dist/{control-service-BW1BNnC1.js → control-service-rbSHSlcd.js} +4 -4
- package/dist/control-ui/js/app.js +41 -0
- package/dist/{cron-cli-B88WIOK2.js → cron-cli-DCpsXkrw.js} +3 -3
- package/dist/{cron-cli-QxHcrynL.js → cron-cli-QCTdVZuP.js} +3 -3
- package/dist/{daemon-cli-Cy45NZwV.js → daemon-cli-DSDcmWOi.js} +6 -6
- package/dist/{daemon-cli-DK3CCo49.js → daemon-cli-DhJYEAoL.js} +6 -6
- package/dist/daemon-cli.js +6 -1
- package/dist/{daemon-runtime-A-deduW3.js → daemon-runtime-CVFg-ZmT.js} +1 -1
- package/dist/{daemon-runtime-CdKAsAeg.js → daemon-runtime-mE1b-Q48.js} +1 -1
- package/dist/{deliver-BjpaKGTx.js → deliver-B4KZ6-oZ.js} +3 -3
- package/dist/{deliver-BCmoI9iE.js → deliver-Bu0iWeja.js} +3 -3
- package/dist/{deliver-Cm6Yfbzh.js → deliver-C1HRkzPJ.js} +2 -2
- package/dist/{deliver-SIVO_ZZm.js → deliver-DtuY4Wgl.js} +2 -2
- package/dist/{devices-cli-f3yJl6-G.js → devices-cli-BNG-fvdl.js} +2 -2
- package/dist/{devices-cli-D6sKbRkk.js → devices-cli-x3jIP4Ih.js} +2 -2
- package/dist/{directory-cli-DDb20Fzl.js → directory-cli-BxnSZZsW.js} +1 -1
- package/dist/{directory-cli-hohI4d8v.js → directory-cli-KgsAVTA0.js} +1 -1
- package/dist/{dns-cli-DIZyU_2d.js → dns-cli-BuVomfxS.js} +1 -1
- package/dist/{dns-cli-C1SXZIAh.js → dns-cli-Cwr92Aiq.js} +1 -1
- package/dist/{doctor-completion-UC-Jc5jn.js → doctor-completion-CHF_TwGQ.js} +1 -1
- package/dist/{doctor-completion-BayL_S0c.js → doctor-completion-CoftKlUX.js} +1 -1
- package/dist/{doctor-config-flow-DLtGtIf_.js → doctor-config-flow-DhAYwhNB.js} +2 -2
- package/dist/{doctor-config-flow-i4XYSFXR.js → doctor-config-flow-iIzSEQxb.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-DpFjEahL.js → exec-approvals-cli-BSgxsdMt.js} +4 -4
- package/dist/{exec-approvals-cli-Cr-mrEfY.js → exec-approvals-cli-CmndFjEA.js} +4 -4
- package/dist/extensionAPI.js +13 -13
- package/dist/{gateway-cli-Cwh2BbPv.js → gateway-cli-G7fiXsQ6.js} +42 -42
- package/dist/{gateway-cli-BFPPqLYw.js → gateway-cli-SNaqDM7f.js} +41 -41
- package/dist/{gateway-rpc-CS_pPYyV.js → gateway-rpc-5fREQe9Q.js} +1 -1
- package/dist/{gateway-rpc-Ddqs16S-.js → gateway-rpc-BMdVa3QV.js} +1 -1
- package/dist/{glass-ui-ws-DB9p7t4H.js → glass-ui-ws-CF0__vuO.js} +34 -34
- package/dist/{glass-ui-ws-BfHJCfCz.js → glass-ui-ws-he25wGFt.js} +33 -33
- package/dist/{health-Bx6RQ4MZ.js → health-en2N_Kqc.js} +5 -5
- package/dist/{health-CLIwZbJe.js → health-q7706M36.js} +5 -5
- package/dist/{hooks-cli-BgALdxuB.js → hooks-cli-C4rVaLzZ.js} +26 -26
- package/dist/{hooks-cli-CF4fT-gm.js → hooks-cli-ChQbBpyb.js} +27 -27
- package/dist/{image-DI1dYFo0.js → image-BWmcNF8N.js} +2 -2
- package/dist/{image-KpMaj86B.js → image-C3wYkWyK.js} +2 -2
- package/dist/{image-BmIvgTV4.js → image-CbyTdMd5.js} +2 -2
- package/dist/{image-BrxGAFvc.js → image-lp19FlzF.js} +2 -2
- package/dist/index.js +34 -34
- package/dist/{lifecycle-core-BnlvcthF.js → lifecycle-core-BZ5sOcHT.js} +2 -2
- package/dist/{lifecycle-core-D8iU9ahw.js → lifecycle-core-C4HzGXA1.js} +2 -2
- package/dist/llm-slug-generator.js +13 -13
- package/dist/{login-CayZfsyE.js → login-BkbDSDPc.js} +2 -2
- package/dist/{login-bQWLSSfZ.js → login-BtBwGFrb.js} +2 -2
- package/dist/{login-DPxmcuIe.js → login-CiVdC-o_.js} +2 -2
- package/dist/{login-QU18rIZK.js → login-DODfJ3Dn.js} +2 -2
- package/dist/{login-qr-Bn4BQkWf.js → login-qr-CBRxijIg.js} +2 -2
- package/dist/{login-qr-BB2Zfn7K.js → login-qr-DPxuLEvD.js} +2 -2
- package/dist/{login-qr-CPn2Q7vV.js → login-qr-Dbw5m381.js} +2 -2
- package/dist/{login-qr-l5XwJWk9.js → login-qr-q201Ckfe.js} +2 -2
- package/dist/{logs-cli-COwO0YyZ.js → logs-cli-CfGj-dOg.js} +3 -3
- package/dist/{logs-cli-2z1YdwSX.js → logs-cli-DtlrLf7u.js} +3 -3
- package/dist/{memory-cli-B7GV_Iz_.js → memory-cli-Btzr8gfD.js} +1 -1
- package/dist/{memory-cli-9q0ppQpo.js → memory-cli-DDumUksr.js} +1 -1
- package/dist/{model-catalog-CsKgWlNp.js → model-catalog-8Son0J4O.js} +2 -2
- package/dist/{model-catalog-b9o0TtF7.js → model-catalog-DNvgFPZn.js} +2 -2
- package/dist/{model-picker-DBsP93uq.js → model-picker-CAm2Bftd.js} +2 -2
- package/dist/{model-picker-CRy3nJeT.js → model-picker-Casgrpw3.js} +2 -2
- package/dist/{models-CPIhph0W.js → models-DOTpfa7b.js} +8 -8
- package/dist/{models-cli-C01GsvW2.js → models-cli-CBl45f7R.js} +28 -28
- package/dist/{models-cli-CLqS4ENq.js → models-cli-MJAY_Wg4.js} +29 -29
- package/dist/{models-config-Bc8qKqev.js → models-config-Be8DRFkB.js} +1 -1
- package/dist/{models-config-BiIYPWCW.js → models-config-CFFjJPe7.js} +1 -1
- package/dist/{node-cli-BeZKOSYR.js → node-cli-DnfDOh1d.js} +9 -9
- package/dist/{node-cli-74pkmapS.js → node-cli-eHn9-YfJ.js} +9 -9
- package/dist/{nodes-cli-nic1q7eb.js → nodes-cli-Ci3oxw8k.js} +3 -3
- package/dist/{nodes-cli-DJHcnIfL.js → nodes-cli-Ct4M7JOe.js} +3 -3
- package/dist/{onboard-CzncEzdT.js → onboard-Bx02XPb1.js} +7 -7
- package/dist/{onboard-BrxB6sbz.js → onboard-DQdGJ1lE.js} +7 -7
- package/dist/{onboard-channels-BBUPobrz.js → onboard-channels-Bp89ZT6Q.js} +1 -1
- package/dist/{onboard-channels-H11ympjW.js → onboard-channels-Ct2eNYUC.js} +1 -1
- package/dist/{onboard-custom-BFbF4nGV.js → onboard-custom-CQOMQkfS.js} +2 -2
- package/dist/{onboard-custom-Bt-wDMSz.js → onboard-custom-XiomtQr7.js} +2 -2
- package/dist/{onboard-helpers-ChH5EhW2.js → onboard-helpers-BBtPmJEe.js} +2 -2
- package/dist/{onboard-helpers-MnxHJAaB.js → onboard-helpers-DFvWPFhU.js} +2 -2
- package/dist/{onboard-remote-57GHsVPU.js → onboard-remote-BURDxwoE.js} +1 -1
- package/dist/{onboard-remote-BRxgNeoe.js → onboard-remote-D-B4EiOE.js} +1 -1
- package/dist/{onboard-skills-DtcVRCTc.js → onboard-skills-BDCzVjxb.js} +1 -1
- package/dist/{onboard-skills-CLnJpRrp.js → onboard-skills-CbzgBT1W.js} +1 -1
- package/dist/{onboarding-D8p8ii63.js → onboarding-Dnn_0VTy.js} +10 -10
- package/dist/{onboarding-D7hzRo_I.js → onboarding-DxUcsrKV.js} +10 -10
- package/dist/{onboarding.finalize-BJUg2rlZ.js → onboarding.finalize-1kzzMLFM.js} +33 -33
- package/dist/{onboarding.finalize-C-rIKbkf.js → onboarding.finalize-Dwr-jEtL.js} +31 -31
- package/dist/{onboarding.gateway-config-CTbWQvl6.js → onboarding.gateway-config-B9zGPfCl.js} +4 -4
- package/dist/{onboarding.gateway-config-oxW0bLBK.js → onboarding.gateway-config-DKwJ5bWd.js} +4 -4
- package/dist/{outbound-BodV7hPd.js → outbound-BIOChOHt.js} +1 -1
- package/dist/{outbound-BOqx1b0e.js → outbound-Bt8rj9kO.js} +1 -1
- package/dist/{outbound-BhKz3zWF.js → outbound-DL8bdXlZ.js} +1 -1
- package/dist/{outbound-CG3KehgB.js → outbound-wnv03tb3.js} +1 -1
- package/dist/{pairing-cli-RbEs_EMc.js → pairing-cli-DSM82gJG.js} +1 -1
- package/dist/{pairing-cli-NErE7ajG.js → pairing-cli-HDWwcqjZ.js} +1 -1
- package/dist/{pi-embedded-b2yPH0UQ.js → pi-embedded-BfEg6Wwb.js} +377 -247
- package/dist/{pi-embedded-helpers-CeNTB0sV.js → pi-embedded-helpers-BgdB5kvy.js} +1 -1
- package/dist/{pi-embedded-helpers-cgZRM5cz.js → pi-embedded-helpers-DA4liAIZ.js} +1 -1
- package/dist/{pi-embedded-helpers-Bdac0DIf.js → pi-embedded-helpers-Dij3O6ox.js} +5 -5
- package/dist/{pi-embedded-helpers-BDI11Fqj.js → pi-embedded-helpers-GaCyI2oH.js} +5 -5
- package/dist/{pi-tools.policy-BYklnTNc.js → pi-tools.policy-DRWb_Cax.js} +2 -2
- package/dist/{pi-tools.policy-B4NDL7r-.js → pi-tools.policy-DxNwL7Dl.js} +2 -2
- package/dist/{plugin-registry-CzWOGG0k.js → plugin-registry-BMFEJ4FA.js} +2 -2
- package/dist/{plugin-registry-29yLAS46.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-DSEypXnx.js → audio-preflight-BacDFPyc.js} +5 -5
- package/dist/plugin-sdk/{channel-web-DwLIjUen.js → channel-web-Ba27v-Om.js} +7 -7
- package/dist/plugin-sdk/{chrome-DC-la42T.js → chrome-BMimuhgP.js} +1 -1
- package/dist/plugin-sdk/config/model-profiles.d.ts +7 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +2 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +1 -0
- package/dist/plugin-sdk/{config-DgwyZd2S.js → config-DdA6JiyD.js} +6 -1
- package/dist/plugin-sdk/{deliver-7pgLdSpM.js → deliver-Bxa1-mj5.js} +2 -2
- package/dist/plugin-sdk/{image-CqMZSk6f.js → image-aq-JAobP.js} +2 -2
- package/dist/plugin-sdk/index.js +17 -17
- package/dist/plugin-sdk/{login-DJzS9QT2.js → login-CHgiUvI_.js} +2 -2
- package/dist/plugin-sdk/{login-qr-DziBjQY5.js → login-qr-D5vJo1fy.js} +2 -2
- package/dist/plugin-sdk/{outbound-DmsEc64Z.js → outbound-CD38Hxn9.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-C33OSgwG.js → pi-embedded-helpers-BPvzgLtj.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-MIepjtIO.js → pw-ai-fdBOQzz5.js} +2 -2
- package/dist/plugin-sdk/{replies-Bw1Amxop.js → replies-CW_-4klO.js} +1 -1
- package/dist/plugin-sdk/{reply-BxYNpQRu.js → reply-Bok_WQGW.js} +377 -247
- package/dist/plugin-sdk/{runner-Bh4NdzRK.js → runner-BQJ7x06O.js} +2 -2
- package/dist/plugin-sdk/{send-CENVp2ol.js → send-C4t6h9-o.js} +1 -1
- package/dist/plugin-sdk/{send-Bf62p_ul.js → send-Cz_FQ8Ao.js} +1 -1
- package/dist/plugin-sdk/{send-D5_J2DiV.js → send-DG6c7BpZ.js} +1 -1
- package/dist/plugin-sdk/{send-P1G7c4FN.js → send-HKy51Hz_.js} +1 -1
- package/dist/plugin-sdk/{send-Ddy4p4LW.js → send-Xy1L54q4.js} +1 -1
- package/dist/plugin-sdk/{session-Z4-R_Top.js → session-BUzIlHr9.js} +1 -1
- package/dist/plugin-sdk/{web-DiNM_c37.js → web-BoOAa0Xn.js} +17 -17
- package/dist/plugin-sdk/{whatsapp-actions-Bg6DfWkN.js → whatsapp-actions-CZLagx0h.js} +2 -2
- package/dist/{plugins-cli-D4bGKnOF.js → plugins-cli-B36YKKla.js} +26 -26
- package/dist/{plugins-cli-DZ6arND4.js → plugins-cli-DoJbbST7.js} +27 -27
- package/dist/{program-DE9DbHYV.js → program-4f7W2RMs.js} +33 -33
- package/dist/{program-context-iI9_njQv.js → program-context-Y4KnAKNT.js} +38 -38
- package/dist/{prompt-select-styled-SHa0ZJL9.js → prompt-select-styled-D0sLJ4TD.js} +14 -14
- package/dist/{prompt-select-styled-D0ELdY0x.js → prompt-select-styled-Dql_0SI0.js} +14 -14
- package/dist/{provider-auth-helpers-EMBbfX3w.js → provider-auth-helpers-CJbHC_mv.js} +2 -2
- package/dist/{provider-auth-helpers-BI2k0jlH.js → provider-auth-helpers-GSv3namf.js} +2 -2
- package/dist/{push-apns-DyeCPAvI.js → push-apns-giplY7u-.js} +1 -1
- package/dist/{push-apns-DcbeaY5y.js → push-apns-sxB8QxSj.js} +1 -1
- package/dist/{pw-ai-LB6wkt8h.js → pw-ai-BCSFVeD5.js} +2 -2
- package/dist/{pw-ai-sY1BRRsq.js → pw-ai-BO5cSmwD.js} +2 -2
- package/dist/{pw-ai-C2z2aMEp.js → pw-ai-DQohWnzT.js} +2 -2
- package/dist/{pw-ai-C_7yEh9n.js → pw-ai-pQoxTh-a.js} +2 -2
- package/dist/{qr-cli-B-NWpxfN.js → qr-cli-CejYwqsj.js} +1 -1
- package/dist/{qr-cli-TaubpmtG.js → qr-cli-XttU2KOR.js} +1 -1
- package/dist/{register.agent-D4o7bi_u.js → register.agent-_2tVQLMK.js} +34 -34
- package/dist/{register.agent-D-1w3KOa.js → register.agent-vd2BSsyE.js} +32 -32
- package/dist/{register.configure-BIczNshG.js → register.configure-BVKwTrz8.js} +37 -37
- package/dist/{register.configure-BYCEJg1c.js → register.configure-D-XV6_Nb.js} +36 -36
- package/dist/{register.maintenance-k6z5GVrO.js → register.maintenance-BqYR2fop.js} +36 -36
- package/dist/{register.maintenance-Syt4oSuk.js → register.maintenance-XySU31jf.js} +34 -34
- package/dist/{register.message-Bi7QLNId.js → register.message-CCfWNWs3.js} +26 -26
- package/dist/{register.message-BJeeT9xQ.js → register.message-DOyREWdG.js} +27 -27
- package/dist/{register.onboard-B_FeHkL-.js → register.onboard-Dy_D_uMj.js} +33 -33
- package/dist/{register.onboard-DDbxMjmt.js → register.onboard-zmF-euog.js} +32 -32
- package/dist/{register.setup-Cpl67hQ6.js → register.setup-DiGPa1Fw.js} +32 -32
- package/dist/{register.setup-CPi3uss4.js → register.setup-cE7gPp2m.js} +33 -33
- package/dist/{register.status-health-sessions-DsY8YuEo.js → register.status-health-sessions-DWKL1rkz.js} +29 -29
- package/dist/{register.status-health-sessions-CHPN3CNt.js → register.status-health-sessions-ksv1WnIs.js} +31 -31
- package/dist/{register.subclis-D5JRuk93.js → register.subclis-Crt_IYK0.js} +28 -28
- package/dist/{replies-cMkt1-fW.js → replies-BMqtgBhh.js} +1 -1
- package/dist/{replies-CYuZN9PJ.js → replies-Bo49QlAg.js} +1 -1
- package/dist/{replies-C2sQt_cX.js → replies-CBS0567j.js} +1 -1
- package/dist/{replies-zOTZyd6v.js → replies-CfyMcfoY.js} +1 -1
- package/dist/{reply-D55iMWI5.js → reply-CjYJHt_H.js} +388 -258
- package/dist/{routes-ClhmdN8I.js → routes-BAZTZNuQ.js} +3 -3
- package/dist/{routes-DRkO6iuR.js → routes-CMvgBDOg.js} +3 -3
- package/dist/{rpc-DvA01fCj.js → rpc-Co5PQ3IJ.js} +1 -1
- package/dist/{rpc-UsQvUYIP.js → rpc-D0FiEinj.js} +1 -1
- package/dist/{run-main-BWoPODyq.js → run-main-bOlPbL7t.js} +44 -44
- package/dist/{runner-_7xOqQDP.js → runner-B0AbN8wV.js} +2 -2
- package/dist/{runner-CtF7EgsD.js → runner-Ct0suQrd.js} +2 -2
- package/dist/{runner-D3aZ5p3H.js → runner-DRv0uCK_.js} +3 -3
- package/dist/{runner-z_tSZGY5.js → runner-Dd2bbNGV.js} +3 -3
- package/dist/{sandbox-rjqN2SHD.js → sandbox-B6N8cV4d.js} +5 -5
- package/dist/{sandbox-DrIHYiE6.js → sandbox-DY75ZyJD.js} +5 -5
- package/dist/{sandbox-cli-QpZpJ6Hq.js → sandbox-cli-BDM_QM_f.js} +6 -6
- package/dist/{sandbox-cli-BiiThMpq.js → sandbox-cli-DwzaNjIJ.js} +6 -6
- package/dist/{security-cli-DxNPZzVB.js → security-cli-CG1uSlRK.js} +9 -9
- package/dist/{security-cli-s_AbIm-b.js → security-cli-D5BWzqEJ.js} +9 -9
- package/dist/{send-C1ptDV-M.js → send-9SapUCg7.js} +1 -1
- package/dist/{send-DV8npIWi.js → send-B3RdXvjC.js} +1 -1
- package/dist/{send-CVSO0ZdD.js → send-B7HhiTdx.js} +1 -1
- package/dist/{send-DryK_KEK.js → send-B986asZ7.js} +1 -1
- package/dist/{send-DNJAa7Q_.js → send-B9EinkUl.js} +1 -1
- package/dist/{send-De1p8sZA.js → send-BNnv8GtF.js} +1 -1
- package/dist/{send-B9pwTYyE.js → send-BhJZ16uV.js} +1 -1
- package/dist/{send-B62vYwo8.js → send-Bm4ULEzh.js} +1 -1
- package/dist/{send-BJNUY-9E.js → send-BzKHnf3b.js} +1 -1
- package/dist/{send-C6jy9sVB.js → send-CC9V8V81.js} +1 -1
- package/dist/{send-DK-Jat_i.js → send-CQVnyJyF.js} +1 -1
- package/dist/{send-Dx7S4jGp.js → send-CZemAajS.js} +1 -1
- package/dist/{send-BTXR3fPR.js → send-DI9Vhnmw.js} +1 -1
- package/dist/{send-BvCit35j.js → send-DLWaX69q.js} +1 -1
- package/dist/{send-qSITFlVc.js → send-DSnJ503J.js} +1 -1
- package/dist/{send-B7MtdeLq.js → send-DVm0du0_.js} +1 -1
- package/dist/{send-D8DhbDGm.js → send-DaBsat3L.js} +1 -1
- package/dist/{send-iIqnmxNc.js → send-DdLJtOjk.js} +1 -1
- package/dist/{send-4MJyhXk5.js → send-DlQtxlG_.js} +1 -1
- package/dist/{send-DiYc3Z2y.js → send-RfIXG6-I.js} +1 -1
- package/dist/{server-context-C3fvq6h5.js → server-context-CCBZN8a0.js} +5 -5
- package/dist/{server-context-CtYkBX0P.js → server-context-DK-T2rBR.js} +5 -5
- package/dist/{server-methods-DY-jApXo.js → server-methods-CiwWwj6K.js} +15 -15
- package/dist/{server-methods-C4oRmj--.js → server-methods-VimYvcpY.js} +16 -16
- package/dist/{server-node-events--9s3cGoR.js → server-node-events-CHmLiFNV.js} +27 -27
- package/dist/{server-node-events-Bw6yFsJP.js → server-node-events-DYC45lKC.js} +26 -26
- package/dist/{session-XfYb9nxX.js → session-C1cn-CxQ.js} +1 -1
- package/dist/{session-BmC1G2OF.js → session-CUeezgP1.js} +1 -1
- package/dist/{session-3P44Lx9Z.js → session-DsJGtM7g.js} +1 -1
- package/dist/{session-utils-DlQSI-Te.js → session-utils-B8Fif925.js} +3 -3
- package/dist/{session-BUTPdQjj.js → session-v_9AVJhH.js} +1 -1
- package/dist/{sessions-Dxc5UV-H.js → sessions-Cfa6JEB3.js} +1 -1
- package/dist/{sessions-9tWmT3oM.js → sessions-Cpgnq0pA.js} +1 -1
- package/dist/{sessions-BL_hivz0.js → sessions-DfbhRBHR.js} +3 -3
- package/dist/{shared-DEvSdt0I.js → shared-73T9fyuK.js} +1 -1
- package/dist/{shared-DwzDlNQn.js → shared-DdxPzyOH.js} +1 -1
- package/dist/{skills-cli-BHJAAvDv.js → skills-cli-DXkx4vNV.js} +1 -1
- package/dist/{skills-cli-CES7tX87.js → skills-cli-uEA9KXOO.js} +1 -1
- package/dist/{status-DxqgzaIz.js → status-CA5wJHMj.js} +2 -2
- package/dist/{status-CfCqG5a6.js → status-DEpM69Pd.js} +9 -9
- package/dist/{status-CPQrmN1p.js → status-Dt_MXoNa.js} +2 -2
- package/dist/{status-DZHTCKq_.js → status-DxhtJtzE.js} +10 -10
- package/dist/{status.update-BhJp4NkS.js → status.update-C2GN8s9C.js} +1 -1
- package/dist/{status.update-DqXGFKta.js → status.update-CG0ciGaf.js} +1 -1
- package/dist/{subagent-registry-BGKDFTRA.js → subagent-registry-BPwn3Qm7.js} +389 -259
- package/dist/{system-cli-BrZGQcZl.js → system-cli-DFZNGx0i.js} +3 -3
- package/dist/{system-cli-CjgIC8rh.js → system-cli-Z7uzO8qd.js} +3 -3
- package/dist/{systemd-hints-B8AHs8Nn.js → systemd-hints-DT6cDIM2.js} +1 -1
- package/dist/{systemd-hints-DUXXob94.js → systemd-hints-xYZbFny_.js} +1 -1
- package/dist/{tui-BktCSga7.js → tui-DjPsMdL6.js} +4 -4
- package/dist/{tui-CAzxJ9EP.js → tui-DrATGNms.js} +4 -4
- package/dist/{tui-cli-AXeYpVcb.js → tui-cli-D19-MCXt.js} +9 -9
- package/dist/{tui-cli-Bz3RdHqe.js → tui-cli-pWD_NrUR.js} +9 -9
- package/dist/{unified-runner-BhGMOS0G.js → unified-runner-CVkyzT1I.js} +166 -36
- package/dist/{update-cli-n_Tkv8N_.js → update-cli-Dh_dfprI.js} +39 -39
- package/dist/{update-cli-C8EpxduY.js → update-cli-Dv4c5Gup.js} +37 -37
- package/dist/{update-runner-CowTMnrt.js → update-runner-CG_kbbGR.js} +1 -1
- package/dist/{update-runner-Tk50GxTW.js → update-runner-MMFI1UZ0.js} +1 -1
- package/dist/{web-CMLJq-WC.js → web-BUc-ts5b.js} +16 -16
- package/dist/{web-Cz8o-Hc9.js → web-CJk-lv93.js} +16 -16
- package/dist/{web-ONk39lyq.js → web-CfVd3Mhp.js} +29 -29
- package/dist/{web-BIpIz8vD.js → web-DCBOD-Vj.js} +29 -29
- package/dist/{webhooks-cli-v0rfBwU8.js → webhooks-cli-BRxe4uCg.js} +1 -1
- package/dist/{webhooks-cli-Da8YhVu4.js → webhooks-cli-CsRZl0_H.js} +1 -1
- package/dist/{whatsapp-actions-Cz2qhCrD.js → whatsapp-actions-7YbV2-Fv.js} +2 -2
- package/dist/{whatsapp-actions-Ba3KBpGu.js → whatsapp-actions-BylecqEa.js} +2 -2
- package/dist/{whatsapp-actions-AEeCOVko.js → whatsapp-actions-ChO_shrk.js} +2 -2
- package/dist/{whatsapp-actions-BPn8FtPC.js → whatsapp-actions-mBarFBeS.js} +2 -2
- package/dist/{with-timeout-487M8IgO.js → with-timeout-Cgi3TwWN.js} +1 -1
- package/dist/{with-timeout-BU7MJQDD.js → with-timeout-CtVdu_1U.js} +1 -1
- 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 +6 -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 +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -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 +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
|
@@ -14,34 +14,34 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
|
14
14
|
import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
16
16
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
|
|
17
|
-
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-
|
|
18
|
-
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
17
|
+
import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-CQVnyJyF.js";
|
|
18
|
+
import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Dz95lSBW.js";
|
|
19
19
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
|
|
20
20
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
21
21
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
22
22
|
import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
|
|
23
23
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
|
|
24
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
25
|
-
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-
|
|
26
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
24
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DRv0uCK_.js";
|
|
25
|
+
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-BWmcNF8N.js";
|
|
26
|
+
import { t as ensureSymiModelsJson } from "./models-config-CFFjJPe7.js";
|
|
27
27
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
|
|
28
|
-
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-
|
|
29
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
30
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
31
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
28
|
+
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-BgdB5kvy.js";
|
|
29
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-B6N8cV4d.js";
|
|
30
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DU2ZysN3.js";
|
|
31
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CCBZN8a0.js";
|
|
32
32
|
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-6jdJQ5ZL.js";
|
|
33
33
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
|
|
34
34
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
|
|
35
35
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
|
|
36
36
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
|
|
37
37
|
import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
|
|
38
|
-
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
38
|
+
import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-Cpgnq0pA.js";
|
|
39
39
|
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
|
|
40
40
|
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
|
|
41
41
|
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
|
|
42
42
|
import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
|
|
43
43
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
|
|
44
|
-
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
44
|
+
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DVm0du0_.js";
|
|
45
45
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
|
|
46
46
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
|
|
47
47
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
|
|
@@ -51,16 +51,16 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
|
|
|
51
51
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
52
52
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
|
|
53
53
|
import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
|
|
54
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
54
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-8Son0J4O.js";
|
|
55
55
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
|
|
56
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-
|
|
57
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
56
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-CtVdu_1U.js";
|
|
57
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B4KZ6-oZ.js";
|
|
58
58
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CH0skkp6.js";
|
|
59
59
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
|
|
60
|
-
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-
|
|
60
|
+
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-B3RdXvjC.js";
|
|
61
61
|
import { a as buildModelAliasLines, n as resolveModel } from "./model-tWhwnFf8.js";
|
|
62
62
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
63
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DDumUksr.js";
|
|
64
64
|
import { i as resolveMemorySearchConfig } from "./manager-D4LJSRyZ.js";
|
|
65
65
|
import { n as retryAsync } from "./retry-BoS4e4X_.js";
|
|
66
66
|
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-7AvoVa10.js";
|
|
@@ -70,23 +70,23 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
|
|
|
70
70
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
|
|
71
71
|
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BT0-zzs3.js";
|
|
72
72
|
import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-jI1oE0_k.js";
|
|
73
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
73
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DwpGquzW.js";
|
|
74
74
|
import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
|
|
75
75
|
import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
|
|
76
76
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
|
|
77
77
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
|
|
78
78
|
import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
|
|
79
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
79
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-Bm4ULEzh.js";
|
|
80
80
|
import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CK726Dzq.js";
|
|
81
81
|
import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
|
|
82
82
|
import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
|
|
83
83
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BMoTaVAH.js";
|
|
84
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
84
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BMqtgBhh.js";
|
|
85
85
|
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
|
|
86
86
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-zHckislA.js";
|
|
87
87
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BXAI7CNH.js";
|
|
88
|
-
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-
|
|
89
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
88
|
+
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-9SapUCg7.js";
|
|
89
|
+
import { r as detectBinary } from "./onboard-helpers-DFvWPFhU.js";
|
|
90
90
|
import { t as resolvePairingIdLabel } from "./pairing-labels-DyXoD1DS.js";
|
|
91
91
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BgUx3Bm4.js";
|
|
92
92
|
import { t as getActiveWebListener } from "./active-listener-SKkHHqlN.js";
|
|
@@ -94,8 +94,8 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
|
|
|
94
94
|
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-8Bq7DiSa.js";
|
|
95
95
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CdUiymRU.js";
|
|
96
96
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CaTOIqVn.js";
|
|
97
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
98
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
97
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DRWb_Cax.js";
|
|
98
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BYKXzY4f.js";
|
|
99
99
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CvFURHzt.js";
|
|
100
100
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CafH8-8D.js";
|
|
101
101
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-V2xDgw16.js";
|
|
@@ -10416,7 +10416,7 @@ async function routeReply(params) {
|
|
|
10416
10416
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10417
10417
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10418
10418
|
try {
|
|
10419
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10419
|
+
const { deliverOutboundPayloads } = await import("./deliver-B4KZ6-oZ.js").then((n) => n.n);
|
|
10420
10420
|
return {
|
|
10421
10421
|
ok: true,
|
|
10422
10422
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12966,7 +12966,7 @@ async function describeStickerImage(params) {
|
|
|
12966
12966
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
12967
12967
|
try {
|
|
12968
12968
|
const buffer = await fs$1.readFile(imagePath);
|
|
12969
|
-
const { describeImageWithModel } = await import("./image-
|
|
12969
|
+
const { describeImageWithModel } = await import("./image-BWmcNF8N.js").then((n) => n.n);
|
|
12970
12970
|
return (await describeImageWithModel({
|
|
12971
12971
|
buffer,
|
|
12972
12972
|
fileName: "sticker.webp",
|
|
@@ -13389,7 +13389,7 @@ function createWhatsAppLoginTool() {
|
|
|
13389
13389
|
force: Type.Optional(Type.Boolean())
|
|
13390
13390
|
}),
|
|
13391
13391
|
execute: async (_toolCallId, args) => {
|
|
13392
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
13392
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CBRxijIg.js");
|
|
13393
13393
|
if ((args?.action ?? "start") === "wait") {
|
|
13394
13394
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
13395
13395
|
return {
|
|
@@ -15605,7 +15605,7 @@ async function preflightDiscordMessage(params) {
|
|
|
15605
15605
|
let preflightTranscript;
|
|
15606
15606
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
15607
15607
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
15608
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
15608
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CIiS5cfP.js");
|
|
15609
15609
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
15610
15610
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
15611
15611
|
ctx: {
|
|
@@ -22493,7 +22493,8 @@ const BUILTIN_PROFILES = [
|
|
|
22493
22493
|
top_p: .95,
|
|
22494
22494
|
top_k: 20,
|
|
22495
22495
|
max_tokens: 16384,
|
|
22496
|
-
presence_penalty: 1.5
|
|
22496
|
+
presence_penalty: 1.5,
|
|
22497
|
+
chatTemplateKwargs: { preserve_thinking: true }
|
|
22497
22498
|
},
|
|
22498
22499
|
streaming: {
|
|
22499
22500
|
deltaThrottleMs: 50,
|
|
@@ -23227,6 +23228,8 @@ function createModelAwareStreamFn(opts) {
|
|
|
23227
23228
|
if (typeof mergedParams.repeat_penalty === "number") injections.repeat_penalty = mergedParams.repeat_penalty;
|
|
23228
23229
|
if (typeof mergedParams.presence_penalty === "number") injections.presence_penalty = mergedParams.presence_penalty;
|
|
23229
23230
|
if (typeof mergedParams.frequency_penalty === "number") injections.frequency_penalty = mergedParams.frequency_penalty;
|
|
23231
|
+
const chatTemplateKwargs = mergedParams.chatTemplateKwargs ?? mergedParams.chat_template_kwargs;
|
|
23232
|
+
if (chatTemplateKwargs && typeof chatTemplateKwargs === "object" && !Array.isArray(chatTemplateKwargs)) injections.chat_template_kwargs = chatTemplateKwargs;
|
|
23230
23233
|
const isVllm = isVllmProvider(opts.provider, opts.modelId, opts.config);
|
|
23231
23234
|
const isOpenRouter = opts.provider === "openrouter";
|
|
23232
23235
|
const extraHeaders = {};
|
|
@@ -23834,7 +23837,11 @@ function handleMessageUpdate(ctx, evt) {
|
|
|
23834
23837
|
emitAgentEvent({
|
|
23835
23838
|
runId: ctx.params.runId,
|
|
23836
23839
|
stream: "thinking",
|
|
23837
|
-
data: {
|
|
23840
|
+
data: {
|
|
23841
|
+
phase: evtType,
|
|
23842
|
+
delta: thinkingDelta,
|
|
23843
|
+
content: thinkingContent
|
|
23844
|
+
}
|
|
23838
23845
|
});
|
|
23839
23846
|
if (ctx.state.streamReasoning) {
|
|
23840
23847
|
const partialThinking = extractAssistantThinking(msg);
|
|
@@ -25889,6 +25896,338 @@ Use the message tool with buttons:
|
|
|
25889
25896
|
[{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
|
|
25890
25897
|
</plan_mode>`;
|
|
25891
25898
|
|
|
25899
|
+
//#endregion
|
|
25900
|
+
//#region src/agents/session-transcript-repair.ts
|
|
25901
|
+
function isToolCallBlock(block) {
|
|
25902
|
+
if (!block || typeof block !== "object") return false;
|
|
25903
|
+
const type = block.type;
|
|
25904
|
+
return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
|
|
25905
|
+
}
|
|
25906
|
+
function hasToolCallInput(block) {
|
|
25907
|
+
const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
|
|
25908
|
+
const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
|
|
25909
|
+
return hasInput || hasArguments;
|
|
25910
|
+
}
|
|
25911
|
+
function hasNonEmptyStringField(value) {
|
|
25912
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
25913
|
+
}
|
|
25914
|
+
function hasToolCallId(block) {
|
|
25915
|
+
return hasNonEmptyStringField(block.id);
|
|
25916
|
+
}
|
|
25917
|
+
function hasToolCallName(block) {
|
|
25918
|
+
return hasNonEmptyStringField(block.name);
|
|
25919
|
+
}
|
|
25920
|
+
function makeMissingToolResult(params) {
|
|
25921
|
+
return {
|
|
25922
|
+
role: "toolResult",
|
|
25923
|
+
toolCallId: params.toolCallId,
|
|
25924
|
+
toolName: params.toolName ?? "unknown",
|
|
25925
|
+
content: [{
|
|
25926
|
+
type: "text",
|
|
25927
|
+
text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
|
|
25928
|
+
}],
|
|
25929
|
+
isError: true,
|
|
25930
|
+
timestamp: Date.now()
|
|
25931
|
+
};
|
|
25932
|
+
}
|
|
25933
|
+
/**
|
|
25934
|
+
* True when an assistant message has no tool calls and only empty/whitespace
|
|
25935
|
+
* text or thinking blocks. This happens when a stream fails before any
|
|
25936
|
+
* content arrives — the blank entry is otherwise persisted and produces
|
|
25937
|
+
* consecutive same-role messages, which strict providers (vLLM) reject with
|
|
25938
|
+
* "role must alternate" errors that poison the session for every future turn.
|
|
25939
|
+
*/
|
|
25940
|
+
function isEmptyAssistantMessage(message) {
|
|
25941
|
+
if (!message || typeof message !== "object") return false;
|
|
25942
|
+
const msg = message;
|
|
25943
|
+
if (msg.role !== "assistant") return false;
|
|
25944
|
+
if (!Array.isArray(msg.content) || msg.content.length === 0) return true;
|
|
25945
|
+
for (const block of msg.content) {
|
|
25946
|
+
if (!block || typeof block !== "object") continue;
|
|
25947
|
+
const type = block.type;
|
|
25948
|
+
if (type === "toolCall" || type === "toolUse" || type === "functionCall") return false;
|
|
25949
|
+
if (type === "text") {
|
|
25950
|
+
const text = block.text;
|
|
25951
|
+
if (typeof text === "string" && text.trim().length > 0) return false;
|
|
25952
|
+
continue;
|
|
25953
|
+
}
|
|
25954
|
+
if (type === "thinking") {
|
|
25955
|
+
const thinking = block.thinking;
|
|
25956
|
+
if (typeof thinking === "string" && thinking.trim().length > 0) return false;
|
|
25957
|
+
continue;
|
|
25958
|
+
}
|
|
25959
|
+
return false;
|
|
25960
|
+
}
|
|
25961
|
+
return true;
|
|
25962
|
+
}
|
|
25963
|
+
function stripToolResultDetails(messages) {
|
|
25964
|
+
let touched = false;
|
|
25965
|
+
const out = [];
|
|
25966
|
+
for (const msg of messages) {
|
|
25967
|
+
if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
|
|
25968
|
+
out.push(msg);
|
|
25969
|
+
continue;
|
|
25970
|
+
}
|
|
25971
|
+
if (!("details" in msg)) {
|
|
25972
|
+
out.push(msg);
|
|
25973
|
+
continue;
|
|
25974
|
+
}
|
|
25975
|
+
const { details: _details, ...rest } = msg;
|
|
25976
|
+
touched = true;
|
|
25977
|
+
out.push(rest);
|
|
25978
|
+
}
|
|
25979
|
+
return touched ? out : messages;
|
|
25980
|
+
}
|
|
25981
|
+
function repairToolCallInputs(messages) {
|
|
25982
|
+
let droppedToolCalls = 0;
|
|
25983
|
+
let droppedAssistantMessages = 0;
|
|
25984
|
+
let changed = false;
|
|
25985
|
+
const out = [];
|
|
25986
|
+
for (const msg of messages) {
|
|
25987
|
+
if (!msg || typeof msg !== "object") {
|
|
25988
|
+
out.push(msg);
|
|
25989
|
+
continue;
|
|
25990
|
+
}
|
|
25991
|
+
if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
|
|
25992
|
+
out.push(msg);
|
|
25993
|
+
continue;
|
|
25994
|
+
}
|
|
25995
|
+
const nextContent = [];
|
|
25996
|
+
let droppedInMessage = 0;
|
|
25997
|
+
for (const block of msg.content) {
|
|
25998
|
+
if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
|
|
25999
|
+
droppedToolCalls += 1;
|
|
26000
|
+
droppedInMessage += 1;
|
|
26001
|
+
changed = true;
|
|
26002
|
+
continue;
|
|
26003
|
+
}
|
|
26004
|
+
nextContent.push(block);
|
|
26005
|
+
}
|
|
26006
|
+
if (droppedInMessage > 0) {
|
|
26007
|
+
if (nextContent.length === 0) {
|
|
26008
|
+
droppedAssistantMessages += 1;
|
|
26009
|
+
changed = true;
|
|
26010
|
+
continue;
|
|
26011
|
+
}
|
|
26012
|
+
out.push({
|
|
26013
|
+
...msg,
|
|
26014
|
+
content: nextContent
|
|
26015
|
+
});
|
|
26016
|
+
continue;
|
|
26017
|
+
}
|
|
26018
|
+
out.push(msg);
|
|
26019
|
+
}
|
|
26020
|
+
return {
|
|
26021
|
+
messages: changed ? out : messages,
|
|
26022
|
+
droppedToolCalls,
|
|
26023
|
+
droppedAssistantMessages
|
|
26024
|
+
};
|
|
26025
|
+
}
|
|
26026
|
+
function sanitizeToolCallInputs(messages) {
|
|
26027
|
+
return repairToolCallInputs(messages).messages;
|
|
26028
|
+
}
|
|
26029
|
+
function sanitizeToolUseResultPairing(messages) {
|
|
26030
|
+
return repairToolUseResultPairing(messages).messages;
|
|
26031
|
+
}
|
|
26032
|
+
function repairToolUseResultPairing(messages) {
|
|
26033
|
+
const out = [];
|
|
26034
|
+
const added = [];
|
|
26035
|
+
const seenToolResultIds = /* @__PURE__ */ new Set();
|
|
26036
|
+
let droppedDuplicateCount = 0;
|
|
26037
|
+
let droppedOrphanCount = 0;
|
|
26038
|
+
let moved = false;
|
|
26039
|
+
let changed = false;
|
|
26040
|
+
const pushToolResult = (msg) => {
|
|
26041
|
+
const id = extractToolResultId(msg);
|
|
26042
|
+
if (id && seenToolResultIds.has(id)) {
|
|
26043
|
+
droppedDuplicateCount += 1;
|
|
26044
|
+
changed = true;
|
|
26045
|
+
return;
|
|
26046
|
+
}
|
|
26047
|
+
if (id) seenToolResultIds.add(id);
|
|
26048
|
+
out.push(msg);
|
|
26049
|
+
};
|
|
26050
|
+
for (let i = 0; i < messages.length; i += 1) {
|
|
26051
|
+
const msg = messages[i];
|
|
26052
|
+
if (!msg || typeof msg !== "object") {
|
|
26053
|
+
out.push(msg);
|
|
26054
|
+
continue;
|
|
26055
|
+
}
|
|
26056
|
+
const role = msg.role;
|
|
26057
|
+
if (role !== "assistant") {
|
|
26058
|
+
if (role !== "toolResult") out.push(msg);
|
|
26059
|
+
else {
|
|
26060
|
+
droppedOrphanCount += 1;
|
|
26061
|
+
changed = true;
|
|
26062
|
+
}
|
|
26063
|
+
continue;
|
|
26064
|
+
}
|
|
26065
|
+
const assistant = msg;
|
|
26066
|
+
const stopReason = assistant.stopReason;
|
|
26067
|
+
if (stopReason === "error" || stopReason === "aborted") {
|
|
26068
|
+
out.push(msg);
|
|
26069
|
+
continue;
|
|
26070
|
+
}
|
|
26071
|
+
const toolCalls = extractToolCallsFromAssistant(assistant);
|
|
26072
|
+
if (toolCalls.length === 0) {
|
|
26073
|
+
out.push(msg);
|
|
26074
|
+
continue;
|
|
26075
|
+
}
|
|
26076
|
+
const toolCallIds = new Set(toolCalls.map((t) => t.id));
|
|
26077
|
+
const spanResultsById = /* @__PURE__ */ new Map();
|
|
26078
|
+
const remainder = [];
|
|
26079
|
+
let j = i + 1;
|
|
26080
|
+
for (; j < messages.length; j += 1) {
|
|
26081
|
+
const next = messages[j];
|
|
26082
|
+
if (!next || typeof next !== "object") {
|
|
26083
|
+
remainder.push(next);
|
|
26084
|
+
continue;
|
|
26085
|
+
}
|
|
26086
|
+
const nextRole = next.role;
|
|
26087
|
+
if (nextRole === "assistant") break;
|
|
26088
|
+
if (nextRole === "toolResult") {
|
|
26089
|
+
const toolResult = next;
|
|
26090
|
+
const id = extractToolResultId(toolResult);
|
|
26091
|
+
if (id && toolCallIds.has(id)) {
|
|
26092
|
+
if (seenToolResultIds.has(id)) {
|
|
26093
|
+
droppedDuplicateCount += 1;
|
|
26094
|
+
changed = true;
|
|
26095
|
+
continue;
|
|
26096
|
+
}
|
|
26097
|
+
if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
|
|
26098
|
+
continue;
|
|
26099
|
+
}
|
|
26100
|
+
}
|
|
26101
|
+
if (nextRole !== "toolResult") remainder.push(next);
|
|
26102
|
+
else {
|
|
26103
|
+
droppedOrphanCount += 1;
|
|
26104
|
+
changed = true;
|
|
26105
|
+
}
|
|
26106
|
+
}
|
|
26107
|
+
out.push(msg);
|
|
26108
|
+
if (spanResultsById.size > 0 && remainder.length > 0) {
|
|
26109
|
+
moved = true;
|
|
26110
|
+
changed = true;
|
|
26111
|
+
}
|
|
26112
|
+
for (const call of toolCalls) {
|
|
26113
|
+
const existing = spanResultsById.get(call.id);
|
|
26114
|
+
if (existing) pushToolResult(existing);
|
|
26115
|
+
else {
|
|
26116
|
+
const missing = makeMissingToolResult({
|
|
26117
|
+
toolCallId: call.id,
|
|
26118
|
+
toolName: call.name
|
|
26119
|
+
});
|
|
26120
|
+
added.push(missing);
|
|
26121
|
+
changed = true;
|
|
26122
|
+
pushToolResult(missing);
|
|
26123
|
+
}
|
|
26124
|
+
}
|
|
26125
|
+
for (const rem of remainder) {
|
|
26126
|
+
if (!rem || typeof rem !== "object") {
|
|
26127
|
+
out.push(rem);
|
|
26128
|
+
continue;
|
|
26129
|
+
}
|
|
26130
|
+
out.push(rem);
|
|
26131
|
+
}
|
|
26132
|
+
i = j - 1;
|
|
26133
|
+
}
|
|
26134
|
+
const changedOrMoved = changed || moved;
|
|
26135
|
+
return {
|
|
26136
|
+
messages: changedOrMoved ? out : messages,
|
|
26137
|
+
added,
|
|
26138
|
+
droppedDuplicateCount,
|
|
26139
|
+
droppedOrphanCount,
|
|
26140
|
+
moved: changedOrMoved
|
|
26141
|
+
};
|
|
26142
|
+
}
|
|
26143
|
+
|
|
26144
|
+
//#endregion
|
|
26145
|
+
//#region src/agents/session-empty-prune.ts
|
|
26146
|
+
/**
|
|
26147
|
+
* Pre-run prune of empty assistant entries from a session JSONL file.
|
|
26148
|
+
*
|
|
26149
|
+
* When a stream fails before any content arrives, pi-coding-agent persists
|
|
26150
|
+
* an assistant message with an empty content array. If this repeats (e.g. a
|
|
26151
|
+
* misconfigured provider fails on every retry), the session ends up with
|
|
26152
|
+
* hundreds of consecutive empty assistant entries. vLLM and other strict
|
|
26153
|
+
* providers then reject the request with a role-ordering error — once the
|
|
26154
|
+
* session is in that state, every future turn fails until the user runs /new.
|
|
26155
|
+
*
|
|
26156
|
+
* This helper runs before SessionManager opens the file, reads the JSONL
|
|
26157
|
+
* line-by-line, filters out any line whose `message` is an empty-content
|
|
26158
|
+
* assistant, and rewrites the file atomically if anything was dropped. The
|
|
26159
|
+
* in-memory SessionManager state and the on-disk file stay consistent.
|
|
26160
|
+
*
|
|
26161
|
+
* The append guard in {@link ./session-tool-result-guard.ts} prevents new
|
|
26162
|
+
* empty entries from being written; this helper retroactively cleans files
|
|
26163
|
+
* that were poisoned before the guard existed.
|
|
26164
|
+
*
|
|
26165
|
+
* @module
|
|
26166
|
+
*/
|
|
26167
|
+
async function readSessionFile(sessionFile) {
|
|
26168
|
+
try {
|
|
26169
|
+
return await fs$1.readFile(sessionFile, "utf-8");
|
|
26170
|
+
} catch {
|
|
26171
|
+
return null;
|
|
26172
|
+
}
|
|
26173
|
+
}
|
|
26174
|
+
async function writeAtomically(sessionFile, text) {
|
|
26175
|
+
const dir = path.dirname(sessionFile);
|
|
26176
|
+
const base = path.basename(sessionFile);
|
|
26177
|
+
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
26178
|
+
await fs$1.writeFile(tmp, text, "utf-8");
|
|
26179
|
+
await fs$1.rename(tmp, sessionFile);
|
|
26180
|
+
}
|
|
26181
|
+
/**
|
|
26182
|
+
* Remove empty assistant JSONL entries from the session file.
|
|
26183
|
+
*
|
|
26184
|
+
* Parses each line; lines that don't parse are preserved verbatim so we don't
|
|
26185
|
+
* lose unknown data. Only lines that parse into a `{type:"message", message:
|
|
26186
|
+
* <empty-assistant>}` entry are dropped.
|
|
26187
|
+
*/
|
|
26188
|
+
async function pruneEmptyAssistantsFromSessionFile(sessionFile) {
|
|
26189
|
+
const raw = await readSessionFile(sessionFile);
|
|
26190
|
+
if (raw === null || raw.length === 0) return {
|
|
26191
|
+
rewrote: false,
|
|
26192
|
+
pruned: 0,
|
|
26193
|
+
unparsable: 0
|
|
26194
|
+
};
|
|
26195
|
+
const lines = raw.split("\n");
|
|
26196
|
+
const kept = [];
|
|
26197
|
+
let pruned = 0;
|
|
26198
|
+
let unparsable = 0;
|
|
26199
|
+
for (const line of lines) {
|
|
26200
|
+
if (line.length === 0) {
|
|
26201
|
+
kept.push(line);
|
|
26202
|
+
continue;
|
|
26203
|
+
}
|
|
26204
|
+
let parsed = null;
|
|
26205
|
+
try {
|
|
26206
|
+
parsed = JSON.parse(line);
|
|
26207
|
+
} catch {
|
|
26208
|
+
unparsable += 1;
|
|
26209
|
+
kept.push(line);
|
|
26210
|
+
continue;
|
|
26211
|
+
}
|
|
26212
|
+
if (parsed?.type === "message" && isEmptyAssistantMessage(parsed.message)) {
|
|
26213
|
+
pruned += 1;
|
|
26214
|
+
continue;
|
|
26215
|
+
}
|
|
26216
|
+
kept.push(line);
|
|
26217
|
+
}
|
|
26218
|
+
if (pruned === 0) return {
|
|
26219
|
+
rewrote: false,
|
|
26220
|
+
pruned: 0,
|
|
26221
|
+
unparsable
|
|
26222
|
+
};
|
|
26223
|
+
await writeAtomically(sessionFile, kept.join("\n"));
|
|
26224
|
+
return {
|
|
26225
|
+
rewrote: true,
|
|
26226
|
+
pruned,
|
|
26227
|
+
unparsable
|
|
26228
|
+
};
|
|
26229
|
+
}
|
|
26230
|
+
|
|
25892
26231
|
//#endregion
|
|
25893
26232
|
//#region src/agents/session-file-repair.ts
|
|
25894
26233
|
function isSessionHeader(entry) {
|
|
@@ -26162,221 +26501,6 @@ function sessionLikelyHasOversizedToolResults(params) {
|
|
|
26162
26501
|
return false;
|
|
26163
26502
|
}
|
|
26164
26503
|
|
|
26165
|
-
//#endregion
|
|
26166
|
-
//#region src/agents/session-transcript-repair.ts
|
|
26167
|
-
function isToolCallBlock(block) {
|
|
26168
|
-
if (!block || typeof block !== "object") return false;
|
|
26169
|
-
const type = block.type;
|
|
26170
|
-
return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
|
|
26171
|
-
}
|
|
26172
|
-
function hasToolCallInput(block) {
|
|
26173
|
-
const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
|
|
26174
|
-
const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
|
|
26175
|
-
return hasInput || hasArguments;
|
|
26176
|
-
}
|
|
26177
|
-
function hasNonEmptyStringField(value) {
|
|
26178
|
-
return typeof value === "string" && value.trim().length > 0;
|
|
26179
|
-
}
|
|
26180
|
-
function hasToolCallId(block) {
|
|
26181
|
-
return hasNonEmptyStringField(block.id);
|
|
26182
|
-
}
|
|
26183
|
-
function hasToolCallName(block) {
|
|
26184
|
-
return hasNonEmptyStringField(block.name);
|
|
26185
|
-
}
|
|
26186
|
-
function makeMissingToolResult(params) {
|
|
26187
|
-
return {
|
|
26188
|
-
role: "toolResult",
|
|
26189
|
-
toolCallId: params.toolCallId,
|
|
26190
|
-
toolName: params.toolName ?? "unknown",
|
|
26191
|
-
content: [{
|
|
26192
|
-
type: "text",
|
|
26193
|
-
text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
|
|
26194
|
-
}],
|
|
26195
|
-
isError: true,
|
|
26196
|
-
timestamp: Date.now()
|
|
26197
|
-
};
|
|
26198
|
-
}
|
|
26199
|
-
function stripToolResultDetails(messages) {
|
|
26200
|
-
let touched = false;
|
|
26201
|
-
const out = [];
|
|
26202
|
-
for (const msg of messages) {
|
|
26203
|
-
if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
|
|
26204
|
-
out.push(msg);
|
|
26205
|
-
continue;
|
|
26206
|
-
}
|
|
26207
|
-
if (!("details" in msg)) {
|
|
26208
|
-
out.push(msg);
|
|
26209
|
-
continue;
|
|
26210
|
-
}
|
|
26211
|
-
const { details: _details, ...rest } = msg;
|
|
26212
|
-
touched = true;
|
|
26213
|
-
out.push(rest);
|
|
26214
|
-
}
|
|
26215
|
-
return touched ? out : messages;
|
|
26216
|
-
}
|
|
26217
|
-
function repairToolCallInputs(messages) {
|
|
26218
|
-
let droppedToolCalls = 0;
|
|
26219
|
-
let droppedAssistantMessages = 0;
|
|
26220
|
-
let changed = false;
|
|
26221
|
-
const out = [];
|
|
26222
|
-
for (const msg of messages) {
|
|
26223
|
-
if (!msg || typeof msg !== "object") {
|
|
26224
|
-
out.push(msg);
|
|
26225
|
-
continue;
|
|
26226
|
-
}
|
|
26227
|
-
if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
|
|
26228
|
-
out.push(msg);
|
|
26229
|
-
continue;
|
|
26230
|
-
}
|
|
26231
|
-
const nextContent = [];
|
|
26232
|
-
let droppedInMessage = 0;
|
|
26233
|
-
for (const block of msg.content) {
|
|
26234
|
-
if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
|
|
26235
|
-
droppedToolCalls += 1;
|
|
26236
|
-
droppedInMessage += 1;
|
|
26237
|
-
changed = true;
|
|
26238
|
-
continue;
|
|
26239
|
-
}
|
|
26240
|
-
nextContent.push(block);
|
|
26241
|
-
}
|
|
26242
|
-
if (droppedInMessage > 0) {
|
|
26243
|
-
if (nextContent.length === 0) {
|
|
26244
|
-
droppedAssistantMessages += 1;
|
|
26245
|
-
changed = true;
|
|
26246
|
-
continue;
|
|
26247
|
-
}
|
|
26248
|
-
out.push({
|
|
26249
|
-
...msg,
|
|
26250
|
-
content: nextContent
|
|
26251
|
-
});
|
|
26252
|
-
continue;
|
|
26253
|
-
}
|
|
26254
|
-
out.push(msg);
|
|
26255
|
-
}
|
|
26256
|
-
return {
|
|
26257
|
-
messages: changed ? out : messages,
|
|
26258
|
-
droppedToolCalls,
|
|
26259
|
-
droppedAssistantMessages
|
|
26260
|
-
};
|
|
26261
|
-
}
|
|
26262
|
-
function sanitizeToolCallInputs(messages) {
|
|
26263
|
-
return repairToolCallInputs(messages).messages;
|
|
26264
|
-
}
|
|
26265
|
-
function sanitizeToolUseResultPairing(messages) {
|
|
26266
|
-
return repairToolUseResultPairing(messages).messages;
|
|
26267
|
-
}
|
|
26268
|
-
function repairToolUseResultPairing(messages) {
|
|
26269
|
-
const out = [];
|
|
26270
|
-
const added = [];
|
|
26271
|
-
const seenToolResultIds = /* @__PURE__ */ new Set();
|
|
26272
|
-
let droppedDuplicateCount = 0;
|
|
26273
|
-
let droppedOrphanCount = 0;
|
|
26274
|
-
let moved = false;
|
|
26275
|
-
let changed = false;
|
|
26276
|
-
const pushToolResult = (msg) => {
|
|
26277
|
-
const id = extractToolResultId(msg);
|
|
26278
|
-
if (id && seenToolResultIds.has(id)) {
|
|
26279
|
-
droppedDuplicateCount += 1;
|
|
26280
|
-
changed = true;
|
|
26281
|
-
return;
|
|
26282
|
-
}
|
|
26283
|
-
if (id) seenToolResultIds.add(id);
|
|
26284
|
-
out.push(msg);
|
|
26285
|
-
};
|
|
26286
|
-
for (let i = 0; i < messages.length; i += 1) {
|
|
26287
|
-
const msg = messages[i];
|
|
26288
|
-
if (!msg || typeof msg !== "object") {
|
|
26289
|
-
out.push(msg);
|
|
26290
|
-
continue;
|
|
26291
|
-
}
|
|
26292
|
-
const role = msg.role;
|
|
26293
|
-
if (role !== "assistant") {
|
|
26294
|
-
if (role !== "toolResult") out.push(msg);
|
|
26295
|
-
else {
|
|
26296
|
-
droppedOrphanCount += 1;
|
|
26297
|
-
changed = true;
|
|
26298
|
-
}
|
|
26299
|
-
continue;
|
|
26300
|
-
}
|
|
26301
|
-
const assistant = msg;
|
|
26302
|
-
const stopReason = assistant.stopReason;
|
|
26303
|
-
if (stopReason === "error" || stopReason === "aborted") {
|
|
26304
|
-
out.push(msg);
|
|
26305
|
-
continue;
|
|
26306
|
-
}
|
|
26307
|
-
const toolCalls = extractToolCallsFromAssistant(assistant);
|
|
26308
|
-
if (toolCalls.length === 0) {
|
|
26309
|
-
out.push(msg);
|
|
26310
|
-
continue;
|
|
26311
|
-
}
|
|
26312
|
-
const toolCallIds = new Set(toolCalls.map((t) => t.id));
|
|
26313
|
-
const spanResultsById = /* @__PURE__ */ new Map();
|
|
26314
|
-
const remainder = [];
|
|
26315
|
-
let j = i + 1;
|
|
26316
|
-
for (; j < messages.length; j += 1) {
|
|
26317
|
-
const next = messages[j];
|
|
26318
|
-
if (!next || typeof next !== "object") {
|
|
26319
|
-
remainder.push(next);
|
|
26320
|
-
continue;
|
|
26321
|
-
}
|
|
26322
|
-
const nextRole = next.role;
|
|
26323
|
-
if (nextRole === "assistant") break;
|
|
26324
|
-
if (nextRole === "toolResult") {
|
|
26325
|
-
const toolResult = next;
|
|
26326
|
-
const id = extractToolResultId(toolResult);
|
|
26327
|
-
if (id && toolCallIds.has(id)) {
|
|
26328
|
-
if (seenToolResultIds.has(id)) {
|
|
26329
|
-
droppedDuplicateCount += 1;
|
|
26330
|
-
changed = true;
|
|
26331
|
-
continue;
|
|
26332
|
-
}
|
|
26333
|
-
if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
|
|
26334
|
-
continue;
|
|
26335
|
-
}
|
|
26336
|
-
}
|
|
26337
|
-
if (nextRole !== "toolResult") remainder.push(next);
|
|
26338
|
-
else {
|
|
26339
|
-
droppedOrphanCount += 1;
|
|
26340
|
-
changed = true;
|
|
26341
|
-
}
|
|
26342
|
-
}
|
|
26343
|
-
out.push(msg);
|
|
26344
|
-
if (spanResultsById.size > 0 && remainder.length > 0) {
|
|
26345
|
-
moved = true;
|
|
26346
|
-
changed = true;
|
|
26347
|
-
}
|
|
26348
|
-
for (const call of toolCalls) {
|
|
26349
|
-
const existing = spanResultsById.get(call.id);
|
|
26350
|
-
if (existing) pushToolResult(existing);
|
|
26351
|
-
else {
|
|
26352
|
-
const missing = makeMissingToolResult({
|
|
26353
|
-
toolCallId: call.id,
|
|
26354
|
-
toolName: call.name
|
|
26355
|
-
});
|
|
26356
|
-
added.push(missing);
|
|
26357
|
-
changed = true;
|
|
26358
|
-
pushToolResult(missing);
|
|
26359
|
-
}
|
|
26360
|
-
}
|
|
26361
|
-
for (const rem of remainder) {
|
|
26362
|
-
if (!rem || typeof rem !== "object") {
|
|
26363
|
-
out.push(rem);
|
|
26364
|
-
continue;
|
|
26365
|
-
}
|
|
26366
|
-
out.push(rem);
|
|
26367
|
-
}
|
|
26368
|
-
i = j - 1;
|
|
26369
|
-
}
|
|
26370
|
-
const changedOrMoved = changed || moved;
|
|
26371
|
-
return {
|
|
26372
|
-
messages: changedOrMoved ? out : messages,
|
|
26373
|
-
added,
|
|
26374
|
-
droppedDuplicateCount,
|
|
26375
|
-
droppedOrphanCount,
|
|
26376
|
-
moved: changedOrMoved
|
|
26377
|
-
};
|
|
26378
|
-
}
|
|
26379
|
-
|
|
26380
26504
|
//#endregion
|
|
26381
26505
|
//#region src/agents/session-tool-result-guard.ts
|
|
26382
26506
|
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.]";
|
|
@@ -26457,6 +26581,10 @@ function installSessionToolResultGuard(sessionManager, opts) {
|
|
|
26457
26581
|
const guardedAppend = (message) => {
|
|
26458
26582
|
let nextMessage = message;
|
|
26459
26583
|
if (message.role === "assistant") {
|
|
26584
|
+
if (isEmptyAssistantMessage(message)) {
|
|
26585
|
+
if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
|
|
26586
|
+
return;
|
|
26587
|
+
}
|
|
26460
26588
|
const sanitized = sanitizeToolCallInputs([message]);
|
|
26461
26589
|
if (sanitized.length === 0) {
|
|
26462
26590
|
if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
|
|
@@ -29788,6 +29916,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
29788
29916
|
});
|
|
29789
29917
|
const versionCheck = await handleSessionVersion(params.sessionFile);
|
|
29790
29918
|
if (versionCheck.archived) log$7.warn(`session archived: created by ${versionCheck.poisonVersion}, known corruption range → ${versionCheck.archivePath}`);
|
|
29919
|
+
const pruneReport = await pruneEmptyAssistantsFromSessionFile(params.sessionFile);
|
|
29920
|
+
if (pruneReport.rewrote) log$7.warn(`session prune: removed ${pruneReport.pruned} empty assistant entries from ${params.sessionFile}`);
|
|
29791
29921
|
await prewarmSessionFile(params.sessionFile);
|
|
29792
29922
|
sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
|
|
29793
29923
|
agentId: sessionAgentId,
|
|
@@ -31574,27 +31704,27 @@ async function runAgentTurn(params) {
|
|
|
31574
31704
|
function createDefaultDeps() {
|
|
31575
31705
|
return {
|
|
31576
31706
|
sendMessageWhatsApp: async (...args) => {
|
|
31577
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31707
|
+
const { sendMessageWhatsApp } = await import("./web-CfVd3Mhp.js");
|
|
31578
31708
|
return await sendMessageWhatsApp(...args);
|
|
31579
31709
|
},
|
|
31580
31710
|
sendMessageTelegram: async (...args) => {
|
|
31581
|
-
const { sendMessageTelegram } = await import("./send-
|
|
31711
|
+
const { sendMessageTelegram } = await import("./send-B3RdXvjC.js").then((n) => n.l);
|
|
31582
31712
|
return await sendMessageTelegram(...args);
|
|
31583
31713
|
},
|
|
31584
31714
|
sendMessageDiscord: async (...args) => {
|
|
31585
|
-
const { sendMessageDiscord } = await import("./send-
|
|
31715
|
+
const { sendMessageDiscord } = await import("./send-CQVnyJyF.js").then((n) => n.t);
|
|
31586
31716
|
return await sendMessageDiscord(...args);
|
|
31587
31717
|
},
|
|
31588
31718
|
sendMessageSlack: async (...args) => {
|
|
31589
|
-
const { sendMessageSlack } = await import("./send-
|
|
31719
|
+
const { sendMessageSlack } = await import("./send-DVm0du0_.js").then((n) => n.n);
|
|
31590
31720
|
return await sendMessageSlack(...args);
|
|
31591
31721
|
},
|
|
31592
31722
|
sendMessageSignal: async (...args) => {
|
|
31593
|
-
const { sendMessageSignal } = await import("./send-
|
|
31723
|
+
const { sendMessageSignal } = await import("./send-Bm4ULEzh.js").then((n) => n.i);
|
|
31594
31724
|
return await sendMessageSignal(...args);
|
|
31595
31725
|
},
|
|
31596
31726
|
sendMessageIMessage: async (...args) => {
|
|
31597
|
-
const { sendMessageIMessage } = await import("./send-
|
|
31727
|
+
const { sendMessageIMessage } = await import("./send-9SapUCg7.js").then((n) => n.n);
|
|
31598
31728
|
return await sendMessageIMessage(...args);
|
|
31599
31729
|
}
|
|
31600
31730
|
};
|
|
@@ -43145,7 +43275,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
43145
43275
|
});
|
|
43146
43276
|
const deliverSlashPayloads = async (replies) => {
|
|
43147
43277
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
43148
|
-
import("./replies-
|
|
43278
|
+
import("./replies-BMqtgBhh.js").then((n) => n.r),
|
|
43149
43279
|
import("./chunk-1dhPX1NK.js").then((n) => n.s),
|
|
43150
43280
|
import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
|
|
43151
43281
|
]);
|
|
@@ -47839,7 +47969,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
47839
47969
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
47840
47970
|
let preflightTranscript;
|
|
47841
47971
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
47842
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47972
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CIiS5cfP.js");
|
|
47843
47973
|
preflightTranscript = await transcribeFirstAudio({
|
|
47844
47974
|
ctx: {
|
|
47845
47975
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -49993,23 +50123,23 @@ let webLoginQrPromise = null;
|
|
|
49993
50123
|
let webChannelPromise = null;
|
|
49994
50124
|
let whatsappActionsPromise = null;
|
|
49995
50125
|
function loadWebOutbound() {
|
|
49996
|
-
webOutboundPromise ??= import("./outbound-
|
|
50126
|
+
webOutboundPromise ??= import("./outbound-wnv03tb3.js").then((n) => n.t);
|
|
49997
50127
|
return webOutboundPromise;
|
|
49998
50128
|
}
|
|
49999
50129
|
function loadWebLogin() {
|
|
50000
|
-
webLoginPromise ??= import("./login-
|
|
50130
|
+
webLoginPromise ??= import("./login-DODfJ3Dn.js").then((n) => n.n);
|
|
50001
50131
|
return webLoginPromise;
|
|
50002
50132
|
}
|
|
50003
50133
|
function loadWebLoginQr() {
|
|
50004
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
50134
|
+
webLoginQrPromise ??= import("./login-qr-CBRxijIg.js");
|
|
50005
50135
|
return webLoginQrPromise;
|
|
50006
50136
|
}
|
|
50007
50137
|
function loadWebChannel() {
|
|
50008
|
-
webChannelPromise ??= import("./web-
|
|
50138
|
+
webChannelPromise ??= import("./web-CfVd3Mhp.js");
|
|
50009
50139
|
return webChannelPromise;
|
|
50010
50140
|
}
|
|
50011
50141
|
function loadWhatsAppActions() {
|
|
50012
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
50142
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-ChO_shrk.js");
|
|
50013
50143
|
return whatsappActionsPromise;
|
|
50014
50144
|
}
|
|
50015
50145
|
function createPluginRuntime() {
|
|
@@ -72708,7 +72838,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
72708
72838
|
return;
|
|
72709
72839
|
}
|
|
72710
72840
|
try {
|
|
72711
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
72841
|
+
const { deliverOutboundPayloads } = await import("./deliver-B4KZ6-oZ.js").then((n) => n.n);
|
|
72712
72842
|
await deliverOutboundPayloads({
|
|
72713
72843
|
cfg: params.cfg,
|
|
72714
72844
|
channel,
|