@fased/fased 0.1.40 → 0.1.41

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 (86) hide show
  1. package/dist/brand.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/cli/update-cli/update-command.js +15 -0
  5. package/dist/commands/onboard-non-interactive/local/gateway-config.js +1 -1
  6. package/dist/gateway/server-plugins.js +8 -3
  7. package/dist/gateway/server.impl.js +2 -2
  8. package/dist/plugin-sdk/{accounts-C5BjfxoO.js → accounts-COY-15zJ.js} +1 -1
  9. package/dist/plugin-sdk/{allow-list-DqLmAAjC.js → allow-list-Cgjx0Mc-.js} +1 -1
  10. package/dist/plugin-sdk/{audio-preflight-CSRhaknd.js → audio-preflight-Chxqjwxe.js} +1 -1
  11. package/dist/plugin-sdk/{audio-preflight-DlkuhmkH.js → audio-preflight-aupYKWfa.js} +1 -1
  12. package/dist/plugin-sdk/channel-plugin-common.js +2 -2
  13. package/dist/plugin-sdk/{chunk-items-B1CvDQbk.js → chunk-items-BDhRe_xU.js} +1 -1
  14. package/dist/plugin-sdk/command-status.js +1 -1
  15. package/dist/plugin-sdk/{config-HEgnpfBH.js → config-BULEb5QB.js} +7 -7
  16. package/dist/plugin-sdk/{config-BxVjLTIv.js → config-C0qggNKQ.js} +7 -7
  17. package/dist/plugin-sdk/{config-g1MG9Bet.js → config-DgD5T-Ui.js} +7 -7
  18. package/dist/plugin-sdk/discord.js +6 -6
  19. package/dist/plugin-sdk/{guilds-BivaIhOn.js → guilds-iTYlgBat.js} +1 -1
  20. package/dist/plugin-sdk/index.js +1 -1
  21. package/dist/plugin-sdk/{login-CfRfRNc7.js → login-YveoqEvH.js} +2 -2
  22. package/dist/plugin-sdk/{monitor-CIQ75vj5.js → monitor-38DGeIwS.js} +3 -3
  23. package/dist/plugin-sdk/{monitor-uao4bwTm.js → monitor-CYCSEVee.js} +3 -3
  24. package/dist/plugin-sdk/{monitor-CA4i9Vhf.js → monitor-Ceu-Wayc.js} +3 -3
  25. package/dist/plugin-sdk/{monitor-4qlGtlZm.js → monitor-DCyBaUCs.js} +3 -3
  26. package/dist/plugin-sdk/{openresponses-http-Do-lt3tH.js → openresponses-http-CCfimy89.js} +1 -1
  27. package/dist/plugin-sdk/{openresponses-http-Y766bB2w.js → openresponses-http-DAL_9jE-.js} +1 -1
  28. package/dist/plugin-sdk/{pi-embedded-runner-Cl-dGLKY.js → pi-embedded-runner-Dum71Tdo.js} +14 -9
  29. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxoFm4Vd.js → pi-model-discovery-runtime-C5ssE6EW.js} +1 -1
  30. package/dist/plugin-sdk/{pi-model-discovery-runtime-LB-5lX5L.js → pi-model-discovery-runtime-CQOauapl.js} +1 -1
  31. package/dist/plugin-sdk/{pi-model-discovery-runtime-CfDDK1n5.js → pi-model-discovery-runtime-w4DRRv53.js} +2 -2
  32. package/dist/plugin-sdk/{resolve-channels-BptLzpDb.js → resolve-channels-gIpOj1wt.js} +3 -3
  33. package/dist/plugin-sdk/{resolve-users-C0YLyf20.js → resolve-users-CTKaESmf.js} +3 -3
  34. package/dist/plugin-sdk/{resolve-utils-Bq0vrn3x.js → resolve-utils-r6ef8mj8.js} +1 -1
  35. package/dist/plugin-sdk/{retry-CxA2fayk.js → retry-CB29XXbz.js} +2 -2
  36. package/dist/plugin-sdk/{slack-BnH97t7_.js → slack-B0dLDyHM.js} +3 -3
  37. package/dist/plugin-sdk/{slack-DvaEXxo5.js → slack-Dv4zCw-x.js} +3 -3
  38. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  39. package/dist/plugin-sdk/src/plugins/loader.d.ts +3 -1
  40. package/dist/plugin-sdk/{status-DKwtdFcx.js → status-B2vb7zNW.js} +14 -9
  41. package/dist/plugin-sdk/{sticker-cache-Dmrdawoj.js → sticker-cache-C1vOWkzA.js} +2 -2
  42. package/dist/plugin-sdk/{sticker-cache-C6yLVx3S.js → sticker-cache-CJDzqowL.js} +2 -2
  43. package/dist/plugin-sdk/{telegram-actions-JyjH4UpU.js → telegram-actions-BoiC9J7L.js} +2 -2
  44. package/dist/plugin-sdk/{telegram-actions-DnvgAPkX.js → telegram-actions-CwAsKaNz.js} +2 -2
  45. package/dist/plugin-sdk/{web-DsLHqCkb.js → web-BjV7ROeA.js} +1 -1
  46. package/dist/plugin-sdk/{web-4BVlmvJD.js → web-DjTSgU98.js} +1 -1
  47. package/dist/plugin-sdk/whatsapp.js +4 -4
  48. package/dist/plugins/loader.js +70 -3
  49. package/dist/wizard/onboarding.gateway-config.js +1 -1
  50. package/extensions/acpx/package.json +1 -1
  51. package/extensions/bluebubbles/package.json +1 -1
  52. package/extensions/copilot-proxy/package.json +1 -1
  53. package/extensions/diagnostics-otel/package.json +1 -1
  54. package/extensions/fased-federation/package.json +1 -1
  55. package/extensions/google-gemini-cli-auth/package.json +1 -1
  56. package/extensions/imessage/package.json +1 -1
  57. package/extensions/irc/package.json +1 -1
  58. package/extensions/line/package.json +1 -1
  59. package/extensions/llm-task/package.json +1 -1
  60. package/extensions/lobster/package.json +1 -1
  61. package/extensions/matrix/CHANGELOG.md +6 -0
  62. package/extensions/matrix/package.json +1 -1
  63. package/extensions/mattermost/package.json +1 -1
  64. package/extensions/memory-core/package.json +2 -2
  65. package/extensions/memory-lancedb/package.json +1 -1
  66. package/extensions/minimax-portal-auth/package.json +1 -1
  67. package/extensions/msteams/CHANGELOG.md +6 -0
  68. package/extensions/msteams/package.json +1 -1
  69. package/extensions/nextcloud-talk/package.json +1 -1
  70. package/extensions/nostr/CHANGELOG.md +6 -0
  71. package/extensions/nostr/package.json +1 -1
  72. package/extensions/open-prose/package.json +1 -1
  73. package/extensions/sat-mining/package.json +1 -1
  74. package/extensions/sat-mining/src/strategy-skill.ts +1 -1
  75. package/extensions/signal/package.json +1 -1
  76. package/extensions/synology-chat/package.json +1 -1
  77. package/extensions/tlon/package.json +1 -1
  78. package/extensions/twitch/CHANGELOG.md +6 -0
  79. package/extensions/twitch/package.json +1 -1
  80. package/extensions/voice-call/CHANGELOG.md +6 -0
  81. package/extensions/voice-call/package.json +1 -1
  82. package/extensions/zalo/CHANGELOG.md +6 -0
  83. package/extensions/zalo/package.json +1 -1
  84. package/extensions/zalouser/CHANGELOG.md +6 -0
  85. package/extensions/zalouser/package.json +1 -1
  86. package/package.json +3 -1
package/dist/brand.js CHANGED
@@ -2,7 +2,7 @@
2
2
  const FASED_BRAND_NAME = "Fased";
3
3
  const FASED_AGENT_NAME = "Fased Agent";
4
4
  const FASED_CONTROL_NAME = "Fased Control";
5
- const FASED_PRODUCT_VERSION = "0.1.40";
5
+ const FASED_PRODUCT_VERSION = "0.1.41";
6
6
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
7
7
  function formatFasedDisplayLine() {
8
8
  return `${FASED_AGENT_NAME} ${FASED_DISPLAY_VERSION}`;
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.40",
3
- "commit": "a8403b7a8a07f287ffa8c564c20015b41c376fc5",
4
- "builtAt": "2026-07-10T23:09:12.393Z"
2
+ "version": "0.1.41",
3
+ "commit": "5f3430c83667c9b71fc8ccf86ac70c8390309008",
4
+ "builtAt": "2026-07-11T01:19:54.229Z"
5
5
  }
@@ -1 +1 @@
1
- d43118ba792b198aa36c870735aede71aa66e9f53636ca999d50426d55459175
1
+ 78835a971b64351b964535b6e9cc20185c9f97a220d4258127582a38ea0f58de
@@ -594,6 +594,7 @@ async function updateCommand(opts) {
594
594
  let currentVersion = null;
595
595
  let targetVersion = null;
596
596
  let downgradeRisk = false;
597
+ let alreadyCurrent = false;
597
598
  let fallbackToLatest = false;
598
599
  if (updateInstallKind !== "git") {
599
600
  currentVersion = switchToPackage ? null : await readPackageVersion(root);
@@ -606,6 +607,7 @@ async function updateCommand(opts) {
606
607
  return resolved.version;
607
608
  });
608
609
  const cmp = currentVersion && targetVersion ? compareSemverStrings(currentVersion, targetVersion) : null;
610
+ alreadyCurrent = cmp === 0;
609
611
  downgradeRisk = !fallbackToLatest && currentVersion != null && (targetVersion == null || cmp != null && cmp > 0);
610
612
  installTag = targetVersion ?? tag;
611
613
  }
@@ -703,6 +705,19 @@ async function updateCommand(opts) {
703
705
  defaultRuntime.log(theme.muted(`Update channel set to ${requestedChannel}.`));
704
706
  }
705
707
  }
708
+ if (alreadyCurrent && currentVersion && targetVersion) {
709
+ if (opts.json) {
710
+ defaultRuntime.log(JSON.stringify({
711
+ status: "current",
712
+ currentVersion,
713
+ targetVersion,
714
+ channel
715
+ }, null, 2));
716
+ } else {
717
+ defaultRuntime.log(`Already current: ${currentVersion}`);
718
+ }
719
+ return;
720
+ }
706
721
  const showProgress = !opts.json && process.stdout.isTTY;
707
722
  if (!opts.json) {
708
723
  defaultRuntime.log(theme.heading("Updating FasedAgent..."));
@@ -76,7 +76,7 @@ function applyNonInteractiveGatewayConfig(params) {
76
76
  trustedProxies: hostingProfile && tailscaleMode === "serve" ? Array.from(new Set([...nextConfig.gateway?.trustedProxies ?? [], ...HOSTED_TAILSCALE_TRUSTED_PROXIES])) : nextConfig.gateway?.trustedProxies,
77
77
  controlUi: hostingProfile && tailscaleMode === "serve" ? {
78
78
  ...nextConfig.gateway?.controlUi,
79
- allowInsecureAuth: true
79
+ allowInsecureAuth: false
80
80
  } : nextConfig.gateway?.controlUi,
81
81
  tailscale: {
82
82
  ...nextConfig.gateway?.tailscale,
@@ -1,8 +1,8 @@
1
- import { loadFasedAgentPlugins } from "../plugins/loader.js";
1
+ import { loadFasedAgentPlugins, preloadNativePluginModules } from "../plugins/loader.js";
2
2
 
3
3
  //#region src/gateway/server-plugins.ts
4
- function loadGatewayPlugins(params) {
5
- const pluginRegistry = loadFasedAgentPlugins({
4
+ async function loadGatewayPlugins(params) {
5
+ const loadOptions = {
6
6
  config: params.cfg,
7
7
  workspaceDir: params.workspaceDir,
8
8
  logger: {
@@ -12,6 +12,11 @@ function loadGatewayPlugins(params) {
12
12
  debug: (msg) => params.log.debug(msg)
13
13
  },
14
14
  coreGatewayHandlers: params.coreGatewayHandlers
15
+ };
16
+ const preloadedModules = await preloadNativePluginModules(loadOptions);
17
+ const pluginRegistry = loadFasedAgentPlugins({
18
+ ...loadOptions,
19
+ preloadedModules
15
20
  });
16
21
  const pluginMethods = Object.keys(pluginRegistry.gatewayHandlers);
17
22
  const gatewayMethods = Array.from(new Set([...params.baseMethods, ...pluginMethods]));
@@ -214,7 +214,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
214
214
  let pluginRegistry = emptyPluginRegistry;
215
215
  let baseGatewayMethods = baseMethods;
216
216
  if (!minimalTestGateway && !managedFastStart) {
217
- const loadedPlugins = startupTrace.measureSync("plugins.load", () => loadGatewayPlugins({
217
+ const loadedPlugins = await startupTrace.measure("plugins.load", () => loadGatewayPlugins({
218
218
  cfg: cfgAtStart,
219
219
  workspaceDir: defaultWorkspaceDir,
220
220
  log,
@@ -369,7 +369,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
369
369
  logPlugins
370
370
  }));
371
371
  if (managedFastStart && !minimalTestGateway) {
372
- const loadedPlugins = startupTrace.measureSync("plugins.load.deferred", () => loadGatewayPlugins({
372
+ const loadedPlugins = await startupTrace.measure("plugins.load.deferred", () => loadGatewayPlugins({
373
373
  cfg: cfgAtStart,
374
374
  workspaceDir: defaultWorkspaceDir,
375
375
  log,
@@ -1,4 +1,4 @@
1
- import { A as info, E as resolveUserPath, I as expandHomePrefix, L as resolveRequiredHomeDir, M as getChildLogger, O as defaultRuntime, P as resolveOAuthDir, j as success, v as DEFAULT_ACCOUNT_ID, y as normalizeAccountId } from "./config-g1MG9Bet.js";
1
+ import { A as info, E as resolveUserPath, I as expandHomePrefix, L as resolveRequiredHomeDir, M as getChildLogger, O as defaultRuntime, P as resolveOAuthDir, j as success, v as DEFAULT_ACCOUNT_ID, y as normalizeAccountId } from "./config-DgD5T-Ui.js";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs";
4
4
  import os from "node:os";
@@ -1,4 +1,4 @@
1
- import { n as retryAsync, o as DEFAULT_ACCOUNT_ID, s as normalizeAccountId, t as resolveRetryConfig } from "./retry-CxA2fayk.js";
1
+ import { n as retryAsync, o as DEFAULT_ACCOUNT_ID, s as normalizeAccountId, t as resolveRetryConfig } from "./retry-CB29XXbz.js";
2
2
 
3
3
  //#region src/discord/token.ts
4
4
  function normalizeDiscordToken(raw) {
@@ -1,4 +1,4 @@
1
- import { At as resolveMediaAttachmentLocalRoots, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, Mt as isAudioAttachment, Ot as normalizeMediaAttachments, jt as runCapability } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { At as resolveMediaAttachmentLocalRoots, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, Mt as isAudioAttachment, Ot as normalizeMediaAttachments, jt as runCapability } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
  import "./runtime-BPyuAmka.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
@@ -14,7 +14,7 @@ import "./accounts-BwkH5bTD.js";
14
14
  import "./tokens-BK5rrwBB.js";
15
15
  import "./allow-list-CBtbuDI8.js";
16
16
  import "./paths-DTurNPnO.js";
17
- import { ct as buildProviderRegistry, ft as resolveMediaAttachmentLocalRoots, lt as createMediaAttachmentCache, mt as isAudioAttachment, pt as runCapability, ut as normalizeMediaAttachments } from "./status-DKwtdFcx.js";
17
+ import { ct as buildProviderRegistry, ft as resolveMediaAttachmentLocalRoots, lt as createMediaAttachmentCache, mt as isAudioAttachment, pt as runCapability, ut as normalizeMediaAttachments } from "./status-B2vb7zNW.js";
18
18
  import "./runtime-dependency-B-1u41Ph.js";
19
19
  import "./ssrf-Cce6LubA.js";
20
20
  import "./skill-commands-hyZA0LE3.js";
@@ -1,4 +1,4 @@
1
- import { a as resolveImplicitProviders, c as resolveProcessScopedMap, d as expandHomePrefix, f as resolveRequiredHomeDir, h as normalizeAccountId, i as resolveImplicitCopilotProvider, l as isRecord, m as DEFAULT_ACCOUNT_ID, p as formatCliCommand, r as normalizeProviders, s as resolveFasedAgentDir, t as loadConfig, u as createSubsystemLogger } from "./config-BxVjLTIv.js";
1
+ import { a as resolveImplicitProviders, c as resolveProcessScopedMap, d as expandHomePrefix, f as resolveRequiredHomeDir, h as normalizeAccountId, i as resolveImplicitCopilotProvider, l as isRecord, m as DEFAULT_ACCOUNT_ID, p as formatCliCommand, r as normalizeProviders, s as resolveFasedAgentDir, t as loadConfig, u as createSubsystemLogger } from "./config-C0qggNKQ.js";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
@@ -856,7 +856,7 @@ async function loadContextCache() {
856
856
  await ensureFasedModelsJson(cfg);
857
857
  } catch {}
858
858
  try {
859
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-DxoFm4Vd.js");
859
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-C5ssE6EW.js");
860
860
  const agentDir = resolveFasedAgentDir();
861
861
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
862
862
  applyDiscoveredContextWindows({
@@ -1,4 +1,4 @@
1
- import { gt as wrapExternalContent } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { gt as wrapExternalContent } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
 
3
3
  //#region src/security/channel-metadata.ts
4
4
  const DEFAULT_MAX_CHARS = 800;
@@ -14,7 +14,7 @@ import "./accounts-BwkH5bTD.js";
14
14
  import "./tokens-BK5rrwBB.js";
15
15
  import "./allow-list-CBtbuDI8.js";
16
16
  import "./paths-DTurNPnO.js";
17
- import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-DKwtdFcx.js";
17
+ import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-B2vb7zNW.js";
18
18
  import "./runtime-dependency-B-1u41Ph.js";
19
19
  import "./ssrf-Cce6LubA.js";
20
20
  import "./skill-commands-hyZA0LE3.js";
@@ -1,10 +1,10 @@
1
- import { C as normalizeLogLevel, E as resolveDefaultConfigCandidates, O as resolveOAuthPath, S as levelToMinLevel, T as resolveConfigPath, _ as getChildLogger, b as resolveEnvLogLevelOverride, c as isBlockedObjectKey, f as resolveConfigDir, h as isVerbose, i as normalizeAgentId, j as resolveRequiredHomeDir, k as resolveStateDir, m as isPlainObject$2, n as retryAsync, p as resolveUserPath, r as DEFAULT_AGENT_ID, u as isRecord$2, v as isFileLogLevelEnabled, w as readLoggingConfig, x as loggingState, y as resolveNodeRequireFromMeta } from "./retry-CxA2fayk.js";
1
+ import { C as normalizeLogLevel, E as resolveDefaultConfigCandidates, O as resolveOAuthPath, S as levelToMinLevel, T as resolveConfigPath, _ as getChildLogger, b as resolveEnvLogLevelOverride, c as isBlockedObjectKey, f as resolveConfigDir, h as isVerbose, i as normalizeAgentId, j as resolveRequiredHomeDir, k as resolveStateDir, m as isPlainObject$2, n as retryAsync, p as resolveUserPath, r as DEFAULT_AGENT_ID, u as isRecord$2, v as isFileLogLevelEnabled, w as readLoggingConfig, x as loggingState, y as resolveNodeRequireFromMeta } from "./retry-CB29XXbz.js";
2
2
  import { createRequire } from "node:module";
3
3
  import path from "node:path";
4
4
  import { Chalk } from "chalk";
5
5
  import fs, { constants } from "node:fs";
6
6
  import os from "node:os";
7
- import json5 from "json5";
7
+ import JSON5 from "json5";
8
8
  import util, { isDeepStrictEqual, promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import { execFile, execFileSync } from "node:child_process";
@@ -2144,7 +2144,7 @@ function loadPluginManifest(rootDir) {
2144
2144
  }
2145
2145
  let raw;
2146
2146
  try {
2147
- raw = json5.parse(fs.readFileSync(opened.fd, "utf-8"));
2147
+ raw = JSON5.parse(fs.readFileSync(opened.fd, "utf-8"));
2148
2148
  } catch (err) {
2149
2149
  return {
2150
2150
  ok: false,
@@ -12510,7 +12510,7 @@ const defaultResolver = {
12510
12510
  resolvedPath,
12511
12511
  rootRealDir
12512
12512
  }),
12513
- parseJson: (raw) => json5.parse(raw)
12513
+ parseJson: (raw) => JSON5.parse(raw)
12514
12514
  };
12515
12515
  /**
12516
12516
  * Resolves all $include directives in a parsed config object.
@@ -19123,7 +19123,7 @@ function resolveConfigPathForDeps(deps) {
19123
19123
  function normalizeDeps(overrides = {}) {
19124
19124
  return {
19125
19125
  fs: overrides.fs ?? fs,
19126
- json5: overrides.json5 ?? json5,
19126
+ json5: overrides.json5 ?? JSON5,
19127
19127
  env: overrides.env ?? process.env,
19128
19128
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
19129
19129
  configPath: overrides.configPath ?? "",
@@ -19134,11 +19134,11 @@ function maybeLoadDotEnvForConfig(env) {
19134
19134
  if (env !== process.env) return;
19135
19135
  loadDotEnv({ quiet: true });
19136
19136
  }
19137
- function parseConfigJson5(raw, json5$1 = json5) {
19137
+ function parseConfigJson5(raw, json5 = JSON5) {
19138
19138
  try {
19139
19139
  return {
19140
19140
  ok: true,
19141
- parsed: json5$1.parse(raw)
19141
+ parsed: json5.parse(raw)
19142
19142
  };
19143
19143
  } catch (err) {
19144
19144
  return {
@@ -4,7 +4,7 @@ import path from "node:path";
4
4
  import chalk, { Chalk } from "chalk";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import json5 from "json5";
7
+ import JSON5 from "json5";
8
8
  import { isDeepStrictEqual, promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import { execFile, execFileSync } from "node:child_process";
@@ -433,7 +433,7 @@ function readLoggingConfig() {
433
433
  try {
434
434
  if (!fs.existsSync(configPath)) return;
435
435
  const raw = fs.readFileSync(configPath, "utf-8");
436
- const logging = json5.parse(raw)?.logging;
436
+ const logging = JSON5.parse(raw)?.logging;
437
437
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
438
438
  return logging;
439
439
  } catch {
@@ -2795,7 +2795,7 @@ function loadPluginManifest(rootDir) {
2795
2795
  }
2796
2796
  let raw;
2797
2797
  try {
2798
- raw = json5.parse(fs.readFileSync(opened.fd, "utf-8"));
2798
+ raw = JSON5.parse(fs.readFileSync(opened.fd, "utf-8"));
2799
2799
  } catch (err) {
2800
2800
  return {
2801
2801
  ok: false,
@@ -13235,7 +13235,7 @@ const defaultResolver = {
13235
13235
  resolvedPath,
13236
13236
  rootRealDir
13237
13237
  }),
13238
- parseJson: (raw) => json5.parse(raw)
13238
+ parseJson: (raw) => JSON5.parse(raw)
13239
13239
  };
13240
13240
  /**
13241
13241
  * Resolves all $include directives in a parsed config object.
@@ -19848,7 +19848,7 @@ function resolveConfigPathForDeps(deps) {
19848
19848
  function normalizeDeps(overrides = {}) {
19849
19849
  return {
19850
19850
  fs: overrides.fs ?? fs,
19851
- json5: overrides.json5 ?? json5,
19851
+ json5: overrides.json5 ?? JSON5,
19852
19852
  env: overrides.env ?? process.env,
19853
19853
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
19854
19854
  configPath: overrides.configPath ?? "",
@@ -19859,11 +19859,11 @@ function maybeLoadDotEnvForConfig(env) {
19859
19859
  if (env !== process.env) return;
19860
19860
  loadDotEnv({ quiet: true });
19861
19861
  }
19862
- function parseConfigJson5(raw, json5$1 = json5) {
19862
+ function parseConfigJson5(raw, json5 = JSON5) {
19863
19863
  try {
19864
19864
  return {
19865
19865
  ok: true,
19866
- parsed: json5$1.parse(raw)
19866
+ parsed: json5.parse(raw)
19867
19867
  };
19868
19868
  } catch (err) {
19869
19869
  return {
@@ -4,7 +4,7 @@ import chalk, { Chalk } from "chalk";
4
4
  import fs, { constants } from "node:fs";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import json5 from "json5";
7
+ import JSON5 from "json5";
8
8
  import util, { isDeepStrictEqual, promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import { execFile, execFileSync } from "node:child_process";
@@ -325,7 +325,7 @@ function readLoggingConfig() {
325
325
  try {
326
326
  if (!fs.existsSync(configPath)) return;
327
327
  const raw = fs.readFileSync(configPath, "utf-8");
328
- const logging = json5.parse(raw)?.logging;
328
+ const logging = JSON5.parse(raw)?.logging;
329
329
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
330
330
  return logging;
331
331
  } catch {
@@ -3028,7 +3028,7 @@ function loadPluginManifest(rootDir) {
3028
3028
  }
3029
3029
  let raw;
3030
3030
  try {
3031
- raw = json5.parse(fs.readFileSync(opened.fd, "utf-8"));
3031
+ raw = JSON5.parse(fs.readFileSync(opened.fd, "utf-8"));
3032
3032
  } catch (err) {
3033
3033
  return {
3034
3034
  ok: false,
@@ -13468,7 +13468,7 @@ const defaultResolver = {
13468
13468
  resolvedPath,
13469
13469
  rootRealDir
13470
13470
  }),
13471
- parseJson: (raw) => json5.parse(raw)
13471
+ parseJson: (raw) => JSON5.parse(raw)
13472
13472
  };
13473
13473
  /**
13474
13474
  * Resolves all $include directives in a parsed config object.
@@ -20081,7 +20081,7 @@ function resolveConfigPathForDeps(deps) {
20081
20081
  function normalizeDeps(overrides = {}) {
20082
20082
  return {
20083
20083
  fs: overrides.fs ?? fs,
20084
- json5: overrides.json5 ?? json5,
20084
+ json5: overrides.json5 ?? JSON5,
20085
20085
  env: overrides.env ?? process.env,
20086
20086
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
20087
20087
  configPath: overrides.configPath ?? "",
@@ -20092,11 +20092,11 @@ function maybeLoadDotEnvForConfig(env) {
20092
20092
  if (env !== process.env) return;
20093
20093
  loadDotEnv({ quiet: true });
20094
20094
  }
20095
- function parseConfigJson5(raw, json5$1 = json5) {
20095
+ function parseConfigJson5(raw, json5 = JSON5) {
20096
20096
  try {
20097
20097
  return {
20098
20098
  ok: true,
20099
- parsed: json5$1.parse(raw)
20099
+ parsed: json5.parse(raw)
20100
20100
  };
20101
20101
  } catch (err) {
20102
20102
  return {
@@ -1,6 +1,6 @@
1
- import { a as resolveImplicitCopilotProvider, c as resolveFasedAgentDir, d as saveJsonFile, f as formatCliCommand, g as normalizeChatChannelId, h as createSubsystemLogger, i as normalizeProviders, l as resolveProcessScopedMap, m as isTruthyEnvValue, n as DiscordConfigSchema, o as resolveImplicitProviders, p as resolveDefaultAgentId, t as loadConfig, u as loadJsonFile } from "./config-HEgnpfBH.js";
2
- import { A as expandHomePrefix, D as resolveOAuthDir, a as resolveAgentIdFromSessionKey, d as normalizeE164, g as logVerbose, i as normalizeAgentId, j as resolveRequiredHomeDir, k as resolveStateDir, l as formatTerminalLink, o as DEFAULT_ACCOUNT_ID, p as resolveUserPath, s as normalizeAccountId, u as isRecord } from "./retry-CxA2fayk.js";
3
- import { i as resolveDiscordToken, r as normalizeDiscordToken, t as normalizeDiscordSlug$1 } from "./allow-list-DqLmAAjC.js";
1
+ import { a as resolveImplicitCopilotProvider, c as resolveFasedAgentDir, d as saveJsonFile, f as formatCliCommand, g as normalizeChatChannelId, h as createSubsystemLogger, i as normalizeProviders, l as resolveProcessScopedMap, m as isTruthyEnvValue, n as DiscordConfigSchema, o as resolveImplicitProviders, p as resolveDefaultAgentId, t as loadConfig, u as loadJsonFile } from "./config-BULEb5QB.js";
2
+ import { A as expandHomePrefix, D as resolveOAuthDir, a as resolveAgentIdFromSessionKey, d as normalizeE164, g as logVerbose, i as normalizeAgentId, j as resolveRequiredHomeDir, k as resolveStateDir, l as formatTerminalLink, o as DEFAULT_ACCOUNT_ID, p as resolveUserPath, s as normalizeAccountId, u as isRecord } from "./retry-CB29XXbz.js";
3
+ import { i as resolveDiscordToken, r as normalizeDiscordToken, t as normalizeDiscordSlug$1 } from "./allow-list-Cgjx0Mc-.js";
4
4
  import { createRequire } from "node:module";
5
5
  import path from "node:path";
6
6
  import fs, { constants } from "node:fs";
@@ -1549,7 +1549,7 @@ async function loadContextCache() {
1549
1549
  await ensureFasedModelsJson(cfg);
1550
1550
  } catch {}
1551
1551
  try {
1552
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-CfDDK1n5.js");
1552
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-w4DRRv53.js");
1553
1553
  const agentDir = resolveFasedAgentDir();
1554
1554
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
1555
1555
  applyDiscoveredContextWindows({
@@ -2787,7 +2787,7 @@ async function promptDiscordAllowFrom(params) {
2787
2787
  parseId,
2788
2788
  invalidWithoutTokenNote: "Bot token missing; use numeric user ids (or mention form) only.",
2789
2789
  resolveEntries: async ({ token, entries }) => {
2790
- const { resolveDiscordUserAllowlist } = await import("./resolve-users-C0YLyf20.js");
2790
+ const { resolveDiscordUserAllowlist } = await import("./resolve-users-CTKaESmf.js");
2791
2791
  return resolveDiscordUserAllowlist({
2792
2792
  token,
2793
2793
  entries
@@ -2915,7 +2915,7 @@ const discordOnboardingAdapter = {
2915
2915
  resolved: false
2916
2916
  }));
2917
2917
  if (accountWithTokens.token && entries.length > 0) try {
2918
- const { resolveDiscordChannelAllowlist } = await import("./resolve-channels-BptLzpDb.js");
2918
+ const { resolveDiscordChannelAllowlist } = await import("./resolve-channels-gIpOj1wt.js");
2919
2919
  resolved = await resolveDiscordChannelAllowlist({
2920
2920
  token: accountWithTokens.token,
2921
2921
  entries
@@ -1,4 +1,4 @@
1
- import { n as fetchDiscord, t as normalizeDiscordSlug } from "./allow-list-DqLmAAjC.js";
1
+ import { n as fetchDiscord, t as normalizeDiscordSlug } from "./allow-list-Cgjx0Mc-.js";
2
2
 
3
3
  //#region src/discord/guilds.ts
4
4
  async function listGuilds(token, fetcher) {
@@ -1,4 +1,4 @@
1
- import { $t as resolveToolDisplay, A as clearHistoryEntriesIfEnabled, An as DEFAULT_FEDERATION_BASE_URL, Bn as validatePushTestParams, Cn as readRequestBodyWithLimit, Cr as assertOkOrThrowHttpError, Dn as runFederationAutoConnectOnce, Dr as BLUEBUBBLES_GROUP_ACTIONS, E as DEFAULT_GROUP_HISTORY_LIMIT, En as resolveChannelMediaMaxBytes, Er as BLUEBUBBLES_ACTION_NAMES, F as recordInboundSession, G as formatInboundFromLabel, Hn as errorShape, I as removeAckReactionAfterReply, Jn as processLineMessage, Kn as resolveModel, L as shouldAckReaction, Ln as loadOrCreateDeviceIdentity, M as recordPendingHistoryEntry, Mn as resolveAgentPublicOrigin, N as recordPendingHistoryEntryIfEnabled, Nn as resolveFederationBaseUrl, O as buildPendingHistoryContextFromMap, On as startFederationAutoConnect, Or as CHANNEL_MESSAGE_ACTION_NAMES, P as formatDocsLink, Pn as resolveFederationHandle, R as shouldAckReactionForWhatsApp, Rn as publicKeyRawBase64UrlFromPem, S as detectBinary, Sn as readJsonBodyWithLimit, Sr as warnMissingProviderGroupPolicyFallbackOnce, Tr as BLUEBUBBLES_ACTIONS, Ut as optionalStringEnum, Vn as ErrorCodes, Wt as stringEnum, Xn as createReceiptCard, Yn as stripMarkdown, Zn as attachFooterText, _ as resolveDefaultLineAccountId, _n as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, _r as resolveControlCommandGate, _t as getChannelAgentToolMeta, an as getAcpSessionManager, ar as listDevicePairing, b as logInboundDrop, bn as installRequestBodyLimitGuard, br as resolveDefaultGroupPolicy, c as loadModelCatalog, cn as unregisterAcpRuntimeBackend, d as issuePairingChallenge, dr as DM_GROUP_ACCESS_REASON, er as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, g as normalizeAccountId$1, h as listLineAccountIds, hr as resolveEffectiveAllowFromLists, ir as approveDevicePairing, j as evictOldHistoryKeys, jn as normalizeHandle, k as clearHistoryEntries, ln as resolveRuntimeOptionsFromMeta, lr as extractToolSend, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, nr as resolveHeartbeatPrompt, o as resolveStrictAgenticRuntimeMode, on as getAcpRuntimeBackend, or as rejectDevicePairing, ot as createFasedAgentCodingTools, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, qn as hasMarkdownToConvert, rr as waitForAbortSignal, sn as registerAcpRuntimeBackend, sr as createDedupeCache, st as resolveEffectiveToolPolicy, t as runEmbeddedPiAgent, tr as DEFAULT_HEARTBEAT_EVERY, u as deriveModelMetadata, un as AcpRuntimeError, ur as withTempDownloadPath, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, vr as GROUP_POLICY_BLOCKED_LABEL, vt as getPluginToolMeta, wn as requestBodyErrorToText, wr as registerPluginHttpRoute, wt as peekSystemEvents, x as logTypingFailure, xn as isRequestBodyLimitError, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, yn as RequestBodyLimitError, yr as resolveAllowlistProviderRuntimeGroupPolicy, yt as buildChannelSummary, zn as formatValidationErrors } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { $t as resolveToolDisplay, A as clearHistoryEntriesIfEnabled, An as DEFAULT_FEDERATION_BASE_URL, Bn as validatePushTestParams, Cn as readRequestBodyWithLimit, Cr as assertOkOrThrowHttpError, Dn as runFederationAutoConnectOnce, Dr as BLUEBUBBLES_GROUP_ACTIONS, E as DEFAULT_GROUP_HISTORY_LIMIT, En as resolveChannelMediaMaxBytes, Er as BLUEBUBBLES_ACTION_NAMES, F as recordInboundSession, G as formatInboundFromLabel, Hn as errorShape, I as removeAckReactionAfterReply, Jn as processLineMessage, Kn as resolveModel, L as shouldAckReaction, Ln as loadOrCreateDeviceIdentity, M as recordPendingHistoryEntry, Mn as resolveAgentPublicOrigin, N as recordPendingHistoryEntryIfEnabled, Nn as resolveFederationBaseUrl, O as buildPendingHistoryContextFromMap, On as startFederationAutoConnect, Or as CHANNEL_MESSAGE_ACTION_NAMES, P as formatDocsLink, Pn as resolveFederationHandle, R as shouldAckReactionForWhatsApp, Rn as publicKeyRawBase64UrlFromPem, S as detectBinary, Sn as readJsonBodyWithLimit, Sr as warnMissingProviderGroupPolicyFallbackOnce, Tr as BLUEBUBBLES_ACTIONS, Ut as optionalStringEnum, Vn as ErrorCodes, Wt as stringEnum, Xn as createReceiptCard, Yn as stripMarkdown, Zn as attachFooterText, _ as resolveDefaultLineAccountId, _n as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, _r as resolveControlCommandGate, _t as getChannelAgentToolMeta, an as getAcpSessionManager, ar as listDevicePairing, b as logInboundDrop, bn as installRequestBodyLimitGuard, br as resolveDefaultGroupPolicy, c as loadModelCatalog, cn as unregisterAcpRuntimeBackend, d as issuePairingChallenge, dr as DM_GROUP_ACCESS_REASON, er as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, g as normalizeAccountId$1, h as listLineAccountIds, hr as resolveEffectiveAllowFromLists, ir as approveDevicePairing, j as evictOldHistoryKeys, jn as normalizeHandle, k as clearHistoryEntries, ln as resolveRuntimeOptionsFromMeta, lr as extractToolSend, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, nr as resolveHeartbeatPrompt, o as resolveStrictAgenticRuntimeMode, on as getAcpRuntimeBackend, or as rejectDevicePairing, ot as createFasedAgentCodingTools, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, qn as hasMarkdownToConvert, rr as waitForAbortSignal, sn as registerAcpRuntimeBackend, sr as createDedupeCache, st as resolveEffectiveToolPolicy, t as runEmbeddedPiAgent, tr as DEFAULT_HEARTBEAT_EVERY, u as deriveModelMetadata, un as AcpRuntimeError, ur as withTempDownloadPath, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, vr as GROUP_POLICY_BLOCKED_LABEL, vt as getPluginToolMeta, wn as requestBodyErrorToText, wr as registerPluginHttpRoute, wt as peekSystemEvents, x as logTypingFailure, xn as isRequestBodyLimitError, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, yn as RequestBodyLimitError, yr as resolveAllowlistProviderRuntimeGroupPolicy, yt as buildChannelSummary, zn as formatValidationErrors } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
  import { Ct as resolveIMessageGroupToolPolicy, Ft as listIMessageAccountIds, It as resolveDefaultIMessageAccountId, Lt as resolveIMessageAccount, Mt as listSignalAccountIds, Nt as resolveDefaultSignalAccountId, Pt as resolveSignalAccount, St as resolveIMessageGroupRequireMention, Vt as resolveToolsBySender, _t as normalizeSignalMessagingTarget, an as logMutatingAdminRpcAudit, at as resolveMainSessionKey, bt as resolveGoogleChatGroupRequireMention, c as listAgentsForGateway, ct as listChannelPlugins, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, ft as looksLikeHandleOrPhoneTarget, gt as looksLikeSignalTargetId, ln as authorizeOperatorScopesForMethod, mn as listPluginCommands, on as consumeMutatingAdminRpcBudget, pn as getPluginCommandSpecs, pt as trimMessagingTarget, s as classifySessionKey, t as getActivePluginRegistry, tn as getChatChannelMeta, u as resolveSessionModelRef, vn as normalizePluginHttpPath, vt as resolveBlueBubblesGroupRequireMention, x as loadSessionStore, xt as resolveGoogleChatGroupToolPolicy, yt as resolveBlueBubblesGroupToolPolicy } from "./runtime-BPyuAmka.js";
3
3
  import { n as stripAnsi, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { g as registerLogTransport, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -1,5 +1,5 @@
1
- import { A as info, E as resolveUserPath, M as getChildLogger, N as toPinoLikeLogger, O as defaultRuntime, b as ensureDir, d as redactSensitiveText, f as formatCliCommand, j as success, k as danger, m as logInfo, t as loadConfig, u as VERSION } from "./config-g1MG9Bet.js";
2
- import { a as logoutWeb, c as resolveDefaultWebAuthDir, l as resolveWebCredsBackupPath, o as maybeRestoreCredsFromBackup, r as resolveWhatsAppAccount, s as readCredsJsonRaw, u as resolveWebCredsPath } from "./accounts-C5BjfxoO.js";
1
+ import { A as info, E as resolveUserPath, M as getChildLogger, N as toPinoLikeLogger, O as defaultRuntime, b as ensureDir, d as redactSensitiveText, f as formatCliCommand, j as success, k as danger, m as logInfo, t as loadConfig, u as VERSION } from "./config-DgD5T-Ui.js";
2
+ import { a as logoutWeb, c as resolveDefaultWebAuthDir, l as resolveWebCredsBackupPath, o as maybeRestoreCredsFromBackup, r as resolveWhatsAppAccount, s as readCredsJsonRaw, u as resolveWebCredsPath } from "./accounts-COY-15zJ.js";
3
3
  import fs from "node:fs";
4
4
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
5
5
  import qrcode from "qrcode-terminal";
@@ -1,4 +1,4 @@
1
- import { $ as formatModelsAvailableHeader, $n as resolveTelegramInlineButtonsScope, A as clearHistoryEntriesIfEnabled, C as buildPairingReply, Ct as enqueueSystemEvent, E as DEFAULT_GROUP_HISTORY_LIMIT, F as recordInboundSession, Gt as hasControlCommand, H as createInboundDebouncer, I as removeAckReactionAfterReply, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, Nt as registerUnhandledRejectionHandler, O as buildPendingHistoryContextFromMap, Q as buildModelsProviderData, Qt as formatReasoningMessage, Sn as readJsonBodyWithLimit, T as sleepWithAbort, Tt as resolveChannelConfigWrites, U as resolveInboundDebounceMs, W as formatInboundEnvelope, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, at as buildCommandsPaginationKeyboard, b as logInboundDrop, bt as buildCommandsMessagePaginated, c as loadModelCatalog, en as stripReasoningTagsFromText, et as buildModelsKeyboard, f as createTypingCallbacks, gr as resolveCommandAuthorizedFromAuthorizers, it as parseModelCallbackData, l as modelSupportsVision, m as resolveMentionGatingWithBypass, nn as isInsideCode, nt as calculateTotalPages, qt as isAbortRequestText, rr as waitForAbortSignal, rt as getModelsPageSize, s as findModelInCatalog, sr as createDedupeCache, tn as findCodeRegions, tt as buildProviderKeyboard, w as computeBackoff, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, xt as formatDurationPrecise, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { $ as formatModelsAvailableHeader, $n as resolveTelegramInlineButtonsScope, A as clearHistoryEntriesIfEnabled, C as buildPairingReply, Ct as enqueueSystemEvent, E as DEFAULT_GROUP_HISTORY_LIMIT, F as recordInboundSession, Gt as hasControlCommand, H as createInboundDebouncer, I as removeAckReactionAfterReply, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, Nt as registerUnhandledRejectionHandler, O as buildPendingHistoryContextFromMap, Q as buildModelsProviderData, Qt as formatReasoningMessage, Sn as readJsonBodyWithLimit, T as sleepWithAbort, Tt as resolveChannelConfigWrites, U as resolveInboundDebounceMs, W as formatInboundEnvelope, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, at as buildCommandsPaginationKeyboard, b as logInboundDrop, bt as buildCommandsMessagePaginated, c as loadModelCatalog, en as stripReasoningTagsFromText, et as buildModelsKeyboard, f as createTypingCallbacks, gr as resolveCommandAuthorizedFromAuthorizers, it as parseModelCallbackData, l as modelSupportsVision, m as resolveMentionGatingWithBypass, nn as isInsideCode, nt as calculateTotalPages, qt as isAbortRequestText, rr as waitForAbortSignal, rt as getModelsPageSize, s as findModelInCatalog, sr as createDedupeCache, tn as findCodeRegions, tt as buildProviderKeyboard, w as computeBackoff, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, xt as formatDurationPrecise, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
  import { C as recordSessionMetaFromInbound, Dt as resolveTelegramAccount, Rt as resolveChannelGroupPolicy, S as readSessionUpdatedAt, fn as executePluginCommand, hn as matchPluginCommand, pn as getPluginCommandSpecs, x as loadSessionStore, zt as resolveChannelGroupRequireMention } from "./runtime-BPyuAmka.js";
3
3
  import { i as defaultRuntime, r as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-B_jjtAje.js";
@@ -51,7 +51,7 @@ import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
51
51
  import { _ as splitTelegramCaption, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, p as markdownToTelegramHtml, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging } from "./send-BzFdvD_i.js";
52
52
  import "./retry-policy-sM01QZT2.js";
53
53
  import { t as makeProxyFetch } from "./proxy-CKQOQYAl.js";
54
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-C6yLVx3S.js";
54
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-CJDzqowL.js";
55
55
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-v_5gdUYG.js";
56
56
  import path from "node:path";
57
57
  import os from "node:os";
@@ -2035,7 +2035,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2035
2035
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2036
2036
  let preflightTranscript;
2037
2037
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2038
- const { transcribeFirstAudio } = await import("./audio-preflight-CSRhaknd.js");
2038
+ const { transcribeFirstAudio } = await import("./audio-preflight-Chxqjwxe.js");
2039
2039
  preflightTranscript = await transcribeFirstAudio({
2040
2040
  ctx: {
2041
2041
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -16,9 +16,9 @@ import "./accounts-BRbbLNW_.js";
16
16
  import "./accounts-BwkH5bTD.js";
17
17
  import "./tokens-BK5rrwBB.js";
18
18
  import { a as resolveDiscordAllowListMatch, c as resolveDiscordMemberAccessState, d as resolveGroupDmAllow, f as shouldEmitDiscordReactionNotification, g as resolveTimestampMs, h as resolveDiscordSystemLocation, i as normalizeDiscordSlug, l as resolveDiscordOwnerAllowFrom, m as formatDiscordUserTag, n as isDiscordGroupAllowedByPolicy, o as resolveDiscordChannelConfigWithFallback, p as formatDiscordReactionEmoji, r as normalizeDiscordAllowList, s as resolveDiscordGuildEntry, t as allowListMatches, u as resolveDiscordShouldRequireMention } from "./allow-list-CBtbuDI8.js";
19
- import { a as patchAllowlistUsersInConfigEntries, c as buildUntrustedChannelMetadata, l as isDangerousNameMatchingEnabled, n as buildAllowlistResolutionSummary, o as summarizeMapping, r as canonicalizeAllowlistWithResolvedIds, s as chunkItems, t as addAllowlistUserEntriesFromConfigEntry, u as formatAllowlistMatchMeta } from "./resolve-utils-Bq0vrn3x.js";
19
+ import { a as patchAllowlistUsersInConfigEntries, c as buildUntrustedChannelMetadata, l as isDangerousNameMatchingEnabled, n as buildAllowlistResolutionSummary, o as summarizeMapping, r as canonicalizeAllowlistWithResolvedIds, s as chunkItems, t as addAllowlistUserEntriesFromConfigEntry, u as formatAllowlistMatchMeta } from "./resolve-utils-r6ef8mj8.js";
20
20
  import { l as resolveStorePath } from "./paths-DTurNPnO.js";
21
- import { $ as buildModelsProviderData, $t as parseTtsDirectives, At as EmbeddedBlockChunker, B as dispatchReplyWithBufferedBlockDispatcher, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, E as resolveDefaultGroupPolicy, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, J as createReplyDispatcherWithTyping, K as resolveEnvelopeFormatOptions, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, O as warnMissingProviderGroupPolicyFallbackOnce, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, Qt as textToSpeech, R as shouldAckReaction, S as buildPairingReply, T as GROUP_POLICY_BLOCKED_LABEL, U as createInboundDebouncer, V as dispatchReplyWithDispatcher, W as resolveInboundDebounceMs, Xt as enqueueSystemEvent, Yt as formatDurationSeconds, Zt as resolveTtsConfig, b as logInboundDrop, ct as buildProviderRegistry, dn as resolveAgentAvatar, f as createTypingCallbacks, fn as buildGatewayConnectionDetails, g as readStoreAllowFromForDmPolicy, j as buildPendingHistoryContextFromMap, lt as createMediaAttachmentCache, m as resolveMentionGatingWithBypass, pn as GatewayClient, pt as runCapability, q as dispatchInboundMessage, s as agentCommand, ut as normalizeMediaAttachments, v as resolveDmGroupAccessWithLists, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-DKwtdFcx.js";
21
+ import { $ as buildModelsProviderData, $t as parseTtsDirectives, At as EmbeddedBlockChunker, B as dispatchReplyWithBufferedBlockDispatcher, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, E as resolveDefaultGroupPolicy, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, J as createReplyDispatcherWithTyping, K as resolveEnvelopeFormatOptions, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, O as warnMissingProviderGroupPolicyFallbackOnce, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, Qt as textToSpeech, R as shouldAckReaction, S as buildPairingReply, T as GROUP_POLICY_BLOCKED_LABEL, U as createInboundDebouncer, V as dispatchReplyWithDispatcher, W as resolveInboundDebounceMs, Xt as enqueueSystemEvent, Yt as formatDurationSeconds, Zt as resolveTtsConfig, b as logInboundDrop, ct as buildProviderRegistry, dn as resolveAgentAvatar, f as createTypingCallbacks, fn as buildGatewayConnectionDetails, g as readStoreAllowFromForDmPolicy, j as buildPendingHistoryContextFromMap, lt as createMediaAttachmentCache, m as resolveMentionGatingWithBypass, pn as GatewayClient, pt as runCapability, q as dispatchInboundMessage, s as agentCommand, ut as normalizeMediaAttachments, v as resolveDmGroupAccessWithLists, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-B2vb7zNW.js";
22
22
  import "./runtime-dependency-B-1u41Ph.js";
23
23
  import "./ssrf-Cce6LubA.js";
24
24
  import { n as listSkillCommandsForAgents } from "./skill-commands-hyZA0LE3.js";
@@ -1405,7 +1405,7 @@ async function preflightDiscordMessage(params) {
1405
1405
  let preflightTranscript;
1406
1406
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1407
1407
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1408
- const { transcribeFirstAudio } = await import("./audio-preflight-DlkuhmkH.js");
1408
+ const { transcribeFirstAudio } = await import("./audio-preflight-aupYKWfa.js");
1409
1409
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1410
1410
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1411
1411
  ctx: {
@@ -15,7 +15,7 @@ import "./accounts-BwkH5bTD.js";
15
15
  import "./tokens-BK5rrwBB.js";
16
16
  import "./allow-list-CBtbuDI8.js";
17
17
  import { l as resolveStorePath } from "./paths-DTurNPnO.js";
18
- import { $ as buildModelsProviderData, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, Et as isAbortRequestText, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, Kt as findCodeRegions, L as removeAckReactionAfterReply, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, R as shouldAckReaction, S as buildPairingReply, U as createInboundDebouncer, W as resolveInboundDebounceMs, Wt as formatReasoningMessage, Xt as enqueueSystemEvent, Y as createDedupeCache, at as parseModelCallbackData, b as logInboundDrop, c as findModelInCatalog, et as formatModelsAvailableHeader, f as createTypingCallbacks, h as waitForAbortSignal, it as getModelsPageSize, j as buildPendingHistoryContextFromMap, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, l as loadModelCatalog, ln as readJsonBodyWithLimit, m as resolveMentionGatingWithBypass, n as buildCommandsMessagePaginated, nt as buildProviderKeyboard, ot as buildCommandsPaginationKeyboard, qt as isInsideCode, rt as calculateTotalPages, st as resolveChannelConfigWrites, tn as resolveTelegramInlineButtonsScope, tt as buildModelsKeyboard, u as modelSupportsVision, w as sleepWithAbort, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-DKwtdFcx.js";
18
+ import { $ as buildModelsProviderData, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, Et as isAbortRequestText, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, Kt as findCodeRegions, L as removeAckReactionAfterReply, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, R as shouldAckReaction, S as buildPairingReply, U as createInboundDebouncer, W as resolveInboundDebounceMs, Wt as formatReasoningMessage, Xt as enqueueSystemEvent, Y as createDedupeCache, at as parseModelCallbackData, b as logInboundDrop, c as findModelInCatalog, et as formatModelsAvailableHeader, f as createTypingCallbacks, h as waitForAbortSignal, it as getModelsPageSize, j as buildPendingHistoryContextFromMap, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, l as loadModelCatalog, ln as readJsonBodyWithLimit, m as resolveMentionGatingWithBypass, n as buildCommandsMessagePaginated, nt as buildProviderKeyboard, ot as buildCommandsPaginationKeyboard, qt as isInsideCode, rt as calculateTotalPages, st as resolveChannelConfigWrites, tn as resolveTelegramInlineButtonsScope, tt as buildModelsKeyboard, u as modelSupportsVision, w as sleepWithAbort, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-B2vb7zNW.js";
19
19
  import "./runtime-dependency-B-1u41Ph.js";
20
20
  import "./ssrf-Cce6LubA.js";
21
21
  import { n as listSkillCommandsForAgents } from "./skill-commands-hyZA0LE3.js";
@@ -51,7 +51,7 @@ import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
51
51
  import { _ as splitTelegramCaption, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, p as markdownToTelegramHtml, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging } from "./send-B09HRfHN.js";
52
52
  import "./retry-policy-BLYEgIwP.js";
53
53
  import { t as makeProxyFetch } from "./proxy-CV9uL4Wi.js";
54
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-Dmrdawoj.js";
54
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-C1vOWkzA.js";
55
55
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-Bfbhumzv.js";
56
56
  import crypto from "node:crypto";
57
57
  import os from "node:os";
@@ -2035,7 +2035,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2035
2035
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2036
2036
  let preflightTranscript;
2037
2037
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2038
- const { transcribeFirstAudio } = await import("./audio-preflight-DlkuhmkH.js");
2038
+ const { transcribeFirstAudio } = await import("./audio-preflight-aupYKWfa.js");
2039
2039
  preflightTranscript = await transcribeFirstAudio({
2040
2040
  ctx: {
2041
2041
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -1,4 +1,4 @@
1
- import { A as clearHistoryEntriesIfEnabled, B as dispatchReplyWithDispatcher, C as buildPairingReply, Ct as enqueueSystemEvent, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, F as recordInboundSession, Fn as buildGatewayConnectionDetails, Gn as parseTtsDirectives, Gt as hasControlCommand, H as createInboundDebouncer, In as GatewayClient, J as createReplyDispatcherWithTyping, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, Ot as normalizeMediaAttachments, Q as buildModelsProviderData, Sr as warnMissingProviderGroupPolicyFallbackOnce, St as formatDurationSeconds, U as resolveInboundDebounceMs, Un as resolveTtsConfig, W as formatInboundEnvelope, Wn as textToSpeech, Y as EmbeddedBlockChunker, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, a as agentCommand, b as logInboundDrop, br as resolveDefaultGroupPolicy, en as stripReasoningTagsFromText, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, gr as resolveCommandAuthorizedFromAuthorizers, jt as runCapability, kn as resolveAgentAvatar, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, q as dispatchInboundMessage, vr as GROUP_POLICY_BLOCKED_LABEL, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { A as clearHistoryEntriesIfEnabled, B as dispatchReplyWithDispatcher, C as buildPairingReply, Ct as enqueueSystemEvent, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, F as recordInboundSession, Fn as buildGatewayConnectionDetails, Gn as parseTtsDirectives, Gt as hasControlCommand, H as createInboundDebouncer, In as GatewayClient, J as createReplyDispatcherWithTyping, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, Ot as normalizeMediaAttachments, Q as buildModelsProviderData, Sr as warnMissingProviderGroupPolicyFallbackOnce, St as formatDurationSeconds, U as resolveInboundDebounceMs, Un as resolveTtsConfig, W as formatInboundEnvelope, Wn as textToSpeech, Y as EmbeddedBlockChunker, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, a as agentCommand, b as logInboundDrop, br as resolveDefaultGroupPolicy, en as stripReasoningTagsFromText, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, gr as resolveCommandAuthorizedFromAuthorizers, jt as runCapability, kn as resolveAgentAvatar, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, q as dispatchInboundMessage, vr as GROUP_POLICY_BLOCKED_LABEL, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
  import { $t as GATEWAY_CLIENT_MODES, S as readSessionUpdatedAt, Yt as normalizeMessageChannel, en as GATEWAY_CLIENT_NAMES, ut as getChannelDock, x as loadSessionStore } from "./runtime-BPyuAmka.js";
3
3
  import { r as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -59,7 +59,7 @@ import { C as editMessageDiscord, Q as stripUndefinedFields, a as removeReaction
59
59
  import { i as createThreadBindingManager, r as createNoopThreadBindingManager, t as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings.lifecycle-gmHv3hc7.js";
60
60
  import { t as createReplyReferencePlanner } from "./reply-reference-DxIu2vr0.js";
61
61
  import { i as createStatusReactionController, r as DEFAULT_TIMING, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-v_5gdUYG.js";
62
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-B1CvDQbk.js";
62
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-BDhRe_xU.js";
63
63
  import { t as fetchDiscordApplicationId } from "./probe-Dqx0N4uk.js";
64
64
  import { t as DiscordUiContainer } from "./ui-7sxJ-x37.js";
65
65
  import "./guilds-DmzO7n0X.js";
@@ -1390,7 +1390,7 @@ async function preflightDiscordMessage(params) {
1390
1390
  let preflightTranscript;
1391
1391
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1392
1392
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1393
- const { transcribeFirstAudio } = await import("./audio-preflight-CSRhaknd.js");
1393
+ const { transcribeFirstAudio } = await import("./audio-preflight-Chxqjwxe.js");
1394
1394
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1395
1395
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1396
1396
  ctx: {
@@ -1,4 +1,4 @@
1
- import { Bt as normalizeMimeList, Ft as DEFAULT_INPUT_IMAGE_MIMES, It as DEFAULT_INPUT_MAX_REDIRECTS, Lt as DEFAULT_INPUT_TIMEOUT_MS, Pt as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as extractFileContentFromSource, Vt as resolveInputFileLimits, a as agentCommand, dn as createDefaultDeps, fn as resolveAgentIdForRequest, gn as writeDone, hn as setSseHeaders, i as resolveAssistantStreamDeltaText, in as onAgentEvent, mn as sendJson, n as handleGatewayPostJsonEndpoint, pn as resolveSessionKey, r as buildAgentMessageFromConversationEntries, rn as emitAgentEvent, zt as extractImageContentFromSource } from "./pi-embedded-runner-Cl-dGLKY.js";
1
+ import { Bt as normalizeMimeList, Ft as DEFAULT_INPUT_IMAGE_MIMES, It as DEFAULT_INPUT_MAX_REDIRECTS, Lt as DEFAULT_INPUT_TIMEOUT_MS, Pt as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as extractFileContentFromSource, Vt as resolveInputFileLimits, a as agentCommand, dn as createDefaultDeps, fn as resolveAgentIdForRequest, gn as writeDone, hn as setSseHeaders, i as resolveAssistantStreamDeltaText, in as onAgentEvent, mn as sendJson, n as handleGatewayPostJsonEndpoint, pn as resolveSessionKey, r as buildAgentMessageFromConversationEntries, rn as emitAgentEvent, zt as extractImageContentFromSource } from "./pi-embedded-runner-Dum71Tdo.js";
2
2
  import "./runtime-BPyuAmka.js";
3
3
  import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -14,7 +14,7 @@ import "./accounts-BwkH5bTD.js";
14
14
  import "./tokens-BK5rrwBB.js";
15
15
  import "./allow-list-CBtbuDI8.js";
16
16
  import "./paths-DTurNPnO.js";
17
- import { Nt as emitAgentEvent, Pt as onAgentEvent, St as resolveInputFileLimits, _t as DEFAULT_INPUT_MAX_REDIRECTS, a as buildAgentMessageFromConversationEntries, an as sendJson, bt as extractImageContentFromSource, gt as DEFAULT_INPUT_IMAGE_MIMES, ht as DEFAULT_INPUT_IMAGE_MAX_BYTES, i as handleGatewayPostJsonEndpoint, in as resolveSessionKey, nn as createDefaultDeps, o as resolveAssistantStreamDeltaText, on as setSseHeaders, rn as resolveAgentIdForRequest, s as agentCommand, sn as writeDone, vt as DEFAULT_INPUT_TIMEOUT_MS, xt as normalizeMimeList, yt as extractFileContentFromSource } from "./status-DKwtdFcx.js";
17
+ import { Nt as emitAgentEvent, Pt as onAgentEvent, St as resolveInputFileLimits, _t as DEFAULT_INPUT_MAX_REDIRECTS, a as buildAgentMessageFromConversationEntries, an as sendJson, bt as extractImageContentFromSource, gt as DEFAULT_INPUT_IMAGE_MIMES, ht as DEFAULT_INPUT_IMAGE_MAX_BYTES, i as handleGatewayPostJsonEndpoint, in as resolveSessionKey, nn as createDefaultDeps, o as resolveAssistantStreamDeltaText, on as setSseHeaders, rn as resolveAgentIdForRequest, s as agentCommand, sn as writeDone, vt as DEFAULT_INPUT_TIMEOUT_MS, xt as normalizeMimeList, yt as extractFileContentFromSource } from "./status-B2vb7zNW.js";
18
18
  import "./runtime-dependency-B-1u41Ph.js";
19
19
  import "./ssrf-Cce6LubA.js";
20
20
  import "./skill-commands-hyZA0LE3.js";