@symerian/symi 3.3.0 → 3.3.2
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-B2IkIBj2.js → agent-BED0HDsS.js} +2 -5
- package/dist/{agent-BrIHHGnC.js → agent-pDOR_idq.js} +25 -28
- package/dist/{agent-scope-2la27US0.js → agent-scope-B_oqIiaD.js} +6 -6
- package/dist/{agents-B57SUSPt.js → agents-mZX2a3hp.js} +2 -2
- package/dist/{agents.config-COMcEDAk.js → agents.config-B_LFeRQS.js} +3 -3
- package/dist/{audit-B58SlbPa.js → audit-B_HL4UJ_.js} +26 -26
- package/dist/{auth-CC9_WXMi.js → auth-BbwD4lRX.js} +3 -3
- package/dist/{auth-choice-B6iYCDVN.js → auth-choice-BgCnInKE.js} +9 -9
- package/dist/{auth-choice-Z1qCZxwg.js → auth-choice-nKtOJ3wF.js} +1 -1
- package/dist/{auth-profiles-8vSEr9B4.js → auth-profiles-CPlXilKu.js} +9 -9
- package/dist/{auth-profiles-CZTGpbyT.js → auth-profiles-duUuQXeC.js} +2 -2
- package/dist/{auth-token-DpYUPTNG.js → auth-token-DTj2WrbV.js} +3 -3
- package/dist/{banner-QsnCDxXH.js → banner-C2jUZyMq.js} +1 -1
- package/dist/{bindings-CiRAK4tH.js → bindings-9LSA3Jr1.js} +2 -2
- package/dist/{bonjour-discovery-lp5P_YUR.js → bonjour-discovery-CU1mz7AC.js} +3 -3
- package/dist/{browser-cli-_9G3GBJS.js → browser-cli-C-Q0t9y_.js} +28 -28
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +28 -31
- package/dist/bundled/bootstrap-extra-files/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +27 -27
- package/dist/{call-DLBaLOHo.js → call-Du4CT1Hp.js} +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{catalog-CNZxYA15.js → catalog-BEREnWaa.js} +4 -4
- package/dist/{channel-options-DckWOMWG.js → channel-options-DBKd8H2k.js} +5 -5
- package/dist/{channel-options-Cj-xJAMD.js → channel-options-DRzIcaL1.js} +1 -1
- package/dist/{channel-selection-BGtIUbFL.js → channel-selection-BvIcXQLj.js} +2 -2
- package/dist/{channels-cli-Y8CGJ_qQ.js → channels-cli-CdfROBlW.js} +95 -95
- package/dist/{channels-cli-CIq4PFA0.js → channels-cli-CxUB3oX1.js} +10 -10
- package/dist/{channels-status-issues-rRBNHH7B.js → channels-status-issues-DC8vgOMo.js} +1 -1
- package/dist/{chrome-BgQbis3t.js → chrome-CejiigNy.js} +2 -2
- package/dist/{chrome-sQI2Ex5S.js → chrome-owBWinlj.js} +7 -7
- package/dist/{chunk-CKgSHf7u.js → chunk-DQGU0F8t.js} +2 -2
- package/dist/{clack-prompter-CR9tYooX.js → clack-prompter-CWQQn_CK.js} +5 -5
- package/dist/{cli--omJsLkl.js → cli-CzEP9cIM.js} +7 -7
- package/dist/cli-DWcoPSRG.js +128 -0
- package/dist/{client-D8iTVY4F.js → client-ZZqt0H0-.js} +7 -7
- package/dist/{clipboard-C9NQe8TV.js → clipboard-McRwF3r0.js} +1 -1
- package/dist/{command-registry-bozDt85D.js → command-registry-5O5dCHsD.js} +10 -10
- package/dist/{commands-sNCgvbpu.js → commands-B3UrgxIz.js} +2 -2
- package/dist/{commands-registry-CRkL6mTz.js → commands-registry-DaPrWQSe.js} +3 -3
- package/dist/{commands-registry-DXK4Ortm.js → commands-registry-W2GQIywv.js} +6 -6
- package/dist/{completion-cli-FXkVKM19.js → completion-cli-D4wYjxBG.js} +5 -5
- package/dist/{completion-cli-9qQYFUPk.js → completion-cli-DqrFJhG4.js} +2 -2
- package/dist/{config-fTqqDRAc.js → config-CphS_6eg.js} +9 -9
- package/dist/{config-cli-BexhS7Qb.js → config-cli-BE2vvf40.js} +15 -15
- package/dist/{config-cli-C3D7beGW.js → config-cli-CfA5xnD-.js} +1 -1
- package/dist/{config-guard-IteQa1rq.js → config-guard-B5BwQ-AP.js} +23 -23
- package/dist/{config-validation-B05t9fma.js → config-validation-A2rXGvVY.js} +2 -2
- package/dist/{configure-0e3ty1G9.js → configure-CPY4n9mx.js} +26 -26
- package/dist/{configure-BWXNd2TO.js → configure-DYDsHAWF.js} +2 -2
- package/dist/{consolidate-BaeR2tIX.js → consolidate-7Usm-b2g.js} +5 -5
- package/dist/{control-service-BDMq-0pg.js → control-service-CMVDL3Yl.js} +5 -5
- package/dist/{control-ui-assets-muBwnb6-.js → control-ui-assets-DUhvOLUL.js} +4 -4
- package/dist/{conversation-label-B4d5pKXr.js → conversation-label-CS5Zjc4w.js} +1 -1
- package/dist/{conversation-label-WjwKgn7n.js → conversation-label-tLwAlqLf.js} +1 -1
- package/dist/{cron-cli-DvDr2Uxo.js → cron-cli-DR4W075u.js} +21 -21
- package/dist/{daemon-cli-DiLogoCM.js → daemon-cli-B__05b-d.js} +21 -21
- package/dist/{daemon-runtime-C3dBpZhs.js → daemon-runtime-BD-3XS8R.js} +4 -4
- package/dist/{deliver-B_Fv-dS9.js → deliver-63FtOVMC.js} +8 -8
- package/dist/{deliver-B_jXI55b.js → deliver-BY0HHHHB.js} +18 -18
- package/dist/{deliver-CRqS1O8w.js → deliver-DcP6aVt4.js} +1 -1
- package/dist/{deliver-B_Gz2_tA.js → deliver-i5knkyHl.js} +1 -1
- package/dist/{delivery-queue-CeY346SK.js → delivery-queue-DDs84baU.js} +2 -2
- package/dist/{deps-Du8ZcRHN.js → deps-DD_ZCq3v.js} +1 -1
- package/dist/{devices-cli-BFPrh5bu.js → devices-cli-CJom2K8b.js} +19 -19
- package/dist/{diagnostic-oeL366QK.js → diagnostic-CwF3MnBL.js} +1 -1
- package/dist/{diagnostics-3x3usVgE.js → diagnostics-DxdqTfpW.js} +1 -1
- package/dist/{directory-cli-BUBucKQI.js → directory-cli-BwhEj1FE.js} +19 -19
- package/dist/{dm-policy-shared-BcXoqtVd.js → dm-policy-shared-C1TQOlkZ.js} +2 -2
- package/dist/{dns-cli-B6QTNBXV.js → dns-cli-DzQDEQM2.js} +17 -17
- package/dist/{dock-n_MeJBcj.js → dock-CnGWTXL4.js} +3 -3
- package/dist/{docs-cli-C2xEH6jC.js → docs-cli--T-77Ujn.js} +13 -13
- package/dist/{doctor-completion-K1dL1s3P.js → doctor-completion-C6M7eRb_.js} +4 -4
- package/dist/{doctor-completion-CcHk8myN.js → doctor-completion-DkwAZ_yS.js} +1 -1
- package/dist/{doctor-config-flow-Dl08K6Q3.js → doctor-config-flow-4UT3396o.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{env-B7UUyzd_.js → env-B97Ms861.js} +2 -2
- package/dist/{errors-BgCjRT2k.js → errors-BkfLlDKo.js} +1 -1
- package/dist/{errors-CBVhQiQ9.js → errors-Z-WkF18Q.js} +1 -1
- package/dist/{exec-BcvUYCcV.js → exec-DKyLtSjm.js} +2 -2
- package/dist/{exec-approvals-BWtVKlN2.js → exec-approvals-CZOc8M5w.js} +3 -3
- package/dist/{exec-approvals-cli-SDF4LICf.js → exec-approvals-cli-D-MLmhzh.js} +25 -25
- package/dist/extensionAPI.js +5 -5
- package/dist/{fetch-guard-BWofyagX.js → fetch-guard-DG6T0ZdL.js} +2 -2
- package/dist/{frontmatter-B5iYTsZP.js → frontmatter-B6IdJ7UK.js} +2 -2
- package/dist/{frontmatter-vaw8OX7Y.js → frontmatter-BzAaXBfE.js} +3 -3
- package/dist/{fs-safe-CR_3Yr4x.js → fs-safe-B6nMaZqV.js} +1 -1
- package/dist/{gateway-cli-CAFWFnSX.js → gateway-cli-Dm5RZoKM.js} +433 -153
- package/dist/{gateway-cli-CzD6faIt.js → gateway-cli-K_XVNWQc.js} +315 -35
- package/dist/{gateway-rpc-o8CJkHuM.js → gateway-rpc-CUIXRk2t.js} +3 -3
- package/dist/{github-copilot-token-DTYkb2IC.js → github-copilot-token-BTNK6Tcd.js} +2 -2
- package/dist/{glass-ui-ws-Bbs2mIij.js → glass-ui-ws-B_7JgOGU.js} +11 -11
- package/dist/{glass-ui-ws-Dsez9bGF.js → glass-ui-ws-BbsrTxei.js} +105 -105
- package/dist/{gmail-setup-utils-CLvOQ6kY.js → gmail-setup-utils-D5G00y8h.js} +5 -5
- package/dist/{health-iJ9JzccO.js → health-BdxlhiXA.js} +13 -13
- package/dist/{health-format-CxAXRqzB.js → health-format-39e76m9p.js} +1 -1
- package/dist/{help-format-BWTv-lf6.js → help-format-BI_G2p1e.js} +1 -1
- package/dist/{helpers-BtwjKsDp.js → helpers-BBypnAYf.js} +1 -1
- package/dist/{hooks-cli-BEYoHsqh.js → hooks-cli-D5S_h70_.js} +87 -87
- package/dist/{hooks-cli-DNlmk6eB.js → hooks-cli-DyiztpNG.js} +8 -8
- package/dist/{hooks-status-D9SOPTTY.js → hooks-status-DLHEahg_.js} +3 -3
- package/dist/{image-ops-BkR5mVOY.js → image-ops-C-gIIp7Q.js} +2 -2
- package/dist/{inbound-context-CICDRKxY.js → inbound-context-CJj1VfzK.js} +2 -2
- package/dist/{inbound-context-B4B7i7oM.js → inbound-context-DqAyGDbE.js} +2 -2
- package/dist/index.js +90 -90
- package/dist/{inspect-XD55qAEL.js → inspect-BDzd6yBs.js} +1 -1
- package/dist/{install-safe-path-odQNUvjd.js → install-safe-path-CQXx3s9R.js} +1 -1
- package/dist/{installs-DLhIne1t.js → installs-CLp95gcX.js} +5 -5
- package/dist/{internal-CBKiu8Jv.js → internal-CHnZdvRy.js} +1 -1
- package/dist/{legacy-names-BVA_sKnb.js → legacy-names-C0hZiM-7.js} +1 -1
- package/dist/{lifecycle-core-CcinwCvM.js → lifecycle-core-_BlNODTH.js} +9 -9
- package/dist/{links-C6mXo5Yj.js → links-CSaUKNKm.js} +1 -1
- package/dist/llm-slug-generator.js +27 -27
- package/dist/{local-roots-C0G03E-R.js → local-roots-JhQs5w0I.js} +3 -3
- package/dist/{logging-CMolPIQB.js → logging-B96FQvnn.js} +2 -2
- package/dist/{logs-cli--Wek899G.js → logs-cli-BEWOyW5R.js} +20 -20
- package/dist/{manager-Bmh-pcUv.js → manager-BT2SbOdg.js} +6 -6
- package/dist/{manager-CS1vxold.js → manager-BTtaJXdu.js} +13 -13
- package/dist/{manager-9Rt8-xIT.js → manager-TrK63P2M.js} +1 -1
- package/dist/{manager-Do0-i7vp.js → manager-ue49bRVP.js} +1 -1
- package/dist/{manifest-registry-B4I9g0CL.js → manifest-registry-D7Qup2Vq.js} +3 -3
- package/dist/{manifest-registry-Cc80pffV.js → manifest-registry-DsTUFMvZ.js} +1 -1
- package/dist/{markdown-tables-jlJYpF1X.js → markdown-tables-GTLvbzuR.js} +2 -2
- package/dist/{markdown-tables-D0bwB4O7.js → markdown-tables-ptfgMe6b.js} +1 -1
- package/dist/{memory-ofHIUCzf.js → memory-Czxk_hJw.js} +7 -7
- package/dist/{memory-BduQaKuC.js → memory-DJN1Q1jq.js} +2 -2
- package/dist/{memory-cli-LXH0BNmI.js → memory-cli-B-nQp5HP.js} +16 -16
- package/dist/{memory-cli-BCz9iNCM.js → memory-cli-C9ZqpaaB.js} +2 -2
- package/dist/{message-channel-j44ChSJV.js → message-channel-C_V8IAYx.js} +1 -1
- package/dist/{model-BBL3doiY.js → model-BKtw-Bqs.js} +1 -1
- package/dist/{model-catalog-D8YRs6r8.js → model-catalog-DKBhNiWm.js} +4 -4
- package/dist/{model-picker-CdmjvvmL.js → model-picker-DKzvan7c.js} +3 -3
- package/dist/{models-cli-CdL5Tf5E.js → models-cli-CuHQFbs7.js} +9 -9
- package/dist/{models-cli-DrJsggrX.js → models-cli-D8rsqzuW.js} +91 -91
- package/dist/{models-config-BCa11tVc.js → models-config-CFUwiu4W.js} +3 -3
- package/dist/{models-DTHdIg0A.js → models-oqT-RVMM.js} +2 -2
- package/dist/{node-cli-Dl-lvH1N.js → node-cli-CgWAxe-K.js} +43 -43
- package/dist/{node-service-O5CpXu6c.js → node-service-tPO_yUk7.js} +1 -1
- package/dist/{nodes-cli-C9pjIduh.js → nodes-cli-CprJ5K63.js} +25 -25
- package/dist/{nodes-screen-B_D8bZhT.js → nodes-screen-JELuBMBi.js} +3 -3
- package/dist/{note-1QdZVD7W.js → note-CHrtEumO.js} +2 -2
- package/dist/{npm-registry-spec-BQ7yzKIT.js → npm-registry-spec-BXw_6vF6.js} +4 -4
- package/dist/{onboard-Cr1Rd93U.js → onboard-BICXrIV1.js} +20 -20
- package/dist/{onboard-3VcPRZV5.js → onboard-D-xPcbdk.js} +1 -1
- package/dist/{onboard-channels-CXqIlUcV.js → onboard-channels-CiLPgwMl.js} +13 -13
- package/dist/{onboard-channels-DmvTuYe_.js → onboard-channels-IZ52XV8A.js} +1 -1
- package/dist/{onboard-custom-DAD9D1fS.js → onboard-custom-Cla8O-Tv.js} +3 -3
- package/dist/{onboard-helpers-C5J9vSm2.js → onboard-helpers-D2mWJnFB.js} +11 -11
- package/dist/{onboard-hooks-D87tRcuX.js → onboard-hooks-DZD-nGLB.js} +11 -11
- package/dist/{onboard-remote-D3CWFQ0_.js → onboard-remote-Bi2BNRnh.js} +3 -3
- package/dist/{onboard-skills-CTv0hBJv.js → onboard-skills-C0XDXvWw.js} +5 -5
- package/dist/{onboarding-D_wPq7hv.js → onboarding-B-jxZvC2.js} +3 -3
- package/dist/{onboarding-Bop5peq2.js → onboarding-BmB9v20h.js} +19 -19
- package/dist/{onboarding.finalize-Pa0bEFjp.js → onboarding.finalize-BejpUEVe.js} +60 -60
- package/dist/{onboarding.finalize-DGwAMlRi.js → onboarding.finalize-DufFKTf4.js} +4 -4
- package/dist/{onboarding.gateway-config-aIrdqmcQ.js → onboarding.gateway-config-BmaAH8uo.js} +23 -23
- package/dist/{openai-model-default-BDH_OYY8.js → openai-model-default-BeRT9S75.js} +4 -4
- package/dist/{pairing-cli-PrIxvqnD.js → pairing-cli-DdtW6Nu-.js} +17 -17
- package/dist/{pairing-store-DmCi9E47.js → pairing-store-mmeniyUt.js} +5 -5
- package/dist/{pairing-token-BmIoXjHZ.js → pairing-token-CURbSHdi.js} +2 -2
- package/dist/{path-env-CRW1aXZp.js → path-env-DuQralyy.js} +3 -3
- package/dist/{paths-Cqn-zk3M.js → paths-BSzKwaxE.js} +1 -1
- package/dist/paths-BeAyfCRg.js +127 -0
- package/dist/{paths-CdGa1jlU.js → paths-CJcw9nbZ.js} +3 -3
- package/dist/{paths-DvXvD4Xu.js → paths-Dc6A9_vI.js} +2 -2
- package/dist/{pi-auth-json-DhbhmAvs.js → pi-auth-json-1Z1j1PDI.js} +1 -1
- package/dist/{pi-auth-json-ChKC--mV.js → pi-auth-json-D4Bl4hBw.js} +1 -1
- package/dist/{pi-embedded-hri4e4ie.js → pi-embedded-DoWU3tbW.js} +22 -239
- package/dist/{pi-embedded-helpers-VZo1D4Ck.js → pi-embedded-helpers-BRM8EM4P.js} +5 -5
- package/dist/{pi-tools.policy-DrRZdkk0.js → pi-tools.policy-BBHbN8Nh.js} +6 -6
- package/dist/{plugin-auto-enable-BV-thF8P.js → plugin-auto-enable-BCwyDNSP.js} +4 -4
- package/dist/{plugin-registry-CYEwOWqU.js → plugin-registry-BybhOEu2.js} +5 -5
- package/dist/{plugin-registry-q_UuFncy.js → plugin-registry-CFRFz2CF.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +0 -2
- package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -2
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/reply/middleware-transcript-update.d.ts +1 -8
- package/dist/plugin-sdk/auto-reply/reply/model-selection.d.ts +0 -3
- package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +1 -3
- package/dist/plugin-sdk/auto-reply/reply/payload-middleware.d.ts +0 -2
- package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +5 -3
- package/dist/plugin-sdk/auto-reply/tokens.d.ts +0 -3
- package/dist/plugin-sdk/auto-reply/types.d.ts +0 -3
- package/dist/plugin-sdk/gateway/outbound-filter.d.ts +6 -11
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/plugin-sdk/infra/agent-events.d.ts +0 -1
- package/dist/{plugins-BG2b7dR_.js → plugins-CcVzjOo_.js} +1 -1
- package/dist/{plugins-CYQOjCDt.js → plugins-DuuHorqi.js} +3 -3
- package/dist/{plugins-cli-DE_0PdqM.js → plugins-cli-D9jv4SGt.js} +8 -8
- package/dist/{plugins-cli-CR1PAkGv.js → plugins-cli-Dw_F4XTt.js} +86 -86
- package/dist/{ports-DfsXfAsq.js → ports-DRHSHvqY.js} +2 -2
- package/dist/{ports-LzI_-wEZ.js → ports-DqxP-bXz.js} +5 -5
- package/dist/{program-x8XxEZXE.js → program-BijlJds3.js} +13 -13
- package/dist/{program-context-CvgJOZ3Q.js → program-context-f_krhr6H.js} +39 -39
- package/dist/{progress-B6mhJhX6.js → progress-CyPyGCDn.js} +2 -2
- package/dist/{prompt-select-styled-CFeLUnsr.js → prompt-select-styled-D4Dl6PAx.js} +45 -45
- package/dist/{prompt-select-styled-BFV2QYJC.js → prompt-select-styled-wUs9hOXT.js} +4 -4
- package/dist/{prompt-style-DtQMGj0v.js → prompt-style-Cad0BDRS.js} +1 -1
- package/dist/{provider-auth-helpers-D2GLBV7U.js → provider-auth-helpers-B0LgxUJm.js} +1 -1
- package/dist/{provider-auth-helpers-C-Cv3SZA.js → provider-auth-helpers-Dqg9CSy6.js} +7 -7
- package/dist/{push-apns-9XQgEWxs.js → push-apns-C8U43QIp.js} +1 -1
- package/dist/{push-apns-DTqLWoEj.js → push-apns-DBG95KxK.js} +8 -8
- package/dist/{pw-ai-D5WlMgqy.js → pw-ai-BHSw4eGG.js} +8 -8
- package/dist/{pw-ai-Bb4P23-n.js → pw-ai-BW5obXRK.js} +18 -18
- package/dist/{qmd-manager-92cDmzSO.js → qmd-manager-C-J9Sfjk.js} +12 -12
- package/dist/{qmd-manager-D6ABQ2yd.js → qmd-manager-CTHJcHPq.js} +3 -3
- package/dist/{qr-cli-B_kge4ua.js → qr-cli-BIdgVMK1.js} +12 -12
- package/dist/{register.agent-C-p6kDhf.js → register.agent-B0UZREcL.js} +103 -103
- package/dist/{register.agent-D9FfFyh0.js → register.agent-BQa36aBT.js} +12 -12
- package/dist/register.configure-C2da871z.js +129 -0
- package/dist/{register.configure-CtbO9t7v.js → register.configure-DXxKMVFv.js} +11 -11
- package/dist/{register.maintenance-Dy8l8hKt.js → register.maintenance-CU2sJOVr.js} +106 -106
- package/dist/{register.maintenance-h-CVvMpP.js → register.maintenance-DUuHNER1.js} +12 -12
- package/dist/{register.message-CaOagrcp.js → register.message-DIDXm7JJ.js} +81 -81
- package/dist/{register.message-DFytf1Dr.js → register.message-zAQ9mzwS.js} +8 -8
- package/dist/{register.onboard-SunldfQB.js → register.onboard-BQrBlJMk.js} +45 -45
- package/dist/{register.onboard-BAQSWmTB.js → register.onboard-xApCQkav.js} +2 -2
- package/dist/{register.setup-D3uuohUQ.js → register.setup-C3DgnQee.js} +45 -45
- package/dist/{register.setup-BnuPTj2h.js → register.setup-CfJlyVIU.js} +2 -2
- package/dist/{register.status-health-sessions-CPcQpUNU.js → register.status-health-sessions-CZKtQH3R.js} +68 -68
- package/dist/{register.status-health-sessions-azKiEST-.js → register.status-health-sessions-D7eQHV4A.js} +3 -3
- package/dist/{register.subclis-Di2DRNVF.js → register.subclis-DBKLQ-vk.js} +9 -9
- package/dist/{registry-CtguoMhn.js → registry-DKJLAPDB.js} +4 -4
- package/dist/{replies-CgVOirGF.js → replies-BOy28KVL.js} +1 -1
- package/dist/{replies-pnMj7AtP.js → replies-BeK3uuQ8.js} +1 -1
- package/dist/{replies-BUaT9S6J.js → replies-C82xaXm3.js} +3 -3
- package/dist/{replies-CvuXRwhI.js → replies-P7jbK6Bo.js} +3 -3
- package/dist/{reply-prefix-ClUrRCRd.js → reply-prefix-xaWqfM9m.js} +1 -1
- package/dist/{resolve-route-BLDKso2x.js → resolve-route-CIS2tjpz.js} +1 -1
- package/dist/{resolve-route-C0EHjIMD.js → resolve-route-DKhx5C-P.js} +6 -6
- package/dist/{routes-BFfAPz_0.js → routes-BJ2iXVJF.js} +9 -9
- package/dist/{rpc-CQUsmQ6_.js → rpc-CSI4uFgj.js} +3 -3
- package/dist/{run-main-BhJ6M7oy.js → run-main-C_9MD69x.js} +20 -20
- package/dist/{runtime-guard-Btd35-OG.js → runtime-guard-BZ3_1QqS.js} +1 -1
- package/dist/{sandbox-sayuve7z.js → sandbox-CQU7Gcb9.js} +16 -16
- package/dist/{sandbox-cli-Dyh_eqHp.js → sandbox-cli-Ci90LP_X.js} +37 -37
- package/dist/{security-cli-B5XGCe-n.js → security-cli-BfOZ_cJN.js} +47 -47
- package/dist/{send-B-tsyoRw.js → send-BAKkoPOy.js} +10 -10
- package/dist/{send-dfhV1QIV.js → send-DulXmWcG.js} +5 -5
- package/dist/{server-context-hxl_K7eY.js → server-context-BsMQBnUG.js} +11 -11
- package/dist/{server-methods-MUFuMWc_.js → server-methods-B4kcazJq.js} +49 -381
- package/dist/{server-methods-3uA_KwN4.js → server-methods-BLH71I9g.js} +9 -341
- package/dist/{server-node-events-FUPulMjB.js → server-node-events-BercSdmp.js} +82 -82
- package/dist/{server-node-events-DkbyHj1T.js → server-node-events-DO4ug_A0.js} +9 -9
- package/dist/{service-B5aOZmQH.js → service-AP9pR9R5.js} +1 -1
- package/dist/{session-cost-usage-DQjHUno0.js → session-cost-usage-DYcv40ss.js} +3 -3
- package/dist/{session-utils-C6O0Db39.js → session-utils-0F9pB5d6.js} +15 -15
- package/dist/{sessions-oPVoK2gW.js → sessions-DQMaURzb.js} +16 -16
- package/dist/{shared-BJxR-kzm.js → shared-4Z8Ut8Cs.js} +5 -5
- package/dist/{shared-E4KDN3LG.js → shared-DmYHvtn2.js} +3 -3
- package/dist/{skill-commands-CfGPouRa.js → skill-commands-Cwrebyvj.js} +2 -2
- package/dist/{skill-commands-4afIEM1a.js → skill-commands-DP1fshwh.js} +4 -4
- package/dist/{skill-scanner-BGtq5jZi.js → skill-scanner-qMQf6-FN.js} +2 -2
- package/dist/{skills-Kt1PL_Um.js → skills-D0k4o0Ez.js} +2 -2
- package/dist/{skills-BF_e-fYt.js → skills-DL8DjveU.js} +6 -6
- package/dist/{skills-cli-BlFM1U3r.js → skills-cli-BkIH3HKr.js} +19 -19
- package/dist/{skills-install-miTQGOBQ.js → skills-install-C9uT4MR2.js} +9 -9
- package/dist/{skills-remote-Ch1B-1aN.js → skills-remote-Db5Wwr4s.js} +6 -6
- package/dist/{skills-status-CFVFYR-o.js → skills-status-Dx3Lf5iU.js} +4 -4
- package/dist/{sqlite-BKMdYqso.js → sqlite--aBEq1-J.js} +2 -2
- package/dist/{sqlite-CfMLToLW.js → sqlite-DBEvS-Ne.js} +4 -4
- package/dist/{ssrf-LaudpmHD.js → ssrf-Dcgaqg3U.js} +2 -2
- package/dist/{status-BNH-f3PA.js → status-3CIcz22o.js} +4 -4
- package/dist/{status-C7F7r-qN.js → status-BdrH4P1l.js} +1 -1
- package/dist/{status-B-XD80Yl.js → status-DA_sl7Yp.js} +32 -32
- package/dist/{status-CCgqMBwp.js → status-uVc7h7PN.js} +1 -1
- package/dist/{status.update-B9WCVHPy.js → status.update-CQ1vKrEg.js} +4 -4
- package/dist/{subagent-registry-z08a8MUS.js → subagent-registry-CgZDo35C.js} +24 -243
- package/dist/{subsystem-CgepNOk5.js → subsystem-CtH6J8AV.js} +1 -1
- package/dist/{symi-root-7ei1lwo0.js → symi-root-DueRHNOE.js} +1 -1
- package/dist/{synthesis-Dlweuq0p.js → synthesis-B_K7BSX3.js} +27 -27
- package/dist/{synthesis-ByjLMHMS.js → synthesis-DmdaBp-J.js} +5 -5
- package/dist/{synthesis-D4iCZvKx.js → synthesis-DwfzSD3_.js} +7 -7
- package/dist/{synthesis-CjFmYp54.js → synthesis-w1oM0_-6.js} +78 -78
- package/dist/{system-cli-Ccu9utFt.js → system-cli-5_JOcUt0.js} +19 -19
- package/dist/{systemd-ChKNxGyT.js → systemd-9LEEqibe.js} +3 -3
- package/dist/{systemd-hints-hoofHqb7.js → systemd-hints-CeavseQh.js} +4 -4
- package/dist/{systemd-linger-DLgi3jd0.js → systemd-linger-PqG8iGCt.js} +2 -2
- package/dist/{table-Cyd0-LaL.js → table-DkAQzCOR.js} +2 -2
- package/dist/{tailscale-D3KwzQUZ.js → tailscale-D7dC-5EX.js} +3 -3
- package/dist/{thinking-nf5YVDrR.js → thinking-CMIo8E_E.js} +1 -1
- package/dist/{tokens-B24nv23l.js → tokens-BBh6tlmO.js} +1 -4
- package/dist/{tokens-DfB8vBa4.js → tokens-BKbemuIk.js} +2 -5
- package/dist/{tokens-CGqnWNmv.js → tokens-CJgPtOxz.js} +1 -4
- package/dist/{tokens-DJQ4rO24.js → tokens-K3kGchJA.js} +1 -4
- package/dist/{tool-display-D1Hh5TqL.js → tool-display-Dr6VaTg5.js} +2 -2
- package/dist/{tool-loop-detection-BxrJfVQU.js → tool-loop-detection-CSSq5kkt.js} +4 -4
- package/dist/transcript-events-JGGQViao.js +17 -0
- package/dist/{trash-oWw0M_xA.js → trash-BjVrPcAx.js} +2 -2
- package/dist/{tui-DqMRn1zF.js → tui-Bnusp3Vd.js} +12 -12
- package/dist/{tui-cli-sRKxOjmC.js → tui-cli-BY8W9Yjm.js} +43 -43
- package/dist/{unified-runner-CBVGL54b.js → unified-runner-BPgxfuKU.js} +98 -316
- package/dist/{unified-runner-Uyw1gZOm.js → unified-runner-DzycRpag.js} +146 -365
- package/dist/{update-rop24lF7.js → update-BvDXKE6K.js} +3 -3
- package/dist/{update-check-CC111uwU.js → update-check-CZxZhEXr.js} +2 -2
- package/dist/{update-cli-CH7SLjSd.js → update-cli-C4I2k2u9.js} +12 -12
- package/dist/{update-cli-BbtFbkK5.js → update-cli-DYYKfrbM.js} +116 -116
- package/dist/{update-runner-B0L2a2rW.js → update-runner-C8L4XRQb.js} +6 -6
- package/dist/{utils-AQWIWjGu.js → utils-BU8jVQFM.js} +2 -2
- package/dist/{webhooks-cli-CFMpDwWL.js → webhooks-cli-CXbv4eB6.js} +17 -17
- package/dist/{widearea-dns-DxpPXWPv.js → widearea-dns-C5NqCQ3L.js} +2 -2
- package/dist/{with-timeout-Bxn0qVBQ.js → with-timeout-C0UtpXBj.js} +2 -2
- package/dist/{workspace-StbmAqYj.js → workspace-B_xyjOdv.js} +4 -4
- package/dist/{workspace-dirs-B5axjz_-.js → workspace-dirs-gn_0yzFP.js} +1 -1
- package/dist/{ws-FAiTi9-v.js → ws-CahTJvD6.js} +1 -1
- package/package.json +1 -1
- package/dist/cli-iz9sMJ9d.js +0 -128
- package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +0 -26
- package/dist/plugin-sdk/auto-reply/reply/middleware-heartbeat-strip.d.ts +0 -25
- package/dist/plugin-sdk/gateway/server-chat.d.ts +0 -49
- package/dist/register.configure-D69HXLo4.js +0 -129
- package/dist/{boolean-B8-BqKGQ.js → boolean-Wzu0-e0P.js} +0 -0
- package/dist/{boolean-BgXe2hyu.js → boolean-mcn6kL0s.js} +0 -0
- package/dist/{brew-ip7v32wW.js → brew-BoKmB5x9.js} +1 -1
- /package/dist/{chat-type-B2TfTsnW.js → chat-type-B7XD_ESN.js} +0 -0
- /package/dist/{chat-type-BoBpxitL.js → chat-type-BPBtOjer.js} +0 -0
- /package/dist/{chunk-Ds8SZRkS.js → chunk-5H33X8qU.js} +0 -0
- /package/dist/{command-format-CyXZlazG.js → command-format-BvAkTjTI.js} +0 -0
- /package/dist/{github-copilot-token-BUd9oA8x.js → github-copilot-token-B31ugq7R.js} +0 -0
- /package/dist/{input-provenance-iBlnbS1d.js → input-provenance-DsLesw6T.js} +0 -0
- /package/dist/{legacy-names-BlIw4lsD.js → legacy-names-sghWmXe3.js} +0 -0
- /package/dist/{local-roots-DtvYChMM.js → local-roots-WWcVq0Ma.js} +0 -0
- /package/dist/{redact-CozCe54d.js → redact-CSc_2Nka.js} +0 -0
- /package/dist/{redact-DPnDWsnT.js → redact-Dd8jrogi.js} +0 -0
- /package/dist/{secret-equal-DjTAoH50.js → secret-equal-D1BCVB1D.js} +0 -0
- /package/dist/{session-key-DUSb7CCb.js → session-key-B_ZVH1kE.js} +0 -0
- /package/dist/{ssrf-Cirmgays.js → ssrf-CC9kEPCT.js} +0 -0
- /package/dist/{tailnet-BruyvjMC.js → tailnet-LYvn9g3I.js} +0 -0
- /package/dist/{thinking-BTh3b5vY.js → thinking-177f26eg.js} +0 -0
- /package/dist/{transcript-events-BOK6eOU8.js → transcript-events-Ch7wLX-j.js} +0 -0
- /package/dist/{transcript-tools--a2pL_yH.js → transcript-tools-CrMLYORt.js} +0 -0
|
@@ -9,8 +9,8 @@ import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as reso
|
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BbsJ0Qbo.js";
|
|
10
10
|
import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
|
|
11
11
|
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-Cp39v6b_.js";
|
|
12
|
-
import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-
|
|
13
|
-
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-
|
|
12
|
+
import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-BeK3uuQ8.js";
|
|
13
|
+
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-i5knkyHl.js";
|
|
14
14
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BvZmqxYI.js";
|
|
15
15
|
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-CWtaDOiK.js";
|
|
16
16
|
import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-BjnT3w_x.js";
|
|
@@ -20,12 +20,12 @@ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecure
|
|
|
20
20
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-xmXjOnAV.js";
|
|
21
21
|
import { n as redactToolDetail } from "./redact-ojHFHOAb.js";
|
|
22
22
|
import { n as formatErrorMessage } from "./errors-C6sHIFo_.js";
|
|
23
|
-
import {
|
|
23
|
+
import { _ as kindFromMime, c as getImageMetadata, d as resizeToJpeg, f as detectMime, g as isAudioFileName, h as imageMimeFromFormat, i as getDefaultMediaLocalRoots, m as getFileExtension, n as isSilentReplyText, p as extensionForMime, t as SILENT_REPLY_TOKEN, v as normalizeMimeType$1, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./tokens-CJgPtOxz.js";
|
|
24
24
|
import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as normalizeAtHashSlug, h as resolveChannelGroupToolsPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupRequireMention, n as formatXHighModelHint, o as normalizeThinkLevel, p as resolveChannelGroupPolicy, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeStringEntries, y as normalizeStringEntriesLower } from "./thinking-BKsvyjWX.js";
|
|
25
25
|
import { n as resolveConversationLabel } from "./conversation-label-CPUfoQmh.js";
|
|
26
26
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-N698mtPE.js";
|
|
27
27
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-fUhPZcB5.js";
|
|
28
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-
|
|
28
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-ue49bRVP.js";
|
|
29
29
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DWs9CjHs.js";
|
|
30
30
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-BtWlyyt1.js";
|
|
31
31
|
import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-BO62ZyK2.js";
|
|
@@ -1028,7 +1028,7 @@ async function getMemorySearchManager(params) {
|
|
|
1028
1028
|
const wrapper = new FallbackMemoryManager({
|
|
1029
1029
|
primary,
|
|
1030
1030
|
fallbackFactory: async () => {
|
|
1031
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1031
|
+
const { MemoryIndexManager } = await import("./manager-ue49bRVP.js").then((n) => n.t);
|
|
1032
1032
|
return await MemoryIndexManager.get(params);
|
|
1033
1033
|
}
|
|
1034
1034
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -1041,7 +1041,7 @@ async function getMemorySearchManager(params) {
|
|
|
1041
1041
|
}
|
|
1042
1042
|
}
|
|
1043
1043
|
try {
|
|
1044
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1044
|
+
const { MemoryIndexManager } = await import("./manager-ue49bRVP.js").then((n) => n.t);
|
|
1045
1045
|
return { manager: await MemoryIndexManager.get(params) };
|
|
1046
1046
|
} catch (err) {
|
|
1047
1047
|
return {
|
|
@@ -4162,9 +4162,6 @@ function randomIdempotencyKey() {
|
|
|
4162
4162
|
const seqByRun = /* @__PURE__ */ new Map();
|
|
4163
4163
|
const listeners = /* @__PURE__ */ new Set();
|
|
4164
4164
|
const runContextById = /* @__PURE__ */ new Map();
|
|
4165
|
-
function getAgentRunContext(runId) {
|
|
4166
|
-
return runContextById.get(runId);
|
|
4167
|
-
}
|
|
4168
4165
|
function emitAgentEvent(event) {
|
|
4169
4166
|
const nextSeq = (seqByRun.get(event.runId) ?? 0) + 1;
|
|
4170
4167
|
seqByRun.set(event.runId, nextSeq);
|
|
@@ -4640,97 +4637,6 @@ function clearSessionQueues(keys) {
|
|
|
4640
4637
|
};
|
|
4641
4638
|
}
|
|
4642
4639
|
|
|
4643
|
-
//#endregion
|
|
4644
|
-
//#region src/auto-reply/heartbeat.ts
|
|
4645
|
-
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
4646
|
-
function stripTokenAtEdges(raw) {
|
|
4647
|
-
let text = raw.trim();
|
|
4648
|
-
if (!text) return {
|
|
4649
|
-
text: "",
|
|
4650
|
-
didStrip: false
|
|
4651
|
-
};
|
|
4652
|
-
const token = SYMIPULSE_TOKEN;
|
|
4653
|
-
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
4654
|
-
if (!text.includes(token)) return {
|
|
4655
|
-
text,
|
|
4656
|
-
didStrip: false
|
|
4657
|
-
};
|
|
4658
|
-
let didStrip = false;
|
|
4659
|
-
let changed = true;
|
|
4660
|
-
while (changed) {
|
|
4661
|
-
changed = false;
|
|
4662
|
-
const next = text.trim();
|
|
4663
|
-
if (next.startsWith(token)) {
|
|
4664
|
-
text = next.slice(token.length).trimStart();
|
|
4665
|
-
didStrip = true;
|
|
4666
|
-
changed = true;
|
|
4667
|
-
continue;
|
|
4668
|
-
}
|
|
4669
|
-
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
4670
|
-
const idx = next.lastIndexOf(token);
|
|
4671
|
-
const before = next.slice(0, idx).trimEnd();
|
|
4672
|
-
if (!before) text = "";
|
|
4673
|
-
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
4674
|
-
didStrip = true;
|
|
4675
|
-
changed = true;
|
|
4676
|
-
}
|
|
4677
|
-
}
|
|
4678
|
-
return {
|
|
4679
|
-
text: text.replace(/\s+/g, " ").trim(),
|
|
4680
|
-
didStrip
|
|
4681
|
-
};
|
|
4682
|
-
}
|
|
4683
|
-
function stripHeartbeatToken(raw, opts = {}) {
|
|
4684
|
-
if (!raw) return {
|
|
4685
|
-
shouldSkip: true,
|
|
4686
|
-
text: "",
|
|
4687
|
-
didStrip: false
|
|
4688
|
-
};
|
|
4689
|
-
const trimmed = raw.trim();
|
|
4690
|
-
if (!trimmed) return {
|
|
4691
|
-
shouldSkip: true,
|
|
4692
|
-
text: "",
|
|
4693
|
-
didStrip: false
|
|
4694
|
-
};
|
|
4695
|
-
const mode = opts.mode ?? "message";
|
|
4696
|
-
const maxAckCharsRaw = opts.maxAckChars;
|
|
4697
|
-
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
4698
|
-
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
4699
|
-
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
4700
|
-
const trimmedNormalized = stripMarkup(trimmed);
|
|
4701
|
-
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
4702
|
-
shouldSkip: false,
|
|
4703
|
-
text: trimmed,
|
|
4704
|
-
didStrip: false
|
|
4705
|
-
};
|
|
4706
|
-
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
4707
|
-
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
4708
|
-
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
4709
|
-
if (!picked.didStrip) return {
|
|
4710
|
-
shouldSkip: false,
|
|
4711
|
-
text: trimmed,
|
|
4712
|
-
didStrip: false
|
|
4713
|
-
};
|
|
4714
|
-
if (!picked.text) return {
|
|
4715
|
-
shouldSkip: true,
|
|
4716
|
-
text: "",
|
|
4717
|
-
didStrip: true
|
|
4718
|
-
};
|
|
4719
|
-
const rest = picked.text.trim();
|
|
4720
|
-
if (mode === "heartbeat") {
|
|
4721
|
-
if (rest.length <= maxAckChars) return {
|
|
4722
|
-
shouldSkip: true,
|
|
4723
|
-
text: "",
|
|
4724
|
-
didStrip: true
|
|
4725
|
-
};
|
|
4726
|
-
}
|
|
4727
|
-
return {
|
|
4728
|
-
shouldSkip: false,
|
|
4729
|
-
text: rest,
|
|
4730
|
-
didStrip: true
|
|
4731
|
-
};
|
|
4732
|
-
}
|
|
4733
|
-
|
|
4734
4640
|
//#endregion
|
|
4735
4641
|
//#region src/auto-reply/reply/normalize-reply.ts
|
|
4736
4642
|
function normalizeReplyPayload(payload, opts = {}) {
|
|
@@ -4751,15 +4657,6 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
4751
4657
|
text = "";
|
|
4752
4658
|
}
|
|
4753
4659
|
if (text && !trimmed) text = "";
|
|
4754
|
-
if ((opts.stripHeartbeat ?? true) && text?.includes(HEARTBEAT_TOKEN)) {
|
|
4755
|
-
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
4756
|
-
if (stripped.didStrip) opts.onHeartbeatStrip?.();
|
|
4757
|
-
if (stripped.shouldSkip && !hasMedia && !hasChannelData) {
|
|
4758
|
-
opts.onSkip?.("heartbeat");
|
|
4759
|
-
return null;
|
|
4760
|
-
}
|
|
4761
|
-
text = stripped.text;
|
|
4762
|
-
}
|
|
4763
4660
|
if (text) text = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
|
|
4764
4661
|
if (!text?.trim() && !hasMedia && !hasChannelData) {
|
|
4765
4662
|
opts.onSkip?.("empty");
|
|
@@ -4770,7 +4667,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
4770
4667
|
text
|
|
4771
4668
|
};
|
|
4772
4669
|
const effectivePrefix = opts.responsePrefixContext ? resolveResponsePrefixTemplate(opts.responsePrefix, opts.responsePrefixContext) : opts.responsePrefix;
|
|
4773
|
-
if (effectivePrefix && text &&
|
|
4670
|
+
if (effectivePrefix && text && !text.startsWith(effectivePrefix)) text = `${effectivePrefix} ${text}`;
|
|
4774
4671
|
return {
|
|
4775
4672
|
...enrichedPayload,
|
|
4776
4673
|
text
|
|
@@ -4827,7 +4724,7 @@ async function routeReply(params) {
|
|
|
4827
4724
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
4828
4725
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
4829
4726
|
try {
|
|
4830
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
4727
|
+
const { deliverOutboundPayloads } = await import("./deliver-i5knkyHl.js").then((n) => n.n);
|
|
4831
4728
|
return {
|
|
4832
4729
|
ok: true,
|
|
4833
4730
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -10503,8 +10400,7 @@ async function incrementCompactionCount(params) {
|
|
|
10503
10400
|
//#endregion
|
|
10504
10401
|
//#region src/auto-reply/reply/typing-mode.ts
|
|
10505
10402
|
const DEFAULT_GROUP_TYPING_MODE = "message";
|
|
10506
|
-
function resolveTypingMode({ configured, isGroupChat, wasMentioned
|
|
10507
|
-
if (isHeartbeat) return "never";
|
|
10403
|
+
function resolveTypingMode({ configured, isGroupChat, wasMentioned }) {
|
|
10508
10404
|
if (configured) return configured;
|
|
10509
10405
|
if (!isGroupChat || wasMentioned) return "instant";
|
|
10510
10406
|
return DEFAULT_GROUP_TYPING_MODE;
|
|
@@ -10538,12 +10434,11 @@ async function prepareAgentRun(params) {
|
|
|
10538
10434
|
const isFirstTurnInSession = isNewSession || !currentSystemSent;
|
|
10539
10435
|
const isGroupChat = sessionCtx.ChatType === "group";
|
|
10540
10436
|
const wasMentioned = ctx.WasMentioned === true;
|
|
10541
|
-
const isHeartbeat = opts?.isHeartbeat === true;
|
|
10542
10437
|
const typingMode = resolveTypingMode({
|
|
10543
10438
|
configured: sessionCfg?.typingMode ?? agentCfg?.typingMode,
|
|
10544
10439
|
isGroupChat,
|
|
10545
10440
|
wasMentioned,
|
|
10546
|
-
isHeartbeat
|
|
10441
|
+
isHeartbeat: false
|
|
10547
10442
|
});
|
|
10548
10443
|
const shouldInjectGroupIntro = Boolean(isGroupChat && (isFirstTurnInSession || sessionEntry?.groupActivationNeedsSystemIntro));
|
|
10549
10444
|
const groupChatContext = isGroupChat ? buildGroupChatContext({ sessionCtx }) : "";
|
|
@@ -14577,8 +14472,7 @@ async function createModelSelectionState(params) {
|
|
|
14577
14472
|
sessionKey,
|
|
14578
14473
|
parentSessionKey
|
|
14579
14474
|
});
|
|
14580
|
-
|
|
14581
|
-
if (storedOverride?.model && !skipStoredOverride) {
|
|
14475
|
+
if (storedOverride?.model) {
|
|
14582
14476
|
const candidateProvider = storedOverride.provider || defaultProvider;
|
|
14583
14477
|
const key = modelKey(candidateProvider, storedOverride.model);
|
|
14584
14478
|
if (allowedModelKeys.size === 0 || allowedModelKeys.has(key)) {
|
|
@@ -23510,8 +23404,6 @@ function buildAgentSystemPrompt(params) {
|
|
|
23510
23404
|
const reasoningLevel = params.reasoningLevel ?? "off";
|
|
23511
23405
|
const userTimezone = params.userTimezone?.trim();
|
|
23512
23406
|
const skillsPrompt = params.skillsPrompt?.trim();
|
|
23513
|
-
const heartbeatPrompt = params.heartbeatPrompt?.trim();
|
|
23514
|
-
const heartbeatPromptLine = heartbeatPrompt ? `Heartbeat prompt: ${heartbeatPrompt}` : "Heartbeat prompt: (configured)";
|
|
23515
23407
|
const runtimeInfo = params.runtimeInfo;
|
|
23516
23408
|
const runtimeChannel = runtimeInfo?.channel?.trim().toLowerCase();
|
|
23517
23409
|
const runtimeCapabilities = (runtimeInfo?.capabilities ?? []).map((cap) => String(cap).trim()).filter(Boolean);
|
|
@@ -23724,7 +23616,6 @@ function buildAgentSystemPrompt(params) {
|
|
|
23724
23616
|
for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
|
|
23725
23617
|
}
|
|
23726
23618
|
if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
|
|
23727
|
-
if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
|
|
23728
23619
|
lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
|
|
23729
23620
|
return lines.filter(Boolean).join("\n");
|
|
23730
23621
|
}
|
|
@@ -23854,7 +23745,6 @@ async function resolveCommandsSystemPromptBundle(params) {
|
|
|
23854
23745
|
userTimeFormat,
|
|
23855
23746
|
contextFiles: injectedFiles,
|
|
23856
23747
|
skillsPrompt,
|
|
23857
|
-
heartbeatPrompt: void 0,
|
|
23858
23748
|
runtimeInfo,
|
|
23859
23749
|
sandboxInfo,
|
|
23860
23750
|
memoryCitationsMode: params.cfg?.memory?.citations
|
|
@@ -28058,7 +27948,7 @@ function resolveExecOverrides(params) {
|
|
|
28058
27948
|
};
|
|
28059
27949
|
}
|
|
28060
27950
|
async function resolveReplyDirectives(params) {
|
|
28061
|
-
const { ctx, cfg, agentId, agentCfg, agentDir, workspaceDir, sessionCtx, sessionEntry, sessionStore, sessionKey, storePath, sessionScope, groupResolution, isGroup, triggerBodyNormalized, commandAuthorized, defaultProvider, defaultModel, provider: initialProvider, model: initialModel,
|
|
27951
|
+
const { ctx, cfg, agentId, agentCfg, agentDir, workspaceDir, sessionCtx, sessionEntry, sessionStore, sessionKey, storePath, sessionScope, groupResolution, isGroup, triggerBodyNormalized, commandAuthorized, defaultProvider, defaultModel, provider: initialProvider, model: initialModel, typing, opts, skillFilter } = params;
|
|
28062
27952
|
let provider = initialProvider;
|
|
28063
27953
|
let model = initialModel;
|
|
28064
27954
|
const commandSource = sessionCtx.BodyForCommands ?? sessionCtx.CommandBody ?? sessionCtx.RawBody ?? sessionCtx.Transcript ?? sessionCtx.BodyStripped ?? sessionCtx.Body ?? ctx.BodyForCommands ?? ctx.CommandBody ?? ctx.RawBody ?? "";
|
|
@@ -28199,8 +28089,7 @@ async function resolveReplyDirectives(params) {
|
|
|
28199
28089
|
defaultModel,
|
|
28200
28090
|
provider,
|
|
28201
28091
|
model,
|
|
28202
|
-
hasModelDirective: directives.hasModelDirective
|
|
28203
|
-
hasResolvedHeartbeatModelOverride
|
|
28092
|
+
hasModelDirective: directives.hasModelDirective
|
|
28204
28093
|
});
|
|
28205
28094
|
provider = modelState.provider;
|
|
28206
28095
|
model = modelState.model;
|
|
@@ -38907,7 +38796,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
38907
38796
|
return;
|
|
38908
38797
|
}
|
|
38909
38798
|
try {
|
|
38910
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
38799
|
+
const { deliverOutboundPayloads } = await import("./deliver-i5knkyHl.js").then((n) => n.n);
|
|
38911
38800
|
await deliverOutboundPayloads({
|
|
38912
38801
|
cfg: params.cfg,
|
|
38913
38802
|
channel,
|
|
@@ -39581,20 +39470,6 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39581
39470
|
});
|
|
39582
39471
|
let provider = defaultProvider;
|
|
39583
39472
|
let model = defaultModel;
|
|
39584
|
-
let hasResolvedHeartbeatModelOverride = false;
|
|
39585
|
-
if (opts?.isHeartbeat) {
|
|
39586
|
-
const heartbeatRaw = opts.heartbeatModelOverride?.trim() ?? agentCfg?.heartbeat?.model?.trim() ?? "";
|
|
39587
|
-
const heartbeatRef = heartbeatRaw ? resolveModelRefFromString({
|
|
39588
|
-
raw: heartbeatRaw,
|
|
39589
|
-
defaultProvider,
|
|
39590
|
-
aliasIndex
|
|
39591
|
-
}) : null;
|
|
39592
|
-
if (heartbeatRef) {
|
|
39593
|
-
provider = heartbeatRef.ref.provider;
|
|
39594
|
-
model = heartbeatRef.ref.model;
|
|
39595
|
-
hasResolvedHeartbeatModelOverride = true;
|
|
39596
|
-
}
|
|
39597
|
-
}
|
|
39598
39473
|
const workspaceDir = (await ensureAgentWorkspace({
|
|
39599
39474
|
dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
|
|
39600
39475
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
@@ -39673,8 +39548,7 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39673
39548
|
groupSubject: sessionEntry.subject ?? sessionCtx.GroupSubject ?? finalized.GroupSubject,
|
|
39674
39549
|
parentSessionKey: sessionCtx.ParentSessionKey
|
|
39675
39550
|
});
|
|
39676
|
-
|
|
39677
|
-
if (!hasResolvedHeartbeatModelOverride && !hasSessionModelOverride && channelModelOverride) {
|
|
39551
|
+
if (!Boolean(sessionEntry.modelOverride?.trim() || sessionEntry.providerOverride?.trim()) && channelModelOverride) {
|
|
39678
39552
|
const resolved = resolveModelRefFromString({
|
|
39679
39553
|
raw: channelModelOverride.model,
|
|
39680
39554
|
defaultProvider,
|
|
@@ -39707,7 +39581,6 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39707
39581
|
aliasIndex,
|
|
39708
39582
|
provider,
|
|
39709
39583
|
model,
|
|
39710
|
-
hasResolvedHeartbeatModelOverride,
|
|
39711
39584
|
typing,
|
|
39712
39585
|
opts: resolvedOpts,
|
|
39713
39586
|
skillFilter: mergedSkillFilter
|
|
@@ -40385,56 +40258,24 @@ function resolveModelProfile(modelId, userProfiles) {
|
|
|
40385
40258
|
//#endregion
|
|
40386
40259
|
//#region src/gateway/outbound-filter.ts
|
|
40387
40260
|
const SILENT_REPLY_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SILENT_REPLY_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
|
|
40388
|
-
const SYMIPULSE_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SYMIPULSE_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
|
|
40389
40261
|
/** Strict-match check for the bare NO_REPLY token. */
|
|
40390
40262
|
function isBareSilentReply(text) {
|
|
40391
40263
|
if (!text) return false;
|
|
40392
40264
|
return SILENT_REPLY_BARE_RE.test(text);
|
|
40393
40265
|
}
|
|
40394
|
-
/** Strict-match check for the bare SYMIPULSE_OK token. */
|
|
40395
|
-
function isBareSymipulseAck(text) {
|
|
40396
|
-
if (!text) return false;
|
|
40397
|
-
return SYMIPULSE_BARE_RE.test(text);
|
|
40398
|
-
}
|
|
40399
40266
|
/**
|
|
40400
40267
|
* Classify an outbound assistant message at the gateway boundary.
|
|
40401
40268
|
*
|
|
40402
40269
|
* Returns a structured verdict the caller uses to decide whether to
|
|
40403
40270
|
* broadcast / persist a payload. Pure function — no side effects.
|
|
40404
40271
|
*/
|
|
40405
|
-
function classifyOutboundMessage(rawText,
|
|
40272
|
+
function classifyOutboundMessage(rawText, _opts) {
|
|
40406
40273
|
const text = typeof rawText === "string" ? rawText : "";
|
|
40407
40274
|
if (isBareSilentReply(text)) return {
|
|
40408
40275
|
action: "drop",
|
|
40409
40276
|
output: "",
|
|
40410
40277
|
reason: "silent-reply-bare"
|
|
40411
40278
|
};
|
|
40412
|
-
if (opts.isHeartbeat) {
|
|
40413
|
-
const stripped = stripHeartbeatToken(text, {
|
|
40414
|
-
mode: "heartbeat",
|
|
40415
|
-
maxAckChars: opts.heartbeatAckMaxChars
|
|
40416
|
-
});
|
|
40417
|
-
if (stripped.shouldSkip) return {
|
|
40418
|
-
action: "drop",
|
|
40419
|
-
output: "",
|
|
40420
|
-
reason: stripped.didStrip ? "symipulse-heartbeat-ack" : "silent-reply-bare"
|
|
40421
|
-
};
|
|
40422
|
-
if (stripped.didStrip) return {
|
|
40423
|
-
action: "deliver-stripped",
|
|
40424
|
-
output: stripped.text,
|
|
40425
|
-
reason: "symipulse-heartbeat-stripped"
|
|
40426
|
-
};
|
|
40427
|
-
return {
|
|
40428
|
-
action: "deliver",
|
|
40429
|
-
output: text,
|
|
40430
|
-
reason: "deliver"
|
|
40431
|
-
};
|
|
40432
|
-
}
|
|
40433
|
-
if (isBareSymipulseAck(text)) return {
|
|
40434
|
-
action: "drop",
|
|
40435
|
-
output: "",
|
|
40436
|
-
reason: "symipulse-non-heartbeat-bare"
|
|
40437
|
-
};
|
|
40438
40279
|
return {
|
|
40439
40280
|
action: "deliver",
|
|
40440
40281
|
output: text,
|
|
@@ -47595,10 +47436,8 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
47595
47436
|
ownerDisplay: params.ownerDisplay,
|
|
47596
47437
|
ownerDisplaySecret: params.ownerDisplaySecret,
|
|
47597
47438
|
reasoningTagHint: params.reasoningTagHint,
|
|
47598
|
-
heartbeatPrompt: params.heartbeatPrompt,
|
|
47599
47439
|
skillsPrompt: params.skillsPrompt,
|
|
47600
47440
|
docsPath: params.docsPath,
|
|
47601
|
-
ttsHint: params.ttsHint,
|
|
47602
47441
|
workspaceNotes: params.workspaceNotes,
|
|
47603
47442
|
reactionGuidance: params.reactionGuidance,
|
|
47604
47443
|
promptMode: params.promptMode,
|
|
@@ -48368,7 +48207,6 @@ async function runEmbeddedAttempt(params) {
|
|
|
48368
48207
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
48369
48208
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
48370
48209
|
reasoningTagHint,
|
|
48371
|
-
heartbeatPrompt: void 0,
|
|
48372
48210
|
skillsPrompt,
|
|
48373
48211
|
docsPath: docsPath ?? void 0,
|
|
48374
48212
|
workspaceNotes,
|
|
@@ -50196,8 +50034,8 @@ async function runAgentTurnImpl(params) {
|
|
|
50196
50034
|
const result = await runEmbeddedPiAgent(buildInternalParams());
|
|
50197
50035
|
const rawText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
|
|
50198
50036
|
const outboundResult = classifyOutboundMessage(rawText, {
|
|
50199
|
-
isHeartbeat:
|
|
50200
|
-
heartbeatAckMaxChars:
|
|
50037
|
+
isHeartbeat: false,
|
|
50038
|
+
heartbeatAckMaxChars: 0
|
|
50201
50039
|
});
|
|
50202
50040
|
const filteredText = outboundResult.output.trim();
|
|
50203
50041
|
const resolvedProvider = result.meta.agentMeta?.provider ?? params.provider ?? "";
|
|
@@ -50763,54 +50601,6 @@ function withFastAbort(opts) {
|
|
|
50763
50601
|
};
|
|
50764
50602
|
}
|
|
50765
50603
|
|
|
50766
|
-
//#endregion
|
|
50767
|
-
//#region src/auto-reply/reply/middleware-heartbeat-strip.ts
|
|
50768
|
-
/**
|
|
50769
|
-
* Returns a PayloadMiddleware that strips heartbeat tokens, drops silent
|
|
50770
|
-
* replies, and sanitizes user-facing text. Reads `ctx.isHeartbeat` to
|
|
50771
|
-
* decide whether to strip; reads `payload.isError` to give the sanitizer
|
|
50772
|
-
* the right context flag.
|
|
50773
|
-
*
|
|
50774
|
-
* Equivalence claim (proven by tests): for every input shape the chain's
|
|
50775
|
-
* `normalizeStreamingText({text})` would have produced `{ skip, text }`,
|
|
50776
|
-
* this middleware produces the corresponding `PayloadDelivery`:
|
|
50777
|
-
*
|
|
50778
|
-
* skip=true → delivered=false (drop)
|
|
50779
|
-
* skip=false, text=undefined → delivered=true with payload.text undefined
|
|
50780
|
-
* (media-only carry-through case)
|
|
50781
|
-
* skip=false, text=string → delivered=true with payload.text=sanitized
|
|
50782
|
-
*/
|
|
50783
|
-
function withHeartbeatStrip(opts) {
|
|
50784
|
-
let didLogStrip = false;
|
|
50785
|
-
return (next) => async (payload, ctx) => {
|
|
50786
|
-
let text = payload.text;
|
|
50787
|
-
const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
|
|
50788
|
-
if (!ctx.isHeartbeat && typeof text === "string" && text.includes("SYMIPULSE_OK")) {
|
|
50789
|
-
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
50790
|
-
if (stripped.didStrip && !didLogStrip) {
|
|
50791
|
-
didLogStrip = true;
|
|
50792
|
-
opts?.onStrip?.();
|
|
50793
|
-
}
|
|
50794
|
-
if (stripped.shouldSkip && !hasMedia) return PayloadDelivery.drop(payload, "drop:heartbeat-token-bare");
|
|
50795
|
-
text = stripped.text;
|
|
50796
|
-
}
|
|
50797
|
-
if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return PayloadDelivery.drop(payload, "drop:silent-reply");
|
|
50798
|
-
if (!text) {
|
|
50799
|
-
if (hasMedia) return next({
|
|
50800
|
-
...payload,
|
|
50801
|
-
text: void 0
|
|
50802
|
-
}, ctx);
|
|
50803
|
-
return PayloadDelivery.drop(payload, "drop:empty");
|
|
50804
|
-
}
|
|
50805
|
-
const sanitized = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
|
|
50806
|
-
if (!sanitized.trim()) return PayloadDelivery.drop(payload, "drop:empty-after-sanitize");
|
|
50807
|
-
return next({
|
|
50808
|
-
...payload,
|
|
50809
|
-
text: sanitized
|
|
50810
|
-
}, ctx);
|
|
50811
|
-
};
|
|
50812
|
-
}
|
|
50813
|
-
|
|
50814
50604
|
//#endregion
|
|
50815
50605
|
//#region src/infra/map-size.ts
|
|
50816
50606
|
function pruneMapToMaxSize(map, maxSize) {
|
|
@@ -51086,25 +50876,22 @@ function withToolResultSerialization(opts) {
|
|
|
51086
50876
|
* session transcript after the inner runner completes.
|
|
51087
50877
|
*
|
|
51088
50878
|
* Skip conditions:
|
|
51089
|
-
* - outbound.action === "drop" (NO_REPLY
|
|
50879
|
+
* - outbound.action === "drop" (NO_REPLY — no message)
|
|
51090
50880
|
* - empty / whitespace-only text
|
|
51091
|
-
* - outbound.action === "deliver-stripped" AND includeStripped=false
|
|
51092
50881
|
*
|
|
51093
50882
|
* The middleware does NOT mutate the turn result — the append is a
|
|
51094
50883
|
* post-turn side effect. The result is returned unchanged regardless of
|
|
51095
50884
|
* append success/failure.
|
|
51096
50885
|
*/
|
|
51097
50886
|
function withTranscriptUpdate(opts) {
|
|
51098
|
-
const includeStripped = opts.includeStripped !== false;
|
|
51099
50887
|
return (next) => async (params) => {
|
|
51100
50888
|
const result = await next(params);
|
|
51101
|
-
if (shouldAppend(result
|
|
50889
|
+
if (shouldAppend(result)) await runAppend(opts, params, result);
|
|
51102
50890
|
return result;
|
|
51103
50891
|
};
|
|
51104
50892
|
}
|
|
51105
|
-
function shouldAppend(result
|
|
50893
|
+
function shouldAppend(result) {
|
|
51106
50894
|
if (result.outbound.action === "drop") return false;
|
|
51107
|
-
if (result.outbound.action === "deliver-stripped" && !includeStripped) return false;
|
|
51108
50895
|
return (typeof result.text === "string" ? result.text.trim() : "").length > 0;
|
|
51109
50896
|
}
|
|
51110
50897
|
async function runAppend(opts, params, result) {
|
|
@@ -51188,7 +50975,6 @@ function buildChannelProfile(opts) {
|
|
|
51188
50975
|
],
|
|
51189
50976
|
payloadMiddlewares: [
|
|
51190
50977
|
withPayloadDropOnEmpty(),
|
|
51191
|
-
withHeartbeatStrip(),
|
|
51192
50978
|
...opts.typingSignaler ? [withTypingSignals({ signaler: opts.typingSignaler })] : [],
|
|
51193
50979
|
withToolResultSerialization(),
|
|
51194
50980
|
withChannelRouting({
|
|
@@ -51333,7 +51119,6 @@ function normalizeReplyPayloadInternal(payload, opts) {
|
|
|
51333
51119
|
return normalizeReplyPayload(payload, {
|
|
51334
51120
|
responsePrefix: opts.responsePrefix,
|
|
51335
51121
|
responsePrefixContext: prefixContext,
|
|
51336
|
-
onHeartbeatStrip: opts.onHeartbeatStrip,
|
|
51337
51122
|
onSkip: opts.onSkip
|
|
51338
51123
|
});
|
|
51339
51124
|
}
|
|
@@ -51356,7 +51141,6 @@ function createReplyDispatcher(options) {
|
|
|
51356
51141
|
responsePrefix: options.responsePrefix,
|
|
51357
51142
|
responsePrefixContext: options.responsePrefixContext,
|
|
51358
51143
|
responsePrefixContextProvider: options.responsePrefixContextProvider,
|
|
51359
|
-
onHeartbeatStrip: options.onHeartbeatStrip,
|
|
51360
51144
|
onSkip: (reason) => options.onSkip?.(payload, {
|
|
51361
51145
|
kind,
|
|
51362
51146
|
reason
|
|
@@ -56286,7 +56070,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
56286
56070
|
});
|
|
56287
56071
|
const deliverSlashPayloads = async (replies) => {
|
|
56288
56072
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
56289
|
-
import("./replies-
|
|
56073
|
+
import("./replies-BeK3uuQ8.js").then((n) => n.r),
|
|
56290
56074
|
import("./chunk-BjnT3w_x.js").then((n) => n.s),
|
|
56291
56075
|
import("./markdown-tables-BtWlyyt1.js").then((n) => n.t)
|
|
56292
56076
|
]);
|
|
@@ -59340,7 +59124,6 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
59340
59124
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
59341
59125
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
59342
59126
|
reasoningTagHint,
|
|
59343
|
-
heartbeatPrompt: void 0,
|
|
59344
59127
|
skillsPrompt,
|
|
59345
59128
|
docsPath: docsPath ?? void 0,
|
|
59346
59129
|
promptMode,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { x as truncateUtf16Safe } from "./utils-
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-
|
|
4
|
-
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-
|
|
5
|
-
import { s as normalizeThinkLevel } from "./thinking-
|
|
1
|
+
import { x as truncateUtf16Safe } from "./utils-BU8jVQFM.js";
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
|
|
3
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CQU7Gcb9.js";
|
|
4
|
+
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-C-gIIp7Q.js";
|
|
5
|
+
import { s as normalizeThinkLevel } from "./thinking-177f26eg.js";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey } from "./session-key-
|
|
2
|
-
import { r as resolveAgentConfig } from "./agent-scope-
|
|
3
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
4
|
-
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-
|
|
5
|
-
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-
|
|
6
|
-
import { l as normalizeMessageChannel } from "./message-channel-
|
|
1
|
+
import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey } from "./session-key-B_ZVH1kE.js";
|
|
2
|
+
import { r as resolveAgentConfig } from "./agent-scope-B_oqIiaD.js";
|
|
3
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CphS_6eg.js";
|
|
4
|
+
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CQU7Gcb9.js";
|
|
5
|
+
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-CnGWTXL4.js";
|
|
6
|
+
import { l as normalizeMessageChannel } from "./message-channel-C_V8IAYx.js";
|
|
7
7
|
|
|
8
8
|
//#region src/agents/sandbox-tool-policy.ts
|
|
9
9
|
function unionAllow(base, extra) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { u as
|
|
2
|
-
import {
|
|
3
|
-
import { L as normalizeProviderId } from "./auth-profiles-
|
|
4
|
-
import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-
|
|
1
|
+
import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-DKJLAPDB.js";
|
|
2
|
+
import { u as isRecord } from "./utils-BU8jVQFM.js";
|
|
3
|
+
import { L as normalizeProviderId } from "./auth-profiles-CPlXilKu.js";
|
|
4
|
+
import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-BEREnWaa.js";
|
|
5
5
|
import { t as ensurePluginAllowlisted } from "./plugins-allowlist-D2tS9tcu.js";
|
|
6
6
|
|
|
7
7
|
//#region src/config/plugin-auto-enable.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as loadSymiPlugins } from "./unified-runner-
|
|
3
|
-
import { d as getActivePluginRegistry } from "./registry-
|
|
4
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
5
|
-
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
6
|
-
import { i as loadConfig } from "./config-
|
|
2
|
+
import { s as loadSymiPlugins } from "./unified-runner-DzycRpag.js";
|
|
3
|
+
import { d as getActivePluginRegistry } from "./registry-DKJLAPDB.js";
|
|
4
|
+
import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
|
|
5
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B_oqIiaD.js";
|
|
6
|
+
import { i as loadConfig } from "./config-CphS_6eg.js";
|
|
7
7
|
|
|
8
8
|
//#region src/cli/plugin-registry.ts
|
|
9
9
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-8LjCKvga.js";
|
|
4
4
|
import { i as loadConfig } from "./config-B91360jE.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-CgZDo35C.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -16,10 +16,8 @@ export declare function buildEmbeddedSystemPrompt(params: {
|
|
|
16
16
|
ownerDisplay?: "raw" | "hash";
|
|
17
17
|
ownerDisplaySecret?: string;
|
|
18
18
|
reasoningTagHint: boolean;
|
|
19
|
-
heartbeatPrompt?: string;
|
|
20
19
|
skillsPrompt?: string;
|
|
21
20
|
docsPath?: string;
|
|
22
|
-
ttsHint?: string;
|
|
23
21
|
reactionGuidance?: {
|
|
24
22
|
level: "minimal" | "extensive";
|
|
25
23
|
channel: string;
|
|
@@ -28,7 +28,6 @@ export declare function buildAgentSystemPrompt(params: {
|
|
|
28
28
|
userTimeFormat?: ResolvedTimeFormat;
|
|
29
29
|
contextFiles?: EmbeddedContextFile[];
|
|
30
30
|
skillsPrompt?: string;
|
|
31
|
-
heartbeatPrompt?: string;
|
|
32
31
|
docsPath?: string;
|
|
33
32
|
workspaceNotes?: string[];
|
|
34
33
|
ttsHint?: string;
|
|
@@ -74,7 +73,7 @@ export declare function buildAgentSystemPrompt(params: {
|
|
|
74
73
|
* - tool descriptions (Edit Tool Best Practices → edit tool desc + safe-edit skill)
|
|
75
74
|
* - JIT skills loaded on-demand (Verify Your Work → verify-output skill)
|
|
76
75
|
* - auto-loaded skills (Tool Call Style → tool-narration; Reactions → reactions-{level}; Messaging → channel-routing)
|
|
77
|
-
* - runtime guards / outbound filters (Symi Self-Update → permission gate; NO_REPLY
|
|
76
|
+
* - runtime guards / outbound filters (Symi Self-Update → permission gate; NO_REPLY → outbound filter)
|
|
78
77
|
* Default false; opt in via prompt.compactMode in symi.json.
|
|
79
78
|
*/
|
|
80
79
|
compactMode?: boolean;
|