@symerian/symi 3.4.14 → 3.4.15

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.4.14",
3
- "commit": "f7f9a059279ea9f32a8f3e838e532db72113baae",
4
- "builtAt": "2026-05-03T23:52:35.781Z"
2
+ "version": "3.4.15",
3
+ "commit": "db3e7550df433d688464e4118d148ee77938825c",
4
+ "builtAt": "2026-05-04T00:06:14.628Z"
5
5
  }
@@ -4,14 +4,14 @@ import { E as shouldLogVerbose, G as isRecord, r as DEFAULT_CHAT_CHANNEL, v as i
4
4
  import { a as resolveAgentSkillsFilter, c as resolveEffectiveModelFallbacks, i as resolveAgentModelPrimary, l as resolveSessionAgentId, o as resolveAgentWorkspaceDir, r as resolveAgentDir, t as listAgentIds, u as resolveSessionAgentIds } from "../../agent-scope-B1Ina6jV.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-DzRUKS9f.js";
6
6
  import { l as ensureAgentWorkspace } from "../../workspace-CsaDUuDn.js";
7
- import { A as runWithModelFallback, C as resolveSymiDocsPath, D as resolveRunWorkspaceDir, E as redactRunIdentifier, M as resolveFailoverStatus, O as deriveSessionTotalTokens, S as buildAgentSystemPrompt, T as resolveBootstrapContextForRun, _ as AGENT_LANE_NESTED, a as resolveSessionDeliveryTarget, b as emitAgentEvent, c as detectRuntimeShell, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, g as resolveAgentTimeoutMs, i as resolveOutboundTarget, j as FailoverError, k as hasNonzeroUsage, l as resolveSendPolicy, m as clearSessionAuthProfileOverride, n as buildModelAliasLines, o as buildSystemPromptParams, p as loadModelCatalog, s as getProcessSupervisor, t as runAgentTurn, u as lookupContextTokens, v as AGENT_LANE_SUBAGENT, w as makeBootstrapWarn, x as registerAgentRunContext, y as clearAgentRunContext } from "../../unified-runner-BNt7TQKM.js";
7
+ import { A as runWithModelFallback, C as resolveSymiDocsPath, D as resolveRunWorkspaceDir, E as redactRunIdentifier, M as resolveFailoverStatus, O as deriveSessionTotalTokens, S as buildAgentSystemPrompt, T as resolveBootstrapContextForRun, _ as AGENT_LANE_NESTED, a as resolveSessionDeliveryTarget, b as emitAgentEvent, c as detectRuntimeShell, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, g as resolveAgentTimeoutMs, i as resolveOutboundTarget, j as FailoverError, k as hasNonzeroUsage, l as resolveSendPolicy, m as clearSessionAuthProfileOverride, n as buildModelAliasLines, o as buildSystemPromptParams, p as loadModelCatalog, s as getProcessSupervisor, t as runAgentTurn, u as lookupContextTokens, v as AGENT_LANE_SUBAGENT, w as makeBootstrapWarn, x as registerAgentRunContext, y as clearAgentRunContext } from "../../unified-runner-Clv_2ElO.js";
8
8
  import { $ as DEFAULT_MODEL, A as resolveThinkingDefault, C as normalizeModelRef, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, Q as DEFAULT_CONTEXT_TOKENS, S as modelKey, Z as isTruthyEnvValue, _ as buildAllowedModelSet, d as ensureAuthProfileStore, et as DEFAULT_PROVIDER, tt as formatCliCommand, w as normalizeProviderId, x as isCliProvider } from "../../auth-profiles-Boy_KMd1.js";
9
9
  import "../../github-copilot-token-B31ugq7R.js";
10
10
  import "../../boolean-mcn6kL0s.js";
11
- import { At as resolveSessionResetPolicy, Dt as resolveSessionKey, It as resolveAgentMainSessionKey, Lt as resolveExplicitAgentSessionKey, M as classifyFailoverReason, Ot as evaluateSessionFreshness, Rt as resolveMainSessionKey, U as isFailoverErrorMessage, a as normalizeOutboundPayloadsForJson, at as loadSessionStore, i as normalizeOutboundPayloads, it as resolveAndPersistSessionFile, jt as resolveSessionResetType, kt as resolveChannelResetConfig, lt as updateSessionStore, nt as parseSessionThreadInfo, r as formatOutboundPayloadLog, t as deliverOutboundPayloads, vt as normalizeAccountId } from "../../deliver-BkCYBlzi.js";
11
+ import { At as resolveSessionResetPolicy, Dt as resolveSessionKey, It as resolveAgentMainSessionKey, Lt as resolveExplicitAgentSessionKey, M as classifyFailoverReason, Ot as evaluateSessionFreshness, Rt as resolveMainSessionKey, U as isFailoverErrorMessage, a as normalizeOutboundPayloadsForJson, at as loadSessionStore, i as normalizeOutboundPayloads, it as resolveAndPersistSessionFile, jt as resolveSessionResetType, kt as resolveChannelResetConfig, lt as updateSessionStore, nt as parseSessionThreadInfo, r as formatOutboundPayloadLog, t as deliverOutboundPayloads, vt as normalizeAccountId } from "../../deliver-59sRVaYQ.js";
12
12
  import { c as loadConfig } from "../../ssrf-CeQ2Aub-.js";
13
13
  import "../../manifest-registry-C0nJ3Ja3.js";
14
- import "../../chrome-B4P7ycw5.js";
14
+ import "../../chrome-DT1fIVG1.js";
15
15
  import "../../frontmatter-CwO0i5Q7.js";
16
16
  import { n as buildWorkspaceSkillSnapshot } from "../../skills-DaU_5XvP.js";
17
17
  import "../../redact-Dd8jrogi.js";
@@ -27,7 +27,7 @@ import "../../diagnostic-D7z6O7v0.js";
27
27
  import "../../diagnostic-session-state-BkfiP_y6.js";
28
28
  import "../../pi-auth-json-De8XczIE.js";
29
29
  import "../../reply-prefix-D3muTai5.js";
30
- import "../../manager-BD_cpL9b.js";
30
+ import "../../manager-DlPBpRRR.js";
31
31
  import "../../sqlite--aBEq1-J.js";
32
32
  import "../../markdown-tables-ptfgMe6b.js";
33
33
  import "../../commands-registry-CBFyeJ5K.js";
@@ -4,14 +4,14 @@ import "../../registry-C-JddWwo.js";
4
4
  import { o as resolveAgentWorkspaceDir } from "../../agent-scope-B1Ina6jV.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-DzRUKS9f.js";
6
6
  import "../../workspace-CsaDUuDn.js";
7
- import "../../unified-runner-BNt7TQKM.js";
7
+ import "../../unified-runner-Clv_2ElO.js";
8
8
  import "../../auth-profiles-Boy_KMd1.js";
9
9
  import "../../github-copilot-token-B31ugq7R.js";
10
10
  import "../../boolean-mcn6kL0s.js";
11
- import { Tt as hasInterSessionUserProvenance } from "../../deliver-BkCYBlzi.js";
11
+ import { Tt as hasInterSessionUserProvenance } from "../../deliver-59sRVaYQ.js";
12
12
  import "../../ssrf-CeQ2Aub-.js";
13
13
  import "../../manifest-registry-C0nJ3Ja3.js";
14
- import "../../chrome-B4P7ycw5.js";
14
+ import "../../chrome-DT1fIVG1.js";
15
15
  import "../../frontmatter-CwO0i5Q7.js";
16
16
  import "../../skills-DaU_5XvP.js";
17
17
  import "../../redact-Dd8jrogi.js";
@@ -27,7 +27,7 @@ import "../../diagnostic-D7z6O7v0.js";
27
27
  import "../../diagnostic-session-state-BkfiP_y6.js";
28
28
  import "../../pi-auth-json-De8XczIE.js";
29
29
  import "../../reply-prefix-D3muTai5.js";
30
- import "../../manager-BD_cpL9b.js";
30
+ import "../../manager-DlPBpRRR.js";
31
31
  import "../../sqlite--aBEq1-J.js";
32
32
  import "../../markdown-tables-ptfgMe6b.js";
33
33
  import "../../commands-registry-CBFyeJ5K.js";
@@ -1 +1 @@
1
- 3dd45aa00a8a25c10013441b44060c33cb2dd31134ddbf4ffccf8cd4293c75ce
1
+ 3b723aa48c4c2db4c7b80fac80bf8a70d8463e5f065a9317073d44e518ac750b
@@ -1,7 +1,7 @@
1
- import { z as CONFIG_DIR } from "./registry-C-JddWwo.js";
2
- import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
3
- import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CeQ2Aub-.js";
4
- import { r as isErrno } from "./errors-BkfLlDKo.js";
1
+ import { I as CONFIG_DIR } from "./registry-CANRzFn-.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-Bzq1QhtO.js";
3
+ import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CBajKNWO.js";
4
+ import { r as isErrno } from "./errors-C6sHIFo_.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
@@ -1,7 +1,7 @@
1
- import { I as CONFIG_DIR } from "./registry-CANRzFn-.js";
2
- import { t as createSubsystemLogger } from "./subsystem-Bzq1QhtO.js";
3
- import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CBajKNWO.js";
4
- import { r as isErrno } from "./errors-C6sHIFo_.js";
1
+ import { z as CONFIG_DIR } from "./registry-C-JddWwo.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
3
+ import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CeQ2Aub-.js";
4
+ import { r as isErrno } from "./errors-BkfLlDKo.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
@@ -5623,49 +5623,6 @@ body {
5623
5623
  color: var(--text-dim);
5624
5624
  }
5625
5625
 
5626
- /* ── Debug Panel ─────────────────────────────────────────────────── */
5627
- .debug-panel {
5628
- max-height: 300px;
5629
- overflow: hidden;
5630
- transition: max-height 0.3s ease;
5631
- }
5632
- .debug-panel.collapsed {
5633
- max-height: 28px;
5634
- }
5635
- .debug-panel.collapsed .debug-entries {
5636
- display: none;
5637
- }
5638
- .debug-panel.collapsed .debug-toggle-arrow {
5639
- transform: rotate(0deg);
5640
- }
5641
- .debug-toggle-arrow {
5642
- display: inline-block;
5643
- font-size: 9px;
5644
- margin-left: 4px;
5645
- transition: transform 0.2s ease;
5646
- transform: rotate(90deg);
5647
- }
5648
- .debug-panel .panel-label {
5649
- cursor: pointer;
5650
- user-select: none;
5651
- }
5652
- .debug-entries {
5653
- max-height: 260px;
5654
- overflow-y: auto;
5655
- padding: 4px 6px;
5656
- font-family: "SF Mono", "Fira Code", monospace;
5657
- font-size: 10px;
5658
- line-height: 1.4;
5659
- }
5660
- .debug-entry {
5661
- padding: 2px 0;
5662
- color: var(--text-dim);
5663
- border-bottom: 1px solid rgba(255, 255, 255, 0.03);
5664
- white-space: nowrap;
5665
- overflow: hidden;
5666
- text-overflow: ellipsis;
5667
- }
5668
-
5669
5626
  /* History-unavailable banner — shown when server retries fail and we fall
5670
5627
  back to the localStorage feed cache. Kept terse so it doesn't dominate
5671
5628
  the chat area. Dismissable via the × button on the right. */
@@ -317,14 +317,6 @@
317
317
  </button>
318
318
  </div>
319
319
 
320
- <!-- Debug Panel (hidden by default, toggle with Shift+D) -->
321
- <div class="glass-panel debug-panel collapsed" id="debug-panel">
322
- <div class="panel-label" onclick="this.parentElement.classList.toggle('collapsed')">
323
- DEBUG EVENTS <span class="debug-toggle-arrow">&#x25B6;</span>
324
- </div>
325
- <div class="debug-entries" id="debug-panel-entries"></div>
326
- </div>
327
-
328
320
  </aside>
329
321
 
330
322
  <!-- Response waterfall area -->
@@ -1045,6 +1037,5 @@
1045
1037
  <script src="js/subagents.js"></script>
1046
1038
  <script src="js/scheduling.js"></script>
1047
1039
  <script src="js/models.js"></script>
1048
- <script src="js/debug.js"></script>
1049
1040
  </body>
1050
1041
  </html>
@@ -675,11 +675,6 @@ function handleGatewayEvent(event) {
675
675
  lastEventTs = Date.now();
676
676
  }
677
677
 
678
- // Log to debug panel if available
679
- if (typeof window.logDebugEvent === "function") {
680
- window.logDebugEvent(p.state, p);
681
- }
682
-
683
678
  // Handle "thinking" state broadcast from gateway (agent started processing)
684
679
  if (p.state === "thinking") {
685
680
  if (p.runId && currentRunId && p.runId !== currentRunId) {
@@ -8,7 +8,7 @@ import { _ as runExec, a as DEFAULT_SYMICORE_FILENAME, c as DEFAULT_USER_FILENAM
8
8
  import { g as isPidAlive, h as resolveProcessScopedMap, tt as formatCliCommand } from "./auth-profiles-Boy_KMd1.js";
9
9
  import { t as parseBooleanValue } from "./boolean-mcn6kL0s.js";
10
10
  import { c as loadConfig, d as writeConfigFile, m as parseByteSize, p as parseDurationMs, s as createConfigIO, t as SsrFBlockedError } from "./ssrf-CeQ2Aub-.js";
11
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B4P7ycw5.js";
11
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DT1fIVG1.js";
12
12
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DaU_5XvP.js";
13
13
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BkfLlDKo.js";
14
14
  import { b as SafeOpenError, d as extensionForMime, i as buildImageResizeSideGrid, l as resizeToJpeg, o as getImageMetadata, r as IMAGE_REDUCE_QUALITY_STEPS, t as getAgentScopedMediaLocalRoots, u as detectMime, x as openFileWithinRoot } from "./local-roots-BCTg2O-a.js";
@@ -938,7 +938,7 @@ function isModuleNotFoundError(err) {
938
938
  }
939
939
  async function loadPwAiModule(mode) {
940
940
  try {
941
- return await import("./pw-ai-BsEf8C15.js");
941
+ return await import("./pw-ai-C5MJKzUM.js");
942
942
  } catch (err) {
943
943
  if (mode === "soft") return null;
944
944
  if (isModuleNotFoundError(err)) return null;
@@ -3535,11 +3535,11 @@ function createProfileContext(opts, profile) {
3535
3535
  const userDataDir = resolveSymiUserDataDir(profile.name);
3536
3536
  const profileState = getProfileState();
3537
3537
  if (await isHttpReachable(300) && !profileState.running) try {
3538
- await (await import("./pw-ai-BsEf8C15.js")).closePlaywrightBrowserConnection();
3538
+ await (await import("./pw-ai-C5MJKzUM.js")).closePlaywrightBrowserConnection();
3539
3539
  } catch {}
3540
3540
  if (profileState.running) await stopRunningBrowser();
3541
3541
  try {
3542
- await (await import("./pw-ai-BsEf8C15.js")).closePlaywrightBrowserConnection();
3542
+ await (await import("./pw-ai-C5MJKzUM.js")).closePlaywrightBrowserConnection();
3543
3543
  } catch {}
3544
3544
  if (!fs.existsSync(userDataDir)) return {
3545
3545
  moved: false,
@@ -9,7 +9,7 @@ import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
9
9
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Cp39v6b_.js";
10
10
  import { _ as listDeliverableMessageChannels, c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, v as normalizeMessageChannel } from "./chunk-BjnT3w_x.js";
11
11
  import { c as loadConfig, d as writeConfigFile, m as parseByteSize, p as parseDurationMs, s as createConfigIO, t as SsrFBlockedError } from "./ssrf-CBajKNWO.js";
12
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CPSDqbK6.js";
12
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CQn8fDIy.js";
13
13
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Bn0f9KTL.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-C6sHIFo_.js";
15
15
  import { C as openFileWithinRoot, S as SafeOpenError, a as IMAGE_REDUCE_QUALITY_STEPS, c as getImageMetadata, d as resizeToJpeg, f as detectMime, n as isSilentReplyText, o as buildImageResizeSideGrid, p as extensionForMime, r as getAgentScopedMediaLocalRoots, t as SILENT_REPLY_TOKEN } from "./tokens-Dm_xa-oz.js";
@@ -1329,7 +1329,7 @@ function isModuleNotFoundError(err) {
1329
1329
  }
1330
1330
  async function loadPwAiModule(mode) {
1331
1331
  try {
1332
- return await import("./pw-ai-w6Qalz1W.js");
1332
+ return await import("./pw-ai-BB1pJj9_.js");
1333
1333
  } catch (err) {
1334
1334
  if (mode === "soft") return null;
1335
1335
  if (isModuleNotFoundError(err)) return null;
@@ -3926,11 +3926,11 @@ function createProfileContext(opts, profile) {
3926
3926
  const userDataDir = resolveSymiUserDataDir(profile.name);
3927
3927
  const profileState = getProfileState();
3928
3928
  if (await isHttpReachable(300) && !profileState.running) try {
3929
- await (await import("./pw-ai-w6Qalz1W.js")).closePlaywrightBrowserConnection();
3929
+ await (await import("./pw-ai-BB1pJj9_.js")).closePlaywrightBrowserConnection();
3930
3930
  } catch {}
3931
3931
  if (profileState.running) await stopRunningBrowser();
3932
3932
  try {
3933
- await (await import("./pw-ai-w6Qalz1W.js")).closePlaywrightBrowserConnection();
3933
+ await (await import("./pw-ai-BB1pJj9_.js")).closePlaywrightBrowserConnection();
3934
3934
  } catch {}
3935
3935
  if (!fs.existsSync(userDataDir)) return {
3936
3936
  moved: false,
@@ -7,21 +7,21 @@ import { a as resolveAgentIdentity } from "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./plugins-Cp39v6b_.js";
9
9
  import "./replies-DU-fXkSk.js";
10
- import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-8Zh_Y5ur.js";
11
- import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-Mqq3tgqB.js";
10
+ import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-CGebiST2.js";
11
+ import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-DvW5xHHr.js";
12
12
  import "./diagnostic-BvZmqxYI.js";
13
13
  import "./diagnostic-session-state-CWtaDOiK.js";
14
14
  import "./chunk-BjnT3w_x.js";
15
15
  import "./ssrf-CBajKNWO.js";
16
16
  import "./manifest-registry-CAWGTwb5.js";
17
- import "./chrome-CPSDqbK6.js";
17
+ import "./chrome-CQn8fDIy.js";
18
18
  import "./skills-Bn0f9KTL.js";
19
19
  import "./redact-ojHFHOAb.js";
20
20
  import "./errors-C6sHIFo_.js";
21
21
  import "./tokens-Dm_xa-oz.js";
22
22
  import "./thinking-BKsvyjWX.js";
23
23
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-N698mtPE.js";
24
- import "./manager-MbrGCH4o.js";
24
+ import "./manager-D0NIHMuQ.js";
25
25
  import "./sqlite-jFnvSfLz.js";
26
26
  import "./markdown-tables-BtWlyyt1.js";
27
27
  import "./commands-registry-BRWqR35Z.js";
@@ -3,14 +3,14 @@ import "./registry-C-JddWwo.js";
3
3
  import { o as resolveAgentWorkspaceDir, s as resolveDefaultAgentId } from "./agent-scope-B1Ina6jV.js";
4
4
  import "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-BNt7TQKM.js";
6
+ import { t as runAgentTurn } from "./unified-runner-Clv_2ElO.js";
7
7
  import "./auth-profiles-Boy_KMd1.js";
8
8
  import "./github-copilot-token-B31ugq7R.js";
9
9
  import "./boolean-mcn6kL0s.js";
10
- import "./deliver-BkCYBlzi.js";
10
+ import "./deliver-59sRVaYQ.js";
11
11
  import "./ssrf-CeQ2Aub-.js";
12
12
  import "./manifest-registry-C0nJ3Ja3.js";
13
- import "./chrome-B4P7ycw5.js";
13
+ import "./chrome-DT1fIVG1.js";
14
14
  import "./frontmatter-CwO0i5Q7.js";
15
15
  import "./skills-DaU_5XvP.js";
16
16
  import "./redact-Dd8jrogi.js";
@@ -26,7 +26,7 @@ import "./diagnostic-D7z6O7v0.js";
26
26
  import "./diagnostic-session-state-BkfiP_y6.js";
27
27
  import "./pi-auth-json-De8XczIE.js";
28
28
  import "./reply-prefix-D3muTai5.js";
29
- import "./manager-BD_cpL9b.js";
29
+ import "./manager-DlPBpRRR.js";
30
30
  import "./sqlite--aBEq1-J.js";
31
31
  import "./markdown-tables-ptfgMe6b.js";
32
32
  import "./commands-registry-CBFyeJ5K.js";
@@ -4220,7 +4220,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
4220
4220
  * to bypass the min-interval guard (CLI use).
4221
4221
  */
4222
4222
  async runL3CycleIfDue(params) {
4223
- const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-QhuD5a9e.js"), import("./synthesis-iB7TWRW4.js")]);
4223
+ const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-QhuD5a9e.js"), import("./synthesis-CQdzrLFL.js")]);
4224
4224
  const synthesize = createSynthesizer({
4225
4225
  cfg: this.cfg,
4226
4226
  agentId: this.agentId,
@@ -4220,7 +4220,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
4220
4220
  * to bypass the min-interval guard (CLI use).
4221
4221
  */
4222
4222
  async runL3CycleIfDue(params) {
4223
- const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-C-HKdAJo.js"), import("./synthesis-DSdF0vsi.js")]);
4223
+ const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-C-HKdAJo.js"), import("./synthesis-CrqlbxVW.js")]);
4224
4224
  const synthesize = createSynthesizer({
4225
4225
  cfg: this.cfg,
4226
4226
  agentId: this.agentId,
@@ -10,13 +10,13 @@ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Bbs
10
10
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
11
11
  import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-Cp39v6b_.js";
12
12
  import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-DU-fXkSk.js";
13
- import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-Mqq3tgqB.js";
13
+ import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-DvW5xHHr.js";
14
14
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BvZmqxYI.js";
15
15
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-CWtaDOiK.js";
16
16
  import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-BjnT3w_x.js";
17
17
  import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, o as normalizeHostname, p as parseDurationMs, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-CBajKNWO.js";
18
18
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CAWGTwb5.js";
19
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CPSDqbK6.js";
19
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CQn8fDIy.js";
20
20
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Bn0f9KTL.js";
21
21
  import { n as redactToolDetail } from "./redact-ojHFHOAb.js";
22
22
  import { n as formatErrorMessage } from "./errors-C6sHIFo_.js";
@@ -25,7 +25,7 @@ import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeV
25
25
  import { n as resolveConversationLabel } from "./conversation-label-CPUfoQmh.js";
26
26
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-N698mtPE.js";
27
27
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-fUhPZcB5.js";
28
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-MbrGCH4o.js";
28
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-D0NIHMuQ.js";
29
29
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DWs9CjHs.js";
30
30
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BtWlyyt1.js";
31
31
  import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-BRWqR35Z.js";
@@ -49,7 +49,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
49
49
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
50
50
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
51
51
  import AjvPkg from "ajv";
52
- import { WebSocket as WebSocket$1 } from "ws";
52
+ import { WebSocket } from "ws";
53
53
  import { Buffer as Buffer$1 } from "node:buffer";
54
54
  import { createJiti } from "jiti";
55
55
  import { Type } from "@sinclair/typebox";
@@ -1028,7 +1028,7 @@ async function getMemorySearchManager(params) {
1028
1028
  const wrapper = new FallbackMemoryManager({
1029
1029
  primary,
1030
1030
  fallbackFactory: async () => {
1031
- const { MemoryIndexManager } = await import("./manager-MbrGCH4o.js").then((n) => n.t);
1031
+ const { MemoryIndexManager } = await import("./manager-D0NIHMuQ.js").then((n) => n.t);
1032
1032
  return await MemoryIndexManager.get(params);
1033
1033
  }
1034
1034
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -1041,7 +1041,7 @@ async function getMemorySearchManager(params) {
1041
1041
  }
1042
1042
  }
1043
1043
  try {
1044
- const { MemoryIndexManager } = await import("./manager-MbrGCH4o.js").then((n) => n.t);
1044
+ const { MemoryIndexManager } = await import("./manager-D0NIHMuQ.js").then((n) => n.t);
1045
1045
  return { manager: await MemoryIndexManager.get(params) };
1046
1046
  } catch (err) {
1047
1047
  return {
@@ -3554,7 +3554,7 @@ var GatewayClient = class {
3554
3554
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
3555
3555
  });
3556
3556
  }
3557
- this.ws = new WebSocket$1(url, wsOptions);
3557
+ this.ws = new WebSocket(url, wsOptions);
3558
3558
  this.ws.on("open", () => {
3559
3559
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
3560
3560
  const tlsError = this.validateTlsFingerprint();
@@ -3773,7 +3773,7 @@ var GatewayClient = class {
3773
3773
  return null;
3774
3774
  }
3775
3775
  async request(method, params, opts) {
3776
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
3776
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
3777
3777
  const id = randomUUID();
3778
3778
  const frame = {
3779
3779
  type: "req",
@@ -4719,7 +4719,7 @@ async function routeReply(params) {
4719
4719
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
4720
4720
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
4721
4721
  try {
4722
- const { deliverOutboundPayloads } = await import("./deliver-Mqq3tgqB.js").then((n) => n.n);
4722
+ const { deliverOutboundPayloads } = await import("./deliver-DvW5xHHr.js").then((n) => n.n);
4723
4723
  return {
4724
4724
  ok: true,
4725
4725
  messageId: (await deliverOutboundPayloads({
@@ -38774,7 +38774,7 @@ async function deliverSessionMaintenanceWarning(params) {
38774
38774
  return;
38775
38775
  }
38776
38776
  try {
38777
- const { deliverOutboundPayloads } = await import("./deliver-Mqq3tgqB.js").then((n) => n.n);
38777
+ const { deliverOutboundPayloads } = await import("./deliver-DvW5xHHr.js").then((n) => n.n);
38778
38778
  await deliverOutboundPayloads({
38779
38779
  cfg: params.cfg,
38780
38780
  channel,
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import fs, { constants, readFileSync } from "node:fs";
4
4
  import os from "node:os";
5
5
  import { Logger } from "tslog";
6
- import json5 from "json5";
6
+ import JSON5 from "json5";
7
7
  import chalk, { Chalk } from "chalk";
8
8
  import fs$1, { mkdtemp, rm } from "node:fs/promises";
9
9
  import { z } from "zod";
@@ -473,7 +473,7 @@ function readLoggingConfig() {
473
473
  try {
474
474
  if (!fs.existsSync(configPath)) return;
475
475
  const raw = fs.readFileSync(configPath, "utf-8");
476
- const logging = json5.parse(raw)?.logging;
476
+ const logging = JSON5.parse(raw)?.logging;
477
477
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
478
478
  return logging;
479
479
  } catch {
@@ -7320,7 +7320,7 @@ function safeRealpath(target) {
7320
7320
  }
7321
7321
  const defaultResolver = {
7322
7322
  readFile: (p) => fs.readFileSync(p, "utf-8"),
7323
- parseJson: (raw) => json5.parse(raw)
7323
+ parseJson: (raw) => JSON5.parse(raw)
7324
7324
  };
7325
7325
  /**
7326
7326
  * Resolves all $include directives in a parsed config object.
@@ -10551,7 +10551,7 @@ function resolveConfigPathForDeps(deps) {
10551
10551
  function normalizeDeps(overrides = {}) {
10552
10552
  return {
10553
10553
  fs: overrides.fs ?? fs,
10554
- json5: overrides.json5 ?? json5,
10554
+ json5: overrides.json5 ?? JSON5,
10555
10555
  env: overrides.env ?? process.env,
10556
10556
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
10557
10557
  configPath: overrides.configPath ?? "",
@@ -10562,11 +10562,11 @@ function maybeLoadDotEnvForConfig(env) {
10562
10562
  if (env !== process.env) return;
10563
10563
  loadDotEnv({ quiet: true });
10564
10564
  }
10565
- function parseConfigJson5(raw, json5$1 = json5) {
10565
+ function parseConfigJson5(raw, json5 = JSON5) {
10566
10566
  try {
10567
10567
  return {
10568
10568
  ok: true,
10569
- parsed: json5$1.parse(raw)
10569
+ parsed: json5.parse(raw)
10570
10570
  };
10571
10571
  } catch (err) {
10572
10572
  return {
@@ -6,7 +6,7 @@ import { Q as formatCliCommand } from "./model-selection-DUQlsUfk.js";
6
6
  import "./github-copilot-token-BbsJ0Qbo.js";
7
7
  import "./ssrf-CBajKNWO.js";
8
8
  import "./manifest-registry-CAWGTwb5.js";
9
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CPSDqbK6.js";
9
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CQn8fDIy.js";
10
10
  import "./redact-ojHFHOAb.js";
11
11
  import { n as formatErrorMessage } from "./errors-C6sHIFo_.js";
12
12
  import path from "node:path";
@@ -8,7 +8,7 @@ import "./github-copilot-token-B31ugq7R.js";
8
8
  import "./boolean-mcn6kL0s.js";
9
9
  import "./ssrf-CeQ2Aub-.js";
10
10
  import "./manifest-registry-C0nJ3Ja3.js";
11
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-B4P7ycw5.js";
11
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-DT1fIVG1.js";
12
12
  import "./redact-Dd8jrogi.js";
13
13
  import { n as formatErrorMessage } from "./errors-BkfLlDKo.js";
14
14
  import path from "node:path";
@@ -7,21 +7,21 @@ import "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./plugins-Cp39v6b_.js";
9
9
  import "./replies-DU-fXkSk.js";
10
- import { n as runAgentTurn } from "./pi-embedded-8Zh_Y5ur.js";
11
- import "./deliver-Mqq3tgqB.js";
10
+ import { n as runAgentTurn } from "./pi-embedded-CGebiST2.js";
11
+ import "./deliver-DvW5xHHr.js";
12
12
  import "./diagnostic-BvZmqxYI.js";
13
13
  import "./diagnostic-session-state-CWtaDOiK.js";
14
14
  import "./chunk-BjnT3w_x.js";
15
15
  import "./ssrf-CBajKNWO.js";
16
16
  import "./manifest-registry-CAWGTwb5.js";
17
- import "./chrome-CPSDqbK6.js";
17
+ import "./chrome-CQn8fDIy.js";
18
18
  import "./skills-Bn0f9KTL.js";
19
19
  import "./redact-ojHFHOAb.js";
20
20
  import "./errors-C6sHIFo_.js";
21
21
  import "./tokens-Dm_xa-oz.js";
22
22
  import "./thinking-BKsvyjWX.js";
23
23
  import "./paths-N698mtPE.js";
24
- import "./manager-MbrGCH4o.js";
24
+ import "./manager-D0NIHMuQ.js";
25
25
  import "./sqlite-jFnvSfLz.js";
26
26
  import "./markdown-tables-BtWlyyt1.js";
27
27
  import "./commands-registry-BRWqR35Z.js";
@@ -3,14 +3,14 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-BNt7TQKM.js";
6
+ import { t as runAgentTurn } from "./unified-runner-Clv_2ElO.js";
7
7
  import "./auth-profiles-Boy_KMd1.js";
8
8
  import "./github-copilot-token-B31ugq7R.js";
9
9
  import "./boolean-mcn6kL0s.js";
10
- import "./deliver-BkCYBlzi.js";
10
+ import "./deliver-59sRVaYQ.js";
11
11
  import "./ssrf-CeQ2Aub-.js";
12
12
  import "./manifest-registry-C0nJ3Ja3.js";
13
- import "./chrome-B4P7ycw5.js";
13
+ import "./chrome-DT1fIVG1.js";
14
14
  import "./frontmatter-CwO0i5Q7.js";
15
15
  import "./skills-DaU_5XvP.js";
16
16
  import "./redact-Dd8jrogi.js";
@@ -26,7 +26,7 @@ import "./diagnostic-D7z6O7v0.js";
26
26
  import "./diagnostic-session-state-BkfiP_y6.js";
27
27
  import "./pi-auth-json-De8XczIE.js";
28
28
  import "./reply-prefix-D3muTai5.js";
29
- import "./manager-BD_cpL9b.js";
29
+ import "./manager-DlPBpRRR.js";
30
30
  import "./sqlite--aBEq1-J.js";
31
31
  import "./markdown-tables-ptfgMe6b.js";
32
32
  import "./commands-registry-CBFyeJ5K.js";
@@ -8,10 +8,10 @@ import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapF
8
8
  import { $ as DEFAULT_MODEL, A as resolveThinkingDefault, B as requireApiKey, C as normalizeModelRef$1, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, F as resolveImplicitProviders, G as normalizeSecretInput, H as resolveEnvApiKey, I as OLLAMA_NATIVE_BASE_URL, J as resolveShellEnvFallbackTimeoutMs, K as getShellPathFromLoginShell, L as createOllamaStreamFn, M as normalizeProviders, N as resolveImplicitBedrockProvider, O as resolveModelRefFromString, P as resolveImplicitCopilotProvider, Q as DEFAULT_CONTEXT_TOKENS, R as getApiKeyForModel, S as modelKey, U as resolveModelAuthMode, V as resolveApiKeyForProvider, Z as isTruthyEnvValue, _ as buildAllowedModelSet, a as markAuthProfileFailure, b as findNormalizedProviderValue, c as dedupeProfileIds, d as ensureAuthProfileStore, et as DEFAULT_PROVIDER, f as resolveAuthStorePathForDisplay, i as isProfileInCooldown, j as normalizeGoogleModelId, k as resolveSubagentSpawnModelSelection, l as listProfilesForProvider, m as withFileLock$1, n as resolveAuthProfileOrder, nt as resolveCliName, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, rt as resolveAuthProfileDisplayLabel, s as resolveApiKeyForProfile, tt as formatCliCommand, u as markAuthProfileGood, v as buildConfiguredAllowlistKeys, w as normalizeProviderId, y as buildModelAliasIndex, z as getCustomProviderApiKey } from "./auth-profiles-Boy_KMd1.js";
9
9
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-B31ugq7R.js";
10
10
  import { t as parseBooleanValue } from "./boolean-mcn6kL0s.js";
11
- import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-BkCYBlzi.js";
11
+ import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-59sRVaYQ.js";
12
12
  import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, o as normalizeHostname, p as parseDurationMs, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-CeQ2Aub-.js";
13
13
  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-C0nJ3Ja3.js";
14
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B4P7ycw5.js";
14
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DT1fIVG1.js";
15
15
  import { l as parseFrontmatterBlock } from "./frontmatter-CwO0i5Q7.js";
16
16
  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-DaU_5XvP.js";
17
17
  import { n as redactToolDetail } from "./redact-Dd8jrogi.js";
@@ -30,7 +30,7 @@ import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r
30
30
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-BkfiP_y6.js";
31
31
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-De8XczIE.js";
32
32
  import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-D3muTai5.js";
33
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-BD_cpL9b.js";
33
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-DlPBpRRR.js";
34
34
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Crkye5gI.js";
35
35
  import { n as resolveMarkdownTableMode } from "./markdown-tables-ptfgMe6b.js";
36
36
  import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-CBFyeJ5K.js";
@@ -54,7 +54,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
54
54
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
55
55
  import AjvPkg from "ajv";
56
56
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
57
- import { WebSocket } from "ws";
57
+ import { WebSocket as WebSocket$1 } from "ws";
58
58
  import { Buffer as Buffer$1 } from "node:buffer";
59
59
  import { createJiti } from "jiti";
60
60
  import { Type } from "@sinclair/typebox";
@@ -2099,7 +2099,7 @@ async function getMemorySearchManager(params) {
2099
2099
  const wrapper = new FallbackMemoryManager({
2100
2100
  primary,
2101
2101
  fallbackFactory: async () => {
2102
- const { MemoryIndexManager } = await import("./manager-BD_cpL9b.js").then((n) => n.t);
2102
+ const { MemoryIndexManager } = await import("./manager-DlPBpRRR.js").then((n) => n.t);
2103
2103
  return await MemoryIndexManager.get(params);
2104
2104
  }
2105
2105
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -2112,7 +2112,7 @@ async function getMemorySearchManager(params) {
2112
2112
  }
2113
2113
  }
2114
2114
  try {
2115
- const { MemoryIndexManager } = await import("./manager-BD_cpL9b.js").then((n) => n.t);
2115
+ const { MemoryIndexManager } = await import("./manager-DlPBpRRR.js").then((n) => n.t);
2116
2116
  return { manager: await MemoryIndexManager.get(params) };
2117
2117
  } catch (err) {
2118
2118
  return {
@@ -7255,7 +7255,7 @@ var GatewayClient = class {
7255
7255
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
7256
7256
  });
7257
7257
  }
7258
- this.ws = new WebSocket(url, wsOptions);
7258
+ this.ws = new WebSocket$1(url, wsOptions);
7259
7259
  this.ws.on("open", () => {
7260
7260
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
7261
7261
  const tlsError = this.validateTlsFingerprint();
@@ -7474,7 +7474,7 @@ var GatewayClient = class {
7474
7474
  return null;
7475
7475
  }
7476
7476
  async request(method, params, opts) {
7477
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
7477
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
7478
7478
  const id = randomUUID();
7479
7479
  const frame = {
7480
7480
  type: "req",
@@ -8433,7 +8433,7 @@ async function routeReply(params) {
8433
8433
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
8434
8434
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
8435
8435
  try {
8436
- const { deliverOutboundPayloads } = await import("./deliver-BkCYBlzi.js").then((n) => n.n);
8436
+ const { deliverOutboundPayloads } = await import("./deliver-59sRVaYQ.js").then((n) => n.n);
8437
8437
  return {
8438
8438
  ok: true,
8439
8439
  messageId: (await deliverOutboundPayloads({
@@ -41267,7 +41267,7 @@ async function deliverSessionMaintenanceWarning(params) {
41267
41267
  return;
41268
41268
  }
41269
41269
  try {
41270
- const { deliverOutboundPayloads } = await import("./deliver-BkCYBlzi.js").then((n) => n.n);
41270
+ const { deliverOutboundPayloads } = await import("./deliver-59sRVaYQ.js").then((n) => n.n);
41271
41271
  await deliverOutboundPayloads({
41272
41272
  cfg: params.cfg,
41273
41273
  channel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "3.4.14",
3
+ "version": "3.4.15",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",
@@ -1,55 +0,0 @@
1
- // ── Debug Panel — real-time event log for Glass UI ───────────────────
2
- // Shows every WebSocket event with timestamp, type, and payload summary.
3
- // Collapsible. Capped at 200 entries. Hidden by default, toggled via Shift+D.
4
-
5
- (function () {
6
- const MAX_DEBUG_ENTRIES = 200;
7
- let debugContainer = null;
8
-
9
- window.initDebugPanel = function () {
10
- debugContainer = document.getElementById("debug-panel-entries");
11
-
12
- document.addEventListener("keydown", function (e) {
13
- if (e.shiftKey && e.key === "D") {
14
- const panel = document.getElementById("debug-panel");
15
- if (panel) {
16
- panel.classList.toggle("collapsed");
17
- }
18
- }
19
- });
20
- };
21
-
22
- window.logDebugEvent = function (event, payload) {
23
- if (!debugContainer) {
24
- return;
25
- }
26
- const entry = document.createElement("div");
27
- entry.className = "debug-entry";
28
- var time = new Date().toLocaleTimeString("en-US", { hour12: false });
29
- var summary = "";
30
- try {
31
- summary =
32
- typeof payload === "object"
33
- ? JSON.stringify(payload).slice(0, 120)
34
- : String(payload).slice(0, 120);
35
- } catch {
36
- summary = "[unserializable]";
37
- }
38
- entry.textContent = time + " [" + event + "] " + summary;
39
- debugContainer.prepend(entry);
40
-
41
- // Cap entries
42
- while (debugContainer.children.length > MAX_DEBUG_ENTRIES) {
43
- debugContainer.removeChild(debugContainer.lastChild);
44
- }
45
- };
46
-
47
- // Auto-init when DOM is ready
48
- if (document.readyState === "loading") {
49
- document.addEventListener("DOMContentLoaded", function () {
50
- window.initDebugPanel();
51
- });
52
- } else {
53
- window.initDebugPanel();
54
- }
55
- })();