@fased/fased 0.1.42 → 0.1.43

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 (273) 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-CzG6BjAn.js} +3 -3
  166. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  167. package/dist/plugin-sdk/{chunk-items-me0j1xjK.js → chunk-items-CxRDAM7m.js} +1 -1
  168. package/dist/plugin-sdk/command-status.js +3 -3
  169. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  170. package/dist/plugin-sdk/discord.d.ts +4 -4
  171. package/dist/plugin-sdk/index.d.ts +20 -20
  172. package/dist/plugin-sdk/index.js +5 -4
  173. package/dist/plugin-sdk/json-store.js +6 -6
  174. package/dist/plugin-sdk/{monitor-C7si_bKw.js → monitor-B1PUtkd6.js} +5 -5
  175. package/dist/plugin-sdk/{monitor-DUyt6cCK.js → monitor-BrxWsb7H.js} +7 -7
  176. package/dist/plugin-sdk/{openresponses-http-sYsdEjGP.js → openresponses-http-DJ2lfMja.js} +3 -3
  177. package/dist/plugin-sdk/{pairing-message-C5m-8Evp.d.ts → pairing-message-DWXHX-jt.d.ts} +1 -1
  178. package/dist/plugin-sdk/{pi-embedded-runner-C6HkZJ5E.js → pi-embedded-runner-DMfkIj60.js} +12 -12
  179. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  180. package/dist/plugin-sdk/{pw-ai-BFHYmEIx.js → pw-ai-BgsJH_P8.js} +1 -1
  181. package/dist/plugin-sdk/{runtime-dependency-B5Fut2tT.js → runtime-dependency-pUwxUAJp.js} +9 -9
  182. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  183. package/dist/plugin-sdk/sat-runtime.js +1 -1
  184. package/dist/plugin-sdk/{slack-CEoLScM7.js → slack-B6lIY1Jk.js} +5 -5
  185. package/dist/plugin-sdk/slack.d.ts +4 -4
  186. package/dist/plugin-sdk/{sticker-cache-PRfvBRnv.js → sticker-cache-D4Ljzv1P.js} +2 -2
  187. package/dist/plugin-sdk/{telegram-actions-D4PNLPEZ.js → telegram-actions-tOhBd6st.js} +4 -4
  188. package/dist/plugin-sdk/telegram.d.ts +4 -4
  189. package/dist/plugin-sdk/{tmp-fased-dir-B-AAdaCr.d.ts → tmp-fased-dir-Be1wBhVz.d.ts} +1 -1
  190. package/dist/plugin-sdk/{types-ZT0DGnls.d.ts → types-CJGVZX6j.d.ts} +2 -2
  191. package/dist/plugin-sdk/{types-56R2vXgt.d.ts → types-CXLEOrJX.d.ts} +1 -1
  192. package/dist/plugin-sdk/{wallet-status-D9UVH6k9.js → wallet-status-CdxTkLWz.js} +4 -4
  193. package/dist/plugin-sdk/{web-CSpyzE3P.js → web-CX12Rpz1.js} +3 -3
  194. package/dist/plugin-sdk/whatsapp.d.ts +13 -13
  195. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-BEbNizPe.d.ts} +78 -78
  196. package/dist/plugins/bundled-dir.js +3 -3
  197. package/dist/plugins/discovery.js +11 -11
  198. package/dist/plugins/loader.js +13 -13
  199. package/dist/plugins/manifest-registry.js +2 -2
  200. package/dist/plugins/manifest.js +4 -4
  201. package/dist/plugins/path-safety.js +3 -3
  202. package/dist/plugins/status-cache.js +9 -9
  203. package/dist/plugins/update.js +3 -3
  204. package/dist/plugins/web-search-install-catalog.js +3 -3
  205. package/dist/secrets/apply.js +16 -16
  206. package/dist/secrets/audit.js +11 -11
  207. package/dist/secrets/shared.js +9 -9
  208. package/dist/security/scan-paths.js +2 -2
  209. package/dist/shared/config-eval.js +2 -2
  210. package/dist/shared/pid-alive.js +2 -2
  211. package/dist/tasks/standing-orders.js +5 -5
  212. package/dist/tasks/task-flow-registry.js +5 -5
  213. package/dist/tasks/task-registry.js +5 -5
  214. package/dist/tasks/workflow-definitions.js +6 -6
  215. package/dist/telegram/token.js +5 -5
  216. package/dist/utils.js +5 -5
  217. package/dist/wallet/local-socket-signer-broker.js +16 -16
  218. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  219. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  220. package/dist/wallet/wallet-approval-auth.js +5 -5
  221. package/dist/wallet/wallet-audit-log.js +5 -5
  222. package/dist/wallet/wallet-custody.js +21 -21
  223. package/dist/wallet/wallet-inbound-events.js +5 -5
  224. package/dist/wallet/wallet-observability.js +5 -5
  225. package/dist/wallet/wallet-policy.js +9 -9
  226. package/dist/wallet/wallet-provider-registry.js +7 -7
  227. package/dist/wallet/wallet-runtime-config.js +3 -3
  228. package/dist/wallet/wallet-secrets-store.js +22 -22
  229. package/dist/wallet/wallet-send-approvals.js +5 -5
  230. package/dist/wallet/wallet-settlement-links.js +5 -5
  231. package/dist/web/accounts.js +3 -3
  232. package/dist/web/auth-store.js +18 -18
  233. package/dist/web/session.js +4 -4
  234. package/dist/wizard/host-security-capability.js +2 -2
  235. package/dist/wizard/onboarding.host-security.js +7 -7
  236. package/dist/wizard/onboarding.js +7 -7
  237. package/dist/wizard/onboarding.wallet.js +44 -44
  238. package/extensions/acpx/package.json +1 -1
  239. package/extensions/bluebubbles/package.json +1 -1
  240. package/extensions/copilot-proxy/package.json +1 -1
  241. package/extensions/diagnostics-otel/package.json +1 -1
  242. package/extensions/fased-federation/package.json +1 -1
  243. package/extensions/google-gemini-cli-auth/package.json +1 -1
  244. package/extensions/imessage/package.json +1 -1
  245. package/extensions/irc/package.json +1 -1
  246. package/extensions/line/package.json +1 -1
  247. package/extensions/llm-task/package.json +1 -1
  248. package/extensions/lobster/package.json +1 -1
  249. package/extensions/matrix/CHANGELOG.md +6 -0
  250. package/extensions/matrix/package.json +1 -1
  251. package/extensions/mattermost/package.json +1 -1
  252. package/extensions/memory-core/package.json +2 -2
  253. package/extensions/memory-lancedb/package.json +1 -1
  254. package/extensions/minimax-portal-auth/package.json +1 -1
  255. package/extensions/msteams/CHANGELOG.md +6 -0
  256. package/extensions/msteams/package.json +1 -1
  257. package/extensions/nextcloud-talk/package.json +1 -1
  258. package/extensions/nostr/CHANGELOG.md +6 -0
  259. package/extensions/nostr/package.json +1 -1
  260. package/extensions/open-prose/package.json +1 -1
  261. package/extensions/sat-mining/package.json +1 -1
  262. package/extensions/signal/package.json +1 -1
  263. package/extensions/synology-chat/package.json +1 -1
  264. package/extensions/tlon/package.json +1 -1
  265. package/extensions/twitch/CHANGELOG.md +6 -0
  266. package/extensions/twitch/package.json +1 -1
  267. package/extensions/voice-call/CHANGELOG.md +6 -0
  268. package/extensions/voice-call/package.json +1 -1
  269. package/extensions/zalo/CHANGELOG.md +6 -0
  270. package/extensions/zalo/package.json +1 -1
  271. package/extensions/zalouser/CHANGELOG.md +6 -0
  272. package/extensions/zalouser/package.json +1 -1
  273. package/package.json +1 -1
@@ -15,7 +15,7 @@ import { execFileSync, spawn } from "node:child_process";
15
15
  import { createHmac } from "node:crypto";
16
16
  import { createServer } from "node:http";
17
17
  import net from "node:net";
18
- import WebSocket, { WebSocketServer } from "ws";
18
+ import WebSocket$1, { WebSocketServer } from "ws";
19
19
 
20
20
  //#region src/browser/constants.ts
21
21
  const DEFAULT_FASED_BROWSER_ENABLED = true;
@@ -167,7 +167,7 @@ async function ensureChromeExtensionRelayServer(opts) {
167
167
  let extensionWs = null;
168
168
  const cdpClients = /* @__PURE__ */ new Set();
169
169
  const connectedTargets = /* @__PURE__ */ new Map();
170
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
170
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
171
171
  let extensionDisconnectCleanupTimer = null;
172
172
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
173
173
  const flushExtensionReconnectWaiters = (connected) => {
@@ -218,7 +218,7 @@ async function ensureChromeExtensionRelayServer(opts) {
218
218
  let nextExtensionId = 1;
219
219
  const sendToExtension = async (payload) => {
220
220
  const ws = extensionWs;
221
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
221
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
222
222
  ws.send(JSON.stringify(payload));
223
223
  return await new Promise((resolve, reject) => {
224
224
  const timer = setTimeout(() => {
@@ -235,12 +235,12 @@ async function ensureChromeExtensionRelayServer(opts) {
235
235
  const broadcastToCdpClients = (evt) => {
236
236
  const msg = JSON.stringify(evt);
237
237
  for (const ws of cdpClients) {
238
- if (ws.readyState !== WebSocket.OPEN) continue;
238
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
239
239
  ws.send(msg);
240
240
  }
241
241
  };
242
242
  const sendResponseToCdp = (ws, res) => {
243
- if (ws.readyState !== WebSocket.OPEN) return;
243
+ if (ws.readyState !== WebSocket$1.OPEN) return;
244
244
  ws.send(JSON.stringify(res));
245
245
  };
246
246
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -450,7 +450,7 @@ async function ensureChromeExtensionRelayServer(opts) {
450
450
  rejectUpgrade(socket, 401, "Unauthorized");
451
451
  return;
452
452
  }
453
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
453
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
454
454
  try {
455
455
  extensionWs.terminate();
456
456
  } catch {}
@@ -487,7 +487,7 @@ async function ensureChromeExtensionRelayServer(opts) {
487
487
  clearExtensionDisconnectCleanupTimer();
488
488
  flushExtensionReconnectWaiters(true);
489
489
  const ping = setInterval(() => {
490
- if (ws.readyState !== WebSocket.OPEN) return;
490
+ if (ws.readyState !== WebSocket$1.OPEN) return;
491
491
  ws.send(JSON.stringify({ method: "ping" }));
492
492
  }, 5e3);
493
493
  ws.on("message", (data) => {
@@ -829,7 +829,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
829
829
  }
830
830
  async function withCdpSocket(wsUrl, fn, opts) {
831
831
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
832
- const ws = new WebSocket(wsUrl, {
832
+ const ws = new WebSocket$1(wsUrl, {
833
833
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
834
834
  ...Object.keys(headers).length ? { headers } : {}
835
835
  });
@@ -1755,7 +1755,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1755
1755
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1756
1756
  return await new Promise((resolve) => {
1757
1757
  const headers = getHeadersWithAuth(wsUrl);
1758
- const ws = new WebSocket(wsUrl, {
1758
+ const ws = new WebSocket$1(wsUrl, {
1759
1759
  handshakeTimeout: timeoutMs,
1760
1760
  ...Object.keys(headers).length ? { headers } : {}
1761
1761
  });
@@ -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-CJGVZX6j.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-Be1wBhVz.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";
@@ -17,7 +17,7 @@ import "./paths-B88DQEK8.js";
17
17
  import "./ip-BkeyFRJr.js";
18
18
  import "./device-pairing-J1IH1jFl.js";
19
19
  import "./pairing-token-HQpaqod5.js";
20
- import { At as resolveModel, B as resolveWalletUserRole, D as resolveWalletProviderId, Dt as resolveSatMintProgramIdFromEnv, Et as resolveSatMintAddressFromEnv, F as resolveWalletRolePolicyProfile, G as requireLocalSocketSignerPath, J as resolveWalletRuntimeConfig, M as resolveWalletPolicyConfig, O as loadWalletProviderSecret, Ot as resolveSatProgramIdFromEnv, R as readWalletProviderRegistry, St as errorShape, T as createWalletProviderAdapter, Tt as resolveSatBondProgramIdFromEnv, U as callLocalSocketSigner, V as upsertNamedWallet, W as probeLocalSocketSignerHealth, _t as signDevicePayload, at as getSatMainnetSyncStatus, gt as publicKeyRawBase64UrlFromPem, ht as loadOrCreateDeviceIdentity, kt as tryResolveSatRuntimeIds, n as createOrExecuteWalletSend, nt as buildAttestation, ot as syncSatMainnetRuntimeIds, q as resolveLocalSignerSocketPath, t as readWalletStatusSnapshot, tt as fetchSolanaWalletAssetsViaRpc, ut as callGatewayScoped, vt as verifyDeviceSignature, w as enforceWalletCustodyForAutonomousSend, wt as SAT_RUNTIME_DEFAULTS, xt as ErrorCodes } from "./wallet-status-D9UVH6k9.js";
20
+ import { At as resolveModel, B as resolveWalletUserRole, D as resolveWalletProviderId, Dt as resolveSatMintProgramIdFromEnv, Et as resolveSatMintAddressFromEnv, F as resolveWalletRolePolicyProfile, G as requireLocalSocketSignerPath, J as resolveWalletRuntimeConfig, M as resolveWalletPolicyConfig, O as loadWalletProviderSecret, Ot as resolveSatProgramIdFromEnv, R as readWalletProviderRegistry, St as errorShape, T as createWalletProviderAdapter, Tt as resolveSatBondProgramIdFromEnv, U as callLocalSocketSigner, V as upsertNamedWallet, W as probeLocalSocketSignerHealth, _t as signDevicePayload, at as getSatMainnetSyncStatus, gt as publicKeyRawBase64UrlFromPem, ht as loadOrCreateDeviceIdentity, kt as tryResolveSatRuntimeIds, n as createOrExecuteWalletSend, nt as buildAttestation, ot as syncSatMainnetRuntimeIds, q as resolveLocalSignerSocketPath, t as readWalletStatusSnapshot, tt as fetchSolanaWalletAssetsViaRpc, ut as callGatewayScoped, vt as verifyDeviceSignature, w as enforceWalletCustodyForAutonomousSend, wt as SAT_RUNTIME_DEFAULTS, xt as ErrorCodes } from "./wallet-status-CdxTkLWz.js";
21
21
  import "./pi-model-discovery-DQdXL_-F.js";
22
22
  import "./ws-CxmRDbD9.js";
23
23
 
@@ -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-DMfkIj60.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";
@@ -36,9 +36,9 @@ import "./diagnostic-C16gioN6.js";
36
36
  import "./diagnostic-session-state-B-9PL5r7.js";
37
37
  import "./optional-runtime-dependency-Bt_3Yigu.js";
38
38
  import "./image-ops-BSQmb-17.js";
39
- import "./wallet-status-D9UVH6k9.js";
39
+ import "./wallet-status-CdxTkLWz.js";
40
40
  import "./pi-model-discovery-DQdXL_-F.js";
41
- import "./runtime-dependency-B5Fut2tT.js";
41
+ import "./runtime-dependency-pUwxUAJp.js";
42
42
  import "./ws-CxmRDbD9.js";
43
43
  import "./path-alias-guards-BlIJ0AmG.js";
44
44
  import "./fs-safe-DztQeyQe.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-CxRDAM7m.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-DMfkIj60.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,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, 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-CXLEOrJX.js";
4
+ import { D as normalizeE164 } from "./types-CJGVZX6j.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-DWXHX-jt.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
- import { o as SlackConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
7
+ import { o as SlackConfigSchema } from "./zod-schema.providers-core-BEbNizPe.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
9
9
 
10
10
  //#region src/slack/accounts.d.ts
@@ -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-DMfkIj60.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-DMfkIj60.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-DMfkIj60.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";
@@ -33,9 +33,9 @@ import "./diagnostic-session-state-B-9PL5r7.js";
33
33
  import { i as resolveTelegramTargetChatType } from "./targets-CuTZl1mO.js";
34
34
  import "./optional-runtime-dependency-Bt_3Yigu.js";
35
35
  import "./image-ops-BSQmb-17.js";
36
- import "./wallet-status-D9UVH6k9.js";
36
+ import "./wallet-status-CdxTkLWz.js";
37
37
  import "./pi-model-discovery-DQdXL_-F.js";
38
- import "./runtime-dependency-B5Fut2tT.js";
38
+ import "./runtime-dependency-pUwxUAJp.js";
39
39
  import "./ws-CxmRDbD9.js";
40
40
  import "./path-alias-guards-BlIJ0AmG.js";
41
41
  import "./fs-safe-DztQeyQe.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-D4Ljzv1P.js";
64
64
 
65
65
  //#region src/agents/tools/telegram-actions.ts
66
66
  const TELEGRAM_BUTTON_STYLES = [
@@ -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, 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-CXLEOrJX.js";
4
+ import { D as normalizeE164 } from "./types-CJGVZX6j.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-DWXHX-jt.js";
6
6
  import { _ as buildTokenChannelStatusSummary, d as resolveTelegramGroupRequireMention, f as resolveTelegramGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
- import { s as TelegramConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
7
+ import { s as TelegramConfigSchema } from "./zod-schema.providers-core-BEbNizPe.js";
8
8
 
9
9
  //#region src/telegram/accounts.d.ts
10
10
  type ResolvedTelegramAccount = {
@@ -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-CJGVZX6j.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<"webchat" | "cli" | "test" | "ui" | "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-CJGVZX6j.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";
@@ -19,7 +19,7 @@ import crypto, { X509Certificate, createDecipheriv, createHash, createPublicKey,
19
19
  import AjvPkg from "ajv";
20
20
  import net from "node:net";
21
21
  import { Type } from "@sinclair/typebox";
22
- import { WebSocket as WebSocket$1 } from "ws";
22
+ import { WebSocket } from "ws";
23
23
  import { AddressLookupTableAccount, PublicKey, VersionedTransaction } from "@solana/web3.js";
24
24
  import { Value } from "@sinclair/typebox/value";
25
25
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
@@ -4059,7 +4059,7 @@ var GatewayClient = class {
4059
4059
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
4060
4060
  });
4061
4061
  }
4062
- this.ws = new WebSocket$1(url, wsOptions);
4062
+ this.ws = new WebSocket(url, wsOptions);
4063
4063
  this.ws.on("open", () => {
4064
4064
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
4065
4065
  const tlsError = this.validateTlsFingerprint();
@@ -4255,7 +4255,7 @@ var GatewayClient = class {
4255
4255
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
4256
4256
  if (this.connectTimer) clearTimeout(this.connectTimer);
4257
4257
  this.connectTimer = setTimeout(() => {
4258
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
4258
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
4259
4259
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
4260
4260
  this.ws?.close(1008, "connect challenge timeout");
4261
4261
  }, connectChallengeTimeoutMs);
@@ -4297,7 +4297,7 @@ var GatewayClient = class {
4297
4297
  return null;
4298
4298
  }
4299
4299
  async request(method, params, opts) {
4300
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
4300
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
4301
4301
  const id = randomUUID();
4302
4302
  const frame = {
4303
4303
  type: "req",
@@ -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-DMfkIj60.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";
@@ -35,9 +35,9 @@ import "./diagnostic-session-state-B-9PL5r7.js";
35
35
  import { t as redactIdentifier } from "./redact-identifier-CDvAeiFm.js";
36
36
  import "./optional-runtime-dependency-Bt_3Yigu.js";
37
37
  import "./image-ops-BSQmb-17.js";
38
- import "./wallet-status-D9UVH6k9.js";
38
+ import "./wallet-status-CdxTkLWz.js";
39
39
  import "./pi-model-discovery-DQdXL_-F.js";
40
- import "./runtime-dependency-B5Fut2tT.js";
40
+ import "./runtime-dependency-pUwxUAJp.js";
41
41
  import "./ws-CxmRDbD9.js";
42
42
  import "./path-alias-guards-BlIJ0AmG.js";
43
43
  import "./fs-safe-DztQeyQe.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-CXLEOrJX.js";
4
+ import { D as normalizeE164 } from "./types-CJGVZX6j.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-DWXHX-jt.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
 
@@ -12,9 +12,9 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
12
12
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
13
  markdown: z.ZodOptional<z.ZodObject<{
14
14
  tables: z.ZodOptional<z.ZodEnum<{
15
+ code: "code";
15
16
  off: "off";
16
17
  bullets: "bullets";
17
- code: "code";
18
18
  }>>;
19
19
  }, z.core.$strict>>;
20
20
  configWrites: z.ZodOptional<z.ZodBoolean>;
@@ -22,19 +22,19 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
22
22
  messagePrefix: z.ZodOptional<z.ZodString>;
23
23
  responsePrefix: z.ZodOptional<z.ZodString>;
24
24
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
25
- pairing: "pairing";
25
+ disabled: "disabled";
26
26
  allowlist: "allowlist";
27
27
  open: "open";
28
- disabled: "disabled";
28
+ pairing: "pairing";
29
29
  }>>>;
30
30
  selfChatMode: z.ZodOptional<z.ZodBoolean>;
31
31
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
32
  defaultTo: z.ZodOptional<z.ZodString>;
33
33
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
34
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
35
+ disabled: "disabled";
35
36
  allowlist: "allowlist";
36
37
  open: "open";
37
- disabled: "disabled";
38
38
  }>>>;
39
39
  historyLimit: z.ZodOptional<z.ZodNumber>;
40
40
  dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
@@ -69,8 +69,8 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
69
69
  emoji: z.ZodOptional<z.ZodString>;
70
70
  direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
71
71
  group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
72
- never: "never";
73
72
  always: "always";
73
+ never: "never";
74
74
  mentions: "mentions";
75
75
  }>>>;
76
76
  }, z.core.$strict>>;
@@ -84,9 +84,9 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
84
84
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
85
85
  markdown: z.ZodOptional<z.ZodObject<{
86
86
  tables: z.ZodOptional<z.ZodEnum<{
87
+ code: "code";
87
88
  off: "off";
88
89
  bullets: "bullets";
89
- code: "code";
90
90
  }>>;
91
91
  }, z.core.$strict>>;
92
92
  configWrites: z.ZodOptional<z.ZodBoolean>;
@@ -94,19 +94,19 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
94
94
  messagePrefix: z.ZodOptional<z.ZodString>;
95
95
  responsePrefix: z.ZodOptional<z.ZodString>;
96
96
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
97
- pairing: "pairing";
97
+ disabled: "disabled";
98
98
  allowlist: "allowlist";
99
99
  open: "open";
100
- disabled: "disabled";
100
+ pairing: "pairing";
101
101
  }>>>;
102
102
  selfChatMode: z.ZodOptional<z.ZodBoolean>;
103
103
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
104
104
  defaultTo: z.ZodOptional<z.ZodString>;
105
105
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
106
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
107
+ disabled: "disabled";
107
108
  allowlist: "allowlist";
108
109
  open: "open";
109
- disabled: "disabled";
110
110
  }>>>;
111
111
  historyLimit: z.ZodOptional<z.ZodNumber>;
112
112
  dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
@@ -141,8 +141,8 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
141
141
  emoji: z.ZodOptional<z.ZodString>;
142
142
  direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
143
143
  group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
144
- never: "never";
145
144
  always: "always";
145
+ never: "never";
146
146
  mentions: "mentions";
147
147
  }>>>;
148
148
  }, z.core.$strict>>;