@symerian/symi 3.5.37 → 3.5.38

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 (113) hide show
  1. package/dist/{agent-CDO1qw1v.js → agent-BTGl36fO.js} +1 -1
  2. package/dist/{agent-DzA2WwRp.js → agent-D-r1jDDr.js} +1 -1
  3. package/dist/{agents-DQjhvX1j.js → agents-qlUHy5Br.js} +2 -2
  4. package/dist/{auth-choice-COhQLofQ.js → auth-choice-B8hl2zQ_.js} +1 -1
  5. package/dist/{auth-choice-HSjAtQjK.js → auth-choice-DmQV3qVD.js} +1 -1
  6. package/dist/{banner-DX6NfQFm.js → banner-B_FIPskF.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +4 -4
  9. package/dist/bundled/session-memory/handler.js +4 -4
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-Qp19SWyp.js → channel-options-B3FrqAbY.js} +1 -1
  12. package/dist/{channel-options-D9Rpx5rg.js → channel-options-CXChz2Gl.js} +1 -1
  13. package/dist/{channels-cli-CmXNxU4q.js → channels-cli-BqTjGrnV.js} +7 -7
  14. package/dist/{channels-cli-D9VaH6xu.js → channels-cli-DJruxsCI.js} +7 -7
  15. package/dist/{chrome-CmQwGAuL.js → chrome-OTJg3QKn.js} +7 -7
  16. package/dist/{cli-Cn3SPe9j.js → cli-n3Th69Yr.js} +4 -4
  17. package/dist/{cli-Bzqwe7pe.js → cli-oKtyaG-m.js} +4 -4
  18. package/dist/{command-registry-DrE1jnSD.js → command-registry-CL9Kg-yN.js} +10 -10
  19. package/dist/{completion-cli-BBPRS_8d.js → completion-cli-CNVJwiv2.js} +2 -2
  20. package/dist/{completion-cli-aT_WQ3JR.js → completion-cli-CRZLUn7D.js} +1 -1
  21. package/dist/{config-cli-CD6ciGup.js → config-cli-DGd8g_Ct.js} +1 -1
  22. package/dist/{config-cli-DeDb4W-l.js → config-cli-DfRMdVFn.js} +1 -1
  23. package/dist/{configure-CYjlPBqc.js → configure-CCwkHVZQ.js} +2 -2
  24. package/dist/{configure-FUZaNK86.js → configure-DsebNj9T.js} +2 -2
  25. package/dist/control-ui/css/style.css +74 -0
  26. package/dist/control-ui/js/symframe.js +68 -0
  27. package/dist/{deliver-B04yNX82.js → deliver-BiWlR84Y.js} +4 -4
  28. package/dist/{doctor-completion-CAlfPXUW.js → doctor-completion-D4zwYnEN.js} +1 -1
  29. package/dist/{doctor-completion-d7GlA1cP.js → doctor-completion-DEqpjKDZ.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +2 -2
  32. package/dist/{gateway-cli-vsadfWee.js → gateway-cli-BJ6xAu7G.js} +10 -10
  33. package/dist/{gateway-cli-1VbI-_Bq.js → gateway-cli-DyftuEOb.js} +10 -10
  34. package/dist/{glass-ui-ws-5qfhLxPm.js → glass-ui-ws-BLTXXspr.js} +8 -8
  35. package/dist/{glass-ui-ws-BbO6e3iI.js → glass-ui-ws-Bn9B5Ac_.js} +8 -8
  36. package/dist/{hooks-cli-gBkwYJqr.js → hooks-cli-B2V8uacu.js} +5 -5
  37. package/dist/{hooks-cli-C43d1R3q.js → hooks-cli-DfCuxn1F.js} +5 -5
  38. package/dist/index.js +8 -8
  39. package/dist/llm-slug-generator.js +4 -4
  40. package/dist/{manager-DGh2Z3k1.js → manager-BXM8F9zI.js} +1 -1
  41. package/dist/{manager-vRs88zs_.js → manager-CDkFM3pi.js} +1 -1
  42. package/dist/{manager-Dq705UbH.js → manager-DjgKz80p.js} +1 -1
  43. package/dist/{manager-B5P5EgIP.js → manager-IHsU3dHx.js} +1 -1
  44. package/dist/{memory-CH-8Z7r7.js → memory-BLluF2i6.js} +2 -2
  45. package/dist/{memory-DkAg5sbK.js → memory-DgS1AC6J.js} +2 -2
  46. package/dist/{memory-cli-M6FiqgSK.js → memory-cli-DQTznta7.js} +2 -2
  47. package/dist/{memory-cli-CUQGhpc5.js → memory-cli-jmPQDz2s.js} +2 -2
  48. package/dist/{models-6DjS559Z.js → models-BVDQwjWd.js} +2 -2
  49. package/dist/{models-cli-5BfF_sFl.js → models-cli-B1rXMGPT.js} +6 -6
  50. package/dist/{models-cli-D7cfClDO.js → models-cli-DAwcBLHF.js} +5 -5
  51. package/dist/{onboard-BhXq2EXc.js → onboard-BIPhgfaW.js} +1 -1
  52. package/dist/{onboard-we3yileo.js → onboard-C9k0zmHq.js} +1 -1
  53. package/dist/{onboard-channels-BaMPymWt.js → onboard-channels-BEi6XlDW.js} +1 -1
  54. package/dist/{onboard-channels-BlAPAiqf.js → onboard-channels-BkmP8-BZ.js} +1 -1
  55. package/dist/{onboarding-CT9WoHsY.js → onboarding-B1NNMstX.js} +3 -3
  56. package/dist/{onboarding-CWb8cdrF.js → onboarding-B2Km9GAJ.js} +3 -3
  57. package/dist/{onboarding.finalize-DuDe6mVl.js → onboarding.finalize-DJghG2o6.js} +3 -3
  58. package/dist/{onboarding.finalize-Dx44S_JZ.js → onboarding.finalize-xL4ImbkA.js} +4 -4
  59. package/dist/{pi-embedded-B0PVRhQL.js → pi-embedded-LB2aszfv.js} +40 -3
  60. package/dist/{plugin-registry-Dz2TX8GW.js → plugin-registry-C2TXQh4N.js} +1 -1
  61. package/dist/{plugin-registry-BU848TRC.js → plugin-registry-CPEFf3Lg.js} +1 -1
  62. package/dist/plugin-sdk/index.js +6 -6
  63. package/dist/{plugins-cli-CSg1c7CW.js → plugins-cli-Df8zFZuP.js} +5 -5
  64. package/dist/{plugins-cli-gbeibwVM.js → plugins-cli-DiB98WvI.js} +5 -5
  65. package/dist/{program-j2ijuc_q.js → program-BUv-qGcY.js} +10 -10
  66. package/dist/{program-context-CfkRVEf1.js → program-context-B2L7Zll7.js} +18 -18
  67. package/dist/{prompt-select-styled-DQPC6tIG.js → prompt-select-styled-BMyhMWqW.js} +4 -4
  68. package/dist/{prompt-select-styled-T3xNCD3A.js → prompt-select-styled-DCTSxBvr.js} +4 -4
  69. package/dist/{provider-auth-helpers-BVsLvcTN.js → provider-auth-helpers-4CHkGgIn.js} +1 -1
  70. package/dist/{provider-auth-helpers--vDzHS5a.js → provider-auth-helpers-FDwi4Yzt.js} +1 -1
  71. package/dist/{push-apns-MzhuZXok.js → push-apns-BzR8krCb.js} +1 -1
  72. package/dist/{push-apns-CgOg6uMk.js → push-apns-MTIWc9yH.js} +1 -1
  73. package/dist/{pw-ai-DLsdzdgc.js → pw-ai-DY_6l11g.js} +1 -1
  74. package/dist/{register.agent-Dx35KGyf.js → register.agent-CIA-0mpo.js} +8 -8
  75. package/dist/{register.agent-CuN2ad51.js → register.agent-COTicWGL.js} +9 -9
  76. package/dist/{register.configure-BG1-5fPo.js → register.configure-BV_zrg1a.js} +8 -8
  77. package/dist/{register.configure-Du8LMA8y.js → register.configure-RZHIHn4g.js} +8 -8
  78. package/dist/{register.maintenance-CkQe6RmA.js → register.maintenance-B7OkvZK3.js} +8 -8
  79. package/dist/{register.maintenance-BhzxiuPp.js → register.maintenance-Bgr2ezP7.js} +9 -9
  80. package/dist/{register.message-DpbzBOu0.js → register.message-B87VSL0P.js} +5 -5
  81. package/dist/{register.message-tM5npWX-.js → register.message-MnKGR-CU.js} +5 -5
  82. package/dist/{register.onboard-BsWQiEyl.js → register.onboard-B-mQpES-.js} +2 -2
  83. package/dist/{register.onboard-HYjNN28o.js → register.onboard-uE1fuOoP.js} +2 -2
  84. package/dist/{register.setup-oIXgNxYx.js → register.setup-DvW7pEmV.js} +2 -2
  85. package/dist/{register.setup-BcoMdo3D.js → register.setup-fD86QH-Z.js} +2 -2
  86. package/dist/{register.status-health-sessions--sQTwXrv.js → register.status-health-sessions-CZlmKKRr.js} +3 -3
  87. package/dist/{register.status-health-sessions-BRCKvxKZ.js → register.status-health-sessions-DnJHSkWN.js} +3 -3
  88. package/dist/{register.subclis-Coz5gyMy.js → register.subclis-B_zXq-OG.js} +9 -9
  89. package/dist/{run-main-BP0tSdvm.js → run-main-BwejEUC8.js} +17 -17
  90. package/dist/{server-methods-JJSJ-f4L.js → server-methods-DF_vhByu.js} +7 -7
  91. package/dist/{server-methods-DqMh81yf.js → server-methods-fT02jJUv.js} +7 -7
  92. package/dist/{server-node-events-U29PUJ3C.js → server-node-events-B0Ah5xv3.js} +6 -6
  93. package/dist/{server-node-events-DtE36b7p.js → server-node-events-C-SSj_J4.js} +6 -6
  94. package/dist/{status-CjTgAUf9.js → status-9_SJZT-n.js} +1 -1
  95. package/dist/{status-Ep2Jr3PX.js → status-BJK_HWiE.js} +1 -1
  96. package/dist/{status-B4t6u9nZ.js → status-C43mMdxl.js} +1 -1
  97. package/dist/{status-CE9aMOLz.js → status-DYN36pJ0.js} +1 -1
  98. package/dist/{subagent-registry-BV3-ydad.js → subagent-registry-odA9HOvg.js} +40 -3
  99. package/dist/{synthesis-BoUPCqBp.js → synthesis-BI3Vsi69.js} +4 -4
  100. package/dist/{synthesis-B0bH-fke.js → synthesis-BxLob78U.js} +4 -4
  101. package/dist/{synthesis-DKanvEYA.js → synthesis-ByIDCuPD.js} +4 -4
  102. package/dist/{synthesis-CL1PiA4s.js → synthesis-CVmwfUvx.js} +2 -2
  103. package/dist/{unified-runner-BwcHrhjo.js → unified-runner-C8BedLLT.js} +40 -3
  104. package/dist/{unified-runner-CdSyDq5s.js → unified-runner-DJTndfeW.js} +47 -10
  105. package/dist/{update-cli-Dw3aFNp8.js → update-cli-BP1MAHhV.js} +8 -8
  106. package/dist/{update-cli-D1wsCp79.js → update-cli-Ce4anXY7.js} +9 -9
  107. package/extensions/memory-core/package.json +1 -1
  108. package/extensions/msteams/CHANGELOG.md +6 -0
  109. package/extensions/msteams/package.json +1 -1
  110. package/extensions/open-prose/package.json +1 -1
  111. package/extensions/outlook/package.json +1 -1
  112. package/extensions/slack/package.json +1 -1
  113. package/package.json +1 -1
@@ -2408,6 +2408,80 @@ body {
2408
2408
  }
2409
2409
  }
2410
2410
 
2411
+ /* ── Stage I: Context meter card ───────────────────────────────────────
2412
+ Token usage + model name as a persistent card pinned to the top of
2413
+ the stack. Stable id "context-meter"; replaces itself on every
2414
+ assistant message end. order:-1 keeps it above all other cards
2415
+ regardless of insertion sequence (since cards are flex column).
2416
+ */
2417
+ .symframe-card[data-card-type="context"] {
2418
+ order: -1;
2419
+ padding: var(--sf-pad-md) var(--sf-pad-lg);
2420
+ }
2421
+ .symframe-card[data-card-type="context"] .symframe-card-header {
2422
+ font-family: var(--font-mono);
2423
+ font-size: var(--sf-text-sm);
2424
+ letter-spacing: 0.08em;
2425
+ text-transform: uppercase;
2426
+ opacity: 0.7;
2427
+ }
2428
+ .symframe-body-context {
2429
+ display: flex;
2430
+ flex-direction: column;
2431
+ gap: var(--sf-pad-sm);
2432
+ font-family: var(--font-mono);
2433
+ font-size: var(--sf-text-xs);
2434
+ }
2435
+ .symframe-context-model {
2436
+ color: var(--accent-cyan);
2437
+ font-weight: 600;
2438
+ letter-spacing: 0.02em;
2439
+ word-break: break-all;
2440
+ }
2441
+ .symframe-context-tokens {
2442
+ color: var(--text);
2443
+ letter-spacing: 0.02em;
2444
+ }
2445
+ .symframe-context-bar {
2446
+ width: 100%;
2447
+ height: var(--sf-pad-xs);
2448
+ background: var(--sf-cyan-hairline);
2449
+ border-radius: var(--sf-radius-pill);
2450
+ overflow: hidden;
2451
+ border: 1px solid var(--sf-cyan-veil);
2452
+ }
2453
+ .symframe-context-bar-fill {
2454
+ height: 100%;
2455
+ background: linear-gradient(to right, var(--sf-cyan-pulse), var(--sf-cyan-flash));
2456
+ border-radius: var(--sf-radius-pill);
2457
+ transition: width var(--sf-time-normal) ease;
2458
+ }
2459
+ .symframe-context-meta {
2460
+ color: var(--text-dim);
2461
+ font-size: var(--sf-text-xs);
2462
+ opacity: 0.7;
2463
+ }
2464
+ .symframe-body-context[data-context-phase="running"] .symframe-context-bar-fill {
2465
+ animation: symframe-context-pulse var(--sf-time-pulse) ease-in-out infinite;
2466
+ }
2467
+ .symframe-body-context[data-context-phase="error"] .symframe-context-bar-fill {
2468
+ background: var(--sf-pink-strong);
2469
+ }
2470
+ @keyframes symframe-context-pulse {
2471
+ 0%,
2472
+ 100% {
2473
+ opacity: 0.7;
2474
+ }
2475
+ 50% {
2476
+ opacity: 1;
2477
+ }
2478
+ }
2479
+ @media (prefers-reduced-motion: reduce) {
2480
+ .symframe-body-context[data-context-phase="running"] .symframe-context-bar-fill {
2481
+ animation: none;
2482
+ }
2483
+ }
2484
+
2411
2485
  /* ── Response Area ────────────────────────────────────────────────── */
2412
2486
  .response-area {
2413
2487
  position: fixed;
@@ -359,6 +359,69 @@
359
359
  return wrap;
360
360
  }
361
361
 
362
+ // Stage I (3.5.38): context meter. A persistent card pinned to the top
363
+ // of the stack (via CSS order:-1) showing the running token totals for
364
+ // the current session. Updates on every assistant message end; phase
365
+ // flips to settled at agent end and stays visible for the next turn.
366
+ function renderContextBody(card) {
367
+ const wrap = document.createElement("div");
368
+ wrap.className = "symframe-body-context";
369
+ wrap.dataset.contextPhase = card.contextPhase || "running";
370
+
371
+ if (card.contextModel) {
372
+ const model = document.createElement("div");
373
+ model.className = "symframe-context-model";
374
+ model.textContent = card.contextModel;
375
+ wrap.appendChild(model);
376
+ }
377
+
378
+ // Token line — compact summary
379
+ const tokens = document.createElement("div");
380
+ tokens.className = "symframe-context-tokens";
381
+ const inTok = Number(card.contextInput) || 0;
382
+ const outTok = Number(card.contextOutput) || 0;
383
+ const cacheRead = Number(card.contextCacheRead) || 0;
384
+ const cacheWrite = Number(card.contextCacheWrite) || 0;
385
+ const total = Number(card.contextTotal) || inTok + outTok + cacheRead + cacheWrite;
386
+ const parts = [];
387
+ parts.push(`in ${formatTokens(inTok)}`);
388
+ parts.push(`out ${formatTokens(outTok)}`);
389
+ if (cacheRead > 0) {
390
+ parts.push(`cache ${formatTokens(cacheRead)}`);
391
+ }
392
+ parts.push(`· total ${formatTokens(total)}`);
393
+ tokens.textContent = parts.join(" · ");
394
+ wrap.appendChild(tokens);
395
+
396
+ // Window bar — uses a 200k default if no contextWindow provided
397
+ const windowSize = Number(card.contextWindow) || 200_000;
398
+ const pct = Math.min(100, (total / windowSize) * 100);
399
+ const bar = document.createElement("div");
400
+ bar.className = "symframe-context-bar";
401
+ const fill = document.createElement("div");
402
+ fill.className = "symframe-context-bar-fill";
403
+ fill.style.width = `${pct.toFixed(1)}%`;
404
+ bar.appendChild(fill);
405
+ wrap.appendChild(bar);
406
+
407
+ const meta = document.createElement("div");
408
+ meta.className = "symframe-context-meta";
409
+ meta.textContent = `${pct.toFixed(1)}% of ${formatTokens(windowSize)} window`;
410
+ wrap.appendChild(meta);
411
+
412
+ return wrap;
413
+ }
414
+
415
+ function formatTokens(n) {
416
+ if (n < 1000) {
417
+ return String(n);
418
+ }
419
+ if (n < 1_000_000) {
420
+ return `${(n / 1000).toFixed(1)}k`;
421
+ }
422
+ return `${(n / 1_000_000).toFixed(2)}m`;
423
+ }
424
+
362
425
  const renderers = {
363
426
  text: renderTextBody,
364
427
  markdown: renderMarkdownBody,
@@ -370,6 +433,7 @@
370
433
  tool: renderToolBody,
371
434
  memory: renderMemoryBody,
372
435
  thought: renderThoughtBody,
436
+ context: renderContextBody,
373
437
  };
374
438
 
375
439
  function renderBodyForType(card) {
@@ -404,6 +468,10 @@
404
468
  if (card.type === "thought") {
405
469
  return true;
406
470
  }
471
+ // Stage I: context cards carry their data in dedicated fields
472
+ if (card.type === "context") {
473
+ return true;
474
+ }
407
475
  return false;
408
476
  }
409
477
 
@@ -9,7 +9,7 @@ import { t as formatCliCommand } from "./command-format-BrrHNE8r.js";
9
9
  import { n as isPidAlive, t as resolveProcessScopedMap } from "./process-scoped-map-B-dHc_9I.js";
10
10
  import { c as loadConfig, d as writeConfigFile, m as parseByteSize, p as parseDurationMs, s as createConfigIO, t as SsrFBlockedError } from "./ssrf-DNhyFMRW.js";
11
11
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.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-CmQwGAuL.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-OTJg3QKn.js";
13
13
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Dm4gX4Tl.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-C89ppfp9.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-C7fBKoOI.js";
@@ -939,7 +939,7 @@ function isModuleNotFoundError(err) {
939
939
  }
940
940
  async function loadPwAiModule(mode) {
941
941
  try {
942
- return await import("./pw-ai-DLsdzdgc.js");
942
+ return await import("./pw-ai-DY_6l11g.js");
943
943
  } catch (err) {
944
944
  if (mode === "soft") return null;
945
945
  if (isModuleNotFoundError(err)) return null;
@@ -3536,11 +3536,11 @@ function createProfileContext(opts, profile) {
3536
3536
  const userDataDir = resolveSymiUserDataDir(profile.name);
3537
3537
  const profileState = getProfileState();
3538
3538
  if (await isHttpReachable(300) && !profileState.running) try {
3539
- await (await import("./pw-ai-DLsdzdgc.js")).closePlaywrightBrowserConnection();
3539
+ await (await import("./pw-ai-DY_6l11g.js")).closePlaywrightBrowserConnection();
3540
3540
  } catch {}
3541
3541
  if (profileState.running) await stopRunningBrowser();
3542
3542
  try {
3543
- await (await import("./pw-ai-DLsdzdgc.js")).closePlaywrightBrowserConnection();
3543
+ await (await import("./pw-ai-DY_6l11g.js")).closePlaywrightBrowserConnection();
3544
3544
  } catch {}
3545
3545
  if (!fs.existsSync(userDataDir)) return {
3546
3546
  moved: false,
@@ -1,7 +1,7 @@
1
1
  import { n as resolveCliName } from "./cli-name-DY75UA5M.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-Ctw1Rb_n.js";
3
3
  import { t as note } from "./note-BIAQpZxi.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BBPRS_8d.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CNVJwiv2.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { n as resolveCliName } from "./cli-name-CzMV-gJF.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
3
3
  import { t as note } from "./note-D9FXI2qW.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-aT_WQ3JR.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CRZLUn7D.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
package/dist/entry.js CHANGED
@@ -2315,7 +2315,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2315
2315
  applyCliProfileEnv({ profile: parsed.profile });
2316
2316
  process$1.argv = parsed.argv;
2317
2317
  }
2318
- import("./run-main-BP0tSdvm.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2318
+ import("./run-main-BwejEUC8.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2319
2319
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2320
2320
  process$1.exitCode = 1;
2321
2321
  });
@@ -6,7 +6,7 @@ import { _ as DEFAULT_PROVIDER, g as DEFAULT_MODEL, p as resolveThinkingDefault
6
6
  import { a as resolveAgentIdentity } from "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./plugins-CZ_mYwXq.js";
8
8
  import "./replies-0nzkXt6o.js";
9
- import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-B0PVRhQL.js";
9
+ import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-LB2aszfv.js";
10
10
  import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-q23ar_Pm.js";
11
11
  import "./diagnostic-BdRnGknC.js";
12
12
  import "./diagnostic-session-state-DpxCUzoM.js";
@@ -23,7 +23,7 @@ import "./errors-BEU7IHU6.js";
23
23
  import "./tokens-yWO1wD7Z.js";
24
24
  import "./thinking-DgjGxdSP.js";
25
25
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-BsT3BvfH.js";
26
- import "./manager-DGh2Z3k1.js";
26
+ import "./manager-BXM8F9zI.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -26,7 +26,7 @@ import "./pairing-token-B-OTYROz.js";
26
26
  import { t as safeEqualSecret } from "./secret-equal-CDUVxXmp.js";
27
27
  import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-TZUXtwGR.js";
28
28
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-B2SPYrh4.js";
29
- import { $ as normalizeHttpWebhookUrl, $t as resolveInputFileLimits, Cn as emitAgentEvent, Ct as deferGatewayRestartUntilIdle, D as getActiveEmbeddedRunCount, En as registerAgentRunContext, Et as markGatewaySigusr1RestartHandled, F as createSymiTools, Gt as registerUnhandledRejectionHandler, H as resolveOutboundSessionRoute, Jt as DEFAULT_INPUT_MAX_REDIRECTS, Kt as DEFAULT_INPUT_IMAGE_MAX_BYTES, M as resolveModelProfile, Ot as setGatewaySigusr1RestartPolicy, Qt as normalizeMimeList, R as readLatestAssistantReply, S as getTotalPendingReplies, Sn as clearAgentRunContext, St as consumeGatewaySigusr1RestartAuthorization, T as runAgentTurn, Tn as onAgentEvent, Tt as isGatewaySigusr1RestartExternallyAllowed, U as resolveOutboundTarget, W as resolveSessionDeliveryTarget, Xt as extractFileContentFromSource, Y as runWithModelFallback, Yt as DEFAULT_INPUT_TIMEOUT_MS, Zt as extractImageContentFromSource, _ as requestBodyErrorToText, _n as getTotalQueueSize, _t as isExternalHookSession, at as normalizeOptionalText, bn as waitForActiveTasks, ct as migrateLegacyCronPayload, dn as formatUserTime, dt as stripLegacyDeliveryFields, f as getPluginToolMeta, fn as resolveUserTimeFormat, g as readJsonBodyWithLimit, gn as getActiveTaskCount, gt as getHookType, h as handleSlackHttpRequest, ht as detectSuspiciousPatterns, i as listDescendantRunsForRequester, it as normalizeOptionalSessionKey, j as classifyOutboundMessage, kt as setPreRestartDeferralCheck, l as applyToolPolicyPipeline, ln as ToolInputError, lt as buildDeliveryFromLegacyPayload, m as loadSymiPlugins, mt as buildSafeExternalPrompt, n as countActiveRunsForSession, nt as inferLegacyName, ot as normalizePayloadToSystemText, pn as resolveUserTimezone, q as resetDirectoryCache, qt as DEFAULT_INPUT_IMAGE_MIMES, r as initSubagentRegistry, rt as normalizeOptionalAgentId, s as runSubagentAnnounceFlow, st as normalizeRequiredName, t as countActiveDescendantRuns, tn as resolveAgentTimeoutMs, u as buildDefaultToolPolicyPipelineSteps, ut as hasLegacyDeliveryHints, v as buildHistoryContextFromEntries, vn as resetAllLanes, wn as getAgentRunContext, wt as emitGatewayRestart, xn as CommandLane, yn as setCommandLaneConcurrency, z as resolveAnnounceTargetFromKey } from "./subagent-registry-BV3-ydad.js";
29
+ import { $ as normalizeHttpWebhookUrl, $t as resolveInputFileLimits, Cn as emitAgentEvent, Ct as deferGatewayRestartUntilIdle, D as getActiveEmbeddedRunCount, En as registerAgentRunContext, Et as markGatewaySigusr1RestartHandled, F as createSymiTools, Gt as registerUnhandledRejectionHandler, H as resolveOutboundSessionRoute, Jt as DEFAULT_INPUT_MAX_REDIRECTS, Kt as DEFAULT_INPUT_IMAGE_MAX_BYTES, M as resolveModelProfile, Ot as setGatewaySigusr1RestartPolicy, Qt as normalizeMimeList, R as readLatestAssistantReply, S as getTotalPendingReplies, Sn as clearAgentRunContext, St as consumeGatewaySigusr1RestartAuthorization, T as runAgentTurn, Tn as onAgentEvent, Tt as isGatewaySigusr1RestartExternallyAllowed, U as resolveOutboundTarget, W as resolveSessionDeliveryTarget, Xt as extractFileContentFromSource, Y as runWithModelFallback, Yt as DEFAULT_INPUT_TIMEOUT_MS, Zt as extractImageContentFromSource, _ as requestBodyErrorToText, _n as getTotalQueueSize, _t as isExternalHookSession, at as normalizeOptionalText, bn as waitForActiveTasks, ct as migrateLegacyCronPayload, dn as formatUserTime, dt as stripLegacyDeliveryFields, f as getPluginToolMeta, fn as resolveUserTimeFormat, g as readJsonBodyWithLimit, gn as getActiveTaskCount, gt as getHookType, h as handleSlackHttpRequest, ht as detectSuspiciousPatterns, i as listDescendantRunsForRequester, it as normalizeOptionalSessionKey, j as classifyOutboundMessage, kt as setPreRestartDeferralCheck, l as applyToolPolicyPipeline, ln as ToolInputError, lt as buildDeliveryFromLegacyPayload, m as loadSymiPlugins, mt as buildSafeExternalPrompt, n as countActiveRunsForSession, nt as inferLegacyName, ot as normalizePayloadToSystemText, pn as resolveUserTimezone, q as resetDirectoryCache, qt as DEFAULT_INPUT_IMAGE_MIMES, r as initSubagentRegistry, rt as normalizeOptionalAgentId, s as runSubagentAnnounceFlow, st as normalizeRequiredName, t as countActiveDescendantRuns, tn as resolveAgentTimeoutMs, u as buildDefaultToolPolicyPipelineSteps, ut as hasLegacyDeliveryHints, v as buildHistoryContextFromEntries, vn as resetAllLanes, wn as getAgentRunContext, wt as emitGatewayRestart, xn as CommandLane, yn as setCommandLaneConcurrency, z as resolveAnnounceTargetFromKey } from "./subagent-registry-odA9HOvg.js";
30
30
  import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-Dn6VXn4p.js";
31
31
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
32
32
  import "./send-Dq252-bi.js";
@@ -56,8 +56,8 @@ import "./model-auth-Byr7Gic_.js";
56
56
  import "./github-copilot-token-B5y4__YM.js";
57
57
  import "./models-config-CiR_RUxw.js";
58
58
  import { a as resolveAgentIdentity } from "./reply-prefix-DV3KhOhL.js";
59
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DkAg5sbK.js";
60
- import { c as resolveMemorySearchConfig } from "./manager-vRs88zs_.js";
59
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DgS1AC6J.js";
60
+ import { c as resolveMemorySearchConfig } from "./manager-CDkFM3pi.js";
61
61
  import "./sqlite-9jF_eajd.js";
62
62
  import "./chunk-B2lBXhR0.js";
63
63
  import "./markdown-tables-BEdkErjm.js";
@@ -90,7 +90,7 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
90
90
  import { n as runCommandWithRuntime } from "./cli-utils-DXfA5936.js";
91
91
  import { t as formatHelpExamples } from "./help-format-Dbp8yEhl.js";
92
92
  import { n as withProgress } from "./progress-CI19Xh3z.js";
93
- import "./memory-cli-CUQGhpc5.js";
93
+ import "./memory-cli-jmPQDz2s.js";
94
94
  import "./logging-UO6tk8Em.js";
95
95
  import "./replies-CLREUzzB.js";
96
96
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-06k__URR.js";
@@ -117,17 +117,17 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
117
117
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Dl4ZrOve.js";
118
118
  import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-DyncRBKq.js";
119
119
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-XbH0AYJ4.js";
120
- import { i as pickGatewaySelfPresence } from "./status-B4t6u9nZ.js";
120
+ import { i as pickGatewaySelfPresence } from "./status-C43mMdxl.js";
121
121
  import { a as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-Dkwuq8ta.js";
122
122
  import { n as createDefaultDeps, t as createOutboundSendDeps } from "./outbound-send-deps-BCyarBRf.js";
123
123
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dnz69KRU.js";
124
124
  import { t as ensureSymiCliOnPath } from "./path-env-SUrcTSJ-.js";
125
125
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-DLOnLuop.js";
126
- import { t as runOnboardingWizard } from "./onboarding-CWb8cdrF.js";
127
- import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-DqMh81yf.js";
128
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-MzhuZXok.js";
126
+ import { t as runOnboardingWizard } from "./onboarding-B2Km9GAJ.js";
127
+ import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-fT02jJUv.js";
128
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-BzR8krCb.js";
129
129
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-BYBwPfuu.js";
130
- import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-DzA2WwRp.js";
130
+ import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-D-r1jDDr.js";
131
131
  import { s as loadAgentIdentityFromWorkspace } from "./agents.config-CqfMQEiy.js";
132
132
  import "./dm-policy-shared-BtrdvOIT.js";
133
133
  import "./node-service-CZlyWmxa.js";
@@ -12046,7 +12046,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
12046
12046
  });
12047
12047
  let glassUiBridgeCleanup = null;
12048
12048
  if (!minimalTestGateway) {
12049
- const { createGlassUiBridge } = await import("./glass-ui-ws-BbO6e3iI.js");
12049
+ const { createGlassUiBridge } = await import("./glass-ui-ws-Bn9B5Ac_.js");
12050
12050
  glassUiBridgeCleanup = createGlassUiBridge({
12051
12051
  wss: glassUiWss,
12052
12052
  context: gatewayRequestContext,
@@ -1,4 +1,4 @@
1
- import { $ as isExternalHookSession, $t as emitAgentEvent, A as resolveSessionDeliveryTarget, At as resolveInputFileLimits, B as normalizeOptionalSessionKey, Bt as countActiveDescendantRuns, Cn as CommandLane, Ct as DEFAULT_INPUT_IMAGE_MAX_BYTES, Dn as runWithModelFallback, Dt as extractFileContentFromSource, Et as DEFAULT_INPUT_TIMEOUT_MS, F as normalizeHttpWebhookUrl, G as buildDeliveryFromLegacyPayload, H as normalizePayloadToSystemText, Ht as initSubagentRegistry, Jt as readLatestAssistantReply, K as hasLegacyDeliveryHints, Kt as resolveAgentTimeoutMs, N as resetDirectoryCache, O as resolveOutboundSessionRoute, Ot as extractImageContentFromSource, Q as getHookType, Qt as clearAgentRunContext, R as inferLegacyName, S as createSymiTools, Sn as waitForActiveTasks, T as resolveAnnounceTargetFromKey, Tn as resolveModelProfile, Tt as DEFAULT_INPUT_MAX_REDIRECTS, U as normalizeRequiredName, Ut as listDescendantRunsForRequester, V as normalizeOptionalText, Vt as countActiveRunsForSession, W as migrateLegacyCronPayload, X as buildSafeExternalPrompt, Z as detectSuspiciousPatterns, a as getPluginToolMeta, an as getActiveEmbeddedRunCount, at as isGatewaySigusr1RestartExternallyAllowed, bn as resetAllLanes, c as handleSlackHttpRequest, cn as registerUnhandledRejectionHandler, ct as setGatewaySigusr1RestartPolicy, d as buildHistoryContextFromEntries, dn as formatUserTime, en as getAgentRunContext, fn as resolveUserTimeFormat, h as getTotalPendingReplies, it as emitGatewayRestart, k as resolveOutboundTarget, kt as normalizeMimeList, l as readJsonBodyWithLimit, ln as ToolInputError, lt as setPreRestartDeferralCheck, n as applyToolPolicyPipeline, nn as registerAgentRunContext, nt as consumeGatewaySigusr1RestartAuthorization, ot as markGatewaySigusr1RestartHandled, pn as resolveUserTimezone, q as stripLegacyDeliveryFields, qt as runSubagentAnnounceFlow, r as buildDefaultToolPolicyPipelineSteps, rt as deferGatewayRestartUntilIdle, s as loadSymiPlugins, t as runAgentTurn, tn as onAgentEvent, u as requestBodyErrorToText, vn as getActiveTaskCount, wn as classifyOutboundMessage, wt as DEFAULT_INPUT_IMAGE_MIMES, xn as setCommandLaneConcurrency, yn as getTotalQueueSize, z as normalizeOptionalAgentId } from "./unified-runner-BwcHrhjo.js";
1
+ import { $ as isExternalHookSession, $t as emitAgentEvent, A as resolveSessionDeliveryTarget, At as resolveInputFileLimits, B as normalizeOptionalSessionKey, Bt as countActiveDescendantRuns, Cn as CommandLane, Ct as DEFAULT_INPUT_IMAGE_MAX_BYTES, Dn as runWithModelFallback, Dt as extractFileContentFromSource, Et as DEFAULT_INPUT_TIMEOUT_MS, F as normalizeHttpWebhookUrl, G as buildDeliveryFromLegacyPayload, H as normalizePayloadToSystemText, Ht as initSubagentRegistry, Jt as readLatestAssistantReply, K as hasLegacyDeliveryHints, Kt as resolveAgentTimeoutMs, N as resetDirectoryCache, O as resolveOutboundSessionRoute, Ot as extractImageContentFromSource, Q as getHookType, Qt as clearAgentRunContext, R as inferLegacyName, S as createSymiTools, Sn as waitForActiveTasks, T as resolveAnnounceTargetFromKey, Tn as resolveModelProfile, Tt as DEFAULT_INPUT_MAX_REDIRECTS, U as normalizeRequiredName, Ut as listDescendantRunsForRequester, V as normalizeOptionalText, Vt as countActiveRunsForSession, W as migrateLegacyCronPayload, X as buildSafeExternalPrompt, Z as detectSuspiciousPatterns, a as getPluginToolMeta, an as getActiveEmbeddedRunCount, at as isGatewaySigusr1RestartExternallyAllowed, bn as resetAllLanes, c as handleSlackHttpRequest, cn as registerUnhandledRejectionHandler, ct as setGatewaySigusr1RestartPolicy, d as buildHistoryContextFromEntries, dn as formatUserTime, en as getAgentRunContext, fn as resolveUserTimeFormat, h as getTotalPendingReplies, it as emitGatewayRestart, k as resolveOutboundTarget, kt as normalizeMimeList, l as readJsonBodyWithLimit, ln as ToolInputError, lt as setPreRestartDeferralCheck, n as applyToolPolicyPipeline, nn as registerAgentRunContext, nt as consumeGatewaySigusr1RestartAuthorization, ot as markGatewaySigusr1RestartHandled, pn as resolveUserTimezone, q as stripLegacyDeliveryFields, qt as runSubagentAnnounceFlow, r as buildDefaultToolPolicyPipelineSteps, rt as deferGatewayRestartUntilIdle, s as loadSymiPlugins, t as runAgentTurn, tn as onAgentEvent, u as requestBodyErrorToText, vn as getActiveTaskCount, wn as classifyOutboundMessage, wt as DEFAULT_INPUT_IMAGE_MIMES, xn as setCommandLaneConcurrency, yn as getTotalQueueSize, z as normalizeOptionalAgentId } from "./unified-runner-C8BedLLT.js";
2
2
  import { A as isRich, E as setVerbose, H as createInternalHookEvent, M as getChildLogger, N as getLogger, P as getResolvedLoggerSettings, U as registerInternalHook, V as clearInternalHooks, W as triggerInternalHook, j as theme, k as colorize, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort, v as expandHomePrefix } from "./paths-By0XjHBk.js";
4
4
  import { h as resolveUserPath, s as ensureDir, t as CONFIG_DIR, v as shortenHomePath, x as truncateUtf16Safe } from "./utils-CTPsqyE_.js";
@@ -58,8 +58,8 @@ import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-c
58
58
  import { C as enqueueSystemEvent, a as loadCombinedSessionStoreForGateway, f as formatRestartSentinelMessage, i as listSessionsFromStore, m as summarizeRestartSentinel, o as loadSessionEntry, u as consumeRestartSentinel, x as lookupContextTokens } from "./session-utils-Cs1jlD-q.js";
59
59
  import { r as getMachineDisplayName } from "./with-timeout-DPR4A2dx.js";
60
60
  import { a as resolveAgentIdentity } from "./reply-prefix-BFNeXT65.js";
61
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-CH-8Z7r7.js";
62
- import { c as resolveMemorySearchConfig } from "./manager-Dq705UbH.js";
61
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BLluF2i6.js";
62
+ import { c as resolveMemorySearchConfig } from "./manager-DjgKz80p.js";
63
63
  import "./sqlite-Cod7C5ba.js";
64
64
  import "./chunk-BxfKjCUx.js";
65
65
  import "./markdown-tables-CS1Tvb3z.js";
@@ -92,7 +92,7 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
92
92
  import { n as runCommandWithRuntime } from "./cli-utils-CuyGL3rq.js";
93
93
  import { t as formatHelpExamples } from "./help-format-7hFcsqss.js";
94
94
  import { n as withProgress } from "./progress-swt2y17x.js";
95
- import "./memory-cli-M6FiqgSK.js";
95
+ import "./memory-cli-DQTznta7.js";
96
96
  import "./logging-BWknayJl.js";
97
97
  import "./replies-CbXXjn9X.js";
98
98
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-H2t-Xkfc.js";
@@ -124,15 +124,15 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
124
124
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-1xPo9ygd.js";
125
125
  import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-C_3fAFeS.js";
126
126
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CWTnBKX8.js";
127
- import { r as pickGatewaySelfPresence } from "./status-Ep2Jr3PX.js";
127
+ import { r as pickGatewaySelfPresence } from "./status-BJK_HWiE.js";
128
128
  import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-7UqIGG8U.js";
129
129
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CJQ97d4u.js";
130
130
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BCL_K7kx.js";
131
- import { t as runOnboardingWizard } from "./onboarding-CT9WoHsY.js";
132
- import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-JJSJ-f4L.js";
133
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CgOg6uMk.js";
131
+ import { t as runOnboardingWizard } from "./onboarding-B1NNMstX.js";
132
+ import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-DF_vhByu.js";
133
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-MTIWc9yH.js";
134
134
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CGaQ7-Vb.js";
135
- import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-CDO1qw1v.js";
135
+ import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-BTGl36fO.js";
136
136
  import { t as createOutboundSendDeps } from "./outbound-send-deps--SpwgFhS.js";
137
137
  import { s as loadAgentIdentityFromWorkspace } from "./agents.config-B7sNDvhz.js";
138
138
  import "./dm-policy-shared-CeFt0nch.js";
@@ -12051,7 +12051,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
12051
12051
  });
12052
12052
  let glassUiBridgeCleanup = null;
12053
12053
  if (!minimalTestGateway) {
12054
- const { createGlassUiBridge } = await import("./glass-ui-ws-5qfhLxPm.js");
12054
+ const { createGlassUiBridge } = await import("./glass-ui-ws-BLTXXspr.js");
12055
12055
  glassUiBridgeCleanup = createGlassUiBridge({
12056
12056
  wss: glassUiWss,
12057
12057
  context: gatewayRequestContext,
@@ -1,4 +1,4 @@
1
- import { Tn as resolveModelProfile } from "./unified-runner-BwcHrhjo.js";
1
+ import { Tn as resolveModelProfile } from "./unified-runner-C8BedLLT.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
@@ -50,8 +50,8 @@ import "./session-cost-usage-D3mgssM_.js";
50
50
  import "./session-utils-Cs1jlD-q.js";
51
51
  import "./with-timeout-DPR4A2dx.js";
52
52
  import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-CH-8Z7r7.js";
54
- import "./manager-Dq705UbH.js";
53
+ import "./memory-BLluF2i6.js";
54
+ import "./manager-DjgKz80p.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -82,7 +82,7 @@ import "./links-Bqr0FxXx.js";
82
82
  import "./cli-utils-CuyGL3rq.js";
83
83
  import "./help-format-7hFcsqss.js";
84
84
  import "./progress-swt2y17x.js";
85
- import "./memory-cli-M6FiqgSK.js";
85
+ import "./memory-cli-DQTznta7.js";
86
86
  import "./logging-BWknayJl.js";
87
87
  import "./replies-CbXXjn9X.js";
88
88
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -101,13 +101,13 @@ import "./service-e6MzlLCd.js";
101
101
  import "./diagnostics-DlZODdRf.js";
102
102
  import "./table-0A3xKJVC.js";
103
103
  import "./audit-C_3fAFeS.js";
104
- import "./status-Ep2Jr3PX.js";
104
+ import "./status-BJK_HWiE.js";
105
105
  import "./health-7UqIGG8U.js";
106
106
  import "./control-ui-assets-CJQ97d4u.js";
107
107
  import "./update-check-BCL_K7kx.js";
108
- import { n as handleGatewayRequest } from "./server-methods-JJSJ-f4L.js";
109
- import "./push-apns-CgOg6uMk.js";
110
- import "./agent-CDO1qw1v.js";
108
+ import { n as handleGatewayRequest } from "./server-methods-DF_vhByu.js";
109
+ import "./push-apns-MTIWc9yH.js";
110
+ import "./agent-BTGl36fO.js";
111
111
  import "./agents.config-B7sNDvhz.js";
112
112
  import "./dm-policy-shared-CeFt0nch.js";
113
113
  import "./node-service-BH08wY5j.js";
@@ -17,7 +17,7 @@ import "./client-BOd5o3Kp.js";
17
17
  import "./call-DTshgdlW.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import { M as resolveModelProfile } from "./subagent-registry-BV3-ydad.js";
20
+ import { M as resolveModelProfile } from "./subagent-registry-odA9HOvg.js";
21
21
  import "./sessions-Dn6VXn4p.js";
22
22
  import "./plugins-BsEhWvLn.js";
23
23
  import "./send-Dq252-bi.js";
@@ -47,8 +47,8 @@ import "./model-auth-Byr7Gic_.js";
47
47
  import "./github-copilot-token-B5y4__YM.js";
48
48
  import "./models-config-CiR_RUxw.js";
49
49
  import "./reply-prefix-DV3KhOhL.js";
50
- import "./memory-DkAg5sbK.js";
51
- import "./manager-vRs88zs_.js";
50
+ import "./memory-DgS1AC6J.js";
51
+ import "./manager-CDkFM3pi.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -79,7 +79,7 @@ import "./links-Dnmd-RS-.js";
79
79
  import "./cli-utils-DXfA5936.js";
80
80
  import "./help-format-Dbp8yEhl.js";
81
81
  import "./progress-CI19Xh3z.js";
82
- import "./memory-cli-CUQGhpc5.js";
82
+ import "./memory-cli-jmPQDz2s.js";
83
83
  import "./logging-UO6tk8Em.js";
84
84
  import "./replies-CLREUzzB.js";
85
85
  import "./pi-tools.policy-06k__URR.js";
@@ -95,14 +95,14 @@ import "./service-DYpU1ajf.js";
95
95
  import "./diagnostics-D2oNwzue.js";
96
96
  import "./table-D0JXlEhQ.js";
97
97
  import "./audit-DyncRBKq.js";
98
- import "./status-B4t6u9nZ.js";
98
+ import "./status-C43mMdxl.js";
99
99
  import "./health-Dkwuq8ta.js";
100
100
  import "./outbound-send-deps-BCyarBRf.js";
101
101
  import "./control-ui-assets-Dnz69KRU.js";
102
102
  import "./update-check-DLOnLuop.js";
103
- import { n as handleGatewayRequest } from "./server-methods-DqMh81yf.js";
104
- import "./push-apns-MzhuZXok.js";
105
- import "./agent-DzA2WwRp.js";
103
+ import { n as handleGatewayRequest } from "./server-methods-fT02jJUv.js";
104
+ import "./push-apns-BzR8krCb.js";
105
+ import "./agent-D-r1jDDr.js";
106
106
  import "./agents.config-CqfMQEiy.js";
107
107
  import "./dm-policy-shared-BtrdvOIT.js";
108
108
  import "./node-service-CZlyWmxa.js";
@@ -19,7 +19,7 @@ import "./client-BOd5o3Kp.js";
19
19
  import "./call-DTshgdlW.js";
20
20
  import "./message-channel-DXToSaWK.js";
21
21
  import "./pairing-token-B-OTYROz.js";
22
- import "./subagent-registry-BV3-ydad.js";
22
+ import "./subagent-registry-odA9HOvg.js";
23
23
  import "./sessions-Dn6VXn4p.js";
24
24
  import "./plugins-BsEhWvLn.js";
25
25
  import "./send-Dq252-bi.js";
@@ -49,8 +49,8 @@ import "./model-auth-Byr7Gic_.js";
49
49
  import "./github-copilot-token-B5y4__YM.js";
50
50
  import "./models-config-CiR_RUxw.js";
51
51
  import "./reply-prefix-DV3KhOhL.js";
52
- import "./memory-DkAg5sbK.js";
53
- import "./manager-vRs88zs_.js";
52
+ import "./memory-DgS1AC6J.js";
53
+ import "./manager-CDkFM3pi.js";
54
54
  import "./sqlite-9jF_eajd.js";
55
55
  import "./chunk-B2lBXhR0.js";
56
56
  import "./markdown-tables-BEdkErjm.js";
@@ -81,7 +81,7 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
81
81
  import "./cli-utils-DXfA5936.js";
82
82
  import "./help-format-Dbp8yEhl.js";
83
83
  import "./progress-CI19Xh3z.js";
84
- import "./memory-cli-CUQGhpc5.js";
84
+ import "./memory-cli-jmPQDz2s.js";
85
85
  import "./logging-UO6tk8Em.js";
86
86
  import "./replies-CLREUzzB.js";
87
87
  import "./pi-tools.policy-06k__URR.js";
@@ -90,7 +90,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
90
90
  import { t as renderTable } from "./table-D0JXlEhQ.js";
91
91
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-BEOJvHML.js";
92
92
  import { t as buildWorkspaceHookStatus } from "./hooks-status-DoeoPJbZ.js";
93
- import { t as buildPluginStatusReport } from "./status-CE9aMOLz.js";
93
+ import { t as buildPluginStatusReport } from "./status-DYN36pJ0.js";
94
94
  import path from "node:path";
95
95
  import fs from "node:fs";
96
96
  import fs$1 from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import "./unified-runner-BwcHrhjo.js";
1
+ import "./unified-runner-C8BedLLT.js";
2
2
  import { j as theme } from "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import { h as resolveUserPath, t as CONFIG_DIR, v as shortenHomePath } from "./utils-CTPsqyE_.js";
@@ -52,8 +52,8 @@ import "./session-cost-usage-D3mgssM_.js";
52
52
  import "./session-utils-Cs1jlD-q.js";
53
53
  import "./with-timeout-DPR4A2dx.js";
54
54
  import "./reply-prefix-BFNeXT65.js";
55
- import "./memory-CH-8Z7r7.js";
56
- import "./manager-Dq705UbH.js";
55
+ import "./memory-BLluF2i6.js";
56
+ import "./manager-DjgKz80p.js";
57
57
  import "./sqlite-Cod7C5ba.js";
58
58
  import "./chunk-BxfKjCUx.js";
59
59
  import "./markdown-tables-CS1Tvb3z.js";
@@ -84,7 +84,7 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
84
84
  import "./cli-utils-CuyGL3rq.js";
85
85
  import "./help-format-7hFcsqss.js";
86
86
  import "./progress-swt2y17x.js";
87
- import "./memory-cli-M6FiqgSK.js";
87
+ import "./memory-cli-DQTznta7.js";
88
88
  import "./logging-BWknayJl.js";
89
89
  import "./replies-CbXXjn9X.js";
90
90
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -94,7 +94,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
94
94
  import { t as renderTable } from "./table-0A3xKJVC.js";
95
95
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-dN7eNg6n.js";
96
96
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CvKe3Bfk.js";
97
- import { t as buildPluginStatusReport } from "./status-CjTgAUf9.js";
97
+ import { t as buildPluginStatusReport } from "./status-9_SJZT-n.js";
98
98
  import path from "node:path";
99
99
  import fs from "node:fs";
100
100
  import fs$1 from "node:fs/promises";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { En as composeTurnMiddleware, Mt as applyTemplate, Nt as prepareAgentRun, _ as withContextOverflowRecovery, b as prepareReplyTurn, dt as resolveCommitHash, sn as installUnhandledRejectionHandler, t as runAgentTurn, x as withContextUsageWarning, y as buildAgentTurnParams } from "./unified-runner-BwcHrhjo.js";
2
+ import { En as composeTurnMiddleware, Mt as applyTemplate, Nt as prepareAgentRun, _ as withContextOverflowRecovery, b as prepareReplyTurn, dt as resolveCommitHash, sn as installUnhandledRejectionHandler, t as runAgentTurn, x as withContextUsageWarning, y as buildAgentTurnParams } from "./unified-runner-C8BedLLT.js";
3
3
  import { A as isRich, E as setVerbose, j as theme } from "./registry-Sbac4a4z.js";
4
4
  import "./paths-By0XjHBk.js";
5
5
  import { c as escapeRegExp, d as normalizeE164 } from "./utils-CTPsqyE_.js";
@@ -52,8 +52,8 @@ import "./session-cost-usage-D3mgssM_.js";
52
52
  import "./session-utils-Cs1jlD-q.js";
53
53
  import "./with-timeout-DPR4A2dx.js";
54
54
  import "./reply-prefix-BFNeXT65.js";
55
- import "./memory-CH-8Z7r7.js";
56
- import "./manager-Dq705UbH.js";
55
+ import "./memory-BLluF2i6.js";
56
+ import "./manager-DjgKz80p.js";
57
57
  import "./sqlite-Cod7C5ba.js";
58
58
  import "./chunk-BxfKjCUx.js";
59
59
  import "./markdown-tables-CS1Tvb3z.js";
@@ -84,7 +84,7 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
84
84
  import "./cli-utils-CuyGL3rq.js";
85
85
  import "./help-format-7hFcsqss.js";
86
86
  import "./progress-swt2y17x.js";
87
- import "./memory-cli-M6FiqgSK.js";
87
+ import "./memory-cli-DQTznta7.js";
88
88
  import "./logging-BWknayJl.js";
89
89
  import "./replies-CbXXjn9X.js";
90
90
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -94,10 +94,10 @@ import { t as ensureSymiCliOnPath } from "./path-env-BY88zbPR.js";
94
94
  import { t as assertSupportedRuntime } from "./runtime-guard-CWA00ZXa.js";
95
95
  import "./ports-r7LBic2V.js";
96
96
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-D6PT4jl6.js";
97
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-CfkRVEf1.js";
97
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-B2L7Zll7.js";
98
98
  import "./catalog-BptA-dUv.js";
99
- import "./plugin-registry-BU848TRC.js";
100
- import { n as resolveCliChannelOptions } from "./channel-options-Qp19SWyp.js";
99
+ import "./plugin-registry-CPEFf3Lg.js";
100
+ import { n as resolveCliChannelOptions } from "./channel-options-B3FrqAbY.js";
101
101
  import process$1 from "node:process";
102
102
  import { fileURLToPath } from "node:url";
103
103
  import path from "node:path";
@@ -563,7 +563,7 @@ function registerPreActionHooks(program, programVersion) {
563
563
  commandPath
564
564
  });
565
565
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
566
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BU848TRC.js").then((n) => n.n);
566
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-CPEFf3Lg.js").then((n) => n.n);
567
567
  ensurePluginRegistryLoaded();
568
568
  }
569
569
  });