@symerian/symi 2.8.13 → 2.8.15
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/{acp-cli-D7uCUCr8.js → acp-cli-BgR7mxTS.js} +2 -2
- package/dist/{acp-cli-CAU8UW9I.js → acp-cli-D1JYg9c1.js} +2 -2
- package/dist/{agents-CgCg4syn.js → agents-BhhAcFrX.js} +5 -5
- package/dist/{agents.config-BnPC7uct.js → agents.config-BOvsz6E6.js} +1 -1
- package/dist/{agents.config-DqWxpgkX.js → agents.config-D967tgmP.js} +1 -1
- package/dist/{audit-Oa5dsn5p.js → audit-Dr_8rC6G.js} +3 -3
- package/dist/{audit-Bi9Je9FZ.js → audit-xiwEIT96.js} +3 -3
- package/dist/{auth-choice-BKwypsnS.js → auth-choice-DEKKbufH.js} +2 -2
- package/dist/{auth-choice-BIlBt2d0.js → auth-choice-Pzy-t2mh.js} +2 -2
- package/dist/{banner-CX5CuLWQ.js → banner-CiHQEfyr.js} +1 -1
- package/dist/{browser-cli-5ME9iiC3.js → browser-cli-BQeCPbES.js} +3 -3
- package/dist/{browser-cli-BTci35qB.js → browser-cli-IXepRCZR.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/{call-Cmb04dff.js → call-BkJK3eYP.js} +2 -1
- package/dist/{call-BrRWr7Lj.js → call-CAGvQYXj.js} +2 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-mUKQVJQl.js → channel-options-DGuilErd.js} +1 -1
- package/dist/{channel-options-7y9EuPLO.js → channel-options-_erlRi2w.js} +1 -1
- package/dist/{channel-web-Dldh4zVI.js → channel-web-DwfovJKQ.js} +1 -1
- package/dist/{channels-cli-Q6Q8LokG.js → channels-cli-B2Zf1oz9.js} +10 -10
- package/dist/{channels-cli-Dz9vV1KL.js → channels-cli-DUsK2bXE.js} +10 -10
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-DMsLCQbO.js → cli-BpmyiZc9.js} +7 -7
- package/dist/{cli-D4WYEtu4.js → cli-DUiSlxsb.js} +7 -7
- package/dist/{client-C7AOOnKZ.js → client-CYsBIR3j.js} +27 -1
- package/dist/{client-qUlxXXVJ.js → client-Cmq13-uF.js} +27 -1
- package/dist/{command-registry-cEqGIx4b.js → command-registry-B8LVEWW9.js} +11 -11
- package/dist/{completion-cli-Bw0jbNaG.js → completion-cli-D-_MV8eA.js} +1 -1
- package/dist/{completion-cli-C5GCKfKT.js → completion-cli-DZeK6_ev.js} +2 -2
- package/dist/{config-cli-DP0hP7WR.js → config-cli-B7ZvHIMY.js} +1 -1
- package/dist/{config-cli-DgHooQ4_.js → config-cli-D_m0QL6c.js} +1 -1
- package/dist/{configure-OUiXvgMg.js → configure-DFg-N_i2.js} +6 -6
- package/dist/{configure-BQUkaPdS.js → configure-DXml-xDR.js} +6 -6
- package/dist/control-ui/index.html +7 -0
- package/dist/control-ui/js/menu.js +2 -0
- package/dist/control-ui/js/settings.js +1 -0
- package/dist/{cron-cli-CGJveo7P.js → cron-cli-CZCm3aLt.js} +3 -3
- package/dist/{cron-cli-Crh_r2aK.js → cron-cli-Dq2FEfK1.js} +3 -3
- package/dist/{daemon-cli-Cq-IaYw4.js → daemon-cli-B2_uIgDM.js} +2 -2
- package/dist/{daemon-cli-CAIg9sMo.js → daemon-cli-CweMes2K.js} +2 -2
- package/dist/daemon-cli.js +27 -0
- package/dist/{devices-cli-CUT_8CuJ.js → devices-cli-3ui-Wcaj.js} +2 -2
- package/dist/{devices-cli-hSn5vjJZ.js → devices-cli-DeoPyzAd.js} +2 -2
- package/dist/{doctor-completion-BSMAyCq_.js → doctor-completion-CQXl3jf4.js} +1 -1
- package/dist/{doctor-completion-DlKvncR9.js → doctor-completion-Cu7DwgVw.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BTfZiH6z.js → exec-approvals-cli-Bx9loYnQ.js} +4 -4
- package/dist/{exec-approvals-cli-DTad2Zi_.js → exec-approvals-cli-CTEn_Eu_.js} +4 -4
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-NI7W2QxR.js → gateway-cli-B2XchN3Y.js} +35 -17
- package/dist/{gateway-cli-BlRNLVfU.js → gateway-cli-P0olUhID.js} +35 -17
- package/dist/{gateway-rpc-BKJyAcQd.js → gateway-rpc-DbSbyIcL.js} +1 -1
- package/dist/{gateway-rpc-DActF8Qj.js → gateway-rpc-QsFn5Zr1.js} +1 -1
- package/dist/{glass-ui-ws-BBkFBsKB.js → glass-ui-ws-Cs2jfN42.js} +14 -14
- package/dist/{glass-ui-ws-DxrESDzy.js → glass-ui-ws-tIVOcdB2.js} +14 -14
- package/dist/{health-D4vU-wV-.js → health-Cs8wf7Hb.js} +2 -2
- package/dist/{health-fOu0S75U.js → health-DMy1nA4K.js} +2 -2
- package/dist/{hooks-cli-BdgnXYmw.js → hooks-cli-D6awUCDl.js} +8 -8
- package/dist/{hooks-cli-DdSggQYs.js → hooks-cli-DIH-zxCG.js} +8 -8
- package/dist/index.js +12 -12
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{logs-cli-BPnrAg0W.js → logs-cli-1hn28HCu.js} +3 -3
- package/dist/{logs-cli-DiDesnnp.js → logs-cli-R4WwQvR2.js} +3 -3
- package/dist/{manager-syNf_ZrI.js → manager-B60Ncruq.js} +1 -1
- package/dist/{manager-DRrGn88w.js → manager-B76ofKkW.js} +1 -1
- package/dist/{manager-_RGWWymD.js → manager-D0_H4LHh.js} +1 -1
- package/dist/{manager-TOeH0D8K.js → manager-wF-n_prX.js} +1 -1
- package/dist/{memory-cli-0jm-n36m.js → memory-cli-DRLrIa8h.js} +3 -3
- package/dist/{memory-cli-BSOOwpt1.js → memory-cli-eSWCbEiS.js} +3 -3
- package/dist/{models-sGeWQOmg.js → models-B5H41UsH.js} +3 -3
- package/dist/{models-cli-DV-J1cm0.js → models-cli-CHFi2_kC.js} +9 -9
- package/dist/{models-cli-CtkoEyh3.js → models-cli-CVfq_g6h.js} +8 -8
- package/dist/{node-cli-DwDQpTW5.js → node-cli-BBN6PoOG.js} +1 -1
- package/dist/{node-cli-DEcCM2p0.js → node-cli-BsAzTrAx.js} +1 -1
- package/dist/{nodes-cli-CqBLemeB.js → nodes-cli-DE60dv81.js} +3 -3
- package/dist/{nodes-cli-u8k6TPmF.js → nodes-cli-t3azniiS.js} +3 -3
- package/dist/{onboard-CWBYuaCm.js → onboard-DKK6UJjF.js} +3 -3
- package/dist/{onboard-FeTHeA1y.js → onboard-DgPzeL3U.js} +3 -3
- package/dist/{onboard-channels-D8bDJYPc.js → onboard-channels-BTuYOQO-.js} +1 -1
- package/dist/{onboard-channels-DpZkjldS.js → onboard-channels-DvNwlvWZ.js} +1 -1
- package/dist/{onboard-helpers-C8f_xi6R.js → onboard-helpers-B7jBYbCU.js} +1 -1
- package/dist/{onboard-helpers-CF0Cp3OB.js → onboard-helpers-DjlGq6iG.js} +1 -1
- package/dist/{onboard-remote-DgGH0dTe.js → onboard-remote-CXuHbtrT.js} +1 -1
- package/dist/{onboard-remote-CWal5_aZ.js → onboard-remote-D7wGqONm.js} +1 -1
- package/dist/{onboard-skills-DnzJLU2H.js → onboard-skills-BDhqz3te.js} +1 -1
- package/dist/{onboard-skills-CO2TjuO3.js → onboard-skills-ChQnpMi-.js} +1 -1
- package/dist/{onboarding-c2qhwP0x.js → onboarding-CCHq8fd9.js} +7 -7
- package/dist/{onboarding-BsPnnH5g.js → onboarding-CeqXuQPm.js} +7 -7
- package/dist/{onboarding.finalize-7St3fmk2.js → onboarding.finalize-Cw4TWelq.js} +13 -13
- package/dist/{onboarding.finalize-id9EHg1P.js → onboarding.finalize-DxWVkNx9.js} +12 -12
- package/dist/{onboarding.gateway-config-DlV0vso8.js → onboarding.gateway-config-Cm5jIfRz.js} +3 -3
- package/dist/{onboarding.gateway-config-D4rQoPRi.js → onboarding.gateway-config-wAyLcGRu.js} +3 -3
- package/dist/{pi-embedded-DCBB1_SC.js → pi-embedded-CGwqumSe.js} +339 -10
- 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-CJKHlm9W.js} +1 -1
- package/dist/{plugin-registry-Cy1kfzAy.js → plugin-registry-kiYkB_km.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-C9SUmtjL.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/gateway/protocol/index.d.ts +6 -3
- package/dist/plugin-sdk/gateway/protocol/schema/tasks.d.ts +40 -0
- package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -0
- package/dist/plugin-sdk/gateway/protocol/schema.d.ts +1 -0
- package/dist/plugin-sdk/{image-CCmNHDV0.js → image-DFyINnvE.js} +4 -4
- package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
- package/dist/plugin-sdk/index.js +54 -54
- package/dist/plugin-sdk/infra/long-task-state.d.ts +34 -0
- 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-DUmxOoHb.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/plugin-sdk/{message-channel-COTAJzHd.js → 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-DwJ-3Et9.js} +412 -83
- 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-BzYtaV97.js} +49 -49
- 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-gmtzSlNZ.js → tool-loop-detection-DseOlBug.js} +2 -2
- package/dist/plugin-sdk/web-BQzPfsd0.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-DTI2yj-y.js} +8 -8
- package/dist/{plugins-cli-DPetEhfv.js → plugins-cli-tV4C5XJc.js} +8 -8
- package/dist/{program-CVy9LVoS.js → program-8Zg4CY5d.js} +13 -13
- package/dist/{program-context-CBI6gIf-.js → program-context-BcKgBBit.js} +30 -30
- package/dist/{prompt-select-styled-Bv675D48.js → prompt-select-styled-CfKZlGfF.js} +8 -8
- package/dist/{prompt-select-styled-BlXl_Qf7.js → prompt-select-styled-DigPcXuk.js} +8 -8
- package/dist/{provider-auth-helpers-RUQD5XAm.js → provider-auth-helpers-BH3oyYln.js} +1 -1
- package/dist/{provider-auth-helpers-BB1lhCy5.js → provider-auth-helpers-Db02DMW2.js} +1 -1
- package/dist/{push-apns-rPetW5cI.js → push-apns-7rC1ybp8.js} +1 -1
- package/dist/{push-apns-Cr-a1KBt.js → push-apns-f_6DGP6z.js} +1 -1
- package/dist/{register.agent-DKDwNHQi.js → register.agent-CocfT8Pk.js} +12 -12
- package/dist/{register.agent-j6OlKEU-.js → register.agent-DETyFsMT.js} +11 -11
- package/dist/{register.configure-BgIXIq9d.js → register.configure-BAiFzdYa.js} +14 -14
- package/dist/{register.configure-CopgSygi.js → register.configure-VcTwHq1a.js} +14 -14
- package/dist/{register.maintenance-DjaGkVtr.js → register.maintenance-BajFgQEm.js} +13 -13
- package/dist/{register.maintenance-BKsCM6NG.js → register.maintenance-Bpr3QjJ1.js} +14 -14
- package/dist/{register.message-bxhUcSyj.js → register.message-96EL0HQW.js} +8 -8
- package/dist/{register.message-C3oHvmdl.js → register.message-CXabSYfO.js} +8 -8
- package/dist/{register.onboard-D0DHcb20.js → register.onboard-2KClPynN.js} +10 -10
- package/dist/{register.onboard-DijWH8Vd.js → register.onboard-mHEZSai5.js} +10 -10
- package/dist/{register.setup-XlCTnTm_.js → register.setup-B-piY6Vs.js} +10 -10
- package/dist/{register.setup-CrFzd94c.js → register.setup-Di6tWG-W.js} +10 -10
- package/dist/{register.status-health-sessions-AWCg_uLf.js → register.status-health-sessions-BhIYRApE.js} +10 -10
- package/dist/{register.status-health-sessions-VwvDWUxZ.js → register.status-health-sessions-ZX2odxGg.js} +10 -10
- package/dist/{register.subclis-Bw8k5Z5C.js → register.subclis-CQtXpheE.js} +20 -20
- package/dist/{reply-D7_t00Jt.js → reply-D455A6SA.js} +314 -14
- package/dist/{rpc-DYHXLh0P.js → rpc-C3ZUAjXK.js} +1 -1
- package/dist/{rpc-DdlEeEXT.js → rpc-St4eAsjR.js} +1 -1
- package/dist/{run-main-7BEaNeDG.js → run-main-CnqZnevI.js} +21 -21
- package/dist/{security-cli-BpnzAB5_.js → security-cli-B8gavsuQ.js} +4 -4
- package/dist/{security-cli-D9WEiEjD.js → security-cli-BSvxNP9m.js} +4 -4
- package/dist/{server-methods-FQ-PqiVC.js → server-methods-CYPSYbhs.js} +55 -11
- package/dist/{server-methods-CTeJHJSZ.js → server-methods-DYjr-KwQ.js} +55 -11
- package/dist/{server-node-events-Z7epDloV.js → server-node-events-C58gVs27.js} +8 -8
- package/dist/{server-node-events-BqvcHbuK.js → server-node-events-DqJIrx86.js} +8 -8
- package/dist/{status-CKROJwI2.js → status-B_zW9YJ8.js} +1 -1
- package/dist/{status-DLFbpd9v.js → status-DjjA-TOx.js} +6 -6
- package/dist/{status-DMigoL7q.js → status-Qt6QDFJ1.js} +6 -6
- package/dist/{status-x7WCSVhG.js → status-sO6Y-c-v.js} +1 -1
- package/dist/{subagent-registry-BvP8AGdE.js → subagent-registry-B1HJJs3Q.js} +314 -14
- package/dist/{synthesis-DDId6n26.js → synthesis-BCSo0xoc.js} +7 -7
- package/dist/{synthesis-E4flT91F.js → synthesis-Ch82MDG8.js} +2 -2
- package/dist/{synthesis-By7KPUAm.js → synthesis-DAUJa_9I.js} +7 -7
- package/dist/{synthesis-DgQz6kPf.js → synthesis-DzSo6S9Y.js} +2 -2
- package/dist/{system-cli-BFopJ_xI.js → system-cli-BN9MXNk7.js} +3 -3
- package/dist/{system-cli-DryauSOX.js → system-cli-CD5latLh.js} +3 -3
- package/dist/{tui-CvHbwJ3G.js → tui-Cu4TZK3I.js} +2 -2
- package/dist/{tui-BiBFm_RY.js → tui-DLkE0D7e.js} +2 -2
- package/dist/{tui-cli-CmyT9ctV.js → tui-cli-BfuEq3Q-.js} +3 -3
- package/dist/{tui-cli-CU6A8Bu2.js → tui-cli-DC9Bq-N_.js} +3 -3
- package/dist/{unified-runner-DaSb-TsZ.js → unified-runner-CpyVnelK.js} +339 -10
- package/dist/{update-cli-C5H6DkNM.js → update-cli-BLQsvLIy.js} +14 -14
- package/dist/{update-cli-D0relAZw.js → update-cli-CgDLDu8d.js} +15 -15
- package/dist/{update-runner-D99V_zHX.js → update-runner-B1vMjo7o.js} +1 -1
- package/dist/{update-runner-B_yVOk8Z.js → update-runner-DUHTdrZ0.js} +1 -1
- package/dist/{web-BQh2S6oq.js → web-Dbg9lDZ4.js} +7 -7
- package/dist/{web-Bdebat5l.js → web-Dhh_eI3q.js} +8 -8
- package/dist/{web-BBz1kF_9.js → web-DpAeT8By.js} +2 -2
- package/dist/{web-CiYoJfrl.js → web-PhjuzK8Y.js} +2 -2
- 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 +12 -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 +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -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 +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-CmKqZEsX.js +0 -66
|
@@ -7,8 +7,8 @@ import "./frontmatter-B8duUx_6.js";
|
|
|
7
7
|
import "./skills-D_oCiaQn.js";
|
|
8
8
|
import "./manifest-registry-D5bnO5uA.js";
|
|
9
9
|
import "./config-DXt3pc08.js";
|
|
10
|
-
import "./client-
|
|
11
|
-
import "./call-
|
|
10
|
+
import "./client-Cmq13-uF.js";
|
|
11
|
+
import "./call-CAGvQYXj.js";
|
|
12
12
|
import "./message-channel-C9dERklz.js";
|
|
13
13
|
import "./pairing-token-Byh6drgn.js";
|
|
14
14
|
import "./sessions-BPD85pWA.js";
|
|
@@ -43,7 +43,7 @@ import "./commands-registry-CsxsFveo.js";
|
|
|
43
43
|
import "./tool-display-I4rDxv8J.js";
|
|
44
44
|
import { t as parseTimeoutMs } from "./parse-timeout-FUO1ff14.js";
|
|
45
45
|
import { t as formatDocsLink } from "./links-CxyMXTsn.js";
|
|
46
|
-
import { t as runTui } from "./tui-
|
|
46
|
+
import { t as runTui } from "./tui-DLkE0D7e.js";
|
|
47
47
|
|
|
48
48
|
//#region src/cli/tui-cli.ts
|
|
49
49
|
function registerTuiCli(program) {
|
|
@@ -40,7 +40,7 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
|
|
|
40
40
|
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Bb4it0te.js";
|
|
41
41
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
|
|
42
42
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
|
|
43
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
43
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-D0_H4LHh.js";
|
|
44
44
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
|
|
45
45
|
import { n as retryAsync } from "./retry-B-y5suGA.js";
|
|
46
46
|
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-DeJTztcq.js";
|
|
@@ -4340,7 +4340,7 @@ async function getMemorySearchManager(params) {
|
|
|
4340
4340
|
const wrapper = new FallbackMemoryManager({
|
|
4341
4341
|
primary,
|
|
4342
4342
|
fallbackFactory: async () => {
|
|
4343
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4343
|
+
const { MemoryIndexManager } = await import("./manager-D0_H4LHh.js").then((n) => n.n);
|
|
4344
4344
|
return await MemoryIndexManager.get(params);
|
|
4345
4345
|
}
|
|
4346
4346
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -4353,7 +4353,7 @@ async function getMemorySearchManager(params) {
|
|
|
4353
4353
|
}
|
|
4354
4354
|
}
|
|
4355
4355
|
try {
|
|
4356
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4356
|
+
const { MemoryIndexManager } = await import("./manager-D0_H4LHh.js").then((n) => n.n);
|
|
4357
4357
|
return { manager: await MemoryIndexManager.get(params) };
|
|
4358
4358
|
} catch (err) {
|
|
4359
4359
|
return {
|
|
@@ -8684,6 +8684,31 @@ const SessionsUsageParamsSchema = Type.Object({
|
|
|
8684
8684
|
includeContextWeight: Type.Optional(Type.Boolean())
|
|
8685
8685
|
}, { additionalProperties: false });
|
|
8686
8686
|
|
|
8687
|
+
//#endregion
|
|
8688
|
+
//#region src/gateway/protocol/schema/tasks.ts
|
|
8689
|
+
/**
|
|
8690
|
+
* tasks.list — enumerates long-running detached tasks across configured
|
|
8691
|
+
* agent workspaces. Optional `workdir` override scans a single absolute
|
|
8692
|
+
* directory instead.
|
|
8693
|
+
*/
|
|
8694
|
+
const TasksListParamsSchema = Type.Object({ workdir: Type.Optional(Type.String()) }, { additionalProperties: false });
|
|
8695
|
+
const TaskInfoSchema = Type.Object({
|
|
8696
|
+
id: Type.String(),
|
|
8697
|
+
agentId: Type.Optional(Type.String()),
|
|
8698
|
+
workdir: Type.String(),
|
|
8699
|
+
pid: Type.Union([Type.Integer(), Type.Null()]),
|
|
8700
|
+
alive: Type.Boolean(),
|
|
8701
|
+
archived: Type.Boolean(),
|
|
8702
|
+
status: Type.String(),
|
|
8703
|
+
started: Type.Union([Type.String(), Type.Null()]),
|
|
8704
|
+
cmd: Type.Union([Type.String(), Type.Null()]),
|
|
8705
|
+
pidPath: Type.String(),
|
|
8706
|
+
statusPath: Type.String(),
|
|
8707
|
+
archivedPath: Type.String(),
|
|
8708
|
+
logPath: Type.String()
|
|
8709
|
+
}, { additionalProperties: false });
|
|
8710
|
+
const TasksListResultSchema = Type.Object({ tasks: Type.Array(TaskInfoSchema) }, { additionalProperties: false });
|
|
8711
|
+
|
|
8687
8712
|
//#endregion
|
|
8688
8713
|
//#region src/gateway/protocol/schema/wizard.ts
|
|
8689
8714
|
const WizardRunStatusSchema = Type.Union([
|
|
@@ -8769,6 +8794,7 @@ const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema);
|
|
|
8769
8794
|
const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema);
|
|
8770
8795
|
const validateWakeParams = ajv.compile(WakeParamsSchema);
|
|
8771
8796
|
const validateAgentsListParams = ajv.compile(AgentsListParamsSchema);
|
|
8797
|
+
const validateTasksListParams = ajv.compile(TasksListParamsSchema);
|
|
8772
8798
|
const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema);
|
|
8773
8799
|
const validateAgentsUpdateParams = ajv.compile(AgentsUpdateParamsSchema);
|
|
8774
8800
|
const validateAgentsDeleteParams = ajv.compile(AgentsDeleteParamsSchema);
|
|
@@ -9191,6 +9217,7 @@ const METHOD_SCOPE_GROUPS = {
|
|
|
9191
9217
|
"cron.list",
|
|
9192
9218
|
"cron.status",
|
|
9193
9219
|
"cron.runs",
|
|
9220
|
+
"tasks.list",
|
|
9194
9221
|
"system-presence",
|
|
9195
9222
|
"last-heartbeat",
|
|
9196
9223
|
"node.list",
|
|
@@ -20694,7 +20721,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
20694
20721
|
};
|
|
20695
20722
|
}
|
|
20696
20723
|
}
|
|
20697
|
-
function resolveWorkdir(workdir, warnings) {
|
|
20724
|
+
function resolveWorkdir$1(workdir, warnings) {
|
|
20698
20725
|
const fallback = safeCwd() ?? homedir();
|
|
20699
20726
|
try {
|
|
20700
20727
|
if (statSync(workdir).isDirectory()) return workdir;
|
|
@@ -21836,7 +21863,7 @@ function createExecTool(defaults) {
|
|
|
21836
21863
|
});
|
|
21837
21864
|
workdir = resolved.hostWorkdir;
|
|
21838
21865
|
containerWorkdir = resolved.containerWorkdir;
|
|
21839
|
-
} else workdir = resolveWorkdir(rawWorkdir, warnings);
|
|
21866
|
+
} else workdir = resolveWorkdir$1(rawWorkdir, warnings);
|
|
21840
21867
|
const baseEnv = coerceEnv(process.env);
|
|
21841
21868
|
if (host !== "sandbox" && params.env) validateHostEnv(params.env);
|
|
21842
21869
|
const mergedEnv = params.env ? {
|
|
@@ -38765,6 +38792,301 @@ function createSubagentsTool(opts) {
|
|
|
38765
38792
|
};
|
|
38766
38793
|
}
|
|
38767
38794
|
|
|
38795
|
+
//#endregion
|
|
38796
|
+
//#region src/infra/long-task-state.ts
|
|
38797
|
+
/**
|
|
38798
|
+
* Shared helpers for reading the on-disk state files written by
|
|
38799
|
+
* skills/long-task/scripts/detach-task.sh:
|
|
38800
|
+
*
|
|
38801
|
+
* task-<id>.pid — PID of the detached process
|
|
38802
|
+
* task-<id>.cmd — literal command line
|
|
38803
|
+
* task-<id>.started — ISO-8601 start timestamp
|
|
38804
|
+
* task-<id>.log — combined stdout + stderr
|
|
38805
|
+
* task-<id>.status — current state line
|
|
38806
|
+
* task-<id>.archived — tombstone written by the janitor when it sweeps
|
|
38807
|
+
* a finished task more than 7 days old
|
|
38808
|
+
*
|
|
38809
|
+
* Both the agent-facing tools (task_list / task_cancel) and the gateway's
|
|
38810
|
+
* tasks.list RPC consume this helper so the two views stay in sync.
|
|
38811
|
+
*/
|
|
38812
|
+
const TASK_FILE_PREFIX = "task-";
|
|
38813
|
+
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
38814
|
+
const TASK_FILE_SUFFIXES = [
|
|
38815
|
+
".pid",
|
|
38816
|
+
".status",
|
|
38817
|
+
".started",
|
|
38818
|
+
".cmd",
|
|
38819
|
+
".log",
|
|
38820
|
+
".archived"
|
|
38821
|
+
];
|
|
38822
|
+
function defaultIsPidAlive(pid) {
|
|
38823
|
+
try {
|
|
38824
|
+
process.kill(pid, 0);
|
|
38825
|
+
return true;
|
|
38826
|
+
} catch (err) {
|
|
38827
|
+
if (err.code === "EPERM") return true;
|
|
38828
|
+
return false;
|
|
38829
|
+
}
|
|
38830
|
+
}
|
|
38831
|
+
async function safeRead(filePath) {
|
|
38832
|
+
try {
|
|
38833
|
+
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
38834
|
+
} catch {
|
|
38835
|
+
return null;
|
|
38836
|
+
}
|
|
38837
|
+
}
|
|
38838
|
+
async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
|
|
38839
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
38840
|
+
const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
|
|
38841
|
+
const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
|
|
38842
|
+
const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
|
|
38843
|
+
const [pidText, status, started, cmd, archived] = await Promise.all([
|
|
38844
|
+
safeRead(pidPath),
|
|
38845
|
+
safeRead(statusPath),
|
|
38846
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
38847
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
|
|
38848
|
+
safeRead(archivedPath)
|
|
38849
|
+
]);
|
|
38850
|
+
let pid = null;
|
|
38851
|
+
if (pidText) {
|
|
38852
|
+
const parsed = Number.parseInt(pidText, 10);
|
|
38853
|
+
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
38854
|
+
}
|
|
38855
|
+
let resolvedStatus;
|
|
38856
|
+
if (status) resolvedStatus = status;
|
|
38857
|
+
else if (archived) resolvedStatus = archived;
|
|
38858
|
+
else resolvedStatus = "missing";
|
|
38859
|
+
return {
|
|
38860
|
+
id,
|
|
38861
|
+
pid,
|
|
38862
|
+
alive: pid !== null && isPidAlive(pid),
|
|
38863
|
+
archived: archived !== null,
|
|
38864
|
+
status: resolvedStatus,
|
|
38865
|
+
started,
|
|
38866
|
+
cmd,
|
|
38867
|
+
pidPath,
|
|
38868
|
+
statusPath,
|
|
38869
|
+
archivedPath,
|
|
38870
|
+
logPath
|
|
38871
|
+
};
|
|
38872
|
+
}
|
|
38873
|
+
async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
|
|
38874
|
+
let entries;
|
|
38875
|
+
try {
|
|
38876
|
+
entries = await fs.promises.readdir(workdir);
|
|
38877
|
+
} catch {
|
|
38878
|
+
return [];
|
|
38879
|
+
}
|
|
38880
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
38881
|
+
for (const entry of entries) {
|
|
38882
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
38883
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
38884
|
+
const id = entry.slice(5, -suffix.length);
|
|
38885
|
+
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
38886
|
+
break;
|
|
38887
|
+
}
|
|
38888
|
+
}
|
|
38889
|
+
return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
|
|
38890
|
+
}
|
|
38891
|
+
|
|
38892
|
+
//#endregion
|
|
38893
|
+
//#region src/agents/tools/task-tool.ts
|
|
38894
|
+
/**
|
|
38895
|
+
* Long-task management tools (task_list, task_cancel).
|
|
38896
|
+
*
|
|
38897
|
+
* Companions to the detach-task pattern in skills/long-task. The detach
|
|
38898
|
+
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
38899
|
+
* the agent's workspace; these tools read and act on those files so the
|
|
38900
|
+
* agent can answer "what's running?" and kill a task without needing
|
|
38901
|
+
* shell access. Shared scanning logic lives in
|
|
38902
|
+
* src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
|
|
38903
|
+
* agent tools agree on every shape detail.
|
|
38904
|
+
*
|
|
38905
|
+
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
38906
|
+
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
38907
|
+
* agent kill processes it never spawned via path traversal.
|
|
38908
|
+
*/
|
|
38909
|
+
const ALLOWED_SIGNALS = new Set([
|
|
38910
|
+
"SIGTERM",
|
|
38911
|
+
"SIGINT",
|
|
38912
|
+
"SIGHUP",
|
|
38913
|
+
"SIGQUIT",
|
|
38914
|
+
"SIGKILL",
|
|
38915
|
+
"SIGUSR1",
|
|
38916
|
+
"SIGUSR2"
|
|
38917
|
+
]);
|
|
38918
|
+
const TaskListSchema = Type.Object({ workdir: Type.Optional(Type.String()) });
|
|
38919
|
+
const TaskCancelSchema = Type.Object({
|
|
38920
|
+
taskId: Type.String(),
|
|
38921
|
+
workdir: Type.Optional(Type.String()),
|
|
38922
|
+
signal: Type.Optional(Type.String())
|
|
38923
|
+
});
|
|
38924
|
+
function normaliseSignal(input) {
|
|
38925
|
+
if (!input) return "SIGTERM";
|
|
38926
|
+
const upper = input.trim().toUpperCase();
|
|
38927
|
+
const candidate = upper.startsWith("SIG") ? upper : `SIG${upper}`;
|
|
38928
|
+
if (ALLOWED_SIGNALS.has(candidate)) return candidate;
|
|
38929
|
+
throw new Error(`Unsupported signal: ${input}. Allowed: TERM, INT, HUP, QUIT, KILL, USR1, USR2.`);
|
|
38930
|
+
}
|
|
38931
|
+
function isPidAlive(pid) {
|
|
38932
|
+
try {
|
|
38933
|
+
process.kill(pid, 0);
|
|
38934
|
+
return true;
|
|
38935
|
+
} catch (err) {
|
|
38936
|
+
if (err.code === "EPERM") return true;
|
|
38937
|
+
return false;
|
|
38938
|
+
}
|
|
38939
|
+
}
|
|
38940
|
+
function resolveWorkdir(deps, override) {
|
|
38941
|
+
const raw = override?.trim();
|
|
38942
|
+
if (!raw) return deps.workspaceDir;
|
|
38943
|
+
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
38944
|
+
return raw;
|
|
38945
|
+
}
|
|
38946
|
+
function createTaskListTool(deps) {
|
|
38947
|
+
return {
|
|
38948
|
+
label: "Task List",
|
|
38949
|
+
name: "task_list",
|
|
38950
|
+
description: `List long-running detached tasks in the agent's workspace.
|
|
38951
|
+
|
|
38952
|
+
Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
|
|
38953
|
+
state, and checks each PID's liveness. Use this to find the task-id of a
|
|
38954
|
+
running detach-task before calling task_cancel, or to answer "what's
|
|
38955
|
+
running right now?" without re-asking the user.
|
|
38956
|
+
|
|
38957
|
+
Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
|
|
38958
|
+
- archived=true means the janitor swept this task's live state files (>7d
|
|
38959
|
+
dead) and replaced them with a tombstone. The canonical end status is
|
|
38960
|
+
preserved in the .archived file. Distinct from "missing" (no tombstone,
|
|
38961
|
+
no live files) which means the task crashed or its workdir was wiped.
|
|
38962
|
+
- Tasks whose .pid file is missing are still listed (alive=false, pid=null)
|
|
38963
|
+
so the agent can spot orphan state files.`,
|
|
38964
|
+
parameters: TaskListSchema,
|
|
38965
|
+
execute: async (_toolCallId, args) => {
|
|
38966
|
+
const override = readStringParam(args, "workdir");
|
|
38967
|
+
let workdir;
|
|
38968
|
+
try {
|
|
38969
|
+
workdir = resolveWorkdir(deps, override);
|
|
38970
|
+
} catch (err) {
|
|
38971
|
+
return jsonResult({
|
|
38972
|
+
workdir: override ?? deps.workspaceDir,
|
|
38973
|
+
tasks: [],
|
|
38974
|
+
error: err instanceof Error ? err.message : String(err)
|
|
38975
|
+
});
|
|
38976
|
+
}
|
|
38977
|
+
try {
|
|
38978
|
+
const tasks = await listTasksInWorkdir(workdir, isPidAlive);
|
|
38979
|
+
return jsonResult({
|
|
38980
|
+
workdir,
|
|
38981
|
+
tasks
|
|
38982
|
+
});
|
|
38983
|
+
} catch (err) {
|
|
38984
|
+
return jsonResult({
|
|
38985
|
+
workdir,
|
|
38986
|
+
tasks: [],
|
|
38987
|
+
error: err instanceof Error ? err.message : String(err)
|
|
38988
|
+
});
|
|
38989
|
+
}
|
|
38990
|
+
}
|
|
38991
|
+
};
|
|
38992
|
+
}
|
|
38993
|
+
function createTaskCancelTool(deps) {
|
|
38994
|
+
return {
|
|
38995
|
+
label: "Task Cancel",
|
|
38996
|
+
name: "task_cancel",
|
|
38997
|
+
description: `Send a signal (default SIGTERM) to a running detached task.
|
|
38998
|
+
|
|
38999
|
+
Reads task-<id>.pid in the workdir, validates the recorded PID is alive,
|
|
39000
|
+
and sends the signal via process.kill. The task's TERM/INT/HUP trap will
|
|
39001
|
+
write an "aborted" status before exiting, so a follow-up task_list call
|
|
39002
|
+
sees the canonical end state.
|
|
39003
|
+
|
|
39004
|
+
task-id must match the same allow-list as detach-task.sh: 1–60 chars from
|
|
39005
|
+
[a-zA-Z0-9._-], no leading '.' or '-'. signal accepts TERM (default), INT,
|
|
39006
|
+
HUP, QUIT, KILL, USR1, USR2 — with or without the "SIG" prefix.
|
|
39007
|
+
|
|
39008
|
+
Returns: { ok, taskId, pid, sentSignal, alreadyDead?, error? }.`,
|
|
39009
|
+
parameters: TaskCancelSchema,
|
|
39010
|
+
execute: async (_toolCallId, args) => {
|
|
39011
|
+
const params = args;
|
|
39012
|
+
const taskId = readStringParam(params, "taskId", { required: true });
|
|
39013
|
+
if (!TASK_ID_RE.test(taskId)) return jsonResult({
|
|
39014
|
+
ok: false,
|
|
39015
|
+
taskId,
|
|
39016
|
+
error: "taskId must be 1–60 chars from [a-zA-Z0-9._-] and must not start with '.' or '-'."
|
|
39017
|
+
});
|
|
39018
|
+
const override = readStringParam(params, "workdir");
|
|
39019
|
+
let workdir;
|
|
39020
|
+
try {
|
|
39021
|
+
workdir = resolveWorkdir(deps, override);
|
|
39022
|
+
} catch (err) {
|
|
39023
|
+
return jsonResult({
|
|
39024
|
+
ok: false,
|
|
39025
|
+
taskId,
|
|
39026
|
+
error: err instanceof Error ? err.message : String(err)
|
|
39027
|
+
});
|
|
39028
|
+
}
|
|
39029
|
+
const signalRaw = readStringParam(params, "signal");
|
|
39030
|
+
let signal;
|
|
39031
|
+
try {
|
|
39032
|
+
signal = normaliseSignal(signalRaw);
|
|
39033
|
+
} catch (err) {
|
|
39034
|
+
return jsonResult({
|
|
39035
|
+
ok: false,
|
|
39036
|
+
taskId,
|
|
39037
|
+
error: err instanceof Error ? err.message : String(err)
|
|
39038
|
+
});
|
|
39039
|
+
}
|
|
39040
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
|
|
39041
|
+
let pidText;
|
|
39042
|
+
try {
|
|
39043
|
+
pidText = (await fs.promises.readFile(pidPath, "utf8")).trim();
|
|
39044
|
+
} catch (err) {
|
|
39045
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
39046
|
+
ok: false,
|
|
39047
|
+
taskId,
|
|
39048
|
+
error: `no pid file at ${pidPath} — task is unknown or already cleaned up`
|
|
39049
|
+
});
|
|
39050
|
+
return jsonResult({
|
|
39051
|
+
ok: false,
|
|
39052
|
+
taskId,
|
|
39053
|
+
error: err instanceof Error ? err.message : String(err)
|
|
39054
|
+
});
|
|
39055
|
+
}
|
|
39056
|
+
const pid = Number.parseInt(pidText, 10);
|
|
39057
|
+
if (!Number.isFinite(pid) || pid <= 0) return jsonResult({
|
|
39058
|
+
ok: false,
|
|
39059
|
+
taskId,
|
|
39060
|
+
error: `pid file at ${pidPath} did not contain a positive integer`
|
|
39061
|
+
});
|
|
39062
|
+
if (!isPidAlive(pid)) return jsonResult({
|
|
39063
|
+
ok: false,
|
|
39064
|
+
taskId,
|
|
39065
|
+
pid,
|
|
39066
|
+
alreadyDead: true,
|
|
39067
|
+
error: "process is no longer running"
|
|
39068
|
+
});
|
|
39069
|
+
try {
|
|
39070
|
+
process.kill(pid, signal);
|
|
39071
|
+
} catch (err) {
|
|
39072
|
+
return jsonResult({
|
|
39073
|
+
ok: false,
|
|
39074
|
+
taskId,
|
|
39075
|
+
pid,
|
|
39076
|
+
sentSignal: signal,
|
|
39077
|
+
error: err instanceof Error ? err.message : String(err)
|
|
39078
|
+
});
|
|
39079
|
+
}
|
|
39080
|
+
return jsonResult({
|
|
39081
|
+
ok: true,
|
|
39082
|
+
taskId,
|
|
39083
|
+
pid,
|
|
39084
|
+
sentSignal: signal
|
|
39085
|
+
});
|
|
39086
|
+
}
|
|
39087
|
+
};
|
|
39088
|
+
}
|
|
39089
|
+
|
|
38768
39090
|
//#endregion
|
|
38769
39091
|
//#region src/agents/tools/tts-tool.ts
|
|
38770
39092
|
const TtsToolSchema = Type.Object({
|
|
@@ -40065,6 +40387,8 @@ function createSymiTools(options) {
|
|
|
40065
40387
|
config: options?.config
|
|
40066
40388
|
}),
|
|
40067
40389
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
40390
|
+
createTaskListTool({ workspaceDir }),
|
|
40391
|
+
createTaskCancelTool({ workspaceDir }),
|
|
40068
40392
|
...messageTool ? [messageTool] : [],
|
|
40069
40393
|
createTtsTool({
|
|
40070
40394
|
agentChannel: options?.agentChannel,
|
|
@@ -54045,7 +54369,7 @@ function isVoiceChannelType(type) {
|
|
|
54045
54369
|
function createDefaultDeps() {
|
|
54046
54370
|
return {
|
|
54047
54371
|
sendMessageWhatsApp: async (...args) => {
|
|
54048
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
54372
|
+
const { sendMessageWhatsApp } = await import("./web-DpAeT8By.js");
|
|
54049
54373
|
return await sendMessageWhatsApp(...args);
|
|
54050
54374
|
},
|
|
54051
54375
|
sendMessageTelegram: async (...args) => {
|
|
@@ -69325,7 +69649,7 @@ function loadWebLoginQr() {
|
|
|
69325
69649
|
return webLoginQrPromise;
|
|
69326
69650
|
}
|
|
69327
69651
|
function loadWebChannel() {
|
|
69328
|
-
webChannelPromise ??= import("./web-
|
|
69652
|
+
webChannelPromise ??= import("./web-DpAeT8By.js");
|
|
69329
69653
|
return webChannelPromise;
|
|
69330
69654
|
}
|
|
69331
69655
|
function loadWhatsAppActions() {
|
|
@@ -70635,6 +70959,8 @@ const SUBAGENT_TOOL_DENY_ALWAYS = [
|
|
|
70635
70959
|
"whatsapp_login",
|
|
70636
70960
|
"session_status",
|
|
70637
70961
|
"cron",
|
|
70962
|
+
"task_list",
|
|
70963
|
+
"task_cancel",
|
|
70638
70964
|
"memory_search",
|
|
70639
70965
|
"memory_get",
|
|
70640
70966
|
"memory_pin",
|
|
@@ -76601,6 +76927,7 @@ async function resolveDetachScriptPath(params) {
|
|
|
76601
76927
|
return cachedScriptPath;
|
|
76602
76928
|
}
|
|
76603
76929
|
async function buildLongTaskPromptSuffix(params) {
|
|
76930
|
+
if (params.cronEnabled === false) return "";
|
|
76604
76931
|
const scriptPath = await resolveDetachScriptPath(params);
|
|
76605
76932
|
if (!scriptPath) return "";
|
|
76606
76933
|
return "\n\n" + [
|
|
@@ -76615,12 +76942,13 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
76615
76942
|
"- Register a cron monitor via the `cron` tool's `add` action. Use the schema documented in that tool's own description for the exact field names — do NOT guess. The monitor should fire roughly every 3 minutes as an isolated agentTurn job, and its message must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
|
|
76616
76943
|
"- Safe status read (inside the monitor turn):",
|
|
76617
76944
|
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
76618
|
-
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing`
|
|
76945
|
+
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, `archived swept-from=… at=<ISO>` if the janitor archived an old finished task, or `missing` only when neither `.status` nor `.archived` exists (task crashed or workdir was wiped).",
|
|
76619
76946
|
"- Monitor responsibilities each tick:",
|
|
76620
76947
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
76621
76948
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
76622
76949
|
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
76623
|
-
" • Never leave stale monitors running after the task finishes."
|
|
76950
|
+
" • Never leave stale monitors running after the task finishes.",
|
|
76951
|
+
"- 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."
|
|
76624
76952
|
].join("\n");
|
|
76625
76953
|
}
|
|
76626
76954
|
|
|
@@ -77434,7 +77762,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
77434
77762
|
const longTaskSuffix = await buildLongTaskPromptSuffix({
|
|
77435
77763
|
argv1: process.argv[1],
|
|
77436
77764
|
cwd: process.cwd(),
|
|
77437
|
-
moduleUrl: import.meta.url
|
|
77765
|
+
moduleUrl: import.meta.url,
|
|
77766
|
+
cronEnabled: process.env.SYMI_SKIP_CRON !== "1" && params.config?.cron?.enabled !== false
|
|
77438
77767
|
});
|
|
77439
77768
|
const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
|
|
77440
77769
|
const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import {
|
|
4
|
+
import { H as trimLogTail } from "./reply-D455A6SA.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -62,8 +62,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
62
62
|
import "./send-DpMnSIi5.js";
|
|
63
63
|
import "./model-ECsJuJew.js";
|
|
64
64
|
import "./reply-prefix-CE2YmmsD.js";
|
|
65
|
-
import "./memory-cli-
|
|
66
|
-
import "./manager-
|
|
65
|
+
import "./memory-cli-DRLrIa8h.js";
|
|
66
|
+
import "./manager-wF-n_prX.js";
|
|
67
67
|
import "./retry-BoS4e4X_.js";
|
|
68
68
|
import "./sqlite-D55gRQbH.js";
|
|
69
69
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -73,8 +73,8 @@ import "./ir-jTXFdH5R.js";
|
|
|
73
73
|
import "./render-Bwu_WxwA.js";
|
|
74
74
|
import "./commands-vWB85AXk.js";
|
|
75
75
|
import "./commands-registry-D_uByLpw.js";
|
|
76
|
-
import "./client-
|
|
77
|
-
import "./call-
|
|
76
|
+
import "./client-CYsBIR3j.js";
|
|
77
|
+
import "./call-BkJK3eYP.js";
|
|
78
78
|
import "./pairing-token-pooyuU2J.js";
|
|
79
79
|
import "./channel-activity-CoTZV03i.js";
|
|
80
80
|
import "./fetch-BECUf3wn.js";
|
|
@@ -96,18 +96,18 @@ import "./session-cost-usage-RPrhIvZF.js";
|
|
|
96
96
|
import "./outbound-attachment-FbHNOB0s.js";
|
|
97
97
|
import "./delivery-queue-D9i0qjI_.js";
|
|
98
98
|
import "./send-SF7x1UHb.js";
|
|
99
|
-
import "./onboard-helpers-
|
|
99
|
+
import "./onboard-helpers-B7jBYbCU.js";
|
|
100
100
|
import { n as stylePromptMessage } from "./prompt-style-Y2J72w6p.js";
|
|
101
101
|
import "./pairing-labels-CTL1gXZb.js";
|
|
102
102
|
import "./exec-approvals-DEigTi7M.js";
|
|
103
103
|
import "./nodes-screen-BZS89z6C.js";
|
|
104
|
-
import "./pi-tools.policy-
|
|
104
|
+
import "./pi-tools.policy-Bx5zp45n.js";
|
|
105
105
|
import "./control-service-C0pRqIFv.js";
|
|
106
106
|
import "./stagger-CZ1Rrj7O.js";
|
|
107
107
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-DF8wPn-_.js";
|
|
108
108
|
import "./channel-selection-9fIQGtZy.js";
|
|
109
109
|
import { r as parseSemver } from "./runtime-guard-BKFbNplo.js";
|
|
110
|
-
import "./program-context-
|
|
110
|
+
import "./program-context-BcKgBBit.js";
|
|
111
111
|
import "./catalog-KW3oyt3k.js";
|
|
112
112
|
import "./skills-status-D1IW8MhS.js";
|
|
113
113
|
import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
|
|
@@ -118,28 +118,28 @@ import "./npm-registry-spec-B98RgVZF.js";
|
|
|
118
118
|
import "./skill-scanner-BTgjeQBf.js";
|
|
119
119
|
import "./installs-BPZKRjsO.js";
|
|
120
120
|
import "./channels-status-issues-BVpj6wWd.js";
|
|
121
|
-
import { r as installCompletion } from "./completion-cli-
|
|
121
|
+
import { r as installCompletion } from "./completion-cli-D-_MV8eA.js";
|
|
122
122
|
import "./daemon-runtime-Cp7obV7Q.js";
|
|
123
123
|
import "./systemd-Xs16roN5.js";
|
|
124
124
|
import { t as resolveGatewayService } from "./service-DzLem5vL.js";
|
|
125
125
|
import "./lifecycle-core-Uucs6Wz6.js";
|
|
126
126
|
import "./systemd-hints-vhJS1sOh.js";
|
|
127
|
-
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-
|
|
127
|
+
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-B2_uIgDM.js";
|
|
128
128
|
import "./diagnostics-1uBuB9IE.js";
|
|
129
129
|
import { t as renderTable } from "./table-BWuvjnmY.js";
|
|
130
|
-
import "./health-
|
|
130
|
+
import "./health-Cs8wf7Hb.js";
|
|
131
131
|
import "./control-ui-assets-BrP31IQR.js";
|
|
132
132
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-Bbvpax6u.js";
|
|
133
133
|
import "./dm-policy-shared-KlzpDeT_.js";
|
|
134
134
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-8HXdAdwz.js";
|
|
135
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
135
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-B1vMjo7o.js";
|
|
136
136
|
import "./logging-CZuxhCZR.js";
|
|
137
137
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-D4uLu0dv.js";
|
|
138
138
|
import "./doctor-config-flow-BCMxS2lf.js";
|
|
139
139
|
import "./systemd-linger-0C265XKH.js";
|
|
140
140
|
import "./health-format-Ct4VWeSk.js";
|
|
141
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
142
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
141
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DigPcXuk.js";
|
|
142
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CQXl3jf4.js";
|
|
143
143
|
import os from "node:os";
|
|
144
144
|
import path from "node:path";
|
|
145
145
|
import fs from "node:fs/promises";
|
|
@@ -13,11 +13,11 @@ import "./skills-D_oCiaQn.js";
|
|
|
13
13
|
import "./manifest-registry-D5bnO5uA.js";
|
|
14
14
|
import "./skills-status-DODCG6UU.js";
|
|
15
15
|
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-DXt3pc08.js";
|
|
16
|
-
import "./client-
|
|
17
|
-
import "./call-
|
|
16
|
+
import "./client-Cmq13-uF.js";
|
|
17
|
+
import "./call-CAGvQYXj.js";
|
|
18
18
|
import "./message-channel-C9dERklz.js";
|
|
19
19
|
import "./pairing-token-Byh6drgn.js";
|
|
20
|
-
import {
|
|
20
|
+
import { wt as trimLogTail } from "./subagent-registry-B1HJJs3Q.js";
|
|
21
21
|
import "./sessions-BPD85pWA.js";
|
|
22
22
|
import "./tokens-Csntmwwn.js";
|
|
23
23
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
55
55
|
import "./thinking-8sKPnzpp.js";
|
|
56
56
|
import "./models-config-J1x_DaPn.js";
|
|
57
57
|
import "./reply-prefix-BUN71nd5.js";
|
|
58
|
-
import "./memory-cli-
|
|
59
|
-
import "./manager-
|
|
58
|
+
import "./memory-cli-eSWCbEiS.js";
|
|
59
|
+
import "./manager-B60Ncruq.js";
|
|
60
60
|
import "./gemini-auth-DEakvf-D.js";
|
|
61
61
|
import "./retry-C4Q_VPOo.js";
|
|
62
62
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -99,10 +99,10 @@ import "./cli-utils-CI_KkT8q.js";
|
|
|
99
99
|
import { t as formatHelpExamples } from "./help-format-nY42tGMB.js";
|
|
100
100
|
import "./progress-HK2tT7Yf.js";
|
|
101
101
|
import "./replies-Sxbew659.js";
|
|
102
|
-
import "./onboard-helpers-
|
|
102
|
+
import "./onboard-helpers-DjlGq6iG.js";
|
|
103
103
|
import { n as stylePromptMessage } from "./prompt-style-BxVdnrLq.js";
|
|
104
104
|
import "./pairing-labels-BHx_CdbP.js";
|
|
105
|
-
import "./pi-tools.policy-
|
|
105
|
+
import "./pi-tools.policy-o0ytjRqu.js";
|
|
106
106
|
import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
|
|
107
107
|
import "./catalog-KcLvtTfa.js";
|
|
108
108
|
import "./note-DewoEWtc.js";
|
|
@@ -112,32 +112,32 @@ import "./npm-registry-spec-PuS2I1Em.js";
|
|
|
112
112
|
import "./skill-scanner-BV3QHmsf.js";
|
|
113
113
|
import "./installs-B4sNNRaW.js";
|
|
114
114
|
import "./channels-status-issues-B-ssmZ8E.js";
|
|
115
|
-
import "./register.subclis-
|
|
116
|
-
import "./command-registry-
|
|
115
|
+
import "./register.subclis-CQtXpheE.js";
|
|
116
|
+
import "./command-registry-B8LVEWW9.js";
|
|
117
117
|
import "./program-context-DeZ44oQ9.js";
|
|
118
|
-
import { r as installCompletion } from "./completion-cli-
|
|
118
|
+
import { r as installCompletion } from "./completion-cli-DZeK6_ev.js";
|
|
119
119
|
import "./daemon-runtime-D_elkkFW.js";
|
|
120
120
|
import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
|
|
121
121
|
import "./systemd-CJ5L2ee4.js";
|
|
122
122
|
import { t as resolveGatewayService } from "./service-RxN7lQKN.js";
|
|
123
123
|
import "./lifecycle-core-v3lT0Ymo.js";
|
|
124
124
|
import "./systemd-hints-Ct8ebNeC.js";
|
|
125
|
-
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-
|
|
125
|
+
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-CweMes2K.js";
|
|
126
126
|
import "./diagnostics-C6xPE2ln.js";
|
|
127
127
|
import { t as renderTable } from "./table-Bka4fasy.js";
|
|
128
|
-
import "./health-
|
|
128
|
+
import "./health-DMy1nA4K.js";
|
|
129
129
|
import "./control-ui-assets-Clf7H-Sm.js";
|
|
130
130
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
|
|
131
131
|
import "./dm-policy-shared-JiSNSaKz.js";
|
|
132
132
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B5zI1_Id.js";
|
|
133
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
133
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DUHTdrZ0.js";
|
|
134
134
|
import "./logging-PVQxLC6I.js";
|
|
135
135
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
|
|
136
136
|
import "./doctor-config-flow-B2dVxbL7.js";
|
|
137
137
|
import "./systemd-linger-ipoPa7o0.js";
|
|
138
138
|
import "./health-format-DkjSgkDx.js";
|
|
139
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
140
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
139
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CfKZlGfF.js";
|
|
140
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Cu7DwgVw.js";
|
|
141
141
|
import { spawn, spawnSync } from "node:child_process";
|
|
142
142
|
import os from "node:os";
|
|
143
143
|
import path from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as pathExists } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import {
|
|
2
|
+
import { H as trimLogTail } from "./reply-D455A6SA.js";
|
|
3
3
|
import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BrP31IQR.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-Bbvpax6u.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { nt as pathExists } from "./entry.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
|
|
3
|
-
import {
|
|
3
|
+
import { wt as trimLogTail } from "./subagent-registry-B1HJJs3Q.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Clf7H-Sm.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
|
|
6
6
|
import os from "node:os";
|