@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
package/dist/{onboarding.gateway-config-aIrdqmcQ.js → onboarding.gateway-config-DfF8Rxvn.js}
RENAMED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./subsystem-
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import "./exec-
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./github-copilot-token-
|
|
9
|
-
import "./boolean-
|
|
10
|
-
import "./env-
|
|
11
|
-
import "./config-
|
|
12
|
-
import "./manifest-registry-
|
|
13
|
-
import { a as findTailscaleBinary } from "./tailscale-
|
|
14
|
-
import "./sessions-
|
|
15
|
-
import "./dock-
|
|
16
|
-
import "./message-channel-
|
|
17
|
-
import "./plugins-
|
|
18
|
-
import "./paths-
|
|
19
|
-
import "./client-
|
|
20
|
-
import "./call-
|
|
21
|
-
import "./pairing-token-
|
|
22
|
-
import "./prompt-style-
|
|
23
|
-
import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-
|
|
1
|
+
import "./registry-DKJLAPDB.js";
|
|
2
|
+
import "./paths-BSzKwaxE.js";
|
|
3
|
+
import "./utils-BU8jVQFM.js";
|
|
4
|
+
import "./subsystem-CtH6J8AV.js";
|
|
5
|
+
import "./auth-profiles-BVtpxYtY.js";
|
|
6
|
+
import "./exec-DKyLtSjm.js";
|
|
7
|
+
import "./agent-scope-BjEBQhs0.js";
|
|
8
|
+
import "./github-copilot-token-BTNK6Tcd.js";
|
|
9
|
+
import "./boolean-Wzu0-e0P.js";
|
|
10
|
+
import "./env-B97Ms861.js";
|
|
11
|
+
import "./config-CW8aDVM0.js";
|
|
12
|
+
import "./manifest-registry-D7Qup2Vq.js";
|
|
13
|
+
import { a as findTailscaleBinary } from "./tailscale-D7dC-5EX.js";
|
|
14
|
+
import "./sessions-BaFVKzC2.js";
|
|
15
|
+
import "./dock-CnGWTXL4.js";
|
|
16
|
+
import "./message-channel-C_V8IAYx.js";
|
|
17
|
+
import "./plugins-DuuHorqi.js";
|
|
18
|
+
import "./paths-CJcw9nbZ.js";
|
|
19
|
+
import "./client-Bs2zB0rY.js";
|
|
20
|
+
import "./call-CdXXPXpo.js";
|
|
21
|
+
import "./pairing-token-DorpwP8O.js";
|
|
22
|
+
import "./prompt-style-Cad0BDRS.js";
|
|
23
|
+
import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-DZKHFY2J.js";
|
|
24
24
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CfVqgiTN.js";
|
|
25
25
|
|
|
26
26
|
//#region src/wizard/onboarding.gateway-config.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as escapeRegExp, p as resolveConfigDir } from "./utils-
|
|
2
|
-
import { B as resolveAllowlistModelKey, Ut as DEFAULT_PROVIDER } from "./auth-profiles-
|
|
1
|
+
import { c as escapeRegExp, p as resolveConfigDir } from "./utils-BU8jVQFM.js";
|
|
2
|
+
import { B as resolveAllowlistModelKey, Ut as DEFAULT_PROVIDER } from "./auth-profiles-BVtpxYtY.js";
|
|
3
3
|
import { n as fetchWithTimeout } from "./fetch-timeout-CgmRK282.js";
|
|
4
|
-
import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-
|
|
5
|
-
import fs from "node:fs";
|
|
4
|
+
import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-CPluo60n.js";
|
|
6
5
|
import path from "node:path";
|
|
6
|
+
import fs from "node:fs";
|
|
7
7
|
|
|
8
8
|
//#region src/commands/model-allowlist.ts
|
|
9
9
|
function ensureModelAllowlistEntry(params) {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import
|
|
4
|
-
import { f as defaultRuntime } from "./subsystem-
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import { t as formatCliCommand } from "./command-format-
|
|
7
|
-
import "./exec-
|
|
8
|
-
import "./agent-scope-
|
|
9
|
-
import "./github-copilot-token-
|
|
10
|
-
import "./boolean-
|
|
11
|
-
import "./env-
|
|
12
|
-
import { i as loadConfig } from "./config-
|
|
13
|
-
import "./manifest-registry-
|
|
14
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
15
|
-
import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-
|
|
16
|
-
import { t as formatDocsLink } from "./links-
|
|
17
|
-
import { t as renderTable } from "./table-
|
|
1
|
+
import { j as theme } from "./registry-DKJLAPDB.js";
|
|
2
|
+
import "./paths-BSzKwaxE.js";
|
|
3
|
+
import "./utils-BU8jVQFM.js";
|
|
4
|
+
import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
|
|
5
|
+
import "./auth-profiles-BVtpxYtY.js";
|
|
6
|
+
import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
|
|
7
|
+
import "./exec-DKyLtSjm.js";
|
|
8
|
+
import "./agent-scope-BjEBQhs0.js";
|
|
9
|
+
import "./github-copilot-token-BTNK6Tcd.js";
|
|
10
|
+
import "./boolean-Wzu0-e0P.js";
|
|
11
|
+
import "./env-B97Ms861.js";
|
|
12
|
+
import { i as loadConfig } from "./config-CW8aDVM0.js";
|
|
13
|
+
import "./manifest-registry-D7Qup2Vq.js";
|
|
14
|
+
import { r as normalizeChannelId } from "./plugins-DuuHorqi.js";
|
|
15
|
+
import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-CxT0UGxd.js";
|
|
16
|
+
import { t as formatDocsLink } from "./links-CSaUKNKm.js";
|
|
17
|
+
import { t as renderTable } from "./table-DkAQzCOR.js";
|
|
18
18
|
|
|
19
19
|
//#region src/pairing/pairing-labels.ts
|
|
20
20
|
function resolvePairingIdLabel(channel) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-
|
|
2
|
-
import { g as safeParseJson } from "./utils-
|
|
3
|
-
import { E as withFileLock$1 } from "./auth-profiles-
|
|
4
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-
|
|
1
|
+
import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-BSzKwaxE.js";
|
|
2
|
+
import { g as safeParseJson } from "./utils-BU8jVQFM.js";
|
|
3
|
+
import { E as withFileLock$1 } from "./auth-profiles-BVtpxYtY.js";
|
|
4
|
+
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
|
+
import path from "node:path";
|
|
6
7
|
import fs from "node:fs";
|
|
7
8
|
import os from "node:os";
|
|
8
|
-
import path from "node:path";
|
|
9
9
|
|
|
10
10
|
//#region src/channels/plugins/pairing.ts
|
|
11
11
|
function listPairingChannels() {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { g as resolveStateDir } from "./paths-
|
|
2
|
-
import { t as safeEqualSecret } from "./secret-equal-
|
|
1
|
+
import { g as resolveStateDir } from "./paths-BSzKwaxE.js";
|
|
2
|
+
import { t as safeEqualSecret } from "./secret-equal-D1BCVB1D.js";
|
|
3
3
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises from "node:fs/promises";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/json-files.ts
|
|
8
8
|
async function readJsonFile(filePath) {
|
|
9
9
|
try {
|
|
10
|
-
const raw = await
|
|
10
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
11
11
|
return JSON.parse(raw);
|
|
12
12
|
} catch {
|
|
13
13
|
return null;
|
|
@@ -16,15 +16,15 @@ async function readJsonFile(filePath) {
|
|
|
16
16
|
async function writeJsonAtomic(filePath, value, options) {
|
|
17
17
|
const mode = options?.mode ?? 384;
|
|
18
18
|
const dir = path.dirname(filePath);
|
|
19
|
-
await
|
|
19
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
20
20
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
21
|
-
await
|
|
21
|
+
await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
|
|
22
22
|
try {
|
|
23
|
-
await
|
|
23
|
+
await fsPromises.chmod(tmp, mode);
|
|
24
24
|
} catch {}
|
|
25
|
-
await
|
|
25
|
+
await fsPromises.rename(tmp, filePath);
|
|
26
26
|
try {
|
|
27
|
-
await
|
|
27
|
+
await fsPromises.chmod(filePath, mode);
|
|
28
28
|
} catch {}
|
|
29
29
|
}
|
|
30
30
|
function createAsyncLock() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
2
|
-
import { n as resolveBrewPathDirs } from "./brew-
|
|
1
|
+
import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
|
|
2
|
+
import { n as resolveBrewPathDirs } from "./brew-BoKmB5x9.js";
|
|
3
|
+
import path from "node:path";
|
|
3
4
|
import fs from "node:fs";
|
|
4
5
|
import os from "node:os";
|
|
5
|
-
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/path-env.ts
|
|
8
8
|
function isExecutable(filePath) {
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
|
|
2
|
+
import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BmQ2R1ev.js";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
|
|
6
|
+
//#region src/config/sessions/paths.ts
|
|
7
|
+
function resolveAgentSessionsDir(agentId, env = process.env, homedir = () => resolveRequiredHomeDir(env, os.homedir)) {
|
|
8
|
+
const root = resolveStateDir(env, homedir);
|
|
9
|
+
const id = normalizeAgentId(agentId ?? DEFAULT_AGENT_ID);
|
|
10
|
+
return path.join(root, "agents", id, "sessions");
|
|
11
|
+
}
|
|
12
|
+
function resolveSessionTranscriptsDirForAgent(agentId, env = process.env, homedir = () => resolveRequiredHomeDir(env, os.homedir)) {
|
|
13
|
+
return resolveAgentSessionsDir(agentId, env, homedir);
|
|
14
|
+
}
|
|
15
|
+
function resolveDefaultSessionStorePath(agentId) {
|
|
16
|
+
return path.join(resolveAgentSessionsDir(agentId), "sessions.json");
|
|
17
|
+
}
|
|
18
|
+
function resolveSessionFilePathOptions(params) {
|
|
19
|
+
const agentId = params.agentId?.trim();
|
|
20
|
+
const storePath = params.storePath?.trim();
|
|
21
|
+
if (storePath) {
|
|
22
|
+
const sessionsDir = path.dirname(path.resolve(storePath));
|
|
23
|
+
return agentId ? {
|
|
24
|
+
sessionsDir,
|
|
25
|
+
agentId
|
|
26
|
+
} : { sessionsDir };
|
|
27
|
+
}
|
|
28
|
+
if (agentId) return { agentId };
|
|
29
|
+
}
|
|
30
|
+
const SAFE_SESSION_ID_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/i;
|
|
31
|
+
function validateSessionId(sessionId) {
|
|
32
|
+
const trimmed = sessionId.trim();
|
|
33
|
+
if (!SAFE_SESSION_ID_RE.test(trimmed)) throw new Error(`Invalid session ID: ${sessionId}`);
|
|
34
|
+
return trimmed;
|
|
35
|
+
}
|
|
36
|
+
function resolveSessionsDir(opts) {
|
|
37
|
+
const sessionsDir = opts?.sessionsDir?.trim();
|
|
38
|
+
if (sessionsDir) return path.resolve(sessionsDir);
|
|
39
|
+
return resolveAgentSessionsDir(opts?.agentId);
|
|
40
|
+
}
|
|
41
|
+
function resolvePathFromAgentSessionsDir(agentSessionsDir, candidateAbsPath) {
|
|
42
|
+
const agentBase = path.resolve(agentSessionsDir);
|
|
43
|
+
const relative = path.relative(agentBase, candidateAbsPath);
|
|
44
|
+
if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) return;
|
|
45
|
+
return path.resolve(agentBase, relative);
|
|
46
|
+
}
|
|
47
|
+
function resolveSiblingAgentSessionsDir(baseSessionsDir, agentId) {
|
|
48
|
+
const resolvedBase = path.resolve(baseSessionsDir);
|
|
49
|
+
if (path.basename(resolvedBase) !== "sessions") return;
|
|
50
|
+
const baseAgentDir = path.dirname(resolvedBase);
|
|
51
|
+
const baseAgentsDir = path.dirname(baseAgentDir);
|
|
52
|
+
if (path.basename(baseAgentsDir) !== "agents") return;
|
|
53
|
+
const rootDir = path.dirname(baseAgentsDir);
|
|
54
|
+
return path.join(rootDir, "agents", normalizeAgentId(agentId), "sessions");
|
|
55
|
+
}
|
|
56
|
+
function extractAgentIdFromAbsoluteSessionPath(candidateAbsPath) {
|
|
57
|
+
const parts = path.normalize(path.resolve(candidateAbsPath)).split(path.sep).filter(Boolean);
|
|
58
|
+
const sessionsIndex = parts.lastIndexOf("sessions");
|
|
59
|
+
if (sessionsIndex < 2 || parts[sessionsIndex - 2] !== "agents") return;
|
|
60
|
+
return parts[sessionsIndex - 1] || void 0;
|
|
61
|
+
}
|
|
62
|
+
function resolvePathWithinSessionsDir(sessionsDir, candidate, opts) {
|
|
63
|
+
const trimmed = candidate.trim();
|
|
64
|
+
if (!trimmed) throw new Error("Session file path must not be empty");
|
|
65
|
+
const resolvedBase = path.resolve(sessionsDir);
|
|
66
|
+
const normalized = path.isAbsolute(trimmed) ? path.relative(resolvedBase, trimmed) : trimmed;
|
|
67
|
+
if (normalized.startsWith("..") && path.isAbsolute(trimmed)) {
|
|
68
|
+
const tryAgentFallback = (agentId) => {
|
|
69
|
+
const normalizedAgentId = normalizeAgentId(agentId);
|
|
70
|
+
const siblingSessionsDir = resolveSiblingAgentSessionsDir(resolvedBase, normalizedAgentId);
|
|
71
|
+
if (siblingSessionsDir) {
|
|
72
|
+
const siblingResolved = resolvePathFromAgentSessionsDir(siblingSessionsDir, trimmed);
|
|
73
|
+
if (siblingResolved) return siblingResolved;
|
|
74
|
+
}
|
|
75
|
+
return resolvePathFromAgentSessionsDir(resolveAgentSessionsDir(normalizedAgentId), trimmed);
|
|
76
|
+
};
|
|
77
|
+
const explicitAgentId = opts?.agentId?.trim();
|
|
78
|
+
if (explicitAgentId) {
|
|
79
|
+
const resolvedFromAgent = tryAgentFallback(explicitAgentId);
|
|
80
|
+
if (resolvedFromAgent) return resolvedFromAgent;
|
|
81
|
+
}
|
|
82
|
+
const extractedAgentId = extractAgentIdFromAbsoluteSessionPath(trimmed);
|
|
83
|
+
if (extractedAgentId) {
|
|
84
|
+
const resolvedFromPath = tryAgentFallback(extractedAgentId);
|
|
85
|
+
if (resolvedFromPath) return resolvedFromPath;
|
|
86
|
+
return path.resolve(trimmed);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!normalized || normalized.startsWith("..") || path.isAbsolute(normalized)) throw new Error("Session file path must be within sessions directory");
|
|
90
|
+
return path.resolve(resolvedBase, normalized);
|
|
91
|
+
}
|
|
92
|
+
function resolveSessionTranscriptPathInDir(sessionId, sessionsDir, topicId) {
|
|
93
|
+
const safeSessionId = validateSessionId(sessionId);
|
|
94
|
+
const safeTopicId = typeof topicId === "string" ? encodeURIComponent(topicId) : typeof topicId === "number" ? String(topicId) : void 0;
|
|
95
|
+
return resolvePathWithinSessionsDir(sessionsDir, safeTopicId !== void 0 ? `${safeSessionId}-topic-${safeTopicId}.jsonl` : `${safeSessionId}.jsonl`);
|
|
96
|
+
}
|
|
97
|
+
function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
|
|
98
|
+
return resolveSessionTranscriptPathInDir(sessionId, resolveAgentSessionsDir(agentId), topicId);
|
|
99
|
+
}
|
|
100
|
+
function resolveSessionFilePath(sessionId, entry, opts) {
|
|
101
|
+
const sessionsDir = resolveSessionsDir(opts);
|
|
102
|
+
const candidate = entry?.sessionFile?.trim();
|
|
103
|
+
if (candidate) return resolvePathWithinSessionsDir(sessionsDir, candidate, { agentId: opts?.agentId });
|
|
104
|
+
return resolveSessionTranscriptPathInDir(sessionId, sessionsDir);
|
|
105
|
+
}
|
|
106
|
+
function resolveStorePath(store, opts) {
|
|
107
|
+
const agentId = normalizeAgentId(opts?.agentId ?? DEFAULT_AGENT_ID);
|
|
108
|
+
if (!store) return resolveDefaultSessionStorePath(agentId);
|
|
109
|
+
if (store.includes("{agentId}")) {
|
|
110
|
+
const expanded = store.replaceAll("{agentId}", agentId);
|
|
111
|
+
if (expanded.startsWith("~")) return path.resolve(expandHomePrefix(expanded, {
|
|
112
|
+
home: resolveRequiredHomeDir(process.env, os.homedir),
|
|
113
|
+
env: process.env,
|
|
114
|
+
homedir: os.homedir
|
|
115
|
+
}));
|
|
116
|
+
return path.resolve(expanded);
|
|
117
|
+
}
|
|
118
|
+
if (store.startsWith("~")) return path.resolve(expandHomePrefix(store, {
|
|
119
|
+
home: resolveRequiredHomeDir(process.env, os.homedir),
|
|
120
|
+
env: process.env,
|
|
121
|
+
homedir: os.homedir
|
|
122
|
+
}));
|
|
123
|
+
return path.resolve(store);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
export { resolveSessionTranscriptPathInDir as a, resolveSessionTranscriptPath as i, resolveSessionFilePath as n, resolveSessionTranscriptsDirForAgent as o, resolveSessionFilePathOptions as r, resolveStorePath as s, resolveDefaultSessionStorePath as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as expandHomePrefix, g as resolveStateDir, y as resolveRequiredHomeDir } from "./paths-
|
|
2
|
-
import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-
|
|
3
|
-
import os from "node:os";
|
|
1
|
+
import { _ as expandHomePrefix, g as resolveStateDir, y as resolveRequiredHomeDir } from "./paths-BSzKwaxE.js";
|
|
2
|
+
import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-B_ZVH1kE.js";
|
|
4
3
|
import path from "node:path";
|
|
4
|
+
import os from "node:os";
|
|
5
5
|
|
|
6
6
|
//#region src/config/sessions/paths.ts
|
|
7
7
|
function resolveAgentSessionsDir(agentId, env = process.env, homedir = () => resolveRequiredHomeDir(env, os.homedir)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as resolvePreferredSymiTmpDir } from "./registry-
|
|
2
|
-
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
1
|
+
import { B as resolvePreferredSymiTmpDir } from "./registry-DKJLAPDB.js";
|
|
2
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-DjAKGGJ8.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
|
|
5
5
|
//#region src/browser/paths.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { W as normalizeOptionalSecretInput, d as ensureAuthProfileStore, w as normalizeProviderId } from "./auth-profiles-
|
|
2
|
+
import { W as normalizeOptionalSecretInput, d as ensureAuthProfileStore, w as normalizeProviderId } from "./auth-profiles-B6ISm3Th.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { L as normalizeProviderId, Tt as normalizeOptionalSecretInput, b as ensureAuthProfileStore } from "./auth-profiles-
|
|
2
|
+
import { L as normalizeProviderId, Tt as normalizeOptionalSecretInput, b as ensureAuthProfileStore } from "./auth-profiles-BVtpxYtY.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/agents/pi-auth-json.ts
|
|
7
7
|
var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
|
|
8
8
|
async function readAuthJson(filePath) {
|
|
9
9
|
try {
|
|
10
|
-
const raw = await
|
|
10
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
11
11
|
const parsed = JSON.parse(raw);
|
|
12
12
|
if (!parsed || typeof parsed !== "object") return {};
|
|
13
13
|
return parsed;
|
|
@@ -118,11 +118,11 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
|
|
|
118
118
|
wrote: false,
|
|
119
119
|
authPath
|
|
120
120
|
};
|
|
121
|
-
await
|
|
121
|
+
await fsPromises.mkdir(agentDir, {
|
|
122
122
|
recursive: true,
|
|
123
123
|
mode: 448
|
|
124
124
|
});
|
|
125
|
-
await
|
|
125
|
+
await fsPromises.writeFile(authPath, `${JSON.stringify(existing, null, 2)}\n`, { mode: 384 });
|
|
126
126
|
return {
|
|
127
127
|
wrote: true,
|
|
128
128
|
authPath
|
|
@@ -10,13 +10,13 @@ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Bbs
|
|
|
10
10
|
import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
|
|
11
11
|
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-Cp39v6b_.js";
|
|
12
12
|
import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-pnMj7AtP.js";
|
|
13
|
-
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-
|
|
13
|
+
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-Dlq2X0K5.js";
|
|
14
14
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BvZmqxYI.js";
|
|
15
15
|
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-CWtaDOiK.js";
|
|
16
16
|
import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-BjnT3w_x.js";
|
|
17
17
|
import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, m as parseDurationMs, o as normalizeHostname, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-BJZIZ4yo.js";
|
|
18
18
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-BV_2TbGz.js";
|
|
19
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
19
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CQnRgvJz.js";
|
|
20
20
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-xmXjOnAV.js";
|
|
21
21
|
import { n as redactToolDetail } from "./redact-ojHFHOAb.js";
|
|
22
22
|
import { n as formatErrorMessage } from "./errors-C6sHIFo_.js";
|
|
@@ -25,7 +25,7 @@ import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeV
|
|
|
25
25
|
import { n as resolveConversationLabel } from "./conversation-label-CPUfoQmh.js";
|
|
26
26
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-N698mtPE.js";
|
|
27
27
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-fUhPZcB5.js";
|
|
28
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-
|
|
28
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-t4GthPGw.js";
|
|
29
29
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DWs9CjHs.js";
|
|
30
30
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-BtWlyyt1.js";
|
|
31
31
|
import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-BO62ZyK2.js";
|
|
@@ -49,7 +49,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
|
|
|
49
49
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
50
50
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
51
51
|
import AjvPkg from "ajv";
|
|
52
|
-
import { WebSocket } from "ws";
|
|
52
|
+
import { WebSocket as WebSocket$1 } from "ws";
|
|
53
53
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
54
54
|
import { createJiti } from "jiti";
|
|
55
55
|
import { Type } from "@sinclair/typebox";
|
|
@@ -1028,7 +1028,7 @@ async function getMemorySearchManager(params) {
|
|
|
1028
1028
|
const wrapper = new FallbackMemoryManager({
|
|
1029
1029
|
primary,
|
|
1030
1030
|
fallbackFactory: async () => {
|
|
1031
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1031
|
+
const { MemoryIndexManager } = await import("./manager-t4GthPGw.js").then((n) => n.t);
|
|
1032
1032
|
return await MemoryIndexManager.get(params);
|
|
1033
1033
|
}
|
|
1034
1034
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -1041,7 +1041,7 @@ async function getMemorySearchManager(params) {
|
|
|
1041
1041
|
}
|
|
1042
1042
|
}
|
|
1043
1043
|
try {
|
|
1044
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1044
|
+
const { MemoryIndexManager } = await import("./manager-t4GthPGw.js").then((n) => n.t);
|
|
1045
1045
|
return { manager: await MemoryIndexManager.get(params) };
|
|
1046
1046
|
} catch (err) {
|
|
1047
1047
|
return {
|
|
@@ -3557,7 +3557,7 @@ var GatewayClient = class {
|
|
|
3557
3557
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
3558
3558
|
});
|
|
3559
3559
|
}
|
|
3560
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
3560
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
3561
3561
|
this.ws.on("open", () => {
|
|
3562
3562
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
3563
3563
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -3776,7 +3776,7 @@ var GatewayClient = class {
|
|
|
3776
3776
|
return null;
|
|
3777
3777
|
}
|
|
3778
3778
|
async request(method, params, opts) {
|
|
3779
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
3779
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
3780
3780
|
const id = randomUUID();
|
|
3781
3781
|
const frame = {
|
|
3782
3782
|
type: "req",
|
|
@@ -4162,9 +4162,6 @@ function randomIdempotencyKey() {
|
|
|
4162
4162
|
const seqByRun = /* @__PURE__ */ new Map();
|
|
4163
4163
|
const listeners = /* @__PURE__ */ new Set();
|
|
4164
4164
|
const runContextById = /* @__PURE__ */ new Map();
|
|
4165
|
-
function getAgentRunContext(runId) {
|
|
4166
|
-
return runContextById.get(runId);
|
|
4167
|
-
}
|
|
4168
4165
|
function emitAgentEvent(event) {
|
|
4169
4166
|
const nextSeq = (seqByRun.get(event.runId) ?? 0) + 1;
|
|
4170
4167
|
seqByRun.set(event.runId, nextSeq);
|
|
@@ -4827,7 +4824,7 @@ async function routeReply(params) {
|
|
|
4827
4824
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
4828
4825
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
4829
4826
|
try {
|
|
4830
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
4827
|
+
const { deliverOutboundPayloads } = await import("./deliver-Dlq2X0K5.js").then((n) => n.n);
|
|
4831
4828
|
return {
|
|
4832
4829
|
ok: true,
|
|
4833
4830
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -10503,8 +10500,7 @@ async function incrementCompactionCount(params) {
|
|
|
10503
10500
|
//#endregion
|
|
10504
10501
|
//#region src/auto-reply/reply/typing-mode.ts
|
|
10505
10502
|
const DEFAULT_GROUP_TYPING_MODE = "message";
|
|
10506
|
-
function resolveTypingMode({ configured, isGroupChat, wasMentioned
|
|
10507
|
-
if (isHeartbeat) return "never";
|
|
10503
|
+
function resolveTypingMode({ configured, isGroupChat, wasMentioned }) {
|
|
10508
10504
|
if (configured) return configured;
|
|
10509
10505
|
if (!isGroupChat || wasMentioned) return "instant";
|
|
10510
10506
|
return DEFAULT_GROUP_TYPING_MODE;
|
|
@@ -10538,12 +10534,11 @@ async function prepareAgentRun(params) {
|
|
|
10538
10534
|
const isFirstTurnInSession = isNewSession || !currentSystemSent;
|
|
10539
10535
|
const isGroupChat = sessionCtx.ChatType === "group";
|
|
10540
10536
|
const wasMentioned = ctx.WasMentioned === true;
|
|
10541
|
-
const isHeartbeat = opts?.isHeartbeat === true;
|
|
10542
10537
|
const typingMode = resolveTypingMode({
|
|
10543
10538
|
configured: sessionCfg?.typingMode ?? agentCfg?.typingMode,
|
|
10544
10539
|
isGroupChat,
|
|
10545
10540
|
wasMentioned,
|
|
10546
|
-
isHeartbeat
|
|
10541
|
+
isHeartbeat: false
|
|
10547
10542
|
});
|
|
10548
10543
|
const shouldInjectGroupIntro = Boolean(isGroupChat && (isFirstTurnInSession || sessionEntry?.groupActivationNeedsSystemIntro));
|
|
10549
10544
|
const groupChatContext = isGroupChat ? buildGroupChatContext({ sessionCtx }) : "";
|
|
@@ -14577,8 +14572,7 @@ async function createModelSelectionState(params) {
|
|
|
14577
14572
|
sessionKey,
|
|
14578
14573
|
parentSessionKey
|
|
14579
14574
|
});
|
|
14580
|
-
|
|
14581
|
-
if (storedOverride?.model && !skipStoredOverride) {
|
|
14575
|
+
if (storedOverride?.model) {
|
|
14582
14576
|
const candidateProvider = storedOverride.provider || defaultProvider;
|
|
14583
14577
|
const key = modelKey(candidateProvider, storedOverride.model);
|
|
14584
14578
|
if (allowedModelKeys.size === 0 || allowedModelKeys.has(key)) {
|
|
@@ -28058,7 +28052,7 @@ function resolveExecOverrides(params) {
|
|
|
28058
28052
|
};
|
|
28059
28053
|
}
|
|
28060
28054
|
async function resolveReplyDirectives(params) {
|
|
28061
|
-
const { ctx, cfg, agentId, agentCfg, agentDir, workspaceDir, sessionCtx, sessionEntry, sessionStore, sessionKey, storePath, sessionScope, groupResolution, isGroup, triggerBodyNormalized, commandAuthorized, defaultProvider, defaultModel, provider: initialProvider, model: initialModel,
|
|
28055
|
+
const { ctx, cfg, agentId, agentCfg, agentDir, workspaceDir, sessionCtx, sessionEntry, sessionStore, sessionKey, storePath, sessionScope, groupResolution, isGroup, triggerBodyNormalized, commandAuthorized, defaultProvider, defaultModel, provider: initialProvider, model: initialModel, typing, opts, skillFilter } = params;
|
|
28062
28056
|
let provider = initialProvider;
|
|
28063
28057
|
let model = initialModel;
|
|
28064
28058
|
const commandSource = sessionCtx.BodyForCommands ?? sessionCtx.CommandBody ?? sessionCtx.RawBody ?? sessionCtx.Transcript ?? sessionCtx.BodyStripped ?? sessionCtx.Body ?? ctx.BodyForCommands ?? ctx.CommandBody ?? ctx.RawBody ?? "";
|
|
@@ -28199,8 +28193,7 @@ async function resolveReplyDirectives(params) {
|
|
|
28199
28193
|
defaultModel,
|
|
28200
28194
|
provider,
|
|
28201
28195
|
model,
|
|
28202
|
-
hasModelDirective: directives.hasModelDirective
|
|
28203
|
-
hasResolvedHeartbeatModelOverride
|
|
28196
|
+
hasModelDirective: directives.hasModelDirective
|
|
28204
28197
|
});
|
|
28205
28198
|
provider = modelState.provider;
|
|
28206
28199
|
model = modelState.model;
|
|
@@ -38907,7 +38900,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
38907
38900
|
return;
|
|
38908
38901
|
}
|
|
38909
38902
|
try {
|
|
38910
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
38903
|
+
const { deliverOutboundPayloads } = await import("./deliver-Dlq2X0K5.js").then((n) => n.n);
|
|
38911
38904
|
await deliverOutboundPayloads({
|
|
38912
38905
|
cfg: params.cfg,
|
|
38913
38906
|
channel,
|
|
@@ -39581,20 +39574,6 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39581
39574
|
});
|
|
39582
39575
|
let provider = defaultProvider;
|
|
39583
39576
|
let model = defaultModel;
|
|
39584
|
-
let hasResolvedHeartbeatModelOverride = false;
|
|
39585
|
-
if (opts?.isHeartbeat) {
|
|
39586
|
-
const heartbeatRaw = opts.heartbeatModelOverride?.trim() ?? agentCfg?.heartbeat?.model?.trim() ?? "";
|
|
39587
|
-
const heartbeatRef = heartbeatRaw ? resolveModelRefFromString({
|
|
39588
|
-
raw: heartbeatRaw,
|
|
39589
|
-
defaultProvider,
|
|
39590
|
-
aliasIndex
|
|
39591
|
-
}) : null;
|
|
39592
|
-
if (heartbeatRef) {
|
|
39593
|
-
provider = heartbeatRef.ref.provider;
|
|
39594
|
-
model = heartbeatRef.ref.model;
|
|
39595
|
-
hasResolvedHeartbeatModelOverride = true;
|
|
39596
|
-
}
|
|
39597
|
-
}
|
|
39598
39577
|
const workspaceDir = (await ensureAgentWorkspace({
|
|
39599
39578
|
dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
|
|
39600
39579
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
@@ -39673,8 +39652,7 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39673
39652
|
groupSubject: sessionEntry.subject ?? sessionCtx.GroupSubject ?? finalized.GroupSubject,
|
|
39674
39653
|
parentSessionKey: sessionCtx.ParentSessionKey
|
|
39675
39654
|
});
|
|
39676
|
-
|
|
39677
|
-
if (!hasResolvedHeartbeatModelOverride && !hasSessionModelOverride && channelModelOverride) {
|
|
39655
|
+
if (!Boolean(sessionEntry.modelOverride?.trim() || sessionEntry.providerOverride?.trim()) && channelModelOverride) {
|
|
39678
39656
|
const resolved = resolveModelRefFromString({
|
|
39679
39657
|
raw: channelModelOverride.model,
|
|
39680
39658
|
defaultProvider,
|
|
@@ -39707,7 +39685,6 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
|
|
|
39707
39685
|
aliasIndex,
|
|
39708
39686
|
provider,
|
|
39709
39687
|
model,
|
|
39710
|
-
hasResolvedHeartbeatModelOverride,
|
|
39711
39688
|
typing,
|
|
39712
39689
|
opts: resolvedOpts,
|
|
39713
39690
|
skillFilter: mergedSkillFilter
|
|
@@ -40402,34 +40379,13 @@ function isBareSymipulseAck(text) {
|
|
|
40402
40379
|
* Returns a structured verdict the caller uses to decide whether to
|
|
40403
40380
|
* broadcast / persist a payload. Pure function — no side effects.
|
|
40404
40381
|
*/
|
|
40405
|
-
function classifyOutboundMessage(rawText,
|
|
40382
|
+
function classifyOutboundMessage(rawText, _opts) {
|
|
40406
40383
|
const text = typeof rawText === "string" ? rawText : "";
|
|
40407
40384
|
if (isBareSilentReply(text)) return {
|
|
40408
40385
|
action: "drop",
|
|
40409
40386
|
output: "",
|
|
40410
40387
|
reason: "silent-reply-bare"
|
|
40411
40388
|
};
|
|
40412
|
-
if (opts.isHeartbeat) {
|
|
40413
|
-
const stripped = stripHeartbeatToken(text, {
|
|
40414
|
-
mode: "heartbeat",
|
|
40415
|
-
maxAckChars: opts.heartbeatAckMaxChars
|
|
40416
|
-
});
|
|
40417
|
-
if (stripped.shouldSkip) return {
|
|
40418
|
-
action: "drop",
|
|
40419
|
-
output: "",
|
|
40420
|
-
reason: stripped.didStrip ? "symipulse-heartbeat-ack" : "silent-reply-bare"
|
|
40421
|
-
};
|
|
40422
|
-
if (stripped.didStrip) return {
|
|
40423
|
-
action: "deliver-stripped",
|
|
40424
|
-
output: stripped.text,
|
|
40425
|
-
reason: "symipulse-heartbeat-stripped"
|
|
40426
|
-
};
|
|
40427
|
-
return {
|
|
40428
|
-
action: "deliver",
|
|
40429
|
-
output: text,
|
|
40430
|
-
reason: "deliver"
|
|
40431
|
-
};
|
|
40432
|
-
}
|
|
40433
40389
|
if (isBareSymipulseAck(text)) return {
|
|
40434
40390
|
action: "drop",
|
|
40435
40391
|
output: "",
|
|
@@ -50196,8 +50152,8 @@ async function runAgentTurnImpl(params) {
|
|
|
50196
50152
|
const result = await runEmbeddedPiAgent(buildInternalParams());
|
|
50197
50153
|
const rawText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
|
|
50198
50154
|
const outboundResult = classifyOutboundMessage(rawText, {
|
|
50199
|
-
isHeartbeat:
|
|
50200
|
-
heartbeatAckMaxChars:
|
|
50155
|
+
isHeartbeat: false,
|
|
50156
|
+
heartbeatAckMaxChars: 0
|
|
50201
50157
|
});
|
|
50202
50158
|
const filteredText = outboundResult.output.trim();
|
|
50203
50159
|
const resolvedProvider = result.meta.agentMeta?.provider ?? params.provider ?? "";
|
|
@@ -50785,7 +50741,7 @@ function withHeartbeatStrip(opts) {
|
|
|
50785
50741
|
return (next) => async (payload, ctx) => {
|
|
50786
50742
|
let text = payload.text;
|
|
50787
50743
|
const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
|
|
50788
|
-
if (
|
|
50744
|
+
if (typeof text === "string" && text.includes("SYMIPULSE_OK")) {
|
|
50789
50745
|
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
50790
50746
|
if (stripped.didStrip && !didLogStrip) {
|
|
50791
50747
|
didLogStrip = true;
|