@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
@@ -32410,14 +32410,13 @@ const BUILTIN_PROFILES = [
32410
32410
  }
32411
32411
  },
32412
32412
  {
32413
- match: ["gemma", "redsand/"],
32414
- label: "Gemma 4",
32413
+ match: ["qwen"],
32414
+ label: "Qwen 3.5",
32415
32415
  params: {
32416
32416
  temperature: 1,
32417
32417
  top_p: .95,
32418
32418
  top_k: 64,
32419
- max_tokens: 4096,
32420
- stop: ["<end_of_turn>", "<eos>"]
32419
+ max_tokens: 8192
32421
32420
  },
32422
32421
  streaming: {
32423
32422
  deltaThrottleMs: 50,
@@ -32425,29 +32424,20 @@ const BUILTIN_PROFILES = [
32425
32424
  chunkPattern: "burst"
32426
32425
  },
32427
32426
  filters: {
32428
- stripPatterns: [
32429
- "<\\|channel>\\w*",
32430
- "<channel\\|>",
32431
- "<start_of_turn>(?:model|user)?",
32432
- "<end_of_turn>",
32433
- "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
32434
- "^\\s*<bos>\\s*"
32435
- ],
32427
+ stripPatterns: [],
32436
32428
  suppressMonologue: true,
32437
32429
  hasStructuredThinking: false,
32438
- validateToolArgs: true
32430
+ validateToolArgs: false
32439
32431
  },
32440
32432
  promptAdditions: [
32441
32433
  "CRITICAL OUTPUT RULES:",
32442
32434
  "- Your response ends when you have delivered the answer. Do not append anything after.",
32443
- "- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
32444
32435
  "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32445
32436
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32446
32437
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32447
32438
  "- If you need to verify your work, do so before writing your response, not after.",
32448
32439
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
32449
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
32450
- "- 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."
32440
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
32451
32441
  ],
32452
32442
  ui: {
32453
32443
  badge: "CoreWeave",
@@ -33220,10 +33210,15 @@ function normalizeEvent(event, normalizer) {
33220
33210
  }
33221
33211
  return { event };
33222
33212
  }
33223
- /** Detect vLLM/Gemma providers by model hints or baseUrl patterns. */
33213
+ /** Detect vLLM providers by model hints or baseUrl patterns. */
33224
33214
  function isVllmProvider(provider, modelId, config) {
33225
33215
  const lower = `${provider}/${modelId}`.toLowerCase();
33226
- if (["gemma", "redsand"].some((h) => lower.includes(h))) return true;
33216
+ if ([
33217
+ "gemma",
33218
+ "redsand",
33219
+ "qwen",
33220
+ "nemotron"
33221
+ ].some((h) => lower.includes(h))) return true;
33227
33222
  const baseUrl = ((config?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
33228
33223
  return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
33229
33224
  }
@@ -53120,7 +53115,7 @@ function isVoiceChannelType(type) {
53120
53115
  function createDefaultDeps() {
53121
53116
  return {
53122
53117
  sendMessageWhatsApp: async (...args) => {
53123
- const { sendMessageWhatsApp } = await import("./web-CBzThC14.js");
53118
+ const { sendMessageWhatsApp } = await import("./web-DwPAX4K6.js");
53124
53119
  return await sendMessageWhatsApp(...args);
53125
53120
  },
53126
53121
  sendMessageTelegram: async (...args) => {
@@ -68434,7 +68429,7 @@ function loadWebLoginQr() {
68434
68429
  return webLoginQrPromise;
68435
68430
  }
68436
68431
  function loadWebChannel() {
68437
- webChannelPromise ??= import("./web-CBzThC14.js");
68432
+ webChannelPromise ??= import("./web-DwPAX4K6.js");
68438
68433
  return webChannelPromise;
68439
68434
  }
68440
68435
  function loadWhatsAppActions() {
@@ -10,10 +10,10 @@ import { $ as resolveSymiAgentDir, B as resolveApiKeyForProvider, C as normalize
10
10
  import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-pubKo8HQ.js";
13
+ import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-CfqDGQ9J.js";
14
14
  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-5SdHIcHU.js";
15
15
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-yb7sAlu4.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DYZwl5Gv.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DkaXoP36.js";
17
17
  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-Bs0AW1g3.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
19
19
  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-C7CauEK8.js";
@@ -31,10 +31,10 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
31
31
  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-CvhXrdgS.js";
32
32
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
33
33
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
34
- 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-dODxSv3b.js";
34
+ 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-C46-vyqg.js";
35
35
  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-rPhsBoZz.js";
36
36
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
37
- 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-CXu8W39c.js";
37
+ 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-CuzFLQWC.js";
38
38
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Bux9Y_xD.js";
39
39
  import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DYj_o4_F.js";
40
40
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
@@ -49,7 +49,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f
49
49
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
50
50
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CTiz95Vb.js";
51
51
  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-Bfc7Uz0o.js";
52
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, 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 registerUnhandledRejectionHandler } from "./runner-WAG0M5s9.js";
52
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, 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 registerUnhandledRejectionHandler } from "./runner-CU9l0uJh.js";
53
53
  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-DcVwOafC.js";
54
54
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DSDTl6Kj.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
@@ -80,7 +80,7 @@ import AjvPkg from "ajv";
80
80
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
81
81
  import { createServer } from "node:http";
82
82
  import { ProxyAgent, fetch as fetch$1 } from "undici";
83
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
83
+ import WebSocket$1, { WebSocket } from "ws";
84
84
  import { Buffer as Buffer$1 } from "node:buffer";
85
85
  import { EdgeTTS } from "node-edge-tts";
86
86
  import { createJiti } from "jiti";
@@ -217,14 +217,13 @@ const BUILTIN_PROFILES = [
217
217
  }
218
218
  },
219
219
  {
220
- match: ["gemma", "redsand/"],
221
- label: "Gemma 4",
220
+ match: ["qwen"],
221
+ label: "Qwen 3.5",
222
222
  params: {
223
223
  temperature: 1,
224
224
  top_p: .95,
225
225
  top_k: 64,
226
- max_tokens: 4096,
227
- stop: ["<end_of_turn>", "<eos>"]
226
+ max_tokens: 8192
228
227
  },
229
228
  streaming: {
230
229
  deltaThrottleMs: 50,
@@ -232,29 +231,20 @@ const BUILTIN_PROFILES = [
232
231
  chunkPattern: "burst"
233
232
  },
234
233
  filters: {
235
- stripPatterns: [
236
- "<\\|channel>\\w*",
237
- "<channel\\|>",
238
- "<start_of_turn>(?:model|user)?",
239
- "<end_of_turn>",
240
- "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
241
- "^\\s*<bos>\\s*"
242
- ],
234
+ stripPatterns: [],
243
235
  suppressMonologue: true,
244
236
  hasStructuredThinking: false,
245
- validateToolArgs: true
237
+ validateToolArgs: false
246
238
  },
247
239
  promptAdditions: [
248
240
  "CRITICAL OUTPUT RULES:",
249
241
  "- Your response ends when you have delivered the answer. Do not append anything after.",
250
- "- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
251
242
  "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
252
243
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
253
244
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
254
245
  "- If you need to verify your work, do so before writing your response, not after.",
255
246
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
256
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
257
- "- 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."
247
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
258
248
  ],
259
249
  ui: {
260
250
  badge: "CoreWeave",
@@ -8672,7 +8662,7 @@ var GatewayClient = class {
8672
8662
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8673
8663
  });
8674
8664
  }
8675
- this.ws = new WebSocket$1(url, wsOptions);
8665
+ this.ws = new WebSocket(url, wsOptions);
8676
8666
  this.ws.on("open", () => {
8677
8667
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8678
8668
  const tlsError = this.validateTlsFingerprint();
@@ -8891,7 +8881,7 @@ var GatewayClient = class {
8891
8881
  return null;
8892
8882
  }
8893
8883
  async request(method, params, opts) {
8894
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
8884
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
8895
8885
  const id = randomUUID();
8896
8886
  const frame = {
8897
8887
  type: "req",
@@ -10157,7 +10147,7 @@ async function routeReply(params) {
10157
10147
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10158
10148
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10159
10149
  try {
10160
- const { deliverOutboundPayloads } = await import("./deliver-dODxSv3b.js").then((n) => n.n);
10150
+ const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
10161
10151
  return {
10162
10152
  ok: true,
10163
10153
  messageId: (await deliverOutboundPayloads({
@@ -43596,7 +43586,7 @@ async function deliverSessionMaintenanceWarning(params) {
43596
43586
  return;
43597
43587
  }
43598
43588
  try {
43599
- const { deliverOutboundPayloads } = await import("./deliver-dODxSv3b.js").then((n) => n.n);
43589
+ const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
43600
43590
  await deliverOutboundPayloads({
43601
43591
  cfg: params.cfg,
43602
43592
  channel,
@@ -47042,7 +47032,7 @@ async function describeStickerImage(params) {
47042
47032
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47043
47033
  try {
47044
47034
  const buffer = await fs$1.readFile(imagePath);
47045
- const { describeImageWithModel } = await import("./image-CXu8W39c.js").then((n) => n.n);
47035
+ const { describeImageWithModel } = await import("./image-CuzFLQWC.js").then((n) => n.n);
47046
47036
  return (await describeImageWithModel({
47047
47037
  buffer,
47048
47038
  fileName: "sticker.webp",
@@ -49704,7 +49694,7 @@ async function preflightDiscordMessage(params) {
49704
49694
  let preflightTranscript;
49705
49695
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49706
49696
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49707
- const { transcribeFirstAudio } = await import("./audio-preflight-DHTaS5U1.js");
49697
+ const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
49708
49698
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49709
49699
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49710
49700
  ctx: {
@@ -53710,7 +53700,7 @@ function isVoiceChannelType(type) {
53710
53700
  function createDefaultDeps() {
53711
53701
  return {
53712
53702
  sendMessageWhatsApp: async (...args) => {
53713
- const { sendMessageWhatsApp } = await import("./web-CB3qOkat.js");
53703
+ const { sendMessageWhatsApp } = await import("./web-DTT5IY-x.js");
53714
53704
  return await sendMessageWhatsApp(...args);
53715
53705
  },
53716
53706
  sendMessageTelegram: async (...args) => {
@@ -56615,7 +56605,7 @@ function createDiscordGatewayPlugin(params) {
56615
56605
  super(options);
56616
56606
  }
56617
56607
  createWebSocket(url) {
56618
- return new WebSocket(url, { agent });
56608
+ return new WebSocket$1(url, { agent });
56619
56609
  }
56620
56610
  }
56621
56611
  return new ProxyGatewayPlugin();
@@ -66833,7 +66823,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66833
66823
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66834
66824
  let preflightTranscript;
66835
66825
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66836
- const { transcribeFirstAudio } = await import("./audio-preflight-DHTaS5U1.js");
66826
+ const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
66837
66827
  preflightTranscript = await transcribeFirstAudio({
66838
66828
  ctx: {
66839
66829
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68990,7 +68980,7 @@ function loadWebLoginQr() {
68990
68980
  return webLoginQrPromise;
68991
68981
  }
68992
68982
  function loadWebChannel() {
68993
- webChannelPromise ??= import("./web-CB3qOkat.js");
68983
+ webChannelPromise ??= import("./web-DTT5IY-x.js");
68994
68984
  return webChannelPromise;
68995
68985
  }
68996
68986
  function loadWhatsAppActions() {
@@ -73677,10 +73667,15 @@ function normalizeEvent(event, normalizer) {
73677
73667
  }
73678
73668
  return { event };
73679
73669
  }
73680
- /** Detect vLLM/Gemma providers by model hints or baseUrl patterns. */
73670
+ /** Detect vLLM providers by model hints or baseUrl patterns. */
73681
73671
  function isVllmProvider(provider, modelId, config) {
73682
73672
  const lower = `${provider}/${modelId}`.toLowerCase();
73683
- if (["gemma", "redsand"].some((h) => lower.includes(h))) return true;
73673
+ if ([
73674
+ "gemma",
73675
+ "redsand",
73676
+ "qwen",
73677
+ "nemotron"
73678
+ ].some((h) => lower.includes(h))) return true;
73684
73679
  const baseUrl = ((config?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
73685
73680
  return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
73686
73681
  }
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { V as trimLogTail } from "./reply-0ySRBZi1.js";
4
+ import { V as trimLogTail } from "./reply-CfK66pfB.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -106,7 +106,7 @@ import "./stagger-BUClb97_.js";
106
106
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C8_BLnaW.js";
107
107
  import "./channel-selection-DuWs0Aak.js";
108
108
  import { r as parseSemver } from "./runtime-guard-B37eizu-.js";
109
- import "./program-context-CGDri9ZQ.js";
109
+ import "./program-context-DfbozgcA.js";
110
110
  import "./catalog-RiADx7MA.js";
111
111
  import "./skills-status-CURJKnyY.js";
112
112
  import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
@@ -117,7 +117,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
117
117
  import "./skill-scanner-CLs8u6vQ.js";
118
118
  import "./installs-C1Cebk97.js";
119
119
  import "./channels-status-issues-B_kBkl_u.js";
120
- import { r as installCompletion } from "./completion-cli-Cdw8u6Za.js";
120
+ import { r as installCompletion } from "./completion-cli-Dn5LSZZW.js";
121
121
  import "./daemon-runtime-2mwX-jqj.js";
122
122
  import "./systemd-riq8uNJQ.js";
123
123
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
@@ -126,19 +126,19 @@ import "./systemd-hints-BR6gChwm.js";
126
126
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DscwlsKW.js";
127
127
  import "./diagnostics-BAMlsVVX.js";
128
128
  import { t as renderTable } from "./table-BTgkRafz.js";
129
- import "./health-DTseDcgw.js";
129
+ import "./health-ocWBqEMP.js";
130
130
  import "./control-ui-assets-Z947tKLt.js";
131
131
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-CtckACbb.js";
132
132
  import "./dm-policy-shared-Bh3TbexU.js";
133
133
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DtwCUTf-.js";
134
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DVPMpqfR.js";
134
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-QSijeuTr.js";
135
135
  import "./logging-BzzwiKjv.js";
136
136
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-rw7wJwHd.js";
137
137
  import "./doctor-config-flow-QnaBd8kL.js";
138
138
  import "./systemd-linger-aQ75ZlXY.js";
139
139
  import "./health-format-DSwnXZPU.js";
140
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DQCW9sNV.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-QNlXKuL6.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CxbSpTze.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Cp1Ttwd0.js";
142
142
  import os from "node:os";
143
143
  import path from "node:path";
144
144
  import fs from "node:fs/promises";
@@ -16,7 +16,7 @@ import "./client-DMBZpU6X.js";
16
16
  import "./call-BcE47FtD.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { Ct as trimLogTail } from "./subagent-registry-DoK1lNAF.js";
19
+ import { Ct as trimLogTail } from "./subagent-registry-C8_GMOxf.js";
20
20
  import "./sessions-CJXnZVjR.js";
21
21
  import "./tokens-Csntmwwn.js";
22
22
  import "./plugins-CwSlLxM8.js";
@@ -111,10 +111,10 @@ import "./npm-registry-spec-DkaZNHAW.js";
111
111
  import "./skill-scanner-BGWOBqLY.js";
112
112
  import "./installs-CgQpVncj.js";
113
113
  import "./channels-status-issues-c7qZbYG5.js";
114
- import "./register.subclis-CYChppL9.js";
115
- import "./command-registry-D4Ekcvqv.js";
114
+ import "./register.subclis-MsHDhHtr.js";
115
+ import "./command-registry-DmrwQUjz.js";
116
116
  import "./program-context-CqzR_m-7.js";
117
- import { r as installCompletion } from "./completion-cli-U7kt7WyN.js";
117
+ import { r as installCompletion } from "./completion-cli-DCRSTs4C.js";
118
118
  import "./daemon-runtime-CfRwa6qh.js";
119
119
  import { r as parseSemver } from "./runtime-guard-D7waq_Ho.js";
120
120
  import "./systemd-DlMdyFDY.js";
@@ -124,19 +124,19 @@ import "./systemd-hints-sQipWGd1.js";
124
124
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-wWnBIQtk.js";
125
125
  import "./diagnostics-CS1ov_hH.js";
126
126
  import { t as renderTable } from "./table-D01d2GuY.js";
127
- import "./health-D0als23Q.js";
127
+ import "./health-CK1rtaJt.js";
128
128
  import "./control-ui-assets-BseSWee1.js";
129
129
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
130
130
  import "./dm-policy-shared-DJ-61hCT.js";
131
131
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DbmZz0Aq.js";
132
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DBiJ2Rp9.js";
132
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DMFEjN34.js";
133
133
  import "./logging-BGewRZy0.js";
134
134
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DEMKx4eC.js";
135
135
  import "./doctor-config-flow-CA3eiKhd.js";
136
136
  import "./systemd-linger-DA_LW52P.js";
137
137
  import "./health-format-CzgUHmmX.js";
138
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CM4lY0uo.js";
139
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CrSLvfxI.js";
138
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BCg0-24M.js";
139
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D9uvKCPU.js";
140
140
  import { spawn, spawnSync } from "node:child_process";
141
141
  import os from "node:os";
142
142
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Ct as trimLogTail } from "./subagent-registry-DoK1lNAF.js";
3
+ import { Ct as trimLogTail } from "./subagent-registry-C8_GMOxf.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BseSWee1.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
6
6
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { V as trimLogTail } from "./reply-0ySRBZi1.js";
2
+ import { V as trimLogTail } from "./reply-CfK66pfB.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Z947tKLt.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-CtckACbb.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./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 "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -101,7 +101,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
101
101
  import "./control-service-Bz7rxLWq.js";
102
102
  import "./stagger-BUClb97_.js";
103
103
  import "./channel-selection-DuWs0Aak.js";
104
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-L6DySjs8.js";
104
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CvA8-yYH.js";
105
105
  import { n as sendMessageWhatsApp } from "./outbound-DB5Zus0-.js";
106
106
  import { i as waitForWaConnection, t as createWaSocket } from "./session-DIBTkyvE.js";
107
107
  import { t as loginWeb } from "./login-dIlDkG4X.js";
@@ -8,13 +8,13 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-Cn6drXx2.js";
11
- import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as enqueueSystemEvent, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as formatDurationPrecise, h as parseActivationCommand, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as normalizeGroupActivation, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-Cc66MScz.js";
11
+ import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as enqueueSystemEvent, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as formatDurationPrecise, h as parseActivationCommand, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as normalizeGroupActivation, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-8_rUeGkN.js";
12
12
  import "./plugins-71oIavrF.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-DYVakimr.js";
15
15
  import "./send-D-hWrHoH.js";
16
16
  import "./send-C1IYd3g7.js";
17
- import "./deliver-BH0l3UKW.js";
17
+ import "./deliver-C-37cZUe.js";
18
18
  import "./diagnostic-D0xmLpej.js";
19
19
  import "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocatio
22
22
  import "./image-ops-ByaQt43P.js";
23
23
  import "./pi-model-discovery-j5tVLINv.js";
24
24
  import "./message-channel-BQINJQIT.js";
25
- import { Ct as resolveGroupSessionKey, H as loadSessionStore, K as updateLastRoute, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-lgx_U5KS.js";
25
+ import { Ct as resolveGroupSessionKey, H as loadSessionStore, K as updateLastRoute, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-B8kqLWns.js";
26
26
  import { n as loadConfig } from "./config-BmV60pPT.js";
27
27
  import "./manifest-registry-D-mTF1cj.js";
28
- import "./chrome-CDJYxX5a.js";
28
+ import "./chrome-D2SKJnR7.js";
29
29
  import "./skills-BNpGMnp-.js";
30
30
  import "./redact-1NGYV_8p.js";
31
31
  import "./errors-CPfngF0S.js";
@@ -35,7 +35,7 @@ import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy
35
35
  import "./accounts-DImOt9jX.js";
36
36
  import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
37
37
  import "./tool-images-ChC2CXaN.js";
38
- import "./image-CHzdaNJ4.js";
38
+ import "./image-DcpMiprB.js";
39
39
  import "./manager-jpn5vRTY.js";
40
40
  import "./gemini-auth-CSlZZ1Pw.js";
41
41
  import "./sqlite-BNh23mUR.js";
@@ -49,7 +49,7 @@ import "./render-B1VqYyvo.js";
49
49
  import "./commands-registry-C_aYUwpl.js";
50
50
  import "./skill-commands-DklY7Cj7.js";
51
51
  import { t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { p as registerUnhandledRejectionHandler } from "./runner-DUBExAb5.js";
52
+ import { p as registerUnhandledRejectionHandler } from "./runner-BcQ0sF9T.js";
53
53
  import "./fetch-DtLn7YU3.js";
54
54
  import { n as recordChannelActivity } from "./channel-activity-D9q-fIPB.js";
55
55
  import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
@@ -4,16 +4,16 @@ import { A as isSelfChatMode, B as sleep, C as clamp, F as resolveJidToE164, H a
4
4
  import "./agent-scope-CpEJ0B88.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import "./workspace-DscDraUb.js";
7
- import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-CstOvZGr.js";
7
+ import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-C4jvBzRP.js";
8
8
  import { s as resolveStorePath } from "./paths-CbQV9WEg.js";
9
9
  import "./auth-profiles-DdK1Hxaa.js";
10
10
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
12
12
  import "./boolean-CE7i9tBR.js";
13
- import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-pubKo8HQ.js";
13
+ import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-CfqDGQ9J.js";
14
14
  import { n as loadConfig } from "./config-5SdHIcHU.js";
15
15
  import "./manifest-registry-yb7sAlu4.js";
16
- import "./chrome-DYZwl5Gv.js";
16
+ import "./chrome-DkaXoP36.js";
17
17
  import "./frontmatter-CTR5f_Ez.js";
18
18
  import "./skills-Bs0AW1g3.js";
19
19
  import "./redact-BDMXB06K.js";
@@ -31,10 +31,10 @@ import "./bindings-BsHoBLIE.js";
31
31
  import "./send-CVMyYPQw.js";
32
32
  import "./send-CvhXrdgS.js";
33
33
  import "./tool-images-SqqWIT22.js";
34
- import "./deliver-dODxSv3b.js";
34
+ import "./deliver-C46-vyqg.js";
35
35
  import "./diagnostic-rPhsBoZz.js";
36
36
  import "./diagnostic-session-state-Zw87xFym.js";
37
- import "./image-CXu8W39c.js";
37
+ import "./image-CuzFLQWC.js";
38
38
  import "./tokens-Bux9Y_xD.js";
39
39
  import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-DYj_o4_F.js";
40
40
  import "./pi-model-discovery-Bv5YDJc8.js";
@@ -50,7 +50,7 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
50
50
  import { a as loadWebMedia } from "./ir-CTiz95Vb.js";
51
51
  import "./render-CDCvpfhh.js";
52
52
  import "./commands-registry-Bfc7Uz0o.js";
53
- import { y as registerUnhandledRejectionHandler } from "./runner-WAG0M5s9.js";
53
+ import { y as registerUnhandledRejectionHandler } from "./runner-CU9l0uJh.js";
54
54
  import "./skill-commands-DcVwOafC.js";
55
55
  import { t as finalizeInboundContext } from "./inbound-context-DSDTl6Kj.js";
56
56
  import "./fetch-Bso4i15F.js";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import { Bn as resolveEnvelopeFormatOptions, Cn as enqueueSystemEvent, F as buildHistoryContextFromEntries, Hn as hasControlCommand, I as recordPendingHistoryEntryIfEnabled, Kn as buildMentionRegexes, L as shouldAckReactionForWhatsApp, Ln as createInboundDebouncer, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as resolveInboundDebounceMs, U as createDedupeCache, Un as shouldComputeCommandAuthorized, W as getReplyFromConfig, b as sleepWithAbort, nn as parseActivationCommand, qn as normalizeMentionText, tn as normalizeGroupActivation, y as computeBackoff, zn as formatInboundEnvelope } from "./subagent-registry-DoK1lNAF.js";
18
+ import { Bn as resolveEnvelopeFormatOptions, Cn as enqueueSystemEvent, F as buildHistoryContextFromEntries, Hn as hasControlCommand, I as recordPendingHistoryEntryIfEnabled, Kn as buildMentionRegexes, L as shouldAckReactionForWhatsApp, Ln as createInboundDebouncer, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as resolveInboundDebounceMs, U as createDedupeCache, Un as shouldComputeCommandAuthorized, W as getReplyFromConfig, b as sleepWithAbort, nn as parseActivationCommand, qn as normalizeMentionText, tn as normalizeGroupActivation, y as computeBackoff, zn as formatInboundEnvelope } from "./subagent-registry-C8_GMOxf.js";
19
19
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "2.6.24",
3
+ "version": "2.6.25",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",