@fased/fased 0.1.45 → 0.1.47

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 (685) hide show
  1. package/dist/acp/client.js +2 -2
  2. package/dist/acp/control-plane/spawn.js +1 -1
  3. package/dist/acp/secret-file.js +2 -2
  4. package/dist/agents/acp-spawn-parent-stream.js +2 -2
  5. package/dist/agents/acp-spawn.js +3 -3
  6. package/dist/agents/agent-scope.js +2 -2
  7. package/dist/agents/apply-patch.js +8 -8
  8. package/dist/agents/auth-profiles/paths.js +2 -2
  9. package/dist/agents/auth-profiles/store.js +2 -2
  10. package/dist/agents/bash-tools.exec-approval-request.js +1 -1
  11. package/dist/agents/bash-tools.exec-host-node.js +1 -1
  12. package/dist/agents/bash-tools.exec-runtime.js +1 -1
  13. package/dist/agents/bash-tools.exec.js +1 -1
  14. package/dist/agents/bash-tools.shared.js +2 -2
  15. package/dist/agents/cli-credentials.js +4 -4
  16. package/dist/agents/defaults.js +1 -1
  17. package/dist/agents/docs-path.js +3 -3
  18. package/dist/agents/embedded-pi-mcp.js +4 -4
  19. package/dist/agents/fased-tools.js +4 -4
  20. package/dist/agents/identity-avatar.js +4 -4
  21. package/dist/agents/identity-file.js +2 -2
  22. package/dist/agents/pi-embedded-runner/compact.js +4 -4
  23. package/dist/agents/pi-embedded-runner/run/attempt.js +5 -5
  24. package/dist/agents/pi-embedded-runner/run/images.js +1 -1
  25. package/dist/agents/pi-embedded-runner/run.js +2 -2
  26. package/dist/agents/pi-embedded-runner/system-prompt.js +1 -1
  27. package/dist/agents/pi-embedded-subscribe.handlers.compaction.js +1 -1
  28. package/dist/agents/pi-embedded-subscribe.handlers.messages.js +1 -1
  29. package/dist/agents/pi-embedded-subscribe.js +2 -2
  30. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  31. package/dist/agents/pi-embedded-subscribe.tools.js +1 -1
  32. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  33. package/dist/agents/pi-model-discovery.js +6 -6
  34. package/dist/agents/pi-project-settings.js +3 -3
  35. package/dist/agents/pi-tools.js +2 -2
  36. package/dist/agents/pi-tools.read.js +1 -1
  37. package/dist/agents/sandbox/browser.js +2 -2
  38. package/dist/agents/sandbox/context.js +2 -2
  39. package/dist/agents/sandbox/docker.js +1 -1
  40. package/dist/agents/sandbox/fs-bridge.js +2 -2
  41. package/dist/agents/sandbox/manage.js +2 -2
  42. package/dist/agents/sandbox/prune.js +2 -2
  43. package/dist/agents/session-dirs.js +4 -4
  44. package/dist/agents/session-write-lock.js +13 -13
  45. package/dist/agents/shell-utils.js +5 -5
  46. package/dist/agents/skills/bundled-dir.js +4 -4
  47. package/dist/agents/skills/local-loader.js +6 -6
  48. package/dist/agents/skills/plugin-skills.js +2 -2
  49. package/dist/agents/skills/workspace.js +13 -13
  50. package/dist/agents/skills-install-download.js +7 -7
  51. package/dist/agents/skills-install-plan.js +2 -2
  52. package/dist/agents/skills-install.js +2 -2
  53. package/dist/agents/skills-status.js +2 -2
  54. package/dist/agents/subagent-announce-output.js +3 -3
  55. package/dist/agents/subagent-announce.js +6 -6
  56. package/dist/agents/subagent-announce.runtime.js +1 -1
  57. package/dist/agents/subagent-depth.js +2 -2
  58. package/dist/agents/subagent-registry.js +3 -3
  59. package/dist/agents/subagent-spawn.js +2 -2
  60. package/dist/agents/system-prompt-params.js +3 -3
  61. package/dist/agents/tool-images.js +1 -1
  62. package/dist/agents/tools/canvas-tool.js +2 -2
  63. package/dist/agents/tools/cron-tool.js +1 -1
  64. package/dist/agents/tools/diff-view-tool.js +1 -1
  65. package/dist/agents/tools/discord-actions-messaging.js +1 -1
  66. package/dist/agents/tools/gateway-tool.js +1 -1
  67. package/dist/agents/tools/gateway.js +1 -1
  68. package/dist/agents/tools/marketplace-offer-draft-tool.js +3 -3
  69. package/dist/agents/tools/message-tool.js +5 -5
  70. package/dist/agents/tools/mining-tool.js +1 -1
  71. package/dist/agents/tools/nodes-tool.js +1 -1
  72. package/dist/agents/tools/session-status-tool.js +3 -3
  73. package/dist/agents/tools/sessions-history-tool.js +1 -1
  74. package/dist/agents/tools/sessions-list-tool.js +1 -1
  75. package/dist/agents/tools/sessions-send-tool.a2a.js +1 -1
  76. package/dist/agents/tools/sessions-send-tool.js +1 -1
  77. package/dist/agents/tools/slack-actions.js +1 -1
  78. package/dist/agents/tools/subagents-tool.js +3 -3
  79. package/dist/agents/tools/telegram-actions.js +1 -1
  80. package/dist/agents/tools/tts-tool.js +1 -1
  81. package/dist/agents/tools/wallet-action-tool.js +4 -4
  82. package/dist/agents/tools/wallet-tool.js +7 -7
  83. package/dist/agents/tools/web-fetch.js +1 -1
  84. package/dist/agents/workspace.js +22 -22
  85. package/dist/auto-reply/chunk.js +1 -1
  86. package/dist/auto-reply/envelope.js +1 -1
  87. package/dist/auto-reply/reply/abort.js +2 -2
  88. package/dist/auto-reply/reply/agent-runner-execution.js +4 -4
  89. package/dist/auto-reply/reply/agent-runner-memory.js +2 -2
  90. package/dist/auto-reply/reply/agent-runner-payloads.js +1 -1
  91. package/dist/auto-reply/reply/agent-runner.js +8 -8
  92. package/dist/auto-reply/reply/bash-command.js +1 -1
  93. package/dist/auto-reply/reply/commands-acp/diagnostics.js +1 -1
  94. package/dist/auto-reply/reply/commands-acp/lifecycle.js +2 -2
  95. package/dist/auto-reply/reply/commands-acp/shared.js +1 -1
  96. package/dist/auto-reply/reply/commands-compact.js +2 -2
  97. package/dist/auto-reply/reply/commands-control.js +1 -1
  98. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  99. package/dist/auto-reply/reply/commands-models.js +1 -1
  100. package/dist/auto-reply/reply/commands-session-abort.js +2 -2
  101. package/dist/auto-reply/reply/commands-status.js +2 -2
  102. package/dist/auto-reply/reply/commands-subagents/action-focus.js +1 -1
  103. package/dist/auto-reply/reply/commands-subagents/action-kill.js +2 -2
  104. package/dist/auto-reply/reply/commands-subagents/action-send.js +1 -1
  105. package/dist/auto-reply/reply/commands-subagents/shared.js +1 -1
  106. package/dist/auto-reply/reply/dispatch-acp.js +5 -5
  107. package/dist/auto-reply/reply/dispatch-from-config.js +2 -2
  108. package/dist/auto-reply/reply/followup-runner.js +4 -4
  109. package/dist/auto-reply/reply/get-reply-directives.js +2 -2
  110. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  111. package/dist/auto-reply/reply/get-reply-run.js +4 -4
  112. package/dist/auto-reply/reply/model-selection.js +2 -2
  113. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  114. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  115. package/dist/auto-reply/reply/queue/cleanup.js +1 -1
  116. package/dist/auto-reply/reply/reply-delivery.js +1 -1
  117. package/dist/auto-reply/reply/reply-directives.js +1 -1
  118. package/dist/auto-reply/reply/route-reply.js +1 -1
  119. package/dist/auto-reply/reply/session-reset-model.js +1 -1
  120. package/dist/auto-reply/reply/session-updates.js +1 -1
  121. package/dist/auto-reply/reply/session.js +3 -3
  122. package/dist/auto-reply/reply/streaming-directives.js +1 -1
  123. package/dist/auto-reply/reply.js +1 -1
  124. package/dist/auto-reply/skill-commands.js +3 -3
  125. package/dist/auto-reply/status.js +9 -9
  126. package/dist/brand.js +1 -1
  127. package/dist/browser/chrome.executables.js +3 -3
  128. package/dist/browser/chrome.js +3 -3
  129. package/dist/browser/chrome.profile-decoration.js +6 -6
  130. package/dist/browser/profiles-service.js +2 -2
  131. package/dist/browser/server-context.js +2 -2
  132. package/dist/browser/trash.js +4 -4
  133. package/dist/build-info.json +3 -3
  134. package/dist/bundled/session-memory/handler.js +1 -1
  135. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  136. package/dist/canvas-host/a2ui.js +1 -1
  137. package/dist/canvas-host/server.js +5 -5
  138. package/dist/capabilities/catalog.js +3 -3
  139. package/dist/channel-web.js +1 -1
  140. package/dist/channels/plugins/actions/signal.js +1 -1
  141. package/dist/channels/plugins/actions/telegram.js +2 -2
  142. package/dist/channels/plugins/catalog.js +3 -3
  143. package/dist/channels/plugins/onboarding/discord.js +1 -1
  144. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  145. package/dist/cli/browser-cli-extension.js +7 -7
  146. package/dist/cli/command-format.js +2 -2
  147. package/dist/cli/components-cli.js +1 -1
  148. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  149. package/dist/cli/cron-cli/shared.js +1 -1
  150. package/dist/cli/daemon-cli/install.js +2 -2
  151. package/dist/cli/daemon-cli/status.gather.js +1 -1
  152. package/dist/cli/daemon-cli/status.print.js +1 -1
  153. package/dist/cli/directory-cli.js +1 -1
  154. package/dist/cli/dns-cli.js +9 -9
  155. package/dist/cli/exec-approvals-cli.js +2 -2
  156. package/dist/cli/federation-cli.js +3 -3
  157. package/dist/cli/gateway-cli/dev.js +5 -5
  158. package/dist/cli/gateway-cli/register.js +3 -3
  159. package/dist/cli/gateway-cli/run.js +3 -3
  160. package/dist/cli/hooks-cli.js +6 -6
  161. package/dist/cli/memory-cli.js +7 -7
  162. package/dist/cli/node-cli/daemon.js +1 -1
  163. package/dist/cli/nodes-cli/register.status.js +1 -1
  164. package/dist/cli/nodes-cli/rpc.js +1 -1
  165. package/dist/cli/nodes-media-utils.js +2 -2
  166. package/dist/cli/plugins-cli.js +3 -3
  167. package/dist/cli/program/message/helpers.js +1 -1
  168. package/dist/cli/program/register.agent.js +1 -1
  169. package/dist/cli/program/register.status-health-sessions.js +1 -1
  170. package/dist/cli/program/register.wallet.js +1 -1
  171. package/dist/cli/run-main.js +1 -1
  172. package/dist/cli/secrets-cli.js +3 -3
  173. package/dist/cli/tui-cli.js +1 -1
  174. package/dist/cli/update-cli/status.js +1 -1
  175. package/dist/cli/update-cli/update-command.js +3 -3
  176. package/dist/cli/windows-argv.js +2 -2
  177. package/dist/commands/agent/attempt.js +1 -1
  178. package/dist/commands/agent/delivery.js +2 -2
  179. package/dist/commands/agent.js +9 -9
  180. package/dist/commands/agents.commands.add.js +1 -1
  181. package/dist/commands/agents.commands.delete.js +1 -1
  182. package/dist/commands/channels/add.js +2 -2
  183. package/dist/commands/channels/list.js +2 -2
  184. package/dist/commands/channels/status.js +1 -1
  185. package/dist/commands/configure.daemon.js +1 -1
  186. package/dist/commands/configure.wizard.js +1 -1
  187. package/dist/commands/dashboard-link.js +3 -3
  188. package/dist/commands/dashboard.js +2 -2
  189. package/dist/commands/docs.js +1 -1
  190. package/dist/commands/doctor-config-flow.js +2 -2
  191. package/dist/commands/doctor-format.js +1 -1
  192. package/dist/commands/doctor-gateway-daemon-flow.js +5 -5
  193. package/dist/commands/doctor-gateway-services.js +2 -2
  194. package/dist/commands/doctor-install.js +5 -5
  195. package/dist/commands/doctor-memory-search.js +2 -2
  196. package/dist/commands/doctor-platform-notes.js +2 -2
  197. package/dist/commands/doctor-sandbox.js +2 -2
  198. package/dist/commands/doctor-security.js +1 -1
  199. package/dist/commands/doctor-state-integrity.js +23 -23
  200. package/dist/commands/doctor-workspace.js +3 -3
  201. package/dist/commands/doctor.js +4 -4
  202. package/dist/commands/gateway-status.js +2 -2
  203. package/dist/commands/hosted-dashboard-probe.js +2 -2
  204. package/dist/commands/managed-up.js +2 -2
  205. package/dist/commands/message.js +1 -1
  206. package/dist/commands/models/list.probe.js +3 -3
  207. package/dist/commands/models/list.status-command.js +3 -3
  208. package/dist/commands/onboard-auth.credentials.js +3 -3
  209. package/dist/commands/onboard-channels.js +1 -1
  210. package/dist/commands/onboard-helpers.js +1 -1
  211. package/dist/commands/onboard-non-interactive/local/daemon-install.js +2 -2
  212. package/dist/commands/onboard-non-interactive/local.js +1 -1
  213. package/dist/commands/onboard-skills.js +1 -1
  214. package/dist/commands/onboarding/plugin-install.js +3 -3
  215. package/dist/commands/openai-model-default.js +1 -1
  216. package/dist/commands/sessions-cleanup.js +2 -2
  217. package/dist/commands/signal-install.js +6 -6
  218. package/dist/commands/status-all/channels.js +3 -3
  219. package/dist/commands/status-all/diagnosis.js +1 -1
  220. package/dist/commands/status-all/format.js +1 -1
  221. package/dist/commands/status-all.js +8 -8
  222. package/dist/commands/status.command.js +4 -4
  223. package/dist/commands/status.gateway-probe.js +1 -1
  224. package/dist/commands/status.scan.js +3 -3
  225. package/dist/commands/status.summary.js +1 -1
  226. package/dist/commands/wallet.js +51 -50
  227. package/dist/config/cache-utils.js +2 -2
  228. package/dist/config/includes.js +5 -5
  229. package/dist/config/io.js +2 -2
  230. package/dist/config/paths.js +3 -3
  231. package/dist/config/sat-runtime-ids.js +3 -3
  232. package/dist/config/sessions/disk-budget.js +6 -6
  233. package/dist/config/sessions/paths.js +2 -2
  234. package/dist/config/sessions/store.js +17 -17
  235. package/dist/config/sessions/transcript.js +4 -4
  236. package/dist/config/talk.js +2 -2
  237. package/dist/control-ui/assets/{app-JBrTSsNu.js → app-CHqTx3P_.js} +4 -4
  238. package/dist/control-ui/assets/chat-model-ref-BbrdMKjQ.js +2 -0
  239. package/dist/control-ui/assets/{index-H-2DWAnH.js → index-CFHfNlLv.js} +3 -3
  240. package/dist/control-ui/assets/{providers-C9hLw4o6.js → providers-DqFL6WrJ.js} +2 -2
  241. package/dist/control-ui/index.html +1 -1
  242. package/dist/cron/isolated-agent/delivery-dispatch.js +2 -2
  243. package/dist/cron/isolated-agent/delivery-target.js +1 -1
  244. package/dist/cron/isolated-agent/run.js +5 -5
  245. package/dist/cron/service/store.js +2 -2
  246. package/dist/cron/store.js +6 -6
  247. package/dist/daemon/service-audit.js +2 -2
  248. package/dist/daemon/systemd-system.js +10 -10
  249. package/dist/discord/monitor/agent-components.js +9 -9
  250. package/dist/discord/monitor/gateway-plugin.js +1 -1
  251. package/dist/discord/monitor/listeners.js +2 -2
  252. package/dist/discord/monitor/message-handler.js +1 -1
  253. package/dist/discord/monitor/message-handler.preflight.js +8 -8
  254. package/dist/discord/monitor/message-handler.process.js +5 -5
  255. package/dist/discord/monitor/native-command.js +9 -9
  256. package/dist/discord/monitor/provider.js +2 -2
  257. package/dist/discord/monitor/reply-delivery.js +1 -1
  258. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  259. package/dist/discord/send.outbound.js +1 -1
  260. package/dist/discord/voice/command.js +1 -1
  261. package/dist/extensionAPI.js +1 -1
  262. package/dist/extensions/sat-mining/src/rpc-read.js +7 -3
  263. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  264. package/dist/extensions/sat-mining/src/solana-submit.js +2 -2
  265. package/dist/federation/auto-connect.js +1 -1
  266. package/dist/federation/marketplace-capability-adapter.js +1 -1
  267. package/dist/federation/marketplace-delivery.js +1 -1
  268. package/dist/federation/marketplace-direct-payment.js +1 -1
  269. package/dist/federation/marketplace-escrow.js +2 -2
  270. package/dist/federation/settlement-evidence.js +1 -1
  271. package/dist/gateway/a2a-http.js +1 -1
  272. package/dist/gateway/call.js +2 -2
  273. package/dist/gateway/client.js +3 -3
  274. package/dist/gateway/control-ui-boot-check.js +7 -7
  275. package/dist/gateway/control-ui-login.js +7 -7
  276. package/dist/gateway/control-ui.js +10 -10
  277. package/dist/gateway/federation-http.js +3 -3
  278. package/dist/gateway/federation-marketplace.js +1 -1
  279. package/dist/gateway/hooks-mapping.js +4 -4
  280. package/dist/gateway/hooks.js +1 -1
  281. package/dist/gateway/openai-http.js +1 -1
  282. package/dist/gateway/openresponses-http.js +1 -1
  283. package/dist/gateway/server/health-state.js +1 -1
  284. package/dist/gateway/server/hooks.js +2 -2
  285. package/dist/gateway/server/ws-connection/message-handler.js +6 -6
  286. package/dist/gateway/server-channels.js +1 -1
  287. package/dist/gateway/server-cron.js +3 -3
  288. package/dist/gateway/server-discovery.js +2 -2
  289. package/dist/gateway/server-http.js +17 -17
  290. package/dist/gateway/server-methods/agent.js +4 -4
  291. package/dist/gateway/server-methods/agents.js +1 -1
  292. package/dist/gateway/server-methods/channels.js +1 -1
  293. package/dist/gateway/server-methods/chat.js +6 -6
  294. package/dist/gateway/server-methods/commands.js +1 -1
  295. package/dist/gateway/server-methods/devices.js +1 -1
  296. package/dist/gateway/server-methods/doctor.js +2 -2
  297. package/dist/gateway/server-methods/hooks.js +1 -1
  298. package/dist/gateway/server-methods/models.js +1 -1
  299. package/dist/gateway/server-methods/nodes.js +2 -2
  300. package/dist/gateway/server-methods/send.js +4 -4
  301. package/dist/gateway/server-methods/services.js +1 -1
  302. package/dist/gateway/server-methods/sessions.js +12 -12
  303. package/dist/gateway/server-methods/skills.js +2 -2
  304. package/dist/gateway/server-methods/system.js +1 -1
  305. package/dist/gateway/server-methods/tts.js +2 -2
  306. package/dist/gateway/server-methods/usage.js +2 -2
  307. package/dist/gateway/server-node-events.js +5 -5
  308. package/dist/gateway/server-reload-handlers.js +3 -3
  309. package/dist/gateway/server-restart-sentinel.js +3 -3
  310. package/dist/gateway/server.impl.js +19 -19
  311. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  312. package/dist/gateway/session-utils.fs.js +24 -24
  313. package/dist/gateway/session-utils.js +6 -6
  314. package/dist/gateway/sessions-patch.js +2 -2
  315. package/dist/gateway/tools-invoke-http.js +2 -2
  316. package/dist/hooks/bundled-dir.js +4 -4
  317. package/dist/hooks/gmail-setup-utils.js +6 -6
  318. package/dist/hooks/import-url.js +2 -2
  319. package/dist/hooks/loader.js +5 -5
  320. package/dist/hooks/workspace.js +7 -7
  321. package/dist/imessage/monitor/deliver.js +1 -1
  322. package/dist/imessage/monitor/inbound-processing.js +4 -4
  323. package/dist/imessage/monitor/monitor-provider.js +2 -2
  324. package/dist/imessage/send.js +2 -2
  325. package/dist/index.js +1 -1
  326. package/dist/infra/archive.js +17 -17
  327. package/dist/infra/boundary-file-read.js +2 -2
  328. package/dist/infra/boundary-path.js +15 -15
  329. package/dist/infra/brew.js +2 -2
  330. package/dist/infra/control-ui-assets.js +14 -14
  331. package/dist/infra/device-auth-store.js +8 -8
  332. package/dist/infra/device-identity.js +8 -8
  333. package/dist/infra/dotenv.js +2 -2
  334. package/dist/infra/exec-approvals.js +9 -9
  335. package/dist/infra/exec-command-resolution.js +4 -4
  336. package/dist/infra/exec-safe-bin-trust.js +2 -2
  337. package/dist/infra/fased-root.js +5 -5
  338. package/dist/infra/fs-safe.js +14 -14
  339. package/dist/infra/gateway-lock.js +11 -11
  340. package/dist/infra/git-commit.js +5 -5
  341. package/dist/infra/git-root.js +4 -4
  342. package/dist/infra/heartbeat-runner.js +8 -8
  343. package/dist/infra/hosted-runtime-artifact.js +3 -3
  344. package/dist/infra/is-main.js +2 -2
  345. package/dist/infra/json-file.js +7 -7
  346. package/dist/infra/outbound/channel-resolution.js +1 -1
  347. package/dist/infra/outbound/deliver.js +3 -3
  348. package/dist/infra/outbound/delivery-queue.js +16 -16
  349. package/dist/infra/outbound/message-action-params.js +2 -2
  350. package/dist/infra/outbound/message-action-runner.js +4 -4
  351. package/dist/infra/outbound/message.js +3 -3
  352. package/dist/infra/outbound/outbound-session.js +1 -1
  353. package/dist/infra/outbound/payloads.js +1 -1
  354. package/dist/infra/path-env.js +3 -3
  355. package/dist/infra/ports-lsof.js +4 -4
  356. package/dist/infra/provider-usage.auth.js +3 -3
  357. package/dist/infra/safe-open-sync.js +2 -2
  358. package/dist/infra/session-cost-usage.js +9 -9
  359. package/dist/infra/session-maintenance-warning.js +1 -1
  360. package/dist/infra/shell-env.js +2 -2
  361. package/dist/infra/skills-remote.js +1 -1
  362. package/dist/infra/state-migrations.fs.js +6 -6
  363. package/dist/infra/state-migrations.js +23 -23
  364. package/dist/infra/tmp-fased-dir.js +6 -6
  365. package/dist/infra/update-runner.js +1 -1
  366. package/dist/infra/widearea-dns.js +3 -3
  367. package/dist/infra/wsl.js +2 -2
  368. package/dist/light-update-status.js +11 -11
  369. package/dist/line/accounts.js +2 -2
  370. package/dist/line/bot-handlers.js +2 -2
  371. package/dist/line/bot-message-context.js +2 -2
  372. package/dist/line/download.js +3 -3
  373. package/dist/line/monitor.js +3 -3
  374. package/dist/line/webhook-node.js +1 -1
  375. package/dist/llm-slug-generator.js +1 -1
  376. package/dist/logging/config.js +3 -3
  377. package/dist/logging/logger.js +7 -7
  378. package/dist/managed/federation.js +3 -3
  379. package/dist/managed/tunnel.js +3 -3
  380. package/dist/media/fetch.js +1 -1
  381. package/dist/media/input-files.js +2 -2
  382. package/dist/media/store.js +14 -14
  383. package/dist/media-understanding/attachments.js +4 -4
  384. package/dist/media-understanding/providers/google/inline-data.js +1 -1
  385. package/dist/media-understanding/providers/shared.js +1 -1
  386. package/dist/media-understanding/runner.js +3 -3
  387. package/dist/memory/embeddings.js +2 -2
  388. package/dist/memory/internal.js +10 -10
  389. package/dist/memory/manager-sync-ops.js +7 -7
  390. package/dist/memory/repair-executor.js +17 -17
  391. package/dist/node-host/invoke-system-run-plan.js +8 -8
  392. package/dist/node-host/invoke.js +2 -2
  393. package/dist/node-host/runner.js +5 -5
  394. package/dist/pairing/pairing-store.js +3 -3
  395. package/dist/plugin-sdk/{accounts-Bz_2QZSt.js → accounts-DzLdrOVC.js} +1 -1
  396. package/dist/plugin-sdk/{actions-CysoQjk1.js → actions-PhofTgnO.js} +4 -4
  397. package/dist/plugin-sdk/{active-listener-C5ALSs7Y.js → active-listener-C8a74qPO.js} +1 -1
  398. package/dist/plugin-sdk/{allow-list-yqasgPpz.js → allow-list-BYeKk0Sy.js} +2 -2
  399. package/dist/plugin-sdk/{audio-preflight-CKgOmu0p.js → audio-preflight-CARAVcz-.js} +51 -49
  400. package/dist/plugin-sdk/{audit-BFnu5TVB.js → audit-ByK45Q1d.js} +1 -1
  401. package/dist/plugin-sdk/{channel-access-BiWxa3LR.js → channel-access-BEin0yA4.js} +1 -1
  402. package/dist/plugin-sdk/{channel-access-configure-gJvqbbXB.js → channel-access-configure-Di_DoR-Q.js} +1 -1
  403. package/dist/plugin-sdk/{channel-adapters.discord-g8Do3f5N.js → channel-adapters.discord-IOZP8Cv5.js} +1 -1
  404. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  405. package/dist/plugin-sdk/channel-plugin-common.js +8 -8
  406. package/dist/plugin-sdk/{chunk-CuJIMshx.js → chunk-CwN3c1Fq.js} +1 -1
  407. package/dist/plugin-sdk/{chunk-items-CNyHcNiG.js → chunk-items-DH7ooQBZ.js} +1 -1
  408. package/dist/plugin-sdk/command-status.js +51 -49
  409. package/dist/plugin-sdk/{commands-registry-DwQIFJmL.js → commands-registry-Bea-V_lR.js} +2 -2
  410. package/dist/plugin-sdk/{common-C90EHP1w.js → common-BJPuBxmx.js} +1 -1
  411. package/dist/plugin-sdk/{config-DKNrb8oT.js → config-BxOWD3gF.js} +61 -6
  412. package/dist/plugin-sdk/{pi-embedded-runner-XtyJMQqg.js → config-schema-ChJcPn7x.js} +4818 -445
  413. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  414. package/dist/plugin-sdk/device-pair.js +3 -3
  415. package/dist/plugin-sdk/{device-pairing-J1IH1jFl.js → device-pairing-D2Yq-_U6.js} +1 -1
  416. package/dist/plugin-sdk/{diagnostic-C16gioN6.js → diagnostic-Dfn1iERm.js} +4 -4
  417. package/dist/plugin-sdk/{directory-live-DK_83362.js → directory-live-ClwN5KKq.js} +1 -1
  418. package/dist/plugin-sdk/{directory-live-G7AN8y8N.js → directory-live-DatqU-eS.js} +1 -1
  419. package/dist/plugin-sdk/discord.d.ts +4 -4
  420. package/dist/plugin-sdk/discord.js +36 -37
  421. package/dist/plugin-sdk/{draft-stream-controls-DGYBMJYc.js → draft-stream-controls-D4Tb_iS_.js} +1 -1
  422. package/dist/plugin-sdk/{fetch-RV7QDF43.js → fetch-Cu-ahkie.js} +2 -2
  423. package/dist/plugin-sdk/{fetch-guard-CxXvFYq5.js → fetch-guard-BuYrl6q2.js} +3 -3
  424. package/dist/plugin-sdk/{filesystem-manager-CeSmCA_A.js → filesystem-manager-B9DDPgfU.js} +2 -2
  425. package/dist/plugin-sdk/{fs-safe-DztQeyQe.js → fs-safe-BG-VzVkL.js} +1 -1
  426. package/dist/plugin-sdk/{guilds-n7MMnX1c.js → guilds-BeT3iHHJ.js} +1 -1
  427. package/dist/plugin-sdk/{handle-action-DkfMckah.js → handle-action-Bk-L2J84.js} +29 -29
  428. package/dist/plugin-sdk/{helpers-C1pcZJsv.js → helpers-0E444CR0.js} +74 -2
  429. package/dist/plugin-sdk/{image-ops-BSQmb-17.js → image-ops-BYc-Ol7C.js} +1 -1
  430. package/dist/plugin-sdk/index.d.ts +20 -16
  431. package/dist/plugin-sdk/index.js +63 -4294
  432. package/dist/plugin-sdk/{internal-CC6TMTtc.js → internal-qo16nNU1.js} +1 -1
  433. package/dist/plugin-sdk/json-store.js +6 -6
  434. package/dist/plugin-sdk/{login-YbYyMkkE.js → login-B_At7IVI.js} +3 -3
  435. package/dist/plugin-sdk/{login-qr-DvJw8_2g.js → login-qr-BlSQ8QJF.js} +6 -6
  436. package/dist/plugin-sdk/{manager-DQ1dH8OM.js → manager-VNI6sxbG.js} +11 -11
  437. package/dist/plugin-sdk/{markdown-tables-DrB-IM8r.js → markdown-tables-CpNefu6e.js} +1 -1
  438. package/dist/plugin-sdk/{media-D8pWjqEt.js → media-QBCmvhBQ.js} +4 -4
  439. package/dist/plugin-sdk/{monitor-dqvs6ijC.js → monitor-BhHlerHI.js} +59 -57
  440. package/dist/plugin-sdk/{monitor-B8dLCpFA.js → monitor-C9UczH5N.js} +67 -67
  441. package/dist/plugin-sdk/{openresponses-http-S64mJyy8.js → openresponses-http-CtuFHD5w.js} +51 -49
  442. package/dist/plugin-sdk/{optional-runtime-dependency-Bt_3Yigu.js → optional-runtime-dependency-BaVO1F3i.js} +1 -1
  443. package/dist/plugin-sdk/{outbound-B5ukMdUv.js → outbound-CWrcAWpE.js} +9 -9
  444. package/dist/plugin-sdk/{outbound-attachment-C9oadpUP.js → outbound-attachment-Dhi2Q-_f.js} +2 -2
  445. package/dist/plugin-sdk/{pairing-message-DfIyssV_.d.ts → pairing-message-6XVXW554.d.ts} +1 -1
  446. package/dist/plugin-sdk/{pairing-message-B787pcJI.js → pairing-message-D01_6FkJ.js} +1 -1
  447. package/dist/plugin-sdk/{pairing-store-BdOcH_GA.js → pairing-store-DADXOv-J.js} +2 -2
  448. package/dist/plugin-sdk/{pi-model-discovery-DQdXL_-F.js → pi-model-discovery-D9-CQFS2.js} +1 -1
  449. package/dist/plugin-sdk/{pi-model-discovery-runtime-IwiWDCQ3.js → pi-model-discovery-runtime-DhNNXQgq.js} +5 -5
  450. package/dist/plugin-sdk/{probe-CJ6lN-jD.js → probe-Cyb-DGA3.js} +3 -3
  451. package/dist/plugin-sdk/{probe-CvXWxzag.js → probe-D8JAILir.js} +2 -2
  452. package/dist/plugin-sdk/{probe-DO4M1Qd1.js → probe-Dlk0Jxpw.js} +2 -2
  453. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  454. package/dist/plugin-sdk/{pw-ai-BFHYmEIx.js → pw-ai-CQG7vp-Y.js} +11 -11
  455. package/dist/plugin-sdk/{qmd-manager-D2LMB27z.js → qmd-manager-DCUE21Kj.js} +5 -5
  456. package/dist/plugin-sdk/{query-expansion-BM7lmqaP.js → query-expansion-Zr9qQixm.js} +3 -3
  457. package/dist/plugin-sdk/{redact-sensitive-url-B0RJQqO7.js → redact-sensitive-url-dPvnFFsK.js} +1 -0
  458. package/dist/plugin-sdk/{replies-BPFt4O-j.js → replies-C_FeIOF4.js} +4 -4
  459. package/dist/plugin-sdk/{resolve-channels-sscr14hU.js → resolve-channels-ChWKWtA9.js} +2 -2
  460. package/dist/plugin-sdk/{probe-DbhD54Aw.js → resolve-channels-zEnvugag.js} +4 -3
  461. package/dist/plugin-sdk/{resolve-outbound-target-BP_JscKT.js → resolve-outbound-target-DD8edEdz.js} +2 -2
  462. package/dist/plugin-sdk/{resolve-route-wp5xq4Ws.js → resolve-route-BPkfG5Pg.js} +1 -1
  463. package/dist/plugin-sdk/{resolve-users-C1sjzEsV.js → resolve-users-BTvjQuui.js} +1 -1
  464. package/dist/plugin-sdk/{resolve-users-B63RqPIO.js → resolve-users-CTzoruIZ.js} +2 -2
  465. package/dist/plugin-sdk/{retry-policy-BTH89onl.js → retry-policy-C0YsRX_6.js} +2 -2
  466. package/dist/plugin-sdk/{runtime-BUpqjZNM.js → runtime-CyTWeylK.js} +5 -5
  467. package/dist/plugin-sdk/{runtime-dependency-B5Fut2tT.js → runtime-dependency-D6tYtvtU.js} +5 -5
  468. package/dist/plugin-sdk/{sandbox-paths-fc-HFGJr.js → sandbox-paths-lj7_EVuA.js} +1 -1
  469. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  470. package/dist/plugin-sdk/sat-runtime.js +14 -14
  471. package/dist/plugin-sdk/{send-CRI83FPV.js → send-BedQ8ekw.js} +14 -14
  472. package/dist/plugin-sdk/{send-DUp9GIX8.js → send-BtFuV6zU.js} +9 -9
  473. package/dist/plugin-sdk/{send-DWB5HFdb.js → send-CNxLDNQ9.js} +9 -9
  474. package/dist/plugin-sdk/{send-DGUAXb2b.js → send-FcEJfLTd.js} +6 -6
  475. package/dist/plugin-sdk/{send-zn5KBXIN.js → send-Qckp3h4k.js} +10 -10
  476. package/dist/plugin-sdk/{session-BLyxz03u.js → session-C3Ul4abD.js} +4 -4
  477. package/dist/plugin-sdk/{skill-commands-DCnCOVR_.js → skill-commands-C2CnUTPX.js} +4 -4
  478. package/dist/plugin-sdk/{slack-actions-Dwy-8Zg7.js → slack-actions-CLyEd8FK.js} +25 -25
  479. package/dist/plugin-sdk/{slack-DcXn5HVj.js → slack-bSeSOI9d.js} +72 -71
  480. package/dist/plugin-sdk/slack.d.ts +4 -4
  481. package/dist/plugin-sdk/slack.js +17 -18
  482. package/dist/plugin-sdk/{ssrf-D_4q0mKh.js → ssrf-BZG8Ztod.js} +1 -1
  483. package/dist/plugin-sdk/{sticker-cache-C3YATyKD.js → sticker-cache-DBnS3hHh.js} +4 -4
  484. package/dist/plugin-sdk/{tables-DX84FwPB.js → tables-L5mXZ5y_.js} +2 -2
  485. package/dist/plugin-sdk/{targets-BgSHco9b.js → targets-eG595pY0.js} +2 -2
  486. package/dist/plugin-sdk/{telegram-actions-Dd_iEzYH.js → telegram-actions-D0Kyqy_e.js} +56 -54
  487. package/dist/plugin-sdk/telegram.d.ts +4 -4
  488. package/dist/plugin-sdk/telegram.js +15 -16
  489. package/dist/plugin-sdk/{thread-bindings.lifecycle-DjpMLjhY.js → thread-bindings.lifecycle-C_5BEWmL.js} +3 -3
  490. package/dist/plugin-sdk/{thread-bindings.state-DYYR9qeT.js → thread-bindings.state-DRZAbcUu.js} +4 -4
  491. package/dist/plugin-sdk/{tmp-fased-dir-Bcp1DTSV.d.ts → tmp-fased-dir-BpMLNd4L.d.ts} +1 -1
  492. package/dist/plugin-sdk/{types-BTkcYtOt.d.ts → types-0CsXVmg8.d.ts} +2 -2
  493. package/dist/plugin-sdk/{types-CMoLtViq.d.ts → types-DMLEeE52.d.ts} +1 -1
  494. package/dist/plugin-sdk/{wallet-status-D9UVH6k9.js → wallet-status-2yrXvqSS.js} +7 -7
  495. package/dist/plugin-sdk/{web-BgTy1WeG.js → web-CSRe4zy2.js} +60 -58
  496. package/dist/plugin-sdk/{whatsapp-actions-DISRDbu1.js → whatsapp-actions-CkLkpg8M.js} +23 -23
  497. package/dist/plugin-sdk/{whatsapp-heartbeat-KM3lYpt-.js → whatsapp-heartbeat-DuAE9_88.js} +3 -3
  498. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  499. package/dist/plugin-sdk/whatsapp.js +18 -19
  500. package/dist/plugin-sdk/{ws-CxmRDbD9.js → ws-CocpWGhl.js} +1 -1
  501. package/dist/plugin-sdk/{wsl-Cw-xOsqF.js → wsl-CXVwPntb.js} +3 -3
  502. package/dist/plugin-sdk/{zod-schema.providers-core-CIzCjXH9.d.ts → zod-schema.providers-core-FaYR6KdD.d.ts} +61 -61
  503. package/dist/plugins/bundled-dir.js +3 -3
  504. package/dist/plugins/config-state.js +1 -0
  505. package/dist/plugins/discovery.js +11 -11
  506. package/dist/plugins/loader.js +13 -13
  507. package/dist/plugins/manifest-registry.js +2 -2
  508. package/dist/plugins/manifest.js +4 -4
  509. package/dist/plugins/path-safety.js +3 -3
  510. package/dist/plugins/providers.js +1 -1
  511. package/dist/plugins/runtime/index.js +12 -12
  512. package/dist/plugins/status-cache.js +9 -9
  513. package/dist/plugins/status.js +1 -1
  514. package/dist/plugins/tools.js +1 -1
  515. package/dist/plugins/update.js +3 -3
  516. package/dist/plugins/web-search-install-catalog.js +3 -3
  517. package/dist/plugins/web-search-providers.runtime.js +1 -1
  518. package/dist/process/command-queue.js +1 -1
  519. package/dist/providers/refresh.js +2 -2
  520. package/dist/providers/registry.js +53 -2
  521. package/dist/secrets/apply.js +16 -16
  522. package/dist/secrets/audit.js +11 -11
  523. package/dist/secrets/shared.js +9 -9
  524. package/dist/security/audit-channel.js +1 -1
  525. package/dist/security/audit-extra.async.js +3 -3
  526. package/dist/security/audit-extra.sync.js +2 -2
  527. package/dist/security/audit.js +4 -4
  528. package/dist/security/dm-policy-shared.js +1 -1
  529. package/dist/security/scan-paths.js +2 -2
  530. package/dist/shared/config-eval.js +2 -2
  531. package/dist/shared/model-thinking.js +4 -1
  532. package/dist/shared/net/redact-sensitive-url.js +1 -0
  533. package/dist/shared/pid-alive.js +2 -2
  534. package/dist/signal/client.js +1 -1
  535. package/dist/signal/index.js +1 -1
  536. package/dist/signal/monitor/access-policy.js +1 -1
  537. package/dist/signal/monitor/event-handler.js +6 -6
  538. package/dist/signal/monitor.js +4 -4
  539. package/dist/signal/send.js +3 -3
  540. package/dist/slack/monitor/auth.js +1 -1
  541. package/dist/slack/monitor/context.js +1 -1
  542. package/dist/slack/monitor/dm-auth.js +1 -1
  543. package/dist/slack/monitor/message-handler/prepare.js +4 -4
  544. package/dist/slack/monitor/provider.js +3 -3
  545. package/dist/slack/monitor/replies.js +1 -1
  546. package/dist/slack/monitor/slash.js +1 -1
  547. package/dist/slack/send.js +1 -1
  548. package/dist/tasks/standing-orders.js +5 -5
  549. package/dist/tasks/task-flow-registry.js +5 -5
  550. package/dist/tasks/task-registry.js +5 -5
  551. package/dist/tasks/workflow-definitions.js +6 -6
  552. package/dist/telegram/bot/helpers.js +2 -2
  553. package/dist/telegram/bot-handlers.js +6 -6
  554. package/dist/telegram/bot-message-context.js +6 -6
  555. package/dist/telegram/bot-message-dispatch.js +2 -2
  556. package/dist/telegram/bot-native-commands.js +4 -4
  557. package/dist/telegram/bot.js +1 -1
  558. package/dist/telegram/dm-access.js +1 -1
  559. package/dist/telegram/group-access.js +1 -1
  560. package/dist/telegram/monitor.js +2 -2
  561. package/dist/telegram/send.js +2 -2
  562. package/dist/telegram/token.js +5 -5
  563. package/dist/telegram/webhook.js +1 -1
  564. package/dist/tts/tts-core.js +1 -1
  565. package/dist/utils.js +5 -5
  566. package/dist/video-generation/dashscope-compatible.js +1 -1
  567. package/dist/wallet/local-socket-signer-broker.js +18 -18
  568. package/dist/wallet/providers/embedded-keystore-adapter.js +6 -6
  569. package/dist/wallet/providers/local-socket-signer-adapter.js +5 -5
  570. package/dist/wallet/wallet-approval-auth.js +5 -5
  571. package/dist/wallet/wallet-audit-log.js +5 -5
  572. package/dist/wallet/wallet-canary.js +1 -1
  573. package/dist/wallet/wallet-custody.js +25 -25
  574. package/dist/wallet/wallet-inbound-events.js +7 -7
  575. package/dist/wallet/wallet-observability.js +5 -5
  576. package/dist/wallet/wallet-policy.js +11 -11
  577. package/dist/wallet/wallet-provider-registry.js +7 -7
  578. package/dist/wallet/wallet-provider-resolver.js +1 -1
  579. package/dist/wallet/wallet-runtime-config.js +3 -3
  580. package/dist/wallet/wallet-secrets-store.js +22 -22
  581. package/dist/wallet/wallet-send-approvals.js +10 -10
  582. package/dist/wallet/wallet-settlement-links.js +5 -5
  583. package/dist/wallet/wallet-status.js +2 -2
  584. package/dist/web/accounts.js +3 -3
  585. package/dist/web/auth-store.js +18 -18
  586. package/dist/web/auto-reply/deliver-reply.js +2 -2
  587. package/dist/web/auto-reply/heartbeat-runner.js +3 -3
  588. package/dist/web/auto-reply/monitor/group-gating.js +1 -1
  589. package/dist/web/auto-reply/monitor/process-message.js +4 -4
  590. package/dist/web/auto-reply/monitor.js +4 -4
  591. package/dist/web/inbound/access-control.js +3 -3
  592. package/dist/web/inbound/monitor.js +2 -2
  593. package/dist/web/media.js +2 -2
  594. package/dist/web/outbound.js +3 -3
  595. package/dist/web/session.js +4 -4
  596. package/dist/wizard/host-security-capability.js +2 -2
  597. package/dist/wizard/onboarding.federation.js +1 -1
  598. package/dist/wizard/onboarding.finalize.js +7 -7
  599. package/dist/wizard/onboarding.host-security.js +7 -7
  600. package/dist/wizard/onboarding.js +8 -8
  601. package/dist/wizard/onboarding.wallet.js +45 -45
  602. package/extensions/acpx/package.json +1 -1
  603. package/extensions/bluebubbles/package.json +1 -1
  604. package/extensions/copilot-proxy/package.json +1 -1
  605. package/extensions/diagnostics-otel/package.json +1 -1
  606. package/extensions/fased-federation/package.json +1 -1
  607. package/extensions/google-gemini-cli-auth/package.json +1 -1
  608. package/extensions/imessage/package.json +1 -1
  609. package/extensions/irc/package.json +1 -1
  610. package/extensions/line/package.json +1 -1
  611. package/extensions/llm-task/package.json +1 -1
  612. package/extensions/lobster/package.json +1 -1
  613. package/extensions/matrix/CHANGELOG.md +12 -0
  614. package/extensions/matrix/package.json +1 -1
  615. package/extensions/mattermost/package.json +1 -1
  616. package/extensions/memory-core/package.json +2 -2
  617. package/extensions/memory-lancedb/package.json +1 -1
  618. package/extensions/minimax-portal-auth/package.json +1 -1
  619. package/extensions/msteams/CHANGELOG.md +12 -0
  620. package/extensions/msteams/package.json +1 -1
  621. package/extensions/nextcloud-talk/package.json +1 -1
  622. package/extensions/nostr/CHANGELOG.md +12 -0
  623. package/extensions/nostr/package.json +1 -1
  624. package/extensions/open-prose/package.json +1 -1
  625. package/extensions/sat-mining/index.ts +13 -1
  626. package/extensions/sat-mining/package.json +1 -1
  627. package/extensions/sat-mining/src/epoch-service.ts +16 -0
  628. package/extensions/sat-mining/src/round-watcher.ts +21 -0
  629. package/extensions/sat-mining/src/rpc-read.ts +9 -2
  630. package/extensions/sat-mining/src/runtime.ts +5 -1
  631. package/extensions/signal/package.json +1 -1
  632. package/extensions/synology-chat/package.json +1 -1
  633. package/extensions/tlon/package.json +1 -1
  634. package/extensions/twitch/CHANGELOG.md +12 -0
  635. package/extensions/twitch/package.json +1 -1
  636. package/extensions/voice-call/CHANGELOG.md +12 -0
  637. package/extensions/voice-call/package.json +1 -1
  638. package/extensions/zalo/CHANGELOG.md +12 -0
  639. package/extensions/zalo/package.json +1 -1
  640. package/extensions/zalouser/CHANGELOG.md +12 -0
  641. package/extensions/zalouser/package.json +1 -1
  642. package/package.json +1 -1
  643. package/dist/control-ui/assets/chat-model-ref-DV2P__mw.js +0 -2
  644. package/dist/plugin-sdk/links-D5ecKoG9.js +0 -74
  645. package/dist/plugin-sdk/media-payload-DpYEcV-X.js +0 -18
  646. package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +0 -4
  647. package/dist/plugin-sdk/resolve-utils-DrvLA82C.js +0 -136
  648. /package/dist/plugin-sdk/{blocks-input-DdQwSVtP.js → blocks-input-Dcitfh7h.js} +0 -0
  649. /package/dist/plugin-sdk/{channel-activity-B7MIaDei.js → channel-activity-Cg1xRoc2.js} +0 -0
  650. /package/dist/plugin-sdk/{channel-core-CMPoGCik.js → channel-core-BOkyXXLa.js} +0 -0
  651. /package/dist/plugin-sdk/{client-BTUzO_8g.js → client-D2N7hqVu.js} +0 -0
  652. /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-NAePk3eL.js} +0 -0
  653. /package/dist/plugin-sdk/{date-time-Bbp5JvNw.js → date-time-CE3Uer3C.js} +0 -0
  654. /package/dist/plugin-sdk/{diagnostic-session-state-B-9PL5r7.js → diagnostic-session-state-HO94DMou.js} +0 -0
  655. /package/dist/plugin-sdk/{draft-stream-loop-DZ1OAyye.js → draft-stream-loop-CKyHn8IX.js} +0 -0
  656. /package/dist/plugin-sdk/{fetch-headers-DvXyXtoI.js → fetch-headers-my7hgV2G.js} +0 -0
  657. /package/dist/plugin-sdk/{fetch-timeout-jOIu9Xud.js → fetch-timeout-l_6RdoMw.js} +0 -0
  658. /package/dist/plugin-sdk/{gateway-registry-C-MTEdvG.js → gateway-registry-DFsoY6C0.js} +0 -0
  659. /package/dist/plugin-sdk/{github-copilot-token-Dgug856m.js → github-copilot-token-CUK__1s1.js} +0 -0
  660. /package/dist/plugin-sdk/{inbound-context-BNCTzgjG.js → inbound-context-BFnIdcqI.js} +0 -0
  661. /package/dist/plugin-sdk/{ip-BkeyFRJr.js → ip-C70a-YlD.js} +0 -0
  662. /package/dist/plugin-sdk/{memory-search-DHSeU4pJ.js → memory-search-C3C0bD2H.js} +0 -0
  663. /package/dist/plugin-sdk/{pairing-token-HQpaqod5.js → pairing-token-N_6Jbt1L.js} +0 -0
  664. /package/dist/plugin-sdk/{path-alias-guards-BlIJ0AmG.js → path-alias-guards-Dg3gU-MA.js} +0 -0
  665. /package/dist/plugin-sdk/{paths-B88DQEK8.js → paths-CTZ2RS_E.js} +0 -0
  666. /package/dist/plugin-sdk/{polls-Dy1NsYKT.js → polls-DQrR-qT3.js} +0 -0
  667. /package/dist/plugin-sdk/{proxy-R5TjOIFS.js → proxy-7xs_rsnV.js} +0 -0
  668. /package/dist/plugin-sdk/{qmd-scope-C9tRnohc.js → qmd-scope-D1sSG_Rx.js} +0 -0
  669. /package/dist/plugin-sdk/{redact-CwCz68Mi.js → redact-Bm8vu_ju.js} +0 -0
  670. /package/dist/plugin-sdk/{redact-identifier-CDvAeiFm.js → redact-identifier-Q3tkvxhm.js} +0 -0
  671. /package/dist/plugin-sdk/{render-K7NwXvVu.js → render-Bwu_WxwA.js} +0 -0
  672. /package/dist/plugin-sdk/{reply-prefix-CbPHNXlm.js → reply-prefix-Bqzm6DC1.js} +0 -0
  673. /package/dist/plugin-sdk/{reply-reference-CWEIswqw.js → reply-reference-BkbK_DWT.js} +0 -0
  674. /package/dist/plugin-sdk/{retry-DycQ4ymF.js → retry-DstNBhDW.js} +0 -0
  675. /package/dist/plugin-sdk/{run-with-concurrency-CLARJMM7.js → run-with-concurrency-BsDJWzgM.js} +0 -0
  676. /package/dist/plugin-sdk/{secure-random-C2EhANj2.js → secure-random-Bl-AVLVb.js} +0 -0
  677. /package/dist/plugin-sdk/{shared-V35XNAbz.js → shared-clhhbWN3.js} +0 -0
  678. /package/dist/plugin-sdk/{tailscale-status-BGBRraZW.js → tailscale-status-ClsquRGs.js} +0 -0
  679. /package/dist/plugin-sdk/{target-errors-C0yNDbGS.js → target-errors-C_SVKoEv.js} +0 -0
  680. /package/dist/plugin-sdk/{targets-CuTZl1mO.js → targets-BDvvnlph.js} +0 -0
  681. /package/dist/plugin-sdk/{tokens-Do_JU4Rh.js → tokens-BvtlOzVP.js} +0 -0
  682. /package/dist/plugin-sdk/{tool-loop-detection-P5u2k0_f.js → tool-loop-detection-CWphm1k_.js} +0 -0
  683. /package/dist/plugin-sdk/{transcript-events-NZiMKWBK.js → transcript-events-BJQWUdmU.js} +0 -0
  684. /package/dist/plugin-sdk/{ui-KGr1WRXC.js → ui-e020ouhJ.js} +0 -0
  685. /package/dist/plugin-sdk/{with-timeout-Dl513q34.js → with-timeout-BYrRAYFV.js} +0 -0
@@ -2,19 +2,20 @@ import { defaultRuntime } from "../runtime.js";
2
2
  import { loadConfig, writeConfigFile } from "../config/io.js";
3
3
  import "../config/config.js";
4
4
  import { ensureWalletStateDir, resolveLocalSignerBackendSocketPath, resolveLocalSignerMaterialRootDir, resolveLocalSignerSidecarPaths, resolveLocalSignerSocketPath, resolveWalletRuntimeConfig } from "../wallet/wallet-runtime-config.js";
5
- import { readWalletApprovalAuthSnapshot } from "../wallet/wallet-approval-auth.js";
6
5
  import { normalizeWalletUserRole, readWalletProviderRegistry, resolveWalletUserRole, setDefaultWallet, setNamedWalletRole, upsertNamedWallet } from "../wallet/wallet-provider-registry.js";
7
6
  import { applyWalletPolicyConfig, resolveWalletRoleForId } from "../wallet/wallet-policy.js";
7
+ import { buildWalletProviderCapabilityMatrix } from "../wallet/wallet-provider-capabilities.js";
8
+ import { redactWalletDiagnosticText } from "../wallet/wallet-redaction.js";
8
9
  import { readWalletProviderSecretStatus, saveWalletProviderSecret } from "../wallet/wallet-secrets-store.js";
9
10
  import { createWalletProviderAdapter, resolveWalletProviderId } from "../wallet/wallet-provider-resolver.js";
11
+ import { readWalletApprovalAuthSnapshot } from "../wallet/wallet-approval-auth.js";
10
12
  import { deleteWalletCustodyCeremony, initializeWalletCustodyCeremony, listSplitKeyWalletCustodyStatuses, lockWalletCustodyUnlockSessions, readWalletCustodyStatus, recoverWalletCustodyPassphrase } from "../wallet/wallet-custody.js";
11
- import { buildWalletProviderCapabilityMatrix } from "../wallet/wallet-provider-capabilities.js";
12
13
  import { readWalletStatusSnapshot, resolveWalletConfigForRuntime } from "../wallet/wallet-status.js";
13
14
  import { startLocalSocketSignerBroker } from "../wallet/local-socket-signer-broker.js";
14
15
  import { listWalletInboundEvents, pollWalletInboundEvents, reconcileWalletInboundEvents } from "../wallet/wallet-inbound-events.js";
15
16
  import { buildWalletCanaryReport, runWalletProviderCanaryReport } from "../wallet/wallet-canary.js";
16
17
  import { resolveSignerdBinaryPath, restartLocalSocketSigner } from "../wizard/onboarding.wallet.js";
17
- import fs from "node:fs";
18
+ import syncFs from "node:fs";
18
19
  import path from "node:path";
19
20
  import { createCipheriv, createDecipheriv, createPrivateKey, createPublicKey, randomBytes, scryptSync } from "node:crypto";
20
21
  import { createInterface } from "node:readline/promises";
@@ -675,12 +676,12 @@ function resolveKeystorePassphrase(optionsPassphrase, env) {
675
676
  return optionsPassphrase.trim();
676
677
  }
677
678
  const file = String(env.FASED_WALLET_PASSPHRASE_FILE ?? "").trim();
678
- if (file && fs.existsSync(file)) {
679
- return fs.readFileSync(file, "utf8").trim();
679
+ if (file && syncFs.existsSync(file)) {
680
+ return syncFs.readFileSync(file, "utf8").trim();
680
681
  }
681
682
  const managedFile = path.join(resolveLocalSignerMaterialRootDir(env), "passphrase");
682
- if (fs.existsSync(managedFile)) {
683
- return fs.readFileSync(managedFile, "utf8").trim();
683
+ if (syncFs.existsSync(managedFile)) {
684
+ return syncFs.readFileSync(managedFile, "utf8").trim();
684
685
  }
685
686
  return String(env.FASED_WALLET_PASSPHRASE ?? "").trim();
686
687
  }
@@ -696,7 +697,7 @@ function resolveLocalSignerPassphraseSource(env) {
696
697
  const candidates = [configuredFile ? path.resolve(configuredFile) : "", path.join(resolveLocalSignerMaterialRootDir(env), "passphrase")].filter(Boolean);
697
698
  for (const candidate of candidates) {
698
699
  try {
699
- const value = fs.readFileSync(candidate, "utf8").trim();
700
+ const value = syncFs.readFileSync(candidate, "utf8").trim();
700
701
  if (value) {
701
702
  return {
702
703
  kind: "file",
@@ -774,16 +775,16 @@ function ensureLocalSignerPassphraseFileForCustodyDisable(params) {
774
775
  };
775
776
  }
776
777
  function writePassphraseFile(filePath, passphrase) {
777
- fs.mkdirSync(path.dirname(filePath), {
778
+ syncFs.mkdirSync(path.dirname(filePath), {
778
779
  recursive: true,
779
780
  mode: 448
780
781
  });
781
- fs.writeFileSync(filePath, `${passphrase}\n`, {
782
+ syncFs.writeFileSync(filePath, `${passphrase}\n`, {
782
783
  encoding: "utf8",
783
784
  mode: 384
784
785
  });
785
786
  try {
786
- fs.chmodSync(filePath, 384);
787
+ syncFs.chmodSync(filePath, 384);
787
788
  } catch {}
788
789
  }
789
790
  function walletIdsMatchForEnvSuffix(left, right) {
@@ -823,7 +824,7 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
823
824
  return;
824
825
  }
825
826
  const resolved = path.resolve(candidate);
826
- if (!fs.existsSync(resolved)) {
827
+ if (!syncFs.existsSync(resolved)) {
827
828
  return;
828
829
  }
829
830
  const existing = targets.get(resolved);
@@ -850,8 +851,8 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
850
851
  addTarget("solana", value, key.slice("FASED_WALLET_SOLANA_KEYSTORE_PATH__".length).toLowerCase());
851
852
  }
852
853
  }
853
- if (fs.existsSync(materialRoot)) {
854
- for (const entry of fs.readdirSync(materialRoot, { withFileTypes: true })) {
854
+ if (syncFs.existsSync(materialRoot)) {
855
+ for (const entry of syncFs.readdirSync(materialRoot, { withFileTypes: true })) {
855
856
  if (!entry.isFile()) {
856
857
  continue;
857
858
  }
@@ -871,7 +872,7 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
871
872
  return [...targets.values()].toSorted((left, right) => left.label.localeCompare(right.label));
872
873
  }
873
874
  async function reencryptLocalSignerKeystore(params) {
874
- const raw = fs.readFileSync(params.target.path, "utf8");
875
+ const raw = syncFs.readFileSync(params.target.path, "utf8");
875
876
  const detected = detectEmbeddedKeystoreType(raw);
876
877
  if (detected === "solana-envelope") {
877
878
  const envelope = parseSolanaKeystoreEnvelope(raw);
@@ -884,7 +885,7 @@ async function reencryptLocalSignerKeystore(params) {
884
885
  passphrase: params.newPassphrase,
885
886
  publicKey: envelope.publicKey
886
887
  });
887
- fs.writeFileSync(params.target.path, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
888
+ syncFs.writeFileSync(params.target.path, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
888
889
  encoding: "utf8",
889
890
  mode: 384
890
891
  });
@@ -905,13 +906,13 @@ function removeLocalSignerPassphraseFileIfManaged(env) {
905
906
  const resolved = path.resolve(configured);
906
907
  const materialRoot = resolveLocalSignerMaterialRootDir(env);
907
908
  const withinMaterialRoot = resolved === materialRoot || resolved.startsWith(`${materialRoot}${path.sep}`);
908
- if (!withinMaterialRoot || !fs.existsSync(resolved)) {
909
+ if (!withinMaterialRoot || !syncFs.existsSync(resolved)) {
909
910
  return {
910
911
  removed: false,
911
912
  path: resolved
912
913
  };
913
914
  }
914
- fs.rmSync(resolved, { force: true });
915
+ syncFs.rmSync(resolved, { force: true });
915
916
  return {
916
917
  removed: true,
917
918
  path: resolved
@@ -949,11 +950,11 @@ function writeLocalSignerEnvFile(cfg, env) {
949
950
  "",
950
951
  `"${signerBinPath}" --socket "\${FASED_WALLET_LOCAL_SIGNER_BACKEND_SOCKET:-$FASED_WALLET_LOCAL_SIGNER_SOCKET}"`
951
952
  ];
952
- fs.mkdirSync(path.dirname(signerEnvPath), {
953
+ syncFs.mkdirSync(path.dirname(signerEnvPath), {
953
954
  recursive: true,
954
955
  mode: 448
955
956
  });
956
- fs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
957
+ syncFs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
957
958
  encoding: "utf8",
958
959
  mode: 384
959
960
  });
@@ -1051,11 +1052,11 @@ async function configureLocalSignerMode(runtime, options, env) {
1051
1052
  "",
1052
1053
  `"${signerBinPath}" --socket "\${FASED_WALLET_LOCAL_SIGNER_BACKEND_SOCKET:-$FASED_WALLET_LOCAL_SIGNER_SOCKET}"`
1053
1054
  ];
1054
- fs.mkdirSync(path.dirname(signerEnvPath), {
1055
+ syncFs.mkdirSync(path.dirname(signerEnvPath), {
1055
1056
  recursive: true,
1056
1057
  mode: 448
1057
1058
  });
1058
- fs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
1059
+ syncFs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
1059
1060
  encoding: "utf8",
1060
1061
  mode: 384
1061
1062
  });
@@ -1499,10 +1500,10 @@ async function walletKeystoreInitCommand(runtime = defaultRuntime, options = {})
1499
1500
  }
1500
1501
  const chain = options.chain ?? "solana";
1501
1502
  const outPath = resolveEmbeddedKeystorePathForChain(env, chain, options.out, options.walletId);
1502
- if (fs.existsSync(outPath) && !options.force) {
1503
+ if (syncFs.existsSync(outPath) && !options.force) {
1503
1504
  throw new Error(`Keystore already exists: ${outPath}`);
1504
1505
  }
1505
- fs.mkdirSync(path.dirname(outPath), {
1506
+ syncFs.mkdirSync(path.dirname(outPath), {
1506
1507
  recursive: true,
1507
1508
  mode: 448
1508
1509
  });
@@ -1517,14 +1518,14 @@ async function walletKeystoreInitCommand(runtime = defaultRuntime, options = {})
1517
1518
  passphrase,
1518
1519
  publicKey
1519
1520
  });
1520
- fs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
1521
+ syncFs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
1521
1522
  encoding: "utf8",
1522
1523
  mode: 384
1523
1524
  });
1524
1525
  addressOut = publicKey;
1525
1526
  privateKeyOut = Buffer.from(secretKey).toString("base64");
1526
1527
  try {
1527
- fs.chmodSync(outPath, 384);
1528
+ syncFs.chmodSync(outPath, 384);
1528
1529
  } catch {}
1529
1530
  const cfg = options.skipProviderConfig ? ensureWalletMaterialConfig(loadConfig(), {
1530
1531
  keystorePath: outPath,
@@ -1599,10 +1600,10 @@ async function walletKeystoreImportCommand(runtime = defaultRuntime, options = {
1599
1600
  throw new Error("Missing private key. Pass --private-key or set FASED_WALLET_PRIVATE_KEY.");
1600
1601
  }
1601
1602
  const outPath = resolveEmbeddedKeystorePathForChain(env, chain, options.out, options.walletId);
1602
- if (fs.existsSync(outPath) && !options.force) {
1603
+ if (syncFs.existsSync(outPath) && !options.force) {
1603
1604
  throw new Error(`Keystore already exists: ${outPath}`);
1604
1605
  }
1605
- fs.mkdirSync(path.dirname(outPath), {
1606
+ syncFs.mkdirSync(path.dirname(outPath), {
1606
1607
  recursive: true,
1607
1608
  mode: 448
1608
1609
  });
@@ -1614,13 +1615,13 @@ async function walletKeystoreImportCommand(runtime = defaultRuntime, options = {
1614
1615
  passphrase,
1615
1616
  publicKey
1616
1617
  });
1617
- fs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
1618
+ syncFs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
1618
1619
  encoding: "utf8",
1619
1620
  mode: 384
1620
1621
  });
1621
1622
  addressOut = publicKey;
1622
1623
  try {
1623
- fs.chmodSync(outPath, 384);
1624
+ syncFs.chmodSync(outPath, 384);
1624
1625
  } catch {}
1625
1626
  const cfg = options.skipProviderConfig ? ensureWalletMaterialConfig(loadConfig(), {
1626
1627
  keystorePath: outPath,
@@ -1682,7 +1683,7 @@ async function walletKeystoreStatusCommand(runtime = defaultRuntime, options = {
1682
1683
  const cfg = loadConfig();
1683
1684
  const chain = options.chain ?? "solana";
1684
1685
  const keystorePath = resolveEmbeddedKeystorePathForChain(env, chain, cfg.wallet?.keystore?.path, options.walletId);
1685
- const exists = fs.existsSync(keystorePath);
1686
+ const exists = syncFs.existsSync(keystorePath);
1686
1687
  const providerId = cfg.wallet?.provider?.id;
1687
1688
  let address;
1688
1689
  let unlocked = false;
@@ -1690,7 +1691,7 @@ async function walletKeystoreStatusCommand(runtime = defaultRuntime, options = {
1690
1691
  let detectedType = "missing";
1691
1692
  if (exists) {
1692
1693
  const passphrase = resolveKeystorePassphrase(undefined, env);
1693
- const raw = fs.readFileSync(keystorePath, "utf8");
1694
+ const raw = syncFs.readFileSync(keystorePath, "utf8");
1694
1695
  detectedType = detectEmbeddedKeystoreType(raw);
1695
1696
  if (passphrase) {
1696
1697
  try {
@@ -1755,14 +1756,14 @@ async function walletKeystoreValidateCommand(runtime = defaultRuntime, options =
1755
1756
  };
1756
1757
  let raw = "";
1757
1758
  let detectedType = "missing";
1758
- if (!fs.existsSync(keystorePath)) {
1759
+ if (!syncFs.existsSync(keystorePath)) {
1759
1760
  result.checks.push({
1760
1761
  id: "keystore.exists",
1761
1762
  ok: false,
1762
1763
  message: `missing: ${keystorePath}`
1763
1764
  });
1764
1765
  } else {
1765
- raw = fs.readFileSync(keystorePath, "utf8");
1766
+ raw = syncFs.readFileSync(keystorePath, "utf8");
1766
1767
  detectedType = detectEmbeddedKeystoreType(raw);
1767
1768
  result.checks.push({
1768
1769
  id: "keystore.exists",
@@ -1864,7 +1865,7 @@ async function walletKeystoreValidateCommand(runtime = defaultRuntime, options =
1864
1865
  async function walletKeystorePassphraseInitCommand(runtime = defaultRuntime, options = {}) {
1865
1866
  const env = process.env ?? process.env;
1866
1867
  const outPath = resolvePassphraseFilePath(env, options.out);
1867
- if (fs.existsSync(outPath) && !options.force) {
1868
+ if (syncFs.existsSync(outPath) && !options.force) {
1868
1869
  throw new Error(`Passphrase file already exists: ${outPath} (use --force to overwrite)`);
1869
1870
  }
1870
1871
  const bytes = typeof options.length === "number" && Number.isFinite(options.length) && options.length >= 16 ? Math.floor(options.length) : 24;
@@ -1886,15 +1887,15 @@ async function walletKeystorePassphraseRotateCommand(runtime = defaultRuntime, o
1886
1887
  const cfg = loadConfig();
1887
1888
  const keystorePath = resolveEmbeddedKeystorePath(env, cfg.wallet?.keystore?.path);
1888
1889
  const passphraseFile = resolvePassphraseFilePath(env, options.file);
1889
- if (!fs.existsSync(keystorePath)) {
1890
+ if (!syncFs.existsSync(keystorePath)) {
1890
1891
  throw new Error(`Keystore missing: ${keystorePath}`);
1891
1892
  }
1892
- const oldPassphrase = (options.oldPassphrase ?? (fs.existsSync(passphraseFile) ? fs.readFileSync(passphraseFile, "utf8") : "")).trim() || String(env.FASED_WALLET_PASSPHRASE ?? "").trim();
1893
+ const oldPassphrase = (options.oldPassphrase ?? (syncFs.existsSync(passphraseFile) ? syncFs.readFileSync(passphraseFile, "utf8") : "")).trim() || String(env.FASED_WALLET_PASSPHRASE ?? "").trim();
1893
1894
  if (!oldPassphrase) {
1894
1895
  throw new Error("Missing old passphrase. Provide --old-passphrase or configure passphrase file/env.");
1895
1896
  }
1896
1897
  const newPassphrase = (options.newPassphrase ?? "").trim() || randomBytes(24).toString("base64url");
1897
- const raw = fs.readFileSync(keystorePath, "utf8");
1898
+ const raw = syncFs.readFileSync(keystorePath, "utf8");
1898
1899
  const detected = detectEmbeddedKeystoreType(raw);
1899
1900
  if (detected === "solana-envelope") {
1900
1901
  const envelope = parseSolanaKeystoreEnvelope(raw);
@@ -1907,7 +1908,7 @@ async function walletKeystorePassphraseRotateCommand(runtime = defaultRuntime, o
1907
1908
  passphrase: newPassphrase,
1908
1909
  publicKey: envelope.publicKey
1909
1910
  });
1910
- fs.writeFileSync(keystorePath, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
1911
+ syncFs.writeFileSync(keystorePath, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
1911
1912
  encoding: "utf8",
1912
1913
  mode: 384
1913
1914
  });
@@ -1932,10 +1933,10 @@ async function walletKeystoreExportCommand(runtime = defaultRuntime, options = {
1932
1933
  const env = process.env ?? process.env;
1933
1934
  const cfg = loadConfig();
1934
1935
  const keystorePath = resolveEmbeddedKeystorePath(env, cfg.wallet?.keystore?.path);
1935
- if (!fs.existsSync(keystorePath)) {
1936
+ if (!syncFs.existsSync(keystorePath)) {
1936
1937
  throw new Error(`Keystore missing: ${keystorePath}`);
1937
1938
  }
1938
- const raw = fs.readFileSync(keystorePath, "utf8");
1939
+ const raw = syncFs.readFileSync(keystorePath, "utf8");
1939
1940
  const detected = detectEmbeddedKeystoreType(raw);
1940
1941
  const outPath = options.out?.trim() ? path.resolve(options.out.trim()) : undefined;
1941
1942
  const payload = {
@@ -1948,11 +1949,11 @@ async function walletKeystoreExportCommand(runtime = defaultRuntime, options = {
1948
1949
  payload.keystore = raw;
1949
1950
  }
1950
1951
  if (outPath) {
1951
- fs.mkdirSync(path.dirname(outPath), {
1952
+ syncFs.mkdirSync(path.dirname(outPath), {
1952
1953
  recursive: true,
1953
1954
  mode: 448
1954
1955
  });
1955
- fs.writeFileSync(outPath, raw, {
1956
+ syncFs.writeFileSync(outPath, raw, {
1956
1957
  encoding: "utf8",
1957
1958
  mode: 384
1958
1959
  });
@@ -2128,7 +2129,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2128
2129
  const push = (check, ok, detail) => checks.push({
2129
2130
  check,
2130
2131
  ok,
2131
- detail
2132
+ detail: detail ? redactWalletDiagnosticText(detail) : undefined
2132
2133
  });
2133
2134
  const providerId = resolveWalletProviderId(cfg, effectiveEnv);
2134
2135
  const isLocalSigner = providerId === "local-socket-signer";
@@ -2138,7 +2139,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2138
2139
  const isNotFoundError = (err) => err?.code === "ENOENT";
2139
2140
  if (isLocalSigner) {
2140
2141
  try {
2141
- const st = fs.statSync(socketPath);
2142
+ const st = syncFs.statSync(socketPath);
2142
2143
  push("socket.exists", st.isSocket?.() ?? true, socketPath);
2143
2144
  try {
2144
2145
  const mode = st.mode & 511;
@@ -2148,7 +2149,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2148
2149
  push("socket.exists", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
2149
2150
  }
2150
2151
  try {
2151
- const pidRaw = fs.readFileSync(pidPath, "utf8").trim();
2152
+ const pidRaw = syncFs.readFileSync(pidPath, "utf8").trim();
2152
2153
  const pid = Number.parseInt(pidRaw, 10);
2153
2154
  if (Number.isFinite(pid) && pid > 1) {
2154
2155
  try {
@@ -2164,7 +2165,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2164
2165
  push("pid.alive", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
2165
2166
  }
2166
2167
  try {
2167
- const st = fs.statSync(auditPath);
2168
+ const st = syncFs.statSync(auditPath);
2168
2169
  push("audit.exists", true, `bytes=${st.size}`);
2169
2170
  } catch (err) {
2170
2171
  push("audit.exists", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
@@ -2192,14 +2193,14 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2192
2193
  return "";
2193
2194
  }
2194
2195
  try {
2195
- return fs.readFileSync(p, "utf8").trim();
2196
+ return syncFs.readFileSync(p, "utf8").trim();
2196
2197
  } catch {
2197
2198
  return "";
2198
2199
  }
2199
2200
  })();
2200
2201
  const inspectKeystore = (label, keystorePath) => {
2201
2202
  try {
2202
- const raw = fs.readFileSync(keystorePath, "utf8");
2203
+ const raw = syncFs.readFileSync(keystorePath, "utf8");
2203
2204
  const kind = detectEmbeddedKeystoreType(raw);
2204
2205
  if (kind === "unknown") {
2205
2206
  push(`keystore.file.${label}`, false, `${keystorePath} type=unknown (expected fased-solana-keypair envelope)`);
@@ -2256,7 +2257,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
2256
2257
  return true;
2257
2258
  }
2258
2259
  const defaultPath = resolveEmbeddedKeystorePathForChain(effectiveEnv, "solana");
2259
- if (fs.existsSync(defaultPath)) {
2260
+ if (syncFs.existsSync(defaultPath)) {
2260
2261
  return true;
2261
2262
  }
2262
2263
  if (providerDefaultWallet?.addresses?.solana) {
@@ -1,4 +1,4 @@
1
- import fs from "node:fs";
1
+ import syncFs from "node:fs";
2
2
 
3
3
  //#region src/config/cache-utils.ts
4
4
  function resolveCacheTtlMs(params) {
@@ -16,7 +16,7 @@ function isCacheEnabled(ttlMs) {
16
16
  }
17
17
  function getFileMtimeMs(filePath) {
18
18
  try {
19
- return fs.statSync(filePath).mtimeMs;
19
+ return syncFs.statSync(filePath).mtimeMs;
20
20
  } catch {
21
21
  return undefined;
22
22
  }
@@ -4,7 +4,7 @@ import { isBlockedObjectKey } from "../infra/prototype-keys.js";
4
4
  import { canUseBoundaryFileOpen, openBoundaryFileSync } from "../infra/boundary-file-read.js";
5
5
  import { isPathInside } from "../security/scan-paths.js";
6
6
  import "./prototype-keys.js";
7
- import fs from "node:fs";
7
+ import syncFs from "node:fs";
8
8
  import path from "node:path";
9
9
  import JSON5 from "json5";
10
10
 
@@ -130,7 +130,7 @@ var IncludeProcessor = class IncludeProcessor {
130
130
  throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
131
131
  }
132
132
  try {
133
- const real = fs.realpathSync(normalized);
133
+ const real = syncFs.realpathSync(normalized);
134
134
  if (!isPathInside(this.rootRealDir, real)) {
135
135
  throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
136
136
  }
@@ -184,13 +184,13 @@ var IncludeProcessor = class IncludeProcessor {
184
184
  };
185
185
  function safeRealpath(target) {
186
186
  try {
187
- return fs.realpathSync(target);
187
+ return syncFs.realpathSync(target);
188
188
  } catch {
189
189
  return target;
190
190
  }
191
191
  }
192
192
  function readConfigIncludeFileWithGuards(params) {
193
- const ioFs = params.ioFs ?? fs;
193
+ const ioFs = params.ioFs ?? syncFs;
194
194
  const maxBytes = params.maxBytes ?? MAX_INCLUDE_FILE_BYTES;
195
195
  if (!canUseBoundaryFileOpen(ioFs)) {
196
196
  return ioFs.readFileSync(params.resolvedPath, "utf-8");
@@ -217,7 +217,7 @@ function readConfigIncludeFileWithGuards(params) {
217
217
  }
218
218
  }
219
219
  const defaultResolver = {
220
- readFile: (p) => fs.readFileSync(p, "utf-8"),
220
+ readFile: (p) => syncFs.readFileSync(p, "utf-8"),
221
221
  readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
222
222
  includePath,
223
223
  resolvedPath,
package/dist/config/io.js CHANGED
@@ -22,7 +22,7 @@ import { repairInstalledPluginAllowlist } from "./plugins-allowlist.js";
22
22
  import { applyConfigOverrides } from "./runtime-overrides.js";
23
23
  import { validateConfigObjectRawWithPlugins, validateConfigObjectWithPlugins } from "./validation.js";
24
24
  import { compareFasedAgentVersions } from "./version.js";
25
- import fs from "node:fs";
25
+ import syncFs from "node:fs";
26
26
  import os from "node:os";
27
27
  import path from "node:path";
28
28
  import JSON5 from "json5";
@@ -477,7 +477,7 @@ function resolveConfigPathForDeps(deps) {
477
477
  }
478
478
  function normalizeDeps(overrides = {}) {
479
479
  return {
480
- fs: overrides.fs ?? fs,
480
+ fs: overrides.fs ?? syncFs,
481
481
  json5: overrides.json5 ?? JSON5,
482
482
  env: overrides.env ?? process.env,
483
483
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
@@ -1,5 +1,5 @@
1
1
  import { expandHomePrefix, resolveRequiredHomeDir } from "../infra/home-dir.js";
2
- import fs from "node:fs";
2
+ import syncFs from "node:fs";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
 
@@ -86,7 +86,7 @@ function resolveConfigPathCandidate(env = process.env, homedir = envHomedir(env)
86
86
  const candidates = resolveDefaultConfigCandidates(env, homedir);
87
87
  const existing = candidates.find((candidate) => {
88
88
  try {
89
- return fs.existsSync(candidate);
89
+ return syncFs.existsSync(candidate);
90
90
  } catch {
91
91
  return false;
92
92
  }
@@ -108,7 +108,7 @@ function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, en
108
108
  const candidates = [path.join(stateDir, CONFIG_FILENAME)];
109
109
  const existing = candidates.find((candidate) => {
110
110
  try {
111
- return fs.existsSync(candidate);
111
+ return syncFs.existsSync(candidate);
112
112
  } catch {
113
113
  return false;
114
114
  }
@@ -1,4 +1,4 @@
1
- import fs from "node:fs";
1
+ import syncFs from "node:fs";
2
2
  import path from "node:path";
3
3
 
4
4
  //#region src/config/sat-runtime-ids.ts
@@ -63,7 +63,7 @@ function resolveSatRuntimeDefaultsFile(env = process.env) {
63
63
  path.resolve(import.meta.dirname, "..", "..", "..", "config", "sat-runtime.env")
64
64
  ];
65
65
  for (const candidate of candidates) {
66
- if (candidate && fs.existsSync(candidate)) {
66
+ if (candidate && syncFs.existsSync(candidate)) {
67
67
  return candidate;
68
68
  }
69
69
  }
@@ -82,7 +82,7 @@ function loadSatRuntimeDefaults(env = process.env) {
82
82
  if (!file) {
83
83
  return null;
84
84
  }
85
- const parsed = parseEnvFile(fs.readFileSync(file, "utf8"));
85
+ const parsed = parseEnvFile(syncFs.readFileSync(file, "utf8"));
86
86
  if (!parsed.programId || !parsed.bondProgramId || !parsed.mintAddress || !parsed.mintProgramId) {
87
87
  return null;
88
88
  }
@@ -1,6 +1,6 @@
1
1
  import { isPrimarySessionTranscriptFileName, isSessionArchiveArtifactName } from "./artifacts.js";
2
2
  import { resolveSessionFilePath } from "./paths.js";
3
- import fs from "node:fs";
3
+ import syncFs from "node:fs";
4
4
  import path from "node:path";
5
5
 
6
6
  //#region src/config/sessions/disk-budget.ts
@@ -11,7 +11,7 @@ const NOOP_LOGGER = {
11
11
  function canonicalizePathForComparison(filePath) {
12
12
  const resolved = path.resolve(filePath);
13
13
  try {
14
- return fs.realpathSync(resolved);
14
+ return syncFs.realpathSync(resolved);
15
15
  } catch {
16
16
  return resolved;
17
17
  }
@@ -83,14 +83,14 @@ function resolveReferencedSessionTranscriptPaths(params) {
83
83
  return referenced;
84
84
  }
85
85
  async function readSessionsDirFiles(sessionsDir) {
86
- const dirEntries = await fs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
86
+ const dirEntries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
87
87
  const files = [];
88
88
  for (const dirent of dirEntries) {
89
89
  if (!dirent.isFile()) {
90
90
  continue;
91
91
  }
92
92
  const filePath = path.join(sessionsDir, dirent.name);
93
- const stat = await fs.promises.stat(filePath).catch(() => null);
93
+ const stat = await syncFs.promises.stat(filePath).catch(() => null);
94
94
  if (!stat?.isFile()) {
95
95
  continue;
96
96
  }
@@ -105,11 +105,11 @@ async function readSessionsDirFiles(sessionsDir) {
105
105
  return files;
106
106
  }
107
107
  async function removeFileIfExists(filePath) {
108
- const stat = await fs.promises.stat(filePath).catch(() => null);
108
+ const stat = await syncFs.promises.stat(filePath).catch(() => null);
109
109
  if (!stat?.isFile()) {
110
110
  return 0;
111
111
  }
112
- await fs.promises.rm(filePath, { force: true }).catch(() => undefined);
112
+ await syncFs.promises.rm(filePath, { force: true }).catch(() => undefined);
113
113
  return stat.size;
114
114
  }
115
115
  async function removeFileForBudget(params) {
@@ -1,7 +1,7 @@
1
1
  import { expandHomePrefix, resolveRequiredHomeDir } from "../../infra/home-dir.js";
2
2
  import { resolveStateDir } from "../paths.js";
3
3
  import { DEFAULT_AGENT_ID, normalizeAgentId } from "../../routing/session-key.js";
4
- import fs from "node:fs";
4
+ import syncFs from "node:fs";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
7
 
@@ -112,7 +112,7 @@ function resolveStructuralSessionFallbackPath(candidateAbsPath, expectedAgentId)
112
112
  }
113
113
  function safeRealpathSync(filePath) {
114
114
  try {
115
- return fs.realpathSync(filePath);
115
+ return syncFs.realpathSync(filePath);
116
116
  } catch {
117
117
  return undefined;
118
118
  }
@@ -10,7 +10,7 @@ import { archiveSessionTranscripts, cleanupArchivedSessionTranscripts } from "..
10
10
  import { deliveryContextFromSession, mergeDeliveryContext, normalizeDeliveryContext, normalizeSessionDeliveryFields } from "../../utils/delivery-context.js";
11
11
  import { getFileMtimeMs, isCacheEnabled, resolveCacheTtlMs } from "../cache-utils.js";
12
12
  import { enforceSessionDiskBudget } from "./disk-budget.js";
13
- import fs from "node:fs";
13
+ import syncFs from "node:fs";
14
14
  import path from "node:path";
15
15
  import crypto from "node:crypto";
16
16
 
@@ -155,7 +155,7 @@ function loadSessionStore(storePath, opts = {}) {
155
155
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : undefined;
156
156
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) {
157
157
  try {
158
- const raw = fs.readFileSync(storePath, "utf-8");
158
+ const raw = syncFs.readFileSync(storePath, "utf-8");
159
159
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
160
160
  Atomics.wait(retryBuf, 0, 0, 50);
161
161
  continue;
@@ -406,7 +406,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
406
406
  }
407
407
  async function getSessionFileSize(storePath) {
408
408
  try {
409
- const stat = await fs.promises.stat(storePath);
409
+ const stat = await syncFs.promises.stat(storePath);
410
410
  return stat.size;
411
411
  } catch {
412
412
  return null;
@@ -428,7 +428,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
428
428
  }
429
429
  const backupPath = `${storePath}.bak.${Date.now()}`;
430
430
  try {
431
- await fs.promises.rename(storePath, backupPath);
431
+ await syncFs.promises.rename(storePath, backupPath);
432
432
  log.info("rotated session store file", {
433
433
  backupPath: path.basename(backupPath),
434
434
  sizeBytes: fileSize
@@ -439,13 +439,13 @@ async function rotateSessionFile(storePath, overrideBytes) {
439
439
  try {
440
440
  const dir = path.dirname(storePath);
441
441
  const baseName = path.basename(storePath);
442
- const files = await fs.promises.readdir(dir);
442
+ const files = await syncFs.promises.readdir(dir);
443
443
  const backups = files.filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
444
444
  const maxBackups = 3;
445
445
  if (backups.length > maxBackups) {
446
446
  const toDelete = backups.slice(maxBackups);
447
447
  for (const old of toDelete) {
448
- await fs.promises.unlink(path.join(dir, old)).catch(() => undefined);
448
+ await syncFs.promises.unlink(path.join(dir, old)).catch(() => undefined);
449
449
  }
450
450
  log.info("cleaned up old session store backups", { deleted: toDelete.length });
451
451
  }
@@ -561,15 +561,15 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
561
561
  });
562
562
  }
563
563
  }
564
- await fs.promises.mkdir(path.dirname(storePath), { recursive: true });
564
+ await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
565
565
  const json = JSON.stringify(store, null, 2);
566
566
  if (process.platform === "win32") {
567
567
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
568
568
  try {
569
- await fs.promises.writeFile(tmp, json, "utf-8");
569
+ await syncFs.promises.writeFile(tmp, json, "utf-8");
570
570
  for (let i = 0; i < 5; i++) {
571
571
  try {
572
- await fs.promises.rename(tmp, storePath);
572
+ await syncFs.promises.rename(tmp, storePath);
573
573
  break;
574
574
  } catch {
575
575
  if (i < 4) {
@@ -587,28 +587,28 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
587
587
  }
588
588
  throw err;
589
589
  } finally {
590
- await fs.promises.rm(tmp, { force: true }).catch(() => undefined);
590
+ await syncFs.promises.rm(tmp, { force: true }).catch(() => undefined);
591
591
  }
592
592
  return;
593
593
  }
594
594
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
595
595
  try {
596
- await fs.promises.writeFile(tmp, json, {
596
+ await syncFs.promises.writeFile(tmp, json, {
597
597
  mode: 384,
598
598
  encoding: "utf-8"
599
599
  });
600
- await fs.promises.rename(tmp, storePath);
601
- await fs.promises.chmod(storePath, 384);
600
+ await syncFs.promises.rename(tmp, storePath);
601
+ await syncFs.promises.chmod(storePath, 384);
602
602
  } catch (err) {
603
603
  const code = err && typeof err === "object" && "code" in err ? String(err.code) : null;
604
604
  if (code === "ENOENT") {
605
605
  try {
606
- await fs.promises.mkdir(path.dirname(storePath), { recursive: true });
607
- await fs.promises.writeFile(storePath, json, {
606
+ await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
607
+ await syncFs.promises.writeFile(storePath, json, {
608
608
  mode: 384,
609
609
  encoding: "utf-8"
610
610
  });
611
- await fs.promises.chmod(storePath, 384);
611
+ await syncFs.promises.chmod(storePath, 384);
612
612
  } catch (err2) {
613
613
  const code2 = err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null;
614
614
  if (code2 === "ENOENT") {
@@ -620,7 +620,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
620
620
  }
621
621
  throw err;
622
622
  } finally {
623
- await fs.promises.rm(tmp, { force: true });
623
+ await syncFs.promises.rm(tmp, { force: true });
624
624
  }
625
625
  }
626
626
  async function saveSessionStore(storePath, store, opts) {