@symerian/symi 2.8.13 → 2.8.14
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-BuZxOb3B.js → accounts-Bsg6r6H7.js} +1 -1
- package/dist/{accounts-BRw8yhIW.js → accounts-BsgY6sda.js} +21 -21
- package/dist/{accounts-3dCrO3oZ.js → accounts-wWWkC0JH.js} +1 -1
- package/dist/{active-listener-BVZOh2T1.js → active-listener-AVNn5_U9.js} +1 -1
- package/dist/{agent-scope-CpEJ0B88.js → agent-scope-Cpm7a9ss.js} +3 -3
- package/dist/{agents-CgCg4syn.js → agents-DlAvDWxz.js} +4 -4
- package/dist/{agents.config-BnPC7uct.js → agents.config-BKKMbeeE.js} +1 -1
- package/dist/{agents.config-DqWxpgkX.js → agents.config-Dd-11klq.js} +1 -1
- package/dist/{audio-preflight-NdNUAZ0y.js → audio-preflight-C6vpFnOG.js} +4 -4
- package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-rrz8KyHd.js} +29 -29
- package/dist/{audit-Bi9Je9FZ.js → audit-BhCJV2l6.js} +1 -1
- package/dist/{audit-Oa5dsn5p.js → audit-CB97BqHJ.js} +1 -1
- package/dist/{auth-choice-BKwypsnS.js → auth-choice-C6woT6k2.js} +1 -1
- package/dist/{auth-choice-BIlBt2d0.js → auth-choice-CRQRPwQt.js} +1 -1
- package/dist/{auth-profiles-C2vj6htZ.js → auth-profiles-BzB_Exeq.js} +17 -17
- package/dist/{banner-CX5CuLWQ.js → banner-DrNha2_N.js} +1 -1
- package/dist/{bindings-BsHoBLIE.js → bindings-xcRox9xM.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +54 -54
- 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 +54 -54
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-D8QD7GoV.js → channel-activity-CzHaIUAp.js} +1 -1
- package/dist/{channel-options-mUKQVJQl.js → channel-options-D8q9En4T.js} +1 -1
- package/dist/{channel-options-7y9EuPLO.js → channel-options-DYy2sCfN.js} +1 -1
- package/dist/{channel-web-Dldh4zVI.js → channel-web-CRBU4eZk.js} +1 -1
- package/dist/{channels-cli-Dz9vV1KL.js → channels-cli-BUk43hHR.js} +7 -7
- package/dist/{channels-cli-Q6Q8LokG.js → channels-cli-Dk3kUw9A.js} +7 -7
- package/dist/{chrome-ROtrXlNs.js → chrome-B14NNyfm.js} +5 -5
- package/dist/{chrome-BUT--ob3.js → chrome-DwXnykXR.js} +23 -23
- package/dist/{chunk-BRe1o4Af.js → chunk-BcxcL1U3.js} +1 -1
- package/dist/{cli-DMsLCQbO.js → cli-5gWsnsB7.js} +4 -4
- package/dist/{cli-D4WYEtu4.js → cli-DjZzJy3t.js} +4 -4
- package/dist/{command-registry-cEqGIx4b.js → command-registry-LjFltTU9.js} +10 -10
- package/dist/{commands-registry-DxbSTLNQ.js → commands-registry-ByGkL6hs.js} +4 -4
- package/dist/{completion-cli-Bw0jbNaG.js → completion-cli-BVTGy8th.js} +1 -1
- package/dist/{completion-cli-C5GCKfKT.js → completion-cli-Cf6fYZWL.js} +2 -2
- package/dist/{config-BkZ9HOKT.js → config-C4WnAd-c.js} +17 -17
- package/dist/{config-cli-DP0hP7WR.js → config-cli-C7DIbGxx.js} +1 -1
- package/dist/{config-cli-DgHooQ4_.js → config-cli-EgWrCemi.js} +1 -1
- package/dist/{configure-OUiXvgMg.js → configure-B67uIawm.js} +3 -3
- package/dist/{configure-BQUkaPdS.js → configure-Bk-snuxh.js} +3 -3
- package/dist/{consolidate-07QMweFF.js → consolidate-DRtVvG2U.js} +4 -4
- package/dist/{deliver-B_Q_nWJV.js → deliver-D0bWiRCg.js} +1 -1
- package/dist/{deliver-B0OUq6RP.js → deliver-SLYAWE19.js} +20 -20
- package/dist/{diagnostic-BUcR3Meg.js → diagnostic-DTkZsRNM.js} +1 -1
- package/dist/{doctor-completion-DlKvncR9.js → doctor-completion-By066O3p.js} +1 -1
- package/dist/{doctor-completion-BSMAyCq_.js → doctor-completion-lE_33xaY.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-BDXYbTKj.js → env-CB65jmJQ.js} +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CT1M0pRK.js} +4 -4
- package/dist/{gateway-cli-BlRNLVfU.js → gateway-cli-C6uT2x34.js} +13 -13
- package/dist/{gateway-cli-NI7W2QxR.js → gateway-cli-DqEgqVKC.js} +13 -13
- package/dist/{gemini-auth-BefM10YB.js → gemini-auth-D80BsXr2.js} +1 -1
- package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
- package/dist/{glass-ui-ws-BBkFBsKB.js → glass-ui-ws-77TY57IO.js} +11 -11
- package/dist/{glass-ui-ws-DxrESDzy.js → glass-ui-ws-CLAUHeZR.js} +11 -11
- package/dist/{health-fOu0S75U.js → health-2jkjZxY8.js} +1 -1
- package/dist/{health-D4vU-wV-.js → health-CvMHgR-L.js} +1 -1
- package/dist/{hooks-cli-BdgnXYmw.js → hooks-cli-CRZySOiz.js} +5 -5
- package/dist/{hooks-cli-DdSggQYs.js → hooks-cli-DSaezFsD.js} +5 -5
- package/dist/{image-BuVL0jHI.js → image-BHF_fnIp.js} +4 -4
- package/dist/{image-tzIqIuKx.js → image-MNvheU8U.js} +1 -1
- package/dist/{plugin-sdk/image-ops-BlQR__MN.js → image-ops-CY7v6vvp.js} +17 -17
- package/dist/index.js +9 -9
- package/dist/{internal-DjnxpF_K.js → internal-FNqguZSK.js} +11 -11
- package/dist/{ir-7tMVY7D_.js → ir-D6MiJpAy.js} +4 -4
- package/dist/llm-slug-generator.js +54 -54
- package/dist/{local-roots-ClipCZ9s.js → local-roots-tcdaIEhh.js} +5 -5
- package/dist/{login-D4rZWBXe.js → login-D4ZkmSrY.js} +7 -7
- package/dist/{login-qr-DdAVHOEC.js → login-qr-C9ftIq3n.js} +12 -12
- package/dist/{manager-DRrGn88w.js → manager-BtWtmpxN.js} +1 -1
- package/dist/{manager-syNf_ZrI.js → manager-DDELj5o9.js} +1 -1
- package/dist/{manager-TOeH0D8K.js → manager-DrmlegR2.js} +1 -1
- package/dist/{manager-_RGWWymD.js → manager-DxCmjSfP.js} +24 -24
- package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-BvGv6lp9.js} +19 -19
- package/dist/{markdown-tables-x2Xe2UXh.js → markdown-tables-CE-qSMGB.js} +1 -1
- package/dist/{memory-cli-0jm-n36m.js → memory-cli-ENCASZJk.js} +3 -3
- package/dist/{memory-cli-BSOOwpt1.js → memory-cli-Qgbcxvuf.js} +3 -3
- package/dist/{plugin-sdk/message-channel-COTAJzHd.js → message-channel-lwVT8QjK.js} +1 -1
- package/dist/{models-sGeWQOmg.js → models-COhUz7M9.js} +2 -2
- package/dist/{models-cli-CtkoEyh3.js → models-cli-CCxYcF4R.js} +5 -5
- package/dist/{models-cli-DV-J1cm0.js → models-cli-CYvXBvmZ.js} +6 -6
- package/dist/{onboard-FeTHeA1y.js → onboard-CQNUYBIp.js} +2 -2
- package/dist/{onboard-channels-DpZkjldS.js → onboard-channels-9erx07qe.js} +1 -1
- package/dist/{onboard-channels-D8bDJYPc.js → onboard-channels-CWw8G-6n.js} +1 -1
- package/dist/{onboard-CWBYuaCm.js → onboard-fVpLVnwg.js} +2 -2
- package/dist/{onboarding-BsPnnH5g.js → onboarding-CtEiH9WG.js} +3 -3
- package/dist/{onboarding-c2qhwP0x.js → onboarding-D-OIkDwZ.js} +3 -3
- package/dist/{onboarding.finalize-7St3fmk2.js → onboarding.finalize-BY3HNjX4.js} +9 -9
- package/dist/{onboarding.finalize-id9EHg1P.js → onboarding.finalize-DTbpLV-T.js} +8 -8
- package/dist/{outbound-Zmd7UyQH.js → outbound-C6Gm22UF.js} +7 -7
- package/dist/{outbound-attachment-DeCnZT-8.js → outbound-attachment-BWyKV1Gy.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-RXOlh8ar.js → pi-auth-json-Bv1NzJdR.js} +1 -1
- package/dist/{pi-embedded-DCBB1_SC.js → pi-embedded-CdOdQw2i.js} +278 -23
- package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-DwQ9wJeT.js} +73 -73
- package/dist/{pi-embedded-helpers-DjSdA5BG.js → pi-embedded-helpers-TcYQOZAY.js} +4 -4
- package/dist/{pi-tools.policy-BZrM6a-w.js → pi-tools.policy-Bx5zp45n.js} +2 -0
- package/dist/{pi-tools.policy-QIVWAVVI.js → pi-tools.policy-o0ytjRqu.js} +2 -0
- package/dist/{plugin-registry-BJSfTT8c.js → plugin-registry-BrJ0-qlu.js} +1 -1
- package/dist/{plugin-registry-Cy1kfzAy.js → plugin-registry-Cuc8ORuR.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-DYjn3fML.js → active-listener-CJuvR4C2.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
- package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +7 -0
- package/dist/plugin-sdk/agents/tools/task-tool.d.ts +7 -0
- package/dist/plugin-sdk/{api-key-rotation-DGJZ8SVa.js → api-key-rotation-CBsLb_4V.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CiVw8470.js → audio-preflight-DucGa8w7.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-BSDjZSwm.js → channel-web-t8UOP6Zu.js} +22 -22
- package/dist/plugin-sdk/{chrome-CEqfiEs0.js → chrome-D9kN9org.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-BhW_oGNt.js → commands-registry-BuYpmEx-.js} +4 -4
- package/dist/plugin-sdk/{config-Ckum15iC.js → config-BzupW6LN.js} +9 -9
- package/dist/plugin-sdk/{consolidate-COuTEt4Z.js → consolidate-CafShdsH.js} +2 -2
- package/dist/plugin-sdk/{deliver-B8Y2t-RH.js → deliver-CKgFosI5.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-BR07buTm.js → diagnostic-_oc91gNi.js} +1 -1
- package/dist/plugin-sdk/{image-CCmNHDV0.js → image-DFyINnvE.js} +4 -4
- package/dist/{image-ops-C7CauEK8.js → plugin-sdk/image-ops-Bnp6LXEx.js} +2 -2
- package/dist/plugin-sdk/index.js +54 -54
- 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/{login-g_rQAcuM.js → login-K1YB_7-t.js} +7 -7
- package/dist/plugin-sdk/{login-qr-BOUmLSY3.js → login-qr-lMl_OqDj.js} +9 -9
- package/dist/plugin-sdk/{manager-B9GigLWj.js → manager-BPm5oefC.js} +9 -9
- package/dist/plugin-sdk/{manifest-registry-BRx4JDK0.js → manifest-registry-hy3Bn-r9.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
- package/dist/{message-channel-OlFBYAw8.js → plugin-sdk/message-channel-BdI5Ra9S.js} +1 -1
- package/dist/plugin-sdk/{model-selection-Bbs4XGPG.js → model-selection-CtVwtb6y.js} +4 -4
- package/dist/plugin-sdk/{outbound-BVhSNFy0.js → outbound-DW3cqlQW.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-B56R1Wi4.js → outbound-attachment-D7ME_Kib.js} +2 -2
- package/dist/plugin-sdk/{pi-auth-json-CB2bV0Jd.js → pi-auth-json-DiyK6bgV.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-dd3G9Hfi.js → pi-embedded-helpers-BL7ZRhGv.js} +17 -17
- package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-BXeOYCz_.js → pw-ai-B3T0mTHr.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-wIr8qz2n.js → qmd-manager-BlUikj9s.js} +4 -4
- package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
- package/dist/plugin-sdk/{replies-CQ4szNhV.js → replies-BR2TPTVW.js} +3 -3
- package/dist/plugin-sdk/{reply-DD8z_dUW.js → reply-BKAHTugL.js} +337 -82
- 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-CWfcnhza.js → resolve-route-CHQ7BTlU.js} +3 -3
- package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
- package/dist/plugin-sdk/{runner-BuxCHv_O.js → runner-BhifC1J_.js} +9 -9
- package/dist/plugin-sdk/{send-fNRDT21N.js → send-BP5pSPaZ.js} +6 -6
- package/dist/plugin-sdk/{send-BtO-7fHs.js → send-CGhw9mO3.js} +6 -6
- package/dist/plugin-sdk/{send-CKXzQuXo.js → send-DLO_yV5_.js} +10 -10
- package/dist/plugin-sdk/{send-Djq5IPRa.js → send-ZhAe1nXO.js} +10 -10
- package/dist/plugin-sdk/{send-XSuwT1PC.js → send-jsofmTfJ.js} +7 -7
- package/dist/plugin-sdk/{session-ARbcLHE9.js → session-BfyK_04G.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-yzJVuTIW.js → skill-commands-DEfqC_kJ.js} +5 -5
- package/dist/plugin-sdk/{skills-BfsaS1F9.js → skills-C9DbB-Kp.js} +7 -7
- package/dist/plugin-sdk/{sqlite-A3wGzttn.js → sqlite-CmVrFEYD.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/{synthesis-Dv5GwSky.js → synthesis-CVF7Fwhd.js} +49 -49
- package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
- package/dist/{target-errors-DeJTztcq.js → plugin-sdk/target-errors-B7YyMnIi.js} +2 -2
- package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
- package/dist/{tokens-W0JzCJJM.js → plugin-sdk/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-gmtzSlNZ.js → tool-loop-detection-DseOlBug.js} +2 -2
- package/dist/plugin-sdk/web-D0DsmFvw.js +66 -0
- package/dist/plugin-sdk/{whatsapp-actions-B_1l8JMU.js → whatsapp-actions-eTefsWhW.js} +21 -21
- package/dist/{plugins-cli-6UYkZBH0.js → plugins-cli-BDalhI46.js} +5 -5
- package/dist/{plugins-cli-DPetEhfv.js → plugins-cli-DFmriy-c.js} +5 -5
- package/dist/{plugins-BzmbgY7s.js → plugins-v8k1XVOy.js} +9 -9
- package/dist/{program-CVy9LVoS.js → program-DKh41c2a.js} +10 -10
- package/dist/{program-context-CBI6gIf-.js → program-context-Cq7pqOrw.js} +19 -19
- package/dist/{prompt-select-styled-BlXl_Qf7.js → prompt-select-styled-BFCAZLwK.js} +6 -6
- package/dist/{prompt-select-styled-Bv675D48.js → prompt-select-styled-DvvSE_ni.js} +6 -6
- package/dist/{provider-auth-helpers-RUQD5XAm.js → provider-auth-helpers-B-LkDxxi.js} +1 -1
- package/dist/{provider-auth-helpers-BB1lhCy5.js → provider-auth-helpers-DXppgV1l.js} +1 -1
- package/dist/{push-apns-Cr-a1KBt.js → push-apns-DCA47WA5.js} +1 -1
- package/dist/{push-apns-rPetW5cI.js → push-apns-DvudhEAb.js} +1 -1
- package/dist/{pw-ai-CQtaPvM8.js → pw-ai-40Jf9QIb.js} +1 -1
- package/dist/{pw-ai-DWkC5eGA.js → pw-ai-XGqnSWju.js} +11 -11
- package/dist/{qmd-manager-BXkbA8Y9.js → qmd-manager-CbRJhonG.js} +8 -8
- package/dist/{register.agent-DKDwNHQi.js → register.agent-_BV5KyFb.js} +9 -9
- package/dist/{register.agent-j6OlKEU-.js → register.agent-aFj_SMi3.js} +8 -8
- package/dist/{register.configure-CopgSygi.js → register.configure-CvOoD5gE.js} +9 -9
- package/dist/{register.configure-BgIXIq9d.js → register.configure-Dx0Uhmlz.js} +9 -9
- package/dist/{register.maintenance-DjaGkVtr.js → register.maintenance-BuZpoSik.js} +10 -10
- package/dist/{register.maintenance-BKsCM6NG.js → register.maintenance-CMeJR7DG.js} +11 -11
- package/dist/{register.message-C3oHvmdl.js → register.message-qysZPg3G.js} +5 -5
- package/dist/{register.message-bxhUcSyj.js → register.message-xxGePuRC.js} +5 -5
- package/dist/{register.onboard-DijWH8Vd.js → register.onboard-1MP2I0q4.js} +7 -7
- package/dist/{register.onboard-D0DHcb20.js → register.onboard-D4Aow7Gc.js} +7 -7
- package/dist/{register.setup-XlCTnTm_.js → register.setup-BT74aXzA.js} +7 -7
- package/dist/{register.setup-CrFzd94c.js → register.setup-DzliKkWh.js} +7 -7
- package/dist/{register.status-health-sessions-VwvDWUxZ.js → register.status-health-sessions-B3K2gZ72.js} +7 -7
- package/dist/{register.status-health-sessions-AWCg_uLf.js → register.status-health-sessions-D7VYZlrU.js} +7 -7
- package/dist/{register.subclis-Bw8k5Z5C.js → register.subclis-BCy0IDRv.js} +10 -10
- package/dist/{registry-DYq1AYOv.js → registry-X6fUE0K7.js} +19 -19
- package/dist/{replies-CUWXgyx2.js → replies-86F3PldM.js} +3 -3
- package/dist/{reply-D7_t00Jt.js → reply-Dg1ZU3DZ.js} +262 -9
- package/dist/{reply-prefix-CvEIl6_d.js → reply-prefix-CI_IdwqH.js} +1 -1
- package/dist/{resolve-route-Jy5dFY67.js → resolve-route-BgSuN9c6.js} +4 -4
- package/dist/{retry-B-y5suGA.js → retry-4oEAHckB.js} +1 -1
- package/dist/{run-main-7BEaNeDG.js → run-main-OS2aFAJ2.js} +18 -18
- package/dist/{runner-ecX1WzDt.js → runner-B5oNTtgf.js} +22 -22
- package/dist/{runner-Dpjulwnm.js → runner-DFuAePEr.js} +1 -1
- package/dist/{security-cli-BpnzAB5_.js → security-cli-BadXDWTh.js} +2 -2
- package/dist/{security-cli-D9WEiEjD.js → security-cli-D5y28-RH.js} +2 -2
- package/dist/{send-DFtnbzqy.js → send-ASDB3AzC.js} +7 -7
- package/dist/{send-Bb4it0te.js → send-BTfqlrYd.js} +18 -18
- package/dist/{send-C0QjmPaf.js → send-CSydU49L.js} +10 -10
- package/dist/{send-Cpk3Ti6-.js → send-Du-IfSne.js} +6 -6
- package/dist/{send-BKo1T3HF.js → send-cCTQjuOZ.js} +6 -6
- package/dist/{server-methods-CTeJHJSZ.js → server-methods-BszFAkbJ.js} +8 -8
- package/dist/{server-methods-FQ-PqiVC.js → server-methods-D_iKJ-sj.js} +8 -8
- package/dist/{server-node-events-BqvcHbuK.js → server-node-events-CENHuAVz.js} +5 -5
- package/dist/{server-node-events-Z7epDloV.js → server-node-events-uBu3XOjd.js} +5 -5
- package/dist/{session-BTeY6Gn2.js → session-D8qLj_xN.js} +8 -8
- package/dist/{skill-commands-DG2lcozb.js → skill-commands-BcOduw6G.js} +16 -16
- package/dist/{skills-CXxrn_e2.js → skills-BrYDT4Jr.js} +24 -24
- package/dist/{sqlite-BN_hIcmu.js → sqlite-P-gMg7fi.js} +3 -3
- package/dist/{status-CKROJwI2.js → status-BvbJavmh.js} +1 -1
- package/dist/{status-DLFbpd9v.js → status-CA0mUJld.js} +4 -4
- package/dist/{status-DMigoL7q.js → status-CBnCPUMG.js} +4 -4
- package/dist/{status-x7WCSVhG.js → status-DJAeKN4G.js} +1 -1
- package/dist/{store-01F_JM7O.js → store-Ceagbc4L.js} +6 -6
- package/dist/{subagent-registry-BvP8AGdE.js → subagent-registry-C1OyZl-M.js} +262 -9
- package/dist/{subsystem-BjyjJF-d.js → subsystem-CzXhCdeY.js} +1 -1
- package/dist/{synthesis-DgQz6kPf.js → synthesis-DNTyB7JY.js} +7 -7
- package/dist/{synthesis-E4flT91F.js → synthesis-DuqSkHEr.js} +54 -54
- package/dist/{synthesis-DDId6n26.js → synthesis-brHrnNF2.js} +4 -4
- package/dist/{synthesis-By7KPUAm.js → synthesis-z5B41p_r.js} +4 -4
- package/dist/{tables-DoG-pFrf.js → tables-qbCoZrYA.js} +1 -1
- package/dist/{plugin-sdk/target-errors-Paro1BjP.js → target-errors-uNitqCCT.js} +2 -2
- package/dist/{thinking-BprCy23Z.js → thinking-BV7SCNJP.js} +5 -5
- package/dist/{plugin-sdk/tokens-bC3UVmVH.js → tokens-Bl5R3wPD.js} +1 -1
- package/dist/{tool-images-SqqWIT22.js → tool-images-JxNglLSr.js} +2 -2
- package/dist/{tool-loop-detection-Dj9h1ogr.js → tool-loop-detection-dfE771kg.js} +3 -3
- package/dist/{unified-runner-DaSb-TsZ.js → unified-runner-Czg3pdBc.js} +488 -233
- package/dist/{update-cli-D0relAZw.js → update-cli-0lyGyl31.js} +11 -11
- package/dist/{update-cli-C5H6DkNM.js → update-cli-CIzkVfmj.js} +10 -10
- package/dist/{update-runner-D99V_zHX.js → update-runner-D7-LDziQ.js} +1 -1
- package/dist/{update-runner-B_yVOk8Z.js → update-runner-aYPcKYAN.js} +1 -1
- package/dist/{web-BBz1kF_9.js → web-B90A99YU.js} +58 -58
- package/dist/{web-Bdebat5l.js → web-BJ5dUZso.js} +5 -5
- package/dist/{web-BQh2S6oq.js → web-CN7wnU7w.js} +4 -4
- package/dist/{web-CiYoJfrl.js → web-Wk1ay1eQ.js} +7 -7
- package/dist/{whatsapp-actions-DmVpLXmh.js → whatsapp-actions-llk0IUn2.js} +23 -23
- package/dist/{workspace-DscDraUb.js → workspace-CywO4ayZ.js} +27 -27
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-CmKqZEsX.js +0 -66
|
@@ -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-BaBv1rAU.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-DLVrnezL.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-D0bWiRCg.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-Kbl70eCP.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-TcYQOZAY.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-BAVNLbja.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-DWdYdchb.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-B14NNyfm.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-XEbTRNYL.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,8 +36,8 @@ 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-
|
|
40
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
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-MNvheU8U.js";
|
|
40
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-BtWtmpxN.js";
|
|
41
41
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-479FB0St.js";
|
|
42
42
|
import { n as retryAsync } from "./retry-QGp0jvVi.js";
|
|
43
43
|
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Dm716SF3.js";
|
|
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-0kwEfxD4.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-ke7KirEH.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-CSF7Poen.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CgGv6nTy.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-DFuAePEr.js";
|
|
53
53
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-WLZaC77l.js";
|
|
54
54
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BaoETsQI.js";
|
|
55
55
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C-6tM-GK.js";
|
|
@@ -80,7 +80,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
80
80
|
import AjvPkg from "ajv";
|
|
81
81
|
import { createServer } from "node:http";
|
|
82
82
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
83
|
-
import WebSocket
|
|
83
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
84
84
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
85
85
|
import { createJiti } from "jiti";
|
|
86
86
|
import { Type } from "@sinclair/typebox";
|
|
@@ -3473,7 +3473,7 @@ async function getMemorySearchManager(params) {
|
|
|
3473
3473
|
const wrapper = new FallbackMemoryManager({
|
|
3474
3474
|
primary,
|
|
3475
3475
|
fallbackFactory: async () => {
|
|
3476
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3476
|
+
const { MemoryIndexManager } = await import("./manager-BtWtmpxN.js").then((n) => n.n);
|
|
3477
3477
|
return await MemoryIndexManager.get(params);
|
|
3478
3478
|
}
|
|
3479
3479
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -3486,7 +3486,7 @@ async function getMemorySearchManager(params) {
|
|
|
3486
3486
|
}
|
|
3487
3487
|
}
|
|
3488
3488
|
try {
|
|
3489
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3489
|
+
const { MemoryIndexManager } = await import("./manager-BtWtmpxN.js").then((n) => n.n);
|
|
3490
3490
|
return { manager: await MemoryIndexManager.get(params) };
|
|
3491
3491
|
} catch (err) {
|
|
3492
3492
|
return {
|
|
@@ -5818,7 +5818,7 @@ var GatewayClient = class {
|
|
|
5818
5818
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5819
5819
|
});
|
|
5820
5820
|
}
|
|
5821
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
5821
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
5822
5822
|
this.ws.on("open", () => {
|
|
5823
5823
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5824
5824
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -6037,7 +6037,7 @@ var GatewayClient = class {
|
|
|
6037
6037
|
return null;
|
|
6038
6038
|
}
|
|
6039
6039
|
async request(method, params, opts) {
|
|
6040
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
6040
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
6041
6041
|
const id = randomUUID();
|
|
6042
6042
|
const frame = {
|
|
6043
6043
|
type: "req",
|
|
@@ -7304,7 +7304,7 @@ async function routeReply(params) {
|
|
|
7304
7304
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7305
7305
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7306
7306
|
try {
|
|
7307
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7307
|
+
const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
|
|
7308
7308
|
return {
|
|
7309
7309
|
ok: true,
|
|
7310
7310
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -17618,7 +17618,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
17618
17618
|
};
|
|
17619
17619
|
}
|
|
17620
17620
|
}
|
|
17621
|
-
function resolveWorkdir(workdir, warnings) {
|
|
17621
|
+
function resolveWorkdir$1(workdir, warnings) {
|
|
17622
17622
|
const fallback = safeCwd() ?? homedir();
|
|
17623
17623
|
try {
|
|
17624
17624
|
if (statSync(workdir).isDirectory()) return workdir;
|
|
@@ -18760,7 +18760,7 @@ function createExecTool(defaults) {
|
|
|
18760
18760
|
});
|
|
18761
18761
|
workdir = resolved.hostWorkdir;
|
|
18762
18762
|
containerWorkdir = resolved.containerWorkdir;
|
|
18763
|
-
} else workdir = resolveWorkdir(rawWorkdir, warnings);
|
|
18763
|
+
} else workdir = resolveWorkdir$1(rawWorkdir, warnings);
|
|
18764
18764
|
const baseEnv = coerceEnv(process.env);
|
|
18765
18765
|
if (host !== "sandbox" && params.env) validateHostEnv(params.env);
|
|
18766
18766
|
const mergedEnv = params.env ? {
|
|
@@ -36661,6 +36661,254 @@ function createSubagentsTool(opts) {
|
|
|
36661
36661
|
};
|
|
36662
36662
|
}
|
|
36663
36663
|
|
|
36664
|
+
//#endregion
|
|
36665
|
+
//#region src/agents/tools/task-tool.ts
|
|
36666
|
+
/**
|
|
36667
|
+
* Long-task management tools (task_list, task_cancel).
|
|
36668
|
+
*
|
|
36669
|
+
* Companions to the detach-task pattern in skills/long-task. The detach
|
|
36670
|
+
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
36671
|
+
* the agent's workspace; these tools read and act on those files so the
|
|
36672
|
+
* agent can answer "what's running?" and kill a task without needing
|
|
36673
|
+
* shell access.
|
|
36674
|
+
*
|
|
36675
|
+
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
36676
|
+
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
36677
|
+
* agent kill processes it never spawned via path traversal.
|
|
36678
|
+
*/
|
|
36679
|
+
const TASK_FILE_PREFIX = "task-";
|
|
36680
|
+
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
36681
|
+
const TASK_FILE_SUFFIXES = [
|
|
36682
|
+
".pid",
|
|
36683
|
+
".status",
|
|
36684
|
+
".started",
|
|
36685
|
+
".cmd",
|
|
36686
|
+
".log"
|
|
36687
|
+
];
|
|
36688
|
+
const ALLOWED_SIGNALS = new Set([
|
|
36689
|
+
"SIGTERM",
|
|
36690
|
+
"SIGINT",
|
|
36691
|
+
"SIGHUP",
|
|
36692
|
+
"SIGQUIT",
|
|
36693
|
+
"SIGKILL",
|
|
36694
|
+
"SIGUSR1",
|
|
36695
|
+
"SIGUSR2"
|
|
36696
|
+
]);
|
|
36697
|
+
const TaskListSchema = Type.Object({ workdir: Type.Optional(Type.String()) });
|
|
36698
|
+
const TaskCancelSchema = Type.Object({
|
|
36699
|
+
taskId: Type.String(),
|
|
36700
|
+
workdir: Type.Optional(Type.String()),
|
|
36701
|
+
signal: Type.Optional(Type.String())
|
|
36702
|
+
});
|
|
36703
|
+
function normaliseSignal(input) {
|
|
36704
|
+
if (!input) return "SIGTERM";
|
|
36705
|
+
const upper = input.trim().toUpperCase();
|
|
36706
|
+
const candidate = upper.startsWith("SIG") ? upper : `SIG${upper}`;
|
|
36707
|
+
if (ALLOWED_SIGNALS.has(candidate)) return candidate;
|
|
36708
|
+
throw new Error(`Unsupported signal: ${input}. Allowed: TERM, INT, HUP, QUIT, KILL, USR1, USR2.`);
|
|
36709
|
+
}
|
|
36710
|
+
function isPidAlive(pid) {
|
|
36711
|
+
try {
|
|
36712
|
+
process.kill(pid, 0);
|
|
36713
|
+
return true;
|
|
36714
|
+
} catch (err) {
|
|
36715
|
+
if (err.code === "EPERM") return true;
|
|
36716
|
+
return false;
|
|
36717
|
+
}
|
|
36718
|
+
}
|
|
36719
|
+
async function safeRead(filePath) {
|
|
36720
|
+
try {
|
|
36721
|
+
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
36722
|
+
} catch {
|
|
36723
|
+
return null;
|
|
36724
|
+
}
|
|
36725
|
+
}
|
|
36726
|
+
function resolveWorkdir(deps, override) {
|
|
36727
|
+
const raw = override?.trim();
|
|
36728
|
+
if (!raw) return deps.workspaceDir;
|
|
36729
|
+
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
36730
|
+
return raw;
|
|
36731
|
+
}
|
|
36732
|
+
async function readTaskInfo(workdir, id) {
|
|
36733
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
36734
|
+
const [pidText, status, started, cmd] = await Promise.all([
|
|
36735
|
+
safeRead(pidPath),
|
|
36736
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
|
|
36737
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
36738
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
|
|
36739
|
+
]);
|
|
36740
|
+
let pid = null;
|
|
36741
|
+
if (pidText) {
|
|
36742
|
+
const parsed = Number.parseInt(pidText, 10);
|
|
36743
|
+
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
36744
|
+
}
|
|
36745
|
+
return {
|
|
36746
|
+
id,
|
|
36747
|
+
pid,
|
|
36748
|
+
alive: pid !== null && isPidAlive(pid),
|
|
36749
|
+
status: status ?? "missing",
|
|
36750
|
+
started,
|
|
36751
|
+
cmd,
|
|
36752
|
+
pidPath,
|
|
36753
|
+
statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
|
|
36754
|
+
logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
|
|
36755
|
+
};
|
|
36756
|
+
}
|
|
36757
|
+
function createTaskListTool(deps) {
|
|
36758
|
+
return {
|
|
36759
|
+
label: "Task List",
|
|
36760
|
+
name: "task_list",
|
|
36761
|
+
description: `List long-running detached tasks in the agent's workspace.
|
|
36762
|
+
|
|
36763
|
+
Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
|
|
36764
|
+
checks each PID's liveness. Use this to find the task-id of a running
|
|
36765
|
+
detach-task before calling task_cancel, or to answer "what's running right
|
|
36766
|
+
now?" without re-asking the user.
|
|
36767
|
+
|
|
36768
|
+
Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
|
|
36769
|
+
Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
|
|
36770
|
+
the agent can spot orphan state files.`,
|
|
36771
|
+
parameters: TaskListSchema,
|
|
36772
|
+
execute: async (_toolCallId, args) => {
|
|
36773
|
+
const override = readStringParam(args, "workdir");
|
|
36774
|
+
let workdir;
|
|
36775
|
+
try {
|
|
36776
|
+
workdir = resolveWorkdir(deps, override);
|
|
36777
|
+
} catch (err) {
|
|
36778
|
+
return jsonResult({
|
|
36779
|
+
workdir: override ?? deps.workspaceDir,
|
|
36780
|
+
tasks: [],
|
|
36781
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36782
|
+
});
|
|
36783
|
+
}
|
|
36784
|
+
let entries;
|
|
36785
|
+
try {
|
|
36786
|
+
entries = await fs.promises.readdir(workdir);
|
|
36787
|
+
} catch (err) {
|
|
36788
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
36789
|
+
workdir,
|
|
36790
|
+
tasks: []
|
|
36791
|
+
});
|
|
36792
|
+
return jsonResult({
|
|
36793
|
+
workdir,
|
|
36794
|
+
tasks: [],
|
|
36795
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36796
|
+
});
|
|
36797
|
+
}
|
|
36798
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
36799
|
+
for (const entry of entries) {
|
|
36800
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
36801
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
36802
|
+
const id = entry.slice(5, -suffix.length);
|
|
36803
|
+
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
36804
|
+
break;
|
|
36805
|
+
}
|
|
36806
|
+
}
|
|
36807
|
+
const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
|
|
36808
|
+
return jsonResult({
|
|
36809
|
+
workdir,
|
|
36810
|
+
tasks
|
|
36811
|
+
});
|
|
36812
|
+
}
|
|
36813
|
+
};
|
|
36814
|
+
}
|
|
36815
|
+
function createTaskCancelTool(deps) {
|
|
36816
|
+
return {
|
|
36817
|
+
label: "Task Cancel",
|
|
36818
|
+
name: "task_cancel",
|
|
36819
|
+
description: `Send a signal (default SIGTERM) to a running detached task.
|
|
36820
|
+
|
|
36821
|
+
Reads task-<id>.pid in the workdir, validates the recorded PID is alive,
|
|
36822
|
+
and sends the signal via process.kill. The task's TERM/INT/HUP trap will
|
|
36823
|
+
write an "aborted" status before exiting, so a follow-up task_list call
|
|
36824
|
+
sees the canonical end state.
|
|
36825
|
+
|
|
36826
|
+
task-id must match the same allow-list as detach-task.sh: 1–60 chars from
|
|
36827
|
+
[a-zA-Z0-9._-], no leading '.' or '-'. signal accepts TERM (default), INT,
|
|
36828
|
+
HUP, QUIT, KILL, USR1, USR2 — with or without the "SIG" prefix.
|
|
36829
|
+
|
|
36830
|
+
Returns: { ok, taskId, pid, sentSignal, alreadyDead?, error? }.`,
|
|
36831
|
+
parameters: TaskCancelSchema,
|
|
36832
|
+
execute: async (_toolCallId, args) => {
|
|
36833
|
+
const params = args;
|
|
36834
|
+
const taskId = readStringParam(params, "taskId", { required: true });
|
|
36835
|
+
if (!TASK_ID_RE.test(taskId)) return jsonResult({
|
|
36836
|
+
ok: false,
|
|
36837
|
+
taskId,
|
|
36838
|
+
error: "taskId must be 1–60 chars from [a-zA-Z0-9._-] and must not start with '.' or '-'."
|
|
36839
|
+
});
|
|
36840
|
+
const override = readStringParam(params, "workdir");
|
|
36841
|
+
let workdir;
|
|
36842
|
+
try {
|
|
36843
|
+
workdir = resolveWorkdir(deps, override);
|
|
36844
|
+
} catch (err) {
|
|
36845
|
+
return jsonResult({
|
|
36846
|
+
ok: false,
|
|
36847
|
+
taskId,
|
|
36848
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36849
|
+
});
|
|
36850
|
+
}
|
|
36851
|
+
const signalRaw = readStringParam(params, "signal");
|
|
36852
|
+
let signal;
|
|
36853
|
+
try {
|
|
36854
|
+
signal = normaliseSignal(signalRaw);
|
|
36855
|
+
} catch (err) {
|
|
36856
|
+
return jsonResult({
|
|
36857
|
+
ok: false,
|
|
36858
|
+
taskId,
|
|
36859
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36860
|
+
});
|
|
36861
|
+
}
|
|
36862
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
|
|
36863
|
+
let pidText;
|
|
36864
|
+
try {
|
|
36865
|
+
pidText = (await fs.promises.readFile(pidPath, "utf8")).trim();
|
|
36866
|
+
} catch (err) {
|
|
36867
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
36868
|
+
ok: false,
|
|
36869
|
+
taskId,
|
|
36870
|
+
error: `no pid file at ${pidPath} — task is unknown or already cleaned up`
|
|
36871
|
+
});
|
|
36872
|
+
return jsonResult({
|
|
36873
|
+
ok: false,
|
|
36874
|
+
taskId,
|
|
36875
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36876
|
+
});
|
|
36877
|
+
}
|
|
36878
|
+
const pid = Number.parseInt(pidText, 10);
|
|
36879
|
+
if (!Number.isFinite(pid) || pid <= 0) return jsonResult({
|
|
36880
|
+
ok: false,
|
|
36881
|
+
taskId,
|
|
36882
|
+
error: `pid file at ${pidPath} did not contain a positive integer`
|
|
36883
|
+
});
|
|
36884
|
+
if (!isPidAlive(pid)) return jsonResult({
|
|
36885
|
+
ok: false,
|
|
36886
|
+
taskId,
|
|
36887
|
+
pid,
|
|
36888
|
+
alreadyDead: true,
|
|
36889
|
+
error: "process is no longer running"
|
|
36890
|
+
});
|
|
36891
|
+
try {
|
|
36892
|
+
process.kill(pid, signal);
|
|
36893
|
+
} catch (err) {
|
|
36894
|
+
return jsonResult({
|
|
36895
|
+
ok: false,
|
|
36896
|
+
taskId,
|
|
36897
|
+
pid,
|
|
36898
|
+
sentSignal: signal,
|
|
36899
|
+
error: err instanceof Error ? err.message : String(err)
|
|
36900
|
+
});
|
|
36901
|
+
}
|
|
36902
|
+
return jsonResult({
|
|
36903
|
+
ok: true,
|
|
36904
|
+
taskId,
|
|
36905
|
+
pid,
|
|
36906
|
+
sentSignal: signal
|
|
36907
|
+
});
|
|
36908
|
+
}
|
|
36909
|
+
};
|
|
36910
|
+
}
|
|
36911
|
+
|
|
36664
36912
|
//#endregion
|
|
36665
36913
|
//#region src/agents/tools/tts-tool.ts
|
|
36666
36914
|
const TtsToolSchema = Type.Object({
|
|
@@ -37961,6 +38209,8 @@ function createSymiTools(options) {
|
|
|
37961
38209
|
config: options?.config
|
|
37962
38210
|
}),
|
|
37963
38211
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
38212
|
+
createTaskListTool({ workspaceDir }),
|
|
38213
|
+
createTaskCancelTool({ workspaceDir }),
|
|
37964
38214
|
...messageTool ? [messageTool] : [],
|
|
37965
38215
|
createTtsTool({
|
|
37966
38216
|
agentChannel: options?.agentChannel,
|
|
@@ -45761,6 +46011,7 @@ async function resolveDetachScriptPath(params) {
|
|
|
45761
46011
|
return cachedScriptPath;
|
|
45762
46012
|
}
|
|
45763
46013
|
async function buildLongTaskPromptSuffix(params) {
|
|
46014
|
+
if (params.cronEnabled === false) return "";
|
|
45764
46015
|
const scriptPath = await resolveDetachScriptPath(params);
|
|
45765
46016
|
if (!scriptPath) return "";
|
|
45766
46017
|
return "\n\n" + [
|
|
@@ -45780,7 +46031,8 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
45780
46031
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
45781
46032
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
45782
46033
|
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
45783
|
-
" • Never leave stale monitors running after the task finishes."
|
|
46034
|
+
" • Never leave stale monitors running after the task finishes.",
|
|
46035
|
+
"- Inspecting and killing tasks: use `task_list` to enumerate detached tasks in the workspace (returns id/pid/alive/status/started for each), and `task_cancel` with `taskId` (and optional `signal`, default SIGTERM) to terminate a running task. Prefer these over raw `kill`/`ps` exec calls — they share the detach script's task-id allow-list and report alreadyDead cleanly."
|
|
45784
46036
|
].join("\n");
|
|
45785
46037
|
}
|
|
45786
46038
|
|
|
@@ -46838,7 +47090,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
46838
47090
|
const longTaskSuffix = await buildLongTaskPromptSuffix({
|
|
46839
47091
|
argv1: process.argv[1],
|
|
46840
47092
|
cwd: process.cwd(),
|
|
46841
|
-
moduleUrl: import.meta.url
|
|
47093
|
+
moduleUrl: import.meta.url,
|
|
47094
|
+
cronEnabled: process.env.SYMI_SKIP_CRON !== "1" && params.config?.cron?.enabled !== false
|
|
46842
47095
|
});
|
|
46843
47096
|
const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
|
|
46844
47097
|
const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
|
|
@@ -51285,7 +51538,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
51285
51538
|
return;
|
|
51286
51539
|
}
|
|
51287
51540
|
try {
|
|
51288
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
51541
|
+
const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
|
|
51289
51542
|
await deliverOutboundPayloads({
|
|
51290
51543
|
cfg: params.cfg,
|
|
51291
51544
|
channel,
|
|
@@ -54731,7 +54984,7 @@ async function describeStickerImage(params) {
|
|
|
54731
54984
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
54732
54985
|
try {
|
|
54733
54986
|
const buffer = await fs$1.readFile(imagePath);
|
|
54734
|
-
const { describeImageWithModel } = await import("./image-
|
|
54987
|
+
const { describeImageWithModel } = await import("./image-MNvheU8U.js").then((n) => n.n);
|
|
54735
54988
|
return (await describeImageWithModel({
|
|
54736
54989
|
buffer,
|
|
54737
54990
|
fileName: "sticker.webp",
|
|
@@ -57480,7 +57733,7 @@ async function preflightDiscordMessage(params) {
|
|
|
57480
57733
|
let preflightTranscript;
|
|
57481
57734
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
57482
57735
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
57483
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
57736
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
|
|
57484
57737
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
57485
57738
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
57486
57739
|
ctx: {
|
|
@@ -61263,7 +61516,7 @@ function isVoiceChannelType(type) {
|
|
|
61263
61516
|
function createDefaultDeps() {
|
|
61264
61517
|
return {
|
|
61265
61518
|
sendMessageWhatsApp: async (...args) => {
|
|
61266
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
61519
|
+
const { sendMessageWhatsApp } = await import("./web-Wk1ay1eQ.js");
|
|
61267
61520
|
return await sendMessageWhatsApp(...args);
|
|
61268
61521
|
},
|
|
61269
61522
|
sendMessageTelegram: async (...args) => {
|
|
@@ -64168,7 +64421,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
64168
64421
|
super(options);
|
|
64169
64422
|
}
|
|
64170
64423
|
createWebSocket(url) {
|
|
64171
|
-
return new WebSocket
|
|
64424
|
+
return new WebSocket(url, { agent });
|
|
64172
64425
|
}
|
|
64173
64426
|
}
|
|
64174
64427
|
return new ProxyGatewayPlugin();
|
|
@@ -74386,7 +74639,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
74386
74639
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
74387
74640
|
let preflightTranscript;
|
|
74388
74641
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
74389
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
74642
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
|
|
74390
74643
|
preflightTranscript = await transcribeFirstAudio({
|
|
74391
74644
|
ctx: {
|
|
74392
74645
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -76543,7 +76796,7 @@ function loadWebLoginQr() {
|
|
|
76543
76796
|
return webLoginQrPromise;
|
|
76544
76797
|
}
|
|
76545
76798
|
function loadWebChannel() {
|
|
76546
|
-
webChannelPromise ??= import("./web-
|
|
76799
|
+
webChannelPromise ??= import("./web-Wk1ay1eQ.js");
|
|
76547
76800
|
return webChannelPromise;
|
|
76548
76801
|
}
|
|
76549
76802
|
function loadWhatsAppActions() {
|
|
@@ -77853,6 +78106,8 @@ const SUBAGENT_TOOL_DENY_ALWAYS = [
|
|
|
77853
78106
|
"whatsapp_login",
|
|
77854
78107
|
"session_status",
|
|
77855
78108
|
"cron",
|
|
78109
|
+
"task_list",
|
|
78110
|
+
"task_cancel",
|
|
77856
78111
|
"memory_search",
|
|
77857
78112
|
"memory_get",
|
|
77858
78113
|
"memory_pin",
|