@symerian/symi 2.6.0 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-Bi50kp6u.js → agents-qLMWAYwU.js} +4 -4
- package/dist/{agents.config-BcTeP94V.js → agents.config-BfjAwFCr.js} +1 -1
- package/dist/{agents.config-Duce7lam.js → agents.config-BmdFH4J5.js} +1 -1
- package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
- package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
- package/dist/{auth-choice-Dyq-0MNq.js → auth-choice-D1u_GPfQ.js} +1 -1
- package/dist/{auth-choice-BFIBR4l9.js → auth-choice-zFq3WRQ0.js} +1 -1
- package/dist/{banner-D50f_0qf.js → banner-DpH44qlJ.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BFqaanEt.js → channel-options-0iOfzVR3.js} +1 -1
- package/dist/{channel-options-BvBcjqyk.js → channel-options-C8tKm8re.js} +1 -1
- package/dist/{channel-web-BQtFg4IP.js → channel-web-DYinYBz4.js} +1 -1
- package/dist/{channels-cli-BuTH-iVi.js → channels-cli-93tLT17t.js} +4 -4
- package/dist/{channels-cli-BYFQdWnL.js → channels-cli-C8HgSMTH.js} +4 -4
- package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
- package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
- package/dist/{cli-r2L-UK6y.js → cli-BYJyRW2M.js} +1 -1
- package/dist/{cli-eOBlVLcC.js → cli-DapZXGSB.js} +1 -1
- package/dist/{command-registry-D-pwcAIW.js → command-registry-9EhYc6da.js} +9 -9
- package/dist/{completion-cli-DIx7KyOG.js → completion-cli-BFZv3K5D.js} +2 -2
- package/dist/{completion-cli-DMO2OGTm.js → completion-cli-CCeQlMlC.js} +1 -1
- package/dist/{config-cli-BsDxqYDU.js → config-cli-DbWMIBUz.js} +1 -1
- package/dist/{config-cli-seaVWVru.js → config-cli-Dv2mtIeM.js} +1 -1
- package/dist/{configure-BmPwuHXL.js → configure-B8zV6Hxj.js} +3 -3
- package/dist/{configure-CqbKA0_V.js → configure-CVQf2UJE.js} +3 -3
- package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
- package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
- package/dist/{doctor-completion-DMjs7-Qa.js → doctor-completion-BunqvoqZ.js} +1 -1
- package/dist/{doctor-completion-C2IV3lKi.js → doctor-completion-CLeX1kaN.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-BanaeKQ_.js → gateway-cli-Co-tp-WC.js} +9 -9
- package/dist/{gateway-cli-C-J_s559.js → gateway-cli-DMey_29a.js} +9 -9
- package/dist/{glass-ui-ws-DUzp9m0D.js → glass-ui-ws-C4O227UO.js} +7 -7
- package/dist/{glass-ui-ws-DK7x3Tz7.js → glass-ui-ws-CKb1jTZR.js} +7 -7
- package/dist/{health-DK6rAOhC.js → health-CDGOsNeD.js} +1 -1
- package/dist/{health-BpHgCv-u.js → health-CM1asUG8.js} +1 -1
- package/dist/{hooks-cli-D-75G_66.js → hooks-cli-DFKB3Z6X.js} +2 -2
- package/dist/{hooks-cli-Cin_3tFg.js → hooks-cli-Tx0TzSju.js} +2 -2
- package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
- package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-CeKIXf5B.js → models-CiqHYwje.js} +2 -2
- package/dist/{models-cli-2NcPKR9A.js → models-cli-B-b-gBKG.js} +2 -2
- package/dist/{models-cli-DN4AVlpI.js → models-cli-B4ATSsNS.js} +3 -3
- package/dist/{onboard-BukRqcRH.js → onboard-B_ECX48L.js} +2 -2
- package/dist/{onboard-BcxDiUl_.js → onboard-DcnGZKZX.js} +2 -2
- package/dist/{onboard-channels-DS6s341R.js → onboard-channels-FFQPpuEN.js} +1 -1
- package/dist/{onboard-channels-HPxu77wp.js → onboard-channels-pfSGhg_C.js} +1 -1
- package/dist/{onboarding-DI-o_sax.js → onboarding-BU14cspo.js} +3 -3
- package/dist/{onboarding-B8uz24jt.js → onboarding-jhZxQcZ3.js} +3 -3
- package/dist/{onboarding.finalize-CfE_AEto.js → onboarding.finalize-B8oOMfHc.js} +6 -6
- package/dist/{onboarding.finalize-Bn2e61yb.js → onboarding.finalize-ByZT4dF5.js} +5 -5
- package/dist/{pi-embedded-B5qBa69e.js → pi-embedded-BY9AnmoP.js} +203 -27
- package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
- package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
- package/dist/{plugin-registry-NIUxULTk.js → plugin-registry-CNf1_8hj.js} +1 -1
- package/dist/{plugin-registry-cj99EI0k.js → plugin-registry-DXWJkJX6.js} +1 -1
- package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
- package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
- package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
- package/dist/plugin-sdk/{active-listener-BXYeALs0.js → active-listener-bEk__wbB.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
- package/dist/plugin-sdk/agents/model-token-filter.d.ts +10 -0
- package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +23 -0
- package/dist/plugin-sdk/agents/pi-tools.validate.d.ts +26 -0
- package/dist/plugin-sdk/agents/tool-loop-detection.d.ts +3 -1
- package/dist/plugin-sdk/{api-key-rotation-D_sMvI5W.js → api-key-rotation-CVBMpnPc.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-VpItkiy3.js → audio-preflight-DoQQKlxa.js} +24 -24
- package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
- package/dist/plugin-sdk/{channel-web-CSd16cDi.js → channel-web-DZQQ0mzN.js} +22 -22
- package/dist/plugin-sdk/{chrome-B7RdxmJ0.js → chrome-C7c_0I5M.js} +3 -3
- package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
- package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-COIaslGl.js → commands-registry-CQFbmUMs.js} +4 -4
- package/dist/plugin-sdk/config/model-profiles.d.ts +2 -0
- package/dist/plugin-sdk/{config-KlTNfkFF.js → config-DDkdiUOR.js} +9 -9
- package/dist/plugin-sdk/{deliver-BZ99UKQq.js → deliver-BZ6iNLl7.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-05pm5Rxi.js → diagnostic-mFf4i4G9.js} +1 -1
- package/dist/plugin-sdk/{image-CLOPx7yW.js → image-BOYy0Ump.js} +4 -4
- package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
- package/dist/plugin-sdk/index.js +53 -53
- package/dist/plugin-sdk/infra/diagnostic-events.d.ts +1 -1
- package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
- package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
- package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +2 -0
- package/dist/plugin-sdk/logging/diagnostic.d.ts +1 -1
- package/dist/plugin-sdk/{login-DQMXuxOk.js → login-Bh3DZPam.js} +7 -7
- package/dist/plugin-sdk/{login-qr-BjVZSoCi.js → login-qr-DbR7odSr.js} +9 -9
- package/dist/plugin-sdk/{manager-CBSBFuFz.js → manager-DckktAQ3.js} +8 -8
- package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-B3ugY9-f.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
- package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
- package/dist/plugin-sdk/{model-selection-CsbEfrS0.js → model-selection-OpU8HN50.js} +4 -4
- package/dist/plugin-sdk/{outbound-attachment-CnslKL38.js → outbound-attachment-DnVQfTG2.js} +2 -2
- package/dist/plugin-sdk/{outbound-B0e8KdaR.js → outbound-rF6G8Xpr.js} +7 -7
- package/dist/plugin-sdk/{pi-auth-json-qWi7ZIYV.js → pi-auth-json-CJk8t14T.js} +5 -5
- package/dist/plugin-sdk/{pi-embedded-helpers-CW630epe.js → pi-embedded-helpers-BveUP4hk.js} +17 -17
- package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-CnbPIPY9.js → pw-ai-DjGUsee-.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-CH0XbIHf.js → qmd-manager-mjKcdwVr.js} +4 -4
- package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
- package/dist/plugin-sdk/{replies-LLcQL3w6.js → replies-fI39rPGa.js} +3 -3
- package/dist/plugin-sdk/{reply-CkqSfQZN.js → reply-DvZeyOVA.js} +263 -87
- package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
- package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
- package/dist/plugin-sdk/{runner-CGBT7tgF.js → runner-BVqnEfNe.js} +9 -9
- package/dist/plugin-sdk/{send-C5h_YxNb.js → send-BHbXh8Ly.js} +7 -7
- package/dist/plugin-sdk/{send-pYqe432l.js → send-BMfJIhCk.js} +6 -6
- package/dist/plugin-sdk/{send-B2CEnVLL.js → send-BtANzsAo.js} +6 -6
- package/dist/plugin-sdk/{send-CjOBB3Vo.js → send-Bxdu6ZZy.js} +10 -10
- package/dist/plugin-sdk/{send-CRsR8-vO.js → send-D6LMZJ_h.js} +10 -10
- package/dist/plugin-sdk/{session-BsOrxiMj.js → session-kI0tzViQ.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-ff_01_r3.js → skill-commands-DCNXVERE.js} +5 -5
- package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-B1GeRYlu.js} +7 -7
- package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
- package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
- package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
- package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
- package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
- package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
- package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
- package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-BVA6fax-.js → tool-loop-detection-DU5sTIKg.js} +55 -5
- package/dist/plugin-sdk/web-BCsJFuQu.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-DfseosPO.js → whatsapp-actions-CcBzDuL-.js} +21 -21
- package/dist/{plugins-cli-CcjxxESJ.js → plugins-cli-BiedlZMy.js} +2 -2
- package/dist/{plugins-cli-D8hhTHZD.js → plugins-cli-C9TYM40P.js} +2 -2
- package/dist/{program-D09h71pS.js → program-bnWda72r.js} +7 -7
- package/dist/{program-context-CLJSWBZr.js → program-context-CY1jWc5A.js} +17 -17
- package/dist/{prompt-select-styled-DQqZEGoo.js → prompt-select-styled-BEnZY8wI.js} +4 -4
- package/dist/{prompt-select-styled-zRUqu0c8.js → prompt-select-styled-B_lFTtqp.js} +4 -4
- package/dist/{provider-auth-helpers-LzJ2WQIc.js → provider-auth-helpers-DApJuzBd.js} +1 -1
- package/dist/{provider-auth-helpers-16r2WHNe.js → provider-auth-helpers-DcNKxc7D.js} +1 -1
- package/dist/{push-apns-DJddAK3u.js → push-apns-CKKHlj6j.js} +1 -1
- package/dist/{push-apns-B5xZKIxK.js → push-apns-DA7UMNQH.js} +1 -1
- package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
- package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
- package/dist/{register.agent-D7NKuUkY.js → register.agent-8lxVlmzQ.js} +5 -5
- package/dist/{register.agent-CP_sigRh.js → register.agent-ulu0VmOg.js} +6 -6
- package/dist/{register.configure-BEsGd0PR.js → register.configure-45--Sly1.js} +6 -6
- package/dist/{register.configure-BjRLNatb.js → register.configure-rq0h5r3X.js} +6 -6
- package/dist/{register.maintenance-DD6TNFtV.js → register.maintenance-CXbxRtWI.js} +8 -8
- package/dist/{register.maintenance-CN6KUuX7.js → register.maintenance-DyEJx7NY.js} +7 -7
- package/dist/{register.message-DEUcNly1.js → register.message-C7Yh1uky.js} +2 -2
- package/dist/{register.message-DMVC_Sqm.js → register.message-CiN_pt6K.js} +2 -2
- package/dist/{register.onboard-CP6RP90V.js → register.onboard-BWaRkbei.js} +4 -4
- package/dist/{register.onboard-J1pgV7lz.js → register.onboard-e_2hc2Rm.js} +4 -4
- package/dist/{register.setup-Dhc3jKpK.js → register.setup-BIIFHtF7.js} +4 -4
- package/dist/{register.setup-BeHpW3xI.js → register.setup-zwh90Vn-.js} +4 -4
- package/dist/{register.status-health-sessions-b-lWNsTM.js → register.status-health-sessions-D6t5maEr.js} +3 -3
- package/dist/{register.status-health-sessions-DDkC0aoW.js → register.status-health-sessions-O-sVAFHE.js} +3 -3
- package/dist/{register.subclis-BJqiT8Q2.js → register.subclis-DOiZocR6.js} +9 -9
- package/dist/{reply-D40cmAci.js → reply-05js8eGB.js} +189 -13
- package/dist/{run-main-BruREeZ6.js → run-main-u-Eyc8Wm.js} +14 -14
- package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
- package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
- package/dist/{server-methods-K-0MHs8x.js → server-methods-Bvl1xubo.js} +7 -7
- package/dist/{server-methods-Cyw_WS3A.js → server-methods-Dds-iEoY.js} +7 -7
- package/dist/{server-node-events-89R9Ryky.js → server-node-events-Qp-gJMET.js} +2 -2
- package/dist/{server-node-events-RA8RurtC.js → server-node-events-qGqpsPxm.js} +2 -2
- package/dist/{status-DHJLMwQN.js → status-BATOXGRi.js} +2 -2
- package/dist/{status-CtNKWuzg.js → status-BRSo-LY3.js} +2 -2
- package/dist/{status-Kv_hsY8N.js → status-BqQ9mm64.js} +1 -1
- package/dist/{status-BSMEjz4q.js → status-CfYa1Q9K.js} +1 -1
- package/dist/{subagent-registry-Cb5e_x99.js → subagent-registry-lbDgDwLy.js} +189 -13
- package/dist/{tool-loop-detection-BgbtzUGc.js → tool-loop-detection-C7TCF2V2.js} +53 -3
- package/dist/{tool-loop-detection-BU3fbtCd.js → tool-loop-detection-D7qjFnRh.js} +53 -3
- package/dist/{tool-loop-detection-B6j1r-Wk.js → tool-loop-detection-DPVtQOfM.js} +53 -3
- package/dist/{tool-loop-detection-D0kUzUGu.js → tool-loop-detection-DR_rrIA1.js} +53 -3
- package/dist/{unified-runner-CkJLTsTK.js → unified-runner-B4ICXRlg.js} +203 -27
- package/dist/{update-cli-CrRBoiVU.js → update-cli-BOaP4XyQ.js} +8 -8
- package/dist/{update-cli-Bl66LJZ4.js → update-cli-R8-SSkbS.js} +7 -7
- package/dist/{update-runner-DxpSPK-f.js → update-runner-B8UmqtLI.js} +1 -1
- package/dist/{update-runner-FgrqoxvV.js → update-runner-CWJ4pC1b.js} +1 -1
- package/dist/{web-BYRKX5Ln.js → web-BWybtnEa.js} +2 -2
- package/dist/{web-RePh7lRy.js → web-CQH9fSkH.js} +6 -6
- package/dist/{web-Czp0JS6-.js → web-CSrDbJJ7.js} +1 -1
- package/dist/{web-D99WHLTL.js → web-DBFW0ejP.js} +6 -6
- package/package.json +1 -1
- package/dist/plugin-sdk/web-DdTTil50.js +0 -65
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { h as pathExists, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-05js8eGB.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -103,16 +103,16 @@ import "./control-service-Bz7rxLWq.js";
|
|
|
103
103
|
import "./stagger-BUClb97_.js";
|
|
104
104
|
import "./channel-selection-DuWs0Aak.js";
|
|
105
105
|
import "./runtime-guard-B37eizu-.js";
|
|
106
|
-
import "./program-context-
|
|
106
|
+
import "./program-context-CY1jWc5A.js";
|
|
107
107
|
import "./note-DeHoW7xO.js";
|
|
108
|
-
import { r as installCompletion } from "./completion-cli-
|
|
108
|
+
import { r as installCompletion } from "./completion-cli-CCeQlMlC.js";
|
|
109
109
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-2mwX-jqj.js";
|
|
110
110
|
import { r as isSystemdUserServiceAvailable } from "./systemd-riq8uNJQ.js";
|
|
111
111
|
import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
|
|
112
|
-
import { r as healthCommand } from "./health-
|
|
112
|
+
import { r as healthCommand } from "./health-CDGOsNeD.js";
|
|
113
113
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
|
|
114
114
|
import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
|
|
115
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
115
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CLeX1kaN.js";
|
|
116
116
|
import { t as runTui } from "./tui-CriznorL.js";
|
|
117
117
|
import os from "node:os";
|
|
118
118
|
import path from "node:path";
|
|
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
|
|
|
14
14
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
15
15
|
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-D-hWrHoH.js";
|
|
16
16
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-C1IYd3g7.js";
|
|
17
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
17
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C-37cZUe.js";
|
|
18
18
|
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-D0xmLpej.js";
|
|
19
19
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
|
|
20
20
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
|
|
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
|
|
|
22
22
|
import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
|
|
23
23
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
|
|
24
24
|
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
|
|
25
|
-
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
25
|
+
import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B8kqLWns.js";
|
|
26
26
|
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BmV60pPT.js";
|
|
27
27
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
|
|
28
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
28
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
|
|
29
29
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
|
|
30
30
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
|
|
31
31
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
|
|
|
36
36
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
|
|
38
38
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
|
|
39
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
39
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DcpMiprB.js";
|
|
40
40
|
import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-jpn5vRTY.js";
|
|
41
41
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
|
|
42
42
|
import { n as retryAsync } from "./retry-QGp0jvVi.js";
|
|
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
|
|
|
49
49
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-C_aYUwpl.js";
|
|
50
50
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DklY7Cj7.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
|
|
52
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
52
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BcQ0sF9T.js";
|
|
53
53
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
|
|
54
54
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
|
|
55
55
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
|
|
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
79
79
|
import AjvPkg from "ajv";
|
|
80
80
|
import { createServer } from "node:http";
|
|
81
81
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
82
|
-
import WebSocket
|
|
82
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
83
83
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
84
84
|
import { createJiti } from "jiti";
|
|
85
85
|
import { Type } from "@sinclair/typebox";
|
|
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
|
|
|
5714
5714
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5715
5715
|
});
|
|
5716
5716
|
}
|
|
5717
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
5717
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
5718
5718
|
this.ws.on("open", () => {
|
|
5719
5719
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5720
5720
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
|
|
|
5933
5933
|
return null;
|
|
5934
5934
|
}
|
|
5935
5935
|
async request(method, params, opts) {
|
|
5936
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
5936
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
5937
5937
|
const id = randomUUID();
|
|
5938
5938
|
const frame = {
|
|
5939
5939
|
type: "req",
|
|
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
|
|
|
7199
7199
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7200
7200
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7201
7201
|
try {
|
|
7202
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7202
|
+
const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
|
|
7203
7203
|
return {
|
|
7204
7204
|
ok: true,
|
|
7205
7205
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -39057,7 +39057,8 @@ const BUILTIN_PROFILES = [
|
|
|
39057
39057
|
"<end_of_turn>"
|
|
39058
39058
|
],
|
|
39059
39059
|
suppressMonologue: true,
|
|
39060
|
-
hasStructuredThinking: false
|
|
39060
|
+
hasStructuredThinking: false,
|
|
39061
|
+
validateToolArgs: true
|
|
39061
39062
|
},
|
|
39062
39063
|
promptAdditions: [
|
|
39063
39064
|
"CRITICAL OUTPUT RULES:",
|
|
@@ -39067,7 +39068,8 @@ const BUILTIN_PROFILES = [
|
|
|
39067
39068
|
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
39068
39069
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
39069
39070
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
39070
|
-
"- Send brief progress updates on long tasks so the user knows you are active."
|
|
39071
|
+
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
39072
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
39071
39073
|
],
|
|
39072
39074
|
ui: {
|
|
39073
39075
|
badge: "Local",
|
|
@@ -39091,7 +39093,8 @@ const BUILTIN_PROFILES = [
|
|
|
39091
39093
|
filters: {
|
|
39092
39094
|
stripPatterns: [],
|
|
39093
39095
|
suppressMonologue: false,
|
|
39094
|
-
hasStructuredThinking: true
|
|
39096
|
+
hasStructuredThinking: true,
|
|
39097
|
+
validateToolArgs: false
|
|
39095
39098
|
},
|
|
39096
39099
|
promptAdditions: [],
|
|
39097
39100
|
ui: {
|
|
@@ -39125,7 +39128,8 @@ const BUILTIN_PROFILES = [
|
|
|
39125
39128
|
"^\\s*<bos>\\s*"
|
|
39126
39129
|
],
|
|
39127
39130
|
suppressMonologue: true,
|
|
39128
|
-
hasStructuredThinking: false
|
|
39131
|
+
hasStructuredThinking: false,
|
|
39132
|
+
validateToolArgs: true
|
|
39129
39133
|
},
|
|
39130
39134
|
promptAdditions: [
|
|
39131
39135
|
"CRITICAL OUTPUT RULES:",
|
|
@@ -39136,7 +39140,8 @@ const BUILTIN_PROFILES = [
|
|
|
39136
39140
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
39137
39141
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
39138
39142
|
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
39139
|
-
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
|
|
39143
|
+
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
39144
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
39140
39145
|
],
|
|
39141
39146
|
ui: {
|
|
39142
39147
|
badge: "CoreWeave",
|
|
@@ -39164,7 +39169,8 @@ const FALLBACK_PROFILE = {
|
|
|
39164
39169
|
filters: {
|
|
39165
39170
|
stripPatterns: [],
|
|
39166
39171
|
suppressMonologue: false,
|
|
39167
|
-
hasStructuredThinking: false
|
|
39172
|
+
hasStructuredThinking: false,
|
|
39173
|
+
validateToolArgs: false
|
|
39168
39174
|
},
|
|
39169
39175
|
promptAdditions: [],
|
|
39170
39176
|
ui: {
|
|
@@ -39591,6 +39597,19 @@ function stripModelTokensAggressive(text, modelId) {
|
|
|
39591
39597
|
}
|
|
39592
39598
|
return result;
|
|
39593
39599
|
}
|
|
39600
|
+
/**
|
|
39601
|
+
* Clean residual fragments left after aggressive token stripping.
|
|
39602
|
+
* After `<|` and `|>` are removed, orphaned `<`, `"`, `|` can remain
|
|
39603
|
+
* at string boundaries (e.g., `<<|"|uname -a` → `<"uname -a`).
|
|
39604
|
+
*
|
|
39605
|
+
* Conservative: only trims leading junk before what looks like a command,
|
|
39606
|
+
* and trailing junk. Does NOT touch content in the middle of the string.
|
|
39607
|
+
* Preserves heredoc syntax (`<<EOF`, `<<"EOF"`) via negative lookahead.
|
|
39608
|
+
*/
|
|
39609
|
+
function cleanResidualTokenFragments(text) {
|
|
39610
|
+
if (!text) return text;
|
|
39611
|
+
return text.replace(/^[<"|]+(?!<[A-Z_])(?=[a-zA-Z0-9/~$.(])/gm, "").replace(/[<"|]+$/gm, "").trim();
|
|
39612
|
+
}
|
|
39594
39613
|
|
|
39595
39614
|
//#endregion
|
|
39596
39615
|
//#region src/agents/output-normalizer.ts
|
|
@@ -39676,10 +39695,14 @@ function detectRepetition(text, minBlock) {
|
|
|
39676
39695
|
const searchStart = sampleStart + minBlock;
|
|
39677
39696
|
return text.indexOf(sample, searchStart) >= 0;
|
|
39678
39697
|
}
|
|
39698
|
+
function sanitizeStringValue(value, modelId) {
|
|
39699
|
+
const stripped = stripModelTokensAggressive(value, modelId);
|
|
39700
|
+
return isGemmaModel$1(modelId) ? cleanResidualTokenFragments(stripped) : stripped;
|
|
39701
|
+
}
|
|
39679
39702
|
function sanitizeArgs(args, modelId) {
|
|
39680
39703
|
const result = {};
|
|
39681
|
-
for (const [key, value] of Object.entries(args)) if (typeof value === "string") result[key] =
|
|
39682
|
-
else if (Array.isArray(value)) result[key] = value.map((item) => typeof item === "string" ?
|
|
39704
|
+
for (const [key, value] of Object.entries(args)) if (typeof value === "string") result[key] = sanitizeStringValue(value, modelId);
|
|
39705
|
+
else if (Array.isArray(value)) result[key] = value.map((item) => typeof item === "string" ? sanitizeStringValue(item, modelId) : item && typeof item === "object" ? sanitizeArgs(item, modelId) : item);
|
|
39683
39706
|
else if (value && typeof value === "object") result[key] = sanitizeArgs(value, modelId);
|
|
39684
39707
|
else result[key] = value;
|
|
39685
39708
|
return result;
|
|
@@ -41973,7 +41996,7 @@ async function recordLoopOutcome(args) {
|
|
|
41973
41996
|
if (!args.ctx?.sessionKey) return;
|
|
41974
41997
|
try {
|
|
41975
41998
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C1vRJs5w.js").then((n) => n.n);
|
|
41976
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
41999
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-C7TCF2V2.js");
|
|
41977
42000
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
41978
42001
|
sessionKey: args.ctx.sessionKey,
|
|
41979
42002
|
sessionId: args.ctx?.agentId
|
|
@@ -41995,7 +42018,7 @@ async function runBeforeToolCallHook(args) {
|
|
|
41995
42018
|
if (args.ctx?.sessionKey) {
|
|
41996
42019
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C1vRJs5w.js").then((n) => n.n);
|
|
41997
42020
|
const { logToolLoopAction } = await import("./diagnostic-D0xmLpej.js").then((n) => n.n);
|
|
41998
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
42021
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-C7TCF2V2.js");
|
|
41999
42022
|
const sessionState = getDiagnosticSessionState({
|
|
42000
42023
|
sessionKey: args.ctx.sessionKey,
|
|
42001
42024
|
sessionId: args.ctx?.agentId
|
|
@@ -42266,6 +42289,135 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
|
|
|
42266
42289
|
});
|
|
42267
42290
|
}
|
|
42268
42291
|
|
|
42292
|
+
//#endregion
|
|
42293
|
+
//#region src/agents/pi-tools.validate.ts
|
|
42294
|
+
/**
|
|
42295
|
+
* Tool argument validation — validates that exec/bash commands contain
|
|
42296
|
+
* valid shell syntax after model token sanitization.
|
|
42297
|
+
*
|
|
42298
|
+
* Gated on ModelProfile.filters.validateToolArgs — only active for
|
|
42299
|
+
* models known to leak control tokens into structured output (Gemma, Ollama).
|
|
42300
|
+
*
|
|
42301
|
+
* @module
|
|
42302
|
+
*/
|
|
42303
|
+
/**
|
|
42304
|
+
* Validate that a command string contains extractable valid shell syntax.
|
|
42305
|
+
* Returns the cleaned command if valid, or an error reason if not.
|
|
42306
|
+
*
|
|
42307
|
+
* Does NOT attempt to parse the full shell grammar — just checks for
|
|
42308
|
+
* obvious corruption (residual control tokens, empty commands).
|
|
42309
|
+
* Preserves heredocs, redirects, pipes, and other legitimate shell syntax.
|
|
42310
|
+
*/
|
|
42311
|
+
function validateShellCommand(command) {
|
|
42312
|
+
if (!command || !command.trim()) return {
|
|
42313
|
+
valid: false,
|
|
42314
|
+
cleaned: "",
|
|
42315
|
+
reason: "empty command"
|
|
42316
|
+
};
|
|
42317
|
+
let cleaned = cleanResidualTokenFragments(command);
|
|
42318
|
+
if (/(?:^|[^<])<\|/.test(cleaned) || /\|>/.test(cleaned)) {
|
|
42319
|
+
cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
|
|
42320
|
+
cleaned = cleanResidualTokenFragments(cleaned);
|
|
42321
|
+
}
|
|
42322
|
+
if (!cleaned || !cleaned.trim()) return {
|
|
42323
|
+
valid: false,
|
|
42324
|
+
cleaned: "",
|
|
42325
|
+
reason: "command is empty after removing control tokens"
|
|
42326
|
+
};
|
|
42327
|
+
if (!/[a-zA-Z0-9_/.~-]/.test(cleaned)) return {
|
|
42328
|
+
valid: false,
|
|
42329
|
+
cleaned,
|
|
42330
|
+
reason: "no recognizable shell command found"
|
|
42331
|
+
};
|
|
42332
|
+
return {
|
|
42333
|
+
valid: true,
|
|
42334
|
+
cleaned: cleaned.trim()
|
|
42335
|
+
};
|
|
42336
|
+
}
|
|
42337
|
+
|
|
42338
|
+
//#endregion
|
|
42339
|
+
//#region src/agents/pi-tools.validate-wrapper.ts
|
|
42340
|
+
const EXEC_TOOL_NAMES = new Set(["exec", "bash"]);
|
|
42341
|
+
const FILE_TOOL_NAMES = new Set([
|
|
42342
|
+
"write",
|
|
42343
|
+
"read",
|
|
42344
|
+
"edit",
|
|
42345
|
+
"patch",
|
|
42346
|
+
"file_write",
|
|
42347
|
+
"file_edit",
|
|
42348
|
+
"write_file",
|
|
42349
|
+
"edit_file",
|
|
42350
|
+
"create_file"
|
|
42351
|
+
]);
|
|
42352
|
+
const FILE_PATH_KEYS = [
|
|
42353
|
+
"file_path",
|
|
42354
|
+
"path",
|
|
42355
|
+
"filePath"
|
|
42356
|
+
];
|
|
42357
|
+
/**
|
|
42358
|
+
* Wrap tools with argument validation. Exec/bash commands and file paths
|
|
42359
|
+
* are validated. Other tools pass through unchanged.
|
|
42360
|
+
*
|
|
42361
|
+
* Call this AFTER tools are created and the model profile is resolved.
|
|
42362
|
+
*/
|
|
42363
|
+
function wrapToolsWithArgValidation(tools, profile) {
|
|
42364
|
+
if (!profile.filters?.validateToolArgs) return tools;
|
|
42365
|
+
return tools.map((tool) => wrapToolWithArgValidation(tool));
|
|
42366
|
+
}
|
|
42367
|
+
/**
|
|
42368
|
+
* Clean a file path by stripping control token fragments.
|
|
42369
|
+
* Returns null if the path is irreparably corrupted (empty after cleanup).
|
|
42370
|
+
*/
|
|
42371
|
+
function cleanFilePath(filePath) {
|
|
42372
|
+
let cleaned = filePath.replace(/<\|[^|>]*(?:\|>)?/g, "");
|
|
42373
|
+
cleaned = cleanResidualTokenFragments(cleaned);
|
|
42374
|
+
cleaned = cleaned.trim();
|
|
42375
|
+
if (!cleaned || !/[a-zA-Z0-9/._~-]/.test(cleaned)) return {
|
|
42376
|
+
valid: false,
|
|
42377
|
+
cleaned
|
|
42378
|
+
};
|
|
42379
|
+
return {
|
|
42380
|
+
valid: true,
|
|
42381
|
+
cleaned
|
|
42382
|
+
};
|
|
42383
|
+
}
|
|
42384
|
+
/**
|
|
42385
|
+
* Wrap a single tool with argument validation.
|
|
42386
|
+
*/
|
|
42387
|
+
function wrapToolWithArgValidation(tool) {
|
|
42388
|
+
const toolName = (tool.name ?? "").toLowerCase().trim();
|
|
42389
|
+
const isExecTool = EXEC_TOOL_NAMES.has(toolName);
|
|
42390
|
+
const isFileTool = FILE_TOOL_NAMES.has(toolName);
|
|
42391
|
+
if (!isExecTool && !isFileTool) return tool;
|
|
42392
|
+
const originalExecute = tool.execute;
|
|
42393
|
+
return {
|
|
42394
|
+
...tool,
|
|
42395
|
+
execute(toolCallId, params, ...rest) {
|
|
42396
|
+
if (isExecTool) {
|
|
42397
|
+
const command = params.command ?? params.cmd;
|
|
42398
|
+
if (typeof command !== "string") return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
42399
|
+
const result = validateShellCommand(command);
|
|
42400
|
+
if (!result.valid) return Promise.resolve({ output: `Error: ${result.reason}. The command appears to contain model control tokens. Please provide a clean shell command without any <|, |>, or XML-like tags. Only valid shell syntax is accepted.` });
|
|
42401
|
+
if (result.cleaned !== command) return originalExecute.call(tool, toolCallId, {
|
|
42402
|
+
...params,
|
|
42403
|
+
command: result.cleaned
|
|
42404
|
+
}, ...rest);
|
|
42405
|
+
return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
42406
|
+
}
|
|
42407
|
+
const pathKey = FILE_PATH_KEYS.find((k) => typeof params[k] === "string");
|
|
42408
|
+
if (!pathKey) return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
42409
|
+
const rawPath = params[pathKey];
|
|
42410
|
+
if (!rawPath.includes("<|") && !rawPath.includes("|>") && !/^[<"|]/.test(rawPath)) return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
42411
|
+
const pathResult = cleanFilePath(rawPath);
|
|
42412
|
+
if (!pathResult.valid) return Promise.resolve({ output: `Error: file path "${rawPath}" contains model control tokens and could not be cleaned. Please provide a clean file path without any <|, |>, or XML-like tags.` });
|
|
42413
|
+
return originalExecute.call(tool, toolCallId, {
|
|
42414
|
+
...params,
|
|
42415
|
+
[pathKey]: pathResult.cleaned
|
|
42416
|
+
}, ...rest);
|
|
42417
|
+
}
|
|
42418
|
+
};
|
|
42419
|
+
}
|
|
42420
|
+
|
|
42269
42421
|
//#endregion
|
|
42270
42422
|
//#region src/agents/plan-mode.ts
|
|
42271
42423
|
/**
|
|
@@ -46215,10 +46367,11 @@ async function runEmbeddedAttempt(params) {
|
|
|
46215
46367
|
await resourceLoader.reload();
|
|
46216
46368
|
}
|
|
46217
46369
|
const hookRunner = getGlobalHookRunner();
|
|
46218
|
-
const { builtInTools, customTools } = splitSdkTools({
|
|
46370
|
+
const { builtInTools: rawBuiltInTools, customTools } = splitSdkTools({
|
|
46219
46371
|
tools,
|
|
46220
46372
|
sandboxEnabled: !!sandbox?.enabled
|
|
46221
46373
|
});
|
|
46374
|
+
const builtInTools = wrapToolsWithArgValidation(rawBuiltInTools, modelProfile);
|
|
46222
46375
|
let clientToolCallDetected = null;
|
|
46223
46376
|
const clientToolLoopDetection = resolveToolLoopDetectionConfig({
|
|
46224
46377
|
cfg: params.config,
|
|
@@ -46427,6 +46580,10 @@ async function runEmbeddedAttempt(params) {
|
|
|
46427
46580
|
});
|
|
46428
46581
|
};
|
|
46429
46582
|
const streamMonitor = createStreamMonitor(modelProfile);
|
|
46583
|
+
const TOOL_ERROR_ABORT_THRESHOLD = 5;
|
|
46584
|
+
const TOOL_ERROR_WARN_THRESHOLD = 3;
|
|
46585
|
+
let consecutiveToolErrors = 0;
|
|
46586
|
+
let lastErrorToolName = "";
|
|
46430
46587
|
const subscription = subscribeEmbeddedPiSession({
|
|
46431
46588
|
session: activeSession,
|
|
46432
46589
|
runId: params.runId,
|
|
@@ -46448,6 +46605,25 @@ async function runEmbeddedAttempt(params) {
|
|
|
46448
46605
|
onAgentEvent: (evt) => {
|
|
46449
46606
|
armSymipulseTimer();
|
|
46450
46607
|
params.onAgentEvent?.(evt);
|
|
46608
|
+
if (evt.stream === "tool" && !aborted) {
|
|
46609
|
+
const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
|
|
46610
|
+
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
|
|
46611
|
+
const isError = evt.data?.isError === true;
|
|
46612
|
+
if (phase === "result" && toolName) {
|
|
46613
|
+
if (isError && toolName === lastErrorToolName) consecutiveToolErrors++;
|
|
46614
|
+
else if (isError) {
|
|
46615
|
+
consecutiveToolErrors = 1;
|
|
46616
|
+
lastErrorToolName = toolName;
|
|
46617
|
+
} else {
|
|
46618
|
+
consecutiveToolErrors = 0;
|
|
46619
|
+
lastErrorToolName = "";
|
|
46620
|
+
}
|
|
46621
|
+
if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
|
|
46622
|
+
log$4.error(`Agent-loop circuit breaker: ${toolName} failed ${consecutiveToolErrors} consecutive times. Aborting run ${params.runId}.`);
|
|
46623
|
+
abortRun(false, /* @__PURE__ */ new Error(`Tool ${toolName} failed ${consecutiveToolErrors} consecutive times. The model may be generating corrupted tool arguments. Run aborted to prevent infinite loop.`));
|
|
46624
|
+
} else if (consecutiveToolErrors === TOOL_ERROR_WARN_THRESHOLD) log$4.warn(`Agent-loop tool error warning: ${toolName} failed ${consecutiveToolErrors} times consecutively. runId=${params.runId}`);
|
|
46625
|
+
}
|
|
46626
|
+
}
|
|
46451
46627
|
if (evt.stream === "assistant" && typeof evt.data?.text === "string" && !aborted) {
|
|
46452
46628
|
streamMonitor.onChunk(evt.data.text);
|
|
46453
46629
|
if (streamMonitor.shouldStop()) log$4.debug(`stream monitor detection (log-only, no abort): runId=${params.runId} reason=${streamMonitor.getStopReason()}`);
|
|
@@ -50521,7 +50697,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
50521
50697
|
return;
|
|
50522
50698
|
}
|
|
50523
50699
|
try {
|
|
50524
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
50700
|
+
const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
|
|
50525
50701
|
await deliverOutboundPayloads({
|
|
50526
50702
|
cfg: params.cfg,
|
|
50527
50703
|
channel,
|
|
@@ -53967,7 +54143,7 @@ async function describeStickerImage(params) {
|
|
|
53967
54143
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
53968
54144
|
try {
|
|
53969
54145
|
const buffer = await fs$1.readFile(imagePath);
|
|
53970
|
-
const { describeImageWithModel } = await import("./image-
|
|
54146
|
+
const { describeImageWithModel } = await import("./image-DcpMiprB.js").then((n) => n.n);
|
|
53971
54147
|
return (await describeImageWithModel({
|
|
53972
54148
|
buffer,
|
|
53973
54149
|
fileName: "sticker.webp",
|
|
@@ -56629,7 +56805,7 @@ async function preflightDiscordMessage(params) {
|
|
|
56629
56805
|
let preflightTranscript;
|
|
56630
56806
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
56631
56807
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
56632
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
56808
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
|
|
56633
56809
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
56634
56810
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
56635
56811
|
ctx: {
|
|
@@ -60412,7 +60588,7 @@ function isVoiceChannelType(type) {
|
|
|
60412
60588
|
function createDefaultDeps() {
|
|
60413
60589
|
return {
|
|
60414
60590
|
sendMessageWhatsApp: async (...args) => {
|
|
60415
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60591
|
+
const { sendMessageWhatsApp } = await import("./web-DBFW0ejP.js");
|
|
60416
60592
|
return await sendMessageWhatsApp(...args);
|
|
60417
60593
|
},
|
|
60418
60594
|
sendMessageTelegram: async (...args) => {
|
|
@@ -63317,7 +63493,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
63317
63493
|
super(options);
|
|
63318
63494
|
}
|
|
63319
63495
|
createWebSocket(url) {
|
|
63320
|
-
return new WebSocket
|
|
63496
|
+
return new WebSocket(url, { agent });
|
|
63321
63497
|
}
|
|
63322
63498
|
}
|
|
63323
63499
|
return new ProxyGatewayPlugin();
|
|
@@ -73535,7 +73711,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
73535
73711
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
73536
73712
|
let preflightTranscript;
|
|
73537
73713
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
73538
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
73714
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
|
|
73539
73715
|
preflightTranscript = await transcribeFirstAudio({
|
|
73540
73716
|
ctx: {
|
|
73541
73717
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -75692,7 +75868,7 @@ function loadWebLoginQr() {
|
|
|
75692
75868
|
return webLoginQrPromise;
|
|
75693
75869
|
}
|
|
75694
75870
|
function loadWebChannel() {
|
|
75695
|
-
webChannelPromise ??= import("./web-
|
|
75871
|
+
webChannelPromise ??= import("./web-DBFW0ejP.js");
|
|
75696
75872
|
return webChannelPromise;
|
|
75697
75873
|
}
|
|
75698
75874
|
function loadWhatsAppActions() {
|
|
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
|
10
10
|
import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
|
|
11
11
|
import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
|
|
12
12
|
import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BmV60pPT.js";
|
|
13
|
-
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
13
|
+
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
|
|
14
14
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
|
|
15
15
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
|
|
16
16
|
import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
|
|
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
|
|
|
931
931
|
}
|
|
932
932
|
async function loadPwAiModule(mode) {
|
|
933
933
|
try {
|
|
934
|
-
return await import("./pw-ai-
|
|
934
|
+
return await import("./pw-ai-1htA-NnS.js");
|
|
935
935
|
} catch (err) {
|
|
936
936
|
if (mode === "soft") return null;
|
|
937
937
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
|
|
|
3471
3471
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
3472
3472
|
const profileState = getProfileState();
|
|
3473
3473
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3474
|
-
await (await import("./pw-ai-
|
|
3474
|
+
await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
|
|
3475
3475
|
} catch {}
|
|
3476
3476
|
if (profileState.running) await stopRunningBrowser();
|
|
3477
3477
|
try {
|
|
3478
|
-
await (await import("./pw-ai-
|
|
3478
|
+
await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
|
|
3479
3479
|
} catch {}
|
|
3480
3480
|
if (!fs.existsSync(userDataDir)) return {
|
|
3481
3481
|
moved: false,
|
|
@@ -9,7 +9,7 @@ import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-D
|
|
|
9
9
|
import { n as formatCliCommand } from "./env-BDXYbTKj.js";
|
|
10
10
|
import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
11
11
|
import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-5SdHIcHU.js";
|
|
12
|
-
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
12
|
+
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DkaXoP36.js";
|
|
13
13
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Bs0AW1g3.js";
|
|
14
14
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-XIsvXeC-.js";
|
|
15
15
|
import { b as openFileWithinRoot, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
|
|
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
|
|
|
933
933
|
}
|
|
934
934
|
async function loadPwAiModule(mode) {
|
|
935
935
|
try {
|
|
936
|
-
return await import("./pw-ai-
|
|
936
|
+
return await import("./pw-ai-m0mj2KWK.js");
|
|
937
937
|
} catch (err) {
|
|
938
938
|
if (mode === "soft") return null;
|
|
939
939
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
|
|
|
3473
3473
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
3474
3474
|
const profileState = getProfileState();
|
|
3475
3475
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3476
|
-
await (await import("./pw-ai-
|
|
3476
|
+
await (await import("./pw-ai-m0mj2KWK.js")).closePlaywrightBrowserConnection();
|
|
3477
3477
|
} catch {}
|
|
3478
3478
|
if (profileState.running) await stopRunningBrowser();
|
|
3479
3479
|
try {
|
|
3480
|
-
await (await import("./pw-ai-
|
|
3480
|
+
await (await import("./pw-ai-m0mj2KWK.js")).closePlaywrightBrowserConnection();
|
|
3481
3481
|
} catch {}
|
|
3482
3482
|
if (!fs.existsSync(userDataDir)) return {
|
|
3483
3483
|
moved: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { ft as loadSymiPlugins } from "./reply-
|
|
2
|
+
import { ft as loadSymiPlugins } from "./reply-05js8eGB.js";
|
|
3
3
|
import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
4
4
|
import { i as loadConfig } from "./config-DHBLS1Hl.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-lbDgDwLy.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
|
|
2
|
-
import { _ as createAccountListHelpers } from "./accounts-
|
|
2
|
+
import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
|
|
3
3
|
|
|
4
4
|
//#region src/signal/accounts.ts
|
|
5
5
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { a as resolveOAuthDir } from "./paths-DR2yt_mP.js";
|
|
3
|
-
import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry
|
|
4
|
-
import { i as defaultRuntime } from "./subsystem-
|
|
5
|
-
import { t as formatCliCommand } from "./command-format-
|
|
3
|
+
import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry--_pGht6S.js";
|
|
4
|
+
import { i as defaultRuntime } from "./subsystem-Coz2AgU8.js";
|
|
5
|
+
import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs$1 from "node:fs/promises";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
|
|
2
|
-
import { _ as createAccountListHelpers } from "./accounts-
|
|
2
|
+
import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
|
|
3
3
|
|
|
4
4
|
//#region src/imessage/accounts.ts
|
|
5
5
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID } from "./session-key-C_0eELjb.js";
|
|
2
|
-
import { t as formatCliCommand } from "./command-format-
|
|
2
|
+
import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
|
|
3
3
|
|
|
4
4
|
//#region src/web/active-listener.ts
|
|
5
5
|
const listeners = /* @__PURE__ */ new Map();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as isCronSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
|
|
3
|
-
import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry
|
|
4
|
-
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-
|
|
3
|
+
import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry--_pGht6S.js";
|
|
4
|
+
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import os from "node:os";
|