@fased/fased 0.1.66 → 0.1.68

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 (175) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +4 -0
  3. package/config/signer-protocol-v2.json +4 -0
  4. package/dist/brand.js +1 -1
  5. package/dist/build-info.json +3 -3
  6. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  7. package/dist/cli/program/register.wallet.js +33 -2
  8. package/dist/commands/onboard.js +0 -8
  9. package/dist/commands/wallet.js +485 -58
  10. package/dist/control-ui/assets/{app-DYxADzeH.js → app-DyPTS0oM.js} +1526 -1526
  11. package/dist/control-ui/assets/{index-vw_10Zeo.js → index-Cu13yYHr.js} +3 -3
  12. package/dist/control-ui/assets/{wallet-DvStR_AT.js → wallet-ByKBcYhm.js} +272 -188
  13. package/dist/control-ui/index.html +1 -1
  14. package/dist/control-ui/version.json +1 -1
  15. package/dist/gateway/server-http.js +349 -47
  16. package/dist/infra/runtime-guard.js +16 -0
  17. package/dist/plugin-sdk/{actions-DRu135h0.js → actions-B-Vwj64K.js} +3 -3
  18. package/dist/plugin-sdk/{allow-list-DyAxs4yw.js → allow-list-Bf45HfoP.js} +1 -1
  19. package/dist/plugin-sdk/{audio-preflight-BFLoas5R.js → audio-preflight-_FVQjR1r.js} +26 -25
  20. package/dist/plugin-sdk/{audit-C5d2z5U1.js → audit-CUULWG22.js} +1 -1
  21. package/dist/plugin-sdk/{channel-access-configure-DaI5wevh.js → channel-access-configure-BoUsC-Ys.js} +1 -1
  22. package/dist/plugin-sdk/{channel-adapters.discord-BS4S4Svh.js → channel-adapters.discord-DSiR4X2Y.js} +1 -1
  23. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  24. package/dist/plugin-sdk/channel-plugin-common.js +1 -1
  25. package/dist/plugin-sdk/{chunk-CyoyqpbG.js → chunk-CBpl-AiQ.js} +1 -1
  26. package/dist/plugin-sdk/{chunk-items-TErs62MC.js → chunk-items-LH4uKSnh.js} +1 -1
  27. package/dist/plugin-sdk/command-status.js +26 -25
  28. package/dist/plugin-sdk/{commands-registry-BfqdEWdF.js → commands-registry-G5KXSi_y.js} +1 -1
  29. package/dist/plugin-sdk/{config-schema-BPnaDBwZ.js → config-schema-DjU_uD-6.js} +192 -94
  30. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  31. package/dist/plugin-sdk/{diagnostic-DLL_zekv.js → diagnostic-sYs6Agr-.js} +1 -1
  32. package/dist/plugin-sdk/{directory-live-CSuYxdwk.js → directory-live-BXMpuYAF.js} +1 -1
  33. package/dist/plugin-sdk/{directory-live-Dw7ZgC9_.js → directory-live-Rn1BzPof.js} +1 -1
  34. package/dist/plugin-sdk/discord.d.ts +4 -4
  35. package/dist/plugin-sdk/discord.js +20 -20
  36. package/dist/plugin-sdk/{draft-stream-controls-BqchW1vi.js → draft-stream-controls-CMNdKSx-.js} +1 -1
  37. package/dist/plugin-sdk/{guilds-CDhRIX57.js → guilds-Dkwl0yHv.js} +1 -1
  38. package/dist/plugin-sdk/{handle-action-hvwapMKg.js → handle-action-CRdM6B-8.js} +15 -15
  39. package/dist/plugin-sdk/index.d.ts +16 -16
  40. package/dist/plugin-sdk/index.js +28 -27
  41. package/dist/plugin-sdk/{login-Ca583Okc.js → login-D7WnK8-P.js} +1 -1
  42. package/dist/plugin-sdk/{login-qr-CGciBSNP.js → login-qr-CRueOKZK.js} +2 -114
  43. package/dist/plugin-sdk/{markdown-tables-DCOXEUfZ.js → markdown-tables-d7GlUs5R.js} +1 -1
  44. package/dist/plugin-sdk/{media-CAdQF5TG.js → media-BAoaxCrt.js} +1 -1
  45. package/dist/plugin-sdk/{monitor-FuBPk-AL.js → monitor-DUMMbG4h.js} +34 -33
  46. package/dist/plugin-sdk/{monitor-sW6dQdX1.js → monitor-DXIM16Hj.js} +44 -43
  47. package/dist/plugin-sdk/{openresponses-http-CVZq0H-P.js → openresponses-http-C8lKwta1.js} +26 -25
  48. package/dist/plugin-sdk/{outbound-attachment-QqTnIhZL.js → outbound-attachment-CyXM3cAv.js} +1 -1
  49. package/dist/plugin-sdk/{outbound-BgVDdHxx.js → outbound-zB6llMGW.js} +6 -6
  50. package/dist/plugin-sdk/{pairing-message-L6L6L2YF.d.ts → pairing-message-mKO92L-M.d.ts} +1 -1
  51. package/dist/plugin-sdk/{pairing-store-BChahgI2.js → pairing-store-B6J2C0vP.js} +1 -1
  52. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxTMz_XF.js → pi-model-discovery-runtime-6JzLw9Gk.js} +1 -1
  53. package/dist/plugin-sdk/{probe-CJb5uR8B.js → probe-BM7Oe40M.js} +2 -2
  54. package/dist/plugin-sdk/{probe-l_whvGLY.js → probe-CMPksimh.js} +1 -1
  55. package/dist/plugin-sdk/{probe-BFroeK3g.js → probe-oVp12D6L.js} +1 -1
  56. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  57. package/dist/plugin-sdk/{pw-ai-natjh3rm.js → pw-ai-DJ_gTc4M.js} +1 -1
  58. package/dist/plugin-sdk/qr-image-B4MlMG4N.js +115 -0
  59. package/dist/plugin-sdk/{replies-ChYo5ZQM.js → replies-CY-V0Zob.js} +3 -3
  60. package/dist/plugin-sdk/{resolve-channels-87LZrFk_.js → resolve-channels-1HtDcMqh.js} +2 -2
  61. package/dist/plugin-sdk/{resolve-channels-_-nV-EK2.js → resolve-channels-CU72Qh2j.js} +1 -1
  62. package/dist/plugin-sdk/{resolve-outbound-target-D-KGgHJZ.js → resolve-outbound-target-nQSBVYz9.js} +2 -2
  63. package/dist/plugin-sdk/{resolve-route-C8tvQm8Z.js → resolve-route-Dufnu2cT.js} +1 -1
  64. package/dist/plugin-sdk/{resolve-users-DN9VQBwv.js → resolve-users-Bk_ss2vC.js} +1 -1
  65. package/dist/plugin-sdk/{resolve-users-V6dHh_2B.js → resolve-users-IevCOk4W.js} +2 -2
  66. package/dist/plugin-sdk/{runtime-2B9_WKoI.js → runtime-CXSQwMaR.js} +1 -1
  67. package/dist/plugin-sdk/{runtime-dependency-DczkvPxn.js → runtime-dependency-nup8niQL.js} +9 -9
  68. package/dist/plugin-sdk/sat-runtime.d.ts +18 -2
  69. package/dist/plugin-sdk/sat-runtime.js +26 -25
  70. package/dist/plugin-sdk/{send-DCO441U7.js → send-BXBS_mRK.js} +8 -8
  71. package/dist/plugin-sdk/{send-CFzGKJXo.js → send-D-HfKQZm.js} +4 -4
  72. package/dist/plugin-sdk/{send-B6KkGKZD.js → send-D1j12ZgX.js} +5 -5
  73. package/dist/plugin-sdk/{send-q9HXrSwK.js → send-DWKm6yay.js} +10 -10
  74. package/dist/plugin-sdk/{send-gDoGA-7e.js → send-Di1Jit3L.js} +7 -7
  75. package/dist/plugin-sdk/{skill-commands-FKEPLS7T.js → skill-commands-iJtvpqgb.js} +2 -2
  76. package/dist/plugin-sdk/{slack-BZISDxDd.js → slack-B-nOOLM0.js} +45 -44
  77. package/dist/plugin-sdk/{slack-actions-DhbMcp8M.js → slack-actions-BzUEszJa.js} +10 -10
  78. package/dist/plugin-sdk/slack.d.ts +4 -4
  79. package/dist/plugin-sdk/slack.js +6 -6
  80. package/dist/plugin-sdk/{sticker-cache-B0aPv6Lg.js → sticker-cache-BLiId8Em.js} +2 -2
  81. package/dist/plugin-sdk/{tables-B3jr0Pvq.js → tables-_1W36GII.js} +2 -2
  82. package/dist/plugin-sdk/{targets-CtSbTxYX.js → targets-DDbNnLnB.js} +2 -2
  83. package/dist/plugin-sdk/{telegram-actions-H3gePEn6.js → telegram-actions-1X9A32Dn.js} +30 -29
  84. package/dist/plugin-sdk/telegram.d.ts +4 -4
  85. package/dist/plugin-sdk/telegram.js +3 -3
  86. package/dist/plugin-sdk/{thread-bindings.lifecycle-QbkNl-m6.js → thread-bindings.lifecycle-Y9T3CQGf.js} +3 -3
  87. package/dist/plugin-sdk/{thread-bindings.state-D9hg_M1c.js → thread-bindings.state-D2oOWDpv.js} +1 -1
  88. package/dist/plugin-sdk/{tmp-fased-dir-d1CmFAnJ.d.ts → tmp-fased-dir-BkpWlGUe.d.ts} +7 -1
  89. package/dist/plugin-sdk/{types-DUjYaWB2.d.ts → types-B-zL9gSv.d.ts} +1 -1
  90. package/dist/plugin-sdk/{types-xWjHXl1z.d.ts → types-DtCOO_hW.d.ts} +1 -1
  91. package/dist/plugin-sdk/{web-JwP9PAZR.js → web-BvjNyYBz.js} +33 -32
  92. package/dist/plugin-sdk/{whatsapp-actions-Bj_rOncr.js → whatsapp-actions-Blu9-eX-.js} +9 -9
  93. package/dist/plugin-sdk/{whatsapp-heartbeat-B1WHkJIg.js → whatsapp-heartbeat-DjmQM7hq.js} +2 -2
  94. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  95. package/dist/plugin-sdk/whatsapp.js +7 -7
  96. package/dist/plugin-sdk/{wsl-J-HscWxS.js → wsl-CTvIWvZz.js} +1 -1
  97. package/dist/plugin-sdk/{zod-schema.providers-core-CIzCjXH9.d.ts → zod-schema.providers-core-BCDlgtls.d.ts} +63 -63
  98. package/dist/wallet/local-socket-signer-lifecycle.js +29 -1
  99. package/dist/wallet/local-socket-signer-protocol.js +27 -0
  100. package/dist/wallet/providers/local-socket-signer-adapter.js +8 -0
  101. package/dist/wallet/signer-network-admin.js +11 -118
  102. package/dist/wallet/signer-protocol-v2.generated.js +4 -0
  103. package/dist/wallet/solana-assets.js +9 -3
  104. package/dist/wallet/solana-rpc-read-fetch.js +65 -0
  105. package/dist/wallet/wallet-status.js +7 -0
  106. package/dist/web/login-qr.js +1 -1
  107. package/dist/wizard/onboarding.js +61 -61
  108. package/extensions/acpx/package.json +1 -1
  109. package/extensions/bluebubbles/package.json +1 -1
  110. package/extensions/copilot-proxy/package.json +1 -1
  111. package/extensions/diagnostics-otel/package.json +1 -1
  112. package/extensions/fased-federation/package.json +1 -1
  113. package/extensions/google-gemini-cli-auth/package.json +1 -1
  114. package/extensions/imessage/package.json +1 -1
  115. package/extensions/irc/package.json +1 -1
  116. package/extensions/line/package.json +1 -1
  117. package/extensions/llm-task/package.json +1 -1
  118. package/extensions/lobster/package.json +1 -1
  119. package/extensions/matrix/CHANGELOG.md +12 -0
  120. package/extensions/matrix/package.json +1 -1
  121. package/extensions/mattermost/package.json +1 -1
  122. package/extensions/memory-core/package.json +2 -2
  123. package/extensions/memory-lancedb/package.json +1 -1
  124. package/extensions/minimax-portal-auth/package.json +1 -1
  125. package/extensions/msteams/CHANGELOG.md +12 -0
  126. package/extensions/msteams/package.json +1 -1
  127. package/extensions/nextcloud-talk/package.json +1 -1
  128. package/extensions/nostr/CHANGELOG.md +12 -0
  129. package/extensions/nostr/package.json +1 -1
  130. package/extensions/open-prose/package.json +1 -1
  131. package/extensions/sat-mining/package.json +1 -1
  132. package/extensions/signal/package.json +1 -1
  133. package/extensions/synology-chat/package.json +1 -1
  134. package/extensions/tlon/package.json +1 -1
  135. package/extensions/twitch/CHANGELOG.md +12 -0
  136. package/extensions/twitch/package.json +1 -1
  137. package/extensions/voice-call/CHANGELOG.md +12 -0
  138. package/extensions/voice-call/package.json +1 -1
  139. package/extensions/zalo/CHANGELOG.md +12 -0
  140. package/extensions/zalo/package.json +1 -1
  141. package/extensions/zalouser/CHANGELOG.md +12 -0
  142. package/extensions/zalouser/package.json +1 -1
  143. package/fased.mjs +14 -1
  144. package/install.sh +16 -10
  145. package/package.json +6 -1
  146. package/scripts/fased-managed-updater.mjs +10 -2
  147. package/scripts/fased-signer-wallet-import-hosting.sh +78 -0
  148. package/scripts/install-managed-runtime.mjs +10 -7
  149. /package/dist/plugin-sdk/{active-listener-B_NMtgPL.js → active-listener-p9Ooc1qj.js} +0 -0
  150. /package/dist/plugin-sdk/{blocks-input-Bg-8S2pl.js → blocks-input-DiZaqaN7.js} +0 -0
  151. /package/dist/plugin-sdk/{channel-access-CcFRdRPO.js → channel-access-B0aZBSd2.js} +0 -0
  152. /package/dist/plugin-sdk/{channel-activity-DBDMQ3yI.js → channel-activity-F07DjroV.js} +0 -0
  153. /package/dist/plugin-sdk/{channel-core-CFRs8LPy.js → channel-core-DoF4X04L.js} +0 -0
  154. /package/dist/plugin-sdk/{client-pI228AVT.js → client-DLY-kWF_.js} +0 -0
  155. /package/dist/plugin-sdk/{command-poll-backoff-yJU83wEq.js → command-poll-backoff-NAePk3eL.js} +0 -0
  156. /package/dist/plugin-sdk/{date-time-uUevHscU.js → date-time-ChY_tHoG.js} +0 -0
  157. /package/dist/plugin-sdk/{draft-stream-loop-CrOPfV3F.js → draft-stream-loop-DMBwjjd1.js} +0 -0
  158. /package/dist/plugin-sdk/{fetch-BtmoPIlf.js → fetch-B0v6OTUZ.js} +0 -0
  159. /package/dist/plugin-sdk/{filesystem-manager-DoI8IBNF.js → filesystem-manager-BzuIJ9K9.js} +0 -0
  160. /package/dist/plugin-sdk/{gateway-registry-DZDsqicG.js → gateway-registry-Bgl2GFgy.js} +0 -0
  161. /package/dist/plugin-sdk/{inbound-context-DrAcXE0y.js → inbound-context-CQnfFFQ9.js} +0 -0
  162. /package/dist/plugin-sdk/{pi-model-discovery-BX_JLcEJ.js → pi-model-discovery-BHNVyRny.js} +0 -0
  163. /package/dist/plugin-sdk/{polls-DKQXVfJp.js → polls-DXd67TD8.js} +0 -0
  164. /package/dist/plugin-sdk/{proxy-DWpYcsvR.js → proxy-CLRUdShp.js} +0 -0
  165. /package/dist/plugin-sdk/{qmd-manager-CgRaTxUq.js → qmd-manager-B8Vnu0ND.js} +0 -0
  166. /package/dist/plugin-sdk/{render-e7fENCYH.js → render-DrBfVs0u.js} +0 -0
  167. /package/dist/plugin-sdk/{reply-reference-Bqk-7HXE.js → reply-reference-BnAk5Wjb.js} +0 -0
  168. /package/dist/plugin-sdk/{retry-policy-C6SjKjQA.js → retry-policy-CXh1owkc.js} +0 -0
  169. /package/dist/plugin-sdk/{sandbox-paths-Dx2lUqCu.js → sandbox-paths-Bzh1CuZc.js} +0 -0
  170. /package/dist/plugin-sdk/{session-DHD4ZKyG.js → session-iuGR_rdi.js} +0 -0
  171. /package/dist/plugin-sdk/{shared-CBgp_GBw.js → shared-D1AD2Ejn.js} +0 -0
  172. /package/dist/plugin-sdk/{target-errors-Ckufe179.js → target-errors-DfS1sLR9.js} +0 -0
  173. /package/dist/plugin-sdk/{tool-loop-detection-Bp8bPJLs.js → tool-loop-detection-sDZl27w7.js} +0 -0
  174. /package/dist/plugin-sdk/{ui-Be8cLHIS.js → ui-GQDYm_jw.js} +0 -0
  175. /package/dist/plugin-sdk/{with-timeout-ckWB8rTo.js → with-timeout-CVV8tytk.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { It as isWhatsAppGroupJid, Lt as normalizeWhatsAppTarget } from "./runtime-2B9_WKoI.js";
2
- import { n as missingTargetError } from "./target-errors-Ckufe179.js";
1
+ import { It as isWhatsAppGroupJid, Lt as normalizeWhatsAppTarget } from "./runtime-CXSQwMaR.js";
2
+ import { n as missingTargetError } from "./target-errors-DfS1sLR9.js";
3
3
 
4
4
  //#region src/whatsapp/resolve-outbound-target.ts
5
5
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { sn as listBindings } from "./runtime-2B9_WKoI.js";
2
+ import { sn as listBindings } from "./runtime-CXSQwMaR.js";
3
3
  import { s as shouldLogVerbose } from "./globals-B_jjtAje.js";
4
4
  import { u as resolveDefaultAgentId } from "./agent-scope-CCjfjKoO.js";
5
5
  import { t as normalizeChatType } from "./chat-type-C0osVllE.js";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as createSlackWebClient } from "./client-pI228AVT.js";
2
+ import { n as createSlackWebClient } from "./client-DLY-kWF_.js";
3
3
 
4
4
  //#region src/slack/resolve-users.ts
5
5
  var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveSlackUserAllowlist: () => resolveSlackUserAllowlist });
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as normalizeDiscordToken } from "./token-D4-H0ByG.js";
3
- import { _ as fetchDiscord, i as normalizeDiscordSlug } from "./allow-list-DyAxs4yw.js";
4
- import { t as listGuilds } from "./guilds-CDhRIX57.js";
3
+ import { _ as fetchDiscord, i as normalizeDiscordSlug } from "./allow-list-Bf45HfoP.js";
4
+ import { t as listGuilds } from "./guilds-Dkwl0yHv.js";
5
5
 
6
6
  //#region src/discord/resolve-users.ts
7
7
  var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveDiscordUserAllowlist: () => resolveDiscordUserAllowlist });
@@ -5418,7 +5418,7 @@ async function loadContextCache() {
5418
5418
  await ensureFasedModelsJson(cfg);
5419
5419
  } catch {}
5420
5420
  try {
5421
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-DxTMz_XF.js");
5421
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-6JzLw9Gk.js");
5422
5422
  const agentDir = resolveFasedAgentDir();
5423
5423
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
5424
5424
  applyDiscoveredContextWindows({
@@ -13,7 +13,7 @@ import fs$1 from "node:fs/promises";
13
13
  import { execFileSync, spawn } from "node:child_process";
14
14
  import { createHmac } from "node:crypto";
15
15
  import { createServer } from "node:http";
16
- import WebSocket, { WebSocketServer } from "ws";
16
+ import WebSocket$1, { WebSocketServer } from "ws";
17
17
  import { Buffer as Buffer$1 } from "node:buffer";
18
18
  import net from "node:net";
19
19
 
@@ -275,7 +275,7 @@ async function ensureChromeExtensionRelayServer(opts) {
275
275
  let extensionWs = null;
276
276
  const cdpClients = /* @__PURE__ */ new Set();
277
277
  const connectedTargets = /* @__PURE__ */ new Map();
278
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
278
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
279
279
  let extensionDisconnectCleanupTimer = null;
280
280
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
281
281
  const flushExtensionReconnectWaiters = (connected) => {
@@ -326,7 +326,7 @@ async function ensureChromeExtensionRelayServer(opts) {
326
326
  let nextExtensionId = 1;
327
327
  const sendToExtension = async (payload) => {
328
328
  const ws = extensionWs;
329
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
329
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
330
330
  ws.send(JSON.stringify(payload));
331
331
  return await new Promise((resolve, reject) => {
332
332
  const timer = setTimeout(() => {
@@ -343,12 +343,12 @@ async function ensureChromeExtensionRelayServer(opts) {
343
343
  const broadcastToCdpClients = (evt) => {
344
344
  const msg = JSON.stringify(evt);
345
345
  for (const ws of cdpClients) {
346
- if (ws.readyState !== WebSocket.OPEN) continue;
346
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
347
347
  ws.send(msg);
348
348
  }
349
349
  };
350
350
  const sendResponseToCdp = (ws, res) => {
351
- if (ws.readyState !== WebSocket.OPEN) return;
351
+ if (ws.readyState !== WebSocket$1.OPEN) return;
352
352
  ws.send(JSON.stringify(res));
353
353
  };
354
354
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -558,7 +558,7 @@ async function ensureChromeExtensionRelayServer(opts) {
558
558
  rejectUpgrade(socket, 401, "Unauthorized");
559
559
  return;
560
560
  }
561
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
561
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
562
562
  try {
563
563
  extensionWs.terminate();
564
564
  } catch {}
@@ -595,7 +595,7 @@ async function ensureChromeExtensionRelayServer(opts) {
595
595
  clearExtensionDisconnectCleanupTimer();
596
596
  flushExtensionReconnectWaiters(true);
597
597
  const ping = setInterval(() => {
598
- if (ws.readyState !== WebSocket.OPEN) return;
598
+ if (ws.readyState !== WebSocket$1.OPEN) return;
599
599
  ws.send(JSON.stringify({ method: "ping" }));
600
600
  }, 5e3);
601
601
  ws.on("message", (data) => {
@@ -937,7 +937,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
937
937
  }
938
938
  async function withCdpSocket(wsUrl, fn, opts) {
939
939
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
940
- const ws = new WebSocket(wsUrl, {
940
+ const ws = new WebSocket$1(wsUrl, {
941
941
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
942
942
  ...Object.keys(headers).length ? { headers } : {}
943
943
  });
@@ -1863,7 +1863,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1863
1863
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1864
1864
  return await new Promise((resolve) => {
1865
1865
  const headers = getHeadersWithAuth(wsUrl);
1866
- const ws = new WebSocket(wsUrl, {
1866
+ const ws = new WebSocket$1(wsUrl, {
1867
1867
  handshakeTimeout: timeoutMs,
1868
1868
  ...Object.keys(headers).length ? { headers } : {}
1869
1869
  });
@@ -1,6 +1,6 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletProviderId, Ht as WalletRuntimeMode, Lt as WalletAuthMode, Rt as WalletChain, Ut as WalletToolAccessMode, Vt as WalletRuntimeKind, _n as GatewayClientMode, s as loadConfig, vn as GatewayClientName, zt as WalletExecutionMode } from "./types.plugin-BcSBq42x.js";
2
- import { A as createSubsystemLogger, H as resolveStateDir, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-DUjYaWB2.js";
3
- import { a as resolveAgentDir, c as WalletProviderAdapter, f as FileLockOptions, i as resolveAgentConfig, l as WalletProviderJupiterReviewV2, m as withFileLock, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir, u as WalletProviderSignerIntentV2 } from "./tmp-fased-dir-d1CmFAnJ.js";
2
+ import { A as createSubsystemLogger, H as resolveStateDir, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-B-zL9gSv.js";
3
+ import { a as resolveAgentDir, c as WalletProviderAdapter, f as FileLockOptions, i as resolveAgentConfig, l as WalletProviderJupiterReviewV2, m as withFileLock, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir, u as WalletProviderSignerIntentV2 } from "./tmp-fased-dir-BkpWlGUe.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";
@@ -251,6 +251,16 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
251
251
  }>, _sinclair_typebox0.TObject<{
252
252
  op: _sinclair_typebox0.TLiteral<"v2.policy.get">;
253
253
  walletId: _sinclair_typebox0.TString;
254
+ }>, _sinclair_typebox0.TObject<{
255
+ op: _sinclair_typebox0.TLiteral<"v2.network.get">;
256
+ walletId: _sinclair_typebox0.TString;
257
+ }>, _sinclair_typebox0.TObject<{
258
+ op: _sinclair_typebox0.TLiteral<"v2.network.bootstrap">;
259
+ walletId: _sinclair_typebox0.TString;
260
+ request: _sinclair_typebox0.TObject<{
261
+ expectedVersion: _sinclair_typebox0.TInteger;
262
+ primaryRpcUrl: _sinclair_typebox0.TString;
263
+ }>;
254
264
  }>, _sinclair_typebox0.TObject<{
255
265
  op: _sinclair_typebox0.TLiteral<"v2.policy.put">;
256
266
  walletId: _sinclair_typebox0.TString;
@@ -1207,6 +1217,12 @@ type WalletStatusSnapshot = {
1207
1217
  }>;
1208
1218
  statePath: string;
1209
1219
  };
1220
+ nativeSignerApproval?: {
1221
+ configured: boolean;
1222
+ ready: boolean;
1223
+ credentialCount: number;
1224
+ credentialVersion: number;
1225
+ };
1210
1226
  addresses?: {
1211
1227
  solana?: string;
1212
1228
  };
@@ -1,5 +1,5 @@
1
- import { Ar as errorShape, Cr as tryResolveSatRuntimeIds, Dr as callGatewayScoped, Jn as createSignerReviewApprovalRequest, Kn as readWalletStatusSnapshot, Mr as publicKeyRawBase64UrlFromPem, Nr as signDevicePayload, Pr as verifyDeviceSignature, Sr as resolveSatProgramIdFromEnv, _r as syncSatMainnetRuntimeIds, ar as readWalletProviderRegistry, br as resolveSatMintAddressFromEnv, cr as LEGACY_EMBEDDED_KEYSTORE_MIGRATION_MESSAGE, dr as requireLocalSocketSignerPath, er as resolveWalletPolicyConfig, fr as resolveLocalSignerSocketPath, gr as getSatMainnetSyncStatus, hr as buildAttestation, ir as loadWalletProviderSecret, j as resolveModel, jr as loadOrCreateDeviceIdentity, kr as ErrorCodes, lr as callLocalSocketSigner, mr as fetchSolanaWalletAssetsViaRpc, nr as createWalletProviderAdapter, or as resolveWalletUserRole, pr as resolveWalletRuntimeConfig, qn as createOrExecuteWalletSend, rr as resolveWalletProviderId, sr as upsertNamedWallet, tr as resolveWalletRolePolicyProfile, ur as probeLocalSocketSignerHealth, vr as SAT_RUNTIME_DEFAULTS, xr as resolveSatMintProgramIdFromEnv, yr as resolveSatBondProgramIdFromEnv } from "./config-schema-BPnaDBwZ.js";
2
- import "./runtime-2B9_WKoI.js";
1
+ import { Ar as errorShape, Cr as tryResolveSatRuntimeIds, Dr as callGatewayScoped, Jn as createSignerReviewApprovalRequest, Kn as readWalletStatusSnapshot, Mr as publicKeyRawBase64UrlFromPem, Nr as signDevicePayload, Pr as verifyDeviceSignature, Sr as resolveSatProgramIdFromEnv, _r as syncSatMainnetRuntimeIds, ar as readWalletProviderRegistry, br as resolveSatMintAddressFromEnv, cr as LEGACY_EMBEDDED_KEYSTORE_MIGRATION_MESSAGE, dr as requireLocalSocketSignerPath, er as resolveWalletPolicyConfig, fr as resolveLocalSignerSocketPath, gr as getSatMainnetSyncStatus, hr as buildAttestation, ir as loadWalletProviderSecret, j as resolveModel, jr as loadOrCreateDeviceIdentity, kr as ErrorCodes, lr as callLocalSocketSigner, mr as fetchSolanaWalletAssetsViaRpc, nr as createWalletProviderAdapter, or as resolveWalletUserRole, pr as resolveWalletRuntimeConfig, qn as createOrExecuteWalletSend, rr as resolveWalletProviderId, sr as upsertNamedWallet, tr as resolveWalletRolePolicyProfile, ur as probeLocalSocketSignerHealth, vr as SAT_RUNTIME_DEFAULTS, xr as resolveSatMintProgramIdFromEnv, yr as resolveSatBondProgramIdFromEnv } from "./config-schema-DjU_uD-6.js";
2
+ import "./runtime-CXSQwMaR.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
5
5
  import { i as resolveGatewayPort, s as resolveStateDir } from "./paths-BEmvSyOV.js";
@@ -11,23 +11,23 @@ import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
13
  import "./accounts-Brn3-uWN.js";
14
- import "./allow-list-DyAxs4yw.js";
14
+ import "./allow-list-Bf45HfoP.js";
15
15
  import "./redact-Bm8vu_ju.js";
16
16
  import "./github-copilot-token-CUK__1s1.js";
17
17
  import "./retry-DstNBhDW.js";
18
18
  import "./paths-CTZ2RS_E.js";
19
19
  import "./ssrf-fG4UHKBw.js";
20
20
  import "./fetch-guard-CeG6u6ld.js";
21
- import "./send-CFzGKJXo.js";
21
+ import "./send-D-HfKQZm.js";
22
22
  import "./helpers-DMBU4oTo.js";
23
- import "./wsl-J-HscWxS.js";
24
- import "./pairing-store-BChahgI2.js";
25
- import "./chunk-CyoyqpbG.js";
23
+ import "./wsl-CTvIWvZz.js";
24
+ import "./pairing-store-B6J2C0vP.js";
25
+ import "./chunk-CBpl-AiQ.js";
26
26
  import "./tailscale-status-DwpNdO3Z.js";
27
27
  import "./reply-prefix-CeVw7Mn2.js";
28
28
  import "./tokens-BbnqfVuu.js";
29
29
  import "./pairing-token-Cs3BRKc0.js";
30
- import "./diagnostic-DLL_zekv.js";
30
+ import "./diagnostic-sYs6Agr-.js";
31
31
  import "./diagnostic-session-state-DqgfGYqZ.js";
32
32
  import "./optional-runtime-dependency-0dznm3ZO.js";
33
33
  import "./image-ops-DQi0n_Tt.js";
@@ -35,25 +35,26 @@ import "./memory-search-CrFPOeTH.js";
35
35
  import "./manager-BegWxNYX.js";
36
36
  import "./query-expansion-BG3FgzF7.js";
37
37
  import "./common-HCcXU-NR.js";
38
- import "./commands-registry-BfqdEWdF.js";
39
- import "./runtime-dependency-DczkvPxn.js";
38
+ import "./commands-registry-G5KXSi_y.js";
39
+ import "./runtime-dependency-nup8niQL.js";
40
40
  import "./path-alias-guards-DjgDArrp.js";
41
41
  import "./fs-safe-g4g7GT02.js";
42
- import "./media-CAdQF5TG.js";
43
- import "./markdown-tables-DCOXEUfZ.js";
44
- import "./send-B6KkGKZD.js";
45
- import "./outbound-attachment-QqTnIhZL.js";
46
- import "./fetch-BtmoPIlf.js";
47
- import "./thread-bindings.state-D9hg_M1c.js";
48
- import "./skill-commands-FKEPLS7T.js";
49
- import "./sandbox-paths-Dx2lUqCu.js";
50
- import "./directory-live-CSuYxdwk.js";
51
- import "./targets-CtSbTxYX.js";
52
- import "./pi-model-discovery-BX_JLcEJ.js";
53
- import "./resolve-route-C8tvQm8Z.js";
54
- import "./render-e7fENCYH.js";
55
- import "./tables-B3jr0Pvq.js";
56
- import "./shared-CBgp_GBw.js";
42
+ import "./qr-image-B4MlMG4N.js";
43
+ import "./media-BAoaxCrt.js";
44
+ import "./markdown-tables-d7GlUs5R.js";
45
+ import "./send-D1j12ZgX.js";
46
+ import "./outbound-attachment-CyXM3cAv.js";
47
+ import "./fetch-B0v6OTUZ.js";
48
+ import "./thread-bindings.state-D2oOWDpv.js";
49
+ import "./skill-commands-iJtvpqgb.js";
50
+ import "./sandbox-paths-Bzh1CuZc.js";
51
+ import "./directory-live-BXMpuYAF.js";
52
+ import "./targets-DDbNnLnB.js";
53
+ import "./pi-model-discovery-BHNVyRny.js";
54
+ import "./resolve-route-Dufnu2cT.js";
55
+ import "./render-DrBfVs0u.js";
56
+ import "./tables-_1W36GII.js";
57
+ import "./shared-D1AD2Ejn.js";
57
58
 
58
59
  //#region src/plugin-sdk/sat-runtime.ts
59
60
  async function fetchWithSsrFGuard(params) {
@@ -3,15 +3,15 @@ import { w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
3
3
  import { r as loadConfig } from "./config-DlWVeLFB.js";
4
4
  import { a as resolveDiscordAccount } from "./accounts-RHZyaB73.js";
5
5
  import { t as normalizeDiscordToken } from "./token-D4-H0ByG.js";
6
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-CyoyqpbG.js";
6
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-CBpl-AiQ.js";
7
7
  import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-DQi0n_Tt.js";
8
- import { n as loadWebMedia, r as loadWebMediaRaw } from "./media-CAdQF5TG.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DCOXEUfZ.js";
10
- import { r as resolveDiscordTarget, t as parseDiscordTarget } from "./targets-CtSbTxYX.js";
11
- import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-DKQXVfJp.js";
12
- import { t as convertMarkdownTables } from "./tables-B3jr0Pvq.js";
13
- import { n as recordChannelActivity } from "./channel-activity-DBDMQ3yI.js";
14
- import { t as createDiscordRetryRunner } from "./retry-policy-C6SjKjQA.js";
8
+ import { n as loadWebMedia, r as loadWebMediaRaw } from "./media-BAoaxCrt.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-d7GlUs5R.js";
10
+ import { r as resolveDiscordTarget, t as parseDiscordTarget } from "./targets-DDbNnLnB.js";
11
+ import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-DXd67TD8.js";
12
+ import { t as convertMarkdownTables } from "./tables-_1W36GII.js";
13
+ import { n as recordChannelActivity } from "./channel-activity-F07DjroV.js";
14
+ import { t as createDiscordRetryRunner } from "./retry-policy-CXh1owkc.js";
15
15
  import path from "node:path";
16
16
  import { promisify } from "node:util";
17
17
  import fs from "node:fs/promises";
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { hn as resolveIMessageAccount } from "./runtime-2B9_WKoI.js";
2
+ import { hn as resolveIMessageAccount } from "./runtime-CXSQwMaR.js";
3
3
  import { d as normalizeE164, h as resolveUserPath } from "./utils-CYk9EKoq.js";
4
4
  import { r as loadConfig } from "./config-DlWVeLFB.js";
5
5
  import { v as mediaKindFromMime } from "./image-ops-DQi0n_Tt.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DCOXEUfZ.js";
7
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-QqTnIhZL.js";
8
- import { t as convertMarkdownTables } from "./tables-B3jr0Pvq.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-d7GlUs5R.js";
7
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CyXM3cAv.js";
8
+ import { t as convertMarkdownTables } from "./tables-_1W36GII.js";
9
9
  import { spawn } from "node:child_process";
10
10
  import { createInterface } from "node:readline";
11
11
 
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { fn as resolveSignalAccount } from "./runtime-2B9_WKoI.js";
2
+ import { fn as resolveSignalAccount } from "./runtime-CXSQwMaR.js";
3
3
  import { r as loadConfig } from "./config-DlWVeLFB.js";
4
4
  import { n as fetchWithTimeout } from "./fetch-timeout-l_6RdoMw.js";
5
5
  import { n as generateSecureUuid } from "./secure-random-BIkG-k4s.js";
6
6
  import { v as mediaKindFromMime } from "./image-ops-DQi0n_Tt.js";
7
- import { o as chunkMarkdownIR, s as markdownToIR } from "./media-CAdQF5TG.js";
8
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DCOXEUfZ.js";
9
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-QqTnIhZL.js";
10
- import { t as resolveFetch } from "./fetch-BtmoPIlf.js";
7
+ import { o as chunkMarkdownIR, s as markdownToIR } from "./media-BAoaxCrt.js";
8
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-d7GlUs5R.js";
9
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CyXM3cAv.js";
10
+ import { t as resolveFetch } from "./fetch-B0v6OTUZ.js";
11
11
 
12
12
  //#region src/signal/format.ts
13
13
  function normalizeUrlForComparison(url) {
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { in as resolveTelegramAccount } from "./runtime-2B9_WKoI.js";
2
+ import { in as resolveTelegramAccount } from "./runtime-CXSQwMaR.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, t as danger } from "./globals-B_jjtAje.js";
5
5
  import { c as writeConfigFile, ca as formatUncaughtError, o as readConfigFileSnapshotForWrite, oa as extractErrorCode, r as loadConfig, sa as formatErrorMessage, wa as isTruthyEnvValue } from "./config-DlWVeLFB.js";
6
6
  import { n as redactSensitiveText } from "./redact-Bm8vu_ju.js";
7
- import { M as isTelegramVoiceCompatibleAudio, a as resolveCronStorePath, i as loadCronStore, o as saveCronStore, p as buildTelegramThreadParams, t as isWSL2Sync } from "./wsl-J-HscWxS.js";
7
+ import { M as isTelegramVoiceCompatibleAudio, a as resolveCronStorePath, i as loadCronStore, o as saveCronStore, p as buildTelegramThreadParams, t as isWSL2Sync } from "./wsl-CTvIWvZz.js";
8
8
  import { n as normalizeTelegramLookupTarget, r as parseTelegramTarget, t as normalizeTelegramChatId } from "./targets-CoMJ1ry1.js";
9
9
  import { p as isGifMedia, v as mediaKindFromMime } from "./image-ops-DQi0n_Tt.js";
10
- import { n as loadWebMedia, o as chunkMarkdownIR, s as markdownToIR } from "./media-CAdQF5TG.js";
11
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DCOXEUfZ.js";
12
- import { t as resolveFetch } from "./fetch-BtmoPIlf.js";
13
- import { n as normalizePollInput } from "./polls-DKQXVfJp.js";
14
- import { t as renderMarkdownWithMarkers } from "./render-e7fENCYH.js";
15
- import { n as recordChannelActivity } from "./channel-activity-DBDMQ3yI.js";
16
- import { n as createTelegramRetryRunner } from "./retry-policy-C6SjKjQA.js";
17
- import { t as makeProxyFetch } from "./proxy-DWpYcsvR.js";
10
+ import { n as loadWebMedia, o as chunkMarkdownIR, s as markdownToIR } from "./media-BAoaxCrt.js";
11
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-d7GlUs5R.js";
12
+ import { t as resolveFetch } from "./fetch-B0v6OTUZ.js";
13
+ import { n as normalizePollInput } from "./polls-DXd67TD8.js";
14
+ import { t as renderMarkdownWithMarkers } from "./render-DrBfVs0u.js";
15
+ import { n as recordChannelActivity } from "./channel-activity-F07DjroV.js";
16
+ import { n as createTelegramRetryRunner } from "./retry-policy-CXh1owkc.js";
17
+ import { t as makeProxyFetch } from "./proxy-CLRUdShp.js";
18
18
  import process$1 from "node:process";
19
19
  import { Agent, setGlobalDispatcher } from "undici";
20
20
  import * as dns from "node:dns";
@@ -1,15 +1,15 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { bt as parseSlackTarget } from "./runtime-2B9_WKoI.js";
2
+ import { bt as parseSlackTarget } from "./runtime-CXSQwMaR.js";
3
3
  import { i as logVerbose } from "./globals-B_jjtAje.js";
4
4
  import { r as loadConfig } from "./config-DlWVeLFB.js";
5
5
  import { i as resolveSlackAccount, s as resolveSlackBotToken } from "./accounts-CuqIKU8X.js";
6
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-CyoyqpbG.js";
6
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-CBpl-AiQ.js";
7
7
  import { i as isSilentReplyText } from "./tokens-BbnqfVuu.js";
8
- import { n as loadWebMedia, o as chunkMarkdownIR, s as markdownToIR } from "./media-CAdQF5TG.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DCOXEUfZ.js";
10
- import { t as renderMarkdownWithMarkers } from "./render-e7fENCYH.js";
11
- import { n as validateSlackBlocksArray } from "./blocks-input-Bg-8S2pl.js";
12
- import { n as createSlackWebClient } from "./client-pI228AVT.js";
8
+ import { n as loadWebMedia, o as chunkMarkdownIR, s as markdownToIR } from "./media-BAoaxCrt.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-d7GlUs5R.js";
10
+ import { t as renderMarkdownWithMarkers } from "./render-DrBfVs0u.js";
11
+ import { n as validateSlackBlocksArray } from "./blocks-input-DiZaqaN7.js";
12
+ import { n as createSlackWebClient } from "./client-DLY-kWF_.js";
13
13
 
14
14
  //#region src/slack/blocks-fallback.ts
15
15
  function cleanCandidate(value) {
@@ -4,8 +4,8 @@ import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-CYk9EKoq.js";
4
4
  import { Aa as resolveMemorySlotDecision, Mi as loadPluginManifestRegistry, Oa as normalizePluginsConfig, Ta as parseBooleanValue, aa as MANIFEST_KEY, ka as resolveEffectiveEnableState, n as getRuntimeConfigSnapshot, va as isDangerousHostEnvVarName } from "./config-DlWVeLFB.js";
5
5
  import { B as normalizeSkillFilter, O as resolveFasedAgentPackageRootSync, l as resolveAgentWorkspaceDir, q as normalizeStringEntries, r as listAgentIds, z as resolveEffectiveAgentSkillFilter } from "./agent-scope-CCjfjKoO.js";
6
6
  import { o as createAsyncLock } from "./pairing-token-Cs3BRKc0.js";
7
- import { a as listChatCommands } from "./commands-registry-BfqdEWdF.js";
8
- import { i as resolveSandboxPath } from "./sandbox-paths-Dx2lUqCu.js";
7
+ import { a as listChatCommands } from "./commands-registry-G5KXSi_y.js";
8
+ import { i as resolveSandboxPath } from "./sandbox-paths-Bzh1CuZc.js";
9
9
  import path from "node:path";
10
10
  import fs from "node:fs";
11
11
  import os from "node:os";
@@ -1,5 +1,5 @@
1
- import { $ as createInboundDebouncer, B as logAckFailure, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as createDedupeCache, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, Ti as resolveControlCommandGate, V as logInboundDrop, Vt as enqueueSystemEvent, Xt as normalizeSlackSlug, Yr as pruneMapToMaxSize, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, yt as resolveChannelConfigWrites } from "./config-schema-BPnaDBwZ.js";
2
- import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-2B9_WKoI.js";
1
+ import { $ as createInboundDebouncer, B as logAckFailure, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as createDedupeCache, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, Ti as resolveControlCommandGate, V as logInboundDrop, Vt as enqueueSystemEvent, Xt as normalizeSlackSlug, Yr as pruneMapToMaxSize, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, yt as resolveChannelConfigWrites } from "./config-schema-DjU_uD-6.js";
2
+ import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-CXSQwMaR.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";
5
5
  import "./paths-BEmvSyOV.js";
@@ -13,24 +13,24 @@ import { i as resolveSlackAccount, n as listSlackAccountIds, o as resolveSlackAp
13
13
  import "./logger-BbFvCoKk.js";
14
14
  import "./exec-DQ8j4Fm3.js";
15
15
  import "./accounts-Brn3-uWN.js";
16
- import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-DyAxs4yw.js";
16
+ import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-Bf45HfoP.js";
17
17
  import "./redact-Bm8vu_ju.js";
18
18
  import "./github-copilot-token-CUK__1s1.js";
19
19
  import "./retry-DstNBhDW.js";
20
20
  import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
21
21
  import { c as normalizeHostname } from "./ssrf-fG4UHKBw.js";
22
22
  import "./fetch-guard-CeG6u6ld.js";
23
- import "./send-CFzGKJXo.js";
23
+ import "./send-D-HfKQZm.js";
24
24
  import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-DMBU4oTo.js";
25
- import "./wsl-J-HscWxS.js";
26
- import { a as upsertChannelPairingRequest } from "./pairing-store-BChahgI2.js";
27
- import { l as resolveTextChunkLimit } from "./chunk-CyoyqpbG.js";
25
+ import "./wsl-CTvIWvZz.js";
26
+ import { a as upsertChannelPairingRequest } from "./pairing-store-B6J2C0vP.js";
27
+ import { l as resolveTextChunkLimit } from "./chunk-CBpl-AiQ.js";
28
28
  import "./tailscale-status-DwpNdO3Z.js";
29
29
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-CeVw7Mn2.js";
30
30
  import "./tokens-BbnqfVuu.js";
31
31
  import "./pairing-token-Cs3BRKc0.js";
32
32
  import { t as generateSecureToken } from "./secure-random-BIkG-k4s.js";
33
- import "./diagnostic-DLL_zekv.js";
33
+ import "./diagnostic-sYs6Agr-.js";
34
34
  import "./diagnostic-session-state-DqgfGYqZ.js";
35
35
  import "./optional-runtime-dependency-0dznm3ZO.js";
36
36
  import "./image-ops-DQi0n_Tt.js";
@@ -38,35 +38,36 @@ import "./memory-search-CrFPOeTH.js";
38
38
  import "./manager-BegWxNYX.js";
39
39
  import "./query-expansion-BG3FgzF7.js";
40
40
  import "./common-HCcXU-NR.js";
41
- import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-BfqdEWdF.js";
42
- import "./runtime-dependency-DczkvPxn.js";
41
+ import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-G5KXSi_y.js";
42
+ import "./runtime-dependency-nup8niQL.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
- import { a as fetchRemoteMedia } from "./media-CAdQF5TG.js";
46
- import "./markdown-tables-DCOXEUfZ.js";
47
- import "./send-B6KkGKZD.js";
48
- import { a as saveMediaBuffer } from "./outbound-attachment-QqTnIhZL.js";
49
- import "./fetch-BtmoPIlf.js";
50
- import "./thread-bindings.state-D9hg_M1c.js";
51
- import "./skill-commands-FKEPLS7T.js";
52
- import "./sandbox-paths-Dx2lUqCu.js";
53
- import "./directory-live-CSuYxdwk.js";
54
- import "./targets-CtSbTxYX.js";
55
- import "./pi-model-discovery-BX_JLcEJ.js";
56
- import { n as resolveAgentRoute } from "./resolve-route-C8tvQm8Z.js";
57
- import { t as finalizeInboundContext } from "./inbound-context-DrAcXE0y.js";
58
- import "./render-e7fENCYH.js";
59
- import "./tables-B3jr0Pvq.js";
60
- import "./shared-CBgp_GBw.js";
61
- import { t as sendMessageSlack } from "./send-gDoGA-7e.js";
62
- import { r as resolveSlackWebClientOptions } from "./client-pI228AVT.js";
63
- import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-DRu135h0.js";
64
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-TErs62MC.js";
65
- import { t as createDraftStreamLoop } from "./draft-stream-loop-CrOPfV3F.js";
66
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-_-nV-EK2.js";
67
- import { t as resolveSlackUserAllowlist } from "./resolve-users-DN9VQBwv.js";
68
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-ChYo5ZQM.js";
69
- import { probeSlack } from "./probe-CJb5uR8B.js";
45
+ import "./qr-image-B4MlMG4N.js";
46
+ import { a as fetchRemoteMedia } from "./media-BAoaxCrt.js";
47
+ import "./markdown-tables-d7GlUs5R.js";
48
+ import "./send-D1j12ZgX.js";
49
+ import { a as saveMediaBuffer } from "./outbound-attachment-CyXM3cAv.js";
50
+ import "./fetch-B0v6OTUZ.js";
51
+ import "./thread-bindings.state-D2oOWDpv.js";
52
+ import "./skill-commands-iJtvpqgb.js";
53
+ import "./sandbox-paths-Bzh1CuZc.js";
54
+ import "./directory-live-BXMpuYAF.js";
55
+ import "./targets-DDbNnLnB.js";
56
+ import "./pi-model-discovery-BHNVyRny.js";
57
+ import { n as resolveAgentRoute } from "./resolve-route-Dufnu2cT.js";
58
+ import { t as finalizeInboundContext } from "./inbound-context-CQnfFFQ9.js";
59
+ import "./render-DrBfVs0u.js";
60
+ import "./tables-_1W36GII.js";
61
+ import "./shared-D1AD2Ejn.js";
62
+ import { t as sendMessageSlack } from "./send-Di1Jit3L.js";
63
+ import { r as resolveSlackWebClientOptions } from "./client-DLY-kWF_.js";
64
+ 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-B-Vwj64K.js";
65
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-LH4uKSnh.js";
66
+ import { t as createDraftStreamLoop } from "./draft-stream-loop-DMBwjjd1.js";
67
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-CU72Qh2j.js";
68
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-Bk_ss2vC.js";
69
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CY-V0Zob.js";
70
+ import { probeSlack } from "./probe-BM7Oe40M.js";
70
71
  import SlackBolt from "@slack/bolt";
71
72
 
72
73
  //#region src/slack/http/registry.ts
@@ -2914,7 +2915,7 @@ function readSlackExternalArgMenuToken(raw) {
2914
2915
  }
2915
2916
  let commandsRegistry;
2916
2917
  async function getCommandsRegistry() {
2917
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BfqdEWdF.js").then((n) => n.n);
2918
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-G5KXSi_y.js").then((n) => n.n);
2918
2919
  return commandsRegistry;
2919
2920
  }
2920
2921
  function encodeSlackCommandArgValue(parts) {
@@ -3238,14 +3239,14 @@ async function registerSlackMonitorSlashCommands(params) {
3238
3239
  const channelName = channelInfo?.name;
3239
3240
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
3240
3241
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3241
- import("./resolve-route-C8tvQm8Z.js").then((n) => n.r),
3242
- import("./inbound-context-DrAcXE0y.js").then((n) => n.n),
3243
- import("./config-schema-BPnaDBwZ.js").then((n) => n.Q)
3242
+ import("./resolve-route-Dufnu2cT.js").then((n) => n.r),
3243
+ import("./inbound-context-CQnfFFQ9.js").then((n) => n.n),
3244
+ import("./config-schema-DjU_uD-6.js").then((n) => n.Q)
3244
3245
  ]);
3245
3246
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3246
3247
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),
3247
3248
  import("./reply-prefix-CeVw7Mn2.js").then((n) => n.r),
3248
- import("./runtime-2B9_WKoI.js").then((n) => n.m)
3249
+ import("./runtime-CXSQwMaR.js").then((n) => n.m)
3249
3250
  ]);
3250
3251
  const route = resolveAgentRoute({
3251
3252
  cfg,
@@ -3313,9 +3314,9 @@ async function registerSlackMonitorSlashCommands(params) {
3313
3314
  });
3314
3315
  const deliverSlashPayloads = async (replies) => {
3315
3316
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
3316
- import("./replies-ChYo5ZQM.js").then((n) => n.r),
3317
- import("./chunk-CyoyqpbG.js").then((n) => n.s),
3318
- import("./markdown-tables-DCOXEUfZ.js").then((n) => n.t)
3317
+ import("./replies-CY-V0Zob.js").then((n) => n.r),
3318
+ import("./chunk-CBpl-AiQ.js").then((n) => n.s),
3319
+ import("./markdown-tables-d7GlUs5R.js").then((n) => n.t)
3319
3320
  ]);
3320
3321
  await deliverSlackSlashReplies({
3321
3322
  replies,
@@ -3368,7 +3369,7 @@ async function registerSlackMonitorSlashCommands(params) {
3368
3369
  let nativeCommands = [];
3369
3370
  if (nativeEnabled) {
3370
3371
  reg = await getCommandsRegistry();
3371
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-FKEPLS7T.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3372
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-iJtvpqgb.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3372
3373
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
3373
3374
  skillCommands,
3374
3375
  provider: "slack"
@@ -1,4 +1,4 @@
1
- import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-2B9_WKoI.js";
1
+ import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-CXSQwMaR.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
@@ -16,21 +16,21 @@ import "./retry-DstNBhDW.js";
16
16
  import "./paths-CTZ2RS_E.js";
17
17
  import "./ssrf-fG4UHKBw.js";
18
18
  import "./fetch-guard-CeG6u6ld.js";
19
- import "./chunk-CyoyqpbG.js";
19
+ import "./chunk-CBpl-AiQ.js";
20
20
  import "./tokens-BbnqfVuu.js";
21
21
  import "./optional-runtime-dependency-0dznm3ZO.js";
22
22
  import "./image-ops-DQi0n_Tt.js";
23
23
  import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-HCcXU-NR.js";
24
24
  import "./path-alias-guards-DjgDArrp.js";
25
25
  import "./fs-safe-g4g7GT02.js";
26
- import "./media-CAdQF5TG.js";
27
- import "./markdown-tables-DCOXEUfZ.js";
28
- import { i as withNormalizedTimestamp } from "./date-time-uUevHscU.js";
29
- import "./render-e7fENCYH.js";
30
- import { t as parseSlackBlocksInput } from "./blocks-input-Bg-8S2pl.js";
31
- import "./send-gDoGA-7e.js";
32
- import "./client-pI228AVT.js";
33
- 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-DRu135h0.js";
26
+ import "./media-BAoaxCrt.js";
27
+ import "./markdown-tables-d7GlUs5R.js";
28
+ import { i as withNormalizedTimestamp } from "./date-time-ChY_tHoG.js";
29
+ import "./render-DrBfVs0u.js";
30
+ import { t as parseSlackBlocksInput } from "./blocks-input-DiZaqaN7.js";
31
+ import "./send-Di1Jit3L.js";
32
+ import "./client-DLY-kWF_.js";
33
+ 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-B-Vwj64K.js";
34
34
 
35
35
  //#region src/agents/tools/slack-actions.ts
36
36
  const messagingActions = new Set([
@@ -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, Jt as SlackAccountConfig, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-BcSBq42x.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-xWjHXl1z.js";
4
- import { D as normalizeE164 } from "./types-DUjYaWB2.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-L6L6L2YF.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-DtCOO_hW.js";
4
+ import { D as normalizeE164 } from "./types-B-zL9gSv.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-mKO92L-M.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-q3hUTCt7.js";
7
- import { o as SlackConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
7
+ import { o as SlackConfigSchema } from "./zod-schema.providers-core-BCDlgtls.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
9
9
 
10
10
  //#region src/slack/accounts.d.ts