@fased/fased 0.1.30 → 0.1.31

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 (202) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{agents-BU4NqZkn.js → agents-B7oe96FC.js} +8 -8
  3. package/dist/{attachment-normalize-D3LvGnxE.js → attachment-normalize-B-UXOsKN.js} +1 -1
  4. package/dist/{attachment-normalize-3_V1yb6a.js → attachment-normalize-Ch3m3gW7.js} +1 -1
  5. package/dist/{audio-preflight-B4hZi0X5.js → audio-preflight-BLnXSrbe.js} +1 -1
  6. package/dist/{audio-preflight-YPQKo93v.js → audio-preflight-DWAgAnFF.js} +1 -1
  7. package/dist/{audio-preflight-r8PHFHTe.js → audio-preflight-DWXq2U0B.js} +2 -2
  8. package/dist/{audio-preflight-DcQrkXYr.js → audio-preflight-JeAEvjmi.js} +2 -2
  9. package/dist/{audio-preflight-MUfVeIPT.js → audio-preflight-UFD3iTyT.js} +2 -2
  10. package/dist/{audit-ChF16w3M.js → audit-C11zzpna.js} +1 -1
  11. package/dist/{audit-BNmzld5I.js → audit-uEYwrVh1.js} +1 -1
  12. package/dist/{auth-choice-BJGGTOYU.js → auth-choice-CvM0GCEt.js} +1 -1
  13. package/dist/{auth-choice-UvbBnRhr.js → auth-choice-fxfJkTWE.js} +1 -1
  14. package/dist/{auth-choice-prompt-9uH2hSjM.js → auth-choice-prompt-CZWGTWFF.js} +1 -1
  15. package/dist/{auth-choice-prompt-CPoTg_-G.js → auth-choice-prompt-DgZ_-DFR.js} +1 -1
  16. package/dist/{auth-DGXGqcN7.js → auth-miYdUxcO.js} +5 -5
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +2 -2
  19. package/dist/bundled/session-memory/handler.js +2 -2
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-web-DLD1undh.js → channel-web-CEpBiX-Q.js} +1 -1
  22. package/dist/{channel-web-0wKGD4yD.js → channel-web-DRFSKnVi.js} +1 -1
  23. package/dist/{channels-B9bvlD7y.js → channels-Bzj2_yUj.js} +6 -6
  24. package/dist/{channels-CBT56Ap7.js → channels-CY1sX0bz.js} +6 -6
  25. package/dist/{channels-cli-D6ioLe8o.js → channels-cli-BruuPCkp.js} +5 -5
  26. package/dist/{channels-cli-CK1qojpR.js → channels-cli-CRfpkLwo.js} +5 -5
  27. package/dist/cli/daemon-cli.js +1 -1
  28. package/dist/{cli-ByaZFcQl.js → cli-BXBAZCT8.js} +2 -2
  29. package/dist/{cli-DgHb9Vld.js → cli-BgodEMPl.js} +2 -2
  30. package/dist/{command-registry-mptWJW8S.js → command-registry-CU64eZmw.js} +9 -9
  31. package/dist/{completion-cli-DyJbXhbh.js → completion-cli-CWke3Y2I.js} +1 -1
  32. package/dist/{completion-cli-BRvgVQzN.js → completion-cli-DNlt3cBf.js} +2 -2
  33. package/dist/{config-cli-BrzPOli4.js → config-cli-BugbkifH.js} +1 -1
  34. package/dist/{config-cli-R0TQZDi7.js → config-cli-DTLNqY4I.js} +1 -1
  35. package/dist/{configure-Bt3nH-_I.js → configure-BYcI4db_.js} +12 -12
  36. package/dist/{configure-pREf12zB.js → configure-XZxBL9XF.js} +12 -12
  37. package/dist/control-ui/assets/app-DXYMrRJ9.js.map +1 -1
  38. package/dist/{cron-cli-BIYfBpRP.js → cron-cli-BAT3nsi8.js} +2 -2
  39. package/dist/{cron-cli-zdoRLQ0m.js → cron-cli-BzceMqJm.js} +2 -2
  40. package/dist/{daemon-cli-LLGP6g2r.js → daemon-cli-5_eqnI7H.js} +77 -38
  41. package/dist/{daemon-cli-Cj4_RgEM.js → daemon-cli-JvoxFHRy.js} +77 -38
  42. package/dist/daemon-cli.js +76 -37
  43. package/dist/{deps-sd-SQKYn.js → deps-BWahcXVa.js} +1 -1
  44. package/dist/{deps-QnUngXA3.js → deps-CkOczIqw.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/extensionAPI.js +1 -1
  47. package/dist/{gateway-cli-Cn3STpYX.js → gateway-cli-D0rc9BQT.js} +27 -27
  48. package/dist/{gateway-cli-yfNsUzH6.js → gateway-cli-DZwQlnd-.js} +27 -27
  49. package/dist/{health-BfGnSyOV.js → health-CtFbngOI.js} +2 -2
  50. package/dist/{health-DcurJYny.js → health-Dx0abJui.js} +2 -2
  51. package/dist/{heartbeat-runner-CY41VFZE.js → heartbeat-runner-CnzA9MCj.js} +1 -1
  52. package/dist/{heartbeat-runner-CJZStXhx.js → heartbeat-runner-DBcCEPYX.js} +1 -1
  53. package/dist/{hooks-cli-WtC65axA.js → hooks-cli-C4nrKQB8.js} +3 -3
  54. package/dist/{hooks-cli-DpkFISKR.js → hooks-cli-ED4F4hgZ.js} +3 -3
  55. package/dist/index.js +7 -7
  56. package/dist/{ipv4-CdRPraPM.js → ipv4-BiVsHcPZ.js} +2 -2
  57. package/dist/{ipv4-BkY__Z0A.js → ipv4-p6oBdL3i.js} +2 -2
  58. package/dist/{lifecycle-DUPuKIvd.js → lifecycle-DN1VLZsk.js} +1 -1
  59. package/dist/{lifecycle-Dd-6tFQk.js → lifecycle-DXPbWOOF.js} +1 -1
  60. package/dist/{list.auth-overview-DcdJySBi.js → list.auth-overview-SGV043-s.js} +1 -1
  61. package/dist/{list.auth-overview-CE2_GQ-8.js → list.auth-overview-qQ-PSQWI.js} +1 -1
  62. package/dist/llm-slug-generator.js +2 -2
  63. package/dist/{model-catalog-DOuyqwFa.js → model-catalog-DTeRSOlM.js} +6 -6
  64. package/dist/{models-ItVo4_FF.js → models-DNWCoAr6.js} +4 -4
  65. package/dist/{models-cli-DKEzhF9X.js → models-cli-6JDQwXLP.js} +4 -4
  66. package/dist/{models-cli-YznPWFUE.js → models-cli-8Ogt1Nai.js} +5 -5
  67. package/dist/{node-cli-CZaJUGYu.js → node-cli-B5XUZW_F.js} +2 -2
  68. package/dist/{node-cli-qkHTKDmW.js → node-cli-BPQ4Bj27.js} +2 -2
  69. package/dist/{onboard-Cpw2fP2S.js → onboard-Bkmx2_JM.js} +6 -6
  70. package/dist/{onboard--COJdfXc.js → onboard-CoIQYNfB.js} +6 -6
  71. package/dist/{onboard-channels-BH6atgy1.js → onboard-channels-6l52GEWY.js} +2 -2
  72. package/dist/{onboard-channels-CbQgdo3k.js → onboard-channels-B-CHfy-_.js} +2 -2
  73. package/dist/{onboard-search-BxaAdq5U.js → onboard-search-CXl_FBtA.js} +5 -5
  74. package/dist/{onboard-search-Bg8qvHBV.js → onboard-search-DitZYPTM.js} +5 -5
  75. package/dist/{onboarding-B-_4gKpN.js → onboarding-BAdN-hFD.js} +7 -7
  76. package/dist/{onboarding-DiuUZg9l.js → onboarding-DnPBiIlf.js} +7 -7
  77. package/dist/{openresponses-http-BVdja8Nj.js → openresponses-http-C4uMHFQG.js} +2 -2
  78. package/dist/{openresponses-http-svQwMBaq.js → openresponses-http-CWOcu9i9.js} +2 -2
  79. package/dist/{openresponses-http-BNIAyGrH.js → openresponses-http-CdFdfFbo.js} +1 -1
  80. package/dist/{openresponses-http-DGAqU5K9.js → openresponses-http-CgJamjpH.js} +1 -1
  81. package/dist/{openresponses-http-DhBER2sI.js → openresponses-http-cj2oimfW.js} +2 -2
  82. package/dist/{parent-default-help-DUqMyqko.js → parent-default-help-BT7FBzs-.js} +1 -1
  83. package/dist/{parent-default-help-B2mCEhav.js → parent-default-help-ecMFlg2S.js} +1 -1
  84. package/dist/{paths-zdeD1PNp.js → paths-BrYFwmxy.js} +9 -9
  85. package/dist/{pi-embedded-CrKlYvWM.js → pi-embedded-BMW4AO0b.js} +14 -14
  86. package/dist/{pi-embedded-DPl5Aqw4.js → pi-embedded-YWZsPSdf.js} +5 -5
  87. package/dist/{plugin-registry-BBzitaxQ.js → plugin-registry-CwfvRSs4.js} +1 -1
  88. package/dist/{plugin-registry-CIiRwpQv.js → plugin-registry-DA_1IBe0.js} +1 -1
  89. package/dist/plugin-sdk/{audio-preflight-DcJUk03P.js → audio-preflight-B-GNQeK0.js} +1 -1
  90. package/dist/plugin-sdk/{audio-preflight-B-__-RfZ.js → audio-preflight-DeP8VHC6.js} +1 -1
  91. package/dist/plugin-sdk/{channel-web-DoGtD0PQ.js → channel-web-QaRgsb6f.js} +1 -1
  92. package/dist/plugin-sdk/command-status.js +1 -1
  93. package/dist/plugin-sdk/index.js +2 -2
  94. package/dist/plugin-sdk/{openresponses-http-VFgg_bR4.js → openresponses-http-BISP9-A6.js} +1 -1
  95. package/dist/plugin-sdk/{openresponses-http-DQWJE95u.js → openresponses-http-DenlQldm.js} +1 -1
  96. package/dist/plugin-sdk/{reply-D4WNXysa.js → reply-DQSn23Jt.js} +5 -5
  97. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  98. package/dist/plugin-sdk/{status-BlX9jStp.js → status-CkAJPulJ.js} +5 -5
  99. package/dist/plugin-sdk/{web-Cr8AJx43.js → web-0HkZCM7O.js} +2 -2
  100. package/dist/plugin-sdk/{web-CEucw6Dl.js → web-Cav7vEAd.js} +1 -1
  101. package/dist/{plugins-cli-B9w9SKYa.js → plugins-cli-CIumz1mA.js} +5 -5
  102. package/dist/{plugins-cli-CdRa6xYi.js → plugins-cli-NtgUFN5F.js} +5 -5
  103. package/dist/{program-C9wZbb_-.js → program-CSz1D1dG.js} +7 -7
  104. package/dist/{program-context-Dc8hoANx.js → program-context-DI-GvkMR.js} +24 -24
  105. package/dist/{prompt-select-styled-oUCALY2N.js → prompt-select-styled-n_A35tSP.js} +4 -4
  106. package/dist/{prompt-select-styled-9E7HlPjk.js → prompt-select-styled-vQMrGEwY.js} +4 -4
  107. package/dist/{pw-ai-5b6U6vNE.js → pw-ai-AEM6NhZt.js} +1 -1
  108. package/dist/{register.agent-BhoMAqJe.js → register.agent-CpHR4A6v.js} +8 -8
  109. package/dist/{register.agent-Dty2GQos.js → register.agent-DD-U7oGb.js} +9 -9
  110. package/dist/{register.configure-CjQhBudl.js → register.configure-C3qRt8Z2.js} +12 -12
  111. package/dist/{register.configure-DZl7w5Se.js → register.configure-CsmE4__F.js} +12 -12
  112. package/dist/{register.maintenance-CGFQEESj.js → register.maintenance-C1pTDCfr.js} +9 -9
  113. package/dist/{register.maintenance-C9_UzTyI.js → register.maintenance-Dw9XWs6B.js} +8 -8
  114. package/dist/{register.message-DnrC31ZC.js → register.message-C5H4BaZR.js} +3 -3
  115. package/dist/{register.message-C3BTjmhg.js → register.message-D1vEgAqq.js} +3 -3
  116. package/dist/{register.onboard-DzO2dNpB.js → register.onboard-C2ZqqRHb.js} +14 -14
  117. package/dist/{register.onboard-DIxJ1bFs.js → register.onboard-Dd5wooum.js} +14 -14
  118. package/dist/{register.setup-B5Ji_Smo.js → register.setup-S47GDXlI.js} +14 -14
  119. package/dist/{register.setup-Cd8rXata.js → register.setup-wdsoq3BF.js} +14 -14
  120. package/dist/{register.status-health-sessions-CUw6awJ6.js → register.status-health-sessions-BoN2hOA8.js} +6 -6
  121. package/dist/{register.status-health-sessions-CYpKmq3y.js → register.status-health-sessions-C876VSZh.js} +6 -6
  122. package/dist/{register.subclis-DEnba1hq.js → register.subclis-BT84Bn-_.js} +16 -16
  123. package/dist/{reply-DVGmtLPq.js → reply-jrONH9Y7.js} +6 -6
  124. package/dist/{run-main-BqiU1shU.js → run-main-C6XcZlLi.js} +14 -14
  125. package/dist/{runtime-helper-grants-BQl2Y_KJ.js → runtime-helper-grants-Jas30vI5.js} +1 -1
  126. package/dist/{runtime-helper-grants-CHz5azhO.js → runtime-helper-grants-kih7jkmx.js} +1 -1
  127. package/dist/{sandbox-cli-C7tRjHGl.js → sandbox-cli-Bfj6NbE1.js} +2 -2
  128. package/dist/{sandbox-cli-BLWfhZh2.js → sandbox-cli-C9wECeaH.js} +2 -2
  129. package/dist/{security-cli-DGCfCHzM.js → security-cli-B1c376KU.js} +3 -3
  130. package/dist/{security-cli-0-5Vgk1A.js → security-cli-Dz7uvFDt.js} +3 -3
  131. package/dist/{server-DamsmTjm.js → server-B2nRkZJD.js} +2 -2
  132. package/dist/{server-BMZYE37o.js → server-DYUU_xzp.js} +2 -2
  133. package/dist/{server-cron-BUWyjpTV.js → server-cron-BgVg0Xr0.js} +2 -2
  134. package/dist/{server-cron-DC9t05LU.js → server-cron-DiMWX26M.js} +2 -2
  135. package/dist/{server-node-events-C3IOxSF_.js → server-node-events-BTIgBj-Y.js} +3 -3
  136. package/dist/{server-node-events-cusaGrcY.js → server-node-events-CD7PjM02.js} +3 -3
  137. package/dist/{status-CrL7Hp3R.js → status-C1h5Ta_q.js} +4 -4
  138. package/dist/{status-Dlt3xwcf.js → status-CnhP8fx7.js} +4 -4
  139. package/dist/{status-Doqt5wXN.js → status-DkMo6n1P.js} +1 -1
  140. package/dist/{status-B39ZJFhD.js → status-aMuRqtjs.js} +1 -1
  141. package/dist/{tui-DdPEVWjR.js → tui-BuCSCKXc.js} +1 -1
  142. package/dist/{tui-R-P_OV8J.js → tui-DM671Mke.js} +1 -1
  143. package/dist/{tui-cli-ChpP9FsL.js → tui-cli-Cfw5R0S8.js} +3 -3
  144. package/dist/{tui-cli-BgihXvs7.js → tui-cli-DjI4QOzV.js} +3 -3
  145. package/dist/{update-cli-DVCjSLYw.js → update-cli-BL1PUycr.js} +10 -10
  146. package/dist/{update-cli-DPdSuHZT.js → update-cli-Bl5opT2O.js} +9 -9
  147. package/dist/{update-runner-DNPfs265.js → update-runner-BNiDZKyO.js} +1 -1
  148. package/dist/{update-runner-COs-YDhT.js → update-runner-Col2sOeF.js} +1 -1
  149. package/dist/{web-BHp_2XHP.js → web-0I3YFoDZ.js} +1 -1
  150. package/dist/{web-DQuQBwMr.js → web-Blq5sWxH.js} +2 -2
  151. package/dist/{web-vGE7qeF-.js → web-C7I6HVNX.js} +1 -1
  152. package/dist/{web-D8bq1XRX.js → web-D-gMdQkD.js} +3 -3
  153. package/dist/{web-B2SWpLdC.js → web-_igiL4AE.js} +3 -3
  154. package/dist/{web-search-providers.runtime-CiOoq6G3.js → web-search-providers.runtime-CzUamtQl.js} +1 -1
  155. package/dist/{web-search-providers.runtime-BD9Vp8eD.js → web-search-providers.runtime-pv7Jv2d6.js} +1 -1
  156. package/extensions/acpx/package.json +1 -1
  157. package/extensions/bluebubbles/package.json +1 -1
  158. package/extensions/copilot-proxy/package.json +1 -1
  159. package/extensions/diagnostics-otel/package.json +1 -1
  160. package/extensions/discord/package.json +1 -1
  161. package/extensions/fased-federation/package.json +1 -1
  162. package/extensions/feishu/package.json +1 -1
  163. package/extensions/google-gemini-cli-auth/package.json +1 -1
  164. package/extensions/googlechat/package.json +1 -1
  165. package/extensions/imessage/package.json +1 -1
  166. package/extensions/irc/package.json +1 -1
  167. package/extensions/line/package.json +1 -1
  168. package/extensions/llm-task/package.json +1 -1
  169. package/extensions/lobster/package.json +1 -1
  170. package/extensions/matrix/CHANGELOG.md +6 -0
  171. package/extensions/matrix/package.json +1 -1
  172. package/extensions/mattermost/package.json +1 -1
  173. package/extensions/memory-core/package.json +1 -1
  174. package/extensions/memory-lancedb/package.json +1 -1
  175. package/extensions/minimax-portal-auth/package.json +1 -1
  176. package/extensions/msteams/CHANGELOG.md +6 -0
  177. package/extensions/msteams/package.json +1 -1
  178. package/extensions/nextcloud-talk/package.json +1 -1
  179. package/extensions/nostr/CHANGELOG.md +6 -0
  180. package/extensions/nostr/package.json +1 -1
  181. package/extensions/open-prose/package.json +1 -1
  182. package/extensions/sat-mining/package.json +1 -1
  183. package/extensions/signal/package.json +1 -1
  184. package/extensions/slack/package.json +1 -1
  185. package/extensions/synology-chat/package.json +1 -1
  186. package/extensions/telegram/package.json +1 -1
  187. package/extensions/tlon/package.json +1 -1
  188. package/extensions/twitch/CHANGELOG.md +6 -0
  189. package/extensions/twitch/package.json +1 -1
  190. package/extensions/voice-call/CHANGELOG.md +6 -0
  191. package/extensions/voice-call/package.json +1 -1
  192. package/extensions/whatsapp/package.json +1 -1
  193. package/extensions/zalo/CHANGELOG.md +6 -0
  194. package/extensions/zalo/package.json +1 -1
  195. package/extensions/zalouser/CHANGELOG.md +6 -0
  196. package/extensions/zalouser/package.json +1 -1
  197. package/package.json +1 -1
  198. package/src/brand.ts +1 -1
  199. package/src/canvas-host/a2ui/.bundle.hash +1 -1
  200. package/src/cli/daemon-cli/lifecycle.ts +23 -0
  201. package/src/cli/daemon-cli/restart-health.ts +37 -1
  202. package/src/cli/daemon-cli/status.gather.ts +37 -3
@@ -9,7 +9,7 @@ import { createHmac } from "node:crypto";
9
9
  import { execFileSync, spawn } from "node:child_process";
10
10
  import { createServer } from "node:http";
11
11
  import net from "node:net";
12
- import WebSocket, { WebSocketServer } from "ws";
12
+ import WebSocket$1, { WebSocketServer } from "ws";
13
13
  import { Buffer as Buffer$1 } from "node:buffer";
14
14
 
15
15
  //#region src/browser/constants.ts
@@ -270,7 +270,7 @@ async function ensureChromeExtensionRelayServer(opts) {
270
270
  let extensionWs = null;
271
271
  const cdpClients = /* @__PURE__ */ new Set();
272
272
  const connectedTargets = /* @__PURE__ */ new Map();
273
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
273
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
274
274
  let extensionDisconnectCleanupTimer = null;
275
275
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
276
276
  const flushExtensionReconnectWaiters = (connected) => {
@@ -321,7 +321,7 @@ async function ensureChromeExtensionRelayServer(opts) {
321
321
  let nextExtensionId = 1;
322
322
  const sendToExtension = async (payload) => {
323
323
  const ws = extensionWs;
324
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
324
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
325
325
  ws.send(JSON.stringify(payload));
326
326
  return await new Promise((resolve, reject) => {
327
327
  const timer = setTimeout(() => {
@@ -338,12 +338,12 @@ async function ensureChromeExtensionRelayServer(opts) {
338
338
  const broadcastToCdpClients = (evt) => {
339
339
  const msg = JSON.stringify(evt);
340
340
  for (const ws of cdpClients) {
341
- if (ws.readyState !== WebSocket.OPEN) continue;
341
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
342
342
  ws.send(msg);
343
343
  }
344
344
  };
345
345
  const sendResponseToCdp = (ws, res) => {
346
- if (ws.readyState !== WebSocket.OPEN) return;
346
+ if (ws.readyState !== WebSocket$1.OPEN) return;
347
347
  ws.send(JSON.stringify(res));
348
348
  };
349
349
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -553,7 +553,7 @@ async function ensureChromeExtensionRelayServer(opts) {
553
553
  rejectUpgrade(socket, 401, "Unauthorized");
554
554
  return;
555
555
  }
556
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
556
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
557
557
  try {
558
558
  extensionWs.terminate();
559
559
  } catch {}
@@ -590,7 +590,7 @@ async function ensureChromeExtensionRelayServer(opts) {
590
590
  clearExtensionDisconnectCleanupTimer();
591
591
  flushExtensionReconnectWaiters(true);
592
592
  const ping = setInterval(() => {
593
- if (ws.readyState !== WebSocket.OPEN) return;
593
+ if (ws.readyState !== WebSocket$1.OPEN) return;
594
594
  ws.send(JSON.stringify({ method: "ping" }));
595
595
  }, 5e3);
596
596
  ws.on("message", (data) => {
@@ -932,7 +932,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
932
932
  }
933
933
  async function withCdpSocket(wsUrl, fn, opts) {
934
934
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
935
- const ws = new WebSocket(wsUrl, {
935
+ const ws = new WebSocket$1(wsUrl, {
936
936
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
937
937
  ...Object.keys(headers).length ? { headers } : {}
938
938
  });
@@ -1858,7 +1858,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1858
1858
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1859
1859
  return await new Promise((resolve) => {
1860
1860
  const headers = getHeadersWithAuth(wsUrl);
1861
- const ws = new WebSocket(wsUrl, {
1861
+ const ws = new WebSocket$1(wsUrl, {
1862
1862
  handshakeTimeout: timeoutMs,
1863
1863
  ...Object.keys(headers).length ? { headers } : {}
1864
1864
  });
@@ -11,7 +11,7 @@ import { t as redactIdentifier } from "./redact-identifier-Cy6Tnhkn.js";
11
11
  import { $ as readChannelAllowFromStore, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as addChannelAllowFromStoreEntry, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$2, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as resolveCronStorePath, Y as loadCronStore, Z as saveCronStore, _ as resolveTelegramFetch, a as reactMessageTelegram, at as listPairingChannels, b as buildGroupLabel, c as sendStickerTelegram, ct as resolveTelegramTargetChatType, d as wasSentByBot, et as removeChannelAllowFromStoreEntry, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as getPairingAdapter, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as readJsonFileWithFallback, o as sendMessageTelegram, ot as isVoiceCompatibleAudio, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as writeJsonFileAtomically, s as sendPollTelegram, st as parseTelegramTarget, t as buildInlineKeyboard, tt as upsertChannelPairingRequest, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CqQ88clX.js";
12
12
  import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as buildImageResizeSideGrid, b as isAudioFileName, c as MediaFetchError, g as detectMime, h as getDefaultMediaLocalRoots, i as IMAGE_REDUCE_QUALITY_STEPS, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, o as getImageMetadata, s as resizeToJpeg, t as getDefaultLocalRoots, u as readResponseWithLimit, v as getFileExtension, w as MAX_IMAGE_BYTES, x as isGifMedia, y as imageMimeFromFormat } from "./media-CInvDVc0.js";
13
13
  import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-C1CAe7eM.js";
14
- import { B as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as isLoopbackHost, G as DEFAULT_FASED_BROWSER_COLOR, H as DEFAULT_AI_SNAPSHOT_MAX_CHARS, I as isSecureWebSocketUrl, K as DEFAULT_FASED_BROWSER_ENABLED, L as isTrustedProxyAddress, M as stopChromeExtensionRelayServer, N as rawDataToString, O as fetchOk, P as isLoopbackAddress, R as resolveClientIp, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_BROWSER_EVALUATE_ENABLED, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as DEFAULT_FASED_BROWSER_PROFILE_NAME, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as resolveForwardedClientIp } from "./paths-zdeD1PNp.js";
14
+ import { B as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as isLoopbackHost, G as DEFAULT_FASED_BROWSER_COLOR, H as DEFAULT_AI_SNAPSHOT_MAX_CHARS, I as isSecureWebSocketUrl, K as DEFAULT_FASED_BROWSER_ENABLED, L as isTrustedProxyAddress, M as stopChromeExtensionRelayServer, N as rawDataToString, O as fetchOk, P as isLoopbackAddress, R as resolveClientIp, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_BROWSER_EVALUATE_ENABLED, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as DEFAULT_FASED_BROWSER_PROFILE_NAME, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as resolveForwardedClientIp } from "./paths-BrYFwmxy.js";
15
15
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DYsl9qoS.js";
16
16
  import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-Dp_gOi-q.js";
17
17
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DVyUjzCQ.js";
@@ -65,7 +65,7 @@ import { AddressLookupTableAccount, PublicKey, VersionedTransaction } from "@sol
65
65
  import { Type } from "@sinclair/typebox";
66
66
  import { Value } from "@sinclair/typebox/value";
67
67
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
68
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
68
+ import WebSocket$1, { WebSocket } from "ws";
69
69
  import { Buffer as Buffer$1 } from "node:buffer";
70
70
  import { ProxyAgent, fetch as fetch$1 } from "undici";
71
71
  import "@fedify/fedify";
@@ -16318,7 +16318,7 @@ var GatewayClient = class {
16318
16318
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
16319
16319
  });
16320
16320
  }
16321
- this.ws = new WebSocket$1(url, wsOptions);
16321
+ this.ws = new WebSocket(url, wsOptions);
16322
16322
  this.ws.on("open", () => {
16323
16323
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
16324
16324
  const tlsError = this.validateTlsFingerprint();
@@ -16514,7 +16514,7 @@ var GatewayClient = class {
16514
16514
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
16515
16515
  if (this.connectTimer) clearTimeout(this.connectTimer);
16516
16516
  this.connectTimer = setTimeout(() => {
16517
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
16517
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
16518
16518
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
16519
16519
  this.ws?.close(1008, "connect challenge timeout");
16520
16520
  }, connectChallengeTimeoutMs);
@@ -16556,7 +16556,7 @@ var GatewayClient = class {
16556
16556
  return null;
16557
16557
  }
16558
16558
  async request(method, params, opts) {
16559
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
16559
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
16560
16560
  const id = randomUUID();
16561
16561
  const frame = {
16562
16562
  type: "req",
@@ -19122,7 +19122,7 @@ function createOutboundSendDepsFromCliSource(deps) {
19122
19122
  function createDefaultDeps() {
19123
19123
  return {
19124
19124
  sendMessageWhatsApp: async (...args) => {
19125
- const { sendMessageWhatsApp } = await import("./web-DQuQBwMr.js");
19125
+ const { sendMessageWhatsApp } = await import("./web-Blq5sWxH.js");
19126
19126
  return await sendMessageWhatsApp(...args);
19127
19127
  },
19128
19128
  sendMessageTelegram: async (...args) => {
@@ -53590,7 +53590,7 @@ function isModuleNotFoundError(err) {
53590
53590
  }
53591
53591
  async function loadPwAiModule(mode) {
53592
53592
  try {
53593
- return await import("./pw-ai-5b6U6vNE.js");
53593
+ return await import("./pw-ai-AEM6NhZt.js");
53594
53594
  } catch (err) {
53595
53595
  if (mode === "soft") return null;
53596
53596
  if (isModuleNotFoundError(err)) return null;
@@ -53984,11 +53984,11 @@ function createProfileContext(opts, profile) {
53984
53984
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
53985
53985
  const profileState = getProfileState();
53986
53986
  if (await isHttpReachable(300) && !profileState.running) try {
53987
- await (await import("./pw-ai-5b6U6vNE.js")).closePlaywrightBrowserConnection();
53987
+ await (await import("./pw-ai-AEM6NhZt.js")).closePlaywrightBrowserConnection();
53988
53988
  } catch {}
53989
53989
  if (profileState.running) await stopRunningBrowser();
53990
53990
  try {
53991
- await (await import("./pw-ai-5b6U6vNE.js")).closePlaywrightBrowserConnection();
53991
+ await (await import("./pw-ai-AEM6NhZt.js")).closePlaywrightBrowserConnection();
53992
53992
  } catch {}
53993
53993
  if (!fs$1.existsSync(userDataDir)) return {
53994
53994
  moved: false,
@@ -91758,7 +91758,7 @@ async function preflightDiscordMessage(params) {
91758
91758
  let preflightTranscript;
91759
91759
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
91760
91760
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
91761
- const { transcribeFirstAudio } = await import("./audio-preflight-MUfVeIPT.js");
91761
+ const { transcribeFirstAudio } = await import("./audio-preflight-UFD3iTyT.js");
91762
91762
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
91763
91763
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
91764
91764
  ctx: {
@@ -97848,7 +97848,7 @@ function createDiscordGatewayPlugin(params) {
97848
97848
  return super.registerClient(client);
97849
97849
  }
97850
97850
  createWebSocket(url) {
97851
- return new WebSocket(url, { agent: wsAgent });
97851
+ return new WebSocket$1(url, { agent: wsAgent });
97852
97852
  }
97853
97853
  }
97854
97854
  return new ProxyGatewayPlugin();
@@ -99055,7 +99055,7 @@ async function waitForTransportReady(params) {
99055
99055
 
99056
99056
  //#endregion
99057
99057
  //#region src/brand.ts
99058
- const FASED_PRODUCT_VERSION = "0.1.30";
99058
+ const FASED_PRODUCT_VERSION = "0.1.31";
99059
99059
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
99060
99060
 
99061
99061
  //#endregion
@@ -108678,7 +108678,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
108678
108678
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
108679
108679
  let preflightTranscript;
108680
108680
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
108681
- const { transcribeFirstAudio } = await import("./audio-preflight-MUfVeIPT.js");
108681
+ const { transcribeFirstAudio } = await import("./audio-preflight-UFD3iTyT.js");
108682
108682
  preflightTranscript = await transcribeFirstAudio({
108683
108683
  ctx: {
108684
108684
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -111304,7 +111304,7 @@ function loadWebLoginQr() {
111304
111304
  return webLoginQrPromise;
111305
111305
  }
111306
111306
  function loadWebChannel() {
111307
- webChannelPromise ??= import("./web-DQuQBwMr.js");
111307
+ webChannelPromise ??= import("./web-Blq5sWxH.js");
111308
111308
  return webChannelPromise;
111309
111309
  }
111310
111310
  function loadWhatsAppActions() {
@@ -19121,7 +19121,7 @@ function createOutboundSendDepsFromCliSource(deps) {
19121
19121
  function createDefaultDeps() {
19122
19122
  return {
19123
19123
  sendMessageWhatsApp: async (...args) => {
19124
- const { sendMessageWhatsApp } = await import("./web-vGE7qeF-.js");
19124
+ const { sendMessageWhatsApp } = await import("./web-C7I6HVNX.js");
19125
19125
  return await sendMessageWhatsApp(...args);
19126
19126
  },
19127
19127
  sendMessageTelegram: async (...args) => {
@@ -91767,7 +91767,7 @@ async function preflightDiscordMessage(params) {
91767
91767
  let preflightTranscript;
91768
91768
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
91769
91769
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
91770
- const { transcribeFirstAudio } = await import("./audio-preflight-YPQKo93v.js");
91770
+ const { transcribeFirstAudio } = await import("./audio-preflight-DWAgAnFF.js");
91771
91771
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
91772
91772
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
91773
91773
  ctx: {
@@ -99064,7 +99064,7 @@ async function waitForTransportReady(params) {
99064
99064
 
99065
99065
  //#endregion
99066
99066
  //#region src/brand.ts
99067
- const FASED_PRODUCT_VERSION = "0.1.30";
99067
+ const FASED_PRODUCT_VERSION = "0.1.31";
99068
99068
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
99069
99069
 
99070
99070
  //#endregion
@@ -108687,7 +108687,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
108687
108687
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
108688
108688
  let preflightTranscript;
108689
108689
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
108690
- const { transcribeFirstAudio } = await import("./audio-preflight-YPQKo93v.js");
108690
+ const { transcribeFirstAudio } = await import("./audio-preflight-DWAgAnFF.js");
108691
108691
  preflightTranscript = await transcribeFirstAudio({
108692
108692
  ctx: {
108693
108693
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -111313,7 +111313,7 @@ function loadWebLoginQr() {
111313
111313
  return webLoginQrPromise;
111314
111314
  }
111315
111315
  function loadWebChannel() {
111316
- webChannelPromise ??= import("./web-vGE7qeF-.js");
111316
+ webChannelPromise ??= import("./web-C7I6HVNX.js");
111317
111317
  return webChannelPromise;
111318
111318
  }
111319
111319
  function loadWhatsAppActions() {
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Dn as loadConfig, F as createSubsystemLogger, U as getActivePluginRegistry, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CrCe9L5D.js";
3
- import { Nt as loadFasedAgentPlugins } from "./reply-DVGmtLPq.js";
3
+ import { Nt as loadFasedAgentPlugins } from "./reply-jrONH9Y7.js";
4
4
 
5
5
  //#region src/cli/plugin-registry.ts
6
6
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Gu as resolveDefaultAgentId, Wu as resolveAgentWorkspaceDir, Xt as loadConfig, a as createSubsystemLogger, p as getActivePluginRegistry } from "./env-BegRUDBP.js";
3
- import { c as loadFasedAgentPlugins } from "./model-catalog-DOuyqwFa.js";
3
+ import { c as loadFasedAgentPlugins } from "./model-catalog-DTeRSOlM.js";
4
4
 
5
5
  //#region src/cli/plugin-registry.ts
6
6
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -2,7 +2,7 @@ import { Ds as shouldLogVerbose, Ts as logVerbose } from "./context-CffBTBRN.js"
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { A as buildProviderRegistry, F as isAudioAttachment, M as normalizeMediaAttachments, N as resolveMediaAttachmentLocalRoots, P as runCapability, j as createMediaAttachmentCache } from "./status-BlX9jStp.js";
5
+ import { A as buildProviderRegistry, F as isAudioAttachment, M as normalizeMediaAttachments, N as resolveMediaAttachmentLocalRoots, P as runCapability, j as createMediaAttachmentCache } from "./status-CkAJPulJ.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -1,4 +1,4 @@
1
- import { C as normalizeMediaAttachments, E as isAudioAttachment, S as createMediaAttachmentCache, T as runCapability, w as resolveMediaAttachmentLocalRoots, x as buildProviderRegistry } from "./reply-D4WNXysa.js";
1
+ import { C as normalizeMediaAttachments, E as isAudioAttachment, S as createMediaAttachmentCache, T as runCapability, w as resolveMediaAttachmentLocalRoots, x as buildProviderRegistry } from "./reply-DQSn23Jt.js";
2
2
  import { Gc as logVerbose, qc as shouldLogVerbose } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -1,4 +1,4 @@
1
- import { A as resolveInboundDebounceMs, B as enqueueSystemEvent, D as dispatchReplyWithBufferedBlockDispatcher, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, Ft as buildHistoryContextFromEntries, Ht as buildMentionRegexes, L as normalizeGroupActivation, M as shouldComputeCommandAuthorized, N as registerUnhandledRejectionHandler, Nt as resolveEnvelopeFormatOptions, Pt as DEFAULT_GROUP_HISTORY_LIMIT, R as parseActivationCommand, Ut as normalizeMentionText, Vt as recordPendingHistoryEntryIfEnabled, an as readStoreAllowFromForDmPolicy, b as sleepWithAbort, fn as resolveDefaultGroupPolicy, j as hasControlCommand, jt as formatInboundEnvelope, k as createInboundDebouncer, mn as warnMissingProviderGroupPolicyFallbackOnce, on as resolveDmGroupAccessWithCommandGate, pn as resolveOpenProviderRuntimeGroupPolicy, sn as resolveDmGroupAccessWithLists, t as getReplyFromConfig, tn as createDedupeCache, ut as buildPairingReply, y as computeBackoff, z as formatDurationPrecise } from "./reply-D4WNXysa.js";
1
+ import { A as resolveInboundDebounceMs, B as enqueueSystemEvent, D as dispatchReplyWithBufferedBlockDispatcher, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, Ft as buildHistoryContextFromEntries, Ht as buildMentionRegexes, L as normalizeGroupActivation, M as shouldComputeCommandAuthorized, N as registerUnhandledRejectionHandler, Nt as resolveEnvelopeFormatOptions, Pt as DEFAULT_GROUP_HISTORY_LIMIT, R as parseActivationCommand, Ut as normalizeMentionText, Vt as recordPendingHistoryEntryIfEnabled, an as readStoreAllowFromForDmPolicy, b as sleepWithAbort, fn as resolveDefaultGroupPolicy, j as hasControlCommand, jt as formatInboundEnvelope, k as createInboundDebouncer, mn as warnMissingProviderGroupPolicyFallbackOnce, on as resolveDmGroupAccessWithCommandGate, pn as resolveOpenProviderRuntimeGroupPolicy, sn as resolveDmGroupAccessWithLists, t as getReplyFromConfig, tn as createDedupeCache, ut as buildPairingReply, y as computeBackoff, z as formatDurationPrecise } from "./reply-DQSn23Jt.js";
2
2
  import { $c as getChildLogger, C as updateLastRoute, Ca as resolveWhatsAppAccount, Ea as getWebAuthAgeMs, Gc as logVerbose, Ic as createSubsystemLogger, Is as resolveGroupSessionKey, La as formatCliCommand, Ma as readWebSelfId, S as recordSessionMetaFromInbound, _s as buildGroupHistoryKey, b as loadSessionStore, bc as jidToE164, fc as clamp, ft as loadConfig, hs as buildAgentMainSessionKey, jc as toWhatsappJid, kc as sleep, ls as resolveChannelGroupPolicy, ms as DEFAULT_MAIN_KEY, ot as resolveStorePath, qc as shouldLogVerbose, ul as normalizeChatChannelId, us as resolveChannelGroupRequireMention, wc as resolveJidToE164, ws as DEFAULT_ACCOUNT_ID, x as readSessionUpdatedAt, xc as normalizeE164, yc as isSelfChatMode, ys as normalizeAgentId, zc as defaultRuntime } from "./runtime-Dxpfvz83.js";
3
3
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-C_6JDrWW.js";
4
4
  import { X as formatLocationText, Z as toLocationContext, at as upsertChannelPairingRequest, rt as readChannelAllowFromStoreSync } from "./send-5VxqNtsW.js";
@@ -2,7 +2,7 @@ import "./context-CffBTBRN.js";
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-BlX9jStp.js";
5
+ import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-CkAJPulJ.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -1,4 +1,4 @@
1
- import { $ as resolveSlackUserAllowlist, $t as listDevicePairing, At as summarizeMapping, Bt as recordPendingHistoryEntry, Ct as createTypingCallbacks, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, G as attachFooterText, Gt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, H as processLineMessage, It as buildPendingHistoryContextFromMap, Jt as isRequestBodyLimitError, Kt as RequestBodyLimitError, Lt as clearHistoryEntries, Mt as formatInboundFromLabel, Ot as resolveMentionGatingWithBypass, Pt as DEFAULT_GROUP_HISTORY_LIMIT, Qt as approveDevicePairing, Rt as clearHistoryEntriesIfEnabled, Sn as CHANNEL_MESSAGE_ACTION_NAMES, St as logTypingFailure, Tt as shouldAckReaction, U as stripMarkdown, V as hasMarkdownToConvert, Vt as recordPendingHistoryEntryIfEnabled, W as createReceiptCard, Wt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Xt as readRequestBodyWithLimit, Yt as readJsonBodyWithLimit, Zt as requestBodyErrorToText, _ as resolveDefaultLineAccountId, _n as formatAllowlistMatchMeta, _t as stringEnum, an as readStoreAllowFromForDmPolicy, at as autoBindSpawnedDiscordSubagent, bn as BLUEBUBBLES_ACTION_NAMES, bt as logAckFailure, cn as resolveEffectiveAllowFromLists, ct as isDangerousNameMatchingEnabled, dn as resolveAllowlistProviderRuntimeGroupPolicy, dt as formatDocsLink, en as rejectDevicePairing, et as resolveSlackChannelAllowlist, fn as resolveDefaultGroupPolicy, ft as registerAcpRuntimeBackend, g as normalizeAccountId$1, gn as registerPluginHttpRoute, gt as optionalStringEnum, h as listLineAccountIds, hn as assertOkOrThrowHttpError, ht as buildMediaPayload, in as DM_GROUP_ACCESS_REASON, it as collectDiscordAuditChannelIds, kt as mergeAllowlist, ln as resolveControlCommandGate, lt as issuePairingChallenge, mn as warnMissingProviderGroupPolicyFallbackOnce, mt as AcpRuntimeError, nn as extractToolSend, nt as resolveDiscordUserAllowlist, on as resolveDmGroupAccessWithCommandGate, ot as listThreadBindingsBySessionKey, pn as resolveOpenProviderRuntimeGroupPolicy, pt as unregisterAcpRuntimeBackend, qt as installRequestBodyLimitGuard, rn as withTempDownloadPath, rt as resolveDiscordChannelAllowlist, sn as resolveDmGroupAccessWithLists, st as unbindThreadBindingsBySessionKey, tn as createDedupeCache, tt as detectBinary, un as GROUP_POLICY_BLOCKED_LABEL, v as resolveLineAccount, vn as resolveAllowlistMatchSimple, vt as recordInboundSession, wt as removeAckReactionAfterReply, xn as BLUEBUBBLES_GROUP_ACTIONS, xt as logInboundDrop, yn as BLUEBUBBLES_ACTIONS, yt as resolveChannelMediaMaxBytes, zt as evictOldHistoryKeys } from "./reply-D4WNXysa.js";
1
+ import { $ as resolveSlackUserAllowlist, $t as listDevicePairing, At as summarizeMapping, Bt as recordPendingHistoryEntry, Ct as createTypingCallbacks, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, G as attachFooterText, Gt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, H as processLineMessage, It as buildPendingHistoryContextFromMap, Jt as isRequestBodyLimitError, Kt as RequestBodyLimitError, Lt as clearHistoryEntries, Mt as formatInboundFromLabel, Ot as resolveMentionGatingWithBypass, Pt as DEFAULT_GROUP_HISTORY_LIMIT, Qt as approveDevicePairing, Rt as clearHistoryEntriesIfEnabled, Sn as CHANNEL_MESSAGE_ACTION_NAMES, St as logTypingFailure, Tt as shouldAckReaction, U as stripMarkdown, V as hasMarkdownToConvert, Vt as recordPendingHistoryEntryIfEnabled, W as createReceiptCard, Wt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Xt as readRequestBodyWithLimit, Yt as readJsonBodyWithLimit, Zt as requestBodyErrorToText, _ as resolveDefaultLineAccountId, _n as formatAllowlistMatchMeta, _t as stringEnum, an as readStoreAllowFromForDmPolicy, at as autoBindSpawnedDiscordSubagent, bn as BLUEBUBBLES_ACTION_NAMES, bt as logAckFailure, cn as resolveEffectiveAllowFromLists, ct as isDangerousNameMatchingEnabled, dn as resolveAllowlistProviderRuntimeGroupPolicy, dt as formatDocsLink, en as rejectDevicePairing, et as resolveSlackChannelAllowlist, fn as resolveDefaultGroupPolicy, ft as registerAcpRuntimeBackend, g as normalizeAccountId$1, gn as registerPluginHttpRoute, gt as optionalStringEnum, h as listLineAccountIds, hn as assertOkOrThrowHttpError, ht as buildMediaPayload, in as DM_GROUP_ACCESS_REASON, it as collectDiscordAuditChannelIds, kt as mergeAllowlist, ln as resolveControlCommandGate, lt as issuePairingChallenge, mn as warnMissingProviderGroupPolicyFallbackOnce, mt as AcpRuntimeError, nn as extractToolSend, nt as resolveDiscordUserAllowlist, on as resolveDmGroupAccessWithCommandGate, ot as listThreadBindingsBySessionKey, pn as resolveOpenProviderRuntimeGroupPolicy, pt as unregisterAcpRuntimeBackend, qt as installRequestBodyLimitGuard, rn as withTempDownloadPath, rt as resolveDiscordChannelAllowlist, sn as resolveDmGroupAccessWithLists, st as unbindThreadBindingsBySessionKey, tn as createDedupeCache, tt as detectBinary, un as GROUP_POLICY_BLOCKED_LABEL, v as resolveLineAccount, vn as resolveAllowlistMatchSimple, vt as recordInboundSession, wt as removeAckReactionAfterReply, xn as BLUEBUBBLES_GROUP_ACTIONS, xt as logInboundDrop, yn as BLUEBUBBLES_ACTIONS, yt as resolveChannelMediaMaxBytes, zt as evictOldHistoryKeys } from "./reply-DQSn23Jt.js";
2
2
  import { $i as normalizeWhatsAppMessagingTarget, $o as resolveSignalAccount, Ai as listDiscordDirectoryGroupsFromConfig, Bo as isTruthyEnvValue, Bt as GroupPolicySchema, Ca as resolveWhatsAppAccount, Ct as MSTeamsConfigSchema, Ec as safeParseJson, Et as TelegramConfigSchema, Fi as listTelegramDirectoryPeersFromConfig, Go as resolveDefaultSlackAccountId, Gt as TtsConfigSchema, Ha as resolveDefaultTelegramAccountId, Ho as buildSlackThreadingToolContext, Ht as MarkdownTableModeSchema, Ii as listWhatsAppDirectoryGroupsFromConfig, It as ToolPolicySchema, Jt as normalizeAllowFrom, Ko as resolveSlackAccount, Kt as TtsModeSchema, La as formatCliCommand, Lc as stripAnsi, Li as listWhatsAppDirectoryPeersFromConfig, Lr as acquireFileLock, Lt as BlockStreamingCoalesceSchema, Mi as listSlackDirectoryGroupsFromConfig, Ni as listSlackDirectoryPeersFromConfig, Pi as listTelegramDirectoryGroupsFromConfig, Qi as normalizeWhatsAppAllowFromEntries, Qo as resolveDefaultSignalAccountId, Ri as looksLikeSlackTargetId, Rr as withFileLock, Rt as DmConfigSchema, Sa as resolveDefaultWhatsAppAccountId, Sc as pathExists, Ss as resolveThreadSessionKeys, St as IMessageConfigSchema, Ts as normalizeAccountId, Tt as SlackConfigSchema, Ua as resolveTelegramAccount, Uo as listEnabledSlackAccounts, Ut as ReplyRuntimeConfigSchemaShape, Va as listTelegramAccountIds, Vt as MarkdownConfigSchema, Wo as listSlackAccountIds, Wt as TtsAutoSchema, Xi as resolveWhatsAppMentionStripPatterns, Yi as resolveWhatsAppGroupIntroHint, Yt as requireOpenAllowFrom, Zi as looksLikeWhatsAppTargetId, Zo as listSignalAccountIds, _a as resolveTelegramGroupToolPolicy, aa as normalizeSignalMessagingTarget, bt as DiscordConfigSchema, ca as resolveDiscordGroupRequireMention, da as resolveGoogleChatGroupToolPolicy, dc as CONFIG_DIR, dl as normalizePluginHttpPath, ea as looksLikeHandleOrPhoneTarget, el as registerLogTransport, es as listIMessageAccountIds, fa as resolveIMessageGroupRequireMention, fc as clamp, fi as formatErrorMessage, fs as resolveToolsBySender, ga as resolveTelegramGroupRequireMention, gc as escapeRegExp, ha as resolveSlackGroupToolPolicy, hi as redactSensitiveText, ia as looksLikeSignalTargetId, il as getChatChannelMeta, is as listDiscordAccountIds, ji as listDiscordDirectoryPeersFromConfig, kc as sleep, la as resolveDiscordGroupToolPolicy, ma as resolveSlackGroupRequireMention, na as isWhatsAppGroupJid, ns as resolveIMessageAccount, oa as resolveBlueBubblesGroupRequireMention, os as resolveDefaultDiscordAccountId, pa as resolveIMessageGroupToolPolicy, qo as resolveSlackReplyToMode, qt as TtsProviderSchema, ra as normalizeWhatsAppTarget, rl as resolvePreferredFasedAgentTmpDir, sa as resolveBlueBubblesGroupToolPolicy, ss as resolveDiscordAccount, t as getActivePluginRegistry, ta as trimMessagingTarget, ts as resolveDefaultIMessageAccountId, ua as resolveGoogleChatGroupRequireMention, va as resolveWhatsAppGroupRequireMention, vc as isRecord, vi as extractArchive, wa as resolveWhatsAppAuthDir, ws as DEFAULT_ACCOUNT_ID, wt as SignalConfigSchema, xa as listWhatsAppAccountIds, xc as normalizeE164, xt as GoogleChatConfigSchema, ya as resolveWhatsAppGroupToolPolicy, yo as runCommandWithTimeout, yt as WhatsAppConfigSchema, zi as normalizeSlackMessagingTarget, zt as DmPolicySchema } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import { At as resolveNestedAllowlistDecision, Dt as normalizeChannelSlug, Et as buildChannelKeyCandidates, Ot as resolveChannelEntryMatch, dt as normalizeDiscordSlug, it as parseDiscordTarget, kt as resolveChannelEntryMatchWithFallback } from "./send-Des0LL0Y.js";
@@ -25,7 +25,7 @@ import "./markdown-tables-trVxBCrI.js";
25
25
  import "./render-DzUFCfck.js";
26
26
  import "./tables-DjSNh4Qx.js";
27
27
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-DyNIwkzd.js";
28
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DoGtD0PQ.js";
28
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-QaRgsb6f.js";
29
29
  import "./commands-registry-D-wBX44P.js";
30
30
  import "./pi-model-discovery-DMqhr7U_.js";
31
31
  import "./send-Bf5cNKV-.js";
@@ -1,4 +1,4 @@
1
- import { F as emitAgentEvent, I as onAgentEvent, J as resolveSessionKey, K as createDefaultDeps, X as setSseHeaders, Y as sendJson, Z as writeDone, a as DEFAULT_INPUT_TIMEOUT_MS, c as normalizeMimeList, d as handleGatewayPostJsonEndpoint, f as buildAgentMessageFromConversationEntries, i as DEFAULT_INPUT_MAX_REDIRECTS, l as resolveInputFileLimits, m as agentCommand, n as DEFAULT_INPUT_IMAGE_MAX_BYTES, o as extractFileContentFromSource, p as resolveAssistantStreamDeltaText, q as resolveAgentIdForRequest, r as DEFAULT_INPUT_IMAGE_MIMES, s as extractImageContentFromSource } from "./reply-D4WNXysa.js";
1
+ import { F as emitAgentEvent, I as onAgentEvent, J as resolveSessionKey, K as createDefaultDeps, X as setSseHeaders, Y as sendJson, Z as writeDone, a as DEFAULT_INPUT_TIMEOUT_MS, c as normalizeMimeList, d as handleGatewayPostJsonEndpoint, f as buildAgentMessageFromConversationEntries, i as DEFAULT_INPUT_MAX_REDIRECTS, l as resolveInputFileLimits, m as agentCommand, n as DEFAULT_INPUT_IMAGE_MAX_BYTES, o as extractFileContentFromSource, p as resolveAssistantStreamDeltaText, q as resolveAgentIdForRequest, r as DEFAULT_INPUT_IMAGE_MIMES, s as extractImageContentFromSource } from "./reply-DQSn23Jt.js";
2
2
  import { To as logWarn, zc as defaultRuntime } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -2,7 +2,7 @@ import { ga as defaultRuntime, ma as logWarn } from "./context-CffBTBRN.js";
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { B as extractFileContentFromSource, H as normalizeMimeList, I as DEFAULT_INPUT_IMAGE_MAX_BYTES, L as DEFAULT_INPUT_IMAGE_MIMES, Q as onAgentEvent, R as DEFAULT_INPUT_MAX_REDIRECTS, U as resolveInputFileLimits, V as extractImageContentFromSource, Z as emitAgentEvent, a as buildAgentMessageFromConversationEntries, at as resolveSessionKey, ct as writeDone, i as handleGatewayPostJsonEndpoint, it as resolveAgentIdForRequest, o as resolveAssistantStreamDeltaText, ot as sendJson, rt as createDefaultDeps, s as agentCommand, st as setSseHeaders, z as DEFAULT_INPUT_TIMEOUT_MS } from "./status-BlX9jStp.js";
5
+ import { B as extractFileContentFromSource, H as normalizeMimeList, I as DEFAULT_INPUT_IMAGE_MAX_BYTES, L as DEFAULT_INPUT_IMAGE_MIMES, Q as onAgentEvent, R as DEFAULT_INPUT_MAX_REDIRECTS, U as resolveInputFileLimits, V as extractImageContentFromSource, Z as emitAgentEvent, a as buildAgentMessageFromConversationEntries, at as resolveSessionKey, ct as writeDone, i as handleGatewayPostJsonEndpoint, it as resolveAgentIdForRequest, o as resolveAssistantStreamDeltaText, ot as sendJson, rt as createDefaultDeps, s as agentCommand, st as setSseHeaders, z as DEFAULT_INPUT_TIMEOUT_MS } from "./status-CkAJPulJ.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -4078,7 +4078,7 @@ async function resolveDiscordUserAllowlist(params) {
4078
4078
 
4079
4079
  //#endregion
4080
4080
  //#region src/brand.ts
4081
- const FASED_PRODUCT_VERSION = "0.1.30";
4081
+ const FASED_PRODUCT_VERSION = "0.1.31";
4082
4082
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
4083
4083
 
4084
4084
  //#endregion
@@ -20549,7 +20549,7 @@ function createOutboundSendDepsFromCliSource(deps) {
20549
20549
  function createDefaultDeps() {
20550
20550
  return {
20551
20551
  sendMessageWhatsApp: async (...args) => {
20552
- const { sendMessageWhatsApp } = await import("./web-Cr8AJx43.js");
20552
+ const { sendMessageWhatsApp } = await import("./web-0HkZCM7O.js");
20553
20553
  return await sendMessageWhatsApp(...args);
20554
20554
  },
20555
20555
  sendMessageTelegram: async (...args) => {
@@ -82837,7 +82837,7 @@ async function preflightDiscordMessage(params) {
82837
82837
  let preflightTranscript;
82838
82838
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
82839
82839
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
82840
- const { transcribeFirstAudio } = await import("./audio-preflight-B-__-RfZ.js");
82840
+ const { transcribeFirstAudio } = await import("./audio-preflight-DeP8VHC6.js");
82841
82841
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
82842
82842
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
82843
82843
  ctx: {
@@ -100666,7 +100666,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
100666
100666
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
100667
100667
  let preflightTranscript;
100668
100668
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
100669
- const { transcribeFirstAudio } = await import("./audio-preflight-B-__-RfZ.js");
100669
+ const { transcribeFirstAudio } = await import("./audio-preflight-DeP8VHC6.js");
100670
100670
  preflightTranscript = await transcribeFirstAudio({
100671
100671
  ctx: {
100672
100672
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -103292,7 +103292,7 @@ function loadWebLoginQr() {
103292
103292
  return webLoginQrPromise;
103293
103293
  }
103294
103294
  function loadWebChannel() {
103295
- webChannelPromise ??= import("./web-Cr8AJx43.js");
103295
+ webChannelPromise ??= import("./web-0HkZCM7O.js");
103296
103296
  return webChannelPromise;
103297
103297
  }
103298
103298
  function loadWhatsAppActions() {
@@ -1,6 +1,6 @@
1
1
  export declare const FASED_BRAND_NAME = "Fased";
2
2
  export declare const FASED_AGENT_NAME = "Fased Agent";
3
3
  export declare const FASED_CONTROL_NAME = "Fased Control";
4
- export declare const FASED_PRODUCT_VERSION = "0.1.30";
5
- export declare const FASED_DISPLAY_VERSION = "v0.1.30";
4
+ export declare const FASED_PRODUCT_VERSION = "0.1.31";
5
+ export declare const FASED_DISPLAY_VERSION = "v0.1.31";
6
6
  export declare function formatFasedDisplayLine(): string;
@@ -17007,7 +17007,7 @@ function createOutboundSendDepsFromCliSource(deps) {
17007
17007
  function createDefaultDeps() {
17008
17008
  return {
17009
17009
  sendMessageWhatsApp: async (...args) => {
17010
- const { sendMessageWhatsApp } = await import("./web-CEucw6Dl.js");
17010
+ const { sendMessageWhatsApp } = await import("./web-Cav7vEAd.js");
17011
17011
  return await sendMessageWhatsApp(...args);
17012
17012
  },
17013
17013
  sendMessageTelegram: async (...args) => {
@@ -101684,7 +101684,7 @@ async function preflightDiscordMessage(params) {
101684
101684
  let preflightTranscript;
101685
101685
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
101686
101686
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
101687
- const { transcribeFirstAudio } = await import("./audio-preflight-DcJUk03P.js");
101687
+ const { transcribeFirstAudio } = await import("./audio-preflight-B-GNQeK0.js");
101688
101688
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
101689
101689
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
101690
101690
  ctx: {
@@ -108981,7 +108981,7 @@ async function waitForTransportReady(params) {
108981
108981
 
108982
108982
  //#endregion
108983
108983
  //#region src/brand.ts
108984
- const FASED_PRODUCT_VERSION = "0.1.30";
108984
+ const FASED_PRODUCT_VERSION = "0.1.31";
108985
108985
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
108986
108986
 
108987
108987
  //#endregion
@@ -118604,7 +118604,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
118604
118604
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
118605
118605
  let preflightTranscript;
118606
118606
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
118607
- const { transcribeFirstAudio } = await import("./audio-preflight-DcJUk03P.js");
118607
+ const { transcribeFirstAudio } = await import("./audio-preflight-B-GNQeK0.js");
118608
118608
  preflightTranscript = await transcribeFirstAudio({
118609
118609
  ctx: {
118610
118610
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -121230,7 +121230,7 @@ function loadWebLoginQr() {
121230
121230
  return webLoginQrPromise;
121231
121231
  }
121232
121232
  function loadWebChannel() {
121233
- webChannelPromise ??= import("./web-CEucw6Dl.js");
121233
+ webChannelPromise ??= import("./web-Cav7vEAd.js");
121234
121234
  return webChannelPromise;
121235
121235
  }
121236
121236
  function loadWhatsAppActions() {
@@ -1,4 +1,4 @@
1
- import "./reply-D4WNXysa.js";
1
+ import "./reply-DQSn23Jt.js";
2
2
  import { Aa as pickWebChannel, Da as logWebSelfId, Ia as webAuthExists, Ta as WA_WEB_AUTH_DIR } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -22,7 +22,7 @@ import "./channel-activity-NWX3LiLh.js";
22
22
  import "./markdown-tables-trVxBCrI.js";
23
23
  import "./render-DzUFCfck.js";
24
24
  import "./tables-DjSNh4Qx.js";
25
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DoGtD0PQ.js";
25
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-QaRgsb6f.js";
26
26
  import "./commands-registry-D-wBX44P.js";
27
27
  import "./pi-model-discovery-DMqhr7U_.js";
28
28
  import "./send-Bf5cNKV-.js";
@@ -2,7 +2,7 @@ import { $a as normalizeAgentId, $r as resolveStorePath, Di as formatCliCommand,
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { $ as normalizeGroupActivation, D as resolveEnvelopeFormatOptions, E as formatInboundEnvelope, G as hasControlCommand, J as normalizeMentionText, K as shouldComputeCommandAuthorized, O as createDedupeCache, S as dispatchReplyWithBufferedBlockDispatcher, T as resolveInboundDebounceMs, Y as registerUnhandledRejectionHandler, _ as warnMissingProviderGroupPolicyFallbackOnce, b as resolveDmGroupAccessWithLists, c as computeBackoff, d as resolveMentionGating, et as parseActivationCommand, f as DEFAULT_GROUP_HISTORY_LIMIT, g as resolveOpenProviderRuntimeGroupPolicy, h as resolveDefaultGroupPolicy, k as getReplyFromConfig, l as sleepWithAbort, m as recordPendingHistoryEntryIfEnabled, nt as enqueueSystemEvent, p as buildHistoryContextFromEntries, q as buildMentionRegexes, tt as formatDurationPrecise, u as buildPairingReply, v as readStoreAllowFromForDmPolicy, w as createInboundDebouncer, x as shouldAckReactionForWhatsApp, y as resolveDmGroupAccessWithCommandGate } from "./status-BlX9jStp.js";
5
+ import { $ as normalizeGroupActivation, D as resolveEnvelopeFormatOptions, E as formatInboundEnvelope, G as hasControlCommand, J as normalizeMentionText, K as shouldComputeCommandAuthorized, O as createDedupeCache, S as dispatchReplyWithBufferedBlockDispatcher, T as resolveInboundDebounceMs, Y as registerUnhandledRejectionHandler, _ as warnMissingProviderGroupPolicyFallbackOnce, b as resolveDmGroupAccessWithLists, c as computeBackoff, d as resolveMentionGating, et as parseActivationCommand, f as DEFAULT_GROUP_HISTORY_LIMIT, g as resolveOpenProviderRuntimeGroupPolicy, h as resolveDefaultGroupPolicy, k as getReplyFromConfig, l as sleepWithAbort, m as recordPendingHistoryEntryIfEnabled, nt as enqueueSystemEvent, p as buildHistoryContextFromEntries, q as buildMentionRegexes, tt as formatDurationPrecise, u as buildPairingReply, v as readStoreAllowFromForDmPolicy, w as createInboundDebouncer, x as shouldAckReactionForWhatsApp, y as resolveDmGroupAccessWithCommandGate } from "./status-CkAJPulJ.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-C_6JDrWW.js";
@@ -2,7 +2,7 @@ import { _ as resolveStateDir } from "./paths-C9FmTW1x.js";
2
2
  import { S as resolveUserPath, T as shortenHomePath, U as theme, w as shortenHomeInString, y as resolveConfigDir } from "./agent-paths-DmOVZE7g.js";
3
3
  import { Dn as loadConfig, Mn as writeConfigFile, Tl as installPluginFromPath, fo as resolveBundledPluginsDir, lu as resolveArchiveKind, wl as installPluginFromNpmSpec } from "./agent-scope-CrCe9L5D.js";
4
4
  import "./commands-registry-yEHQnayd.js";
5
- import { rs as promptYesNo } from "./reply-DVGmtLPq.js";
5
+ import { rs as promptYesNo } from "./reply-jrONH9Y7.js";
6
6
  import { d as defaultRuntime } from "./errors-Dx3S3Nrp.js";
7
7
  import "./send-Dbz4ciHO.js";
8
8
  import "./send-BdbzQtpU.js";
@@ -37,7 +37,7 @@ import "./ssrf-Blf4NrHS.js";
37
37
  import "./outbound-attachment-CWs_0-GB.js";
38
38
  import "./fetch-C7U6zkCW.js";
39
39
  import "./delivery-queue-D3PC9MW-.js";
40
- import "./deps-sd-SQKYn.js";
40
+ import "./deps-BWahcXVa.js";
41
41
  import "./memory-_djkFopW.js";
42
42
  import "./memory-search-DooAj6Eu.js";
43
43
  import "./manager-bJh9XOLh.js";
@@ -79,10 +79,10 @@ import "./pairing-labels-v1JixmOK.js";
79
79
  import { t as renderTable } from "./table-BMmOL0ek.js";
80
80
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-BkfuwL4G.js";
81
81
  import "./installs-8bxu3Tg4.js";
82
- import { t as buildPluginStatusReport } from "./status-B39ZJFhD.js";
82
+ import { t as buildPluginStatusReport } from "./status-aMuRqtjs.js";
83
83
  import { r as findBundledPluginByNpmSpec } from "./update-DSvuG3PT.js";
84
- import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-DUPuKIvd.js";
85
- import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-CHz5azhO.js";
84
+ import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-DN1VLZsk.js";
85
+ import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-kih7jkmx.js";
86
86
  import { n as resolvePinnedNpmInstallRecordForCli } from "./npm-resolution-BrUQDWLg.js";
87
87
  import fs from "node:fs";
88
88
  import os from "node:os";
@@ -2,7 +2,7 @@ import { $c as installPluginFromNpmSpec, Fa as resolveBundledPluginsDir, Xt as l
2
2
  import { C as shortenHomeInString, H as theme, v as resolveConfigDir, w as shortenHomePath, x as resolveUserPath } from "./agent-paths-BI1hx-tF.js";
3
3
  import "./send-DiY-R7xq.js";
4
4
  import "./send-D52Cqe9Z.js";
5
- import { To as promptYesNo } from "./model-catalog-DOuyqwFa.js";
5
+ import { To as promptYesNo } from "./model-catalog-DTeRSOlM.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime, Ct as resolveStateDir } from "./entry.js";
8
8
  import "./reply-prefix-CKOTLAs6.js";
@@ -45,7 +45,7 @@ import "./send-tByitNFq.js";
45
45
  import "./outbound-attachment-DjAMOo70.js";
46
46
  import "./fetch-C1-cYcji.js";
47
47
  import "./delivery-queue-D7zHbNm4.js";
48
- import "./deps-QnUngXA3.js";
48
+ import "./deps-CkOczIqw.js";
49
49
  import "./frontmatter-BPHGMwFk.js";
50
50
  import "./skills-2eSRzTmM.js";
51
51
  import "./skills-remote-CQrWVunR.js";
@@ -77,10 +77,10 @@ import "./pairing-labels-u5J0k1yz.js";
77
77
  import { t as renderTable } from "./table-DiHPQeoC.js";
78
78
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-CK2zjW1B.js";
79
79
  import "./installs-C05yaQSr.js";
80
- import { t as buildPluginStatusReport } from "./status-Doqt5wXN.js";
80
+ import { t as buildPluginStatusReport } from "./status-DkMo6n1P.js";
81
81
  import { r as findBundledPluginByNpmSpec } from "./update-CfW8YMNn.js";
82
- import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-Dd-6tFQk.js";
83
- import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-BQl2Y_KJ.js";
82
+ import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-DXPbWOOF.js";
83
+ import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-Jas30vI5.js";
84
84
  import { n as resolvePinnedNpmInstallRecordForCli } from "./npm-resolution-B57c8j7x.js";
85
85
  import os from "node:os";
86
86
  import path from "node:path";
@@ -2,7 +2,7 @@ import { Tu as resolveCliName, Yc as VERSION, t as isTruthyEnvValue, wu as repla
2
2
  import { $ as tryParseLogLevel, H as theme, I as setVerbose, V as isRich, X as ALLOWED_LOG_LEVELS, d as escapeRegExp } from "./agent-paths-BI1hx-tF.js";
3
3
  import "./send-DiY-R7xq.js";
4
4
  import "./send-D52Cqe9Z.js";
5
- import { I as emitCliBanner, L as formatCliBannerLine, R as hasEmittedCliBanner } from "./model-catalog-DOuyqwFa.js";
5
+ import { I as emitCliBanner, L as formatCliBannerLine, R as hasEmittedCliBanner } from "./model-catalog-DTeRSOlM.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime, At as getVerboseFlag, Et as getCommandPath, Mt as hasHelpOrVersion, Nt as hasRootVersionAlias, jt as hasFlag } from "./entry.js";
8
8
  import "./reply-prefix-CKOTLAs6.js";
@@ -45,7 +45,7 @@ import "./send-tByitNFq.js";
45
45
  import "./outbound-attachment-DjAMOo70.js";
46
46
  import "./fetch-C1-cYcji.js";
47
47
  import "./delivery-queue-D7zHbNm4.js";
48
- import "./deps-QnUngXA3.js";
48
+ import "./deps-CkOczIqw.js";
49
49
  import "./frontmatter-BPHGMwFk.js";
50
50
  import "./skills-2eSRzTmM.js";
51
51
  import "./skills-remote-CQrWVunR.js";
@@ -74,10 +74,10 @@ import "./progress-DkVYFLij.js";
74
74
  import "./replies-B5LeYSuO.js";
75
75
  import "./prompt-style-Rmj3c-Ir.js";
76
76
  import "./pairing-labels-u5J0k1yz.js";
77
- import "./plugin-registry-CIiRwpQv.js";
78
- import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-DUqMyqko.js";
79
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-DEnba1hq.js";
80
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-mptWJW8S.js";
77
+ import "./plugin-registry-DA_1IBe0.js";
78
+ import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-BT7FBzs-.js";
79
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BT84Bn-_.js";
80
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-CU64eZmw.js";
81
81
  import { r as setProgramContext } from "./program-context-CDFrVtWb.js";
82
82
  import { t as forceFreePort } from "./ports-fooOSczz.js";
83
83
  import { Command, InvalidArgumentError } from "commander";
@@ -224,7 +224,7 @@ function registerPreActionHooks(program, programVersion) {
224
224
  commandPath
225
225
  });
226
226
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
227
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-CIiRwpQv.js").then((n) => n.n);
227
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-DA_1IBe0.js").then((n) => n.n);
228
228
  ensurePluginRegistryLoaded();
229
229
  }
230
230
  });