@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
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { t as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { i as
|
|
12
|
-
import
|
|
13
|
-
import "./
|
|
14
|
-
import "./
|
|
15
|
-
import
|
|
16
|
-
import "./
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import
|
|
21
|
-
import "./
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { n as
|
|
25
|
-
import { a as
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import
|
|
30
|
-
import "./
|
|
31
|
-
import "./
|
|
32
|
-
import {
|
|
33
|
-
import
|
|
34
|
-
import "./
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import
|
|
38
|
-
import "./
|
|
39
|
-
import
|
|
40
|
-
import "./
|
|
41
|
-
import {
|
|
42
|
-
import
|
|
43
|
-
import "./
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, t as deliverOutboundPayloads } from "./deliver-
|
|
47
|
-
import { c as startDiagnosticHeartbeat, l as stopDiagnosticHeartbeat, u as isDiagnosticsEnabled } from "./diagnostic-
|
|
1
|
+
import { $t as getAgentRunContext, B as normalizeOptionalText, Bt as countActiveRunsForSession, Cn as classifyOutboundMessage, Ct as DEFAULT_INPUT_IMAGE_MIMES, D as resolveOutboundSessionRoute, Dt as extractImageContentFromSource, En as runWithModelFallback, Et as extractFileContentFromSource, G as hasLegacyDeliveryHints, Gt as resolveAgentTimeoutMs, H as normalizeRequiredName, Ht as listDescendantRunsForRequester, K as stripLegacyDeliveryFields, Kt as runSubagentAnnounceFlow, L as inferLegacyName, M as resetDirectoryCache, O as resolveOutboundTarget, Ot as normalizeMimeList, P as normalizeHttpWebhookUrl, Q as isExternalHookSession, Qt as emitAgentEvent, R as normalizeOptionalAgentId, S as createSymiTools, Sn as CommandLane, St as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as DEFAULT_INPUT_TIMEOUT_MS, U as migrateLegacyCronPayload, V as normalizePayloadToSystemText, Vt as initSubagentRegistry, W as buildDeliveryFromLegacyPayload, X as detectSuspiciousPatterns, Y as buildSafeExternalPrompt, Z as getHookType, Zt as clearAgentRunContext, _n as getActiveTaskCount, a as getPluginToolMeta, at as markGatewaySigusr1RestartHandled, bn as setCommandLaneConcurrency, c as handleSlackHttpRequest, cn as ToolInputError, ct as setPreRestartDeferralCheck, d as buildHistoryContextFromEntries, dn as resolveUserTimeFormat, en as onAgentEvent, fn as resolveUserTimezone, h as getTotalPendingReplies, in as getActiveEmbeddedRunCount, it as isGatewaySigusr1RestartExternallyAllowed, k as resolveSessionDeliveryTarget, kt as resolveInputFileLimits, l as readJsonBodyWithLimit, n as applyToolPolicyPipeline, nt as deferGatewayRestartUntilIdle, qt as readLatestAssistantReply, r as buildDefaultToolPolicyPipelineSteps, rt as emitGatewayRestart, s as loadSymiPlugins, sn as registerUnhandledRejectionHandler, st as setGatewaySigusr1RestartPolicy, t as runAgentTurn, tn as registerAgentRunContext, tt as consumeGatewaySigusr1RestartAuthorization, u as requestBodyErrorToText, un as formatUserTime, vn as getTotalQueueSize, w as resolveAnnounceTargetFromKey, wn as resolveModelProfile, wt as DEFAULT_INPUT_MAX_REDIRECTS, xn as waitForActiveTasks, yn as resetAllLanes, z as normalizeOptionalSessionKey, zt as countActiveDescendantRuns } from "./unified-runner-DzycRpag.js";
|
|
2
|
+
import { A as isRich, E as setVerbose, H as createInternalHookEvent, M as getChildLogger, N as getLogger, P as getResolvedLoggerSettings, U as registerInternalHook, V as clearInternalHooks, W as triggerInternalHook, j as theme, k as colorize, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-DKJLAPDB.js";
|
|
3
|
+
import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
|
|
4
|
+
import { h as resolveUserPath, s as ensureDir, t as CONFIG_DIR, v as shortenHomePath, x as truncateUtf16Safe } from "./utils-BU8jVQFM.js";
|
|
5
|
+
import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
|
|
6
|
+
import { Ht as DEFAULT_MODEL, N as getModelRefStatus, O as isPidAlive, P as isCliProvider, U as resolveHooksGmailModel, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-CPlXilKu.js";
|
|
7
|
+
import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
|
|
8
|
+
import { b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, d as toAgentRequestSessionKey, f as toAgentStoreSessionKey, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, v as isCronRunSessionKey, x as parseAgentSessionKey } from "./session-key-B_ZVH1kE.js";
|
|
9
|
+
import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
|
|
10
|
+
import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
|
|
11
|
+
import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-B_oqIiaD.js";
|
|
12
|
+
import "./github-copilot-token-BTNK6Tcd.js";
|
|
13
|
+
import "./boolean-Wzu0-e0P.js";
|
|
14
|
+
import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-B97Ms861.js";
|
|
15
|
+
import "./pi-embedded-helpers-BRM8EM4P.js";
|
|
16
|
+
import { M as resolveSubagentMaxConcurrent, N as VERSION, P as resolveRuntimeServiceVersion, i as loadConfig, j as resolveAgentMaxConcurrent, l as writeConfigFile, m as parseDurationMs, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-CphS_6eg.js";
|
|
17
|
+
import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-D7Qup2Vq.js";
|
|
18
|
+
import { a as isPathInsideWithRealpath } from "./legacy-names-C0hZiM-7.js";
|
|
19
|
+
import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-CQU7Gcb9.js";
|
|
20
|
+
import "./chrome-owBWinlj.js";
|
|
21
|
+
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D7dC-5EX.js";
|
|
22
|
+
import { t as safeEqualSecret } from "./secret-equal-D1BCVB1D.js";
|
|
23
|
+
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-LYvn9g3I.js";
|
|
24
|
+
import { a as isTrustedProxyAddress, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as rawDataToString, u as resolveGatewayBindHost } from "./ws-CahTJvD6.js";
|
|
25
|
+
import { a as resolveGatewayAuth, c as createAuthRateLimiter, i as isLocalDirectRequest, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, t as assertGatewayAuthConfigured } from "./auth-BbwD4lRX.js";
|
|
26
|
+
import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-BsMQBnUG.js";
|
|
27
|
+
import { d as hasBinary } from "./frontmatter-B6IdJ7UK.js";
|
|
28
|
+
import { r as buildWorkspaceSkillSnapshot } from "./skills-DL8DjveU.js";
|
|
29
|
+
import "./routes-BJ2iXVJF.js";
|
|
30
|
+
import "./redact-CSc_2Nka.js";
|
|
31
|
+
import { a as isErrno, n as formatErrorMessage } from "./errors-Z-WkF18Q.js";
|
|
32
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-B6nMaZqV.js";
|
|
33
|
+
import "./paths-Dc6A9_vI.js";
|
|
34
|
+
import { t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
|
|
35
|
+
import { c as detectMime } from "./image-ops-C-gIIp7Q.js";
|
|
36
|
+
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-DqxP-bXz.js";
|
|
37
|
+
import "./trash-BjVrPcAx.js";
|
|
38
|
+
import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-DQMaURzb.js";
|
|
39
|
+
import "./dock-CnGWTXL4.js";
|
|
40
|
+
import { _ as normalizeGatewayClientMode, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient } from "./message-channel-C_V8IAYx.js";
|
|
41
|
+
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
|
|
42
|
+
import "./send-BAKkoPOy.js";
|
|
43
|
+
import { c as resolveStorePath, i as resolveSessionTranscriptPath, s as resolveSessionTranscriptsDirForAgent } from "./paths-CJcw9nbZ.js";
|
|
44
|
+
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-177f26eg.js";
|
|
45
|
+
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
|
|
46
|
+
import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, t as deliverOutboundPayloads } from "./deliver-63FtOVMC.js";
|
|
47
|
+
import { c as startDiagnosticHeartbeat, l as stopDiagnosticHeartbeat, u as isDiagnosticsEnabled } from "./diagnostic-CwF3MnBL.js";
|
|
48
48
|
import "./diagnostic-session-state-I4x9gPY4.js";
|
|
49
|
-
import "./models-config-
|
|
50
|
-
import "./pi-auth-json-
|
|
51
|
-
import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-
|
|
52
|
-
import { C as enqueueSystemEvent, a as loadCombinedSessionStoreForGateway, f as formatRestartSentinelMessage, i as listSessionsFromStore, m as summarizeRestartSentinel, o as loadSessionEntry, u as consumeRestartSentinel, x as lookupContextTokens } from "./session-utils-
|
|
53
|
-
import { r as getMachineDisplayName } from "./with-timeout-
|
|
54
|
-
import { a as resolveAgentIdentity } from "./reply-prefix-
|
|
55
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
56
|
-
import { c as resolveMemorySearchConfig } from "./manager-
|
|
57
|
-
import "./sqlite-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./markdown-tables-
|
|
60
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
61
|
-
import "./local-roots-
|
|
62
|
-
import { n as isRestartEnabled } from "./commands-
|
|
63
|
-
import "./commands-registry-
|
|
64
|
-
import { $t as roleScopesAllow, Bt as buildDeviceAuthPayload, Ft as PROTOCOL_VERSION, Ht as ensureDeviceToken, It as ErrorCodes, Lt as errorShape, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Ut as getPairedDevice, Vt as approveDevicePairing, Zt as updatePairedDeviceMetadata, at as validateRequestFrame, in as verifyDeviceSignature, n as formatValidationErrors, qt as requestDevicePairing, rn as normalizeDevicePublicKeyBase64Url, tn as deriveDeviceIdFromPublicKey, w as validateConnectParams, z as validateExecApprovalResolveParams } from "./client-
|
|
65
|
-
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-
|
|
66
|
-
import "./pairing-token-
|
|
67
|
-
import "./tool-display-
|
|
68
|
-
import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility } from "./skills-remote-
|
|
69
|
-
import "./workspace-dirs-
|
|
49
|
+
import "./models-config-CFUwiu4W.js";
|
|
50
|
+
import "./pi-auth-json-1Z1j1PDI.js";
|
|
51
|
+
import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-DYcv40ss.js";
|
|
52
|
+
import { C as enqueueSystemEvent, a as loadCombinedSessionStoreForGateway, f as formatRestartSentinelMessage, i as listSessionsFromStore, m as summarizeRestartSentinel, o as loadSessionEntry, u as consumeRestartSentinel, x as lookupContextTokens } from "./session-utils-0F9pB5d6.js";
|
|
53
|
+
import { r as getMachineDisplayName } from "./with-timeout-C0UtpXBj.js";
|
|
54
|
+
import { a as resolveAgentIdentity } from "./reply-prefix-xaWqfM9m.js";
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-Czxk_hJw.js";
|
|
56
|
+
import { c as resolveMemorySearchConfig } from "./manager-BTtaJXdu.js";
|
|
57
|
+
import "./sqlite-DBEvS-Ne.js";
|
|
58
|
+
import "./chunk-DQGU0F8t.js";
|
|
59
|
+
import "./markdown-tables-GTLvbzuR.js";
|
|
60
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
|
|
61
|
+
import "./local-roots-JhQs5w0I.js";
|
|
62
|
+
import { n as isRestartEnabled } from "./commands-B3UrgxIz.js";
|
|
63
|
+
import "./commands-registry-W2GQIywv.js";
|
|
64
|
+
import { $t as roleScopesAllow, Bt as buildDeviceAuthPayload, Ft as PROTOCOL_VERSION, Ht as ensureDeviceToken, It as ErrorCodes, Lt as errorShape, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Ut as getPairedDevice, Vt as approveDevicePairing, Zt as updatePairedDeviceMetadata, at as validateRequestFrame, in as verifyDeviceSignature, n as formatValidationErrors, qt as requestDevicePairing, rn as normalizeDevicePublicKeyBase64Url, tn as deriveDeviceIdFromPublicKey, w as validateConnectParams, z as validateExecApprovalResolveParams } from "./client-ZZqt0H0-.js";
|
|
65
|
+
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-Du4CT1Hp.js";
|
|
66
|
+
import "./pairing-token-CURbSHdi.js";
|
|
67
|
+
import "./tool-display-Dr6VaTg5.js";
|
|
68
|
+
import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility } from "./skills-remote-Db5Wwr4s.js";
|
|
69
|
+
import "./workspace-dirs-gn_0yzFP.js";
|
|
70
70
|
import "./pi-model-discovery-DdkUSfiI.js";
|
|
71
|
-
import { n as loadModelCatalog } from "./model-catalog-
|
|
72
|
-
import "./skill-commands-
|
|
73
|
-
import "./pairing-store-
|
|
74
|
-
import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-
|
|
75
|
-
import "./nodes-screen-
|
|
71
|
+
import { n as loadModelCatalog } from "./model-catalog-DKBhNiWm.js";
|
|
72
|
+
import "./skill-commands-DP1fshwh.js";
|
|
73
|
+
import "./pairing-store-mmeniyUt.js";
|
|
74
|
+
import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-CZOc8M5w.js";
|
|
75
|
+
import "./nodes-screen-JELuBMBi.js";
|
|
76
76
|
import { n as formatTokenCount, r as formatUsd } from "./usage-format-Ca9K30TH.js";
|
|
77
|
-
import "./control-service-
|
|
77
|
+
import "./control-service-CMVDL3Yl.js";
|
|
78
78
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
|
|
79
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
80
|
-
import "./delivery-queue-
|
|
81
|
-
import { t as buildChannelAccountBindings } from "./bindings-
|
|
82
|
-
import "./resolve-route-
|
|
83
|
-
import { t as formatDocsLink } from "./links-
|
|
79
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-BvIcXQLj.js";
|
|
80
|
+
import "./delivery-queue-DDs84baU.js";
|
|
81
|
+
import { t as buildChannelAccountBindings } from "./bindings-9LSA3Jr1.js";
|
|
82
|
+
import "./resolve-route-DKhx5C-P.js";
|
|
83
|
+
import { t as formatDocsLink } from "./links-CSaUKNKm.js";
|
|
84
84
|
import { n as runCommandWithRuntime } from "./cli-utils-CX1oQ81G.js";
|
|
85
|
-
import { t as formatHelpExamples } from "./help-format-
|
|
86
|
-
import { n as withProgress } from "./progress-
|
|
87
|
-
import "./memory-cli-
|
|
85
|
+
import { t as formatHelpExamples } from "./help-format-BI_G2p1e.js";
|
|
86
|
+
import { n as withProgress } from "./progress-CyPyGCDn.js";
|
|
87
|
+
import "./memory-cli-B-nQp5HP.js";
|
|
88
88
|
import "./logging-B5YNzZB9.js";
|
|
89
|
-
import "./replies-
|
|
90
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-
|
|
91
|
-
import "./model-
|
|
92
|
-
import { t as createDefaultDeps } from "./deps-
|
|
93
|
-
import { t as ensureSymiCliOnPath } from "./path-env-
|
|
94
|
-
import "./runtime-guard-
|
|
95
|
-
import { t as forceFreePortAndWait } from "./ports-
|
|
96
|
-
import "./catalog-
|
|
97
|
-
import "./skills-status-
|
|
89
|
+
import "./replies-P7jbK6Bo.js";
|
|
90
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BBHbN8Nh.js";
|
|
91
|
+
import "./model-BKtw-Bqs.js";
|
|
92
|
+
import { t as createDefaultDeps } from "./deps-DD_ZCq3v.js";
|
|
93
|
+
import { t as ensureSymiCliOnPath } from "./path-env-DuQralyy.js";
|
|
94
|
+
import "./runtime-guard-BZ3_1QqS.js";
|
|
95
|
+
import { t as forceFreePortAndWait } from "./ports-DRHSHvqY.js";
|
|
96
|
+
import "./catalog-BEREnWaa.js";
|
|
97
|
+
import "./skills-status-Dx3Lf5iU.js";
|
|
98
98
|
import { n as inheritOptionFromParent } from "./command-options-ChiIn6Na.js";
|
|
99
|
-
import "./prompt-style-
|
|
100
|
-
import { t as resolveChannelDefaultAccountId } from "./helpers-
|
|
101
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
102
|
-
import "./install-safe-path-
|
|
103
|
-
import "./skill-scanner-
|
|
104
|
-
import "./channels-status-issues-
|
|
105
|
-
import "./daemon-runtime-
|
|
106
|
-
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-
|
|
107
|
-
import "./systemd-
|
|
108
|
-
import "./service-
|
|
109
|
-
import "./lifecycle-core-
|
|
110
|
-
import "./systemd-hints-
|
|
99
|
+
import "./prompt-style-Cad0BDRS.js";
|
|
100
|
+
import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
|
|
101
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BCwyDNSP.js";
|
|
102
|
+
import "./install-safe-path-CQXx3s9R.js";
|
|
103
|
+
import "./skill-scanner-qMQf6-FN.js";
|
|
104
|
+
import "./channels-status-issues-DC8vgOMo.js";
|
|
105
|
+
import "./daemon-runtime-BD-3XS8R.js";
|
|
106
|
+
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-D2mWJnFB.js";
|
|
107
|
+
import "./systemd-9LEEqibe.js";
|
|
108
|
+
import "./service-AP9pR9R5.js";
|
|
109
|
+
import "./lifecycle-core-_BlNODTH.js";
|
|
110
|
+
import "./systemd-hints-CeavseQh.js";
|
|
111
111
|
import { t as parsePort$1 } from "./parse-port-CykvIgQu.js";
|
|
112
|
-
import { n as addGatewayServiceCommands } from "./daemon-cli-
|
|
113
|
-
import "./diagnostics-
|
|
114
|
-
import "./table-
|
|
115
|
-
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-
|
|
116
|
-
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-
|
|
117
|
-
import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-
|
|
118
|
-
import { t as discoverGatewayBeacons } from "./bonjour-discovery-
|
|
119
|
-
import { r as pickGatewaySelfPresence } from "./status-
|
|
120
|
-
import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-
|
|
121
|
-
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-
|
|
122
|
-
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-
|
|
123
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
124
|
-
import { C as
|
|
125
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
126
|
-
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-
|
|
127
|
-
import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-
|
|
112
|
+
import { n as addGatewayServiceCommands } from "./daemon-cli-B__05b-d.js";
|
|
113
|
+
import "./diagnostics-DxdqTfpW.js";
|
|
114
|
+
import "./table-DkAQzCOR.js";
|
|
115
|
+
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-C5NqCQ3L.js";
|
|
116
|
+
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DmYHvtn2.js";
|
|
117
|
+
import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-B_HL4UJ_.js";
|
|
118
|
+
import { t as discoverGatewayBeacons } from "./bonjour-discovery-CU1mz7AC.js";
|
|
119
|
+
import { r as pickGatewaySelfPresence } from "./status-DA_sl7Yp.js";
|
|
120
|
+
import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-BdxlhiXA.js";
|
|
121
|
+
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DUhvOLUL.js";
|
|
122
|
+
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CZxZhEXr.js";
|
|
123
|
+
import { t as runOnboardingWizard } from "./onboarding-BmB9v20h.js";
|
|
124
|
+
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-B4kcazJq.js";
|
|
125
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DBG95KxK.js";
|
|
126
|
+
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-D5G00y8h.js";
|
|
127
|
+
import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-pDOR_idq.js";
|
|
128
128
|
import { t as createOutboundSendDeps } from "./outbound-send-deps-BpziI1pC.js";
|
|
129
|
-
import { s as loadAgentIdentityFromWorkspace } from "./agents.config-
|
|
130
|
-
import "./dm-policy-shared-
|
|
131
|
-
import "./node-service-
|
|
132
|
-
import "./status.update-
|
|
133
|
-
import "./skills-install-
|
|
134
|
-
import "./update-runner-
|
|
129
|
+
import { s as loadAgentIdentityFromWorkspace } from "./agents.config-B_LFeRQS.js";
|
|
130
|
+
import "./dm-policy-shared-C1TQOlkZ.js";
|
|
131
|
+
import "./node-service-tPO_yUk7.js";
|
|
132
|
+
import "./status.update-CQ1vKrEg.js";
|
|
133
|
+
import "./skills-install-C9uT4MR2.js";
|
|
134
|
+
import "./update-runner-C8L4XRQb.js";
|
|
135
135
|
import { t as resolveAgentSessionDirs } from "./session-dirs-Chh7bBGo.js";
|
|
136
|
-
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-
|
|
136
|
+
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B_xyjOdv.js";
|
|
137
137
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
138
138
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
139
|
+
import chalk from "chalk";
|
|
140
|
+
import path from "node:path";
|
|
139
141
|
import * as fsSync from "node:fs";
|
|
140
142
|
import fs from "node:fs";
|
|
141
143
|
import os from "node:os";
|
|
142
|
-
import path from "node:path";
|
|
143
|
-
import chalk from "chalk";
|
|
144
144
|
import JSON5 from "json5";
|
|
145
145
|
import fs$1 from "node:fs/promises";
|
|
146
146
|
import { spawn } from "node:child_process";
|
|
@@ -1860,6 +1860,306 @@ function createChannelManager(opts) {
|
|
|
1860
1860
|
};
|
|
1861
1861
|
}
|
|
1862
1862
|
|
|
1863
|
+
//#endregion
|
|
1864
|
+
//#region src/gateway/server-chat.ts
|
|
1865
|
+
function createChatRunRegistry() {
|
|
1866
|
+
const chatRunSessions = /* @__PURE__ */ new Map();
|
|
1867
|
+
const add = (sessionId, entry) => {
|
|
1868
|
+
const queue = chatRunSessions.get(sessionId);
|
|
1869
|
+
if (queue) queue.push(entry);
|
|
1870
|
+
else chatRunSessions.set(sessionId, [entry]);
|
|
1871
|
+
};
|
|
1872
|
+
const peek = (sessionId) => chatRunSessions.get(sessionId)?.[0];
|
|
1873
|
+
const shift = (sessionId) => {
|
|
1874
|
+
const queue = chatRunSessions.get(sessionId);
|
|
1875
|
+
if (!queue || queue.length === 0) return;
|
|
1876
|
+
const entry = queue.shift();
|
|
1877
|
+
if (!queue.length) chatRunSessions.delete(sessionId);
|
|
1878
|
+
return entry;
|
|
1879
|
+
};
|
|
1880
|
+
const remove = (sessionId, clientRunId, sessionKey) => {
|
|
1881
|
+
const queue = chatRunSessions.get(sessionId);
|
|
1882
|
+
if (!queue || queue.length === 0) return;
|
|
1883
|
+
const idx = queue.findIndex((entry) => entry.clientRunId === clientRunId && (sessionKey ? entry.sessionKey === sessionKey : true));
|
|
1884
|
+
if (idx < 0) return;
|
|
1885
|
+
const [entry] = queue.splice(idx, 1);
|
|
1886
|
+
if (!queue.length) chatRunSessions.delete(sessionId);
|
|
1887
|
+
return entry;
|
|
1888
|
+
};
|
|
1889
|
+
const clear = () => {
|
|
1890
|
+
chatRunSessions.clear();
|
|
1891
|
+
};
|
|
1892
|
+
return {
|
|
1893
|
+
add,
|
|
1894
|
+
peek,
|
|
1895
|
+
shift,
|
|
1896
|
+
remove,
|
|
1897
|
+
clear
|
|
1898
|
+
};
|
|
1899
|
+
}
|
|
1900
|
+
function createChatRunState() {
|
|
1901
|
+
const registry = createChatRunRegistry();
|
|
1902
|
+
const buffers = /* @__PURE__ */ new Map();
|
|
1903
|
+
const deltaSentAt = /* @__PURE__ */ new Map();
|
|
1904
|
+
const pendingDeltaText = /* @__PURE__ */ new Map();
|
|
1905
|
+
const abortedRuns = /* @__PURE__ */ new Map();
|
|
1906
|
+
const clear = () => {
|
|
1907
|
+
registry.clear();
|
|
1908
|
+
buffers.clear();
|
|
1909
|
+
deltaSentAt.clear();
|
|
1910
|
+
pendingDeltaText.clear();
|
|
1911
|
+
abortedRuns.clear();
|
|
1912
|
+
};
|
|
1913
|
+
return {
|
|
1914
|
+
registry,
|
|
1915
|
+
buffers,
|
|
1916
|
+
deltaSentAt,
|
|
1917
|
+
pendingDeltaText,
|
|
1918
|
+
abortedRuns,
|
|
1919
|
+
clear
|
|
1920
|
+
};
|
|
1921
|
+
}
|
|
1922
|
+
const TOOL_EVENT_RECIPIENT_TTL_MS = 600 * 1e3;
|
|
1923
|
+
const TOOL_EVENT_RECIPIENT_FINAL_GRACE_MS = 30 * 1e3;
|
|
1924
|
+
function createToolEventRecipientRegistry() {
|
|
1925
|
+
const recipients = /* @__PURE__ */ new Map();
|
|
1926
|
+
const prune = () => {
|
|
1927
|
+
if (recipients.size === 0) return;
|
|
1928
|
+
const now = Date.now();
|
|
1929
|
+
for (const [runId, entry] of recipients) if (now >= (entry.finalizedAt ? entry.finalizedAt + TOOL_EVENT_RECIPIENT_FINAL_GRACE_MS : entry.updatedAt + TOOL_EVENT_RECIPIENT_TTL_MS)) recipients.delete(runId);
|
|
1930
|
+
};
|
|
1931
|
+
const add = (runId, connId) => {
|
|
1932
|
+
if (!runId || !connId) return;
|
|
1933
|
+
const now = Date.now();
|
|
1934
|
+
const existing = recipients.get(runId);
|
|
1935
|
+
if (existing) {
|
|
1936
|
+
existing.connIds.add(connId);
|
|
1937
|
+
existing.updatedAt = now;
|
|
1938
|
+
} else recipients.set(runId, {
|
|
1939
|
+
connIds: new Set([connId]),
|
|
1940
|
+
updatedAt: now
|
|
1941
|
+
});
|
|
1942
|
+
prune();
|
|
1943
|
+
};
|
|
1944
|
+
const get = (runId) => {
|
|
1945
|
+
const entry = recipients.get(runId);
|
|
1946
|
+
if (!entry) return;
|
|
1947
|
+
entry.updatedAt = Date.now();
|
|
1948
|
+
prune();
|
|
1949
|
+
return entry.connIds;
|
|
1950
|
+
};
|
|
1951
|
+
const markFinal = (runId) => {
|
|
1952
|
+
const entry = recipients.get(runId);
|
|
1953
|
+
if (!entry) return;
|
|
1954
|
+
entry.finalizedAt = Date.now();
|
|
1955
|
+
prune();
|
|
1956
|
+
};
|
|
1957
|
+
return {
|
|
1958
|
+
add,
|
|
1959
|
+
get,
|
|
1960
|
+
markFinal
|
|
1961
|
+
};
|
|
1962
|
+
}
|
|
1963
|
+
function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSession, agentRunSeq, chatRunState, resolveSessionKeyForRun, clearAgentRunContext, toolEventRecipients }) {
|
|
1964
|
+
const emitChatDelta = (sessionKey, clientRunId, sourceRunId, seq, text) => {
|
|
1965
|
+
if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return;
|
|
1966
|
+
const prev = chatRunState.buffers.get(clientRunId) ?? "";
|
|
1967
|
+
chatRunState.buffers.set(clientRunId, prev + text);
|
|
1968
|
+
const now = Date.now();
|
|
1969
|
+
if (now - (chatRunState.deltaSentAt.get(clientRunId) ?? 0) < 150) {
|
|
1970
|
+
chatRunState.pendingDeltaText.set(clientRunId, (chatRunState.pendingDeltaText.get(clientRunId) ?? "") + text);
|
|
1971
|
+
return;
|
|
1972
|
+
}
|
|
1973
|
+
const buffered = chatRunState.pendingDeltaText.get(clientRunId) ?? "";
|
|
1974
|
+
chatRunState.pendingDeltaText.delete(clientRunId);
|
|
1975
|
+
const fullText = buffered + text;
|
|
1976
|
+
chatRunState.deltaSentAt.set(clientRunId, now);
|
|
1977
|
+
const payload = {
|
|
1978
|
+
runId: clientRunId,
|
|
1979
|
+
sessionKey,
|
|
1980
|
+
seq,
|
|
1981
|
+
state: "delta",
|
|
1982
|
+
message: {
|
|
1983
|
+
role: "assistant",
|
|
1984
|
+
content: [{
|
|
1985
|
+
type: "text",
|
|
1986
|
+
text: fullText
|
|
1987
|
+
}],
|
|
1988
|
+
timestamp: now
|
|
1989
|
+
}
|
|
1990
|
+
};
|
|
1991
|
+
broadcast("chat", payload, { dropIfSlow: true });
|
|
1992
|
+
nodeSendToSession(sessionKey, "chat", payload);
|
|
1993
|
+
};
|
|
1994
|
+
const emitChatFinal = (sessionKey, clientRunId, sourceRunId, seq, jobState, error) => {
|
|
1995
|
+
const remainingDelta = chatRunState.pendingDeltaText.get(clientRunId);
|
|
1996
|
+
if (remainingDelta) {
|
|
1997
|
+
const flushPayload = {
|
|
1998
|
+
runId: clientRunId,
|
|
1999
|
+
sessionKey,
|
|
2000
|
+
seq,
|
|
2001
|
+
state: "delta",
|
|
2002
|
+
message: {
|
|
2003
|
+
role: "assistant",
|
|
2004
|
+
content: [{
|
|
2005
|
+
type: "text",
|
|
2006
|
+
text: remainingDelta
|
|
2007
|
+
}],
|
|
2008
|
+
timestamp: Date.now()
|
|
2009
|
+
}
|
|
2010
|
+
};
|
|
2011
|
+
broadcast("chat", flushPayload);
|
|
2012
|
+
nodeSendToSession(sessionKey, "chat", flushPayload);
|
|
2013
|
+
}
|
|
2014
|
+
chatRunState.pendingDeltaText.delete(clientRunId);
|
|
2015
|
+
const filterResult = classifyOutboundMessage(chatRunState.buffers.get(clientRunId)?.trim() ?? "", {
|
|
2016
|
+
isHeartbeat: false,
|
|
2017
|
+
heartbeatAckMaxChars: 0
|
|
2018
|
+
});
|
|
2019
|
+
const text = filterResult.output.trim();
|
|
2020
|
+
const shouldSuppressSilent = filterResult.action === "drop";
|
|
2021
|
+
chatRunState.buffers.delete(clientRunId);
|
|
2022
|
+
chatRunState.deltaSentAt.delete(clientRunId);
|
|
2023
|
+
if (jobState === "done") {
|
|
2024
|
+
const payload = {
|
|
2025
|
+
runId: clientRunId,
|
|
2026
|
+
sessionKey,
|
|
2027
|
+
seq,
|
|
2028
|
+
state: "final",
|
|
2029
|
+
activeSubagentCount: countActiveRunsForSession(sessionKey),
|
|
2030
|
+
message: text && !shouldSuppressSilent ? {
|
|
2031
|
+
role: "assistant",
|
|
2032
|
+
content: [{
|
|
2033
|
+
type: "text",
|
|
2034
|
+
text
|
|
2035
|
+
}],
|
|
2036
|
+
timestamp: Date.now()
|
|
2037
|
+
} : void 0
|
|
2038
|
+
};
|
|
2039
|
+
broadcast("chat", payload);
|
|
2040
|
+
nodeSendToSession(sessionKey, "chat", payload);
|
|
2041
|
+
return;
|
|
2042
|
+
}
|
|
2043
|
+
const payload = {
|
|
2044
|
+
runId: clientRunId,
|
|
2045
|
+
sessionKey,
|
|
2046
|
+
seq,
|
|
2047
|
+
state: "error",
|
|
2048
|
+
errorMessage: error ? formatForLog(error) : void 0
|
|
2049
|
+
};
|
|
2050
|
+
broadcast("chat", payload);
|
|
2051
|
+
nodeSendToSession(sessionKey, "chat", payload);
|
|
2052
|
+
};
|
|
2053
|
+
const resolveToolVerboseLevel = (runId, sessionKey) => {
|
|
2054
|
+
const runVerbose = normalizeVerboseLevel(getAgentRunContext(runId)?.verboseLevel);
|
|
2055
|
+
if (runVerbose) return runVerbose;
|
|
2056
|
+
if (!sessionKey) return "off";
|
|
2057
|
+
try {
|
|
2058
|
+
const { cfg, entry } = loadSessionEntry(sessionKey);
|
|
2059
|
+
const sessionVerbose = normalizeVerboseLevel(entry?.verboseLevel);
|
|
2060
|
+
if (sessionVerbose) return sessionVerbose;
|
|
2061
|
+
return normalizeVerboseLevel(cfg.agents?.defaults?.verboseDefault) ?? "off";
|
|
2062
|
+
} catch {
|
|
2063
|
+
return "off";
|
|
2064
|
+
}
|
|
2065
|
+
};
|
|
2066
|
+
return (evt) => {
|
|
2067
|
+
const chatLink = chatRunState.registry.peek(evt.runId);
|
|
2068
|
+
const eventSessionKey = typeof evt.sessionKey === "string" && evt.sessionKey.trim() ? evt.sessionKey : void 0;
|
|
2069
|
+
const sessionKey = chatLink?.sessionKey ?? eventSessionKey ?? resolveSessionKeyForRun(evt.runId);
|
|
2070
|
+
if (sessionKey?.startsWith("temp:")) return;
|
|
2071
|
+
const clientRunId = chatLink?.clientRunId ?? evt.runId;
|
|
2072
|
+
const eventRunId = chatLink?.clientRunId ?? evt.runId;
|
|
2073
|
+
const eventForClients = chatLink ? {
|
|
2074
|
+
...evt,
|
|
2075
|
+
runId: eventRunId
|
|
2076
|
+
} : evt;
|
|
2077
|
+
const isAborted = chatRunState.abortedRuns.has(clientRunId) || chatRunState.abortedRuns.has(evt.runId);
|
|
2078
|
+
const agentPayload = {
|
|
2079
|
+
...eventForClients,
|
|
2080
|
+
...sessionKey ? { sessionKey } : {}
|
|
2081
|
+
};
|
|
2082
|
+
const last = agentRunSeq.get(evt.runId) ?? 0;
|
|
2083
|
+
const isToolEvent = evt.stream === "tool";
|
|
2084
|
+
const toolVerbose = isToolEvent ? resolveToolVerboseLevel(evt.runId, sessionKey) : "off";
|
|
2085
|
+
const toolPayload = isToolEvent && toolVerbose !== "full" ? (() => {
|
|
2086
|
+
const data = evt.data ? { ...evt.data } : {};
|
|
2087
|
+
delete data.result;
|
|
2088
|
+
delete data.partialResult;
|
|
2089
|
+
return sessionKey ? {
|
|
2090
|
+
...eventForClients,
|
|
2091
|
+
sessionKey,
|
|
2092
|
+
data
|
|
2093
|
+
} : {
|
|
2094
|
+
...eventForClients,
|
|
2095
|
+
data
|
|
2096
|
+
};
|
|
2097
|
+
})() : agentPayload;
|
|
2098
|
+
if (evt.seq !== last + 1) broadcast("agent", {
|
|
2099
|
+
runId: eventRunId,
|
|
2100
|
+
stream: "error",
|
|
2101
|
+
ts: Date.now(),
|
|
2102
|
+
sessionKey,
|
|
2103
|
+
data: {
|
|
2104
|
+
reason: "seq gap",
|
|
2105
|
+
expected: last + 1,
|
|
2106
|
+
received: evt.seq
|
|
2107
|
+
}
|
|
2108
|
+
});
|
|
2109
|
+
agentRunSeq.set(evt.runId, evt.seq);
|
|
2110
|
+
if (isToolEvent) {
|
|
2111
|
+
const recipients = toolEventRecipients.get(evt.runId);
|
|
2112
|
+
if (recipients && recipients.size > 0) broadcastToConnIds("agent", toolPayload, recipients);
|
|
2113
|
+
} else broadcast("agent", agentPayload);
|
|
2114
|
+
const lifecyclePhase = evt.stream === "lifecycle" && typeof evt.data?.phase === "string" ? evt.data.phase : null;
|
|
2115
|
+
if (lifecyclePhase === "start" && sessionKey && !isAborted) broadcast("chat", {
|
|
2116
|
+
runId: clientRunId,
|
|
2117
|
+
sessionKey,
|
|
2118
|
+
seq: evt.seq,
|
|
2119
|
+
state: "thinking"
|
|
2120
|
+
});
|
|
2121
|
+
if (lifecyclePhase && sessionKey && sessionKey.includes(":subagent:")) {
|
|
2122
|
+
if (lifecyclePhase === "start") broadcast("subagent", {
|
|
2123
|
+
phase: "started",
|
|
2124
|
+
sessionKey,
|
|
2125
|
+
runId: clientRunId
|
|
2126
|
+
});
|
|
2127
|
+
else if (lifecyclePhase === "end" || lifecyclePhase === "error") broadcast("subagent", {
|
|
2128
|
+
phase: "completed",
|
|
2129
|
+
sessionKey,
|
|
2130
|
+
runId: clientRunId
|
|
2131
|
+
});
|
|
2132
|
+
}
|
|
2133
|
+
if (sessionKey) {
|
|
2134
|
+
if (!isToolEvent || toolVerbose !== "off") nodeSendToSession(sessionKey, "agent", isToolEvent ? toolPayload : agentPayload);
|
|
2135
|
+
if (!isAborted && evt.stream === "assistant" && typeof evt.data?.text === "string") {
|
|
2136
|
+
const deltaText = typeof evt.data?.delta === "string" && evt.data.delta ? evt.data.delta : evt.data.text;
|
|
2137
|
+
emitChatDelta(sessionKey, clientRunId, evt.runId, evt.seq, deltaText);
|
|
2138
|
+
} else if (!isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) if (chatLink) {
|
|
2139
|
+
const finished = chatRunState.registry.shift(evt.runId);
|
|
2140
|
+
if (!finished) {
|
|
2141
|
+
clearAgentRunContext(evt.runId);
|
|
2142
|
+
return;
|
|
2143
|
+
}
|
|
2144
|
+
emitChatFinal(finished.sessionKey, finished.clientRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
|
|
2145
|
+
} else emitChatFinal(sessionKey, eventRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
|
|
2146
|
+
else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
|
|
2147
|
+
chatRunState.abortedRuns.delete(clientRunId);
|
|
2148
|
+
chatRunState.abortedRuns.delete(evt.runId);
|
|
2149
|
+
chatRunState.buffers.delete(clientRunId);
|
|
2150
|
+
chatRunState.deltaSentAt.delete(clientRunId);
|
|
2151
|
+
if (chatLink) chatRunState.registry.remove(evt.runId, clientRunId, sessionKey);
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
2154
|
+
if (lifecyclePhase === "end" || lifecyclePhase === "error") {
|
|
2155
|
+
toolEventRecipients.markFinal(evt.runId);
|
|
2156
|
+
clearAgentRunContext(evt.runId);
|
|
2157
|
+
agentRunSeq.delete(evt.runId);
|
|
2158
|
+
agentRunSeq.delete(clientRunId);
|
|
2159
|
+
}
|
|
2160
|
+
};
|
|
2161
|
+
}
|
|
2162
|
+
|
|
1863
2163
|
//#endregion
|
|
1864
2164
|
//#region src/hooks/gmail-watcher.ts
|
|
1865
2165
|
/**
|
|
@@ -2348,24 +2648,6 @@ function pickLastDeliverablePayload(payloads) {
|
|
|
2348
2648
|
if (text || hasMedia || hasChannelData) return payload;
|
|
2349
2649
|
}
|
|
2350
2650
|
}
|
|
2351
|
-
/**
|
|
2352
|
-
* Check if all payloads are just heartbeat ack responses (SYMIPULSE_OK).
|
|
2353
|
-
* Returns true if delivery should be skipped because there's no real content.
|
|
2354
|
-
*/
|
|
2355
|
-
function isHeartbeatOnlyResponse(payloads, ackMaxChars) {
|
|
2356
|
-
if (payloads.length === 0) return true;
|
|
2357
|
-
return payloads.every((payload) => {
|
|
2358
|
-
if ((payload.mediaUrls?.length ?? 0) > 0 || Boolean(payload.mediaUrl)) return false;
|
|
2359
|
-
return stripHeartbeatToken(payload.text, {
|
|
2360
|
-
mode: "heartbeat",
|
|
2361
|
-
maxAckChars: ackMaxChars
|
|
2362
|
-
}).shouldSkip;
|
|
2363
|
-
});
|
|
2364
|
-
}
|
|
2365
|
-
function resolveHeartbeatAckMaxChars(agentCfg) {
|
|
2366
|
-
const raw = agentCfg?.heartbeat?.ackMaxChars ?? DEFAULT_HEARTBEAT_ACK_MAX_CHARS;
|
|
2367
|
-
return Math.max(0, raw);
|
|
2368
|
-
}
|
|
2369
2651
|
|
|
2370
2652
|
//#endregion
|
|
2371
2653
|
//#region src/cron/isolated-agent/session.ts
|
|
@@ -2863,15 +3145,13 @@ async function runCronIsolatedAgentTurn(params) {
|
|
|
2863
3145
|
let deliveryPayloads = deliveryPayload !== void 0 ? [deliveryPayload] : synthesizedText ? [{ text: synthesizedText }] : [];
|
|
2864
3146
|
const deliveryPayloadHasStructuredContent = Boolean(deliveryPayload?.mediaUrl) || (deliveryPayload?.mediaUrls?.length ?? 0) > 0 || Object.keys(deliveryPayload?.channelData ?? {}).length > 0;
|
|
2865
3147
|
const deliveryBestEffort = resolveCronDeliveryBestEffort(params.job);
|
|
2866
|
-
const ackMaxChars = resolveHeartbeatAckMaxChars(agentCfg);
|
|
2867
|
-
const skipHeartbeatDelivery = deliveryRequested && isHeartbeatOnlyResponse(payloads, ackMaxChars);
|
|
2868
3148
|
const skipMessagingToolDelivery = deliveryRequested && runResult.didSendViaMessagingTool === true && (runResult.messagingToolSentTargets ?? []).some((target) => matchesMessagingToolDeliveryTarget(target, {
|
|
2869
3149
|
channel: resolvedDelivery.channel,
|
|
2870
3150
|
to: resolvedDelivery.to,
|
|
2871
3151
|
accountId: resolvedDelivery.accountId
|
|
2872
3152
|
}));
|
|
2873
3153
|
let delivered = skipMessagingToolDelivery;
|
|
2874
|
-
if (deliveryRequested && !
|
|
3154
|
+
if (deliveryRequested && !skipMessagingToolDelivery) {
|
|
2875
3155
|
if (resolvedDelivery.error) {
|
|
2876
3156
|
if (!deliveryBestEffort) return withRunSession({
|
|
2877
3157
|
status: "error",
|
|
@@ -6287,7 +6567,7 @@ function normalizeAgentPayload(payload) {
|
|
|
6287
6567
|
async function startBrowserControlServerIfEnabled() {
|
|
6288
6568
|
if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
|
|
6289
6569
|
const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
|
|
6290
|
-
const mod = override ? await import(override) : await import("./control-service-
|
|
6570
|
+
const mod = override ? await import(override) : await import("./control-service-CMVDL3Yl.js").then((n) => n.t);
|
|
6291
6571
|
const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
|
|
6292
6572
|
const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
|
|
6293
6573
|
if (!start) return null;
|
|
@@ -11709,8 +11989,8 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11709
11989
|
});
|
|
11710
11990
|
if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
|
|
11711
11991
|
if (!minimalTestGateway) (async () => {
|
|
11712
|
-
const { recoverPendingDeliveries } = await import("./delivery-queue-
|
|
11713
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
11992
|
+
const { recoverPendingDeliveries } = await import("./delivery-queue-DDs84baU.js").then((n) => n.n);
|
|
11993
|
+
const { deliverOutboundPayloads } = await import("./deliver-63FtOVMC.js").then((n) => n.n);
|
|
11714
11994
|
await recoverPendingDeliveries({
|
|
11715
11995
|
deliver: deliverOutboundPayloads,
|
|
11716
11996
|
log: log.child("delivery-recovery"),
|
|
@@ -11783,7 +12063,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11783
12063
|
});
|
|
11784
12064
|
let glassUiBridgeCleanup = null;
|
|
11785
12065
|
if (!minimalTestGateway) {
|
|
11786
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
12066
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-BbsrTxei.js");
|
|
11787
12067
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11788
12068
|
wss: glassUiWss,
|
|
11789
12069
|
context: gatewayRequestContext,
|