@symerian/symi 2.6.10 → 2.6.11
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/{accounts-BRw8yhIW.js → accounts-D1r2dq1t.js} +21 -21
- package/dist/{accounts-3dCrO3oZ.js → accounts-dRUMQQrB.js} +1 -1
- package/dist/{accounts-BuZxOb3B.js → accounts-wSphH5gv.js} +1 -1
- package/dist/{acp-cli-DT0rEuUE.js → acp-cli-Cu4icbJT.js} +2 -2
- package/dist/{active-listener-CfHHV2SU.js → active-listener-DFUTUjxt.js} +1 -1
- package/dist/{agent-scope-CpEJ0B88.js → agent-scope-D68_xfTL.js} +3 -3
- package/dist/{agents-DDqXWXbP.js → agents-DRRBdgqz.js} +4 -4
- package/dist/{agents.config-CEt-ES9z.js → agents.config-BO1N5Z_6.js} +1 -1
- package/dist/{agents.config-Bu_N-bn_.js → agents.config-GCucbcBy.js} +1 -1
- package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
- package/dist/{audio-preflight-BcSzL_0I.js → audio-preflight-CWnxkaac.js} +8 -8
- package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-CjV36MUe.js} +29 -29
- package/dist/{audit-BIE9JAxf.js → audit-CrITRV6w.js} +5 -5
- package/dist/{auth-choice-Bmd-rbuU.js → auth-choice-C1sul2-I.js} +1 -1
- package/dist/{auth-choice-Djy_YmfW.js → auth-choice-i7tTgbDd.js} +4 -4
- package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-Bl9aU7fc.js} +17 -17
- package/dist/{banner-BNkhjU8E.js → banner-VbhMdl-b.js} +1 -1
- package/dist/{bindings-BsHoBLIE.js → bindings-Bat2RnAR.js} +2 -2
- package/dist/{browser-cli-nNQ60Koh.js → browser-cli-BG4qPxpM.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +53 -53
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +53 -53
- package/dist/{call-7djMRPgl.js → call-CJaS1iRF.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-B6G1jnQT.js → channel-activity-DK0AV-r9.js} +1 -1
- package/dist/{channel-options-NLrg-j_d.js → channel-options-CsXOvqAc.js} +1 -1
- package/dist/{channel-options-D8ByM6g0.js → channel-options-Esf0QB4M.js} +1 -1
- package/dist/{channel-web-BUQWBln9.js → channel-web-DDC84nZg.js} +2 -2
- package/dist/{channels-cli-qBgicVqp.js → channels-cli-C989dAD4.js} +19 -19
- package/dist/{channels-cli-C5DWcDDG.js → channels-cli-DomEe8uI.js} +4 -4
- package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
- package/dist/{chrome-DkaXoP36.js → chrome-DRHvMBbb.js} +14 -14
- package/dist/{chrome-DBKZkx0x.js → chrome-DtPkPq9T.js} +7 -7
- package/dist/{chunk-09egQapi.js → chunk-DR8ukp6r.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-Bx78WeyO.js → cli-CPRCkEdK.js} +1 -1
- package/dist/{cli-UHMMUbWL.js → cli-RXswESw1.js} +16 -16
- package/dist/{client-Z6SFrwob.js → client-CQSyCS4M.js} +3 -3
- package/dist/{command-registry-BSGsNY71.js → command-registry-DwBw5-nh.js} +9 -9
- package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-DIakZUZb.js} +4 -4
- package/dist/{completion-cli-B915TqN4.js → completion-cli-C43sjF75.js} +2 -2
- package/dist/{completion-cli-CajQzz5J.js → completion-cli-Cwx8MtF9.js} +1 -1
- package/dist/{config-5SdHIcHU.js → config-CvmE3Yx1.js} +12 -12
- package/dist/{config-cli-CeErUiHR.js → config-cli-CkkIU7AY.js} +1 -1
- package/dist/{config-cli-BM9FX48b.js → config-cli-DG0xBZhs.js} +1 -1
- package/dist/{configure-DggNPSKd.js → configure-DlVtomYJ.js} +3 -3
- package/dist/{configure-CbiNzEIk.js → configure-nxnXIUVI.js} +8 -8
- package/dist/{control-service-DdeFa44u.js → control-service-Bz7rxLWq.js} +3 -3
- package/dist/{cron-cli-C_1RndRW.js → cron-cli-DBIlCvp3.js} +3 -3
- package/dist/{daemon-cli-C2fkpr13.js → daemon-cli-DscwlsKW.js} +2 -2
- package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
- package/dist/{deliver-Bu624MY6.js → deliver-CWR_98sK.js} +1 -1
- package/dist/{deliver-C46-vyqg.js → deliver-UMgfGLxW.js} +20 -20
- package/dist/{devices-cli-ERMql8Dq.js → devices-cli-Dds-25Ve.js} +2 -2
- package/dist/{diagnostic-rPhsBoZz.js → diagnostic-spWOtH_g.js} +1 -1
- package/dist/{doctor-completion-BP_qD5Bt.js → doctor-completion-CWr51Q4O.js} +1 -1
- package/dist/{doctor-completion-BfLDfA98.js → doctor-completion-Dd5P0i9L.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-BDXYbTKj.js → env-xmBFQPBP.js} +1 -1
- package/dist/{exec-approvals-cli-BEU-xJFu.js → exec-approvals-cli-BliRl8VB.js} +4 -4
- package/dist/extensionAPI.js +6 -6
- package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CV0YkjoY.js} +2 -2
- package/dist/{gateway-cli-LmMxDk7B.js → gateway-cli-B1h1FhD-.js} +28 -28
- package/dist/{gateway-cli-qMBjCmLH.js → gateway-cli-BBJjWKyu.js} +9 -9
- package/dist/{gateway-rpc-BWZzo3L9.js → gateway-rpc-BxkKeCZ0.js} +1 -1
- package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-C6Z-2T42.js} +1 -1
- package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
- package/dist/{glass-ui-ws-CXpW0epd.js → glass-ui-ws-Bk01KSVI.js} +7 -7
- package/dist/{glass-ui-ws-DbV46Nrg.js → glass-ui-ws-UewDPjVh.js} +23 -23
- package/dist/{health-BctmvDJ0.js → health-BiipZUOd.js} +1 -1
- package/dist/{health-pukFTT09.js → health-Dzi6letr.js} +3 -3
- package/dist/{hooks-cli-DcQN6UeT.js → hooks-cli-BdelOAPH.js} +2 -2
- package/dist/{hooks-cli-BMQOn6QU.js → hooks-cli-DxRXaSHR.js} +17 -17
- package/dist/{image-CuzFLQWC.js → image-CK4oZUJJ.js} +4 -4
- package/dist/{image-CtCUVPCD.js → image-D9uvDTrc.js} +1 -1
- package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
- package/dist/{image-ops-C7CauEK8.js → image-ops-M5agStZn.js} +16 -16
- package/dist/index.js +21 -21
- package/dist/{ir-CTiz95Vb.js → ir-B-XXcYFe.js} +4 -4
- package/dist/llm-slug-generator.js +53 -53
- package/dist/{local-roots-DhZz0Ybs.js → local-roots-CdXg5-Cx.js} +5 -5
- package/dist/{login-ul8zaw_S.js → login-BHUrERYo.js} +7 -7
- package/dist/{login-qr-AP9agO-i.js → login-qr-BKIOHn1V.js} +12 -12
- package/dist/{logs-cli-V5qUbmVy.js → logs-cli-xOzIPrHm.js} +3 -3
- package/dist/{manager-PprhCvO_.js → manager-DW3JqFpY.js} +22 -22
- package/dist/{manifest-registry-yb7sAlu4.js → manifest-registry-0J48biqr.js} +19 -19
- package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-tW9bGjLM.js} +1 -1
- package/dist/{message-channel-OlFBYAw8.js → message-channel-DwDSKGn4.js} +1 -1
- package/dist/{model-catalog-Da6fXK5K.js → model-catalog-DvBJ8pMD.js} +1 -1
- package/dist/{model-picker-B6QoK7pe.js → model-picker-Ddo3jHe-.js} +1 -1
- package/dist/{models-yF2XRbPQ.js → models-DUrbBEOU.js} +2 -2
- package/dist/{models-cli-DAKvip7R.js → models-cli-CF0KZtK4.js} +18 -18
- package/dist/{models-cli-DHOMkJmd.js → models-cli-D5KE-evn.js} +3 -3
- package/dist/{node-cli-r5-MNz9_.js → node-cli-C_G-Q3h-.js} +6 -6
- package/dist/{nodes-cli-DQed-Snk.js → nodes-cli-BcnuJajV.js} +3 -3
- package/dist/{onboard-BafMA6T9.js → onboard-Bizq_LAS.js} +5 -5
- package/dist/{onboard-BhqTlAS0.js → onboard-DK-oOqRl.js} +2 -2
- package/dist/{onboard-channels-CHe-XSLv.js → onboard-channels-B6yLPqH5.js} +1 -1
- package/dist/{onboard-channels-CZB5bhSJ.js → onboard-channels-DSZzjOo1.js} +1 -1
- package/dist/{onboard-custom-BduhuM_4.js → onboard-custom-C7O-zfQ1.js} +1 -1
- package/dist/{onboard-helpers-CiLCJJVQ.js → onboard-helpers-ZmZYzlq3.js} +1 -1
- package/dist/{onboard-remote-C1nRkyWo.js → onboard-remote-zUjD7UtM.js} +1 -1
- package/dist/{onboard-skills-9GLwG44a.js → onboard-skills-BB0YhUmF.js} +1 -1
- package/dist/{onboarding-BXVYtRYj.js → onboarding-CkWWIQA7.js} +3 -3
- package/dist/{onboarding-D5yCx7Yb.js → onboarding-DGSCNnGY.js} +9 -9
- package/dist/{onboarding.finalize-DF5Zx0Zc.js → onboarding.finalize-BMGwhjIR.js} +6 -6
- package/dist/{onboarding.finalize-BX4DUaoK.js → onboarding.finalize-Dj0noUgo.js} +21 -21
- package/dist/{onboarding.gateway-config-TSh7IejG.js → onboarding.gateway-config-CJUgDC6Y.js} +3 -3
- package/dist/{outbound-CtMCmwxR.js → outbound-CIVsLpJK.js} +7 -7
- package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-CHcmlip8.js} +2 -2
- package/dist/paths-CYmyCDsE.js +212 -0
- package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
- package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-BYuCWAs0.js} +8 -8
- package/dist/{pi-auth-json-Tqz9D47K.js → pi-auth-json-DayrlDg_.js} +1 -1
- package/dist/{pi-embedded-DV6dp0BP.js → pi-embedded-DLma-HLn.js} +57 -16
- package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
- package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-BU8EZuwx.js} +73 -73
- package/dist/{pi-embedded-helpers-D-dUrQOR.js → pi-embedded-helpers-CNPyv_ax.js} +1 -1
- package/dist/{pi-tools.policy-CgGK6Jq8.js → pi-tools.policy-CIDBbw6x.js} +1 -1
- package/dist/{plugin-registry-BSmy8tIV.js → plugin-registry-BcgpVdtC.js} +1 -1
- package/dist/{plugin-registry-BwnzEvIz.js → plugin-registry-D8PAS3Sx.js} +1 -1
- package/dist/plugin-sdk/{channel-web-BdY2z7lg.js → channel-web-DgNOPxkV.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-BvxntA3R.js → reply-DJN8Xcq2.js} +43 -2
- package/dist/plugin-sdk/{web-CorFnJCI.js → web-HkDBSFef.js} +2 -2
- package/dist/{plugins-BzmbgY7s.js → plugins-Bkr5ZdYs.js} +9 -9
- package/dist/{plugins-cli-BMmiYArH.js → plugins-cli-B_ln22KG.js} +17 -17
- package/dist/{plugins-cli-CrN718uZ.js → plugins-cli-Bcmq1fs1.js} +2 -2
- package/dist/{program-NGbjPxJh.js → program-C_rxRb1M.js} +7 -7
- package/dist/{program-context-BqxG0w61.js → program-context-BqH8IVSK.js} +30 -30
- package/dist/{prompt-select-styled-B7SzTPf7.js → prompt-select-styled-D8WAeDQY.js} +8 -8
- package/dist/{prompt-select-styled-B1LZVYl0.js → prompt-select-styled-DMRbQO0q.js} +4 -4
- package/dist/{provider-auth-helpers--A-4LKUl.js → provider-auth-helpers-DiuVmtmQ.js} +1 -1
- package/dist/{provider-auth-helpers-CNEhLjMl.js → provider-auth-helpers-DstpUAya.js} +1 -1
- package/dist/{push-apns-DgT_gz_P.js → push-apns-DKU4DgbI.js} +1 -1
- package/dist/{push-apns-Cem8OlK7.js → push-apns-be2xWY22.js} +1 -1
- package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
- package/dist/{pw-ai-m0mj2KWK.js → pw-ai-BTgmcNVp.js} +11 -11
- package/dist/{pw-ai-CC0xm0TY.js → pw-ai-DqL87js3.js} +1 -1
- package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-BKu9rOuB.js} +7 -7
- package/dist/{register.agent-vP7gkHzk.js → register.agent-Dcd_oFsG.js} +6 -6
- package/dist/{register.agent-DT0doE92.js → register.agent-k7WxtPOd.js} +21 -21
- package/dist/{register.configure-BnkkCig3.js → register.configure-BOgCp-h4.js} +25 -25
- package/dist/{register.configure-B_W1y_ag.js → register.configure-DMHVPA-T.js} +6 -6
- package/dist/{register.maintenance-Br5q9f-j.js → register.maintenance-BdBlQQ6G.js} +8 -8
- package/dist/{register.maintenance-C0akYVa2.js → register.maintenance-Bsbgpe-Z.js} +22 -22
- package/dist/{register.message-mCGVBJsU.js → register.message-BE0gDUQZ.js} +17 -17
- package/dist/{register.message-CRaEakG_.js → register.message-DAyubW1M.js} +2 -2
- package/dist/{register.onboard-BvsYOovb.js → register.onboard-CTKa4O9W.js} +21 -21
- package/dist/{register.onboard-CV_3MiHm.js → register.onboard-CqavyaNa.js} +4 -4
- package/dist/{register.setup-BQqw49hm.js → register.setup-BO3CD8Pz.js} +21 -21
- package/dist/{register.setup-DFcMhPAd.js → register.setup-DpkI2F6r.js} +4 -4
- package/dist/{register.status-health-sessions-DlgKRa9S.js → register.status-health-sessions-C5Qa-DmU.js} +3 -3
- package/dist/{register.status-health-sessions-SAm9yGnr.js → register.status-health-sessions-ClDUpT3j.js} +19 -19
- package/dist/{register.subclis-CdANuuHY.js → register.subclis-Bvil7KuO.js} +9 -9
- package/dist/{registry-DYq1AYOv.js → registry-UkL38jvt.js} +17 -17
- package/dist/{replies-LSmuwOhA.js → replies-mfnbLu2p.js} +3 -3
- package/dist/{reply-CiPQDsZl.js → reply-4ilKYVzu.js} +64 -23
- package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-DkGsdyBm.js} +1 -1
- package/dist/{resolve-route-C4_I4GFI.js → resolve-route-q8AFnU5c.js} +4 -4
- package/dist/{retry-BBVXkKBV.js → retry-CqMeDhyp.js} +1 -1
- package/dist/{routes-BO8eMYxn.js → routes-Ba9CUQ8M.js} +2 -2
- package/dist/{rpc-BcyzUwtC.js → rpc-BfhojW8g.js} +1 -1
- package/dist/{run-main-z8u07ybv.js → run-main-D1n_tgGX.js} +14 -14
- package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
- package/dist/{runner-CU9l0uJh.js → runner-CKYly94z.js} +22 -22
- package/dist/{runner-DxdRmWfW.js → runner-CUglpiFP.js} +2 -2
- package/dist/{sandbox-B7qoYkRl.js → sandbox-C-T6hOMv.js} +3 -3
- package/dist/{sandbox-cli-C-hbJJWM.js → sandbox-cli-BllVdQzR.js} +4 -4
- package/dist/{security-cli-CNzBZn7V.js → security-cli-BFLtWWHy.js} +8 -8
- package/dist/{send-DYj_o4_F.js → send-B7z8CDbr.js} +18 -18
- package/dist/{send-CQAKg_12.js → send-Cd81AY_Z.js} +7 -7
- package/dist/{send-CvhXrdgS.js → send-D3zDmQim.js} +10 -10
- package/dist/{send-DAN9hA5h.js → send-XRUYukww.js} +6 -6
- package/dist/{send-CVMyYPQw.js → send-qItpAHcI.js} +6 -6
- package/dist/{server-context-B-ra1emS.js → server-context-CEpFjqSk.js} +4 -4
- package/dist/{server-methods-Dwsrsy7D.js → server-methods-BRdl4pcP.js} +7 -7
- package/dist/{server-methods-D9jBWl7O.js → server-methods-VC0ahxUh.js} +14 -14
- package/dist/{server-node-events-9T-Sm9Q4.js → server-node-events-Bq2fr8Z3.js} +17 -17
- package/dist/{server-node-events-CUKIb7Xq.js → server-node-events-Y5xFGvsj.js} +2 -2
- package/dist/{session-DSU1vxxi.js → session-Dh2wWQkD.js} +8 -8
- package/dist/{skill-commands-DcVwOafC.js → skill-commands-B_f8uGi7.js} +16 -16
- package/dist/{skills-Bs0AW1g3.js → skills-CGHRETGF.js} +24 -24
- package/dist/{sqlite-D_mz1_-y.js → sqlite-Bv87EXeg.js} +16 -16
- package/dist/{status-DPk2qV91.js → status-BxNHXm7T.js} +1 -1
- package/dist/{status-Dqm_DV3z.js → status-CRCD2RpZ.js} +2 -2
- package/dist/{status-CB6N6XaA.js → status-DNJBoKuu.js} +1 -1
- package/dist/{status-UWWMuety.js → status-DOCg6R55.js} +5 -5
- package/dist/{store-01F_JM7O.js → store-Ea3zM6xK.js} +6 -6
- package/dist/{subagent-registry-DTIudfq4.js → subagent-registry-7wPEZQKK.js} +43 -2
- package/dist/{subsystem-BjyjJF-d.js → subsystem-DN75fnEF.js} +1 -1
- package/dist/{system-cli-_0h_FSPB.js → system-cli-UMsMEurS.js} +3 -3
- package/dist/{tables-qMwbq29u.js → tables-BX7_aBvN.js} +1 -1
- package/dist/{target-errors-Bbr9rlzN.js → target-errors-7KhTCTdS.js} +2 -2
- package/dist/{thinking-BprCy23Z.js → thinking-C9-JAUzD.js} +5 -5
- package/dist/{tokens-Bux9Y_xD.js → tokens-BZGy4v--.js} +1 -1
- package/dist/{tool-images-SqqWIT22.js → tool-images-B1qVCntj.js} +2 -2
- package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-C8FBZVVx.js} +3 -3
- package/dist/{tui-D0s_9S8b.js → tui-CriznorL.js} +3 -3
- package/dist/{tui-cli-gm9fv3M8.js → tui-cli-CSIdfCTR.js} +8 -8
- package/dist/{unified-runner-DdeRGc1w.js → unified-runner-quomT1T-.js} +261 -220
- package/dist/{update-cli-C55vGnoj.js → update-cli-CcyCWvCB.js} +8 -8
- package/dist/{update-cli-D8jX4yKe.js → update-cli-FOE23Lo4.js} +23 -23
- package/dist/{update-runner-B0ORHPYT.js → update-runner-CJg-OANA.js} +1 -1
- package/dist/{update-runner-CGsqW9Gu.js → update-runner-Dcjlf0aY.js} +1 -1
- package/dist/{web-DsGfc1GN.js → web-BTmqdXgt.js} +17 -17
- package/dist/{web-CRFt1vNo.js → web-CuNZExQK.js} +1 -1
- package/dist/{web-BC4kDUZw.js → web-DPBfrIzo.js} +6 -6
- package/dist/{web-nKQzj7wJ.js → web-DcHxbz2H.js} +57 -57
- package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-SXenaJIn.js} +23 -23
- package/dist/{with-timeout-BFdGltxb.js → with-timeout-gmK6RciS.js} +1 -1
- package/dist/{workspace-DscDraUb.js → workspace-DqJ5h-ZB.js} +27 -27
- package/package.json +1 -1
|
@@ -21,14 +21,14 @@ import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
|
21
21
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
22
22
|
import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
|
|
23
23
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
|
|
24
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
25
|
-
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-
|
|
24
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CUglpiFP.js";
|
|
25
|
+
import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-D9uvDTrc.js";
|
|
26
26
|
import { t as ensureSymiModelsJson } from "./models-config-qyOXrOli.js";
|
|
27
27
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
|
|
28
|
-
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-
|
|
29
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
30
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
31
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
28
|
+
import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-CNPyv_ax.js";
|
|
29
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-C-T6hOMv.js";
|
|
30
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DtPkPq9T.js";
|
|
31
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CEpFjqSk.js";
|
|
32
32
|
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-6jdJQ5ZL.js";
|
|
33
33
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
|
|
34
34
|
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
|
|
@@ -51,10 +51,10 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
|
|
|
51
51
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
52
52
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
|
|
53
53
|
import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
|
|
54
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
54
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
|
|
55
55
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
|
|
56
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-
|
|
57
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
56
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-gmK6RciS.js";
|
|
57
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CWR_98sK.js";
|
|
58
58
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DjBRPfu9.js";
|
|
59
59
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
|
|
60
60
|
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Cutb0ZDY.js";
|
|
@@ -69,8 +69,8 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
|
|
|
69
69
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
|
|
70
70
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
|
|
71
71
|
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BT0-zzs3.js";
|
|
72
|
-
import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-
|
|
73
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
72
|
+
import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CQSyCS4M.js";
|
|
73
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CJaS1iRF.js";
|
|
74
74
|
import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
|
|
75
75
|
import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
|
|
76
76
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
|
|
@@ -85,7 +85,7 @@ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliv
|
|
|
85
85
|
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
|
|
86
86
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-UxUgrslM.js";
|
|
87
87
|
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DWYkPSUs.js";
|
|
88
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
88
|
+
import { r as detectBinary } from "./onboard-helpers-ZmZYzlq3.js";
|
|
89
89
|
import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
|
|
90
90
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
|
|
91
91
|
import { t as getActiveWebListener } from "./active-listener-kvXhlgwu.js";
|
|
@@ -93,8 +93,8 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
|
|
|
93
93
|
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-VBGXKdLk.js";
|
|
94
94
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
|
|
95
95
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
|
|
96
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
97
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
96
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CIDBbw6x.js";
|
|
97
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Bz7rxLWq.js";
|
|
98
98
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
|
|
99
99
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-C8_BLnaW.js";
|
|
100
100
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DuWs0Aak.js";
|
|
@@ -113,7 +113,7 @@ import { complete, completeSimple, createAssistantMessageEventStream, streamSimp
|
|
|
113
113
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
114
114
|
import { createServer } from "node:http";
|
|
115
115
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
116
|
-
import WebSocket
|
|
116
|
+
import WebSocket from "ws";
|
|
117
117
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
118
118
|
import { EdgeTTS } from "node-edge-tts";
|
|
119
119
|
import { createJiti } from "jiti";
|
|
@@ -10415,7 +10415,7 @@ async function routeReply(params) {
|
|
|
10415
10415
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10416
10416
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10417
10417
|
try {
|
|
10418
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10418
|
+
const { deliverOutboundPayloads } = await import("./deliver-CWR_98sK.js").then((n) => n.n);
|
|
10419
10419
|
return {
|
|
10420
10420
|
ok: true,
|
|
10421
10421
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -12965,7 +12965,7 @@ async function describeStickerImage(params) {
|
|
|
12965
12965
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
12966
12966
|
try {
|
|
12967
12967
|
const buffer = await fs$1.readFile(imagePath);
|
|
12968
|
-
const { describeImageWithModel } = await import("./image-
|
|
12968
|
+
const { describeImageWithModel } = await import("./image-D9uvDTrc.js").then((n) => n.n);
|
|
12969
12969
|
return (await describeImageWithModel({
|
|
12970
12970
|
buffer,
|
|
12971
12971
|
fileName: "sticker.webp",
|
|
@@ -15604,7 +15604,7 @@ async function preflightDiscordMessage(params) {
|
|
|
15604
15604
|
let preflightTranscript;
|
|
15605
15605
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
15606
15606
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
15607
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
15607
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
|
|
15608
15608
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
15609
15609
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
15610
15610
|
ctx: {
|
|
@@ -25536,15 +25536,56 @@ function sanitizeParams(params) {
|
|
|
25536
25536
|
};
|
|
25537
25537
|
}
|
|
25538
25538
|
/**
|
|
25539
|
+
* Build a usage example string from a tool's JSON schema for helpful error messages.
|
|
25540
|
+
* Returns something like: web_search({ query: "<search terms>" })
|
|
25541
|
+
*/
|
|
25542
|
+
function buildToolUsageExample(toolName, schema) {
|
|
25543
|
+
const props = schema?.properties;
|
|
25544
|
+
if (!props || typeof props !== "object") return `${toolName}({ ... })`;
|
|
25545
|
+
return `${toolName}({ ${Object.entries(props).slice(0, 4).map(([key, def]) => {
|
|
25546
|
+
const typeDef = def;
|
|
25547
|
+
if (Array.isArray(typeDef?.enum)) return `${key}: "${typeDef.enum[0]}"`;
|
|
25548
|
+
if (typeDef?.type === "string") return `${key}: "<${typeof typeDef.description === "string" ? typeDef.description.slice(0, 30) : key}>"`;
|
|
25549
|
+
return `${key}: ...`;
|
|
25550
|
+
}).join(", ")} })`;
|
|
25551
|
+
}
|
|
25552
|
+
/**
|
|
25553
|
+
* Extract required fields from a tool's JSON schema.
|
|
25554
|
+
*/
|
|
25555
|
+
function getRequiredFields(schema) {
|
|
25556
|
+
const required = schema?.required;
|
|
25557
|
+
return Array.isArray(required) ? required.filter((r) => typeof r === "string") : [];
|
|
25558
|
+
}
|
|
25559
|
+
/**
|
|
25560
|
+
* Create a relaxed copy of a tool schema with required fields removed.
|
|
25561
|
+
* This allows args with missing fields to pass pi-agent-core's schema
|
|
25562
|
+
* validation, reaching our execute() wrapper where we can return a
|
|
25563
|
+
* helpful error message with a usage example.
|
|
25564
|
+
*/
|
|
25565
|
+
function relaxSchema(schema) {
|
|
25566
|
+
if (!schema || typeof schema !== "object") return schema;
|
|
25567
|
+
const copy = { ...schema };
|
|
25568
|
+
delete copy.required;
|
|
25569
|
+
return copy;
|
|
25570
|
+
}
|
|
25571
|
+
/**
|
|
25539
25572
|
* Wrap a single tool with universal argument sanitization.
|
|
25540
25573
|
*/
|
|
25541
25574
|
function wrapToolWithArgValidation(tool) {
|
|
25542
25575
|
const toolName = (tool.name ?? "").toLowerCase().trim();
|
|
25543
25576
|
const isExecTool = EXEC_TOOL_NAMES.has(toolName);
|
|
25577
|
+
const originalRequired = getRequiredFields(tool.parameters);
|
|
25578
|
+
const usageExample = buildToolUsageExample(toolName, tool.parameters);
|
|
25544
25579
|
const originalExecute = tool.execute;
|
|
25545
25580
|
return {
|
|
25546
25581
|
...tool,
|
|
25582
|
+
parameters: relaxSchema(tool.parameters),
|
|
25547
25583
|
execute(toolCallId, params, ...rest) {
|
|
25584
|
+
const missingFields = originalRequired.filter((field) => params[field] === void 0 || params[field] === null);
|
|
25585
|
+
if (missingFields.length > 0) {
|
|
25586
|
+
log$3.warn(`[validate] ${toolName} missing required fields: ${missingFields.join(", ")}`);
|
|
25587
|
+
return Promise.resolve({ output: `Error: Missing required argument${missingFields.length > 1 ? "s" : ""}: ${missingFields.join(", ")}. Please try again with all required arguments.\nExample: ${usageExample}` });
|
|
25588
|
+
}
|
|
25548
25589
|
const { cleaned, changed } = sanitizeParams(params);
|
|
25549
25590
|
if (changed) log$3.debug(`[validate] sanitized args for ${toolName}: ${Object.keys(params).filter((k) => cleaned[k] !== params[k]).join(",")}`);
|
|
25550
25591
|
const effectiveParams = changed ? cleaned : params;
|
|
@@ -31403,7 +31444,7 @@ async function runAgentTurn(params) {
|
|
|
31403
31444
|
function createDefaultDeps() {
|
|
31404
31445
|
return {
|
|
31405
31446
|
sendMessageWhatsApp: async (...args) => {
|
|
31406
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31447
|
+
const { sendMessageWhatsApp } = await import("./web-BTmqdXgt.js");
|
|
31407
31448
|
return await sendMessageWhatsApp(...args);
|
|
31408
31449
|
},
|
|
31409
31450
|
sendMessageTelegram: async (...args) => {
|
|
@@ -34610,7 +34651,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
34610
34651
|
super(options);
|
|
34611
34652
|
}
|
|
34612
34653
|
createWebSocket(url) {
|
|
34613
|
-
return new WebSocket
|
|
34654
|
+
return new WebSocket(url, { agent });
|
|
34614
34655
|
}
|
|
34615
34656
|
}
|
|
34616
34657
|
return new ProxyGatewayPlugin();
|
|
@@ -47668,7 +47709,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
47668
47709
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
47669
47710
|
let preflightTranscript;
|
|
47670
47711
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
47671
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47712
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
|
|
47672
47713
|
preflightTranscript = await transcribeFirstAudio({
|
|
47673
47714
|
ctx: {
|
|
47674
47715
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -49834,7 +49875,7 @@ function loadWebLoginQr() {
|
|
|
49834
49875
|
return webLoginQrPromise;
|
|
49835
49876
|
}
|
|
49836
49877
|
function loadWebChannel() {
|
|
49837
|
-
webChannelPromise ??= import("./web-
|
|
49878
|
+
webChannelPromise ??= import("./web-BTmqdXgt.js");
|
|
49838
49879
|
return webChannelPromise;
|
|
49839
49880
|
}
|
|
49840
49881
|
function loadWhatsAppActions() {
|
|
@@ -72535,7 +72576,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
72535
72576
|
return;
|
|
72536
72577
|
}
|
|
72537
72578
|
try {
|
|
72538
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
72579
|
+
const { deliverOutboundPayloads } = await import("./deliver-CWR_98sK.js").then((n) => n.n);
|
|
72539
72580
|
await deliverOutboundPayloads({
|
|
72540
72581
|
cfg: params.cfg,
|
|
72541
72582
|
channel,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { n as resolveAgentConfig } from "./agent-scope-
|
|
2
|
+
import { n as resolveAgentConfig } from "./agent-scope-D68_xfTL.js";
|
|
3
3
|
|
|
4
4
|
//#region src/agents/identity.ts
|
|
5
5
|
const DEFAULT_ACK_REACTION = "👀";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, n as DEFAULT_MAIN_KEY, p as normalizeAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
|
|
3
|
-
import { Z as shouldLogVerbose } from "./registry-
|
|
4
|
-
import { c as resolveDefaultAgentId } from "./agent-scope-
|
|
5
|
-
import { y as logDebug } from "./workspace-
|
|
3
|
+
import { Z as shouldLogVerbose } from "./registry-UkL38jvt.js";
|
|
4
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-D68_xfTL.js";
|
|
5
|
+
import { y as logDebug } from "./workspace-DqJ5h-ZB.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { t as listBindings } from "./bindings-
|
|
7
|
+
import { t as listBindings } from "./bindings-Bat2RnAR.js";
|
|
8
8
|
|
|
9
9
|
//#region src/routing/resolve-route.ts
|
|
10
10
|
var resolve_route_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
|
|
2
2
|
import { i as loadConfig, l as writeConfigFile } from "./config-CHwyw6l5.js";
|
|
3
|
-
import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-
|
|
4
|
-
import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-
|
|
3
|
+
import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-DtPkPq9T.js";
|
|
4
|
+
import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-CEpFjqSk.js";
|
|
5
5
|
import { a as resolvePathWithinRoot, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-BBm9fwuG.js";
|
|
6
6
|
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-1OJMSAUX.js";
|
|
7
7
|
import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-r1DJSDq-.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
|
|
2
|
-
import { a as randomIdempotencyKey, n as callGateway } from "./call-
|
|
2
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-CJaS1iRF.js";
|
|
3
3
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
4
4
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
|
|
5
5
|
|
|
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
|
|
|
13
13
|
import "./call-BcE47FtD.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
|
-
import "./subagent-registry-
|
|
16
|
+
import "./subagent-registry-7wPEZQKK.js";
|
|
17
17
|
import "./sessions-CJXnZVjR.js";
|
|
18
18
|
import "./tokens-Csntmwwn.js";
|
|
19
19
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
|
|
|
101
101
|
import "./catalog-DLQFKucJ.js";
|
|
102
102
|
import "./note-DDecZomM.js";
|
|
103
103
|
import "./plugin-auto-enable-D6ENR3Xg.js";
|
|
104
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
104
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D8PAS3Sx.js";
|
|
105
105
|
import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
|
|
106
|
-
import { t as emitCliBanner } from "./banner-
|
|
106
|
+
import { t as emitCliBanner } from "./banner-VbhMdl-b.js";
|
|
107
107
|
import "./doctor-config-flow-CA3eiKhd.js";
|
|
108
108
|
import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
|
|
109
109
|
import process$1 from "node:process";
|
|
@@ -118,7 +118,7 @@ const routeHealth = {
|
|
|
118
118
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
119
119
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
120
120
|
if (timeoutMs === null) return false;
|
|
121
|
-
const { healthCommand } = await import("./health-
|
|
121
|
+
const { healthCommand } = await import("./health-BiipZUOd.js").then((n) => n.i);
|
|
122
122
|
await healthCommand({
|
|
123
123
|
json,
|
|
124
124
|
timeoutMs,
|
|
@@ -138,7 +138,7 @@ const routeStatus = {
|
|
|
138
138
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
139
139
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
140
140
|
if (timeoutMs === null) return false;
|
|
141
|
-
const { statusCommand } = await import("./status-
|
|
141
|
+
const { statusCommand } = await import("./status-CRCD2RpZ.js").then((n) => n.t);
|
|
142
142
|
await statusCommand({
|
|
143
143
|
json,
|
|
144
144
|
deep,
|
|
@@ -172,7 +172,7 @@ const routeAgentsList = {
|
|
|
172
172
|
run: async (argv) => {
|
|
173
173
|
const json = hasFlag(argv, "--json");
|
|
174
174
|
const bindings = hasFlag(argv, "--bindings");
|
|
175
|
-
const { agentsListCommand } = await import("./agents-
|
|
175
|
+
const { agentsListCommand } = await import("./agents-DRRBdgqz.js").then((n) => n.t);
|
|
176
176
|
await agentsListCommand({
|
|
177
177
|
json,
|
|
178
178
|
bindings
|
|
@@ -243,7 +243,7 @@ const routes = [
|
|
|
243
243
|
const pathArg = getCommandPositionals(argv)[2];
|
|
244
244
|
if (!pathArg) return false;
|
|
245
245
|
const json = hasFlag(argv, "--json");
|
|
246
|
-
const { runConfigGet } = await import("./config-cli-
|
|
246
|
+
const { runConfigGet } = await import("./config-cli-DG0xBZhs.js");
|
|
247
247
|
await runConfigGet({
|
|
248
248
|
path: pathArg,
|
|
249
249
|
json
|
|
@@ -256,7 +256,7 @@ const routes = [
|
|
|
256
256
|
run: async (argv) => {
|
|
257
257
|
const pathArg = getCommandPositionals(argv)[2];
|
|
258
258
|
if (!pathArg) return false;
|
|
259
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
259
|
+
const { runConfigUnset } = await import("./config-cli-DG0xBZhs.js");
|
|
260
260
|
await runConfigUnset({ path: pathArg });
|
|
261
261
|
return true;
|
|
262
262
|
}
|
|
@@ -270,7 +270,7 @@ const routes = [
|
|
|
270
270
|
const local = hasFlag(argv, "--local");
|
|
271
271
|
const json = hasFlag(argv, "--json");
|
|
272
272
|
const plain = hasFlag(argv, "--plain");
|
|
273
|
-
const { modelsListCommand } = await import("./models-
|
|
273
|
+
const { modelsListCommand } = await import("./models-DUrbBEOU.js").then((n) => n.t);
|
|
274
274
|
await modelsListCommand({
|
|
275
275
|
all,
|
|
276
276
|
local,
|
|
@@ -301,7 +301,7 @@ const routes = [
|
|
|
301
301
|
const plain = hasFlag(argv, "--plain");
|
|
302
302
|
const check = hasFlag(argv, "--check");
|
|
303
303
|
const probe = hasFlag(argv, "--probe");
|
|
304
|
-
const { modelsStatusCommand } = await import("./models-
|
|
304
|
+
const { modelsStatusCommand } = await import("./models-DUrbBEOU.js").then((n) => n.t);
|
|
305
305
|
await modelsStatusCommand({
|
|
306
306
|
json,
|
|
307
307
|
plain,
|
|
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
379
379
|
assertSupportedRuntime();
|
|
380
380
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
381
381
|
enableConsoleCapture();
|
|
382
|
-
const { buildProgram } = await import("./program-
|
|
382
|
+
const { buildProgram } = await import("./program-C_rxRb1M.js");
|
|
383
383
|
const program = buildProgram();
|
|
384
384
|
installUnhandledRejectionHandler();
|
|
385
385
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
411
411
|
const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
|
|
412
412
|
const ctx = getProgramContext(program);
|
|
413
413
|
if (ctx) {
|
|
414
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
414
|
+
const { registerCoreCliByName } = await import("./command-registry-DwBw5-nh.js").then((n) => n.t);
|
|
415
415
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
416
416
|
}
|
|
417
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
417
|
+
const { registerSubCliByName } = await import("./register.subclis-Bvil7KuO.js").then((n) => n.a);
|
|
418
418
|
await registerSubCliByName(program, primary);
|
|
419
419
|
}
|
|
420
420
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
423
423
|
primary,
|
|
424
424
|
hasBuiltinPrimary
|
|
425
425
|
})) {
|
|
426
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
426
|
+
const { registerPluginCliCommands } = await import("./cli-CPRCkEdK.js");
|
|
427
427
|
const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
|
|
428
428
|
registerPluginCliCommands(program, loadConfig());
|
|
429
429
|
}
|
|
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
|
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
5
5
|
import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
|
|
6
6
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-DcpMiprB.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { J as logVerbose, Z as shouldLogVerbose } from "./registry-
|
|
2
|
-
import { _ as runExec } from "./workspace-
|
|
3
|
-
import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normalizeProviderId, z as requireApiKey } from "./auth-profiles-
|
|
4
|
-
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-
|
|
5
|
-
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-
|
|
1
|
+
import { J as logVerbose, Z as shouldLogVerbose } from "./registry-UkL38jvt.js";
|
|
2
|
+
import { _ as runExec } from "./workspace-DqJ5h-ZB.js";
|
|
3
|
+
import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normalizeProviderId, z as requireApiKey } from "./auth-profiles-Bl9aU7fc.js";
|
|
4
|
+
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-CvmE3Yx1.js";
|
|
5
|
+
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-M5agStZn.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
8
|
-
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CK4oZUJJ.js";
|
|
8
|
+
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-C6Z-2T42.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
|
|
10
|
-
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-
|
|
10
|
+
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CdXg5-Cx.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import { constants } from "node:fs";
|
|
13
13
|
import os from "node:os";
|
|
14
|
-
import fs
|
|
14
|
+
import fs from "node:fs/promises";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
16
16
|
import crypto from "node:crypto";
|
|
17
17
|
import process$1 from "node:process";
|
|
@@ -693,7 +693,7 @@ var MediaAttachmentCache = class {
|
|
|
693
693
|
const size = await this.ensureLocalStat(entry);
|
|
694
694
|
if (entry.resolvedPath) {
|
|
695
695
|
if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
|
|
696
|
-
const buffer = await fs
|
|
696
|
+
const buffer = await fs.readFile(entry.resolvedPath);
|
|
697
697
|
entry.buffer = buffer;
|
|
698
698
|
entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
|
|
699
699
|
buffer,
|
|
@@ -763,10 +763,10 @@ var MediaAttachmentCache = class {
|
|
|
763
763
|
prefix: "symi-media",
|
|
764
764
|
extension: path.extname(bufferResult.fileName || "") || ""
|
|
765
765
|
});
|
|
766
|
-
await fs
|
|
766
|
+
await fs.writeFile(tmpPath, bufferResult.buffer);
|
|
767
767
|
entry.tempPath = tmpPath;
|
|
768
768
|
entry.tempCleanup = async () => {
|
|
769
|
-
await fs
|
|
769
|
+
await fs.unlink(tmpPath).catch(() => {});
|
|
770
770
|
};
|
|
771
771
|
return {
|
|
772
772
|
path: tmpPath,
|
|
@@ -813,12 +813,12 @@ var MediaAttachmentCache = class {
|
|
|
813
813
|
if (entry.statSize !== void 0) return entry.statSize;
|
|
814
814
|
try {
|
|
815
815
|
const currentPath = entry.resolvedPath;
|
|
816
|
-
const stat = await fs
|
|
816
|
+
const stat = await fs.stat(currentPath);
|
|
817
817
|
if (!stat.isFile()) {
|
|
818
818
|
entry.resolvedPath = void 0;
|
|
819
819
|
return;
|
|
820
820
|
}
|
|
821
|
-
const canonicalPath = await fs
|
|
821
|
+
const canonicalPath = await fs.realpath(currentPath).catch(() => currentPath);
|
|
822
822
|
if (!isInboundPathAllowed({
|
|
823
823
|
filePath: canonicalPath,
|
|
824
824
|
roots: await this.getCanonicalLocalPathRoots()
|
|
@@ -840,7 +840,7 @@ var MediaAttachmentCache = class {
|
|
|
840
840
|
if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
|
|
841
841
|
this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
|
|
842
842
|
if (root.includes("*")) return root;
|
|
843
|
-
return await fs
|
|
843
|
+
return await fs.realpath(root).catch(() => root);
|
|
844
844
|
}))))();
|
|
845
845
|
return await this.canonicalLocalPathRoots;
|
|
846
846
|
}
|
|
@@ -882,7 +882,7 @@ async function loadModelCatalog(params) {
|
|
|
882
882
|
});
|
|
883
883
|
try {
|
|
884
884
|
await ensureSymiModelsJson(params?.config ?? loadConfig());
|
|
885
|
-
await (await import("./pi-auth-json-
|
|
885
|
+
await (await import("./pi-auth-json-BYuCWAs0.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
|
|
886
886
|
const piSdk = await importPiSdk();
|
|
887
887
|
const agentDir = resolveSymiAgentDir();
|
|
888
888
|
const { join } = await import("node:path");
|
|
@@ -942,7 +942,7 @@ function findModelInCatalog(catalog, provider, modelId) {
|
|
|
942
942
|
async function fileExists(filePath) {
|
|
943
943
|
if (!filePath) return false;
|
|
944
944
|
try {
|
|
945
|
-
await fs
|
|
945
|
+
await fs.stat(filePath);
|
|
946
946
|
return true;
|
|
947
947
|
} catch {
|
|
948
948
|
return false;
|
|
@@ -1042,7 +1042,7 @@ async function resolveCliOutput(params) {
|
|
|
1042
1042
|
const commandId = commandBase(params.command);
|
|
1043
1043
|
const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
|
|
1044
1044
|
if (fileOutput && await fileExists(fileOutput)) try {
|
|
1045
|
-
const content = await fs
|
|
1045
|
+
const content = await fs.readFile(fileOutput, "utf8");
|
|
1046
1046
|
if (content.trim()) return content.trim();
|
|
1047
1047
|
} catch {}
|
|
1048
1048
|
if (commandId === "gemini") {
|
|
@@ -1333,7 +1333,7 @@ async function runCliEntry(params) {
|
|
|
1333
1333
|
maxBytes,
|
|
1334
1334
|
timeoutMs
|
|
1335
1335
|
});
|
|
1336
|
-
const outputDir = await fs
|
|
1336
|
+
const outputDir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
|
|
1337
1337
|
const mediaPath = pathResult.path;
|
|
1338
1338
|
const outputBase = path.join(outputDir, path.parse(mediaPath).name);
|
|
1339
1339
|
const templCtx = {
|
|
@@ -1367,7 +1367,7 @@ async function runCliEntry(params) {
|
|
|
1367
1367
|
model: command
|
|
1368
1368
|
};
|
|
1369
1369
|
} finally {
|
|
1370
|
-
await fs
|
|
1370
|
+
await fs.rm(outputDir, {
|
|
1371
1371
|
recursive: true,
|
|
1372
1372
|
force: true
|
|
1373
1373
|
}).catch(() => {});
|
|
@@ -1411,9 +1411,9 @@ function candidateBinaryNames(name) {
|
|
|
1411
1411
|
}
|
|
1412
1412
|
async function isExecutable(filePath) {
|
|
1413
1413
|
try {
|
|
1414
|
-
if (!(await fs
|
|
1414
|
+
if (!(await fs.stat(filePath)).isFile()) return false;
|
|
1415
1415
|
if (process.platform === "win32") return true;
|
|
1416
|
-
await fs
|
|
1416
|
+
await fs.access(filePath, constants.X_OK);
|
|
1417
1417
|
return true;
|
|
1418
1418
|
} catch {
|
|
1419
1419
|
return false;
|
|
@@ -3,14 +3,14 @@ import { n as runExec } from "./exec-CWkblSrI.js";
|
|
|
3
3
|
import { E as normalizeGoogleModelId, K as requireApiKey, l as normalizeProviderId, q as resolveApiKeyForProvider } from "./model-selection-CyFvYcRt.js";
|
|
4
4
|
import { _ as isInboundPathAllowed, g as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, v as mergeInboundPathRoots, y as resolveIMessageAttachmentRoots } from "./config-CHwyw6l5.js";
|
|
5
5
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
6
|
-
import { t as describeImageWithModel } from "./image-
|
|
6
|
+
import { t as describeImageWithModel } from "./image-D9uvDTrc.js";
|
|
7
7
|
import { r as formatUncaughtError, t as extractErrorCode } from "./errors-BF3TeRH2.js";
|
|
8
8
|
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-1OJMSAUX.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
|
|
10
10
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
11
11
|
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CzuPlV2t.js";
|
|
12
12
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-aAFLQGkY.js";
|
|
13
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
13
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
|
|
14
14
|
import process$1 from "node:process";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
16
16
|
import { constants } from "node:fs";
|
|
@@ -6,12 +6,12 @@ import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
|
6
6
|
import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, m as DEFAULT_AGENT_WORKSPACE_DIR, p as DEFAULT_AGENTS_FILENAME, r as resolveAgentConfig, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-CgUHAtCo.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
8
8
|
import { i as loadConfig } from "./config-CHwyw6l5.js";
|
|
9
|
-
import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, O as DEFAULT_SYMI_BROWSER_COLOR } from "./chrome-
|
|
9
|
+
import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, O as DEFAULT_SYMI_BROWSER_COLOR } from "./chrome-DtPkPq9T.js";
|
|
10
10
|
import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
|
|
11
11
|
import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
|
|
12
|
-
import { a as resolveProfile, m as resolveBrowserControlAuth, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-
|
|
12
|
+
import { a as resolveProfile, m as resolveBrowserControlAuth, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CEpFjqSk.js";
|
|
13
13
|
import { d as resolveSandboxInputPath, f as resolveSandboxPath, g as sanitizeEnvVars, o as syncSkillsToWorkspace } from "./skills-6jdJQ5ZL.js";
|
|
14
|
-
import { t as registerBrowserRoutes } from "./routes-
|
|
14
|
+
import { t as registerBrowserRoutes } from "./routes-Ba9CUQ8M.js";
|
|
15
15
|
import { B as resolveAgentMainSessionKey, J as acquireSessionWriteLock, z as canonicalizeMainSessionAlias } from "./sessions-DgYpBvse.js";
|
|
16
16
|
import { existsSync, realpathSync } from "node:fs";
|
|
17
17
|
import path, { posix } from "node:path";
|
|
@@ -13,14 +13,14 @@ import "./env-DPCHYPeH.js";
|
|
|
13
13
|
import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-aT-I_DTX.js";
|
|
14
14
|
import { i as loadConfig } from "./config-CHwyw6l5.js";
|
|
15
15
|
import "./manifest-registry-C4BxOMWX.js";
|
|
16
|
-
import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-
|
|
17
|
-
import "./chrome-
|
|
16
|
+
import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-C-T6hOMv.js";
|
|
17
|
+
import "./chrome-DtPkPq9T.js";
|
|
18
18
|
import "./tailscale-D5dKabOc.js";
|
|
19
19
|
import "./auth-B741uFtk.js";
|
|
20
|
-
import "./server-context-
|
|
20
|
+
import "./server-context-CEpFjqSk.js";
|
|
21
21
|
import "./frontmatter-DWQhtOo7.js";
|
|
22
22
|
import "./skills-6jdJQ5ZL.js";
|
|
23
|
-
import "./routes-
|
|
23
|
+
import "./routes-Ba9CUQ8M.js";
|
|
24
24
|
import "./redact-f-Q-hFt_.js";
|
|
25
25
|
import "./errors-BF3TeRH2.js";
|
|
26
26
|
import "./fs-safe-CUjO1ca2.js";
|
|
@@ -13,14 +13,14 @@ import "./env-DPCHYPeH.js";
|
|
|
13
13
|
import "./message-channel-aT-I_DTX.js";
|
|
14
14
|
import { i as loadConfig, r as createConfigIO } from "./config-CHwyw6l5.js";
|
|
15
15
|
import "./manifest-registry-C4BxOMWX.js";
|
|
16
|
-
import "./sandbox-
|
|
17
|
-
import "./chrome-
|
|
16
|
+
import "./sandbox-C-T6hOMv.js";
|
|
17
|
+
import "./chrome-DtPkPq9T.js";
|
|
18
18
|
import "./tailscale-D5dKabOc.js";
|
|
19
19
|
import "./auth-B741uFtk.js";
|
|
20
|
-
import "./server-context-
|
|
20
|
+
import "./server-context-CEpFjqSk.js";
|
|
21
21
|
import "./frontmatter-DWQhtOo7.js";
|
|
22
22
|
import "./skills-6jdJQ5ZL.js";
|
|
23
|
-
import "./routes-
|
|
23
|
+
import "./routes-Ba9CUQ8M.js";
|
|
24
24
|
import "./redact-f-Q-hFt_.js";
|
|
25
25
|
import "./errors-BF3TeRH2.js";
|
|
26
26
|
import "./fs-safe-CUjO1ca2.js";
|
|
@@ -40,17 +40,17 @@ import "./bindings-DFaVVCsf.js";
|
|
|
40
40
|
import "./logging-w5jq5901.js";
|
|
41
41
|
import "./paths-CyhzMxFA.js";
|
|
42
42
|
import "./commands-BNLCWX6e.js";
|
|
43
|
-
import "./client-
|
|
44
|
-
import "./call-
|
|
43
|
+
import "./client-CQSyCS4M.js";
|
|
44
|
+
import "./call-CJaS1iRF.js";
|
|
45
45
|
import "./pairing-token-CX3NN_qj.js";
|
|
46
46
|
import { i as readChannelAllowFromStore } from "./pairing-store-CK726Dzq.js";
|
|
47
47
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
48
48
|
import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
|
|
49
49
|
import "./workspace-dirs-GpkFi6Kw.js";
|
|
50
|
-
import "./pi-tools.policy-
|
|
50
|
+
import "./pi-tools.policy-CIDBbw6x.js";
|
|
51
51
|
import "./dangerous-tools-BL-M3lPt.js";
|
|
52
52
|
import "./skill-scanner-CLs8u6vQ.js";
|
|
53
|
-
import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-
|
|
53
|
+
import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-CrITRV6w.js";
|
|
54
54
|
import "./dm-policy-shared-Bh3TbexU.js";
|
|
55
55
|
import path from "node:path";
|
|
56
56
|
import fs from "node:fs/promises";
|