@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
|
@@ -60,8 +60,8 @@ import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJ
|
|
|
60
60
|
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DpMnSIi5.js";
|
|
61
61
|
import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
|
|
62
62
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-
|
|
63
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DRLrIa8h.js";
|
|
64
|
+
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-wF-n_prX.js";
|
|
65
65
|
import { n as retryAsync } from "./retry-BoS4e4X_.js";
|
|
66
66
|
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C9e6dMU_.js";
|
|
67
67
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DIi9uyC6.js";
|
|
@@ -69,8 +69,8 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-kCfKPOgH.js";
|
|
|
69
69
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-jTXFdH5R.js";
|
|
70
70
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-vWB85AXk.js";
|
|
71
71
|
import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-D_uByLpw.js";
|
|
72
|
-
import {
|
|
73
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
72
|
+
import { Lt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CYsBIR3j.js";
|
|
73
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BkJK3eYP.js";
|
|
74
74
|
import { n as formatTimeAgo } from "./format-relative-CviDPm2s.js";
|
|
75
75
|
import { n as normalizePollInput } from "./polls-DZoQqmds.js";
|
|
76
76
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CoTZV03i.js";
|
|
@@ -86,7 +86,7 @@ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as list
|
|
|
86
86
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-C87_fedd.js";
|
|
87
87
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-RPrhIvZF.js";
|
|
88
88
|
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-SF7x1UHb.js";
|
|
89
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
89
|
+
import { r as detectBinary } from "./onboard-helpers-B7jBYbCU.js";
|
|
90
90
|
import { t as resolvePairingIdLabel } from "./pairing-labels-CTL1gXZb.js";
|
|
91
91
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-D4P4IiJ6.js";
|
|
92
92
|
import { t as getActiveWebListener } from "./active-listener-Cif6x8mY.js";
|
|
@@ -94,7 +94,7 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
|
|
|
94
94
|
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-BZS89z6C.js";
|
|
95
95
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-D3rffA64.js";
|
|
96
96
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CjL9F9WT.js";
|
|
97
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
97
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-Bx5zp45n.js";
|
|
98
98
|
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-C0pRqIFv.js";
|
|
99
99
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CZ1Rrj7O.js";
|
|
100
100
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DF8wPn-_.js";
|
|
@@ -28996,6 +28996,7 @@ async function resolveDetachScriptPath(params) {
|
|
|
28996
28996
|
return cachedScriptPath;
|
|
28997
28997
|
}
|
|
28998
28998
|
async function buildLongTaskPromptSuffix(params) {
|
|
28999
|
+
if (params.cronEnabled === false) return "";
|
|
28999
29000
|
const scriptPath = await resolveDetachScriptPath(params);
|
|
29000
29001
|
if (!scriptPath) return "";
|
|
29001
29002
|
return "\n\n" + [
|
|
@@ -29010,12 +29011,13 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
29010
29011
|
"- 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.",
|
|
29011
29012
|
"- Safe status read (inside the monitor turn):",
|
|
29012
29013
|
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
29013
|
-
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing`
|
|
29014
|
+
" 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).",
|
|
29014
29015
|
"- Monitor responsibilities each tick:",
|
|
29015
29016
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
29016
29017
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
29017
29018
|
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
29018
|
-
" • Never leave stale monitors running after the task finishes."
|
|
29019
|
+
" • Never leave stale monitors running after the task finishes.",
|
|
29020
|
+
"- 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."
|
|
29019
29021
|
].join("\n");
|
|
29020
29022
|
}
|
|
29021
29023
|
|
|
@@ -30088,7 +30090,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
30088
30090
|
const longTaskSuffix = await buildLongTaskPromptSuffix({
|
|
30089
30091
|
argv1: process.argv[1],
|
|
30090
30092
|
cwd: process.cwd(),
|
|
30091
|
-
moduleUrl: import.meta.url
|
|
30093
|
+
moduleUrl: import.meta.url,
|
|
30094
|
+
cronEnabled: process.env.SYMI_SKIP_CRON !== "1" && params.config?.cron?.enabled !== false
|
|
30092
30095
|
});
|
|
30093
30096
|
const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
|
|
30094
30097
|
const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
|
|
@@ -31932,7 +31935,7 @@ async function runAgentTurn(params) {
|
|
|
31932
31935
|
function createDefaultDeps() {
|
|
31933
31936
|
return {
|
|
31934
31937
|
sendMessageWhatsApp: async (...args) => {
|
|
31935
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31938
|
+
const { sendMessageWhatsApp } = await import("./web-Dhh_eI3q.js");
|
|
31936
31939
|
return await sendMessageWhatsApp(...args);
|
|
31937
31940
|
},
|
|
31938
31941
|
sendMessageTelegram: async (...args) => {
|
|
@@ -50363,7 +50366,7 @@ function loadWebLoginQr() {
|
|
|
50363
50366
|
return webLoginQrPromise;
|
|
50364
50367
|
}
|
|
50365
50368
|
function loadWebChannel() {
|
|
50366
|
-
webChannelPromise ??= import("./web-
|
|
50369
|
+
webChannelPromise ??= import("./web-Dhh_eI3q.js");
|
|
50367
50370
|
return webChannelPromise;
|
|
50368
50371
|
}
|
|
50369
50372
|
function loadWhatsAppActions() {
|
|
@@ -52119,7 +52122,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
52119
52122
|
};
|
|
52120
52123
|
}
|
|
52121
52124
|
}
|
|
52122
|
-
function resolveWorkdir(workdir, warnings) {
|
|
52125
|
+
function resolveWorkdir$1(workdir, warnings) {
|
|
52123
52126
|
const fallback = safeCwd() ?? homedir();
|
|
52124
52127
|
try {
|
|
52125
52128
|
if (statSync(workdir).isDirectory()) return workdir;
|
|
@@ -53191,7 +53194,7 @@ function createExecTool(defaults) {
|
|
|
53191
53194
|
});
|
|
53192
53195
|
workdir = resolved.hostWorkdir;
|
|
53193
53196
|
containerWorkdir = resolved.containerWorkdir;
|
|
53194
|
-
} else workdir = resolveWorkdir(rawWorkdir, warnings);
|
|
53197
|
+
} else workdir = resolveWorkdir$1(rawWorkdir, warnings);
|
|
53195
53198
|
const baseEnv = coerceEnv(process.env);
|
|
53196
53199
|
if (host !== "sandbox" && params.env) validateHostEnv(params.env);
|
|
53197
53200
|
const mergedEnv = params.env ? {
|
|
@@ -63408,6 +63411,301 @@ function createSubagentsTool(opts) {
|
|
|
63408
63411
|
};
|
|
63409
63412
|
}
|
|
63410
63413
|
|
|
63414
|
+
//#endregion
|
|
63415
|
+
//#region src/infra/long-task-state.ts
|
|
63416
|
+
/**
|
|
63417
|
+
* Shared helpers for reading the on-disk state files written by
|
|
63418
|
+
* skills/long-task/scripts/detach-task.sh:
|
|
63419
|
+
*
|
|
63420
|
+
* task-<id>.pid — PID of the detached process
|
|
63421
|
+
* task-<id>.cmd — literal command line
|
|
63422
|
+
* task-<id>.started — ISO-8601 start timestamp
|
|
63423
|
+
* task-<id>.log — combined stdout + stderr
|
|
63424
|
+
* task-<id>.status — current state line
|
|
63425
|
+
* task-<id>.archived — tombstone written by the janitor when it sweeps
|
|
63426
|
+
* a finished task more than 7 days old
|
|
63427
|
+
*
|
|
63428
|
+
* Both the agent-facing tools (task_list / task_cancel) and the gateway's
|
|
63429
|
+
* tasks.list RPC consume this helper so the two views stay in sync.
|
|
63430
|
+
*/
|
|
63431
|
+
const TASK_FILE_PREFIX = "task-";
|
|
63432
|
+
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
63433
|
+
const TASK_FILE_SUFFIXES = [
|
|
63434
|
+
".pid",
|
|
63435
|
+
".status",
|
|
63436
|
+
".started",
|
|
63437
|
+
".cmd",
|
|
63438
|
+
".log",
|
|
63439
|
+
".archived"
|
|
63440
|
+
];
|
|
63441
|
+
function defaultIsPidAlive(pid) {
|
|
63442
|
+
try {
|
|
63443
|
+
process.kill(pid, 0);
|
|
63444
|
+
return true;
|
|
63445
|
+
} catch (err) {
|
|
63446
|
+
if (err.code === "EPERM") return true;
|
|
63447
|
+
return false;
|
|
63448
|
+
}
|
|
63449
|
+
}
|
|
63450
|
+
async function safeRead(filePath) {
|
|
63451
|
+
try {
|
|
63452
|
+
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
63453
|
+
} catch {
|
|
63454
|
+
return null;
|
|
63455
|
+
}
|
|
63456
|
+
}
|
|
63457
|
+
async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
|
|
63458
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
63459
|
+
const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
|
|
63460
|
+
const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
|
|
63461
|
+
const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
|
|
63462
|
+
const [pidText, status, started, cmd, archived] = await Promise.all([
|
|
63463
|
+
safeRead(pidPath),
|
|
63464
|
+
safeRead(statusPath),
|
|
63465
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
63466
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
|
|
63467
|
+
safeRead(archivedPath)
|
|
63468
|
+
]);
|
|
63469
|
+
let pid = null;
|
|
63470
|
+
if (pidText) {
|
|
63471
|
+
const parsed = Number.parseInt(pidText, 10);
|
|
63472
|
+
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
63473
|
+
}
|
|
63474
|
+
let resolvedStatus;
|
|
63475
|
+
if (status) resolvedStatus = status;
|
|
63476
|
+
else if (archived) resolvedStatus = archived;
|
|
63477
|
+
else resolvedStatus = "missing";
|
|
63478
|
+
return {
|
|
63479
|
+
id,
|
|
63480
|
+
pid,
|
|
63481
|
+
alive: pid !== null && isPidAlive(pid),
|
|
63482
|
+
archived: archived !== null,
|
|
63483
|
+
status: resolvedStatus,
|
|
63484
|
+
started,
|
|
63485
|
+
cmd,
|
|
63486
|
+
pidPath,
|
|
63487
|
+
statusPath,
|
|
63488
|
+
archivedPath,
|
|
63489
|
+
logPath
|
|
63490
|
+
};
|
|
63491
|
+
}
|
|
63492
|
+
async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
|
|
63493
|
+
let entries;
|
|
63494
|
+
try {
|
|
63495
|
+
entries = await fs.promises.readdir(workdir);
|
|
63496
|
+
} catch {
|
|
63497
|
+
return [];
|
|
63498
|
+
}
|
|
63499
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
63500
|
+
for (const entry of entries) {
|
|
63501
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
63502
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
63503
|
+
const id = entry.slice(5, -suffix.length);
|
|
63504
|
+
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
63505
|
+
break;
|
|
63506
|
+
}
|
|
63507
|
+
}
|
|
63508
|
+
return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
|
|
63509
|
+
}
|
|
63510
|
+
|
|
63511
|
+
//#endregion
|
|
63512
|
+
//#region src/agents/tools/task-tool.ts
|
|
63513
|
+
/**
|
|
63514
|
+
* Long-task management tools (task_list, task_cancel).
|
|
63515
|
+
*
|
|
63516
|
+
* Companions to the detach-task pattern in skills/long-task. The detach
|
|
63517
|
+
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
63518
|
+
* the agent's workspace; these tools read and act on those files so the
|
|
63519
|
+
* agent can answer "what's running?" and kill a task without needing
|
|
63520
|
+
* shell access. Shared scanning logic lives in
|
|
63521
|
+
* src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
|
|
63522
|
+
* agent tools agree on every shape detail.
|
|
63523
|
+
*
|
|
63524
|
+
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
63525
|
+
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
63526
|
+
* agent kill processes it never spawned via path traversal.
|
|
63527
|
+
*/
|
|
63528
|
+
const ALLOWED_SIGNALS = new Set([
|
|
63529
|
+
"SIGTERM",
|
|
63530
|
+
"SIGINT",
|
|
63531
|
+
"SIGHUP",
|
|
63532
|
+
"SIGQUIT",
|
|
63533
|
+
"SIGKILL",
|
|
63534
|
+
"SIGUSR1",
|
|
63535
|
+
"SIGUSR2"
|
|
63536
|
+
]);
|
|
63537
|
+
const TaskListSchema = Type.Object({ workdir: Type.Optional(Type.String()) });
|
|
63538
|
+
const TaskCancelSchema = Type.Object({
|
|
63539
|
+
taskId: Type.String(),
|
|
63540
|
+
workdir: Type.Optional(Type.String()),
|
|
63541
|
+
signal: Type.Optional(Type.String())
|
|
63542
|
+
});
|
|
63543
|
+
function normaliseSignal(input) {
|
|
63544
|
+
if (!input) return "SIGTERM";
|
|
63545
|
+
const upper = input.trim().toUpperCase();
|
|
63546
|
+
const candidate = upper.startsWith("SIG") ? upper : `SIG${upper}`;
|
|
63547
|
+
if (ALLOWED_SIGNALS.has(candidate)) return candidate;
|
|
63548
|
+
throw new Error(`Unsupported signal: ${input}. Allowed: TERM, INT, HUP, QUIT, KILL, USR1, USR2.`);
|
|
63549
|
+
}
|
|
63550
|
+
function isPidAlive(pid) {
|
|
63551
|
+
try {
|
|
63552
|
+
process.kill(pid, 0);
|
|
63553
|
+
return true;
|
|
63554
|
+
} catch (err) {
|
|
63555
|
+
if (err.code === "EPERM") return true;
|
|
63556
|
+
return false;
|
|
63557
|
+
}
|
|
63558
|
+
}
|
|
63559
|
+
function resolveWorkdir(deps, override) {
|
|
63560
|
+
const raw = override?.trim();
|
|
63561
|
+
if (!raw) return deps.workspaceDir;
|
|
63562
|
+
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
63563
|
+
return raw;
|
|
63564
|
+
}
|
|
63565
|
+
function createTaskListTool(deps) {
|
|
63566
|
+
return {
|
|
63567
|
+
label: "Task List",
|
|
63568
|
+
name: "task_list",
|
|
63569
|
+
description: `List long-running detached tasks in the agent's workspace.
|
|
63570
|
+
|
|
63571
|
+
Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
|
|
63572
|
+
state, and checks each PID's liveness. Use this to find the task-id of a
|
|
63573
|
+
running detach-task before calling task_cancel, or to answer "what's
|
|
63574
|
+
running right now?" without re-asking the user.
|
|
63575
|
+
|
|
63576
|
+
Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
|
|
63577
|
+
- archived=true means the janitor swept this task's live state files (>7d
|
|
63578
|
+
dead) and replaced them with a tombstone. The canonical end status is
|
|
63579
|
+
preserved in the .archived file. Distinct from "missing" (no tombstone,
|
|
63580
|
+
no live files) which means the task crashed or its workdir was wiped.
|
|
63581
|
+
- Tasks whose .pid file is missing are still listed (alive=false, pid=null)
|
|
63582
|
+
so the agent can spot orphan state files.`,
|
|
63583
|
+
parameters: TaskListSchema,
|
|
63584
|
+
execute: async (_toolCallId, args) => {
|
|
63585
|
+
const override = readStringParam(args, "workdir");
|
|
63586
|
+
let workdir;
|
|
63587
|
+
try {
|
|
63588
|
+
workdir = resolveWorkdir(deps, override);
|
|
63589
|
+
} catch (err) {
|
|
63590
|
+
return jsonResult({
|
|
63591
|
+
workdir: override ?? deps.workspaceDir,
|
|
63592
|
+
tasks: [],
|
|
63593
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63594
|
+
});
|
|
63595
|
+
}
|
|
63596
|
+
try {
|
|
63597
|
+
const tasks = await listTasksInWorkdir(workdir, isPidAlive);
|
|
63598
|
+
return jsonResult({
|
|
63599
|
+
workdir,
|
|
63600
|
+
tasks
|
|
63601
|
+
});
|
|
63602
|
+
} catch (err) {
|
|
63603
|
+
return jsonResult({
|
|
63604
|
+
workdir,
|
|
63605
|
+
tasks: [],
|
|
63606
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63607
|
+
});
|
|
63608
|
+
}
|
|
63609
|
+
}
|
|
63610
|
+
};
|
|
63611
|
+
}
|
|
63612
|
+
function createTaskCancelTool(deps) {
|
|
63613
|
+
return {
|
|
63614
|
+
label: "Task Cancel",
|
|
63615
|
+
name: "task_cancel",
|
|
63616
|
+
description: `Send a signal (default SIGTERM) to a running detached task.
|
|
63617
|
+
|
|
63618
|
+
Reads task-<id>.pid in the workdir, validates the recorded PID is alive,
|
|
63619
|
+
and sends the signal via process.kill. The task's TERM/INT/HUP trap will
|
|
63620
|
+
write an "aborted" status before exiting, so a follow-up task_list call
|
|
63621
|
+
sees the canonical end state.
|
|
63622
|
+
|
|
63623
|
+
task-id must match the same allow-list as detach-task.sh: 1–60 chars from
|
|
63624
|
+
[a-zA-Z0-9._-], no leading '.' or '-'. signal accepts TERM (default), INT,
|
|
63625
|
+
HUP, QUIT, KILL, USR1, USR2 — with or without the "SIG" prefix.
|
|
63626
|
+
|
|
63627
|
+
Returns: { ok, taskId, pid, sentSignal, alreadyDead?, error? }.`,
|
|
63628
|
+
parameters: TaskCancelSchema,
|
|
63629
|
+
execute: async (_toolCallId, args) => {
|
|
63630
|
+
const params = args;
|
|
63631
|
+
const taskId = readStringParam(params, "taskId", { required: true });
|
|
63632
|
+
if (!TASK_ID_RE.test(taskId)) return jsonResult({
|
|
63633
|
+
ok: false,
|
|
63634
|
+
taskId,
|
|
63635
|
+
error: "taskId must be 1–60 chars from [a-zA-Z0-9._-] and must not start with '.' or '-'."
|
|
63636
|
+
});
|
|
63637
|
+
const override = readStringParam(params, "workdir");
|
|
63638
|
+
let workdir;
|
|
63639
|
+
try {
|
|
63640
|
+
workdir = resolveWorkdir(deps, override);
|
|
63641
|
+
} catch (err) {
|
|
63642
|
+
return jsonResult({
|
|
63643
|
+
ok: false,
|
|
63644
|
+
taskId,
|
|
63645
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63646
|
+
});
|
|
63647
|
+
}
|
|
63648
|
+
const signalRaw = readStringParam(params, "signal");
|
|
63649
|
+
let signal;
|
|
63650
|
+
try {
|
|
63651
|
+
signal = normaliseSignal(signalRaw);
|
|
63652
|
+
} catch (err) {
|
|
63653
|
+
return jsonResult({
|
|
63654
|
+
ok: false,
|
|
63655
|
+
taskId,
|
|
63656
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63657
|
+
});
|
|
63658
|
+
}
|
|
63659
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
|
|
63660
|
+
let pidText;
|
|
63661
|
+
try {
|
|
63662
|
+
pidText = (await fs.promises.readFile(pidPath, "utf8")).trim();
|
|
63663
|
+
} catch (err) {
|
|
63664
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
63665
|
+
ok: false,
|
|
63666
|
+
taskId,
|
|
63667
|
+
error: `no pid file at ${pidPath} — task is unknown or already cleaned up`
|
|
63668
|
+
});
|
|
63669
|
+
return jsonResult({
|
|
63670
|
+
ok: false,
|
|
63671
|
+
taskId,
|
|
63672
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63673
|
+
});
|
|
63674
|
+
}
|
|
63675
|
+
const pid = Number.parseInt(pidText, 10);
|
|
63676
|
+
if (!Number.isFinite(pid) || pid <= 0) return jsonResult({
|
|
63677
|
+
ok: false,
|
|
63678
|
+
taskId,
|
|
63679
|
+
error: `pid file at ${pidPath} did not contain a positive integer`
|
|
63680
|
+
});
|
|
63681
|
+
if (!isPidAlive(pid)) return jsonResult({
|
|
63682
|
+
ok: false,
|
|
63683
|
+
taskId,
|
|
63684
|
+
pid,
|
|
63685
|
+
alreadyDead: true,
|
|
63686
|
+
error: "process is no longer running"
|
|
63687
|
+
});
|
|
63688
|
+
try {
|
|
63689
|
+
process.kill(pid, signal);
|
|
63690
|
+
} catch (err) {
|
|
63691
|
+
return jsonResult({
|
|
63692
|
+
ok: false,
|
|
63693
|
+
taskId,
|
|
63694
|
+
pid,
|
|
63695
|
+
sentSignal: signal,
|
|
63696
|
+
error: err instanceof Error ? err.message : String(err)
|
|
63697
|
+
});
|
|
63698
|
+
}
|
|
63699
|
+
return jsonResult({
|
|
63700
|
+
ok: true,
|
|
63701
|
+
taskId,
|
|
63702
|
+
pid,
|
|
63703
|
+
sentSignal: signal
|
|
63704
|
+
});
|
|
63705
|
+
}
|
|
63706
|
+
};
|
|
63707
|
+
}
|
|
63708
|
+
|
|
63411
63709
|
//#endregion
|
|
63412
63710
|
//#region src/agents/tools/tts-tool.ts
|
|
63413
63711
|
const TtsToolSchema = Type.Object({
|
|
@@ -64708,6 +65006,8 @@ function createSymiTools(options) {
|
|
|
64708
65006
|
config: options?.config
|
|
64709
65007
|
}),
|
|
64710
65008
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
65009
|
+
createTaskListTool({ workspaceDir }),
|
|
65010
|
+
createTaskCancelTool({ workspaceDir }),
|
|
64711
65011
|
...messageTool ? [messageTool] : [],
|
|
64712
65012
|
createTtsTool({
|
|
64713
65013
|
agentChannel: options?.agentChannel,
|
|
@@ -73948,4 +74248,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
73948
74248
|
}
|
|
73949
74249
|
|
|
73950
74250
|
//#endregion
|
|
73951
|
-
export {
|
|
74251
|
+
export { migrateLegacyCronPayload as $, textToSpeech as $n, loadAgentIdentityFromWorkspace as $t, deferGatewayRestartUntilIdle as A, countActiveRunsForSession as An, extractFileContentFromSource as Ar, resolveAgentOutboundTarget as At, readRestartSentinel as B, onAgentEvent as Bn, runAgentTurn as Bt, runMessageAction as C, hasControlCommand as Cn, isSystemEventContextChanged as Cr, readJsonBodyWithLimit as Ct, resetDirectoryCache as D, buildMentionRegexes as Dn, DEFAULT_INPUT_IMAGE_MIMES as Dr, agentCommand as Dt, formatTargetDisplay as E, stopSubagentsForRequester as En, DEFAULT_INPUT_IMAGE_MAX_BYTES as Er, sleepWithAbort as Et, setGatewaySigusr1RestartPolicy as F, runSubagentAnnounceFlow as Fn, resolveAgentTimeoutMs as Fr, createOutboundSendDeps as Ft, normalizeCronJobCreate as G, isTtsProviderConfigured as Gn, runWithModelFallback as Gt, trimLogTail as H, resolveUserTimezone as Hn, getActiveEmbeddedRunCount as Ht, setPreRestartDeferralCheck as I, readLatestAssistantReply as In, normalizeSendPolicy as It, normalizeOptionalAgentId as J, resolveTtsConfig as Jn, runCliAgent as Jt, normalizeCronJobPatch as K, resolveTtsApiKey as Kn, getCliSessionId as Kt, consumeRestartSentinel as L, clearAgentRunContext as Ln, resolveSendPolicy as Lt, isGatewaySigusr1RestartExternallyAllowed as M, listDescendantRunsForRequester as Mn, normalizeMimeList as Mr, resolveHeartbeatSenderContext as Mt, markGatewaySigusr1RestartHandled as N, listSubagentRunsForRequester as Nn, resolveInputFileLimits as Nr, resolveOutboundTarget as Nt, CHANNEL_MESSAGE_ACTION_NAMES as O, normalizeMentionText as On, DEFAULT_INPUT_MAX_REDIRECTS as Or, resolveSessionKeyForRequest as Ot, scheduleGatewaySigusr1Restart as P, subagent_registry_exports as Pn, estimateBase64DecodedBytes as Pr, resolveSessionDeliveryTarget as Pt, normalizeRequiredName as Q, setTtsProvider as Qn, identityHasValues as Qt, formatDoctorNonInteractiveHint as R, emitAgentEvent as Rn, createDefaultDeps as Rt, resolveSessionModelRef as S, formatZonedTimestamp as Sn, enqueueSystemEvent as Sr, handleSlackHttpRequest as St, resolveOutboundSessionRoute as T, isAbortTrigger as Tn, peekSystemEvents as Tr, computeBackoff as Tt, writeRestartSentinel as U, getTtsProvider as Un, waitForEmbeddedPiRunEnd as Ut, summarizeRestartSentinel as V, registerAgentRunContext as Vn, abortEmbeddedPiRun as Vt, normalizeHttpWebhookUrl as W, isTtsEnabled as Wn, resolveModelProfile as Wt, normalizeOptionalText as X, resolveTtsProviderOrder as Xn, describeFailoverError as Xt, normalizeOptionalSessionKey as Y, resolveTtsPrefsPath as Yn, sha256HexPrefix as Yt, normalizePayloadToSystemText as Z, setTtsEnabled as Zn, resolveAgentAvatar as Zt, listSessionsFromStore as _, createDedupeCache as _n, buildAuthHealthSummary as _r, loadProviderUsageSummary as _t, buildChannelSummary as a, unbindThreadBindingsBySessionKey as an, resetAllLanes as ar, applyBrowserProxyPaths as at, pruneLegacyStoreKeys as b, formatInboundEnvelope as bn, applyVerboseOverride as br, resolveUsageProviderId as bt, clearSessionQueues as c, DEFAULT_GROUP_HISTORY_LIMIT as cn, CommandLane as cr, requestHeartbeatNow as ct, createSymiTools as d, shouldAckReactionForWhatsApp as dn, isHeartbeatContentEffectivelyEmpty as dr, getPluginToolMeta as dt, parseIdentityMarkdown as en, OPENAI_TTS_MODELS as er, buildDeliveryFromLegacyPayload as et, listTasksInWorkdir as f, dispatchReplyWithBufferedBlockDispatcher as fn, resolveHeartbeatPrompt as fr, createPluginLoaderLogger as ft, listAgentsForGateway as g, getTotalPendingReplies as gn, DEFAULT_OAUTH_WARN_MS as gr, parseActivationCommand as gt, classifySessionKey as h, createReplyDispatcher as hn, maskApiKey as hr, normalizeGroupActivation as ht, resolveCronStyleNow as i, isExternalHookSession as in, getTotalQueueSize as ir, CHANNEL_TARGET_DESCRIPTION as it, emitGatewayRestart as j, initSubagentRegistry as jn, extractImageContentFromSource as jr, resolveHeartbeatDeliveryTarget as jt, consumeGatewaySigusr1RestartAuthorization as k, countActiveDescendantRuns as kn, DEFAULT_INPUT_TIMEOUT_MS as kr, resolveAgentDeliveryPlan as kt, applyToolPolicyPipeline as l, buildHistoryContextFromEntries as ln, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as lr, setHeartbeatWakeHandler as lt, canonicalizeSpawnedByForAgent as m, dispatchInboundMessage as mn, lookupContextTokens as mr, deleteTelegramUpdateOffset as mt, BARE_SESSION_RESET_PROMPT as n, detectSuspiciousPatterns as nn, getActiveTaskCount as nr, stripLegacyDeliveryFields as nt, buildChannelAccountSnapshot as o, buildPairingReply as on, setCommandLaneConcurrency as or, persistBrowserProxyFiles as ot, resolveAnnounceTargetFromKey as p, provider_dispatcher_exports as pn, stripHeartbeatToken as pr, loadSymiPlugins as pt, inferLegacyName as q, resolveTtsAutoMode as qn, setCliSessionId as qt, appendCronStyleCurrentTimeLine as r, getHookType as rn, getQueueSize as rr, CHANNEL_TARGETS_DESCRIPTION as rt, formatChannelAllowFrom as s, resolveMentionGating as sn, waitForActiveTasks as sr, sniffMimeFromBase64 as st, getReplyFromConfig as t, buildSafeExternalPrompt as tn, OPENAI_TTS_VOICES as tr, hasLegacyDeliveryHints as tt, buildDefaultToolPolicyPipelineSteps as u, recordPendingHistoryEntryIfEnabled as un, DEFAULT_HEARTBEAT_EVERY as ur, resolveHeartbeatReasonKind as ut, loadCombinedSessionStoreForGateway as v, createInboundDebouncer as vn, formatRemainingShort as vr, formatUsageReportLines as vt, ensureOutboundSessionEntry as w, shouldComputeCommandAuthorized as wn, peekSystemEventEntries as wr, requestBodyErrorToText as wt, resolveGatewaySessionStoreTarget as x, resolveEnvelopeFormatOptions as xn, parseVerboseOverride as xr, resolveCommitHash as xt, loadSessionEntry as y, resolveInboundDebounceMs as yn, applyModelOverrideToSessionEntry as yr, formatUsageWindowSummary as yt, formatRestartSentinelMessage as z, getAgentRunContext as zn, createOutboundSendDeps$1 as zt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as randomIdempotencyKey, n as callGateway } from "./call-
|
|
1
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-CAGvQYXj.js";
|
|
2
2
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
|
|
3
3
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-DZCCI6Uk.js";
|
|
4
4
|
import { n as withProgress } from "./progress-HK2tT7Yf.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
|
|
2
|
-
import { a as randomIdempotencyKey, n as callGateway } from "./call-
|
|
2
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-BkJK3eYP.js";
|
|
3
3
|
import { n as withProgress } from "./progress-WhkkDU0H.js";
|
|
4
4
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-D3rffA64.js";
|
|
5
5
|
|
|
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
|
|
|
10
10
|
import "./skills-D_oCiaQn.js";
|
|
11
11
|
import "./manifest-registry-D5bnO5uA.js";
|
|
12
12
|
import { H as VERSION, W as loadDotEnv } from "./config-DXt3pc08.js";
|
|
13
|
-
import "./client-
|
|
14
|
-
import "./call-
|
|
13
|
+
import "./client-Cmq13-uF.js";
|
|
14
|
+
import "./call-CAGvQYXj.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import "./subagent-registry-
|
|
17
|
+
import "./subagent-registry-B1HJJs3Q.js";
|
|
18
18
|
import "./sessions-BPD85pWA.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
52
52
|
import "./thinking-8sKPnzpp.js";
|
|
53
53
|
import "./models-config-J1x_DaPn.js";
|
|
54
54
|
import "./reply-prefix-BUN71nd5.js";
|
|
55
|
-
import "./memory-cli-
|
|
56
|
-
import "./manager-
|
|
55
|
+
import "./memory-cli-eSWCbEiS.js";
|
|
56
|
+
import "./manager-B60Ncruq.js";
|
|
57
57
|
import "./gemini-auth-DEakvf-D.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
59
59
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -94,17 +94,17 @@ import "./cli-utils-CI_KkT8q.js";
|
|
|
94
94
|
import "./help-format-nY42tGMB.js";
|
|
95
95
|
import "./progress-HK2tT7Yf.js";
|
|
96
96
|
import "./replies-Sxbew659.js";
|
|
97
|
-
import "./onboard-helpers-
|
|
97
|
+
import "./onboard-helpers-DjlGq6iG.js";
|
|
98
98
|
import "./prompt-style-BxVdnrLq.js";
|
|
99
99
|
import "./pairing-labels-BHx_CdbP.js";
|
|
100
|
-
import "./pi-tools.policy-
|
|
100
|
+
import "./pi-tools.policy-o0ytjRqu.js";
|
|
101
101
|
import { t as ensureSymiCliOnPath } from "./path-env-CaiY2aOj.js";
|
|
102
102
|
import "./catalog-KcLvtTfa.js";
|
|
103
103
|
import "./note-DewoEWtc.js";
|
|
104
104
|
import "./plugin-auto-enable-pQEg2Mly.js";
|
|
105
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
105
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-kiYkB_km.js";
|
|
106
106
|
import { t as assertSupportedRuntime } from "./runtime-guard-BofkqBu7.js";
|
|
107
|
-
import { t as emitCliBanner } from "./banner-
|
|
107
|
+
import { t as emitCliBanner } from "./banner-CiHQEfyr.js";
|
|
108
108
|
import "./doctor-config-flow-B2dVxbL7.js";
|
|
109
109
|
import { n as ensureConfigReady } from "./config-guard-BvqCjFPk.js";
|
|
110
110
|
import process$1 from "node:process";
|
|
@@ -119,7 +119,7 @@ const routeHealth = {
|
|
|
119
119
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
120
120
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
121
121
|
if (timeoutMs === null) return false;
|
|
122
|
-
const { healthCommand } = await import("./health-
|
|
122
|
+
const { healthCommand } = await import("./health-DMy1nA4K.js").then((n) => n.i);
|
|
123
123
|
await healthCommand({
|
|
124
124
|
json,
|
|
125
125
|
timeoutMs,
|
|
@@ -139,7 +139,7 @@ const routeStatus = {
|
|
|
139
139
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
140
140
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
141
141
|
if (timeoutMs === null) return false;
|
|
142
|
-
const { statusCommand } = await import("./status-
|
|
142
|
+
const { statusCommand } = await import("./status-Qt6QDFJ1.js").then((n) => n.t);
|
|
143
143
|
await statusCommand({
|
|
144
144
|
json,
|
|
145
145
|
deep,
|
|
@@ -173,7 +173,7 @@ const routeAgentsList = {
|
|
|
173
173
|
run: async (argv) => {
|
|
174
174
|
const json = hasFlag(argv, "--json");
|
|
175
175
|
const bindings = hasFlag(argv, "--bindings");
|
|
176
|
-
const { agentsListCommand } = await import("./agents-
|
|
176
|
+
const { agentsListCommand } = await import("./agents-BhhAcFrX.js").then((n) => n.t);
|
|
177
177
|
await agentsListCommand({
|
|
178
178
|
json,
|
|
179
179
|
bindings
|
|
@@ -190,7 +190,7 @@ const routeMemoryStatus = {
|
|
|
190
190
|
const deep = hasFlag(argv, "--deep");
|
|
191
191
|
const index = hasFlag(argv, "--index");
|
|
192
192
|
const verbose = hasFlag(argv, "--verbose");
|
|
193
|
-
const { runMemoryStatus } = await import("./memory-cli-
|
|
193
|
+
const { runMemoryStatus } = await import("./memory-cli-eSWCbEiS.js").then((n) => n.t);
|
|
194
194
|
await runMemoryStatus({
|
|
195
195
|
agent,
|
|
196
196
|
json,
|
|
@@ -244,7 +244,7 @@ const routes = [
|
|
|
244
244
|
const pathArg = getCommandPositionals(argv)[2];
|
|
245
245
|
if (!pathArg) return false;
|
|
246
246
|
const json = hasFlag(argv, "--json");
|
|
247
|
-
const { runConfigGet } = await import("./config-cli-
|
|
247
|
+
const { runConfigGet } = await import("./config-cli-B7ZvHIMY.js");
|
|
248
248
|
await runConfigGet({
|
|
249
249
|
path: pathArg,
|
|
250
250
|
json
|
|
@@ -257,7 +257,7 @@ const routes = [
|
|
|
257
257
|
run: async (argv) => {
|
|
258
258
|
const pathArg = getCommandPositionals(argv)[2];
|
|
259
259
|
if (!pathArg) return false;
|
|
260
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
260
|
+
const { runConfigUnset } = await import("./config-cli-B7ZvHIMY.js");
|
|
261
261
|
await runConfigUnset({ path: pathArg });
|
|
262
262
|
return true;
|
|
263
263
|
}
|
|
@@ -271,7 +271,7 @@ const routes = [
|
|
|
271
271
|
const local = hasFlag(argv, "--local");
|
|
272
272
|
const json = hasFlag(argv, "--json");
|
|
273
273
|
const plain = hasFlag(argv, "--plain");
|
|
274
|
-
const { modelsListCommand } = await import("./models-
|
|
274
|
+
const { modelsListCommand } = await import("./models-B5H41UsH.js").then((n) => n.t);
|
|
275
275
|
await modelsListCommand({
|
|
276
276
|
all,
|
|
277
277
|
local,
|
|
@@ -302,7 +302,7 @@ const routes = [
|
|
|
302
302
|
const plain = hasFlag(argv, "--plain");
|
|
303
303
|
const check = hasFlag(argv, "--check");
|
|
304
304
|
const probe = hasFlag(argv, "--probe");
|
|
305
|
-
const { modelsStatusCommand } = await import("./models-
|
|
305
|
+
const { modelsStatusCommand } = await import("./models-B5H41UsH.js").then((n) => n.t);
|
|
306
306
|
await modelsStatusCommand({
|
|
307
307
|
json,
|
|
308
308
|
plain,
|
|
@@ -380,7 +380,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
380
380
|
assertSupportedRuntime();
|
|
381
381
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
382
382
|
enableConsoleCapture();
|
|
383
|
-
const { buildProgram } = await import("./program-
|
|
383
|
+
const { buildProgram } = await import("./program-8Zg4CY5d.js");
|
|
384
384
|
const program = buildProgram();
|
|
385
385
|
installUnhandledRejectionHandler();
|
|
386
386
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -412,10 +412,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
412
412
|
const { getProgramContext } = await import("./program-context-DeZ44oQ9.js").then((n) => n.n);
|
|
413
413
|
const ctx = getProgramContext(program);
|
|
414
414
|
if (ctx) {
|
|
415
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
415
|
+
const { registerCoreCliByName } = await import("./command-registry-B8LVEWW9.js").then((n) => n.t);
|
|
416
416
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
417
417
|
}
|
|
418
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
418
|
+
const { registerSubCliByName } = await import("./register.subclis-CQtXpheE.js").then((n) => n.a);
|
|
419
419
|
await registerSubCliByName(program, primary);
|
|
420
420
|
}
|
|
421
421
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -424,7 +424,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
424
424
|
primary,
|
|
425
425
|
hasBuiltinPrimary
|
|
426
426
|
})) {
|
|
427
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
427
|
+
const { registerPluginCliCommands } = await import("./cli-DUiSlxsb.js");
|
|
428
428
|
const { loadConfig } = await import("./config-DXt3pc08.js").then((n) => n.t);
|
|
429
429
|
registerPluginCliCommands(program, loadConfig());
|
|
430
430
|
}
|
|
@@ -9,8 +9,8 @@ import "./frontmatter-B8duUx_6.js";
|
|
|
9
9
|
import "./skills-D_oCiaQn.js";
|
|
10
10
|
import "./manifest-registry-D5bnO5uA.js";
|
|
11
11
|
import { i as loadConfig, r as createConfigIO } from "./config-DXt3pc08.js";
|
|
12
|
-
import "./client-
|
|
13
|
-
import "./call-
|
|
12
|
+
import "./client-Cmq13-uF.js";
|
|
13
|
+
import "./call-CAGvQYXj.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
16
|
import "./sessions-BPD85pWA.js";
|
|
@@ -42,10 +42,10 @@ import "./workspace-dirs-DVn-uDvF.js";
|
|
|
42
42
|
import { i as readChannelAllowFromStore } from "./pairing-store-B2viSnRj.js";
|
|
43
43
|
import { t as formatDocsLink } from "./links-CxyMXTsn.js";
|
|
44
44
|
import { t as formatHelpExamples } from "./help-format-nY42tGMB.js";
|
|
45
|
-
import "./pi-tools.policy-
|
|
45
|
+
import "./pi-tools.policy-o0ytjRqu.js";
|
|
46
46
|
import "./dangerous-tools-Cw6NBIXW.js";
|
|
47
47
|
import "./skill-scanner-BV3QHmsf.js";
|
|
48
|
-
import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-
|
|
48
|
+
import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-Dr_8rC6G.js";
|
|
49
49
|
import "./dm-policy-shared-JiSNSaKz.js";
|
|
50
50
|
import path from "node:path";
|
|
51
51
|
import fs from "node:fs/promises";
|