@fased/fased 0.1.42 → 0.1.44

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 (268) hide show
  1. package/dist/acp/client.js +2 -2
  2. package/dist/acp/secret-file.js +2 -2
  3. package/dist/agents/agent-scope.js +2 -2
  4. package/dist/agents/apply-patch.js +8 -8
  5. package/dist/agents/auth-profiles/paths.js +2 -2
  6. package/dist/agents/auth-profiles/store.js +2 -2
  7. package/dist/agents/bash-tools.shared.js +2 -2
  8. package/dist/agents/cli-credentials.js +4 -4
  9. package/dist/agents/docs-path.js +3 -3
  10. package/dist/agents/embedded-pi-mcp.js +4 -4
  11. package/dist/agents/identity-avatar.js +3 -3
  12. package/dist/agents/identity-file.js +2 -2
  13. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  14. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  15. package/dist/agents/pi-model-discovery.js +6 -6
  16. package/dist/agents/pi-project-settings.js +3 -3
  17. package/dist/agents/sandbox/fs-bridge.js +2 -2
  18. package/dist/agents/session-dirs.js +4 -4
  19. package/dist/agents/session-write-lock.js +13 -13
  20. package/dist/agents/shell-utils.js +5 -5
  21. package/dist/agents/skills/bundled-dir.js +4 -4
  22. package/dist/agents/skills/local-loader.js +6 -6
  23. package/dist/agents/skills/plugin-skills.js +2 -2
  24. package/dist/agents/skills/workspace.js +13 -13
  25. package/dist/agents/skills-install-download.js +7 -7
  26. package/dist/agents/skills-install-plan.js +2 -2
  27. package/dist/agents/skills-install.js +2 -2
  28. package/dist/agents/skills-status.js +2 -2
  29. package/dist/agents/subagent-depth.js +2 -2
  30. package/dist/agents/system-prompt-params.js +2 -2
  31. package/dist/agents/workspace.js +22 -22
  32. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  33. package/dist/auto-reply/reply/agent-runner.js +2 -2
  34. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  35. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  36. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  37. package/dist/auto-reply/reply/session.js +3 -3
  38. package/dist/auto-reply/skill-commands.js +3 -3
  39. package/dist/auto-reply/status.js +6 -6
  40. package/dist/brand.js +1 -1
  41. package/dist/browser/chrome.executables.js +3 -3
  42. package/dist/browser/chrome.js +3 -3
  43. package/dist/browser/chrome.profile-decoration.js +6 -6
  44. package/dist/browser/profiles-service.js +2 -2
  45. package/dist/browser/server-context.js +2 -2
  46. package/dist/browser/trash.js +4 -4
  47. package/dist/build-info.json +3 -3
  48. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  49. package/dist/canvas-host/server.js +4 -4
  50. package/dist/capabilities/catalog.js +3 -3
  51. package/dist/channels/plugins/catalog.js +3 -3
  52. package/dist/cli/browser-cli-extension.js +6 -6
  53. package/dist/cli/command-format.js +2 -2
  54. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  55. package/dist/cli/daemon-cli/restart-health.js +49 -13
  56. package/dist/cli/dns-cli.js +9 -9
  57. package/dist/cli/gateway-cli/dev.js +5 -5
  58. package/dist/cli/gateway-cli/run.js +2 -2
  59. package/dist/cli/hooks-cli.js +5 -5
  60. package/dist/cli/memory-cli.js +7 -7
  61. package/dist/cli/nodes-media-utils.js +2 -2
  62. package/dist/cli/plugins-cli.js +2 -2
  63. package/dist/cli/secrets-cli.js +3 -3
  64. package/dist/cli/update-cli/shared.js +1 -29
  65. package/dist/cli/update-cli/update-command.js +12 -15
  66. package/dist/cli/windows-argv.js +2 -2
  67. package/dist/commands/dashboard-link.js +3 -3
  68. package/dist/commands/doctor-install.js +5 -5
  69. package/dist/commands/doctor-memory-search.js +2 -2
  70. package/dist/commands/doctor-platform-notes.js +2 -2
  71. package/dist/commands/doctor-sandbox.js +2 -2
  72. package/dist/commands/doctor-state-integrity.js +23 -23
  73. package/dist/commands/doctor-workspace.js +3 -3
  74. package/dist/commands/doctor.js +3 -3
  75. package/dist/commands/managed-up.js +2 -2
  76. package/dist/commands/onboard-auth.credentials.js +3 -3
  77. package/dist/commands/onboarding/plugin-install.js +2 -2
  78. package/dist/commands/sessions-cleanup.js +2 -2
  79. package/dist/commands/signal-install.js +6 -6
  80. package/dist/commands/status-all/channels.js +2 -2
  81. package/dist/commands/wallet.js +47 -47
  82. package/dist/config/cache-utils.js +2 -2
  83. package/dist/config/includes.js +5 -5
  84. package/dist/config/io.js +2 -2
  85. package/dist/config/paths.js +3 -3
  86. package/dist/config/sat-runtime-ids.js +3 -3
  87. package/dist/config/sessions/disk-budget.js +6 -6
  88. package/dist/config/sessions/paths.js +2 -2
  89. package/dist/config/sessions/store.js +17 -17
  90. package/dist/config/sessions/transcript.js +4 -4
  91. package/dist/config/talk.js +2 -2
  92. package/dist/cron/service/store.js +2 -2
  93. package/dist/cron/store.js +6 -6
  94. package/dist/daemon/systemd-system.js +5 -5
  95. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  96. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  97. package/dist/gateway/control-ui-boot-check.js +6 -6
  98. package/dist/gateway/control-ui-login.js +7 -7
  99. package/dist/gateway/control-ui.js +9 -9
  100. package/dist/gateway/hooks-mapping.js +4 -4
  101. package/dist/gateway/server-discovery.js +2 -2
  102. package/dist/gateway/server-http.js +4 -4
  103. package/dist/gateway/server-methods/chat.js +6 -6
  104. package/dist/gateway/server-methods/sessions.js +6 -6
  105. package/dist/gateway/server-methods/usage.js +2 -2
  106. package/dist/gateway/server.impl.js +3 -3
  107. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  108. package/dist/gateway/session-utils.fs.js +24 -24
  109. package/dist/gateway/session-utils.js +6 -6
  110. package/dist/hooks/bundled-dir.js +4 -4
  111. package/dist/hooks/gmail-setup-utils.js +6 -6
  112. package/dist/hooks/import-url.js +2 -2
  113. package/dist/hooks/loader.js +4 -4
  114. package/dist/hooks/workspace.js +7 -7
  115. package/dist/infra/archive.js +17 -17
  116. package/dist/infra/boundary-file-read.js +2 -2
  117. package/dist/infra/boundary-path.js +15 -15
  118. package/dist/infra/brew.js +2 -2
  119. package/dist/infra/control-ui-assets.js +14 -14
  120. package/dist/infra/device-auth-store.js +8 -8
  121. package/dist/infra/device-identity.js +8 -8
  122. package/dist/infra/dotenv.js +2 -2
  123. package/dist/infra/exec-approvals.js +8 -8
  124. package/dist/infra/exec-command-resolution.js +4 -4
  125. package/dist/infra/exec-safe-bin-trust.js +2 -2
  126. package/dist/infra/fased-root.js +5 -5
  127. package/dist/infra/fs-safe.js +14 -14
  128. package/dist/infra/gateway-lock.js +11 -11
  129. package/dist/infra/git-commit.js +5 -5
  130. package/dist/infra/git-root.js +4 -4
  131. package/dist/infra/hosted-runtime-artifact.js +3 -3
  132. package/dist/infra/is-main.js +2 -2
  133. package/dist/infra/json-file.js +7 -7
  134. package/dist/infra/outbound/delivery-queue.js +16 -16
  135. package/dist/infra/path-env.js +3 -3
  136. package/dist/infra/ports-lsof.js +4 -4
  137. package/dist/infra/provider-usage.auth.js +3 -3
  138. package/dist/infra/safe-open-sync.js +2 -2
  139. package/dist/infra/session-cost-usage.js +9 -9
  140. package/dist/infra/shell-env.js +2 -2
  141. package/dist/infra/state-migrations.fs.js +6 -6
  142. package/dist/infra/state-migrations.js +23 -23
  143. package/dist/infra/tmp-fased-dir.js +6 -6
  144. package/dist/infra/update-global.js +1 -0
  145. package/dist/infra/update-runner.js +111 -64
  146. package/dist/infra/widearea-dns.js +3 -3
  147. package/dist/infra/wsl.js +2 -2
  148. package/dist/light-update-status.js +1 -1
  149. package/dist/line/accounts.js +2 -2
  150. package/dist/line/download.js +2 -2
  151. package/dist/logging/config.js +3 -3
  152. package/dist/logging/logger.js +7 -7
  153. package/dist/managed/federation.js +3 -3
  154. package/dist/managed/tunnel.js +3 -3
  155. package/dist/media/store.js +13 -13
  156. package/dist/media-understanding/runner.js +3 -3
  157. package/dist/memory/embeddings.js +2 -2
  158. package/dist/memory/internal.js +10 -10
  159. package/dist/memory/manager-sync-ops.js +7 -7
  160. package/dist/memory/repair-executor.js +17 -17
  161. package/dist/node-host/invoke-system-run-plan.js +8 -8
  162. package/dist/node-host/invoke.js +2 -2
  163. package/dist/node-host/runner.js +3 -3
  164. package/dist/pairing/pairing-store.js +3 -3
  165. package/dist/plugin-sdk/{audio-preflight-XJNZUuhw.js → audio-preflight-DEoblcsk.js} +1 -1
  166. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  167. package/dist/plugin-sdk/{chunk-items-me0j1xjK.js → chunk-items-ClDXjhOb.js} +1 -1
  168. package/dist/plugin-sdk/command-status.js +1 -1
  169. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  170. package/dist/plugin-sdk/discord.d.ts +3 -3
  171. package/dist/plugin-sdk/index.d.ts +5 -5
  172. package/dist/plugin-sdk/index.js +2 -1
  173. package/dist/plugin-sdk/json-store.js +6 -6
  174. package/dist/plugin-sdk/{monitor-DUyt6cCK.js → monitor-CZ490e2-.js} +3 -3
  175. package/dist/plugin-sdk/{monitor-C7si_bKw.js → monitor-_2NRVtaY.js} +3 -3
  176. package/dist/plugin-sdk/{openresponses-http-sYsdEjGP.js → openresponses-http-BEYlPTy3.js} +1 -1
  177. package/dist/plugin-sdk/{pairing-message-C5m-8Evp.d.ts → pairing-message-6XVXW554.d.ts} +1 -1
  178. package/dist/plugin-sdk/{pi-embedded-runner-C6HkZJ5E.js → pi-embedded-runner-SkBGtJFB.js} +7 -7
  179. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  180. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  181. package/dist/plugin-sdk/{slack-CEoLScM7.js → slack--DAH0bKU.js} +3 -3
  182. package/dist/plugin-sdk/slack.d.ts +3 -3
  183. package/dist/plugin-sdk/{sticker-cache-PRfvBRnv.js → sticker-cache-CUnBcKME.js} +2 -2
  184. package/dist/plugin-sdk/{telegram-actions-D4PNLPEZ.js → telegram-actions-L7LDJqla.js} +2 -2
  185. package/dist/plugin-sdk/telegram.d.ts +3 -3
  186. package/dist/plugin-sdk/{tmp-fased-dir-B-AAdaCr.d.ts → tmp-fased-dir-BpMLNd4L.d.ts} +1 -1
  187. package/dist/plugin-sdk/{types-ZT0DGnls.d.ts → types-0CsXVmg8.d.ts} +2 -2
  188. package/dist/plugin-sdk/{types-56R2vXgt.d.ts → types-DMLEeE52.d.ts} +1 -1
  189. package/dist/plugin-sdk/{web-CSpyzE3P.js → web-DMRFrK11.js} +1 -1
  190. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  191. package/dist/plugins/bundled-dir.js +3 -3
  192. package/dist/plugins/discovery.js +11 -11
  193. package/dist/plugins/loader.js +13 -13
  194. package/dist/plugins/manifest-registry.js +2 -2
  195. package/dist/plugins/manifest.js +4 -4
  196. package/dist/plugins/path-safety.js +3 -3
  197. package/dist/plugins/status-cache.js +9 -9
  198. package/dist/plugins/update.js +3 -3
  199. package/dist/plugins/web-search-install-catalog.js +3 -3
  200. package/dist/secrets/apply.js +16 -16
  201. package/dist/secrets/audit.js +11 -11
  202. package/dist/secrets/shared.js +9 -9
  203. package/dist/security/scan-paths.js +2 -2
  204. package/dist/shared/config-eval.js +2 -2
  205. package/dist/shared/pid-alive.js +2 -2
  206. package/dist/tasks/standing-orders.js +5 -5
  207. package/dist/tasks/task-flow-registry.js +5 -5
  208. package/dist/tasks/task-registry.js +5 -5
  209. package/dist/tasks/workflow-definitions.js +6 -6
  210. package/dist/telegram/token.js +5 -5
  211. package/dist/utils.js +5 -5
  212. package/dist/wallet/local-socket-signer-broker.js +16 -16
  213. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  214. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  215. package/dist/wallet/wallet-approval-auth.js +5 -5
  216. package/dist/wallet/wallet-audit-log.js +5 -5
  217. package/dist/wallet/wallet-custody.js +21 -21
  218. package/dist/wallet/wallet-inbound-events.js +5 -5
  219. package/dist/wallet/wallet-observability.js +5 -5
  220. package/dist/wallet/wallet-policy.js +9 -9
  221. package/dist/wallet/wallet-provider-registry.js +7 -7
  222. package/dist/wallet/wallet-runtime-config.js +3 -3
  223. package/dist/wallet/wallet-secrets-store.js +22 -22
  224. package/dist/wallet/wallet-send-approvals.js +5 -5
  225. package/dist/wallet/wallet-settlement-links.js +5 -5
  226. package/dist/web/accounts.js +3 -3
  227. package/dist/web/auth-store.js +18 -18
  228. package/dist/web/session.js +4 -4
  229. package/dist/wizard/host-security-capability.js +2 -2
  230. package/dist/wizard/onboarding.host-security.js +7 -7
  231. package/dist/wizard/onboarding.js +7 -7
  232. package/dist/wizard/onboarding.wallet.js +44 -44
  233. package/extensions/acpx/package.json +1 -1
  234. package/extensions/bluebubbles/package.json +1 -1
  235. package/extensions/copilot-proxy/package.json +1 -1
  236. package/extensions/diagnostics-otel/package.json +1 -1
  237. package/extensions/fased-federation/package.json +1 -1
  238. package/extensions/google-gemini-cli-auth/package.json +1 -1
  239. package/extensions/imessage/package.json +1 -1
  240. package/extensions/irc/package.json +1 -1
  241. package/extensions/line/package.json +1 -1
  242. package/extensions/llm-task/package.json +1 -1
  243. package/extensions/lobster/package.json +1 -1
  244. package/extensions/matrix/CHANGELOG.md +12 -0
  245. package/extensions/matrix/package.json +1 -1
  246. package/extensions/mattermost/package.json +1 -1
  247. package/extensions/memory-core/package.json +2 -2
  248. package/extensions/memory-lancedb/package.json +1 -1
  249. package/extensions/minimax-portal-auth/package.json +1 -1
  250. package/extensions/msteams/CHANGELOG.md +12 -0
  251. package/extensions/msteams/package.json +1 -1
  252. package/extensions/nextcloud-talk/package.json +1 -1
  253. package/extensions/nostr/CHANGELOG.md +12 -0
  254. package/extensions/nostr/package.json +1 -1
  255. package/extensions/open-prose/package.json +1 -1
  256. package/extensions/sat-mining/package.json +1 -1
  257. package/extensions/signal/package.json +1 -1
  258. package/extensions/synology-chat/package.json +1 -1
  259. package/extensions/tlon/package.json +1 -1
  260. package/extensions/twitch/CHANGELOG.md +12 -0
  261. package/extensions/twitch/package.json +1 -1
  262. package/extensions/voice-call/CHANGELOG.md +12 -0
  263. package/extensions/voice-call/package.json +1 -1
  264. package/extensions/zalo/CHANGELOG.md +12 -0
  265. package/extensions/zalo/package.json +1 -1
  266. package/extensions/zalouser/CHANGELOG.md +12 -0
  267. package/extensions/zalouser/package.json +1 -1
  268. package/package.json +1 -1
@@ -6,7 +6,7 @@ import { withFileLock as withFileLock$1 } from "../plugin-sdk/file-lock.js";
6
6
  import "../infra/file-lock.js";
7
7
  import { getPairingAdapter } from "../channels/plugins/pairing.js";
8
8
  import { readJsonFileWithFallback, writeJsonFileAtomically } from "../plugin-sdk/json-store.js";
9
- import syncFs from "node:fs";
9
+ import fs from "node:fs";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
12
  import crypto from "node:crypto";
@@ -82,7 +82,7 @@ async function readPrunedPairingRequests(filePath) {
82
82
  }
83
83
  async function ensureJsonFile(filePath, fallback) {
84
84
  try {
85
- await syncFs.promises.access(filePath);
85
+ await fs.promises.access(filePath);
86
86
  } catch {
87
87
  await writeJsonFile(filePath, fallback);
88
88
  }
@@ -225,7 +225,7 @@ function readAllowFromStateForPathSync(channel, filePath) {
225
225
  function readAllowFromStateForPathSyncWithExists(channel, filePath) {
226
226
  let raw = "";
227
227
  try {
228
- raw = syncFs.readFileSync(filePath, "utf8");
228
+ raw = fs.readFileSync(filePath, "utf8");
229
229
  } catch (err) {
230
230
  const code = err.code;
231
231
  if (code === "ENOENT") {
@@ -1,4 +1,4 @@
1
- import { Dt as buildProviderRegistry, Mt as runCapability, Nt as isAudioAttachment, Ot as createMediaAttachmentCache, jt as resolveMediaAttachmentLocalRoots, kt as normalizeMediaAttachments } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { Dt as buildProviderRegistry, Mt as runCapability, Nt as isAudioAttachment, Ot as createMediaAttachmentCache, jt as resolveMediaAttachmentLocalRoots, kt as normalizeMediaAttachments } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import "./runtime-BUpqjZNM.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
@@ -1,5 +1,5 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { Y as ChannelMessageActionContext, n as ChannelPlugin, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.js";
3
- import { _ as FasedAgentPluginApi, t as PluginRuntime } from "./types-56R2vXgt.js";
4
- 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-C5m-8Evp.js";
3
+ import { _ as FasedAgentPluginApi, t as PluginRuntime } from "./types-DMLEeE52.js";
4
+ 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-6XVXW554.js";
5
5
  export { type ChannelMessageActionContext, type ChannelPlugin, DEFAULT_ACCOUNT_ID, type FasedAgentPluginApi, PAIRING_APPROVED_MESSAGE, type PluginRuntime, applyAccountNameToChannelSection, buildChannelConfigSchema, deleteAccountFromConfigSection, emptyPluginConfigSchema, formatPairingApproveHint, getChatChannelMeta, migrateBaseNameToDefaultAccount, normalizeAccountId, setAccountEnabledInConfigSection };
@@ -1,4 +1,4 @@
1
- import { ht as wrapExternalContent } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { ht as wrapExternalContent } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
 
3
3
  //#region src/security/channel-metadata.ts
4
4
  const DEFAULT_MAX_CHARS = 800;
@@ -1,4 +1,4 @@
1
- import { bt as buildCommandsMessagePaginated, xt as buildHelpMessage, yt as buildCommandsMessage } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { bt as buildCommandsMessagePaginated, xt as buildHelpMessage, yt as buildCommandsMessage } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import "./runtime-BUpqjZNM.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -1,3 +1,3 @@
1
- import { _ as FasedAgentPluginApi } from "./types-56R2vXgt.js";
1
+ import { _ as FasedAgentPluginApi } from "./types-DMLEeE52.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,8 +1,8 @@
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, an as DiscordAccountConfig, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.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-56R2vXgt.js";
4
- import { D as normalizeE164 } from "./types-ZT0DGnls.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-C5m-8Evp.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-DMLEeE52.js";
4
+ import { D as normalizeE164 } from "./types-0CsXVmg8.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-6XVXW554.js";
6
6
  import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-DLOOve8d.js";
7
7
  import { t as DiscordConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
8
8
 
@@ -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 MSTeamsTeamConfig, A as ChannelSecurityAdapter, An as GetReplyOptions, At as FasedAgentConfig, B as ChannelCapabilities, C as ChannelLogoutResult, Cn as DmPolicy, Ct as RuntimeEnv, D as ChannelResolveKind, Dn as MarkdownTableMode, Dt as resolveIMessageAccount, E as ChannelPairingAdapter, En as MarkdownConfig, 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 CHANNEL_MESSAGE_ACTION_NAMES, N as BaseProbeResult, Nt as ModelProviderConfig, O as ChannelResolveResult, P as BaseTokenResolution, Q as ChannelOutboundTargetMode, Qt as MSTeamsReplyStyle, R as ChannelAgentTool, S as ChannelLogoutContext, Sn as BlockStreamingCoalesceConfig, T as ChannelOutboundContext, Tt as listIMessageAccountIds, U as ChannelGroupContext, V as ChannelDirectoryEntry, W as ChannelHeartbeatDeps, X as ChannelMessagingAdapter, Xt as MSTeamsChannelConfig, Y as ChannelMessageActionContext, Yt as SignalAccountConfig, Z as ChannelMeta, Zt as MSTeamsConfig, _ as ChannelGatewayContext, a as PromptAccountId, at as ChannelStreamingAdapter, b as ChannelLoginWithQrStartResult, bn as GroupToolPolicyConfig, cn as ChunkMode, ct as ChannelThreadingToolContext, d as ChannelAuthAdapter, dt as OutboundDeliveryResult, en as GoogleChatAccountConfig, et as ChannelPollResult, f as ChannelCommandAdapter, g as ChannelGatewayAdapter, h as ChannelElevatedAdapter, i as ChannelOnboardingDmPolicy, in as GoogleChatGroupConfig, it as ChannelStatusIssue, j as ChannelSetupAdapter, jn as ReplyPayload, k as ChannelResolverAdapter, kn as SafeBinProfileFixture, lt as ChannelToolSend, m as ChannelDirectoryAdapter, n as ChannelPlugin, nn as GoogleChatConfig, nt as ChannelSecurityDmPolicy, o as WizardPrompter, on as DmConfig, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, q as ChannelMentionAdapter, r as ChannelOnboardingAdapter, rn as GoogleChatDmConfig, rt as ChannelSetupInput, s as loadConfig, st as ChannelThreadingContext, t as ChannelConfigSchema, tn as GoogleChatActionConfig, tt as ChannelSecurityContext, u as ChannelMessageActionName, ut as getChatChannelMeta, v as ChannelGroupAdapter, vn as PollInput, w as ChannelOutboundAdapter, wn as GroupPolicy, wt as ResolvedIMessageAccount, x as ChannelLoginWithQrWaitResult, y as ChannelHeartbeatAdapter, yn as GroupToolPolicyBySenderConfig, z as ChannelAgentToolFactory } from "./types.plugin-CvUiB3Kh.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-56R2vXgt.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-ZT0DGnls.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-DMLEeE52.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-0CsXVmg8.js";
6
6
  import { a as VerboseLevel, i as ThinkLevel, n as SkillSnapshot, r as ReasoningLevel } from "./types-CBCtqtMn.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-C5m-8Evp.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-6XVXW554.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-DLOOve8d.js";
10
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-B-AAdaCr.js";
11
+ import { n as fetchWithSsrFGuard, r as listAgentIds, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-BpMLNd4L.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<"reactions" | "search" | "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;
@@ -1,4 +1,4 @@
1
- import { $n as resolveEffectiveAllowFromLists, A as clearHistoryEntriesIfEnabled, Cn as readJsonBodyWithLimit, Dn as resolveChannelMediaMaxBytes, E as DEFAULT_GROUP_HISTORY_LIMIT, F as removeAckReactionAfterReply, Fn as processLineMessage, Gn as createDedupeCache, Gt as stringEnum, Hn as DEFAULT_HEARTBEAT_EVERY, I as shouldAckReaction, In as stripMarkdown, Jn as withTempDownloadPath, L as shouldAckReactionForWhatsApp, Ln as createReceiptCard, M as recordPendingHistoryEntry, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, On as runFederationAutoConnectOnce, P as recordInboundSession, Pn as hasMarkdownToConvert, Qn as resolveDmGroupAccessWithLists, Rn as attachFooterText, S as detectBinary, Sn as isRequestBodyLimitError, Tn as requestBodyErrorToText, Tt as peekSystemEvents, Un as resolveHeartbeatPrompt, Vn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, W as formatInboundFromLabel, Wn as waitForAbortSignal, Wt as optionalStringEnum, Xn as readStoreAllowFromForDmPolicy, Yn as DM_GROUP_ACCESS_REASON, Zn as resolveDmGroupAccessWithCommandGate, _ as resolveDefaultLineAccountId, _t as getPluginToolMeta, ar as BLUEBUBBLES_ACTION_NAMES, at as createFasedAgentCodingTools, b as logInboundDrop, bn as RequestBodyLimitError, c as loadModelCatalog, cn as registerAcpRuntimeBackend, d as issuePairingChallenge, dn as AcpRuntimeError, en as resolveToolDisplay, f as createTypingCallbacks, g as normalizeAccountId$1, gt as getChannelAgentToolMeta, h as listLineAccountIds, ir as BLUEBUBBLES_ACTIONS, j as evictOldHistoryKeys, k as clearHistoryEntries, kn as startFederationAutoConnect, ln as unregisterAcpRuntimeBackend, m as resolveMentionGatingWithBypass, nr as assertOkOrThrowHttpError, o as resolveStrictAgenticRuntimeMode, on as getAcpSessionManager, or as BLUEBUBBLES_GROUP_ACTIONS, ot as resolveEffectiveToolPolicy, p as resolveMentionGating, qn as extractToolSend, rr as registerPluginHttpRoute, sn as getAcpRuntimeBackend, sr as CHANNEL_MESSAGE_ACTION_NAMES, t as runEmbeddedPiAgent, tr as resolveControlCommandGate, u as deriveModelMetadata, un as resolveRuntimeOptionsFromMeta, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, vt as buildChannelSummary, wn as readRequestBodyWithLimit, x as logTypingFailure, xn as installRequestBodyLimitGuard, y as logAckFailure, yn as DEFAULT_WEBHOOK_MAX_BODY_BYTES } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { $n as resolveEffectiveAllowFromLists, A as clearHistoryEntriesIfEnabled, Cn as readJsonBodyWithLimit, Dn as resolveChannelMediaMaxBytes, E as DEFAULT_GROUP_HISTORY_LIMIT, F as removeAckReactionAfterReply, Fn as processLineMessage, Gn as createDedupeCache, Gt as stringEnum, Hn as DEFAULT_HEARTBEAT_EVERY, I as shouldAckReaction, In as stripMarkdown, Jn as withTempDownloadPath, L as shouldAckReactionForWhatsApp, Ln as createReceiptCard, M as recordPendingHistoryEntry, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, On as runFederationAutoConnectOnce, P as recordInboundSession, Pn as hasMarkdownToConvert, Qn as resolveDmGroupAccessWithLists, Rn as attachFooterText, S as detectBinary, Sn as isRequestBodyLimitError, Tn as requestBodyErrorToText, Tt as peekSystemEvents, Un as resolveHeartbeatPrompt, Vn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, W as formatInboundFromLabel, Wn as waitForAbortSignal, Wt as optionalStringEnum, Xn as readStoreAllowFromForDmPolicy, Yn as DM_GROUP_ACCESS_REASON, Zn as resolveDmGroupAccessWithCommandGate, _ as resolveDefaultLineAccountId, _t as getPluginToolMeta, ar as BLUEBUBBLES_ACTION_NAMES, at as createFasedAgentCodingTools, b as logInboundDrop, bn as RequestBodyLimitError, c as loadModelCatalog, cn as registerAcpRuntimeBackend, d as issuePairingChallenge, dn as AcpRuntimeError, en as resolveToolDisplay, f as createTypingCallbacks, g as normalizeAccountId$1, gt as getChannelAgentToolMeta, h as listLineAccountIds, ir as BLUEBUBBLES_ACTIONS, j as evictOldHistoryKeys, k as clearHistoryEntries, kn as startFederationAutoConnect, ln as unregisterAcpRuntimeBackend, m as resolveMentionGatingWithBypass, nr as assertOkOrThrowHttpError, o as resolveStrictAgenticRuntimeMode, on as getAcpSessionManager, or as BLUEBUBBLES_GROUP_ACTIONS, ot as resolveEffectiveToolPolicy, p as resolveMentionGating, qn as extractToolSend, rr as registerPluginHttpRoute, sn as getAcpRuntimeBackend, sr as CHANNEL_MESSAGE_ACTION_NAMES, t as runEmbeddedPiAgent, tr as resolveControlCommandGate, u as deriveModelMetadata, un as resolveRuntimeOptionsFromMeta, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, vt as buildChannelSummary, wn as readRequestBodyWithLimit, x as logTypingFailure, xn as installRequestBodyLimitGuard, y as logAckFailure, yn as DEFAULT_WEBHOOK_MAX_BODY_BYTES } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import { Bt as resolveBlueBubblesGroupRequireMention, Ft as trimMessagingTarget, Gn as getPluginCommandSpecs, Gt as resolveGoogleChatGroupToolPolicy, Kn as listPluginCommands, Kt as resolveIMessageGroupRequireMention, Ln as logMutatingAdminRpcAudit, Nn as getChatChannelMeta, Pt as looksLikeHandleOrPhoneTarget, Rn as consumeMutatingAdminRpcBudget, Rt as looksLikeSignalTargetId, Vn as authorizeOperatorScopesForMethod, Vt as resolveBlueBubblesGroupToolPolicy, Wt as resolveGoogleChatGroupRequireMention, Xn as normalizePluginHttpPath, at as resolveMainSessionKey, c as listAgentsForGateway, ct as listChannelPlugins, dn as resolveDefaultSignalAccountId, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as resolveSignalAccount, hn as resolveIMessageAccount, mn as resolveDefaultIMessageAccountId, pn as listIMessageAccountIds, qt as resolveIMessageGroupToolPolicy, s as classifySessionKey, t as getActivePluginRegistry, u as resolveSessionModelRef, un as listSignalAccountIds, x as loadSessionStore, yn as resolveToolsBySender, zt as normalizeSignalMessagingTarget } from "./runtime-BUpqjZNM.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";
@@ -1669,6 +1669,7 @@ function resolveHostedNpmInstallTarget(pkgRoot) {
1669
1669
  return {
1670
1670
  manager: "npm",
1671
1671
  globalRoot,
1672
+ cacheRoot: path.dirname(prefix),
1672
1673
  env: {
1673
1674
  npm_config_prefix: prefix,
1674
1675
  npm_config_cache: cache
@@ -1,12 +1,12 @@
1
1
  import { safeParseJson } from "../utils.js";
2
- import syncFs from "node:fs";
2
+ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import crypto from "node:crypto";
5
5
 
6
6
  //#region src/plugin-sdk/json-store.ts
7
7
  async function readJsonFileWithFallback(filePath, fallback) {
8
8
  try {
9
- const raw = await syncFs.promises.readFile(filePath, "utf-8");
9
+ const raw = await fs.promises.readFile(filePath, "utf-8");
10
10
  const parsed = safeParseJson(raw);
11
11
  if (parsed == null) {
12
12
  return {
@@ -34,14 +34,14 @@ async function readJsonFileWithFallback(filePath, fallback) {
34
34
  }
35
35
  async function writeJsonFileAtomically(filePath, value) {
36
36
  const dir = path.dirname(filePath);
37
- await syncFs.promises.mkdir(dir, {
37
+ await fs.promises.mkdir(dir, {
38
38
  recursive: true,
39
39
  mode: 448
40
40
  });
41
41
  const tmp = path.join(dir, `${path.basename(filePath)}.${crypto.randomUUID()}.tmp`);
42
- await syncFs.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
43
- await syncFs.promises.chmod(tmp, 384);
44
- await syncFs.promises.rename(tmp, filePath);
42
+ await fs.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
43
+ await fs.promises.chmod(tmp, 384);
44
+ await fs.promises.rename(tmp, filePath);
45
45
  }
46
46
 
47
47
  //#endregion
@@ -1,4 +1,4 @@
1
- import { A as clearHistoryEntriesIfEnabled, An as resolveAgentAvatar, C as buildPairingReply, Ct as formatDurationSeconds, Dt as buildProviderRegistry, G as resolveEnvelopeFormatOptions, H as resolveInboundDebounceMs, I as shouldAckReaction, J as EmbeddedBlockChunker, K as dispatchInboundMessage, Kt as hasControlCommand, Mn as textToSpeech, Mt as runCapability, N as recordPendingHistoryEntryIfEnabled, Nn as parseTtsDirectives, O as buildPendingHistoryContextFromMap, Ot as createMediaAttachmentCache, P as recordInboundSession, Qn as resolveDmGroupAccessWithLists, R as dispatchReplyWithBufferedBlockDispatcher, U as formatInboundEnvelope, V as createInboundDebouncer, X as resolveStoredModelOverride, Xn as readStoreAllowFromForDmPolicy, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, Z as buildModelsProviderData, a as agentCommand, b as logInboundDrop, er as resolveCommandAuthorizedFromAuthorizers, f as createTypingCallbacks, jn as resolveTtsConfig, kt as normalizeMediaAttachments, m as resolveMentionGatingWithBypass, q as createReplyDispatcherWithTyping, tn as stripReasoningTagsFromText, tr as resolveControlCommandGate, wt as enqueueSystemEvent, x as logTypingFailure, y as logAckFailure, z as dispatchReplyWithDispatcher } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { A as clearHistoryEntriesIfEnabled, An as resolveAgentAvatar, C as buildPairingReply, Ct as formatDurationSeconds, Dt as buildProviderRegistry, G as resolveEnvelopeFormatOptions, H as resolveInboundDebounceMs, I as shouldAckReaction, J as EmbeddedBlockChunker, K as dispatchInboundMessage, Kt as hasControlCommand, Mn as textToSpeech, Mt as runCapability, N as recordPendingHistoryEntryIfEnabled, Nn as parseTtsDirectives, O as buildPendingHistoryContextFromMap, Ot as createMediaAttachmentCache, P as recordInboundSession, Qn as resolveDmGroupAccessWithLists, R as dispatchReplyWithBufferedBlockDispatcher, U as formatInboundEnvelope, V as createInboundDebouncer, X as resolveStoredModelOverride, Xn as readStoreAllowFromForDmPolicy, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, Z as buildModelsProviderData, a as agentCommand, b as logInboundDrop, er as resolveCommandAuthorizedFromAuthorizers, f as createTypingCallbacks, jn as resolveTtsConfig, kt as normalizeMediaAttachments, m as resolveMentionGatingWithBypass, q as createReplyDispatcherWithTyping, tn as stripReasoningTagsFromText, tr as resolveControlCommandGate, wt as enqueueSystemEvent, x as logTypingFailure, y as logAckFailure, z as dispatchReplyWithDispatcher } from "./pi-embedded-runner-SkBGtJFB.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-BUpqjZNM.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";
@@ -70,7 +70,7 @@ import { o as createNoopThreadBindingManager, r as reconcileAcpThreadBindingsOnS
70
70
  import { a as setPresence, n as registerGateway, r as unregisterGateway } from "./gateway-registry-C-MTEdvG.js";
71
71
  import { t as createReplyReferencePlanner } from "./reply-reference-CWEIswqw.js";
72
72
  import { i as createStatusReactionController, r as DEFAULT_TIMING, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-DGYBMJYc.js";
73
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-me0j1xjK.js";
73
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-ClDXjhOb.js";
74
74
  import { t as fetchDiscordApplicationId } from "./probe-DO4M1Qd1.js";
75
75
  import { t as DiscordUiContainer } from "./ui-KGr1WRXC.js";
76
76
  import "./guilds-n7MMnX1c.js";
@@ -1401,7 +1401,7 @@ async function preflightDiscordMessage(params) {
1401
1401
  let preflightTranscript;
1402
1402
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1403
1403
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1404
- const { transcribeFirstAudio } = await import("./audio-preflight-XJNZUuhw.js");
1404
+ const { transcribeFirstAudio } = await import("./audio-preflight-DEoblcsk.js");
1405
1405
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1406
1406
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1407
1407
  ctx: {
@@ -1,4 +1,4 @@
1
- import { $ as buildModelsKeyboard, $t as formatReasoningMessage, A as clearHistoryEntriesIfEnabled, Bn as resolveTelegramInlineButtonsScope, C as buildPairingReply, Cn as readJsonBodyWithLimit, E as DEFAULT_GROUP_HISTORY_LIMIT, Et as resolveChannelConfigWrites, F as removeAckReactionAfterReply, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, I as shouldAckReaction, Jt as isAbortRequestText, Kt as hasControlCommand, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, P as recordInboundSession, Pt as registerUnhandledRejectionHandler, Q as formatModelsAvailableHeader, R as dispatchReplyWithBufferedBlockDispatcher, St as formatDurationPrecise, T as sleepWithAbort, U as formatInboundEnvelope, V as createInboundDebouncer, Wn as waitForAbortSignal, X as resolveStoredModelOverride, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, Z as buildModelsProviderData, b as logInboundDrop, bt as buildCommandsMessagePaginated, c as loadModelCatalog, er as resolveCommandAuthorizedFromAuthorizers, et as buildProviderKeyboard, f as createTypingCallbacks, it as buildCommandsPaginationKeyboard, l as modelSupportsVision, m as resolveMentionGatingWithBypass, nn as findCodeRegions, nt as getModelsPageSize, rn as isInsideCode, rt as parseModelCallbackData, s as findModelInCatalog, tn as stripReasoningTagsFromText, tr as resolveControlCommandGate, tt as calculateTotalPages, w as computeBackoff, wt as enqueueSystemEvent, x as logTypingFailure, y as logAckFailure } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { $ as buildModelsKeyboard, $t as formatReasoningMessage, A as clearHistoryEntriesIfEnabled, Bn as resolveTelegramInlineButtonsScope, C as buildPairingReply, Cn as readJsonBodyWithLimit, E as DEFAULT_GROUP_HISTORY_LIMIT, Et as resolveChannelConfigWrites, F as removeAckReactionAfterReply, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, I as shouldAckReaction, Jt as isAbortRequestText, Kt as hasControlCommand, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, P as recordInboundSession, Pt as registerUnhandledRejectionHandler, Q as formatModelsAvailableHeader, R as dispatchReplyWithBufferedBlockDispatcher, St as formatDurationPrecise, T as sleepWithAbort, U as formatInboundEnvelope, V as createInboundDebouncer, Wn as waitForAbortSignal, X as resolveStoredModelOverride, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, Z as buildModelsProviderData, b as logInboundDrop, bt as buildCommandsMessagePaginated, c as loadModelCatalog, er as resolveCommandAuthorizedFromAuthorizers, et as buildProviderKeyboard, f as createTypingCallbacks, it as buildCommandsPaginationKeyboard, l as modelSupportsVision, m as resolveMentionGatingWithBypass, nn as findCodeRegions, nt as getModelsPageSize, rn as isInsideCode, rt as parseModelCallbackData, s as findModelInCatalog, tn as stripReasoningTagsFromText, tr as resolveControlCommandGate, tt as calculateTotalPages, w as computeBackoff, wt as enqueueSystemEvent, x as logTypingFailure, y as logAckFailure } from "./pi-embedded-runner-SkBGtJFB.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-BUpqjZNM.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";
@@ -62,7 +62,7 @@ import { n as recordChannelActivity } from "./channel-activity-B7MIaDei.js";
62
62
  import "./retry-policy-BTH89onl.js";
63
63
  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-CRI83FPV.js";
64
64
  import { t as makeProxyFetch } from "./proxy-R5TjOIFS.js";
65
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-PRfvBRnv.js";
65
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-CUnBcKME.js";
66
66
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-DGYBMJYc.js";
67
67
  import path from "node:path";
68
68
  import os from "node:os";
@@ -2046,7 +2046,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2046
2046
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2047
2047
  let preflightTranscript;
2048
2048
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2049
- const { transcribeFirstAudio } = await import("./audio-preflight-XJNZUuhw.js");
2049
+ const { transcribeFirstAudio } = await import("./audio-preflight-DEoblcsk.js");
2050
2050
  preflightTranscript = await transcribeFirstAudio({
2051
2051
  ctx: {
2052
2052
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -1,4 +1,4 @@
1
- import { Bt as extractImageContentFromSource, Ft as DEFAULT_INPUT_IMAGE_MAX_BYTES, Ht as resolveInputFileLimits, It as DEFAULT_INPUT_IMAGE_MIMES, Lt as DEFAULT_INPUT_MAX_REDIRECTS, Rt as DEFAULT_INPUT_TIMEOUT_MS, Vt as normalizeMimeList, _n as writeDone, a as agentCommand, an as onAgentEvent, fn as createDefaultDeps, gn as setSseHeaders, hn as sendJson, i as resolveAssistantStreamDeltaText, in as emitAgentEvent, mn as resolveSessionKey, n as handleGatewayPostJsonEndpoint, pn as resolveAgentIdForRequest, r as buildAgentMessageFromConversationEntries, zt as extractFileContentFromSource } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { Bt as extractImageContentFromSource, Ft as DEFAULT_INPUT_IMAGE_MAX_BYTES, Ht as resolveInputFileLimits, It as DEFAULT_INPUT_IMAGE_MIMES, Lt as DEFAULT_INPUT_MAX_REDIRECTS, Rt as DEFAULT_INPUT_TIMEOUT_MS, Vt as normalizeMimeList, _n as writeDone, a as agentCommand, an as onAgentEvent, fn as createDefaultDeps, gn as setSseHeaders, hn as sendJson, i as resolveAssistantStreamDeltaText, in as emitAgentEvent, mn as resolveSessionKey, n as handleGatewayPostJsonEndpoint, pn as resolveAgentIdForRequest, r as buildAgentMessageFromConversationEntries, zt as extractFileContentFromSource } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import "./runtime-BUpqjZNM.js";
3
3
  import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, t as ChannelConfigSchema } from "./types.plugin-CvUiB3Kh.js";
2
- import { v as FasedAgentPluginConfigSchema } from "./types-56R2vXgt.js";
2
+ import { v as FasedAgentPluginConfigSchema } from "./types-DMLEeE52.js";
3
3
  import { ZodTypeAny } from "zod";
4
4
 
5
5
  //#region src/plugins/config-schema.d.ts
@@ -8734,7 +8734,7 @@ function createOutboundSendDepsFromCliSource(deps) {
8734
8734
  function createDefaultDeps() {
8735
8735
  return {
8736
8736
  sendMessageWhatsApp: async (...args) => {
8737
- const { sendMessageWhatsApp } = await import("./web-CSpyzE3P.js");
8737
+ const { sendMessageWhatsApp } = await import("./web-DMRFrK11.js");
8738
8738
  return await sendMessageWhatsApp(...args);
8739
8739
  },
8740
8740
  sendMessageTelegram: async (...args) => {
@@ -73116,7 +73116,7 @@ const signalMessageActions = {
73116
73116
  //#region src/channels/plugins/actions/telegram.ts
73117
73117
  const providerId = "telegram";
73118
73118
  async function loadTelegramActionHandler() {
73119
- const { handleTelegramAction } = await import("./telegram-actions-D4PNLPEZ.js");
73119
+ const { handleTelegramAction } = await import("./telegram-actions-L7LDJqla.js");
73120
73120
  return handleTelegramAction;
73121
73121
  }
73122
73122
  function readTelegramSendParams(params) {
@@ -75561,7 +75561,7 @@ function buildPairingReply(params) {
75561
75561
 
75562
75562
  //#endregion
75563
75563
  //#region src/brand.ts
75564
- const FASED_PRODUCT_VERSION = "0.1.42";
75564
+ const FASED_PRODUCT_VERSION = "0.1.44";
75565
75565
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
75566
75566
 
75567
75567
  //#endregion
@@ -79472,7 +79472,7 @@ const sendPollDiscordLazy = async (...args) => {
79472
79472
  return sendPollDiscord(...args);
79473
79473
  };
79474
79474
  const monitorDiscordProviderLazy = async (...args) => {
79475
- const { monitorDiscordProvider } = await import("./monitor-DUyt6cCK.js");
79475
+ const { monitorDiscordProvider } = await import("./monitor-CZ490e2-.js");
79476
79476
  return monitorDiscordProvider(...args);
79477
79477
  };
79478
79478
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -79500,7 +79500,7 @@ const sendMessageSlackLazy = async (...args) => {
79500
79500
  return sendMessageSlack(...args);
79501
79501
  };
79502
79502
  const monitorSlackProviderLazy = async (...args) => {
79503
- const { monitorSlackProvider } = await import("./slack-CEoLScM7.js");
79503
+ const { monitorSlackProvider } = await import("./slack--DAH0bKU.js");
79504
79504
  return monitorSlackProvider(...args);
79505
79505
  };
79506
79506
  const handleSlackActionLazy = async (...args) => {
@@ -79520,7 +79520,7 @@ const sendPollTelegramLazy = async (...args) => {
79520
79520
  return sendPollTelegram(...args);
79521
79521
  };
79522
79522
  const monitorTelegramProviderLazy = async (...args) => {
79523
- const { monitorTelegramProvider } = await import("./monitor-C7si_bKw.js");
79523
+ const { monitorTelegramProvider } = await import("./monitor-_2NRVtaY.js");
79524
79524
  return monitorTelegramProvider(...args);
79525
79525
  };
79526
79526
  let webOutboundPromise = null;
@@ -79541,7 +79541,7 @@ function loadWebLoginQr() {
79541
79541
  return webLoginQrPromise;
79542
79542
  }
79543
79543
  function loadWebChannel() {
79544
- webChannelPromise ??= import("./web-CSpyzE3P.js");
79544
+ webChannelPromise ??= import("./web-DMRFrK11.js");
79545
79545
  return webChannelPromise;
79546
79546
  }
79547
79547
  function loadWhatsAppActions() {
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig } from "./types.plugin-CvUiB3Kh.js";
2
- import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-56R2vXgt.js";
2
+ import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-DMLEeE52.js";
3
3
 
4
4
  //#region src/plugin-sdk/provider-web-search-config-contract.d.ts
5
5
  type WebSearchCredentialResolutionSource = "config" | "env" | "none";
@@ -1,6 +1,6 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletRuntimeKind, Ht as WalletToolAccessMode, It as WalletAuthMode, Lt as WalletChain, Rt as WalletExecutionMode, Vt as WalletRuntimeMode, _n as GatewayClientName, gn as GatewayClientMode, s as loadConfig, zt as WalletProviderId } from "./types.plugin-CvUiB3Kh.js";
2
- import { A as createSubsystemLogger, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-ZT0DGnls.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-B-AAdaCr.js";
2
+ import { A as createSubsystemLogger, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-0CsXVmg8.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-BpMLNd4L.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 { A as clearHistoryEntriesIfEnabled, E as DEFAULT_GROUP_HISTORY_LIMIT, Et as resolveChannelConfigWrites, F as removeAckReactionAfterReply, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, I as shouldAckReaction, K as dispatchInboundMessage, Kn as pruneMapToMaxSize, Kt as hasControlCommand, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, P as recordInboundSession, U as formatInboundEnvelope, V as createInboundDebouncer, Xn as readStoreAllowFromForDmPolicy, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, b as logInboundDrop, d as issuePairingChallenge, dt as normalizeAllowListLower, er as resolveCommandAuthorizedFromAuthorizers, f as createTypingCallbacks, ft as normalizeSlackSlug, lt as allowListMatches, m as resolveMentionGatingWithBypass, mt as resolveSlackUserAllowed, pt as resolveSlackAllowListMatch, q as createReplyDispatcherWithTyping, tr as resolveControlCommandGate, ut as normalizeAllowList, wt as enqueueSystemEvent, x as logTypingFailure, xn as installRequestBodyLimitGuard, y as logAckFailure } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { A as clearHistoryEntriesIfEnabled, E as DEFAULT_GROUP_HISTORY_LIMIT, Et as resolveChannelConfigWrites, F as removeAckReactionAfterReply, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, I as shouldAckReaction, K as dispatchInboundMessage, Kn as pruneMapToMaxSize, Kt as hasControlCommand, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, P as recordInboundSession, U as formatInboundEnvelope, V as createInboundDebouncer, Xn as readStoreAllowFromForDmPolicy, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, b as logInboundDrop, d as issuePairingChallenge, dt as normalizeAllowListLower, er as resolveCommandAuthorizedFromAuthorizers, f as createTypingCallbacks, ft as normalizeSlackSlug, lt as allowListMatches, m as resolveMentionGatingWithBypass, mt as resolveSlackUserAllowed, pt as resolveSlackAllowListMatch, q as createReplyDispatcherWithTyping, tr as resolveControlCommandGate, ut as normalizeAllowList, wt as enqueueSystemEvent, x as logTypingFailure, xn as installRequestBodyLimitGuard, y as logAckFailure } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-BUpqjZNM.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";
@@ -64,7 +64,7 @@ import "./tables-DX84FwPB.js";
64
64
  import { t as sendMessageSlack } from "./send-DUp9GIX8.js";
65
65
  import { r as resolveSlackWebClientOptions } from "./client-BTUzO_8g.js";
66
66
  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-CysoQjk1.js";
67
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-me0j1xjK.js";
67
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-ClDXjhOb.js";
68
68
  import { t as createDraftStreamLoop } from "./draft-stream-loop-DZ1OAyye.js";
69
69
  import { t as resolveSlackUserAllowlist } from "./resolve-users-C1sjzEsV.js";
70
70
  import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BPFt4O-j.js";
@@ -3243,7 +3243,7 @@ async function registerSlackMonitorSlashCommands(params) {
3243
3243
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3244
3244
  import("./resolve-route-wp5xq4Ws.js").then((n) => n.r),
3245
3245
  import("./inbound-context-BNCTzgjG.js").then((n) => n.n),
3246
- import("./pi-embedded-runner-C6HkZJ5E.js").then((n) => n.B)
3246
+ import("./pi-embedded-runner-SkBGtJFB.js").then((n) => n.B)
3247
3247
  ]);
3248
3248
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3249
3249
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),
@@ -1,8 +1,8 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, J as ChannelMessageActionAdapter, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, qt as SlackAccountConfig, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.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, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-56R2vXgt.js";
4
- import { D as normalizeE164 } from "./types-ZT0DGnls.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-C5m-8Evp.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, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DMLEeE52.js";
4
+ import { D as normalizeE164 } from "./types-0CsXVmg8.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-6XVXW554.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
7
  import { o as SlackConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
@@ -1,4 +1,4 @@
1
- import { At as resolveAutoImageModel, c as loadModelCatalog, l as modelSupportsVision, s as findModelInCatalog } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { At as resolveAutoImageModel, c as loadModelCatalog, l as modelSupportsVision, s as findModelInCatalog } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { t as STATE_DIR } from "./paths-BEmvSyOV.js";
4
4
  import { Yt as resolveDefaultModelForAgent, cn as resolveApiKeyForProvider } from "./config-DKNrb8oT.js";
@@ -147,7 +147,7 @@ async function describeStickerImage(params) {
147
147
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
148
148
  try {
149
149
  const buffer = await fs.readFile(imagePath);
150
- const { describeImageWithModel } = await import("./pi-embedded-runner-C6HkZJ5E.js").then((n) => n.Ut);
150
+ const { describeImageWithModel } = await import("./pi-embedded-runner-SkBGtJFB.js").then((n) => n.Ut);
151
151
  return (await describeImageWithModel({
152
152
  buffer,
153
153
  fileName: "sticker.webp",
@@ -1,4 +1,4 @@
1
- import { Bn as resolveTelegramInlineButtonsScope, zn as resolveTelegramReactionLevel } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { Bn as resolveTelegramInlineButtonsScope, zn as resolveTelegramReactionLevel } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import { an as resolveTelegramToken, en as createTelegramActionGate } from "./runtime-BUpqjZNM.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -60,7 +60,7 @@ import "./tables-DX84FwPB.js";
60
60
  import "./retry-policy-BTH89onl.js";
61
61
  import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-CRI83FPV.js";
62
62
  import "./proxy-R5TjOIFS.js";
63
- import { a as searchStickers, r as getCacheStats } from "./sticker-cache-PRfvBRnv.js";
63
+ import { a as searchStickers, r as getCacheStats } from "./sticker-cache-CUnBcKME.js";
64
64
 
65
65
  //#region src/agents/tools/telegram-actions.ts
66
66
  const TELEGRAM_BUTTON_STYLES = [
@@ -1,8 +1,8 @@
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, Gt as TelegramAccountConfig, J as ChannelMessageActionAdapter, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Lt as TelegramProbe, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-56R2vXgt.js";
4
- import { D as normalizeE164 } from "./types-ZT0DGnls.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-C5m-8Evp.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Lt as TelegramProbe, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DMLEeE52.js";
4
+ import { D as normalizeE164 } from "./types-0CsXVmg8.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-6XVXW554.js";
6
6
  import { _ as buildTokenChannelStatusSummary, d as resolveTelegramGroupRequireMention, f as resolveTelegramGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
7
  import { s as TelegramConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, l as AgentDefaultsConfig } from "./types.plugin-CvUiB3Kh.js";
2
- import { M as LookupFn, P as SsrFPolicy } from "./types-ZT0DGnls.js";
2
+ import { M as LookupFn, P as SsrFPolicy } from "./types-0CsXVmg8.js";
3
3
 
4
4
  //#region src/agents/agent-scope.d.ts
5
5
  type AgentEntry = NonNullable<NonNullable<FasedAgentConfig["agents"]>["list"]>[number];
@@ -168,13 +168,13 @@ declare const ConnectParamsSchema: _sinclair_typebox0.TObject<{
168
168
  minProtocol: _sinclair_typebox0.TInteger;
169
169
  maxProtocol: _sinclair_typebox0.TInteger;
170
170
  client: _sinclair_typebox0.TObject<{
171
- id: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"webchat" | "cli" | "webchat-ui" | "fased-control-ui" | "gateway-client" | "fased-macos" | "fased-ios" | "fased-android" | "node-host" | "test" | "fingerprint" | "fased-probe">[]>;
171
+ id: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"webchat-ui" | "fased-control-ui" | "webchat" | "cli" | "gateway-client" | "fased-macos" | "fased-ios" | "fased-android" | "node-host" | "test" | "fingerprint" | "fased-probe">[]>;
172
172
  displayName: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
173
173
  version: _sinclair_typebox0.TString;
174
174
  platform: _sinclair_typebox0.TString;
175
175
  deviceFamily: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
176
176
  modelIdentifier: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
177
- mode: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"ui" | "webchat" | "cli" | "backend" | "node" | "probe" | "test">[]>;
177
+ mode: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"ui" | "webchat" | "cli" | "test" | "backend" | "node" | "probe">[]>;
178
178
  instanceId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
179
179
  }>;
180
180
  caps: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
@@ -1,6 +1,6 @@
1
1
  import { t as ChatType } from "./chat-type-CK5stkc4.js";
2
2
  import { An as GetReplyOptions, At as FasedAgentConfig, B as ChannelCapabilities, Ct as RuntimeEnv, Dn as MarkdownTableMode, E as ChannelPairingAdapter, F as ChannelAccountSnapshot, G as ChannelId, J as ChannelMessageActionAdapter, Jt as SlackSlashCommandConfig, Kt as TelegramGroupConfig, L as ChannelAgentPromptAdapter, N as BaseProbeResult, Nt as ModelProviderConfig, On as ReplyToMode, Ot as sendMessageDiscord, P as BaseTokenResolution, R as ChannelAgentTool, St as sendMessageIMessage, Tn as HumanDelayConfig, V as ChannelDirectoryEntry, _t as sendPollWhatsApp, bn as GroupToolPolicyConfig, bt as sendMessageSlack, c as writeConfigFile, dn as chunkMarkdownTextWithMode, f as ChannelCommandAdapter, fn as chunkText, ft as FinalizedMsgContext, gt as sendMessageWhatsApp, h as ChannelElevatedAdapter, hn as resolveTextChunkLimit, ht as ShouldHandleTextCommandsParams, jn as ReplyPayload, kt as sendPollDiscord, ln as chunkByNewline, mn as resolveChunkMode, mt as CommandNormalizeOptions, n as ChannelPlugin, o as WizardPrompter, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, pn as chunkTextWithMode, pt as MsgContext, q as ChannelMentionAdapter, s as loadConfig, sn as TtsAutoMode, un as chunkMarkdownText, v as ChannelGroupAdapter, vn as PollInput, vt as sendMessageTelegram, wn as GroupPolicy, xt as sendMessageSignal, yn as GroupToolPolicyBySenderConfig, yt as sendPollTelegram } from "./types.plugin-CvUiB3Kh.js";
3
- import { C as readWebSelfId, H as resolveStateDir, M as LookupFn, P as SsrFPolicy, S as logoutWeb, _ as PushTestParams, a as GatewayClient, b as getWebAuthAgeMs, c as GatewayRequestHandlerOptions, i as OperatorScope, j as LogLevel, l as GatewayRequestHandlers, m as ChatInjectParams, n as AuthProfileStore, o as GatewayRequestContext, r as OAuthCredential, s as GatewayRequestHandler, t as AuthProfileCredential, v as WebLoginStartParams, w as webAuthExists, x as logWebSelfId, y as WebLoginWaitParams } from "./types-ZT0DGnls.js";
3
+ import { C as readWebSelfId, H as resolveStateDir, M as LookupFn, P as SsrFPolicy, S as logoutWeb, _ as PushTestParams, a as GatewayClient, b as getWebAuthAgeMs, c as GatewayRequestHandlerOptions, i as OperatorScope, j as LogLevel, l as GatewayRequestHandlers, m as ChatInjectParams, n as AuthProfileStore, o as GatewayRequestContext, r as OAuthCredential, s as GatewayRequestHandler, t as AuthProfileCredential, v as WebLoginStartParams, w as webAuthExists, x as logWebSelfId, y as WebLoginWaitParams } from "./types-0CsXVmg8.js";
4
4
  import { WebClient } from "@slack/web-api";
5
5
  import { Skill } from "@mariozechner/pi-coding-agent";
6
6
  import { AgentMessage, AgentTool, AgentToolResult } from "@mariozechner/pi-agent-core";
@@ -1,4 +1,4 @@
1
- import { C as buildPairingReply, D as buildHistoryContextFromEntries, E as DEFAULT_GROUP_HISTORY_LIMIT, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, Kt as hasControlCommand, L as shouldAckReactionForWhatsApp, N as recordPendingHistoryEntryIfEnabled, Pt as registerUnhandledRejectionHandler, Qn as resolveDmGroupAccessWithLists, R as dispatchReplyWithBufferedBlockDispatcher, St as formatDurationPrecise, T as sleepWithAbort, U as formatInboundEnvelope, V as createInboundDebouncer, Xn as readStoreAllowFromForDmPolicy, Y as getReplyFromConfig, Yt as buildMentionRegexes, Zn as resolveDmGroupAccessWithCommandGate, Zt as normalizeMentionText, ct as parseActivationCommand, p as resolveMentionGating, qt as shouldComputeCommandAuthorized, st as normalizeGroupActivation, w as computeBackoff, wt as enqueueSystemEvent } from "./pi-embedded-runner-C6HkZJ5E.js";
1
+ import { C as buildPairingReply, D as buildHistoryContextFromEntries, E as DEFAULT_GROUP_HISTORY_LIMIT, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, Kt as hasControlCommand, L as shouldAckReactionForWhatsApp, N as recordPendingHistoryEntryIfEnabled, Pt as registerUnhandledRejectionHandler, Qn as resolveDmGroupAccessWithLists, R as dispatchReplyWithBufferedBlockDispatcher, St as formatDurationPrecise, T as sleepWithAbort, U as formatInboundEnvelope, V as createInboundDebouncer, Xn as readStoreAllowFromForDmPolicy, Y as getReplyFromConfig, Yt as buildMentionRegexes, Zn as resolveDmGroupAccessWithCommandGate, Zt as normalizeMentionText, ct as parseActivationCommand, p as resolveMentionGating, qt as shouldComputeCommandAuthorized, st as normalizeGroupActivation, w as computeBackoff, wt as enqueueSystemEvent } from "./pi-embedded-runner-SkBGtJFB.js";
2
2
  import { C as recordSessionMetaFromInbound, S as readSessionUpdatedAt, _n as resolveChannelGroupRequireMention, bn as resolveGroupSessionKey, gn as resolveChannelGroupPolicy, w as updateLastRoute, x as loadSessionStore } from "./runtime-BUpqjZNM.js";
3
3
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, p as getChildLogger, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
@@ -1,8 +1,8 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, Cn as DmPolicy, F as ChannelAccountSnapshot, J as ChannelMessageActionAdapter, Wt as WhatsAppAccountConfig, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta, wn as GroupPolicy } from "./types.plugin-CvUiB3Kh.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, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-56R2vXgt.js";
4
- import { D as normalizeE164 } from "./types-ZT0DGnls.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-C5m-8Evp.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, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DMLEeE52.js";
4
+ import { D as normalizeE164 } from "./types-0CsXVmg8.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-6XVXW554.js";
6
6
  import { _ as buildTokenChannelStatusSummary, m as resolveWhatsAppGroupToolPolicy, p as resolveWhatsAppGroupRequireMention } from "./group-mentions-DLOOve8d.js";
7
7
  import { z } from "zod";
8
8
 
@@ -1,18 +1,18 @@
1
1
  import { resolveFasedAgentPackageRootSync } from "../infra/fased-root.js";
2
2
  import { fileURLToPath } from "node:url";
3
- import syncFs from "node:fs";
3
+ import fs from "node:fs";
4
4
  import path from "node:path";
5
5
 
6
6
  //#region src/plugins/bundled-dir.ts
7
7
  function looksLikeBundledPluginsDir(dir) {
8
8
  try {
9
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
9
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
10
10
  for (const entry of entries) {
11
11
  if (!entry.isDirectory()) {
12
12
  continue;
13
13
  }
14
14
  const pluginRoot = path.join(dir, entry.name);
15
- if (syncFs.existsSync(path.join(pluginRoot, "fased.plugin.json"))) {
15
+ if (fs.existsSync(path.join(pluginRoot, "fased.plugin.json"))) {
16
16
  return true;
17
17
  }
18
18
  }