@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
|
@@ -41,7 +41,7 @@ const entries = [
|
|
|
41
41
|
description: "Agent Control Protocol tools",
|
|
42
42
|
hasSubcommands: true,
|
|
43
43
|
register: async (program) => {
|
|
44
|
-
(await import("./acp-cli-
|
|
44
|
+
(await import("./acp-cli-D1JYg9c1.js")).registerAcpCli(program);
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
{
|
|
@@ -49,7 +49,7 @@ const entries = [
|
|
|
49
49
|
description: "Run, inspect, and query the WebSocket Gateway",
|
|
50
50
|
hasSubcommands: true,
|
|
51
51
|
register: async (program) => {
|
|
52
|
-
(await import("./gateway-cli-
|
|
52
|
+
(await import("./gateway-cli-DGMuMxMT.js")).registerGatewayCli(program);
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
{
|
|
@@ -57,7 +57,7 @@ const entries = [
|
|
|
57
57
|
description: "Gateway service (legacy alias)",
|
|
58
58
|
hasSubcommands: true,
|
|
59
59
|
register: async (program) => {
|
|
60
|
-
(await import("./daemon-cli-
|
|
60
|
+
(await import("./daemon-cli-CweMes2K.js").then((n) => n.t)).registerDaemonCli(program);
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
{
|
|
@@ -65,7 +65,7 @@ const entries = [
|
|
|
65
65
|
description: "Tail gateway file logs via RPC",
|
|
66
66
|
hasSubcommands: false,
|
|
67
67
|
register: async (program) => {
|
|
68
|
-
(await import("./logs-cli-
|
|
68
|
+
(await import("./logs-cli-1hn28HCu.js")).registerLogsCli(program);
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
{
|
|
@@ -73,7 +73,7 @@ const entries = [
|
|
|
73
73
|
description: "System events, heartbeat, and presence",
|
|
74
74
|
hasSubcommands: true,
|
|
75
75
|
register: async (program) => {
|
|
76
|
-
(await import("./system-cli-
|
|
76
|
+
(await import("./system-cli-BN9MXNk7.js")).registerSystemCli(program);
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
{
|
|
@@ -81,7 +81,7 @@ const entries = [
|
|
|
81
81
|
description: "Discover, scan, and configure models",
|
|
82
82
|
hasSubcommands: true,
|
|
83
83
|
register: async (program) => {
|
|
84
|
-
(await import("./models-cli-
|
|
84
|
+
(await import("./models-cli-CXW-3Zot.js")).registerModelsCli(program);
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
{
|
|
@@ -89,7 +89,7 @@ const entries = [
|
|
|
89
89
|
description: "Manage exec approvals (gateway or node host)",
|
|
90
90
|
hasSubcommands: true,
|
|
91
91
|
register: async (program) => {
|
|
92
|
-
(await import("./exec-approvals-cli-
|
|
92
|
+
(await import("./exec-approvals-cli-CTEn_Eu_.js")).registerExecApprovalsCli(program);
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
{
|
|
@@ -97,7 +97,7 @@ const entries = [
|
|
|
97
97
|
description: "Manage gateway-owned node pairing and node commands",
|
|
98
98
|
hasSubcommands: true,
|
|
99
99
|
register: async (program) => {
|
|
100
|
-
(await import("./nodes-cli-
|
|
100
|
+
(await import("./nodes-cli-DE60dv81.js")).registerNodesCli(program);
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
{
|
|
@@ -105,7 +105,7 @@ const entries = [
|
|
|
105
105
|
description: "Device pairing + token management",
|
|
106
106
|
hasSubcommands: true,
|
|
107
107
|
register: async (program) => {
|
|
108
|
-
(await import("./devices-cli-
|
|
108
|
+
(await import("./devices-cli-DeoPyzAd.js")).registerDevicesCli(program);
|
|
109
109
|
}
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -113,7 +113,7 @@ const entries = [
|
|
|
113
113
|
description: "Run and manage the headless node host service",
|
|
114
114
|
hasSubcommands: true,
|
|
115
115
|
register: async (program) => {
|
|
116
|
-
(await import("./node-cli-
|
|
116
|
+
(await import("./node-cli-BBN6PoOG.js")).registerNodeCli(program);
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -129,7 +129,7 @@ const entries = [
|
|
|
129
129
|
description: "Open a terminal UI connected to the Gateway",
|
|
130
130
|
hasSubcommands: false,
|
|
131
131
|
register: async (program) => {
|
|
132
|
-
(await import("./tui-cli-
|
|
132
|
+
(await import("./tui-cli-DC9Bq-N_.js")).registerTuiCli(program);
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
{
|
|
@@ -137,7 +137,7 @@ const entries = [
|
|
|
137
137
|
description: "Manage cron jobs via the Gateway scheduler",
|
|
138
138
|
hasSubcommands: true,
|
|
139
139
|
register: async (program) => {
|
|
140
|
-
(await import("./cron-cli-
|
|
140
|
+
(await import("./cron-cli-Dq2FEfK1.js")).registerCronCli(program);
|
|
141
141
|
}
|
|
142
142
|
},
|
|
143
143
|
{
|
|
@@ -161,7 +161,7 @@ const entries = [
|
|
|
161
161
|
description: "Manage internal agent hooks",
|
|
162
162
|
hasSubcommands: true,
|
|
163
163
|
register: async (program) => {
|
|
164
|
-
(await import("./hooks-cli-
|
|
164
|
+
(await import("./hooks-cli-Dm2SU8AY.js")).registerHooksCli(program);
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
167
|
{
|
|
@@ -185,7 +185,7 @@ const entries = [
|
|
|
185
185
|
description: "Secure DM pairing (approve inbound requests)",
|
|
186
186
|
hasSubcommands: true,
|
|
187
187
|
register: async (program) => {
|
|
188
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
188
|
+
const { registerPluginCliCommands } = await import("./cli-RIwsXnB-.js");
|
|
189
189
|
registerPluginCliCommands(program, await loadConfig());
|
|
190
190
|
(await import("./pairing-cli-7X1qlhzF.js")).registerPairingCli(program);
|
|
191
191
|
}
|
|
@@ -195,8 +195,8 @@ const entries = [
|
|
|
195
195
|
description: "Manage Symi plugins and extensions",
|
|
196
196
|
hasSubcommands: true,
|
|
197
197
|
register: async (program) => {
|
|
198
|
-
(await import("./plugins-cli-
|
|
199
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
198
|
+
(await import("./plugins-cli-DGWVBlc8.js")).registerPluginsCli(program);
|
|
199
|
+
const { registerPluginCliCommands } = await import("./cli-RIwsXnB-.js");
|
|
200
200
|
registerPluginCliCommands(program, await loadConfig());
|
|
201
201
|
}
|
|
202
202
|
},
|
|
@@ -205,7 +205,7 @@ const entries = [
|
|
|
205
205
|
description: "Manage connected chat channels (Telegram, Discord, etc.)",
|
|
206
206
|
hasSubcommands: true,
|
|
207
207
|
register: async (program) => {
|
|
208
|
-
(await import("./channels-cli-
|
|
208
|
+
(await import("./channels-cli-Bn6mTlYq.js")).registerChannelsCli(program);
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
{
|
|
@@ -221,7 +221,7 @@ const entries = [
|
|
|
221
221
|
description: "Security tools and local config audits",
|
|
222
222
|
hasSubcommands: true,
|
|
223
223
|
register: async (program) => {
|
|
224
|
-
(await import("./security-cli-
|
|
224
|
+
(await import("./security-cli-B8gavsuQ.js")).registerSecurityCli(program);
|
|
225
225
|
}
|
|
226
226
|
},
|
|
227
227
|
{
|
|
@@ -237,7 +237,7 @@ const entries = [
|
|
|
237
237
|
description: "Update Symi and inspect update channel status",
|
|
238
238
|
hasSubcommands: true,
|
|
239
239
|
register: async (program) => {
|
|
240
|
-
(await import("./update-cli-
|
|
240
|
+
(await import("./update-cli-CwtAWyeY.js")).registerUpdateCli(program);
|
|
241
241
|
}
|
|
242
242
|
},
|
|
243
243
|
{
|
|
@@ -245,7 +245,7 @@ const entries = [
|
|
|
245
245
|
description: "Generate shell completion script",
|
|
246
246
|
hasSubcommands: false,
|
|
247
247
|
register: async (program) => {
|
|
248
|
-
(await import("./completion-cli-
|
|
248
|
+
(await import("./completion-cli-BVG9ZtBG.js").then((n) => n.n)).registerCompletionCli(program);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-
|
|
1
|
+
import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import fs from "node:fs";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import { Logger } from "tslog";
|
|
6
|
-
import
|
|
6
|
+
import JSON5 from "json5";
|
|
7
7
|
import chalk, { Chalk } from "chalk";
|
|
8
8
|
|
|
9
9
|
//#region src/infra/tmp-symi-dir.ts
|
|
@@ -12,9 +12,9 @@ function isNodeErrorWithCode(err, code) {
|
|
|
12
12
|
return typeof err === "object" && err !== null && "code" in err && err.code === code;
|
|
13
13
|
}
|
|
14
14
|
function resolvePreferredSymiTmpDir(options = {}) {
|
|
15
|
-
const accessSync = options.accessSync ??
|
|
16
|
-
const lstatSync = options.lstatSync ??
|
|
17
|
-
const mkdirSync = options.mkdirSync ??
|
|
15
|
+
const accessSync = options.accessSync ?? fs.accessSync;
|
|
16
|
+
const lstatSync = options.lstatSync ?? fs.lstatSync;
|
|
17
|
+
const mkdirSync = options.mkdirSync ?? fs.mkdirSync;
|
|
18
18
|
const getuid = options.getuid ?? (() => {
|
|
19
19
|
try {
|
|
20
20
|
return typeof process.getuid === "function" ? process.getuid() : void 0;
|
|
@@ -38,14 +38,14 @@ function resolvePreferredSymiTmpDir(options = {}) {
|
|
|
38
38
|
try {
|
|
39
39
|
const preferred = lstatSync(POSIX_SYMI_TMP_DIR);
|
|
40
40
|
if (!preferred.isDirectory() || preferred.isSymbolicLink()) return fallback();
|
|
41
|
-
accessSync(POSIX_SYMI_TMP_DIR,
|
|
41
|
+
accessSync(POSIX_SYMI_TMP_DIR, fs.constants.W_OK | fs.constants.X_OK);
|
|
42
42
|
if (!isSecureDirForUser(preferred)) return fallback();
|
|
43
43
|
return POSIX_SYMI_TMP_DIR;
|
|
44
44
|
} catch (err) {
|
|
45
45
|
if (!isNodeErrorWithCode(err, "ENOENT")) return fallback();
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
accessSync("/tmp",
|
|
48
|
+
accessSync("/tmp", fs.constants.W_OK | fs.constants.X_OK);
|
|
49
49
|
mkdirSync(POSIX_SYMI_TMP_DIR, {
|
|
50
50
|
recursive: true,
|
|
51
51
|
mode: 448
|
|
@@ -68,9 +68,9 @@ function resolvePreferredSymiTmpDir(options = {}) {
|
|
|
68
68
|
function readLoggingConfig() {
|
|
69
69
|
const configPath = resolveConfigPath();
|
|
70
70
|
try {
|
|
71
|
-
if (!
|
|
72
|
-
const raw =
|
|
73
|
-
const logging =
|
|
71
|
+
if (!fs.existsSync(configPath)) return;
|
|
72
|
+
const raw = fs.readFileSync(configPath, "utf-8");
|
|
73
|
+
const logging = JSON5.parse(raw)?.logging;
|
|
74
74
|
if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
|
|
75
75
|
return logging;
|
|
76
76
|
} catch {
|
|
@@ -172,7 +172,7 @@ function isFileLogLevelEnabled(level) {
|
|
|
172
172
|
return levelToMinLevel(level) <= levelToMinLevel(settings.level);
|
|
173
173
|
}
|
|
174
174
|
function buildLogger(settings) {
|
|
175
|
-
|
|
175
|
+
fs.mkdirSync(path.dirname(settings.file), { recursive: true });
|
|
176
176
|
if (isRollingPath(settings.file)) pruneOldRollingLogs(path.dirname(settings.file));
|
|
177
177
|
const logger = new Logger({
|
|
178
178
|
name: "symi",
|
|
@@ -186,7 +186,7 @@ function buildLogger(settings) {
|
|
|
186
186
|
...logObj,
|
|
187
187
|
time
|
|
188
188
|
});
|
|
189
|
-
|
|
189
|
+
fs.appendFileSync(settings.file, `${line}\n`, { encoding: "utf8" });
|
|
190
190
|
} catch {}
|
|
191
191
|
});
|
|
192
192
|
for (const transport of externalTransports) attachExternalTransport(logger, transport);
|
|
@@ -238,14 +238,14 @@ function isRollingPath(file) {
|
|
|
238
238
|
}
|
|
239
239
|
function pruneOldRollingLogs(dir) {
|
|
240
240
|
try {
|
|
241
|
-
const entries =
|
|
241
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
242
242
|
const cutoff = Date.now() - MAX_LOG_AGE_MS;
|
|
243
243
|
for (const entry of entries) {
|
|
244
244
|
if (!entry.isFile()) continue;
|
|
245
245
|
if (!entry.name.startsWith(`${LOG_PREFIX}-`) || !entry.name.endsWith(LOG_SUFFIX)) continue;
|
|
246
246
|
const fullPath = path.join(dir, entry.name);
|
|
247
247
|
try {
|
|
248
|
-
if (
|
|
248
|
+
if (fs.statSync(fullPath).mtimeMs < cutoff) fs.rmSync(fullPath, { force: true });
|
|
249
249
|
} catch {}
|
|
250
250
|
}
|
|
251
251
|
} catch {}
|
|
@@ -326,14 +326,14 @@ function isPlainObject(value) {
|
|
|
326
326
|
//#endregion
|
|
327
327
|
//#region src/utils.ts
|
|
328
328
|
async function ensureDir(dir) {
|
|
329
|
-
await
|
|
329
|
+
await fs.promises.mkdir(dir, { recursive: true });
|
|
330
330
|
}
|
|
331
331
|
/**
|
|
332
332
|
* Check if a file or directory exists at the given path.
|
|
333
333
|
*/
|
|
334
334
|
async function pathExists(targetPath) {
|
|
335
335
|
try {
|
|
336
|
-
await
|
|
336
|
+
await fs.promises.access(targetPath);
|
|
337
337
|
return true;
|
|
338
338
|
} catch {
|
|
339
339
|
return false;
|
|
@@ -416,7 +416,7 @@ function readLidReverseMapping(lid, opts) {
|
|
|
416
416
|
for (const dir of mappingDirs) {
|
|
417
417
|
const mappingPath = path.join(dir, mappingFilename);
|
|
418
418
|
try {
|
|
419
|
-
const data =
|
|
419
|
+
const data = fs.readFileSync(mappingPath, "utf8");
|
|
420
420
|
const phone = JSON.parse(data);
|
|
421
421
|
if (phone === null || phone === void 0) continue;
|
|
422
422
|
return normalizeE164(String(phone));
|
|
@@ -500,7 +500,7 @@ function resolveConfigDir(env = process.env, homedir = os.homedir) {
|
|
|
500
500
|
if (override) return resolveUserPath(override);
|
|
501
501
|
const newDir = path.join(resolveRequiredHomeDir(env, homedir), ".symi");
|
|
502
502
|
try {
|
|
503
|
-
if (
|
|
503
|
+
if (fs.existsSync(newDir)) return newDir;
|
|
504
504
|
} catch {}
|
|
505
505
|
return newDir;
|
|
506
506
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-
|
|
3
|
-
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-
|
|
4
|
-
import { i as chunkMarkdownTextWithMode } from "./chunk-
|
|
2
|
+
import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BKo1T3HF.js";
|
|
3
|
+
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-W0JzCJJM.js";
|
|
4
|
+
import { i as chunkMarkdownTextWithMode } from "./chunk-BRe1o4Af.js";
|
|
5
5
|
|
|
6
6
|
//#region src/auto-reply/reply/reply-reference.ts
|
|
7
7
|
function createReplyReferencePlanner(options) {
|
|
@@ -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-BOxWccJu.js";
|
|
64
|
+
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-BOvfAdfG.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";
|
|
@@ -29011,7 +29011,7 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
29011
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.",
|
|
29012
29012
|
"- Safe status read (inside the monitor turn):",
|
|
29013
29013
|
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
29014
|
-
" 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).",
|
|
29015
29015
|
"- Monitor responsibilities each tick:",
|
|
29016
29016
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
29017
29017
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
@@ -31935,7 +31935,7 @@ async function runAgentTurn(params) {
|
|
|
31935
31935
|
function createDefaultDeps() {
|
|
31936
31936
|
return {
|
|
31937
31937
|
sendMessageWhatsApp: async (...args) => {
|
|
31938
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31938
|
+
const { sendMessageWhatsApp } = await import("./web-N4FG6nyF.js");
|
|
31939
31939
|
return await sendMessageWhatsApp(...args);
|
|
31940
31940
|
},
|
|
31941
31941
|
sendMessageTelegram: async (...args) => {
|
|
@@ -50366,7 +50366,7 @@ function loadWebLoginQr() {
|
|
|
50366
50366
|
return webLoginQrPromise;
|
|
50367
50367
|
}
|
|
50368
50368
|
function loadWebChannel() {
|
|
50369
|
-
webChannelPromise ??= import("./web-
|
|
50369
|
+
webChannelPromise ??= import("./web-N4FG6nyF.js");
|
|
50370
50370
|
return webChannelPromise;
|
|
50371
50371
|
}
|
|
50372
50372
|
function loadWhatsAppActions() {
|
|
@@ -63411,6 +63411,103 @@ function createSubagentsTool(opts) {
|
|
|
63411
63411
|
};
|
|
63412
63412
|
}
|
|
63413
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
|
+
|
|
63414
63511
|
//#endregion
|
|
63415
63512
|
//#region src/agents/tools/task-tool.ts
|
|
63416
63513
|
/**
|
|
@@ -63420,21 +63517,14 @@ function createSubagentsTool(opts) {
|
|
|
63420
63517
|
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
63421
63518
|
* the agent's workspace; these tools read and act on those files so the
|
|
63422
63519
|
* agent can answer "what's running?" and kill a task without needing
|
|
63423
|
-
* shell access.
|
|
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.
|
|
63424
63523
|
*
|
|
63425
63524
|
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
63426
63525
|
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
63427
63526
|
* agent kill processes it never spawned via path traversal.
|
|
63428
63527
|
*/
|
|
63429
|
-
const TASK_FILE_PREFIX = "task-";
|
|
63430
|
-
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
63431
|
-
const TASK_FILE_SUFFIXES = [
|
|
63432
|
-
".pid",
|
|
63433
|
-
".status",
|
|
63434
|
-
".started",
|
|
63435
|
-
".cmd",
|
|
63436
|
-
".log"
|
|
63437
|
-
];
|
|
63438
63528
|
const ALLOWED_SIGNALS = new Set([
|
|
63439
63529
|
"SIGTERM",
|
|
63440
63530
|
"SIGINT",
|
|
@@ -63466,58 +63556,30 @@ function isPidAlive(pid) {
|
|
|
63466
63556
|
return false;
|
|
63467
63557
|
}
|
|
63468
63558
|
}
|
|
63469
|
-
async function safeRead(filePath) {
|
|
63470
|
-
try {
|
|
63471
|
-
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
63472
|
-
} catch {
|
|
63473
|
-
return null;
|
|
63474
|
-
}
|
|
63475
|
-
}
|
|
63476
63559
|
function resolveWorkdir(deps, override) {
|
|
63477
63560
|
const raw = override?.trim();
|
|
63478
63561
|
if (!raw) return deps.workspaceDir;
|
|
63479
63562
|
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
63480
63563
|
return raw;
|
|
63481
63564
|
}
|
|
63482
|
-
async function readTaskInfo(workdir, id) {
|
|
63483
|
-
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
63484
|
-
const [pidText, status, started, cmd] = await Promise.all([
|
|
63485
|
-
safeRead(pidPath),
|
|
63486
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
|
|
63487
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
63488
|
-
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
|
|
63489
|
-
]);
|
|
63490
|
-
let pid = null;
|
|
63491
|
-
if (pidText) {
|
|
63492
|
-
const parsed = Number.parseInt(pidText, 10);
|
|
63493
|
-
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
63494
|
-
}
|
|
63495
|
-
return {
|
|
63496
|
-
id,
|
|
63497
|
-
pid,
|
|
63498
|
-
alive: pid !== null && isPidAlive(pid),
|
|
63499
|
-
status: status ?? "missing",
|
|
63500
|
-
started,
|
|
63501
|
-
cmd,
|
|
63502
|
-
pidPath,
|
|
63503
|
-
statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
|
|
63504
|
-
logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
|
|
63505
|
-
};
|
|
63506
|
-
}
|
|
63507
63565
|
function createTaskListTool(deps) {
|
|
63508
63566
|
return {
|
|
63509
63567
|
label: "Task List",
|
|
63510
63568
|
name: "task_list",
|
|
63511
63569
|
description: `List long-running detached tasks in the agent's workspace.
|
|
63512
63570
|
|
|
63513
|
-
Globs task-<id>.{pid,status,started,cmd,log} files, reads their
|
|
63514
|
-
checks each PID's liveness. Use this to find the task-id of a
|
|
63515
|
-
detach-task before calling task_cancel, or to answer "what's
|
|
63516
|
-
now?" without re-asking the user.
|
|
63517
|
-
|
|
63518
|
-
Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
|
|
63519
|
-
|
|
63520
|
-
|
|
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.`,
|
|
63521
63583
|
parameters: TaskListSchema,
|
|
63522
63584
|
execute: async (_toolCallId, args) => {
|
|
63523
63585
|
const override = readStringParam(args, "workdir");
|
|
@@ -63531,34 +63593,19 @@ the agent can spot orphan state files.`,
|
|
|
63531
63593
|
error: err instanceof Error ? err.message : String(err)
|
|
63532
63594
|
});
|
|
63533
63595
|
}
|
|
63534
|
-
let entries;
|
|
63535
63596
|
try {
|
|
63536
|
-
|
|
63537
|
-
|
|
63538
|
-
if (err.code === "ENOENT") return jsonResult({
|
|
63597
|
+
const tasks = await listTasksInWorkdir(workdir, isPidAlive);
|
|
63598
|
+
return jsonResult({
|
|
63539
63599
|
workdir,
|
|
63540
|
-
tasks
|
|
63600
|
+
tasks
|
|
63541
63601
|
});
|
|
63602
|
+
} catch (err) {
|
|
63542
63603
|
return jsonResult({
|
|
63543
63604
|
workdir,
|
|
63544
63605
|
tasks: [],
|
|
63545
63606
|
error: err instanceof Error ? err.message : String(err)
|
|
63546
63607
|
});
|
|
63547
63608
|
}
|
|
63548
|
-
const taskIds = /* @__PURE__ */ new Set();
|
|
63549
|
-
for (const entry of entries) {
|
|
63550
|
-
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
63551
|
-
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
63552
|
-
const id = entry.slice(5, -suffix.length);
|
|
63553
|
-
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
63554
|
-
break;
|
|
63555
|
-
}
|
|
63556
|
-
}
|
|
63557
|
-
const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
|
|
63558
|
-
return jsonResult({
|
|
63559
|
-
workdir,
|
|
63560
|
-
tasks
|
|
63561
|
-
});
|
|
63562
63609
|
}
|
|
63563
63610
|
};
|
|
63564
63611
|
}
|
|
@@ -74201,4 +74248,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
74201
74248
|
}
|
|
74202
74249
|
|
|
74203
74250
|
//#endregion
|
|
74204
|
-
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,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { n as resolveAgentConfig } from "./agent-scope-
|
|
2
|
+
import { n as resolveAgentConfig } from "./agent-scope-CpEJ0B88.js";
|
|
3
3
|
|
|
4
4
|
//#region src/agents/identity.ts
|
|
5
5
|
const DEFAULT_ACK_REACTION = "👀";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, n as DEFAULT_MAIN_KEY, p as normalizeAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
|
|
3
|
-
import { Z as shouldLogVerbose } from "./registry-
|
|
4
|
-
import { c as resolveDefaultAgentId } from "./agent-scope-
|
|
5
|
-
import { y as logDebug } from "./workspace-
|
|
3
|
+
import { Z as shouldLogVerbose } from "./registry-DYq1AYOv.js";
|
|
4
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-CpEJ0B88.js";
|
|
5
|
+
import { y as logDebug } from "./workspace-DscDraUb.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { t as listBindings } from "./bindings-
|
|
7
|
+
import { t as listBindings } from "./bindings-BsHoBLIE.js";
|
|
8
8
|
|
|
9
9
|
//#region src/routing/resolve-route.ts
|
|
10
10
|
var resolve_route_exports = /* @__PURE__ */ __exportAll({
|