@symerian/symi 2.1.10 → 2.1.11

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 (85) hide show
  1. package/dist/{accounts-q7Sc1Tpi.js → accounts-CWktKM8a.js} +1 -1
  2. package/dist/{accounts-K_r7OhcD.js → accounts-qtxJ-6em.js} +1 -1
  3. package/dist/{accounts-CRksecBH.js → accounts-tNElYrCH.js} +14 -14
  4. package/dist/{active-listener-DXU1iEiq.js → active-listener-C9r8ZB9m.js} +1 -1
  5. package/dist/{agent-scope-BkCGKhZd.js → agent-scope-BxoUQqgM.js} +3 -3
  6. package/dist/{audio-preflight-BbZjr38h.js → audio-preflight-BZIRAXlv.js} +29 -29
  7. package/dist/{audio-preflight-IRs02MgH.js → audio-preflight-BnwAAlLw.js} +4 -4
  8. package/dist/{bindings-Bv-cp2U5.js → bindings-B7Ke6LJi.js} +2 -2
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +53 -53
  11. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  12. package/dist/bundled/command-logger/handler.js +1 -1
  13. package/dist/bundled/session-memory/handler.js +53 -53
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{channel-activity-IwGy5fjY.js → channel-activity-CsM_hJ_s.js} +1 -1
  16. package/dist/{chrome-B4c8SEkN.js → chrome-791kNCCB.js} +13 -13
  17. package/dist/{chrome-CqribT6Z.js → chrome-DPHgzMPu.js} +7 -7
  18. package/dist/{chunk-CxYL-OXO.js → chunk-BW5f05BR.js} +1 -1
  19. package/dist/{command-format-HKbBegfJ.js → command-format-BaxDnULz.js} +1 -1
  20. package/dist/{commands-registry-BqkqVEHA.js → commands-registry-BCRa0DAp.js} +4 -4
  21. package/dist/{config-BrAFSU6Z.js → config-CfZ-oKwR.js} +17 -17
  22. package/dist/control-ui/index.html +1 -1
  23. package/dist/control-ui/js/models.js +1 -1
  24. package/dist/{deliver-CfiME1St.js → deliver-CrlXl9KD.js} +20 -20
  25. package/dist/{deliver-vWWI-94q.js → deliver-EKA6SdgU.js} +1 -1
  26. package/dist/{diagnostic-CINBNBQX.js → diagnostic-CI0kRQkt.js} +1 -1
  27. package/dist/extensionAPI.js +6 -6
  28. package/dist/{frontmatter-wVHII0KO.js → frontmatter-C_bv_0P8.js} +4 -4
  29. package/dist/{gemini-auth-BwRMlWJH.js → gemini-auth-DzFcFvHV.js} +1 -1
  30. package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
  31. package/dist/{image-CV4FUL4M.js → image-EKTeO3aa.js} +1 -1
  32. package/dist/{image-ops-Lmflb2E9.js → image-ops-CvJzsyvE.js} +1 -1
  33. package/dist/{image-DEVMOUEF.js → image-ycxQmhff.js} +4 -4
  34. package/dist/{ir-CuuCOLHL.js → ir-DccrnjsE.js} +4 -4
  35. package/dist/llm-slug-generator.js +53 -53
  36. package/dist/{local-roots-C0y1zqg5.js → local-roots-DMwIh5cS.js} +5 -5
  37. package/dist/{login-C-iEZ7-d.js → login-DMnQmqbM.js} +7 -7
  38. package/dist/{login-qr-Z0tp3m4b.js → login-qr-Dbb1xG4s.js} +12 -12
  39. package/dist/{manager-BlH-kIAA.js → manager-M83fJMDC.js} +13 -13
  40. package/dist/{manifest-registry-DetgyAnG.js → manifest-registry-D0IQ3WuX.js} +19 -19
  41. package/dist/{markdown-tables-C4L0emuC.js → markdown-tables-iMQQZu4Q.js} +1 -1
  42. package/dist/{message-channel-Bzd90Fg1.js → message-channel-Dz5lr5b0.js} +1 -1
  43. package/dist/{model-auth-DbMOVgB3.js → model-auth-64S8o7s-.js} +9 -9
  44. package/dist/{outbound-CsCk7-X6.js → outbound-DEjQvzWk.js} +7 -7
  45. package/dist/{outbound-attachment-DTzYlChD.js → outbound-attachment-DjNDa3zn.js} +2 -2
  46. package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
  47. package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
  48. package/dist/{pi-auth-json-Cog6KWQ0.js → pi-auth-json-wQxiCgzR.js} +8 -8
  49. package/dist/{pi-embedded-DguKAKpR.js → pi-embedded-02ObvVIR.js} +16 -16
  50. package/dist/{pi-embedded-l6fnSeuU.js → pi-embedded-AKhKHxb6.js} +160 -160
  51. package/dist/{pi-embedded-helpers-SPJVuQfB.js → pi-embedded-helpers-B6ugLqkI.js} +4 -4
  52. package/dist/{pi-embedded-helpers-DwUUGl8K.js → pi-embedded-helpers-DoTustDz.js} +52 -52
  53. package/dist/{plugins-D1_FhsCG.js → plugins-DQYI3Fr-.js} +9 -9
  54. package/dist/{pw-ai-DnN0T7wd.js → pw-ai-CD2xT-vT.js} +1 -1
  55. package/dist/{pw-ai-BIGSU-k2.js → pw-ai-DIVguI36.js} +11 -11
  56. package/dist/{qmd-manager-jPsEJprD.js → qmd-manager-QHUP-_em.js} +7 -7
  57. package/dist/{registry-Cgbuhd6U.js → registry-CK4e9hn8.js} +19 -19
  58. package/dist/{replies-CjfQWlpL.js → replies-Cj2HD2yn.js} +3 -3
  59. package/dist/{reply-prefix-NvPdveXK.js → reply-prefix-XlyuyChD.js} +1 -1
  60. package/dist/{resolve-route-BoOTtfRC.js → resolve-route-CZ-1eqw0.js} +4 -4
  61. package/dist/{retry-CZ13t_sq.js → retry-Cly39XZB.js} +1 -1
  62. package/dist/{runner-Cx1wJumq.js → runner-BlTur7kC.js} +1 -1
  63. package/dist/{runner-Dl0eiBve.js → runner-Cw5KZrjx.js} +9 -9
  64. package/dist/{send-3jM0m9vc.js → send-BxrNk2KH.js} +7 -7
  65. package/dist/{send-DJ537kMF.js → send-Ct3wqNP6.js} +6 -6
  66. package/dist/{send-CQxYqAP8.js → send-D0WfDllx.js} +10 -10
  67. package/dist/{send-DZCl3x0a.js → send-G-E0gOCC.js} +18 -18
  68. package/dist/{send-BDVMssZq.js → send-QC5kvnW3.js} +6 -6
  69. package/dist/{session-BgWKJ33t.js → session-BK0E3EZe.js} +8 -8
  70. package/dist/{skill-commands-BtMC57oh.js → skill-commands-DCDG7ki5.js} +9 -9
  71. package/dist/{skills-8Qi9zQz0.js → skills-BFekKL7i.js} +21 -21
  72. package/dist/{sqlite-ReocE89T.js → sqlite-DRbx2dhW.js} +4 -4
  73. package/dist/{store-CsOqrZPF.js → store-C0wvOkae.js} +2 -2
  74. package/dist/{subsystem-LRKKAgQx.js → subsystem-Bs9YvKLa.js} +1 -1
  75. package/dist/{tables-Du3x5E08.js → tables-DuZspiBu.js} +1 -1
  76. package/dist/{target-errors-DUTv7Hgk.js → target-errors-Be1SwYlW.js} +2 -2
  77. package/dist/{thinking-DwjHOBvM.js → thinking-CdlENGRW.js} +5 -5
  78. package/dist/{tokens-CXvgek4j.js → tokens-H1H1LiSQ.js} +1 -1
  79. package/dist/{tool-images-DA9V4mO7.js → tool-images-DXB7tqWi.js} +2 -2
  80. package/dist/{tool-loop-detection-43NkVgks.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
  81. package/dist/{web-cSkprx6P.js → web-CMl4g_Bl.js} +6 -6
  82. package/dist/{web-Cbjmu3ex.js → web-Kz-ZuUjq.js} +57 -57
  83. package/dist/{whatsapp-actions-CmlTTSUG.js → whatsapp-actions-CHVuR8Yp.js} +23 -23
  84. package/dist/{workspace-CFIJ53-f.js → workspace-wAaHI8-5.js} +6 -6
  85. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
- import "./paths-CySxpNhH.js";
2
- import { G as danger, K as info, Q as success } from "./registry-Cgbuhd6U.js";
3
- import "./agent-scope-BkCGKhZd.js";
4
- import { r as defaultRuntime } from "./subsystem-LRKKAgQx.js";
5
- import { x as logInfo } from "./workspace-CFIJ53-f.js";
6
- import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-CRksecBH.js";
1
+ import "./paths-Cce4PUkG.js";
2
+ import { G as danger, K as info, Q as success } from "./registry-CK4e9hn8.js";
3
+ import "./agent-scope-BxoUQqgM.js";
4
+ import { r as defaultRuntime } from "./subsystem-Bs9YvKLa.js";
5
+ import { x as logInfo } from "./workspace-wAaHI8-5.js";
6
+ import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-tNElYrCH.js";
7
7
  import "./boolean-B8-BqKGQ.js";
8
- import "./command-format-HKbBegfJ.js";
9
- import "./model-auth-DbMOVgB3.js";
10
- import "./github-copilot-token-DJqsJ2-r.js";
11
- import { n as loadConfig } from "./config-BrAFSU6Z.js";
12
- import "./manifest-registry-DetgyAnG.js";
13
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BgWKJ33t.js";
8
+ import "./command-format-BaxDnULz.js";
9
+ import "./model-auth-64S8o7s-.js";
10
+ import "./github-copilot-token-C_qUP7p5.js";
11
+ import { n as loadConfig } from "./config-CfZ-oKwR.js";
12
+ import "./manifest-registry-D0IQ3WuX.js";
13
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BK0E3EZe.js";
14
14
  import { randomUUID } from "node:crypto";
15
15
  import { DisconnectReason } from "@whiskeysockets/baileys";
16
16
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CySxpNhH.js";
3
- import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-Cgbuhd6U.js";
4
- import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-BkCGKhZd.js";
5
- import { t as createSubsystemLogger } from "./subsystem-LRKKAgQx.js";
6
- import { r as isTruthyEnvValue } from "./command-format-HKbBegfJ.js";
7
- import { i as resolveApiKeyForProvider, r as requireApiKey } from "./model-auth-DbMOVgB3.js";
2
+ import { s as resolveStateDir } from "./paths-Cce4PUkG.js";
3
+ import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-CK4e9hn8.js";
4
+ import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-BxoUQqgM.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
6
+ import { r as isTruthyEnvValue } from "./command-format-BaxDnULz.js";
7
+ import { i as resolveApiKeyForProvider, r as requireApiKey } from "./model-auth-64S8o7s-.js";
8
8
  import { n as formatErrorMessage } from "./errors-BoQgnc8X.js";
9
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-Cb87-LzP.js";
9
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DLyHUt31.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
11
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BwRMlWJH.js";
12
- import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-ReocE89T.js";
13
- import { n as retryAsync } from "./retry-CZ13t_sq.js";
11
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-DzFcFvHV.js";
12
+ import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-DRbx2dhW.js";
13
+ import { n as retryAsync } from "./retry-Cly39XZB.js";
14
14
  import fs from "node:fs/promises";
15
15
  import os from "node:os";
16
16
  import path from "node:path";
17
- import fsSync from "node:fs";
17
+ import fs$1 from "node:fs";
18
18
  import { randomUUID } from "node:crypto";
19
19
  import { createInterface } from "node:readline";
20
20
  import { Readable } from "node:stream";
@@ -614,7 +614,7 @@ function canAutoSelectLocal(options) {
614
614
  if (/^(hf:|https?:)/i.test(modelPath)) return false;
615
615
  const resolved = resolveUserPath(modelPath);
616
616
  try {
617
- return fsSync.statSync(resolved).isFile();
617
+ return fs$1.statSync(resolved).isFile();
618
618
  } catch {
619
619
  return false;
620
620
  }
@@ -2073,7 +2073,7 @@ var MemoryManagerSyncOps = class {
2073
2073
  ]);
2074
2074
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
2075
2075
  for (const entry of additionalPaths) try {
2076
- const stat = fsSync.lstatSync(entry);
2076
+ const stat = fs$1.lstatSync(entry);
2077
2077
  if (stat.isSymbolicLink()) continue;
2078
2078
  if (stat.isDirectory()) {
2079
2079
  watchPaths.add(path.join(entry, "**", "*.md"));
@@ -1,7 +1,7 @@
1
- import { I as resolveUserPath, P as resolveConfigDir, k as isRecord } from "./registry-Cgbuhd6U.js";
1
+ import { I as resolveUserPath, P as resolveConfigDir, k as isRecord } from "./registry-CK4e9hn8.js";
2
2
  import { n as MANIFEST_KEY } from "./legacy-names-BHV4AoFT.js";
3
3
  import path from "node:path";
4
- import fsSync from "node:fs";
4
+ import fs from "node:fs";
5
5
  import { fileURLToPath } from "node:url";
6
6
 
7
7
  //#region src/infra/host-env-security-policy.json
@@ -59,7 +59,7 @@ function isPathInside$1(basePath, candidatePath) {
59
59
  }
60
60
  function safeRealpathSync$1(filePath) {
61
61
  try {
62
- return fsSync.realpathSync(filePath);
62
+ return fs.realpathSync(filePath);
63
63
  } catch {
64
64
  return null;
65
65
  }
@@ -226,13 +226,13 @@ function resolveBundledPluginsDir() {
226
226
  try {
227
227
  const execDir = path.dirname(process.execPath);
228
228
  const sibling = path.join(execDir, "extensions");
229
- if (fsSync.existsSync(sibling)) return sibling;
229
+ if (fs.existsSync(sibling)) return sibling;
230
230
  } catch {}
231
231
  try {
232
232
  let cursor = path.dirname(fileURLToPath(import.meta.url));
233
233
  for (let i = 0; i < 6; i += 1) {
234
234
  const candidate = path.join(cursor, "extensions");
235
- if (fsSync.existsSync(candidate)) return candidate;
235
+ if (fs.existsSync(candidate)) return candidate;
236
236
  const parent = path.dirname(cursor);
237
237
  if (parent === cursor) break;
238
238
  cursor = parent;
@@ -251,20 +251,20 @@ function normalizeStringList(value) {
251
251
  function resolvePluginManifestPath(rootDir) {
252
252
  for (const filename of PLUGIN_MANIFEST_FILENAMES) {
253
253
  const candidate = path.join(rootDir, filename);
254
- if (fsSync.existsSync(candidate)) return candidate;
254
+ if (fs.existsSync(candidate)) return candidate;
255
255
  }
256
256
  return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
257
257
  }
258
258
  function loadPluginManifest(rootDir) {
259
259
  const manifestPath = resolvePluginManifestPath(rootDir);
260
- if (!fsSync.existsSync(manifestPath)) return {
260
+ if (!fs.existsSync(manifestPath)) return {
261
261
  ok: false,
262
262
  error: `plugin manifest not found: ${manifestPath}`,
263
263
  manifestPath
264
264
  };
265
265
  let raw;
266
266
  try {
267
- raw = JSON.parse(fsSync.readFileSync(manifestPath, "utf-8"));
267
+ raw = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
268
268
  } catch (err) {
269
269
  return {
270
270
  ok: false,
@@ -331,7 +331,7 @@ function safeRealpathSync(targetPath, cache) {
331
331
  const cached = cache?.get(targetPath);
332
332
  if (cached) return cached;
333
333
  try {
334
- const resolved = fsSync.realpathSync(targetPath);
334
+ const resolved = fs.realpathSync(targetPath);
335
335
  cache?.set(targetPath, resolved);
336
336
  return resolved;
337
337
  } catch {
@@ -340,7 +340,7 @@ function safeRealpathSync(targetPath, cache) {
340
340
  }
341
341
  function safeStatSync(targetPath) {
342
342
  try {
343
- return fsSync.statSync(targetPath);
343
+ return fs.statSync(targetPath);
344
344
  } catch {
345
345
  return null;
346
346
  }
@@ -454,9 +454,9 @@ function isExtensionFile(filePath) {
454
454
  }
455
455
  function readPackageManifest(dir) {
456
456
  const manifestPath = path.join(dir, "package.json");
457
- if (!fsSync.existsSync(manifestPath)) return null;
457
+ if (!fs.existsSync(manifestPath)) return null;
458
458
  try {
459
- const raw = fsSync.readFileSync(manifestPath, "utf-8");
459
+ const raw = fs.readFileSync(manifestPath, "utf-8");
460
460
  return JSON.parse(raw);
461
461
  } catch {
462
462
  return null;
@@ -514,10 +514,10 @@ function resolvePackageEntrySource(params) {
514
514
  return source;
515
515
  }
516
516
  function discoverInDirectory(params) {
517
- if (!fsSync.existsSync(params.dir)) return;
517
+ if (!fs.existsSync(params.dir)) return;
518
518
  let entries = [];
519
519
  try {
520
- entries = fsSync.readdirSync(params.dir, { withFileTypes: true });
520
+ entries = fs.readdirSync(params.dir, { withFileTypes: true });
521
521
  } catch (err) {
522
522
  params.diagnostics.push({
523
523
  level: "warn",
@@ -579,7 +579,7 @@ function discoverInDirectory(params) {
579
579
  "index.js",
580
580
  "index.mjs",
581
581
  "index.cjs"
582
- ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fsSync.existsSync(candidate));
582
+ ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs.existsSync(candidate));
583
583
  if (indexFile && isExtensionFile(indexFile)) addCandidate({
584
584
  candidates: params.candidates,
585
585
  diagnostics: params.diagnostics,
@@ -597,7 +597,7 @@ function discoverInDirectory(params) {
597
597
  }
598
598
  function discoverFromPath(params) {
599
599
  const resolved = resolveUserPath(params.rawPath);
600
- if (!fsSync.existsSync(resolved)) {
600
+ if (!fs.existsSync(resolved)) {
601
601
  params.diagnostics.push({
602
602
  level: "error",
603
603
  message: `plugin path not found: ${resolved}`,
@@ -605,7 +605,7 @@ function discoverFromPath(params) {
605
605
  });
606
606
  return;
607
607
  }
608
- const stat = fsSync.statSync(resolved);
608
+ const stat = fs.statSync(resolved);
609
609
  if (stat.isFile()) {
610
610
  if (!isExtensionFile(resolved)) {
611
611
  params.diagnostics.push({
@@ -665,7 +665,7 @@ function discoverFromPath(params) {
665
665
  "index.js",
666
666
  "index.mjs",
667
667
  "index.cjs"
668
- ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fsSync.existsSync(candidate));
668
+ ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs.existsSync(candidate));
669
669
  if (indexFile && isExtensionFile(indexFile)) {
670
670
  addCandidate({
671
671
  candidates: params.candidates,
@@ -779,7 +779,7 @@ function buildCacheKey(params) {
779
779
  }
780
780
  function safeStatMtimeMs(filePath) {
781
781
  try {
782
- return fsSync.statSync(filePath).mtimeMs;
782
+ return fs.statSync(filePath).mtimeMs;
783
783
  } catch {
784
784
  return null;
785
785
  }
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
3
- import { r as normalizeChannelId } from "./plugins-D1_FhsCG.js";
3
+ import { r as normalizeChannelId } from "./plugins-DQYI3Fr-.js";
4
4
 
5
5
  //#region src/config/markdown-tables.ts
6
6
  var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });
@@ -1,4 +1,4 @@
1
- import { c as getActivePluginRegistry, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-Cgbuhd6U.js";
1
+ import { c as getActivePluginRegistry, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-CK4e9hn8.js";
2
2
 
3
3
  //#region src/gateway/protocol/client-info.ts
4
4
  const GATEWAY_CLIENT_IDS = {
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-CySxpNhH.js";
2
+ import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-Cce4PUkG.js";
3
3
  import { t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
4
- import { I as resolveUserPath } from "./registry-Cgbuhd6U.js";
5
- import { a as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-BkCGKhZd.js";
6
- import { t as createSubsystemLogger } from "./subsystem-LRKKAgQx.js";
7
- import { r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-HKbBegfJ.js";
8
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-DJqsJ2-r.js";
4
+ import { I as resolveUserPath } from "./registry-CK4e9hn8.js";
5
+ import { a as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-BxoUQqgM.js";
6
+ import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
7
+ import { r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
8
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-C_qUP7p5.js";
9
9
  import fs from "node:fs/promises";
10
10
  import path from "node:path";
11
- import fsSync from "node:fs";
11
+ import fs$1 from "node:fs";
12
12
  import { execFileSync } from "node:child_process";
13
13
  import { createHash, randomBytes, randomUUID } from "node:crypto";
14
14
  import { createAssistantMessageEventStream, getEnvApiKey, getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
@@ -2952,7 +2952,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
2952
2952
  return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
2953
2953
  }
2954
2954
  function ensureAuthStoreFile(pathname) {
2955
- if (fsSync.existsSync(pathname)) return;
2955
+ if (fs$1.existsSync(pathname)) return;
2956
2956
  saveJsonFile(pathname, {
2957
2957
  version: AUTH_STORE_VERSION,
2958
2958
  profiles: {}
@@ -3121,7 +3121,7 @@ function loadAuthProfileStoreForAgent(agentDir, _options) {
3121
3121
  if (shouldWrite && legacy !== null) {
3122
3122
  const legacyPath = resolveLegacyAuthStorePath(agentDir);
3123
3123
  try {
3124
- fsSync.unlinkSync(legacyPath);
3124
+ fs$1.unlinkSync(legacyPath);
3125
3125
  } catch (err) {
3126
3126
  if (err?.code !== "ENOENT") log$1.warn("failed to delete legacy auth.json after migration", {
3127
3127
  err,
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { D as escapeRegExp, H as toWhatsappJid, rt as getChildLogger } from "./registry-Cgbuhd6U.js";
3
- import { t as createSubsystemLogger } from "./subsystem-LRKKAgQx.js";
4
- import { n as loadConfig } from "./config-BrAFSU6Z.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-C4L0emuC.js";
6
- import { a as loadWebMedia } from "./ir-CuuCOLHL.js";
2
+ import { D as escapeRegExp, H as toWhatsappJid, rt as getChildLogger } from "./registry-CK4e9hn8.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
4
+ import { n as loadConfig } from "./config-CfZ-oKwR.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
6
+ import { a as loadWebMedia } from "./ir-DccrnjsE.js";
7
7
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
8
- import { t as convertMarkdownTables } from "./tables-Du3x5E08.js";
9
- import { n as requireActiveWebListener } from "./active-listener-DXU1iEiq.js";
8
+ import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-C9r8ZB9m.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
@@ -1,5 +1,5 @@
1
- import { r as saveMediaBuffer } from "./store-CsOqrZPF.js";
2
- import { a as loadWebMedia } from "./ir-CuuCOLHL.js";
1
+ import { r as saveMediaBuffer } from "./store-C0wvOkae.js";
2
+ import { a as loadWebMedia } from "./ir-DccrnjsE.js";
3
3
 
4
4
  //#region src/media/outbound-attachment.ts
5
5
  async function resolveOutboundAttachmentFromUrl(mediaUrl, maxBytes, options) {
@@ -1,6 +1,6 @@
1
1
  import os from "node:os";
2
2
  import path from "node:path";
3
- import fsSync from "node:fs";
3
+ import fs from "node:fs";
4
4
 
5
5
  //#region src/infra/home-dir.ts
6
6
  function normalize(value) {
@@ -85,10 +85,10 @@ function resolveStateDir(env = process.env, homedir = envHomedir(env)) {
85
85
  if (override) return resolveUserPath(override, env, effectiveHomedir);
86
86
  const newDir = newStateDir(effectiveHomedir);
87
87
  const legacyDirs = legacyStateDirs(effectiveHomedir);
88
- if (fsSync.existsSync(newDir)) return newDir;
88
+ if (fs.existsSync(newDir)) return newDir;
89
89
  const existingLegacy = legacyDirs.find((dir) => {
90
90
  try {
91
- return fsSync.existsSync(dir);
91
+ return fs.existsSync(dir);
92
92
  } catch {
93
93
  return false;
94
94
  }
@@ -127,7 +127,7 @@ function resolveCanonicalConfigPath(env = process.env, stateDir = resolveStateDi
127
127
  function resolveConfigPathCandidate(env = process.env, homedir = envHomedir(env)) {
128
128
  const existing = resolveDefaultConfigCandidates(env, homedir).find((candidate) => {
129
129
  try {
130
- return fsSync.existsSync(candidate);
130
+ return fs.existsSync(candidate);
131
131
  } catch {
132
132
  return false;
133
133
  }
@@ -144,7 +144,7 @@ function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, en
144
144
  const stateOverride = env.SYMI_STATE_DIR?.trim();
145
145
  const existing = [path.join(stateDir, CONFIG_FILENAME), ...LEGACY_CONFIG_FILENAMES.map((name) => path.join(stateDir, name))].find((candidate) => {
146
146
  try {
147
- return fsSync.existsSync(candidate);
147
+ return fs.existsSync(candidate);
148
148
  } catch {
149
149
  return false;
150
150
  }
@@ -1,4 +1,4 @@
1
- import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CySxpNhH.js";
1
+ import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-Cce4PUkG.js";
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
@@ -1,12 +1,12 @@
1
- import "./paths-CySxpNhH.js";
2
- import "./registry-Cgbuhd6U.js";
3
- import "./agent-scope-BkCGKhZd.js";
4
- import "./subsystem-LRKKAgQx.js";
5
- import "./workspace-CFIJ53-f.js";
1
+ import "./paths-Cce4PUkG.js";
2
+ import "./registry-CK4e9hn8.js";
3
+ import "./agent-scope-BxoUQqgM.js";
4
+ import "./subsystem-Bs9YvKLa.js";
5
+ import "./workspace-wAaHI8-5.js";
6
6
  import "./boolean-B8-BqKGQ.js";
7
- import "./command-format-HKbBegfJ.js";
8
- import { A as normalizeProviderId, _ as ensureAuthProfileStore } from "./model-auth-DbMOVgB3.js";
9
- import "./github-copilot-token-DJqsJ2-r.js";
7
+ import "./command-format-BaxDnULz.js";
8
+ import { A as normalizeProviderId, _ as ensureAuthProfileStore } from "./model-auth-64S8o7s-.js";
9
+ import "./github-copilot-token-C_qUP7p5.js";
10
10
  import fs from "node:fs/promises";
11
11
  import path from "node:path";
12
12
 
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BPW99hCM.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DFVqIDB9.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-vWWI-94q.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-EKA6SdgU.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-SPJVuQfB.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B6ugLqkI.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-diuFc3fL.js";
27
27
  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-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CqribT6Z.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DPHgzMPu.js";
29
29
  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-BNpGMnp-.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CV4FUL4M.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-EKTeO3aa.js";
40
40
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CL7MzOkQ.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-B_XO7lUV.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-sj8KNio8.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Cx1wJumq.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BlTur7kC.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
5714
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5715
5715
  });
5716
5716
  }
5717
- this.ws = new WebSocket$1(url, wsOptions);
5717
+ this.ws = new WebSocket(url, wsOptions);
5718
5718
  this.ws.on("open", () => {
5719
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5720
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
5933
5933
  return null;
5934
5934
  }
5935
5935
  async request(method, params, opts) {
5936
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5937
5937
  const id = randomUUID();
5938
5938
  const frame = {
5939
5939
  type: "req",
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
7199
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7200
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7201
7201
  try {
7202
- const { deliverOutboundPayloads } = await import("./deliver-vWWI-94q.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-EKA6SdgU.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -41655,7 +41655,7 @@ async function deliverSessionMaintenanceWarning(params) {
41655
41655
  return;
41656
41656
  }
41657
41657
  try {
41658
- const { deliverOutboundPayloads } = await import("./deliver-vWWI-94q.js").then((n) => n.n);
41658
+ const { deliverOutboundPayloads } = await import("./deliver-EKA6SdgU.js").then((n) => n.n);
41659
41659
  await deliverOutboundPayloads({
41660
41660
  cfg: params.cfg,
41661
41661
  channel,
@@ -45101,7 +45101,7 @@ async function describeStickerImage(params) {
45101
45101
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45102
45102
  try {
45103
45103
  const buffer = await fs$1.readFile(imagePath);
45104
- const { describeImageWithModel } = await import("./image-CV4FUL4M.js").then((n) => n.n);
45104
+ const { describeImageWithModel } = await import("./image-EKTeO3aa.js").then((n) => n.n);
45105
45105
  return (await describeImageWithModel({
45106
45106
  buffer,
45107
45107
  fileName: "sticker.webp",
@@ -47763,7 +47763,7 @@ async function preflightDiscordMessage(params) {
47763
47763
  let preflightTranscript;
47764
47764
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47765
47765
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47766
- const { transcribeFirstAudio } = await import("./audio-preflight-IRs02MgH.js");
47766
+ const { transcribeFirstAudio } = await import("./audio-preflight-BnwAAlLw.js");
47767
47767
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47768
47768
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47769
47769
  ctx: {
@@ -51769,7 +51769,7 @@ function isVoiceChannelType(type) {
51769
51769
  function createDefaultDeps() {
51770
51770
  return {
51771
51771
  sendMessageWhatsApp: async (...args) => {
51772
- const { sendMessageWhatsApp } = await import("./web-cSkprx6P.js");
51772
+ const { sendMessageWhatsApp } = await import("./web-CMl4g_Bl.js");
51773
51773
  return await sendMessageWhatsApp(...args);
51774
51774
  },
51775
51775
  sendMessageTelegram: async (...args) => {
@@ -54676,7 +54676,7 @@ function createDiscordGatewayPlugin(params) {
54676
54676
  super(options);
54677
54677
  }
54678
54678
  createWebSocket(url) {
54679
- return new WebSocket(url, { agent });
54679
+ return new WebSocket$1(url, { agent });
54680
54680
  }
54681
54681
  }
54682
54682
  return new ProxyGatewayPlugin();
@@ -64894,7 +64894,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64894
64894
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64895
64895
  let preflightTranscript;
64896
64896
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64897
- const { transcribeFirstAudio } = await import("./audio-preflight-IRs02MgH.js");
64897
+ const { transcribeFirstAudio } = await import("./audio-preflight-BnwAAlLw.js");
64898
64898
  preflightTranscript = await transcribeFirstAudio({
64899
64899
  ctx: {
64900
64900
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -67051,7 +67051,7 @@ function loadWebLoginQr() {
67051
67051
  return webLoginQrPromise;
67052
67052
  }
67053
67053
  function loadWebChannel() {
67054
- webChannelPromise ??= import("./web-cSkprx6P.js");
67054
+ webChannelPromise ??= import("./web-CMl4g_Bl.js");
67055
67055
  return webChannelPromise;
67056
67056
  }
67057
67057
  function loadWhatsAppActions() {