@fased/fased 0.1.46 → 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 (684) 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 +5 -5
  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-DoZdNyoY.js → accounts-DzLdrOVC.js} +1 -1
  396. package/dist/plugin-sdk/{actions-Cuc5luN8.js → actions-PhofTgnO.js} +4 -4
  397. package/dist/plugin-sdk/{active-listener-Bj8f1upQ.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-02OYHVMR.js → audio-preflight-CARAVcz-.js} +51 -49
  400. package/dist/plugin-sdk/{audit-D_Kb-kIQ.js → audit-ByK45Q1d.js} +1 -1
  401. package/dist/plugin-sdk/{channel-access-I3pe5AGo.js → channel-access-BEin0yA4.js} +1 -1
  402. package/dist/plugin-sdk/{channel-access-configure-CgPf_K08.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-BezNQ2ms.js → chunk-CwN3c1Fq.js} +1 -1
  407. package/dist/plugin-sdk/{chunk-items-CfOSVg-A.js → chunk-items-DH7ooQBZ.js} +1 -1
  408. package/dist/plugin-sdk/command-status.js +51 -49
  409. package/dist/plugin-sdk/{commands-registry-CFhJ8pUg.js → commands-registry-Bea-V_lR.js} +2 -2
  410. package/dist/plugin-sdk/{common-DBwy4zpd.js → common-BJPuBxmx.js} +1 -1
  411. package/dist/plugin-sdk/{config-DHDPT24D.js → config-BxOWD3gF.js} +60 -6
  412. package/dist/plugin-sdk/{pi-embedded-runner-r_J_Xhv9.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-De9_BMM9.js → handle-action-Bk-L2J84.js} +29 -29
  428. package/dist/plugin-sdk/{helpers-BEIzSOp1.js → helpers-0E444CR0.js} +74 -2
  429. package/dist/plugin-sdk/{image-ops-Dj5U2UMr.js → image-ops-BYc-Ol7C.js} +1 -1
  430. package/dist/plugin-sdk/index.d.ts +25 -21
  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-DXqhYXdm.js → login-B_At7IVI.js} +3 -3
  435. package/dist/plugin-sdk/{login-qr-3320RF3u.js → login-qr-BlSQ8QJF.js} +6 -6
  436. package/dist/plugin-sdk/{manager-gssr8OXa.js → manager-VNI6sxbG.js} +11 -11
  437. package/dist/plugin-sdk/{markdown-tables-BWPlKBlJ.js → markdown-tables-CpNefu6e.js} +1 -1
  438. package/dist/plugin-sdk/{media-DkIzq3KV.js → media-QBCmvhBQ.js} +4 -4
  439. package/dist/plugin-sdk/{monitor-DEWXcOl0.js → monitor-BhHlerHI.js} +59 -57
  440. package/dist/plugin-sdk/{monitor-CUy-o-xZ.js → monitor-C9UczH5N.js} +67 -67
  441. package/dist/plugin-sdk/{openresponses-http-Cd3mZSdn.js → openresponses-http-CtuFHD5w.js} +51 -49
  442. package/dist/plugin-sdk/{optional-runtime-dependency-DRIuSMGn.js → optional-runtime-dependency-BaVO1F3i.js} +1 -1
  443. package/dist/plugin-sdk/{outbound-Dzyqev2x.js → outbound-CWrcAWpE.js} +9 -9
  444. package/dist/plugin-sdk/{outbound-attachment-DaAFYQmc.js → outbound-attachment-Dhi2Q-_f.js} +2 -2
  445. package/dist/plugin-sdk/{pairing-message-DWXHX-jt.d.ts → pairing-message-6XVXW554.d.ts} +1 -1
  446. package/dist/plugin-sdk/{pairing-message-Cma7gg4r.js → pairing-message-D01_6FkJ.js} +1 -1
  447. package/dist/plugin-sdk/{pairing-store-Xfn7m8FO.js → pairing-store-DADXOv-J.js} +2 -2
  448. package/dist/plugin-sdk/{pi-model-discovery-CyBJpoHh.js → pi-model-discovery-D9-CQFS2.js} +1 -1
  449. package/dist/plugin-sdk/{pi-model-discovery-runtime-BI9BIUxX.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-BN0M5PNa.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-CWZ8Wh3v.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-XUMvbg29.js → resolve-outbound-target-DD8edEdz.js} +2 -2
  462. package/dist/plugin-sdk/{resolve-route-DaIOKVVx.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-CHtx8LYv.js → retry-policy-C0YsRX_6.js} +2 -2
  466. package/dist/plugin-sdk/{runtime-ptM6yJKi.js → runtime-CyTWeylK.js} +5 -5
  467. package/dist/plugin-sdk/{runtime-dependency-BoJ6eFyY.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-Bbmuq5OU.js → send-BedQ8ekw.js} +14 -14
  472. package/dist/plugin-sdk/{send-CjwgOMFS.js → send-BtFuV6zU.js} +9 -9
  473. package/dist/plugin-sdk/{send-BMVtOmUX.js → send-CNxLDNQ9.js} +9 -9
  474. package/dist/plugin-sdk/{send-C_vcGOCA.js → send-FcEJfLTd.js} +6 -6
  475. package/dist/plugin-sdk/{send-bQfJLpNY.js → send-Qckp3h4k.js} +10 -10
  476. package/dist/plugin-sdk/{session-D-JrYrAm.js → session-C3Ul4abD.js} +4 -4
  477. package/dist/plugin-sdk/{skill-commands-Dqr7X9q3.js → skill-commands-C2CnUTPX.js} +4 -4
  478. package/dist/plugin-sdk/{slack-actions-C97ocE17.js → slack-actions-CLyEd8FK.js} +25 -25
  479. package/dist/plugin-sdk/{slack-BK4sFHMP.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-oLmDP9zb.js → sticker-cache-DBnS3hHh.js} +4 -4
  484. package/dist/plugin-sdk/{tables-CeCs0Fx6.js → tables-L5mXZ5y_.js} +2 -2
  485. package/dist/plugin-sdk/{targets-CI7i2tSK.js → targets-eG595pY0.js} +2 -2
  486. package/dist/plugin-sdk/{telegram-actions-Dc3_LrTb.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-BEiYGYlC.js → thread-bindings.lifecycle-C_5BEWmL.js} +3 -3
  490. package/dist/plugin-sdk/{thread-bindings.state-DFCnsoeW.js → thread-bindings.state-DRZAbcUu.js} +4 -4
  491. package/dist/plugin-sdk/{tmp-fased-dir-Be1wBhVz.d.ts → tmp-fased-dir-BpMLNd4L.d.ts} +1 -1
  492. package/dist/plugin-sdk/{types-CJGVZX6j.d.ts → types-0CsXVmg8.d.ts} +1 -1
  493. package/dist/plugin-sdk/{types-CXLEOrJX.d.ts → types-DMLEeE52.d.ts} +1 -1
  494. package/dist/plugin-sdk/{wallet-status-B9rwi_D9.js → wallet-status-2yrXvqSS.js} +7 -7
  495. package/dist/plugin-sdk/{web-C9k3omL7.js → web-CSRe4zy2.js} +60 -58
  496. package/dist/plugin-sdk/{whatsapp-actions-DJgg1fZn.js → whatsapp-actions-CkLkpg8M.js} +23 -23
  497. package/dist/plugin-sdk/{whatsapp-heartbeat-DU_VCZWM.js → whatsapp-heartbeat-DuAE9_88.js} +3 -3
  498. package/dist/plugin-sdk/whatsapp.d.ts +13 -13
  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-DzFPHgJ6.js → wsl-CXVwPntb.js} +3 -3
  502. package/dist/plugin-sdk/{zod-schema.providers-core-BEbNizPe.d.ts → zod-schema.providers-core-FaYR6KdD.d.ts} +78 -78
  503. package/dist/plugins/bundled-dir.js +3 -3
  504. package/dist/plugins/discovery.js +11 -11
  505. package/dist/plugins/loader.js +13 -13
  506. package/dist/plugins/manifest-registry.js +2 -2
  507. package/dist/plugins/manifest.js +4 -4
  508. package/dist/plugins/path-safety.js +3 -3
  509. package/dist/plugins/providers.js +1 -1
  510. package/dist/plugins/runtime/index.js +12 -12
  511. package/dist/plugins/status-cache.js +9 -9
  512. package/dist/plugins/status.js +1 -1
  513. package/dist/plugins/tools.js +1 -1
  514. package/dist/plugins/update.js +3 -3
  515. package/dist/plugins/web-search-install-catalog.js +3 -3
  516. package/dist/plugins/web-search-providers.runtime.js +1 -1
  517. package/dist/process/command-queue.js +1 -1
  518. package/dist/providers/refresh.js +2 -2
  519. package/dist/providers/registry.js +53 -2
  520. package/dist/secrets/apply.js +16 -16
  521. package/dist/secrets/audit.js +11 -11
  522. package/dist/secrets/shared.js +9 -9
  523. package/dist/security/audit-channel.js +1 -1
  524. package/dist/security/audit-extra.async.js +3 -3
  525. package/dist/security/audit-extra.sync.js +2 -2
  526. package/dist/security/audit.js +4 -4
  527. package/dist/security/dm-policy-shared.js +1 -1
  528. package/dist/security/scan-paths.js +2 -2
  529. package/dist/shared/config-eval.js +2 -2
  530. package/dist/shared/model-thinking.js +4 -1
  531. package/dist/shared/net/redact-sensitive-url.js +1 -0
  532. package/dist/shared/pid-alive.js +2 -2
  533. package/dist/signal/client.js +1 -1
  534. package/dist/signal/index.js +1 -1
  535. package/dist/signal/monitor/access-policy.js +1 -1
  536. package/dist/signal/monitor/event-handler.js +6 -6
  537. package/dist/signal/monitor.js +4 -4
  538. package/dist/signal/send.js +3 -3
  539. package/dist/slack/monitor/auth.js +1 -1
  540. package/dist/slack/monitor/context.js +1 -1
  541. package/dist/slack/monitor/dm-auth.js +1 -1
  542. package/dist/slack/monitor/message-handler/prepare.js +4 -4
  543. package/dist/slack/monitor/provider.js +3 -3
  544. package/dist/slack/monitor/replies.js +1 -1
  545. package/dist/slack/monitor/slash.js +1 -1
  546. package/dist/slack/send.js +1 -1
  547. package/dist/tasks/standing-orders.js +5 -5
  548. package/dist/tasks/task-flow-registry.js +5 -5
  549. package/dist/tasks/task-registry.js +5 -5
  550. package/dist/tasks/workflow-definitions.js +6 -6
  551. package/dist/telegram/bot/helpers.js +2 -2
  552. package/dist/telegram/bot-handlers.js +6 -6
  553. package/dist/telegram/bot-message-context.js +6 -6
  554. package/dist/telegram/bot-message-dispatch.js +2 -2
  555. package/dist/telegram/bot-native-commands.js +4 -4
  556. package/dist/telegram/bot.js +1 -1
  557. package/dist/telegram/dm-access.js +1 -1
  558. package/dist/telegram/group-access.js +1 -1
  559. package/dist/telegram/monitor.js +2 -2
  560. package/dist/telegram/send.js +2 -2
  561. package/dist/telegram/token.js +5 -5
  562. package/dist/telegram/webhook.js +1 -1
  563. package/dist/tts/tts-core.js +1 -1
  564. package/dist/utils.js +5 -5
  565. package/dist/video-generation/dashscope-compatible.js +1 -1
  566. package/dist/wallet/local-socket-signer-broker.js +18 -18
  567. package/dist/wallet/providers/embedded-keystore-adapter.js +6 -6
  568. package/dist/wallet/providers/local-socket-signer-adapter.js +5 -5
  569. package/dist/wallet/wallet-approval-auth.js +5 -5
  570. package/dist/wallet/wallet-audit-log.js +5 -5
  571. package/dist/wallet/wallet-canary.js +1 -1
  572. package/dist/wallet/wallet-custody.js +25 -25
  573. package/dist/wallet/wallet-inbound-events.js +7 -7
  574. package/dist/wallet/wallet-observability.js +5 -5
  575. package/dist/wallet/wallet-policy.js +11 -11
  576. package/dist/wallet/wallet-provider-registry.js +7 -7
  577. package/dist/wallet/wallet-provider-resolver.js +1 -1
  578. package/dist/wallet/wallet-runtime-config.js +3 -3
  579. package/dist/wallet/wallet-secrets-store.js +22 -22
  580. package/dist/wallet/wallet-send-approvals.js +10 -10
  581. package/dist/wallet/wallet-settlement-links.js +5 -5
  582. package/dist/wallet/wallet-status.js +2 -2
  583. package/dist/web/accounts.js +3 -3
  584. package/dist/web/auth-store.js +18 -18
  585. package/dist/web/auto-reply/deliver-reply.js +2 -2
  586. package/dist/web/auto-reply/heartbeat-runner.js +3 -3
  587. package/dist/web/auto-reply/monitor/group-gating.js +1 -1
  588. package/dist/web/auto-reply/monitor/process-message.js +4 -4
  589. package/dist/web/auto-reply/monitor.js +4 -4
  590. package/dist/web/inbound/access-control.js +3 -3
  591. package/dist/web/inbound/monitor.js +2 -2
  592. package/dist/web/media.js +2 -2
  593. package/dist/web/outbound.js +3 -3
  594. package/dist/web/session.js +4 -4
  595. package/dist/wizard/host-security-capability.js +2 -2
  596. package/dist/wizard/onboarding.federation.js +1 -1
  597. package/dist/wizard/onboarding.finalize.js +7 -7
  598. package/dist/wizard/onboarding.host-security.js +7 -7
  599. package/dist/wizard/onboarding.js +8 -8
  600. package/dist/wizard/onboarding.wallet.js +45 -45
  601. package/extensions/acpx/package.json +1 -1
  602. package/extensions/bluebubbles/package.json +1 -1
  603. package/extensions/copilot-proxy/package.json +1 -1
  604. package/extensions/diagnostics-otel/package.json +1 -1
  605. package/extensions/fased-federation/package.json +1 -1
  606. package/extensions/google-gemini-cli-auth/package.json +1 -1
  607. package/extensions/imessage/package.json +1 -1
  608. package/extensions/irc/package.json +1 -1
  609. package/extensions/line/package.json +1 -1
  610. package/extensions/llm-task/package.json +1 -1
  611. package/extensions/lobster/package.json +1 -1
  612. package/extensions/matrix/CHANGELOG.md +6 -0
  613. package/extensions/matrix/package.json +1 -1
  614. package/extensions/mattermost/package.json +1 -1
  615. package/extensions/memory-core/package.json +2 -2
  616. package/extensions/memory-lancedb/package.json +1 -1
  617. package/extensions/minimax-portal-auth/package.json +1 -1
  618. package/extensions/msteams/CHANGELOG.md +6 -0
  619. package/extensions/msteams/package.json +1 -1
  620. package/extensions/nextcloud-talk/package.json +1 -1
  621. package/extensions/nostr/CHANGELOG.md +6 -0
  622. package/extensions/nostr/package.json +1 -1
  623. package/extensions/open-prose/package.json +1 -1
  624. package/extensions/sat-mining/index.ts +13 -1
  625. package/extensions/sat-mining/package.json +1 -1
  626. package/extensions/sat-mining/src/epoch-service.ts +16 -0
  627. package/extensions/sat-mining/src/round-watcher.ts +21 -0
  628. package/extensions/sat-mining/src/rpc-read.ts +9 -2
  629. package/extensions/sat-mining/src/runtime.ts +5 -1
  630. package/extensions/signal/package.json +1 -1
  631. package/extensions/synology-chat/package.json +1 -1
  632. package/extensions/tlon/package.json +1 -1
  633. package/extensions/twitch/CHANGELOG.md +6 -0
  634. package/extensions/twitch/package.json +1 -1
  635. package/extensions/voice-call/CHANGELOG.md +6 -0
  636. package/extensions/voice-call/package.json +1 -1
  637. package/extensions/zalo/CHANGELOG.md +6 -0
  638. package/extensions/zalo/package.json +1 -1
  639. package/extensions/zalouser/CHANGELOG.md +6 -0
  640. package/extensions/zalouser/package.json +1 -1
  641. package/package.json +1 -1
  642. package/dist/control-ui/assets/chat-model-ref-DV2P__mw.js +0 -2
  643. package/dist/plugin-sdk/links-D5ecKoG9.js +0 -74
  644. package/dist/plugin-sdk/media-payload-DpYEcV-X.js +0 -18
  645. package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +0 -4
  646. package/dist/plugin-sdk/resolve-utils-DrvLA82C.js +0 -136
  647. /package/dist/plugin-sdk/{blocks-input-DdQwSVtP.js → blocks-input-Dcitfh7h.js} +0 -0
  648. /package/dist/plugin-sdk/{channel-activity-B7MIaDei.js → channel-activity-Cg1xRoc2.js} +0 -0
  649. /package/dist/plugin-sdk/{channel-core-CMPoGCik.js → channel-core-BOkyXXLa.js} +0 -0
  650. /package/dist/plugin-sdk/{client-BTUzO_8g.js → client-D2N7hqVu.js} +0 -0
  651. /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-NAePk3eL.js} +0 -0
  652. /package/dist/plugin-sdk/{date-time-Bbp5JvNw.js → date-time-CE3Uer3C.js} +0 -0
  653. /package/dist/plugin-sdk/{diagnostic-session-state-B-9PL5r7.js → diagnostic-session-state-HO94DMou.js} +0 -0
  654. /package/dist/plugin-sdk/{draft-stream-loop-DZ1OAyye.js → draft-stream-loop-CKyHn8IX.js} +0 -0
  655. /package/dist/plugin-sdk/{fetch-headers-DvXyXtoI.js → fetch-headers-my7hgV2G.js} +0 -0
  656. /package/dist/plugin-sdk/{fetch-timeout-jOIu9Xud.js → fetch-timeout-l_6RdoMw.js} +0 -0
  657. /package/dist/plugin-sdk/{gateway-registry-C-MTEdvG.js → gateway-registry-DFsoY6C0.js} +0 -0
  658. /package/dist/plugin-sdk/{github-copilot-token-Dgug856m.js → github-copilot-token-CUK__1s1.js} +0 -0
  659. /package/dist/plugin-sdk/{inbound-context-BNCTzgjG.js → inbound-context-BFnIdcqI.js} +0 -0
  660. /package/dist/plugin-sdk/{ip-BkeyFRJr.js → ip-C70a-YlD.js} +0 -0
  661. /package/dist/plugin-sdk/{memory-search-DHSeU4pJ.js → memory-search-C3C0bD2H.js} +0 -0
  662. /package/dist/plugin-sdk/{pairing-token-HQpaqod5.js → pairing-token-N_6Jbt1L.js} +0 -0
  663. /package/dist/plugin-sdk/{path-alias-guards-BlIJ0AmG.js → path-alias-guards-Dg3gU-MA.js} +0 -0
  664. /package/dist/plugin-sdk/{paths-B88DQEK8.js → paths-CTZ2RS_E.js} +0 -0
  665. /package/dist/plugin-sdk/{polls-Dy1NsYKT.js → polls-DQrR-qT3.js} +0 -0
  666. /package/dist/plugin-sdk/{proxy-R5TjOIFS.js → proxy-7xs_rsnV.js} +0 -0
  667. /package/dist/plugin-sdk/{qmd-scope-C9tRnohc.js → qmd-scope-D1sSG_Rx.js} +0 -0
  668. /package/dist/plugin-sdk/{redact-CwCz68Mi.js → redact-Bm8vu_ju.js} +0 -0
  669. /package/dist/plugin-sdk/{redact-identifier-CDvAeiFm.js → redact-identifier-Q3tkvxhm.js} +0 -0
  670. /package/dist/plugin-sdk/{render-K7NwXvVu.js → render-Bwu_WxwA.js} +0 -0
  671. /package/dist/plugin-sdk/{reply-prefix-CbPHNXlm.js → reply-prefix-Bqzm6DC1.js} +0 -0
  672. /package/dist/plugin-sdk/{reply-reference-CWEIswqw.js → reply-reference-BkbK_DWT.js} +0 -0
  673. /package/dist/plugin-sdk/{retry-DycQ4ymF.js → retry-DstNBhDW.js} +0 -0
  674. /package/dist/plugin-sdk/{run-with-concurrency-CLARJMM7.js → run-with-concurrency-BsDJWzgM.js} +0 -0
  675. /package/dist/plugin-sdk/{secure-random-C2EhANj2.js → secure-random-Bl-AVLVb.js} +0 -0
  676. /package/dist/plugin-sdk/{shared-V35XNAbz.js → shared-clhhbWN3.js} +0 -0
  677. /package/dist/plugin-sdk/{tailscale-status-BGBRraZW.js → tailscale-status-ClsquRGs.js} +0 -0
  678. /package/dist/plugin-sdk/{target-errors-C0yNDbGS.js → target-errors-C_SVKoEv.js} +0 -0
  679. /package/dist/plugin-sdk/{targets-CuTZl1mO.js → targets-BDvvnlph.js} +0 -0
  680. /package/dist/plugin-sdk/{tokens-Do_JU4Rh.js → tokens-BvtlOzVP.js} +0 -0
  681. /package/dist/plugin-sdk/{tool-loop-detection-P5u2k0_f.js → tool-loop-detection-CWphm1k_.js} +0 -0
  682. /package/dist/plugin-sdk/{transcript-events-NZiMKWBK.js → transcript-events-BJQWUdmU.js} +0 -0
  683. /package/dist/plugin-sdk/{ui-KGr1WRXC.js → ui-e020ouhJ.js} +0 -0
  684. /package/dist/plugin-sdk/{with-timeout-Dl513q34.js → with-timeout-BYrRAYFV.js} +0 -0
@@ -5,7 +5,7 @@ import "../routing/session-key.js";
5
5
  import { resolveAccountEntry } from "../routing/account-lookup.js";
6
6
  import { createAccountListHelpers } from "../channels/plugins/account-helpers.js";
7
7
  import { hasWebCredsSync } from "./auth-store.js";
8
- import fs from "node:fs";
8
+ import syncFs from "node:fs";
9
9
  import path from "node:path";
10
10
 
11
11
  //#region src/web/accounts.ts
@@ -24,7 +24,7 @@ function listWhatsAppAuthDirs(cfg) {
24
24
  }).authDir);
25
25
  }
26
26
  try {
27
- const entries = fs.readdirSync(whatsappDir, { withFileTypes: true });
27
+ const entries = syncFs.readdirSync(whatsappDir, { withFileTypes: true });
28
28
  for (const entry of entries) {
29
29
  if (!entry.isDirectory()) {
30
30
  continue;
@@ -48,7 +48,7 @@ function resolveLegacyAuthDir() {
48
48
  }
49
49
  function legacyAuthExists(authDir) {
50
50
  try {
51
- return fs.existsSync(path.join(authDir, "creds.json"));
51
+ return syncFs.existsSync(path.join(authDir, "creds.json"));
52
52
  } catch {
53
53
  return false;
54
54
  }
@@ -4,10 +4,10 @@ import { info, success } from "../globals.js";
4
4
  import { defaultRuntime } from "../runtime.js";
5
5
  import { formatCliCommand } from "../cli/command-format.js";
6
6
  import "../logging.js";
7
- import fs from "node:fs";
7
+ import syncFs from "node:fs";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fs$1 from "node:fs/promises";
10
+ import fs from "node:fs/promises";
11
11
 
12
12
  //#region src/web/auth-store.ts
13
13
  const DEFAULT_WEB_AUTH_ACCOUNT_ID = "default";
@@ -65,7 +65,7 @@ function readAuthStoreLidReverseMapping(lid, opts) {
65
65
  for (const dir of dirs) {
66
66
  const mappingPath = path.join(dir, mappingFilename);
67
67
  try {
68
- const data = fs.readFileSync(mappingPath, "utf8");
68
+ const data = syncFs.readFileSync(mappingPath, "utf8");
69
69
  const phone = JSON.parse(data);
70
70
  if (phone !== null && phone !== undefined) {
71
71
  return normalizeAuthStoreE164(String(phone));
@@ -97,7 +97,7 @@ function resolveWebCredsBackupPath(authDir) {
97
97
  }
98
98
  function hasWebCredsSync(authDir) {
99
99
  try {
100
- const stats = fs.statSync(resolveWebCredsPath(authDir));
100
+ const stats = syncFs.statSync(resolveWebCredsPath(authDir));
101
101
  return stats.isFile() && stats.size > 1;
102
102
  } catch {
103
103
  return false;
@@ -105,14 +105,14 @@ function hasWebCredsSync(authDir) {
105
105
  }
106
106
  function readCredsJsonRaw(filePath) {
107
107
  try {
108
- if (!fs.existsSync(filePath)) {
108
+ if (!syncFs.existsSync(filePath)) {
109
109
  return null;
110
110
  }
111
- const stats = fs.statSync(filePath);
111
+ const stats = syncFs.statSync(filePath);
112
112
  if (!stats.isFile() || stats.size <= 1) {
113
113
  return null;
114
114
  }
115
- return fs.readFileSync(filePath, "utf-8");
115
+ return syncFs.readFileSync(filePath, "utf-8");
116
116
  } catch {
117
117
  return null;
118
118
  }
@@ -132,9 +132,9 @@ function maybeRestoreCredsFromBackup(authDir) {
132
132
  return;
133
133
  }
134
134
  JSON.parse(backupRaw);
135
- fs.copyFileSync(backupPath, credsPath);
135
+ syncFs.copyFileSync(backupPath, credsPath);
136
136
  try {
137
- fs.chmodSync(credsPath, 384);
137
+ syncFs.chmodSync(credsPath, 384);
138
138
  } catch {}
139
139
  logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
140
140
  } catch {}
@@ -144,16 +144,16 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
144
144
  maybeRestoreCredsFromBackup(resolvedAuthDir);
145
145
  const credsPath = resolveWebCredsPath(resolvedAuthDir);
146
146
  try {
147
- await fs$1.access(resolvedAuthDir);
147
+ await fs.access(resolvedAuthDir);
148
148
  } catch {
149
149
  return false;
150
150
  }
151
151
  try {
152
- const stats = await fs$1.stat(credsPath);
152
+ const stats = await fs.stat(credsPath);
153
153
  if (!stats.isFile() || stats.size <= 1) {
154
154
  return false;
155
155
  }
156
- const raw = await fs$1.readFile(credsPath, "utf-8");
156
+ const raw = await fs.readFile(credsPath, "utf-8");
157
157
  JSON.parse(raw);
158
158
  return true;
159
159
  } catch {
@@ -161,7 +161,7 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
161
161
  }
162
162
  }
163
163
  async function clearLegacyBaileysAuthState(authDir) {
164
- const entries = await fs$1.readdir(authDir, { withFileTypes: true });
164
+ const entries = await fs.readdir(authDir, { withFileTypes: true });
165
165
  const shouldDelete = (name) => {
166
166
  if (name === "oauth.json") {
167
167
  return false;
@@ -181,7 +181,7 @@ async function clearLegacyBaileysAuthState(authDir) {
181
181
  if (!shouldDelete(entry.name)) {
182
182
  return;
183
183
  }
184
- await fs$1.rm(path.join(authDir, entry.name), { force: true });
184
+ await fs.rm(path.join(authDir, entry.name), { force: true });
185
185
  }));
186
186
  }
187
187
  async function logoutWeb(params) {
@@ -195,7 +195,7 @@ async function logoutWeb(params) {
195
195
  if (params.isLegacyAuthDir) {
196
196
  await clearLegacyBaileysAuthState(resolvedAuthDir);
197
197
  } else {
198
- await fs$1.rm(resolvedAuthDir, {
198
+ await fs.rm(resolvedAuthDir, {
199
199
  recursive: true,
200
200
  force: true
201
201
  });
@@ -206,13 +206,13 @@ async function logoutWeb(params) {
206
206
  function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
207
207
  try {
208
208
  const credsPath = resolveWebCredsPath(resolveAuthStoreUserPath(authDir));
209
- if (!fs.existsSync(credsPath)) {
209
+ if (!syncFs.existsSync(credsPath)) {
210
210
  return {
211
211
  e164: null,
212
212
  jid: null
213
213
  };
214
214
  }
215
- const raw = fs.readFileSync(credsPath, "utf-8");
215
+ const raw = syncFs.readFileSync(credsPath, "utf-8");
216
216
  const parsed = JSON.parse(raw);
217
217
  const jid = parsed?.me?.id ?? null;
218
218
  const e164 = jid ? jidToE164ForAuthStore(jid, { authDir }) : null;
@@ -233,7 +233,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
233
233
  */
234
234
  function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
235
235
  try {
236
- const stats = fs.statSync(resolveWebCredsPath(resolveAuthStoreUserPath(authDir)));
236
+ const stats = syncFs.statSync(resolveWebCredsPath(resolveAuthStoreUserPath(authDir)));
237
237
  return Date.now() - stats.mtimeMs;
238
238
  } catch {
239
239
  return null;
@@ -1,10 +1,10 @@
1
1
  import { logVerbose, shouldLogVerbose } from "../../globals.js";
2
2
  import { sleep } from "../../utils.js";
3
3
  import { redactSensitiveUrlLikeString } from "../../shared/net/redact-sensitive-url.js";
4
- import { chunkMarkdownTextWithMode } from "../../auto-reply/chunk.js";
5
- import { loadWebMedia } from "../media.js";
6
4
  import { redactIdentifier } from "../../logging/redact-identifier.js";
5
+ import { chunkMarkdownTextWithMode } from "../../auto-reply/chunk.js";
7
6
  import { convertMarkdownTables } from "../../markdown/tables.js";
7
+ import { loadWebMedia } from "../media.js";
8
8
  import { markdownToWhatsApp } from "../../markdown/whatsapp.js";
9
9
  import { formatError } from "../session.js";
10
10
  import { newConnectionId } from "../reconnect.js";
@@ -11,12 +11,12 @@ import { HEARTBEAT_TOKEN } from "../../auto-reply/tokens.js";
11
11
  import { DEFAULT_HEARTBEAT_ACK_MAX_CHARS, resolveHeartbeatPrompt, stripHeartbeatToken } from "../../auto-reply/heartbeat.js";
12
12
  import { redactIdentifier } from "../../logging/redact-identifier.js";
13
13
  import { appendCronStyleCurrentTimeLine } from "../../agents/current-time.js";
14
- import { getReplyFromConfig } from "../../auto-reply/reply/get-reply.js";
15
- import "../../auto-reply/reply.js";
16
14
  import { resolveHeartbeatReplyPayload } from "../../auto-reply/heartbeat-reply-payload.js";
17
- import { resolveWhatsAppHeartbeatRecipients } from "../../channels/plugins/whatsapp-heartbeat.js";
18
15
  import { emitHeartbeatEvent, resolveIndicatorType } from "../../infra/heartbeat-events.js";
19
16
  import { resolveHeartbeatVisibility } from "../../infra/heartbeat-visibility.js";
17
+ import { getReplyFromConfig } from "../../auto-reply/reply/get-reply.js";
18
+ import "../../auto-reply/reply.js";
19
+ import { resolveWhatsAppHeartbeatRecipients } from "../../channels/plugins/whatsapp-heartbeat.js";
20
20
  import { formatError } from "../session.js";
21
21
  import { sendMessageWhatsApp } from "../outbound.js";
22
22
  import { newConnectionId } from "../reconnect.js";
@@ -1,8 +1,8 @@
1
1
  import { normalizeE164 } from "../../../utils.js";
2
- import { parseActivationCommand } from "../../../auto-reply/group-activation.js";
3
2
  import { hasControlCommand } from "../../../auto-reply/command-detection.js";
4
3
  import { recordPendingHistoryEntryIfEnabled } from "../../../auto-reply/reply/history.js";
5
4
  import { resolveMentionGating } from "../../../channels/mention-gating.js";
5
+ import { parseActivationCommand } from "../../../auto-reply/group-activation.js";
6
6
  import { buildMentionConfig, debugMention, resolveOwnerList } from "../mentions.js";
7
7
  import { stripMentionsForCommand } from "./commands.js";
8
8
  import { resolveGroupActivationFor, resolveGroupPolicyFor } from "./group-activation.js";
@@ -5,17 +5,17 @@ import { resolveStorePath } from "../../../config/sessions/paths.js";
5
5
  import { readSessionUpdatedAt, recordSessionMetaFromInbound } from "../../../config/sessions/store.js";
6
6
  import "../../../config/sessions.js";
7
7
  import { finalizeInboundContext } from "../../../auto-reply/reply/inbound-context.js";
8
+ import { readStoreAllowFromForDmPolicy, resolveDmGroupAccessWithCommandGate } from "../../../security/dm-policy-shared.js";
8
9
  import { resolveIdentityNamePrefix } from "../../../agents/identity.js";
9
10
  import { resolveChunkMode, resolveTextChunkLimit } from "../../../auto-reply/chunk.js";
10
- import { resolveMarkdownTableMode } from "../../../config/markdown-tables.js";
11
- import { getAgentScopedMediaLocalRoots } from "../../../media/local-roots.js";
12
- import { toLocationContext } from "../../../channels/location.js";
13
11
  import { shouldComputeCommandAuthorized } from "../../../auto-reply/command-detection.js";
14
12
  import { formatInboundEnvelope, resolveEnvelopeFormatOptions } from "../../../auto-reply/envelope.js";
15
13
  import { dispatchReplyWithBufferedBlockDispatcher } from "../../../auto-reply/reply/provider-dispatcher.js";
14
+ import { resolveMarkdownTableMode } from "../../../config/markdown-tables.js";
16
15
  import { buildHistoryContextFromEntries } from "../../../auto-reply/reply/history.js";
17
16
  import { createReplyPrefixOptions } from "../../../channels/reply-prefix.js";
18
- import { readStoreAllowFromForDmPolicy, resolveDmGroupAccessWithCommandGate } from "../../../security/dm-policy-shared.js";
17
+ import { getAgentScopedMediaLocalRoots } from "../../../media/local-roots.js";
18
+ import { toLocationContext } from "../../../channels/location.js";
19
19
  import { formatError } from "../../session.js";
20
20
  import { newConnectionId } from "../../reconnect.js";
21
21
  import { whatsappInboundLog, whatsappOutboundLog } from "../loggers.js";
@@ -7,15 +7,15 @@ import "../../config/config.js";
7
7
  import "../../logging.js";
8
8
  import { getWebAuthAgeMs, readWebSelfId } from "../auth-store.js";
9
9
  import { resolveWhatsAppAccount } from "../accounts.js";
10
- import { enqueueSystemEvent } from "../../infra/system-events.js";
11
- import { formatDurationPrecise } from "../../infra/format-time/format-duration.js";
12
- import { resolveAgentRoute } from "../../routing/resolve-route.js";
13
- import { registerUnhandledRejectionHandler } from "../../infra/unhandled-rejections.js";
14
10
  import { hasControlCommand } from "../../auto-reply/command-detection.js";
15
11
  import { resolveInboundDebounceMs } from "../../auto-reply/inbound-debounce.js";
16
12
  import { DEFAULT_GROUP_HISTORY_LIMIT } from "../../auto-reply/reply/history.js";
17
13
  import { computeBackoff, sleepWithAbort } from "../../infra/backoff.js";
14
+ import { resolveAgentRoute } from "../../routing/resolve-route.js";
15
+ import { enqueueSystemEvent } from "../../infra/system-events.js";
18
16
  import { setActiveWebListener } from "../active-listener.js";
17
+ import { formatDurationPrecise } from "../../infra/format-time/format-duration.js";
18
+ import { registerUnhandledRejectionHandler } from "../../infra/unhandled-rejections.js";
19
19
  import { getReplyFromConfig } from "../../auto-reply/reply/get-reply.js";
20
20
  import "../../auto-reply/reply.js";
21
21
  import { DEFAULT_WEB_MEDIA_BYTES } from "./constants.js";
@@ -3,11 +3,11 @@ import { isSelfChatMode, normalizeE164 } from "../../utils.js";
3
3
  import { loadConfig } from "../../config/io.js";
4
4
  import "../../config/config.js";
5
5
  import { resolveWhatsAppAccount } from "../accounts.js";
6
- import { redactIdentifier } from "../../logging/redact-identifier.js";
7
- import { upsertChannelPairingRequest } from "../../pairing/pairing-store.js";
8
6
  import { resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "../../config/runtime-group-policy.js";
9
- import { buildPairingReply } from "../../pairing/pairing-messages.js";
7
+ import { upsertChannelPairingRequest } from "../../pairing/pairing-store.js";
10
8
  import { readStoreAllowFromForDmPolicy, resolveDmGroupAccessWithLists } from "../../security/dm-policy-shared.js";
9
+ import { redactIdentifier } from "../../logging/redact-identifier.js";
10
+ import { buildPairingReply } from "../../pairing/pairing-messages.js";
11
11
  import { formatError } from "../session.js";
12
12
 
13
13
  //#region src/web/inbound/access-control.ts
@@ -2,11 +2,11 @@ import { getChildLogger } from "../../logging/logger.js";
2
2
  import { logVerbose, shouldLogVerbose } from "../../globals.js";
3
3
  import { jidToE164, resolveJidToE164 } from "../../utils.js";
4
4
  import { createSubsystemLogger } from "../../logging/subsystem.js";
5
- import { saveMediaBuffer } from "../../media/store.js";
6
5
  import { redactIdentifier } from "../../logging/redact-identifier.js";
7
- import { formatLocationText } from "../../channels/location.js";
8
6
  import { createInboundDebouncer } from "../../auto-reply/inbound-debounce.js";
7
+ import { saveMediaBuffer } from "../../media/store.js";
9
8
  import { recordChannelActivity } from "../../infra/channel-activity.js";
9
+ import { formatLocationText } from "../../channels/location.js";
10
10
  import { createWaSocket, formatError, getStatusCode, waitForWaConnection } from "../session.js";
11
11
  import { isRecentInboundMessage } from "./dedupe.js";
12
12
  import { describeReplyContext, extractLocationData, extractMediaPlaceholder, extractMentionedJids, extractText } from "./extract.js";
package/dist/web/media.js CHANGED
@@ -2,10 +2,10 @@ import { logVerbose, shouldLogVerbose } from "../globals.js";
2
2
  import { resolveUserPath } from "../utils.js";
3
3
  import { maxBytesForKind, mediaKindFromMime } from "../media/constants.js";
4
4
  import { detectMime, extensionForMime } from "../media/mime.js";
5
+ import { convertHeicToJpeg, hasAlphaChannel, optimizeImageToPng, resizeToJpeg } from "../media/image-ops.js";
5
6
  import { SafeOpenError, readLocalFileSafely } from "../infra/fs-safe.js";
6
- import { getDefaultMediaLocalRoots } from "../media/local-roots.js";
7
7
  import { fetchRemoteMedia } from "../media/fetch.js";
8
- import { convertHeicToJpeg, hasAlphaChannel, optimizeImageToPng, resizeToJpeg } from "../media/image-ops.js";
8
+ import { getDefaultMediaLocalRoots } from "../media/local-roots.js";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import path from "node:path";
11
11
  import fs from "node:fs/promises";
@@ -3,13 +3,13 @@ import { toWhatsappJid } from "../utils.js";
3
3
  import { createSubsystemLogger } from "../logging/subsystem.js";
4
4
  import { loadConfig } from "../config/io.js";
5
5
  import "../config/config.js";
6
- import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
7
- import { loadWebMedia } from "./media.js";
8
6
  import { generateSecureUuid } from "../infra/secure-random.js";
9
7
  import { redactIdentifier } from "../logging/redact-identifier.js";
10
- import { normalizePollInput } from "../polls.js";
8
+ import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
11
9
  import { convertMarkdownTables } from "../markdown/tables.js";
10
+ import { loadWebMedia } from "./media.js";
12
11
  import { requireActiveWebListener } from "./active-listener.js";
12
+ import { normalizePollInput } from "../polls.js";
13
13
  import { markdownToWhatsApp } from "../markdown/whatsapp.js";
14
14
  import { formatError } from "./session.js";
15
15
 
@@ -7,7 +7,7 @@ import { redactSensitiveText } from "../logging/redact.js";
7
7
  import "../logging.js";
8
8
  import { WA_WEB_AUTH_DIR, getWebAuthAgeMs, logWebSelfId, logoutWeb, maybeRestoreCredsFromBackup, pickWebChannel, readCredsJsonRaw, readWebSelfId, resolveDefaultWebAuthDir, resolveWebCredsBackupPath, resolveWebCredsPath, webAuthExists } from "./auth-store.js";
9
9
  import { redactSensitiveUrlLikeString } from "../shared/net/redact-sensitive-url.js";
10
- import fs from "node:fs";
10
+ import syncFs from "node:fs";
11
11
  import { randomUUID } from "node:crypto";
12
12
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
13
13
  import qrcode from "qrcode-terminal";
@@ -27,9 +27,9 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
27
27
  if (raw) {
28
28
  try {
29
29
  JSON.parse(raw);
30
- fs.copyFileSync(credsPath, backupPath);
30
+ syncFs.copyFileSync(credsPath, backupPath);
31
31
  try {
32
- fs.chmodSync(backupPath, 384);
32
+ syncFs.chmodSync(backupPath, 384);
33
33
  } catch {}
34
34
  } catch {}
35
35
  }
@@ -37,7 +37,7 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
37
37
  try {
38
38
  await Promise.resolve(saveCreds());
39
39
  try {
40
- fs.chmodSync(resolveWebCredsPath(authDir), 384);
40
+ syncFs.chmodSync(resolveWebCredsPath(authDir), 384);
41
41
  } catch {}
42
42
  } catch (err) {
43
43
  logger.warn({ error: formatError(err) }, "failed saving WhatsApp creds");
@@ -1,4 +1,4 @@
1
- import fs from "node:fs";
1
+ import syncFs from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { spawnSync } from "node:child_process";
@@ -24,7 +24,7 @@ function isHostedSecurityCapableSession(explicitFlag = false) {
24
24
  const currentUser = currentUserName();
25
25
  if (currentUser) {
26
26
  const sudoersPath = path.join("/etc/sudoers.d", `fased-host-maintenance-${currentUser}`);
27
- if (fs.existsSync(sudoersPath)) {
27
+ if (syncFs.existsSync(sudoersPath)) {
28
28
  return true;
29
29
  }
30
30
  }
@@ -1,5 +1,5 @@
1
- import { loadPersistedFederationToken } from "../federation/access-token.js";
2
1
  import { DEFAULT_FEDERATION_BASE_URL, resolveFederationBaseUrl, resolveFederationHandle } from "../federation/runtime.js";
2
+ import { loadPersistedFederationToken } from "../federation/access-token.js";
3
3
 
4
4
  //#region src/wizard/onboarding.federation.ts
5
5
  async function configureFederationForOnboarding(params) {
@@ -6,22 +6,22 @@ import { enableTailscaleFunnel, enableTailscaleServe } from "../infra/tailscale.
6
6
  import { clearDeviceAuthStore } from "../infra/device-auth-store.js";
7
7
  import { readWalletProviderRegistry } from "../wallet/wallet-provider-registry.js";
8
8
  import { loadPersistedFederationToken } from "../federation/access-token.js";
9
- import { readWalletStatusSnapshot } from "../wallet/wallet-status.js";
9
+ import { normalizeControlUiBasePath } from "../gateway/control-ui-shared.js";
10
+ import { detectBrowserOpenSupport, formatControlUiSshHint, openUrl, probeGatewayReachable, resolveControlUiLinks, waitForGatewayReachable } from "../commands/onboard-helpers.js";
10
11
  import { runFederationAutoConnectOnce } from "../federation/auto-connect.js";
12
+ import { waitForHostedDashboardBrowserPath } from "../commands/hosted-dashboard-probe.js";
13
+ import { buildSystemdUnit } from "../daemon/systemd-unit.js";
14
+ import { isSystemdUserServiceAvailable } from "../daemon/systemd.js";
15
+ import { resolveGatewayService } from "../daemon/service.js";
16
+ import { readWalletStatusSnapshot } from "../wallet/wallet-status.js";
11
17
  import { readManagedFederationTokenSummary } from "../managed/federation.js";
12
- import { normalizeControlUiBasePath } from "../gateway/control-ui-shared.js";
13
18
  import { CONTROL_UI_BOOT_CHECK_PATH } from "../gateway/control-ui-boot-check.js";
14
- import { detectBrowserOpenSupport, formatControlUiSshHint, openUrl, probeGatewayReachable, resolveControlUiLinks, waitForGatewayReachable } from "../commands/onboard-helpers.js";
15
19
  import { readManagedReservationSummaries } from "../managed/tunnel.js";
16
20
  import { resolveGatewayMaxOldSpaceMb } from "../daemon/service-env.js";
17
21
  import { buildGatewayInstallPlan, gatewayInstallErrorHint, resolveGatewayStartupMode, resolveHostedOnboardingGatewayStartupMode } from "../commands/daemon-install-helpers.js";
18
22
  import { DEFAULT_GATEWAY_DAEMON_RUNTIME, GATEWAY_DAEMON_RUNTIME_OPTIONS } from "../commands/daemon-runtime.js";
19
- import { buildSystemdUnit } from "../daemon/systemd-unit.js";
20
- import { isSystemdUserServiceAvailable } from "../daemon/systemd.js";
21
- import { resolveGatewayService } from "../daemon/service.js";
22
23
  import { SERVICE_AUDIT_CODES, auditGatewayServiceConfig } from "../daemon/service-audit.js";
23
24
  import { buildCapabilityReadinessReport, formatCapabilityReadinessSummary } from "../capabilities/catalog.js";
24
- import { waitForHostedDashboardBrowserPath } from "../commands/hosted-dashboard-probe.js";
25
25
  import { noteBullet, noteCommand, noteCommands, noteHeading, noteLabel, noteMuted, noteSuccess, noteWarn } from "./onboarding-note-format.js";
26
26
  import { describeOperatorReadinessChecklist } from "../operator/operator-readiness.js";
27
27
  import { runTui } from "../tui/tui.js";
@@ -2,7 +2,7 @@ import { redactSensitiveText } from "../logging/redact.js";
2
2
  import { redactSensitiveUrlLikeString } from "../shared/net/redact-sensitive-url.js";
3
3
  import { noteCommands, noteHeading, noteStep, noteWarn } from "./onboarding-note-format.js";
4
4
  import { isHostingProfile } from "./onboarding.types.js";
5
- import fs from "node:fs";
5
+ import syncFs from "node:fs";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import { spawn, spawnSync } from "node:child_process";
@@ -12,7 +12,7 @@ import { Buffer } from "node:buffer";
12
12
  function resolveHostSecurityLogPath() {
13
13
  const home = process.env.HOME?.trim() || os.homedir();
14
14
  const logDir = path.join(home, ".fased", "logs");
15
- fs.mkdirSync(logDir, {
15
+ syncFs.mkdirSync(logDir, {
16
16
  recursive: true,
17
17
  mode: 448
18
18
  });
@@ -26,7 +26,7 @@ function appendHostSecurityLog(logPath, title, detail) {
26
26
  sanitizedDetail?.trim() || "(no output)",
27
27
  ""
28
28
  ].join("\n");
29
- fs.appendFileSync(logPath, body, "utf8");
29
+ syncFs.appendFileSync(logPath, body, "utf8");
30
30
  }
31
31
  function resolveTailnetSshConfirmationPath() {
32
32
  const stateDir = process.env.FASED_STATE_DIR?.trim() || process.env.FASED_CONFIG_DIR?.trim() || path.join(process.env.HOME?.trim() || os.homedir(), ".fased");
@@ -34,7 +34,7 @@ function resolveTailnetSshConfirmationPath() {
34
34
  }
35
35
  function hasStoredTailnetSshConfirmation(target) {
36
36
  try {
37
- const raw = fs.readFileSync(resolveTailnetSshConfirmationPath(), "utf8");
37
+ const raw = syncFs.readFileSync(resolveTailnetSshConfirmationPath(), "utf8");
38
38
  const parsed = JSON.parse(raw);
39
39
  return parsed.user === target.user && parsed.repoDir === target.repoDir;
40
40
  } catch {
@@ -43,11 +43,11 @@ function hasStoredTailnetSshConfirmation(target) {
43
43
  }
44
44
  function writeTailnetSshConfirmation(target) {
45
45
  const markerPath = resolveTailnetSshConfirmationPath();
46
- fs.mkdirSync(path.dirname(markerPath), {
46
+ syncFs.mkdirSync(path.dirname(markerPath), {
47
47
  recursive: true,
48
48
  mode: 448
49
49
  });
50
- fs.writeFileSync(markerPath, `${JSON.stringify({
50
+ syncFs.writeFileSync(markerPath, `${JSON.stringify({
51
51
  confirmedAt: new Date().toISOString(),
52
52
  user: target.user,
53
53
  host: target.host,
@@ -75,7 +75,7 @@ const HOST_MAINTENANCE_HELPER = "/usr/local/sbin/fased-host-maintenance";
75
75
  function detectTotalMemoryMb() {
76
76
  if (process.platform === "linux") {
77
77
  try {
78
- const meminfo = fs.readFileSync("/proc/meminfo", "utf8");
78
+ const meminfo = syncFs.readFileSync("/proc/meminfo", "utf8");
79
79
  const match = meminfo.match(/^MemTotal:\s+(\d+)\s+kB/m);
80
80
  if (match?.[1]) {
81
81
  return Math.floor(Number.parseInt(match[1], 10) / 1024);
@@ -8,9 +8,9 @@ import "../config/config.js";
8
8
  import "../agents/auth-profiles.js";
9
9
  import { ensureWalletStateDir, resolveLocalSignerBackendSocketPath, resolveLocalSignerMaterialRootDir, resolveLocalSignerRunAsUser, resolveLocalSignerSocketPath } from "../wallet/wallet-runtime-config.js";
10
10
  import { checkNamedWalletDeletionSafety, deleteNamedWallet, readWalletProviderRegistry, resolveWalletUserRole, setDefaultWallet, setNamedWalletRole, upsertNamedWallet } from "../wallet/wallet-provider-registry.js";
11
+ import { DEFAULT_WORKSPACE, applyWizardMetadata, ensureWorkspaceAndSessions, handleOnboardingRepair, printWizardHeader, probeGatewayReachable, summarizeExistingConfig } from "../commands/onboard-helpers.js";
11
12
  import { configureWalletForOnboarding, installSignerdBinary, migrateLocalSignerKeystoreToMaterialDir, resolveSignerdBinaryPath, restartLocalSocketSigner } from "./onboarding.wallet.js";
12
13
  import { collectWalletSignerDoctorReport, walletSetupCommand } from "../commands/wallet.js";
13
- import { DEFAULT_WORKSPACE, applyWizardMetadata, ensureWorkspaceAndSessions, handleOnboardingRepair, printWizardHeader, probeGatewayReachable, summarizeExistingConfig } from "../commands/onboard-helpers.js";
14
14
  import { promptAuthChoiceGrouped } from "../commands/auth-choice-prompt.js";
15
15
  import { logConfigUpdated } from "../config/logging.js";
16
16
  import { applyAuthChoice } from "../commands/auth-choice.apply.js";
@@ -29,7 +29,7 @@ import { finalizeOnboardingWizard } from "./onboarding.finalize.js";
29
29
  import { configureGatewayForOnboarding } from "./onboarding.gateway-config.js";
30
30
  import { applyHostingSecurity } from "./onboarding.host-security.js";
31
31
  import { normalizeHostedWalletPaths } from "./wallet-path-migration.js";
32
- import fs from "node:fs";
32
+ import syncFs from "node:fs";
33
33
  import path from "node:path";
34
34
  import { spawn, spawnSync } from "node:child_process";
35
35
 
@@ -472,7 +472,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
472
472
  const stateRoot = String(process.env.FASED_STATE_DIR ?? "").trim() || path.join(String(process.env.HOME ?? "").trim() || process.cwd(), ".fased");
473
473
  const installRoot = path.join(stateRoot, "toolchains", `go${goVersion}`);
474
474
  const goBin = path.join(installRoot, "bin", "go");
475
- if (fs.existsSync(goBin)) {
475
+ if (syncFs.existsSync(goBin)) {
476
476
  process.env.FASED_GO_BIN = goBin;
477
477
  return goModernEnough() ? "installed" : "unavailable";
478
478
  }
@@ -505,7 +505,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
505
505
  if (String(process.env.FASED_FORCE_NATIVE_SIGNER_BUILD ?? "").trim() === "1") {
506
506
  return false;
507
507
  }
508
- return fs.existsSync(resolveSignerdBinaryPath(process.env));
508
+ return syncFs.existsSync(resolveSignerdBinaryPath(process.env));
509
509
  };
510
510
  const maybeInstallGoForOnboarding = async () => {
511
511
  if (goModernEnough()) {
@@ -539,7 +539,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
539
539
  return goModernEnough();
540
540
  };
541
541
  const prepareLocalSignerForOnboarding = async (params) => {
542
- if (fs.existsSync(params.binPath) || String(process.env.FASED_SKIP_NATIVE_SIGNER_BUILD ?? "").trim() === "1" || hasExplicitSignerAssetSource()) {
542
+ if (syncFs.existsSync(params.binPath) || String(process.env.FASED_SKIP_NATIVE_SIGNER_BUILD ?? "").trim() === "1" || hasExplicitSignerAssetSource()) {
543
543
  return;
544
544
  }
545
545
  if (goModernEnough()) {
@@ -1092,8 +1092,8 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
1092
1092
  const configuredPaths = keystoreKeys.map((key) => (nextConfig.env?.vars?.[key] ?? "").trim() || String(process.env[key] ?? "").trim()).filter(Boolean);
1093
1093
  for (const file of new Set([...configuredPaths, ...defaultKeystorePaths])) {
1094
1094
  try {
1095
- if (file && fs.existsSync(file)) {
1096
- fs.rmSync(file, { force: true });
1095
+ if (file && syncFs.existsSync(file)) {
1096
+ syncFs.rmSync(file, { force: true });
1097
1097
  }
1098
1098
  } catch {}
1099
1099
  }
@@ -1215,7 +1215,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
1215
1215
  process.env[rpcKey] = effectiveRpcUrl;
1216
1216
  try {
1217
1217
  let moveToSignerDir = false;
1218
- if (isolatedTargetKeystorePath && fs.existsSync(isolatedTargetKeystorePath)) {
1218
+ if (isolatedTargetKeystorePath && syncFs.existsSync(isolatedTargetKeystorePath)) {
1219
1219
  moveToSignerDir = await prompter.confirm({
1220
1220
  message: "Signer keystore already exists. Overwrite it?",
1221
1221
  initialValue: false