@symerian/symi 3.0.2 → 3.0.4
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-3dCrO3oZ.js → accounts-BaIiyR_C.js} +1 -1
- package/dist/{accounts-BRw8yhIW.js → accounts-D5o2mAKN.js} +3 -3
- package/dist/{accounts-BuZxOb3B.js → accounts-nSMFGcjE.js} +1 -1
- package/dist/{active-listener-BVZOh2T1.js → active-listener-u0n6lV-h.js} +1 -1
- package/dist/{agent-scope-Ddr0Ws7u.js → agent-scope-CEzt6H9x.js} +2 -2
- package/dist/{agents-DEYqmFEH.js → agents-CeafvAwk.js} +4 -4
- package/dist/{agents.config-TArPtTFt.js → agents.config-DyAqyKIS.js} +1 -1
- package/dist/{agents.config-ClI9Q05l.js → agents.config-wJSTSxHw.js} +1 -1
- package/dist/{audio-preflight-DrG2ef4O.js → audio-preflight-CWHghOEi.js} +26 -26
- package/dist/{audio-preflight-BrKBM7JM.js → audio-preflight-Cje-A0Fs.js} +4 -4
- package/dist/{auth-choice-kJVkaHx6.js → auth-choice-BrH3g0l7.js} +1 -1
- package/dist/{auth-choice-bOht3his.js → auth-choice-CSXt138B.js} +1 -1
- package/dist/{auth-profiles-Bs0Z0FzU.js → auth-profiles-BoHFXe5T.js} +4 -4
- package/dist/{banner--HSjGLhi.js → banner-kkSwCGXn.js} +1 -1
- package/dist/{bindings-D43o9y2s.js → bindings-B1fUDYvC.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +51 -51
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +51 -51
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-D8QD7GoV.js → channel-activity-cK3ZB6TE.js} +1 -1
- package/dist/{channel-options-C68HZtw7.js → channel-options-BC-QbEPJ.js} +1 -1
- package/dist/{channel-options-Cj2ZMHvy.js → channel-options-BdMw9pwh.js} +1 -1
- package/dist/{channel-web-BGZxsb8l.js → channel-web-B9o347ZR.js} +1 -1
- package/dist/{channels-cli-CLkq2ISd.js → channels-cli-CFZVgAxq.js} +6 -6
- package/dist/{channels-cli-C775zJjx.js → channels-cli-n1iS1gNN.js} +6 -6
- package/dist/{chrome-X5wmeW9f.js → chrome-BK_P1Tqm.js} +10 -10
- package/dist/{chrome-WfENE6tB.js → chrome-DaduLVA1.js} +7 -7
- package/dist/{chunk-BRe1o4Af.js → chunk-BMvnM1K5.js} +1 -1
- package/dist/{cli-B2FVKvPQ.js → cli-B3M7EAy1.js} +3 -3
- package/dist/{cli-8ibydSgl.js → cli-C852-xID.js} +3 -3
- package/dist/{command-registry-C-c2RS-n.js → command-registry-CsiR9i7E.js} +10 -10
- package/dist/{commands-registry-Tug42snN.js → commands-registry-D0jEfZ42.js} +4 -4
- package/dist/{completion-cli-BLO_wsYD.js → completion-cli-Bon9_6qA.js} +2 -2
- package/dist/{completion-cli-IKI4BpqL.js → completion-cli-Dnyp6OJy.js} +1 -1
- package/dist/{config-CCbXer2L.js → config-BmrykwKO.js} +9 -9
- package/dist/{config-cli-Bh8aPiiL.js → config-cli-BebhyWjM.js} +1 -1
- package/dist/{config-cli-d4RU82ov.js → config-cli-DqfKE_A1.js} +1 -1
- package/dist/{configure-jxJfT5_B.js → configure-DB-1UY2t.js} +3 -3
- package/dist/{configure-DKmHXbug.js → configure-HMRPjIFX.js} +3 -3
- package/dist/{consolidate-tpfmfqvr.js → consolidate-DT78djL9.js} +2 -2
- package/dist/control-ui/js/app.js +6 -2
- package/dist/{deliver-DShQE_sq.js → deliver-B6vfVmif.js} +1 -1
- package/dist/{deliver-BfgRx_NK.js → deliver-DbgdviSo.js} +9 -9
- package/dist/{diagnostic-BjfiehUF.js → diagnostic-B0Ynd2kf.js} +1 -1
- package/dist/{doctor-completion-VAGhCLD5.js → doctor-completion-D6U7k8ef.js} +1 -1
- package/dist/{doctor-completion-C7SuoBlz.js → doctor-completion-DlvHamvv.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-BDXYbTKj.js → env-D9chTL63.js} +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-BbIorbzs.js} +2 -2
- package/dist/{gateway-cli-BELyZGAU.js → gateway-cli-CX6HdZS6.js} +14 -13
- package/dist/{gateway-cli-D_SJFv7K.js → gateway-cli-ms7HH0-P.js} +14 -13
- package/dist/{gemini-auth-Cl5PvzLM.js → gemini-auth-D9vLhghA.js} +1 -1
- package/dist/{glass-ui-ws-0agRdhZD.js → glass-ui-ws-7O88M05N.js} +10 -10
- package/dist/{glass-ui-ws-qPJDDUD9.js → glass-ui-ws-b6N_1b40.js} +10 -10
- package/dist/{health-BnGM6Yux.js → health-_G7Dy5sq.js} +48 -18
- package/dist/{health-CCKCR4oM.js → health-xGaC5l7K.js} +48 -18
- package/dist/{heartbeat-visibility-CG080wT5.js → heartbeat-visibility-D6uZvFVV.js} +1 -1
- package/dist/{heartbeat-visibility-C4Sg0QOd.js → heartbeat-visibility-_mPYbQT2.js} +1 -1
- package/dist/{hooks-cli-CtuiPrKW.js → hooks-cli-BFZv9uGo.js} +4 -4
- package/dist/{hooks-cli-B2WVvhgH.js → hooks-cli-DuKd3-QN.js} +4 -4
- package/dist/{image-DfzwGNoa.js → image-C12-WOMI.js} +1 -1
- package/dist/{image-C2w5iw4N.js → image-D1wT_m5z.js} +4 -4
- package/dist/{image-ops-DFFGK0lW.js → image-ops-DuOHpA9U.js} +1 -1
- package/dist/index.js +9 -9
- package/dist/{ir-CC6LUYsV.js → ir-BpwvHMZb.js} +4 -4
- package/dist/llm-slug-generator.js +51 -51
- package/dist/{local-roots-jzqRdkXA.js → local-roots-BacHGRfJ.js} +4 -4
- package/dist/{login-DHJnG8aX.js → login-C9Nfj1r0.js} +7 -7
- package/dist/{login-qr-UB9DGMzi.js → login-qr-n2FhZV37.js} +10 -10
- package/dist/{manager-zwcQLMln.js → manager-C2jDmkaH.js} +9 -9
- package/dist/{manager-Mm_GQxOU.js → manager-C8BydiE8.js} +1 -1
- package/dist/{manager-DKUOUCmo.js → manager-DjHARmFk.js} +1 -1
- package/dist/{manager-B6EhIj3H.js → manager-DnkWmUWs.js} +1 -1
- package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-2WUbwZgO.js} +1 -1
- package/dist/{markdown-tables-bViwuQKQ.js → markdown-tables-stYj7BCB.js} +1 -1
- package/dist/{memory-cli-BEZM7jn9.js → memory-cli-D69x8sVz.js} +3 -3
- package/dist/{memory-cli-D4lLSeA1.js → memory-cli-z9Rsga03.js} +3 -3
- package/dist/{message-channel-OlFBYAw8.js → message-channel-w9cWbx_W.js} +1 -1
- package/dist/{models-ElQijvpq.js → models-U6PPfAmY.js} +2 -2
- package/dist/{models-cli-14U59ejI.js → models-cli-DDev4qyK.js} +5 -5
- package/dist/{models-cli-Dtf5Zpgd.js → models-cli-DiqDhhoK.js} +4 -4
- package/dist/{onboard-DN2xgEv1.js → onboard-B0Y1u3vK.js} +2 -2
- package/dist/{onboard-CaYQVQYI.js → onboard-Db6LQ1SN.js} +2 -2
- package/dist/{onboard-channels-C5sKGabO.js → onboard-channels-CkFD8gYa.js} +1 -1
- package/dist/{onboard-channels-B1fWI5k5.js → onboard-channels-Cky54l0-.js} +1 -1
- package/dist/{onboarding-BngFnwT6.js → onboarding-BSvR9bkU.js} +3 -3
- package/dist/{onboarding-DNIz481s.js → onboarding-DTs0CtTa.js} +3 -3
- package/dist/{onboarding.finalize-B-x_trN9.js → onboarding.finalize-BCiHVrC3.js} +8 -8
- package/dist/{onboarding.finalize-BA8-Tnhc.js → onboarding.finalize-CexXZw9D.js} +9 -9
- package/dist/{outbound-DUO7IkKe.js → outbound-BQZtNLk5.js} +7 -7
- package/dist/{outbound-attachment-CWi9cBa6.js → outbound-attachment-DhDAO6nl.js} +2 -2
- package/dist/{pi-auth-json-S_NBOBoK.js → pi-auth-json-h8jIzOEa.js} +1 -1
- package/dist/{pi-embedded-DUJ9Ytfn.js → pi-embedded-DFMFvHP5.js} +29 -20
- package/dist/{pi-embedded-helpers-YSU-xmLw.js → pi-embedded-helpers-C4GmoY6O.js} +18 -18
- package/dist/{pi-embedded-helpers-B1k1RWqM.js → pi-embedded-helpers-pMH6u36v.js} +4 -4
- package/dist/{plugin-registry-C1xFJkog.js → plugin-registry-2T2NDPGh.js} +1 -1
- package/dist/{plugin-registry-CZS8ioCg.js → plugin-registry-739qhWq3.js} +1 -1
- package/dist/plugin-sdk/{channel-web-B_XlrV_E.js → channel-web-DAJtsqF_.js} +1 -1
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/infra/active-heartbeat-runs.d.ts +24 -7
- package/dist/plugin-sdk/{manager-CJd0vK4S.js → manager-DhiL-RSO.js} +1 -1
- package/dist/plugin-sdk/{synthesis-Cre_3fLT.js → synthesis-cOQ27lCy.js} +2 -2
- package/dist/plugin-sdk/{unified-runner-BNQKFoGX.js → unified-runner-KBVvJUFF.js} +15 -6
- package/dist/plugin-sdk/{web-CE-OsTKq.js → web-Bj-jTlHW.js} +3 -3
- package/dist/{plugins-BpFxTfLA.js → plugins-CneV0s1f.js} +4 -4
- package/dist/{plugins-cli-BGccb2gT.js → plugins-cli-BrLY9BMq.js} +4 -4
- package/dist/{plugins-cli-f_Ncophh.js → plugins-cli-rLBIo-nA.js} +4 -4
- package/dist/{program-5Hto31sk.js → program-POF8wz57.js} +9 -9
- package/dist/{program-context-Baw4Oc1H.js → program-context-DsPL6cge.js} +18 -18
- package/dist/{prompt-select-styled-Cm6mr7mH.js → prompt-select-styled-BaQx_oFk.js} +6 -6
- package/dist/{prompt-select-styled-DHSySGF2.js → prompt-select-styled-Cz2iXZki.js} +6 -6
- package/dist/{provider-auth-helpers-_aPYnJCR.js → provider-auth-helpers-D7_-bTJg.js} +1 -1
- package/dist/{provider-auth-helpers-FdlXX50k.js → provider-auth-helpers-tiuH9v1U.js} +1 -1
- package/dist/{push-apns-DnMyTqrU.js → push-apns-BP1rb3hW.js} +1 -1
- package/dist/{push-apns-Dusza10V.js → push-apns-CB9rSO0r.js} +1 -1
- package/dist/{pw-ai-hPAkCert.js → pw-ai-CZJaishg.js} +9 -9
- package/dist/{pw-ai-Dd_QrTWR.js → pw-ai-D0CMQA23.js} +1 -1
- package/dist/{qmd-manager-DDKAOUcn.js → qmd-manager-Cx3O7YFm.js} +5 -5
- package/dist/{register.agent-TI-lzUMT.js → register.agent-BXfiPWJL.js} +8 -8
- package/dist/{register.agent-DibuuULq.js → register.agent-BadsiDY7.js} +7 -7
- package/dist/{register.configure-CE6z4EEp.js → register.configure-DFUqXeRq.js} +9 -9
- package/dist/{register.configure-BbBU2vzP.js → register.configure-DLPSROfI.js} +9 -9
- package/dist/{register.maintenance-Dsw96Q5M.js → register.maintenance-CWCtxkNh.js} +10 -10
- package/dist/{register.maintenance-D_cRwoi6.js → register.maintenance-Jqn4H62V.js} +11 -11
- package/dist/{register.message-BqRfLqBs.js → register.message-CTQZsi6c.js} +4 -4
- package/dist/{register.message-7JdfRDPR.js → register.message-CyNUsm17.js} +4 -4
- package/dist/{register.onboard-Ca5HGO6E.js → register.onboard-BywdvE0H.js} +7 -7
- package/dist/{register.onboard-7iv0kkQk.js → register.onboard-DzX8ZUAK.js} +7 -7
- package/dist/{register.setup-D7AKohSt.js → register.setup-acIJDgl8.js} +7 -7
- package/dist/{register.setup-Cy3cIayc.js → register.setup-psP-ZtQm.js} +7 -7
- package/dist/{register.status-health-sessions-BW51mzBs.js → register.status-health-sessions-BQ9fEidS.js} +6 -6
- package/dist/{register.status-health-sessions-DOkSVuJk.js → register.status-health-sessions-C3Ekyerp.js} +6 -6
- package/dist/{register.subclis-p-z6ekaE.js → register.subclis-C-Y_J1yd.js} +9 -9
- package/dist/{registry-DYq1AYOv.js → registry-BIqyUxh_.js} +2 -2
- package/dist/{replies-CDz80zCR.js → replies-CvvV7FsP.js} +3 -3
- package/dist/{reply-prefix-C1Tw2ERK.js → reply-prefix-DqhURPy6.js} +1 -1
- package/dist/{resolve-route-Cz45JFdW.js → resolve-route-CAgv6NO0.js} +4 -4
- package/dist/{retry-B-y5suGA.js → retry-CmtozApI.js} +1 -1
- package/dist/{run-main-BhEacTM9.js → run-main-BUTiVWxn.js} +17 -17
- package/dist/{runner-CaXOtv_D.js → runner-7XhJhCc0.js} +1 -1
- package/dist/{runner-7_mUx-F3.js → runner-R8qsprXG.js} +9 -9
- package/dist/{send-BQTsCyf6.js → send-B_g1He3g.js} +10 -10
- package/dist/{send-R3nkEMMb.js → send-DGVcpcfh.js} +7 -7
- package/dist/{send-fVqebfsH.js → send-DWrapvrU.js} +6 -6
- package/dist/{send-DUmV-ltI.js → send-DXW6BXBH.js} +6 -6
- package/dist/{send-XAxr3MFp.js → send-DkU1UYlf.js} +10 -10
- package/dist/{server-methods-C8ff27p5.js → server-methods-B4SR9px-.js} +11 -10
- package/dist/{server-methods-Bcwa782q.js → server-methods-BAZKdAPo.js} +11 -10
- package/dist/{server-node-events-B85y_7eX.js → server-node-events-BH1YaeId.js} +4 -4
- package/dist/{server-node-events-h8Af4ZTV.js → server-node-events-C3EVBwcx.js} +4 -4
- package/dist/{session-Bs8nmUHx.js → session-CI7IFf_N.js} +4 -4
- package/dist/{skill-commands-BXs_duC2.js → skill-commands-C0wJE3kM.js} +5 -5
- package/dist/{skills-DjtoXuuJ.js → skills-DofJnEQw.js} +6 -6
- package/dist/{sqlite-VBmM_OHS.js → sqlite-C7SbUGaN.js} +1 -1
- package/dist/{status-DUGaRGN0.js → status-Cnr5heo3.js} +3 -3
- package/dist/{status-DsaLdb09.js → status-D5zp5rJK.js} +3 -3
- package/dist/{status-DFBG2hcx.js → status-DX8BiUs2.js} +1 -1
- package/dist/{status-JL0CD-E1.js → status-DyQuiOVn.js} +1 -1
- package/dist/{store-BOFCIL6J.js → store-Bihue0SL.js} +2 -2
- package/dist/{subagent-registry-DXCGIrYv.js → subagent-registry-Y_8a_o-m.js} +14 -5
- package/dist/{subsystem-BjyjJF-d.js → subsystem-dKFaD1RZ.js} +1 -1
- package/dist/{synthesis-CLt-6Pzu.js → synthesis-BVbYJPM-.js} +3 -3
- package/dist/{synthesis-BxwFFuqZ.js → synthesis-CIxaIZH1.js} +7 -7
- package/dist/{synthesis-BUbH-4DA.js → synthesis-CoWIFjai.js} +51 -51
- package/dist/{synthesis-ekn511D_.js → synthesis-ntqeiu25.js} +3 -3
- package/dist/{tables-DTIPf6oV.js → tables-DKFvaDXb.js} +1 -1
- package/dist/{target-errors-Bp-kjJP5.js → target-errors-S2DP7RcP.js} +2 -2
- package/dist/{thinking-awGU51JX.js → thinking-DOvUroda.js} +5 -5
- package/dist/{tokens-DLGDtW5r.js → tokens-CFTgwwnd.js} +1 -1
- package/dist/{tool-images-CiD-DaWf.js → tool-images-C6fG5hIF.js} +2 -2
- package/dist/{tool-loop-detection-Dj9h1ogr.js → tool-loop-detection-Bs0RG2qV.js} +2 -2
- package/dist/{unified-runner-DtJxJ016.js → unified-runner-BNiGGPbP.js} +94 -85
- package/dist/{unified-runner-CdBxbcO2.js → unified-runner-DWZT5BCl.js} +14 -5
- package/dist/{update-cli-4OzLcQIF.js → update-cli-BdYAIokj.js} +10 -10
- package/dist/{update-cli-CQbvni-d.js → update-cli-ul-BDwA3.js} +11 -11
- package/dist/{update-runner-DLCzD7sp.js → update-runner-D1V7cGWA.js} +1 -1
- package/dist/{update-runner-CiYhkA5I.js → update-runner-Des8yO8-.js} +1 -1
- package/dist/{web-CSDi520u.js → web-4pKRGaN9.js} +55 -55
- package/dist/{web-COnC7jb4.js → web-CeH7sXd1.js} +7 -7
- package/dist/{web-DMFKXi8s.js → web-Cm1sUEcG.js} +5 -5
- package/dist/{web-DiqLVzt7.js → web-Dd2K5DCI.js} +4 -4
- package/dist/{whatsapp-actions-XPj837oV.js → whatsapp-actions-BVTo7B3-.js} +21 -21
- package/dist/{workspace-CarmeCYN.js → workspace-D9KMUsNd.js} +2 -2
- package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
- package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/node_modules/.bin/symi +0 -0
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/node_modules/.bin/symi +0 -0
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/node_modules/.bin/symi +0 -0
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/node_modules/.bin/symi +0 -0
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/node_modules/.bin/symi +0 -0
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/node_modules/.bin/symi +0 -0
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/node_modules/.bin/symi +0 -0
- 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/node_modules/.bin/markdown-it +0 -0
- package/extensions/matrix/node_modules/.bin/symi +0 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/node_modules/.bin/symi +0 -0
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/node_modules/.bin/symi +0 -0
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
- package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
- package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/node_modules/.bin/symi +0 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/node_modules/.bin/symi +0 -0
- package/extensions/nostr/node_modules/.bin/tsc +0 -0
- package/extensions/nostr/node_modules/.bin/tsserver +0 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/node_modules/.bin/symi +0 -0
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/node_modules/.bin/symi +0 -0
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/node_modules/.bin/symi +0 -0
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/node_modules/.bin/symi +0 -0
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/node_modules/.bin/symi +0 -0
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/node_modules/.bin/symi +0 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/node_modules/.bin/symi +0 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/node_modules/.bin/symi +0 -0
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/node_modules/.bin/symi +0 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/node_modules/.bin/symi +0 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +116 -86
- package/skills/long-task/scripts/detach-task.sh +0 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
- package/skills/tmux/scripts/find-sessions.sh +0 -0
- package/skills/tmux/scripts/wait-for-text.sh +0 -0
|
@@ -2,7 +2,7 @@ import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
|
2
2
|
import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-CePMUvus.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs";
|
|
5
|
-
import
|
|
5
|
+
import json5 from "json5";
|
|
6
6
|
import YAML from "yaml";
|
|
7
7
|
|
|
8
8
|
//#region src/shared/config-eval.ts
|
|
@@ -210,7 +210,7 @@ function resolveSymiManifestBlock(params) {
|
|
|
210
210
|
const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
|
|
211
211
|
if (!raw) return;
|
|
212
212
|
try {
|
|
213
|
-
const parsed =
|
|
213
|
+
const parsed = json5.parse(raw);
|
|
214
214
|
if (!parsed || typeof parsed !== "object") return;
|
|
215
215
|
const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
|
|
216
216
|
for (const key of manifestKeys) {
|
|
@@ -22,7 +22,7 @@ import "./pairing-token-Byh6drgn.js";
|
|
|
22
22
|
import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
|
|
23
23
|
import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
|
|
24
24
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
|
|
25
|
-
import { $t as emitGatewayRestart, A as runCliAgent, An as resolveInputFileLimits, Ar as emitAgentEvent, At as normalizeHttpWebhookUrl, Bt as buildDeliveryFromLegacyPayload, Cn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Cr as CommandLane, Ct as consumeRestartSentinel, Dn as extractFileContentFromSource, Dt as summarizeRestartSentinel, E as createDefaultDeps, En as DEFAULT_INPUT_TIMEOUT_MS, Ft as normalizeOptionalSessionKey, Gt as buildSafeExternalPrompt, Ht as stripLegacyDeliveryFields, It as normalizeOptionalText, Jt as isExternalHookSession, Kt as detectSuspiciousPatterns, Lt as normalizePayloadToSystemText, Mn as resolveAgentTimeoutMs, Mr as onAgentEvent, Nr as registerAgentRunContext, Nt as inferLegacyName, O as getCliSessionId, On as extractImageContentFromSource, Or as stripHeartbeatToken, Pn as enqueueSystemEvent, Pt as normalizeOptionalAgentId, Q as getActiveEmbeddedRunCount, Qt as deferGatewayRestartUntilIdle, R as buildHistoryContextFromEntries, Rt as normalizeRequiredName, Sr as waitForActiveTasks, T as createOutboundSendDeps, Tn as DEFAULT_INPUT_MAX_REDIRECTS, Tt as formatRestartSentinelMessage, Vt as hasLegacyDeliveryHints, W as getTotalPendingReplies, X as runAgentTurn, Zt as consumeGatewaySigusr1RestartAuthorization, _ as readJsonBodyWithLimit, _r as getActiveTaskCount, _t as resolveSessionDeliveryTarget, b as sleepWithAbort, br as resetAllLanes, dn as requestHeartbeatNow, en as isGatewaySigusr1RestartExternallyAllowed, f as getPluginToolMeta, g as handleSlackHttpRequest, gt as resolveOutboundTarget, i as listDescendantRunsForRequester, in as setPreRestartDeferralCheck, j as resolveAgentAvatar, jr as getAgentRunContext, k as setCliSessionId, kn as normalizeMimeList, kr as clearAgentRunContext, l as applyToolPolicyPipeline, lt as readLatestAssistantReply, m as loadSymiPlugins, n as countActiveRunsForSession, nt as classifyOutboundMessage, pt as resolveOutboundSessionRoute, qt as getHookType, r as initSubagentRegistry, rn as setGatewaySigusr1RestartPolicy, rt as resolveModelProfile, s as runSubagentAnnounceFlow, st as createSymiTools, t as countActiveDescendantRuns, tn as markGatewaySigusr1RestartHandled, u as buildDefaultToolPolicyPipelineSteps, ut as resolveAnnounceTargetFromKey, v as requestBodyErrorToText, wn as DEFAULT_INPUT_IMAGE_MIMES, wr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, x as agentCommand, xr as setCommandLaneConcurrency, xt as runWithModelFallback, y as computeBackoff, yr as getTotalQueueSize, yt as resetDirectoryCache, zt as migrateLegacyCronPayload } from "./subagent-registry-
|
|
25
|
+
import { $t as emitGatewayRestart, A as runCliAgent, An as resolveInputFileLimits, Ar as emitAgentEvent, At as normalizeHttpWebhookUrl, Bt as buildDeliveryFromLegacyPayload, Cn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Cr as CommandLane, Ct as consumeRestartSentinel, Dn as extractFileContentFromSource, Dt as summarizeRestartSentinel, E as createDefaultDeps, En as DEFAULT_INPUT_TIMEOUT_MS, Ft as normalizeOptionalSessionKey, Gt as buildSafeExternalPrompt, Ht as stripLegacyDeliveryFields, It as normalizeOptionalText, Jt as isExternalHookSession, Kt as detectSuspiciousPatterns, Lt as normalizePayloadToSystemText, Mn as resolveAgentTimeoutMs, Mr as onAgentEvent, Nr as registerAgentRunContext, Nt as inferLegacyName, O as getCliSessionId, On as extractImageContentFromSource, Or as stripHeartbeatToken, Pn as enqueueSystemEvent, Pt as normalizeOptionalAgentId, Q as getActiveEmbeddedRunCount, Qt as deferGatewayRestartUntilIdle, R as buildHistoryContextFromEntries, Rt as normalizeRequiredName, Sr as waitForActiveTasks, T as createOutboundSendDeps, Tn as DEFAULT_INPUT_MAX_REDIRECTS, Tt as formatRestartSentinelMessage, Vt as hasLegacyDeliveryHints, W as getTotalPendingReplies, X as runAgentTurn, Zt as consumeGatewaySigusr1RestartAuthorization, _ as readJsonBodyWithLimit, _r as getActiveTaskCount, _t as resolveSessionDeliveryTarget, b as sleepWithAbort, br as resetAllLanes, dn as requestHeartbeatNow, en as isGatewaySigusr1RestartExternallyAllowed, f as getPluginToolMeta, g as handleSlackHttpRequest, gt as resolveOutboundTarget, i as listDescendantRunsForRequester, in as setPreRestartDeferralCheck, j as resolveAgentAvatar, jr as getAgentRunContext, k as setCliSessionId, kn as normalizeMimeList, kr as clearAgentRunContext, l as applyToolPolicyPipeline, lt as readLatestAssistantReply, m as loadSymiPlugins, n as countActiveRunsForSession, nt as classifyOutboundMessage, pt as resolveOutboundSessionRoute, qt as getHookType, r as initSubagentRegistry, rn as setGatewaySigusr1RestartPolicy, rt as resolveModelProfile, s as runSubagentAnnounceFlow, st as createSymiTools, t as countActiveDescendantRuns, tn as markGatewaySigusr1RestartHandled, u as buildDefaultToolPolicyPipelineSteps, ut as resolveAnnounceTargetFromKey, v as requestBodyErrorToText, wn as DEFAULT_INPUT_IMAGE_MIMES, wr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, x as agentCommand, xr as setCommandLaneConcurrency, xt as runWithModelFallback, y as computeBackoff, yr as getTotalQueueSize, yt as resetDirectoryCache, zt as migrateLegacyCronPayload } from "./subagent-registry-Y_8a_o-m.js";
|
|
26
26
|
import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-CBlCXpU2.js";
|
|
27
27
|
import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BEvOiQ65.js";
|
|
28
28
|
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DTKQE9kt.js";
|
|
@@ -60,8 +60,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
60
60
|
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
|
|
61
61
|
import "./models-config-BjWk_WQa.js";
|
|
62
62
|
import { a as resolveAgentIdentity } from "./reply-prefix-Pz-5t5RS.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
63
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-z9Rsga03.js";
|
|
64
|
+
import { i as resolveMemorySearchConfig } from "./manager-DnkWmUWs.js";
|
|
65
65
|
import "./gemini-auth-CdtQ-GuM.js";
|
|
66
66
|
import "./retry-C4Q_VPOo.js";
|
|
67
67
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -107,7 +107,7 @@ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as han
|
|
|
107
107
|
import "./prompt-style-BxVdnrLq.js";
|
|
108
108
|
import "./pairing-labels-B6chnvfn.js";
|
|
109
109
|
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DcwVdzSK.js";
|
|
110
|
-
import { i as onHeartbeatEvent, l as resolveCronStyleNow, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-
|
|
110
|
+
import { i as onHeartbeatEvent, l as resolveCronStyleNow, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-D6uZvFVV.js";
|
|
111
111
|
import { t as ensureSymiCliOnPath } from "./path-env-CaiY2aOj.js";
|
|
112
112
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-Cw6NBIXW.js";
|
|
113
113
|
import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
|
|
@@ -131,20 +131,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
|
|
|
131
131
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-vevi4OAS.js";
|
|
132
132
|
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CfXVd09Y.js";
|
|
133
133
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-BWaTCKHh.js";
|
|
134
|
-
import { i as pickGatewaySelfPresence } from "./status-
|
|
135
|
-
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
134
|
+
import { i as pickGatewaySelfPresence } from "./status-Cnr5heo3.js";
|
|
135
|
+
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-_G7Dy5sq.js";
|
|
136
136
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DKcwWWGv.js";
|
|
137
137
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BNjupSIM.js";
|
|
138
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
139
|
-
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-
|
|
140
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
138
|
+
import { t as runOnboardingWizard } from "./onboarding-BSvR9bkU.js";
|
|
139
|
+
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-BAZKdAPo.js";
|
|
140
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CB9rSO0r.js";
|
|
141
141
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-YTXXLbHH.js";
|
|
142
|
-
import "./agents.config-
|
|
142
|
+
import "./agents.config-DyAqyKIS.js";
|
|
143
143
|
import "./dm-policy-shared-BSjL81w0.js";
|
|
144
144
|
import "./node-service-B-qdOCNb.js";
|
|
145
145
|
import "./status.update-DDeJEekl.js";
|
|
146
146
|
import "./skills-install-DEq4Ey44.js";
|
|
147
|
-
import "./update-runner-
|
|
147
|
+
import "./update-runner-Des8yO8-.js";
|
|
148
148
|
import { t as resolveAgentSessionDirs } from "./session-dirs-Dgz7kkUM.js";
|
|
149
149
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-mCPSj6kV.js";
|
|
150
150
|
import { n as forceFreePortAndWait } from "./ports-DQg7kV5s.js";
|
|
@@ -2087,7 +2087,8 @@ function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSess
|
|
|
2087
2087
|
sessionKey,
|
|
2088
2088
|
seq,
|
|
2089
2089
|
state: "error",
|
|
2090
|
-
errorMessage: error ? formatForLog(error) : void 0
|
|
2090
|
+
errorMessage: error ? formatForLog(error) : void 0,
|
|
2091
|
+
...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {}
|
|
2091
2092
|
};
|
|
2092
2093
|
broadcast("chat", payload);
|
|
2093
2094
|
nodeSendToSession(sessionKey, "chat", payload);
|
|
@@ -12127,7 +12128,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
12127
12128
|
});
|
|
12128
12129
|
let glassUiBridgeCleanup = null;
|
|
12129
12130
|
if (!minimalTestGateway) {
|
|
12130
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
12131
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-7O88M05N.js");
|
|
12131
12132
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
12132
12133
|
wss: glassUiWss,
|
|
12133
12134
|
context: gatewayRequestContext,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Cz6cgZ7r.js";
|
|
4
|
-
import { $ as loadSessionEntry, $n as readLatestAssistantReply, Ar as emitAgentEvent, At as buildDeliveryFromLegacyPayload, C as runCliAgent, Ct as inferLegacyName, Dr as waitForActiveTasks, Dt as normalizePayloadToSystemText, Er as setCommandLaneConcurrency, Et as normalizeOptionalText, Fr as resolveModelProfile, Ft as buildSafeExternalPrompt, G as createSymiTools, Gn as countActiveDescendantRuns, Gt as markGatewaySigusr1RestartHandled, Ht as deferGatewayRestartUntilIdle, It as detectSuspiciousPatterns, Jn as listDescendantRunsForRequester, Jt as setPreRestartDeferralCheck, Kn as countActiveRunsForSession, L as getTotalPendingReplies, Lr as runWithModelFallback, Lt as getHookType, Mr as onAgentEvent, Mt as stripLegacyDeliveryFields, Nr as registerAgentRunContext, Or as CommandLane, Ot as normalizeRequiredName, Pr as classifyOutboundMessage, Q as loadCombinedSessionStoreForGateway, Qn as runSubagentAnnounceFlow, Rt as isExternalHookSession, S as setCliSessionId, Sr as getActiveTaskCount, Tr as resetAllLanes, Tt as normalizeOptionalSessionKey, Ur as stripHeartbeatToken, Ut as emitGatewayRestart, Vt as consumeGatewaySigusr1RestartAuthorization, Wt as isGatewaySigusr1RestartExternallyAllowed, Z as listSessionsFromStore, Zn as resolveAgentTimeoutMs, _n as DEFAULT_INPUT_TIMEOUT_MS, _t as summarizeRestartSentinel, a as getPluginToolMeta, at as resolveOutboundSessionRoute, bn as normalizeMimeList, bt as normalizeHttpWebhookUrl, ct as resolveOutboundTarget, d as requestBodyErrorToText, dt as resetDirectoryCache, f as computeBackoff, gn as DEFAULT_INPUT_MAX_REDIRECTS, hn as DEFAULT_INPUT_IMAGE_MIMES, ht as formatRestartSentinelMessage, j as buildHistoryContextFromEntries, jr as getAgentRunContext, jt as hasLegacyDeliveryHints, kr as clearAgentRunContext, kt as migrateLegacyCronPayload, l as handleSlackHttpRequest, lt as resolveSessionDeliveryTarget, m as agentCommand, mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, n as applyToolPolicyPipeline, nr as getActiveEmbeddedRunCount, on as lookupContextTokens, p as sleepWithAbort, pt as consumeRestartSentinel, q as resolveAnnounceTargetFromKey, qn as initSubagentRegistry, qt as setGatewaySigusr1RestartPolicy, r as buildDefaultToolPolicyPipelineSteps, s as loadSymiPlugins, t as runAgentTurn, tn as requestHeartbeatNow, u as readJsonBodyWithLimit, v as createOutboundSendDeps, vn as extractFileContentFromSource, w as resolveAgentAvatar, wn as enqueueSystemEvent, wr as getTotalQueueSize, wt as normalizeOptionalAgentId, x as getCliSessionId, xn as resolveInputFileLimits, y as createDefaultDeps, yn as extractImageContentFromSource, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./unified-runner-
|
|
4
|
+
import { $ as loadSessionEntry, $n as readLatestAssistantReply, Ar as emitAgentEvent, At as buildDeliveryFromLegacyPayload, C as runCliAgent, Ct as inferLegacyName, Dr as waitForActiveTasks, Dt as normalizePayloadToSystemText, Er as setCommandLaneConcurrency, Et as normalizeOptionalText, Fr as resolveModelProfile, Ft as buildSafeExternalPrompt, G as createSymiTools, Gn as countActiveDescendantRuns, Gt as markGatewaySigusr1RestartHandled, Ht as deferGatewayRestartUntilIdle, It as detectSuspiciousPatterns, Jn as listDescendantRunsForRequester, Jt as setPreRestartDeferralCheck, Kn as countActiveRunsForSession, L as getTotalPendingReplies, Lr as runWithModelFallback, Lt as getHookType, Mr as onAgentEvent, Mt as stripLegacyDeliveryFields, Nr as registerAgentRunContext, Or as CommandLane, Ot as normalizeRequiredName, Pr as classifyOutboundMessage, Q as loadCombinedSessionStoreForGateway, Qn as runSubagentAnnounceFlow, Rt as isExternalHookSession, S as setCliSessionId, Sr as getActiveTaskCount, Tr as resetAllLanes, Tt as normalizeOptionalSessionKey, Ur as stripHeartbeatToken, Ut as emitGatewayRestart, Vt as consumeGatewaySigusr1RestartAuthorization, Wt as isGatewaySigusr1RestartExternallyAllowed, Z as listSessionsFromStore, Zn as resolveAgentTimeoutMs, _n as DEFAULT_INPUT_TIMEOUT_MS, _t as summarizeRestartSentinel, a as getPluginToolMeta, at as resolveOutboundSessionRoute, bn as normalizeMimeList, bt as normalizeHttpWebhookUrl, ct as resolveOutboundTarget, d as requestBodyErrorToText, dt as resetDirectoryCache, f as computeBackoff, gn as DEFAULT_INPUT_MAX_REDIRECTS, hn as DEFAULT_INPUT_IMAGE_MIMES, ht as formatRestartSentinelMessage, j as buildHistoryContextFromEntries, jr as getAgentRunContext, jt as hasLegacyDeliveryHints, kr as clearAgentRunContext, kt as migrateLegacyCronPayload, l as handleSlackHttpRequest, lt as resolveSessionDeliveryTarget, m as agentCommand, mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, n as applyToolPolicyPipeline, nr as getActiveEmbeddedRunCount, on as lookupContextTokens, p as sleepWithAbort, pt as consumeRestartSentinel, q as resolveAnnounceTargetFromKey, qn as initSubagentRegistry, qt as setGatewaySigusr1RestartPolicy, r as buildDefaultToolPolicyPipelineSteps, s as loadSymiPlugins, t as runAgentTurn, tn as requestHeartbeatNow, u as readJsonBodyWithLimit, v as createOutboundSendDeps, vn as extractFileContentFromSource, w as resolveAgentAvatar, wn as enqueueSystemEvent, wr as getTotalQueueSize, wt as normalizeOptionalAgentId, x as getCliSessionId, xn as resolveInputFileLimits, y as createDefaultDeps, yn as extractImageContentFromSource, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./unified-runner-DWZT5BCl.js";
|
|
5
5
|
import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-ClO_zVv-.js";
|
|
6
6
|
import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-zqierDLj.js";
|
|
7
7
|
import { Ht as DEFAULT_MODEL, N as getModelRefStatus, O as isPidAlive, P as isCliProvider, U as resolveHooksGmailModel, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-CtBXKml4.js";
|
|
@@ -62,8 +62,8 @@ import "./send-CrFVrFoV.js";
|
|
|
62
62
|
import "./model-JOScPOPJ.js";
|
|
63
63
|
import "./pi-model-discovery-CXXH7biP.js";
|
|
64
64
|
import { a as resolveAgentIdentity } from "./reply-prefix-DnXliXio.js";
|
|
65
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
66
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
65
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-D69x8sVz.js";
|
|
66
|
+
import { i as resolveMemorySearchConfig } from "./manager-DjHARmFk.js";
|
|
67
67
|
import "./gemini-auth-rYBkv11i.js";
|
|
68
68
|
import "./retry-DYICeae5.js";
|
|
69
69
|
import "./sqlite-CRogFEk1.js";
|
|
@@ -110,7 +110,7 @@ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as han
|
|
|
110
110
|
import "./prompt-style-CSNJI4MG.js";
|
|
111
111
|
import "./pairing-labels-DJfFSZUS.js";
|
|
112
112
|
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-D4i_i5CV.js";
|
|
113
|
-
import { c as resolveCronStyleNow, i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-
|
|
113
|
+
import { c as resolveCronStyleNow, i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-_mPYbQT2.js";
|
|
114
114
|
import { t as ensureSymiCliOnPath } from "./path-env-D3HgzjnU.js";
|
|
115
115
|
import "./runtime-guard-dBbuLE2m.js";
|
|
116
116
|
import { t as forceFreePortAndWait } from "./ports-6ULVruzH.js";
|
|
@@ -136,20 +136,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
|
|
|
136
136
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DnATZix4.js";
|
|
137
137
|
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-BFAHZWI2.js";
|
|
138
138
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-PnjDY_wY.js";
|
|
139
|
-
import { r as pickGatewaySelfPresence } from "./status-
|
|
140
|
-
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
139
|
+
import { r as pickGatewaySelfPresence } from "./status-D5zp5rJK.js";
|
|
140
|
+
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-xGaC5l7K.js";
|
|
141
141
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CtKVON4w.js";
|
|
142
142
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BIE5FLmi.js";
|
|
143
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
144
|
-
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-
|
|
145
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
143
|
+
import { t as runOnboardingWizard } from "./onboarding-DTs0CtTa.js";
|
|
144
|
+
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-B4SR9px-.js";
|
|
145
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-BP1rb3hW.js";
|
|
146
146
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-BV1BJYYk.js";
|
|
147
|
-
import "./agents.config-
|
|
147
|
+
import "./agents.config-wJSTSxHw.js";
|
|
148
148
|
import "./dm-policy-shared-Ca_yzxgO.js";
|
|
149
149
|
import "./node-service-DiZDC-T7.js";
|
|
150
150
|
import "./status.update-B7og6NgE.js";
|
|
151
151
|
import "./skills-install-ClMBHyh2.js";
|
|
152
|
-
import "./update-runner-
|
|
152
|
+
import "./update-runner-D1V7cGWA.js";
|
|
153
153
|
import { t as resolveAgentSessionDirs } from "./session-dirs-CBqamQff.js";
|
|
154
154
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-YQdb3RE6.js";
|
|
155
155
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
@@ -2091,7 +2091,8 @@ function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSess
|
|
|
2091
2091
|
sessionKey,
|
|
2092
2092
|
seq,
|
|
2093
2093
|
state: "error",
|
|
2094
|
-
errorMessage: error ? formatForLog(error) : void 0
|
|
2094
|
+
errorMessage: error ? formatForLog(error) : void 0,
|
|
2095
|
+
...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {}
|
|
2095
2096
|
};
|
|
2096
2097
|
broadcast("chat", payload);
|
|
2097
2098
|
nodeSendToSession(sessionKey, "chat", payload);
|
|
@@ -12131,7 +12132,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
12131
12132
|
});
|
|
12132
12133
|
let glassUiBridgeCleanup = null;
|
|
12133
12134
|
if (!minimalTestGateway) {
|
|
12134
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
12135
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-b6N_1b40.js");
|
|
12135
12136
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
12136
12137
|
wss: glassUiWss,
|
|
12137
12138
|
context: gatewayRequestContext,
|
|
@@ -14,7 +14,7 @@ import "./client-CJIMV1WD.js";
|
|
|
14
14
|
import "./call-e869fla2.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import { rt as resolveModelProfile } from "./subagent-registry-
|
|
17
|
+
import { rt as resolveModelProfile } from "./subagent-registry-Y_8a_o-m.js";
|
|
18
18
|
import "./sessions-CBlCXpU2.js";
|
|
19
19
|
import "./tokens-BEvOiQ65.js";
|
|
20
20
|
import "./plugins-DTKQE9kt.js";
|
|
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
52
52
|
import "./thinking-8sKPnzpp.js";
|
|
53
53
|
import "./models-config-BjWk_WQa.js";
|
|
54
54
|
import "./reply-prefix-Pz-5t5RS.js";
|
|
55
|
-
import "./memory-cli-
|
|
56
|
-
import "./manager-
|
|
55
|
+
import "./memory-cli-z9Rsga03.js";
|
|
56
|
+
import "./manager-DnkWmUWs.js";
|
|
57
57
|
import "./gemini-auth-CdtQ-GuM.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
59
59
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -98,7 +98,7 @@ import "./onboard-helpers-C_ASAAp0.js";
|
|
|
98
98
|
import "./prompt-style-BxVdnrLq.js";
|
|
99
99
|
import "./pairing-labels-B6chnvfn.js";
|
|
100
100
|
import "./pi-tools.policy-DcwVdzSK.js";
|
|
101
|
-
import "./heartbeat-visibility-
|
|
101
|
+
import "./heartbeat-visibility-D6uZvFVV.js";
|
|
102
102
|
import "./dangerous-tools-Cw6NBIXW.js";
|
|
103
103
|
import "./catalog-KcLvtTfa.js";
|
|
104
104
|
import "./install-safe-path-C__62m3G.js";
|
|
@@ -110,18 +110,18 @@ import "./service-RxN7lQKN.js";
|
|
|
110
110
|
import "./diagnostics-C6xPE2ln.js";
|
|
111
111
|
import "./table-Bka4fasy.js";
|
|
112
112
|
import "./audit-CfXVd09Y.js";
|
|
113
|
-
import "./status-
|
|
114
|
-
import "./health-
|
|
113
|
+
import "./status-Cnr5heo3.js";
|
|
114
|
+
import "./health-_G7Dy5sq.js";
|
|
115
115
|
import "./control-ui-assets-DKcwWWGv.js";
|
|
116
116
|
import "./update-check-BNjupSIM.js";
|
|
117
|
-
import { n as handleGatewayRequest } from "./server-methods-
|
|
118
|
-
import "./push-apns-
|
|
119
|
-
import "./agents.config-
|
|
117
|
+
import { n as handleGatewayRequest } from "./server-methods-BAZKdAPo.js";
|
|
118
|
+
import "./push-apns-CB9rSO0r.js";
|
|
119
|
+
import "./agents.config-DyAqyKIS.js";
|
|
120
120
|
import "./dm-policy-shared-BSjL81w0.js";
|
|
121
121
|
import "./node-service-B-qdOCNb.js";
|
|
122
122
|
import "./status.update-DDeJEekl.js";
|
|
123
123
|
import "./skills-install-DEq4Ey44.js";
|
|
124
|
-
import "./update-runner-
|
|
124
|
+
import "./update-runner-Des8yO8-.js";
|
|
125
125
|
|
|
126
126
|
//#region src/gateway/glass-ui-ws.ts
|
|
127
127
|
const SESSION_KEY = "agent:main:main";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./tokens-Cz6cgZ7r.js";
|
|
4
|
-
import { Fr as resolveModelProfile } from "./unified-runner-
|
|
4
|
+
import { Fr as resolveModelProfile } from "./unified-runner-DWZT5BCl.js";
|
|
5
5
|
import "./registry-ClO_zVv-.js";
|
|
6
6
|
import "./subsystem-zqierDLj.js";
|
|
7
7
|
import "./auth-profiles-CtBXKml4.js";
|
|
@@ -55,8 +55,8 @@ import "./send-CrFVrFoV.js";
|
|
|
55
55
|
import "./model-JOScPOPJ.js";
|
|
56
56
|
import "./pi-model-discovery-CXXH7biP.js";
|
|
57
57
|
import "./reply-prefix-DnXliXio.js";
|
|
58
|
-
import "./memory-cli-
|
|
59
|
-
import "./manager-
|
|
58
|
+
import "./memory-cli-D69x8sVz.js";
|
|
59
|
+
import "./manager-DjHARmFk.js";
|
|
60
60
|
import "./gemini-auth-rYBkv11i.js";
|
|
61
61
|
import "./retry-DYICeae5.js";
|
|
62
62
|
import "./sqlite-CRogFEk1.js";
|
|
@@ -102,7 +102,7 @@ import "./onboard-helpers-ncV67aOo.js";
|
|
|
102
102
|
import "./prompt-style-CSNJI4MG.js";
|
|
103
103
|
import "./pairing-labels-DJfFSZUS.js";
|
|
104
104
|
import "./pi-tools.policy-D4i_i5CV.js";
|
|
105
|
-
import "./heartbeat-visibility-
|
|
105
|
+
import "./heartbeat-visibility-_mPYbQT2.js";
|
|
106
106
|
import "./runtime-guard-dBbuLE2m.js";
|
|
107
107
|
import "./catalog-pt1jhhyb.js";
|
|
108
108
|
import "./skills-status-DzvtNke3.js";
|
|
@@ -115,18 +115,18 @@ import "./service-CW2RUNzh.js";
|
|
|
115
115
|
import "./diagnostics-D40jPn_9.js";
|
|
116
116
|
import "./table-Cg6YZXv9.js";
|
|
117
117
|
import "./audit-BFAHZWI2.js";
|
|
118
|
-
import "./status-
|
|
119
|
-
import "./health-
|
|
118
|
+
import "./status-D5zp5rJK.js";
|
|
119
|
+
import "./health-xGaC5l7K.js";
|
|
120
120
|
import "./control-ui-assets-CtKVON4w.js";
|
|
121
121
|
import "./update-check-BIE5FLmi.js";
|
|
122
|
-
import { n as handleGatewayRequest } from "./server-methods-
|
|
123
|
-
import "./push-apns-
|
|
124
|
-
import "./agents.config-
|
|
122
|
+
import { n as handleGatewayRequest } from "./server-methods-B4SR9px-.js";
|
|
123
|
+
import "./push-apns-BP1rb3hW.js";
|
|
124
|
+
import "./agents.config-wJSTSxHw.js";
|
|
125
125
|
import "./dm-policy-shared-Ca_yzxgO.js";
|
|
126
126
|
import "./node-service-DiZDC-T7.js";
|
|
127
127
|
import "./status.update-B7og6NgE.js";
|
|
128
128
|
import "./skills-install-ClMBHyh2.js";
|
|
129
|
-
import "./update-runner-
|
|
129
|
+
import "./update-runner-D1V7cGWA.js";
|
|
130
130
|
|
|
131
131
|
//#region src/gateway/glass-ui-ws.ts
|
|
132
132
|
const SESSION_KEY = "agent:main:main";
|
|
@@ -4,7 +4,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
|
|
|
4
4
|
import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-xM36I1Em.js";
|
|
5
5
|
import { C as parseDurationMs, i as loadConfig } from "./config-BaxT9cN4.js";
|
|
6
6
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-e869fla2.js";
|
|
7
|
-
import { Cr as CommandLane, Dr as resolveHeartbeatPrompt$1, Er as isHeartbeatContentEffectivelyEmpty, In as peekSystemEventEntries, Or as stripHeartbeatToken, Tr as DEFAULT_HEARTBEAT_EVERY, dn as requestHeartbeatNow, et as resolveEmbeddedSessionLane, fn as setHeartbeatWakeHandler, ht as resolveHeartbeatSenderContext, mt as resolveHeartbeatDeliveryTarget, pn as resolveHeartbeatReasonKind, rr as resolveUserTimezone, vr as getQueueSize, wr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./subagent-registry-
|
|
7
|
+
import { Cr as CommandLane, Dr as resolveHeartbeatPrompt$1, Er as isHeartbeatContentEffectivelyEmpty, In as peekSystemEventEntries, Or as stripHeartbeatToken, Tr as DEFAULT_HEARTBEAT_EVERY, dn as requestHeartbeatNow, et as resolveEmbeddedSessionLane, fn as setHeartbeatWakeHandler, ht as resolveHeartbeatSenderContext, mt as resolveHeartbeatDeliveryTarget, pn as resolveHeartbeatReasonKind, rr as resolveUserTimezone, vr as getQueueSize, wr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./subagent-registry-Y_8a_o-m.js";
|
|
8
8
|
import { M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-CBlCXpU2.js";
|
|
9
9
|
import { r as SYMIPULSE_TOKEN } from "./tokens-BEvOiQ65.js";
|
|
10
10
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DTKQE9kt.js";
|
|
@@ -14,7 +14,7 @@ import { i as hasErrnoCode, n as formatErrorMessage } from "./errors-Ba_ROWsq.js
|
|
|
14
14
|
import { c as resolveStorePath, n as resolveSessionFilePath } from "./paths-DNdWAq7b.js";
|
|
15
15
|
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-Pz-5t5RS.js";
|
|
16
16
|
import { n as withProgress } from "./progress-HK2tT7Yf.js";
|
|
17
|
-
import { a as resolveIndicatorType, c as appendCronStyleCurrentTimeLine, n as emitHeartbeatEvent, o as runReplyTurn, s as resolveHeartbeatReplyPayload, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-
|
|
17
|
+
import { a as resolveIndicatorType, c as appendCronStyleCurrentTimeLine, n as emitHeartbeatEvent, o as runReplyTurn, s as resolveHeartbeatReplyPayload, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-D6uZvFVV.js";
|
|
18
18
|
import { t as resolveChannelDefaultAccountId } from "./helpers-gWnZ9zWR.js";
|
|
19
19
|
import path from "node:path";
|
|
20
20
|
import fs from "node:fs/promises";
|
|
@@ -26,27 +26,49 @@ const activeHeartbeats = /* @__PURE__ */ new Map();
|
|
|
26
26
|
* heartbeat run on `sessionKey`. If a previous controller exists for
|
|
27
27
|
* the same key (shouldn't happen — heartbeats are serialized per
|
|
28
28
|
* session — but be defensive), abort it before replacing.
|
|
29
|
+
*
|
|
30
|
+
* `runId` is optional — the heartbeat-runner registers the controller
|
|
31
|
+
* before runReplyTurn assigns the agent runId, then calls
|
|
32
|
+
* setHeartbeatRunId once the runId is known.
|
|
29
33
|
*/
|
|
30
|
-
function registerHeartbeatRun(sessionKey, controller) {
|
|
34
|
+
function registerHeartbeatRun(sessionKey, controller, runId) {
|
|
31
35
|
if (!sessionKey) return;
|
|
32
36
|
const existing = activeHeartbeats.get(sessionKey);
|
|
33
|
-
if (existing && existing !== controller) try {
|
|
34
|
-
existing.abort();
|
|
37
|
+
if (existing && existing.controller !== controller) try {
|
|
38
|
+
existing.controller.abort();
|
|
35
39
|
} catch {}
|
|
36
|
-
activeHeartbeats.set(sessionKey,
|
|
40
|
+
activeHeartbeats.set(sessionKey, {
|
|
41
|
+
controller,
|
|
42
|
+
runId
|
|
43
|
+
});
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
46
|
+
* Update the runId for the active heartbeat registration on `sessionKey`.
|
|
47
|
+
* No-op when no registration exists (e.g., if the run cleared between
|
|
48
|
+
* registerHeartbeatRun and onAgentRunStart). Wired from the heartbeat
|
|
49
|
+
* runner's onAgentRunStart callback so abortHeartbeatRunForSession can
|
|
50
|
+
* return the runId at preemption time.
|
|
51
|
+
*/
|
|
52
|
+
function setHeartbeatRunId(sessionKey, runId) {
|
|
53
|
+
if (!sessionKey || !runId) return;
|
|
54
|
+
const existing = activeHeartbeats.get(sessionKey);
|
|
55
|
+
if (!existing) return;
|
|
56
|
+
existing.runId = runId;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Drop the registration for `sessionKey`. Called from the heartbeat
|
|
60
|
+
* runner's finally block once the run has completed (successfully,
|
|
61
|
+
* with an error, or via abort).
|
|
42
62
|
*/
|
|
43
63
|
function clearHeartbeatRun(sessionKey) {
|
|
44
64
|
if (!sessionKey) return;
|
|
45
65
|
activeHeartbeats.delete(sessionKey);
|
|
46
66
|
}
|
|
47
67
|
/**
|
|
48
|
-
* Abort the active heartbeat (if any) for `sessionKey`. Returns
|
|
49
|
-
* when an abort was issued
|
|
68
|
+
* Abort the active heartbeat (if any) for `sessionKey`. Returns
|
|
69
|
+
* `{ aborted: true, runId? }` when an abort was issued (runId may be
|
|
70
|
+
* undefined if the agent loop hadn't started yet) or `{ aborted: false }`
|
|
71
|
+
* when no heartbeat was in flight.
|
|
50
72
|
*
|
|
51
73
|
* Called from the chat.send handler before it enqueues the user turn,
|
|
52
74
|
* so the user's message doesn't sit behind a heartbeat that may take
|
|
@@ -54,14 +76,17 @@ function clearHeartbeatRun(sessionKey) {
|
|
|
54
76
|
* pulse interval — no state to recover.
|
|
55
77
|
*/
|
|
56
78
|
function abortHeartbeatRunForSession(sessionKey) {
|
|
57
|
-
if (!sessionKey) return false;
|
|
58
|
-
const
|
|
59
|
-
if (!
|
|
79
|
+
if (!sessionKey) return { aborted: false };
|
|
80
|
+
const registration = activeHeartbeats.get(sessionKey);
|
|
81
|
+
if (!registration) return { aborted: false };
|
|
60
82
|
try {
|
|
61
|
-
controller.abort();
|
|
83
|
+
registration.controller.abort();
|
|
62
84
|
} catch {}
|
|
63
85
|
activeHeartbeats.delete(sessionKey);
|
|
64
|
-
return
|
|
86
|
+
return {
|
|
87
|
+
aborted: true,
|
|
88
|
+
runId: registration.runId
|
|
89
|
+
};
|
|
65
90
|
}
|
|
66
91
|
|
|
67
92
|
//#endregion
|
|
@@ -593,15 +618,20 @@ async function runHeartbeatOnce(opts) {
|
|
|
593
618
|
});
|
|
594
619
|
const heartbeatModelOverride = heartbeat?.model?.trim() || void 0;
|
|
595
620
|
const suppressToolErrorWarnings = heartbeat?.suppressToolErrorWarnings === true;
|
|
621
|
+
const onAgentRunStart = (runId) => {
|
|
622
|
+
setHeartbeatRunId(sessionKey, runId);
|
|
623
|
+
};
|
|
596
624
|
const replyResult = await runReplyTurn(ctx, heartbeatModelOverride ? {
|
|
597
625
|
isHeartbeat: true,
|
|
598
626
|
heartbeatModelOverride,
|
|
599
627
|
suppressToolErrorWarnings,
|
|
600
|
-
abortSignal: abortController.signal
|
|
628
|
+
abortSignal: abortController.signal,
|
|
629
|
+
onAgentRunStart
|
|
601
630
|
} : {
|
|
602
631
|
isHeartbeat: true,
|
|
603
632
|
suppressToolErrorWarnings,
|
|
604
|
-
abortSignal: abortController.signal
|
|
633
|
+
abortSignal: abortController.signal,
|
|
634
|
+
onAgentRunStart
|
|
605
635
|
}, cfg);
|
|
606
636
|
const replyPayload = resolveHeartbeatReplyPayload(replyResult);
|
|
607
637
|
const reasoningPayloads = heartbeat?.includeReasoning === true ? resolveHeartbeatReasoningPayloads(replyResult).filter((payload) => payload !== replyPayload) : [];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-B-0b9bGM.js";
|
|
2
2
|
import { r as SYMIPULSE_TOKEN } from "./tokens-Cz6cgZ7r.js";
|
|
3
|
-
import { Br as DEFAULT_HEARTBEAT_EVERY, Cr as getQueueSize, En as peekSystemEventEntries, Hr as resolveHeartbeatPrompt$1, Or as CommandLane, Ur as stripHeartbeatToken, Vr as isHeartbeatContentEffectivelyEmpty, ir as resolveEmbeddedSessionLane, nn as setHeartbeatWakeHandler, ot as resolveHeartbeatDeliveryTarget, rn as resolveHeartbeatReasonKind, sr as resolveUserTimezone, st as resolveHeartbeatSenderContext, tn as requestHeartbeatNow, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./unified-runner-
|
|
3
|
+
import { Br as DEFAULT_HEARTBEAT_EVERY, Cr as getQueueSize, En as peekSystemEventEntries, Hr as resolveHeartbeatPrompt$1, Or as CommandLane, Ur as stripHeartbeatToken, Vr as isHeartbeatContentEffectivelyEmpty, ir as resolveEmbeddedSessionLane, nn as setHeartbeatWakeHandler, ot as resolveHeartbeatDeliveryTarget, rn as resolveHeartbeatReasonKind, sr as resolveUserTimezone, st as resolveHeartbeatSenderContext, tn as requestHeartbeatNow, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS } from "./unified-runner-DWZT5BCl.js";
|
|
4
4
|
import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-zqierDLj.js";
|
|
5
5
|
import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-oOB32jSB.js";
|
|
6
6
|
import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-BajBuriF.js";
|
|
@@ -15,7 +15,7 @@ import { t as deliverOutboundPayloads } from "./deliver-DdpsRFXi.js";
|
|
|
15
15
|
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-DnXliXio.js";
|
|
16
16
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BT57Dzye.js";
|
|
17
17
|
import { n as withProgress } from "./progress-Cx3xmP03.js";
|
|
18
|
-
import { a as resolveIndicatorType, l as runReplyTurn, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-
|
|
18
|
+
import { a as resolveIndicatorType, l as runReplyTurn, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-_mPYbQT2.js";
|
|
19
19
|
import { t as resolveChannelDefaultAccountId } from "./helpers-CYGbI-uz.js";
|
|
20
20
|
import path from "node:path";
|
|
21
21
|
import fs from "node:fs/promises";
|
|
@@ -27,27 +27,49 @@ const activeHeartbeats = /* @__PURE__ */ new Map();
|
|
|
27
27
|
* heartbeat run on `sessionKey`. If a previous controller exists for
|
|
28
28
|
* the same key (shouldn't happen — heartbeats are serialized per
|
|
29
29
|
* session — but be defensive), abort it before replacing.
|
|
30
|
+
*
|
|
31
|
+
* `runId` is optional — the heartbeat-runner registers the controller
|
|
32
|
+
* before runReplyTurn assigns the agent runId, then calls
|
|
33
|
+
* setHeartbeatRunId once the runId is known.
|
|
30
34
|
*/
|
|
31
|
-
function registerHeartbeatRun(sessionKey, controller) {
|
|
35
|
+
function registerHeartbeatRun(sessionKey, controller, runId) {
|
|
32
36
|
if (!sessionKey) return;
|
|
33
37
|
const existing = activeHeartbeats.get(sessionKey);
|
|
34
|
-
if (existing && existing !== controller) try {
|
|
35
|
-
existing.abort();
|
|
38
|
+
if (existing && existing.controller !== controller) try {
|
|
39
|
+
existing.controller.abort();
|
|
36
40
|
} catch {}
|
|
37
|
-
activeHeartbeats.set(sessionKey,
|
|
41
|
+
activeHeartbeats.set(sessionKey, {
|
|
42
|
+
controller,
|
|
43
|
+
runId
|
|
44
|
+
});
|
|
38
45
|
}
|
|
39
46
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
47
|
+
* Update the runId for the active heartbeat registration on `sessionKey`.
|
|
48
|
+
* No-op when no registration exists (e.g., if the run cleared between
|
|
49
|
+
* registerHeartbeatRun and onAgentRunStart). Wired from the heartbeat
|
|
50
|
+
* runner's onAgentRunStart callback so abortHeartbeatRunForSession can
|
|
51
|
+
* return the runId at preemption time.
|
|
52
|
+
*/
|
|
53
|
+
function setHeartbeatRunId(sessionKey, runId) {
|
|
54
|
+
if (!sessionKey || !runId) return;
|
|
55
|
+
const existing = activeHeartbeats.get(sessionKey);
|
|
56
|
+
if (!existing) return;
|
|
57
|
+
existing.runId = runId;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Drop the registration for `sessionKey`. Called from the heartbeat
|
|
61
|
+
* runner's finally block once the run has completed (successfully,
|
|
62
|
+
* with an error, or via abort).
|
|
43
63
|
*/
|
|
44
64
|
function clearHeartbeatRun(sessionKey) {
|
|
45
65
|
if (!sessionKey) return;
|
|
46
66
|
activeHeartbeats.delete(sessionKey);
|
|
47
67
|
}
|
|
48
68
|
/**
|
|
49
|
-
* Abort the active heartbeat (if any) for `sessionKey`. Returns
|
|
50
|
-
* when an abort was issued
|
|
69
|
+
* Abort the active heartbeat (if any) for `sessionKey`. Returns
|
|
70
|
+
* `{ aborted: true, runId? }` when an abort was issued (runId may be
|
|
71
|
+
* undefined if the agent loop hadn't started yet) or `{ aborted: false }`
|
|
72
|
+
* when no heartbeat was in flight.
|
|
51
73
|
*
|
|
52
74
|
* Called from the chat.send handler before it enqueues the user turn,
|
|
53
75
|
* so the user's message doesn't sit behind a heartbeat that may take
|
|
@@ -55,14 +77,17 @@ function clearHeartbeatRun(sessionKey) {
|
|
|
55
77
|
* pulse interval — no state to recover.
|
|
56
78
|
*/
|
|
57
79
|
function abortHeartbeatRunForSession(sessionKey) {
|
|
58
|
-
if (!sessionKey) return false;
|
|
59
|
-
const
|
|
60
|
-
if (!
|
|
80
|
+
if (!sessionKey) return { aborted: false };
|
|
81
|
+
const registration = activeHeartbeats.get(sessionKey);
|
|
82
|
+
if (!registration) return { aborted: false };
|
|
61
83
|
try {
|
|
62
|
-
controller.abort();
|
|
84
|
+
registration.controller.abort();
|
|
63
85
|
} catch {}
|
|
64
86
|
activeHeartbeats.delete(sessionKey);
|
|
65
|
-
return
|
|
87
|
+
return {
|
|
88
|
+
aborted: true,
|
|
89
|
+
runId: registration.runId
|
|
90
|
+
};
|
|
66
91
|
}
|
|
67
92
|
|
|
68
93
|
//#endregion
|
|
@@ -594,15 +619,20 @@ async function runHeartbeatOnce(opts) {
|
|
|
594
619
|
});
|
|
595
620
|
const heartbeatModelOverride = heartbeat?.model?.trim() || void 0;
|
|
596
621
|
const suppressToolErrorWarnings = heartbeat?.suppressToolErrorWarnings === true;
|
|
622
|
+
const onAgentRunStart = (runId) => {
|
|
623
|
+
setHeartbeatRunId(sessionKey, runId);
|
|
624
|
+
};
|
|
597
625
|
const replyResult = await runReplyTurn(ctx, heartbeatModelOverride ? {
|
|
598
626
|
isHeartbeat: true,
|
|
599
627
|
heartbeatModelOverride,
|
|
600
628
|
suppressToolErrorWarnings,
|
|
601
|
-
abortSignal: abortController.signal
|
|
629
|
+
abortSignal: abortController.signal,
|
|
630
|
+
onAgentRunStart
|
|
602
631
|
} : {
|
|
603
632
|
isHeartbeat: true,
|
|
604
633
|
suppressToolErrorWarnings,
|
|
605
|
-
abortSignal: abortController.signal
|
|
634
|
+
abortSignal: abortController.signal,
|
|
635
|
+
onAgentRunStart
|
|
606
636
|
}, cfg);
|
|
607
637
|
const replyPayload = resolveHeartbeatReplyPayload(replyResult);
|
|
608
638
|
const reasoningPayloads = heartbeat?.includeReasoning === true ? resolveHeartbeatReasoningPayloads(replyResult).filter((payload) => payload !== replyPayload) : [];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { J as withContextOverflowRecovery, Nn as prepareAgentRun, X as runAgentTurn, at as buildAgentTurnParams, it as composeTurnMiddleware, nr as resolveUserTimeFormat, ot as prepareReplyTurn, q as withContextUsageWarning, rr as resolveUserTimezone, tr as formatUserTime } from "./subagent-registry-
|
|
1
|
+
import { J as withContextOverflowRecovery, Nn as prepareAgentRun, X as runAgentTurn, at as buildAgentTurnParams, it as composeTurnMiddleware, nr as resolveUserTimeFormat, ot as prepareReplyTurn, q as withContextUsageWarning, rr as resolveUserTimezone, tr as formatUserTime } from "./subagent-registry-Y_8a_o-m.js";
|
|
2
2
|
|
|
3
3
|
//#region src/agents/current-time.ts
|
|
4
4
|
function resolveCronStyleNow(cfg, nowMs) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as withContextUsageWarning, Cn as prepareAgentRun, Ir as composeTurnMiddleware, U as buildAgentTurnParams, V as withContextOverflowRecovery, W as prepareReplyTurn, ar as formatUserTime, or as resolveUserTimeFormat, sr as resolveUserTimezone, t as runAgentTurn } from "./unified-runner-
|
|
1
|
+
import { B as withContextUsageWarning, Cn as prepareAgentRun, Ir as composeTurnMiddleware, U as buildAgentTurnParams, V as withContextOverflowRecovery, W as prepareReplyTurn, ar as formatUserTime, or as resolveUserTimeFormat, sr as resolveUserTimezone, t as runAgentTurn } from "./unified-runner-DWZT5BCl.js";
|
|
2
2
|
|
|
3
3
|
//#region src/auto-reply/run-reply-turn.ts
|
|
4
4
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./tokens-Cz6cgZ7r.js";
|
|
4
|
-
import "./unified-runner-
|
|
4
|
+
import "./unified-runner-DWZT5BCl.js";
|
|
5
5
|
import "./registry-ClO_zVv-.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
|
|
7
7
|
import "./auth-profiles-CtBXKml4.js";
|
|
@@ -57,8 +57,8 @@ import "./send-CrFVrFoV.js";
|
|
|
57
57
|
import "./model-JOScPOPJ.js";
|
|
58
58
|
import "./pi-model-discovery-CXXH7biP.js";
|
|
59
59
|
import "./reply-prefix-DnXliXio.js";
|
|
60
|
-
import "./memory-cli-
|
|
61
|
-
import "./manager-
|
|
60
|
+
import "./memory-cli-D69x8sVz.js";
|
|
61
|
+
import "./manager-DjHARmFk.js";
|
|
62
62
|
import "./gemini-auth-rYBkv11i.js";
|
|
63
63
|
import "./retry-DYICeae5.js";
|
|
64
64
|
import "./sqlite-CRogFEk1.js";
|
|
@@ -109,7 +109,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
|
|
|
109
109
|
import { t as renderTable } from "./table-Cg6YZXv9.js";
|
|
110
110
|
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-YQdb3RE6.js";
|
|
111
111
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-BCQtJpAk.js";
|
|
112
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
112
|
+
import { t as buildPluginStatusReport } from "./status-DX8BiUs2.js";
|
|
113
113
|
import fs from "node:fs";
|
|
114
114
|
import path from "node:path";
|
|
115
115
|
import fs$1 from "node:fs/promises";
|