@fased/fased 0.1.60 → 0.1.61

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 (73) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/brand.js +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/control-ui/assets/{app-CqF4Tc9n.js → app-BXA4gPvN.js} +3 -3
  6. package/dist/control-ui/assets/{index-DYggPSfy.js → index-D2QbJhVg.js} +3 -3
  7. package/dist/control-ui/index.html +1 -1
  8. package/dist/control-ui/version.json +1 -1
  9. package/dist/plugin-sdk/{audio-preflight-C2QXh5Ml.js → audio-preflight-Bv0hUOWL.js} +2 -2
  10. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  11. package/dist/plugin-sdk/{chunk-items-3ZyiGiff.js → chunk-items-Bk--NU3E.js} +1 -1
  12. package/dist/plugin-sdk/command-status.js +2 -2
  13. package/dist/plugin-sdk/{config-schema-C9tx1Lyz.js → config-schema-CGW6J3Pv.js} +16 -16
  14. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  15. package/dist/plugin-sdk/discord.d.ts +4 -4
  16. package/dist/plugin-sdk/index.d.ts +15 -15
  17. package/dist/plugin-sdk/index.js +2 -2
  18. package/dist/plugin-sdk/{monitor-XbunF2-r.js → monitor-B71iwAgC.js} +6 -6
  19. package/dist/plugin-sdk/{monitor-Xgx6vGcg.js → monitor-B9Cmt_Je.js} +4 -4
  20. package/dist/plugin-sdk/{openresponses-http-BRUr0JLE.js → openresponses-http-Du4GMmwo.js} +2 -2
  21. package/dist/plugin-sdk/{pairing-message-C403mq4K.d.ts → pairing-message-BMkkS038.d.ts} +1 -1
  22. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  23. package/dist/plugin-sdk/{pw-ai-BzV0f18N.js → pw-ai-AFUqn-tQ.js} +1 -1
  24. package/dist/plugin-sdk/{runtime-dependency-Ch7J9a0d.js → runtime-dependency-DLDmB94f.js} +9 -9
  25. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  26. package/dist/plugin-sdk/sat-runtime.js +2 -2
  27. package/dist/plugin-sdk/{slack-BzJfCWjq.js → slack-D_bbE6Yd.js} +4 -4
  28. package/dist/plugin-sdk/slack.d.ts +4 -4
  29. package/dist/plugin-sdk/{sticker-cache-Dex-XpRj.js → sticker-cache-Dqo9nRhi.js} +2 -2
  30. package/dist/plugin-sdk/{telegram-actions-DoFTGX4z.js → telegram-actions-Cnag7JTH.js} +3 -3
  31. package/dist/plugin-sdk/telegram.d.ts +4 -4
  32. package/dist/plugin-sdk/{tmp-fased-dir-Ouj58axY.d.ts → tmp-fased-dir-BdFQvrvw.d.ts} +1 -1
  33. package/dist/plugin-sdk/{types-B4hj6HgR.d.ts → types-BYDL6dQj.d.ts} +1 -1
  34. package/dist/plugin-sdk/{types-dWZFX1fk.d.ts → types-CLIvQaVg.d.ts} +2 -2
  35. package/dist/plugin-sdk/{web--wC3ZfVl.js → web-BInKQkc4.js} +2 -2
  36. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  37. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
  38. package/extensions/acpx/package.json +1 -1
  39. package/extensions/bluebubbles/package.json +1 -1
  40. package/extensions/copilot-proxy/package.json +1 -1
  41. package/extensions/diagnostics-otel/package.json +1 -1
  42. package/extensions/fased-federation/package.json +1 -1
  43. package/extensions/google-gemini-cli-auth/package.json +1 -1
  44. package/extensions/imessage/package.json +1 -1
  45. package/extensions/irc/package.json +1 -1
  46. package/extensions/line/package.json +1 -1
  47. package/extensions/llm-task/package.json +1 -1
  48. package/extensions/lobster/package.json +1 -1
  49. package/extensions/matrix/CHANGELOG.md +6 -0
  50. package/extensions/matrix/package.json +1 -1
  51. package/extensions/mattermost/package.json +1 -1
  52. package/extensions/memory-core/package.json +2 -2
  53. package/extensions/memory-lancedb/package.json +1 -1
  54. package/extensions/minimax-portal-auth/package.json +1 -1
  55. package/extensions/msteams/CHANGELOG.md +6 -0
  56. package/extensions/msteams/package.json +1 -1
  57. package/extensions/nextcloud-talk/package.json +1 -1
  58. package/extensions/nostr/CHANGELOG.md +6 -0
  59. package/extensions/nostr/package.json +1 -1
  60. package/extensions/open-prose/package.json +1 -1
  61. package/extensions/sat-mining/package.json +1 -1
  62. package/extensions/signal/package.json +1 -1
  63. package/extensions/synology-chat/package.json +1 -1
  64. package/extensions/tlon/package.json +1 -1
  65. package/extensions/twitch/CHANGELOG.md +6 -0
  66. package/extensions/twitch/package.json +1 -1
  67. package/extensions/voice-call/CHANGELOG.md +6 -0
  68. package/extensions/voice-call/package.json +1 -1
  69. package/extensions/zalo/CHANGELOG.md +6 -0
  70. package/extensions/zalo/package.json +1 -1
  71. package/extensions/zalouser/CHANGELOG.md +6 -0
  72. package/extensions/zalouser/package.json +1 -1
  73. package/package.json +1 -1
@@ -49,7 +49,7 @@ import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal
49
49
  import { i as resolveQmdScopeDenial } from "./qmd-scope-CdX34VCV.js";
50
50
  import { _ as estimateBase64DecodedBytes, a as jsonResult, d as readStringParam, f as sanitizeContentBlocksImages, g as canonicalizeBase64, h as resolveImageSanitizationLimits, i as imageResultFromFile, l as readStringArrayParam, m as sanitizeToolResultImages, n as createActionGate, p as sanitizeImageBlocks, r as imageResult, s as readNumberParam, u as readStringOrNumberParam } from "./common-CfUOowOp.js";
51
51
  import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as resolveNativeCommandName, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-DmDRhRAU.js";
52
- import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, G as isLoopbackHost, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, J as resolveClientIp, K as isSecureWebSocketUrl, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, W as isLoopbackAddress, X as rawDataToString, Y as resolveForwardedClientIp, _ as stopFasedAgentChrome, a as DEFAULT_TRACE_DIR, b as captureScreenshot, d as normalizeBrowserFormField, g as resolveFasedAgentUserDataDir, h as launchFasedAgentChrome, i as DEFAULT_DOWNLOAD_DIR, j as fetchOk, k as appendCdpPath, l as resolveWritablePathWithinRoot, m as isChromeReachable, o as DEFAULT_UPLOAD_DIR, p as isChromeCdpReady, q as isTrustedProxyAddress, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-Ch7J9a0d.js";
52
+ import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, G as isLoopbackHost, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, J as resolveClientIp, K as isSecureWebSocketUrl, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, W as isLoopbackAddress, X as rawDataToString, Y as resolveForwardedClientIp, _ as stopFasedAgentChrome, a as DEFAULT_TRACE_DIR, b as captureScreenshot, d as normalizeBrowserFormField, g as resolveFasedAgentUserDataDir, h as launchFasedAgentChrome, i as DEFAULT_DOWNLOAD_DIR, j as fetchOk, k as appendCdpPath, l as resolveWritablePathWithinRoot, m as isChromeReachable, o as DEFAULT_UPLOAD_DIR, p as isChromeCdpReady, q as isTrustedProxyAddress, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-DLDmB94f.js";
53
53
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DjgDArrp.js";
54
54
  import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-g4g7GT02.js";
55
55
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DHLFQqaF.js";
@@ -97,7 +97,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
97
97
  import readline from "node:readline";
98
98
  import { createJiti } from "jiti";
99
99
  import { Type } from "@sinclair/typebox";
100
- import WebSocket$1, { WebSocket } from "ws";
100
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
101
101
  import { Buffer as Buffer$1 } from "node:buffer";
102
102
  import net from "node:net";
103
103
  import { request } from "node:https";
@@ -12568,7 +12568,7 @@ var GatewayClient = class {
12568
12568
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
12569
12569
  });
12570
12570
  }
12571
- this.ws = new WebSocket(url, wsOptions);
12571
+ this.ws = new WebSocket$1(url, wsOptions);
12572
12572
  this.ws.on("open", () => {
12573
12573
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
12574
12574
  const tlsError = this.validateTlsFingerprint();
@@ -12764,7 +12764,7 @@ var GatewayClient = class {
12764
12764
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
12765
12765
  if (this.connectTimer) clearTimeout(this.connectTimer);
12766
12766
  this.connectTimer = setTimeout(() => {
12767
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
12767
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
12768
12768
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
12769
12769
  this.ws?.close(1008, "connect challenge timeout");
12770
12770
  }, connectChallengeTimeoutMs);
@@ -12806,7 +12806,7 @@ var GatewayClient = class {
12806
12806
  return null;
12807
12807
  }
12808
12808
  async request(method, params, opts) {
12809
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
12809
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
12810
12810
  const id = randomUUID();
12811
12811
  const frame = {
12812
12812
  type: "req",
@@ -26062,7 +26062,7 @@ function createOutboundSendDepsFromCliSource(deps) {
26062
26062
  function createDefaultDeps() {
26063
26063
  return {
26064
26064
  sendMessageWhatsApp: async (...args) => {
26065
- const { sendMessageWhatsApp } = await import("./web--wC3ZfVl.js");
26065
+ const { sendMessageWhatsApp } = await import("./web-BInKQkc4.js");
26066
26066
  return await sendMessageWhatsApp(...args);
26067
26067
  },
26068
26068
  sendMessageTelegram: async (...args) => {
@@ -34071,7 +34071,7 @@ function isModuleNotFoundError(err) {
34071
34071
  }
34072
34072
  async function loadPwAiModule(mode) {
34073
34073
  try {
34074
- return await import("./pw-ai-BzV0f18N.js");
34074
+ return await import("./pw-ai-AFUqn-tQ.js");
34075
34075
  } catch (err) {
34076
34076
  if (mode === "soft") return null;
34077
34077
  if (isModuleNotFoundError(err)) return null;
@@ -34465,11 +34465,11 @@ function createProfileContext(opts, profile) {
34465
34465
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
34466
34466
  const profileState = getProfileState();
34467
34467
  if (await isHttpReachable(300) && !profileState.running) try {
34468
- await (await import("./pw-ai-BzV0f18N.js")).closePlaywrightBrowserConnection();
34468
+ await (await import("./pw-ai-AFUqn-tQ.js")).closePlaywrightBrowserConnection();
34469
34469
  } catch {}
34470
34470
  if (profileState.running) await stopRunningBrowser();
34471
34471
  try {
34472
- await (await import("./pw-ai-BzV0f18N.js")).closePlaywrightBrowserConnection();
34472
+ await (await import("./pw-ai-AFUqn-tQ.js")).closePlaywrightBrowserConnection();
34473
34473
  } catch {}
34474
34474
  if (!fs.existsSync(userDataDir)) return {
34475
34475
  moved: false,
@@ -94179,7 +94179,7 @@ const signalMessageActions = {
94179
94179
  //#region src/channels/plugins/actions/telegram.ts
94180
94180
  const providerId = "telegram";
94181
94181
  async function loadTelegramActionHandler() {
94182
- const { handleTelegramAction } = await import("./telegram-actions-DoFTGX4z.js");
94182
+ const { handleTelegramAction } = await import("./telegram-actions-Cnag7JTH.js");
94183
94183
  return handleTelegramAction;
94184
94184
  }
94185
94185
  function readTelegramSendParams(params) {
@@ -96589,7 +96589,7 @@ function buildPairingReply(params) {
96589
96589
 
96590
96590
  //#endregion
96591
96591
  //#region src/brand.ts
96592
- const FASED_PRODUCT_VERSION = "0.1.60";
96592
+ const FASED_PRODUCT_VERSION = "0.1.61";
96593
96593
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
96594
96594
 
96595
96595
  //#endregion
@@ -100500,7 +100500,7 @@ const sendPollDiscordLazy = async (...args) => {
100500
100500
  return sendPollDiscord(...args);
100501
100501
  };
100502
100502
  const monitorDiscordProviderLazy = async (...args) => {
100503
- const { monitorDiscordProvider } = await import("./monitor-XbunF2-r.js");
100503
+ const { monitorDiscordProvider } = await import("./monitor-B71iwAgC.js");
100504
100504
  return monitorDiscordProvider(...args);
100505
100505
  };
100506
100506
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -100528,7 +100528,7 @@ const sendMessageSlackLazy = async (...args) => {
100528
100528
  return sendMessageSlack(...args);
100529
100529
  };
100530
100530
  const monitorSlackProviderLazy = async (...args) => {
100531
- const { monitorSlackProvider } = await import("./slack-BzJfCWjq.js");
100531
+ const { monitorSlackProvider } = await import("./slack-D_bbE6Yd.js");
100532
100532
  return monitorSlackProvider(...args);
100533
100533
  };
100534
100534
  const handleSlackActionLazy = async (...args) => {
@@ -100548,7 +100548,7 @@ const sendPollTelegramLazy = async (...args) => {
100548
100548
  return sendPollTelegram(...args);
100549
100549
  };
100550
100550
  const monitorTelegramProviderLazy = async (...args) => {
100551
- const { monitorTelegramProvider } = await import("./monitor-Xgx6vGcg.js");
100551
+ const { monitorTelegramProvider } = await import("./monitor-B9Cmt_Je.js");
100552
100552
  return monitorTelegramProvider(...args);
100553
100553
  };
100554
100554
  let webOutboundPromise = null;
@@ -100569,7 +100569,7 @@ function loadWebLoginQr() {
100569
100569
  return webLoginQrPromise;
100570
100570
  }
100571
100571
  function loadWebChannel() {
100572
- webChannelPromise ??= import("./web--wC3ZfVl.js");
100572
+ webChannelPromise ??= import("./web-BInKQkc4.js");
100573
100573
  return webChannelPromise;
100574
100574
  }
100575
100575
  function loadWhatsAppActions() {
@@ -111101,7 +111101,7 @@ function createOpenAIReasoningEffortWrapper(baseStreamFn, reasoningEffort) {
111101
111101
  function createCodexDefaultTransportWrapper(baseStreamFn) {
111102
111102
  const underlying = baseStreamFn ?? streamSimple;
111103
111103
  return (model, context, options) => {
111104
- if (typeof process !== "undefined" && process.versions?.node) globalThis.WebSocket = WebSocket$1;
111104
+ if (typeof process !== "undefined" && process.versions?.node) globalThis.WebSocket = WebSocket;
111105
111105
  return underlying(model, context, {
111106
111106
  ...options,
111107
111107
  transport: options?.transport ?? "auto"
@@ -1,3 +1,3 @@
1
- import { _ as FasedAgentPluginApi } from "./types-B4hj6HgR.js";
1
+ import { _ as FasedAgentPluginApi } from "./types-BYDL6dQj.js";
2
2
  import { a as listDevicePairing, i as approveDevicePairing, n as resolveTailnetHostWithRunner, r as resolveGatewayBindUrl, t as runPluginCommandWithTimeout } from "./run-command-i_W6EFb1.js";
3
3
  export { type FasedAgentPluginApi, approveDevicePairing, listDevicePairing, resolveGatewayBindUrl, resolveTailnetHostWithRunner, runPluginCommandWithTimeout };
@@ -1,10 +1,10 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, F as ChannelAccountSnapshot, J as ChannelMessageActionAdapter, it as ChannelStatusIssue, n as ChannelPlugin, on as DiscordAccountConfig, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-_fbu40Re.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-B4hj6HgR.js";
4
- import { D as normalizeE164 } from "./types-dWZFX1fk.js";
5
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-C403mq4K.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BYDL6dQj.js";
4
+ import { D as normalizeE164 } from "./types-CLIvQaVg.js";
5
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-BMkkS038.js";
6
6
  import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-BHRff6j8.js";
7
- import { t as DiscordConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
7
+ import { t as DiscordConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
 
9
9
  //#region src/discord/accounts.d.ts
10
10
  type ResolvedDiscordAccount = {
@@ -1,14 +1,14 @@
1
1
  import { t as ChatType } from "./chat-type-CK5stkc4.js";
2
2
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId, t as resolveThreadSessionKeys } from "./session-key--_1zVBRB.js";
3
3
  import { $ as ChannelPollContext, $t as MSTeamsReplyStyle, A as ChannelSecurityAdapter, An as SafeBinProfileFixture, At as FasedAgentConfig, B as ChannelCapabilities, C as ChannelLogoutResult, Cn as BlockStreamingCoalesceConfig, Ct as RuntimeEnv, D as ChannelResolveKind, Dn as MarkdownConfig, Dt as resolveIMessageAccount, E as ChannelPairingAdapter, Et as resolveDefaultIMessageAccountId, F as ChannelAccountSnapshot, G as ChannelId, H as ChannelDirectoryEntryKind, I as ChannelAccountState, J as ChannelMessageActionAdapter, K as ChannelLogSink, M as ChannelStatusAdapter, Mn as ReplyPayload, N as BaseProbeResult, Nn as CHANNEL_MESSAGE_ACTION_NAMES, O as ChannelResolveResult, On as MarkdownTableMode, P as BaseTokenResolution, Pt as ModelProviderConfig, Q as ChannelOutboundTargetMode, Qt as MSTeamsConfig, R as ChannelAgentTool, S as ChannelLogoutContext, T as ChannelOutboundContext, Tn as GroupPolicy, Tt as listIMessageAccountIds, U as ChannelGroupContext, V as ChannelDirectoryEntry, W as ChannelHeartbeatDeps, X as ChannelMessagingAdapter, Xt as SignalAccountConfig, Y as ChannelMessageActionContext, Z as ChannelMeta, Zt as MSTeamsChannelConfig, _ as ChannelGatewayContext, a as PromptAccountId, an as GoogleChatGroupConfig, at as ChannelStreamingAdapter, b as ChannelLoginWithQrStartResult, bn as GroupToolPolicyBySenderConfig, ct as ChannelThreadingToolContext, d as ChannelAuthAdapter, dt as OutboundDeliveryResult, en as MSTeamsTeamConfig, et as ChannelPollResult, f as ChannelCommandAdapter, g as ChannelGatewayAdapter, h as ChannelElevatedAdapter, i as ChannelOnboardingDmPolicy, in as GoogleChatDmConfig, it as ChannelStatusIssue, j as ChannelSetupAdapter, jn as GetReplyOptions, k as ChannelResolverAdapter, ln as ChunkMode, lt as ChannelToolSend, m as ChannelDirectoryAdapter, n as ChannelPlugin, nn as GoogleChatActionConfig, nt as ChannelSecurityDmPolicy, o as WizardPrompter, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, q as ChannelMentionAdapter, r as ChannelOnboardingAdapter, rn as GoogleChatConfig, rt as ChannelSetupInput, s as loadConfig, sn as DmConfig, st as ChannelThreadingContext, t as ChannelConfigSchema, tn as GoogleChatAccountConfig, tt as ChannelSecurityContext, u as ChannelMessageActionName, ut as getChatChannelMeta, v as ChannelGroupAdapter, w as ChannelOutboundAdapter, wn as DmPolicy, wt as ResolvedIMessageAccount, x as ChannelLoginWithQrWaitResult, xn as GroupToolPolicyConfig, y as ChannelHeartbeatAdapter, yn as PollInput, z as ChannelAgentToolFactory } from "./types.plugin-_fbu40Re.js";
4
- import { $ as RealtimeVoiceBridge, $t as extensionForMime, A as ProviderPlugin, At as LineAccountConfig, B as GeneratedVideoAsset, Bt as resolveDefaultGroupPolicy, C as ProviderAuthContext, Cn as readStringParam, Ct as ImageGenerationSourceImage, D as ProviderCatalogContext, Dn as SessionEntry, Dt as normalizeAccountId$1, E as ProviderAuthResult, En as SessionAcpMeta, Et as listLineAccountIds, F as RealtimeTranscriptionProviderPlugin, Ft as formatLocationText, G as VideoGenerationProviderCapabilities, H as VideoGenerationMode, Ht as warnMissingProviderGroupPolicyFallbackOnce, I as RealtimeVoiceProviderPlugin, It as toLocationContext, J as VideoGenerationResolution, K as VideoGenerationProviderConfiguredContext, L as VideoGenerationProviderPlugin, M as ProviderPluginWizard, Mt as LineConfig, N as ProviderPluginWizardModelPicker, Nt as ResolvedLineAccount, O as ProviderCatalogOrder, On as SessionSystemPromptReport, Ot as resolveDefaultLineAccountId, P as ProviderPluginWizardSetup, Pt as NormalizedLocation, Qt as detectMime, Rt as GROUP_POLICY_BLOCKED_LABEL, S as PluginLogger, Sn as readReactionParams, St as ImageGenerationResult, T as ProviderAuthMethod, Tn as SessionAcpIdentity, Tt as ChannelDock, U as VideoGenerationModeCapabilities, V as VideoGenerationIgnoredOverride, Vt as resolveOpenProviderRuntimeGroupPolicy, W as VideoGenerationProvider, X as VideoGenerationSourceAsset, Y as VideoGenerationResult, Z as VideoGenerationTransformCapabilities, _ as FasedAgentPluginApi, _n as createTypingCallbacks, _t as GeneratedImageAsset, a as PluginRuntimeSessionGetParams, an as resolveControlCommandGate, at as RealtimeVoiceProviderId, b as FasedAgentPluginServiceContext, bn as jsonResult, bt as ImageGenerationRequest, c as PluginRuntimeSessionListResult, cn as AckReactionScope, ct as RealtimeVoiceTool, d as PluginRuntimeAdminRpcAuditSink, dn as shouldAckReaction, dt as RealtimeTranscriptionProviderConfiguredContext, en as getFileExtension, et as RealtimeVoiceBridgeCallbacks, f as PluginRuntimeAdminRpcCallContext, fn as shouldAckReactionForWhatsApp, ft as RealtimeTranscriptionProviderId, g as PluginRegistry, gn as ResponsePrefixContext, gt as RealtimeTranscriptionSessionCreateRequest, h as PluginRuntimeAdminRpcInvoker, hn as resolveAckReaction, ht as RealtimeTranscriptionSessionCallbacks, i as PluginRuntimeSessionAuditSink, in as formatInboundFromLabel, it as RealtimeVoiceProviderConfiguredContext, j as ProviderPluginCatalog, jt as LineChannelData, k as ProviderCatalogResult, kt as resolveLineAccount, l as PluginRuntimeSessionStatus, ln as WhatsAppAckReactionMode, lt as RealtimeVoiceToolCallEvent, m as PluginRuntimeAdminRpcInvocation, mn as RoutePeerKind, mt as RealtimeTranscriptionSession, n as RuntimeLogger, nn as loadWebMedia, nt as RealtimeVoiceCloseReason, o as PluginRuntimeSessionHelpers, on as resolveToolsBySender, ot as RealtimeVoiceProviderResolveConfigContext, p as PluginRuntimeAdminRpcHelpers, pn as extractOriginalFilename, pt as RealtimeTranscriptionProviderResolveConfigContext, q as VideoGenerationRequest, r as PluginRuntimeSessionAuditEvent, rn as recordInboundSession, rt as RealtimeVoiceProviderConfig, s as PluginRuntimeSessionListParams, sn as AckReactionGateParams, st as RealtimeVoiceRole, t as PluginRuntime, tn as WebMediaResult, tt as RealtimeVoiceBridgeCreateRequest, u as PluginRuntimeAdminRpcAuditEvent, un as removeAckReactionAfterReply, ut as RealtimeTranscriptionProviderConfig, v as FasedAgentPluginConfigSchema, vn as AnyAgentTool, vt as ImageGenerationProvider, w as ProviderAuthKind, wn as AcpSessionRuntimeOptions, wt as HookEntry, x as ImageGenerationProviderPlugin, xn as readNumberParam, xt as ImageGenerationResolution, y as FasedAgentPluginService, yn as createActionGate, yt as ImageGenerationProviderConfiguredContext, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-B4hj6HgR.js";
5
- import { B as ExecTarget, D as normalizeE164, E as escapeRegExp, F as isBlockedHostname, I as isBlockedHostnameOrIp, L as isPrivateIpAddress, M as LookupFn, N as SsrFBlockedError, O as safeParseJson, P as SsrFPolicy, R as ExecAsk, T as clamp, _ as PushTestParams, a as GatewayClient, c as GatewayRequestHandlerOptions, d as GatewayStartupTraceSnapshot, f as ModelCatalogEntry, g as ErrorShape, h as CommandsListResult, k as sleep, l as GatewayRequestHandlers, o as GatewayRequestContext, p as ModelFeature, s as GatewayRequestHandler, u as RespondFn, z as ExecSecurity } from "./types-dWZFX1fk.js";
4
+ import { $ as RealtimeVoiceBridge, $t as extensionForMime, A as ProviderPlugin, At as LineAccountConfig, B as GeneratedVideoAsset, Bt as resolveDefaultGroupPolicy, C as ProviderAuthContext, Cn as readStringParam, Ct as ImageGenerationSourceImage, D as ProviderCatalogContext, Dn as SessionEntry, Dt as normalizeAccountId$1, E as ProviderAuthResult, En as SessionAcpMeta, Et as listLineAccountIds, F as RealtimeTranscriptionProviderPlugin, Ft as formatLocationText, G as VideoGenerationProviderCapabilities, H as VideoGenerationMode, Ht as warnMissingProviderGroupPolicyFallbackOnce, I as RealtimeVoiceProviderPlugin, It as toLocationContext, J as VideoGenerationResolution, K as VideoGenerationProviderConfiguredContext, L as VideoGenerationProviderPlugin, M as ProviderPluginWizard, Mt as LineConfig, N as ProviderPluginWizardModelPicker, Nt as ResolvedLineAccount, O as ProviderCatalogOrder, On as SessionSystemPromptReport, Ot as resolveDefaultLineAccountId, P as ProviderPluginWizardSetup, Pt as NormalizedLocation, Qt as detectMime, Rt as GROUP_POLICY_BLOCKED_LABEL, S as PluginLogger, Sn as readReactionParams, St as ImageGenerationResult, T as ProviderAuthMethod, Tn as SessionAcpIdentity, Tt as ChannelDock, U as VideoGenerationModeCapabilities, V as VideoGenerationIgnoredOverride, Vt as resolveOpenProviderRuntimeGroupPolicy, W as VideoGenerationProvider, X as VideoGenerationSourceAsset, Y as VideoGenerationResult, Z as VideoGenerationTransformCapabilities, _ as FasedAgentPluginApi, _n as createTypingCallbacks, _t as GeneratedImageAsset, a as PluginRuntimeSessionGetParams, an as resolveControlCommandGate, at as RealtimeVoiceProviderId, b as FasedAgentPluginServiceContext, bn as jsonResult, bt as ImageGenerationRequest, c as PluginRuntimeSessionListResult, cn as AckReactionScope, ct as RealtimeVoiceTool, d as PluginRuntimeAdminRpcAuditSink, dn as shouldAckReaction, dt as RealtimeTranscriptionProviderConfiguredContext, en as getFileExtension, et as RealtimeVoiceBridgeCallbacks, f as PluginRuntimeAdminRpcCallContext, fn as shouldAckReactionForWhatsApp, ft as RealtimeTranscriptionProviderId, g as PluginRegistry, gn as ResponsePrefixContext, gt as RealtimeTranscriptionSessionCreateRequest, h as PluginRuntimeAdminRpcInvoker, hn as resolveAckReaction, ht as RealtimeTranscriptionSessionCallbacks, i as PluginRuntimeSessionAuditSink, in as formatInboundFromLabel, it as RealtimeVoiceProviderConfiguredContext, j as ProviderPluginCatalog, jt as LineChannelData, k as ProviderCatalogResult, kt as resolveLineAccount, l as PluginRuntimeSessionStatus, ln as WhatsAppAckReactionMode, lt as RealtimeVoiceToolCallEvent, m as PluginRuntimeAdminRpcInvocation, mn as RoutePeerKind, mt as RealtimeTranscriptionSession, n as RuntimeLogger, nn as loadWebMedia, nt as RealtimeVoiceCloseReason, o as PluginRuntimeSessionHelpers, on as resolveToolsBySender, ot as RealtimeVoiceProviderResolveConfigContext, p as PluginRuntimeAdminRpcHelpers, pn as extractOriginalFilename, pt as RealtimeTranscriptionProviderResolveConfigContext, q as VideoGenerationRequest, r as PluginRuntimeSessionAuditEvent, rn as recordInboundSession, rt as RealtimeVoiceProviderConfig, s as PluginRuntimeSessionListParams, sn as AckReactionGateParams, st as RealtimeVoiceRole, t as PluginRuntime, tn as WebMediaResult, tt as RealtimeVoiceBridgeCreateRequest, u as PluginRuntimeAdminRpcAuditEvent, un as removeAckReactionAfterReply, ut as RealtimeTranscriptionProviderConfig, v as FasedAgentPluginConfigSchema, vn as AnyAgentTool, vt as ImageGenerationProvider, w as ProviderAuthKind, wn as AcpSessionRuntimeOptions, wt as HookEntry, x as ImageGenerationProviderPlugin, xn as readNumberParam, xt as ImageGenerationResolution, y as FasedAgentPluginService, yn as createActionGate, yt as ImageGenerationProviderConfiguredContext, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BYDL6dQj.js";
5
+ import { B as ExecTarget, D as normalizeE164, E as escapeRegExp, F as isBlockedHostname, I as isBlockedHostnameOrIp, L as isPrivateIpAddress, M as LookupFn, N as SsrFBlockedError, O as safeParseJson, P as SsrFPolicy, R as ExecAsk, T as clamp, _ as PushTestParams, a as GatewayClient, c as GatewayRequestHandlerOptions, d as GatewayStartupTraceSnapshot, f as ModelCatalogEntry, g as ErrorShape, h as CommandsListResult, k as sleep, l as GatewayRequestHandlers, o as GatewayRequestContext, p as ModelFeature, s as GatewayRequestHandler, u as RespondFn, z as ExecSecurity } from "./types-CLIvQaVg.js";
6
6
  import { a as VerboseLevel, i as ThinkLevel, n as SkillSnapshot, r as ReasoningLevel } from "./types-DyhXnYUr.js";
7
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-C403mq4K.js";
7
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-BMkkS038.js";
8
8
  import { a as listDevicePairing, i as approveDevicePairing, n as resolveTailnetHostWithRunner, o as rejectDevicePairing, r as resolveGatewayBindUrl, t as runPluginCommandWithTimeout } from "./run-command-i_W6EFb1.js";
9
9
  import { _ as buildTokenChannelStatusSummary, a as resolveGoogleChatGroupRequireMention, c as resolveIMessageGroupToolPolicy, g as buildBaseChannelStatusSummary, h as buildBaseAccountStatusSnapshot, n as resolveBlueBubblesGroupToolPolicy, o as resolveGoogleChatGroupToolPolicy, s as resolveIMessageGroupRequireMention, t as resolveBlueBubblesGroupRequireMention, v as collectStatusIssuesFromLastError, y as createDefaultChannelRuntimeState } from "./group-mentions-BHRff6j8.js";
10
- import { a as SignalConfigSchema, i as MSTeamsConfigSchema, n as GoogleChatConfigSchema, r as IMessageConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
11
- import { n as fetchWithSsrFGuard, r as listAgentIds, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-Ouj58axY.js";
10
+ import { a as SignalConfigSchema, i as MSTeamsConfigSchema, n as GoogleChatConfigSchema, r as IMessageConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
11
+ import { n as fetchWithSsrFGuard, r as listAgentIds, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-BdFQvrvw.js";
12
12
  import { ImageContent } from "@mariozechner/pi-ai";
13
13
  import { AgentMessage } from "@mariozechner/pi-agent-core";
14
14
  import * as _sinclair_typebox0 from "@sinclair/typebox";
@@ -221,7 +221,7 @@ declare const BLUEBUBBLES_ACTIONS: {
221
221
  };
222
222
  };
223
223
  declare const BLUEBUBBLES_ACTION_NAMES: (keyof typeof BLUEBUBBLES_ACTIONS)[];
224
- declare const BLUEBUBBLES_GROUP_ACTIONS: Set<"reactions" | "search" | "sticker" | "permissions" | "edit" | "unsend" | "reply" | "sendWithEffect" | "renameGroup" | "setGroupIcon" | "addParticipant" | "removeParticipant" | "leaveGroup" | "sendAttachment" | "send" | "broadcast" | "poll" | "react" | "read" | "delete" | "pin" | "unpin" | "list-pins" | "thread-create" | "thread-list" | "thread-reply" | "sticker-search" | "member-info" | "role-info" | "emoji-list" | "emoji-upload" | "sticker-upload" | "role-add" | "role-remove" | "channel-info" | "channel-list" | "channel-create" | "channel-edit" | "channel-delete" | "channel-move" | "category-create" | "category-edit" | "category-delete" | "topic-create" | "voice-status" | "event-list" | "event-create" | "timeout" | "kick" | "ban" | "set-presence">;
224
+ declare const BLUEBUBBLES_GROUP_ACTIONS: Set<"search" | "reactions" | "sticker" | "permissions" | "edit" | "unsend" | "reply" | "sendWithEffect" | "renameGroup" | "setGroupIcon" | "addParticipant" | "removeParticipant" | "leaveGroup" | "sendAttachment" | "timeout" | "send" | "broadcast" | "poll" | "react" | "read" | "delete" | "pin" | "unpin" | "list-pins" | "thread-create" | "thread-list" | "thread-reply" | "sticker-search" | "member-info" | "role-info" | "emoji-list" | "emoji-upload" | "sticker-upload" | "role-add" | "role-remove" | "channel-info" | "channel-list" | "channel-create" | "channel-edit" | "channel-delete" | "channel-move" | "category-create" | "category-edit" | "category-delete" | "topic-create" | "voice-status" | "event-list" | "event-create" | "kick" | "ban" | "set-presence">;
225
225
  //#endregion
226
226
  //#region src/plugins/http-path.d.ts
227
227
  declare function normalizePluginHttpPath(path?: string | null, fallback?: string | null): string | null;
@@ -320,15 +320,15 @@ declare const DmConfigSchema: z.ZodObject<{
320
320
  historyLimit: z.ZodOptional<z.ZodNumber>;
321
321
  }, z.core.$strict>;
322
322
  declare const GroupPolicySchema: z.ZodEnum<{
323
- allowlist: "allowlist";
324
323
  open: "open";
325
324
  disabled: "disabled";
325
+ allowlist: "allowlist";
326
326
  }>;
327
327
  declare const DmPolicySchema: z.ZodEnum<{
328
- pairing: "pairing";
329
- allowlist: "allowlist";
330
328
  open: "open";
331
329
  disabled: "disabled";
330
+ allowlist: "allowlist";
331
+ pairing: "pairing";
332
332
  }>;
333
333
  declare const BlockStreamingCoalesceSchema: z.ZodObject<{
334
334
  minChars: z.ZodOptional<z.ZodNumber>;
@@ -2431,15 +2431,15 @@ declare const LineConfigSchema: z.ZodObject<{
2431
2431
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
2432
2432
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
2433
2433
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2434
- pairing: "pairing";
2435
- allowlist: "allowlist";
2436
2434
  open: "open";
2437
2435
  disabled: "disabled";
2436
+ allowlist: "allowlist";
2437
+ pairing: "pairing";
2438
2438
  }>>>;
2439
2439
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2440
- allowlist: "allowlist";
2441
2440
  open: "open";
2442
2441
  disabled: "disabled";
2442
+ allowlist: "allowlist";
2443
2443
  }>>>;
2444
2444
  responsePrefix: z.ZodOptional<z.ZodString>;
2445
2445
  mediaMaxMb: z.ZodOptional<z.ZodNumber>;
@@ -2454,15 +2454,15 @@ declare const LineConfigSchema: z.ZodObject<{
2454
2454
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
2455
2455
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
2456
2456
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2457
- pairing: "pairing";
2458
- allowlist: "allowlist";
2459
2457
  open: "open";
2460
2458
  disabled: "disabled";
2459
+ allowlist: "allowlist";
2460
+ pairing: "pairing";
2461
2461
  }>>>;
2462
2462
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2463
- allowlist: "allowlist";
2464
2463
  open: "open";
2465
2464
  disabled: "disabled";
2465
+ allowlist: "allowlist";
2466
2466
  }>>>;
2467
2467
  responsePrefix: z.ZodOptional<z.ZodString>;
2468
2468
  mediaMaxMb: z.ZodOptional<z.ZodNumber>;
@@ -1,4 +1,4 @@
1
- import { $r as resolveWebhookTargets, Ai as canonicalizeRealtimeTranscriptionProviderId, B as logAckFailure, Bi as extractDashscopeVideoUrls, Bn as requestBodyErrorToText, Br as createInfoCard, C as resolveEffectiveToolInventory, D as runEmbeddedPiAgent, Di as getRealtimeVoiceProvider, E as ACPX_PUSH_TEST_WRAPPER_ID, Ei as canonicalizeRealtimeVoiceProviderId, En as AcpRuntimeError, F as resolveMentionGatingWithBypass, Fi as DEFAULT_VIDEO_GENERATION_TIMEOUT_MS, Fn as RequestBodyLimitError, Fr as processLineMessage, Gi as resolveAllowlistMatchSimple, Gr as createLoggerBackedRuntime, H as logTypingFailure, Hi as resolveVideoGenerationReferenceUrls, Hn as resolveChannelMediaMaxBytes, I as listLineAccountIds, Ii as DEFAULT_VIDEO_RESOLUTION_TO_SIZE, In as installRequestBodyLimitGuard, Ir as stripMarkdown, J as shouldAckReaction, Ji as BLUEBUBBLES_GROUP_ACTIONS, Jn as DEFAULT_FEDERATION_BASE_URL, K as recordInboundSession, Ki as BLUEBUBBLES_ACTIONS, Kr as createPersistentDedupe, L as normalizeAccountId$1, Li as buildDashscopeVideoGenerationInput, Ln as isRequestBodyLimitError, Lr as createReceiptCard, M as issuePairingChallenge, Mi as listRealtimeTranscriptionProviders, N as createTypingCallbacks, Ni as normalizeRealtimeTranscriptionProviderId, Nn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Oi as listRealtimeVoiceProviders, P as resolveMentionGating, Pi as DEFAULT_VIDEO_GENERATION_DURATION_SECONDS, Pn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, Pr as hasMarkdownToConvert, Qn as resolveFederationHandle, Qr as resolveSingleWebhookTargetAsync, R as resolveDefaultLineAccountId, Ri as buildDashscopeVideoGenerationParameters, Rn as readJsonBodyWithLimit, Rr as createActionCard, S as getPublicGatewayIdentity, Si as resolveEffectiveAllowFromLists, T as ACPX_PUSH_TEST_METHOD, Ti as evaluateSenderGroupAccess, Tn as unregisterAcpRuntimeBackend, Ui as registerPluginHttpRoute, Un as runFederationAutoConnectOnce, V as logInboundDrop, Vi as pollDashscopeVideoTaskUntilComplete, Vr as createListCard, Wi as formatAllowlistMatchMeta, Wn as startFederationAutoConnect, Wr as waitForAbortSignal, Xn as resolveAgentPublicOrigin, Xr as rejectNonPostWebhookRequest, Y as shouldAckReactionForWhatsApp, Yi as CHANNEL_MESSAGE_ACTION_NAMES, Yn as normalizeHandle, Yr as registerWebhookTarget, Zn as resolveFederationBaseUrl, Zr as resolveSingleWebhookTarget, _ as getGatewayUpdateStatus, _i as resolveSenderCommandAuthorization, a as normalizeIMessageMessagingTarget, ai as isHttpsUrlAllowedByHostnameSuffixAllowlist, b as getStatusSummary, bi as resolveDmGroupAccessWithCommandGate, ci as formatTextWithAttachmentLinks, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, di as buildOauthProviderAuthResult, dn as clearHistoryEntries, ei as normalizeWebhookPath, fi as createScopedPairingAccess, fn as clearHistoryEntriesIfEnabled, g as buildCommandsListResult, gi as resolveChannelAccountConfigBasePath, h as getAcpStatusSnapshot, hi as chunkTextForOutbound, hn as recordPendingHistoryEntryIfEnabled, i as looksLikeIMessageTargetId, ii as buildHostnameAllowlistPolicyFromSuffixAllowlist, in as stringEnum, ji as getRealtimeTranscriptionProvider, ki as normalizeRealtimeVoiceProviderId, li as resolveOutboundMediaUrls, m as pushHandlers, mi as buildAgentMediaPayload, mn as recordPendingHistoryEntry, n as collectBlueBubblesStatusIssues, ni as extractToolSend, nt as formatInboundFromLabel, o as imessageOnboardingAdapter, oi as normalizeHostnameSuffixAllowlist, p as summarizeMapping, pi as fetchWithBearerAuthScopeFallback, pn as evictOldHistoryKeys, q as removeAckReactionAfterReply, qi as BLUEBUBBLES_ACTION_NAMES, qr as createDedupeCache, r as signalOnboardingAdapter, ri as withTempDownloadPath, rn as optionalStringEnum, s as buildMediaPayload, si as createNormalizedOutboundDeliverer, t as LineConfigSchema, ti as resolveWebhookPath, ui as sendMediaWithLeadingCaption, un as buildPendingHistoryContextFromMap, v as buildModelCatalogStatus, vi as DM_GROUP_ACCESS_REASON, w as executeAcpxPushTestRequest, wi as resolveControlCommandGate, wn as registerAcpRuntimeBackend, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithLists, y as loadGatewayModelCatalog, yi as readStoreAllowFromForDmPolicy, z as resolveLineAccount, zi as downloadDashscopeGeneratedVideos, zn as readRequestBodyWithLimit, zr as createImageCard } from "./config-schema-C9tx1Lyz.js";
1
+ import { $r as resolveWebhookTargets, Ai as canonicalizeRealtimeTranscriptionProviderId, B as logAckFailure, Bi as extractDashscopeVideoUrls, Bn as requestBodyErrorToText, Br as createInfoCard, C as resolveEffectiveToolInventory, D as runEmbeddedPiAgent, Di as getRealtimeVoiceProvider, E as ACPX_PUSH_TEST_WRAPPER_ID, Ei as canonicalizeRealtimeVoiceProviderId, En as AcpRuntimeError, F as resolveMentionGatingWithBypass, Fi as DEFAULT_VIDEO_GENERATION_TIMEOUT_MS, Fn as RequestBodyLimitError, Fr as processLineMessage, Gi as resolveAllowlistMatchSimple, Gr as createLoggerBackedRuntime, H as logTypingFailure, Hi as resolveVideoGenerationReferenceUrls, Hn as resolveChannelMediaMaxBytes, I as listLineAccountIds, Ii as DEFAULT_VIDEO_RESOLUTION_TO_SIZE, In as installRequestBodyLimitGuard, Ir as stripMarkdown, J as shouldAckReaction, Ji as BLUEBUBBLES_GROUP_ACTIONS, Jn as DEFAULT_FEDERATION_BASE_URL, K as recordInboundSession, Ki as BLUEBUBBLES_ACTIONS, Kr as createPersistentDedupe, L as normalizeAccountId$1, Li as buildDashscopeVideoGenerationInput, Ln as isRequestBodyLimitError, Lr as createReceiptCard, M as issuePairingChallenge, Mi as listRealtimeTranscriptionProviders, N as createTypingCallbacks, Ni as normalizeRealtimeTranscriptionProviderId, Nn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Oi as listRealtimeVoiceProviders, P as resolveMentionGating, Pi as DEFAULT_VIDEO_GENERATION_DURATION_SECONDS, Pn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, Pr as hasMarkdownToConvert, Qn as resolveFederationHandle, Qr as resolveSingleWebhookTargetAsync, R as resolveDefaultLineAccountId, Ri as buildDashscopeVideoGenerationParameters, Rn as readJsonBodyWithLimit, Rr as createActionCard, S as getPublicGatewayIdentity, Si as resolveEffectiveAllowFromLists, T as ACPX_PUSH_TEST_METHOD, Ti as evaluateSenderGroupAccess, Tn as unregisterAcpRuntimeBackend, Ui as registerPluginHttpRoute, Un as runFederationAutoConnectOnce, V as logInboundDrop, Vi as pollDashscopeVideoTaskUntilComplete, Vr as createListCard, Wi as formatAllowlistMatchMeta, Wn as startFederationAutoConnect, Wr as waitForAbortSignal, Xn as resolveAgentPublicOrigin, Xr as rejectNonPostWebhookRequest, Y as shouldAckReactionForWhatsApp, Yi as CHANNEL_MESSAGE_ACTION_NAMES, Yn as normalizeHandle, Yr as registerWebhookTarget, Zn as resolveFederationBaseUrl, Zr as resolveSingleWebhookTarget, _ as getGatewayUpdateStatus, _i as resolveSenderCommandAuthorization, a as normalizeIMessageMessagingTarget, ai as isHttpsUrlAllowedByHostnameSuffixAllowlist, b as getStatusSummary, bi as resolveDmGroupAccessWithCommandGate, ci as formatTextWithAttachmentLinks, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, di as buildOauthProviderAuthResult, dn as clearHistoryEntries, ei as normalizeWebhookPath, fi as createScopedPairingAccess, fn as clearHistoryEntriesIfEnabled, g as buildCommandsListResult, gi as resolveChannelAccountConfigBasePath, h as getAcpStatusSnapshot, hi as chunkTextForOutbound, hn as recordPendingHistoryEntryIfEnabled, i as looksLikeIMessageTargetId, ii as buildHostnameAllowlistPolicyFromSuffixAllowlist, in as stringEnum, ji as getRealtimeTranscriptionProvider, ki as normalizeRealtimeVoiceProviderId, li as resolveOutboundMediaUrls, m as pushHandlers, mi as buildAgentMediaPayload, mn as recordPendingHistoryEntry, n as collectBlueBubblesStatusIssues, ni as extractToolSend, nt as formatInboundFromLabel, o as imessageOnboardingAdapter, oi as normalizeHostnameSuffixAllowlist, p as summarizeMapping, pi as fetchWithBearerAuthScopeFallback, pn as evictOldHistoryKeys, q as removeAckReactionAfterReply, qi as BLUEBUBBLES_ACTION_NAMES, qr as createDedupeCache, r as signalOnboardingAdapter, ri as withTempDownloadPath, rn as optionalStringEnum, s as buildMediaPayload, si as createNormalizedOutboundDeliverer, t as LineConfigSchema, ti as resolveWebhookPath, ui as sendMediaWithLeadingCaption, un as buildPendingHistoryContextFromMap, v as buildModelCatalogStatus, vi as DM_GROUP_ACCESS_REASON, w as executeAcpxPushTestRequest, wi as resolveControlCommandGate, wn as registerAcpRuntimeBackend, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithLists, y as loadGatewayModelCatalog, yi as readStoreAllowFromForDmPolicy, z as resolveLineAccount, zi as downloadDashscopeGeneratedVideos, zn as readRequestBodyWithLimit, zr as createImageCard } from "./config-schema-CGW6J3Pv.js";
2
2
  import { Bt as resolveBlueBubblesGroupRequireMention, Gt as resolveGoogleChatGroupToolPolicy, Kt as resolveIMessageGroupRequireMention, Nn as getChatChannelMeta, Rt as looksLikeSignalTargetId, Vt as resolveBlueBubblesGroupToolPolicy, Wt as resolveGoogleChatGroupRequireMention, Xn as normalizePluginHttpPath, dn as resolveDefaultSignalAccountId, fn as resolveSignalAccount, hn as resolveIMessageAccount, mn as resolveDefaultIMessageAccountId, pn as listIMessageAccountIds, qt as resolveIMessageGroupToolPolicy, un as listSignalAccountIds, yn as resolveToolsBySender, zt as normalizeSignalMessagingTarget } from "./runtime-Bb6KRnCC.js";
3
3
  import { n as stripAnsi } from "./subsystem-DBPNbQDQ.js";
4
4
  import { g as registerLogTransport, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -39,7 +39,7 @@ import "./manager-Y2S_5IlI.js";
39
39
  import "./query-expansion-CAI2kKLQ.js";
40
40
  import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-CfUOowOp.js";
41
41
  import "./commands-registry-DmDRhRAU.js";
42
- import { X as rawDataToString } from "./runtime-dependency-Ch7J9a0d.js";
42
+ import { X as rawDataToString } from "./runtime-dependency-DLDmB94f.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
45
  import "./markdown-tables-DHLFQqaF.js";
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, A as parseTtsDirectives, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, Dr as GatewayClient, F as resolveMentionGatingWithBypass, Gn as resolveAgentAvatar, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, O as resolveTtsConfig, St as normalizeMediaAttachments, Tr as buildGatewayConnectionDetails, Tt as runCapability, U as buildPairingReply, V as logInboundDrop, Vt as enqueueSystemEvent, Wi as formatAllowlistMatchMeta, X as dispatchReplyWithBufferedBlockDispatcher, Z as dispatchReplyWithDispatcher, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bn as agentCommand, bt as buildProviderRegistry, c as addAllowlistUserEntriesFromConfigEntry, ct as resolveStoredModelOverride, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, k as textToSpeech, l as buildAllowlistResolutionSummary, lt as buildModelsProviderData, ot as EmbeddedBlockChunker, p as summarizeMapping, rt as resolveEnvelopeFormatOptions, s as buildMediaPayload, tt as formatInboundEnvelope, u as canonicalizeAllowlistWithResolvedIds, un as buildPendingHistoryContextFromMap, vt as formatDurationSeconds, wi as resolveControlCommandGate, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithLists, xt as createMediaAttachmentCache, yi as readStoreAllowFromForDmPolicy } from "./config-schema-C9tx1Lyz.js";
1
+ import { $ as createInboundDebouncer, A as parseTtsDirectives, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, Dr as GatewayClient, F as resolveMentionGatingWithBypass, Gn as resolveAgentAvatar, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, O as resolveTtsConfig, St as normalizeMediaAttachments, Tr as buildGatewayConnectionDetails, Tt as runCapability, U as buildPairingReply, V as logInboundDrop, Vt as enqueueSystemEvent, Wi as formatAllowlistMatchMeta, X as dispatchReplyWithBufferedBlockDispatcher, Z as dispatchReplyWithDispatcher, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bn as agentCommand, bt as buildProviderRegistry, c as addAllowlistUserEntriesFromConfigEntry, ct as resolveStoredModelOverride, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, k as textToSpeech, l as buildAllowlistResolutionSummary, lt as buildModelsProviderData, ot as EmbeddedBlockChunker, p as summarizeMapping, rt as resolveEnvelopeFormatOptions, s as buildMediaPayload, tt as formatInboundEnvelope, u as canonicalizeAllowlistWithResolvedIds, un as buildPendingHistoryContextFromMap, vt as formatDurationSeconds, wi as resolveControlCommandGate, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithLists, xt as createMediaAttachmentCache, yi as readStoreAllowFromForDmPolicy } from "./config-schema-CGW6J3Pv.js";
2
2
  import { Dn as normalizeMessageChannel, Dt as getChannelDock, Mn as GATEWAY_CLIENT_NAMES, S as readSessionUpdatedAt, jn as GATEWAY_CLIENT_MODES, x as loadSessionStore } from "./runtime-Bb6KRnCC.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";
@@ -39,7 +39,7 @@ import "./manager-Y2S_5IlI.js";
39
39
  import "./query-expansion-CAI2kKLQ.js";
40
40
  import "./common-CfUOowOp.js";
41
41
  import { C as isNativeCommandsExplicitlyDisabled, E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as shouldHandleTextCommands, h as serializeCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, t as buildCommandTextFromArgs } from "./commands-registry-DmDRhRAU.js";
42
- import "./runtime-dependency-Ch7J9a0d.js";
42
+ import "./runtime-dependency-DLDmB94f.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
45
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DHLFQqaF.js";
@@ -66,7 +66,7 @@ import { o as createNoopThreadBindingManager, r as reconcileAcpThreadBindingsOnS
66
66
  import { a as setPresence, n as registerGateway, r as unregisterGateway } from "./gateway-registry-DZDsqicG.js";
67
67
  import { t as createReplyReferencePlanner } from "./reply-reference-Bqk-7HXE.js";
68
68
  import { i as createStatusReactionController, r as DEFAULT_TIMING, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-BqchW1vi.js";
69
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-3ZyiGiff.js";
69
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-Bk--NU3E.js";
70
70
  import { t as fetchDiscordApplicationId } from "./probe-BFroeK3g.js";
71
71
  import { t as DiscordUiContainer } from "./ui-Be8cLHIS.js";
72
72
  import "./guilds-CDhRIX57.js";
@@ -79,7 +79,7 @@ import { inspect } from "node:util";
79
79
  import fs from "node:fs/promises";
80
80
  import { randomUUID } from "node:crypto";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket$1 from "ws";
82
+ import WebSocket from "ws";
83
83
  import { ApplicationCommandOptionType, ButtonStyle, ChannelType, Routes, StickerFormatType } from "discord-api-types/v10";
84
84
  import { Button, ChannelSelectMenu, ChannelType as ChannelType$1, Client, Command, CommandWithSubcommands, Container, MentionableSelectMenu, MessageCreateListener, MessageReactionAddListener, MessageReactionRemoveListener, MessageType, Modal, PresenceUpdateListener, ReadyListener, RoleSelectMenu, Row, Separator, StringSelectMenu, TextDisplay, UserSelectMenu, serializePayload } from "@buape/carbon";
85
85
  import { GatewayCloseCodes, GatewayIntents, GatewayPlugin } from "@buape/carbon/gateway";
@@ -1397,7 +1397,7 @@ async function preflightDiscordMessage(params) {
1397
1397
  let preflightTranscript;
1398
1398
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1399
1399
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1400
- const { transcribeFirstAudio } = await import("./audio-preflight-C2QXh5Ml.js");
1400
+ const { transcribeFirstAudio } = await import("./audio-preflight-Bv0hUOWL.js");
1401
1401
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1402
1402
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1403
1403
  ctx: {
@@ -6879,7 +6879,7 @@ function createDiscordGatewayPlugin(params) {
6879
6879
  return super.registerClient(client);
6880
6880
  }
6881
6881
  createWebSocket(url) {
6882
- return new WebSocket$1(url, { agent: wsAgent });
6882
+ return new WebSocket(url, { agent: wsAgent });
6883
6883
  }
6884
6884
  }
6885
6885
  return new ProxyGatewayPlugin();
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, $t as formatReasoningMessage, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, Cn as modelSupportsVision, Dt as registerUnhandledRejectionHandler, F as resolveMentionGatingWithBypass, G as sleepWithAbort, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, Rn as readJsonBodyWithLimit, Sn as loadModelCatalog, U as buildPairingReply, Ur as resolveTelegramInlineButtonsScope, Ut as buildCommandsMessagePaginated, V as logInboundDrop, Vt as enqueueSystemEvent, W as computeBackoff, Wr as waitForAbortSignal, X as dispatchReplyWithBufferedBlockDispatcher, _n as matchesMentionWithExplicit, _t as formatDurationPrecise, cn as DEFAULT_GROUP_HISTORY_LIMIT, ct as resolveStoredModelOverride, dt as buildModelsKeyboard, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, fn as clearHistoryEntriesIfEnabled, ft as buildProviderKeyboard, gn as buildMentionRegexes, gt as buildCommandsPaginationKeyboard, hn as recordPendingHistoryEntryIfEnabled, ht as parseModelCallbackData, lt as buildModelsProviderData, mt as getModelsPageSize, nn as isInsideCode, pt as calculateTotalPages, q as removeAckReactionAfterReply, qr as createDedupeCache, rt as resolveEnvelopeFormatOptions, tn as findCodeRegions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, ut as formatModelsAvailableHeader, wi as resolveControlCommandGate, xn as findModelInCatalog, yt as resolveChannelConfigWrites, zt as isAbortRequestText } from "./config-schema-C9tx1Lyz.js";
1
+ import { $ as createInboundDebouncer, $t as formatReasoningMessage, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, Cn as modelSupportsVision, Dt as registerUnhandledRejectionHandler, F as resolveMentionGatingWithBypass, G as sleepWithAbort, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, Rn as readJsonBodyWithLimit, Sn as loadModelCatalog, U as buildPairingReply, Ur as resolveTelegramInlineButtonsScope, Ut as buildCommandsMessagePaginated, V as logInboundDrop, Vt as enqueueSystemEvent, W as computeBackoff, Wr as waitForAbortSignal, X as dispatchReplyWithBufferedBlockDispatcher, _n as matchesMentionWithExplicit, _t as formatDurationPrecise, cn as DEFAULT_GROUP_HISTORY_LIMIT, ct as resolveStoredModelOverride, dt as buildModelsKeyboard, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, fn as clearHistoryEntriesIfEnabled, ft as buildProviderKeyboard, gn as buildMentionRegexes, gt as buildCommandsPaginationKeyboard, hn as recordPendingHistoryEntryIfEnabled, ht as parseModelCallbackData, lt as buildModelsProviderData, mt as getModelsPageSize, nn as isInsideCode, pt as calculateTotalPages, q as removeAckReactionAfterReply, qr as createDedupeCache, rt as resolveEnvelopeFormatOptions, tn as findCodeRegions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, ut as formatModelsAvailableHeader, wi as resolveControlCommandGate, xn as findModelInCatalog, yt as resolveChannelConfigWrites, zt as isAbortRequestText } from "./config-schema-CGW6J3Pv.js";
2
2
  import { C as recordSessionMetaFromInbound, Gn as getPluginCommandSpecs, S as readSessionUpdatedAt, Wn as executePluginCommand, _n as resolveChannelGroupRequireMention, gn as resolveChannelGroupPolicy, in as resolveTelegramAccount, qn as matchPluginCommand, x as loadSessionStore } from "./runtime-Bb6KRnCC.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";
@@ -37,7 +37,7 @@ import "./manager-Y2S_5IlI.js";
37
37
  import "./query-expansion-CAI2kKLQ.js";
38
38
  import "./common-CfUOowOp.js";
39
39
  import { C as isNativeCommandsExplicitlyDisabled, E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-DmDRhRAU.js";
40
- import "./runtime-dependency-Ch7J9a0d.js";
40
+ import "./runtime-dependency-DLDmB94f.js";
41
41
  import "./path-alias-guards-DjgDArrp.js";
42
42
  import "./fs-safe-g4g7GT02.js";
43
43
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DHLFQqaF.js";
@@ -60,7 +60,7 @@ import "./shared-CBgp_GBw.js";
60
60
  import "./retry-policy-D4uiqUOG.js";
61
61
  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-Bfzf11VY.js";
62
62
  import { t as makeProxyFetch } from "./proxy-DWpYcsvR.js";
63
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-Dex-XpRj.js";
63
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-Dqo9nRhi.js";
64
64
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-BqchW1vi.js";
65
65
  import path from "node:path";
66
66
  import os from "node:os";
@@ -2044,7 +2044,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2044
2044
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2045
2045
  let preflightTranscript;
2046
2046
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2047
- const { transcribeFirstAudio } = await import("./audio-preflight-C2QXh5Ml.js");
2047
+ const { transcribeFirstAudio } = await import("./audio-preflight-Bv0hUOWL.js");
2048
2048
  preflightTranscript = await transcribeFirstAudio({
2049
2049
  ctx: {
2050
2050
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -1,4 +1,4 @@
1
- import { An as sendJson, At as DEFAULT_INPUT_MAX_REDIRECTS, Cr as emitAgentEvent, Dn as createDefaultDeps, Ft as resolveInputFileLimits, Mn as writeDone, Mt as extractFileContentFromSource, Nt as extractImageContentFromSource, On as resolveAgentIdForRequest, Ot as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pt as normalizeMimeList, bn as agentCommand, jn as setSseHeaders, jt as DEFAULT_INPUT_TIMEOUT_MS, kn as resolveSessionKey, kt as DEFAULT_INPUT_IMAGE_MIMES, on as handleGatewayPostJsonEndpoint, sn as buildAgentMessageFromConversationEntries, wr as onAgentEvent, yn as resolveAssistantStreamDeltaText } from "./config-schema-C9tx1Lyz.js";
1
+ import { An as sendJson, At as DEFAULT_INPUT_MAX_REDIRECTS, Cr as emitAgentEvent, Dn as createDefaultDeps, Ft as resolveInputFileLimits, Mn as writeDone, Mt as extractFileContentFromSource, Nt as extractImageContentFromSource, On as resolveAgentIdForRequest, Ot as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pt as normalizeMimeList, bn as agentCommand, jn as setSseHeaders, jt as DEFAULT_INPUT_TIMEOUT_MS, kn as resolveSessionKey, kt as DEFAULT_INPUT_IMAGE_MIMES, on as handleGatewayPostJsonEndpoint, sn as buildAgentMessageFromConversationEntries, wr as onAgentEvent, yn as resolveAssistantStreamDeltaText } from "./config-schema-CGW6J3Pv.js";
2
2
  import "./runtime-Bb6KRnCC.js";
3
3
  import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -36,7 +36,7 @@ import "./manager-Y2S_5IlI.js";
36
36
  import "./query-expansion-CAI2kKLQ.js";
37
37
  import "./common-CfUOowOp.js";
38
38
  import "./commands-registry-DmDRhRAU.js";
39
- import "./runtime-dependency-Ch7J9a0d.js";
39
+ import "./runtime-dependency-DLDmB94f.js";
40
40
  import "./path-alias-guards-DjgDArrp.js";
41
41
  import "./fs-safe-g4g7GT02.js";
42
42
  import "./markdown-tables-DHLFQqaF.js";
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, t as ChannelConfigSchema } from "./types.plugin-_fbu40Re.js";
2
- import { v as FasedAgentPluginConfigSchema } from "./types-B4hj6HgR.js";
2
+ import { v as FasedAgentPluginConfigSchema } from "./types-BYDL6dQj.js";
3
3
  import { ZodTypeAny } from "zod";
4
4
 
5
5
  //#region src/plugins/config-schema.d.ts
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig } from "./types.plugin-_fbu40Re.js";
2
- import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-B4hj6HgR.js";
2
+ import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-BYDL6dQj.js";
3
3
 
4
4
  //#region src/plugin-sdk/provider-web-search-config-contract.d.ts
5
5
  type WebSearchCredentialResolutionSource = "config" | "env" | "none";
@@ -11,7 +11,7 @@ import "./github-copilot-token-CUK__1s1.js";
11
11
  import "./retry-DstNBhDW.js";
12
12
  import "./ssrf-fG4UHKBw.js";
13
13
  import "./optional-runtime-dependency-DdMbxS24.js";
14
- import { A as fetchJson, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, M as getHeadersWithAuth, N as withCdpSocket, O as withBrowserNavigationPolicy, S as formatAriaSnapshot, c as resolveStrictExistingPathsWithinRoot, f as getChromeWebSocketUrl, k as appendCdpPath, n as loadPlaywrightCore, o as DEFAULT_UPLOAD_DIR, u as DEFAULT_FILL_FIELD_TYPE } from "./runtime-dependency-Ch7J9a0d.js";
14
+ import { A as fetchJson, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, M as getHeadersWithAuth, N as withCdpSocket, O as withBrowserNavigationPolicy, S as formatAriaSnapshot, c as resolveStrictExistingPathsWithinRoot, f as getChromeWebSocketUrl, k as appendCdpPath, n as loadPlaywrightCore, o as DEFAULT_UPLOAD_DIR, u as DEFAULT_FILL_FIELD_TYPE } from "./runtime-dependency-DLDmB94f.js";
15
15
  import "./path-alias-guards-DjgDArrp.js";
16
16
  import "./fs-safe-g4g7GT02.js";
17
17
  import path from "node:path";
@@ -13,7 +13,7 @@ import fs$1 from "node:fs/promises";
13
13
  import { execFileSync, spawn } from "node:child_process";
14
14
  import { createHmac } from "node:crypto";
15
15
  import { createServer } from "node:http";
16
- import WebSocket$1, { WebSocketServer } from "ws";
16
+ import WebSocket, { WebSocketServer } from "ws";
17
17
  import { Buffer as Buffer$1 } from "node:buffer";
18
18
  import net from "node:net";
19
19
 
@@ -275,7 +275,7 @@ async function ensureChromeExtensionRelayServer(opts) {
275
275
  let extensionWs = null;
276
276
  const cdpClients = /* @__PURE__ */ new Set();
277
277
  const connectedTargets = /* @__PURE__ */ new Map();
278
- const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
278
+ const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
279
279
  let extensionDisconnectCleanupTimer = null;
280
280
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
281
281
  const flushExtensionReconnectWaiters = (connected) => {
@@ -326,7 +326,7 @@ async function ensureChromeExtensionRelayServer(opts) {
326
326
  let nextExtensionId = 1;
327
327
  const sendToExtension = async (payload) => {
328
328
  const ws = extensionWs;
329
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
329
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
330
330
  ws.send(JSON.stringify(payload));
331
331
  return await new Promise((resolve, reject) => {
332
332
  const timer = setTimeout(() => {
@@ -343,12 +343,12 @@ async function ensureChromeExtensionRelayServer(opts) {
343
343
  const broadcastToCdpClients = (evt) => {
344
344
  const msg = JSON.stringify(evt);
345
345
  for (const ws of cdpClients) {
346
- if (ws.readyState !== WebSocket$1.OPEN) continue;
346
+ if (ws.readyState !== WebSocket.OPEN) continue;
347
347
  ws.send(msg);
348
348
  }
349
349
  };
350
350
  const sendResponseToCdp = (ws, res) => {
351
- if (ws.readyState !== WebSocket$1.OPEN) return;
351
+ if (ws.readyState !== WebSocket.OPEN) return;
352
352
  ws.send(JSON.stringify(res));
353
353
  };
354
354
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -558,7 +558,7 @@ async function ensureChromeExtensionRelayServer(opts) {
558
558
  rejectUpgrade(socket, 401, "Unauthorized");
559
559
  return;
560
560
  }
561
- if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
561
+ if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
562
562
  try {
563
563
  extensionWs.terminate();
564
564
  } catch {}
@@ -595,7 +595,7 @@ async function ensureChromeExtensionRelayServer(opts) {
595
595
  clearExtensionDisconnectCleanupTimer();
596
596
  flushExtensionReconnectWaiters(true);
597
597
  const ping = setInterval(() => {
598
- if (ws.readyState !== WebSocket$1.OPEN) return;
598
+ if (ws.readyState !== WebSocket.OPEN) return;
599
599
  ws.send(JSON.stringify({ method: "ping" }));
600
600
  }, 5e3);
601
601
  ws.on("message", (data) => {
@@ -937,7 +937,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
937
937
  }
938
938
  async function withCdpSocket(wsUrl, fn, opts) {
939
939
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
940
- const ws = new WebSocket$1(wsUrl, {
940
+ const ws = new WebSocket(wsUrl, {
941
941
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
942
942
  ...Object.keys(headers).length ? { headers } : {}
943
943
  });
@@ -1863,7 +1863,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1863
1863
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1864
1864
  return await new Promise((resolve) => {
1865
1865
  const headers = getHeadersWithAuth(wsUrl);
1866
- const ws = new WebSocket$1(wsUrl, {
1866
+ const ws = new WebSocket(wsUrl, {
1867
1867
  handshakeTimeout: timeoutMs,
1868
1868
  ...Object.keys(headers).length ? { headers } : {}
1869
1869
  });
@@ -1,6 +1,6 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletProviderId, Ht as WalletRuntimeMode, Lt as WalletAuthMode, Rt as WalletChain, Ut as WalletToolAccessMode, Vt as WalletRuntimeKind, _n as GatewayClientMode, s as loadConfig, vn as GatewayClientName, zt as WalletExecutionMode } from "./types.plugin-_fbu40Re.js";
2
- import { A as createSubsystemLogger, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-dWZFX1fk.js";
3
- import { a as resolveAgentDir, i as resolveAgentConfig, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-Ouj58axY.js";
2
+ import { A as createSubsystemLogger, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-CLIvQaVg.js";
3
+ import { a as resolveAgentDir, i as resolveAgentConfig, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-BdFQvrvw.js";
4
4
  import { Api, Model } from "@mariozechner/pi-ai";
5
5
  import { AuthStorage, ModelRegistry } from "@mariozechner/pi-coding-agent";
6
6
  import * as _sinclair_typebox0 from "@sinclair/typebox";
@@ -1,4 +1,4 @@
1
- import { $n as enforceWalletCustodyForAutonomousSend, Ar as loadOrCreateDeviceIdentity, Er as callGatewayScoped, Kn as readWalletStatusSnapshot, Mr as signDevicePayload, Nr as verifyDeviceSignature, Or as ErrorCodes, Sr as tryResolveSatRuntimeIds, _r as SAT_RUNTIME_DEFAULTS, ar as readWalletProviderRegistry, br as resolveSatMintProgramIdFromEnv, cr as callLocalSocketSigner, dr as resolveLocalSignerSocketPath, er as createWalletProviderAdapter, fr as resolveWalletRuntimeConfig, gr as syncSatMainnetRuntimeIds, hr as getSatMainnetSyncStatus, ir as resolveWalletRolePolicyProfile, j as resolveModel, jr as publicKeyRawBase64UrlFromPem, kr as errorShape, lr as probeLocalSocketSignerHealth, mr as buildAttestation, nr as loadWalletProviderSecret, or as resolveWalletUserRole, pr as fetchSolanaWalletAssetsViaRpc, qn as createOrExecuteWalletSend, rr as resolveWalletPolicyConfig, sr as upsertNamedWallet, tr as resolveWalletProviderId, ur as requireLocalSocketSignerPath, vr as resolveSatBondProgramIdFromEnv, xr as resolveSatProgramIdFromEnv, yr as resolveSatMintAddressFromEnv } from "./config-schema-C9tx1Lyz.js";
1
+ import { $n as enforceWalletCustodyForAutonomousSend, Ar as loadOrCreateDeviceIdentity, Er as callGatewayScoped, Kn as readWalletStatusSnapshot, Mr as signDevicePayload, Nr as verifyDeviceSignature, Or as ErrorCodes, Sr as tryResolveSatRuntimeIds, _r as SAT_RUNTIME_DEFAULTS, ar as readWalletProviderRegistry, br as resolveSatMintProgramIdFromEnv, cr as callLocalSocketSigner, dr as resolveLocalSignerSocketPath, er as createWalletProviderAdapter, fr as resolveWalletRuntimeConfig, gr as syncSatMainnetRuntimeIds, hr as getSatMainnetSyncStatus, ir as resolveWalletRolePolicyProfile, j as resolveModel, jr as publicKeyRawBase64UrlFromPem, kr as errorShape, lr as probeLocalSocketSignerHealth, mr as buildAttestation, nr as loadWalletProviderSecret, or as resolveWalletUserRole, pr as fetchSolanaWalletAssetsViaRpc, qn as createOrExecuteWalletSend, rr as resolveWalletPolicyConfig, sr as upsertNamedWallet, tr as resolveWalletProviderId, ur as requireLocalSocketSignerPath, vr as resolveSatBondProgramIdFromEnv, xr as resolveSatProgramIdFromEnv, yr as resolveSatMintAddressFromEnv } from "./config-schema-CGW6J3Pv.js";
2
2
  import "./runtime-Bb6KRnCC.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -36,7 +36,7 @@ import "./manager-Y2S_5IlI.js";
36
36
  import "./query-expansion-CAI2kKLQ.js";
37
37
  import "./common-CfUOowOp.js";
38
38
  import "./commands-registry-DmDRhRAU.js";
39
- import "./runtime-dependency-Ch7J9a0d.js";
39
+ import "./runtime-dependency-DLDmB94f.js";
40
40
  import "./path-alias-guards-DjgDArrp.js";
41
41
  import "./fs-safe-g4g7GT02.js";
42
42
  import "./markdown-tables-DHLFQqaF.js";
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, F as resolveMentionGatingWithBypass, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as pruneMapToMaxSize, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, V as logInboundDrop, Vt as enqueueSystemEvent, Wi as formatAllowlistMatchMeta, Xt as normalizeSlackSlug, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qr as createDedupeCache, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveControlCommandGate, x as isDangerousNameMatchingEnabled, yi as readStoreAllowFromForDmPolicy, yt as resolveChannelConfigWrites } from "./config-schema-C9tx1Lyz.js";
1
+ import { $ as createInboundDebouncer, B as logAckFailure, Ci as resolveCommandAuthorizedFromAuthorizers, F as resolveMentionGatingWithBypass, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as pruneMapToMaxSize, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, V as logInboundDrop, Vt as enqueueSystemEvent, Wi as formatAllowlistMatchMeta, Xt as normalizeSlackSlug, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qr as createDedupeCache, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveControlCommandGate, x as isDangerousNameMatchingEnabled, yi as readStoreAllowFromForDmPolicy, yt as resolveChannelConfigWrites } from "./config-schema-CGW6J3Pv.js";
2
2
  import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-Bb6KRnCC.js";
3
3
  import { r as createNonExitingRuntime } 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";
@@ -39,7 +39,7 @@ import "./manager-Y2S_5IlI.js";
39
39
  import "./query-expansion-CAI2kKLQ.js";
40
40
  import "./common-CfUOowOp.js";
41
41
  import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-DmDRhRAU.js";
42
- import "./runtime-dependency-Ch7J9a0d.js";
42
+ import "./runtime-dependency-DLDmB94f.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
45
  import "./markdown-tables-DHLFQqaF.js";
@@ -61,7 +61,7 @@ import "./shared-CBgp_GBw.js";
61
61
  import { t as sendMessageSlack } from "./send-5nFktR1n.js";
62
62
  import { r as resolveSlackWebClientOptions } from "./client-pI228AVT.js";
63
63
  import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-D4UNimWa.js";
64
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-3ZyiGiff.js";
64
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-Bk--NU3E.js";
65
65
  import { t as createDraftStreamLoop } from "./draft-stream-loop-CrOPfV3F.js";
66
66
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-_-nV-EK2.js";
67
67
  import { t as resolveSlackUserAllowlist } from "./resolve-users-DN9VQBwv.js";
@@ -3240,7 +3240,7 @@ async function registerSlackMonitorSlashCommands(params) {
3240
3240
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3241
3241
  import("./resolve-route-CDl74O19.js").then((n) => n.r),
3242
3242
  import("./inbound-context-DrAcXE0y.js").then((n) => n.n),
3243
- import("./config-schema-C9tx1Lyz.js").then((n) => n.Q)
3243
+ import("./config-schema-CGW6J3Pv.js").then((n) => n.Q)
3244
3244
  ]);
3245
3245
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3246
3246
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),