@symerian/symi 2.5.7 → 2.6.0
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-qtxJ-6em.js → accounts-3dCrO3oZ.js} +1 -1
- package/dist/{accounts-tNElYrCH.js → accounts-BRw8yhIW.js} +21 -21
- package/dist/{accounts-CWktKM8a.js → accounts-BuZxOb3B.js} +1 -1
- package/dist/{active-listener-C9r8ZB9m.js → active-listener-CfHHV2SU.js} +1 -1
- package/dist/{agent-scope-BxoUQqgM.js → agent-scope-CpEJ0B88.js} +3 -3
- package/dist/{agents-CXloh6n_.js → agents-Bi50kp6u.js} +4 -4
- package/dist/{agents.config-BhAJXAtA.js → agents.config-BcTeP94V.js} +1 -1
- package/dist/{agents.config-BuTzBaXf.js → agents.config-Duce7lam.js} +1 -1
- package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
- package/dist/{audio-preflight-D02HwB-I.js → audio-preflight-DHTaS5U1.js} +34 -34
- package/dist/{auth-choice-DvaVrSwn.js → auth-choice-BFIBR4l9.js} +1 -1
- package/dist/{auth-choice-Br6zT8iS.js → auth-choice-Dyq-0MNq.js} +1 -1
- package/dist/{model-auth-DK43VicI.js → auth-profiles-DdK1Hxaa.js} +412 -412
- package/dist/{banner-BtqKaQZr.js → banner-D50f_0qf.js} +1 -1
- package/dist/{bindings-B7Ke6LJi.js → bindings-BsHoBLIE.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +60 -60
- package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
- package/dist/bundled/command-logger/handler.js +3 -3
- package/dist/bundled/session-memory/handler.js +61 -61
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-B6G1jnQT.js} +2 -2
- package/dist/{channel-options-DFHEgad5.js → channel-options-BFqaanEt.js} +1 -1
- package/dist/{channel-options-CfLxsV76.js → channel-options-BvBcjqyk.js} +1 -1
- package/dist/{channel-web-D-jDDmWN.js → channel-web-BQtFg4IP.js} +1 -1
- package/dist/{channels-cli-BEZORT4N.js → channels-cli-BYFQdWnL.js} +4 -4
- package/dist/{channels-cli-CT6wdGT8.js → channels-cli-BuTH-iVi.js} +4 -4
- package/dist/{chrome-EyvdASWt.js → chrome-CDJYxX5a.js} +24 -24
- package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
- package/dist/{chunk-BW5f05BR.js → chunk-09egQapi.js} +1 -1
- package/dist/{cli-CkxvN9Cb.js → cli-eOBlVLcC.js} +1 -1
- package/dist/{cli-kxxM9xT0.js → cli-r2L-UK6y.js} +1 -1
- package/dist/{command-registry-C0Ht_h4u.js → command-registry-D-pwcAIW.js} +9 -9
- package/dist/{commands-registry-D7CTCQPm.js → commands-registry-Bfc7Uz0o.js} +4 -4
- package/dist/{completion-cli-DeieEaoW.js → completion-cli-DIx7KyOG.js} +2 -2
- package/dist/{completion-cli-BEzbCT8h.js → completion-cli-DMO2OGTm.js} +1 -1
- package/dist/{config-DRbjHIwD.js → config-5SdHIcHU.js} +6 -6
- package/dist/{config-cli-CS_0o9LY.js → config-cli-BsDxqYDU.js} +1 -1
- package/dist/{config-cli-DLsLPE4o.js → config-cli-seaVWVru.js} +1 -1
- package/dist/{configure-T9J4bw0H.js → configure-BmPwuHXL.js} +3 -3
- package/dist/{configure-BX4aNf3w.js → configure-CqbKA0_V.js} +3 -3
- package/dist/control-ui/js/app.js +1 -1
- package/dist/{conversation-label-DXUkoKcB.js → conversation-label-Onz2hiJh.js} +1 -1
- package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
- package/dist/{deliver-D1ZN6-fl.js → deliver-dODxSv3b.js} +11 -11
- package/dist/{diagnostic-CI0kRQkt.js → diagnostic-rPhsBoZz.js} +2 -2
- package/dist/{doctor-completion-C_0iVIQ2.js → doctor-completion-C2IV3lKi.js} +1 -1
- package/dist/{doctor-completion-D7oTPU1N.js → doctor-completion-DMjs7-Qa.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{command-format-BaxDnULz.js → env-BDXYbTKj.js} +10 -10
- package/dist/{errors-BoQgnc8X.js → errors-XIsvXeC-.js} +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{frontmatter-C_bv_0P8.js → frontmatter-CTR5f_Ez.js} +2 -2
- package/dist/{gateway-cli-DvJ_O7kb.js → gateway-cli-BanaeKQ_.js} +22 -19
- package/dist/{gateway-cli-DDFydH8b.js → gateway-cli-C-J_s559.js} +22 -19
- package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-Dy12ZAH3.js} +2 -2
- package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-cCYzSU9h.js} +1 -1
- package/dist/{glass-ui-ws-KbKXJGb5.js → glass-ui-ws-DK7x3Tz7.js} +7 -7
- package/dist/{glass-ui-ws-BdBSYcsf.js → glass-ui-ws-DUzp9m0D.js} +7 -7
- package/dist/{health-z-YCZRhf.js → health-BpHgCv-u.js} +1 -1
- package/dist/{health-DQmyj-7z.js → health-DK6rAOhC.js} +1 -1
- package/dist/{hooks-cli-4d-QhgRs.js → hooks-cli-Cin_3tFg.js} +2 -2
- package/dist/{hooks-cli-BRehYEXJ.js → hooks-cli-D-75G_66.js} +2 -2
- package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
- package/dist/{image-Cp3JDEBB.js → image-CXu8W39c.js} +7 -7
- package/dist/{image-ops-CvJzsyvE.js → image-ops-C7CauEK8.js} +99 -99
- package/dist/{inbound-context-BlHX0H3E.js → inbound-context-DSDTl6Kj.js} +2 -2
- package/dist/index.js +6 -6
- package/dist/{ir-DccrnjsE.js → ir-CTiz95Vb.js} +5 -5
- package/dist/llm-slug-generator.js +64 -84
- package/dist/{local-roots-DMwIh5cS.js → local-roots-DhZz0Ybs.js} +6 -6
- package/dist/{login-qr-Batf3PT5.js → login-qr-AP9agO-i.js} +13 -13
- package/dist/{login-CwCoxapk.js → login-ul8zaw_S.js} +7 -7
- package/dist/{manager-D_LwXbc6.js → manager-PprhCvO_.js} +25 -25
- package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-yb7sAlu4.js} +2 -2
- package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-C-BmIap8.js} +1 -1
- package/dist/{message-channel-Dz5lr5b0.js → message-channel-OlFBYAw8.js} +1 -1
- package/dist/{models-CPlSSoV0.js → models-CeKIXf5B.js} +7 -8
- package/dist/{models-cli-BM2RWTmM.js → models-cli-2NcPKR9A.js} +7 -8
- package/dist/{models-cli-DDhpJuX3.js → models-cli-DN4AVlpI.js} +3 -3
- package/dist/{onboard-BlrojL3G.js → onboard-BcxDiUl_.js} +2 -2
- package/dist/{onboard-Bq2VEBrl.js → onboard-BukRqcRH.js} +2 -2
- package/dist/{onboard-channels-S0FbC25u.js → onboard-channels-DS6s341R.js} +1 -1
- package/dist/{onboard-channels-DjfS9mS6.js → onboard-channels-HPxu77wp.js} +1 -1
- package/dist/{onboarding-CwU-Uyo6.js → onboarding-B8uz24jt.js} +3 -3
- package/dist/{onboarding-Dg49kkBF.js → onboarding-DI-o_sax.js} +3 -3
- package/dist/{onboarding.finalize-CsBYKFAW.js → onboarding.finalize-Bn2e61yb.js} +5 -5
- package/dist/{onboarding.finalize-BaMs5pR4.js → onboarding.finalize-CfE_AEto.js} +6 -6
- package/dist/{outbound-D4fN_ZlE.js → outbound-CtMCmwxR.js} +7 -7
- package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-DJldbweZ.js} +2 -2
- package/dist/{paths-DLyHUt31.js → paths-CbQV9WEg.js} +2 -2
- package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-Bk8ERadJ.js} +10 -10
- package/dist/{pi-embedded-CKf4PxhQ.js → pi-embedded-B5qBa69e.js} +20143 -20044
- package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
- package/dist/{pi-embedded-helpers-ag2bosuj.js → pi-embedded-helpers-pubKo8HQ.js} +81 -81
- package/dist/{plugin-registry-VhRGXCLQ.js → plugin-registry-NIUxULTk.js} +1 -1
- package/dist/{plugin-registry-Dxo1iUfJ.js → plugin-registry-cj99EI0k.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-runner.d.ts +1 -1
- package/dist/plugin-sdk/agents/unified-runner.d.ts +69 -1
- package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +2 -2
- package/dist/plugin-sdk/{channel-web-Bc8Fmiy7.js → channel-web-CSd16cDi.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-BSW3CdwW.js → reply-CkqSfQZN.js} +419 -320
- package/dist/plugin-sdk/{web-CvCo9ULq.js → web-DdTTil50.js} +2 -2
- package/dist/{plugins-DQYI3Fr-.js → plugins-BzmbgY7s.js} +5 -5
- package/dist/{plugins-cli-zNr1ThAO.js → plugins-cli-CcjxxESJ.js} +2 -2
- package/dist/{plugins-cli-DeDSnKlr.js → plugins-cli-D8hhTHZD.js} +2 -2
- package/dist/{program-C4whW2Oi.js → program-D09h71pS.js} +7 -7
- package/dist/{program-context-1jbNznxI.js → program-context-CLJSWBZr.js} +17 -17
- package/dist/{prompt-select-styled-B7VjdRNk.js → prompt-select-styled-DQqZEGoo.js} +4 -4
- package/dist/{prompt-select-styled-B7nwl6rd.js → prompt-select-styled-zRUqu0c8.js} +4 -4
- package/dist/{provider-auth-helpers-BmH4oHwJ.js → provider-auth-helpers-16r2WHNe.js} +1 -1
- package/dist/{provider-auth-helpers-C8cO9DLi.js → provider-auth-helpers-LzJ2WQIc.js} +1 -1
- package/dist/{push-apns-CoqskfCc.js → push-apns-B5xZKIxK.js} +1 -1
- package/dist/{push-apns-CJtWrkQV.js → push-apns-DJddAK3u.js} +1 -1
- package/dist/{pw-ai-Ch7liUOW.js → pw-ai-B5asscAD.js} +16 -16
- package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
- package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-iDLSiI4Z.js} +10 -10
- package/dist/{register.agent-fK3vOCU5.js → register.agent-CP_sigRh.js} +6 -6
- package/dist/{register.agent-C1Is84Q1.js → register.agent-D7NKuUkY.js} +5 -5
- package/dist/{register.configure-CIwwqqt9.js → register.configure-BEsGd0PR.js} +6 -6
- package/dist/{register.configure-DFJeKFFK.js → register.configure-BjRLNatb.js} +6 -6
- package/dist/{register.maintenance-CfQRUUM5.js → register.maintenance-CN6KUuX7.js} +7 -7
- package/dist/{register.maintenance-CRnXZTDk.js → register.maintenance-DD6TNFtV.js} +8 -8
- package/dist/{register.message-DYnXMP4c.js → register.message-DEUcNly1.js} +2 -2
- package/dist/{register.message-Ce57RPK8.js → register.message-DMVC_Sqm.js} +2 -2
- package/dist/{register.onboard-BJxCO8W7.js → register.onboard-CP6RP90V.js} +4 -4
- package/dist/{register.onboard-If50a0yL.js → register.onboard-J1pgV7lz.js} +4 -4
- package/dist/{register.setup-sdzsXVrS.js → register.setup-BeHpW3xI.js} +4 -4
- package/dist/{register.setup-DZipmOBQ.js → register.setup-Dhc3jKpK.js} +4 -4
- package/dist/{register.status-health-sessions-BncpB9Vw.js → register.status-health-sessions-DDkC0aoW.js} +3 -3
- package/dist/{register.status-health-sessions-DBXMyrNP.js → register.status-health-sessions-b-lWNsTM.js} +3 -3
- package/dist/{register.subclis-JthXJSly.js → register.subclis-BJqiT8Q2.js} +9 -9
- package/dist/{registry-CK4e9hn8.js → registry-DYq1AYOv.js} +2 -2
- package/dist/{replies-BIX_isV7.js → replies-LSmuwOhA.js} +3 -3
- package/dist/{reply-BfZzgC9H.js → reply-D40cmAci.js} +420 -321
- package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-DpqZu44Z.js} +1 -1
- package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-C4_I4GFI.js} +5 -5
- package/dist/{retry-Cly39XZB.js → retry-BBVXkKBV.js} +1 -1
- package/dist/{run-main-Dl1Kbmx0.js → run-main-BruREeZ6.js} +14 -14
- package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
- package/dist/{runner-D0QUGA_X.js → runner-WAG0M5s9.js} +46 -46
- package/dist/{send-WyRqb4WD.js → send-CQAKg_12.js} +7 -7
- package/dist/{send-DeFniOjh.js → send-CVMyYPQw.js} +7 -7
- package/dist/{send-CiTGOvEc.js → send-CvhXrdgS.js} +12 -12
- package/dist/{send-DW96zgDL.js → send-DAN9hA5h.js} +6 -6
- package/dist/{send-B1u-LrcS.js → send-DYj_o4_F.js} +14 -14
- package/dist/{server-methods-xXv4ObXK.js → server-methods-Cyw_WS3A.js} +7 -7
- package/dist/{server-methods-D5zcFhng.js → server-methods-K-0MHs8x.js} +7 -7
- package/dist/{server-node-events-BN7H6wBM.js → server-node-events-89R9Ryky.js} +2 -2
- package/dist/{server-node-events-D4At7-pe.js → server-node-events-RA8RurtC.js} +2 -2
- package/dist/{session-SM36BTsl.js → session-DSU1vxxi.js} +4 -4
- package/dist/{skill-commands-BJMb_psG.js → skill-commands-DcVwOafC.js} +17 -17
- package/dist/{skills-BFekKL7i.js → skills-Bs0AW1g3.js} +25 -25
- package/dist/{sqlite-DRbx2dhW.js → sqlite-D_mz1_-y.js} +17 -17
- package/dist/{status-Nhvf_TEN.js → status-BSMEjz4q.js} +1 -1
- package/dist/{status-PbQwO8SV.js → status-CtNKWuzg.js} +2 -2
- package/dist/{status-XJTqV-CC.js → status-DHJLMwQN.js} +2 -2
- package/dist/{status-C5rGEkur.js → status-Kv_hsY8N.js} +1 -1
- package/dist/{store-C0wvOkae.js → store-01F_JM7O.js} +6 -6
- package/dist/{subagent-registry-DvCrN2PQ.js → subagent-registry-Cb5e_x99.js} +19342 -19243
- package/dist/{subsystem-Bs9YvKLa.js → subsystem-BjyjJF-d.js} +1 -1
- package/dist/{tables-DuZspiBu.js → tables-qMwbq29u.js} +1 -1
- package/dist/{target-errors-Be1SwYlW.js → target-errors-Bbr9rlzN.js} +2 -2
- package/dist/{thinking-CdlENGRW.js → thinking-BprCy23Z.js} +5 -5
- package/dist/{tokens-H1H1LiSQ.js → tokens-Bux9Y_xD.js} +1 -1
- package/dist/{tool-images-DXB7tqWi.js → tool-images-SqqWIT22.js} +2 -2
- package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-D0kUzUGu.js} +3 -3
- package/dist/{pi-embedded-o9vOF9wB.js → unified-runner-CkJLTsTK.js} +69840 -69741
- package/dist/{update-cli-CckGzVRg.js → update-cli-Bl66LJZ4.js} +7 -7
- package/dist/{update-cli-pkg2BEbj.js → update-cli-CrRBoiVU.js} +8 -8
- package/dist/{update-runner-BuoOzUcX.js → update-runner-DxpSPK-f.js} +1 -1
- package/dist/{update-runner-BFwirE1P.js → update-runner-FgrqoxvV.js} +1 -1
- package/dist/{web-Cr6E8Ych.js → web-BYRKX5Ln.js} +2 -2
- package/dist/{web-C4CDNJmR.js → web-Czp0JS6-.js} +1 -1
- package/dist/{web-BjuBp_oj.js → web-D99WHLTL.js} +6 -6
- package/dist/{web-ofRAH4R_.js → web-RePh7lRy.js} +64 -64
- package/dist/{whatsapp-actions-D1RsnX7P.js → whatsapp-actions-BIeSWsCF.js} +25 -25
- package/dist/{workspace-wAaHI8-5.js → workspace-DscDraUb.js} +28 -28
- package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
- package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
- package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
- package/extensions/discord/node_modules/.bin/symi +0 -0
- package/extensions/feishu/node_modules/.bin/symi +0 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
- package/extensions/googlechat/node_modules/.bin/symi +0 -0
- package/extensions/imessage/node_modules/.bin/symi +0 -0
- package/extensions/irc/node_modules/.bin/symi +0 -0
- package/extensions/learning-loop/node_modules/.bin/symi +0 -0
- package/extensions/line/node_modules/.bin/symi +0 -0
- package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
- package/extensions/matrix/node_modules/.bin/symi +0 -0
- package/extensions/mattermost/node_modules/.bin/symi +0 -0
- package/extensions/memory-core/node_modules/.bin/symi +0 -0
- 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/minimax-portal-auth/node_modules/.bin/symi +0 -0
- package/extensions/msteams/node_modules/.bin/symi +0 -0
- package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -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/signal/node_modules/.bin/symi +0 -0
- package/extensions/slack/node_modules/.bin/symi +0 -0
- package/extensions/telegram/node_modules/.bin/symi +0 -0
- package/extensions/tlon/node_modules/.bin/symi +0 -0
- package/extensions/twitch/node_modules/.bin/symi +0 -0
- package/extensions/voice-call/node_modules/.bin/symi +0 -0
- package/extensions/whatsapp/node_modules/.bin/symi +0 -0
- package/extensions/zalo/node_modules/.bin/symi +0 -0
- package/extensions/zalouser/node_modules/.bin/symi +0 -0
- package/package.json +83 -113
- 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
- package/dist/paths-Cce4PUkG.js +0 -212
- /package/dist/{boolean-B8-BqKGQ.js → boolean-CE7i9tBR.js} +0 -0
- /package/dist/{chat-type-C_KiWNAH.js → chat-type-3FRbbjbq.js} +0 -0
- /package/dist/{diagnostic-session-state-Bxo4UHOL.js → diagnostic-session-state-Zw87xFym.js} +0 -0
- /package/dist/{legacy-names-BHV4AoFT.js → legacy-names-CePMUvus.js} +0 -0
- /package/dist/{pi-model-discovery-DaNAekda.js → pi-model-discovery-Bv5YDJc8.js} +0 -0
- /package/dist/{redact-jSxx6Ep2.js → redact-BDMXB06K.js} +0 -0
- /package/dist/{ssrf-BTMDZjHT.js → ssrf-DpUUUgkK.js} +0 -0
- /package/dist/{targets-CFovdgJI.js → targets-DGkXkFPj.js} +0 -0
- /package/dist/{transcript-events-DDYvbmRV.js → transcript-events-BBh3Gsrx.js} +0 -0
|
@@ -31034,7 +31034,8 @@ async function runAgentTurn(params) {
|
|
|
31034
31034
|
const cb = params.callbacks;
|
|
31035
31035
|
const sessionFile = resolveSessionFilePath(params.sessionId, void 0, { agentId });
|
|
31036
31036
|
const profile = resolveModelProfile(params.provider && params.modelId ? `${params.provider}/${params.modelId}` : params.config.agents?.defaults?.model?.primary ?? "", params.config.models?.profiles);
|
|
31037
|
-
const
|
|
31037
|
+
const toolsUsed = [];
|
|
31038
|
+
const buildInternalParams = (providerOverride, modelOverride) => ({
|
|
31038
31039
|
sessionId: params.sessionId,
|
|
31039
31040
|
sessionKey: params.sessionKey,
|
|
31040
31041
|
agentId,
|
|
@@ -31049,14 +31050,28 @@ async function runAgentTurn(params) {
|
|
|
31049
31050
|
extraSystemPrompt: params.extraSystemPrompt,
|
|
31050
31051
|
clientTools: params.clientTools,
|
|
31051
31052
|
disableTools: params.disableTools,
|
|
31052
|
-
provider: params.provider,
|
|
31053
|
-
model: params.modelId,
|
|
31053
|
+
provider: providerOverride ?? params.provider,
|
|
31054
|
+
model: modelOverride ?? params.modelId,
|
|
31054
31055
|
authProfileId: params.authProfileId,
|
|
31055
31056
|
authProfileIdSource: params.authProfileIdSource,
|
|
31056
31057
|
thinkLevel: params.thinkLevel,
|
|
31057
31058
|
reasoningLevel: params.reasoningLevel,
|
|
31058
31059
|
timeoutMs: params.timeoutMs,
|
|
31059
31060
|
abortSignal: params.abortSignal,
|
|
31061
|
+
lane: params.lane,
|
|
31062
|
+
toolResultFormat: params.toolResultFormat,
|
|
31063
|
+
verboseLevel: params.verboseLevel,
|
|
31064
|
+
ownerNumbers: params.ownerNumbers,
|
|
31065
|
+
enforceFinalTag: params.enforceFinalTag,
|
|
31066
|
+
execOverrides: params.execOverrides,
|
|
31067
|
+
bashElevated: params.bashElevated,
|
|
31068
|
+
suppressToolErrorWarnings: params.suppressToolErrorWarnings,
|
|
31069
|
+
streamParams: params.streamParams,
|
|
31070
|
+
blockReplyBreak: params.blockReplyBreak,
|
|
31071
|
+
blockReplyChunking: params.blockReplyChunking,
|
|
31072
|
+
requireExplicitMessageTarget: params.requireExplicitMessageTarget,
|
|
31073
|
+
disableMessageTool: params.disableMessageTool,
|
|
31074
|
+
symipulseMs: params.symipulseMs,
|
|
31060
31075
|
messageChannel: ch?.messageChannel,
|
|
31061
31076
|
messageProvider: ch?.messageProvider,
|
|
31062
31077
|
agentAccountId: ch?.agentAccountId,
|
|
@@ -31078,26 +31093,92 @@ async function runAgentTurn(params) {
|
|
|
31078
31093
|
onPartialReply: cb?.onDelta ? (payload) => {
|
|
31079
31094
|
if (payload.text) cb.onDelta(payload.text);
|
|
31080
31095
|
} : void 0,
|
|
31096
|
+
onAssistantMessageStart: cb?.onTypingStart ? () => {
|
|
31097
|
+
cb.onTypingStart();
|
|
31098
|
+
cb?.onLifecycle?.("streaming");
|
|
31099
|
+
} : cb?.onLifecycle ? () => {
|
|
31100
|
+
cb.onLifecycle("streaming");
|
|
31101
|
+
} : void 0,
|
|
31081
31102
|
onToolResult: cb?.onToolResult ? (payload) => {
|
|
31082
31103
|
if (payload.text) cb.onToolResult("tool", payload.text);
|
|
31083
31104
|
} : void 0,
|
|
31084
31105
|
onReasoningStream: cb?.onThinking ? (payload) => {
|
|
31085
31106
|
if (payload.text) cb.onThinking(payload.text);
|
|
31086
31107
|
} : void 0,
|
|
31087
|
-
|
|
31108
|
+
onBlockReply: cb?.onBlockReply ? (payload) => {
|
|
31109
|
+
cb.onBlockReply({
|
|
31110
|
+
...payload,
|
|
31111
|
+
isFinal: false
|
|
31112
|
+
});
|
|
31113
|
+
} : void 0,
|
|
31114
|
+
onBlockReplyFlush: cb?.onBlockReplyFlush,
|
|
31115
|
+
onAgentEvent: (evt) => {
|
|
31116
|
+
cb?.onAgentEvent?.(evt);
|
|
31117
|
+
const stream = evt.stream;
|
|
31118
|
+
const data = evt.data;
|
|
31119
|
+
const phase = typeof data?.phase === "string" ? data.phase : "";
|
|
31120
|
+
if (stream === "lifecycle") {
|
|
31121
|
+
if (phase === "start") {
|
|
31122
|
+
cb?.onLifecycle?.("start");
|
|
31123
|
+
cb?.onTypingStart?.();
|
|
31124
|
+
} else if (phase === "end") cb?.onTypingStop?.();
|
|
31125
|
+
else if (phase === "error") {
|
|
31126
|
+
cb?.onLifecycle?.("error");
|
|
31127
|
+
cb?.onTypingStop?.();
|
|
31128
|
+
if (cb?.onError && typeof data?.error === "string") cb.onError(new Error(data.error));
|
|
31129
|
+
}
|
|
31130
|
+
}
|
|
31131
|
+
if (stream === "tool") {
|
|
31132
|
+
const toolName = typeof data?.name === "string" ? data.name : "";
|
|
31133
|
+
if (phase === "start" && toolName) {
|
|
31134
|
+
toolsUsed.push(toolName);
|
|
31135
|
+
cb?.onToolStart?.(toolName, data?.args ?? {});
|
|
31136
|
+
cb?.onTypingStart?.();
|
|
31137
|
+
}
|
|
31138
|
+
}
|
|
31139
|
+
if (stream === "compaction" && phase === "end") cb?.onCompaction?.({
|
|
31140
|
+
tokensBefore: typeof data?.tokensBefore === "number" ? data.tokensBefore : 0,
|
|
31141
|
+
tokensAfter: typeof data?.tokensAfter === "number" ? data.tokensAfter : 0
|
|
31142
|
+
});
|
|
31143
|
+
}
|
|
31088
31144
|
});
|
|
31145
|
+
let result;
|
|
31146
|
+
let fallbackProvider;
|
|
31147
|
+
let fallbackModel;
|
|
31148
|
+
const TRANSIENT_RETRY_DELAY_MS = 2500;
|
|
31149
|
+
const maxAttempts = params.retryOnTransientError ? 2 : 1;
|
|
31150
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) try {
|
|
31151
|
+
if (params.fallbackModels?.length) {
|
|
31152
|
+
const fallbackResult = await runWithModelFallback({
|
|
31153
|
+
cfg: params.config,
|
|
31154
|
+
provider: params.provider ?? "",
|
|
31155
|
+
model: params.modelId ?? "",
|
|
31156
|
+
agentDir,
|
|
31157
|
+
fallbacksOverride: params.fallbackModels,
|
|
31158
|
+
run: (provider, model) => runEmbeddedPiAgent(buildInternalParams(provider, model)),
|
|
31159
|
+
onError: async (fallbackAttempt) => {
|
|
31160
|
+
const fromModel = `${fallbackAttempt.provider}/${fallbackAttempt.model}`;
|
|
31161
|
+
cb?.onFallback?.(fromModel, "(next)", String(fallbackAttempt.error));
|
|
31162
|
+
}
|
|
31163
|
+
});
|
|
31164
|
+
result = fallbackResult.result;
|
|
31165
|
+
fallbackProvider = fallbackResult.provider;
|
|
31166
|
+
fallbackModel = fallbackResult.model;
|
|
31167
|
+
} else result = await runEmbeddedPiAgent(buildInternalParams());
|
|
31168
|
+
break;
|
|
31169
|
+
} catch (err) {
|
|
31170
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
31171
|
+
if (params.retryOnTransientError && attempt < maxAttempts - 1 && isTransientHttpError(errMsg)) {
|
|
31172
|
+
await new Promise((resolve) => setTimeout(resolve, TRANSIENT_RETRY_DELAY_MS));
|
|
31173
|
+
continue;
|
|
31174
|
+
}
|
|
31175
|
+
throw err;
|
|
31176
|
+
}
|
|
31177
|
+
result = result;
|
|
31089
31178
|
const responseText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
|
|
31090
|
-
const resolvedProvider = result.meta.agentMeta?.provider ?? params.provider ?? "";
|
|
31091
|
-
const resolvedModel = result.meta.agentMeta?.model ?? params.modelId ?? "";
|
|
31092
|
-
|
|
31093
|
-
provider: resolvedProvider,
|
|
31094
|
-
modelId: resolvedModel,
|
|
31095
|
-
tokenCount: result.meta.agentMeta?.usage?.total ?? 0,
|
|
31096
|
-
durationMs: Date.now() - startTime,
|
|
31097
|
-
toolsUsed: []
|
|
31098
|
-
});
|
|
31099
|
-
if (cb?.onLifecycle) await cb.onLifecycle(result.meta.error ? "error" : "end");
|
|
31100
|
-
return {
|
|
31179
|
+
const resolvedProvider = fallbackProvider ?? result.meta.agentMeta?.provider ?? params.provider ?? "";
|
|
31180
|
+
const resolvedModel = fallbackModel ?? result.meta.agentMeta?.model ?? params.modelId ?? "";
|
|
31181
|
+
const turnResult = {
|
|
31101
31182
|
text: responseText,
|
|
31102
31183
|
durationMs: Date.now() - startTime,
|
|
31103
31184
|
provider: resolvedProvider,
|
|
@@ -31106,6 +31187,23 @@ async function runAgentTurn(params) {
|
|
|
31106
31187
|
didSendViaMessagingTool: result.didSendViaMessagingTool ?? false,
|
|
31107
31188
|
rawResult: result
|
|
31108
31189
|
};
|
|
31190
|
+
if (params.postRunHooks?.length) {
|
|
31191
|
+
for (const hook of params.postRunHooks) if (hook.shouldRun(turnResult)) try {
|
|
31192
|
+
await hook.execute(turnResult, params);
|
|
31193
|
+
} catch (hookErr) {
|
|
31194
|
+
if (cb?.onError && hookErr instanceof Error) cb.onError(hookErr);
|
|
31195
|
+
}
|
|
31196
|
+
turnResult.durationMs = Date.now() - startTime;
|
|
31197
|
+
}
|
|
31198
|
+
if (cb?.onFinal) await cb.onFinal(responseText, {
|
|
31199
|
+
provider: resolvedProvider,
|
|
31200
|
+
modelId: resolvedModel,
|
|
31201
|
+
tokenCount: result.meta.agentMeta?.usage?.total ?? 0,
|
|
31202
|
+
durationMs: turnResult.durationMs,
|
|
31203
|
+
toolsUsed
|
|
31204
|
+
});
|
|
31205
|
+
if (cb?.onLifecycle) await cb.onLifecycle(result.meta.error ? "error" : "end");
|
|
31206
|
+
return turnResult;
|
|
31109
31207
|
}
|
|
31110
31208
|
|
|
31111
31209
|
//#endregion
|
|
@@ -31113,7 +31211,7 @@ async function runAgentTurn(params) {
|
|
|
31113
31211
|
function createDefaultDeps() {
|
|
31114
31212
|
return {
|
|
31115
31213
|
sendMessageWhatsApp: async (...args) => {
|
|
31116
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31214
|
+
const { sendMessageWhatsApp } = await import("./web-BYRKX5Ln.js");
|
|
31117
31215
|
return await sendMessageWhatsApp(...args);
|
|
31118
31216
|
},
|
|
31119
31217
|
sendMessageTelegram: async (...args) => {
|
|
@@ -49544,7 +49642,7 @@ function loadWebLoginQr() {
|
|
|
49544
49642
|
return webLoginQrPromise;
|
|
49545
49643
|
}
|
|
49546
49644
|
function loadWebChannel() {
|
|
49547
|
-
webChannelPromise ??= import("./web-
|
|
49645
|
+
webChannelPromise ??= import("./web-BYRKX5Ln.js");
|
|
49548
49646
|
return webChannelPromise;
|
|
49549
49647
|
}
|
|
49550
49648
|
function loadWhatsAppActions() {
|
|
@@ -70141,7 +70239,6 @@ function createBlockReplyDeliveryHandler(params) {
|
|
|
70141
70239
|
//#endregion
|
|
70142
70240
|
//#region src/auto-reply/reply/agent-runner-execution.ts
|
|
70143
70241
|
async function runAgentTurnWithFallback(params) {
|
|
70144
|
-
const TRANSIENT_HTTP_RETRY_DELAY_MS = 2500;
|
|
70145
70242
|
let didLogHeartbeatStrip = false;
|
|
70146
70243
|
let autoCompactionCompleted = false;
|
|
70147
70244
|
const directlySentBlockKeys = /* @__PURE__ */ new Set();
|
|
@@ -70162,199 +70259,216 @@ async function runAgentTurnWithFallback(params) {
|
|
|
70162
70259
|
let fallbackModel = params.followupRun.run.model;
|
|
70163
70260
|
let fallbackAttempts = [];
|
|
70164
70261
|
let didResetAfterCompactionFailure = false;
|
|
70165
|
-
|
|
70166
|
-
|
|
70167
|
-
|
|
70168
|
-
|
|
70169
|
-
if (
|
|
70170
|
-
|
|
70171
|
-
|
|
70172
|
-
didLogHeartbeatStrip = true;
|
|
70173
|
-
logVerbose("Stripped stray SYMIPULSE_OK token from reply");
|
|
70174
|
-
}
|
|
70175
|
-
if (stripped.shouldSkip && (payload.mediaUrls?.length ?? 0) === 0) return { skip: true };
|
|
70176
|
-
text = stripped.text;
|
|
70177
|
-
}
|
|
70178
|
-
if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return { skip: true };
|
|
70179
|
-
if (!text) {
|
|
70180
|
-
if ((payload.mediaUrls?.length ?? 0) > 0) return {
|
|
70181
|
-
text: void 0,
|
|
70182
|
-
skip: false
|
|
70183
|
-
};
|
|
70184
|
-
return { skip: true };
|
|
70262
|
+
const normalizeStreamingText = (payload) => {
|
|
70263
|
+
let text = payload.text;
|
|
70264
|
+
if (!params.isHeartbeat && text?.includes("SYMIPULSE_OK")) {
|
|
70265
|
+
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
70266
|
+
if (stripped.didStrip && !didLogHeartbeatStrip) {
|
|
70267
|
+
didLogHeartbeatStrip = true;
|
|
70268
|
+
logVerbose("Stripped stray SYMIPULSE_OK token from reply");
|
|
70185
70269
|
}
|
|
70186
|
-
|
|
70187
|
-
|
|
70188
|
-
|
|
70189
|
-
|
|
70270
|
+
if (stripped.shouldSkip && (payload.mediaUrls?.length ?? 0) === 0) return { skip: true };
|
|
70271
|
+
text = stripped.text;
|
|
70272
|
+
}
|
|
70273
|
+
if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return { skip: true };
|
|
70274
|
+
if (!text) {
|
|
70275
|
+
if ((payload.mediaUrls?.length ?? 0) > 0) return {
|
|
70276
|
+
text: void 0,
|
|
70190
70277
|
skip: false
|
|
70191
70278
|
};
|
|
70279
|
+
return { skip: true };
|
|
70280
|
+
}
|
|
70281
|
+
const sanitized = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
|
|
70282
|
+
if (!sanitized.trim()) return { skip: true };
|
|
70283
|
+
return {
|
|
70284
|
+
text: sanitized,
|
|
70285
|
+
skip: false
|
|
70192
70286
|
};
|
|
70193
|
-
|
|
70194
|
-
|
|
70195
|
-
|
|
70196
|
-
|
|
70287
|
+
};
|
|
70288
|
+
const blockReplyPipeline = params.blockReplyPipeline;
|
|
70289
|
+
const onToolResult = params.opts?.onToolResult;
|
|
70290
|
+
let toolResultChain = Promise.resolve();
|
|
70291
|
+
const serializedOnToolResult = onToolResult ? (name, resultText) => {
|
|
70292
|
+
toolResultChain = toolResultChain.then(async () => {
|
|
70293
|
+
const { text, skip } = normalizeStreamingText({ text: resultText });
|
|
70294
|
+
if (skip) return;
|
|
70197
70295
|
await params.typingSignals.signalTextDelta(text);
|
|
70198
|
-
|
|
70199
|
-
|
|
70200
|
-
|
|
70201
|
-
|
|
70202
|
-
|
|
70203
|
-
|
|
70204
|
-
|
|
70205
|
-
|
|
70206
|
-
|
|
70207
|
-
|
|
70208
|
-
|
|
70209
|
-
|
|
70210
|
-
|
|
70211
|
-
|
|
70212
|
-
|
|
70213
|
-
|
|
70214
|
-
|
|
70215
|
-
|
|
70216
|
-
|
|
70217
|
-
|
|
70218
|
-
|
|
70219
|
-
|
|
70220
|
-
|
|
70221
|
-
|
|
70222
|
-
|
|
70223
|
-
let lifecycleTerminalEmitted = false;
|
|
70224
|
-
try {
|
|
70225
|
-
const result = await runCliAgent({
|
|
70226
|
-
sessionId: params.followupRun.run.sessionId,
|
|
70227
|
-
sessionKey: params.sessionKey,
|
|
70228
|
-
agentId: params.followupRun.run.agentId,
|
|
70229
|
-
sessionFile: params.followupRun.run.sessionFile,
|
|
70230
|
-
workspaceDir: params.followupRun.run.workspaceDir,
|
|
70231
|
-
config: params.followupRun.run.config,
|
|
70232
|
-
prompt: params.commandBody,
|
|
70233
|
-
provider,
|
|
70234
|
-
model,
|
|
70235
|
-
thinkLevel: params.followupRun.run.thinkLevel,
|
|
70236
|
-
timeoutMs: params.followupRun.run.timeoutMs,
|
|
70237
|
-
runId,
|
|
70238
|
-
extraSystemPrompt: params.followupRun.run.extraSystemPrompt,
|
|
70239
|
-
ownerNumbers: params.followupRun.run.ownerNumbers,
|
|
70240
|
-
cliSessionId,
|
|
70241
|
-
images: params.opts?.images
|
|
70242
|
-
});
|
|
70243
|
-
const cliText = result.payloads?.[0]?.text?.trim();
|
|
70244
|
-
if (cliText) emitAgentEvent({
|
|
70245
|
-
runId,
|
|
70246
|
-
stream: "assistant",
|
|
70247
|
-
data: { text: cliText }
|
|
70248
|
-
});
|
|
70249
|
-
emitAgentEvent({
|
|
70250
|
-
runId,
|
|
70251
|
-
stream: "lifecycle",
|
|
70252
|
-
data: {
|
|
70253
|
-
phase: "end",
|
|
70254
|
-
startedAt,
|
|
70255
|
-
endedAt: Date.now()
|
|
70256
|
-
}
|
|
70257
|
-
});
|
|
70258
|
-
lifecycleTerminalEmitted = true;
|
|
70259
|
-
return result;
|
|
70260
|
-
} catch (err) {
|
|
70261
|
-
emitAgentEvent({
|
|
70262
|
-
runId,
|
|
70263
|
-
stream: "lifecycle",
|
|
70264
|
-
data: {
|
|
70265
|
-
phase: "error",
|
|
70266
|
-
startedAt,
|
|
70267
|
-
endedAt: Date.now(),
|
|
70268
|
-
error: String(err)
|
|
70269
|
-
}
|
|
70270
|
-
});
|
|
70271
|
-
lifecycleTerminalEmitted = true;
|
|
70272
|
-
throw err;
|
|
70273
|
-
} finally {
|
|
70274
|
-
if (!lifecycleTerminalEmitted) emitAgentEvent({
|
|
70275
|
-
runId,
|
|
70276
|
-
stream: "lifecycle",
|
|
70277
|
-
data: {
|
|
70278
|
-
phase: "error",
|
|
70279
|
-
startedAt,
|
|
70280
|
-
endedAt: Date.now(),
|
|
70281
|
-
error: "CLI run completed without lifecycle terminal event"
|
|
70282
|
-
}
|
|
70283
|
-
});
|
|
70284
|
-
}
|
|
70285
|
-
})();
|
|
70296
|
+
await onToolResult({
|
|
70297
|
+
text,
|
|
70298
|
+
mediaUrls: void 0
|
|
70299
|
+
});
|
|
70300
|
+
}).catch((err) => {
|
|
70301
|
+
logVerbose(`tool result delivery failed: ${String(err)}`);
|
|
70302
|
+
});
|
|
70303
|
+
const task = toolResultChain.finally(() => {
|
|
70304
|
+
params.pendingToolTasks.delete(task);
|
|
70305
|
+
});
|
|
70306
|
+
params.pendingToolTasks.add(task);
|
|
70307
|
+
} : void 0;
|
|
70308
|
+
while (true) try {
|
|
70309
|
+
const run = params.followupRun.run;
|
|
70310
|
+
const resolvedProvider = run.provider;
|
|
70311
|
+
const resolvedModel = run.model;
|
|
70312
|
+
if (isCliProvider(resolvedProvider, run.config)) {
|
|
70313
|
+
const startedAt = Date.now();
|
|
70314
|
+
notifyAgentRunStart();
|
|
70315
|
+
emitAgentEvent({
|
|
70316
|
+
runId,
|
|
70317
|
+
stream: "lifecycle",
|
|
70318
|
+
data: {
|
|
70319
|
+
phase: "start",
|
|
70320
|
+
startedAt
|
|
70286
70321
|
}
|
|
70287
|
-
|
|
70288
|
-
|
|
70289
|
-
|
|
70290
|
-
|
|
70291
|
-
|
|
70322
|
+
});
|
|
70323
|
+
const cliSessionId = getCliSessionId(params.getActiveSessionEntry(), resolvedProvider);
|
|
70324
|
+
let lifecycleTerminalEmitted = false;
|
|
70325
|
+
try {
|
|
70326
|
+
const cliResult = await runCliAgent({
|
|
70327
|
+
sessionId: run.sessionId,
|
|
70328
|
+
sessionKey: params.sessionKey,
|
|
70329
|
+
agentId: run.agentId,
|
|
70330
|
+
sessionFile: run.sessionFile,
|
|
70331
|
+
workspaceDir: run.workspaceDir,
|
|
70332
|
+
config: run.config,
|
|
70333
|
+
prompt: params.commandBody,
|
|
70334
|
+
provider: resolvedProvider,
|
|
70335
|
+
model: resolvedModel,
|
|
70336
|
+
thinkLevel: run.thinkLevel,
|
|
70337
|
+
timeoutMs: run.timeoutMs,
|
|
70338
|
+
runId,
|
|
70339
|
+
extraSystemPrompt: run.extraSystemPrompt,
|
|
70340
|
+
ownerNumbers: run.ownerNumbers,
|
|
70341
|
+
cliSessionId,
|
|
70342
|
+
images: params.opts?.images
|
|
70292
70343
|
});
|
|
70293
|
-
const
|
|
70294
|
-
|
|
70295
|
-
provider,
|
|
70296
|
-
model,
|
|
70344
|
+
const cliText = cliResult.payloads?.[0]?.text?.trim();
|
|
70345
|
+
if (cliText) emitAgentEvent({
|
|
70297
70346
|
runId,
|
|
70298
|
-
|
|
70347
|
+
stream: "assistant",
|
|
70348
|
+
data: { text: cliText }
|
|
70299
70349
|
});
|
|
70300
|
-
|
|
70301
|
-
|
|
70302
|
-
|
|
70303
|
-
|
|
70304
|
-
|
|
70305
|
-
|
|
70306
|
-
|
|
70307
|
-
|
|
70308
|
-
|
|
70309
|
-
|
|
70310
|
-
|
|
70311
|
-
|
|
70312
|
-
|
|
70313
|
-
|
|
70314
|
-
|
|
70315
|
-
|
|
70316
|
-
|
|
70317
|
-
|
|
70318
|
-
|
|
70319
|
-
|
|
70320
|
-
|
|
70321
|
-
|
|
70322
|
-
|
|
70323
|
-
|
|
70324
|
-
|
|
70325
|
-
|
|
70326
|
-
|
|
70327
|
-
|
|
70328
|
-
|
|
70329
|
-
|
|
70330
|
-
|
|
70331
|
-
|
|
70332
|
-
|
|
70333
|
-
|
|
70334
|
-
|
|
70335
|
-
|
|
70336
|
-
|
|
70337
|
-
|
|
70338
|
-
|
|
70339
|
-
|
|
70340
|
-
|
|
70341
|
-
|
|
70342
|
-
|
|
70343
|
-
|
|
70344
|
-
|
|
70345
|
-
|
|
70346
|
-
|
|
70347
|
-
|
|
70348
|
-
|
|
70349
|
-
|
|
70350
|
-
|
|
70351
|
-
|
|
70352
|
-
|
|
70353
|
-
|
|
70354
|
-
|
|
70355
|
-
|
|
70356
|
-
|
|
70357
|
-
|
|
70350
|
+
emitAgentEvent({
|
|
70351
|
+
runId,
|
|
70352
|
+
stream: "lifecycle",
|
|
70353
|
+
data: {
|
|
70354
|
+
phase: "end",
|
|
70355
|
+
startedAt,
|
|
70356
|
+
endedAt: Date.now()
|
|
70357
|
+
}
|
|
70358
|
+
});
|
|
70359
|
+
lifecycleTerminalEmitted = true;
|
|
70360
|
+
runResult = cliResult;
|
|
70361
|
+
break;
|
|
70362
|
+
} catch (err) {
|
|
70363
|
+
emitAgentEvent({
|
|
70364
|
+
runId,
|
|
70365
|
+
stream: "lifecycle",
|
|
70366
|
+
data: {
|
|
70367
|
+
phase: "error",
|
|
70368
|
+
startedAt,
|
|
70369
|
+
endedAt: Date.now(),
|
|
70370
|
+
error: String(err)
|
|
70371
|
+
}
|
|
70372
|
+
});
|
|
70373
|
+
lifecycleTerminalEmitted = true;
|
|
70374
|
+
throw err;
|
|
70375
|
+
} finally {
|
|
70376
|
+
if (!lifecycleTerminalEmitted) emitAgentEvent({
|
|
70377
|
+
runId,
|
|
70378
|
+
stream: "lifecycle",
|
|
70379
|
+
data: {
|
|
70380
|
+
phase: "error",
|
|
70381
|
+
startedAt,
|
|
70382
|
+
endedAt: Date.now(),
|
|
70383
|
+
error: "CLI run completed without lifecycle terminal event"
|
|
70384
|
+
}
|
|
70385
|
+
});
|
|
70386
|
+
}
|
|
70387
|
+
}
|
|
70388
|
+
params.opts?.onModelSelected?.({
|
|
70389
|
+
provider: resolvedProvider,
|
|
70390
|
+
model: resolvedModel,
|
|
70391
|
+
thinkLevel: run.thinkLevel
|
|
70392
|
+
});
|
|
70393
|
+
const toolResultFormat = (() => {
|
|
70394
|
+
const channel = resolveMessageChannel(params.sessionCtx.Surface, params.sessionCtx.Provider);
|
|
70395
|
+
return !channel || isMarkdownCapableMessageChannel(channel) ? "markdown" : "plain";
|
|
70396
|
+
})();
|
|
70397
|
+
const turnResult = await runAgentTurn({
|
|
70398
|
+
sessionId: run.sessionId,
|
|
70399
|
+
sessionKey: params.sessionKey ?? run.sessionKey ?? run.sessionId,
|
|
70400
|
+
agentId: run.agentId,
|
|
70401
|
+
workspaceDir: run.workspaceDir,
|
|
70402
|
+
agentDir: run.agentDir,
|
|
70403
|
+
config: run.config,
|
|
70404
|
+
skillsSnapshot: run.skillsSnapshot,
|
|
70405
|
+
prompt: params.commandBody,
|
|
70406
|
+
extraSystemPrompt: run.extraSystemPrompt,
|
|
70407
|
+
images: params.opts?.images,
|
|
70408
|
+
provider: resolvedProvider,
|
|
70409
|
+
modelId: resolvedModel,
|
|
70410
|
+
authProfileId: run.authProfileId,
|
|
70411
|
+
authProfileIdSource: run.authProfileIdSource,
|
|
70412
|
+
thinkLevel: run.thinkLevel,
|
|
70413
|
+
verboseLevel: run.verboseLevel,
|
|
70414
|
+
reasoningLevel: run.reasoningLevel,
|
|
70415
|
+
timeoutMs: run.timeoutMs,
|
|
70416
|
+
runId,
|
|
70417
|
+
abortSignal: params.opts?.abortSignal,
|
|
70418
|
+
toolResultFormat,
|
|
70419
|
+
ownerNumbers: run.ownerNumbers,
|
|
70420
|
+
enforceFinalTag: run.enforceFinalTag,
|
|
70421
|
+
execOverrides: run.execOverrides,
|
|
70422
|
+
bashElevated: run.bashElevated,
|
|
70423
|
+
suppressToolErrorWarnings: params.opts?.suppressToolErrorWarnings,
|
|
70424
|
+
blockReplyBreak: params.resolvedBlockStreamingBreak,
|
|
70425
|
+
blockReplyChunking: params.blockReplyChunking,
|
|
70426
|
+
retryOnTransientError: true,
|
|
70427
|
+
fallbackModels: resolveModelFallbackOptions(run).fallbacksOverride,
|
|
70428
|
+
channel: {
|
|
70429
|
+
messageChannel: resolveMessageChannel(params.sessionCtx.Surface, params.sessionCtx.Provider) ?? void 0,
|
|
70430
|
+
messageProvider: params.sessionCtx.Provider?.trim().toLowerCase() || void 0,
|
|
70431
|
+
agentAccountId: params.sessionCtx.AccountId,
|
|
70432
|
+
messageTo: params.sessionCtx.OriginatingTo ?? params.sessionCtx.To,
|
|
70433
|
+
messageThreadId: params.sessionCtx.MessageThreadId ?? void 0,
|
|
70434
|
+
groupId: resolveGroupSessionKey(params.sessionCtx)?.id,
|
|
70435
|
+
groupChannel: params.sessionCtx.GroupChannel?.trim() ?? params.sessionCtx.GroupSubject?.trim(),
|
|
70436
|
+
groupSpace: params.sessionCtx.GroupSpace?.trim() ?? void 0,
|
|
70437
|
+
senderId: params.sessionCtx.SenderId?.trim() || void 0,
|
|
70438
|
+
senderName: params.sessionCtx.SenderName?.trim() || void 0,
|
|
70439
|
+
senderUsername: params.sessionCtx.SenderUsername?.trim() || void 0,
|
|
70440
|
+
senderE164: params.sessionCtx.SenderE164?.trim() || void 0,
|
|
70441
|
+
senderIsOwner: run.senderIsOwner,
|
|
70442
|
+
currentChannelId: params.sessionCtx.CurrentChannelId,
|
|
70443
|
+
currentThreadTs: params.sessionCtx.CurrentThreadTs,
|
|
70444
|
+
hasRepliedRef: params.opts?.hasRepliedRef
|
|
70445
|
+
},
|
|
70446
|
+
callbacks: {
|
|
70447
|
+
onDelta: async (text) => {
|
|
70448
|
+
if (isSilentReplyPrefixText(text, SILENT_REPLY_TOKEN)) return;
|
|
70449
|
+
const { text: normalized, skip } = normalizeStreamingText({ text });
|
|
70450
|
+
if (skip || !normalized) return;
|
|
70451
|
+
await params.typingSignals.signalTextDelta(normalized);
|
|
70452
|
+
await params.opts?.onPartialReply?.({ text: normalized });
|
|
70453
|
+
},
|
|
70454
|
+
onToolStart: async (name) => {
|
|
70455
|
+
notifyAgentRunStart();
|
|
70456
|
+
await params.typingSignals.signalToolStart();
|
|
70457
|
+
await params.opts?.onToolStart?.({
|
|
70458
|
+
name,
|
|
70459
|
+
phase: "start"
|
|
70460
|
+
});
|
|
70461
|
+
},
|
|
70462
|
+
onToolResult: serializedOnToolResult,
|
|
70463
|
+
onThinking: params.typingSignals.shouldStartOnReasoning || params.opts?.onReasoningStream ? async (text) => {
|
|
70464
|
+
await params.typingSignals.signalReasoningDelta();
|
|
70465
|
+
await params.opts?.onReasoningStream?.({ text });
|
|
70466
|
+
} : void 0,
|
|
70467
|
+
onLifecycle: async (phase) => {
|
|
70468
|
+
if (phase === "start" || phase === "streaming") notifyAgentRunStart();
|
|
70469
|
+
},
|
|
70470
|
+
onBlockReply: params.opts?.onBlockReply ? async (payload) => {
|
|
70471
|
+
await createBlockReplyDeliveryHandler({
|
|
70358
70472
|
onBlockReply: params.opts.onBlockReply,
|
|
70359
70473
|
currentMessageId: params.sessionCtx.MessageSidFull ?? params.sessionCtx.MessageSid,
|
|
70360
70474
|
normalizeStreamingText,
|
|
@@ -70363,46 +70477,22 @@ async function runAgentTurnWithFallback(params) {
|
|
|
70363
70477
|
blockStreamingEnabled: params.blockStreamingEnabled,
|
|
70364
70478
|
blockReplyPipeline,
|
|
70365
70479
|
directlySentBlockKeys
|
|
70366
|
-
})
|
|
70367
|
-
|
|
70368
|
-
|
|
70369
|
-
|
|
70370
|
-
|
|
70371
|
-
|
|
70372
|
-
|
|
70373
|
-
|
|
70374
|
-
|
|
70375
|
-
|
|
70376
|
-
|
|
70377
|
-
if (skip) return;
|
|
70378
|
-
await params.typingSignals.signalTextDelta(text);
|
|
70379
|
-
await onToolResult({
|
|
70380
|
-
text,
|
|
70381
|
-
mediaUrls: payload.mediaUrls
|
|
70382
|
-
});
|
|
70383
|
-
}).catch((err) => {
|
|
70384
|
-
logVerbose(`tool result delivery failed: ${String(err)}`);
|
|
70385
|
-
});
|
|
70386
|
-
const task = toolResultChain.finally(() => {
|
|
70387
|
-
params.pendingToolTasks.delete(task);
|
|
70388
|
-
});
|
|
70389
|
-
params.pendingToolTasks.add(task);
|
|
70390
|
-
};
|
|
70391
|
-
})() : void 0
|
|
70392
|
-
});
|
|
70480
|
+
})(payload);
|
|
70481
|
+
} : void 0,
|
|
70482
|
+
onBlockReplyFlush: params.blockStreamingEnabled && blockReplyPipeline ? async () => {
|
|
70483
|
+
await blockReplyPipeline.flush({ force: true });
|
|
70484
|
+
} : void 0,
|
|
70485
|
+
onCompaction: () => {
|
|
70486
|
+
autoCompactionCompleted = true;
|
|
70487
|
+
},
|
|
70488
|
+
onAgentEvent: (evt) => {
|
|
70489
|
+
if (evt.stream !== "lifecycle") notifyAgentRunStart();
|
|
70490
|
+
}
|
|
70393
70491
|
}
|
|
70394
70492
|
});
|
|
70395
|
-
runResult =
|
|
70396
|
-
fallbackProvider =
|
|
70397
|
-
fallbackModel =
|
|
70398
|
-
fallbackAttempts = Array.isArray(fallbackResult.attempts) ? fallbackResult.attempts.map((attempt) => ({
|
|
70399
|
-
provider: String(attempt.provider ?? ""),
|
|
70400
|
-
model: String(attempt.model ?? ""),
|
|
70401
|
-
error: String(attempt.error ?? ""),
|
|
70402
|
-
reason: attempt.reason ? String(attempt.reason) : void 0,
|
|
70403
|
-
status: typeof attempt.status === "number" ? attempt.status : void 0,
|
|
70404
|
-
code: attempt.code ? String(attempt.code) : void 0
|
|
70405
|
-
})) : [];
|
|
70493
|
+
runResult = turnResult.rawResult;
|
|
70494
|
+
fallbackProvider = turnResult.provider;
|
|
70495
|
+
fallbackModel = turnResult.modelId;
|
|
70406
70496
|
const embeddedError = runResult.meta?.error;
|
|
70407
70497
|
if (embeddedError && isContextOverflowError(embeddedError.message) && !didResetAfterCompactionFailure && await params.resetSessionAfterCompactionFailure(embeddedError.message)) {
|
|
70408
70498
|
didResetAfterCompactionFailure = true;
|
|
@@ -70461,14 +70551,6 @@ async function runAgentTurnWithFallback(params) {
|
|
|
70461
70551
|
payload: { text: "⚠️ Session history was corrupted. I've reset the conversation - please try again!" }
|
|
70462
70552
|
};
|
|
70463
70553
|
}
|
|
70464
|
-
if (isTransientHttp && !didRetryTransientHttpError) {
|
|
70465
|
-
didRetryTransientHttpError = true;
|
|
70466
|
-
defaultRuntime.error(`Transient HTTP provider error before reply (${message}). Retrying once in ${TRANSIENT_HTTP_RETRY_DELAY_MS}ms.`);
|
|
70467
|
-
await new Promise((resolve) => {
|
|
70468
|
-
setTimeout(resolve, TRANSIENT_HTTP_RETRY_DELAY_MS);
|
|
70469
|
-
});
|
|
70470
|
-
continue;
|
|
70471
|
-
}
|
|
70472
70554
|
defaultRuntime.error(`Embedded agent failed before reply: ${message}`);
|
|
70473
70555
|
const trimmedMessage = (isTransientHttp ? sanitizeUserFacingText(message, { errorContext: true }) : message).replace(/\.\s*$/, "");
|
|
70474
70556
|
return {
|
|
@@ -70660,7 +70742,7 @@ async function runMemoryFlushIfNeeded(params) {
|
|
|
70660
70742
|
try {
|
|
70661
70743
|
await runWithModelFallback({
|
|
70662
70744
|
...resolveModelFallbackOptions(params.followupRun.run),
|
|
70663
|
-
run: (provider, model) => {
|
|
70745
|
+
run: async (provider, model) => {
|
|
70664
70746
|
const { authProfile, embeddedContext, senderContext } = buildEmbeddedRunContexts({
|
|
70665
70747
|
run: params.followupRun.run,
|
|
70666
70748
|
sessionCtx: params.sessionCtx,
|
|
@@ -70674,21 +70756,46 @@ async function runMemoryFlushIfNeeded(params) {
|
|
|
70674
70756
|
runId: flushRunId,
|
|
70675
70757
|
authProfile
|
|
70676
70758
|
});
|
|
70677
|
-
return
|
|
70678
|
-
|
|
70679
|
-
|
|
70680
|
-
|
|
70759
|
+
return (await runAgentTurn({
|
|
70760
|
+
sessionId: embeddedContext.sessionId,
|
|
70761
|
+
sessionKey: embeddedContext.sessionKey ?? embeddedContext.sessionId ?? "",
|
|
70762
|
+
workspaceDir: runBaseParams.workspaceDir,
|
|
70763
|
+
agentDir: runBaseParams.agentDir,
|
|
70764
|
+
config: runBaseParams.config ?? params.cfg,
|
|
70765
|
+
skillsSnapshot: runBaseParams.skillsSnapshot,
|
|
70681
70766
|
prompt: resolveMemoryFlushPromptForRun({
|
|
70682
70767
|
prompt: memoryFlushSettings.prompt,
|
|
70683
70768
|
cfg: params.cfg
|
|
70684
70769
|
}),
|
|
70685
70770
|
extraSystemPrompt: flushSystemPrompt,
|
|
70686
|
-
|
|
70687
|
-
|
|
70688
|
-
|
|
70689
|
-
|
|
70690
|
-
|
|
70691
|
-
|
|
70771
|
+
provider,
|
|
70772
|
+
modelId: model,
|
|
70773
|
+
authProfileId: runBaseParams.authProfileId,
|
|
70774
|
+
authProfileIdSource: runBaseParams.authProfileIdSource,
|
|
70775
|
+
thinkLevel: runBaseParams.thinkLevel,
|
|
70776
|
+
verboseLevel: runBaseParams.verboseLevel,
|
|
70777
|
+
reasoningLevel: runBaseParams.reasoningLevel,
|
|
70778
|
+
timeoutMs: runBaseParams.timeoutMs,
|
|
70779
|
+
runId: runBaseParams.runId,
|
|
70780
|
+
ownerNumbers: runBaseParams.ownerNumbers,
|
|
70781
|
+
enforceFinalTag: runBaseParams.enforceFinalTag,
|
|
70782
|
+
execOverrides: runBaseParams.execOverrides,
|
|
70783
|
+
bashElevated: runBaseParams.bashElevated,
|
|
70784
|
+
channel: {
|
|
70785
|
+
messageProvider: embeddedContext.messageProvider,
|
|
70786
|
+
agentAccountId: embeddedContext.agentAccountId,
|
|
70787
|
+
messageTo: embeddedContext.messageTo,
|
|
70788
|
+
messageThreadId: embeddedContext.messageThreadId,
|
|
70789
|
+
senderId: senderContext.senderId,
|
|
70790
|
+
senderName: senderContext.senderName,
|
|
70791
|
+
senderUsername: senderContext.senderUsername,
|
|
70792
|
+
senderE164: senderContext.senderE164,
|
|
70793
|
+
senderIsOwner: runBaseParams.senderIsOwner
|
|
70794
|
+
},
|
|
70795
|
+
callbacks: { onCompaction: () => {
|
|
70796
|
+
memoryCompactionCompleted = true;
|
|
70797
|
+
} }
|
|
70798
|
+
})).rawResult;
|
|
70692
70799
|
}
|
|
70693
70800
|
});
|
|
70694
70801
|
let memoryFlushCompactionCount = activeSessionEntry?.compactionCount ?? (params.sessionKey ? activeSessionStore?.[params.sessionKey]?.compactionCount : 0) ?? 0;
|
|
@@ -71003,81 +71110,73 @@ function createFollowupRunner(params) {
|
|
|
71003
71110
|
let fallbackProvider = queued.run.provider;
|
|
71004
71111
|
let fallbackModel = queued.run.model;
|
|
71005
71112
|
try {
|
|
71006
|
-
|
|
71007
|
-
|
|
71008
|
-
|
|
71009
|
-
|
|
71113
|
+
runResult = await runAgentTurn({
|
|
71114
|
+
sessionId: queued.run.sessionId,
|
|
71115
|
+
sessionKey: queued.run.sessionKey ?? queued.run.sessionId,
|
|
71116
|
+
workspaceDir: queued.run.workspaceDir,
|
|
71010
71117
|
agentDir: queued.run.agentDir,
|
|
71011
|
-
|
|
71012
|
-
|
|
71013
|
-
|
|
71014
|
-
|
|
71015
|
-
|
|
71016
|
-
|
|
71017
|
-
|
|
71018
|
-
|
|
71019
|
-
|
|
71020
|
-
|
|
71021
|
-
|
|
71022
|
-
|
|
71023
|
-
|
|
71024
|
-
|
|
71025
|
-
|
|
71026
|
-
|
|
71027
|
-
|
|
71028
|
-
|
|
71029
|
-
|
|
71030
|
-
|
|
71031
|
-
|
|
71032
|
-
|
|
71033
|
-
|
|
71034
|
-
|
|
71035
|
-
|
|
71036
|
-
|
|
71037
|
-
|
|
71038
|
-
|
|
71039
|
-
|
|
71040
|
-
|
|
71041
|
-
|
|
71042
|
-
|
|
71043
|
-
|
|
71044
|
-
|
|
71045
|
-
|
|
71046
|
-
|
|
71047
|
-
|
|
71048
|
-
runId,
|
|
71049
|
-
blockReplyBreak: queued.run.blockReplyBreak,
|
|
71050
|
-
onAgentEvent: (evt) => {
|
|
71051
|
-
if (evt.stream !== "compaction") return;
|
|
71052
|
-
if ((typeof evt.data.phase === "string" ? evt.data.phase : "") === "end") autoCompactionCompleted = true;
|
|
71053
|
-
}
|
|
71054
|
-
});
|
|
71055
|
-
}
|
|
71118
|
+
config: queued.run.config,
|
|
71119
|
+
skillsSnapshot: queued.run.skillsSnapshot,
|
|
71120
|
+
prompt: queued.prompt,
|
|
71121
|
+
extraSystemPrompt: queued.run.extraSystemPrompt,
|
|
71122
|
+
provider: queued.run.provider,
|
|
71123
|
+
modelId: queued.run.model,
|
|
71124
|
+
authProfileId: queued.run.authProfileId,
|
|
71125
|
+
authProfileIdSource: queued.run.authProfileIdSource,
|
|
71126
|
+
thinkLevel: queued.run.thinkLevel,
|
|
71127
|
+
verboseLevel: queued.run.verboseLevel,
|
|
71128
|
+
reasoningLevel: queued.run.reasoningLevel,
|
|
71129
|
+
timeoutMs: queued.run.timeoutMs,
|
|
71130
|
+
runId,
|
|
71131
|
+
ownerNumbers: queued.run.ownerNumbers,
|
|
71132
|
+
enforceFinalTag: queued.run.enforceFinalTag,
|
|
71133
|
+
execOverrides: queued.run.execOverrides,
|
|
71134
|
+
bashElevated: queued.run.bashElevated,
|
|
71135
|
+
suppressToolErrorWarnings: opts?.suppressToolErrorWarnings,
|
|
71136
|
+
blockReplyBreak: queued.run.blockReplyBreak,
|
|
71137
|
+
fallbackModels: resolveAgentModelFallbacksOverride(queued.run.config, resolveAgentIdFromSessionKey(queued.run.sessionKey)),
|
|
71138
|
+
channel: {
|
|
71139
|
+
messageProvider: queued.run.messageProvider,
|
|
71140
|
+
agentAccountId: queued.run.agentAccountId,
|
|
71141
|
+
messageTo: queued.originatingTo,
|
|
71142
|
+
messageThreadId: queued.originatingThreadId,
|
|
71143
|
+
groupId: queued.run.groupId,
|
|
71144
|
+
groupChannel: queued.run.groupChannel,
|
|
71145
|
+
groupSpace: queued.run.groupSpace,
|
|
71146
|
+
senderId: queued.run.senderId,
|
|
71147
|
+
senderName: queued.run.senderName,
|
|
71148
|
+
senderUsername: queued.run.senderUsername,
|
|
71149
|
+
senderE164: queued.run.senderE164,
|
|
71150
|
+
senderIsOwner: queued.run.senderIsOwner
|
|
71151
|
+
},
|
|
71152
|
+
callbacks: { onCompaction: () => {
|
|
71153
|
+
autoCompactionCompleted = true;
|
|
71154
|
+
} }
|
|
71056
71155
|
});
|
|
71057
|
-
|
|
71058
|
-
|
|
71059
|
-
fallbackModel = fallbackResult.model;
|
|
71156
|
+
fallbackProvider = runResult.provider;
|
|
71157
|
+
fallbackModel = runResult.modelId;
|
|
71060
71158
|
} catch (err) {
|
|
71061
71159
|
const message = err instanceof Error ? err.message : String(err);
|
|
71062
71160
|
defaultRuntime.error?.(`Followup agent failed before reply: ${message}`);
|
|
71063
71161
|
return;
|
|
71064
71162
|
}
|
|
71065
|
-
const
|
|
71066
|
-
const
|
|
71067
|
-
const
|
|
71163
|
+
const rawResult = runResult.rawResult;
|
|
71164
|
+
const usage = rawResult.meta?.agentMeta?.usage;
|
|
71165
|
+
const promptTokens = rawResult.meta?.agentMeta?.promptTokens;
|
|
71166
|
+
const modelUsed = rawResult.meta?.agentMeta?.model ?? fallbackModel ?? defaultModel;
|
|
71068
71167
|
const contextTokensUsed = agentCfgContextTokens ?? lookupContextTokens(modelUsed) ?? sessionEntry?.contextTokens ?? DEFAULT_CONTEXT_TOKENS;
|
|
71069
71168
|
if (storePath && sessionKey) await persistRunSessionUsage({
|
|
71070
71169
|
storePath,
|
|
71071
71170
|
sessionKey,
|
|
71072
71171
|
usage,
|
|
71073
|
-
lastCallUsage:
|
|
71172
|
+
lastCallUsage: rawResult.meta?.agentMeta?.lastCallUsage,
|
|
71074
71173
|
promptTokens,
|
|
71075
71174
|
modelUsed,
|
|
71076
71175
|
providerUsed: fallbackProvider,
|
|
71077
71176
|
contextTokensUsed,
|
|
71078
71177
|
logLabel: "followup"
|
|
71079
71178
|
});
|
|
71080
|
-
const payloadArray =
|
|
71179
|
+
const payloadArray = rawResult.payloads ?? [];
|
|
71081
71180
|
if (payloadArray.length === 0) return;
|
|
71082
71181
|
const sanitizedPayloads = payloadArray.flatMap((payload) => {
|
|
71083
71182
|
const text = payload.text;
|
|
@@ -71098,13 +71197,13 @@ function createFollowupRunner(params) {
|
|
|
71098
71197
|
replyToMode: resolveReplyToMode(queued.run.config, replyToChannel, queued.originatingAccountId, queued.originatingChatType),
|
|
71099
71198
|
replyToChannel
|
|
71100
71199
|
}),
|
|
71101
|
-
sentTexts:
|
|
71200
|
+
sentTexts: rawResult.messagingToolSentTexts ?? []
|
|
71102
71201
|
}),
|
|
71103
|
-
sentMediaUrls:
|
|
71202
|
+
sentMediaUrls: rawResult.messagingToolSentMediaUrls ?? []
|
|
71104
71203
|
});
|
|
71105
71204
|
const finalPayloads = shouldSuppressMessagingToolReplies({
|
|
71106
71205
|
messageProvider: queued.run.messageProvider,
|
|
71107
|
-
messagingToolSentTargets:
|
|
71206
|
+
messagingToolSentTargets: rawResult.messagingToolSentTargets,
|
|
71108
71207
|
originatingTo: queued.originatingTo,
|
|
71109
71208
|
accountId: queued.run.agentAccountId
|
|
71110
71209
|
}) ? [] : mediaFilteredPayloads;
|
|
@@ -71115,7 +71214,7 @@ function createFollowupRunner(params) {
|
|
|
71115
71214
|
sessionStore,
|
|
71116
71215
|
sessionKey,
|
|
71117
71216
|
storePath,
|
|
71118
|
-
lastCallUsage:
|
|
71217
|
+
lastCallUsage: rawResult.meta?.agentMeta?.lastCallUsage,
|
|
71119
71218
|
contextTokensUsed
|
|
71120
71219
|
});
|
|
71121
71220
|
if (queued.run.verboseLevel && queued.run.verboseLevel !== "off") {
|
|
@@ -73101,4 +73200,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
73101
73200
|
}
|
|
73102
73201
|
|
|
73103
73202
|
//#endregion
|
|
73104
|
-
export { buildDeliveryFromLegacyPayload as $, OPENAI_TTS_MODELS as $n, parseIdentityMarkdown as $t, emitGatewayRestart as A, initSubagentRegistry as An, extractImageContentFromSource as Ar, resolveHeartbeatDeliveryTarget as At, summarizeRestartSentinel as B, registerAgentRunContext as Bn, abortEmbeddedPiRun as Bt, ensureOutboundSessionEntry as C, shouldComputeCommandAuthorized as Cn, peekSystemEventEntries as Cr, requestBodyErrorToText as Ct, CHANNEL_MESSAGE_ACTION_NAMES as D, normalizeMentionText as Dn, DEFAULT_INPUT_MAX_REDIRECTS as Dr, resolveSessionKeyForRequest as Dt, resetDirectoryCache as E, buildMentionRegexes as En, DEFAULT_INPUT_IMAGE_MIMES as Er, agentCommand as Et, setPreRestartDeferralCheck as F, readLatestAssistantReply as Fn, normalizeSendPolicy as Ft, normalizeCronJobPatch as G, resolveTtsApiKey as Gn, getCliSessionId as Gt, writeRestartSentinel as H, getTtsProvider as Hn, waitForEmbeddedPiRunEnd as Ht, consumeRestartSentinel as I, clearAgentRunContext as In, resolveSendPolicy as It, normalizeOptionalSessionKey as J, resolveTtsPrefsPath as Jn, sha256HexPrefix as Jt, inferLegacyName as K, resolveTtsAutoMode as Kn, setCliSessionId as Kt, formatDoctorNonInteractiveHint as L, emitAgentEvent as Ln, createDefaultDeps as Lt, markGatewaySigusr1RestartHandled as M, listSubagentRunsForRequester as Mn, resolveInputFileLimits as Mr, resolveOutboundTarget as Mt, scheduleGatewaySigusr1Restart as N, subagent_registry_exports as Nn, estimateBase64DecodedBytes as Nr, resolveSessionDeliveryTarget as Nt, consumeGatewaySigusr1RestartAuthorization as O, countActiveDescendantRuns as On, DEFAULT_INPUT_TIMEOUT_MS as Or, resolveAgentDeliveryPlan as Ot, setGatewaySigusr1RestartPolicy as P, runSubagentAnnounceFlow as Pn, resolveAgentTimeoutMs as Pr, createOutboundSendDeps as Pt, migrateLegacyCronPayload as Q, textToSpeech as Qn, loadAgentIdentityFromWorkspace as Qt, formatRestartSentinelMessage as R, getAgentRunContext as Rn, createOutboundSendDeps$1 as Rt, runMessageAction as S, hasControlCommand as Sn, isSystemEventContextChanged as Sr, readJsonBodyWithLimit as St, formatTargetDisplay as T, stopSubagentsForRequester as Tn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Tr, sleepWithAbort as Tt, normalizeHttpWebhookUrl as U, isTtsEnabled as Un, resolveModelProfile as Ut, trimLogTail as V, resolveUserTimezone as Vn, getActiveEmbeddedRunCount as Vt, normalizeCronJobCreate as W, isTtsProviderConfigured as Wn, runWithModelFallback as Wt, normalizePayloadToSystemText as X, setTtsEnabled as Xn, resolveAgentAvatar as Xt, normalizeOptionalText as Y, resolveTtsProviderOrder as Yn, describeFailoverError as Yt, normalizeRequiredName as Z, setTtsProvider as Zn, identityHasValues as Zt, loadCombinedSessionStoreForGateway as _, createInboundDebouncer as _n, formatRemainingShort as _r, formatUsageReportLines as _t, buildChannelSummary as a, buildPairingReply as an, setCommandLaneConcurrency as ar, persistBrowserProxyFiles as at, resolveGatewaySessionStoreTarget as b, resolveEnvelopeFormatOptions as bn, parseVerboseOverride as br, resolveCommitHash as bt, clearSessionQueues as c, buildHistoryContextFromEntries as cn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as cr, setHeartbeatWakeHandler as ct, createSymiTools as d, dispatchReplyWithBufferedBlockDispatcher as dn, resolveHeartbeatPrompt as dr, createPluginLoaderLogger as dt, buildSafeExternalPrompt as en, OPENAI_TTS_VOICES as er, hasLegacyDeliveryHints as et, resolveAnnounceTargetFromKey as f, provider_dispatcher_exports as fn, stripHeartbeatToken as fr, loadSymiPlugins as ft, listSessionsFromStore as g, createDedupeCache as gn, buildAuthHealthSummary as gr, loadProviderUsageSummary as gt, listAgentsForGateway as h, getTotalPendingReplies as hn, DEFAULT_OAUTH_WARN_MS as hr, parseActivationCommand as ht, resolveCronStyleNow as i, unbindThreadBindingsBySessionKey as in, resetAllLanes as ir, applyBrowserProxyPaths as it, isGatewaySigusr1RestartExternallyAllowed as j, listDescendantRunsForRequester as jn, normalizeMimeList as jr, resolveHeartbeatSenderContext as jt, deferGatewayRestartUntilIdle as k, countActiveRunsForSession as kn, extractFileContentFromSource as kr, resolveAgentOutboundTarget as kt, applyToolPolicyPipeline as l, recordPendingHistoryEntryIfEnabled as ln, DEFAULT_HEARTBEAT_EVERY as lr, resolveHeartbeatReasonKind as lt, classifySessionKey as m, createReplyDispatcher as mn, maskApiKey as mr, normalizeGroupActivation as mt, BARE_SESSION_RESET_PROMPT as n, getHookType as nn, getQueueSize as nr, CHANNEL_TARGETS_DESCRIPTION as nt, buildChannelAccountSnapshot as o, resolveMentionGating as on, waitForActiveTasks as or, sniffMimeFromBase64 as ot, canonicalizeSpawnedByForAgent as p, dispatchInboundMessage as pn, lookupContextTokens as pr, deleteTelegramUpdateOffset as pt, normalizeOptionalAgentId as q, resolveTtsConfig as qn, runCliAgent as qt, appendCronStyleCurrentTimeLine as r, isExternalHookSession as rn, getTotalQueueSize as rr, CHANNEL_TARGET_DESCRIPTION as rt, formatChannelAllowFrom as s, DEFAULT_GROUP_HISTORY_LIMIT as sn, CommandLane as sr, requestHeartbeatNow as st, getReplyFromConfig as t, detectSuspiciousPatterns as tn, getActiveTaskCount as tr, stripLegacyDeliveryFields as tt, buildDefaultToolPolicyPipelineSteps as u, shouldAckReactionForWhatsApp as un, isHeartbeatContentEffectivelyEmpty as ur, getPluginToolMeta as ut, loadSessionEntry as v, resolveInboundDebounceMs as vn, applyModelOverrideToSessionEntry as vr, formatUsageWindowSummary as vt, resolveOutboundSessionRoute as w, isAbortTrigger as wn, peekSystemEvents as wr, computeBackoff as wt, resolveSessionModelRef as x, formatZonedTimestamp as xn, enqueueSystemEvent as xr, handleSlackHttpRequest as xt, pruneLegacyStoreKeys as y, formatInboundEnvelope as yn, applyVerboseOverride as yr, resolveUsageProviderId as yt, readRestartSentinel as z, onAgentEvent as zn,
|
|
73203
|
+
export { buildDeliveryFromLegacyPayload as $, OPENAI_TTS_MODELS as $n, parseIdentityMarkdown as $t, emitGatewayRestart as A, initSubagentRegistry as An, extractImageContentFromSource as Ar, resolveHeartbeatDeliveryTarget as At, summarizeRestartSentinel as B, registerAgentRunContext as Bn, abortEmbeddedPiRun as Bt, ensureOutboundSessionEntry as C, shouldComputeCommandAuthorized as Cn, peekSystemEventEntries as Cr, requestBodyErrorToText as Ct, CHANNEL_MESSAGE_ACTION_NAMES as D, normalizeMentionText as Dn, DEFAULT_INPUT_MAX_REDIRECTS as Dr, resolveSessionKeyForRequest as Dt, resetDirectoryCache as E, buildMentionRegexes as En, DEFAULT_INPUT_IMAGE_MIMES as Er, agentCommand as Et, setPreRestartDeferralCheck as F, readLatestAssistantReply as Fn, normalizeSendPolicy as Ft, normalizeCronJobPatch as G, resolveTtsApiKey as Gn, getCliSessionId as Gt, writeRestartSentinel as H, getTtsProvider as Hn, waitForEmbeddedPiRunEnd as Ht, consumeRestartSentinel as I, clearAgentRunContext as In, resolveSendPolicy as It, normalizeOptionalSessionKey as J, resolveTtsPrefsPath as Jn, sha256HexPrefix as Jt, inferLegacyName as K, resolveTtsAutoMode as Kn, setCliSessionId as Kt, formatDoctorNonInteractiveHint as L, emitAgentEvent as Ln, createDefaultDeps as Lt, markGatewaySigusr1RestartHandled as M, listSubagentRunsForRequester as Mn, resolveInputFileLimits as Mr, resolveOutboundTarget as Mt, scheduleGatewaySigusr1Restart as N, subagent_registry_exports as Nn, estimateBase64DecodedBytes as Nr, resolveSessionDeliveryTarget as Nt, consumeGatewaySigusr1RestartAuthorization as O, countActiveDescendantRuns as On, DEFAULT_INPUT_TIMEOUT_MS as Or, resolveAgentDeliveryPlan as Ot, setGatewaySigusr1RestartPolicy as P, runSubagentAnnounceFlow as Pn, resolveAgentTimeoutMs as Pr, createOutboundSendDeps as Pt, migrateLegacyCronPayload as Q, textToSpeech as Qn, loadAgentIdentityFromWorkspace as Qt, formatRestartSentinelMessage as R, getAgentRunContext as Rn, createOutboundSendDeps$1 as Rt, runMessageAction as S, hasControlCommand as Sn, isSystemEventContextChanged as Sr, readJsonBodyWithLimit as St, formatTargetDisplay as T, stopSubagentsForRequester as Tn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Tr, sleepWithAbort as Tt, normalizeHttpWebhookUrl as U, isTtsEnabled as Un, resolveModelProfile as Ut, trimLogTail as V, resolveUserTimezone as Vn, getActiveEmbeddedRunCount as Vt, normalizeCronJobCreate as W, isTtsProviderConfigured as Wn, runWithModelFallback as Wt, normalizePayloadToSystemText as X, setTtsEnabled as Xn, resolveAgentAvatar as Xt, normalizeOptionalText as Y, resolveTtsProviderOrder as Yn, describeFailoverError as Yt, normalizeRequiredName as Z, setTtsProvider as Zn, identityHasValues as Zt, loadCombinedSessionStoreForGateway as _, createInboundDebouncer as _n, formatRemainingShort as _r, formatUsageReportLines as _t, buildChannelSummary as a, buildPairingReply as an, setCommandLaneConcurrency as ar, persistBrowserProxyFiles as at, resolveGatewaySessionStoreTarget as b, resolveEnvelopeFormatOptions as bn, parseVerboseOverride as br, resolveCommitHash as bt, clearSessionQueues as c, buildHistoryContextFromEntries as cn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as cr, setHeartbeatWakeHandler as ct, createSymiTools as d, dispatchReplyWithBufferedBlockDispatcher as dn, resolveHeartbeatPrompt as dr, createPluginLoaderLogger as dt, buildSafeExternalPrompt as en, OPENAI_TTS_VOICES as er, hasLegacyDeliveryHints as et, resolveAnnounceTargetFromKey as f, provider_dispatcher_exports as fn, stripHeartbeatToken as fr, loadSymiPlugins as ft, listSessionsFromStore as g, createDedupeCache as gn, buildAuthHealthSummary as gr, loadProviderUsageSummary as gt, listAgentsForGateway as h, getTotalPendingReplies as hn, DEFAULT_OAUTH_WARN_MS as hr, parseActivationCommand as ht, resolveCronStyleNow as i, unbindThreadBindingsBySessionKey as in, resetAllLanes as ir, applyBrowserProxyPaths as it, isGatewaySigusr1RestartExternallyAllowed as j, listDescendantRunsForRequester as jn, normalizeMimeList as jr, resolveHeartbeatSenderContext as jt, deferGatewayRestartUntilIdle as k, countActiveRunsForSession as kn, extractFileContentFromSource as kr, resolveAgentOutboundTarget as kt, applyToolPolicyPipeline as l, recordPendingHistoryEntryIfEnabled as ln, DEFAULT_HEARTBEAT_EVERY as lr, resolveHeartbeatReasonKind as lt, classifySessionKey as m, createReplyDispatcher as mn, maskApiKey as mr, normalizeGroupActivation as mt, BARE_SESSION_RESET_PROMPT as n, getHookType as nn, getQueueSize as nr, CHANNEL_TARGETS_DESCRIPTION as nt, buildChannelAccountSnapshot as o, resolveMentionGating as on, waitForActiveTasks as or, sniffMimeFromBase64 as ot, canonicalizeSpawnedByForAgent as p, dispatchInboundMessage as pn, lookupContextTokens as pr, deleteTelegramUpdateOffset as pt, normalizeOptionalAgentId as q, resolveTtsConfig as qn, runCliAgent as qt, appendCronStyleCurrentTimeLine as r, isExternalHookSession as rn, getTotalQueueSize as rr, CHANNEL_TARGET_DESCRIPTION as rt, formatChannelAllowFrom as s, DEFAULT_GROUP_HISTORY_LIMIT as sn, CommandLane as sr, requestHeartbeatNow as st, getReplyFromConfig as t, detectSuspiciousPatterns as tn, getActiveTaskCount as tr, stripLegacyDeliveryFields as tt, buildDefaultToolPolicyPipelineSteps as u, shouldAckReactionForWhatsApp as un, isHeartbeatContentEffectivelyEmpty as ur, getPluginToolMeta as ut, loadSessionEntry as v, resolveInboundDebounceMs as vn, applyModelOverrideToSessionEntry as vr, formatUsageWindowSummary as vt, resolveOutboundSessionRoute as w, isAbortTrigger as wn, peekSystemEvents as wr, computeBackoff as wt, resolveSessionModelRef as x, formatZonedTimestamp as xn, enqueueSystemEvent as xr, handleSlackHttpRequest as xt, pruneLegacyStoreKeys as y, formatInboundEnvelope as yn, applyVerboseOverride as yr, resolveUsageProviderId as yt, readRestartSentinel as z, onAgentEvent as zn, runAgentTurn as zt };
|