@symerian/symi 2.3.0 → 2.3.1

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 (116) hide show
  1. package/dist/{agents-B0pTMEwy.js → agents-DzuttgJU.js} +4 -4
  2. package/dist/{agents.config-_b7ghdyb.js → agents.config-2HlZJsR3.js} +1 -1
  3. package/dist/{agents.config-CdNbu8M5.js → agents.config-CSucty2T.js} +1 -1
  4. package/dist/{audio-preflight-BkIfnmpi.js → audio-preflight-BsfqyC31.js} +4 -4
  5. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  6. package/dist/{auth-choice-Bx2Ly3cQ.js → auth-choice-ChrEc3cZ.js} +1 -1
  7. package/dist/{auth-choice-EFFQA4ii.js → auth-choice-Cve09z1a.js} +1 -1
  8. package/dist/{banner-B3eic4uq.js → banner-BoLflN_R.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-CiowWU_F.js → channel-options-Dkd1WQZx.js} +1 -1
  14. package/dist/{channel-options-75aPoFR-.js → channel-options-DqgeO1f6.js} +1 -1
  15. package/dist/{channel-web-B3e8z6ws.js → channel-web-CJvDQ5Ea.js} +1 -1
  16. package/dist/{channels-cli-DZM3aIdY.js → channels-cli-D0jjOLRb.js} +4 -4
  17. package/dist/{channels-cli-BDAVsmSm.js → channels-cli-DtqwJZWy.js} +4 -4
  18. package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
  19. package/dist/{chrome-CxSAp8x3.js → chrome-w3SLcQJF.js} +7 -7
  20. package/dist/{cli-BRwovkQi.js → cli-CEtg8kql.js} +1 -1
  21. package/dist/{cli-D9SQsNnH.js → cli-CHOmeum9.js} +1 -1
  22. package/dist/{command-registry-BOI6nYdi.js → command-registry-Ba2z3dYq.js} +9 -9
  23. package/dist/{completion-cli-NNzoK79d.js → completion-cli-BgX3MWVU.js} +1 -1
  24. package/dist/{completion-cli-83vpWmfU.js → completion-cli-CD-306wt.js} +2 -2
  25. package/dist/{config-cli-DEAh6EN8.js → config-cli-Cz87-TYh.js} +1 -1
  26. package/dist/{config-cli-MLtPektI.js → config-cli-DAbXVRUL.js} +1 -1
  27. package/dist/{configure-BdfU-OWp.js → configure-0nrthdSf.js} +3 -3
  28. package/dist/{configure-vl7Z4vWj.js → configure-D45ne4lm.js} +3 -3
  29. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  30. package/dist/{deliver-BA7ZN3iM.js → deliver-BmPK91JP.js} +1 -1
  31. package/dist/{doctor-completion-Ds-_m1_I.js → doctor-completion-CcDVOtZ5.js} +1 -1
  32. package/dist/{doctor-completion-OyrrKhcY.js → doctor-completion-CmGtqUHQ.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{gateway-cli-Coue82yW.js → gateway-cli-BVN31fwu.js} +9 -9
  36. package/dist/{gateway-cli-DfFSqETj.js → gateway-cli-DajX3Pye.js} +9 -9
  37. package/dist/{glass-ui-ws-D0Y3Ftjr.js → glass-ui-ws-CQG6acJl.js} +7 -7
  38. package/dist/{glass-ui-ws-Dkh8KQKx.js → glass-ui-ws-Z1IOT6Vc.js} +7 -7
  39. package/dist/{health-BL_zFcJ8.js → health-D9eQW7fJ.js} +1 -1
  40. package/dist/{health-B1LT2TG3.js → health-f056vLGT.js} +1 -1
  41. package/dist/{hooks-cli-CI7p--JB.js → hooks-cli-CW-IRS72.js} +2 -2
  42. package/dist/{hooks-cli-BoE1T7F1.js → hooks-cli-hJ4euq2R.js} +2 -2
  43. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  44. package/dist/{image-BGmVDkkw.js → image-rZ4x9VS9.js} +1 -1
  45. package/dist/index.js +6 -6
  46. package/dist/llm-slug-generator.js +6 -6
  47. package/dist/{models-cli-B-mDqwNv.js → models-cli-B2ticsCM.js} +2 -2
  48. package/dist/{models-cli-Dm_3bpun.js → models-cli-D9bG44Ao.js} +3 -3
  49. package/dist/{models-DSx-ohwA.js → models-nO_t1uzp.js} +2 -2
  50. package/dist/{onboard-CPRPPhos.js → onboard-BDbpfrZj.js} +2 -2
  51. package/dist/{onboard-u4HyeN9s.js → onboard-BtZ9WqhJ.js} +2 -2
  52. package/dist/{onboard-channels-BUz8JSpV.js → onboard-channels-CHE8nfNA.js} +1 -1
  53. package/dist/{onboard-channels-CixaQo6p.js → onboard-channels-HubyUVjT.js} +1 -1
  54. package/dist/{onboarding-DVnX6G65.js → onboarding-DtP0sps0.js} +3 -3
  55. package/dist/{onboarding-HeYKKCUg.js → onboarding-eVb5gvwo.js} +3 -3
  56. package/dist/{onboarding.finalize-CyfJOd_0.js → onboarding.finalize-CetxPTxL.js} +5 -5
  57. package/dist/{onboarding.finalize-BJD7ST55.js → onboarding.finalize-D8035U2E.js} +6 -6
  58. package/dist/{pi-embedded-Du1crlEA.js → pi-embedded-BY-dBus2.js} +216 -171
  59. package/dist/{pi-embedded-Dbwt0RDE.js → pi-embedded-Dc3muKtS.js} +216 -171
  60. package/dist/{pi-embedded-helpers-DEEaCvEp.js → pi-embedded-helpers-B2z46qeM.js} +4 -4
  61. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  62. package/dist/{plugin-registry-B3_VvP9Z.js → plugin-registry-CuoX8mar.js} +1 -1
  63. package/dist/{plugin-registry-BHTWmVtf.js → plugin-registry-fxcvycGr.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-pXiGDTMm.js → channel-web-CV1KLtZh.js} +1 -1
  65. package/dist/plugin-sdk/index.js +2 -2
  66. package/dist/plugin-sdk/{reply-ClH0tnJf.js → reply-C4mijdMZ.js} +202 -157
  67. package/dist/plugin-sdk/{web-D-2D6z4H.js → web-B17UUsjm.js} +2 -2
  68. package/dist/{plugins-cli-CiJ3j55S.js → plugins-cli-4OqSGHp-.js} +2 -2
  69. package/dist/{plugins-cli-Dm1uy7by.js → plugins-cli-BbE_Qnlk.js} +2 -2
  70. package/dist/{program-CH2ZAXFK.js → program-DkXOdfM2.js} +7 -7
  71. package/dist/{program-context-BHdXKRCG.js → program-context-0bDxGpMx.js} +17 -17
  72. package/dist/{prompt-select-styled-D8-TYiCU.js → prompt-select-styled-DJkRn30j.js} +4 -4
  73. package/dist/{prompt-select-styled-YbkZmrxn.js → prompt-select-styled-_6KbTFXs.js} +4 -4
  74. package/dist/{provider-auth-helpers-BvwbMhtC.js → provider-auth-helpers-Bnkj4QXS.js} +1 -1
  75. package/dist/{provider-auth-helpers-BXnJRRuA.js → provider-auth-helpers-BpVAdwK_.js} +1 -1
  76. package/dist/{push-apns-CtNHq-T0.js → push-apns-C0wMP1XU.js} +1 -1
  77. package/dist/{push-apns-BKDV4tcx.js → push-apns-EKnCwrqK.js} +1 -1
  78. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  79. package/dist/{pw-ai-DhwRiS06.js → pw-ai-PiQUncix.js} +1 -1
  80. package/dist/{register.agent-BUq96Y9v.js → register.agent-B0S1CJEx.js} +5 -5
  81. package/dist/{register.agent-BKI5-fHH.js → register.agent-B48Vf_DK.js} +6 -6
  82. package/dist/{register.configure-D5lE614j.js → register.configure-Drr3E9OG.js} +6 -6
  83. package/dist/{register.configure-wxLUAVNm.js → register.configure-Wyv7vb24.js} +6 -6
  84. package/dist/{register.maintenance-C7McOGSl.js → register.maintenance-Cmf17EW0.js} +7 -7
  85. package/dist/{register.maintenance-CBkeGPZ5.js → register.maintenance-TgjAQ4E0.js} +8 -8
  86. package/dist/{register.message-COdTYFse.js → register.message-BcsPnPvW.js} +2 -2
  87. package/dist/{register.message-CI-7hMop.js → register.message-Dwv2puIB.js} +2 -2
  88. package/dist/{register.onboard-BB0BR6ER.js → register.onboard-BDGaSyq2.js} +4 -4
  89. package/dist/{register.onboard-Cvq4D9PO.js → register.onboard-C8w7_w93.js} +4 -4
  90. package/dist/{register.setup-BFsDqWth.js → register.setup-CMGSNKXS.js} +4 -4
  91. package/dist/{register.setup-BYdcj7kG.js → register.setup-CiEuZOlI.js} +4 -4
  92. package/dist/{register.status-health-sessions-Z5xGFCb6.js → register.status-health-sessions-C8p0uINc.js} +3 -3
  93. package/dist/{register.status-health-sessions-CLTBPceP.js → register.status-health-sessions-zKjmZyOs.js} +3 -3
  94. package/dist/{register.subclis-DbjFcioS.js → register.subclis-CofZE_pt.js} +9 -9
  95. package/dist/{reply-Dlka9TPn.js → reply-SBi_U7P7.js} +202 -157
  96. package/dist/{run-main-CZKS1Km-.js → run-main-BJaDO3WW.js} +14 -14
  97. package/dist/{runner-B_KP4voe.js → runner-CCSMfQee.js} +1 -1
  98. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  99. package/dist/{server-methods-Dl2xnUeP.js → server-methods-Cm6W01ne.js} +7 -7
  100. package/dist/{server-methods-060ibtki.js → server-methods-CyFB3XQf.js} +7 -7
  101. package/dist/{server-node-events-BaVEbs-L.js → server-node-events-Bhgt3xLw.js} +2 -2
  102. package/dist/{server-node-events-CxdmKBmm.js → server-node-events-CX1plxJz.js} +2 -2
  103. package/dist/{status-B161_hoB.js → status-BBpD_1pG.js} +2 -2
  104. package/dist/{status-DFFFYwyN.js → status-BdmYV3_x.js} +1 -1
  105. package/dist/{status-DqWKFOGN.js → status-CwXg8OO1.js} +2 -2
  106. package/dist/{status-V0eZ4bzN.js → status-U_1mE-yc.js} +1 -1
  107. package/dist/{subagent-registry-DLH72QgE.js → subagent-registry-Du9P0G2U.js} +202 -157
  108. package/dist/{update-cli-BHNHad5c.js → update-cli-DJzF_9UX.js} +7 -7
  109. package/dist/{update-cli-t1GIk6uw.js → update-cli-_45TJ3hZ.js} +8 -8
  110. package/dist/{update-runner-Ciq1c0YL.js → update-runner-8Ac4bJ1w.js} +1 -1
  111. package/dist/{update-runner-CDG0-jLB.js → update-runner-BSQFv9b6.js} +1 -1
  112. package/dist/{web-CWhHll12.js → web-BZSI7b07.js} +2 -2
  113. package/dist/{web-B_JQgMeX.js → web-BqRsq6mP.js} +6 -6
  114. package/dist/{web-BkvYOXO1.js → web-C1Zn8_qW.js} +6 -6
  115. package/dist/{web-FaXjM6fP.js → web-w-vV1rCZ.js} +1 -1
  116. package/package.json +1 -1
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-BcE47FtD.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { A as createOutboundSendDeps, Cn as enqueueSystemEvent, E as agentCommand, dn as requestHeartbeatNow, dt as resolveOutboundTarget } from "./subagent-registry-DLH72QgE.js";
17
+ import { A as createOutboundSendDeps, Cn as enqueueSystemEvent, E as agentCommand, dn as requestHeartbeatNow, dt as resolveOutboundTarget } from "./subagent-registry-Du9P0G2U.js";
18
18
  import { d as updateSessionStore } from "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
@@ -98,7 +98,7 @@ import "./onboard-helpers-_pit1NZW.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D1HDboV2.js";
100
100
  import "./pi-tools.policy-De00gPXt.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CtNHq-T0.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-C0wMP1XU.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-DHBLS1Hl.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
12
- import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-DLH72QgE.js";
12
+ import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-Du9P0G2U.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
30
30
  import { t as renderTable } from "./table-D01d2GuY.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Byo5jCLN.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BL_zFcJ8.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-D9eQW7fJ.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
34
34
  import { t as resolveNodeService } from "./node-service-fcZExd22.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
3
  import { i as loadConfig } from "./config-DHBLS1Hl.js";
4
- import { v as createPluginLoaderLogger, y as loadSymiPlugins } from "./subagent-registry-DLH72QgE.js";
4
+ import { v as createPluginLoaderLogger, y as loadSymiPlugins } from "./subagent-registry-Du9P0G2U.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { E as resolveSessionModelRef, G as summarizeRestartSentinel, Jt as sha256HexPrefix, St as formatUsageReportLines, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, xt as loadProviderUsageSummary, y as classifySessionKey } from "./reply-Dlka9TPn.js";
3
+ import { E as resolveSessionModelRef, G as summarizeRestartSentinel, Jt as sha256HexPrefix, St as formatUsageReportLines, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, xt as loadProviderUsageSummary, y as classifySessionKey } from "./reply-SBi_U7P7.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.j
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BAMlsVVX.js";
29
29
  import { t as renderTable } from "./table-BTgkRafz.js";
30
30
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-CrITRV6w.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-B1LT2TG3.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-f056vLGT.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
33
33
  import { t as resolveNodeService } from "./node-service-Cxz4e-Qd.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
@@ -1,4 +1,4 @@
1
- import { _t as loadSymiPlugins, gt as createPluginLoaderLogger } from "./reply-Dlka9TPn.js";
1
+ import { _t as loadSymiPlugins, gt as createPluginLoaderLogger } from "./reply-SBi_U7P7.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
4
  import { i as loadConfig } from "./config-CHwyw6l5.js";
@@ -44208,7 +44208,7 @@ function isVoiceChannelType(type) {
44208
44208
  function createDefaultDeps() {
44209
44209
  return {
44210
44210
  sendMessageWhatsApp: async (...args) => {
44211
- const { sendMessageWhatsApp } = await import("./web-FaXjM6fP.js");
44211
+ const { sendMessageWhatsApp } = await import("./web-w-vV1rCZ.js");
44212
44212
  return await sendMessageWhatsApp(...args);
44213
44213
  },
44214
44214
  sendMessageTelegram: async (...args) => {
@@ -59524,7 +59524,7 @@ function loadWebLoginQr() {
59524
59524
  return webLoginQrPromise;
59525
59525
  }
59526
59526
  function loadWebChannel() {
59527
- webChannelPromise ??= import("./web-FaXjM6fP.js");
59527
+ webChannelPromise ??= import("./web-w-vV1rCZ.js");
59528
59528
  return webChannelPromise;
59529
59529
  }
59530
59530
  function loadWhatsAppActions() {
@@ -64823,6 +64823,162 @@ async function compactEmbeddedPiSession(params) {
64823
64823
  return enqueueCommandInLane(sessionLane, () => enqueueGlobal(async () => compactEmbeddedPiSessionDirect(params)));
64824
64824
  }
64825
64825
 
64826
+ //#endregion
64827
+ //#region src/config/model-profiles-builtin.ts
64828
+ /**
64829
+ * Built-in model profiles. Ordered from most-specific to least-specific so
64830
+ * that `resolveModelProfile` can return the first match.
64831
+ *
64832
+ * Order matters: "ollama/" must precede "gemma" because model IDs like
64833
+ * "ollama/gemma4:31b-128k" contain both substrings.
64834
+ */
64835
+ const BUILTIN_PROFILES = [
64836
+ {
64837
+ match: ["ollama/"],
64838
+ label: "Ollama Local",
64839
+ params: {
64840
+ temperature: 1,
64841
+ top_p: .95,
64842
+ top_k: 64,
64843
+ max_tokens: 4096,
64844
+ stop: ["<end_of_turn>", "<eos>"]
64845
+ },
64846
+ streaming: {
64847
+ deltaThrottleMs: 50,
64848
+ flushOnFinal: true,
64849
+ chunkPattern: "burst"
64850
+ },
64851
+ filters: {
64852
+ stripPatterns: [
64853
+ "<\\|channel>\\w*",
64854
+ "<channel\\|>",
64855
+ "<start_of_turn>(?:model|user)?",
64856
+ "<end_of_turn>"
64857
+ ],
64858
+ suppressMonologue: true,
64859
+ hasStructuredThinking: false
64860
+ },
64861
+ promptAdditions: ["You are running locally via Ollama. Do not output raw control tokens or internal monologue. Send brief progress updates on long tasks."],
64862
+ ui: {
64863
+ badge: "Local",
64864
+ watchdogMs: 9e5,
64865
+ armWatchdogOnSend: true
64866
+ }
64867
+ },
64868
+ {
64869
+ match: ["anthropic/", "claude-"],
64870
+ label: "Claude",
64871
+ params: {
64872
+ temperature: 1,
64873
+ top_p: 1,
64874
+ max_tokens: 8192
64875
+ },
64876
+ streaming: {
64877
+ deltaThrottleMs: 150,
64878
+ flushOnFinal: false,
64879
+ chunkPattern: "token"
64880
+ },
64881
+ filters: {
64882
+ stripPatterns: [],
64883
+ suppressMonologue: false,
64884
+ hasStructuredThinking: true
64885
+ },
64886
+ promptAdditions: [],
64887
+ ui: {
64888
+ badge: "API",
64889
+ watchdogMs: 3e5,
64890
+ armWatchdogOnSend: false
64891
+ }
64892
+ },
64893
+ {
64894
+ match: ["gemma", "redsand/"],
64895
+ label: "Gemma 4",
64896
+ params: {
64897
+ temperature: 1,
64898
+ top_p: .95,
64899
+ top_k: 64,
64900
+ max_tokens: 4096,
64901
+ stop: ["<end_of_turn>", "<eos>"]
64902
+ },
64903
+ streaming: {
64904
+ deltaThrottleMs: 50,
64905
+ flushOnFinal: true,
64906
+ chunkPattern: "burst"
64907
+ },
64908
+ filters: {
64909
+ stripPatterns: [
64910
+ "<\\|channel>\\w*",
64911
+ "<channel\\|>",
64912
+ "<start_of_turn>(?:model|user)?",
64913
+ "<end_of_turn>",
64914
+ "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
64915
+ "^\\s*<bos>\\s*"
64916
+ ],
64917
+ suppressMonologue: true,
64918
+ hasStructuredThinking: false
64919
+ },
64920
+ promptAdditions: [
64921
+ "You are running as Gemma 4 via vLLM. Important behavioral rules:",
64922
+ "- Never output raw control tokens, channel tags, or turn markers in your responses.",
64923
+ "- Never display internal status checks, plans, or self-assessments. Your visible output should only be conversational responses and final results.",
64924
+ "- When working on multi-step tasks, send a brief one-line status update every 30-60 seconds so the user knows you are active.",
64925
+ "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
64926
+ "- Do not use <|channel>thought or similar syntax. If you need to reason, do so silently."
64927
+ ],
64928
+ ui: {
64929
+ badge: "CoreWeave",
64930
+ watchdogMs: 6e5,
64931
+ armWatchdogOnSend: true
64932
+ }
64933
+ }
64934
+ ];
64935
+
64936
+ //#endregion
64937
+ //#region src/config/resolve-model-profile.ts
64938
+ /** Default profile returned when no match is found. */
64939
+ const FALLBACK_PROFILE = {
64940
+ match: "*",
64941
+ label: "Generic",
64942
+ params: {
64943
+ temperature: 1,
64944
+ max_tokens: 4096
64945
+ },
64946
+ streaming: {
64947
+ deltaThrottleMs: 150,
64948
+ flushOnFinal: true,
64949
+ chunkPattern: "burst"
64950
+ },
64951
+ filters: {
64952
+ stripPatterns: [],
64953
+ suppressMonologue: false,
64954
+ hasStructuredThinking: false
64955
+ },
64956
+ promptAdditions: [],
64957
+ ui: {
64958
+ watchdogMs: 3e5,
64959
+ armWatchdogOnSend: true
64960
+ }
64961
+ };
64962
+ /**
64963
+ * Resolve the active model profile for a given model ID.
64964
+ *
64965
+ * Resolution order:
64966
+ * 1. User-defined profiles (from `models.profiles` in symi.json)
64967
+ * 2. Built-in profiles ({@link BUILTIN_PROFILES})
64968
+ * 3. Fallback "Generic" profile
64969
+ *
64970
+ * Matching is case-insensitive prefix/substring against the model ID.
64971
+ */
64972
+ function resolveModelProfile(modelId, userProfiles) {
64973
+ const id = modelId.toLowerCase();
64974
+ const allProfiles = [...userProfiles ?? [], ...BUILTIN_PROFILES];
64975
+ for (const profile of allProfiles) {
64976
+ const patterns = Array.isArray(profile.match) ? profile.match : [profile.match];
64977
+ for (const pattern of patterns) if (id.startsWith(pattern.toLowerCase()) || id.includes(pattern.toLowerCase())) return profile;
64978
+ }
64979
+ return FALLBACK_PROFILE;
64980
+ }
64981
+
64826
64982
  //#endregion
64827
64983
  //#region src/agents/pi-embedded-runner/extra-params.ts
64828
64984
  const OPENROUTER_APP_HEADERS = {
@@ -64842,7 +64998,9 @@ const OPENAI_RESPONSES_PROVIDERS = new Set(["openai"]);
64842
64998
  function resolveExtraParams(params) {
64843
64999
  const modelKey = `${params.provider}/${params.modelId}`;
64844
65000
  const modelConfig = params.cfg?.agents?.defaults?.models?.[modelKey];
64845
- return modelConfig?.params ? { ...modelConfig.params } : void 0;
65001
+ if (modelConfig?.params) return { ...modelConfig.params };
65002
+ const profile = resolveModelProfile(modelKey, params.cfg?.models?.profiles);
65003
+ if (profile.params && Object.keys(profile.params).length > 0) return { ...profile.params };
64846
65004
  }
64847
65005
  /**
64848
65006
  * Resolve cacheRetention from extraParams, supporting both new `cacheRetention`
@@ -64872,6 +65030,7 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
64872
65030
  if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
64873
65031
  if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
64874
65032
  if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
65033
+ if (Array.isArray(extraParams.stop) && extraParams.stop.length > 0) streamParams.stop = extraParams.stop;
64875
65034
  if (extraParams.chat_template_kwargs && typeof extraParams.chat_template_kwargs === "object") streamParams.chat_template_kwargs = extraParams.chat_template_kwargs;
64876
65035
  const cacheRetention = resolveCacheRetention(extraParams, provider);
64877
65036
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
@@ -65000,6 +65159,42 @@ function createZaiToolStreamWrapper(baseStreamFn, enabled) {
65000
65159
  });
65001
65160
  };
65002
65161
  }
65162
+ const GEMMA_STOP_SEQUENCES = ["<end_of_turn>", "<eos>"];
65163
+ const VLLM_GEMMA_HINTS = ["gemma", "redsand"];
65164
+ function isVllmOrGemmaProvider(provider, modelId, cfg) {
65165
+ const lower = `${provider}/${modelId}`.toLowerCase();
65166
+ if (VLLM_GEMMA_HINTS.some((h) => lower.includes(h))) return true;
65167
+ const baseUrl = ((cfg?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
65168
+ return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
65169
+ }
65170
+ /**
65171
+ * Wrap the stream function to fix vLLM/Gemma compat issues via onPayload:
65172
+ * 1. Replace `max_completion_tokens` with `max_tokens` (vLLM ignores the former)
65173
+ * 2. Inject Gemma stop sequences if none are set
65174
+ * 3. Remove unsupported fields (store, stream_options.include_usage on older vLLM)
65175
+ */
65176
+ function createVllmCompatWrapper(baseStreamFn, extraParams) {
65177
+ const underlying = baseStreamFn ?? streamSimple;
65178
+ const configuredStop = Array.isArray(extraParams.stop) ? extraParams.stop : GEMMA_STOP_SEQUENCES;
65179
+ return (model, context, options) => {
65180
+ const originalOnPayload = options?.onPayload;
65181
+ return underlying(model, context, {
65182
+ ...options,
65183
+ onPayload: (payload) => {
65184
+ if (payload && typeof payload === "object") {
65185
+ const p = payload;
65186
+ if (p.max_completion_tokens && !p.max_tokens) {
65187
+ p.max_tokens = p.max_completion_tokens;
65188
+ delete p.max_completion_tokens;
65189
+ }
65190
+ if (!p.stop && configuredStop.length > 0) p.stop = configuredStop;
65191
+ delete p.store;
65192
+ }
65193
+ originalOnPayload?.(payload);
65194
+ }
65195
+ });
65196
+ };
65197
+ }
65003
65198
  /**
65004
65199
  * Apply extra params (like temperature) to an agent's streamFn.
65005
65200
  * Also adds OpenRouter app attribution headers when using the OpenRouter provider.
@@ -65034,161 +65229,11 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
65034
65229
  agent.streamFn = createZaiToolStreamWrapper(agent.streamFn, true);
65035
65230
  }
65036
65231
  }
65037
- agent.streamFn = createOpenAIResponsesStoreWrapper(agent.streamFn);
65038
- }
65039
-
65040
- //#endregion
65041
- //#region src/config/model-profiles-builtin.ts
65042
- /**
65043
- * Built-in model profiles. Ordered from most-specific to least-specific so
65044
- * that `resolveModelProfile` can return the first match.
65045
- *
65046
- * Order matters: "ollama/" must precede "gemma" because model IDs like
65047
- * "ollama/gemma4:31b-128k" contain both substrings.
65048
- */
65049
- const BUILTIN_PROFILES = [
65050
- {
65051
- match: ["ollama/"],
65052
- label: "Ollama Local",
65053
- params: {
65054
- temperature: 1,
65055
- top_p: .95,
65056
- top_k: 64,
65057
- max_tokens: 4096
65058
- },
65059
- streaming: {
65060
- deltaThrottleMs: 50,
65061
- flushOnFinal: true,
65062
- chunkPattern: "burst"
65063
- },
65064
- filters: {
65065
- stripPatterns: [
65066
- "<\\|channel>\\w*",
65067
- "<channel\\|>",
65068
- "<start_of_turn>(?:model|user)?",
65069
- "<end_of_turn>"
65070
- ],
65071
- suppressMonologue: true,
65072
- hasStructuredThinking: false
65073
- },
65074
- promptAdditions: ["You are running locally via Ollama. Do not output raw control tokens or internal monologue. Send brief progress updates on long tasks."],
65075
- ui: {
65076
- badge: "Local",
65077
- watchdogMs: 9e5,
65078
- armWatchdogOnSend: true
65079
- }
65080
- },
65081
- {
65082
- match: ["anthropic/", "claude-"],
65083
- label: "Claude",
65084
- params: {
65085
- temperature: 1,
65086
- top_p: 1,
65087
- max_tokens: 8192
65088
- },
65089
- streaming: {
65090
- deltaThrottleMs: 150,
65091
- flushOnFinal: false,
65092
- chunkPattern: "token"
65093
- },
65094
- filters: {
65095
- stripPatterns: [],
65096
- suppressMonologue: false,
65097
- hasStructuredThinking: true
65098
- },
65099
- promptAdditions: [],
65100
- ui: {
65101
- badge: "API",
65102
- watchdogMs: 3e5,
65103
- armWatchdogOnSend: false
65104
- }
65105
- },
65106
- {
65107
- match: ["gemma", "redsand/"],
65108
- label: "Gemma 4",
65109
- params: {
65110
- temperature: 1,
65111
- top_p: .95,
65112
- top_k: 64,
65113
- max_tokens: 8192
65114
- },
65115
- streaming: {
65116
- deltaThrottleMs: 50,
65117
- flushOnFinal: true,
65118
- chunkPattern: "burst"
65119
- },
65120
- filters: {
65121
- stripPatterns: [
65122
- "<\\|channel>\\w*",
65123
- "<channel\\|>",
65124
- "<start_of_turn>(?:model|user)?",
65125
- "<end_of_turn>",
65126
- "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
65127
- "^\\s*<bos>\\s*"
65128
- ],
65129
- suppressMonologue: true,
65130
- hasStructuredThinking: false
65131
- },
65132
- promptAdditions: [
65133
- "You are running as Gemma 4 via vLLM. Important behavioral rules:",
65134
- "- Never output raw control tokens, channel tags, or turn markers in your responses.",
65135
- "- Never display internal status checks, plans, or self-assessments. Your visible output should only be conversational responses and final results.",
65136
- "- When working on multi-step tasks, send a brief one-line status update every 30-60 seconds so the user knows you are active.",
65137
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
65138
- "- Do not use <|channel>thought or similar syntax. If you need to reason, do so silently."
65139
- ],
65140
- ui: {
65141
- badge: "CoreWeave",
65142
- watchdogMs: 6e5,
65143
- armWatchdogOnSend: true
65144
- }
65145
- }
65146
- ];
65147
-
65148
- //#endregion
65149
- //#region src/config/resolve-model-profile.ts
65150
- /** Default profile returned when no match is found. */
65151
- const FALLBACK_PROFILE = {
65152
- match: "*",
65153
- label: "Generic",
65154
- params: {
65155
- temperature: 1,
65156
- max_tokens: 4096
65157
- },
65158
- streaming: {
65159
- deltaThrottleMs: 150,
65160
- flushOnFinal: true,
65161
- chunkPattern: "burst"
65162
- },
65163
- filters: {
65164
- stripPatterns: [],
65165
- suppressMonologue: false,
65166
- hasStructuredThinking: false
65167
- },
65168
- promptAdditions: [],
65169
- ui: {
65170
- watchdogMs: 3e5,
65171
- armWatchdogOnSend: true
65232
+ if (isVllmOrGemmaProvider(provider, modelId, cfg)) {
65233
+ log$2.debug(`applying vLLM/Gemma compat wrapper for ${provider}/${modelId}`);
65234
+ agent.streamFn = createVllmCompatWrapper(agent.streamFn, merged);
65172
65235
  }
65173
- };
65174
- /**
65175
- * Resolve the active model profile for a given model ID.
65176
- *
65177
- * Resolution order:
65178
- * 1. User-defined profiles (from `models.profiles` in symi.json)
65179
- * 2. Built-in profiles ({@link BUILTIN_PROFILES})
65180
- * 3. Fallback "Generic" profile
65181
- *
65182
- * Matching is case-insensitive prefix/substring against the model ID.
65183
- */
65184
- function resolveModelProfile(modelId, userProfiles) {
65185
- const id = modelId.toLowerCase();
65186
- const allProfiles = [...userProfiles ?? [], ...BUILTIN_PROFILES];
65187
- for (const profile of allProfiles) {
65188
- const patterns = Array.isArray(profile.match) ? profile.match : [profile.match];
65189
- for (const pattern of patterns) if (id.startsWith(pattern.toLowerCase()) || id.includes(pattern.toLowerCase())) return profile;
65190
- }
65191
- return FALLBACK_PROFILE;
65236
+ agent.streamFn = createOpenAIResponsesStoreWrapper(agent.streamFn);
65192
65237
  }
65193
65238
 
65194
65239
  //#endregion
@@ -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 { K as trimLogTail } from "./reply-Dlka9TPn.js";
4
+ import { K as trimLogTail } from "./reply-SBi_U7P7.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-BHdXKRCG.js";
109
+ import "./program-context-0bDxGpMx.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-NNzoK79d.js";
120
+ import { r as installCompletion } from "./completion-cli-BgX3MWVU.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-B1LT2TG3.js";
129
+ import "./health-f056vLGT.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-CDG0-jLB.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-BSQFv9b6.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-D8-TYiCU.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Ds-_m1_I.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DJkRn30j.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CcDVOtZ5.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-DLH72QgE.js";
19
+ import { Ct as trimLogTail } from "./subagent-registry-Du9P0G2U.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-DbjFcioS.js";
115
- import "./command-registry-BOI6nYdi.js";
114
+ import "./register.subclis-CofZE_pt.js";
115
+ import "./command-registry-Ba2z3dYq.js";
116
116
  import "./program-context-CqzR_m-7.js";
117
- import { r as installCompletion } from "./completion-cli-83vpWmfU.js";
117
+ import { r as installCompletion } from "./completion-cli-CD-306wt.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-BL_zFcJ8.js";
127
+ import "./health-D9eQW7fJ.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-Ciq1c0YL.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-8Ac4bJ1w.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-YbkZmrxn.js";
139
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-OyrrKhcY.js";
138
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-_6KbTFXs.js";
139
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CmGtqUHQ.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-DLH72QgE.js";
3
+ import { Ct as trimLogTail } from "./subagent-registry-Du9P0G2U.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 { K as trimLogTail } from "./reply-Dlka9TPn.js";
2
+ import { K as trimLogTail } from "./reply-SBi_U7P7.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-Dlka9TPn.js";
4
+ import "./reply-SBi_U7P7.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-B3e8z6ws.js";
104
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CJvDQ5Ea.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";