@symerian/symi 2.3.0 → 2.3.2
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/{agents-B0pTMEwy.js → agents-b1LWBQC2.js} +4 -4
- package/dist/{agents.config-_b7ghdyb.js → agents.config-BImdIqjf.js} +1 -1
- package/dist/{agents.config-CdNbu8M5.js → agents.config-CH52CAyr.js} +1 -1
- package/dist/{audio-preflight-BkIfnmpi.js → audio-preflight-BsfqyC31.js} +4 -4
- package/dist/{auth-choice-Bx2Ly3cQ.js → auth-choice-DX1GLTBf.js} +1 -1
- package/dist/{auth-choice-EFFQA4ii.js → auth-choice-DcA3lQQX.js} +1 -1
- package/dist/{banner-B3eic4uq.js → banner-C9OgeI9S.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-75aPoFR-.js → channel-options-CKHMtbhF.js} +1 -1
- package/dist/{channel-options-CiowWU_F.js → channel-options-CUlWJdG7.js} +1 -1
- package/dist/{channel-web-B3e8z6ws.js → channel-web-DNGWTM8I.js} +1 -1
- package/dist/{channels-cli-DZM3aIdY.js → channels-cli-C7Q3h_ZW.js} +4 -4
- package/dist/{channels-cli-BDAVsmSm.js → channels-cli-D3n-xoKD.js} +4 -4
- package/dist/{chrome-CxSAp8x3.js → chrome-w3SLcQJF.js} +7 -7
- package/dist/{cli-BRwovkQi.js → cli-9nGKXD05.js} +1 -1
- package/dist/{cli-D9SQsNnH.js → cli-Bf6Le7bx.js} +1 -1
- package/dist/{command-registry-BOI6nYdi.js → command-registry-C6H5FwOm.js} +9 -9
- package/dist/{completion-cli-NNzoK79d.js → completion-cli-Cuqh9oMX.js} +1 -1
- package/dist/{completion-cli-83vpWmfU.js → completion-cli-DJNeDB6-.js} +2 -2
- package/dist/{config-cli-DEAh6EN8.js → config-cli-BG7fqSG5.js} +1 -1
- package/dist/{config-cli-MLtPektI.js → config-cli-BZARhhJb.js} +1 -1
- package/dist/{configure-vl7Z4vWj.js → configure-1q8nqdUB.js} +3 -3
- package/dist/{configure-BdfU-OWp.js → configure-CXMeenDU.js} +3 -3
- package/dist/{deliver-BA7ZN3iM.js → deliver-BmPK91JP.js} +1 -1
- package/dist/{doctor-completion-OyrrKhcY.js → doctor-completion-DE0ljh_m.js} +1 -1
- package/dist/{doctor-completion-Ds-_m1_I.js → doctor-completion-MHRUVcxM.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-DfFSqETj.js → gateway-cli-A_kepvEA.js} +9 -9
- package/dist/{gateway-cli-Coue82yW.js → gateway-cli-BL_vVTU2.js} +9 -9
- package/dist/{glass-ui-ws-Dkh8KQKx.js → glass-ui-ws-CWG8XziA.js} +7 -7
- package/dist/{glass-ui-ws-D0Y3Ftjr.js → glass-ui-ws-Drv5ICqE.js} +7 -7
- package/dist/{health-B1LT2TG3.js → health-B71iKlbh.js} +1 -1
- package/dist/{health-BL_zFcJ8.js → health-BTXjJASN.js} +1 -1
- package/dist/{hooks-cli-CI7p--JB.js → hooks-cli-D8Sc2Ha-.js} +2 -2
- package/dist/{hooks-cli-BoE1T7F1.js → hooks-cli-R6NcEG6h.js} +2 -2
- package/dist/{image-BGmVDkkw.js → image-rZ4x9VS9.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-DSx-ohwA.js → models-CNdluTFK.js} +2 -2
- package/dist/{models-cli-Dm_3bpun.js → models-cli-CN2aEEwr.js} +3 -3
- package/dist/{models-cli-B-mDqwNv.js → models-cli-dZewIFFK.js} +2 -2
- package/dist/{onboard-u4HyeN9s.js → onboard-DoPuzIkY.js} +2 -2
- package/dist/{onboard-channels-CixaQo6p.js → onboard-channels-BrmH9pSy.js} +1 -1
- package/dist/{onboard-channels-BUz8JSpV.js → onboard-channels-C-e8WBT5.js} +1 -1
- package/dist/{onboard-CPRPPhos.js → onboard-jMdLiAFB.js} +2 -2
- package/dist/{onboarding-DVnX6G65.js → onboarding-C4tCCVuf.js} +3 -3
- package/dist/{onboarding-HeYKKCUg.js → onboarding-Dahfev0C.js} +3 -3
- package/dist/{onboarding.finalize-BJD7ST55.js → onboarding.finalize-B-jArghw.js} +6 -6
- package/dist/{onboarding.finalize-CyfJOd_0.js → onboarding.finalize-C-UcCZwc.js} +5 -5
- package/dist/{pi-embedded-Du1crlEA.js → pi-embedded-Cox_hxBz.js} +229 -161
- package/dist/{pi-embedded-helpers-DEEaCvEp.js → pi-embedded-helpers-B2z46qeM.js} +4 -4
- package/dist/{pi-embedded-Dbwt0RDE.js → pi-embedded-u1nTVeVL.js} +243 -175
- package/dist/{plugin-registry-BHTWmVtf.js → plugin-registry-BUjhiC8S.js} +1 -1
- package/dist/{plugin-registry-B3_VvP9Z.js → plugin-registry-DB6m_jhG.js} +1 -1
- package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
- package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
- package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
- package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
- package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
- package/dist/plugin-sdk/{channel-web-pXiGDTMm.js → channel-web-DBJ2f-u5.js} +22 -22
- package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
- package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
- package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
- package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
- package/dist/plugin-sdk/{deliver-BUns_L9e.js → deliver-BiGlXG5k.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
- package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
- package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
- package/dist/plugin-sdk/index.js +53 -53
- package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
- package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
- package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
- package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
- package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
- package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
- package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
- package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
- package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
- package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
- package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
- package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
- package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
- package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
- package/dist/plugin-sdk/{reply-ClH0tnJf.js → reply-8bK0BH5o.js} +305 -237
- package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
- package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
- package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
- package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
- package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
- package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
- package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
- package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
- package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
- package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
- package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
- package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
- package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
- package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
- package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
- package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
- package/dist/plugin-sdk/web-C-5ZChok.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
- package/dist/{plugins-cli-CiJ3j55S.js → plugins-cli-BuFYsQIf.js} +2 -2
- package/dist/{plugins-cli-Dm1uy7by.js → plugins-cli-DZhaDtma.js} +2 -2
- package/dist/{program-CH2ZAXFK.js → program-DlXflM2j.js} +7 -7
- package/dist/{program-context-BHdXKRCG.js → program-context-CgOHSNfJ.js} +17 -17
- package/dist/{prompt-select-styled-D8-TYiCU.js → prompt-select-styled-BM24eNt6.js} +4 -4
- package/dist/{prompt-select-styled-YbkZmrxn.js → prompt-select-styled-VDp7sLVS.js} +4 -4
- package/dist/{provider-auth-helpers-BvwbMhtC.js → provider-auth-helpers-DPc2nJjU.js} +1 -1
- package/dist/{provider-auth-helpers-BXnJRRuA.js → provider-auth-helpers-DqyK6Uuv.js} +1 -1
- package/dist/{push-apns-CtNHq-T0.js → push-apns-BP1VrPYl.js} +1 -1
- package/dist/{push-apns-BKDV4tcx.js → push-apns-DmCBSfsH.js} +1 -1
- package/dist/{pw-ai-DhwRiS06.js → pw-ai-PiQUncix.js} +1 -1
- package/dist/{register.agent-BUq96Y9v.js → register.agent-CFngezQc.js} +5 -5
- package/dist/{register.agent-BKI5-fHH.js → register.agent-MXEw1cDP.js} +6 -6
- package/dist/{register.configure-wxLUAVNm.js → register.configure-Dye2lrEX.js} +6 -6
- package/dist/{register.configure-D5lE614j.js → register.configure-yuP_CFyL.js} +6 -6
- package/dist/{register.maintenance-C7McOGSl.js → register.maintenance-CmGslWRY.js} +7 -7
- package/dist/{register.maintenance-CBkeGPZ5.js → register.maintenance-CmsjyCHR.js} +8 -8
- package/dist/{register.message-COdTYFse.js → register.message-BqeA08JG.js} +2 -2
- package/dist/{register.message-CI-7hMop.js → register.message-COWiw927.js} +2 -2
- package/dist/{register.onboard-BB0BR6ER.js → register.onboard-Bi5HeqKP.js} +4 -4
- package/dist/{register.onboard-Cvq4D9PO.js → register.onboard-GL4FQKKt.js} +4 -4
- package/dist/{register.setup-BYdcj7kG.js → register.setup-CwdX8TGJ.js} +4 -4
- package/dist/{register.setup-BFsDqWth.js → register.setup-DE8B6eLm.js} +4 -4
- package/dist/{register.status-health-sessions-Z5xGFCb6.js → register.status-health-sessions-CDZ7zo1L.js} +3 -3
- package/dist/{register.status-health-sessions-CLTBPceP.js → register.status-health-sessions-DD5niftr.js} +3 -3
- package/dist/{register.subclis-DbjFcioS.js → register.subclis-Cn7QTC_-.js} +9 -9
- package/dist/{reply-Dlka9TPn.js → reply-BU9TUp_K.js} +229 -161
- package/dist/{run-main-CZKS1Km-.js → run-main-B6YILTPp.js} +14 -14
- package/dist/{runner-B_KP4voe.js → runner-CCSMfQee.js} +1 -1
- package/dist/{server-methods-Dl2xnUeP.js → server-methods-BTiR6t8F.js} +7 -7
- package/dist/{server-methods-060ibtki.js → server-methods-DFsGxi3M.js} +7 -7
- package/dist/{server-node-events-CxdmKBmm.js → server-node-events-BNDR2xkm.js} +2 -2
- package/dist/{server-node-events-BaVEbs-L.js → server-node-events-DEifFVMC.js} +2 -2
- package/dist/{status-DFFFYwyN.js → status-BlSxFEeo.js} +1 -1
- package/dist/{status-B161_hoB.js → status-ChsVYdUd.js} +2 -2
- package/dist/{status-DqWKFOGN.js → status-D6EakoGU.js} +2 -2
- package/dist/{status-V0eZ4bzN.js → status-DwZBYK_G.js} +1 -1
- package/dist/{subagent-registry-DLH72QgE.js → subagent-registry-XIFSKsi7.js} +229 -161
- package/dist/{update-cli-t1GIk6uw.js → update-cli-C4Hrx6N-.js} +8 -8
- package/dist/{update-cli-BHNHad5c.js → update-cli-CXfz9C2E.js} +7 -7
- package/dist/{update-runner-CDG0-jLB.js → update-runner-BWHG84zP.js} +1 -1
- package/dist/{update-runner-Ciq1c0YL.js → update-runner-C6_7IzDb.js} +1 -1
- package/dist/{web-FaXjM6fP.js → web-Bpy6uQ4f.js} +1 -1
- package/dist/{web-CWhHll12.js → web-C1iHUvKH.js} +2 -2
- package/dist/{web-B_JQgMeX.js → web-CB8bYQpw.js} +6 -6
- package/dist/{web-BkvYOXO1.js → web-DPXq2-or.js} +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-D-2D6z4H.js +0 -65
|
@@ -1,72 +1,72 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as isAcpSessionKey, h as getSubagentDepth, l as resolveAgentIdFromSessionKey, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
|
|
3
|
-
import { c as logoutWeb, f as readWebSelfId, g as webAuthExists, o as getWebAuthAgeMs, r as resolveWhatsAppAccount, s as logWebSelfId } from "./accounts-
|
|
3
|
+
import { c as logoutWeb, f as readWebSelfId, g as webAuthExists, o as getWebAuthAgeMs, r as resolveWhatsAppAccount, s as logWebSelfId } from "./accounts-Ddm33hQm.js";
|
|
4
4
|
import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
|
|
5
5
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-D9X2phUj.js";
|
|
6
|
-
import { A as resolveSlackBotToken, C as resolveTelegramToken, D as resolveSlackAccount, F as resolveDiscordAccount, I as normalizeDiscordToken, N as listEnabledDiscordAccounts, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget, b as listTelegramAccountIds, g as isWhatsAppGroupJid, h as resolveSlackChannelId, j as createDiscordActionGate, k as resolveSlackAppToken, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as createTelegramActionGate, y as listEnabledTelegramAccounts } from "./plugins-
|
|
6
|
+
import { A as resolveSlackBotToken, C as resolveTelegramToken, D as resolveSlackAccount, F as resolveDiscordAccount, I as normalizeDiscordToken, N as listEnabledDiscordAccounts, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget, b as listTelegramAccountIds, g as isWhatsAppGroupJid, h as resolveSlackChannelId, j as createDiscordActionGate, k as resolveSlackAppToken, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as createTelegramActionGate, y as listEnabledTelegramAccounts } from "./plugins-BNByVCIH.js";
|
|
7
7
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ChYuW7LE.js";
|
|
8
8
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CUNoPTKm.js";
|
|
9
|
-
import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry
|
|
10
|
-
import { n as retryAsync } from "./retry-
|
|
11
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
12
|
-
import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-
|
|
13
|
-
import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-
|
|
14
|
-
import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-
|
|
15
|
-
import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-
|
|
16
|
-
import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-
|
|
17
|
-
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-
|
|
9
|
+
import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry-D0xTnUWt.js";
|
|
10
|
+
import { n as retryAsync } from "./retry-CwQ_iIj8.js";
|
|
11
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-CjOBB3Vo.js";
|
|
12
|
+
import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-KlTNfkFF.js";
|
|
13
|
+
import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
|
|
14
|
+
import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-GKSevep4.js";
|
|
15
|
+
import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-CsbEfrS0.js";
|
|
16
|
+
import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-CYYpcO9W.js";
|
|
17
|
+
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CPnHl_K3.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
|
|
19
|
-
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-
|
|
19
|
+
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DoC1xtDu.js";
|
|
20
20
|
import { n as normalizePollInput } from "./polls-3WJMd-G-.js";
|
|
21
|
-
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-
|
|
21
|
+
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-BlQR__MN.js";
|
|
22
22
|
import { a as isBlockedHostnameOrIp, c as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DKZ8eBrk.js";
|
|
23
|
-
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
24
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-
|
|
25
|
-
import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-
|
|
26
|
-
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-
|
|
23
|
+
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-BHLNSI8U.js";
|
|
24
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BJ6BHE5b.js";
|
|
25
|
+
import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-Dw2XBYXv.js";
|
|
26
|
+
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-COTAJzHd.js";
|
|
27
27
|
import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
|
|
28
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
29
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
30
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
31
|
-
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-
|
|
32
|
-
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-
|
|
33
|
-
import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-
|
|
34
|
-
import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-
|
|
35
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-
|
|
36
|
-
import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-
|
|
37
|
-
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
38
|
-
import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-
|
|
39
|
-
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-
|
|
40
|
-
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
41
|
-
import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-
|
|
42
|
-
import { r as resolveIMessageAccount } from "./accounts-
|
|
43
|
-
import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
44
|
-
import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-
|
|
45
|
-
import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-
|
|
28
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
|
|
29
|
+
import { t as convertMarkdownTables } from "./tables-DNwXwNFa.js";
|
|
30
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-C5h_YxNb.js";
|
|
31
|
+
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-HJ2sfZDV.js";
|
|
32
|
+
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Paro1BjP.js";
|
|
33
|
+
import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-B2CEnVLL.js";
|
|
34
|
+
import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-CRsR8-vO.js";
|
|
35
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-CGBT7tgF.js";
|
|
36
|
+
import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-uxfMZW4p.js";
|
|
37
|
+
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-bC3UVmVH.js";
|
|
38
|
+
import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-ff_01_r3.js";
|
|
39
|
+
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-_yTP47Cd.js";
|
|
40
|
+
import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-B7RdxmJ0.js";
|
|
41
|
+
import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-CXqf7WTe.js";
|
|
42
|
+
import { r as resolveIMessageAccount } from "./accounts-s-AdhXVR.js";
|
|
43
|
+
import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BtaOa4z_.js";
|
|
44
|
+
import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-BiGlXG5k.js";
|
|
45
|
+
import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-CW630epe.js";
|
|
46
46
|
import { n as resolveConversationLabel } from "./conversation-label-yNSj43Jt.js";
|
|
47
47
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-A0xdf3yk.js";
|
|
48
48
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
|
|
49
|
-
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-
|
|
50
|
-
import { i as saveMediaBuffer, r as getMediaDir } from "./store-
|
|
49
|
+
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-05pm5Rxi.js";
|
|
50
|
+
import { i as saveMediaBuffer, r as getMediaDir } from "./store-BdrNabcU.js";
|
|
51
51
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
|
|
52
|
-
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-
|
|
52
|
+
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-CLOPx7yW.js";
|
|
53
53
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
|
|
54
|
-
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-
|
|
54
|
+
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-CxAR5ttJ.js";
|
|
55
55
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
|
|
56
|
-
import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-
|
|
57
|
-
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
58
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
56
|
+
import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CBSBFuFz.js";
|
|
57
|
+
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-COIaslGl.js";
|
|
58
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-pYqe432l.js";
|
|
59
59
|
import { t as makeProxyFetch } from "./proxy-MquBDehr.js";
|
|
60
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
61
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
62
|
-
import { t as getActiveWebListener } from "./active-listener-
|
|
60
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B3CCBumQ.js";
|
|
61
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-LLcQL3w6.js";
|
|
62
|
+
import { t as getActiveWebListener } from "./active-listener-BXYeALs0.js";
|
|
63
63
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CBq0jVRw.js";
|
|
64
64
|
import { createRequire } from "node:module";
|
|
65
65
|
import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
66
66
|
import * as path$1 from "node:path";
|
|
67
67
|
import path from "node:path";
|
|
68
68
|
import os, { homedir } from "node:os";
|
|
69
|
-
import
|
|
69
|
+
import JSON5 from "json5";
|
|
70
70
|
import { ApplicationCommandOptionType, ButtonStyle, ChannelType, PermissionFlagsBits, Routes, StickerFormatType } from "discord-api-types/v10";
|
|
71
71
|
import { Button, ChannelSelectMenu, ChannelType as ChannelType$1, Client, Command, CommandWithSubcommands, Container, MentionableSelectMenu, MessageCreateListener, MessageReactionAddListener, MessageReactionRemoveListener, MessageType, Modal, PresenceUpdateListener, ReadyListener, RoleSelectMenu, Row, Separator, StringSelectMenu, TextDisplay, UserSelectMenu, serializePayload } from "@buape/carbon";
|
|
72
72
|
import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -7792,7 +7792,7 @@ async function createModelSelectionState(params) {
|
|
|
7792
7792
|
}
|
|
7793
7793
|
}
|
|
7794
7794
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
7795
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
7795
|
+
const { ensureAuthProfileStore } = await import("./model-selection-CsbEfrS0.js").then((n) => n.O);
|
|
7796
7796
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
7797
7797
|
const providerKey = normalizeProviderId(provider);
|
|
7798
7798
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -11544,7 +11544,7 @@ async function getMemorySearchManager(params) {
|
|
|
11544
11544
|
if (cached) return { manager: cached };
|
|
11545
11545
|
}
|
|
11546
11546
|
try {
|
|
11547
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
11547
|
+
const { QmdMemoryManager } = await import("./qmd-manager-CH0XbIHf.js");
|
|
11548
11548
|
const primary = await QmdMemoryManager.create({
|
|
11549
11549
|
cfg: params.cfg,
|
|
11550
11550
|
agentId: params.agentId,
|
|
@@ -11556,7 +11556,7 @@ async function getMemorySearchManager(params) {
|
|
|
11556
11556
|
const wrapper = new FallbackMemoryManager({
|
|
11557
11557
|
primary,
|
|
11558
11558
|
fallbackFactory: async () => {
|
|
11559
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11559
|
+
const { MemoryIndexManager } = await import("./manager-CBSBFuFz.js").then((n) => n.t);
|
|
11560
11560
|
return await MemoryIndexManager.get(params);
|
|
11561
11561
|
}
|
|
11562
11562
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -11569,7 +11569,7 @@ async function getMemorySearchManager(params) {
|
|
|
11569
11569
|
}
|
|
11570
11570
|
}
|
|
11571
11571
|
try {
|
|
11572
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11572
|
+
const { MemoryIndexManager } = await import("./manager-CBSBFuFz.js").then((n) => n.t);
|
|
11573
11573
|
return { manager: await MemoryIndexManager.get(params) };
|
|
11574
11574
|
} catch (err) {
|
|
11575
11575
|
return {
|
|
@@ -12628,7 +12628,7 @@ function normalizeSessionKey(value) {
|
|
|
12628
12628
|
function readSessionStore(storePath) {
|
|
12629
12629
|
try {
|
|
12630
12630
|
const raw = fs.readFileSync(storePath, "utf-8");
|
|
12631
|
-
const parsed =
|
|
12631
|
+
const parsed = JSON5.parse(raw);
|
|
12632
12632
|
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
|
|
12633
12633
|
} catch {}
|
|
12634
12634
|
return {};
|
|
@@ -15485,7 +15485,7 @@ async function routeReply(params) {
|
|
|
15485
15485
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
15486
15486
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
15487
15487
|
try {
|
|
15488
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
15488
|
+
const { deliverOutboundPayloads } = await import("./deliver-BiGlXG5k.js").then((n) => n.n);
|
|
15489
15489
|
return {
|
|
15490
15490
|
ok: true,
|
|
15491
15491
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -17959,7 +17959,7 @@ async function describeStickerImage(params) {
|
|
|
17959
17959
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
17960
17960
|
try {
|
|
17961
17961
|
const buffer = await fs$1.readFile(imagePath);
|
|
17962
|
-
const { describeImageWithModel } = await import("./image-
|
|
17962
|
+
const { describeImageWithModel } = await import("./image-CLOPx7yW.js").then((n) => n.n);
|
|
17963
17963
|
return (await describeImageWithModel({
|
|
17964
17964
|
buffer,
|
|
17965
17965
|
fileName: "sticker.webp",
|
|
@@ -18370,7 +18370,7 @@ function createWhatsAppLoginTool() {
|
|
|
18370
18370
|
force: Type.Optional(Type.Boolean())
|
|
18371
18371
|
}),
|
|
18372
18372
|
execute: async (_toolCallId, args) => {
|
|
18373
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
18373
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BjVZSoCi.js");
|
|
18374
18374
|
if ((args?.action ?? "start") === "wait") {
|
|
18375
18375
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
18376
18376
|
return {
|
|
@@ -20438,7 +20438,7 @@ async function preflightDiscordMessage(params) {
|
|
|
20438
20438
|
let preflightTranscript;
|
|
20439
20439
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
20440
20440
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
20441
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
20441
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-VpItkiy3.js");
|
|
20442
20442
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
20443
20443
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
20444
20444
|
ctx: {
|
|
@@ -27119,27 +27119,27 @@ async function runWithImageModelFallback(params) {
|
|
|
27119
27119
|
function createDefaultDeps() {
|
|
27120
27120
|
return {
|
|
27121
27121
|
sendMessageWhatsApp: async (...args) => {
|
|
27122
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
27122
|
+
const { sendMessageWhatsApp } = await import("./web-C-5ZChok.js");
|
|
27123
27123
|
return await sendMessageWhatsApp(...args);
|
|
27124
27124
|
},
|
|
27125
27125
|
sendMessageTelegram: async (...args) => {
|
|
27126
|
-
const { sendMessageTelegram } = await import("./send-
|
|
27126
|
+
const { sendMessageTelegram } = await import("./send-CRsR8-vO.js").then((n) => n.l);
|
|
27127
27127
|
return await sendMessageTelegram(...args);
|
|
27128
27128
|
},
|
|
27129
27129
|
sendMessageDiscord: async (...args) => {
|
|
27130
|
-
const { sendMessageDiscord } = await import("./send-
|
|
27130
|
+
const { sendMessageDiscord } = await import("./send-CjOBB3Vo.js").then((n) => n.t);
|
|
27131
27131
|
return await sendMessageDiscord(...args);
|
|
27132
27132
|
},
|
|
27133
27133
|
sendMessageSlack: async (...args) => {
|
|
27134
|
-
const { sendMessageSlack } = await import("./send-
|
|
27134
|
+
const { sendMessageSlack } = await import("./send-B2CEnVLL.js").then((n) => n.n);
|
|
27135
27135
|
return await sendMessageSlack(...args);
|
|
27136
27136
|
},
|
|
27137
27137
|
sendMessageSignal: async (...args) => {
|
|
27138
|
-
const { sendMessageSignal } = await import("./send-
|
|
27138
|
+
const { sendMessageSignal } = await import("./send-pYqe432l.js").then((n) => n.i);
|
|
27139
27139
|
return await sendMessageSignal(...args);
|
|
27140
27140
|
},
|
|
27141
27141
|
sendMessageIMessage: async (...args) => {
|
|
27142
|
-
const { sendMessageIMessage } = await import("./send-
|
|
27142
|
+
const { sendMessageIMessage } = await import("./send-C5h_YxNb.js").then((n) => n.n);
|
|
27143
27143
|
return await sendMessageIMessage(...args);
|
|
27144
27144
|
}
|
|
27145
27145
|
};
|
|
@@ -37349,7 +37349,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
37349
37349
|
}
|
|
37350
37350
|
let commandsRegistry;
|
|
37351
37351
|
async function getCommandsRegistry() {
|
|
37352
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
37352
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-COIaslGl.js").then((n) => n.n);
|
|
37353
37353
|
return commandsRegistry;
|
|
37354
37354
|
}
|
|
37355
37355
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -37691,11 +37691,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
37691
37691
|
const channelName = channelInfo?.name;
|
|
37692
37692
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
37693
37693
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
37694
|
-
import("./resolve-route-
|
|
37694
|
+
import("./resolve-route-B3CCBumQ.js").then((n) => n.r),
|
|
37695
37695
|
import("./inbound-context-D5EzMeL_.js").then((n) => n.n),
|
|
37696
37696
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
37697
37697
|
]);
|
|
37698
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-
|
|
37698
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-uxfMZW4p.js").then((n) => n.r)]);
|
|
37699
37699
|
const route = resolveAgentRoute({
|
|
37700
37700
|
cfg,
|
|
37701
37701
|
channel: "slack",
|
|
@@ -37752,9 +37752,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
37752
37752
|
});
|
|
37753
37753
|
const deliverSlashPayloads = async (replies) => {
|
|
37754
37754
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
37755
|
-
import("./replies-
|
|
37756
|
-
import("./chunk-
|
|
37757
|
-
import("./markdown-tables-
|
|
37755
|
+
import("./replies-LLcQL3w6.js").then((n) => n.r),
|
|
37756
|
+
import("./chunk-Dw2XBYXv.js").then((n) => n.s),
|
|
37757
|
+
import("./markdown-tables-BoYFajMu.js").then((n) => n.t)
|
|
37758
37758
|
]);
|
|
37759
37759
|
await deliverSlackSlashReplies({
|
|
37760
37760
|
replies,
|
|
@@ -37807,7 +37807,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
37807
37807
|
let nativeCommands = [];
|
|
37808
37808
|
if (nativeEnabled) {
|
|
37809
37809
|
reg = await getCommandsRegistry();
|
|
37810
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
37810
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ff_01_r3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
37811
37811
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
37812
37812
|
skillCommands,
|
|
37813
37813
|
provider: "slack"
|
|
@@ -42588,7 +42588,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
42588
42588
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
42589
42589
|
let preflightTranscript;
|
|
42590
42590
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
42591
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
42591
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-VpItkiy3.js");
|
|
42592
42592
|
preflightTranscript = await transcribeFirstAudio({
|
|
42593
42593
|
ctx: {
|
|
42594
42594
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -44733,23 +44733,23 @@ let webLoginQrPromise = null;
|
|
|
44733
44733
|
let webChannelPromise = null;
|
|
44734
44734
|
let whatsappActionsPromise = null;
|
|
44735
44735
|
function loadWebOutbound() {
|
|
44736
|
-
webOutboundPromise ??= import("./outbound-
|
|
44736
|
+
webOutboundPromise ??= import("./outbound-B0e8KdaR.js").then((n) => n.t);
|
|
44737
44737
|
return webOutboundPromise;
|
|
44738
44738
|
}
|
|
44739
44739
|
function loadWebLogin() {
|
|
44740
|
-
webLoginPromise ??= import("./login-
|
|
44740
|
+
webLoginPromise ??= import("./login-DQMXuxOk.js").then((n) => n.n);
|
|
44741
44741
|
return webLoginPromise;
|
|
44742
44742
|
}
|
|
44743
44743
|
function loadWebLoginQr() {
|
|
44744
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
44744
|
+
webLoginQrPromise ??= import("./login-qr-BjVZSoCi.js");
|
|
44745
44745
|
return webLoginQrPromise;
|
|
44746
44746
|
}
|
|
44747
44747
|
function loadWebChannel() {
|
|
44748
|
-
webChannelPromise ??= import("./web-
|
|
44748
|
+
webChannelPromise ??= import("./web-C-5ZChok.js");
|
|
44749
44749
|
return webChannelPromise;
|
|
44750
44750
|
}
|
|
44751
44751
|
function loadWhatsAppActions() {
|
|
44752
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
44752
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-DfseosPO.js");
|
|
44753
44753
|
return whatsappActionsPromise;
|
|
44754
44754
|
}
|
|
44755
44755
|
function createPluginRuntime() {
|
|
@@ -50041,7 +50041,7 @@ async function recordLoopOutcome(args) {
|
|
|
50041
50041
|
if (!args.ctx?.sessionKey) return;
|
|
50042
50042
|
try {
|
|
50043
50043
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
|
|
50044
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
50044
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-BVA6fax-.js");
|
|
50045
50045
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
50046
50046
|
sessionKey: args.ctx.sessionKey,
|
|
50047
50047
|
sessionId: args.ctx?.agentId
|
|
@@ -50062,8 +50062,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
50062
50062
|
const params = args.params;
|
|
50063
50063
|
if (args.ctx?.sessionKey) {
|
|
50064
50064
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
|
|
50065
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
50066
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
50065
|
+
const { logToolLoopAction } = await import("./diagnostic-05pm5Rxi.js").then((n) => n.n);
|
|
50066
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BVA6fax-.js");
|
|
50067
50067
|
const sessionState = getDiagnosticSessionState({
|
|
50068
50068
|
sessionKey: args.ctx.sessionKey,
|
|
50069
50069
|
sessionId: args.ctx?.agentId
|
|
@@ -64197,6 +64197,162 @@ async function compactEmbeddedPiSession(params) {
|
|
|
64197
64197
|
return enqueueCommandInLane(sessionLane, () => enqueueGlobal(async () => compactEmbeddedPiSessionDirect(params)));
|
|
64198
64198
|
}
|
|
64199
64199
|
|
|
64200
|
+
//#endregion
|
|
64201
|
+
//#region src/config/model-profiles-builtin.ts
|
|
64202
|
+
/**
|
|
64203
|
+
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
64204
|
+
* that `resolveModelProfile` can return the first match.
|
|
64205
|
+
*
|
|
64206
|
+
* Order matters: "ollama/" must precede "gemma" because model IDs like
|
|
64207
|
+
* "ollama/gemma4:31b-128k" contain both substrings.
|
|
64208
|
+
*/
|
|
64209
|
+
const BUILTIN_PROFILES = [
|
|
64210
|
+
{
|
|
64211
|
+
match: ["ollama/"],
|
|
64212
|
+
label: "Ollama Local",
|
|
64213
|
+
params: {
|
|
64214
|
+
temperature: 1,
|
|
64215
|
+
top_p: .95,
|
|
64216
|
+
top_k: 64,
|
|
64217
|
+
max_tokens: 4096,
|
|
64218
|
+
stop: ["<end_of_turn>", "<eos>"]
|
|
64219
|
+
},
|
|
64220
|
+
streaming: {
|
|
64221
|
+
deltaThrottleMs: 50,
|
|
64222
|
+
flushOnFinal: true,
|
|
64223
|
+
chunkPattern: "burst"
|
|
64224
|
+
},
|
|
64225
|
+
filters: {
|
|
64226
|
+
stripPatterns: [
|
|
64227
|
+
"<\\|channel>\\w*",
|
|
64228
|
+
"<channel\\|>",
|
|
64229
|
+
"<start_of_turn>(?:model|user)?",
|
|
64230
|
+
"<end_of_turn>"
|
|
64231
|
+
],
|
|
64232
|
+
suppressMonologue: true,
|
|
64233
|
+
hasStructuredThinking: false
|
|
64234
|
+
},
|
|
64235
|
+
promptAdditions: ["You are running locally via Ollama. Do not output raw control tokens or internal monologue. Send brief progress updates on long tasks."],
|
|
64236
|
+
ui: {
|
|
64237
|
+
badge: "Local",
|
|
64238
|
+
watchdogMs: 9e5,
|
|
64239
|
+
armWatchdogOnSend: true
|
|
64240
|
+
}
|
|
64241
|
+
},
|
|
64242
|
+
{
|
|
64243
|
+
match: ["anthropic/", "claude-"],
|
|
64244
|
+
label: "Claude",
|
|
64245
|
+
params: {
|
|
64246
|
+
temperature: 1,
|
|
64247
|
+
top_p: 1,
|
|
64248
|
+
max_tokens: 8192
|
|
64249
|
+
},
|
|
64250
|
+
streaming: {
|
|
64251
|
+
deltaThrottleMs: 150,
|
|
64252
|
+
flushOnFinal: false,
|
|
64253
|
+
chunkPattern: "token"
|
|
64254
|
+
},
|
|
64255
|
+
filters: {
|
|
64256
|
+
stripPatterns: [],
|
|
64257
|
+
suppressMonologue: false,
|
|
64258
|
+
hasStructuredThinking: true
|
|
64259
|
+
},
|
|
64260
|
+
promptAdditions: [],
|
|
64261
|
+
ui: {
|
|
64262
|
+
badge: "API",
|
|
64263
|
+
watchdogMs: 3e5,
|
|
64264
|
+
armWatchdogOnSend: false
|
|
64265
|
+
}
|
|
64266
|
+
},
|
|
64267
|
+
{
|
|
64268
|
+
match: ["gemma", "redsand/"],
|
|
64269
|
+
label: "Gemma 4",
|
|
64270
|
+
params: {
|
|
64271
|
+
temperature: 1,
|
|
64272
|
+
top_p: .95,
|
|
64273
|
+
top_k: 64,
|
|
64274
|
+
max_tokens: 4096,
|
|
64275
|
+
stop: ["<end_of_turn>", "<eos>"]
|
|
64276
|
+
},
|
|
64277
|
+
streaming: {
|
|
64278
|
+
deltaThrottleMs: 50,
|
|
64279
|
+
flushOnFinal: true,
|
|
64280
|
+
chunkPattern: "burst"
|
|
64281
|
+
},
|
|
64282
|
+
filters: {
|
|
64283
|
+
stripPatterns: [
|
|
64284
|
+
"<\\|channel>\\w*",
|
|
64285
|
+
"<channel\\|>",
|
|
64286
|
+
"<start_of_turn>(?:model|user)?",
|
|
64287
|
+
"<end_of_turn>",
|
|
64288
|
+
"<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
|
|
64289
|
+
"^\\s*<bos>\\s*"
|
|
64290
|
+
],
|
|
64291
|
+
suppressMonologue: true,
|
|
64292
|
+
hasStructuredThinking: false
|
|
64293
|
+
},
|
|
64294
|
+
promptAdditions: [
|
|
64295
|
+
"You are running as Gemma 4 via vLLM. Important behavioral rules:",
|
|
64296
|
+
"- Never output raw control tokens, channel tags, or turn markers in your responses.",
|
|
64297
|
+
"- Never display internal status checks, plans, or self-assessments. Your visible output should only be conversational responses and final results.",
|
|
64298
|
+
"- When working on multi-step tasks, send a brief one-line status update every 30-60 seconds so the user knows you are active.",
|
|
64299
|
+
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
64300
|
+
"- Do not use <|channel>thought or similar syntax. If you need to reason, do so silently."
|
|
64301
|
+
],
|
|
64302
|
+
ui: {
|
|
64303
|
+
badge: "CoreWeave",
|
|
64304
|
+
watchdogMs: 6e5,
|
|
64305
|
+
armWatchdogOnSend: true
|
|
64306
|
+
}
|
|
64307
|
+
}
|
|
64308
|
+
];
|
|
64309
|
+
|
|
64310
|
+
//#endregion
|
|
64311
|
+
//#region src/config/resolve-model-profile.ts
|
|
64312
|
+
/** Default profile returned when no match is found. */
|
|
64313
|
+
const FALLBACK_PROFILE = {
|
|
64314
|
+
match: "*",
|
|
64315
|
+
label: "Generic",
|
|
64316
|
+
params: {
|
|
64317
|
+
temperature: 1,
|
|
64318
|
+
max_tokens: 4096
|
|
64319
|
+
},
|
|
64320
|
+
streaming: {
|
|
64321
|
+
deltaThrottleMs: 150,
|
|
64322
|
+
flushOnFinal: true,
|
|
64323
|
+
chunkPattern: "burst"
|
|
64324
|
+
},
|
|
64325
|
+
filters: {
|
|
64326
|
+
stripPatterns: [],
|
|
64327
|
+
suppressMonologue: false,
|
|
64328
|
+
hasStructuredThinking: false
|
|
64329
|
+
},
|
|
64330
|
+
promptAdditions: [],
|
|
64331
|
+
ui: {
|
|
64332
|
+
watchdogMs: 3e5,
|
|
64333
|
+
armWatchdogOnSend: true
|
|
64334
|
+
}
|
|
64335
|
+
};
|
|
64336
|
+
/**
|
|
64337
|
+
* Resolve the active model profile for a given model ID.
|
|
64338
|
+
*
|
|
64339
|
+
* Resolution order:
|
|
64340
|
+
* 1. User-defined profiles (from `models.profiles` in symi.json)
|
|
64341
|
+
* 2. Built-in profiles ({@link BUILTIN_PROFILES})
|
|
64342
|
+
* 3. Fallback "Generic" profile
|
|
64343
|
+
*
|
|
64344
|
+
* Matching is case-insensitive prefix/substring against the model ID.
|
|
64345
|
+
*/
|
|
64346
|
+
function resolveModelProfile(modelId, userProfiles) {
|
|
64347
|
+
const id = modelId.toLowerCase();
|
|
64348
|
+
const allProfiles = [...userProfiles ?? [], ...BUILTIN_PROFILES];
|
|
64349
|
+
for (const profile of allProfiles) {
|
|
64350
|
+
const patterns = Array.isArray(profile.match) ? profile.match : [profile.match];
|
|
64351
|
+
for (const pattern of patterns) if (id.startsWith(pattern.toLowerCase()) || id.includes(pattern.toLowerCase())) return profile;
|
|
64352
|
+
}
|
|
64353
|
+
return FALLBACK_PROFILE;
|
|
64354
|
+
}
|
|
64355
|
+
|
|
64200
64356
|
//#endregion
|
|
64201
64357
|
//#region src/agents/pi-embedded-runner/extra-params.ts
|
|
64202
64358
|
const OPENROUTER_APP_HEADERS = {
|
|
@@ -64216,7 +64372,9 @@ const OPENAI_RESPONSES_PROVIDERS = new Set(["openai"]);
|
|
|
64216
64372
|
function resolveExtraParams(params) {
|
|
64217
64373
|
const modelKey = `${params.provider}/${params.modelId}`;
|
|
64218
64374
|
const modelConfig = params.cfg?.agents?.defaults?.models?.[modelKey];
|
|
64219
|
-
|
|
64375
|
+
if (modelConfig?.params) return { ...modelConfig.params };
|
|
64376
|
+
const profile = resolveModelProfile(modelKey, params.cfg?.models?.profiles);
|
|
64377
|
+
if (profile.params && Object.keys(profile.params).length > 0) return { ...profile.params };
|
|
64220
64378
|
}
|
|
64221
64379
|
/**
|
|
64222
64380
|
* Resolve cacheRetention from extraParams, supporting both new `cacheRetention`
|
|
@@ -64246,16 +64404,40 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
|
|
|
64246
64404
|
if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
|
|
64247
64405
|
if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
|
|
64248
64406
|
if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
|
|
64407
|
+
if (Array.isArray(extraParams.stop) && extraParams.stop.length > 0) streamParams.stop = extraParams.stop;
|
|
64249
64408
|
if (extraParams.chat_template_kwargs && typeof extraParams.chat_template_kwargs === "object") streamParams.chat_template_kwargs = extraParams.chat_template_kwargs;
|
|
64250
64409
|
const cacheRetention = resolveCacheRetention(extraParams, provider);
|
|
64251
64410
|
if (cacheRetention) streamParams.cacheRetention = cacheRetention;
|
|
64252
64411
|
if (Object.keys(streamParams).length === 0) return;
|
|
64253
64412
|
log$2.debug(`creating streamFn wrapper with params: ${JSON.stringify(streamParams)}`);
|
|
64413
|
+
const sp = streamParams;
|
|
64414
|
+
const payloadOverrides = {};
|
|
64415
|
+
if (Array.isArray(sp.stop) && sp.stop.length > 0) payloadOverrides.stop = sp.stop;
|
|
64416
|
+
if (typeof sp.top_p === "number") payloadOverrides.top_p = sp.top_p;
|
|
64417
|
+
if (typeof sp.top_k === "number") payloadOverrides.top_k = sp.top_k;
|
|
64418
|
+
if (typeof sp.repeat_penalty === "number") payloadOverrides.repeat_penalty = sp.repeat_penalty;
|
|
64419
|
+
const hasPayloadOverrides = Object.keys(payloadOverrides).length > 0;
|
|
64254
64420
|
const underlying = baseStreamFn ?? streamSimple;
|
|
64255
|
-
const wrappedStreamFn = (model, context, options) =>
|
|
64256
|
-
|
|
64257
|
-
|
|
64258
|
-
|
|
64421
|
+
const wrappedStreamFn = (model, context, options) => {
|
|
64422
|
+
if (hasPayloadOverrides) {
|
|
64423
|
+
const originalOnPayload = options?.onPayload;
|
|
64424
|
+
return underlying(model, context, {
|
|
64425
|
+
...streamParams,
|
|
64426
|
+
...options,
|
|
64427
|
+
onPayload: (payload) => {
|
|
64428
|
+
if (payload && typeof payload === "object") {
|
|
64429
|
+
const p = payload;
|
|
64430
|
+
for (const [key, value] of Object.entries(payloadOverrides)) if (p[key] === void 0) p[key] = value;
|
|
64431
|
+
}
|
|
64432
|
+
originalOnPayload?.(payload);
|
|
64433
|
+
}
|
|
64434
|
+
});
|
|
64435
|
+
}
|
|
64436
|
+
return underlying(model, context, {
|
|
64437
|
+
...streamParams,
|
|
64438
|
+
...options
|
|
64439
|
+
});
|
|
64440
|
+
};
|
|
64259
64441
|
return wrappedStreamFn;
|
|
64260
64442
|
}
|
|
64261
64443
|
function isDirectOpenAIBaseUrl(baseUrl) {
|
|
@@ -64374,6 +64556,42 @@ function createZaiToolStreamWrapper(baseStreamFn, enabled) {
|
|
|
64374
64556
|
});
|
|
64375
64557
|
};
|
|
64376
64558
|
}
|
|
64559
|
+
const GEMMA_STOP_SEQUENCES = ["<end_of_turn>", "<eos>"];
|
|
64560
|
+
const VLLM_GEMMA_HINTS = ["gemma", "redsand"];
|
|
64561
|
+
function isVllmOrGemmaProvider(provider, modelId, cfg) {
|
|
64562
|
+
const lower = `${provider}/${modelId}`.toLowerCase();
|
|
64563
|
+
if (VLLM_GEMMA_HINTS.some((h) => lower.includes(h))) return true;
|
|
64564
|
+
const baseUrl = ((cfg?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
|
|
64565
|
+
return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
|
|
64566
|
+
}
|
|
64567
|
+
/**
|
|
64568
|
+
* Wrap the stream function to fix vLLM/Gemma compat issues via onPayload:
|
|
64569
|
+
* 1. Replace `max_completion_tokens` with `max_tokens` (vLLM ignores the former)
|
|
64570
|
+
* 2. Inject Gemma stop sequences if none are set
|
|
64571
|
+
* 3. Remove unsupported fields (store, stream_options.include_usage on older vLLM)
|
|
64572
|
+
*/
|
|
64573
|
+
function createVllmCompatWrapper(baseStreamFn, extraParams) {
|
|
64574
|
+
const underlying = baseStreamFn ?? streamSimple;
|
|
64575
|
+
const configuredStop = Array.isArray(extraParams.stop) ? extraParams.stop : GEMMA_STOP_SEQUENCES;
|
|
64576
|
+
return (model, context, options) => {
|
|
64577
|
+
const originalOnPayload = options?.onPayload;
|
|
64578
|
+
return underlying(model, context, {
|
|
64579
|
+
...options,
|
|
64580
|
+
onPayload: (payload) => {
|
|
64581
|
+
if (payload && typeof payload === "object") {
|
|
64582
|
+
const p = payload;
|
|
64583
|
+
if (p.max_completion_tokens && !p.max_tokens) {
|
|
64584
|
+
p.max_tokens = p.max_completion_tokens;
|
|
64585
|
+
delete p.max_completion_tokens;
|
|
64586
|
+
}
|
|
64587
|
+
if (!p.stop && configuredStop.length > 0) p.stop = configuredStop;
|
|
64588
|
+
delete p.store;
|
|
64589
|
+
}
|
|
64590
|
+
originalOnPayload?.(payload);
|
|
64591
|
+
}
|
|
64592
|
+
});
|
|
64593
|
+
};
|
|
64594
|
+
}
|
|
64377
64595
|
/**
|
|
64378
64596
|
* Apply extra params (like temperature) to an agent's streamFn.
|
|
64379
64597
|
* Also adds OpenRouter app attribution headers when using the OpenRouter provider.
|
|
@@ -64408,161 +64626,11 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
|
|
|
64408
64626
|
agent.streamFn = createZaiToolStreamWrapper(agent.streamFn, true);
|
|
64409
64627
|
}
|
|
64410
64628
|
}
|
|
64411
|
-
|
|
64412
|
-
}
|
|
64413
|
-
|
|
64414
|
-
//#endregion
|
|
64415
|
-
//#region src/config/model-profiles-builtin.ts
|
|
64416
|
-
/**
|
|
64417
|
-
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
64418
|
-
* that `resolveModelProfile` can return the first match.
|
|
64419
|
-
*
|
|
64420
|
-
* Order matters: "ollama/" must precede "gemma" because model IDs like
|
|
64421
|
-
* "ollama/gemma4:31b-128k" contain both substrings.
|
|
64422
|
-
*/
|
|
64423
|
-
const BUILTIN_PROFILES = [
|
|
64424
|
-
{
|
|
64425
|
-
match: ["ollama/"],
|
|
64426
|
-
label: "Ollama Local",
|
|
64427
|
-
params: {
|
|
64428
|
-
temperature: 1,
|
|
64429
|
-
top_p: .95,
|
|
64430
|
-
top_k: 64,
|
|
64431
|
-
max_tokens: 4096
|
|
64432
|
-
},
|
|
64433
|
-
streaming: {
|
|
64434
|
-
deltaThrottleMs: 50,
|
|
64435
|
-
flushOnFinal: true,
|
|
64436
|
-
chunkPattern: "burst"
|
|
64437
|
-
},
|
|
64438
|
-
filters: {
|
|
64439
|
-
stripPatterns: [
|
|
64440
|
-
"<\\|channel>\\w*",
|
|
64441
|
-
"<channel\\|>",
|
|
64442
|
-
"<start_of_turn>(?:model|user)?",
|
|
64443
|
-
"<end_of_turn>"
|
|
64444
|
-
],
|
|
64445
|
-
suppressMonologue: true,
|
|
64446
|
-
hasStructuredThinking: false
|
|
64447
|
-
},
|
|
64448
|
-
promptAdditions: ["You are running locally via Ollama. Do not output raw control tokens or internal monologue. Send brief progress updates on long tasks."],
|
|
64449
|
-
ui: {
|
|
64450
|
-
badge: "Local",
|
|
64451
|
-
watchdogMs: 9e5,
|
|
64452
|
-
armWatchdogOnSend: true
|
|
64453
|
-
}
|
|
64454
|
-
},
|
|
64455
|
-
{
|
|
64456
|
-
match: ["anthropic/", "claude-"],
|
|
64457
|
-
label: "Claude",
|
|
64458
|
-
params: {
|
|
64459
|
-
temperature: 1,
|
|
64460
|
-
top_p: 1,
|
|
64461
|
-
max_tokens: 8192
|
|
64462
|
-
},
|
|
64463
|
-
streaming: {
|
|
64464
|
-
deltaThrottleMs: 150,
|
|
64465
|
-
flushOnFinal: false,
|
|
64466
|
-
chunkPattern: "token"
|
|
64467
|
-
},
|
|
64468
|
-
filters: {
|
|
64469
|
-
stripPatterns: [],
|
|
64470
|
-
suppressMonologue: false,
|
|
64471
|
-
hasStructuredThinking: true
|
|
64472
|
-
},
|
|
64473
|
-
promptAdditions: [],
|
|
64474
|
-
ui: {
|
|
64475
|
-
badge: "API",
|
|
64476
|
-
watchdogMs: 3e5,
|
|
64477
|
-
armWatchdogOnSend: false
|
|
64478
|
-
}
|
|
64479
|
-
},
|
|
64480
|
-
{
|
|
64481
|
-
match: ["gemma", "redsand/"],
|
|
64482
|
-
label: "Gemma 4",
|
|
64483
|
-
params: {
|
|
64484
|
-
temperature: 1,
|
|
64485
|
-
top_p: .95,
|
|
64486
|
-
top_k: 64,
|
|
64487
|
-
max_tokens: 8192
|
|
64488
|
-
},
|
|
64489
|
-
streaming: {
|
|
64490
|
-
deltaThrottleMs: 50,
|
|
64491
|
-
flushOnFinal: true,
|
|
64492
|
-
chunkPattern: "burst"
|
|
64493
|
-
},
|
|
64494
|
-
filters: {
|
|
64495
|
-
stripPatterns: [
|
|
64496
|
-
"<\\|channel>\\w*",
|
|
64497
|
-
"<channel\\|>",
|
|
64498
|
-
"<start_of_turn>(?:model|user)?",
|
|
64499
|
-
"<end_of_turn>",
|
|
64500
|
-
"<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
|
|
64501
|
-
"^\\s*<bos>\\s*"
|
|
64502
|
-
],
|
|
64503
|
-
suppressMonologue: true,
|
|
64504
|
-
hasStructuredThinking: false
|
|
64505
|
-
},
|
|
64506
|
-
promptAdditions: [
|
|
64507
|
-
"You are running as Gemma 4 via vLLM. Important behavioral rules:",
|
|
64508
|
-
"- Never output raw control tokens, channel tags, or turn markers in your responses.",
|
|
64509
|
-
"- Never display internal status checks, plans, or self-assessments. Your visible output should only be conversational responses and final results.",
|
|
64510
|
-
"- When working on multi-step tasks, send a brief one-line status update every 30-60 seconds so the user knows you are active.",
|
|
64511
|
-
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
64512
|
-
"- Do not use <|channel>thought or similar syntax. If you need to reason, do so silently."
|
|
64513
|
-
],
|
|
64514
|
-
ui: {
|
|
64515
|
-
badge: "CoreWeave",
|
|
64516
|
-
watchdogMs: 6e5,
|
|
64517
|
-
armWatchdogOnSend: true
|
|
64518
|
-
}
|
|
64519
|
-
}
|
|
64520
|
-
];
|
|
64521
|
-
|
|
64522
|
-
//#endregion
|
|
64523
|
-
//#region src/config/resolve-model-profile.ts
|
|
64524
|
-
/** Default profile returned when no match is found. */
|
|
64525
|
-
const FALLBACK_PROFILE = {
|
|
64526
|
-
match: "*",
|
|
64527
|
-
label: "Generic",
|
|
64528
|
-
params: {
|
|
64529
|
-
temperature: 1,
|
|
64530
|
-
max_tokens: 4096
|
|
64531
|
-
},
|
|
64532
|
-
streaming: {
|
|
64533
|
-
deltaThrottleMs: 150,
|
|
64534
|
-
flushOnFinal: true,
|
|
64535
|
-
chunkPattern: "burst"
|
|
64536
|
-
},
|
|
64537
|
-
filters: {
|
|
64538
|
-
stripPatterns: [],
|
|
64539
|
-
suppressMonologue: false,
|
|
64540
|
-
hasStructuredThinking: false
|
|
64541
|
-
},
|
|
64542
|
-
promptAdditions: [],
|
|
64543
|
-
ui: {
|
|
64544
|
-
watchdogMs: 3e5,
|
|
64545
|
-
armWatchdogOnSend: true
|
|
64629
|
+
if (isVllmOrGemmaProvider(provider, modelId, cfg)) {
|
|
64630
|
+
log$2.debug(`applying vLLM/Gemma compat wrapper for ${provider}/${modelId}`);
|
|
64631
|
+
agent.streamFn = createVllmCompatWrapper(agent.streamFn, merged);
|
|
64546
64632
|
}
|
|
64547
|
-
|
|
64548
|
-
/**
|
|
64549
|
-
* Resolve the active model profile for a given model ID.
|
|
64550
|
-
*
|
|
64551
|
-
* Resolution order:
|
|
64552
|
-
* 1. User-defined profiles (from `models.profiles` in symi.json)
|
|
64553
|
-
* 2. Built-in profiles ({@link BUILTIN_PROFILES})
|
|
64554
|
-
* 3. Fallback "Generic" profile
|
|
64555
|
-
*
|
|
64556
|
-
* Matching is case-insensitive prefix/substring against the model ID.
|
|
64557
|
-
*/
|
|
64558
|
-
function resolveModelProfile(modelId, userProfiles) {
|
|
64559
|
-
const id = modelId.toLowerCase();
|
|
64560
|
-
const allProfiles = [...userProfiles ?? [], ...BUILTIN_PROFILES];
|
|
64561
|
-
for (const profile of allProfiles) {
|
|
64562
|
-
const patterns = Array.isArray(profile.match) ? profile.match : [profile.match];
|
|
64563
|
-
for (const pattern of patterns) if (id.startsWith(pattern.toLowerCase()) || id.includes(pattern.toLowerCase())) return profile;
|
|
64564
|
-
}
|
|
64565
|
-
return FALLBACK_PROFILE;
|
|
64633
|
+
agent.streamFn = createOpenAIResponsesStoreWrapper(agent.streamFn);
|
|
64566
64634
|
}
|
|
64567
64635
|
|
|
64568
64636
|
//#endregion
|
|
@@ -77186,7 +77254,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
77186
77254
|
return;
|
|
77187
77255
|
}
|
|
77188
77256
|
try {
|
|
77189
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
77257
|
+
const { deliverOutboundPayloads } = await import("./deliver-BiGlXG5k.js").then((n) => n.n);
|
|
77190
77258
|
await deliverOutboundPayloads({
|
|
77191
77259
|
cfg: params.cfg,
|
|
77192
77260
|
channel,
|