@symerian/symi 3.4.26 → 3.4.27
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-DR2UU-2F.js → agent-CiqPWDUd.js} +18 -18
- package/dist/{agent-DQvcs-ag.js → agent-DOOj3Gzb.js} +1 -1
- package/dist/{agent-scope-DOrZjOnW.js → agent-scope-Bnsyyeci.js} +18 -18
- package/dist/{agents-BewjExwR.js → agents-BBQfFoen.js} +2 -2
- package/dist/{agents.config-BJ9RIQlb.js → agents.config-Dm3oLpYK.js} +1 -1
- package/dist/{audit-bjakulrx.js → audit-BSX7fMfc.js} +20 -20
- package/dist/{auth-choice-BkSsm1pk.js → auth-choice-BYbTjWcs.js} +1 -1
- package/dist/{auth-choice-L6_DvGSb.js → auth-choice-rhBmet5i.js} +11 -11
- package/dist/{auth-profiles-Ce7R_25e.js → auth-profiles-D5nYBj_Z.js} +2 -2
- package/dist/{auth-token-DgRRSbEX.js → auth-token-CAV1oLQG.js} +3 -3
- package/dist/{banner-DoxWG0Rv.js → banner-C1qG5Rm9.js} +1 -1
- package/dist/{browser-cli-DdLN-X6g.js → browser-cli-De8jg4-F.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-BOE4s-tQ.js → call-CW8U1BPq.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-CJOhNCrO.js → channel-options-BsXUgCMq.js} +1 -1
- package/dist/{channel-options-X5Mgr-oH.js → channel-options-CJD7jwYg.js} +1 -1
- package/dist/{channels-cli-Drn3JOc8.js → channels-cli-Bao4VNbH.js} +57 -57
- package/dist/{channels-cli-CBdy4UL6.js → channels-cli-Dxn5n9e4.js} +7 -7
- package/dist/{chrome-C_I81hbq.js → chrome-DPjznJQ-.js} +7 -7
- package/dist/{chrome-xlyBE8q3.js → chrome-pFBxO63W.js} +9 -9
- package/dist/{cli-DJA_Gm3_.js → cli-CrhLSz3t.js} +4 -4
- package/dist/{cli-S62cMO1-.js → cli-WP38F9C5.js} +45 -45
- package/dist/{client-iv2QpsT1.js → client-T5P9umyG.js} +4 -4
- package/dist/{command-registry-CZrQWdR_.js → command-registry-DoXcG7FZ.js} +10 -10
- package/dist/{commands-registry-VfAQOVZO.js → commands-registry-BjcGLk4v.js} +1 -1
- package/dist/{completion-cli-DvaCHwGr.js → completion-cli-C0SXi7ya.js} +12 -12
- package/dist/{completion-cli-CPiZTObN.js → completion-cli-DaWi3_ux.js} +2 -2
- package/dist/{config-D7SS4vdk.js → config-D-PYSlE8.js} +2 -2
- package/dist/{config-cli-CiTMrunf.js → config-cli-DS67KtKf.js} +4 -4
- package/dist/{config-cli-Dhb3ZuZ6.js → config-cli-DXKm0pS5.js} +1 -1
- package/dist/{config-guard-BGAQzX2K.js → config-guard-xLTTFANi.js} +6 -6
- package/dist/{config-validation-COcIIMNe.js → config-validation-C4wGq3rz.js} +1 -1
- package/dist/{configure-DlLBbvyP.js → configure-B99YJJb0.js} +14 -14
- package/dist/{configure-CzAszDyQ.js → configure-CzO4_jJJ.js} +2 -2
- package/dist/{consolidate-DI20-Wtn.js → consolidate-BB4BOQIN.js} +6 -6
- package/dist/{control-service-BgfKoTwJ.js → control-service-y53w3Jzy.js} +4 -4
- package/dist/{control-ui-assets-DuDhl0co.js → control-ui-assets-Dryy7mCE.js} +1 -1
- package/dist/{cron-cli-Bg9CiOss.js → cron-cli-BMblAFRK.js} +7 -7
- package/dist/{daemon-cli-wRBPfyuU.js → daemon-cli-BJGNf5qV.js} +11 -11
- package/dist/{daemon-runtime-tZgIbDPz.js → daemon-runtime-u4p9jsEF.js} +10 -10
- package/dist/{deliver-DB4v0Tyl.js → deliver-C79-Umbk.js} +2 -2
- package/dist/{deliver-DyO3QD8O.js → deliver-DTRkeYm3.js} +4 -4
- package/dist/{deps-BlmO-MfQ.js → deps-UA1UBhl7.js} +1 -1
- package/dist/{devices-cli-IoQV2hfa.js → devices-cli-wsTs-nti.js} +6 -6
- package/dist/{diagnostics-tVJR9V0_.js → diagnostics-oW0LBW-t.js} +5 -5
- package/dist/{directory-cli-Bfy_ejW2.js → directory-cli-D8As6t8Z.js} +3 -3
- package/dist/{dm-policy-shared-CBlUyDSX.js → dm-policy-shared-DRJrFKqJ.js} +1 -1
- package/dist/{dns-cli-DzKaV6NZ.js → dns-cli-BKOTBn3n.js} +3 -3
- package/dist/{docs-cli-a90_8wuN.js → docs-cli-D5j7Nmz2.js} +1 -1
- package/dist/{doctor-completion-CBs1R4s0.js → doctor-completion-B1YCzbvi.js} +1 -1
- package/dist/{doctor-completion-C4vmp9I7.js → doctor-completion-mev5PRjN.js} +2 -2
- package/dist/{doctor-config-flow-30ZEvATb.js → doctor-config-flow-Uv41seME.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-D107mxRX.js → exec-approvals-cli-B4ry9s5r.js} +13 -13
- package/dist/extensionAPI.js +2 -2
- package/dist/{file-lock-BVUYnlQv.js → file-lock-2AecMjCa.js} +8 -8
- package/dist/{fs-safe-BdejYjW8.js → fs-safe-B0Is-oLk.js} +6 -6
- package/dist/{gateway-cli-D6v-ok73.js → gateway-cli-B3JVj_dv.js} +98 -98
- package/dist/{gateway-cli-q8Mf3jQH.js → gateway-cli-Chnp6icp.js} +10 -10
- package/dist/{gateway-rpc-rNjNMA6y.js → gateway-rpc-CLzM6ugo.js} +1 -1
- package/dist/{glass-ui-ws-CC93azF2.js → glass-ui-ws--GjxFRyX.js} +67 -67
- package/dist/{glass-ui-ws-CIm7LZ8W.js → glass-ui-ws-5o8dvEZO.js} +8 -8
- package/dist/{health-B92I0vwb.js → health-D2th0Ip6.js} +4 -4
- package/dist/{hooks-cli-DfFHpfYB.js → hooks-cli-B4Nvp9AV.js} +59 -59
- package/dist/{hooks-cli-DCVYSJ8i.js → hooks-cli-B_sZth4r.js} +5 -5
- package/dist/{image-ops-L70xVnpG.js → image-ops-BzCBIakN.js} +10 -10
- package/dist/index.js +52 -52
- package/dist/{inspect-CXsOujVt.js → inspect-U3g9owQ8.js} +4 -4
- package/dist/{install-safe-path-D5gi-nfu.js → install-safe-path-BwMMOh9z.js} +11 -11
- package/dist/{installs-DF_LhGX6.js → installs-vdi1BESF.js} +10 -10
- package/dist/{internal-DVCddhhN.js → internal-csqU78gW.js} +9 -9
- package/dist/{lifecycle-core-Bvdl2ShM.js → lifecycle-core-BfmNlC-k.js} +5 -5
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{local-roots-CgDCgCuM.js → local-roots-2Jb79HZ8.js} +1 -1
- package/dist/{logs-cli-DvPMH-Ur.js → logs-cli-COZzdFu6.js} +7 -7
- package/dist/{manager-CVP2spyx.js → manager-BfbQb9qM.js} +1 -1
- package/dist/{manager-Dz4nKG33.js → manager-Bryhc0Ip.js} +1 -1
- package/dist/{manager-Dj2dVPGR.js → manager-C5FGNRjL.js} +1 -1
- package/dist/{manager-C1bLWQJb.js → manager-DyYRwHZt.js} +15 -15
- package/dist/{memory-BGLXu8Hn.js → memory-Cypj1lBQ.js} +2 -2
- package/dist/{memory-D_CuTCAW.js → memory-DgDnTEcB.js} +5 -5
- package/dist/{memory-cli-XxOC0_-M.js → memory-cli-CfJkD7mO.js} +12 -12
- package/dist/{memory-cli-DLyBqCnp.js → memory-cli-DB7UIev4.js} +2 -2
- package/dist/{model-DsMHOvMn.js → model-DbILYCfo.js} +1 -1
- package/dist/{model-auth-1EAQvYRv.js → model-auth-_C07_3Yr.js} +2 -2
- package/dist/{model-catalog-DQTmHZK7.js → model-catalog-CeqDEWGz.js} +3 -3
- package/dist/{model-picker-D4TY_tPx.js → model-picker-C_f6MALt.js} +5 -5
- package/dist/{model-selection-7wdmO-Iw.js → model-selection-CCTzD29o.js} +1 -1
- package/dist/{models-Bf57T7rZ.js → models-Bpqeds64.js} +2 -2
- package/dist/{models-cli-C7UZtCdE.js → models-cli-BUWfj5iJ.js} +55 -55
- package/dist/{models-cli-BoUVPeOA.js → models-cli-Bc47WFhD.js} +6 -6
- package/dist/{models-config-CRnTzdFs.js → models-config-Dp5-tBqs.js} +8 -8
- package/dist/{node-cli-DBa3SOQb.js → node-cli-BdjmGI32.js} +27 -27
- package/dist/{node-service-CrDVFWQl.js → node-service-DphkTjBV.js} +1 -1
- package/dist/{nodes-cli-Dx8iwcda.js → nodes-cli-BChJzcKY.js} +10 -10
- package/dist/{nodes-screen-De9ma6e1.js → nodes-screen-Cp5QP3ET.js} +4 -4
- package/dist/{npm-registry-spec-YMWTMnm_.js → npm-registry-spec-CqVgiBCf.js} +9 -9
- package/dist/{onboard-CvspL8de.js → onboard-BbfERyKU.js} +1 -1
- package/dist/{onboard-CvXaQ6g7.js → onboard-C0nMMiiS.js} +15 -15
- package/dist/{onboard-channels-MlbB9sk1.js → onboard-channels-CMp9YXHC.js} +1 -1
- package/dist/{onboard-channels-Bf0N23cr.js → onboard-channels-CmsfVut5.js} +4 -4
- package/dist/{onboard-custom-BrtjWDlX.js → onboard-custom-BfHczxx0.js} +3 -3
- package/dist/{onboard-helpers-DP7FgSbE.js → onboard-helpers-OB_xKQze.js} +8 -8
- package/dist/{onboard-hooks-CtIRdncr.js → onboard-hooks-BA22KYCG.js} +1 -1
- package/dist/{onboard-remote-KlZ04Ycj.js → onboard-remote-Dv2Uz8Ru.js} +1 -1
- package/dist/{onboard-skills-C2YVZLtY.js → onboard-skills-BzxofI4T.js} +3 -3
- package/dist/{onboarding-Bkqm3GYG.js → onboarding-DoYMfCjS.js} +3 -3
- package/dist/{onboarding-Dhjsa9Kl.js → onboarding-vgZFhH5N.js} +12 -12
- package/dist/{onboarding.finalize-DEnbT-08.js → onboarding.finalize-BYHDzz2i.js} +31 -31
- package/dist/{onboarding.finalize-Dj2kTz2P.js → onboarding.finalize-Dj0xG8pk.js} +4 -4
- package/dist/{onboarding.gateway-config-1PP2Esxt.js → onboarding.gateway-config-CDRLfIZM.js} +8 -8
- package/dist/{openai-model-default-XudD4Xik.js → openai-model-default-Dl21Ivjc.js} +2 -2
- package/dist/{pairing-cli-NDavTm1_.js → pairing-cli-C2_Zobhz.js} +5 -5
- package/dist/{pairing-store-BNhJOnWn.js → pairing-store-Be-ZQK87.js} +1 -1
- package/dist/{pairing-token-Dcy37-4s.js → pairing-token-B703A1U3.js} +7 -7
- package/dist/{paths-DObzwe08.js → paths-BWqg8NZT.js} +1 -1
- package/dist/{pi-auth-json-Db8XJVGL.js → pi-auth-json-D-vdh-nY.js} +6 -6
- package/dist/{pi-embedded-DisxTf9Y.js → pi-embedded-C7mJzGIf.js} +12 -4
- package/dist/{pi-embedded-helpers-x7n6pMgT.js → pi-embedded-helpers-y3vJmW6T.js} +6 -6
- package/dist/{pi-tools.policy-J58A7qFU.js → pi-tools.policy-ji-L-Mpv.js} +3 -3
- package/dist/{plugin-auto-enable-B_lNp6yM.js → plugin-auto-enable-Ctbn2w4Q.js} +1 -1
- package/dist/{plugin-registry-D-hgQT7P.js → plugin-registry-D2ZbwBU_.js} +3 -3
- package/dist/{plugin-registry-BTkbl0FJ.js → plugin-registry-pKaJ4ltN.js} +1 -1
- package/dist/{plugins-cli-Bh5QiPdZ.js → plugins-cli-CoHiV4BX.js} +54 -54
- package/dist/{plugins-cli-kV-uO1kp.js → plugins-cli-uo8lcB7v.js} +5 -5
- package/dist/{ports-gxLM5ahL.js → ports-CB_Iu83U.js} +2 -2
- package/dist/{ports-C3ZSkRGq.js → ports-ukrEAkOP.js} +1 -1
- package/dist/{program-context-DFJyoCC0.js → program-context-B1ZbQmLL.js} +38 -38
- package/dist/{program-CbGjDDWP.js → program-rzYjZKRz.js} +10 -10
- package/dist/{prompt-select-styled-DaVdKaBp.js → prompt-select-styled-CX0v66wx.js} +38 -38
- package/dist/{prompt-select-styled-p9o4e4m6.js → prompt-select-styled-F6P-rvFI.js} +4 -4
- package/dist/{provider-auth-helpers-CoGyeok2.js → provider-auth-helpers-Ck98bkHV.js} +1 -1
- package/dist/{provider-auth-helpers-BCiBe4Q9.js → provider-auth-helpers-_jn9PngO.js} +6 -6
- package/dist/{push-apns-BorKE_Qo.js → push-apns-BtMtpzEm.js} +1 -1
- package/dist/{push-apns-DzCR9bci.js → push-apns-CmeoBcIQ.js} +4 -4
- package/dist/{pw-ai-8E0uhtHT.js → pw-ai-CQJsGI1b.js} +7 -7
- package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-D2pEVS5n.js} +1 -1
- package/dist/{qmd-manager-qV_04VKG.js → qmd-manager-DawTY2mB.js} +19 -19
- package/dist/{qr-cli-Vo1XL6B2.js → qr-cli-DKowtQcM.js} +3 -3
- package/dist/{register.agent-CaN-g4uZ.js → register.agent-0hWBZXD7.js} +67 -67
- package/dist/{register.agent-DydJFXJP.js → register.agent-_UqSBmt5.js} +9 -9
- package/dist/{register.configure-DAy2cE8-.js → register.configure-CgQ6sqtQ.js} +70 -70
- package/dist/{register.configure-BVe4hnaS.js → register.configure-KrTtvKSp.js} +8 -8
- package/dist/{register.maintenance-dg4F8WtF.js → register.maintenance-DDSfzFoo.js} +9 -9
- package/dist/{register.maintenance-DOPFPjF1.js → register.maintenance-DjZeknO6.js} +67 -67
- package/dist/{register.message-BcVCnsvF.js → register.message-DSwwDcGi.js} +5 -5
- package/dist/{register.message-C142fUnJ.js → register.message-DTZJ5OiL.js} +47 -47
- package/dist/{register.onboard-JdqDBt_q.js → register.onboard-B8k5phG7.js} +25 -25
- package/dist/{register.onboard-rAsjY0XL.js → register.onboard-BToIZTIS.js} +2 -2
- package/dist/{register.setup-D1aL4OSn.js → register.setup-1fexz2oW.js} +28 -28
- package/dist/{register.setup--uV2P6Rv.js → register.setup-BdUewOo1.js} +2 -2
- package/dist/{register.status-health-sessions-78J4b8E3.js → register.status-health-sessions-0RyA2cXf.js} +41 -41
- package/dist/{register.status-health-sessions-CsaUl0vE.js → register.status-health-sessions-eBaeXIvo.js} +3 -3
- package/dist/{register.subclis-BVReTdEZ.js → register.subclis-tX3BslaT.js} +9 -9
- package/dist/{replies-DzsYQ8Md.js → replies-D3cffD5N.js} +1 -1
- package/dist/{reply-prefix-BFNeXT65.js → reply-prefix-CtZtkTJK.js} +1 -1
- package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-B0i_o4Fo.js} +1 -1
- package/dist/{routes-DIFuU49J.js → routes-zpAUwtCG.js} +10 -10
- package/dist/{rpc-DfaVxm4P.js → rpc-DhsDKVo-.js} +1 -1
- package/dist/{run-main-Crj9RFFj.js → run-main-DIl_Kl0B.js} +17 -17
- package/dist/{sandbox-DR_uvPm8.js → sandbox-DQCaejcD.js} +18 -18
- package/dist/{sandbox-cli-we8HwKzB.js → sandbox-cli-CbvyZs1z.js} +13 -13
- package/dist/{security-cli-B3nmOCuA.js → security-cli-CbJxNYZx.js} +29 -29
- package/dist/{send-Cxu1tl56.js → send-QscYkkNh.js} +7 -7
- package/dist/{server-context-DZK_rfwz.js → server-context-CXVq7gZ7.js} +5 -5
- package/dist/{server-methods-BR_LQLUr.js → server-methods-CpFBGxWI.js} +6 -6
- package/dist/{server-methods-qP6jEpBJ.js → server-methods-DPxjPGr0.js} +58 -58
- package/dist/{server-node-events-C9CEaVgd.js → server-node-events-2SUW10k3.js} +6 -6
- package/dist/{server-node-events-BLrBQ1Ix.js → server-node-events-B_BPbi7z.js} +48 -48
- package/dist/{service-CyEDtYLq.js → service-Cm4-5AH9.js} +15 -15
- package/dist/{session-dirs-CXErIzZq.js → session-dirs-BypCYFN3.js} +2 -2
- package/dist/{session-utils-BZnPW904.js → session-utils-lXjJoBxe.js} +14 -14
- package/dist/{sessions-optZRB57.js → sessions-aSo5jsmg.js} +10 -10
- package/dist/{shared-DJFwvlUi.js → shared-BI-gOZsD.js} +3 -3
- package/dist/{shared-Ctok0Bcs.js → shared-DDX_4ypC.js} +1 -1
- package/dist/{skill-commands-yPirQFOb.js → skill-commands-C9WuAfb2.js} +4 -4
- package/dist/{skill-scanner-BBwesm0w.js → skill-scanner-CFqMkfZW.js} +5 -5
- package/dist/{skills-BwDmcZdt.js → skills-CYcBtLGH.js} +4 -4
- package/dist/{skills-cli-gC5ETdly.js → skills-cli-BgyaAQoj.js} +7 -7
- package/dist/{skills-install-CLN_Ks5r.js → skills-install-MGsx6q5Z.js} +3 -3
- package/dist/{skills-remote-bz71Bstn.js → skills-remote-BcRQTDsZ.js} +3 -3
- package/dist/{skills-status-iltfI_bO.js → skills-status-CbSdFlvm.js} +1 -1
- package/dist/{sqlite-Cod7C5ba.js → sqlite-BpogPlQW.js} +5 -5
- package/dist/{status-ORM-gYB7.js → status-BVYDUlnp.js} +1 -1
- package/dist/{status-DCL7G3Ib.js → status-C-r9JpJf.js} +23 -23
- package/dist/{status-COihHYJZ.js → status-DIJvpgEm.js} +3 -3
- package/dist/{status-DTQT3d18.js → status-DbNNmkNB.js} +1 -1
- package/dist/{status.update-F4CbQCxF.js → status.update-EyslEZkn.js} +3 -3
- package/dist/{subagent-registry-8gdHiRIg.js → subagent-registry-DWemyjbN.js} +12 -4
- package/dist/{symi-root-BQ0IpoW2.js → symi-root-DeCVdZB4.js} +2 -2
- package/dist/{synthesis-CH82c52O.js → synthesis-BdTiornP.js} +2 -2
- package/dist/{synthesis-SpZQv_zc.js → synthesis-BxYzOZUA.js} +4 -4
- package/dist/{synthesis-CppYEB8e.js → synthesis-C7RlvHEs.js} +45 -45
- package/dist/{synthesis-RrXFr-nJ.js → synthesis-DQ7Y6OE0.js} +4 -4
- package/dist/{system-cli-DNR3YCgN.js → system-cli-DgOvK_kU.js} +7 -7
- package/dist/{systemd-DRpQb_L1.js → systemd-B2nTr3Y2.js} +5 -5
- package/dist/{systemd-hints-DR4u43WA.js → systemd-hints-DtOWJT_2.js} +6 -6
- package/dist/{systemd-linger-BQQl5RXN.js → systemd-linger-CWi5l8Nt.js} +1 -1
- package/dist/{tui-BADAjgA5.js → tui-D7ms_iQ4.js} +7 -7
- package/dist/{tui-cli-3ZepuEPv.js → tui-cli-DNvAqIYN.js} +19 -19
- package/dist/{unified-runner-DOYB1_-K.js → unified-runner-BIUJm_Iv.js} +110 -102
- package/dist/{unified-runner-97bDoU4e.js → unified-runner-DPWNhQQA.js} +19 -11
- package/dist/{update-check-CxBGAP1E.js → update-check-CduiCxPo.js} +5 -5
- package/dist/{update-cli-CKoIGU3l.js → update-cli-BM-A3cIZ.js} +9 -9
- package/dist/{update-cli-BTkGps8b.js → update-cli-GKXF83cS.js} +77 -77
- package/dist/{update-CWEjB8uS.js → update-pddgyV7i.js} +3 -3
- package/dist/{update-runner-C4Uy75eP.js → update-runner-BMYqz1dl.js} +15 -15
- package/dist/{webhooks-cli-Dp-pp0Sf.js → webhooks-cli-BPPmnDCj.js} +4 -4
- package/dist/{with-timeout-CGWq0-d5.js → with-timeout-D1qzvPE0.js} +1 -1
- package/dist/{workspace-dirs-jKFQf7of.js → workspace-dirs-DCICLTHx.js} +1 -1
- package/dist/{wsl-DMA0sTvh.js → wsl-Sed675xh.js} +2 -2
- package/package.json +1 -1
|
@@ -3,91 +3,91 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
|
|
|
3
3
|
import { _ as resolveStateDir, u as resolveGatewayPort } from "./paths-By0XjHBk.js";
|
|
4
4
|
import { S as isPlainObject, _ as shortenHomeInString, b as sliceUtf16Safe, c as escapeRegExp, h as resolveUserPath, r as clampInt, t as CONFIG_DIR, u as isRecord, v as shortenHomePath, x as truncateUtf16Safe, y as sleep } from "./utils-CTPsqyE_.js";
|
|
5
5
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
6
|
-
import { T as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, b as ensureAuthProfileStore, g as markAuthProfileGood, h as listProfilesForProvider, i as isProfileInCooldown, n as resolveAuthProfileOrder, o as markAuthProfileUsed, r as getSoonestCooldownExpiry, w as resolveAuthStorePathForDisplay } from "./auth-profiles-
|
|
6
|
+
import { T as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, b as ensureAuthProfileStore, g as markAuthProfileGood, h as listProfilesForProvider, i as isProfileInCooldown, n as resolveAuthProfileOrder, o as markAuthProfileUsed, r as getSoonestCooldownExpiry, w as resolveAuthStorePathForDisplay } from "./auth-profiles-D5nYBj_Z.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
8
8
|
import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, g as getSubagentDepth, l as resolveThreadSessionKeys, m as normalizeAccountId, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-DUSb7CCb.js";
|
|
9
|
-
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-
|
|
9
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
|
|
10
10
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DuYbft0z.js";
|
|
11
|
-
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-
|
|
12
|
-
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFromString, a as findNormalizedProviderValue, b as resolveThinkingDefault, c as modelKey, h as resolveDefaultModelForAgent, l as normalizeModelRef$1, m as resolveConfiguredModelRef, n as buildConfiguredAllowlistKeys, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId, w as DEFAULT_PROVIDER, x as getProviderAdapter, y as resolveSubagentSpawnModelSelection } from "./model-selection-
|
|
11
|
+
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-Bnsyyeci.js";
|
|
12
|
+
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFromString, a as findNormalizedProviderValue, b as resolveThinkingDefault, c as modelKey, h as resolveDefaultModelForAgent, l as normalizeModelRef$1, m as resolveConfiguredModelRef, n as buildConfiguredAllowlistKeys, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId, w as DEFAULT_PROVIDER, x as getProviderAdapter, y as resolveSubagentSpawnModelSelection } from "./model-selection-CCTzD29o.js";
|
|
13
13
|
import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
|
|
14
14
|
import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CNp4GTiH.js";
|
|
15
15
|
import { t as resolveSymiAgentDir } from "./agent-paths-BbZSGrUA.js";
|
|
16
|
-
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-
|
|
17
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-
|
|
16
|
+
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-y3vJmW6T.js";
|
|
17
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-D-PYSlE8.js";
|
|
18
18
|
import { t as parseBooleanValue } from "./boolean-CbZoNRMn.js";
|
|
19
19
|
import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
|
|
20
20
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-Dc3iU7HK.js";
|
|
21
21
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D1MLZEjS.js";
|
|
22
22
|
import { a as isPathInsideWithRealpath } from "./legacy-names-BQ9vKISY.js";
|
|
23
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
24
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
25
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
23
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DQCaejcD.js";
|
|
24
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-pFBxO63W.js";
|
|
25
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CXVq7gZ7.js";
|
|
26
26
|
import { l as parseFrontmatterBlock } from "./frontmatter-B_jqcova.js";
|
|
27
|
-
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-
|
|
28
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
27
|
+
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-CYcBtLGH.js";
|
|
28
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-zpAUwtCG.js";
|
|
29
29
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-bI7Tdx75.js";
|
|
30
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
30
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BWqg8NZT.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DOZRI5XH.js";
|
|
32
|
-
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-
|
|
33
|
-
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-
|
|
32
|
+
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-BzCBIakN.js";
|
|
33
|
+
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-aSo5jsmg.js";
|
|
34
34
|
import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-hF45sewN.js";
|
|
35
35
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DgjXWzf-.js";
|
|
36
36
|
import { t as normalizeChatType } from "./chat-type-CUJqUqwu.js";
|
|
37
37
|
import { n as resolveConversationLabel } from "./conversation-label-CffvEjpp.js";
|
|
38
38
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
|
|
39
|
-
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-
|
|
39
|
+
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-QscYkkNh.js";
|
|
40
40
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-BtvQ7JvU.js";
|
|
41
41
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-Dfn-vEsu.js";
|
|
42
42
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
|
|
43
43
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-COroyVA5.js";
|
|
44
44
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-0yh2UnJq.js";
|
|
45
|
-
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-
|
|
45
|
+
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-C79-Umbk.js";
|
|
46
46
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-DbT9t0Sh.js";
|
|
47
47
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DnkpMfCl.js";
|
|
48
|
-
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-
|
|
49
|
-
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-
|
|
50
|
-
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-
|
|
48
|
+
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-_C07_3Yr.js";
|
|
49
|
+
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-Dp5-tBqs.js";
|
|
50
|
+
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-D-vdh-nY.js";
|
|
51
51
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-D6Ocwmq1.js";
|
|
52
|
-
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-
|
|
53
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
54
|
-
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
55
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
56
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
57
|
-
import { f as runTasksWithConcurrency } from "./internal-
|
|
52
|
+
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-lXjJoBxe.js";
|
|
53
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-D1qzvPE0.js";
|
|
54
|
+
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CtZtkTJK.js";
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DgDnTEcB.js";
|
|
56
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DyYRwHZt.js";
|
|
57
|
+
import { f as runTasksWithConcurrency } from "./internal-csqU78gW.js";
|
|
58
58
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BxfKjCUx.js";
|
|
59
59
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
|
|
60
60
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BhdrdVp5.js";
|
|
61
61
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
|
|
62
|
-
import { n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
62
|
+
import { n as getDefaultMediaLocalRoots } from "./local-roots-2Jb79HZ8.js";
|
|
63
63
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
|
|
64
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
65
|
-
import { zt as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
66
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
64
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-BjcGLk4v.js";
|
|
65
|
+
import { zt as SESSION_LABEL_MAX_LENGTH } from "./client-T5P9umyG.js";
|
|
66
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-CW8U1BPq.js";
|
|
67
67
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
|
|
68
68
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
69
69
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
|
|
70
|
-
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-
|
|
70
|
+
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-BcRQTDsZ.js";
|
|
71
71
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-ClQLvlCW.js";
|
|
72
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
73
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
74
|
-
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
72
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CeqDEWGz.js";
|
|
73
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-C9WuAfb2.js";
|
|
74
|
+
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-Be-ZQK87.js";
|
|
75
75
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-DioSaIeH.js";
|
|
76
|
-
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-
|
|
76
|
+
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-Cp5QP3ET.js";
|
|
77
77
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-N7nsmfM6.js";
|
|
78
78
|
import { t as formatDurationCompact$1 } from "./format-duration-CIjmjQST.js";
|
|
79
79
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-9ygk6nTV.js";
|
|
80
80
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-_37Bn-Jb.js";
|
|
81
81
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-ChnKXZKi.js";
|
|
82
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
82
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-y53w3Jzy.js";
|
|
83
83
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DUVGiPYV.js";
|
|
84
84
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DF4bza2Q.js";
|
|
85
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
85
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B0i_o4Fo.js";
|
|
86
86
|
import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
|
|
87
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
88
|
-
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
89
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
90
|
-
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-
|
|
87
|
+
import { n as registerMemoryCli } from "./memory-cli-CfJkD7mO.js";
|
|
88
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-D3cffD5N.js";
|
|
89
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-ji-L-Mpv.js";
|
|
90
|
+
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-DbILYCfo.js";
|
|
91
91
|
import { createRequire } from "node:module";
|
|
92
92
|
import process$1 from "node:process";
|
|
93
93
|
import { fileURLToPath } from "node:url";
|
|
@@ -96,7 +96,7 @@ import path from "node:path";
|
|
|
96
96
|
import fs, { constants, existsSync, statSync } from "node:fs";
|
|
97
97
|
import os, { homedir } from "node:os";
|
|
98
98
|
import JSON5 from "json5";
|
|
99
|
-
import
|
|
99
|
+
import fsPromises from "node:fs/promises";
|
|
100
100
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
101
101
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
102
102
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
@@ -1846,7 +1846,7 @@ async function imageResult(params) {
|
|
|
1846
1846
|
}, params.label, params.imageSanitization);
|
|
1847
1847
|
}
|
|
1848
1848
|
async function imageResultFromFile(params) {
|
|
1849
|
-
const buf = await
|
|
1849
|
+
const buf = await fsPromises.readFile(params.path);
|
|
1850
1850
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
1851
1851
|
return await imageResult({
|
|
1852
1852
|
label: params.label,
|
|
@@ -5807,7 +5807,7 @@ async function routeReply(params) {
|
|
|
5807
5807
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
5808
5808
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
5809
5809
|
try {
|
|
5810
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
5810
|
+
const { deliverOutboundPayloads } = await import("./deliver-C79-Umbk.js").then((n) => n.n);
|
|
5811
5811
|
return {
|
|
5812
5812
|
ok: true,
|
|
5813
5813
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -11648,7 +11648,7 @@ var MediaAttachmentCache = class {
|
|
|
11648
11648
|
const size = await this.ensureLocalStat(entry);
|
|
11649
11649
|
if (entry.resolvedPath) {
|
|
11650
11650
|
if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
|
|
11651
|
-
const buffer = await
|
|
11651
|
+
const buffer = await fsPromises.readFile(entry.resolvedPath);
|
|
11652
11652
|
entry.buffer = buffer;
|
|
11653
11653
|
entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
|
|
11654
11654
|
buffer,
|
|
@@ -11718,10 +11718,10 @@ var MediaAttachmentCache = class {
|
|
|
11718
11718
|
prefix: "symi-media",
|
|
11719
11719
|
extension: path.extname(bufferResult.fileName || "") || ""
|
|
11720
11720
|
});
|
|
11721
|
-
await
|
|
11721
|
+
await fsPromises.writeFile(tmpPath, bufferResult.buffer);
|
|
11722
11722
|
entry.tempPath = tmpPath;
|
|
11723
11723
|
entry.tempCleanup = async () => {
|
|
11724
|
-
await
|
|
11724
|
+
await fsPromises.unlink(tmpPath).catch(() => {});
|
|
11725
11725
|
};
|
|
11726
11726
|
return {
|
|
11727
11727
|
path: tmpPath,
|
|
@@ -11768,12 +11768,12 @@ var MediaAttachmentCache = class {
|
|
|
11768
11768
|
if (entry.statSize !== void 0) return entry.statSize;
|
|
11769
11769
|
try {
|
|
11770
11770
|
const currentPath = entry.resolvedPath;
|
|
11771
|
-
const stat = await
|
|
11771
|
+
const stat = await fsPromises.stat(currentPath);
|
|
11772
11772
|
if (!stat.isFile()) {
|
|
11773
11773
|
entry.resolvedPath = void 0;
|
|
11774
11774
|
return;
|
|
11775
11775
|
}
|
|
11776
|
-
const canonicalPath = await
|
|
11776
|
+
const canonicalPath = await fsPromises.realpath(currentPath).catch(() => currentPath);
|
|
11777
11777
|
if (!isInboundPathAllowed({
|
|
11778
11778
|
filePath: canonicalPath,
|
|
11779
11779
|
roots: await this.getCanonicalLocalPathRoots()
|
|
@@ -11795,7 +11795,7 @@ var MediaAttachmentCache = class {
|
|
|
11795
11795
|
if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
|
|
11796
11796
|
this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
|
|
11797
11797
|
if (root.includes("*")) return root;
|
|
11798
|
-
return await
|
|
11798
|
+
return await fsPromises.realpath(root).catch(() => root);
|
|
11799
11799
|
}))))();
|
|
11800
11800
|
return await this.canonicalLocalPathRoots;
|
|
11801
11801
|
}
|
|
@@ -11866,7 +11866,7 @@ function formatAudioTranscripts(outputs) {
|
|
|
11866
11866
|
async function fileExists(filePath) {
|
|
11867
11867
|
if (!filePath) return false;
|
|
11868
11868
|
try {
|
|
11869
|
-
await
|
|
11869
|
+
await fsPromises.stat(filePath);
|
|
11870
11870
|
return true;
|
|
11871
11871
|
} catch {
|
|
11872
11872
|
return false;
|
|
@@ -11966,7 +11966,7 @@ async function resolveCliOutput(params) {
|
|
|
11966
11966
|
const commandId = commandBase(params.command);
|
|
11967
11967
|
const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
|
|
11968
11968
|
if (fileOutput && await fileExists(fileOutput)) try {
|
|
11969
|
-
const content = await
|
|
11969
|
+
const content = await fsPromises.readFile(fileOutput, "utf8");
|
|
11970
11970
|
if (content.trim()) return content.trim();
|
|
11971
11971
|
} catch {}
|
|
11972
11972
|
if (commandId === "gemini") {
|
|
@@ -12257,7 +12257,7 @@ async function runCliEntry(params) {
|
|
|
12257
12257
|
maxBytes,
|
|
12258
12258
|
timeoutMs
|
|
12259
12259
|
});
|
|
12260
|
-
const outputDir = await
|
|
12260
|
+
const outputDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
|
|
12261
12261
|
const mediaPath = pathResult.path;
|
|
12262
12262
|
const outputBase = path.join(outputDir, path.parse(mediaPath).name);
|
|
12263
12263
|
const templCtx = {
|
|
@@ -12291,7 +12291,7 @@ async function runCliEntry(params) {
|
|
|
12291
12291
|
model: command
|
|
12292
12292
|
};
|
|
12293
12293
|
} finally {
|
|
12294
|
-
await
|
|
12294
|
+
await fsPromises.rm(outputDir, {
|
|
12295
12295
|
recursive: true,
|
|
12296
12296
|
force: true
|
|
12297
12297
|
}).catch(() => {});
|
|
@@ -12335,9 +12335,9 @@ function candidateBinaryNames(name) {
|
|
|
12335
12335
|
}
|
|
12336
12336
|
async function isExecutable$1(filePath) {
|
|
12337
12337
|
try {
|
|
12338
|
-
if (!(await
|
|
12338
|
+
if (!(await fsPromises.stat(filePath)).isFile()) return false;
|
|
12339
12339
|
if (process.platform === "win32") return true;
|
|
12340
|
-
await
|
|
12340
|
+
await fsPromises.access(filePath, constants.X_OK);
|
|
12341
12341
|
return true;
|
|
12342
12342
|
} catch {
|
|
12343
12343
|
return false;
|
|
@@ -14041,7 +14041,7 @@ async function createModelSelectionState(params) {
|
|
|
14041
14041
|
}
|
|
14042
14042
|
}
|
|
14043
14043
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
14044
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
14044
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-D5nYBj_Z.js").then((n) => n.t);
|
|
14045
14045
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
14046
14046
|
const providerKey = normalizeProviderId(provider);
|
|
14047
14047
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -17185,7 +17185,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
17185
17185
|
cwd: process.cwd(),
|
|
17186
17186
|
root: params.sandbox.workspaceDir
|
|
17187
17187
|
});
|
|
17188
|
-
if (!(await
|
|
17188
|
+
if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
17189
17189
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
17190
17190
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
17191
17191
|
return {
|
|
@@ -18199,13 +18199,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
18199
18199
|
cwd: params.workdir,
|
|
18200
18200
|
root: params.workdir
|
|
18201
18201
|
});
|
|
18202
|
-
stat = await
|
|
18202
|
+
stat = await fsPromises.stat(absPath);
|
|
18203
18203
|
} catch {
|
|
18204
18204
|
return;
|
|
18205
18205
|
}
|
|
18206
18206
|
if (!stat.isFile()) return;
|
|
18207
18207
|
if (stat.size > 512 * 1024) return;
|
|
18208
|
-
const content = await
|
|
18208
|
+
const content = await fsPromises.readFile(absPath, "utf-8");
|
|
18209
18209
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
18210
18210
|
if (first) {
|
|
18211
18211
|
const idx = first.index;
|
|
@@ -22881,7 +22881,7 @@ async function handleCommands(params) {
|
|
|
22881
22881
|
try {
|
|
22882
22882
|
const messages = [];
|
|
22883
22883
|
if (sessionFile) {
|
|
22884
|
-
const content = await
|
|
22884
|
+
const content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
22885
22885
|
for (const line of content.split("\n")) {
|
|
22886
22886
|
if (!line.trim()) continue;
|
|
22887
22887
|
try {
|
|
@@ -25068,7 +25068,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25068
25068
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
25069
25069
|
throw new Error("jsonlPath outside allowed roots");
|
|
25070
25070
|
}
|
|
25071
|
-
const canonical = await
|
|
25071
|
+
const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
|
|
25072
25072
|
if (!isInboundPathAllowed({
|
|
25073
25073
|
filePath: canonical,
|
|
25074
25074
|
roots
|
|
@@ -25076,7 +25076,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25076
25076
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
25077
25077
|
throw new Error("jsonlPath outside allowed roots");
|
|
25078
25078
|
}
|
|
25079
|
-
return await
|
|
25079
|
+
return await fsPromises.readFile(canonical, "utf8");
|
|
25080
25080
|
}
|
|
25081
25081
|
const CanvasToolSchema = Type.Object({
|
|
25082
25082
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -26607,7 +26607,7 @@ async function hydrateAttachmentPayload(params) {
|
|
|
26607
26607
|
accountId: params.accountId
|
|
26608
26608
|
}),
|
|
26609
26609
|
sandboxValidated: true,
|
|
26610
|
-
readFile: (filePath) =>
|
|
26610
|
+
readFile: (filePath) => fsPromises.readFile(filePath)
|
|
26611
26611
|
});
|
|
26612
26612
|
params.args.buffer = media.buffer.toString("base64");
|
|
26613
26613
|
if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
|
|
@@ -32551,11 +32551,19 @@ function createWebSearchTool(options) {
|
|
|
32551
32551
|
const provider = resolveSearchProvider(search);
|
|
32552
32552
|
const perplexityConfig = resolvePerplexityConfig(search);
|
|
32553
32553
|
const grokConfig = resolveGrokConfig(search);
|
|
32554
|
+
const description = provider === "perplexity" ? "Search the web using Perplexity Sonar (direct or via OpenRouter). Returns AI-synthesized answers with citations from real-time web search." : provider === "grok" ? "Search the web using xAI Grok. Returns AI-synthesized answers with citations from real-time web search." : "Search the web using Brave Search API. Supports region-specific and localized search via country and language parameters. Returns titles, URLs, and snippets for fast research.";
|
|
32555
|
+
const resolveActiveApiKey = () => {
|
|
32556
|
+
if (provider === "perplexity") return resolvePerplexityApiKey(perplexityConfig)?.apiKey;
|
|
32557
|
+
if (provider === "grok") return resolveGrokApiKey(grokConfig);
|
|
32558
|
+
return resolveSearchApiKey(search);
|
|
32559
|
+
};
|
|
32554
32560
|
return {
|
|
32555
32561
|
label: "Web Search",
|
|
32556
32562
|
name: "web_search",
|
|
32557
|
-
description
|
|
32563
|
+
description,
|
|
32558
32564
|
parameters: WebSearchSchema,
|
|
32565
|
+
checkFn: () => Boolean(resolveActiveApiKey()),
|
|
32566
|
+
requiredEnv: provider === "perplexity" ? ["PERPLEXITY_API_KEY", "OPENROUTER_API_KEY"] : provider === "grok" ? ["XAI_API_KEY"] : ["BRAVE_API_KEY"],
|
|
32559
32567
|
execute: async (_toolCallId, args) => {
|
|
32560
32568
|
const perplexityAuth = provider === "perplexity" ? resolvePerplexityApiKey(perplexityConfig) : void 0;
|
|
32561
32569
|
const apiKey = provider === "perplexity" ? perplexityAuth?.apiKey : provider === "grok" ? resolveGrokApiKey(grokConfig) : resolveSearchApiKey(search);
|
|
@@ -33101,7 +33109,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
33101
33109
|
return;
|
|
33102
33110
|
}
|
|
33103
33111
|
try {
|
|
33104
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
33112
|
+
const { deliverOutboundPayloads } = await import("./deliver-C79-Umbk.js").then((n) => n.n);
|
|
33105
33113
|
await deliverOutboundPayloads({
|
|
33106
33114
|
cfg: params.cfg,
|
|
33107
33115
|
channel,
|
|
@@ -33506,7 +33514,7 @@ async function stageSandboxMedia(params) {
|
|
|
33506
33514
|
};
|
|
33507
33515
|
try {
|
|
33508
33516
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
33509
|
-
await
|
|
33517
|
+
await fsPromises.mkdir(destDir, { recursive: true });
|
|
33510
33518
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
33511
33519
|
cfg,
|
|
33512
33520
|
accountId: ctx.AccountId
|
|
@@ -33556,7 +33564,7 @@ async function stageSandboxMedia(params) {
|
|
|
33556
33564
|
usedNames.add(fileName);
|
|
33557
33565
|
const dest = path.join(destDir, fileName);
|
|
33558
33566
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
33559
|
-
else await
|
|
33567
|
+
else await fsPromises.copyFile(source, dest);
|
|
33560
33568
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
33561
33569
|
staged.set(source, stagedPath);
|
|
33562
33570
|
}
|
|
@@ -38867,7 +38875,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
38867
38875
|
}
|
|
38868
38876
|
let commandsRegistry;
|
|
38869
38877
|
async function getCommandsRegistry() {
|
|
38870
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
38878
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BjcGLk4v.js").then((n) => n.t);
|
|
38871
38879
|
return commandsRegistry;
|
|
38872
38880
|
}
|
|
38873
38881
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -39209,11 +39217,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39209
39217
|
const channelName = channelInfo?.name;
|
|
39210
39218
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
39211
39219
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
39212
|
-
import("./resolve-route-
|
|
39220
|
+
import("./resolve-route-B0i_o4Fo.js").then((n) => n.r),
|
|
39213
39221
|
import("./inbound-context-B7Rvs8pK.js").then((n) => n.n),
|
|
39214
39222
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
39215
39223
|
]);
|
|
39216
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CffvEjpp.js").then((n) => n.t), import("./reply-prefix-
|
|
39224
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CffvEjpp.js").then((n) => n.t), import("./reply-prefix-CtZtkTJK.js").then((n) => n.n)]);
|
|
39217
39225
|
const route = resolveAgentRoute({
|
|
39218
39226
|
cfg,
|
|
39219
39227
|
channel: "slack",
|
|
@@ -39270,7 +39278,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39270
39278
|
});
|
|
39271
39279
|
const deliverSlashPayloads = async (replies) => {
|
|
39272
39280
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
39273
|
-
import("./replies-
|
|
39281
|
+
import("./replies-D3cffD5N.js").then((n) => n.r),
|
|
39274
39282
|
import("./chunk-BxfKjCUx.js").then((n) => n.s),
|
|
39275
39283
|
import("./markdown-tables-CS1Tvb3z.js").then((n) => n.t)
|
|
39276
39284
|
]);
|
|
@@ -39325,7 +39333,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39325
39333
|
let nativeCommands = [];
|
|
39326
39334
|
if (nativeEnabled) {
|
|
39327
39335
|
reg = await getCommandsRegistry();
|
|
39328
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
39336
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C9WuAfb2.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
39329
39337
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
39330
39338
|
skillCommands,
|
|
39331
39339
|
provider: "slack"
|
|
@@ -40458,7 +40466,7 @@ function resolvePluginTools(params) {
|
|
|
40458
40466
|
//#endregion
|
|
40459
40467
|
//#region src/agents/apply-patch-update.ts
|
|
40460
40468
|
async function defaultReadFile(filePath) {
|
|
40461
|
-
return
|
|
40469
|
+
return fsPromises.readFile(filePath, "utf8");
|
|
40462
40470
|
}
|
|
40463
40471
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
40464
40472
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -40702,10 +40710,10 @@ function resolvePatchFileOps(options) {
|
|
|
40702
40710
|
};
|
|
40703
40711
|
}
|
|
40704
40712
|
return {
|
|
40705
|
-
readFile: (filePath) =>
|
|
40706
|
-
writeFile: (filePath, content) =>
|
|
40707
|
-
remove: (filePath) =>
|
|
40708
|
-
mkdirp: (dir) =>
|
|
40713
|
+
readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
|
|
40714
|
+
writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
|
|
40715
|
+
remove: (filePath) => fsPromises.rm(filePath),
|
|
40716
|
+
mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
|
|
40709
40717
|
};
|
|
40710
40718
|
}
|
|
40711
40719
|
async function ensureDir(filePath, ops) {
|
|
@@ -41910,7 +41918,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41910
41918
|
};
|
|
41911
41919
|
let content;
|
|
41912
41920
|
try {
|
|
41913
|
-
content = await
|
|
41921
|
+
content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
41914
41922
|
} catch (err) {
|
|
41915
41923
|
if (err?.code === "ENOENT") return {
|
|
41916
41924
|
repaired: false,
|
|
@@ -41958,15 +41966,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41958
41966
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
41959
41967
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
41960
41968
|
try {
|
|
41961
|
-
const stat = await
|
|
41962
|
-
await
|
|
41963
|
-
if (stat) await
|
|
41964
|
-
await
|
|
41965
|
-
if (stat) await
|
|
41966
|
-
await
|
|
41969
|
+
const stat = await fsPromises.stat(sessionFile).catch(() => null);
|
|
41970
|
+
await fsPromises.writeFile(backupPath, content, "utf-8");
|
|
41971
|
+
if (stat) await fsPromises.chmod(backupPath, stat.mode);
|
|
41972
|
+
await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
|
|
41973
|
+
if (stat) await fsPromises.chmod(tmpPath, stat.mode);
|
|
41974
|
+
await fsPromises.rename(tmpPath, sessionFile);
|
|
41967
41975
|
} catch (err) {
|
|
41968
41976
|
try {
|
|
41969
|
-
await
|
|
41977
|
+
await fsPromises.unlink(tmpPath);
|
|
41970
41978
|
} catch (cleanupErr) {
|
|
41971
41979
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
41972
41980
|
}
|
|
@@ -43239,7 +43247,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
43239
43247
|
if (!isSessionManagerCacheEnabled()) return;
|
|
43240
43248
|
if (isSessionManagerCached(sessionFile)) return;
|
|
43241
43249
|
try {
|
|
43242
|
-
const handle = await
|
|
43250
|
+
const handle = await fsPromises.open(sessionFile, "r");
|
|
43243
43251
|
try {
|
|
43244
43252
|
const buffer = Buffer$1.alloc(4096);
|
|
43245
43253
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -43379,7 +43387,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43379
43387
|
} catch (err) {
|
|
43380
43388
|
return fail(describeUnknownError(err));
|
|
43381
43389
|
}
|
|
43382
|
-
await
|
|
43390
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
43383
43391
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
43384
43392
|
const sandbox = await resolveSandboxContext({
|
|
43385
43393
|
config: params.config,
|
|
@@ -43387,7 +43395,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43387
43395
|
workspaceDir: resolvedWorkspace
|
|
43388
43396
|
});
|
|
43389
43397
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
43390
|
-
await
|
|
43398
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
43391
43399
|
await ensureSessionHeader({
|
|
43392
43400
|
sessionFile: params.sessionFile,
|
|
43393
43401
|
sessionId: params.sessionId,
|
|
@@ -43712,12 +43720,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
43712
43720
|
const existing = writers.get(filePath);
|
|
43713
43721
|
if (existing) return existing;
|
|
43714
43722
|
const dir = path.dirname(filePath);
|
|
43715
|
-
const ready =
|
|
43723
|
+
const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
43716
43724
|
let queue = Promise.resolve();
|
|
43717
43725
|
const writer = {
|
|
43718
43726
|
filePath,
|
|
43719
43727
|
write: (line) => {
|
|
43720
|
-
queue = queue.then(() => ready).then(() =>
|
|
43728
|
+
queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
43721
43729
|
}
|
|
43722
43730
|
};
|
|
43723
43731
|
writers.set(filePath, writer);
|
|
@@ -46897,7 +46905,7 @@ Use the message tool with buttons:
|
|
|
46897
46905
|
*/
|
|
46898
46906
|
async function readSessionFile(sessionFile) {
|
|
46899
46907
|
try {
|
|
46900
|
-
return await
|
|
46908
|
+
return await fsPromises.readFile(sessionFile, "utf-8");
|
|
46901
46909
|
} catch {
|
|
46902
46910
|
return null;
|
|
46903
46911
|
}
|
|
@@ -46906,8 +46914,8 @@ async function writeAtomically(sessionFile, text) {
|
|
|
46906
46914
|
const dir = path.dirname(sessionFile);
|
|
46907
46915
|
const base = path.basename(sessionFile);
|
|
46908
46916
|
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
46909
|
-
await
|
|
46910
|
-
await
|
|
46917
|
+
await fsPromises.writeFile(tmp, text, "utf-8");
|
|
46918
|
+
await fsPromises.rename(tmp, sessionFile);
|
|
46911
46919
|
}
|
|
46912
46920
|
/**
|
|
46913
46921
|
* Remove empty assistant JSONL entries from the session file.
|
|
@@ -47009,7 +47017,7 @@ function isInPoisonRange(version) {
|
|
|
47009
47017
|
*/
|
|
47010
47018
|
async function checkSessionPoison(sessionFile) {
|
|
47011
47019
|
try {
|
|
47012
|
-
const firstLine = (await
|
|
47020
|
+
const firstLine = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n")[0];
|
|
47013
47021
|
if (!firstLine) return null;
|
|
47014
47022
|
const header = JSON.parse(firstLine);
|
|
47015
47023
|
if (header.type !== "session") return null;
|
|
@@ -47027,7 +47035,7 @@ async function checkSessionPoison(sessionFile) {
|
|
|
47027
47035
|
*/
|
|
47028
47036
|
async function archivePoisonedSession(sessionFile) {
|
|
47029
47037
|
const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
|
|
47030
|
-
await
|
|
47038
|
+
await fsPromises.rename(sessionFile, archiveName);
|
|
47031
47039
|
return archiveName;
|
|
47032
47040
|
}
|
|
47033
47041
|
/**
|
|
@@ -47036,14 +47044,14 @@ async function archivePoisonedSession(sessionFile) {
|
|
|
47036
47044
|
*/
|
|
47037
47045
|
async function stampSessionVersion(sessionFile) {
|
|
47038
47046
|
try {
|
|
47039
|
-
const lines = (await
|
|
47047
|
+
const lines = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n");
|
|
47040
47048
|
if (lines.length === 0) return;
|
|
47041
47049
|
const header = JSON.parse(lines[0]);
|
|
47042
47050
|
if (header.type !== "session") return;
|
|
47043
47051
|
if (header.symiVersion === VERSION) return;
|
|
47044
47052
|
header.symiVersion = VERSION;
|
|
47045
47053
|
lines[0] = JSON.stringify(header);
|
|
47046
|
-
await
|
|
47054
|
+
await fsPromises.writeFile(sessionFile, lines.join("\n"), "utf-8");
|
|
47047
47055
|
} catch {}
|
|
47048
47056
|
}
|
|
47049
47057
|
/**
|
|
@@ -47272,7 +47280,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
47272
47280
|
return;
|
|
47273
47281
|
}
|
|
47274
47282
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
47275
|
-
await
|
|
47283
|
+
await fsPromises.writeFile(params.sessionFile, "", "utf-8");
|
|
47276
47284
|
sm.fileEntries = [header];
|
|
47277
47285
|
sm.byId?.clear?.();
|
|
47278
47286
|
sm.labelsById?.clear?.();
|
|
@@ -47830,7 +47838,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47830
47838
|
const prevCwd = process.cwd();
|
|
47831
47839
|
const runAbortController = new AbortController();
|
|
47832
47840
|
log$7.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
47833
|
-
await
|
|
47841
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
47834
47842
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
47835
47843
|
const sandbox = await resolveSandboxContext({
|
|
47836
47844
|
config: params.config,
|
|
@@ -47838,7 +47846,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47838
47846
|
workspaceDir: resolvedWorkspace
|
|
47839
47847
|
});
|
|
47840
47848
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
47841
|
-
await
|
|
47849
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
47842
47850
|
let restoreSkillEnv;
|
|
47843
47851
|
process.chdir(effectiveWorkspace);
|
|
47844
47852
|
try {
|
|
@@ -48047,7 +48055,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48047
48055
|
sessionFile: params.sessionFile,
|
|
48048
48056
|
warn: (message) => log$7.warn(message)
|
|
48049
48057
|
});
|
|
48050
|
-
const hadSessionFile = await
|
|
48058
|
+
const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
48051
48059
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
48052
48060
|
modelApi: params.model?.api,
|
|
48053
48061
|
provider: params.provider,
|
|
@@ -49139,7 +49147,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
49139
49147
|
}
|
|
49140
49148
|
runLoopIterations += 1;
|
|
49141
49149
|
attemptedThinking.add(thinkLevel);
|
|
49142
|
-
await
|
|
49150
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
49143
49151
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
49144
49152
|
const attempt = await runEmbeddedAttempt({
|
|
49145
49153
|
sessionId: params.sessionId,
|