@symerian/symi 3.5.4 → 3.5.6
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/{agent-Bl0Wfrd4.js → agent-BCszhl_7.js} +11 -11
- package/dist/{agent-BsRlH9Ez.js → agent-Cmx-1Tfs.js} +9 -9
- package/dist/{agents-Ch38fapn.js → agents-BkTzJJ83.js} +11 -11
- package/dist/{audit-CcxTZUi-.js → audit-Bk6kay2Z.js} +9 -9
- package/dist/{audit-CojL8qpM.js → audit-CtrXFZb5.js} +9 -9
- package/dist/{auth-choice-CQnJ5pRD.js → auth-choice-CucG4Wor.js} +8 -8
- package/dist/{auth-choice-O55PGflm.js → auth-choice-D-iIJjJY.js} +8 -8
- package/dist/{auth-choice-options-DfT-D0Cb.js → auth-choice-options-DmXqtnP9.js} +1 -1
- package/dist/{auth-choice-options-osb2GMd4.js → auth-choice-options-od_KpHe8.js} +1 -1
- package/dist/{auth-choice-prompt-6_u7zS1M.js → auth-choice-prompt-BnvC700A.js} +1 -1
- package/dist/{auth-choice-prompt-SCWccuw0.js → auth-choice-prompt-kt2FcieM.js} +1 -1
- package/dist/{auth-token-Dvw-1mFR.js → auth-token-DyhvQgv4.js} +1 -1
- package/dist/{auth-token-t_CY5BPB.js → auth-token-lPWiklDD.js} +1 -1
- package/dist/{banner-TDzek44y.js → banner-CApT91CY.js} +1 -1
- package/dist/{bonjour-discovery-BjSUj2V6.js → bonjour-discovery-CyLfNUkJ.js} +1 -1
- package/dist/{bonjour-discovery-FJyieAXp.js → bonjour-discovery-DuObXMh2.js} +1 -1
- package/dist/breakdown-B_Dhhm3K.js +753 -0
- package/dist/breakdown-Cszrv-Lf.js +753 -0
- package/dist/{browser-cli-BXH0KbhG.js → browser-cli-DGjYBquX.js} +9 -9
- package/dist/{browser-cli-UZqxfaV_.js → browser-cli-rZb2WjFF.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +10 -10
- package/dist/bundled/session-memory/handler.js +9 -9
- package/dist/{call-CKm3T_ar.js → call-DKQC0JT1.js} +1 -1
- package/dist/{call-DrkOiHjS.js → call-ogggp9QZ.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-zAbgRuGY.js → channel-options-CdIEyHya.js} +2 -2
- package/dist/{channel-options-BEM8ruys.js → channel-options-DYh8mLMN.js} +2 -2
- package/dist/{channels-cli-cRWPvOQD.js → channels-cli-Bb18aE2b.js} +54 -53
- package/dist/{channels-cli-DdKnAzW9.js → channels-cli-sG9Wf2LH.js} +54 -53
- package/dist/{chrome-C_I81hbq.js → chrome-3jl2ulOE.js} +4 -4
- package/dist/{chrome-zElD4rpN.js → chrome-D1eO2jfe.js} +1 -1
- package/dist/{chrome-rzK8edU7.js → chrome-DJChpTwP.js} +1 -1
- package/dist/{chrome-BKUACyeO.js → chrome-OTJg3QKn.js} +4 -4
- package/dist/{clack-prompter-CuIw5vQW.js → clack-prompter-_kEnSVz4.js} +4 -4
- package/dist/{clack-prompter-Bc38EIYW.js → clack-prompter-v9MYo-5u.js} +4 -4
- package/dist/{cli-BJDlZfYi.js → cli-DEGt0Tp0.js} +36 -35
- package/dist/{cli--UhNWFtQ.js → cli-DtdTf-ZQ.js} +36 -35
- package/dist/{command-registry-COpZWfkh.js → command-registry-O155hUhR.js} +11 -11
- package/dist/{commands-registry-DPZevjMh.js → commands-registry-BuOUfpmg.js} +31 -0
- package/dist/{commands-registry-VfAQOVZO.js → commands-registry-C2Hvwjym.js} +31 -0
- package/dist/{commands-registry-BisT2Fcd.js → commands-registry-CJPBJPlh.js} +31 -0
- package/dist/{commands-registry-DFYDtKr_.js → commands-registry-DG2kGyg5.js} +31 -0
- package/dist/{completion-cli-EltMSZer.js → completion-cli-BaOjuoPX.js} +3 -3
- package/dist/{completion-cli-DVF5x7Kp.js → completion-cli-DLUKoSIx.js} +1 -1
- package/dist/{config-D7SS4vdk.js → config-B4jkreCN.js} +13 -2
- package/dist/{config-_DaupjQd.js → config-D7TcU4qN.js} +13 -2
- package/dist/{config-cli-DaPePEIB.js → config-cli-BuZ-L1Iw.js} +3 -3
- package/dist/{config-cli-kN07V9j6.js → config-cli-BxWavRxN.js} +3 -3
- package/dist/{config-guard-SNMCV6sc.js → config-guard-CLfXzB_z.js} +2 -2
- package/dist/{config-guard-CN1qhDyB.js → config-guard-D58THqAB.js} +8 -8
- package/dist/{config-validation-DS5Jr_iO.js → config-validation-DQ-lm2Qx.js} +1 -1
- package/dist/{config-validation-DGWvkKov.js → config-validation-DhsYEtLL.js} +1 -1
- package/dist/{configure-C9Z4clKW.js → configure-BSKWgEhS.js} +22 -22
- package/dist/{configure-id9imsuH.js → configure-gxAEhC9E.js} +22 -22
- package/dist/{control-service-CJWzOFkK.js → control-service-DOGU9T2P.js} +4 -4
- package/dist/{control-service-DvK2HPC2.js → control-service-DPzhv357.js} +4 -4
- package/dist/cost-cli-C9LvOtGz.js +138 -0
- package/dist/cost-cli-CmfkZsmZ.js +133 -0
- package/dist/{cron-cli-BIIzbF-W.js → cron-cli-DtDqHIZn.js} +7 -7
- package/dist/{cron-cli-BNx0V18_.js → cron-cli-L4iwVTNV.js} +7 -7
- package/dist/{daemon-cli-CGfWQN7c.js → daemon-cli-39fFIU2G.js} +15 -15
- package/dist/{daemon-cli-DCbqVfyu.js → daemon-cli-B5TdtWCQ.js} +15 -15
- package/dist/daemon-cli.js +13 -2
- package/dist/{daemon-runtime-BD_EkuZP.js → daemon-runtime-7YBz5otm.js} +3 -3
- package/dist/{daemon-runtime-CAdn50ea.js → daemon-runtime-DaJ4Tf2a.js} +3 -3
- package/dist/{deliver-6fYMGY7T.js → deliver-0nDhDdKd.js} +2 -2
- package/dist/{deliver-DyO3QD8O.js → deliver-BiWlR84Y.js} +5 -5
- package/dist/{deliver-DB4v0Tyl.js → deliver-C81eqdrP.js} +2 -2
- package/dist/{deliver-Cjyb6h4g.js → deliver-f3cIWxXT.js} +5 -5
- package/dist/{deps-Bt6gnwqB.js → deps-D5me2CAW.js} +1 -1
- package/dist/{devices-cli-CK5iNr60.js → devices-cli-DuVhACtW.js} +4 -4
- package/dist/{devices-cli-Dg4sVTTI.js → devices-cli-Ec6d58OB.js} +4 -4
- package/dist/{diagnostics-Ee2qfR9V.js → diagnostics-BZH08r5U.js} +1 -1
- package/dist/{diagnostics-4PsqURzT.js → diagnostics-CdawaB0U.js} +1 -1
- package/dist/{directory-cli-CIX9qXWA.js → directory-cli-BQrGwwjf.js} +6 -6
- package/dist/{directory-cli-CR-4DW4i.js → directory-cli-FR_KoYon.js} +6 -6
- package/dist/{dns-cli-Cd3EpJKL.js → dns-cli-CH2QMf70.js} +4 -4
- package/dist/{dns-cli-DzE58v7c.js → dns-cli-Cua_RGWw.js} +4 -4
- package/dist/{docs-cli-DD59E5fQ.js → docs-cli-9yu6OeWj.js} +2 -2
- package/dist/{docs-cli-BcqjkjOA.js → docs-cli-DwrSCuWF.js} +2 -2
- package/dist/{doctor-completion-Dw70YhMd.js → doctor-completion-BzfgfpBH.js} +2 -2
- package/dist/{doctor-completion-Dv6aw9I2.js → doctor-completion-wlBp8bv7.js} +2 -2
- package/dist/{doctor-config-flow-BOfsrB_o.js → doctor-config-flow-CKJlpwtv.js} +5 -5
- package/dist/{doctor-config-flow-dUAjyD2W.js → doctor-config-flow-CcwEh3WQ.js} +5 -5
- package/dist/{enable-avpl_Lwo.js → enable-BI6rQ1Fb.js} +1 -1
- package/dist/{enable-B5wvwTYB.js → enable-xfczksnk.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-Cv9lE0Ov.js → exec-approvals-cli-1K1PMf0f.js} +10 -10
- package/dist/{exec-approvals-cli-CLD1HXqE.js → exec-approvals-cli-N45JsIvc.js} +10 -10
- package/dist/extensionAPI.js +8 -8
- package/dist/{gateway-cli-C1yf0Kx4.js → gateway-cli-Bz5fqsnE.js} +84 -83
- package/dist/{gateway-cli-DF-S-bKo.js → gateway-cli-_xNZ2L_e.js} +86 -85
- package/dist/{gateway-rpc-CBb3_pT9.js → gateway-rpc-c2_A2rwu.js} +2 -2
- package/dist/{gateway-rpc-DrcgCoEA.js → gateway-rpc-gDrdC_J6.js} +2 -2
- package/dist/{glass-ui-ws-CgTry9OG.js → glass-ui-ws-CbKVlQRh.js} +62 -61
- package/dist/{glass-ui-ws-BZJKBK5D.js → glass-ui-ws-DO8WKPIK.js} +63 -62
- package/dist/{health-B__mwl7J.js → health-B5BrlZ8G.js} +6 -6
- package/dist/{health-BJl_ZtRW.js → health-B7yvi1O9.js} +6 -6
- package/dist/{hooks-cli-CpDJa8fo.js → hooks-cli-CrgD2ZqP.js} +42 -41
- package/dist/{hooks-cli-B_d8Cv16.js → hooks-cli-mwiHuRfO.js} +42 -41
- package/dist/{hooks-status-CRdYwf7p.js → hooks-status-B5vDwm19.js} +1 -1
- package/dist/{hooks-status-i4MgV8tU.js → hooks-status-CQ33gaVT.js} +2 -2
- package/dist/index.js +47 -46
- package/dist/{inspect-BZEGJ1Wu.js → inspect-C3_zr-N9.js} +2 -2
- package/dist/{inspect-ChCXJY8c.js → inspect-D_lN8pwg.js} +2 -2
- package/dist/{install-safe-path-PVqsVjI9.js → install-safe-path-79R0iPyC.js} +2 -2
- package/dist/{install-safe-path-INk2Z_kc.js → install-safe-path-BBe6qFNr.js} +2 -2
- package/dist/{installs-lGgvyXAJ.js → installs-BVJQl3Tj.js} +3 -3
- package/dist/{installs-b6XWplET.js → installs-Bb1phV9x.js} +3 -3
- package/dist/{lifecycle-core-iiq9e4fE.js → lifecycle-core-DdbL6ELJ.js} +7 -7
- package/dist/{lifecycle-core-SWNKAc8k.js → lifecycle-core-O50xtu5c.js} +7 -7
- package/dist/llm-slug-generator.js +9 -9
- package/dist/{logs-cli-BGjeoamB.js → logs-cli-DvbMaSKU.js} +6 -6
- package/dist/{logs-cli-BEWpB_ac.js → logs-cli-T5v8efuM.js} +6 -6
- package/dist/{manager-xeIkDkmx.js → manager-BVPXSK-I.js} +1 -1
- package/dist/{manager-rvtFoeFT.js → manager-CnBU0aOR.js} +1 -1
- package/dist/{manager-PTSjHNVq.js → manager-CpBJ1BE6.js} +1 -1
- package/dist/{manager-DcZUW1bz.js → manager-CvqH_tah.js} +1 -1
- package/dist/{memory-D8JRYEYq.js → memory-BsGfHO_F.js} +4 -4
- package/dist/{memory-CeB8eMPH.js → memory-CbwmxmxW.js} +4 -4
- package/dist/{memory-cli-DZtv3G9o.js → memory-cli-B1dFPZw-.js} +7 -7
- package/dist/{memory-cli-rORHUdUV.js → memory-cli-BwQsPEFk.js} +7 -7
- package/dist/{model-catalog-MHTLXFwi.js → model-catalog-CzKsiNZA.js} +2 -2
- package/dist/{model-catalog-DQTmHZK7.js → model-catalog-IWi6-nY9.js} +2 -2
- package/dist/{model-picker-BVNI6Imm.js → model-picker-CS_h9RHv.js} +2 -2
- package/dist/{model-picker-DHLA0BEe.js → model-picker-DN-co6Oy.js} +2 -2
- package/dist/{models-D3haEpaG.js → models-Dm6dSSSx.js} +17 -17
- package/dist/{models-cli-DiyNuQ5w.js → models-cli-BA6ufqLd.js} +49 -48
- package/dist/{models-cli-DidUOdbx.js → models-cli-BPSrz6tf.js} +46 -45
- package/dist/{models-config-CRnTzdFs.js → models-config-B5Xxy-c-.js} +1 -1
- package/dist/{models-config-Br7EjqgG.js → models-config-CiR_RUxw.js} +1 -1
- package/dist/{node-cli-Yqf38Nio.js → node-cli-2HDdeLgi.js} +20 -20
- package/dist/{node-cli-DnwByBU2.js → node-cli-CH1yLZuO.js} +20 -20
- package/dist/{node-service-CRSkbk2b.js → node-service-CfHbECCi.js} +2 -2
- package/dist/{node-service-E8k7BOQV.js → node-service-D44noKnR.js} +2 -2
- package/dist/{nodes-cli-BY6HrZlh.js → nodes-cli-ARs9ZPma.js} +9 -9
- package/dist/{nodes-cli-OTk4gEj-.js → nodes-cli-DIm6cMS_.js} +9 -9
- package/dist/{note-Bn5K9itM.js → note-Cltpxj6i.js} +1 -1
- package/dist/{note-DtkOgLxt.js → note-ytwb4wwn.js} +1 -1
- package/dist/{npm-registry-spec-CZCkONwR.js → npm-registry-spec-CONWlhd6.js} +1 -1
- package/dist/{npm-registry-spec-L8BUQ0nu.js → npm-registry-spec-DPqOMFd9.js} +1 -1
- package/dist/{onboard-oIJ6OEGu.js → onboard-CjnPughY.js} +18 -18
- package/dist/{onboard-C1PSYsJY.js → onboard-Cmz6Rtm-.js} +18 -18
- package/dist/{onboard-channels-BSt89ffO.js → onboard-channels-Cozz3CQv.js} +7 -7
- package/dist/{onboard-channels-DvNWHvx3.js → onboard-channels-D00NAtQt.js} +7 -7
- package/dist/{onboard-custom-y7PsUrmE.js → onboard-custom-BCcuL4Uq.js} +2 -2
- package/dist/{onboard-custom-TvRg0dYq.js → onboard-custom-C-wfNtOM.js} +2 -2
- package/dist/{onboard-helpers-CtpOchu0.js → onboard-helpers-BKfeJ1xj.js} +4 -4
- package/dist/{onboard-helpers-HjgAKoSl.js → onboard-helpers-CCI7SimM.js} +4 -4
- package/dist/{onboard-hooks-BU0EsBMH.js → onboard-hooks-CXRw9BJY.js} +2 -2
- package/dist/{onboard-hooks-Cmy0Qz0F.js → onboard-hooks-DfDF9AU4.js} +2 -2
- package/dist/{onboard-remote-B7bM-1-l.js → onboard-remote-D4R-Yq2Q.js} +3 -3
- package/dist/{onboard-remote-B5kHPh_e.js → onboard-remote-DKXBH_lQ.js} +3 -3
- package/dist/{onboard-skills-BsPcuuer.js → onboard-skills-BPmu8XLA.js} +2 -2
- package/dist/{onboard-skills-V7pX2pkl.js → onboard-skills-jVyIFojF.js} +3 -3
- package/dist/{onboarding-D4SGY_zG.js → onboarding-BPZb40BJ.js} +16 -16
- package/dist/{onboarding-Ce0PyZFq.js → onboarding-BrTMOcPF.js} +16 -16
- package/dist/{onboarding.finalize-BDPrr9CT.js → onboarding.finalize-Bd2rGMjo.js} +26 -26
- package/dist/{onboarding.finalize-TkbmJzg5.js → onboarding.finalize-BiL_LXrR.js} +28 -28
- package/dist/{onboarding.gateway-config-9dgVRLeb.js → onboarding.gateway-config-B301LxTx.js} +6 -6
- package/dist/{onboarding.gateway-config-DXQhxsQS.js → onboarding.gateway-config-ChCxv8dy.js} +6 -6
- package/dist/{openai-model-default-D_rz8Pew.js → openai-model-default-CKfNKTZD.js} +1 -1
- package/dist/{openai-model-default-BkGyzajy.js → openai-model-default-ChdgeMqX.js} +1 -1
- package/dist/{outbound-send-deps-PNzbuoSX.js → outbound-send-deps-JQjmNLPx.js} +1 -1
- package/dist/{pairing-cli-WQ1MKO2B.js → pairing-cli-D7_UlTsI.js} +3 -3
- package/dist/{pairing-cli-D2zvrKTM.js → pairing-cli-UgiAsygW.js} +3 -3
- package/dist/{path-env-BHRjFlqO.js → path-env-BAyW1s3c.js} +1 -1
- package/dist/{path-env-i-ZjtVbs.js → path-env-C1hgM8gP.js} +1 -1
- package/dist/{pi-embedded-BPuUM-gD.js → pi-embedded-C9wLrFjj.js} +1439 -494
- package/dist/{pi-embedded-helpers-nFK_hP2q.js → pi-embedded-helpers-BBiyNXkS.js} +1 -1
- package/dist/{pi-embedded-helpers-DVolpQ34.js → pi-embedded-helpers-CDzBxa-P.js} +1 -1
- package/dist/{pi-tools.policy-uHgu_nx0.js → pi-tools.policy-CU8U7--z.js} +2 -2
- package/dist/{pi-tools.policy-CTzYYKRt.js → pi-tools.policy-WaLKhqJQ.js} +2 -2
- package/dist/{plugin-auto-enable-C4b23B35.js → plugin-auto-enable-Bt2sVz8w.js} +2 -2
- package/dist/{plugin-auto-enable-BkhVwtbW.js → plugin-auto-enable-PBDcVF_-.js} +2 -2
- package/dist/{plugin-registry-V5jShvbP.js → plugin-registry-BLoSesyj.js} +2 -2
- package/dist/{plugin-registry-CxUYRmLh.js → plugin-registry-CZDG8fjK.js} +2 -2
- package/dist/plugin-sdk/auto-reply/reply/commands-info.d.ts +1 -0
- package/dist/plugin-sdk/auto-reply/reply/middleware-context-warning.d.ts +22 -0
- package/dist/plugin-sdk/auto-reply/session-boundary-messages.d.ts +16 -3
- package/dist/plugin-sdk/auto-reply/status.d.ts +13 -0
- package/dist/plugin-sdk/config/types.models.d.ts +5 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +11 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +5 -0
- package/dist/plugin-sdk/cost/benchmark.d.ts +36 -0
- package/dist/plugin-sdk/cost/breakdown.d.ts +63 -0
- package/dist/plugin-sdk/cost/gpu-inference.d.ts +52 -0
- package/dist/plugin-sdk/cost/rates.d.ts +32 -0
- package/dist/plugin-sdk/cost/serving-discovery.d.ts +54 -0
- package/dist/plugin-sdk/cost/summary.d.ts +40 -0
- package/dist/plugin-sdk/index.js +13 -2
- package/dist/{plugins-cli-CMAwepRk.js → plugins-cli-2yraoR6V.js} +43 -42
- package/dist/{plugins-cli-BthQwo7n.js → plugins-cli-CGs9-UtO.js} +43 -42
- package/dist/{program-iw_XyVhs.js → program-BnKEJpZF.js} +46 -45
- package/dist/{program-context-BVEz8AgF.js → program-context-BvP9L_1W.js} +48 -40
- package/dist/{prompt-select-styled-CF4qV0_M.js → prompt-select-styled-BTF5vvv8.js} +32 -32
- package/dist/{prompt-select-styled-D3RAY7pg.js → prompt-select-styled-Brx330O3.js} +31 -31
- package/dist/{provider-auth-helpers-Dxo0v0UO.js → provider-auth-helpers-CppzYZM9.js} +6 -6
- package/dist/{provider-auth-helpers-BTBjOyhO.js → provider-auth-helpers-hjy3e-oS.js} +6 -6
- package/dist/{push-apns-B8Wg3Hqw.js → push-apns-BD2iO09c.js} +1 -1
- package/dist/{push-apns-DIIbGT1M.js → push-apns-DJ55TFPT.js} +1 -1
- package/dist/{pw-ai-kkF0QaDF.js → pw-ai-DBAtSFTB.js} +2 -2
- package/dist/{pw-ai-BFS9ezWe.js → pw-ai-DOAsQ5NX.js} +2 -2
- package/dist/{pw-ai-_prsAw5O.js → pw-ai-DQZa9DUQ.js} +2 -2
- package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-DY_6l11g.js} +2 -2
- package/dist/{qr-cli-CcAzgz_N.js → qr-cli-D2A-IU0Y.js} +1 -1
- package/dist/{qr-cli-KmGkQDBF.js → qr-cli-DHpiebkG.js} +1 -1
- package/dist/{redact-identifier-CXvHJXk9.js → redact-identifier-BOxAUdff.js} +1 -1
- package/dist/{register.agent-8XsVRuWC.js → register.agent-DTGvQGla.js} +61 -60
- package/dist/{register.agent-D-OIszeY.js → register.agent-Dz_P7PxO.js} +63 -62
- package/dist/register.configure-CrgU3FzU.js +131 -0
- package/dist/register.configure-D9w7Tm9e.js +135 -0
- package/dist/{register.maintenance-CjM8sJqH.js → register.maintenance-CqvrXPF7.js} +64 -63
- package/dist/{register.maintenance-CBYqsXkf.js → register.maintenance-d5xHdDgu.js} +63 -62
- package/dist/{register.message-DnljWvZP.js → register.message-C0tqgEor.js} +40 -39
- package/dist/{register.message-kSIASKVK.js → register.message-DNMCxaAD.js} +41 -40
- package/dist/{register.onboard-Vj1-Ike1.js → register.onboard--eJVfJGa.js} +28 -28
- package/dist/{register.onboard-eDNn1pdd.js → register.onboard-dkAvGraV.js} +28 -28
- package/dist/{register.setup-DMaoMWRD.js → register.setup-CgufX-6c.js} +28 -28
- package/dist/{register.setup-CmhspsS8.js → register.setup-Dwh0ylCS.js} +28 -28
- package/dist/{register.status-health-sessions-r3F9H8b0.js → register.status-health-sessions-BeAm7HAq.js} +36 -36
- package/dist/{register.status-health-sessions-CJqCoqAi.js → register.status-health-sessions-D6BRCFg_.js} +35 -35
- package/dist/{register.subclis-RqX1a2aL.js → register.subclis-Hb2xSHBy.js} +37 -29
- package/dist/{replies-BYF1gbJf.js → replies-0nzkXt6o.js} +1 -1
- package/dist/{replies-B91-OngF.js → replies-C5CBlnFS.js} +1 -1
- package/dist/{replies-DAYTg6Mb.js → replies-D0FYSIJg.js} +1 -1
- package/dist/{replies-UP2sglaR.js → replies-_DV8VSSj.js} +1 -1
- package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-CnTdHVgw.js} +1 -1
- package/dist/{resolve-route-CmZ7XjmB.js → resolve-route-D0NrCHnr.js} +1 -1
- package/dist/{routes-BfeVDhod.js → routes-CPMVuvoz.js} +3 -3
- package/dist/{routes-y2Ww0pum.js → routes-DIyAmLYR.js} +3 -3
- package/dist/{rpc-DZCrGGH5.js → rpc-B2BLRS45.js} +2 -2
- package/dist/{rpc-RIkh5F9v.js → rpc-gUsL9Mqf.js} +2 -2
- package/dist/{run-main-6pE2fYXT.js → run-main-B_NTFmz1.js} +61 -60
- package/dist/{sandbox-DQdjlC-w.js → sandbox-61-kshSF.js} +5 -5
- package/dist/{sandbox-BjQ6n3zl.js → sandbox-J92UBQK8.js} +5 -5
- package/dist/{sandbox-cli-CTYAHFyM.js → sandbox-cli-D9v0jhBb.js} +8 -8
- package/dist/{sandbox-cli-C0IVf8AS.js → sandbox-cli-DJgF-r8G.js} +8 -8
- package/dist/{security-cli-B8VyQJcl.js → security-cli-CZix5cXq.js} +13 -13
- package/dist/{security-cli-D0oErb9f.js → security-cli-J9J0qvDy.js} +13 -13
- package/dist/{send-Cxu1tl56.js → send-B0jHSNMF.js} +1 -1
- package/dist/{send-Cuk_Rjss.js → send-C75uSv6p.js} +1 -1
- package/dist/{send-BBfSp-8Q.js → send-Dq252-bi.js} +1 -1
- package/dist/{server-context-BFCh7pUb.js → server-context-D-82OTsT.js} +5 -5
- package/dist/{server-context-YlgRz1wC.js → server-context-SbbjNkPL.js} +5 -5
- package/dist/{server-methods-BxsThjMp.js → server-methods-CFWjtx32.js} +31 -31
- package/dist/{server-methods-BWCAXrQJ.js → server-methods-Cz_-FX5B.js} +31 -31
- package/dist/{server-node-events-AZFI44cm.js → server-node-events-BiMD-Sik.js} +40 -39
- package/dist/{server-node-events-C10Bhdag.js → server-node-events-UJ4Hwcsf.js} +39 -38
- package/dist/{service-vsb7_8MA.js → service-BF50XyKr.js} +2 -2
- package/dist/{service-BBw78ATM.js → service-Ccv3Zi5_.js} +2 -2
- package/dist/{session-cost-usage-CqLUlh7S.js → session-cost-usage-CJWHHY-C.js} +1 -1
- package/dist/{session-cost-usage-D6Ocwmq1.js → session-cost-usage-D3mgssM_.js} +1 -1
- package/dist/{session-utils-BZnPW904.js → session-utils-Cs1jlD-q.js} +3 -3
- package/dist/{session-utils-BGw_xwXK.js → session-utils-Zpe3t68b.js} +3 -3
- package/dist/{sessions-uS7rV-lI.js → sessions-BSmT7vGX.js} +3 -3
- package/dist/{sessions-DHPf5TzB.js → sessions-Dn6VXn4p.js} +1 -1
- package/dist/{sessions-optZRB57.js → sessions-Dxf5Kjig.js} +1 -1
- package/dist/{shared-CfBMF1VB.js → shared-BJRsBGGr.js} +2 -2
- package/dist/{shared-CVXZtpIq.js → shared-BmjlTHYU.js} +2 -2
- package/dist/{shared-BucaCyaw.js → shared-Ck6cf10x.js} +1 -1
- package/dist/{shared-k1QjV3ys.js → shared-Crfo8y70.js} +1 -1
- package/dist/{skill-commands-CKm7eCw6.js → skill-commands-D0xAWG0l.js} +1 -1
- package/dist/{skill-commands-DAtpPeXi.js → skill-commands-DKkiQJxU.js} +1 -1
- package/dist/{skill-commands-BoMrW3WV.js → skill-commands-JIccKWkf.js} +1 -1
- package/dist/{skill-commands-yPirQFOb.js → skill-commands-KnANH5Qm.js} +1 -1
- package/dist/{skills-cli-CcWFIcOR.js → skills-cli-BZF5mcG5.js} +7 -7
- package/dist/{skills-cli-DcJBgk5R.js → skills-cli-C9F-zLWe.js} +3 -3
- package/dist/{skills-install-CcW780Kq.js → skills-install-QOHQrX6P.js} +4 -4
- package/dist/{skills-install-CbRsCzAG.js → skills-install-X12kifP1.js} +4 -4
- package/dist/{skills-status-CLzaY4r2.js → skills-status-6LVKpabC.js} +1 -1
- package/dist/{ssrf-q6hBiAOi.js → ssrf-BCSnhba8.js} +13 -2
- package/dist/{ssrf-oI58TMOb.js → ssrf-DNhyFMRW.js} +13 -2
- package/dist/{status-BxD8CjLr.js → status-BGUaaSHe.js} +2 -2
- package/dist/{status-B5sjPQS6.js → status-Bp48-ySL.js} +20 -20
- package/dist/{status-CZc22Lqb.js → status-CObdh7-H.js} +2 -2
- package/dist/{status-Cv8N2kIe.js → status-FX0BMcCb.js} +20 -20
- package/dist/{status.update-B52bM2Tg.js → status.update-CdTtmVpp.js} +2 -2
- package/dist/{status.update-Bl_ewksT.js → status.update-_3qHPt0O.js} +2 -2
- package/dist/{subagent-registry-BnHgIGX-.js → subagent-registry-ChDWDl_p.js} +304 -106
- package/dist/{synthesis-fD8J2vag.js → synthesis-CmQvOHg6.js} +9 -9
- package/dist/{synthesis-7UL3pCpj.js → synthesis-DIkOQnhF.js} +8 -8
- package/dist/{synthesis-DvfrgkQU.js → synthesis-DdP6tbyk.js} +36 -35
- package/dist/{synthesis-o7Zdrwxz.js → synthesis-m6WCyI41.js} +36 -35
- package/dist/{system-cli-BAn07VkE.js → system-cli-DB9etQxq.js} +5 -5
- package/dist/{system-cli-BTZ8T0-Z.js → system-cli-szRqg1_v.js} +5 -5
- package/dist/{systemd-DCzA-V_E.js → systemd-Dic80Qni.js} +1 -1
- package/dist/{systemd-Cmn7zMqD.js → systemd-Dtydk5-z.js} +1 -1
- package/dist/{systemd-hints-CvIqgg9d.js → systemd-hints-DmDUq9JT.js} +4 -4
- package/dist/{systemd-hints-BlGehfA3.js → systemd-hints-bP8dBJ78.js} +4 -4
- package/dist/{systemd-linger-BUWYteOW.js → systemd-linger-BBxRNFXz.js} +2 -2
- package/dist/{systemd-linger-Bj4nK9ZB.js → systemd-linger-DjoQVcOq.js} +2 -2
- package/dist/{tui-XLWiN8Hm.js → tui-CEhOf9fk.js} +6 -6
- package/dist/{tui-B6mIUNPO.js → tui-Dp58oYvX.js} +6 -6
- package/dist/{tui-cli-byFYgg3c.js → tui-cli-DFaOwBwg.js} +12 -12
- package/dist/{tui-cli-CTK5_3rU.js → tui-cli-wxh3YpaV.js} +12 -12
- package/dist/{unified-runner-BIiKFnNF.js → unified-runner-Cu3lGa3A.js} +1440 -495
- package/dist/{unified-runner-DnikxMFg.js → unified-runner-DL-sfvGT.js} +305 -107
- package/dist/{update-DxY1UB0k.js → update-BDo7wxMf.js} +1 -1
- package/dist/{update-EhDcBqN1.js → update-CcacbR32.js} +1 -1
- package/dist/{update-check-pFwV6W-z.js → update-check-A86nJKtZ.js} +1 -1
- package/dist/{update-check-H0DwvuqN.js → update-check-oEbS0voJ.js} +1 -1
- package/dist/{update-cli-BAdPKO1o.js → update-cli-DAKoU0Wn.js} +73 -72
- package/dist/{update-cli-C8IVRiDZ.js → update-cli-gEBRNrm2.js} +74 -73
- package/dist/{update-runner-CERd2XdT.js → update-runner-CQMv-ibM.js} +3 -3
- package/dist/{update-runner-7oHPAIND.js → update-runner-DHi359Tb.js} +3 -3
- package/dist/{usage-format-_37Bn-Jb.js → usage-format-DQJz-0qd.js} +0 -1
- package/dist/{usage-format-rxT5cEAf.js → usage-format-DeczTGI-.js} +0 -1
- package/dist/{webhooks-cli-3UJupWMP.js → webhooks-cli-C3g4MxCE.js} +3 -3
- package/dist/{webhooks-cli-BFpGMNrf.js → webhooks-cli-C3uyehJS.js} +3 -3
- package/dist/{with-timeout-Bn-ltLg1.js → with-timeout-B0ZJa7f2.js} +1 -1
- package/dist/{with-timeout-EXM-FP4_.js → with-timeout-GbJ1Yzsh.js} +1 -1
- package/package.json +1 -1
- package/dist/register.configure-Bcdw9qlF.js +0 -130
- package/dist/register.configure-KE6Kvt4O.js +0 -134
- /package/dist/{agents.config-BG9fpad0.js → agents.config-Cyc_RegL.js} +0 -0
- /package/dist/{agents.config-CxrFhtC1.js → agents.config-DK6nN-Qh.js} +0 -0
- /package/dist/{argv-oa_KBmv1.js → argv-Bl0th4dq.js} +0 -0
- /package/dist/{auth-choice-legacy-DwMt7oDR.js → auth-choice-legacy-BZWIpO92.js} +0 -0
- /package/dist/{auth-choice-legacy-ZsU_kwPI.js → auth-choice-legacy-iEyARXI2.js} +0 -0
- /package/dist/{bindings-CLS_owm_.js → bindings-BAOPW5eK.js} +0 -0
- /package/dist/{bindings-BpMZcmYL.js → bindings-c7qLJdIA.js} +0 -0
- /package/dist/{brew-B3VMQVQk.js → brew-B4FH-mEH.js} +0 -0
- /package/dist/{brew-BsE_w2tW.js → brew-CI00FKf8.js} +0 -0
- /package/dist/{catalog-CriSxQMH.js → catalog-BaM8d1-T.js} +0 -0
- /package/dist/{catalog-BXxi5-YC.js → catalog-BnLcGVie.js} +0 -0
- /package/dist/{channel-selection-BiYW5XI-.js → channel-selection-BrFl0vVK.js} +0 -0
- /package/dist/{channel-selection-DF4bza2Q.js → channel-selection-DjrS6oiz.js} +0 -0
- /package/dist/{channels-status-issues-DuRF3XF3.js → channels-status-issues-BwbA2OBt.js} +0 -0
- /package/dist/{channels-status-issues-C2AVfv0-.js → channels-status-issues-iWQDGUQe.js} +0 -0
- /package/dist/{cli-utils-tNdOjVQI.js → cli-utils-CbnnSB38.js} +0 -0
- /package/dist/{clipboard-B1jgJ11s.js → clipboard-BSTxQ2tO.js} +0 -0
- /package/dist/{clipboard-Sks8Qw-6.js → clipboard-CHn5r7Kj.js} +0 -0
- /package/dist/{command-options-C2yg82U0.js → command-options-DgcCGXMQ.js} +0 -0
- /package/dist/{command-options-D_KEIae-.js → command-options-Vxb4M7Aj.js} +0 -0
- /package/dist/{consolidate-DPAffHCg.js → consolidate-BSUbtSDt.js} +0 -0
- /package/dist/{consolidate-CF6vEjPe.js → consolidate-DhoiF4n7.js} +0 -0
- /package/dist/{constants-B4wXIPMk.js → constants-BLIhifCJ.js} +0 -0
- /package/dist/{constants-ChnKXZKi.js → constants-BP_JoSwO.js} +0 -0
- /package/dist/{control-ui-assets-CkPR0Fz2.js → control-ui-assets-CnX0W3vy.js} +0 -0
- /package/dist/{control-ui-assets-BVCcPRi3.js → control-ui-assets-DfBRXG5y.js} +0 -0
- /package/dist/{delivery-queue-DqDe6994.js → delivery-queue-CIwn40ej.js} +0 -0
- /package/dist/{delivery-queue-RUd4NhRw.js → delivery-queue-duM0RT18.js} +0 -0
- /package/dist/{dm-policy-shared-DmpXsl2K.js → dm-policy-shared-BUwZ6Ajx.js} +0 -0
- /package/dist/{dm-policy-shared-ZfPtrTeh.js → dm-policy-shared-EuuPwRNE.js} +0 -0
- /package/dist/{entry-status-BqhxPFzK.js → entry-status-D0BSpWt_.js} +0 -0
- /package/dist/{format-BskCnX0I.js → format-BcXs5iuf.js} +0 -0
- /package/dist/{gmail-setup-utils-BlGvgPlF.js → gmail-setup-utils-DJgxyDTX.js} +0 -0
- /package/dist/{gmail-setup-utils-DsRU2ywQ.js → gmail-setup-utils-_TEJA4pL.js} +0 -0
- /package/dist/{health-format-CzrMGubG.js → health-format-Dp4xmTKn.js} +0 -0
- /package/dist/{health-format-C0DWlpEn.js → health-format-Li703vy6.js} +0 -0
- /package/dist/{help-format-DhRyo3Pj.js → help-format-8IYCRvx1.js} +0 -0
- /package/dist/{help-format-BjEVi4c_.js → help-format-BTNd5kFC.js} +0 -0
- /package/dist/{helpers-CcArejFh.js → helpers-BnXDQL2q.js} +0 -0
- /package/dist/{helpers-Dm_utoC3.js → helpers-CoScWBmD.js} +0 -0
- /package/dist/{helpers-DJRLZbrj.js → helpers-DGBa5iKd.js} +0 -0
- /package/dist/{helpers-DUclfUl-.js → helpers-lLtg0Hgi.js} +0 -0
- /package/dist/{ipv4--8f4a_51.js → ipv4-CCdAVmwu.js} +0 -0
- /package/dist/{ipv4-Cy7l-phR.js → ipv4-DFUXU3PT.js} +0 -0
- /package/dist/{links-D6ASL_as.js → links-B9CbwY46.js} +0 -0
- /package/dist/{links-BkFDs4sT.js → links-CQZxjjCO.js} +0 -0
- /package/dist/{logging-4WqMHwAZ.js → logging-BRejMykf.js} +0 -0
- /package/dist/{logging-iIX8duxv.js → logging-BmJ5ky59.js} +0 -0
- /package/dist/{logging-Czh4x_NQ.js → logging-CLWZ3KQI.js} +0 -0
- /package/dist/{model-D50Lt_sm.js → model-BMFj7NXy.js} +0 -0
- /package/dist/{model-param-b-CfiuLqZG.js → model-param-b-C6mMtCJr.js} +0 -0
- /package/dist/{onboard-config-BKb2QQqE.js → onboard-config-B9Iy9-4f.js} +0 -0
- /package/dist/{onboard-config-DZIbmz6s.js → onboard-config-DwsP5yz1.js} +0 -0
- /package/dist/{outbound-send-deps-BR6jeE9h.js → outbound-send-deps-DpyxnI3f.js} +0 -0
- /package/dist/{parse-log-line-CeJ1RDHv.js → parse-log-line-BQPvB6cZ.js} +0 -0
- /package/dist/{parse-log-line-DxFrnzNo.js → parse-log-line-Cg7e_EO6.js} +0 -0
- /package/dist/{parse-port-DdAxyRwV.js → parse-port-CLBKavYE.js} +0 -0
- /package/dist/{parse-port-W56FnCN_.js → parse-port-dzRz6QnZ.js} +0 -0
- /package/dist/{parse-timeout-DKY8YAUj.js → parse-timeout-CuYdP9TL.js} +0 -0
- /package/dist/{path-safety-LPRW6mO-.js → path-safety-ZDtSDPro.js} +0 -0
- /package/dist/{path-safety-grmMl9nR.js → path-safety-cWA8NpOb.js} +0 -0
- /package/dist/{plugins-allowlist-BuJjTWyS.js → plugins-allowlist-C5r7biDp.js} +0 -0
- /package/dist/{plugins-allowlist-BvQZxkGy.js → plugins-allowlist-CD4oIJNk.js} +0 -0
- /package/dist/{ports-CqKpyZSl.js → ports-BE4iY9ho.js} +0 -0
- /package/dist/{ports-BDzMH5Eu.js → ports-C2swmreL.js} +0 -0
- /package/dist/{program-context-C5Y6Svzj.js → program-context-CGKRxOBU.js} +0 -0
- /package/dist/{progress-deSwGz9x.js → progress-BOQ0hkeM.js} +0 -0
- /package/dist/{progress-B3K1UFtC.js → progress-DQTvTiEg.js} +0 -0
- /package/dist/{prompt-style-DeaIm7_1.js → prompt-style-CzRuIYtp.js} +0 -0
- /package/dist/{prompt-style-DS51QPPi.js → prompt-style-pphr4yLK.js} +0 -0
- /package/dist/{prompts-LvxbwPs6.js → prompts-B98rp78m.js} +0 -0
- /package/dist/{prompts-l_pUOv42.js → prompts-CqJkfsHC.js} +0 -0
- /package/dist/{qmd-manager-BbWeOOTD.js → qmd-manager-C6wRtPm_.js} +0 -0
- /package/dist/{qmd-manager-CYKlEJ2U.js → qmd-manager-CYEAMLE7.js} +0 -0
- /package/dist/{runtime-guard-GWXNB3ke.js → runtime-guard-Bgv3O9s4.js} +0 -0
- /package/dist/{runtime-guard-DWXoHW1Q.js → runtime-guard-ofQGcCUc.js} +0 -0
- /package/dist/{runtime-status-BqrK6ivx.js → runtime-status-B-PXkhrX.js} +0 -0
- /package/dist/{runtime-status-D4pjzLyv.js → runtime-status-Zb9OQ0VK.js} +0 -0
- /package/dist/{session-dirs-CXErIzZq.js → session-dirs-BsQ-g02q.js} +0 -0
- /package/dist/{session-dirs-DJ4qiP3r.js → session-dirs-DpiMgw4q.js} +0 -0
- /package/dist/{skill-scanner-zh2dJM3x.js → skill-scanner-D5p8L-xO.js} +0 -0
- /package/dist/{skill-scanner-Ur9nMoo4.js → skill-scanner-EhsZUzzk.js} +0 -0
- /package/dist/{stagger-DkaCfsKB.js → stagger-DQs772BN.js} +0 -0
- /package/dist/{status-Bz_-dDs6.js → status-DtyqId3v.js} +0 -0
- /package/dist/{status-CExNNC5N.js → status-dOhj12u0.js} +0 -0
- /package/dist/{system-run-command-CeR1OLFk.js → system-run-command-2oJPKfVr.js} +0 -0
- /package/dist/{system-run-command-Craglj8T.js → system-run-command-D_OmCQOL.js} +0 -0
- /package/dist/{table-xKEHbVsK.js → table-Dm8jYqmW.js} +0 -0
- /package/dist/{table-jBELNhV1.js → table-Ds5CZCyv.js} +0 -0
- /package/dist/{tool-loop-detection-D3y39HsT.js → tool-loop-detection-2Mxxm8YE.js} +0 -0
- /package/dist/{tool-loop-detection-DljhV89j.js → tool-loop-detection-Bk07vuCX.js} +0 -0
- /package/dist/{widearea-dns-C8Rsixsi.js → widearea-dns-BwIBBqZo.js} +0 -0
- /package/dist/{widearea-dns-BSrnDwJD.js → widearea-dns-DA_m7oeT.js} +0 -0
- /package/dist/{workspace-DKEYzTNc.js → workspace-DD9pYbiv.js} +0 -0
- /package/dist/{workspace-BkWAKK8O.js → workspace-Wkr6wXcS.js} +0 -0
- /package/dist/{wsl-cy5jpbkx.js → wsl-Ci3VOaSK.js} +0 -0
- /package/dist/{wsl-hSA0zCrh.js → wsl-S50RbgL8.js} +0 -0
|
@@ -13,47 +13,47 @@ import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFr
|
|
|
13
13
|
import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
|
|
14
14
|
import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CNp4GTiH.js";
|
|
15
15
|
import { t as resolveSymiAgentDir } from "./agent-paths-BbZSGrUA.js";
|
|
16
|
-
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-
|
|
17
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-
|
|
16
|
+
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-CDzBxa-P.js";
|
|
17
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-B4jkreCN.js";
|
|
18
18
|
import { t as parseBooleanValue } from "./boolean-CbZoNRMn.js";
|
|
19
19
|
import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
|
|
20
20
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-Dc3iU7HK.js";
|
|
21
21
|
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-D1MLZEjS.js";
|
|
22
22
|
import { a as isPathInsideWithRealpath } from "./legacy-names-BQ9vKISY.js";
|
|
23
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
24
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
25
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
23
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-61-kshSF.js";
|
|
24
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DJChpTwP.js";
|
|
25
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-SbbjNkPL.js";
|
|
26
26
|
import { l as parseFrontmatterBlock } from "./frontmatter-B_jqcova.js";
|
|
27
27
|
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-BwDmcZdt.js";
|
|
28
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
28
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-DIyAmLYR.js";
|
|
29
29
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-bI7Tdx75.js";
|
|
30
30
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DObzwe08.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DOZRI5XH.js";
|
|
32
32
|
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-L70xVnpG.js";
|
|
33
|
-
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, 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 } from "./sessions-
|
|
33
|
+
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, 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 } from "./sessions-Dxf5Kjig.js";
|
|
34
34
|
import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-hF45sewN.js";
|
|
35
35
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, 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-DgjXWzf-.js";
|
|
36
36
|
import { t as normalizeChatType } from "./chat-type-CUJqUqwu.js";
|
|
37
37
|
import { n as resolveConversationLabel } from "./conversation-label-CffvEjpp.js";
|
|
38
38
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
|
|
39
|
-
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-
|
|
39
|
+
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-B0jHSNMF.js";
|
|
40
40
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-BtvQ7JvU.js";
|
|
41
41
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-Dfn-vEsu.js";
|
|
42
42
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
|
|
43
43
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-COroyVA5.js";
|
|
44
44
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-0yh2UnJq.js";
|
|
45
|
-
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-
|
|
45
|
+
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-C81eqdrP.js";
|
|
46
46
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-DbT9t0Sh.js";
|
|
47
47
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DnkpMfCl.js";
|
|
48
48
|
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-1EAQvYRv.js";
|
|
49
|
-
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-
|
|
49
|
+
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-B5Xxy-c-.js";
|
|
50
50
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-Db8XJVGL.js";
|
|
51
|
-
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-
|
|
52
|
-
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-
|
|
53
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
51
|
+
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-D3mgssM_.js";
|
|
52
|
+
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-Cs1jlD-q.js";
|
|
53
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-GbJ1Yzsh.js";
|
|
54
54
|
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
|
|
55
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
56
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BsGfHO_F.js";
|
|
56
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CvqH_tah.js";
|
|
57
57
|
import { f as runTasksWithConcurrency } from "./internal-DVCddhhN.js";
|
|
58
58
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BxfKjCUx.js";
|
|
59
59
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
|
|
@@ -61,33 +61,34 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Bhdr
|
|
|
61
61
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
|
|
62
62
|
import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
|
|
63
63
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
|
|
64
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
64
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-C2Hvwjym.js";
|
|
65
65
|
import { Bt as SESSION_LABEL_MAX_LENGTH } from "./client-B9E9fdCA.js";
|
|
66
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
66
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-DKQC0JT1.js";
|
|
67
67
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
|
|
68
68
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
69
69
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
|
|
70
70
|
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
|
|
71
71
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-ClQLvlCW.js";
|
|
72
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
73
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
72
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-IWi6-nY9.js";
|
|
73
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-KnANH5Qm.js";
|
|
74
74
|
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BNhJOnWn.js";
|
|
75
75
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-DioSaIeH.js";
|
|
76
76
|
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-De9ma6e1.js";
|
|
77
77
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-N7nsmfM6.js";
|
|
78
78
|
import { t as formatDurationCompact$1 } from "./format-duration-CIjmjQST.js";
|
|
79
79
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-9ygk6nTV.js";
|
|
80
|
-
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import { n as
|
|
86
|
-
import { t as
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import { a as
|
|
80
|
+
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DeczTGI-.js";
|
|
81
|
+
import { i as resolveWindow, n as formatSummaryReport, r as loadCostBenchmarkSummary, t as buildCostBreakdown } from "./breakdown-B_Dhhm3K.js";
|
|
82
|
+
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BLIhifCJ.js";
|
|
83
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DOGU9T2P.js";
|
|
84
|
+
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DQs772BN.js";
|
|
85
|
+
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DjrS6oiz.js";
|
|
86
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CnTdHVgw.js";
|
|
87
|
+
import { t as parseTimeoutMs } from "./parse-timeout-CuYdP9TL.js";
|
|
88
|
+
import { n as registerMemoryCli } from "./memory-cli-BwQsPEFk.js";
|
|
89
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-C5CBlnFS.js";
|
|
90
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-WaLKhqJQ.js";
|
|
91
|
+
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-BMFj7NXy.js";
|
|
91
92
|
import { createRequire } from "node:module";
|
|
92
93
|
import process$1 from "node:process";
|
|
93
94
|
import { fileURLToPath } from "node:url";
|
|
@@ -4921,7 +4922,7 @@ async function recordLoopOutcome(args) {
|
|
|
4921
4922
|
if (!args.ctx?.sessionKey) return;
|
|
4922
4923
|
try {
|
|
4923
4924
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
|
|
4924
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
4925
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-2Mxxm8YE.js");
|
|
4925
4926
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
4926
4927
|
sessionKey: args.ctx.sessionKey,
|
|
4927
4928
|
sessionId: args.ctx?.agentId
|
|
@@ -4943,7 +4944,7 @@ async function runBeforeToolCallHook(args) {
|
|
|
4943
4944
|
if (args.ctx?.sessionKey) {
|
|
4944
4945
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
|
|
4945
4946
|
const { logToolLoopAction } = await import("./diagnostic-DbT9t0Sh.js").then((n) => n.n);
|
|
4946
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
4947
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-2Mxxm8YE.js");
|
|
4947
4948
|
const sessionState = getDiagnosticSessionState({
|
|
4948
4949
|
sessionKey: args.ctx.sessionKey,
|
|
4949
4950
|
sessionId: args.ctx?.agentId
|
|
@@ -5807,7 +5808,7 @@ async function routeReply(params) {
|
|
|
5807
5808
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
5808
5809
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
5809
5810
|
try {
|
|
5810
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
5811
|
+
const { deliverOutboundPayloads } = await import("./deliver-C81eqdrP.js").then((n) => n.n);
|
|
5811
5812
|
return {
|
|
5812
5813
|
ok: true,
|
|
5813
5814
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -13183,13 +13184,21 @@ async function applyMediaUnderstanding(params) {
|
|
|
13183
13184
|
* Soft warning appended when context usage crosses the threshold.
|
|
13184
13185
|
* Fires once per session (tracked via `SessionEntry.contextWarningSent`).
|
|
13185
13186
|
*/
|
|
13186
|
-
const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit.
|
|
13187
|
+
const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit. Symi will compact older context automatically when usage reaches 90%.";
|
|
13187
13188
|
/**
|
|
13188
|
-
*
|
|
13189
|
-
*
|
|
13190
|
-
* turn
|
|
13189
|
+
* Inline status emitted by Symi before running compaction proactively
|
|
13190
|
+
* at the 90% threshold. Followed by the agent's actual response in the
|
|
13191
|
+
* same turn.
|
|
13191
13192
|
*/
|
|
13192
|
-
const
|
|
13193
|
+
const SESSION_COMPACTING_MESSAGE = "📋 Context limit reached for this session. Compacting older context and continuing…";
|
|
13194
|
+
/**
|
|
13195
|
+
* Returned when compaction can't recover enough budget to continue —
|
|
13196
|
+
* either because the proactive compaction at 90% failed, or because a
|
|
13197
|
+
* single user message overshot the window in one turn and the reactive
|
|
13198
|
+
* fallback compaction also failed. Same message also short-circuits
|
|
13199
|
+
* subsequent turns until /reset or /new.
|
|
13200
|
+
*/
|
|
13201
|
+
const SESSION_COMPACTION_FAILED_MESSAGE = "📋 Couldn't compact this session further. Please /reset or /new to continue — your full conversation is saved in history.";
|
|
13193
13202
|
|
|
13194
13203
|
//#endregion
|
|
13195
13204
|
//#region src/sessions/level-overrides.ts
|
|
@@ -19758,14 +19767,19 @@ function buildStatusMessage(args) {
|
|
|
19758
19767
|
config: args.config
|
|
19759
19768
|
}) : void 0;
|
|
19760
19769
|
const hasUsage = typeof inputTokens === "number" || typeof outputTokens === "number";
|
|
19761
|
-
const
|
|
19770
|
+
const rawCost = showCost && hasUsage ? estimateUsageCost({
|
|
19762
19771
|
usage: {
|
|
19763
19772
|
input: inputTokens ?? void 0,
|
|
19764
19773
|
output: outputTokens ?? void 0
|
|
19765
19774
|
},
|
|
19766
19775
|
cost: costConfig
|
|
19767
19776
|
}) : void 0;
|
|
19768
|
-
const
|
|
19777
|
+
const useOverride = showCost && hasUsage && typeof args.costOverrideUsd === "number" && (rawCost === void 0 || rawCost === 0);
|
|
19778
|
+
const cost = useOverride ? args.costOverrideUsd : rawCost;
|
|
19779
|
+
const baseLabel = showCost && hasUsage ? formatUsd(cost) : void 0;
|
|
19780
|
+
const tag = useOverride ? " (self-hosted)" : "";
|
|
19781
|
+
const suffix = args.costLineSuffix ? ` · ${args.costLineSuffix}` : "";
|
|
19782
|
+
const costLabel = baseLabel ? `${baseLabel}${tag}${suffix}` : void 0;
|
|
19769
19783
|
const selectedAuthLabel = selectedAuthLabelValue ? ` · 🔑 ${selectedAuthLabelValue}` : "";
|
|
19770
19784
|
const channelModelNote = (() => {
|
|
19771
19785
|
if (!args.config || !entry) return;
|
|
@@ -19810,6 +19824,8 @@ function buildStatusMessage(args) {
|
|
|
19810
19824
|
fallbackLine,
|
|
19811
19825
|
usageCostLine,
|
|
19812
19826
|
cacheLine,
|
|
19827
|
+
args.engineLine,
|
|
19828
|
+
args.hardwareLine,
|
|
19813
19829
|
`📚 ${contextLine}`,
|
|
19814
19830
|
mediaLine,
|
|
19815
19831
|
args.usageLine,
|
|
@@ -21043,6 +21059,32 @@ async function buildStatusReply(params) {
|
|
|
21043
21059
|
} catch {
|
|
21044
21060
|
usageLine = null;
|
|
21045
21061
|
}
|
|
21062
|
+
const baseUrl = cfg.models?.providers?.[provider]?.baseUrl;
|
|
21063
|
+
let engineLine;
|
|
21064
|
+
let hardwareLine;
|
|
21065
|
+
let costOverrideUsd;
|
|
21066
|
+
let costLineSuffix;
|
|
21067
|
+
try {
|
|
21068
|
+
const breakdown = await buildCostBreakdown({
|
|
21069
|
+
baseUrl,
|
|
21070
|
+
provider,
|
|
21071
|
+
modelId: model,
|
|
21072
|
+
config: cfg,
|
|
21073
|
+
usage: {
|
|
21074
|
+
input: sessionEntry?.inputTokens,
|
|
21075
|
+
output: sessionEntry?.outputTokens
|
|
21076
|
+
}
|
|
21077
|
+
});
|
|
21078
|
+
engineLine = breakdown.engineLine;
|
|
21079
|
+
hardwareLine = breakdown.hardwareLine;
|
|
21080
|
+
costOverrideUsd = breakdown.instanceCostUsd;
|
|
21081
|
+
costLineSuffix = breakdown.costLineSuffix;
|
|
21082
|
+
} catch {
|
|
21083
|
+
engineLine = void 0;
|
|
21084
|
+
hardwareLine = void 0;
|
|
21085
|
+
costOverrideUsd = void 0;
|
|
21086
|
+
costLineSuffix = void 0;
|
|
21087
|
+
}
|
|
21046
21088
|
const queueSettings = resolveQueueSettings({
|
|
21047
21089
|
cfg,
|
|
21048
21090
|
channel: command.channel,
|
|
@@ -21125,6 +21167,10 @@ async function buildStatusReply(params) {
|
|
|
21125
21167
|
showDetails: queueOverrides
|
|
21126
21168
|
},
|
|
21127
21169
|
subagentsLine,
|
|
21170
|
+
engineLine,
|
|
21171
|
+
hardwareLine,
|
|
21172
|
+
costOverrideUsd,
|
|
21173
|
+
costLineSuffix,
|
|
21128
21174
|
mediaDecisions: params.mediaDecisions,
|
|
21129
21175
|
includeTranscriptUsage: false
|
|
21130
21176
|
}) };
|
|
@@ -21225,6 +21271,27 @@ const handleStatusCommand = async (params, allowTextCommands) => {
|
|
|
21225
21271
|
})
|
|
21226
21272
|
};
|
|
21227
21273
|
};
|
|
21274
|
+
const handleCostCommand = async (params, allowTextCommands) => {
|
|
21275
|
+
if (!allowTextCommands) return null;
|
|
21276
|
+
const normalized = params.command.commandBodyNormalized;
|
|
21277
|
+
if (normalized !== "/cost" && !normalized.startsWith("/cost ")) return null;
|
|
21278
|
+
if (!params.command.isAuthorizedSender) {
|
|
21279
|
+
logVerbose(`Ignoring /cost from unauthorized sender: ${params.command.senderId || "<unknown>"}`);
|
|
21280
|
+
return { shouldContinue: false };
|
|
21281
|
+
}
|
|
21282
|
+
const arg = normalized.slice(5).trim();
|
|
21283
|
+
const window = arg === "today" || arg === "week" || arg === "month" || arg === "all" ? arg : "week";
|
|
21284
|
+
const { startMs, endMs } = resolveWindow(window);
|
|
21285
|
+
return {
|
|
21286
|
+
shouldContinue: false,
|
|
21287
|
+
reply: { text: formatSummaryReport(await loadCostBenchmarkSummary({
|
|
21288
|
+
startMs,
|
|
21289
|
+
endMs,
|
|
21290
|
+
config: params.cfg,
|
|
21291
|
+
agentId: params.agentId
|
|
21292
|
+
}), `${window.charAt(0).toUpperCase()}${window.slice(1)}`) }
|
|
21293
|
+
};
|
|
21294
|
+
};
|
|
21228
21295
|
const handleContextCommand = async (params, allowTextCommands) => {
|
|
21229
21296
|
if (!allowTextCommands) return null;
|
|
21230
21297
|
const normalized = params.command.commandBodyNormalized;
|
|
@@ -22831,6 +22898,7 @@ async function handleCommands(params) {
|
|
|
22831
22898
|
handleHelpCommand,
|
|
22832
22899
|
handleCommandsListCommand,
|
|
22833
22900
|
handleStatusCommand,
|
|
22901
|
+
handleCostCommand,
|
|
22834
22902
|
handleAllowlistCommand,
|
|
22835
22903
|
handleApproveCommand,
|
|
22836
22904
|
handleContextCommand,
|
|
@@ -29612,6 +29680,32 @@ function createSessionStatusTool(opts) {
|
|
|
29612
29680
|
}
|
|
29613
29681
|
} catch {}
|
|
29614
29682
|
const groupActivation = resolved.entry.chatType === "group" || resolved.entry.chatType === "channel" || resolved.key.includes(":group:") || resolved.key.includes(":channel:") ? normalizeGroupActivation(resolved.entry.groupActivation) ?? "mention" : void 0;
|
|
29683
|
+
const baseUrl = cfg.models?.providers?.[providerForCard]?.baseUrl;
|
|
29684
|
+
let engineLine;
|
|
29685
|
+
let hardwareLine;
|
|
29686
|
+
let costOverrideUsd;
|
|
29687
|
+
let costLineSuffix;
|
|
29688
|
+
try {
|
|
29689
|
+
const breakdown = await buildCostBreakdown({
|
|
29690
|
+
baseUrl,
|
|
29691
|
+
provider: providerForCard,
|
|
29692
|
+
modelId: configured.model,
|
|
29693
|
+
config: cfg,
|
|
29694
|
+
usage: {
|
|
29695
|
+
input: resolved.entry.inputTokens,
|
|
29696
|
+
output: resolved.entry.outputTokens
|
|
29697
|
+
}
|
|
29698
|
+
});
|
|
29699
|
+
engineLine = breakdown.engineLine;
|
|
29700
|
+
hardwareLine = breakdown.hardwareLine;
|
|
29701
|
+
costOverrideUsd = breakdown.instanceCostUsd;
|
|
29702
|
+
costLineSuffix = breakdown.costLineSuffix;
|
|
29703
|
+
} catch {
|
|
29704
|
+
engineLine = void 0;
|
|
29705
|
+
hardwareLine = void 0;
|
|
29706
|
+
costOverrideUsd = void 0;
|
|
29707
|
+
costLineSuffix = void 0;
|
|
29708
|
+
}
|
|
29615
29709
|
const queueSettings = resolveQueueSettings({
|
|
29616
29710
|
cfg,
|
|
29617
29711
|
channel: resolved.entry.channel ?? resolved.entry.lastChannel ?? "unknown",
|
|
@@ -29657,6 +29751,10 @@ function createSessionStatusTool(opts) {
|
|
|
29657
29751
|
dropPolicy: queueSettings.dropPolicy,
|
|
29658
29752
|
showDetails: queueOverrides
|
|
29659
29753
|
},
|
|
29754
|
+
engineLine,
|
|
29755
|
+
hardwareLine,
|
|
29756
|
+
costOverrideUsd,
|
|
29757
|
+
costLineSuffix,
|
|
29660
29758
|
includeTranscriptUsage: false
|
|
29661
29759
|
});
|
|
29662
29760
|
return {
|
|
@@ -32941,6 +33039,86 @@ async function handleInlineActions(params) {
|
|
|
32941
33039
|
};
|
|
32942
33040
|
}
|
|
32943
33041
|
|
|
33042
|
+
//#endregion
|
|
33043
|
+
//#region src/auto-reply/reply/middleware-context-warning.ts
|
|
33044
|
+
/** Threshold (fraction of context window) that triggers the soft warning. */
|
|
33045
|
+
const CONTEXT_WARNING_THRESHOLD = .85;
|
|
33046
|
+
/**
|
|
33047
|
+
* Threshold that triggers proactive compaction in `prepareReplyTurn`.
|
|
33048
|
+
* Higher than the soft warning so the user sees the heads-up first;
|
|
33049
|
+
* compaction runs the next turn the threshold is observed.
|
|
33050
|
+
*/
|
|
33051
|
+
const CONTEXT_PROACTIVE_COMPACT_THRESHOLD = .9;
|
|
33052
|
+
/**
|
|
33053
|
+
* Pure decision for "should `prepareReplyTurn` run proactive compaction
|
|
33054
|
+
* before the next turn?" — extracted so the trigger logic is unit-testable
|
|
33055
|
+
* without mocking the rest of the prep pipeline.
|
|
33056
|
+
*
|
|
33057
|
+
* Returns true ONLY when:
|
|
33058
|
+
* - we have a session id (otherwise compaction has no target),
|
|
33059
|
+
* - we have a positive context window,
|
|
33060
|
+
* - we have a positive cumulative usage from the previous turn,
|
|
33061
|
+
* - usage / window ≥ CONTEXT_PROACTIVE_COMPACT_THRESHOLD.
|
|
33062
|
+
*/
|
|
33063
|
+
function shouldProactivelyCompact(args) {
|
|
33064
|
+
if (!args.sessionId) return false;
|
|
33065
|
+
if (!args.contextTokens || args.contextTokens <= 0) return false;
|
|
33066
|
+
const usage = args.totalTokens ?? 0;
|
|
33067
|
+
if (usage <= 0) return false;
|
|
33068
|
+
return usage / args.contextTokens >= CONTEXT_PROACTIVE_COMPACT_THRESHOLD;
|
|
33069
|
+
}
|
|
33070
|
+
/**
|
|
33071
|
+
* Read the model's context-window size, falling back to the global
|
|
33072
|
+
* default when the model isn't in the registry yet.
|
|
33073
|
+
*/
|
|
33074
|
+
function resolveContextWindow(modelId) {
|
|
33075
|
+
const fromRegistry = lookupContextTokens(modelId);
|
|
33076
|
+
if (fromRegistry && fromRegistry > 0) return fromRegistry;
|
|
33077
|
+
return DEFAULT_CONTEXT_TOKENS;
|
|
33078
|
+
}
|
|
33079
|
+
/**
|
|
33080
|
+
* After-turn hook that surfaces a one-time soft warning when usage
|
|
33081
|
+
* crosses the context threshold. Mutates the result text to append
|
|
33082
|
+
* the warning when triggered, and persists `contextWarningSent: true`
|
|
33083
|
+
* on the session entry so the warning doesn't fire again.
|
|
33084
|
+
*/
|
|
33085
|
+
function withContextUsageWarning() {
|
|
33086
|
+
return (next) => async (params) => {
|
|
33087
|
+
const result = await next(params);
|
|
33088
|
+
if (result.outbound.action === "drop") return result;
|
|
33089
|
+
if (!params.sessionKey) return result;
|
|
33090
|
+
const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
|
|
33091
|
+
if (usage <= 0) return result;
|
|
33092
|
+
if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
|
|
33093
|
+
const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
|
|
33094
|
+
const storePath = resolveStorePath(params.config.session?.store, { agentId });
|
|
33095
|
+
let alreadyWarned = false;
|
|
33096
|
+
try {
|
|
33097
|
+
await updateSessionStoreEntry({
|
|
33098
|
+
storePath,
|
|
33099
|
+
sessionKey: params.sessionKey,
|
|
33100
|
+
update: async (entry) => {
|
|
33101
|
+
if (entry.contextWarningSent === true) {
|
|
33102
|
+
alreadyWarned = true;
|
|
33103
|
+
return null;
|
|
33104
|
+
}
|
|
33105
|
+
return { contextWarningSent: true };
|
|
33106
|
+
}
|
|
33107
|
+
});
|
|
33108
|
+
} catch (err) {
|
|
33109
|
+
logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
|
|
33110
|
+
return result;
|
|
33111
|
+
}
|
|
33112
|
+
if (alreadyWarned) return result;
|
|
33113
|
+
const trimmedText = result.text.trimEnd();
|
|
33114
|
+
const separator = trimmedText ? "\n\n" : "";
|
|
33115
|
+
return {
|
|
33116
|
+
...result,
|
|
33117
|
+
text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
|
|
33118
|
+
};
|
|
33119
|
+
};
|
|
33120
|
+
}
|
|
33121
|
+
|
|
32944
33122
|
//#endregion
|
|
32945
33123
|
//#region src/auto-reply/reply/session-reset-model.ts
|
|
32946
33124
|
function splitBody(body) {
|
|
@@ -33110,7 +33288,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
33110
33288
|
return;
|
|
33111
33289
|
}
|
|
33112
33290
|
try {
|
|
33113
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
33291
|
+
const { deliverOutboundPayloads } = await import("./deliver-C81eqdrP.js").then((n) => n.n);
|
|
33114
33292
|
await deliverOutboundPayloads({
|
|
33115
33293
|
cfg: params.cfg,
|
|
33116
33294
|
channel,
|
|
@@ -33837,7 +34015,7 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
33837
34015
|
typing.cleanup();
|
|
33838
34016
|
return {
|
|
33839
34017
|
kind: "early-reply",
|
|
33840
|
-
reply: { text:
|
|
34018
|
+
reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
|
|
33841
34019
|
};
|
|
33842
34020
|
}
|
|
33843
34021
|
await applyResetModelOverride({
|
|
@@ -33950,6 +34128,82 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
33950
34128
|
};
|
|
33951
34129
|
directives = inlineActionResult.directives;
|
|
33952
34130
|
abortedLastRun = inlineActionResult.abortedLastRun ?? abortedLastRun;
|
|
34131
|
+
if (shouldProactivelyCompact({
|
|
34132
|
+
totalTokens: sessionEntry.totalTokens,
|
|
34133
|
+
contextTokens,
|
|
34134
|
+
sessionId: sessionEntry.sessionId
|
|
34135
|
+
})) {
|
|
34136
|
+
if (resolvedOpts?.onBlockReply) try {
|
|
34137
|
+
await resolvedOpts.onBlockReply({ text: SESSION_COMPACTING_MESSAGE });
|
|
34138
|
+
} catch (err) {
|
|
34139
|
+
logVerbose(`proactive-compact: inline status delivery failed: ${String(err)}`);
|
|
34140
|
+
}
|
|
34141
|
+
if (isEmbeddedPiRunActive(sessionEntry.sessionId)) {
|
|
34142
|
+
abortEmbeddedPiRun(sessionEntry.sessionId);
|
|
34143
|
+
await waitForEmbeddedPiRunEnd(sessionEntry.sessionId, 15e3);
|
|
34144
|
+
}
|
|
34145
|
+
let compactResult;
|
|
34146
|
+
try {
|
|
34147
|
+
compactResult = await compactEmbeddedPiSession({
|
|
34148
|
+
sessionId: sessionEntry.sessionId,
|
|
34149
|
+
sessionKey,
|
|
34150
|
+
messageChannel: command.channel,
|
|
34151
|
+
groupId: sessionEntry.groupId,
|
|
34152
|
+
groupChannel: sessionEntry.groupChannel,
|
|
34153
|
+
groupSpace: sessionEntry.space,
|
|
34154
|
+
spawnedBy: sessionEntry.spawnedBy,
|
|
34155
|
+
sessionFile: resolveSessionFilePath(sessionEntry.sessionId, sessionEntry, resolveSessionFilePathOptions({
|
|
34156
|
+
agentId,
|
|
34157
|
+
storePath
|
|
34158
|
+
})),
|
|
34159
|
+
workspaceDir,
|
|
34160
|
+
agentDir,
|
|
34161
|
+
config: cfg,
|
|
34162
|
+
skillsSnapshot: sessionEntry.skillsSnapshot,
|
|
34163
|
+
provider,
|
|
34164
|
+
model,
|
|
34165
|
+
thinkLevel: resolvedThinkLevel,
|
|
34166
|
+
reasoningLevel: resolvedReasoningLevel,
|
|
34167
|
+
trigger: "overflow",
|
|
34168
|
+
senderIsOwner: command.senderIsOwner,
|
|
34169
|
+
ownerNumbers: command.ownerList.length > 0 ? command.ownerList : void 0
|
|
34170
|
+
});
|
|
34171
|
+
} catch (err) {
|
|
34172
|
+
logVerbose(`proactive-compact: compactor threw for ${sessionKey}: ${String(err)}`);
|
|
34173
|
+
compactResult = {
|
|
34174
|
+
ok: false,
|
|
34175
|
+
compacted: false,
|
|
34176
|
+
reason: String(err)
|
|
34177
|
+
};
|
|
34178
|
+
}
|
|
34179
|
+
if (compactResult.ok && compactResult.compacted) await incrementCompactionCount({
|
|
34180
|
+
sessionEntry,
|
|
34181
|
+
sessionStore,
|
|
34182
|
+
sessionKey,
|
|
34183
|
+
storePath,
|
|
34184
|
+
tokensAfter: compactResult.result?.tokensAfter
|
|
34185
|
+
});
|
|
34186
|
+
else {
|
|
34187
|
+
logVerbose(`proactive-compact: failed for ${sessionKey} (${compactResult.reason ?? "unknown"})`);
|
|
34188
|
+
if (storePath) try {
|
|
34189
|
+
await updateSessionStoreEntry({
|
|
34190
|
+
storePath,
|
|
34191
|
+
sessionKey,
|
|
34192
|
+
update: async (entry) => {
|
|
34193
|
+
if (entry.endedReason === "context_overflow") return null;
|
|
34194
|
+
return { endedReason: "context_overflow" };
|
|
34195
|
+
}
|
|
34196
|
+
});
|
|
34197
|
+
} catch (err) {
|
|
34198
|
+
logVerbose(`proactive-compact: failed to mark session sealed: ${String(err)}`);
|
|
34199
|
+
}
|
|
34200
|
+
typing.cleanup();
|
|
34201
|
+
return {
|
|
34202
|
+
kind: "early-reply",
|
|
34203
|
+
reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
|
|
34204
|
+
};
|
|
34205
|
+
}
|
|
34206
|
+
}
|
|
33953
34207
|
await stageSandboxMedia({
|
|
33954
34208
|
ctx,
|
|
33955
34209
|
sessionCtx,
|
|
@@ -34378,8 +34632,8 @@ function extractErrorMessage(err) {
|
|
|
34378
34632
|
function buildBoundaryResult(params) {
|
|
34379
34633
|
const profile = resolveModelProfile(params.provider && params.modelId ? `${params.provider}/${params.modelId}` : "", params.config.models?.profiles);
|
|
34380
34634
|
return {
|
|
34381
|
-
text:
|
|
34382
|
-
rawText:
|
|
34635
|
+
text: SESSION_COMPACTION_FAILED_MESSAGE,
|
|
34636
|
+
rawText: SESSION_COMPACTION_FAILED_MESSAGE,
|
|
34383
34637
|
outbound: {
|
|
34384
34638
|
action: "deliver",
|
|
34385
34639
|
reason: "deliver"
|
|
@@ -34390,7 +34644,7 @@ function buildBoundaryResult(params) {
|
|
|
34390
34644
|
profile,
|
|
34391
34645
|
didSendViaMessagingTool: false,
|
|
34392
34646
|
rawResult: {
|
|
34393
|
-
payloads: [{ text:
|
|
34647
|
+
payloads: [{ text: SESSION_COMPACTION_FAILED_MESSAGE }],
|
|
34394
34648
|
meta: {
|
|
34395
34649
|
durationMs: Date.now() - params.startTime,
|
|
34396
34650
|
agentMeta: {
|
|
@@ -34449,62 +34703,6 @@ function withContextOverflowRecovery() {
|
|
|
34449
34703
|
};
|
|
34450
34704
|
}
|
|
34451
34705
|
|
|
34452
|
-
//#endregion
|
|
34453
|
-
//#region src/auto-reply/reply/middleware-context-warning.ts
|
|
34454
|
-
/** Threshold (fraction of context window) that triggers the soft warning. */
|
|
34455
|
-
const CONTEXT_WARNING_THRESHOLD = .85;
|
|
34456
|
-
/**
|
|
34457
|
-
* Read the model's context-window size, falling back to the global
|
|
34458
|
-
* default when the model isn't in the registry yet.
|
|
34459
|
-
*/
|
|
34460
|
-
function resolveContextWindow(modelId) {
|
|
34461
|
-
const fromRegistry = lookupContextTokens(modelId);
|
|
34462
|
-
if (fromRegistry && fromRegistry > 0) return fromRegistry;
|
|
34463
|
-
return DEFAULT_CONTEXT_TOKENS;
|
|
34464
|
-
}
|
|
34465
|
-
/**
|
|
34466
|
-
* After-turn hook that surfaces a one-time soft warning when usage
|
|
34467
|
-
* crosses the context threshold. Mutates the result text to append
|
|
34468
|
-
* the warning when triggered, and persists `contextWarningSent: true`
|
|
34469
|
-
* on the session entry so the warning doesn't fire again.
|
|
34470
|
-
*/
|
|
34471
|
-
function withContextUsageWarning() {
|
|
34472
|
-
return (next) => async (params) => {
|
|
34473
|
-
const result = await next(params);
|
|
34474
|
-
if (result.outbound.action === "drop") return result;
|
|
34475
|
-
if (!params.sessionKey) return result;
|
|
34476
|
-
const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
|
|
34477
|
-
if (usage <= 0) return result;
|
|
34478
|
-
if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
|
|
34479
|
-
const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
|
|
34480
|
-
const storePath = resolveStorePath(params.config.session?.store, { agentId });
|
|
34481
|
-
let alreadyWarned = false;
|
|
34482
|
-
try {
|
|
34483
|
-
await updateSessionStoreEntry({
|
|
34484
|
-
storePath,
|
|
34485
|
-
sessionKey: params.sessionKey,
|
|
34486
|
-
update: async (entry) => {
|
|
34487
|
-
if (entry.contextWarningSent === true) {
|
|
34488
|
-
alreadyWarned = true;
|
|
34489
|
-
return null;
|
|
34490
|
-
}
|
|
34491
|
-
return { contextWarningSent: true };
|
|
34492
|
-
}
|
|
34493
|
-
});
|
|
34494
|
-
} catch (err) {
|
|
34495
|
-
logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
|
|
34496
|
-
return result;
|
|
34497
|
-
}
|
|
34498
|
-
if (alreadyWarned) return result;
|
|
34499
|
-
const trimmedText = result.text.trimEnd();
|
|
34500
|
-
const separator = trimmedText ? "\n\n" : "";
|
|
34501
|
-
return {
|
|
34502
|
-
...result,
|
|
34503
|
-
text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
|
|
34504
|
-
};
|
|
34505
|
-
};
|
|
34506
|
-
}
|
|
34507
|
-
|
|
34508
34706
|
//#endregion
|
|
34509
34707
|
//#region src/auto-reply/reply/middleware-diagnostic-logging.ts
|
|
34510
34708
|
function deriveChannel(ctx) {
|
|
@@ -38876,7 +39074,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
38876
39074
|
}
|
|
38877
39075
|
let commandsRegistry;
|
|
38878
39076
|
async function getCommandsRegistry() {
|
|
38879
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
39077
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C2Hvwjym.js").then((n) => n.t);
|
|
38880
39078
|
return commandsRegistry;
|
|
38881
39079
|
}
|
|
38882
39080
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -39218,7 +39416,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39218
39416
|
const channelName = channelInfo?.name;
|
|
39219
39417
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
39220
39418
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
39221
|
-
import("./resolve-route-
|
|
39419
|
+
import("./resolve-route-CnTdHVgw.js").then((n) => n.r),
|
|
39222
39420
|
import("./inbound-context-B7Rvs8pK.js").then((n) => n.n),
|
|
39223
39421
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
39224
39422
|
]);
|
|
@@ -39279,7 +39477,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39279
39477
|
});
|
|
39280
39478
|
const deliverSlashPayloads = async (replies) => {
|
|
39281
39479
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
39282
|
-
import("./replies-
|
|
39480
|
+
import("./replies-C5CBlnFS.js").then((n) => n.r),
|
|
39283
39481
|
import("./chunk-BxfKjCUx.js").then((n) => n.s),
|
|
39284
39482
|
import("./markdown-tables-CS1Tvb3z.js").then((n) => n.t)
|
|
39285
39483
|
]);
|
|
@@ -39334,7 +39532,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39334
39532
|
let nativeCommands = [];
|
|
39335
39533
|
if (nativeEnabled) {
|
|
39336
39534
|
reg = await getCommandsRegistry();
|
|
39337
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
39535
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-KnANH5Qm.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
39338
39536
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
39339
39537
|
skillCommands,
|
|
39340
39538
|
provider: "slack"
|
|
@@ -49024,7 +49222,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
49024
49222
|
error: err
|
|
49025
49223
|
});
|
|
49026
49224
|
}
|
|
49027
|
-
const MAX_OVERFLOW_COMPACTION_ATTEMPTS =
|
|
49225
|
+
const MAX_OVERFLOW_COMPACTION_ATTEMPTS = 1;
|
|
49028
49226
|
const MAX_RUN_LOOP_ITERATIONS = resolveMaxRunRetryIterations(profileCandidates.length);
|
|
49029
49227
|
let overflowCompactionAttempts = 0;
|
|
49030
49228
|
let toolResultTruncationAttempted = false;
|
|
@@ -49778,4 +49976,4 @@ async function runAgentTurn(params) {
|
|
|
49778
49976
|
}
|
|
49779
49977
|
|
|
49780
49978
|
//#endregion
|
|
49781
|
-
export { isExternalHookSession as $, emitAgentEvent as $t, resolveSessionDeliveryTarget as A, resolveFailoverStatus as An, resolveInputFileLimits as At, normalizeOptionalSessionKey as B, countActiveDescendantRuns as Bt, symi_tools_exports as C, CommandLane as Cn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Ct, ensureOutboundSessionEntry as D, runWithModelFallback as Dn, extractFileContentFromSource as Dt, runMessageAction as E, composeTurnMiddleware as En, DEFAULT_INPUT_TIMEOUT_MS as Et, normalizeHttpWebhookUrl as F, normalizeGroupActivation as Ft, buildDeliveryFromLegacyPayload as G, subagent_registry_exports as Gt, normalizePayloadToSystemText as H, initSubagentRegistry as Ht, normalizeCronJobCreate as I, clearSessionAuthProfileOverride as It, CHANNEL_TARGETS_DESCRIPTION as J, readLatestAssistantReply as Jt, hasLegacyDeliveryHints as K, resolveAgentTimeoutMs as Kt, normalizeCronJobPatch as L, formatZonedTimestamp as Lt, formatTargetDisplay as M, applyTemplate as Mt, resetDirectoryCache as N, prepareAgentRun as Nt, resolveOutboundSessionRoute as O, FailoverError as On, extractImageContentFromSource as Ot, CHANNEL_MESSAGE_ACTION_NAMES as P, BARE_SESSION_RESET_PROMPT as Pt, getHookType as Q, clearAgentRunContext as Qt, inferLegacyName as R, isAbortTrigger as Rt, createSymiTools as S, waitForActiveTasks as Sn, parseVerboseOverride as St, resolveAnnounceTargetFromKey as T, resolveModelProfile as Tn, DEFAULT_INPUT_MAX_REDIRECTS as Tt, normalizeRequiredName as U, listDescendantRunsForRequester as Ut, normalizeOptionalText as V, countActiveRunsForSession as Vt, migrateLegacyCronPayload as W, listSubagentRunsForRequester as Wt, buildSafeExternalPrompt as X, AGENT_LANE_SUBAGENT as Xt, CHANNEL_TARGET_DESCRIPTION as Y, AGENT_LANE_NESTED as Yt, detectSuspiciousPatterns as Z, clearSessionQueues as Zt,
|
|
49979
|
+
export { isExternalHookSession as $, emitAgentEvent as $t, resolveSessionDeliveryTarget as A, resolveFailoverStatus as An, resolveInputFileLimits as At, normalizeOptionalSessionKey as B, countActiveDescendantRuns as Bt, symi_tools_exports as C, CommandLane as Cn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Ct, ensureOutboundSessionEntry as D, runWithModelFallback as Dn, extractFileContentFromSource as Dt, runMessageAction as E, composeTurnMiddleware as En, DEFAULT_INPUT_TIMEOUT_MS as Et, normalizeHttpWebhookUrl as F, normalizeGroupActivation as Ft, buildDeliveryFromLegacyPayload as G, subagent_registry_exports as Gt, normalizePayloadToSystemText as H, initSubagentRegistry as Ht, normalizeCronJobCreate as I, clearSessionAuthProfileOverride as It, CHANNEL_TARGETS_DESCRIPTION as J, readLatestAssistantReply as Jt, hasLegacyDeliveryHints as K, resolveAgentTimeoutMs as Kt, normalizeCronJobPatch as L, formatZonedTimestamp as Lt, formatTargetDisplay as M, applyTemplate as Mt, resetDirectoryCache as N, prepareAgentRun as Nt, resolveOutboundSessionRoute as O, FailoverError as On, extractImageContentFromSource as Ot, CHANNEL_MESSAGE_ACTION_NAMES as P, BARE_SESSION_RESET_PROMPT as Pt, getHookType as Q, clearAgentRunContext as Qt, inferLegacyName as R, isAbortTrigger as Rt, createSymiTools as S, waitForActiveTasks as Sn, parseVerboseOverride as St, resolveAnnounceTargetFromKey as T, resolveModelProfile as Tn, DEFAULT_INPUT_MAX_REDIRECTS as Tt, normalizeRequiredName as U, listDescendantRunsForRequester as Ut, normalizeOptionalText as V, countActiveRunsForSession as Vt, migrateLegacyCronPayload as W, listSubagentRunsForRequester as Wt, buildSafeExternalPrompt as X, AGENT_LANE_SUBAGENT as Xt, CHANNEL_TARGET_DESCRIPTION as Y, AGENT_LANE_NESTED as Yt, detectSuspiciousPatterns as Z, clearSessionQueues as Zt, withContextOverflowRecovery as _, resolveRunWorkspaceDir as _n, DEFAULT_OAUTH_WARN_MS as _t, getPluginToolMeta as a, getActiveEmbeddedRunCount as an, isGatewaySigusr1RestartExternallyAllowed as at, prepareReplyTurn as b, resetAllLanes as bn, applyModelOverrideToSessionEntry as bt, handleSlackHttpRequest as c, registerUnhandledRejectionHandler as cn, setGatewaySigusr1RestartPolicy as ct, buildHistoryContextFromEntries as d, formatUserTime as dn, resolveCommitHash as dt, getAgentRunContext as en, applyBrowserProxyPaths as et, getChannelActivity as f, resolveUserTimeFormat as fn, getProcessSupervisor as ft, buildGlassUiProfile as g, redactRunIdentifier as gn, maskApiKey as gt, getTotalPendingReplies as h, resolveBootstrapContextForRun as hn, resolveSendPolicy as ht, sniffMimeFromBase64 as i, abortEmbeddedPiRun as in, emitGatewayRestart as it, normalizePollInput as j, estimateBase64DecodedBytes as jt, resolveOutboundTarget as k, describeFailoverError as kn, normalizeMimeList as kt, readJsonBodyWithLimit as l, ToolInputError as ln, setPreRestartDeferralCheck as lt, createReplyDispatcher as m, makeBootstrapWarn as mn, normalizeSendPolicy as mt, applyToolPolicyPipeline as n, registerAgentRunContext as nn, consumeGatewaySigusr1RestartAuthorization as nt, createPluginLoaderLogger as o, waitForEmbeddedPiRunEnd as on, markGatewaySigusr1RestartHandled as ot, provider_dispatcher_exports as p, resolveUserTimezone as pn, detectRuntimeShell as pt, stripLegacyDeliveryFields as q, runSubagentAnnounceFlow as qt, buildDefaultToolPolicyPipelineSteps as r, buildAgentSystemPrompt as rn, deferGatewayRestartUntilIdle as rt, loadSymiPlugins as s, installUnhandledRejectionHandler as sn, scheduleGatewaySigusr1Restart as st, runAgentTurn as t, onAgentEvent as tn, persistBrowserProxyFiles as tt, requestBodyErrorToText as u, resolveSymiDocsPath as un, buildSystemPromptParams as ut, runUnifiedTurn as v, getActiveTaskCount as vn, buildAuthHealthSummary as vt, listTasksInWorkdir as w, classifyOutboundMessage as wn, DEFAULT_INPUT_IMAGE_MIMES as wt, withContextUsageWarning as x, setCommandLaneConcurrency as xn, applyVerboseOverride as xt, buildAgentTurnParams as y, getTotalQueueSize as yn, formatRemainingShort as yt, normalizeOptionalAgentId as z, stopSubagentsForRequester as zt };
|