@symerian/symi 3.1.0 → 3.1.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 (54) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/bundled/boot-md/handler.js +4 -4
  3. package/dist/bundled/session-memory/handler.js +4 -4
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{chrome-O5GtGEaR.js → chrome-CCtr79A5.js} +4 -4
  6. package/dist/{chrome-B7_foWil.js → chrome-CLdjGAF1.js} +4 -4
  7. package/dist/{command-registry-DmjX-MJb.js → command-registry-DtivbkBg.js} +4 -4
  8. package/dist/{completion-cli-CKczmer5.js → completion-cli-DAtKJGz_.js} +1 -1
  9. package/dist/{completion-cli-DezSeZQA.js → completion-cli-M9mpw_DS.js} +2 -2
  10. package/dist/control-ui/js/app.js +34 -2
  11. package/dist/{deliver-BMg6XjUA.js → deliver-D0zCpBS2.js} +4 -4
  12. package/dist/{deliver-Cxzii_el.js → deliver-aqjVfua8.js} +4 -4
  13. package/dist/{doctor-completion-AGw1egU_.js → doctor-completion-BlxU7_DJ.js} +1 -1
  14. package/dist/{doctor-completion-BCVASe0n.js → doctor-completion-DLx2ecZ2.js} +1 -1
  15. package/dist/entry.js +1 -1
  16. package/dist/extensionAPI.js +4 -4
  17. package/dist/{gateway-cli-CvFiUm5D.js → gateway-cli-BDVuQ5k9.js} +6 -354
  18. package/dist/{gateway-cli-BZXfKM1n.js → gateway-cli-CjY_Ct2M.js} +6 -354
  19. package/dist/{glass-ui-ws-CHyGj7GA.js → glass-ui-ws-Bs0VbFCC.js} +1 -1
  20. package/dist/{glass-ui-ws-BSTHY5PU.js → glass-ui-ws-CLyPSA_9.js} +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/llm-slug-generator.js +4 -4
  23. package/dist/{manager-BWi2hK4Y.js → manager-3gF-gaOU.js} +1 -1
  24. package/dist/{manager-BoTf2TBM.js → manager-Do_LVG9R.js} +1 -1
  25. package/dist/{onboard-BzRDv60Y.js → onboard-lFeJdiGp.js} +1 -1
  26. package/dist/{onboard-CHrTg-R0.js → onboard-zwQ2t4TE.js} +1 -1
  27. package/dist/{onboarding-ClbxBHpB.js → onboarding-C0kL3Y5v.js} +1 -1
  28. package/dist/{onboarding-BGwkx8NB.js → onboarding-CaHVfCVn.js} +1 -1
  29. package/dist/{onboarding.finalize-D6zND3C7.js → onboarding.finalize-DwXxdw74.js} +3 -3
  30. package/dist/{onboarding.finalize-BnIBZwze.js → onboarding.finalize-vT6fRWsB.js} +4 -4
  31. package/dist/{pi-embedded-L-sMlPsa.js → pi-embedded-JU-n_Ppj.js} +10 -10
  32. package/dist/plugin-sdk/gateway/server-chat.d.ts +47 -0
  33. package/dist/{program-B8S2KFzC.js → program-C1bTgU2q.js} +2 -2
  34. package/dist/{program-context-DCb3cVEC.js → program-context-BHvgRRy_.js} +6 -6
  35. package/dist/{prompt-select-styled-BJ3NsTmX.js → prompt-select-styled--PI8fuuB.js} +1 -1
  36. package/dist/{prompt-select-styled-ZdXAuRQQ.js → prompt-select-styled-DawD9uin.js} +1 -1
  37. package/dist/{pw-ai-B9riepO_.js → pw-ai-BlFwd1fC.js} +1 -1
  38. package/dist/{pw-ai-CYE0188Y.js → pw-ai-Cq1WlDax.js} +1 -1
  39. package/dist/{register.maintenance-CX4sIokB.js → register.maintenance-D0NfR0wv.js} +5 -5
  40. package/dist/{register.maintenance-BBxWlFhs.js → register.maintenance-fFzETZM-.js} +4 -4
  41. package/dist/{register.onboard-UzFm__iV.js → register.onboard-C0eFmAVL.js} +2 -2
  42. package/dist/{register.onboard-Be8PMN1Z.js → register.onboard-C7aJLoQc.js} +2 -2
  43. package/dist/{register.setup-w0_6rARS.js → register.setup-CRhnePOD.js} +2 -2
  44. package/dist/{register.setup-Dq7WlLOL.js → register.setup-XpvVOl8-.js} +2 -2
  45. package/dist/{register.subclis-Cb1ErrVQ.js → register.subclis-BFq9K0q9.js} +3 -3
  46. package/dist/{run-main-DmC4wWlp.js → run-main-JPtR4nYb.js} +3 -3
  47. package/dist/{server-methods-C97G9dYe.js → server-methods-Dj3PCErz.js} +360 -4
  48. package/dist/{server-methods-DFt60s1H.js → server-methods-RegE5bVx.js} +360 -4
  49. package/dist/{synthesis-DA7kfAUJ.js → synthesis-CNYpM3bL.js} +4 -4
  50. package/dist/{synthesis-CPZoVKlB.js → synthesis-CP97tsyU.js} +4 -4
  51. package/dist/{unified-runner-BdN9pHa8.js → unified-runner-Bjd_KpAr.js} +10 -10
  52. package/dist/{update-cli-Bg3c9ORr.js → update-cli-DPsa1UFx.js} +5 -5
  53. package/dist/{update-cli-DZtbV25O.js → update-cli-bgziGI6r.js} +4 -4
  54. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.1.0",
3
- "commit": "6c99551de5938a3d9b339347c15c51a7a6f85834",
4
- "builtAt": "2026-05-02T21:51:38.036Z"
2
+ "version": "3.1.1",
3
+ "commit": "356a1b994faf0fb3506b367abba9cf432609dc76",
4
+ "builtAt": "2026-05-02T22:14:19.932Z"
5
5
  }
@@ -5,14 +5,14 @@ import { a as resolveAgentSkillsFilter, c as resolveEffectiveModelFallbacks, i a
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-B0nl039t.js";
6
6
  import { l as ensureAgentWorkspace } from "../../workspace-C3O07_sB.js";
7
7
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-Cf12qNDy.js";
8
- import { A as registerAgentRunContext, C as buildModelAliasLines, D as hasNonzeroUsage, E as deriveSessionTotalTokens, M as FailoverError, N as resolveFailoverStatus, O as clearAgentRunContext, P as resolveHeartbeatPrompt, S as buildTtsSystemPromptHint, T as resolveRunWorkspaceDir, _ as AGENT_LANE_SUBAGENT, a as buildSystemPromptParams, b as makeBootstrapWarn, c as resolveSendPolicy, d as applyVerboseOverride, f as loadModelCatalog, g as AGENT_LANE_NESTED, h as resolveAgentTimeoutMs, i as resolveSessionDeliveryTarget, j as runWithModelFallback, k as emitAgentEvent, l as lookupContextTokens, o as getProcessSupervisor, p as clearSessionAuthProfileOverride, r as resolveOutboundTarget, s as detectRuntimeShell, t as runAgentTurn, u as applyModelOverrideToSessionEntry, v as buildAgentSystemPrompt, w as redactRunIdentifier, x as resolveBootstrapContextForRun, y as resolveSymiDocsPath } from "../../unified-runner-BdN9pHa8.js";
8
+ import { A as registerAgentRunContext, C as buildModelAliasLines, D as hasNonzeroUsage, E as deriveSessionTotalTokens, M as FailoverError, N as resolveFailoverStatus, O as clearAgentRunContext, P as resolveHeartbeatPrompt, S as buildTtsSystemPromptHint, T as resolveRunWorkspaceDir, _ as AGENT_LANE_SUBAGENT, a as buildSystemPromptParams, b as makeBootstrapWarn, c as resolveSendPolicy, d as applyVerboseOverride, f as loadModelCatalog, g as AGENT_LANE_NESTED, h as resolveAgentTimeoutMs, i as resolveSessionDeliveryTarget, j as runWithModelFallback, k as emitAgentEvent, l as lookupContextTokens, o as getProcessSupervisor, p as clearSessionAuthProfileOverride, r as resolveOutboundTarget, s as detectRuntimeShell, t as runAgentTurn, u as applyModelOverrideToSessionEntry, v as buildAgentSystemPrompt, w as redactRunIdentifier, x as resolveBootstrapContextForRun, y as resolveSymiDocsPath } from "../../unified-runner-Bjd_KpAr.js";
9
9
  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-CWc_Dn2r.js";
10
10
  import "../../github-copilot-token-BUd9oA8x.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
12
- 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-BMg6XjUA.js";
12
+ 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-D0zCpBS2.js";
13
13
  import { c as loadConfig } from "../../ssrf-CY_-n5zv.js";
14
14
  import "../../manifest-registry-k-LNmNet.js";
15
- import "../../chrome-B7_foWil.js";
15
+ import "../../chrome-CCtr79A5.js";
16
16
  import "../../frontmatter-B5iYTsZP.js";
17
17
  import { n as buildWorkspaceSkillSnapshot } from "../../skills-DRWbxzQd.js";
18
18
  import "../../redact-DPnDWsnT.js";
@@ -28,7 +28,7 @@ import "../../diagnostic-session-state-BkfiP_y6.js";
28
28
  import "../../pi-auth-json-CgM-a3Wc.js";
29
29
  import "../../pi-model-discovery-BnZgJecJ.js";
30
30
  import "../../reply-prefix-D6FmBp9l.js";
31
- import "../../manager-BoTf2TBM.js";
31
+ import "../../manager-Do_LVG9R.js";
32
32
  import "../../sqlite-D9BEt91E.js";
33
33
  import "../../markdown-tables-DKggd2Pz.js";
34
34
  import "../../commands-registry-DKlZ_8Ms.js";
@@ -5,14 +5,14 @@ import { o as resolveAgentWorkspaceDir } from "../../agent-scope-fkprx0cO.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-B0nl039t.js";
6
6
  import "../../workspace-C3O07_sB.js";
7
7
  import "../../tokens-Cf12qNDy.js";
8
- import "../../unified-runner-BdN9pHa8.js";
8
+ import "../../unified-runner-Bjd_KpAr.js";
9
9
  import "../../auth-profiles-CWc_Dn2r.js";
10
10
  import "../../github-copilot-token-BUd9oA8x.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
12
- import { Tt as hasInterSessionUserProvenance } from "../../deliver-BMg6XjUA.js";
12
+ import { Tt as hasInterSessionUserProvenance } from "../../deliver-D0zCpBS2.js";
13
13
  import "../../ssrf-CY_-n5zv.js";
14
14
  import "../../manifest-registry-k-LNmNet.js";
15
- import "../../chrome-B7_foWil.js";
15
+ import "../../chrome-CCtr79A5.js";
16
16
  import "../../frontmatter-B5iYTsZP.js";
17
17
  import "../../skills-DRWbxzQd.js";
18
18
  import "../../redact-DPnDWsnT.js";
@@ -28,7 +28,7 @@ import "../../diagnostic-session-state-BkfiP_y6.js";
28
28
  import "../../pi-auth-json-CgM-a3Wc.js";
29
29
  import "../../pi-model-discovery-BnZgJecJ.js";
30
30
  import "../../reply-prefix-D6FmBp9l.js";
31
- import "../../manager-BoTf2TBM.js";
31
+ import "../../manager-Do_LVG9R.js";
32
32
  import "../../sqlite-D9BEt91E.js";
33
33
  import "../../markdown-tables-DKggd2Pz.js";
34
34
  import "../../commands-registry-DKlZ_8Ms.js";
@@ -1 +1 @@
1
- c78574fdf37383667583484d98de0ed657f4d4f99ff9032e67382654ac6c6041
1
+ 51eb4bce5c1bbde08b5c58e5778ba9aeb7404e40e4b3092a4d12f95f50a533f7
@@ -1,7 +1,7 @@
1
- import { _ as CONFIG_DIR } from "./registry-tpUcDLlV.js";
2
- import { t as createSubsystemLogger } from "./subsystem-DXZdEBtl.js";
3
- import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-BgA_8lbe.js";
4
- import { r as isErrno } from "./errors-DqtQ6JQT.js";
1
+ import { b as CONFIG_DIR } from "./registry-BWc5l1-l.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-B0nl039t.js";
3
+ import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CY_-n5zv.js";
4
+ import { r as isErrno } from "./errors-BgCjRT2k.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 { b as CONFIG_DIR } from "./registry-BWc5l1-l.js";
2
- import { t as createSubsystemLogger } from "./subsystem-B0nl039t.js";
3
- import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-CY_-n5zv.js";
4
- import { r as isErrno } from "./errors-BgCjRT2k.js";
1
+ import { _ as CONFIG_DIR } from "./registry-tpUcDLlV.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-DXZdEBtl.js";
3
+ import { a as resolvePinnedHostnameWithPolicy, c as loadConfig } from "./ssrf-BgA_8lbe.js";
4
+ import { r as isErrno } from "./errors-DqtQ6JQT.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Zt as getPrimaryCommand, en as hasHelpOrVersion } from "./entry.js";
3
- import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-Cb1ErrVQ.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-BFq9K0q9.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.setup-w0_6rARS.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-CRhnePOD.js")).registerSetupCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -32,7 +32,7 @@ const coreEntries = [
32
32
  hasSubcommands: false
33
33
  }],
34
34
  register: async ({ program }) => {
35
- (await import("./register.onboard-UzFm__iV.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-C0eFmAVL.js")).registerOnboardCommand(program);
36
36
  }
37
37
  },
38
38
  {
@@ -79,7 +79,7 @@ const coreEntries = [
79
79
  }
80
80
  ],
81
81
  register: async ({ program }) => {
82
- (await import("./register.maintenance-CX4sIokB.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-D0NfR0wv.js")).registerMaintenanceCommands(program);
83
83
  }
84
84
  },
85
85
  {
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
3
3
  import { p as pathExists } from "./utils-BwhNP0do.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-C22TrusW.js";
5
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-DCb3cVEC.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-BHvgRRy_.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Q as pathExists, Vt as resolveStateDir, l as routeLogsToStderr } from "./entry.js";
3
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-Cb1ErrVQ.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DmjX-MJb.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-BFq9K0q9.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DtivbkBg.js";
5
5
  import { t as getProgramContext } from "./program-context-CTkBT0K5.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -647,6 +647,20 @@ function handleGatewayEvent(event) {
647
647
  if (a.isHeartbeat) {
648
648
  return;
649
649
  }
650
+ // Cross-session filter: agent events for OTHER sessions (cron-fired
651
+ // channel runs, slack/msteams inbound, scheduled jobs) must not arm the
652
+ // user's watchdog. Without this guard, every background non-heartbeat
653
+ // run resets the watchdog and produces phantom "Run timed out" warnings
654
+ // when no follow-up event arrives within WATCHDOG_MS.
655
+ if (a.sessionKey && a.sessionKey !== window.SESSION_KEY) {
656
+ return;
657
+ }
658
+ // Cross-run filter: late agent events from a finished run (e.g.
659
+ // lifecycle:end fires after chat:final cleared currentRunId) must not
660
+ // re-arm a fresh watchdog timer.
661
+ if (a.runId && currentRunId && a.runId !== currentRunId) {
662
+ return;
663
+ }
650
664
  // Any agent event resets the watchdog — the agent is working
651
665
  armWatchdog();
652
666
  showWorkingIndicator();
@@ -689,8 +703,20 @@ function handleGatewayEvent(event) {
689
703
  return;
690
704
  }
691
705
 
692
- // Any chat event for our session proves the agent is alive reset watchdog.
693
- if (isStreaming) {
706
+ // Heartbeat events must never touch the user's watchdog or stream state.
707
+ // Even though chat:final/error/aborted handlers below have their own
708
+ // heartbeat early-returns, this top-level guard prevents Path A from
709
+ // re-arming the watchdog on heartbeat-tagged deltas/finals.
710
+ if (p.isHeartbeat) {
711
+ // Fall through to the per-state branches below so heartbeat finals can
712
+ // still be routed to the symipulse panel — but skip the watchdog re-arm.
713
+ } else if (p.runId && currentRunId && p.runId !== currentRunId) {
714
+ // Cross-run chat event (e.g. cron-fired channel run, chat.injectMessage,
715
+ // late event from a finished run). Not relevant to the user's active turn.
716
+ return;
717
+ } else if (isStreaming) {
718
+ // Any chat event for our session and our run proves the agent is alive —
719
+ // reset watchdog.
694
720
  armWatchdog();
695
721
  lastEventTs = Date.now();
696
722
  }
@@ -702,6 +728,12 @@ function handleGatewayEvent(event) {
702
728
 
703
729
  // Handle "thinking" state broadcast from gateway (agent started processing)
704
730
  if (p.state === "thinking") {
731
+ if (p.isHeartbeat) {
732
+ return; // Heartbeat thinking events never touch user UI
733
+ }
734
+ if (p.runId && currentRunId && p.runId !== currentRunId) {
735
+ return; // Cross-run thinking event
736
+ }
705
737
  if (!isStreaming) {
706
738
  return; // Ignore stale thinking events
707
739
  }
@@ -9,7 +9,7 @@ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Cf12qN
9
9
  import { g as isPidAlive, h as resolveProcessScopedMap, tt as formatCliCommand } from "./auth-profiles-CWc_Dn2r.js";
10
10
  import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
11
11
  import { c as loadConfig, d as writeConfigFile, m as parseDurationMs, p as parseByteSize, s as createConfigIO, t as SsrFBlockedError } from "./ssrf-CY_-n5zv.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-B7_foWil.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-CCtr79A5.js";
13
13
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DRWbxzQd.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BgCjRT2k.js";
15
15
  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-Db_Ed-sm.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-B9riepO_.js");
941
+ return await import("./pw-ai-BlFwd1fC.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-B9riepO_.js")).closePlaywrightBrowserConnection();
3538
+ await (await import("./pw-ai-BlFwd1fC.js")).closePlaywrightBrowserConnection();
3539
3539
  } catch {}
3540
3540
  if (profileState.running) await stopRunningBrowser();
3541
3541
  try {
3542
- await (await import("./pw-ai-B9riepO_.js")).closePlaywrightBrowserConnection();
3542
+ await (await import("./pw-ai-BlFwd1fC.js")).closePlaywrightBrowserConnection();
3543
3543
  } catch {}
3544
3544
  if (!fs.existsSync(userDataDir)) return {
3545
3545
  moved: false,
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-Coeec2xt.js";
10
10
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DeOy6s9S.js";
11
11
  import { _ as listDeliverableMessageChannels, c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, v as normalizeMessageChannel } from "./chunk-BnsgQig0.js";
12
12
  import { c as loadConfig, d as writeConfigFile, m as parseDurationMs, p as parseByteSize, s as createConfigIO, t as SsrFBlockedError } from "./ssrf-BgA_8lbe.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-O5GtGEaR.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CLdjGAF1.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-WL4YwE78.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-DqtQ6JQT.js";
16
16
  import { _ as normalizeHyphenSlug, d as getChannelDock, o as normalizeThinkLevel } from "./thinking-Dr6k_PRi.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-CYE0188Y.js");
1332
+ return await import("./pw-ai-Cq1WlDax.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-CYE0188Y.js")).closePlaywrightBrowserConnection();
3929
+ await (await import("./pw-ai-Cq1WlDax.js")).closePlaywrightBrowserConnection();
3930
3930
  } catch {}
3931
3931
  if (profileState.running) await stopRunningBrowser();
3932
3932
  try {
3933
- await (await import("./pw-ai-CYE0188Y.js")).closePlaywrightBrowserConnection();
3933
+ await (await import("./pw-ai-Cq1WlDax.js")).closePlaywrightBrowserConnection();
3934
3934
  } catch {}
3935
3935
  if (!fs.existsSync(userDataDir)) return {
3936
3936
  moved: false,
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-CyXZlazG.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-7ei1lwo0.js";
3
3
  import { t as note } from "./note-DbSgF8Ho.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CKczmer5.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DAtKJGz_.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-Xm6vX3qJ.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-CK6iELVh.js";
3
3
  import { t as note } from "./note-JnXzfkC6.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DezSeZQA.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-M9mpw_DS.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
package/dist/entry.js CHANGED
@@ -2312,7 +2312,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2312
2312
  applyCliProfileEnv({ profile: parsed.profile });
2313
2313
  process$1.argv = parsed.argv;
2314
2314
  }
2315
- import("./run-main-DmC4wWlp.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2315
+ import("./run-main-JPtR4nYb.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2316
2316
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2317
2317
  process$1.exitCode = 1;
2318
2318
  });
@@ -6,23 +6,23 @@ import { nt as DEFAULT_MODEL, p as resolveThinkingDefault, rt as DEFAULT_PROVIDE
6
6
  import { a as resolveAgentIdentity } from "./reply-prefix-B6WGfnYO.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./local-roots-DiVkgHyh.js";
9
- import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-L-sMlPsa.js";
9
+ import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-JU-n_Ppj.js";
10
10
  import "./plugins-DeOy6s9S.js";
11
11
  import "./replies-Cts6obnK.js";
12
- import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-Cxzii_el.js";
12
+ import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-aqjVfua8.js";
13
13
  import "./diagnostic-C7jt1JBa.js";
14
14
  import "./diagnostic-session-state-CXCbqRxw.js";
15
15
  import "./pi-model-discovery-nax5dXRY.js";
16
16
  import "./chunk-BnsgQig0.js";
17
17
  import "./ssrf-BgA_8lbe.js";
18
18
  import "./manifest-registry-BR6dqMhM.js";
19
- import "./chrome-O5GtGEaR.js";
19
+ import "./chrome-CLdjGAF1.js";
20
20
  import "./skills-WL4YwE78.js";
21
21
  import "./redact-BwxC4l65.js";
22
22
  import "./errors-DqtQ6JQT.js";
23
23
  import "./thinking-Dr6k_PRi.js";
24
24
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-BsT3BvfH.js";
25
- import "./manager-BWi2hK4Y.js";
25
+ import "./manager-3gF-gaOU.js";
26
26
  import "./sqlite-DREkk00W.js";
27
27
  import "./markdown-tables-CHPuKRmT.js";
28
28
  import "./commands-registry-Js1bXBH7.js";