@symerian/symi 2.6.24 → 2.6.25

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.
Files changed (118) hide show
  1. package/dist/{agents-CYq0h_nC.js → agents-C_bvaBvt.js} +4 -4
  2. package/dist/{agents.config-CCKqUzYO.js → agents.config-9e_NvdqP.js} +1 -1
  3. package/dist/{agents.config-DPHQft7R.js → agents.config-D_IPf4dp.js} +1 -1
  4. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
  5. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  6. package/dist/{auth-choice-B23UuvUo.js → auth-choice-B1_8amxk.js} +1 -1
  7. package/dist/{auth-choice-BWkEwYWZ.js → auth-choice-Bins_xJJ.js} +1 -1
  8. package/dist/{banner-D5GZN-Gx.js → banner-CEsXGj-N.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +6 -6
  11. package/dist/bundled/session-memory/handler.js +6 -6
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-BSF2Owmz.js → channel-options-08pM60-F.js} +1 -1
  14. package/dist/{channel-options-J_2HQv2f.js → channel-options-CJBZKaY0.js} +1 -1
  15. package/dist/{channel-web-L6DySjs8.js → channel-web-CvA8-yYH.js} +1 -1
  16. package/dist/{channels-cli-BUwvc0HD.js → channels-cli-DrtIfOaG.js} +4 -4
  17. package/dist/{channels-cli-UnMHCbjf.js → channels-cli-Wywp7nC2.js} +4 -4
  18. package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
  19. package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
  20. package/dist/{cli-DDbsSiez.js → cli-BnIRDLmc.js} +1 -1
  21. package/dist/{cli-CBDIfudU.js → cli-Bw9lVZLJ.js} +1 -1
  22. package/dist/{command-registry-D4Ekcvqv.js → command-registry-DmrwQUjz.js} +9 -9
  23. package/dist/{completion-cli-U7kt7WyN.js → completion-cli-DCRSTs4C.js} +2 -2
  24. package/dist/{completion-cli-Cdw8u6Za.js → completion-cli-Dn5LSZZW.js} +1 -1
  25. package/dist/{config-cli-DAX8we-l.js → config-cli-BXSlNiXu.js} +1 -1
  26. package/dist/{config-cli-CfXKixIl.js → config-cli-CoCTwVRE.js} +1 -1
  27. package/dist/{configure-CBZ4ZVL-.js → configure-BZGz0Zj_.js} +3 -3
  28. package/dist/{configure-LAzaJa-r.js → configure-QhW8vheN.js} +3 -3
  29. package/dist/control-ui/js/models.js +2 -2
  30. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  31. package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
  32. package/dist/{doctor-completion-QNlXKuL6.js → doctor-completion-Cp1Ttwd0.js} +1 -1
  33. package/dist/{doctor-completion-CrSLvfxI.js → doctor-completion-D9uvKCPU.js} +1 -1
  34. package/dist/entry.js +1 -1
  35. package/dist/extensionAPI.js +6 -6
  36. package/dist/{gateway-cli-Cn3MZV3R.js → gateway-cli-DeWKf1CO.js} +9 -9
  37. package/dist/{gateway-cli-DkKJxg1i.js → gateway-cli-t_B5_q7l.js} +9 -9
  38. package/dist/{glass-ui-ws-6oh5zSR4.js → glass-ui-ws-DDfq9HQI.js} +7 -7
  39. package/dist/{glass-ui-ws-DBlFP4So.js → glass-ui-ws-DhEPTSG8.js} +7 -7
  40. package/dist/{health-D0als23Q.js → health-CK1rtaJt.js} +1 -1
  41. package/dist/{health-DTseDcgw.js → health-ocWBqEMP.js} +1 -1
  42. package/dist/{hooks-cli-DyOVCKG6.js → hooks-cli-BITIxRtQ.js} +2 -2
  43. package/dist/{hooks-cli-o64XG4AH.js → hooks-cli-BVErmu_N.js} +2 -2
  44. package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
  45. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  46. package/dist/index.js +6 -6
  47. package/dist/llm-slug-generator.js +6 -6
  48. package/dist/{models-DvIeixA8.js → models-BWW_ek-s.js} +2 -2
  49. package/dist/{models-cli-Cq_1kCE3.js → models-cli-BOkqgYMD.js} +3 -3
  50. package/dist/{models-cli-COG1UiMx.js → models-cli-EVLNFry8.js} +2 -2
  51. package/dist/{onboard-DWgwx1P7.js → onboard-BId3NvxL.js} +2 -2
  52. package/dist/{onboard-DdIsFADp.js → onboard-Z79VE3NH.js} +2 -2
  53. package/dist/{onboard-channels-zyqb9S0I.js → onboard-channels-BznMx-o0.js} +1 -1
  54. package/dist/{onboard-channels-gxs2S7nL.js → onboard-channels-CsOjVcn-.js} +1 -1
  55. package/dist/{onboarding-DA9zJwI5.js → onboarding-D46rCXl8.js} +3 -3
  56. package/dist/{onboarding-iqrpk8MP.js → onboarding-jCiErpYx.js} +3 -3
  57. package/dist/{onboarding.finalize-DwZP1yYE.js → onboarding.finalize-Cc89tbcJ.js} +6 -6
  58. package/dist/{onboarding.finalize-CXRrKrHO.js → onboarding.finalize-DVe62lts.js} +5 -5
  59. package/dist/{pi-embedded-Cc66MScz.js → pi-embedded-8_rUeGkN.js} +29 -34
  60. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  61. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
  62. package/dist/{plugin-registry-DycI2Lf7.js → plugin-registry-BceiHYfn.js} +1 -1
  63. package/dist/{plugin-registry-BuQFGiYP.js → plugin-registry-agxZ9b3t.js} +1 -1
  64. package/dist/plugin-sdk/agents/model-aware-stream.d.ts +1 -1
  65. package/dist/plugin-sdk/{channel-web-DwD6E_ei.js → channel-web-C67N75Ig.js} +1 -1
  66. package/dist/plugin-sdk/index.js +2 -2
  67. package/dist/plugin-sdk/{reply-CJZ-Ai1H.js → reply-IaX5Ow2t.js} +15 -20
  68. package/dist/plugin-sdk/{web-BPf653yw.js → web-DFbMUbbL.js} +2 -2
  69. package/dist/{plugins-cli-BtU4fVbC.js → plugins-cli-CQHeOOKL.js} +2 -2
  70. package/dist/{plugins-cli-BrEMGbJG.js → plugins-cli-DyYKLCdx.js} +2 -2
  71. package/dist/{program-context-CGDri9ZQ.js → program-context-DfbozgcA.js} +17 -17
  72. package/dist/{program-CfwCsjZS.js → program-x4ciRwWl.js} +7 -7
  73. package/dist/{prompt-select-styled-CM4lY0uo.js → prompt-select-styled-BCg0-24M.js} +4 -4
  74. package/dist/{prompt-select-styled-DQCW9sNV.js → prompt-select-styled-CxbSpTze.js} +4 -4
  75. package/dist/{provider-auth-helpers-D2chPLhz.js → provider-auth-helpers-2XIY6G4P.js} +1 -1
  76. package/dist/{provider-auth-helpers-Dq6qQLEQ.js → provider-auth-helpers-y2uw4Ctu.js} +1 -1
  77. package/dist/{push-apns-DLRJDAGA.js → push-apns-CLip5W7a.js} +1 -1
  78. package/dist/{push-apns-BmOoXxop.js → push-apns-DUsLxRJN.js} +1 -1
  79. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  80. package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
  81. package/dist/{register.agent-D-dvz4gM.js → register.agent-CIDummmm.js} +5 -5
  82. package/dist/{register.agent-DfWvbMi9.js → register.agent-DfpwO6oi.js} +6 -6
  83. package/dist/{register.configure-BBF60eLC.js → register.configure-DuReerPx.js} +6 -6
  84. package/dist/{register.configure-BDteXbyU.js → register.configure-x2f5vQoK.js} +6 -6
  85. package/dist/{register.maintenance-bEfhzwXn.js → register.maintenance-2P2bMEap.js} +8 -8
  86. package/dist/{register.maintenance-Cn_-teY-.js → register.maintenance-BlB751Ta.js} +7 -7
  87. package/dist/{register.message-DZqUA24z.js → register.message-CErOwsxi.js} +2 -2
  88. package/dist/{register.message-WhZ0U_26.js → register.message-DnnOUWqu.js} +2 -2
  89. package/dist/{register.onboard-BpyT91Sd.js → register.onboard-BY8exaNU.js} +4 -4
  90. package/dist/{register.onboard-DdyFVQX3.js → register.onboard-DFMceXy9.js} +4 -4
  91. package/dist/{register.setup-DOytD_I0.js → register.setup-DmXl3-KV.js} +4 -4
  92. package/dist/{register.setup-Cbxbsv8b.js → register.setup-FCiJDZ7U.js} +4 -4
  93. package/dist/{register.status-health-sessions-BrDB8-MQ.js → register.status-health-sessions-DPqrCLPX.js} +3 -3
  94. package/dist/{register.status-health-sessions-DCqhNXjl.js → register.status-health-sessions-nTdI4Vwa.js} +3 -3
  95. package/dist/{register.subclis-CYChppL9.js → register.subclis-MsHDhHtr.js} +9 -9
  96. package/dist/{reply-0ySRBZi1.js → reply-CfK66pfB.js} +15 -20
  97. package/dist/{run-main-fkxk2c_2.js → run-main-rWk2Fim1.js} +14 -14
  98. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  99. package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
  100. package/dist/{server-methods-C1OBehi4.js → server-methods-B8vWq9Q1.js} +7 -7
  101. package/dist/{server-methods-8sllwnAA.js → server-methods-mcUyOgab.js} +7 -7
  102. package/dist/{server-node-events-DOjGVP7h.js → server-node-events-D78O0Zru.js} +2 -2
  103. package/dist/{server-node-events-DHwD0sgk.js → server-node-events-RlqijX_X.js} +2 -2
  104. package/dist/{status-BH4iOqvr.js → status-29w8dSjC.js} +1 -1
  105. package/dist/{status-CjLWIbiy.js → status-Bj9I4jo0.js} +2 -2
  106. package/dist/{status-CWrvVtOk.js → status-CbMEE6ix.js} +1 -1
  107. package/dist/{status-Hx_zC8nZ.js → status-CjtZzfKs.js} +2 -2
  108. package/dist/{subagent-registry-DoK1lNAF.js → subagent-registry-C8_GMOxf.js} +15 -20
  109. package/dist/{unified-runner-CstOvZGr.js → unified-runner-C4jvBzRP.js} +29 -34
  110. package/dist/{update-cli-Dxvau1zR.js → update-cli-DBgP_P09.js} +7 -7
  111. package/dist/{update-cli-D20z8WUG.js → update-cli-bFjtf-kc.js} +8 -8
  112. package/dist/{update-runner-DBiJ2Rp9.js → update-runner-DMFEjN34.js} +1 -1
  113. package/dist/{update-runner-DVPMpqfR.js → update-runner-QSijeuTr.js} +1 -1
  114. package/dist/{web-C1cA6yy3.js → web-BGWq4WlL.js} +2 -2
  115. package/dist/{web-BXVmjT8Z.js → web-CtSoWT7c.js} +6 -6
  116. package/dist/{web-CB3qOkat.js → web-DTT5IY-x.js} +6 -6
  117. package/dist/{web-CBzThC14.js → web-DwPAX4K6.js} +1 -1
  118. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { h as pathExists, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-0ySRBZi1.js";
4
+ import "./reply-CfK66pfB.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -103,16 +103,16 @@ import "./control-service-Bz7rxLWq.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
105
  import "./runtime-guard-B37eizu-.js";
106
- import "./program-context-CGDri9ZQ.js";
106
+ import "./program-context-DfbozgcA.js";
107
107
  import "./note-DeHoW7xO.js";
108
- import { r as installCompletion } from "./completion-cli-Cdw8u6Za.js";
108
+ import { r as installCompletion } from "./completion-cli-Dn5LSZZW.js";
109
109
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-2mwX-jqj.js";
110
110
  import { r as isSystemdUserServiceAvailable } from "./systemd-riq8uNJQ.js";
111
111
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
112
- import { r as healthCommand } from "./health-DTseDcgw.js";
112
+ import { r as healthCommand } from "./health-ocWBqEMP.js";
113
113
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
114
114
  import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
115
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-QNlXKuL6.js";
115
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Cp1Ttwd0.js";
116
116
  import { t as runTui } from "./tui-CriznorL.js";
117
117
  import os from "node:os";
118
118
  import path from "node:path";
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-D-hWrHoH.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, 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 applyChannelMatchMeta, 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 fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-C1IYd3g7.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BH0l3UKW.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C-37cZUe.js";
18
18
  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-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  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-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-lgx_U5KS.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B8kqLWns.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BmV60pPT.js";
27
27
  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-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CDJYxX5a.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
29
29
  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-BNpGMnp-.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CHzdaNJ4.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DcpMiprB.js";
40
40
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-jpn5vRTY.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  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-C_aYUwpl.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DklY7Cj7.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DUBExAb5.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BcQ0sF9T.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket$1, { WebSocket } from "ws";
82
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
5714
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5715
5715
  });
5716
5716
  }
5717
- this.ws = new WebSocket(url, wsOptions);
5717
+ this.ws = new WebSocket$1(url, wsOptions);
5718
5718
  this.ws.on("open", () => {
5719
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5720
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
5933
5933
  return null;
5934
5934
  }
5935
5935
  async request(method, params, opts) {
5936
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5937
5937
  const id = randomUUID();
5938
5938
  const frame = {
5939
5939
  type: "req",
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
7199
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7200
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7201
7201
  try {
7202
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -39140,14 +39140,13 @@ const BUILTIN_PROFILES = [
39140
39140
  }
39141
39141
  },
39142
39142
  {
39143
- match: ["gemma", "redsand/"],
39144
- label: "Gemma 4",
39143
+ match: ["qwen"],
39144
+ label: "Qwen 3.5",
39145
39145
  params: {
39146
39146
  temperature: 1,
39147
39147
  top_p: .95,
39148
39148
  top_k: 64,
39149
- max_tokens: 4096,
39150
- stop: ["<end_of_turn>", "<eos>"]
39149
+ max_tokens: 8192
39151
39150
  },
39152
39151
  streaming: {
39153
39152
  deltaThrottleMs: 50,
@@ -39155,29 +39154,20 @@ const BUILTIN_PROFILES = [
39155
39154
  chunkPattern: "burst"
39156
39155
  },
39157
39156
  filters: {
39158
- stripPatterns: [
39159
- "<\\|channel>\\w*",
39160
- "<channel\\|>",
39161
- "<start_of_turn>(?:model|user)?",
39162
- "<end_of_turn>",
39163
- "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
39164
- "^\\s*<bos>\\s*"
39165
- ],
39157
+ stripPatterns: [],
39166
39158
  suppressMonologue: true,
39167
39159
  hasStructuredThinking: false,
39168
- validateToolArgs: true
39160
+ validateToolArgs: false
39169
39161
  },
39170
39162
  promptAdditions: [
39171
39163
  "CRITICAL OUTPUT RULES:",
39172
39164
  "- Your response ends when you have delivered the answer. Do not append anything after.",
39173
- "- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
39174
39165
  "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39175
39166
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39176
39167
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39177
39168
  "- If you need to verify your work, do so before writing your response, not after.",
39178
39169
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
39179
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
39180
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
39170
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
39181
39171
  ],
39182
39172
  ui: {
39183
39173
  badge: "CoreWeave",
@@ -39950,10 +39940,15 @@ function normalizeEvent(event, normalizer) {
39950
39940
  }
39951
39941
  return { event };
39952
39942
  }
39953
- /** Detect vLLM/Gemma providers by model hints or baseUrl patterns. */
39943
+ /** Detect vLLM providers by model hints or baseUrl patterns. */
39954
39944
  function isVllmProvider(provider, modelId, config) {
39955
39945
  const lower = `${provider}/${modelId}`.toLowerCase();
39956
- if (["gemma", "redsand"].some((h) => lower.includes(h))) return true;
39946
+ if ([
39947
+ "gemma",
39948
+ "redsand",
39949
+ "qwen",
39950
+ "nemotron"
39951
+ ].some((h) => lower.includes(h))) return true;
39957
39952
  const baseUrl = ((config?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
39958
39953
  return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
39959
39954
  }
@@ -50805,7 +50800,7 @@ async function deliverSessionMaintenanceWarning(params) {
50805
50800
  return;
50806
50801
  }
50807
50802
  try {
50808
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
50803
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
50809
50804
  await deliverOutboundPayloads({
50810
50805
  cfg: params.cfg,
50811
50806
  channel,
@@ -54251,7 +54246,7 @@ async function describeStickerImage(params) {
54251
54246
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54252
54247
  try {
54253
54248
  const buffer = await fs$1.readFile(imagePath);
54254
- const { describeImageWithModel } = await import("./image-CHzdaNJ4.js").then((n) => n.n);
54249
+ const { describeImageWithModel } = await import("./image-DcpMiprB.js").then((n) => n.n);
54255
54250
  return (await describeImageWithModel({
54256
54251
  buffer,
54257
54252
  fileName: "sticker.webp",
@@ -56913,7 +56908,7 @@ async function preflightDiscordMessage(params) {
56913
56908
  let preflightTranscript;
56914
56909
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
56915
56910
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
56916
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
56911
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
56917
56912
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
56918
56913
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
56919
56914
  ctx: {
@@ -60696,7 +60691,7 @@ function isVoiceChannelType(type) {
60696
60691
  function createDefaultDeps() {
60697
60692
  return {
60698
60693
  sendMessageWhatsApp: async (...args) => {
60699
- const { sendMessageWhatsApp } = await import("./web-BXVmjT8Z.js");
60694
+ const { sendMessageWhatsApp } = await import("./web-CtSoWT7c.js");
60700
60695
  return await sendMessageWhatsApp(...args);
60701
60696
  },
60702
60697
  sendMessageTelegram: async (...args) => {
@@ -63601,7 +63596,7 @@ function createDiscordGatewayPlugin(params) {
63601
63596
  super(options);
63602
63597
  }
63603
63598
  createWebSocket(url) {
63604
- return new WebSocket$1(url, { agent });
63599
+ return new WebSocket(url, { agent });
63605
63600
  }
63606
63601
  }
63607
63602
  return new ProxyGatewayPlugin();
@@ -73819,7 +73814,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
73819
73814
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73820
73815
  let preflightTranscript;
73821
73816
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73822
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
73817
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
73823
73818
  preflightTranscript = await transcribeFirstAudio({
73824
73819
  ctx: {
73825
73820
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -75976,7 +75971,7 @@ function loadWebLoginQr() {
75976
75971
  return webLoginQrPromise;
75977
75972
  }
75978
75973
  function loadWebChannel() {
75979
- webChannelPromise ??= import("./web-BXVmjT8Z.js");
75974
+ webChannelPromise ??= import("./web-CtSoWT7c.js");
75980
75975
  return webChannelPromise;
75981
75976
  }
75982
75977
  function loadWhatsAppActions() {
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BmV60pPT.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CDJYxX5a.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-De-KR9_s.js");
934
+ return await import("./pw-ai-1htA-NnS.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -9,7 +9,7 @@ import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-D
9
9
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
10
10
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
11
11
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-5SdHIcHU.js";
12
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DYZwl5Gv.js";
12
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DkaXoP36.js";
13
13
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Bs0AW1g3.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-XIsvXeC-.js";
15
15
  import { b as openFileWithinRoot, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-B5asscAD.js");
936
+ return await import("./pw-ai-m0mj2KWK.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-B5asscAD.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-m0mj2KWK.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-B5asscAD.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-m0mj2KWK.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-DHBLS1Hl.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-DoK1lNAF.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-C8_GMOxf.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as loadSymiPlugins } from "./reply-0ySRBZi1.js";
2
+ import { ft as loadSymiPlugins } from "./reply-CfK66pfB.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
@@ -37,5 +37,5 @@ export interface ModelAwareStreamOptions {
37
37
  * createOpenRouterHeadersWrapper.
38
38
  */
39
39
  export declare function createModelAwareStreamFn(opts: ModelAwareStreamOptions): StreamFn;
40
- /** Detect vLLM/Gemma providers by model hints or baseUrl patterns. */
40
+ /** Detect vLLM providers by model hints or baseUrl patterns. */
41
41
  export declare function isVllmProvider(provider: string, modelId: string, config?: SymiConfig): boolean;
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-CJZ-Ai1H.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-IaX5Ow2t.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-DDkdiUOR.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-CJZ-Ai1H.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-IaX5Ow2t.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-mFf4i4G9.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DwD6E_ei.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-C67N75Ig.js";
51
51
  import "./image-BOYy0Ump.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-CVBMpnPc.js";
@@ -27230,14 +27230,13 @@ const BUILTIN_PROFILES = [
27230
27230
  }
27231
27231
  },
27232
27232
  {
27233
- match: ["gemma", "redsand/"],
27234
- label: "Gemma 4",
27233
+ match: ["qwen"],
27234
+ label: "Qwen 3.5",
27235
27235
  params: {
27236
27236
  temperature: 1,
27237
27237
  top_p: .95,
27238
27238
  top_k: 64,
27239
- max_tokens: 4096,
27240
- stop: ["<end_of_turn>", "<eos>"]
27239
+ max_tokens: 8192
27241
27240
  },
27242
27241
  streaming: {
27243
27242
  deltaThrottleMs: 50,
@@ -27245,29 +27244,20 @@ const BUILTIN_PROFILES = [
27245
27244
  chunkPattern: "burst"
27246
27245
  },
27247
27246
  filters: {
27248
- stripPatterns: [
27249
- "<\\|channel>\\w*",
27250
- "<channel\\|>",
27251
- "<start_of_turn>(?:model|user)?",
27252
- "<end_of_turn>",
27253
- "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
27254
- "^\\s*<bos>\\s*"
27255
- ],
27247
+ stripPatterns: [],
27256
27248
  suppressMonologue: true,
27257
27249
  hasStructuredThinking: false,
27258
- validateToolArgs: true
27250
+ validateToolArgs: false
27259
27251
  },
27260
27252
  promptAdditions: [
27261
27253
  "CRITICAL OUTPUT RULES:",
27262
27254
  "- Your response ends when you have delivered the answer. Do not append anything after.",
27263
- "- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
27264
27255
  "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27265
27256
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27266
27257
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27267
27258
  "- If you need to verify your work, do so before writing your response, not after.",
27268
27259
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27269
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
27270
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
27260
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
27271
27261
  ],
27272
27262
  ui: {
27273
27263
  badge: "CoreWeave",
@@ -28096,10 +28086,15 @@ function normalizeEvent(event, normalizer) {
28096
28086
  }
28097
28087
  return { event };
28098
28088
  }
28099
- /** Detect vLLM/Gemma providers by model hints or baseUrl patterns. */
28089
+ /** Detect vLLM providers by model hints or baseUrl patterns. */
28100
28090
  function isVllmProvider(provider, modelId, config) {
28101
28091
  const lower = `${provider}/${modelId}`.toLowerCase();
28102
- if (["gemma", "redsand"].some((h) => lower.includes(h))) return true;
28092
+ if ([
28093
+ "gemma",
28094
+ "redsand",
28095
+ "qwen",
28096
+ "nemotron"
28097
+ ].some((h) => lower.includes(h))) return true;
28103
28098
  const baseUrl = ((config?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
28104
28099
  return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
28105
28100
  }
@@ -36293,7 +36288,7 @@ async function runAgentTurn(params) {
36293
36288
  function createDefaultDeps() {
36294
36289
  return {
36295
36290
  sendMessageWhatsApp: async (...args) => {
36296
- const { sendMessageWhatsApp } = await import("./web-BPf653yw.js");
36291
+ const { sendMessageWhatsApp } = await import("./web-DFbMUbbL.js");
36297
36292
  return await sendMessageWhatsApp(...args);
36298
36293
  },
36299
36294
  sendMessageTelegram: async (...args) => {
@@ -53731,7 +53726,7 @@ function loadWebLoginQr() {
53731
53726
  return webLoginQrPromise;
53732
53727
  }
53733
53728
  function loadWebChannel() {
53734
- webChannelPromise ??= import("./web-BPf653yw.js");
53729
+ webChannelPromise ??= import("./web-DFbMUbbL.js");
53735
53730
  return webChannelPromise;
53736
53731
  }
53737
53732
  function loadWhatsAppActions() {
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-CJZ-Ai1H.js";
2
+ import "./reply-IaX5Ow2t.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-BveUP4hk.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-mFf4i4G9.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DwD6E_ei.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-C67N75Ig.js";
49
49
  import "./image-BOYy0Ump.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-CVBMpnPc.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-0ySRBZi1.js";
4
+ import "./reply-CfK66pfB.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -106,7 +106,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
106
106
  import "./skill-scanner-CLs8u6vQ.js";
107
107
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-C1Cebk97.js";
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
- import { t as buildPluginStatusReport } from "./status-CWrvVtOk.js";
109
+ import { t as buildPluginStatusReport } from "./status-CbMEE6ix.js";
110
110
  import { n as updateNpmInstalledPlugins } from "./update-rw7wJwHd.js";
111
111
  import fs from "node:fs";
112
112
  import os from "node:os";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-DoK1lNAF.js";
16
+ import "./subagent-registry-C8_GMOxf.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
102
102
  import "./skill-scanner-BGWOBqLY.js";
103
103
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
- import { t as buildPluginStatusReport } from "./status-BH4iOqvr.js";
105
+ import { t as buildPluginStatusReport } from "./status-29w8dSjC.js";
106
106
  import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
107
107
  import os from "node:os";
108
108
  import path from "node:path";