@symerian/symi 2.8.14 → 2.8.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{accounts-wWWkC0JH.js → accounts-3dCrO3oZ.js} +1 -1
- package/dist/{accounts-BsgY6sda.js → accounts-BRw8yhIW.js} +21 -21
- package/dist/{accounts-Bsg6r6H7.js → accounts-BuZxOb3B.js} +1 -1
- 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/{active-listener-AVNn5_U9.js → active-listener-BVZOh2T1.js} +1 -1
- package/dist/{agent-scope-Cpm7a9ss.js → agent-scope-CpEJ0B88.js} +3 -3
- package/dist/{agents-DlAvDWxz.js → agents-D6V12K_e.js} +5 -5
- package/dist/{agents.config-Dd-11klq.js → agents.config-BIIkG8rN.js} +1 -1
- package/dist/{agents.config-BKKMbeeE.js → agents.config-C0iGGY9q.js} +1 -1
- package/dist/{audio-preflight-rrz8KyHd.js → audio-preflight-rjCWpcfE.js} +29 -29
- package/dist/{audit-CB97BqHJ.js → audit-Dr_8rC6G.js} +2 -2
- package/dist/{audit-BhCJV2l6.js → audit-xiwEIT96.js} +2 -2
- package/dist/{auth-choice-CRQRPwQt.js → auth-choice-BcCUgEa4.js} +2 -2
- package/dist/{auth-choice-C6woT6k2.js → auth-choice-jyLLyEpy.js} +2 -2
- package/dist/{auth-profiles-BzB_Exeq.js → auth-profiles-C2vj6htZ.js} +17 -17
- package/dist/{banner-DrNha2_N.js → banner-DSRsscTp.js} +1 -1
- package/dist/{bindings-xcRox9xM.js → bindings-BsHoBLIE.js} +2 -2
- 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 +54 -54
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +54 -54
- package/dist/{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-activity-CzHaIUAp.js → channel-activity-D8QD7GoV.js} +1 -1
- package/dist/{channel-options-D8q9En4T.js → channel-options-BSdsxwj0.js} +1 -1
- package/dist/{channel-options-DYy2sCfN.js → channel-options-Cr_if7it.js} +1 -1
- package/dist/{channel-web-CRBU4eZk.js → channel-web-C3gcPe4C.js} +1 -1
- package/dist/{channels-cli-Dk3kUw9A.js → channels-cli-Bn6mTlYq.js} +9 -9
- package/dist/{channels-cli-BUk43hHR.js → channels-cli-O7MxdB1l.js} +9 -9
- package/dist/{chrome-DwXnykXR.js → chrome-C08Z0XAa.js} +21 -21
- package/dist/{chunk-BcxcL1U3.js → chunk-BRe1o4Af.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-5gWsnsB7.js → cli-CLOf6U-k.js} +6 -6
- package/dist/{cli-DjZzJy3t.js → cli-RIwsXnB-.js} +6 -6
- 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-LjFltTU9.js → command-registry-BiznuVYK.js} +11 -11
- package/dist/{commands-registry-ByGkL6hs.js → commands-registry-DxbSTLNQ.js} +4 -4
- package/dist/{completion-cli-Cf6fYZWL.js → completion-cli-BVG9ZtBG.js} +2 -2
- package/dist/{completion-cli-BVTGy8th.js → completion-cli-D-xVtDhj.js} +1 -1
- package/dist/{config-C4WnAd-c.js → config-BkZ9HOKT.js} +17 -17
- package/dist/{config-cli-EgWrCemi.js → config-cli-CDTQQFyj.js} +1 -1
- package/dist/{config-cli-C7DIbGxx.js → config-cli-zd2upqe_.js} +1 -1
- package/dist/{configure-B67uIawm.js → configure-BHdczngQ.js} +6 -6
- package/dist/{configure-Bk-snuxh.js → configure-Cu4CiLWY.js} +6 -6
- package/dist/{consolidate-DRtVvG2U.js → consolidate-07QMweFF.js} +4 -4
- 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/{deliver-SLYAWE19.js → deliver-qUx-eLKt.js} +20 -20
- 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/{diagnostic-DTkZsRNM.js → diagnostic-BUcR3Meg.js} +1 -1
- package/dist/{doctor-completion-lE_33xaY.js → doctor-completion-ClveVbW_.js} +1 -1
- package/dist/{doctor-completion-By066O3p.js → doctor-completion-e-Ke-FnA.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-CB65jmJQ.js → env-BDXYbTKj.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/{frontmatter-CT1M0pRK.js → frontmatter-CTR5f_Ez.js} +4 -4
- package/dist/{gateway-cli-DqEgqVKC.js → gateway-cli-CBseg7zA.js} +34 -16
- package/dist/{gateway-cli-C6uT2x34.js → gateway-cli-DGMuMxMT.js} +34 -16
- 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/{gemini-auth-D80BsXr2.js → gemini-auth-BefM10YB.js} +1 -1
- package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
- package/dist/{glass-ui-ws-CLAUHeZR.js → glass-ui-ws-B0WonpHP.js} +13 -13
- package/dist/{glass-ui-ws-77TY57IO.js → glass-ui-ws-BU6qyCvM.js} +13 -13
- package/dist/{health-2jkjZxY8.js → health-BrpUi4qW.js} +2 -2
- package/dist/{health-CvMHgR-L.js → health-d4gqJJCY.js} +2 -2
- package/dist/{hooks-cli-CRZySOiz.js → hooks-cli-CBStbWME.js} +7 -7
- package/dist/{hooks-cli-DSaezFsD.js → hooks-cli-Dm2SU8AY.js} +7 -7
- package/dist/{image-BHF_fnIp.js → image-C6rCON9L.js} +4 -4
- package/dist/{image-ops-CY7v6vvp.js → image-ops-C7CauEK8.js} +16 -16
- package/dist/index.js +11 -11
- package/dist/{internal-FNqguZSK.js → internal-DjnxpF_K.js} +11 -11
- package/dist/{ir-D6MiJpAy.js → ir-7tMVY7D_.js} +4 -4
- package/dist/llm-slug-generator.js +54 -54
- package/dist/{local-roots-tcdaIEhh.js → local-roots-ClipCZ9s.js} +5 -5
- package/dist/{login-D4ZkmSrY.js → login-D4rZWBXe.js} +7 -7
- package/dist/{login-qr-C9ftIq3n.js → login-qr-DdAVHOEC.js} +12 -12
- 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-DxCmjSfP.js → manager-B-5p7UGu.js} +25 -25
- package/dist/{manager-DrmlegR2.js → manager-BOvfAdfG.js} +2 -2
- package/dist/{manager-BtWtmpxN.js → manager-CtwApSQo.js} +2 -2
- package/dist/{manager-DDELj5o9.js → manager-DDboJTtn.js} +2 -2
- package/dist/{manifest-registry-BvGv6lp9.js → manifest-registry-CBCGTsIb.js} +19 -19
- package/dist/{markdown-tables-CE-qSMGB.js → markdown-tables-x2Xe2UXh.js} +1 -1
- package/dist/{memory-cli-ENCASZJk.js → memory-cli-BOxWccJu.js} +3 -3
- package/dist/{memory-cli-Qgbcxvuf.js → memory-cli-D2QHGsxh.js} +3 -3
- package/dist/{message-channel-lwVT8QjK.js → message-channel-OlFBYAw8.js} +1 -1
- package/dist/{models-COhUz7M9.js → models-Cn1cbmce.js} +3 -3
- package/dist/{models-cli-CYvXBvmZ.js → models-cli-CXW-3Zot.js} +8 -8
- package/dist/{models-cli-CCxYcF4R.js → models-cli-Cdkkr4--.js} +7 -7
- 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-CQNUYBIp.js → onboard-BJ9vVhFw.js} +3 -3
- package/dist/{onboard-fVpLVnwg.js → onboard-UB4D1vwP.js} +3 -3
- package/dist/{onboard-channels-CWw8G-6n.js → onboard-channels-Cfc9EhLj.js} +1 -1
- package/dist/{onboard-channels-9erx07qe.js → onboard-channels-Gfgyvx9N.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-D-OIkDwZ.js → onboarding-BfSg5GnT.js} +7 -7
- package/dist/{onboarding-CtEiH9WG.js → onboarding-Bv89FLSZ.js} +7 -7
- package/dist/{onboarding.finalize-BY3HNjX4.js → onboarding.finalize-B8MFYp8E.js} +12 -12
- package/dist/{onboarding.finalize-DTbpLV-T.js → onboarding.finalize-DMJTZPb_.js} +11 -11
- 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/{outbound-C6Gm22UF.js → outbound-Zmd7UyQH.js} +7 -7
- package/dist/{outbound-attachment-BWyKV1Gy.js → outbound-attachment-DeCnZT-8.js} +2 -2
- package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
- package/dist/{pi-auth-json-Bv1NzJdR.js → pi-auth-json-RXOlh8ar.js} +1 -1
- package/dist/{pi-embedded-CdOdQw2i.js → pi-embedded-CzKPTG9K.js} +149 -75
- package/dist/{pi-embedded-helpers-DwQ9wJeT.js → pi-embedded-helpers-P13adotN.js} +73 -73
- package/dist/{plugin-registry-BrJ0-qlu.js → plugin-registry-CQAtbgft.js} +1 -1
- package/dist/{plugin-registry-Cuc8ORuR.js → plugin-registry-R7nyNT_4.js} +1 -1
- package/dist/plugin-sdk/{channel-web-t8UOP6Zu.js → channel-web-D1qaoERA.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/index.js +3 -3
- package/dist/plugin-sdk/infra/long-task-state.d.ts +34 -0
- package/dist/plugin-sdk/{manager-BPm5oefC.js → manager-CVuMChKq.js} +2 -2
- package/dist/plugin-sdk/{reply-BKAHTugL.js → reply-LZax-i7K.js} +149 -75
- package/dist/plugin-sdk/{synthesis-CVF7Fwhd.js → synthesis-DnknLqQP.js} +2 -2
- package/dist/plugin-sdk/{web-D0DsmFvw.js → web-DGGSyBgc.js} +3 -3
- package/dist/{plugins-v8k1XVOy.js → plugins-BzmbgY7s.js} +9 -9
- package/dist/{plugins-cli-DFmriy-c.js → plugins-cli-CyaM2yPX.js} +7 -7
- package/dist/{plugins-cli-BDalhI46.js → plugins-cli-DGWVBlc8.js} +7 -7
- package/dist/{program-DKh41c2a.js → program-2jsiC85C.js} +12 -12
- package/dist/{program-context-Cq7pqOrw.js → program-context-DQg-ZH6A.js} +30 -30
- package/dist/{prompt-select-styled-DvvSE_ni.js → prompt-select-styled-CQJkA--o.js} +8 -8
- package/dist/{prompt-select-styled-BFCAZLwK.js → prompt-select-styled-Csj7D4id.js} +8 -8
- package/dist/{provider-auth-helpers-DXppgV1l.js → provider-auth-helpers-C1rUolDI.js} +1 -1
- package/dist/{provider-auth-helpers-B-LkDxxi.js → provider-auth-helpers-DSq3qfws.js} +1 -1
- package/dist/{push-apns-DCA47WA5.js → push-apns-Dv3XQClG.js} +1 -1
- package/dist/{push-apns-DvudhEAb.js → push-apns-FvyXV3Um.js} +1 -1
- package/dist/{pw-ai-XGqnSWju.js → pw-ai-CeWN4iD9.js} +11 -11
- package/dist/{qmd-manager-CbRJhonG.js → qmd-manager-BXkbA8Y9.js} +8 -8
- package/dist/{register.agent-_BV5KyFb.js → register.agent-Cs5QU2Cd.js} +11 -11
- package/dist/{register.agent-aFj_SMi3.js → register.agent-DCIdzwFG.js} +10 -10
- package/dist/{register.configure-Dx0Uhmlz.js → register.configure-BBKyd--9.js} +13 -13
- package/dist/{register.configure-CvOoD5gE.js → register.configure-C64fHXoT.js} +13 -13
- package/dist/{register.maintenance-CMeJR7DG.js → register.maintenance-D99fy4mM.js} +13 -13
- package/dist/{register.maintenance-BuZpoSik.js → register.maintenance-DRUMeCun.js} +12 -12
- package/dist/{register.message-xxGePuRC.js → register.message-BL30Nofx.js} +7 -7
- package/dist/{register.message-qysZPg3G.js → register.message-CelO3y3f.js} +7 -7
- package/dist/{register.onboard-1MP2I0q4.js → register.onboard-Cb9K2U81.js} +9 -9
- package/dist/{register.onboard-D4Aow7Gc.js → register.onboard-j6fg7rSF.js} +9 -9
- package/dist/{register.setup-BT74aXzA.js → register.setup-BfbJZE5C.js} +9 -9
- package/dist/{register.setup-DzliKkWh.js → register.setup-xyGsh3Fi.js} +9 -9
- package/dist/{register.status-health-sessions-D7VYZlrU.js → register.status-health-sessions-BE4TcJ1J.js} +9 -9
- package/dist/{register.status-health-sessions-B3K2gZ72.js → register.status-health-sessions-CpnBFwbx.js} +9 -9
- package/dist/{register.subclis-BCy0IDRv.js → register.subclis-8cGjLTmN.js} +20 -20
- package/dist/{registry-X6fUE0K7.js → registry-DYq1AYOv.js} +19 -19
- package/dist/{replies-86F3PldM.js → replies-CUWXgyx2.js} +3 -3
- package/dist/{reply-Dg1ZU3DZ.js → reply-CaGCmutq.js} +125 -78
- package/dist/{reply-prefix-CI_IdwqH.js → reply-prefix-CvEIl6_d.js} +1 -1
- package/dist/{resolve-route-BgSuN9c6.js → resolve-route-Jy5dFY67.js} +4 -4
- package/dist/{retry-4oEAHckB.js → retry-B-y5suGA.js} +1 -1
- package/dist/{rpc-DYHXLh0P.js → rpc-C3ZUAjXK.js} +1 -1
- package/dist/{rpc-DdlEeEXT.js → rpc-St4eAsjR.js} +1 -1
- package/dist/{run-main-OS2aFAJ2.js → run-main-BzZuJeMa.js} +20 -20
- package/dist/{runner-B5oNTtgf.js → runner-D633VT13.js} +22 -22
- package/dist/{security-cli-BadXDWTh.js → security-cli-B8gavsuQ.js} +3 -3
- package/dist/{security-cli-D5y28-RH.js → security-cli-BSvxNP9m.js} +3 -3
- package/dist/{send-cCTQjuOZ.js → send-BKo1T3HF.js} +6 -6
- package/dist/{send-BTfqlrYd.js → send-Bb4it0te.js} +18 -18
- package/dist/{send-CSydU49L.js → send-C0QjmPaf.js} +10 -10
- package/dist/{send-Du-IfSne.js → send-Cpk3Ti6-.js} +6 -6
- package/dist/{send-ASDB3AzC.js → send-DFtnbzqy.js} +7 -7
- package/dist/{server-methods-BszFAkbJ.js → server-methods-BKlZejQC.js} +57 -13
- package/dist/{server-methods-D_iKJ-sj.js → server-methods-DEV38b_O.js} +57 -13
- package/dist/{server-node-events-CENHuAVz.js → server-node-events-3FL5gBKp.js} +7 -7
- package/dist/{server-node-events-uBu3XOjd.js → server-node-events-BX5JLPyV.js} +7 -7
- package/dist/{session-D8qLj_xN.js → session-BTeY6Gn2.js} +8 -8
- package/dist/{skill-commands-BcOduw6G.js → skill-commands-DG2lcozb.js} +16 -16
- package/dist/{skills-BrYDT4Jr.js → skills-CXxrn_e2.js} +24 -24
- package/dist/{sqlite-P-gMg7fi.js → sqlite-BN_hIcmu.js} +3 -3
- package/dist/{status-CBnCPUMG.js → status-L76LBY6B.js} +6 -6
- package/dist/{status-BvbJavmh.js → status-h7VP4Vpq.js} +1 -1
- package/dist/{status-DJAeKN4G.js → status-uBCH1pzQ.js} +1 -1
- package/dist/{status-CA0mUJld.js → status-zNfi0s3F.js} +6 -6
- package/dist/{store-Ceagbc4L.js → store-01F_JM7O.js} +6 -6
- package/dist/{subagent-registry-C1OyZl-M.js → subagent-registry-DlIPWOrx.js} +125 -78
- package/dist/{subsystem-CzXhCdeY.js → subsystem-BjyjJF-d.js} +1 -1
- package/dist/{synthesis-brHrnNF2.js → synthesis-1XabTYcd.js} +6 -6
- package/dist/{synthesis-z5B41p_r.js → synthesis-BfB-Lbjy.js} +6 -6
- package/dist/{synthesis-DuqSkHEr.js → synthesis-D1xCmGZi.js} +54 -54
- package/dist/{synthesis-DNTyB7JY.js → synthesis-D3EObLPS.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/{tables-qbCoZrYA.js → tables-DoG-pFrf.js} +1 -1
- package/dist/{target-errors-uNitqCCT.js → target-errors-DeJTztcq.js} +2 -2
- package/dist/{thinking-BV7SCNJP.js → thinking-BprCy23Z.js} +5 -5
- package/dist/{tokens-Bl5R3wPD.js → tokens-W0JzCJJM.js} +1 -1
- package/dist/{tool-images-JxNglLSr.js → tool-images-SqqWIT22.js} +2 -2
- package/dist/{tool-loop-detection-dfE771kg.js → tool-loop-detection-Dj9h1ogr.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-Czg3pdBc.js → unified-runner-KFxqPxWe.js} +378 -304
- package/dist/{update-cli-0lyGyl31.js → update-cli-CwtAWyeY.js} +14 -14
- package/dist/{update-cli-CIzkVfmj.js → update-cli-bTfRfI4b.js} +13 -13
- package/dist/{update-runner-D7-LDziQ.js → update-runner-BixvbAbN.js} +1 -1
- package/dist/{update-runner-aYPcKYAN.js → update-runner-DeT8NIX6.js} +1 -1
- package/dist/{web-Wk1ay1eQ.js → web-Bwrtjkmy.js} +2 -2
- package/dist/{web-CN7wnU7w.js → web-CO0AUYgu.js} +6 -6
- package/dist/{web-BJ5dUZso.js → web-N4FG6nyF.js} +7 -7
- package/dist/{web-B90A99YU.js → web-YSRcfzpP.js} +58 -58
- package/dist/{whatsapp-actions-llk0IUn2.js → whatsapp-actions-DmVpLXmh.js} +23 -23
- package/dist/{workspace-CywO4ayZ.js → workspace-DscDraUb.js} +27 -27
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +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/paths-CYmyCDsE.js +0 -212
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for reading the on-disk state files written by
|
|
3
|
+
* skills/long-task/scripts/detach-task.sh:
|
|
4
|
+
*
|
|
5
|
+
* task-<id>.pid — PID of the detached process
|
|
6
|
+
* task-<id>.cmd — literal command line
|
|
7
|
+
* task-<id>.started — ISO-8601 start timestamp
|
|
8
|
+
* task-<id>.log — combined stdout + stderr
|
|
9
|
+
* task-<id>.status — current state line
|
|
10
|
+
* task-<id>.archived — tombstone written by the janitor when it sweeps
|
|
11
|
+
* a finished task more than 7 days old
|
|
12
|
+
*
|
|
13
|
+
* Both the agent-facing tools (task_list / task_cancel) and the gateway's
|
|
14
|
+
* tasks.list RPC consume this helper so the two views stay in sync.
|
|
15
|
+
*/
|
|
16
|
+
export declare const TASK_FILE_PREFIX = "task-";
|
|
17
|
+
export declare const TASK_ID_RE: RegExp;
|
|
18
|
+
export declare const TASK_FILE_SUFFIXES: readonly [".pid", ".status", ".started", ".cmd", ".log", ".archived"];
|
|
19
|
+
export type TaskInfo = {
|
|
20
|
+
id: string;
|
|
21
|
+
pid: number | null;
|
|
22
|
+
alive: boolean;
|
|
23
|
+
archived: boolean;
|
|
24
|
+
status: string;
|
|
25
|
+
started: string | null;
|
|
26
|
+
cmd: string | null;
|
|
27
|
+
pidPath: string;
|
|
28
|
+
statusPath: string;
|
|
29
|
+
archivedPath: string;
|
|
30
|
+
logPath: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function defaultIsPidAlive(pid: number): boolean;
|
|
33
|
+
export declare function readTaskInfo(workdir: string, id: string, isPidAlive?: (pid: number) => boolean): Promise<TaskInfo>;
|
|
34
|
+
export declare function listTasksInWorkdir(workdir: string, isPidAlive?: (pid: number) => boolean): Promise<TaskInfo[]>;
|
|
@@ -41,7 +41,7 @@ const DEFAULT_MMR_LAMBDA = .7;
|
|
|
41
41
|
const DEFAULT_TEMPORAL_DECAY_ENABLED = true;
|
|
42
42
|
const DEFAULT_TEMPORAL_DECAY_HALF_LIFE_DAYS = 30;
|
|
43
43
|
const DEFAULT_CACHE_ENABLED = true;
|
|
44
|
-
const DEFAULT_SOURCES = ["memory"];
|
|
44
|
+
const DEFAULT_SOURCES = ["memory", "sessions"];
|
|
45
45
|
function normalizeSources(sources, sessionMemoryEnabled) {
|
|
46
46
|
const normalized = /* @__PURE__ */ new Set();
|
|
47
47
|
const input = sources?.length ? sources : DEFAULT_SOURCES;
|
|
@@ -3970,7 +3970,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3970
3970
|
* to bypass the min-interval guard (CLI use).
|
|
3971
3971
|
*/
|
|
3972
3972
|
async runL3CycleIfDue(params) {
|
|
3973
|
-
const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-
|
|
3973
|
+
const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-DnknLqQP.js")]);
|
|
3974
3974
|
const synthesize = createSynthesizer({
|
|
3975
3975
|
cfg: this.cfg,
|
|
3976
3976
|
agentId: this.agentId,
|
|
@@ -53,7 +53,7 @@ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decod
|
|
|
53
53
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
|
|
54
54
|
import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
|
|
55
55
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
|
|
56
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
56
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CVuMChKq.js";
|
|
57
57
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
|
|
58
58
|
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CGhw9mO3.js";
|
|
59
59
|
import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
|
|
@@ -4006,6 +4006,31 @@ const SessionsUsageParamsSchema = Type.Object({
|
|
|
4006
4006
|
includeContextWeight: Type.Optional(Type.Boolean())
|
|
4007
4007
|
}, { additionalProperties: false });
|
|
4008
4008
|
|
|
4009
|
+
//#endregion
|
|
4010
|
+
//#region src/gateway/protocol/schema/tasks.ts
|
|
4011
|
+
/**
|
|
4012
|
+
* tasks.list — enumerates long-running detached tasks across configured
|
|
4013
|
+
* agent workspaces. Optional `workdir` override scans a single absolute
|
|
4014
|
+
* directory instead.
|
|
4015
|
+
*/
|
|
4016
|
+
const TasksListParamsSchema = Type.Object({ workdir: Type.Optional(Type.String()) }, { additionalProperties: false });
|
|
4017
|
+
const TaskInfoSchema = Type.Object({
|
|
4018
|
+
id: Type.String(),
|
|
4019
|
+
agentId: Type.Optional(Type.String()),
|
|
4020
|
+
workdir: Type.String(),
|
|
4021
|
+
pid: Type.Union([Type.Integer(), Type.Null()]),
|
|
4022
|
+
alive: Type.Boolean(),
|
|
4023
|
+
archived: Type.Boolean(),
|
|
4024
|
+
status: Type.String(),
|
|
4025
|
+
started: Type.Union([Type.String(), Type.Null()]),
|
|
4026
|
+
cmd: Type.Union([Type.String(), Type.Null()]),
|
|
4027
|
+
pidPath: Type.String(),
|
|
4028
|
+
statusPath: Type.String(),
|
|
4029
|
+
archivedPath: Type.String(),
|
|
4030
|
+
logPath: Type.String()
|
|
4031
|
+
}, { additionalProperties: false });
|
|
4032
|
+
const TasksListResultSchema = Type.Object({ tasks: Type.Array(TaskInfoSchema) }, { additionalProperties: false });
|
|
4033
|
+
|
|
4009
4034
|
//#endregion
|
|
4010
4035
|
//#region src/gateway/protocol/schema/wizard.ts
|
|
4011
4036
|
const WizardRunStatusSchema = Type.Union([
|
|
@@ -4091,6 +4116,7 @@ const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema);
|
|
|
4091
4116
|
const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema);
|
|
4092
4117
|
const validateWakeParams = ajv.compile(WakeParamsSchema);
|
|
4093
4118
|
const validateAgentsListParams = ajv.compile(AgentsListParamsSchema);
|
|
4119
|
+
const validateTasksListParams = ajv.compile(TasksListParamsSchema);
|
|
4094
4120
|
const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema);
|
|
4095
4121
|
const validateAgentsUpdateParams = ajv.compile(AgentsUpdateParamsSchema);
|
|
4096
4122
|
const validateAgentsDeleteParams = ajv.compile(AgentsDeleteParamsSchema);
|
|
@@ -4513,6 +4539,7 @@ const METHOD_SCOPE_GROUPS = {
|
|
|
4513
4539
|
"cron.list",
|
|
4514
4540
|
"cron.status",
|
|
4515
4541
|
"cron.runs",
|
|
4542
|
+
"tasks.list",
|
|
4516
4543
|
"system-presence",
|
|
4517
4544
|
"last-heartbeat",
|
|
4518
4545
|
"node.list",
|
|
@@ -11575,7 +11602,7 @@ async function getMemorySearchManager(params) {
|
|
|
11575
11602
|
const wrapper = new FallbackMemoryManager({
|
|
11576
11603
|
primary,
|
|
11577
11604
|
fallbackFactory: async () => {
|
|
11578
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11605
|
+
const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
|
|
11579
11606
|
return await MemoryIndexManager.get(params);
|
|
11580
11607
|
}
|
|
11581
11608
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -11588,7 +11615,7 @@ async function getMemorySearchManager(params) {
|
|
|
11588
11615
|
}
|
|
11589
11616
|
}
|
|
11590
11617
|
try {
|
|
11591
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11618
|
+
const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
|
|
11592
11619
|
return { manager: await MemoryIndexManager.get(params) };
|
|
11593
11620
|
} catch (err) {
|
|
11594
11621
|
return {
|
|
@@ -33917,7 +33944,7 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
33917
33944
|
"- 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.",
|
|
33918
33945
|
"- Safe status read (inside the monitor turn):",
|
|
33919
33946
|
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
33920
|
-
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing`
|
|
33947
|
+
" 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).",
|
|
33921
33948
|
"- Monitor responsibilities each tick:",
|
|
33922
33949
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
33923
33950
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
@@ -36838,7 +36865,7 @@ async function runAgentTurn(params) {
|
|
|
36838
36865
|
function createDefaultDeps() {
|
|
36839
36866
|
return {
|
|
36840
36867
|
sendMessageWhatsApp: async (...args) => {
|
|
36841
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36868
|
+
const { sendMessageWhatsApp } = await import("./web-DGGSyBgc.js");
|
|
36842
36869
|
return await sendMessageWhatsApp(...args);
|
|
36843
36870
|
},
|
|
36844
36871
|
sendMessageTelegram: async (...args) => {
|
|
@@ -54276,7 +54303,7 @@ function loadWebLoginQr() {
|
|
|
54276
54303
|
return webLoginQrPromise;
|
|
54277
54304
|
}
|
|
54278
54305
|
function loadWebChannel() {
|
|
54279
|
-
webChannelPromise ??= import("./web-
|
|
54306
|
+
webChannelPromise ??= import("./web-DGGSyBgc.js");
|
|
54280
54307
|
return webChannelPromise;
|
|
54281
54308
|
}
|
|
54282
54309
|
function loadWhatsAppActions() {
|
|
@@ -68670,6 +68697,103 @@ function createSubagentsTool(opts) {
|
|
|
68670
68697
|
};
|
|
68671
68698
|
}
|
|
68672
68699
|
|
|
68700
|
+
//#endregion
|
|
68701
|
+
//#region src/infra/long-task-state.ts
|
|
68702
|
+
/**
|
|
68703
|
+
* Shared helpers for reading the on-disk state files written by
|
|
68704
|
+
* skills/long-task/scripts/detach-task.sh:
|
|
68705
|
+
*
|
|
68706
|
+
* task-<id>.pid — PID of the detached process
|
|
68707
|
+
* task-<id>.cmd — literal command line
|
|
68708
|
+
* task-<id>.started — ISO-8601 start timestamp
|
|
68709
|
+
* task-<id>.log — combined stdout + stderr
|
|
68710
|
+
* task-<id>.status — current state line
|
|
68711
|
+
* task-<id>.archived — tombstone written by the janitor when it sweeps
|
|
68712
|
+
* a finished task more than 7 days old
|
|
68713
|
+
*
|
|
68714
|
+
* Both the agent-facing tools (task_list / task_cancel) and the gateway's
|
|
68715
|
+
* tasks.list RPC consume this helper so the two views stay in sync.
|
|
68716
|
+
*/
|
|
68717
|
+
const TASK_FILE_PREFIX = "task-";
|
|
68718
|
+
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
68719
|
+
const TASK_FILE_SUFFIXES = [
|
|
68720
|
+
".pid",
|
|
68721
|
+
".status",
|
|
68722
|
+
".started",
|
|
68723
|
+
".cmd",
|
|
68724
|
+
".log",
|
|
68725
|
+
".archived"
|
|
68726
|
+
];
|
|
68727
|
+
function defaultIsPidAlive(pid) {
|
|
68728
|
+
try {
|
|
68729
|
+
process.kill(pid, 0);
|
|
68730
|
+
return true;
|
|
68731
|
+
} catch (err) {
|
|
68732
|
+
if (err.code === "EPERM") return true;
|
|
68733
|
+
return false;
|
|
68734
|
+
}
|
|
68735
|
+
}
|
|
68736
|
+
async function safeRead(filePath) {
|
|
68737
|
+
try {
|
|
68738
|
+
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
68739
|
+
} catch {
|
|
68740
|
+
return null;
|
|
68741
|
+
}
|
|
68742
|
+
}
|
|
68743
|
+
async function readTaskInfo(workdir, id, isPidAlive = defaultIsPidAlive) {
|
|
68744
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
68745
|
+
const statusPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`);
|
|
68746
|
+
const archivedPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.archived`);
|
|
68747
|
+
const logPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`);
|
|
68748
|
+
const [pidText, status, started, cmd, archived] = await Promise.all([
|
|
68749
|
+
safeRead(pidPath),
|
|
68750
|
+
safeRead(statusPath),
|
|
68751
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
68752
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`)),
|
|
68753
|
+
safeRead(archivedPath)
|
|
68754
|
+
]);
|
|
68755
|
+
let pid = null;
|
|
68756
|
+
if (pidText) {
|
|
68757
|
+
const parsed = Number.parseInt(pidText, 10);
|
|
68758
|
+
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
68759
|
+
}
|
|
68760
|
+
let resolvedStatus;
|
|
68761
|
+
if (status) resolvedStatus = status;
|
|
68762
|
+
else if (archived) resolvedStatus = archived;
|
|
68763
|
+
else resolvedStatus = "missing";
|
|
68764
|
+
return {
|
|
68765
|
+
id,
|
|
68766
|
+
pid,
|
|
68767
|
+
alive: pid !== null && isPidAlive(pid),
|
|
68768
|
+
archived: archived !== null,
|
|
68769
|
+
status: resolvedStatus,
|
|
68770
|
+
started,
|
|
68771
|
+
cmd,
|
|
68772
|
+
pidPath,
|
|
68773
|
+
statusPath,
|
|
68774
|
+
archivedPath,
|
|
68775
|
+
logPath
|
|
68776
|
+
};
|
|
68777
|
+
}
|
|
68778
|
+
async function listTasksInWorkdir(workdir, isPidAlive = defaultIsPidAlive) {
|
|
68779
|
+
let entries;
|
|
68780
|
+
try {
|
|
68781
|
+
entries = await fs.promises.readdir(workdir);
|
|
68782
|
+
} catch {
|
|
68783
|
+
return [];
|
|
68784
|
+
}
|
|
68785
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
68786
|
+
for (const entry of entries) {
|
|
68787
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
68788
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
68789
|
+
const id = entry.slice(5, -suffix.length);
|
|
68790
|
+
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
68791
|
+
break;
|
|
68792
|
+
}
|
|
68793
|
+
}
|
|
68794
|
+
return await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id, isPidAlive)));
|
|
68795
|
+
}
|
|
68796
|
+
|
|
68673
68797
|
//#endregion
|
|
68674
68798
|
//#region src/agents/tools/task-tool.ts
|
|
68675
68799
|
/**
|
|
@@ -68679,21 +68803,14 @@ function createSubagentsTool(opts) {
|
|
|
68679
68803
|
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
68680
68804
|
* the agent's workspace; these tools read and act on those files so the
|
|
68681
68805
|
* agent can answer "what's running?" and kill a task without needing
|
|
68682
|
-
* shell access.
|
|
68806
|
+
* shell access. Shared scanning logic lives in
|
|
68807
|
+
* src/infra/long-task-state.ts so the gateway's tasks.list RPC and these
|
|
68808
|
+
* agent tools agree on every shape detail.
|
|
68683
68809
|
*
|
|
68684
68810
|
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
68685
68811
|
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
68686
68812
|
* agent kill processes it never spawned via path traversal.
|
|
68687
68813
|
*/
|
|
68688
|
-
const TASK_FILE_PREFIX = "task-";
|
|
68689
|
-
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
68690
|
-
const TASK_FILE_SUFFIXES = [
|
|
68691
|
-
".pid",
|
|
68692
|
-
".status",
|
|
68693
|
-
".started",
|
|
68694
|
-
".cmd",
|
|
68695
|
-
".log"
|
|
68696
|
-
];
|
|
68697
68814
|
const ALLOWED_SIGNALS = new Set([
|
|
68698
68815
|
"SIGTERM",
|
|
68699
68816
|
"SIGINT",
|
|
@@ -68725,58 +68842,30 @@ function isPidAlive(pid) {
|
|
|
68725
68842
|
return false;
|
|
68726
68843
|
}
|
|
68727
68844
|
}
|
|
68728
|
-
async function safeRead(filePath) {
|
|
68729
|
-
try {
|
|
68730
|
-
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
68731
|
-
} catch {
|
|
68732
|
-
return null;
|
|
68733
|
-
}
|
|
68734
|
-
}
|
|
68735
68845
|
function resolveWorkdir(deps, override) {
|
|
68736
68846
|
const raw = override?.trim();
|
|
68737
68847
|
if (!raw) return deps.workspaceDir;
|
|
68738
68848
|
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
68739
68849
|
return raw;
|
|
68740
68850
|
}
|
|
68741
|
-
async function readTaskInfo(workdir, id) {
|
|
68742
|
-
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
68743
|
-
const [pidText, status, started, cmd] = await Promise.all([
|
|
68744
|
-
safeRead(pidPath),
|
|
68745
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
|
|
68746
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
68747
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
|
|
68748
|
-
]);
|
|
68749
|
-
let pid = null;
|
|
68750
|
-
if (pidText) {
|
|
68751
|
-
const parsed = Number.parseInt(pidText, 10);
|
|
68752
|
-
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
68753
|
-
}
|
|
68754
|
-
return {
|
|
68755
|
-
id,
|
|
68756
|
-
pid,
|
|
68757
|
-
alive: pid !== null && isPidAlive(pid),
|
|
68758
|
-
status: status ?? "missing",
|
|
68759
|
-
started,
|
|
68760
|
-
cmd,
|
|
68761
|
-
pidPath,
|
|
68762
|
-
statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
|
|
68763
|
-
logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
|
|
68764
|
-
};
|
|
68765
|
-
}
|
|
68766
68851
|
function createTaskListTool(deps) {
|
|
68767
68852
|
return {
|
|
68768
68853
|
label: "Task List",
|
|
68769
68854
|
name: "task_list",
|
|
68770
68855
|
description: `List long-running detached tasks in the agent's workspace.
|
|
68771
68856
|
|
|
68772
|
-
Globs task-<id>.{pid,status,started,cmd,log} files, reads their
|
|
68773
|
-
checks each PID's liveness. Use this to find the task-id of a
|
|
68774
|
-
detach-task before calling task_cancel, or to answer "what's
|
|
68775
|
-
now?" without re-asking the user.
|
|
68776
|
-
|
|
68777
|
-
Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
|
|
68778
|
-
|
|
68779
|
-
|
|
68857
|
+
Globs task-<id>.{pid,status,started,cmd,log,archived} files, reads their
|
|
68858
|
+
state, and checks each PID's liveness. Use this to find the task-id of a
|
|
68859
|
+
running detach-task before calling task_cancel, or to answer "what's
|
|
68860
|
+
running right now?" without re-asking the user.
|
|
68861
|
+
|
|
68862
|
+
Returns: { workdir, tasks: [{ id, pid, alive, status, archived, started, cmd, pidPath, statusPath, archivedPath, logPath }] }.
|
|
68863
|
+
- archived=true means the janitor swept this task's live state files (>7d
|
|
68864
|
+
dead) and replaced them with a tombstone. The canonical end status is
|
|
68865
|
+
preserved in the .archived file. Distinct from "missing" (no tombstone,
|
|
68866
|
+
no live files) which means the task crashed or its workdir was wiped.
|
|
68867
|
+
- Tasks whose .pid file is missing are still listed (alive=false, pid=null)
|
|
68868
|
+
so the agent can spot orphan state files.`,
|
|
68780
68869
|
parameters: TaskListSchema,
|
|
68781
68870
|
execute: async (_toolCallId, args) => {
|
|
68782
68871
|
const override = readStringParam(args, "workdir");
|
|
@@ -68790,34 +68879,19 @@ the agent can spot orphan state files.`,
|
|
|
68790
68879
|
error: err instanceof Error ? err.message : String(err)
|
|
68791
68880
|
});
|
|
68792
68881
|
}
|
|
68793
|
-
let entries;
|
|
68794
68882
|
try {
|
|
68795
|
-
|
|
68796
|
-
|
|
68797
|
-
if (err.code === "ENOENT") return jsonResult({
|
|
68883
|
+
const tasks = await listTasksInWorkdir(workdir, isPidAlive);
|
|
68884
|
+
return jsonResult({
|
|
68798
68885
|
workdir,
|
|
68799
|
-
tasks
|
|
68886
|
+
tasks
|
|
68800
68887
|
});
|
|
68888
|
+
} catch (err) {
|
|
68801
68889
|
return jsonResult({
|
|
68802
68890
|
workdir,
|
|
68803
68891
|
tasks: [],
|
|
68804
68892
|
error: err instanceof Error ? err.message : String(err)
|
|
68805
68893
|
});
|
|
68806
68894
|
}
|
|
68807
|
-
const taskIds = /* @__PURE__ */ new Set();
|
|
68808
|
-
for (const entry of entries) {
|
|
68809
|
-
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
68810
|
-
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
68811
|
-
const id = entry.slice(5, -suffix.length);
|
|
68812
|
-
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
68813
|
-
break;
|
|
68814
|
-
}
|
|
68815
|
-
}
|
|
68816
|
-
const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
|
|
68817
|
-
return jsonResult({
|
|
68818
|
-
workdir,
|
|
68819
|
-
tasks
|
|
68820
|
-
});
|
|
68821
68895
|
}
|
|
68822
68896
|
};
|
|
68823
68897
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./accounts-D9zGZU5t.js";
|
|
2
|
-
import { u as runAgentTurn } from "./reply-
|
|
2
|
+
import { u as runAgentTurn } from "./reply-LZax-i7K.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -49,7 +49,7 @@ import "./image-DFyINnvE.js";
|
|
|
49
49
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
50
50
|
import "./api-key-rotation-CBsLb_4V.js";
|
|
51
51
|
import "./diagnostic-session-state-Wd5tNeQG.js";
|
|
52
|
-
import "./manager-
|
|
52
|
+
import "./manager-CVuMChKq.js";
|
|
53
53
|
import "./sqlite-CmVrFEYD.js";
|
|
54
54
|
import "./commands-registry-BuYpmEx-.js";
|
|
55
55
|
import "./send-CGhw9mO3.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-LZax-i7K.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -45,12 +45,12 @@ import "./pi-embedded-helpers-BL7ZRhGv.js";
|
|
|
45
45
|
import "./paths-A0xdf3yk.js";
|
|
46
46
|
import "./diagnostic-_oc91gNi.js";
|
|
47
47
|
import "./store-Do3t33-c.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
48
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-D1qaoERA.js";
|
|
49
49
|
import "./image-DFyINnvE.js";
|
|
50
50
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
51
|
import "./api-key-rotation-CBsLb_4V.js";
|
|
52
52
|
import "./diagnostic-session-state-Wd5tNeQG.js";
|
|
53
|
-
import "./manager-
|
|
53
|
+
import "./manager-CVuMChKq.js";
|
|
54
54
|
import "./sqlite-CmVrFEYD.js";
|
|
55
55
|
import "./commands-registry-BuYpmEx-.js";
|
|
56
56
|
import "./send-CGhw9mO3.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
2
|
-
import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-
|
|
3
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
2
|
+
import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-DYq1AYOv.js";
|
|
3
|
+
import { t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
5
|
-
import { m as createAccountListHelpers } from "./accounts-
|
|
6
|
-
import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-
|
|
7
|
-
import
|
|
5
|
+
import { m as createAccountListHelpers } from "./accounts-BRw8yhIW.js";
|
|
6
|
+
import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-BsHoBLIE.js";
|
|
7
|
+
import fs from "node:fs";
|
|
8
8
|
|
|
9
9
|
//#region src/channels/plugins/account-action-gate.ts
|
|
10
10
|
function createAccountActionGate(params) {
|
|
@@ -186,7 +186,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
186
186
|
const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
|
|
187
187
|
const accountTokenFile = accountCfg?.tokenFile?.trim();
|
|
188
188
|
if (accountTokenFile) {
|
|
189
|
-
if (!
|
|
189
|
+
if (!fs.existsSync(accountTokenFile)) {
|
|
190
190
|
opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
|
|
191
191
|
return {
|
|
192
192
|
token: "",
|
|
@@ -194,7 +194,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
try {
|
|
197
|
-
const token =
|
|
197
|
+
const token = fs.readFileSync(accountTokenFile, "utf-8").trim();
|
|
198
198
|
if (token) return {
|
|
199
199
|
token,
|
|
200
200
|
source: "tokenFile"
|
|
@@ -219,7 +219,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
219
219
|
const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
|
|
220
220
|
const tokenFile = telegramCfg?.tokenFile?.trim();
|
|
221
221
|
if (tokenFile && allowEnv) {
|
|
222
|
-
if (!
|
|
222
|
+
if (!fs.existsSync(tokenFile)) {
|
|
223
223
|
opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
|
|
224
224
|
return {
|
|
225
225
|
token: "",
|
|
@@ -227,7 +227,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
227
227
|
};
|
|
228
228
|
}
|
|
229
229
|
try {
|
|
230
|
-
const token =
|
|
230
|
+
const token = fs.readFileSync(tokenFile, "utf-8").trim();
|
|
231
231
|
if (token) return {
|
|
232
232
|
token,
|
|
233
233
|
source: "tokenFile"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-CaGCmutq.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
60
60
|
import "./send-DpMnSIi5.js";
|
|
61
61
|
import "./model-ECsJuJew.js";
|
|
62
62
|
import "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import "./memory-cli-
|
|
64
|
-
import "./manager-
|
|
63
|
+
import "./memory-cli-BOxWccJu.js";
|
|
64
|
+
import "./manager-BOvfAdfG.js";
|
|
65
65
|
import "./retry-BoS4e4X_.js";
|
|
66
66
|
import "./sqlite-D55gRQbH.js";
|
|
67
67
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -71,8 +71,8 @@ import "./ir-jTXFdH5R.js";
|
|
|
71
71
|
import "./render-Bwu_WxwA.js";
|
|
72
72
|
import "./commands-vWB85AXk.js";
|
|
73
73
|
import "./commands-registry-D_uByLpw.js";
|
|
74
|
-
import "./client-
|
|
75
|
-
import "./call-
|
|
74
|
+
import "./client-CYsBIR3j.js";
|
|
75
|
+
import "./call-BkJK3eYP.js";
|
|
76
76
|
import "./pairing-token-pooyuU2J.js";
|
|
77
77
|
import "./channel-activity-CoTZV03i.js";
|
|
78
78
|
import "./fetch-BECUf3wn.js";
|
|
@@ -93,7 +93,7 @@ import "./session-cost-usage-RPrhIvZF.js";
|
|
|
93
93
|
import "./outbound-attachment-FbHNOB0s.js";
|
|
94
94
|
import "./delivery-queue-D9i0qjI_.js";
|
|
95
95
|
import "./send-SF7x1UHb.js";
|
|
96
|
-
import "./onboard-helpers-
|
|
96
|
+
import "./onboard-helpers-B7jBYbCU.js";
|
|
97
97
|
import "./prompt-style-Y2J72w6p.js";
|
|
98
98
|
import "./pairing-labels-CTL1gXZb.js";
|
|
99
99
|
import "./exec-approvals-DEigTi7M.js";
|
|
@@ -107,7 +107,7 @@ import "./npm-registry-spec-B98RgVZF.js";
|
|
|
107
107
|
import "./skill-scanner-BTgjeQBf.js";
|
|
108
108
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BPZKRjsO.js";
|
|
109
109
|
import { t as renderTable } from "./table-BWuvjnmY.js";
|
|
110
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
110
|
+
import { t as buildPluginStatusReport } from "./status-h7VP4Vpq.js";
|
|
111
111
|
import { n as updateNpmInstalledPlugins } from "./update-D4uLu0dv.js";
|
|
112
112
|
import fs from "node:fs";
|
|
113
113
|
import os from "node:os";
|
|
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
|
|
|
10
10
|
import "./skills-D_oCiaQn.js";
|
|
11
11
|
import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-D5bnO5uA.js";
|
|
12
12
|
import { i as loadConfig, l as writeConfigFile } 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-DlIPWOrx.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-D2QHGsxh.js";
|
|
56
|
+
import "./manager-DDboJTtn.js";
|
|
57
57
|
import "./gemini-auth-DEakvf-D.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
59
59
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -94,7 +94,7 @@ 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
100
|
import "./pi-tools.policy-o0ytjRqu.js";
|
|
@@ -103,7 +103,7 @@ import "./npm-registry-spec-PuS2I1Em.js";
|
|
|
103
103
|
import "./skill-scanner-BV3QHmsf.js";
|
|
104
104
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B4sNNRaW.js";
|
|
105
105
|
import { t as renderTable } from "./table-Bka4fasy.js";
|
|
106
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
106
|
+
import { t as buildPluginStatusReport } from "./status-uBCH1pzQ.js";
|
|
107
107
|
import { n as updateNpmInstalledPlugins } from "./update-DticqU4-.js";
|
|
108
108
|
import os from "node:os";
|
|
109
109
|
import path from "node:path";
|
|
@@ -11,11 +11,11 @@ import "./frontmatter-B8duUx_6.js";
|
|
|
11
11
|
import "./skills-D_oCiaQn.js";
|
|
12
12
|
import "./manifest-registry-D5bnO5uA.js";
|
|
13
13
|
import { H as VERSION } from "./config-DXt3pc08.js";
|
|
14
|
-
import "./client-
|
|
15
|
-
import "./call-
|
|
14
|
+
import "./client-Cmq13-uF.js";
|
|
15
|
+
import "./call-CAGvQYXj.js";
|
|
16
16
|
import "./message-channel-C9dERklz.js";
|
|
17
17
|
import "./pairing-token-Byh6drgn.js";
|
|
18
|
-
import "./subagent-registry-
|
|
18
|
+
import "./subagent-registry-DlIPWOrx.js";
|
|
19
19
|
import "./sessions-BPD85pWA.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
53
53
|
import "./thinking-8sKPnzpp.js";
|
|
54
54
|
import "./models-config-J1x_DaPn.js";
|
|
55
55
|
import "./reply-prefix-BUN71nd5.js";
|
|
56
|
-
import "./memory-cli-
|
|
57
|
-
import "./manager-
|
|
56
|
+
import "./memory-cli-D2QHGsxh.js";
|
|
57
|
+
import "./manager-DDboJTtn.js";
|
|
58
58
|
import "./gemini-auth-DEakvf-D.js";
|
|
59
59
|
import "./retry-C4Q_VPOo.js";
|
|
60
60
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -95,18 +95,18 @@ import "./cli-utils-CI_KkT8q.js";
|
|
|
95
95
|
import "./help-format-nY42tGMB.js";
|
|
96
96
|
import "./progress-HK2tT7Yf.js";
|
|
97
97
|
import "./replies-Sxbew659.js";
|
|
98
|
-
import "./onboard-helpers-
|
|
98
|
+
import "./onboard-helpers-DjlGq6iG.js";
|
|
99
99
|
import "./prompt-style-BxVdnrLq.js";
|
|
100
100
|
import "./pairing-labels-BHx_CdbP.js";
|
|
101
101
|
import "./pi-tools.policy-o0ytjRqu.js";
|
|
102
102
|
import "./catalog-KcLvtTfa.js";
|
|
103
|
-
import "./plugin-registry-
|
|
104
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
105
|
-
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-
|
|
106
|
-
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-
|
|
103
|
+
import "./plugin-registry-R7nyNT_4.js";
|
|
104
|
+
import { n as resolveCliChannelOptions } from "./channel-options-Cr_if7it.js";
|
|
105
|
+
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-8cGjLTmN.js";
|
|
106
|
+
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BiznuVYK.js";
|
|
107
107
|
import { r as setProgramContext } from "./program-context-DeZ44oQ9.js";
|
|
108
108
|
import { t as forceFreePort } from "./ports-DQg7kV5s.js";
|
|
109
|
-
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-
|
|
109
|
+
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DSRsscTp.js";
|
|
110
110
|
import { Command } from "commander";
|
|
111
111
|
|
|
112
112
|
//#region src/cli/program/context.ts
|
|
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
214
214
|
commandPath
|
|
215
215
|
});
|
|
216
216
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
217
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
217
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-R7nyNT_4.js").then((n) => n.n);
|
|
218
218
|
ensurePluginRegistryLoaded();
|
|
219
219
|
}
|
|
220
220
|
});
|