@symerian/symi 3.3.0 → 3.3.1
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-BI1-UXxQ.js} +1 -1
- package/dist/{agent-BrIHHGnC.js → agent-DeLysRUa.js} +29 -29
- package/dist/{agent-scope-2la27US0.js → agent-scope-BjEBQhs0.js} +23 -23
- package/dist/{agent-scope-D_MtsuXX.js → agent-scope-DE5eEsvh.js} +2 -2
- package/dist/{agents-B57SUSPt.js → agents-BMRZpxNt.js} +2 -2
- package/dist/{agents.config-COMcEDAk.js → agents.config-BFKM-a83.js} +3 -3
- package/dist/{audit-B58SlbPa.js → audit-DQ_p2Pbq.js} +34 -34
- package/dist/{auth-CC9_WXMi.js → auth-BbwD4lRX.js} +3 -3
- package/dist/{auth-choice-B6iYCDVN.js → auth-choice-BGZsmh6a.js} +9 -9
- package/dist/{auth-choice-Z1qCZxwg.js → auth-choice-T77Ymi34.js} +1 -1
- package/dist/{auth-profiles-CZTGpbyT.js → auth-profiles-B6ISm3Th.js} +5 -5
- package/dist/{auth-profiles-8vSEr9B4.js → auth-profiles-BVtpxYtY.js} +17 -17
- package/dist/{auth-token-DpYUPTNG.js → auth-token-CPluo60n.js} +3 -3
- package/dist/{banner-QsnCDxXH.js → banner-BJHky-bq.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-O7Ic8DI3.js} +28 -28
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +34 -34
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/session-memory/handler.js +33 -33
- package/dist/{call-DLBaLOHo.js → call-CdXXPXpo.js} +13 -13
- 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-BrDTgiiV.js} +5 -5
- package/dist/{channel-options-Cj-xJAMD.js → channel-options-C1yi5h7A.js} +1 -1
- package/dist/{channel-selection-BGtIUbFL.js → channel-selection-BvIcXQLj.js} +2 -2
- package/dist/{channels-cli-CIq4PFA0.js → channels-cli-BYeGzy-G.js} +7 -7
- package/dist/{channels-cli-Y8CGJ_qQ.js → channels-cli-Pxe1OINS.js} +98 -98
- package/dist/{channels-status-issues-rRBNHH7B.js → channels-status-issues-DC8vgOMo.js} +1 -1
- package/dist/{chrome-b556dOQ6.js → chrome-CQnRgvJz.js} +7 -7
- package/dist/{chrome-BgQbis3t.js → chrome-FAf5DZL2.js} +11 -11
- package/dist/{chrome-sQI2Ex5S.js → chrome-NUKborg3.js} +7 -7
- package/dist/{chunk-CKgSHf7u.js → chunk-DQGU0F8t.js} +2 -2
- package/dist/{chunk-Ds8SZRkS.js → chunk-DX6VtywY.js} +1 -1
- package/dist/{clack-prompter-CR9tYooX.js → clack-prompter-CWQQn_CK.js} +5 -5
- package/dist/cli-DFNOC2Ad.js +128 -0
- package/dist/{cli--omJsLkl.js → cli-Dt-wfm_7.js} +4 -4
- package/dist/{client-D8iTVY4F.js → client-Bs2zB0rY.js} +7 -7
- package/dist/{clipboard-C9NQe8TV.js → clipboard-McRwF3r0.js} +1 -1
- package/dist/{command-registry-bozDt85D.js → command-registry-BwbT4ll7.js} +10 -10
- package/dist/{commands-sNCgvbpu.js → commands-B3UrgxIz.js} +2 -2
- package/dist/{commands-registry-CRkL6mTz.js → commands-registry-C5IdtVVy.js} +4 -4
- package/dist/{commands-registry-DXK4Ortm.js → commands-registry-DYk02tmt.js} +6 -6
- package/dist/{completion-cli-9qQYFUPk.js → completion-cli-CyOSA5xZ.js} +2 -2
- package/dist/{completion-cli-FXkVKM19.js → completion-cli-DiNUqrNY.js} +16 -16
- package/dist/{config-fTqqDRAc.js → config-CW8aDVM0.js} +9 -9
- package/dist/{config-cli-BexhS7Qb.js → config-cli-DBU_S417.js} +15 -15
- package/dist/{config-cli-C3D7beGW.js → config-cli-DfG0nukz.js} +1 -1
- package/dist/{config-guard-IteQa1rq.js → config-guard-CNmD3-IC.js} +23 -23
- package/dist/{config-validation-B05t9fma.js → config-validation-Bz5CV181.js} +2 -2
- package/dist/{configure-BWXNd2TO.js → configure-BYu2DI_6.js} +2 -2
- package/dist/{configure-0e3ty1G9.js → configure-BkH4ueot.js} +26 -26
- package/dist/{consolidate-BaeR2tIX.js → consolidate-Cx7qF5Ht.js} +10 -10
- package/dist/{consolidate-C-HKdAJo.js → consolidate-dh1m3X1s.js} +2 -2
- package/dist/{control-service-BDMq-0pg.js → control-service-Drd2sr2o.js} +5 -5
- package/dist/{control-ui-assets-muBwnb6-.js → control-ui-assets-D22DSxhv.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-BTAdnRhX.js} +21 -21
- package/dist/{daemon-cli-DiLogoCM.js → daemon-cli-BY9BFNuw.js} +22 -22
- package/dist/{daemon-runtime-C3dBpZhs.js → daemon-runtime-BH3ZBZXS.js} +13 -13
- package/dist/{deliver-B_Fv-dS9.js → deliver-DZ7ynJYH.js} +8 -8
- package/dist/{deliver-B_Gz2_tA.js → deliver-Dlq2X0K5.js} +4 -4
- package/dist/{deliver-B_jXI55b.js → deliver-kmnOOp9j.js} +22 -22
- package/dist/{delivery-queue-CeY346SK.js → delivery-queue-DDs84baU.js} +2 -2
- package/dist/{deps-Du8ZcRHN.js → deps-i1g0Zpz4.js} +1 -1
- package/dist/{devices-cli-BFPrh5bu.js → devices-cli-Cqi6L8PH.js} +19 -19
- package/dist/{diagnostic-D7z6O7v0.js → diagnostic-CQLyE7_n.js} +1 -1
- package/dist/{diagnostic-oeL366QK.js → diagnostic-CwF3MnBL.js} +1 -1
- package/dist/{diagnostics-3x3usVgE.js → diagnostics-nLP2i_BY.js} +5 -5
- package/dist/{directory-cli-BUBucKQI.js → directory-cli-B0XsBWso.js} +19 -19
- package/dist/{dm-policy-shared-BcXoqtVd.js → dm-policy-shared-CnKffdt_.js} +2 -2
- package/dist/{dns-cli-B6QTNBXV.js → dns-cli-BHWlCG31.js} +17 -17
- package/dist/{dock-n_MeJBcj.js → dock-CnGWTXL4.js} +3 -3
- package/dist/{docs-cli-C2xEH6jC.js → docs-cli-DASNErN-.js} +13 -13
- package/dist/{doctor-completion-K1dL1s3P.js → doctor-completion-D_cwpDAq.js} +4 -4
- package/dist/{doctor-completion-CcHk8myN.js → doctor-completion-DqvmZZEo.js} +1 -1
- package/dist/{doctor-config-flow-Dl08K6Q3.js → doctor-config-flow-BvHSaiFy.js} +15 -15
- 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-CyHTywue.js} +27 -27
- package/dist/extensionAPI.js +4 -4
- 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-BW7tVmn4.js} +5 -5
- package/dist/{fs-safe-CR_3Yr4x.js → fs-safe-DjAKGGJ8.js} +7 -7
- package/dist/{gateway-cli-CAFWFnSX.js → gateway-cli-BBqSqFGV.js} +451 -151
- package/dist/{gateway-cli-CzD6faIt.js → gateway-cli-BYGA5ex3.js} +311 -11
- package/dist/{gateway-rpc-o8CJkHuM.js → gateway-rpc-BJF1iDnx.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-DJnV8nJK.js} +8 -8
- package/dist/{glass-ui-ws-Dsez9bGF.js → glass-ui-ws-NJNiRFL3.js} +105 -105
- package/dist/{gmail-setup-utils-CLvOQ6kY.js → gmail-setup-utils-D5G00y8h.js} +5 -5
- package/dist/{health-iJ9JzccO.js → health-D59E1VfO.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-Bidz8ACz.js} +98 -98
- package/dist/{hooks-cli-DNlmk6eB.js → hooks-cli-CyjEjDSY.js} +5 -5
- package/dist/{hooks-status-D9SOPTTY.js → hooks-status-DLHEahg_.js} +3 -3
- package/dist/{image-ops-BkR5mVOY.js → image-ops-c7_of0HT.js} +12 -12
- 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-op0Ov-v4.js} +4 -4
- package/dist/{install-safe-path-odQNUvjd.js → install-safe-path-B73BkVO3.js} +12 -12
- package/dist/{installs-DLhIne1t.js → installs-ZXEjR9Sp.js} +12 -12
- package/dist/{internal-CBKiu8Jv.js → internal-C3o_xyzP.js} +10 -10
- package/dist/{legacy-names-BVA_sKnb.js → legacy-names-C0hZiM-7.js} +1 -1
- package/dist/{lifecycle-core-CcinwCvM.js → lifecycle-core-zhQYm_ni.js} +10 -10
- package/dist/{links-C6mXo5Yj.js → links-CSaUKNKm.js} +1 -1
- package/dist/llm-slug-generator.js +33 -33
- package/dist/{local-roots-C0G03E-R.js → local-roots-CTriU02e.js} +3 -3
- package/dist/{local-roots-DtvYChMM.js → local-roots-Dm8-ErgQ.js} +3 -3
- package/dist/{logging-CMolPIQB.js → logging-B96FQvnn.js} +2 -2
- package/dist/{logs-cli--Wek899G.js → logs-cli-B7RJ57Dc.js} +20 -20
- package/dist/{manager-CS1vxold.js → manager-9dNT9kNF.js} +22 -22
- package/dist/{manager-9Rt8-xIT.js → manager-CpBl-VGg.js} +1 -1
- package/dist/{manager-Bmh-pcUv.js → manager-Dsdh0rGn.js} +9 -9
- package/dist/{manager-Do0-i7vp.js → manager-t4GthPGw.js} +1 -1
- package/dist/{manifest-registry-Cc80pffV.js → manifest-registry-B2vClvK5.js} +2 -2
- package/dist/{manifest-registry-B4I9g0CL.js → manifest-registry-D7Qup2Vq.js} +3 -3
- package/dist/{markdown-tables-D0bwB4O7.js → markdown-tables-BaWa2kOe.js} +1 -1
- package/dist/{markdown-tables-jlJYpF1X.js → markdown-tables-GTLvbzuR.js} +2 -2
- package/dist/{memory-BduQaKuC.js → memory-B7TJXpqS.js} +2 -2
- package/dist/{memory-ofHIUCzf.js → memory-DcWXMzOH.js} +7 -7
- package/dist/{memory-cli-BCz9iNCM.js → memory-cli-C0WA_nRS.js} +2 -2
- package/dist/{memory-cli-LXH0BNmI.js → memory-cli-xBZPEOeL.js} +22 -22
- package/dist/{message-channel-j44ChSJV.js → message-channel-C_V8IAYx.js} +1 -1
- package/dist/{model-BBL3doiY.js → model-BXWgh5eZ.js} +1 -1
- package/dist/{model-catalog-D8YRs6r8.js → model-catalog-BGVslwAT.js} +4 -4
- package/dist/{model-picker-CdmjvvmL.js → model-picker-aTfyp_mP.js} +3 -3
- package/dist/{models-DTHdIg0A.js → models-IfAFy9bK.js} +2 -2
- package/dist/{models-cli-CdL5Tf5E.js → models-cli-DiB4JqF2.js} +6 -6
- package/dist/{models-cli-DrJsggrX.js → models-cli-h8h_qu3F.js} +94 -94
- package/dist/{models-config-BCa11tVc.js → models-config-DRgHv7Ss.js} +8 -8
- package/dist/{node-cli-Dl-lvH1N.js → node-cli-BPkbqgRt.js} +50 -50
- package/dist/{node-service-O5CpXu6c.js → node-service-DuN9eBL6.js} +1 -1
- package/dist/{nodes-cli-C9pjIduh.js → nodes-cli-C09c6nCf.js} +27 -27
- package/dist/{nodes-screen-B_D8bZhT.js → nodes-screen-CT94yu_w.js} +7 -7
- package/dist/{note-1QdZVD7W.js → note-CHrtEumO.js} +2 -2
- package/dist/{npm-registry-spec-BQ7yzKIT.js → npm-registry-spec-B8X06AqB.js} +12 -12
- package/dist/{onboard-channels-DmvTuYe_.js → onboard-channels-BfzW-9vo.js} +1 -1
- package/dist/{onboard-channels-CXqIlUcV.js → onboard-channels-Deq8QGnM.js} +13 -13
- package/dist/{onboard-custom-DAD9D1fS.js → onboard-custom-DEdRdzNq.js} +3 -3
- package/dist/{onboard-helpers-C5J9vSm2.js → onboard-helpers-DZKHFY2J.js} +16 -16
- package/dist/{onboard-hooks-D87tRcuX.js → onboard-hooks-DZZM8goM.js} +11 -11
- package/dist/{onboard-3VcPRZV5.js → onboard-iL7Z0wKJ.js} +1 -1
- package/dist/{onboard-remote-D3CWFQ0_.js → onboard-remote-dn4L5WdE.js} +3 -3
- package/dist/{onboard-Cr1Rd93U.js → onboard-sMgEOBjV.js} +20 -20
- package/dist/{onboard-skills-CTv0hBJv.js → onboard-skills-DGHye9Q3.js} +5 -5
- package/dist/{onboarding-D_wPq7hv.js → onboarding-70YKbZi6.js} +3 -3
- package/dist/{onboarding-Bop5peq2.js → onboarding-BjXYbWlg.js} +19 -19
- package/dist/{onboarding.finalize-DGwAMlRi.js → onboarding.finalize-Ch3V08eY.js} +4 -4
- package/dist/{onboarding.finalize-Pa0bEFjp.js → onboarding.finalize-dU_CtL43.js} +62 -62
- package/dist/{onboarding.gateway-config-aIrdqmcQ.js → onboarding.gateway-config-DfF8Rxvn.js} +23 -23
- package/dist/{openai-model-default-BDH_OYY8.js → openai-model-default-D1NFHFF_.js} +4 -4
- package/dist/{pairing-cli-PrIxvqnD.js → pairing-cli-CJv8LQfb.js} +17 -17
- package/dist/{pairing-store-DmCi9E47.js → pairing-store-CxT0UGxd.js} +5 -5
- package/dist/{pairing-token-BmIoXjHZ.js → pairing-token-DorpwP8O.js} +9 -9
- 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-DaQrPPet.js} +2 -2
- package/dist/{pi-auth-json-ChKC--mV.js → pi-auth-json-BzuhVcKu.js} +1 -1
- package/dist/{pi-auth-json-DhbhmAvs.js → pi-auth-json-DGZH6URT.js} +5 -5
- package/dist/{pi-embedded-hri4e4ie.js → pi-embedded-DOCVZrmx.js} +20 -64
- package/dist/{pi-embedded-helpers-VZo1D4Ck.js → pi-embedded-helpers-Be-EeyzH.js} +9 -9
- package/dist/{pi-tools.policy-DrRZdkk0.js → pi-tools.policy-qwS9SXOa.js} +6 -6
- package/dist/{plugin-auto-enable-BV-thF8P.js → plugin-auto-enable-zDUaiaf2.js} +4 -4
- package/dist/{plugin-registry-CYEwOWqU.js → plugin-registry-BgGVB3kW.js} +5 -5
- package/dist/{plugin-registry-q_UuFncy.js → plugin-registry-CP2mbhwk.js} +1 -1
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/reply/model-selection.d.ts +0 -3
- package/dist/plugin-sdk/auto-reply/reply/payload-middleware.d.ts +0 -2
- package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +5 -3
- package/dist/plugin-sdk/auto-reply/types.d.ts +0 -3
- package/dist/plugin-sdk/gateway/outbound-filter.d.ts +4 -7
- package/dist/plugin-sdk/infra/agent-events.d.ts +0 -1
- package/dist/{plugins-CYQOjCDt.js → plugins-DuuHorqi.js} +3 -3
- package/dist/{plugins-cli-DE_0PdqM.js → plugins-cli-1wkCRsFe.js} +5 -5
- package/dist/{plugins-cli-CR1PAkGv.js → plugins-cli-B_Gtx3LU.js} +89 -89
- package/dist/{plugins-BG2b7dR_.js → plugins-yymezpEd.js} +2 -2
- package/dist/{ports-DfsXfAsq.js → ports-ChuJYhEL.js} +2 -2
- package/dist/{ports-LzI_-wEZ.js → ports-EAVAOFyK.js} +7 -7
- package/dist/{program-x8XxEZXE.js → program-UyCr49qs.js} +10 -10
- package/dist/{program-context-CvgJOZ3Q.js → program-context-C7uCS8z7.js} +39 -39
- package/dist/{progress-B6mhJhX6.js → progress-CyPyGCDn.js} +2 -2
- package/dist/{prompt-select-styled-BFV2QYJC.js → prompt-select-styled-BRcRFLzB.js} +4 -4
- package/dist/{prompt-select-styled-CFeLUnsr.js → prompt-select-styled-DcMra8CK.js} +54 -54
- package/dist/{prompt-style-DtQMGj0v.js → prompt-style-Cad0BDRS.js} +1 -1
- package/dist/{provider-auth-helpers-D2GLBV7U.js → provider-auth-helpers-BJTb9xI0.js} +1 -1
- package/dist/{provider-auth-helpers-C-Cv3SZA.js → provider-auth-helpers-Xn1TAPPY.js} +8 -8
- package/dist/{push-apns-DTqLWoEj.js → push-apns-Aaqf9WKI.js} +10 -10
- package/dist/{push-apns-9XQgEWxs.js → push-apns-Bfqnchj6.js} +1 -1
- package/dist/{pw-ai-BFZrohva.js → pw-ai-B3qisJP1.js} +1 -1
- package/dist/{pw-ai-Bb4P23-n.js → pw-ai-C-ddUgTA.js} +20 -20
- package/dist/{pw-ai-D5WlMgqy.js → pw-ai-DJrnU1ja.js} +12 -12
- package/dist/{qmd-manager-92cDmzSO.js → qmd-manager-D5kqCz-Y.js} +28 -28
- package/dist/{qmd-manager-D6ABQ2yd.js → qmd-manager-DrM6m9z1.js} +7 -7
- package/dist/{qr-cli-B_kge4ua.js → qr-cli-B_mw4i0R.js} +12 -12
- package/dist/{register.agent-C-p6kDhf.js → register.agent-BqKNzdaW.js} +108 -108
- package/dist/{register.agent-D9FfFyh0.js → register.agent-vAJ0_4m0.js} +9 -9
- package/dist/register.configure-7TmTqCgU.js +129 -0
- package/dist/{register.configure-CtbO9t7v.js → register.configure-BzgavjpU.js} +8 -8
- package/dist/{register.maintenance-Dy8l8hKt.js → register.maintenance-6Wz4HXlm.js} +109 -109
- package/dist/{register.maintenance-h-CVvMpP.js → register.maintenance-BJO0RCk9.js} +9 -9
- package/dist/{register.message-DFytf1Dr.js → register.message-CW9PahRi.js} +5 -5
- package/dist/{register.message-CaOagrcp.js → register.message-XYivyrQJ.js} +81 -81
- package/dist/{register.onboard-SunldfQB.js → register.onboard-BgwkmP4D.js} +45 -45
- package/dist/{register.onboard-BAQSWmTB.js → register.onboard-MWRC29wD.js} +2 -2
- package/dist/{register.setup-D3uuohUQ.js → register.setup-7OoAqQG_.js} +48 -48
- package/dist/{register.setup-BnuPTj2h.js → register.setup-V-arsKvb.js} +2 -2
- package/dist/{register.status-health-sessions-azKiEST-.js → register.status-health-sessions-1VnuXhGM.js} +3 -3
- package/dist/{register.status-health-sessions-CPcQpUNU.js → register.status-health-sessions-Bgg1sdY_.js} +68 -68
- package/dist/{register.subclis-Di2DRNVF.js → register.subclis-DpPYIqkP.js} +9 -9
- package/dist/{registry-C-JddWwo.js → registry-9AaJQms1.js} +2 -2
- package/dist/{registry-CtguoMhn.js → registry-DKJLAPDB.js} +4 -4
- package/dist/{replies-CvuXRwhI.js → replies-BZN1LuJP.js} +3 -3
- package/dist/{replies-BUaT9S6J.js → replies-Dqft-42v.js} +3 -3
- package/dist/{reply-prefix-ClUrRCRd.js → reply-prefix-CyLplifX.js} +1 -1
- package/dist/{reply-prefix-ChIeKp-P.js → reply-prefix-DkDTGwTs.js} +1 -1
- package/dist/{resolve-route-BLDKso2x.js → resolve-route-CIA0TSsF.js} +4 -4
- package/dist/{resolve-route-C0EHjIMD.js → resolve-route-xpyI3enn.js} +6 -6
- package/dist/{routes-BFfAPz_0.js → routes-xZZ99jJJ.js} +14 -14
- package/dist/{rpc-CQUsmQ6_.js → rpc-BzR2wLkc.js} +3 -3
- package/dist/{run-main-BhJ6M7oy.js → run-main-n0fjk-o5.js} +17 -17
- package/dist/{runtime-guard-Btd35-OG.js → runtime-guard-BZ3_1QqS.js} +1 -1
- package/dist/{sandbox-sayuve7z.js → sandbox-DGG12SGo.js} +27 -27
- package/dist/{sandbox-cli-Dyh_eqHp.js → sandbox-cli--d2MJPM2.js} +37 -37
- package/dist/{security-cli-B5XGCe-n.js → security-cli-CeP9ss1g.js} +53 -53
- package/dist/{send-dfhV1QIV.js → send-BQJKg0bU.js} +7 -7
- package/dist/{send-B-tsyoRw.js → send-BzUWmgQ9.js} +13 -13
- package/dist/{server-context-hxl_K7eY.js → server-context-BNbx1tUD.js} +11 -11
- package/dist/{server-methods-MUFuMWc_.js → server-methods-BHg4GltA.js} +76 -408
- package/dist/{server-methods-3uA_KwN4.js → server-methods-DkZ2XtEo.js} +8 -340
- package/dist/{server-node-events-FUPulMjB.js → server-node-events-6dZ22EGj.js} +82 -82
- package/dist/{server-node-events-DkbyHj1T.js → server-node-events-BXviL2UH.js} +6 -6
- package/dist/{service-B5aOZmQH.js → service-9ItKCWWS.js} +15 -15
- package/dist/{session-cost-usage-DQjHUno0.js → session-cost-usage-DYcv40ss.js} +3 -3
- package/dist/{session-dirs-Chh7bBGo.js → session-dirs-B6PWqKEf.js} +2 -2
- package/dist/{session-utils-C6O0Db39.js → session-utils-BVC8mmBv.js} +22 -22
- package/dist/{sessions-oPVoK2gW.js → sessions-BaFVKzC2.js} +25 -25
- package/dist/{shared-BJxR-kzm.js → shared-DUmy8R4n.js} +5 -5
- package/dist/{shared-E4KDN3LG.js → shared-ot5_jkpP.js} +3 -3
- package/dist/{skill-commands-CfGPouRa.js → skill-commands-DaNhP2Jb.js} +5 -5
- package/dist/{skill-commands-4afIEM1a.js → skill-commands-X3T9Y9lT.js} +4 -4
- package/dist/{skill-scanner-BGtq5jZi.js → skill-scanner-DVq7ZopF.js} +7 -7
- package/dist/{skills-Kt1PL_Um.js → skills-BMTJ2Tiq.js} +6 -6
- package/dist/{skills-BF_e-fYt.js → skills-C_KgxpBD.js} +9 -9
- package/dist/{skills-cli-BlFM1U3r.js → skills-cli-DwYoPwkG.js} +19 -19
- package/dist/{skills-install-miTQGOBQ.js → skills-install-U4FmCP8u.js} +9 -9
- package/dist/{skills-remote-Ch1B-1aN.js → skills-remote-C0gcKYWX.js} +6 -6
- package/dist/{skills-status-CFVFYR-o.js → skills-status-CdfQvU1h.js} +4 -4
- package/dist/{sqlite-CfMLToLW.js → sqlite-BUXBg2yu.js} +8 -8
- package/dist/{sqlite-BKMdYqso.js → sqlite-C6MZhX4c.js} +3 -3
- package/dist/{ssrf-LaudpmHD.js → ssrf-BvjSIOlZ.js} +9 -9
- package/dist/{status-BNH-f3PA.js → status-BAnT_4qI.js} +4 -4
- package/dist/{status-B-XD80Yl.js → status-BK-ZK7SP.js} +36 -36
- package/dist/{status-CCgqMBwp.js → status-CmoBgZ99.js} +1 -1
- package/dist/{status-C7F7r-qN.js → status-J_gR_zbh.js} +1 -1
- package/dist/{status.update-B9WCVHPy.js → status.update-Cvj7y384.js} +4 -4
- package/dist/{subagent-registry-z08a8MUS.js → subagent-registry-CWolsN8K.js} +13 -55
- package/dist/{subsystem-CgepNOk5.js → subsystem-CtH6J8AV.js} +1 -1
- package/dist/{subsystem-DzRUKS9f.js → subsystem-DhOo2FZn.js} +1 -1
- package/dist/{symi-root-7ei1lwo0.js → symi-root-0MUhiNlM.js} +3 -3
- package/dist/{synthesis-D4iCZvKx.js → synthesis-BSKiS446.js} +4 -4
- package/dist/{synthesis-CjFmYp54.js → synthesis-CRQp5mTx.js} +78 -78
- package/dist/{synthesis-Dlweuq0p.js → synthesis-D3wZX5g3.js} +33 -33
- package/dist/{synthesis-ByjLMHMS.js → synthesis-DTZGPpj5.js} +4 -4
- package/dist/{system-cli-Ccu9utFt.js → system-cli-CUGyogmP.js} +19 -19
- package/dist/{systemd-ChKNxGyT.js → systemd-8KKQdTO_.js} +8 -8
- package/dist/{systemd-hints-hoofHqb7.js → systemd-hints-_ghBqtKo.js} +7 -7
- package/dist/{systemd-linger-DLgi3jd0.js → systemd-linger-CnKJZBUr.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-BYtE7_UC.js} +2 -2
- package/dist/{tokens-DfB8vBa4.js → tokens-DvvjOTxN.js} +1 -1
- package/dist/{tokens-B24nv23l.js → tokens-wW7opugV.js} +1 -1
- 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/{tool-loop-detection-BR52lwOt.js → tool-loop-detection-DyZ0TWGh.js} +2 -2
- package/dist/transcript-events-JGGQViao.js +17 -0
- package/dist/{trash-oWw0M_xA.js → trash-BjVrPcAx.js} +2 -2
- package/dist/{tui-cli-sRKxOjmC.js → tui-cli-BPOcMJ-f.js} +43 -43
- package/dist/{tui-DqMRn1zF.js → tui-fKWqWqeq.js} +12 -12
- package/dist/{unified-runner-Uyw1gZOm.js → unified-runner-Cdj1nLUh.js} +286 -328
- package/dist/{unified-runner-CBVGL54b.js → unified-runner-DftrstdI.js} +200 -245
- package/dist/{update-rop24lF7.js → update-XJWQZpV7.js} +5 -5
- package/dist/{update-check-CC111uwU.js → update-check-BdSIMYWq.js} +7 -7
- package/dist/{update-cli-BbtFbkK5.js → update-cli-D_MLjj6j.js} +120 -120
- package/dist/{update-cli-CH7SLjSd.js → update-cli-jQo-vg6S.js} +9 -9
- package/dist/{update-runner-B0L2a2rW.js → update-runner-D_UHlPN0.js} +18 -18
- package/dist/{utils-AQWIWjGu.js → utils-BU8jVQFM.js} +2 -2
- package/dist/{webhooks-cli-CFMpDwWL.js → webhooks-cli-DgRLVVrD.js} +17 -17
- package/dist/{widearea-dns-DxpPXWPv.js → widearea-dns-C5NqCQ3L.js} +2 -2
- package/dist/{with-timeout-Bxn0qVBQ.js → with-timeout-DwVWQ2sN.js} +2 -2
- package/dist/{workspace-StbmAqYj.js → workspace-B_xyjOdv.js} +4 -4
- package/dist/{workspace-CsaDUuDn.js → workspace-OBnI5mKu.js} +2 -2
- package/dist/{workspace-dirs-B5axjz_-.js → workspace-dirs-DStsDXra.js} +1 -1
- package/dist/{ws-FAiTi9-v.js → ws-CahTJvD6.js} +1 -1
- package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
- package/package.json +1 -1
- package/dist/cli-iz9sMJ9d.js +0 -128
- 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/{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/{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,148 +1,148 @@
|
|
|
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 clearAgentRunContext, B as normalizeOptionalText, Bt as countActiveRunsForSession, Cn as waitForActiveTasks, Ct as DEFAULT_INPUT_IMAGE_MIMES, D as resolveOutboundSessionRoute, Dt as extractImageContentFromSource, En as resolveModelProfile, 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, On as runWithModelFallback, Ot as normalizeMimeList, P as normalizeHttpWebhookUrl, Q as isExternalHookSession, R as normalizeOptionalAgentId, S as createSymiTools, Sn as setCommandLaneConcurrency, St as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tn as classifyOutboundMessage, Tt as DEFAULT_INPUT_TIMEOUT_MS, U as migrateLegacyCronPayload, V as normalizePayloadToSystemText, Vt as initSubagentRegistry, W as buildDeliveryFromLegacyPayload, X as detectSuspiciousPatterns, Xt as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Y as buildSafeExternalPrompt, Z as getHookType, Zt as stripHeartbeatToken, a as getPluginToolMeta, at as markGatewaySigusr1RestartHandled, bn as getTotalQueueSize, c as handleSlackHttpRequest, ct as setPreRestartDeferralCheck, d as buildHistoryContextFromEntries, en as emitAgentEvent, fn as formatUserTime, h as getTotalPendingReplies, it as isGatewaySigusr1RestartExternallyAllowed, k as resolveSessionDeliveryTarget, kt as resolveInputFileLimits, l as readJsonBodyWithLimit, ln as registerUnhandledRejectionHandler, mn as resolveUserTimezone, n as applyToolPolicyPipeline, nn as onAgentEvent, nt as deferGatewayRestartUntilIdle, on as getActiveEmbeddedRunCount, pn as resolveUserTimeFormat, qt as readLatestAssistantReply, r as buildDefaultToolPolicyPipelineSteps, rn as registerAgentRunContext, rt as emitGatewayRestart, s as loadSymiPlugins, st as setGatewaySigusr1RestartPolicy, t as runAgentTurn, tn as getAgentRunContext, tt as consumeGatewaySigusr1RestartAuthorization, u as requestBodyErrorToText, un as ToolInputError, w as resolveAnnounceTargetFromKey, wn as CommandLane, wt as DEFAULT_INPUT_MAX_REDIRECTS, xn as resetAllLanes, yn as getActiveTaskCount, z as normalizeOptionalSessionKey, zt as countActiveDescendantRuns } from "./unified-runner-Cdj1nLUh.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-BVtpxYtY.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-0MUhiNlM.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-BjEBQhs0.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-Be-EeyzH.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-CW8aDVM0.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-DGG12SGo.js";
|
|
20
|
+
import "./chrome-NUKborg3.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-BNbx1tUD.js";
|
|
27
|
+
import { d as hasBinary } from "./frontmatter-B6IdJ7UK.js";
|
|
28
|
+
import { r as buildWorkspaceSkillSnapshot } from "./skills-C_KgxpBD.js";
|
|
29
|
+
import "./routes-xZZ99jJJ.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-DjAKGGJ8.js";
|
|
33
|
+
import "./paths-DaQrPPet.js";
|
|
34
|
+
import { t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
|
|
35
|
+
import { c as detectMime } from "./image-ops-c7_of0HT.js";
|
|
36
|
+
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-EAVAOFyK.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-BaFVKzC2.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-BzUWmgQ9.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 { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DvvjOTxN.js";
|
|
46
|
+
import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, t as deliverOutboundPayloads } from "./deliver-DZ7ynJYH.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-DRgHv7Ss.js";
|
|
50
|
+
import "./pi-auth-json-DGZH6URT.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-BVC8mmBv.js";
|
|
53
|
+
import { r as getMachineDisplayName } from "./with-timeout-DwVWQ2sN.js";
|
|
54
|
+
import { a as resolveAgentIdentity } from "./reply-prefix-CyLplifX.js";
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DcWXMzOH.js";
|
|
56
|
+
import { c as resolveMemorySearchConfig } from "./manager-9dNT9kNF.js";
|
|
57
|
+
import "./sqlite-BUXBg2yu.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-CTriU02e.js";
|
|
62
|
+
import { n as isRestartEnabled } from "./commands-B3UrgxIz.js";
|
|
63
|
+
import "./commands-registry-DYk02tmt.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-Bs2zB0rY.js";
|
|
65
|
+
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-CdXXPXpo.js";
|
|
66
|
+
import "./pairing-token-DorpwP8O.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-C0gcKYWX.js";
|
|
69
|
+
import "./workspace-dirs-DStsDXra.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-BGVslwAT.js";
|
|
72
|
+
import "./skill-commands-X3T9Y9lT.js";
|
|
73
|
+
import "./pairing-store-CxT0UGxd.js";
|
|
74
|
+
import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-CZOc8M5w.js";
|
|
75
|
+
import "./nodes-screen-CT94yu_w.js";
|
|
76
76
|
import { n as formatTokenCount, r as formatUsd } from "./usage-format-Ca9K30TH.js";
|
|
77
|
-
import "./control-service-
|
|
77
|
+
import "./control-service-Drd2sr2o.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-xpyI3enn.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-xBZPEOeL.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-Dqft-42v.js";
|
|
90
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-qwS9SXOa.js";
|
|
91
|
+
import "./model-BXWgh5eZ.js";
|
|
92
|
+
import { t as createDefaultDeps } from "./deps-i1g0Zpz4.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-ChuJYhEL.js";
|
|
96
|
+
import "./catalog-BEREnWaa.js";
|
|
97
|
+
import "./skills-status-CdfQvU1h.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-zDUaiaf2.js";
|
|
102
|
+
import "./install-safe-path-B73BkVO3.js";
|
|
103
|
+
import "./skill-scanner-DVq7ZopF.js";
|
|
104
|
+
import "./channels-status-issues-DC8vgOMo.js";
|
|
105
|
+
import "./daemon-runtime-BH3ZBZXS.js";
|
|
106
|
+
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DZKHFY2J.js";
|
|
107
|
+
import "./systemd-8KKQdTO_.js";
|
|
108
|
+
import "./service-9ItKCWWS.js";
|
|
109
|
+
import "./lifecycle-core-zhQYm_ni.js";
|
|
110
|
+
import "./systemd-hints-_ghBqtKo.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-BY9BFNuw.js";
|
|
113
|
+
import "./diagnostics-nLP2i_BY.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-ot5_jkpP.js";
|
|
117
|
+
import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-DQ_p2Pbq.js";
|
|
118
|
+
import { t as discoverGatewayBeacons } from "./bonjour-discovery-CU1mz7AC.js";
|
|
119
|
+
import { r as pickGatewaySelfPresence } from "./status-BK-ZK7SP.js";
|
|
120
|
+
import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-D59E1VfO.js";
|
|
121
|
+
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D22DSxhv.js";
|
|
122
|
+
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BdSIMYWq.js";
|
|
123
|
+
import { t as runOnboardingWizard } from "./onboarding-BjXYbWlg.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-BHg4GltA.js";
|
|
125
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-Aaqf9WKI.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-DeLysRUa.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-
|
|
135
|
-
import { t as resolveAgentSessionDirs } from "./session-dirs-
|
|
136
|
-
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-
|
|
129
|
+
import { s as loadAgentIdentityFromWorkspace } from "./agents.config-BFKM-a83.js";
|
|
130
|
+
import "./dm-policy-shared-CnKffdt_.js";
|
|
131
|
+
import "./node-service-DuN9eBL6.js";
|
|
132
|
+
import "./status.update-Cvj7y384.js";
|
|
133
|
+
import "./skills-install-U4FmCP8u.js";
|
|
134
|
+
import "./update-runner-D_UHlPN0.js";
|
|
135
|
+
import { t as resolveAgentSessionDirs } from "./session-dirs-B6PWqKEf.js";
|
|
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
|
-
import
|
|
145
|
+
import fsPromises from "node:fs/promises";
|
|
146
146
|
import { spawn } from "node:child_process";
|
|
147
147
|
import { z } from "zod";
|
|
148
148
|
import net from "node:net";
|
|
@@ -1132,7 +1132,7 @@ function shouldSkipCheck(allowInTests) {
|
|
|
1132
1132
|
}
|
|
1133
1133
|
async function readState(statePath) {
|
|
1134
1134
|
try {
|
|
1135
|
-
const raw = await
|
|
1135
|
+
const raw = await fsPromises.readFile(statePath, "utf-8");
|
|
1136
1136
|
const parsed = JSON.parse(raw);
|
|
1137
1137
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
1138
1138
|
} catch {
|
|
@@ -1140,8 +1140,8 @@ async function readState(statePath) {
|
|
|
1140
1140
|
}
|
|
1141
1141
|
}
|
|
1142
1142
|
async function writeState(statePath, state) {
|
|
1143
|
-
await
|
|
1144
|
-
await
|
|
1143
|
+
await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
|
|
1144
|
+
await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
|
|
1145
1145
|
}
|
|
1146
1146
|
function sameUpdateAvailable(a, b) {
|
|
1147
1147
|
if (a === b) return true;
|
|
@@ -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
|
/**
|
|
@@ -6287,7 +6587,7 @@ function normalizeAgentPayload(payload) {
|
|
|
6287
6587
|
async function startBrowserControlServerIfEnabled() {
|
|
6288
6588
|
if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
|
|
6289
6589
|
const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
|
|
6290
|
-
const mod = override ? await import(override) : await import("./control-service-
|
|
6590
|
+
const mod = override ? await import(override) : await import("./control-service-Drd2sr2o.js").then((n) => n.t);
|
|
6291
6591
|
const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
|
|
6292
6592
|
const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
|
|
6293
6593
|
if (!start) return null;
|
|
@@ -6514,7 +6814,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
|
|
|
6514
6814
|
if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6515
6815
|
const candidate = path.join(rootReal, rel);
|
|
6516
6816
|
try {
|
|
6517
|
-
const st = await
|
|
6817
|
+
const st = await fsPromises.lstat(candidate);
|
|
6518
6818
|
if (st.isSymbolicLink()) return null;
|
|
6519
6819
|
if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6520
6820
|
} catch {}
|
|
@@ -6551,8 +6851,8 @@ async function resolveA2uiRoot() {
|
|
|
6551
6851
|
for (const dir of candidates) try {
|
|
6552
6852
|
const indexPath = path.join(dir, "index.html");
|
|
6553
6853
|
const bundlePath = path.join(dir, "a2ui.bundle.js");
|
|
6554
|
-
await
|
|
6555
|
-
await
|
|
6854
|
+
await fsPromises.stat(indexPath);
|
|
6855
|
+
await fsPromises.stat(bundlePath);
|
|
6556
6856
|
return dir;
|
|
6557
6857
|
} catch {}
|
|
6558
6858
|
return null;
|
|
@@ -6561,7 +6861,7 @@ async function resolveA2uiRootReal() {
|
|
|
6561
6861
|
if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
|
|
6562
6862
|
if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
|
|
6563
6863
|
const root = await resolveA2uiRoot();
|
|
6564
|
-
cachedA2uiRootReal = root ? await
|
|
6864
|
+
cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
|
|
6565
6865
|
cachedA2uiResolvedAtMs = Date.now();
|
|
6566
6866
|
resolvingA2uiRoot = null;
|
|
6567
6867
|
return cachedA2uiRootReal;
|
|
@@ -6782,13 +7082,13 @@ function normalizeBasePath(rawPath) {
|
|
|
6782
7082
|
}
|
|
6783
7083
|
async function prepareCanvasRoot(rootDir) {
|
|
6784
7084
|
await ensureDir(rootDir);
|
|
6785
|
-
const rootReal = await
|
|
7085
|
+
const rootReal = await fsPromises.realpath(rootDir);
|
|
6786
7086
|
try {
|
|
6787
7087
|
const indexPath = path.join(rootReal, "index.html");
|
|
6788
|
-
await
|
|
7088
|
+
await fsPromises.stat(indexPath);
|
|
6789
7089
|
} catch {
|
|
6790
7090
|
try {
|
|
6791
|
-
await
|
|
7091
|
+
await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
|
|
6792
7092
|
} catch {}
|
|
6793
7093
|
}
|
|
6794
7094
|
return rootReal;
|
|
@@ -9735,7 +10035,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
|
|
|
9735
10035
|
}
|
|
9736
10036
|
async function readLockPayload(lockPath) {
|
|
9737
10037
|
try {
|
|
9738
|
-
const raw = await
|
|
10038
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
9739
10039
|
const parsed = JSON.parse(raw);
|
|
9740
10040
|
if (typeof parsed.pid !== "number") return null;
|
|
9741
10041
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -9769,11 +10069,11 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9769
10069
|
const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
|
|
9770
10070
|
const platform = opts.platform ?? process.platform;
|
|
9771
10071
|
const { lockPath, configPath } = resolveGatewayLockPath(env);
|
|
9772
|
-
await
|
|
10072
|
+
await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
|
|
9773
10073
|
const startedAt = Date.now();
|
|
9774
10074
|
let lastPayload = null;
|
|
9775
10075
|
while (Date.now() - startedAt < timeoutMs) try {
|
|
9776
|
-
const handle = await
|
|
10076
|
+
const handle = await fsPromises.open(lockPath, "wx");
|
|
9777
10077
|
const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
|
|
9778
10078
|
const payload = {
|
|
9779
10079
|
pid: process.pid,
|
|
@@ -9787,7 +10087,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9787
10087
|
configPath,
|
|
9788
10088
|
release: async () => {
|
|
9789
10089
|
await handle.close().catch(() => void 0);
|
|
9790
|
-
await
|
|
10090
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
9791
10091
|
}
|
|
9792
10092
|
};
|
|
9793
10093
|
} catch (err) {
|
|
@@ -9796,7 +10096,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9796
10096
|
const ownerPid = lastPayload?.pid;
|
|
9797
10097
|
const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
|
|
9798
10098
|
if (ownerStatus === "dead" && ownerPid) {
|
|
9799
|
-
await
|
|
10099
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
9800
10100
|
continue;
|
|
9801
10101
|
}
|
|
9802
10102
|
if (ownerStatus !== "alive") {
|
|
@@ -9806,13 +10106,13 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9806
10106
|
stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
|
|
9807
10107
|
}
|
|
9808
10108
|
if (!stale) try {
|
|
9809
|
-
const st = await
|
|
10109
|
+
const st = await fsPromises.stat(lockPath);
|
|
9810
10110
|
stale = Date.now() - st.mtimeMs > staleMs;
|
|
9811
10111
|
} catch {
|
|
9812
10112
|
stale = true;
|
|
9813
10113
|
}
|
|
9814
10114
|
if (stale) {
|
|
9815
|
-
await
|
|
10115
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
9816
10116
|
continue;
|
|
9817
10117
|
}
|
|
9818
10118
|
}
|
|
@@ -11709,8 +12009,8 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11709
12009
|
});
|
|
11710
12010
|
if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
|
|
11711
12011
|
if (!minimalTestGateway) (async () => {
|
|
11712
|
-
const { recoverPendingDeliveries } = await import("./delivery-queue-
|
|
11713
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
12012
|
+
const { recoverPendingDeliveries } = await import("./delivery-queue-DDs84baU.js").then((n) => n.n);
|
|
12013
|
+
const { deliverOutboundPayloads } = await import("./deliver-DZ7ynJYH.js").then((n) => n.n);
|
|
11714
12014
|
await recoverPendingDeliveries({
|
|
11715
12015
|
deliver: deliverOutboundPayloads,
|
|
11716
12016
|
log: log.child("delivery-recovery"),
|
|
@@ -11783,7 +12083,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11783
12083
|
});
|
|
11784
12084
|
let glassUiBridgeCleanup = null;
|
|
11785
12085
|
if (!minimalTestGateway) {
|
|
11786
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
12086
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-NJNiRFL3.js");
|
|
11787
12087
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11788
12088
|
wss: glassUiWss,
|
|
11789
12089
|
context: gatewayRequestContext,
|