@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
|
@@ -18,25 +18,25 @@ import { l as parseFrontmatterBlock } from "./frontmatter-PrEWR41G.js";
|
|
|
18
18
|
import { r as isPathInsideWithRealpath } from "./scan-paths-DkVChXFI.js";
|
|
19
19
|
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-cLBEdkqu.js";
|
|
20
20
|
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-CVLmi8rz.js";
|
|
21
|
-
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-
|
|
21
|
+
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-D7TcU4qN.js";
|
|
22
22
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-CTYaxUs_.js";
|
|
23
23
|
import { Bt as SESSION_LABEL_MAX_LENGTH } from "./client-DhdWcgZP.js";
|
|
24
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
24
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-ogggp9QZ.js";
|
|
25
25
|
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-DXToSaWK.js";
|
|
26
26
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BdV0rbga.js";
|
|
27
|
-
import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-
|
|
27
|
+
import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Dn6VXn4p.js";
|
|
28
28
|
import { t as normalizeChatType } from "./chat-type-CdXzoS6q.js";
|
|
29
29
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
|
|
30
|
-
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-
|
|
31
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
32
|
-
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-
|
|
30
|
+
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-Dq252-bi.js";
|
|
31
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-B0ZJa7f2.js";
|
|
32
|
+
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-0nDhDdKd.js";
|
|
33
33
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-IdKKvrDQ.js";
|
|
34
34
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
|
|
35
|
-
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-
|
|
36
|
-
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-
|
|
37
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
38
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
39
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
35
|
+
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-BBiyNXkS.js";
|
|
36
|
+
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-J92UBQK8.js";
|
|
37
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-D1eO2jfe.js";
|
|
38
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-D-82OTsT.js";
|
|
39
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-CPMVuvoz.js";
|
|
40
40
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-BmdGLmRC.js";
|
|
41
41
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-8yCI1Car.js";
|
|
42
42
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BZFvPKEu.js";
|
|
@@ -47,10 +47,10 @@ import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveS
|
|
|
47
47
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-CJYf92EG.js";
|
|
48
48
|
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-BZDIJMl_.js";
|
|
49
49
|
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Byr7Gic_.js";
|
|
50
|
-
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-
|
|
50
|
+
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-CiR_RUxw.js";
|
|
51
51
|
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
|
|
52
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
53
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
52
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-CbwmxmxW.js";
|
|
53
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-BVPXSK-I.js";
|
|
54
54
|
import { f as runTasksWithConcurrency } from "./internal-D3mEiuyB.js";
|
|
55
55
|
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-B2lBXhR0.js";
|
|
56
56
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-BEdkErjm.js";
|
|
@@ -58,32 +58,33 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Mawk
|
|
|
58
58
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-3_W2W6u_.js";
|
|
59
59
|
import { n as getDefaultMediaLocalRoots } from "./local-roots-Bm30yHHs.js";
|
|
60
60
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-BiW8npr7.js";
|
|
61
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
61
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-CJPBJPlh.js";
|
|
62
62
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DxbOx1Kx.js";
|
|
63
63
|
import { n as formatTimeAgo } from "./format-relative-CxLpEQOX.js";
|
|
64
64
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CDk-z2Q4.js";
|
|
65
65
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-CC6jvm1-.js";
|
|
66
66
|
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-DSGpkPJE.js";
|
|
67
|
-
import { f as formatUsageWindowSummary, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, m as drainSystemEventEntries, p as resolveUsageProviderId, t as redactIdentifier, u as loadProviderUsageSummary, v as buildChannelSummary } from "./redact-identifier-
|
|
68
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
69
|
-
import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-
|
|
70
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
67
|
+
import { f as formatUsageWindowSummary, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, m as drainSystemEventEntries, p as resolveUsageProviderId, t as redactIdentifier, u as loadProviderUsageSummary, v as buildChannelSummary } from "./redact-identifier-BOxAUdff.js";
|
|
68
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CzKsiNZA.js";
|
|
69
|
+
import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-Zpe3t68b.js";
|
|
70
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-DKkiQJxU.js";
|
|
71
71
|
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-C4KBIVqJ.js";
|
|
72
72
|
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-DEjIocmZ.js";
|
|
73
73
|
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-_JvT4DjZ.js";
|
|
74
74
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-N7nsmfM6.js";
|
|
75
75
|
import { t as formatDurationCompact$1 } from "./format-duration-CIjmjQST.js";
|
|
76
|
-
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-
|
|
77
|
-
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import { n as
|
|
83
|
-
import { t as
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
76
|
+
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-CJWHHY-C.js";
|
|
77
|
+
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DQJz-0qd.js";
|
|
78
|
+
import { i as resolveWindow, n as formatSummaryReport, r as loadCostBenchmarkSummary, t as buildCostBreakdown } from "./breakdown-Cszrv-Lf.js";
|
|
79
|
+
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BP_JoSwO.js";
|
|
80
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DPzhv357.js";
|
|
81
|
+
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DUVGiPYV.js";
|
|
82
|
+
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BrFl0vVK.js";
|
|
83
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D0NrCHnr.js";
|
|
84
|
+
import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
|
|
85
|
+
import { n as registerMemoryCli } from "./memory-cli-B1dFPZw-.js";
|
|
86
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-_DV8VSSj.js";
|
|
87
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CU8U7--z.js";
|
|
87
88
|
import { createRequire } from "node:module";
|
|
88
89
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
89
90
|
import process$1 from "node:process";
|
|
@@ -4026,7 +4027,7 @@ async function routeReply(params) {
|
|
|
4026
4027
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
4027
4028
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
4028
4029
|
try {
|
|
4029
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
4030
|
+
const { deliverOutboundPayloads } = await import("./deliver-0nDhDdKd.js").then((n) => n.n);
|
|
4030
4031
|
return {
|
|
4031
4032
|
ok: true,
|
|
4032
4033
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -7646,13 +7647,21 @@ async function applyMediaUnderstanding(params) {
|
|
|
7646
7647
|
* Soft warning appended when context usage crosses the threshold.
|
|
7647
7648
|
* Fires once per session (tracked via `SessionEntry.contextWarningSent`).
|
|
7648
7649
|
*/
|
|
7649
|
-
const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit.
|
|
7650
|
+
const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit. Symi will compact older context automatically when usage reaches 90%.";
|
|
7650
7651
|
/**
|
|
7651
|
-
*
|
|
7652
|
-
*
|
|
7653
|
-
* turn
|
|
7652
|
+
* Inline status emitted by Symi before running compaction proactively
|
|
7653
|
+
* at the 90% threshold. Followed by the agent's actual response in the
|
|
7654
|
+
* same turn.
|
|
7654
7655
|
*/
|
|
7655
|
-
const
|
|
7656
|
+
const SESSION_COMPACTING_MESSAGE = "📋 Context limit reached for this session. Compacting older context and continuing…";
|
|
7657
|
+
/**
|
|
7658
|
+
* Returned when compaction can't recover enough budget to continue —
|
|
7659
|
+
* either because the proactive compaction at 90% failed, or because a
|
|
7660
|
+
* single user message overshot the window in one turn and the reactive
|
|
7661
|
+
* fallback compaction also failed. Same message also short-circuits
|
|
7662
|
+
* subsequent turns until /reset or /new.
|
|
7663
|
+
*/
|
|
7664
|
+
const SESSION_COMPACTION_FAILED_MESSAGE = "📋 Couldn't compact this session further. Please /reset or /new to continue — your full conversation is saved in history.";
|
|
7656
7665
|
|
|
7657
7666
|
//#endregion
|
|
7658
7667
|
//#region src/sessions/level-overrides.ts
|
|
@@ -14221,14 +14230,19 @@ function buildStatusMessage(args) {
|
|
|
14221
14230
|
config: args.config
|
|
14222
14231
|
}) : void 0;
|
|
14223
14232
|
const hasUsage = typeof inputTokens === "number" || typeof outputTokens === "number";
|
|
14224
|
-
const
|
|
14233
|
+
const rawCost = showCost && hasUsage ? estimateUsageCost({
|
|
14225
14234
|
usage: {
|
|
14226
14235
|
input: inputTokens ?? void 0,
|
|
14227
14236
|
output: outputTokens ?? void 0
|
|
14228
14237
|
},
|
|
14229
14238
|
cost: costConfig
|
|
14230
14239
|
}) : void 0;
|
|
14231
|
-
const
|
|
14240
|
+
const useOverride = showCost && hasUsage && typeof args.costOverrideUsd === "number" && (rawCost === void 0 || rawCost === 0);
|
|
14241
|
+
const cost = useOverride ? args.costOverrideUsd : rawCost;
|
|
14242
|
+
const baseLabel = showCost && hasUsage ? formatUsd(cost) : void 0;
|
|
14243
|
+
const tag = useOverride ? " (self-hosted)" : "";
|
|
14244
|
+
const suffix = args.costLineSuffix ? ` · ${args.costLineSuffix}` : "";
|
|
14245
|
+
const costLabel = baseLabel ? `${baseLabel}${tag}${suffix}` : void 0;
|
|
14232
14246
|
const selectedAuthLabel = selectedAuthLabelValue ? ` · 🔑 ${selectedAuthLabelValue}` : "";
|
|
14233
14247
|
const channelModelNote = (() => {
|
|
14234
14248
|
if (!args.config || !entry) return;
|
|
@@ -14273,6 +14287,8 @@ function buildStatusMessage(args) {
|
|
|
14273
14287
|
fallbackLine,
|
|
14274
14288
|
usageCostLine,
|
|
14275
14289
|
cacheLine,
|
|
14290
|
+
args.engineLine,
|
|
14291
|
+
args.hardwareLine,
|
|
14276
14292
|
`📚 ${contextLine}`,
|
|
14277
14293
|
mediaLine,
|
|
14278
14294
|
args.usageLine,
|
|
@@ -16058,6 +16074,32 @@ async function buildStatusReply(params) {
|
|
|
16058
16074
|
} catch {
|
|
16059
16075
|
usageLine = null;
|
|
16060
16076
|
}
|
|
16077
|
+
const baseUrl = cfg.models?.providers?.[provider]?.baseUrl;
|
|
16078
|
+
let engineLine;
|
|
16079
|
+
let hardwareLine;
|
|
16080
|
+
let costOverrideUsd;
|
|
16081
|
+
let costLineSuffix;
|
|
16082
|
+
try {
|
|
16083
|
+
const breakdown = await buildCostBreakdown({
|
|
16084
|
+
baseUrl,
|
|
16085
|
+
provider,
|
|
16086
|
+
modelId: model,
|
|
16087
|
+
config: cfg,
|
|
16088
|
+
usage: {
|
|
16089
|
+
input: sessionEntry?.inputTokens,
|
|
16090
|
+
output: sessionEntry?.outputTokens
|
|
16091
|
+
}
|
|
16092
|
+
});
|
|
16093
|
+
engineLine = breakdown.engineLine;
|
|
16094
|
+
hardwareLine = breakdown.hardwareLine;
|
|
16095
|
+
costOverrideUsd = breakdown.instanceCostUsd;
|
|
16096
|
+
costLineSuffix = breakdown.costLineSuffix;
|
|
16097
|
+
} catch {
|
|
16098
|
+
engineLine = void 0;
|
|
16099
|
+
hardwareLine = void 0;
|
|
16100
|
+
costOverrideUsd = void 0;
|
|
16101
|
+
costLineSuffix = void 0;
|
|
16102
|
+
}
|
|
16061
16103
|
const queueSettings = resolveQueueSettings({
|
|
16062
16104
|
cfg,
|
|
16063
16105
|
channel: command.channel,
|
|
@@ -16140,6 +16182,10 @@ async function buildStatusReply(params) {
|
|
|
16140
16182
|
showDetails: queueOverrides
|
|
16141
16183
|
},
|
|
16142
16184
|
subagentsLine,
|
|
16185
|
+
engineLine,
|
|
16186
|
+
hardwareLine,
|
|
16187
|
+
costOverrideUsd,
|
|
16188
|
+
costLineSuffix,
|
|
16143
16189
|
mediaDecisions: params.mediaDecisions,
|
|
16144
16190
|
includeTranscriptUsage: false
|
|
16145
16191
|
}) };
|
|
@@ -16240,6 +16286,27 @@ const handleStatusCommand = async (params, allowTextCommands) => {
|
|
|
16240
16286
|
})
|
|
16241
16287
|
};
|
|
16242
16288
|
};
|
|
16289
|
+
const handleCostCommand = async (params, allowTextCommands) => {
|
|
16290
|
+
if (!allowTextCommands) return null;
|
|
16291
|
+
const normalized = params.command.commandBodyNormalized;
|
|
16292
|
+
if (normalized !== "/cost" && !normalized.startsWith("/cost ")) return null;
|
|
16293
|
+
if (!params.command.isAuthorizedSender) {
|
|
16294
|
+
logVerbose(`Ignoring /cost from unauthorized sender: ${params.command.senderId || "<unknown>"}`);
|
|
16295
|
+
return { shouldContinue: false };
|
|
16296
|
+
}
|
|
16297
|
+
const arg = normalized.slice(5).trim();
|
|
16298
|
+
const window = arg === "today" || arg === "week" || arg === "month" || arg === "all" ? arg : "week";
|
|
16299
|
+
const { startMs, endMs } = resolveWindow(window);
|
|
16300
|
+
return {
|
|
16301
|
+
shouldContinue: false,
|
|
16302
|
+
reply: { text: formatSummaryReport(await loadCostBenchmarkSummary({
|
|
16303
|
+
startMs,
|
|
16304
|
+
endMs,
|
|
16305
|
+
config: params.cfg,
|
|
16306
|
+
agentId: params.agentId
|
|
16307
|
+
}), `${window.charAt(0).toUpperCase()}${window.slice(1)}`) }
|
|
16308
|
+
};
|
|
16309
|
+
};
|
|
16243
16310
|
const handleContextCommand = async (params, allowTextCommands) => {
|
|
16244
16311
|
if (!allowTextCommands) return null;
|
|
16245
16312
|
const normalized = params.command.commandBodyNormalized;
|
|
@@ -17940,6 +18007,7 @@ async function handleCommands(params) {
|
|
|
17940
18007
|
handleHelpCommand,
|
|
17941
18008
|
handleCommandsListCommand,
|
|
17942
18009
|
handleStatusCommand,
|
|
18010
|
+
handleCostCommand,
|
|
17943
18011
|
handleAllowlistCommand,
|
|
17944
18012
|
handleApproveCommand,
|
|
17945
18013
|
handleContextCommand,
|
|
@@ -25103,6 +25171,32 @@ function createSessionStatusTool(opts) {
|
|
|
25103
25171
|
}
|
|
25104
25172
|
} catch {}
|
|
25105
25173
|
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;
|
|
25174
|
+
const baseUrl = cfg.models?.providers?.[providerForCard]?.baseUrl;
|
|
25175
|
+
let engineLine;
|
|
25176
|
+
let hardwareLine;
|
|
25177
|
+
let costOverrideUsd;
|
|
25178
|
+
let costLineSuffix;
|
|
25179
|
+
try {
|
|
25180
|
+
const breakdown = await buildCostBreakdown({
|
|
25181
|
+
baseUrl,
|
|
25182
|
+
provider: providerForCard,
|
|
25183
|
+
modelId: configured.model,
|
|
25184
|
+
config: cfg,
|
|
25185
|
+
usage: {
|
|
25186
|
+
input: resolved.entry.inputTokens,
|
|
25187
|
+
output: resolved.entry.outputTokens
|
|
25188
|
+
}
|
|
25189
|
+
});
|
|
25190
|
+
engineLine = breakdown.engineLine;
|
|
25191
|
+
hardwareLine = breakdown.hardwareLine;
|
|
25192
|
+
costOverrideUsd = breakdown.instanceCostUsd;
|
|
25193
|
+
costLineSuffix = breakdown.costLineSuffix;
|
|
25194
|
+
} catch {
|
|
25195
|
+
engineLine = void 0;
|
|
25196
|
+
hardwareLine = void 0;
|
|
25197
|
+
costOverrideUsd = void 0;
|
|
25198
|
+
costLineSuffix = void 0;
|
|
25199
|
+
}
|
|
25106
25200
|
const queueSettings = resolveQueueSettings({
|
|
25107
25201
|
cfg,
|
|
25108
25202
|
channel: resolved.entry.channel ?? resolved.entry.lastChannel ?? "unknown",
|
|
@@ -25148,6 +25242,10 @@ function createSessionStatusTool(opts) {
|
|
|
25148
25242
|
dropPolicy: queueSettings.dropPolicy,
|
|
25149
25243
|
showDetails: queueOverrides
|
|
25150
25244
|
},
|
|
25245
|
+
engineLine,
|
|
25246
|
+
hardwareLine,
|
|
25247
|
+
costOverrideUsd,
|
|
25248
|
+
costLineSuffix,
|
|
25151
25249
|
includeTranscriptUsage: false
|
|
25152
25250
|
});
|
|
25153
25251
|
return {
|
|
@@ -28711,6 +28809,86 @@ async function handleInlineActions(params) {
|
|
|
28711
28809
|
};
|
|
28712
28810
|
}
|
|
28713
28811
|
|
|
28812
|
+
//#endregion
|
|
28813
|
+
//#region src/auto-reply/reply/middleware-context-warning.ts
|
|
28814
|
+
/** Threshold (fraction of context window) that triggers the soft warning. */
|
|
28815
|
+
const CONTEXT_WARNING_THRESHOLD = .85;
|
|
28816
|
+
/**
|
|
28817
|
+
* Threshold that triggers proactive compaction in `prepareReplyTurn`.
|
|
28818
|
+
* Higher than the soft warning so the user sees the heads-up first;
|
|
28819
|
+
* compaction runs the next turn the threshold is observed.
|
|
28820
|
+
*/
|
|
28821
|
+
const CONTEXT_PROACTIVE_COMPACT_THRESHOLD = .9;
|
|
28822
|
+
/**
|
|
28823
|
+
* Pure decision for "should `prepareReplyTurn` run proactive compaction
|
|
28824
|
+
* before the next turn?" — extracted so the trigger logic is unit-testable
|
|
28825
|
+
* without mocking the rest of the prep pipeline.
|
|
28826
|
+
*
|
|
28827
|
+
* Returns true ONLY when:
|
|
28828
|
+
* - we have a session id (otherwise compaction has no target),
|
|
28829
|
+
* - we have a positive context window,
|
|
28830
|
+
* - we have a positive cumulative usage from the previous turn,
|
|
28831
|
+
* - usage / window ≥ CONTEXT_PROACTIVE_COMPACT_THRESHOLD.
|
|
28832
|
+
*/
|
|
28833
|
+
function shouldProactivelyCompact(args) {
|
|
28834
|
+
if (!args.sessionId) return false;
|
|
28835
|
+
if (!args.contextTokens || args.contextTokens <= 0) return false;
|
|
28836
|
+
const usage = args.totalTokens ?? 0;
|
|
28837
|
+
if (usage <= 0) return false;
|
|
28838
|
+
return usage / args.contextTokens >= CONTEXT_PROACTIVE_COMPACT_THRESHOLD;
|
|
28839
|
+
}
|
|
28840
|
+
/**
|
|
28841
|
+
* Read the model's context-window size, falling back to the global
|
|
28842
|
+
* default when the model isn't in the registry yet.
|
|
28843
|
+
*/
|
|
28844
|
+
function resolveContextWindow(modelId) {
|
|
28845
|
+
const fromRegistry = lookupContextTokens(modelId);
|
|
28846
|
+
if (fromRegistry && fromRegistry > 0) return fromRegistry;
|
|
28847
|
+
return DEFAULT_CONTEXT_TOKENS;
|
|
28848
|
+
}
|
|
28849
|
+
/**
|
|
28850
|
+
* After-turn hook that surfaces a one-time soft warning when usage
|
|
28851
|
+
* crosses the context threshold. Mutates the result text to append
|
|
28852
|
+
* the warning when triggered, and persists `contextWarningSent: true`
|
|
28853
|
+
* on the session entry so the warning doesn't fire again.
|
|
28854
|
+
*/
|
|
28855
|
+
function withContextUsageWarning() {
|
|
28856
|
+
return (next) => async (params) => {
|
|
28857
|
+
const result = await next(params);
|
|
28858
|
+
if (result.outbound.action === "drop") return result;
|
|
28859
|
+
if (!params.sessionKey) return result;
|
|
28860
|
+
const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
|
|
28861
|
+
if (usage <= 0) return result;
|
|
28862
|
+
if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
|
|
28863
|
+
const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
|
|
28864
|
+
const storePath = resolveStorePath(params.config.session?.store, { agentId });
|
|
28865
|
+
let alreadyWarned = false;
|
|
28866
|
+
try {
|
|
28867
|
+
await updateSessionStoreEntry({
|
|
28868
|
+
storePath,
|
|
28869
|
+
sessionKey: params.sessionKey,
|
|
28870
|
+
update: async (entry) => {
|
|
28871
|
+
if (entry.contextWarningSent === true) {
|
|
28872
|
+
alreadyWarned = true;
|
|
28873
|
+
return null;
|
|
28874
|
+
}
|
|
28875
|
+
return { contextWarningSent: true };
|
|
28876
|
+
}
|
|
28877
|
+
});
|
|
28878
|
+
} catch (err) {
|
|
28879
|
+
logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
|
|
28880
|
+
return result;
|
|
28881
|
+
}
|
|
28882
|
+
if (alreadyWarned) return result;
|
|
28883
|
+
const trimmedText = result.text.trimEnd();
|
|
28884
|
+
const separator = trimmedText ? "\n\n" : "";
|
|
28885
|
+
return {
|
|
28886
|
+
...result,
|
|
28887
|
+
text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
|
|
28888
|
+
};
|
|
28889
|
+
};
|
|
28890
|
+
}
|
|
28891
|
+
|
|
28714
28892
|
//#endregion
|
|
28715
28893
|
//#region src/auto-reply/reply/session-reset-model.ts
|
|
28716
28894
|
function splitBody(body) {
|
|
@@ -28880,7 +29058,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
28880
29058
|
return;
|
|
28881
29059
|
}
|
|
28882
29060
|
try {
|
|
28883
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
29061
|
+
const { deliverOutboundPayloads } = await import("./deliver-0nDhDdKd.js").then((n) => n.n);
|
|
28884
29062
|
await deliverOutboundPayloads({
|
|
28885
29063
|
cfg: params.cfg,
|
|
28886
29064
|
channel,
|
|
@@ -29607,7 +29785,7 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
29607
29785
|
typing.cleanup();
|
|
29608
29786
|
return {
|
|
29609
29787
|
kind: "early-reply",
|
|
29610
|
-
reply: { text:
|
|
29788
|
+
reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
|
|
29611
29789
|
};
|
|
29612
29790
|
}
|
|
29613
29791
|
await applyResetModelOverride({
|
|
@@ -29720,6 +29898,82 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
29720
29898
|
};
|
|
29721
29899
|
directives = inlineActionResult.directives;
|
|
29722
29900
|
abortedLastRun = inlineActionResult.abortedLastRun ?? abortedLastRun;
|
|
29901
|
+
if (shouldProactivelyCompact({
|
|
29902
|
+
totalTokens: sessionEntry.totalTokens,
|
|
29903
|
+
contextTokens,
|
|
29904
|
+
sessionId: sessionEntry.sessionId
|
|
29905
|
+
})) {
|
|
29906
|
+
if (resolvedOpts?.onBlockReply) try {
|
|
29907
|
+
await resolvedOpts.onBlockReply({ text: SESSION_COMPACTING_MESSAGE });
|
|
29908
|
+
} catch (err) {
|
|
29909
|
+
logVerbose(`proactive-compact: inline status delivery failed: ${String(err)}`);
|
|
29910
|
+
}
|
|
29911
|
+
if (isEmbeddedPiRunActive(sessionEntry.sessionId)) {
|
|
29912
|
+
abortEmbeddedPiRun(sessionEntry.sessionId);
|
|
29913
|
+
await waitForEmbeddedPiRunEnd(sessionEntry.sessionId, 15e3);
|
|
29914
|
+
}
|
|
29915
|
+
let compactResult;
|
|
29916
|
+
try {
|
|
29917
|
+
compactResult = await compactEmbeddedPiSession({
|
|
29918
|
+
sessionId: sessionEntry.sessionId,
|
|
29919
|
+
sessionKey,
|
|
29920
|
+
messageChannel: command.channel,
|
|
29921
|
+
groupId: sessionEntry.groupId,
|
|
29922
|
+
groupChannel: sessionEntry.groupChannel,
|
|
29923
|
+
groupSpace: sessionEntry.space,
|
|
29924
|
+
spawnedBy: sessionEntry.spawnedBy,
|
|
29925
|
+
sessionFile: resolveSessionFilePath(sessionEntry.sessionId, sessionEntry, resolveSessionFilePathOptions({
|
|
29926
|
+
agentId,
|
|
29927
|
+
storePath
|
|
29928
|
+
})),
|
|
29929
|
+
workspaceDir,
|
|
29930
|
+
agentDir,
|
|
29931
|
+
config: cfg,
|
|
29932
|
+
skillsSnapshot: sessionEntry.skillsSnapshot,
|
|
29933
|
+
provider,
|
|
29934
|
+
model,
|
|
29935
|
+
thinkLevel: resolvedThinkLevel,
|
|
29936
|
+
reasoningLevel: resolvedReasoningLevel,
|
|
29937
|
+
trigger: "overflow",
|
|
29938
|
+
senderIsOwner: command.senderIsOwner,
|
|
29939
|
+
ownerNumbers: command.ownerList.length > 0 ? command.ownerList : void 0
|
|
29940
|
+
});
|
|
29941
|
+
} catch (err) {
|
|
29942
|
+
logVerbose(`proactive-compact: compactor threw for ${sessionKey}: ${String(err)}`);
|
|
29943
|
+
compactResult = {
|
|
29944
|
+
ok: false,
|
|
29945
|
+
compacted: false,
|
|
29946
|
+
reason: String(err)
|
|
29947
|
+
};
|
|
29948
|
+
}
|
|
29949
|
+
if (compactResult.ok && compactResult.compacted) await incrementCompactionCount({
|
|
29950
|
+
sessionEntry,
|
|
29951
|
+
sessionStore,
|
|
29952
|
+
sessionKey,
|
|
29953
|
+
storePath,
|
|
29954
|
+
tokensAfter: compactResult.result?.tokensAfter
|
|
29955
|
+
});
|
|
29956
|
+
else {
|
|
29957
|
+
logVerbose(`proactive-compact: failed for ${sessionKey} (${compactResult.reason ?? "unknown"})`);
|
|
29958
|
+
if (storePath) try {
|
|
29959
|
+
await updateSessionStoreEntry({
|
|
29960
|
+
storePath,
|
|
29961
|
+
sessionKey,
|
|
29962
|
+
update: async (entry) => {
|
|
29963
|
+
if (entry.endedReason === "context_overflow") return null;
|
|
29964
|
+
return { endedReason: "context_overflow" };
|
|
29965
|
+
}
|
|
29966
|
+
});
|
|
29967
|
+
} catch (err) {
|
|
29968
|
+
logVerbose(`proactive-compact: failed to mark session sealed: ${String(err)}`);
|
|
29969
|
+
}
|
|
29970
|
+
typing.cleanup();
|
|
29971
|
+
return {
|
|
29972
|
+
kind: "early-reply",
|
|
29973
|
+
reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
|
|
29974
|
+
};
|
|
29975
|
+
}
|
|
29976
|
+
}
|
|
29723
29977
|
await stageSandboxMedia({
|
|
29724
29978
|
ctx,
|
|
29725
29979
|
sessionCtx,
|
|
@@ -33276,7 +33530,7 @@ async function recordLoopOutcome(args) {
|
|
|
33276
33530
|
if (!args.ctx?.sessionKey) return;
|
|
33277
33531
|
try {
|
|
33278
33532
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CIjIGxEE.js").then((n) => n.n);
|
|
33279
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
33533
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-Bk07vuCX.js");
|
|
33280
33534
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
33281
33535
|
sessionKey: args.ctx.sessionKey,
|
|
33282
33536
|
sessionId: args.ctx?.agentId
|
|
@@ -33298,7 +33552,7 @@ async function runBeforeToolCallHook(args) {
|
|
|
33298
33552
|
if (args.ctx?.sessionKey) {
|
|
33299
33553
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CIjIGxEE.js").then((n) => n.n);
|
|
33300
33554
|
const { logToolLoopAction } = await import("./diagnostic-IdKKvrDQ.js").then((n) => n.n);
|
|
33301
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
33555
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Bk07vuCX.js");
|
|
33302
33556
|
const sessionState = getDiagnosticSessionState({
|
|
33303
33557
|
sessionKey: args.ctx.sessionKey,
|
|
33304
33558
|
sessionId: args.ctx?.agentId
|
|
@@ -39033,7 +39287,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
39033
39287
|
error: err
|
|
39034
39288
|
});
|
|
39035
39289
|
}
|
|
39036
|
-
const MAX_OVERFLOW_COMPACTION_ATTEMPTS =
|
|
39290
|
+
const MAX_OVERFLOW_COMPACTION_ATTEMPTS = 1;
|
|
39037
39291
|
const MAX_RUN_LOOP_ITERATIONS = resolveMaxRunRetryIterations(profileCandidates.length);
|
|
39038
39292
|
let overflowCompactionAttempts = 0;
|
|
39039
39293
|
let toolResultTruncationAttempted = false;
|
|
@@ -40056,8 +40310,8 @@ function extractErrorMessage(err) {
|
|
|
40056
40310
|
function buildBoundaryResult(params) {
|
|
40057
40311
|
const profile = resolveModelProfile(params.provider && params.modelId ? `${params.provider}/${params.modelId}` : "", params.config.models?.profiles);
|
|
40058
40312
|
return {
|
|
40059
|
-
text:
|
|
40060
|
-
rawText:
|
|
40313
|
+
text: SESSION_COMPACTION_FAILED_MESSAGE,
|
|
40314
|
+
rawText: SESSION_COMPACTION_FAILED_MESSAGE,
|
|
40061
40315
|
outbound: {
|
|
40062
40316
|
action: "deliver",
|
|
40063
40317
|
reason: "deliver"
|
|
@@ -40068,7 +40322,7 @@ function buildBoundaryResult(params) {
|
|
|
40068
40322
|
profile,
|
|
40069
40323
|
didSendViaMessagingTool: false,
|
|
40070
40324
|
rawResult: {
|
|
40071
|
-
payloads: [{ text:
|
|
40325
|
+
payloads: [{ text: SESSION_COMPACTION_FAILED_MESSAGE }],
|
|
40072
40326
|
meta: {
|
|
40073
40327
|
durationMs: Date.now() - params.startTime,
|
|
40074
40328
|
agentMeta: {
|
|
@@ -40127,62 +40381,6 @@ function withContextOverflowRecovery() {
|
|
|
40127
40381
|
};
|
|
40128
40382
|
}
|
|
40129
40383
|
|
|
40130
|
-
//#endregion
|
|
40131
|
-
//#region src/auto-reply/reply/middleware-context-warning.ts
|
|
40132
|
-
/** Threshold (fraction of context window) that triggers the soft warning. */
|
|
40133
|
-
const CONTEXT_WARNING_THRESHOLD = .85;
|
|
40134
|
-
/**
|
|
40135
|
-
* Read the model's context-window size, falling back to the global
|
|
40136
|
-
* default when the model isn't in the registry yet.
|
|
40137
|
-
*/
|
|
40138
|
-
function resolveContextWindow(modelId) {
|
|
40139
|
-
const fromRegistry = lookupContextTokens(modelId);
|
|
40140
|
-
if (fromRegistry && fromRegistry > 0) return fromRegistry;
|
|
40141
|
-
return DEFAULT_CONTEXT_TOKENS;
|
|
40142
|
-
}
|
|
40143
|
-
/**
|
|
40144
|
-
* After-turn hook that surfaces a one-time soft warning when usage
|
|
40145
|
-
* crosses the context threshold. Mutates the result text to append
|
|
40146
|
-
* the warning when triggered, and persists `contextWarningSent: true`
|
|
40147
|
-
* on the session entry so the warning doesn't fire again.
|
|
40148
|
-
*/
|
|
40149
|
-
function withContextUsageWarning() {
|
|
40150
|
-
return (next) => async (params) => {
|
|
40151
|
-
const result = await next(params);
|
|
40152
|
-
if (result.outbound.action === "drop") return result;
|
|
40153
|
-
if (!params.sessionKey) return result;
|
|
40154
|
-
const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
|
|
40155
|
-
if (usage <= 0) return result;
|
|
40156
|
-
if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
|
|
40157
|
-
const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
|
|
40158
|
-
const storePath = resolveStorePath(params.config.session?.store, { agentId });
|
|
40159
|
-
let alreadyWarned = false;
|
|
40160
|
-
try {
|
|
40161
|
-
await updateSessionStoreEntry({
|
|
40162
|
-
storePath,
|
|
40163
|
-
sessionKey: params.sessionKey,
|
|
40164
|
-
update: async (entry) => {
|
|
40165
|
-
if (entry.contextWarningSent === true) {
|
|
40166
|
-
alreadyWarned = true;
|
|
40167
|
-
return null;
|
|
40168
|
-
}
|
|
40169
|
-
return { contextWarningSent: true };
|
|
40170
|
-
}
|
|
40171
|
-
});
|
|
40172
|
-
} catch (err) {
|
|
40173
|
-
logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
|
|
40174
|
-
return result;
|
|
40175
|
-
}
|
|
40176
|
-
if (alreadyWarned) return result;
|
|
40177
|
-
const trimmedText = result.text.trimEnd();
|
|
40178
|
-
const separator = trimmedText ? "\n\n" : "";
|
|
40179
|
-
return {
|
|
40180
|
-
...result,
|
|
40181
|
-
text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
|
|
40182
|
-
};
|
|
40183
|
-
};
|
|
40184
|
-
}
|
|
40185
|
-
|
|
40186
40384
|
//#endregion
|
|
40187
40385
|
//#region src/auto-reply/reply/middleware-diagnostic-logging.ts
|
|
40188
40386
|
function deriveChannel(ctx) {
|
|
@@ -44554,7 +44752,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
44554
44752
|
}
|
|
44555
44753
|
let commandsRegistry;
|
|
44556
44754
|
async function getCommandsRegistry() {
|
|
44557
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
44755
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CJPBJPlh.js").then((n) => n.t);
|
|
44558
44756
|
return commandsRegistry;
|
|
44559
44757
|
}
|
|
44560
44758
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -44896,7 +45094,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
44896
45094
|
const channelName = channelInfo?.name;
|
|
44897
45095
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
44898
45096
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
44899
|
-
import("./resolve-route-
|
|
45097
|
+
import("./resolve-route-D0NrCHnr.js").then((n) => n.r),
|
|
44900
45098
|
import("./inbound-context-CDk-z2Q4.js").then((n) => n.n),
|
|
44901
45099
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
44902
45100
|
]);
|
|
@@ -44957,7 +45155,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
44957
45155
|
});
|
|
44958
45156
|
const deliverSlashPayloads = async (replies) => {
|
|
44959
45157
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
44960
|
-
import("./replies-
|
|
45158
|
+
import("./replies-_DV8VSSj.js").then((n) => n.r),
|
|
44961
45159
|
import("./chunk-B2lBXhR0.js").then((n) => n.s),
|
|
44962
45160
|
import("./markdown-tables-BEdkErjm.js").then((n) => n.t)
|
|
44963
45161
|
]);
|
|
@@ -45012,7 +45210,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
45012
45210
|
let nativeCommands = [];
|
|
45013
45211
|
if (nativeEnabled) {
|
|
45014
45212
|
reg = await getCommandsRegistry();
|
|
45015
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
45213
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DKkiQJxU.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
45016
45214
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
45017
45215
|
skillCommands,
|
|
45018
45216
|
provider: "slack"
|