@fased/fased 0.1.67 → 0.1.69

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 (187) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +20 -22
  3. package/config/sat-runtime.env +6 -2
  4. package/config/signer-protocol-v2.json +10 -0
  5. package/dist/agents/tools/wallet-action-tool.js +2 -0
  6. package/dist/agents/tools/wallet-tool.js +5 -3
  7. package/dist/brand.js +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  10. package/dist/cli/program/register.wallet.js +119 -5
  11. package/dist/commands/wallet.js +1286 -74
  12. package/dist/config/sat-runtime-ids.js +6 -1
  13. package/dist/control-ui/assets/{app-De8gTtZU.js → app-BLFLoFPk.js} +1526 -1526
  14. package/dist/control-ui/assets/{federation-DgA9e-Pn.js → federation-SGMAnM_8.js} +2 -2
  15. package/dist/control-ui/assets/{index-DYYBRBOS.js → index-S88kp5ZQ.js} +3 -3
  16. package/dist/control-ui/assets/{mining-Dg-3ll0F.js → mining-ClI8RW4u.js} +2 -2
  17. package/dist/control-ui/assets/{wallet-DvStR_AT.js → wallet-CRIhDQbW.js} +325 -156
  18. package/dist/control-ui/index.html +1 -1
  19. package/dist/control-ui/version.json +1 -1
  20. package/dist/gateway/server-http.js +394 -55
  21. package/dist/mining/mainnet-sync.js +67 -5
  22. package/dist/operator/operator-readiness.js +1 -1
  23. package/dist/plugin-sdk/{actions-DRu135h0.js → actions-B-Vwj64K.js} +3 -3
  24. package/dist/plugin-sdk/{allow-list-DyAxs4yw.js → allow-list-Bf45HfoP.js} +1 -1
  25. package/dist/plugin-sdk/{audio-preflight-Dq_rJtqH.js → audio-preflight-CS7Q_7-R.js} +26 -25
  26. package/dist/plugin-sdk/{audit-C5d2z5U1.js → audit-CUULWG22.js} +1 -1
  27. package/dist/plugin-sdk/{channel-access-configure-DaI5wevh.js → channel-access-configure-BoUsC-Ys.js} +1 -1
  28. package/dist/plugin-sdk/{channel-adapters.discord-BS4S4Svh.js → channel-adapters.discord-DSiR4X2Y.js} +1 -1
  29. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  30. package/dist/plugin-sdk/channel-plugin-common.js +1 -1
  31. package/dist/plugin-sdk/{chunk-CyoyqpbG.js → chunk-CBpl-AiQ.js} +1 -1
  32. package/dist/plugin-sdk/{chunk-items-Dunoq4Er.js → chunk-items-BLBZNORg.js} +1 -1
  33. package/dist/plugin-sdk/command-status.js +26 -25
  34. package/dist/plugin-sdk/{commands-registry-BfqdEWdF.js → commands-registry-G5KXSi_y.js} +1 -1
  35. package/dist/plugin-sdk/{config-schema--vl89M7d.js → config-schema-BiBOUW89.js} +431 -125
  36. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  37. package/dist/plugin-sdk/{diagnostic-DLL_zekv.js → diagnostic-sYs6Agr-.js} +1 -1
  38. package/dist/plugin-sdk/{directory-live-CSuYxdwk.js → directory-live-BXMpuYAF.js} +1 -1
  39. package/dist/plugin-sdk/{directory-live-Dw7ZgC9_.js → directory-live-Rn1BzPof.js} +1 -1
  40. package/dist/plugin-sdk/discord.d.ts +4 -4
  41. package/dist/plugin-sdk/discord.js +20 -20
  42. package/dist/plugin-sdk/{draft-stream-controls-BqchW1vi.js → draft-stream-controls-CMNdKSx-.js} +1 -1
  43. package/dist/plugin-sdk/{guilds-CDhRIX57.js → guilds-Dkwl0yHv.js} +1 -1
  44. package/dist/plugin-sdk/{handle-action-hvwapMKg.js → handle-action-CRdM6B-8.js} +15 -15
  45. package/dist/plugin-sdk/index.d.ts +15 -15
  46. package/dist/plugin-sdk/index.js +28 -27
  47. package/dist/plugin-sdk/{login-Ca583Okc.js → login-D7WnK8-P.js} +1 -1
  48. package/dist/plugin-sdk/{login-qr-CGciBSNP.js → login-qr-CRueOKZK.js} +2 -114
  49. package/dist/plugin-sdk/{markdown-tables-DCOXEUfZ.js → markdown-tables-d7GlUs5R.js} +1 -1
  50. package/dist/plugin-sdk/{media-CAdQF5TG.js → media-BAoaxCrt.js} +1 -1
  51. package/dist/plugin-sdk/{monitor-DrTy_4CL.js → monitor-WXdn4mR-.js} +34 -33
  52. package/dist/plugin-sdk/{monitor-CV1sr0p2.js → monitor-xzVAPbg2.js} +44 -43
  53. package/dist/plugin-sdk/{openresponses-http-BAjgURZa.js → openresponses-http-DnI1LFgq.js} +26 -25
  54. package/dist/plugin-sdk/{outbound-attachment-QqTnIhZL.js → outbound-attachment-CyXM3cAv.js} +1 -1
  55. package/dist/plugin-sdk/{outbound-BgVDdHxx.js → outbound-zB6llMGW.js} +6 -6
  56. package/dist/plugin-sdk/{pairing-message-BjIJYVvp.d.ts → pairing-message-CiTcdD6m.d.ts} +1 -1
  57. package/dist/plugin-sdk/{pairing-store-BChahgI2.js → pairing-store-B6J2C0vP.js} +1 -1
  58. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxTMz_XF.js → pi-model-discovery-runtime-6JzLw9Gk.js} +1 -1
  59. package/dist/plugin-sdk/{probe-CJb5uR8B.js → probe-BM7Oe40M.js} +2 -2
  60. package/dist/plugin-sdk/{probe-l_whvGLY.js → probe-CMPksimh.js} +1 -1
  61. package/dist/plugin-sdk/{probe-BFroeK3g.js → probe-oVp12D6L.js} +1 -1
  62. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  63. package/dist/plugin-sdk/{pw-ai-DlxqX6Es.js → pw-ai-DZYLDC-S.js} +1 -1
  64. package/dist/plugin-sdk/qr-image-B4MlMG4N.js +115 -0
  65. package/dist/plugin-sdk/{replies-ChYo5ZQM.js → replies-CY-V0Zob.js} +3 -3
  66. package/dist/plugin-sdk/{resolve-channels-87LZrFk_.js → resolve-channels-1HtDcMqh.js} +2 -2
  67. package/dist/plugin-sdk/{resolve-channels-_-nV-EK2.js → resolve-channels-CU72Qh2j.js} +1 -1
  68. package/dist/plugin-sdk/{resolve-outbound-target-D-KGgHJZ.js → resolve-outbound-target-nQSBVYz9.js} +2 -2
  69. package/dist/plugin-sdk/{resolve-route-C8tvQm8Z.js → resolve-route-Dufnu2cT.js} +1 -1
  70. package/dist/plugin-sdk/{resolve-users-DN9VQBwv.js → resolve-users-Bk_ss2vC.js} +1 -1
  71. package/dist/plugin-sdk/{resolve-users-V6dHh_2B.js → resolve-users-IevCOk4W.js} +2 -2
  72. package/dist/plugin-sdk/{runtime-2B9_WKoI.js → runtime-CXSQwMaR.js} +1 -1
  73. package/dist/plugin-sdk/{runtime-dependency-nup8niQL.js → runtime-dependency-DczkvPxn.js} +9 -9
  74. package/dist/plugin-sdk/sat-runtime.d.ts +105 -10
  75. package/dist/plugin-sdk/sat-runtime.js +26 -25
  76. package/dist/plugin-sdk/{send-DCO441U7.js → send-BXBS_mRK.js} +8 -8
  77. package/dist/plugin-sdk/{send-CFzGKJXo.js → send-D-HfKQZm.js} +4 -4
  78. package/dist/plugin-sdk/{send-B6KkGKZD.js → send-D1j12ZgX.js} +5 -5
  79. package/dist/plugin-sdk/{send-q9HXrSwK.js → send-DWKm6yay.js} +10 -10
  80. package/dist/plugin-sdk/{send-gDoGA-7e.js → send-Di1Jit3L.js} +7 -7
  81. package/dist/plugin-sdk/{skill-commands-FKEPLS7T.js → skill-commands-iJtvpqgb.js} +2 -2
  82. package/dist/plugin-sdk/{slack-DSC6T2KW.js → slack-CkIRVDUK.js} +45 -44
  83. package/dist/plugin-sdk/{slack-actions-DhbMcp8M.js → slack-actions-BzUEszJa.js} +10 -10
  84. package/dist/plugin-sdk/slack.d.ts +4 -4
  85. package/dist/plugin-sdk/slack.js +6 -6
  86. package/dist/plugin-sdk/{sticker-cache-C0l_5IKg.js → sticker-cache-Dpap5ce_.js} +2 -2
  87. package/dist/plugin-sdk/{tables-B3jr0Pvq.js → tables-_1W36GII.js} +2 -2
  88. package/dist/plugin-sdk/{targets-CtSbTxYX.js → targets-DDbNnLnB.js} +2 -2
  89. package/dist/plugin-sdk/{telegram-actions-BwGBIVDE.js → telegram-actions-Cewdga8H.js} +30 -29
  90. package/dist/plugin-sdk/telegram.d.ts +4 -4
  91. package/dist/plugin-sdk/telegram.js +3 -3
  92. package/dist/plugin-sdk/{thread-bindings.lifecycle-QbkNl-m6.js → thread-bindings.lifecycle-Y9T3CQGf.js} +3 -3
  93. package/dist/plugin-sdk/{thread-bindings.state-D9hg_M1c.js → thread-bindings.state-D2oOWDpv.js} +1 -1
  94. package/dist/plugin-sdk/{tmp-fased-dir-DXnGKKgi.d.ts → tmp-fased-dir-BSEHc8MQ.d.ts} +8 -2
  95. package/dist/plugin-sdk/{types-eG9aYqXF.d.ts → types-BakzIzGN.d.ts} +1 -1
  96. package/dist/plugin-sdk/{types-Cegc86EP.d.ts → types-CzF0YQqK.d.ts} +3 -3
  97. package/dist/plugin-sdk/{web-C_AH5PyB.js → web-DGWi7i3B.js} +33 -32
  98. package/dist/plugin-sdk/{whatsapp-actions-Bj_rOncr.js → whatsapp-actions-Blu9-eX-.js} +9 -9
  99. package/dist/plugin-sdk/{whatsapp-heartbeat-B1WHkJIg.js → whatsapp-heartbeat-DjmQM7hq.js} +2 -2
  100. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  101. package/dist/plugin-sdk/whatsapp.js +7 -7
  102. package/dist/plugin-sdk/{wsl-J-HscWxS.js → wsl-CTvIWvZz.js} +1 -1
  103. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
  104. package/dist/wallet/local-socket-signer-lifecycle.js +107 -3
  105. package/dist/wallet/local-socket-signer-protocol.js +97 -10
  106. package/dist/wallet/mining-wallet-retirement.js +256 -0
  107. package/dist/wallet/providers/local-socket-signer-adapter.js +10 -0
  108. package/dist/wallet/signer-network-admin.js +11 -118
  109. package/dist/wallet/signer-protocol-v2.generated.js +10 -0
  110. package/dist/wallet/solana-assets.js +9 -3
  111. package/dist/wallet/solana-rpc-read-fetch.js +65 -0
  112. package/dist/wallet/wallet-agent-selection.js +6 -10
  113. package/dist/wallet/wallet-provider-registry.js +70 -29
  114. package/dist/wallet/wallet-send-approvals.js +6 -2
  115. package/dist/wallet/wallet-status.js +63 -1
  116. package/dist/web/login-qr.js +1 -1
  117. package/dist/wizard/onboarding.js +86 -84
  118. package/dist/wizard/onboarding.wallet.js +10 -1
  119. package/extensions/acpx/package.json +1 -1
  120. package/extensions/bluebubbles/package.json +1 -1
  121. package/extensions/copilot-proxy/package.json +1 -1
  122. package/extensions/diagnostics-otel/package.json +1 -1
  123. package/extensions/fased-federation/package.json +1 -1
  124. package/extensions/google-gemini-cli-auth/package.json +1 -1
  125. package/extensions/imessage/package.json +1 -1
  126. package/extensions/irc/package.json +1 -1
  127. package/extensions/line/package.json +1 -1
  128. package/extensions/llm-task/package.json +1 -1
  129. package/extensions/lobster/package.json +1 -1
  130. package/extensions/matrix/CHANGELOG.md +12 -0
  131. package/extensions/matrix/package.json +1 -1
  132. package/extensions/mattermost/package.json +1 -1
  133. package/extensions/memory-core/package.json +2 -2
  134. package/extensions/memory-lancedb/package.json +1 -1
  135. package/extensions/minimax-portal-auth/package.json +1 -1
  136. package/extensions/msteams/CHANGELOG.md +12 -0
  137. package/extensions/msteams/package.json +1 -1
  138. package/extensions/nextcloud-talk/package.json +1 -1
  139. package/extensions/nostr/CHANGELOG.md +12 -0
  140. package/extensions/nostr/package.json +1 -1
  141. package/extensions/open-prose/package.json +1 -1
  142. package/extensions/sat-mining/package.json +1 -1
  143. package/extensions/signal/package.json +1 -1
  144. package/extensions/synology-chat/package.json +1 -1
  145. package/extensions/tlon/package.json +1 -1
  146. package/extensions/twitch/CHANGELOG.md +12 -0
  147. package/extensions/twitch/package.json +1 -1
  148. package/extensions/voice-call/CHANGELOG.md +12 -0
  149. package/extensions/voice-call/package.json +1 -1
  150. package/extensions/zalo/CHANGELOG.md +12 -0
  151. package/extensions/zalo/package.json +1 -1
  152. package/extensions/zalouser/CHANGELOG.md +12 -0
  153. package/extensions/zalouser/package.json +1 -1
  154. package/install.sh +286 -107
  155. package/package.json +4 -2
  156. package/scripts/fased-managed-updater.mjs +10 -2
  157. package/scripts/install-fased-signerd.sh +4 -8
  158. package/scripts/install-managed-runtime.mjs +10 -7
  159. package/scripts/install-runtime-profile.sh +27 -0
  160. package/scripts/start-managed.sh +13 -1
  161. /package/dist/plugin-sdk/{active-listener-B_NMtgPL.js → active-listener-p9Ooc1qj.js} +0 -0
  162. /package/dist/plugin-sdk/{blocks-input-Bg-8S2pl.js → blocks-input-DiZaqaN7.js} +0 -0
  163. /package/dist/plugin-sdk/{channel-access-CcFRdRPO.js → channel-access-B0aZBSd2.js} +0 -0
  164. /package/dist/plugin-sdk/{channel-activity-DBDMQ3yI.js → channel-activity-F07DjroV.js} +0 -0
  165. /package/dist/plugin-sdk/{channel-core-CFRs8LPy.js → channel-core-DoF4X04L.js} +0 -0
  166. /package/dist/plugin-sdk/{client-pI228AVT.js → client-DLY-kWF_.js} +0 -0
  167. /package/dist/plugin-sdk/{command-poll-backoff-yJU83wEq.js → command-poll-backoff-NAePk3eL.js} +0 -0
  168. /package/dist/plugin-sdk/{date-time-uUevHscU.js → date-time-ChY_tHoG.js} +0 -0
  169. /package/dist/plugin-sdk/{draft-stream-loop-CrOPfV3F.js → draft-stream-loop-DMBwjjd1.js} +0 -0
  170. /package/dist/plugin-sdk/{fetch-BtmoPIlf.js → fetch-B0v6OTUZ.js} +0 -0
  171. /package/dist/plugin-sdk/{filesystem-manager-DoI8IBNF.js → filesystem-manager-BzuIJ9K9.js} +0 -0
  172. /package/dist/plugin-sdk/{gateway-registry-DZDsqicG.js → gateway-registry-Bgl2GFgy.js} +0 -0
  173. /package/dist/plugin-sdk/{inbound-context-DrAcXE0y.js → inbound-context-CQnfFFQ9.js} +0 -0
  174. /package/dist/plugin-sdk/{pi-model-discovery-BX_JLcEJ.js → pi-model-discovery-BHNVyRny.js} +0 -0
  175. /package/dist/plugin-sdk/{polls-DKQXVfJp.js → polls-DXd67TD8.js} +0 -0
  176. /package/dist/plugin-sdk/{proxy-DWpYcsvR.js → proxy-CLRUdShp.js} +0 -0
  177. /package/dist/plugin-sdk/{qmd-manager-CgRaTxUq.js → qmd-manager-B8Vnu0ND.js} +0 -0
  178. /package/dist/plugin-sdk/{render-e7fENCYH.js → render-DrBfVs0u.js} +0 -0
  179. /package/dist/plugin-sdk/{reply-reference-Bqk-7HXE.js → reply-reference-BnAk5Wjb.js} +0 -0
  180. /package/dist/plugin-sdk/{retry-policy-C6SjKjQA.js → retry-policy-CXh1owkc.js} +0 -0
  181. /package/dist/plugin-sdk/{sandbox-paths-Dx2lUqCu.js → sandbox-paths-Bzh1CuZc.js} +0 -0
  182. /package/dist/plugin-sdk/{session-DHD4ZKyG.js → session-iuGR_rdi.js} +0 -0
  183. /package/dist/plugin-sdk/{shared-CBgp_GBw.js → shared-D1AD2Ejn.js} +0 -0
  184. /package/dist/plugin-sdk/{target-errors-Ckufe179.js → target-errors-DfS1sLR9.js} +0 -0
  185. /package/dist/plugin-sdk/{tool-loop-detection-Bp8bPJLs.js → tool-loop-detection-sDZl27w7.js} +0 -0
  186. /package/dist/plugin-sdk/{ui-Be8cLHIS.js → ui-GQDYm_jw.js} +0 -0
  187. /package/dist/plugin-sdk/{with-timeout-ckWB8rTo.js → with-timeout-CVV8tytk.js} +0 -0
@@ -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$1, { WebSocketServer } from "ws";
16
+ import WebSocket, { WebSocketServer } from "ws";
17
17
  import { Buffer as Buffer$1 } from "node:buffer";
18
18
  import net from "node:net";
19
19
 
@@ -275,7 +275,7 @@ async function ensureChromeExtensionRelayServer(opts) {
275
275
  let extensionWs = null;
276
276
  const cdpClients = /* @__PURE__ */ new Set();
277
277
  const connectedTargets = /* @__PURE__ */ new Map();
278
- const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
278
+ const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
279
279
  let extensionDisconnectCleanupTimer = null;
280
280
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
281
281
  const flushExtensionReconnectWaiters = (connected) => {
@@ -326,7 +326,7 @@ async function ensureChromeExtensionRelayServer(opts) {
326
326
  let nextExtensionId = 1;
327
327
  const sendToExtension = async (payload) => {
328
328
  const ws = extensionWs;
329
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
329
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
330
330
  ws.send(JSON.stringify(payload));
331
331
  return await new Promise((resolve, reject) => {
332
332
  const timer = setTimeout(() => {
@@ -343,12 +343,12 @@ async function ensureChromeExtensionRelayServer(opts) {
343
343
  const broadcastToCdpClients = (evt) => {
344
344
  const msg = JSON.stringify(evt);
345
345
  for (const ws of cdpClients) {
346
- if (ws.readyState !== WebSocket$1.OPEN) continue;
346
+ if (ws.readyState !== WebSocket.OPEN) continue;
347
347
  ws.send(msg);
348
348
  }
349
349
  };
350
350
  const sendResponseToCdp = (ws, res) => {
351
- if (ws.readyState !== WebSocket$1.OPEN) return;
351
+ if (ws.readyState !== WebSocket.OPEN) return;
352
352
  ws.send(JSON.stringify(res));
353
353
  };
354
354
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -558,7 +558,7 @@ async function ensureChromeExtensionRelayServer(opts) {
558
558
  rejectUpgrade(socket, 401, "Unauthorized");
559
559
  return;
560
560
  }
561
- if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
561
+ if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
562
562
  try {
563
563
  extensionWs.terminate();
564
564
  } catch {}
@@ -595,7 +595,7 @@ async function ensureChromeExtensionRelayServer(opts) {
595
595
  clearExtensionDisconnectCleanupTimer();
596
596
  flushExtensionReconnectWaiters(true);
597
597
  const ping = setInterval(() => {
598
- if (ws.readyState !== WebSocket$1.OPEN) return;
598
+ if (ws.readyState !== WebSocket.OPEN) return;
599
599
  ws.send(JSON.stringify({ method: "ping" }));
600
600
  }, 5e3);
601
601
  ws.on("message", (data) => {
@@ -937,7 +937,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
937
937
  }
938
938
  async function withCdpSocket(wsUrl, fn, opts) {
939
939
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
940
- const ws = new WebSocket$1(wsUrl, {
940
+ const ws = new WebSocket(wsUrl, {
941
941
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
942
942
  ...Object.keys(headers).length ? { headers } : {}
943
943
  });
@@ -1863,7 +1863,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1863
1863
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1864
1864
  return await new Promise((resolve) => {
1865
1865
  const headers = getHeadersWithAuth(wsUrl);
1866
- const ws = new WebSocket$1(wsUrl, {
1866
+ const ws = new WebSocket(wsUrl, {
1867
1867
  handshakeTimeout: timeoutMs,
1868
1868
  ...Object.keys(headers).length ? { headers } : {}
1869
1869
  });
@@ -1,6 +1,6 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletProviderId, Ht as WalletRuntimeMode, Lt as WalletAuthMode, Rt as WalletChain, Ut as WalletToolAccessMode, Vt as WalletRuntimeKind, _n as GatewayClientMode, s as loadConfig, vn as GatewayClientName, zt as WalletExecutionMode } from "./types.plugin-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-Cegc86EP.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-DXnGKKgi.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-CzF0YQqK.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-BSEHc8MQ.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;
@@ -260,13 +270,17 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
260
270
  walletId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
261
271
  role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
262
272
  version: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
273
+ baselineVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
263
274
  operations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
264
275
  programs: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
276
+ typedSatPrograms: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
265
277
  assets: _sinclair_typebox0.TArray<_sinclair_typebox0.TObject<{
266
278
  asset: _sinclair_typebox0.TString;
267
279
  destinations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
268
280
  maxPerTx: _sinclair_typebox0.TString;
269
281
  maxDaily: _sinclair_typebox0.TString;
282
+ reviewedDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
283
+ typedSatDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
270
284
  }>>;
271
285
  hash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
272
286
  }>;
@@ -280,13 +294,17 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
280
294
  walletId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
281
295
  role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
282
296
  version: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
297
+ baselineVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
283
298
  operations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
284
299
  programs: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
300
+ typedSatPrograms: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
285
301
  assets: _sinclair_typebox0.TArray<_sinclair_typebox0.TObject<{
286
302
  asset: _sinclair_typebox0.TString;
287
303
  destinations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
288
304
  maxPerTx: _sinclair_typebox0.TString;
289
305
  maxDaily: _sinclair_typebox0.TString;
306
+ reviewedDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
307
+ typedSatDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
290
308
  }>>;
291
309
  hash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
292
310
  }>;
@@ -295,68 +313,114 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
295
313
  op: _sinclair_typebox0.TLiteral<"v2.wallet.get">;
296
314
  walletId: _sinclair_typebox0.TString;
297
315
  }>, _sinclair_typebox0.TObject<{
298
- op: _sinclair_typebox0.TLiteral<"v2.wallet.create">;
316
+ op: _sinclair_typebox0.TLiteral<"v2.wallet.readiness">;
317
+ walletId: _sinclair_typebox0.TString;
318
+ }>, _sinclair_typebox0.TObject<{
319
+ op: _sinclair_typebox0.TLiteral<"v2.policy.activateBaseline">;
299
320
  walletId: _sinclair_typebox0.TString;
300
321
  request: _sinclair_typebox0.TObject<{
322
+ expectedPolicyVersion: _sinclair_typebox0.TInteger;
323
+ baseline: _sinclair_typebox0.TObject<{
324
+ version: _sinclair_typebox0.TLiteral<1>;
325
+ role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
326
+ }>;
327
+ }>;
328
+ }>, _sinclair_typebox0.TObject<{
329
+ op: _sinclair_typebox0.TLiteral<"v2.wallet.create">;
330
+ walletId: _sinclair_typebox0.TString;
331
+ request: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TObject<{
301
332
  expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
302
333
  policy: _sinclair_typebox0.TObject<{
303
334
  walletId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
304
335
  role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
305
336
  version: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
337
+ baselineVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
306
338
  operations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
307
339
  programs: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
340
+ typedSatPrograms: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
308
341
  assets: _sinclair_typebox0.TArray<_sinclair_typebox0.TObject<{
309
342
  asset: _sinclair_typebox0.TString;
310
343
  destinations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
311
344
  maxPerTx: _sinclair_typebox0.TString;
312
345
  maxDaily: _sinclair_typebox0.TString;
346
+ reviewedDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
347
+ typedSatDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
313
348
  }>>;
314
349
  hash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
315
350
  }>;
316
- }>;
351
+ }>, _sinclair_typebox0.TObject<{
352
+ expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
353
+ baseline: _sinclair_typebox0.TObject<{
354
+ version: _sinclair_typebox0.TLiteral<1>;
355
+ role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
356
+ }>;
357
+ }>]>;
317
358
  }>, _sinclair_typebox0.TObject<{
318
359
  op: _sinclair_typebox0.TLiteral<"v2.wallet.import">;
319
360
  walletId: _sinclair_typebox0.TString;
320
- request: _sinclair_typebox0.TObject<{
361
+ request: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TObject<{
321
362
  expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
322
363
  policy: _sinclair_typebox0.TObject<{
323
364
  walletId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
324
365
  role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
325
366
  version: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
367
+ baselineVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
326
368
  operations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
327
369
  programs: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
370
+ typedSatPrograms: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
328
371
  assets: _sinclair_typebox0.TArray<_sinclair_typebox0.TObject<{
329
372
  asset: _sinclair_typebox0.TString;
330
373
  destinations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
331
374
  maxPerTx: _sinclair_typebox0.TString;
332
375
  maxDaily: _sinclair_typebox0.TString;
376
+ reviewedDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
377
+ typedSatDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
333
378
  }>>;
334
379
  hash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
335
380
  }>;
336
381
  path: _sinclair_typebox0.TString;
337
- }>;
382
+ }>, _sinclair_typebox0.TObject<{
383
+ expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
384
+ baseline: _sinclair_typebox0.TObject<{
385
+ version: _sinclair_typebox0.TLiteral<1>;
386
+ role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
387
+ }>;
388
+ path: _sinclair_typebox0.TString;
389
+ }>]>;
338
390
  }>, _sinclair_typebox0.TObject<{
339
391
  op: _sinclair_typebox0.TLiteral<"v2.wallet.importLegacy">;
340
392
  walletId: _sinclair_typebox0.TString;
341
- request: _sinclair_typebox0.TObject<{
393
+ request: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TObject<{
342
394
  expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
343
395
  policy: _sinclair_typebox0.TObject<{
344
396
  walletId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
345
397
  role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
346
398
  version: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
399
+ baselineVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
347
400
  operations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
348
401
  programs: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
402
+ typedSatPrograms: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
349
403
  assets: _sinclair_typebox0.TArray<_sinclair_typebox0.TObject<{
350
404
  asset: _sinclair_typebox0.TString;
351
405
  destinations: _sinclair_typebox0.TArray<_sinclair_typebox0.TString>;
352
406
  maxPerTx: _sinclair_typebox0.TString;
353
407
  maxDaily: _sinclair_typebox0.TString;
408
+ reviewedDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
409
+ typedSatDestinations: _sinclair_typebox0.TOptional<_sinclair_typebox0.TBoolean>;
354
410
  }>>;
355
411
  hash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
356
412
  }>;
357
413
  path: _sinclair_typebox0.TString;
358
414
  passphrasePath: _sinclair_typebox0.TString;
359
- }>;
415
+ }>, _sinclair_typebox0.TObject<{
416
+ expectedPolicyVersion: _sinclair_typebox0.TLiteral<0>;
417
+ baseline: _sinclair_typebox0.TObject<{
418
+ version: _sinclair_typebox0.TLiteral<1>;
419
+ role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
420
+ }>;
421
+ path: _sinclair_typebox0.TString;
422
+ passphrasePath: _sinclair_typebox0.TString;
423
+ }>]>;
360
424
  }>, _sinclair_typebox0.TObject<{
361
425
  op: _sinclair_typebox0.TLiteral<"v2.wallet.reencrypt">;
362
426
  walletId: _sinclair_typebox0.TString;
@@ -672,12 +736,17 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
672
736
  walletId: _sinclair_typebox0.TString;
673
737
  request: _sinclair_typebox0.TObject<{
674
738
  requestId: _sinclair_typebox0.TString;
675
- authorization: _sinclair_typebox0.TOptional<_sinclair_typebox0.TObject<{
739
+ authorization: _sinclair_typebox0.TOptional<_sinclair_typebox0.TUnion<[_sinclair_typebox0.TObject<{
676
740
  type: _sinclair_typebox0.TLiteral<"webauthn">;
677
741
  proof: _sinclair_typebox0.TObject<{
678
742
  proofId: _sinclair_typebox0.TString;
679
743
  }>;
680
- }>>;
744
+ }>, _sinclair_typebox0.TObject<{
745
+ type: _sinclair_typebox0.TLiteral<"control-ui">;
746
+ proof: _sinclair_typebox0.TObject<{
747
+ proofId: _sinclair_typebox0.TString;
748
+ }>;
749
+ }>]>>;
681
750
  }>;
682
751
  }>, _sinclair_typebox0.TObject<{
683
752
  op: _sinclair_typebox0.TLiteral<"v2.review.authorization.begin">;
@@ -714,6 +783,23 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
714
783
  walletId: _sinclair_typebox0.TString;
715
784
  }>]>;
716
785
  type LocalSocketSignerRequest = Static<typeof LocalSocketSignerRequestSchema>;
786
+ declare const LocalSocketSignerWalletReadinessV2Schema: _sinclair_typebox0.TObject<{
787
+ walletId: _sinclair_typebox0.TString;
788
+ publicKey: _sinclair_typebox0.TString;
789
+ walletVersion: _sinclair_typebox0.TOptional<_sinclair_typebox0.TInteger>;
790
+ role: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"agent">, _sinclair_typebox0.TLiteral<"mining">, _sinclair_typebox0.TLiteral<"vault">]>;
791
+ baselineVersion: _sinclair_typebox0.TInteger;
792
+ policyVersion: _sinclair_typebox0.TInteger;
793
+ policyHash: _sinclair_typebox0.TString;
794
+ networkVersion: _sinclair_typebox0.TInteger;
795
+ networkHash: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
796
+ keyReady: _sinclair_typebox0.TBoolean;
797
+ policyReady: _sinclair_typebox0.TBoolean;
798
+ networkReady: _sinclair_typebox0.TBoolean;
799
+ operationLane: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"blocked">, _sinclair_typebox0.TLiteral<"agent-reviewed-and-autonomous">, _sinclair_typebox0.TLiteral<"mining-typed-sat">, _sinclair_typebox0.TLiteral<"vault-reviewed-only">]>;
800
+ ready: _sinclair_typebox0.TBoolean;
801
+ }>;
802
+ type LocalSocketSignerWalletReadinessV2 = Static<typeof LocalSocketSignerWalletReadinessV2Schema>;
717
803
  //#endregion
718
804
  //#region src/wallet/providers/local-socket-signer-adapter.d.ts
719
805
  type LocalSocketSignerHealthProbe = {
@@ -1164,6 +1250,9 @@ type WalletStatusSnapshot = {
1164
1250
  rpc: boolean;
1165
1251
  api?: boolean;
1166
1252
  ata?: boolean;
1253
+ ready?: boolean;
1254
+ error?: string;
1255
+ signer?: LocalSocketSignerWalletReadinessV2;
1167
1256
  };
1168
1257
  }>;
1169
1258
  service: {
@@ -1207,6 +1296,12 @@ type WalletStatusSnapshot = {
1207
1296
  }>;
1208
1297
  statePath: string;
1209
1298
  };
1299
+ nativeSignerApproval?: {
1300
+ configured: boolean;
1301
+ ready: boolean;
1302
+ credentialCount: number;
1303
+ credentialVersion: number;
1304
+ };
1210
1305
  addresses?: {
1211
1306
  solana?: string;
1212
1307
  };
@@ -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--vl89M7d.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-BiBOUW89.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-nup8niQL.js";
38
+ import "./commands-registry-G5KXSi_y.js";
39
+ import "./runtime-dependency-DczkvPxn.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";