@poolzin/pool-bot 1.28.0 → 2026.1.26

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 (1024) hide show
  1. package/CHANGELOG.md +1123 -32
  2. package/README.md +37 -47
  3. package/assets/chrome-extension/background.js +5 -5
  4. package/assets/chrome-extension/manifest.json +3 -3
  5. package/assets/chrome-extension/options.html +6 -5
  6. package/assets/chrome-extension/options.js +1 -1
  7. package/dist/acp/client.js +5 -5
  8. package/dist/acp/server.js +1 -1
  9. package/dist/acp/types.js +2 -2
  10. package/dist/agents/agent-paths.js +3 -3
  11. package/dist/agents/auth-health.js +6 -2
  12. package/dist/agents/auth-profiles/doctor.js +1 -1
  13. package/dist/agents/auth-profiles/external-cli-sync.js +150 -5
  14. package/dist/agents/auth-profiles/oauth.js +7 -26
  15. package/dist/agents/auth-profiles/paths.js +3 -3
  16. package/dist/agents/auth-profiles/store.js +13 -5
  17. package/dist/agents/bash-tools.shared.js +1 -8
  18. package/dist/agents/cli-backends.js +0 -8
  19. package/dist/agents/cli-runner/helpers.js +3 -3
  20. package/dist/agents/cli-runner.js +2 -2
  21. package/dist/agents/compaction.js +0 -3
  22. package/dist/agents/context.js +4 -4
  23. package/dist/agents/docs-path.js +3 -3
  24. package/dist/agents/identity.js +1 -1
  25. package/dist/agents/memory-search.js +2 -7
  26. package/dist/agents/minimax-vlm.js +1 -1
  27. package/dist/agents/model-auth.js +1 -1
  28. package/dist/agents/model-catalog.js +4 -4
  29. package/dist/agents/model-fallback.js +0 -22
  30. package/dist/agents/model-selection.js +1 -1
  31. package/dist/agents/models-config.js +3 -3
  32. package/dist/agents/models-config.providers.js +4 -4
  33. package/dist/agents/pi-embedded-helpers/openai.js +1 -1
  34. package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
  35. package/dist/agents/pi-embedded-runner/compact.js +8 -8
  36. package/dist/agents/pi-embedded-runner/extensions.js +0 -5
  37. package/dist/agents/pi-embedded-runner/model.js +2 -2
  38. package/dist/agents/pi-embedded-runner/run/attempt.js +6 -10
  39. package/dist/agents/pi-embedded-runner/run.js +4 -4
  40. package/dist/agents/pi-embedded-runner/sandbox-info.js +4 -1
  41. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  42. package/dist/agents/pi-embedded-utils.js +1 -7
  43. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -32
  44. package/dist/agents/pi-tools.js +15 -25
  45. package/dist/agents/pi-tools.policy.js +1 -34
  46. package/dist/agents/pi-tools.read.js +2 -2
  47. package/dist/agents/sandbox/browser.js +7 -5
  48. package/dist/agents/sandbox/config.js +12 -0
  49. package/dist/agents/sandbox/constants.js +7 -7
  50. package/dist/agents/sandbox/context.js +3 -3
  51. package/dist/agents/sandbox/docker.js +8 -8
  52. package/dist/agents/sandbox/runtime-status.js +1 -1
  53. package/dist/agents/session-transcript-repair.js +1 -1
  54. package/dist/agents/session-write-lock.js +0 -68
  55. package/dist/agents/skills/config.js +8 -9
  56. package/dist/agents/skills/env-overrides.js +1 -1
  57. package/dist/agents/skills/frontmatter.js +14 -15
  58. package/dist/agents/skills/workspace.js +7 -7
  59. package/dist/agents/skills-install.js +1 -1
  60. package/dist/agents/skills-status.js +12 -12
  61. package/dist/agents/subagent-registry.store.js +2 -2
  62. package/dist/agents/system-prompt.js +32 -21
  63. package/dist/agents/tool-images.js +1 -1
  64. package/dist/agents/tool-policy.js +2 -8
  65. package/dist/agents/tools/browser-tool.js +79 -19
  66. package/dist/agents/tools/browser-tool.schema.js +2 -1
  67. package/dist/agents/tools/cron-tool.js +1 -44
  68. package/dist/agents/tools/discord-actions-guild.js +1 -5
  69. package/dist/agents/tools/image-tool.js +2 -2
  70. package/dist/agents/tools/message-tool.js +0 -1
  71. package/dist/agents/tools/sessions-send-helpers.js +2 -17
  72. package/dist/agents/tools/telegram-actions.js +1 -93
  73. package/dist/agents/tools/web-fetch.js +103 -123
  74. package/dist/agents/tools/web-search.js +7 -7
  75. package/dist/agents/workspace.js +0 -36
  76. package/dist/auto-reply/commands-registry.data.js +3 -68
  77. package/dist/auto-reply/commands-registry.js +11 -14
  78. package/dist/auto-reply/reply/agent-runner-execution.js +3 -21
  79. package/dist/auto-reply/reply/agent-runner-memory.js +0 -5
  80. package/dist/auto-reply/reply/bash-command.js +2 -2
  81. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  82. package/dist/auto-reply/reply/commands-info.js +5 -50
  83. package/dist/auto-reply/reply/commands-session.js +4 -4
  84. package/dist/auto-reply/reply/commands-tts.js +63 -61
  85. package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
  86. package/dist/auto-reply/reply/dispatch-from-config.js +1 -65
  87. package/dist/auto-reply/reply/followup-runner.js +0 -5
  88. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  89. package/dist/auto-reply/reply/get-reply-run.js +0 -4
  90. package/dist/auto-reply/reply/groups.js +1 -1
  91. package/dist/auto-reply/reply/history.js +0 -23
  92. package/dist/auto-reply/reply/reply-elevated.js +1 -1
  93. package/dist/auto-reply/reply/session-updates.js +1 -6
  94. package/dist/auto-reply/status.js +49 -141
  95. package/dist/browser/bridge-server.js +3 -1
  96. package/dist/browser/client-actions-core.js +7 -13
  97. package/dist/browser/client-actions-observe.js +8 -14
  98. package/dist/browser/client-actions-state.js +15 -21
  99. package/dist/browser/client-fetch.js +61 -74
  100. package/dist/browser/client.js +21 -19
  101. package/dist/browser/config.js +26 -13
  102. package/dist/browser/constants.js +1 -1
  103. package/dist/browser/extension-relay.js +3 -3
  104. package/dist/browser/pw-session.js +4 -41
  105. package/dist/browser/pw-tools-core.downloads.js +1 -1
  106. package/dist/browser/pw-tools-core.interactions.js +5 -5
  107. package/dist/browser/pw-tools-core.responses.js +1 -1
  108. package/dist/browser/routes/agent.act.js +0 -13
  109. package/dist/browser/routes/agent.debug.js +1 -1
  110. package/dist/browser/routes/basic.js +1 -0
  111. package/dist/browser/server-context.js +3 -3
  112. package/dist/browser/server.js +9 -7
  113. package/dist/build-info.json +3 -3
  114. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  115. package/dist/canvas-host/a2ui/a2ui.bundle.js +1618 -1620
  116. package/dist/canvas-host/a2ui/index.html +28 -28
  117. package/dist/canvas-host/a2ui.js +19 -25
  118. package/dist/canvas-host/server.js +32 -66
  119. package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +1 -5
  120. package/dist/channels/plugins/actions/telegram.js +7 -60
  121. package/dist/channels/plugins/catalog.js +4 -6
  122. package/dist/channels/plugins/group-mentions.js +1 -48
  123. package/dist/channels/plugins/helpers.js +2 -2
  124. package/dist/channels/plugins/message-action-names.js +0 -1
  125. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  126. package/dist/channels/plugins/onboarding/signal.js +2 -2
  127. package/dist/channels/plugins/onboarding/slack.js +4 -4
  128. package/dist/channels/plugins/onboarding/telegram.js +9 -17
  129. package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
  130. package/dist/channels/plugins/outbound/telegram.js +0 -38
  131. package/dist/channels/plugins/pairing-message.js +1 -1
  132. package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
  133. package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
  134. package/dist/channels/registry.js +1 -1
  135. package/dist/cli/acp-cli.js +2 -2
  136. package/dist/cli/argv.js +7 -14
  137. package/dist/cli/banner.js +1 -3
  138. package/dist/cli/browser-cli-actions-input/register.element.js +44 -72
  139. package/dist/cli/browser-cli-actions-input/register.files-downloads.js +35 -55
  140. package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +28 -41
  141. package/dist/cli/browser-cli-actions-input/register.navigation.js +14 -23
  142. package/dist/cli/browser-cli-actions-input/shared.js +3 -10
  143. package/dist/cli/browser-cli-actions-observe.js +21 -29
  144. package/dist/cli/browser-cli-debug.js +35 -49
  145. package/dist/cli/browser-cli-examples.js +29 -29
  146. package/dist/cli/browser-cli-extension.js +8 -8
  147. package/dist/cli/browser-cli-inspect.js +17 -23
  148. package/dist/cli/browser-cli-manage.js +56 -106
  149. package/dist/cli/browser-cli-shared.js +1 -34
  150. package/dist/cli/browser-cli-state.cookies-storage.js +39 -53
  151. package/dist/cli/browser-cli-state.js +64 -90
  152. package/dist/cli/browser-cli.js +5 -4
  153. package/dist/cli/channels-cli.js +1 -1
  154. package/dist/cli/command-format.js +7 -11
  155. package/dist/cli/config-cli.js +2 -2
  156. package/dist/cli/cron-cli/register.js +1 -1
  157. package/dist/cli/daemon-cli/install.js +1 -1
  158. package/dist/cli/daemon-cli/register.js +1 -1
  159. package/dist/cli/daemon-cli/shared.js +3 -5
  160. package/dist/cli/daemon-cli/status.print.js +6 -6
  161. package/dist/cli/directory-cli.js +1 -1
  162. package/dist/cli/dns-cli.js +7 -7
  163. package/dist/cli/docs-cli.js +2 -2
  164. package/dist/cli/exec-approvals-cli.js +2 -2
  165. package/dist/cli/gateway-cli/dev.js +4 -4
  166. package/dist/cli/gateway-cli/register.js +1 -1
  167. package/dist/cli/gateway-cli/run.js +8 -11
  168. package/dist/cli/gateway-cli/shared.js +4 -4
  169. package/dist/cli/hooks-cli.js +3 -3
  170. package/dist/cli/logs-cli.js +3 -3
  171. package/dist/cli/memory-cli.js +1 -1
  172. package/dist/cli/models-cli.js +2 -2
  173. package/dist/cli/node-cli/daemon.js +2 -2
  174. package/dist/cli/node-cli/register.js +1 -1
  175. package/dist/cli/nodes-camera.js +1 -3
  176. package/dist/cli/nodes-canvas.js +1 -3
  177. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  178. package/dist/cli/nodes-cli/register.js +1 -1
  179. package/dist/cli/nodes-screen.js +1 -1
  180. package/dist/cli/pairing-cli.js +3 -3
  181. package/dist/cli/plugin-registry.js +2 -2
  182. package/dist/cli/plugins-cli.js +3 -3
  183. package/dist/cli/profile.js +1 -1
  184. package/dist/cli/program/config-guard.js +1 -1
  185. package/dist/cli/program/help.js +14 -13
  186. package/dist/cli/program/message/register.send.js +1 -2
  187. package/dist/cli/program/preaction.js +2 -4
  188. package/dist/cli/program/register.agent.js +12 -12
  189. package/dist/cli/program/register.configure.js +1 -1
  190. package/dist/cli/program/register.maintenance.js +4 -4
  191. package/dist/cli/program/register.message.js +5 -5
  192. package/dist/cli/program/register.onboard.js +3 -5
  193. package/dist/cli/program/register.setup.js +2 -2
  194. package/dist/cli/program/register.status-health-sessions.js +13 -13
  195. package/dist/cli/run-main.js +4 -11
  196. package/dist/cli/sandbox-cli.js +19 -19
  197. package/dist/cli/security-cli.js +8 -18
  198. package/dist/cli/skills-cli.js +3 -3
  199. package/dist/cli/system-cli.js +1 -1
  200. package/dist/cli/tagline.js +1 -1
  201. package/dist/cli/tui-cli.js +1 -1
  202. package/dist/cli/update-cli.js +42 -58
  203. package/dist/cli/webhooks-cli.js +6 -6
  204. package/dist/commands/agent-via-gateway.js +1 -1
  205. package/dist/commands/agent.js +1 -2
  206. package/dist/commands/agents.command-shared.js +1 -1
  207. package/dist/commands/agents.commands.add.js +3 -2
  208. package/dist/commands/agents.commands.list.js +1 -1
  209. package/dist/commands/auth-choice-options.js +54 -4
  210. package/dist/commands/auth-choice.apply.anthropic.js +109 -6
  211. package/dist/commands/auth-choice.apply.openai.js +33 -1
  212. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  213. package/dist/commands/channels/list.js +2 -2
  214. package/dist/commands/channels/shared.js +1 -1
  215. package/dist/commands/channels/status.js +1 -1
  216. package/dist/commands/chutes-oauth.js +1 -1
  217. package/dist/commands/configure.channels.js +4 -4
  218. package/dist/commands/configure.gateway-auth.js +8 -1
  219. package/dist/commands/configure.gateway.js +10 -1
  220. package/dist/commands/configure.wizard.js +11 -11
  221. package/dist/commands/daemon-install-helpers.js +1 -1
  222. package/dist/commands/dashboard.js +1 -1
  223. package/dist/commands/docs.js +5 -5
  224. package/dist/commands/doctor-auth.js +3 -122
  225. package/dist/commands/doctor-config-flow.js +7 -7
  226. package/dist/commands/doctor-format.js +2 -2
  227. package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
  228. package/dist/commands/doctor-gateway-services.js +3 -3
  229. package/dist/commands/doctor-security.js +1 -48
  230. package/dist/commands/doctor-ui.js +2 -2
  231. package/dist/commands/doctor-update.js +4 -4
  232. package/dist/commands/doctor-workspace-status.js +2 -2
  233. package/dist/commands/doctor-workspace.js +4 -4
  234. package/dist/commands/doctor.js +12 -13
  235. package/dist/commands/gateway-status.js +2 -2
  236. package/dist/commands/models/auth.js +22 -23
  237. package/dist/commands/models/list.probe.js +2 -2
  238. package/dist/commands/models/list.registry.js +4 -4
  239. package/dist/commands/models/list.status-command.js +9 -8
  240. package/dist/commands/onboard-auth.credentials.js +2 -2
  241. package/dist/commands/onboard-channels.js +3 -3
  242. package/dist/commands/onboard-helpers.js +4 -4
  243. package/dist/commands/onboard-hooks.js +4 -4
  244. package/dist/commands/onboard-non-interactive/local/auth-choice.js +34 -38
  245. package/dist/commands/onboard-non-interactive/local/gateway-config.js +4 -7
  246. package/dist/commands/onboard-non-interactive/local.js +1 -1
  247. package/dist/commands/onboard-non-interactive/remote.js +1 -1
  248. package/dist/commands/onboard-non-interactive.js +1 -1
  249. package/dist/commands/onboard-remote.js +2 -2
  250. package/dist/commands/onboard-skills.js +2 -2
  251. package/dist/commands/onboard.js +4 -25
  252. package/dist/commands/onboarding/plugin-install.js +2 -2
  253. package/dist/commands/reset.js +3 -3
  254. package/dist/commands/sandbox-display.js +1 -1
  255. package/dist/commands/sandbox-explain.js +2 -2
  256. package/dist/commands/setup.js +2 -2
  257. package/dist/commands/signal-install.js +2 -2
  258. package/dist/commands/status-all/diagnosis.js +1 -1
  259. package/dist/commands/status-all/report-lines.js +1 -1
  260. package/dist/commands/status-all.js +3 -3
  261. package/dist/commands/status.command.js +9 -9
  262. package/dist/commands/status.update.js +3 -3
  263. package/dist/commands/uninstall.js +3 -3
  264. package/dist/config/config.js +1 -1
  265. package/dist/config/group-policy.js +0 -69
  266. package/dist/config/io.js +5 -17
  267. package/dist/config/legacy.migrations.part-3.js +0 -3
  268. package/dist/config/logging.js +3 -3
  269. package/dist/config/paths.js +13 -43
  270. package/dist/config/schema.js +9 -21
  271. package/dist/config/sessions/transcript.js +1 -1
  272. package/dist/config/validation.js +2 -2
  273. package/dist/config/version.js +4 -4
  274. package/dist/config/zod-schema.agent-defaults.js +0 -1
  275. package/dist/config/zod-schema.agent-runtime.js +7 -39
  276. package/dist/config/zod-schema.hooks.js +0 -2
  277. package/dist/config/zod-schema.js +3 -9
  278. package/dist/config/zod-schema.providers-core.js +0 -23
  279. package/dist/config/zod-schema.providers-whatsapp.js +0 -3
  280. package/dist/control-ui/assets/{index-HlBhZmfj.js → index-Cl-Y9zqE.js} +578 -620
  281. package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +1 -0
  282. package/dist/control-ui/assets/index-DEPfFcOb.css +1 -0
  283. package/dist/control-ui/index.html +4 -4
  284. package/dist/cron/isolated-agent/run.js +3 -38
  285. package/dist/daemon/constants.js +12 -12
  286. package/dist/daemon/inspect.js +11 -11
  287. package/dist/daemon/program-args.js +1 -1
  288. package/dist/daemon/systemd-hints.js +1 -1
  289. package/dist/daemon/systemd-unit.js +1 -1
  290. package/dist/discord/monitor/listeners.js +1 -25
  291. package/dist/discord/monitor/native-command.js +5 -7
  292. package/dist/discord/monitor/provider.js +7 -21
  293. package/dist/entry.js +4 -4
  294. package/dist/gateway/auth.js +19 -52
  295. package/dist/gateway/hooks-mapping.js +4 -18
  296. package/dist/gateway/hooks.js +7 -5
  297. package/dist/gateway/http-utils.js +5 -3
  298. package/dist/gateway/net.js +1 -1
  299. package/dist/gateway/openai-http.js +3 -3
  300. package/dist/gateway/openresponses-http.js +4 -4
  301. package/dist/gateway/protocol/client-info.js +5 -5
  302. package/dist/gateway/protocol/schema/logs-chat.js +1 -1
  303. package/dist/gateway/server/health-state.js +3 -3
  304. package/dist/gateway/server/hooks.js +0 -1
  305. package/dist/gateway/server/ws-connection/message-handler.js +35 -44
  306. package/dist/gateway/server-browser.js +3 -14
  307. package/dist/gateway/server-chat.js +2 -28
  308. package/dist/gateway/server-discovery-runtime.js +17 -25
  309. package/dist/gateway/server-discovery.js +5 -5
  310. package/dist/gateway/server-http.js +3 -9
  311. package/dist/gateway/server-methods/agent.js +0 -2
  312. package/dist/gateway/server-methods/chat.js +0 -5
  313. package/dist/gateway/server-methods/config.js +8 -8
  314. package/dist/gateway/server-methods/logs.js +1 -1
  315. package/dist/gateway/server-methods/skills.js +3 -3
  316. package/dist/gateway/server-methods/update.js +2 -2
  317. package/dist/gateway/server-methods-list.js +0 -1
  318. package/dist/gateway/server-methods.js +0 -3
  319. package/dist/gateway/server-plugins.js +2 -2
  320. package/dist/gateway/server-restart-sentinel.js +5 -10
  321. package/dist/gateway/server-runtime-config.js +2 -5
  322. package/dist/gateway/server.impl.js +6 -7
  323. package/dist/gateway/session-utils.js +11 -31
  324. package/dist/gateway/test-helpers.mocks.js +5 -5
  325. package/dist/gateway/test-helpers.server.js +9 -28
  326. package/dist/gateway/tools-invoke-http.js +8 -15
  327. package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
  328. package/dist/hooks/bundled/command-logger/HOOK.md +5 -5
  329. package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
  330. package/dist/hooks/bundled/session-memory/handler.js +2 -2
  331. package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
  332. package/dist/hooks/bundled-dir.js +1 -1
  333. package/dist/hooks/config.js +7 -8
  334. package/dist/hooks/frontmatter.js +15 -16
  335. package/dist/hooks/gmail-ops.js +4 -4
  336. package/dist/hooks/hooks-status.js +13 -13
  337. package/dist/hooks/install.js +7 -8
  338. package/dist/hooks/internal-hooks.js +1 -1
  339. package/dist/hooks/llm-slug-generator.js +1 -1
  340. package/dist/hooks/loader.js +3 -3
  341. package/dist/hooks/plugin-hooks.js +8 -8
  342. package/dist/hooks/workspace.js +9 -10
  343. package/dist/imessage/monitor/monitor-provider.js +2 -2
  344. package/dist/index.js +4 -4
  345. package/dist/infra/agent-events.js +0 -3
  346. package/dist/infra/bonjour-discovery.js +9 -9
  347. package/dist/infra/bonjour.js +12 -19
  348. package/dist/infra/gateway-lock.js +1 -1
  349. package/dist/infra/heartbeat-visibility.js +0 -14
  350. package/dist/infra/heartbeat-wake.js +2 -2
  351. package/dist/infra/machine-name.js +1 -1
  352. package/dist/infra/net/ssrf.js +1 -77
  353. package/dist/infra/outbound/message-action-spec.js +0 -1
  354. package/dist/infra/outbound/targets.js +1 -1
  355. package/dist/infra/path-env.js +7 -7
  356. package/dist/infra/ports-format.js +2 -2
  357. package/dist/infra/ports.js +2 -2
  358. package/dist/infra/provider-usage.auth.js +4 -2
  359. package/dist/infra/provider-usage.fetch.claude.js +1 -1
  360. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  361. package/dist/infra/restart-sentinel.js +1 -1
  362. package/dist/infra/restart.js +1 -1
  363. package/dist/infra/retry-policy.js +1 -4
  364. package/dist/infra/runtime-guard.js +2 -2
  365. package/dist/infra/shell-env.js +1 -1
  366. package/dist/infra/skills-remote.js +3 -3
  367. package/dist/infra/tailscale.js +1 -63
  368. package/dist/infra/tls/gateway.js +1 -1
  369. package/dist/infra/unhandled-rejections.js +2 -89
  370. package/dist/infra/update-check.js +4 -2
  371. package/dist/infra/update-global.js +5 -5
  372. package/dist/infra/update-runner.js +8 -32
  373. package/dist/infra/update-startup.js +3 -3
  374. package/dist/infra/warnings.js +1 -1
  375. package/dist/infra/widearea-dns.js +10 -10
  376. package/dist/line/monitor.js +5 -1
  377. package/dist/line/webhook.js +6 -2
  378. package/dist/logging/logger.js +4 -4
  379. package/dist/macos/gateway-daemon.js +2 -2
  380. package/dist/macos/relay.js +4 -4
  381. package/dist/media/host.js +1 -1
  382. package/dist/media/image-ops.js +1 -1
  383. package/dist/media/input-files.js +32 -40
  384. package/dist/media/server.js +15 -39
  385. package/dist/media/store.js +52 -72
  386. package/dist/media-understanding/attachments.js +1 -1
  387. package/dist/media-understanding/providers/image.js +2 -2
  388. package/dist/media-understanding/runner.js +1 -33
  389. package/dist/memory/batch-gemini.js +1 -1
  390. package/dist/memory/batch-openai.js +1 -1
  391. package/dist/memory/embeddings.js +1 -1
  392. package/dist/node-host/runner.js +56 -60
  393. package/dist/pairing/pairing-messages.js +2 -2
  394. package/dist/plugin-sdk/index.js +0 -1
  395. package/dist/plugins/cli.js +2 -2
  396. package/dist/plugins/discovery.js +4 -5
  397. package/dist/plugins/install.js +7 -8
  398. package/dist/plugins/loader.js +4 -11
  399. package/dist/plugins/manifest-registry.js +2 -2
  400. package/dist/plugins/manifest.js +1 -16
  401. package/dist/plugins/providers.js +2 -2
  402. package/dist/plugins/registry.js +5 -5
  403. package/dist/plugins/runtime.js +1 -1
  404. package/dist/plugins/services.js +3 -3
  405. package/dist/plugins/status.js +2 -2
  406. package/dist/plugins/tools.js +2 -2
  407. package/dist/plugins/update.js +3 -3
  408. package/dist/providers/qwen-portal-oauth.js +1 -1
  409. package/dist/routing/session-key.js +12 -17
  410. package/dist/security/audit-extra.js +69 -116
  411. package/dist/security/audit-fs.js +0 -78
  412. package/dist/security/audit.js +88 -121
  413. package/dist/security/fix.js +8 -93
  414. package/dist/slack/monitor/media.js +4 -32
  415. package/dist/slack/monitor/message-handler/dispatch.js +1 -2
  416. package/dist/slack/monitor/slash.js +3 -3
  417. package/dist/slack/monitor.test-helpers.js +1 -1
  418. package/dist/telegram/bot/delivery.js +22 -139
  419. package/dist/telegram/bot-handlers.js +8 -70
  420. package/dist/telegram/bot-message-context.js +21 -79
  421. package/dist/telegram/bot-message-dispatch.js +0 -64
  422. package/dist/telegram/bot-native-commands.js +94 -244
  423. package/dist/telegram/bot.js +2 -18
  424. package/dist/telegram/fetch.js +1 -25
  425. package/dist/telegram/monitor.js +3 -11
  426. package/dist/telegram/send.js +4 -148
  427. package/dist/telegram/webhook-set.js +6 -13
  428. package/dist/telegram/webhook.js +3 -8
  429. package/dist/terminal/links.js +1 -1
  430. package/dist/tts/tts.js +22 -27
  431. package/dist/tui/components/filterable-select-list.js +1 -1
  432. package/dist/tui/components/searchable-select-list.js +1 -2
  433. package/dist/tui/gateway-chat.js +1 -1
  434. package/dist/tui/tui.js +1 -1
  435. package/dist/version.js +1 -1
  436. package/dist/web/active-listener.js +1 -1
  437. package/dist/web/auth-store.js +1 -1
  438. package/dist/web/auto-reply/monitor/process-message.js +1 -1
  439. package/dist/web/auto-reply/monitor.js +1 -1
  440. package/dist/web/login.js +1 -1
  441. package/dist/web/session.js +2 -2
  442. package/dist/wizard/onboarding.finalize.js +14 -14
  443. package/dist/wizard/onboarding.gateway-config.js +11 -1
  444. package/dist/wizard/onboarding.js +10 -21
  445. package/docs/CNAME +1 -1
  446. package/docs/POOL-BOT.md +119 -0
  447. package/docs/_config.yml +2 -2
  448. package/docs/_layouts/default.html +9 -9
  449. package/docs/assets/terminal.css +0 -3
  450. package/docs/assets/theme.js +1 -1
  451. package/docs/automation/auth-monitoring.md +7 -7
  452. package/docs/automation/cron-jobs.md +13 -13
  453. package/docs/automation/cron-vs-heartbeat.md +8 -8
  454. package/docs/automation/gmail-pubsub.md +21 -23
  455. package/docs/automation/poll.md +6 -6
  456. package/docs/automation/webhook.md +8 -13
  457. package/docs/bedrock.md +10 -10
  458. package/docs/brave-search.md +1 -1
  459. package/docs/broadcast-groups.md +3 -3
  460. package/docs/channels/bluebubbles.md +12 -13
  461. package/docs/channels/discord.md +16 -21
  462. package/docs/channels/googlechat.md +15 -15
  463. package/docs/channels/imessage.md +10 -10
  464. package/docs/channels/index.md +4 -6
  465. package/docs/channels/location.md +1 -1
  466. package/docs/channels/matrix.md +13 -13
  467. package/docs/channels/mattermost.md +8 -8
  468. package/docs/channels/msteams.md +25 -29
  469. package/docs/channels/nextcloud-talk.md +7 -7
  470. package/docs/channels/nostr.md +9 -9
  471. package/docs/channels/signal.md +9 -9
  472. package/docs/channels/slack.md +13 -15
  473. package/docs/channels/telegram.md +20 -149
  474. package/docs/channels/tlon.md +5 -5
  475. package/docs/channels/troubleshooting.md +2 -2
  476. package/docs/channels/whatsapp.md +23 -23
  477. package/docs/channels/zalo.md +8 -8
  478. package/docs/channels/zalouser.md +12 -12
  479. package/docs/cli/acp.md +24 -24
  480. package/docs/cli/agent.md +6 -6
  481. package/docs/cli/agents.md +9 -9
  482. package/docs/cli/approvals.md +13 -13
  483. package/docs/cli/browser.md +35 -33
  484. package/docs/cli/channels.md +21 -21
  485. package/docs/cli/config.md +15 -15
  486. package/docs/cli/configure.md +6 -6
  487. package/docs/cli/cron.md +5 -5
  488. package/docs/cli/dashboard.md +4 -4
  489. package/docs/cli/devices.md +13 -13
  490. package/docs/cli/directory.md +12 -12
  491. package/docs/cli/dns.md +5 -5
  492. package/docs/cli/docs.md +5 -5
  493. package/docs/cli/doctor.md +6 -6
  494. package/docs/cli/gateway.md +24 -24
  495. package/docs/cli/health.md +5 -5
  496. package/docs/cli/hooks.md +28 -28
  497. package/docs/cli/index.md +50 -44
  498. package/docs/cli/logs.md +6 -6
  499. package/docs/cli/memory.md +11 -11
  500. package/docs/cli/message.md +11 -11
  501. package/docs/cli/models.md +17 -17
  502. package/docs/cli/node.md +12 -12
  503. package/docs/cli/nodes.md +14 -14
  504. package/docs/cli/onboard.md +6 -7
  505. package/docs/cli/pairing.md +4 -4
  506. package/docs/cli/plugins.md +16 -16
  507. package/docs/cli/reset.md +5 -5
  508. package/docs/cli/sandbox.md +28 -28
  509. package/docs/cli/security.md +5 -5
  510. package/docs/cli/sessions.md +5 -5
  511. package/docs/cli/setup.md +6 -6
  512. package/docs/cli/skills.md +6 -6
  513. package/docs/cli/status.md +7 -7
  514. package/docs/cli/system.md +6 -6
  515. package/docs/cli/tui.md +5 -5
  516. package/docs/cli/uninstall.md +5 -5
  517. package/docs/cli/update.md +20 -20
  518. package/docs/cli/voicecall.md +9 -9
  519. package/docs/cli/webhooks.md +5 -5
  520. package/docs/concepts/agent-loop.md +5 -5
  521. package/docs/concepts/agent-workspace.md +11 -11
  522. package/docs/concepts/agent.md +10 -10
  523. package/docs/concepts/architecture.md +1 -1
  524. package/docs/concepts/channel-routing.md +2 -2
  525. package/docs/concepts/compaction.md +5 -5
  526. package/docs/concepts/context.md +6 -6
  527. package/docs/concepts/group-messages.md +5 -5
  528. package/docs/concepts/groups.md +5 -41
  529. package/docs/concepts/markdown-formatting.md +3 -3
  530. package/docs/concepts/memory.md +12 -12
  531. package/docs/concepts/messages.md +4 -4
  532. package/docs/concepts/model-failover.md +11 -11
  533. package/docs/concepts/model-providers.md +22 -22
  534. package/docs/concepts/models.md +26 -26
  535. package/docs/concepts/multi-agent.md +5 -5
  536. package/docs/concepts/oauth.md +55 -28
  537. package/docs/concepts/presence.md +2 -2
  538. package/docs/concepts/retry.md +1 -1
  539. package/docs/concepts/session-pruning.md +1 -1
  540. package/docs/concepts/session-tool.md +4 -4
  541. package/docs/concepts/session.md +11 -11
  542. package/docs/concepts/streaming.md +3 -3
  543. package/docs/concepts/system-prompt.md +11 -11
  544. package/docs/concepts/timezone.md +2 -2
  545. package/docs/concepts/typebox.md +2 -2
  546. package/docs/concepts/typing-indicators.md +2 -2
  547. package/docs/concepts/usage-tracking.md +3 -3
  548. package/docs/date-time.md +2 -2
  549. package/docs/debug/node-issue.md +4 -4
  550. package/docs/debugging.md +9 -9
  551. package/docs/diagnostics/flags.md +5 -5
  552. package/docs/docs.json +7 -37
  553. package/docs/environment.md +3 -3
  554. package/docs/experiments/plans/cron-add-hardening.md +1 -1
  555. package/docs/experiments/plans/openresponses-gateway.md +2 -2
  556. package/docs/experiments/research/memory.md +6 -6
  557. package/docs/gateway/authentication.md +54 -30
  558. package/docs/gateway/background-process.md +1 -1
  559. package/docs/gateway/bonjour.md +21 -21
  560. package/docs/gateway/bridge-protocol.md +2 -2
  561. package/docs/gateway/cli-backends.md +12 -13
  562. package/docs/gateway/configuration-examples.md +10 -10
  563. package/docs/gateway/configuration.md +107 -120
  564. package/docs/gateway/discovery.md +6 -6
  565. package/docs/gateway/doctor.md +21 -21
  566. package/docs/gateway/gateway-lock.md +1 -1
  567. package/docs/gateway/health.md +9 -9
  568. package/docs/gateway/heartbeat.md +5 -5
  569. package/docs/gateway/index.md +51 -51
  570. package/docs/gateway/local-models.md +2 -2
  571. package/docs/gateway/logging.md +8 -8
  572. package/docs/gateway/multiple-gateways.md +19 -19
  573. package/docs/gateway/openai-http-api.md +10 -10
  574. package/docs/gateway/openresponses-http-api.md +10 -10
  575. package/docs/gateway/pairing.md +5 -5
  576. package/docs/gateway/protocol.md +4 -5
  577. package/docs/gateway/remote-gateway-readme.md +8 -8
  578. package/docs/gateway/remote.md +4 -4
  579. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -10
  580. package/docs/gateway/sandboxing.md +5 -7
  581. package/docs/gateway/{security/index.md → security.md} +63 -143
  582. package/docs/gateway/tailscale.md +35 -16
  583. package/docs/gateway/tools-invoke-http-api.md +3 -3
  584. package/docs/gateway/troubleshooting.md +106 -101
  585. package/docs/help/faq.md +312 -303
  586. package/docs/help/troubleshooting.md +15 -15
  587. package/docs/hooks/soul-evil.md +2 -2
  588. package/docs/hooks.md +44 -44
  589. package/docs/index.md +33 -33
  590. package/docs/install/ansible.md +35 -35
  591. package/docs/install/development-channels.md +10 -10
  592. package/docs/install/docker.md +27 -27
  593. package/docs/install/index.md +27 -28
  594. package/docs/install/installer.md +21 -21
  595. package/docs/install/nix.md +16 -16
  596. package/docs/install/node.md +6 -7
  597. package/docs/install/uninstall.md +21 -21
  598. package/docs/install/updating.md +47 -48
  599. package/docs/logging.md +58 -58
  600. package/docs/multi-agent-sandbox-tools.md +5 -5
  601. package/docs/network.md +1 -1
  602. package/docs/nodes/audio.md +2 -2
  603. package/docs/nodes/camera.md +18 -18
  604. package/docs/nodes/images.md +4 -4
  605. package/docs/nodes/index.md +50 -50
  606. package/docs/nodes/location-command.md +2 -2
  607. package/docs/nodes/media-understanding.md +5 -5
  608. package/docs/nodes/talk.md +1 -1
  609. package/docs/nodes/voicewake.md +1 -1
  610. package/docs/perplexity.md +2 -2
  611. package/docs/platforms/android.md +13 -13
  612. package/docs/platforms/exe-dev.md +23 -23
  613. package/docs/platforms/fly.md +18 -129
  614. package/docs/platforms/hetzner.md +20 -20
  615. package/docs/platforms/index.md +8 -8
  616. package/docs/platforms/ios.md +13 -13
  617. package/docs/platforms/linux.md +11 -11
  618. package/docs/platforms/mac/bundled-gateway.md +11 -11
  619. package/docs/platforms/mac/canvas.md +14 -14
  620. package/docs/platforms/mac/child-process.md +1 -1
  621. package/docs/platforms/mac/dev-setup.md +10 -10
  622. package/docs/platforms/mac/health.md +2 -2
  623. package/docs/platforms/mac/icon.md +1 -1
  624. package/docs/platforms/mac/logging.md +4 -4
  625. package/docs/platforms/mac/menu-bar.md +1 -1
  626. package/docs/platforms/mac/peekaboo.md +9 -9
  627. package/docs/platforms/mac/permissions.md +1 -1
  628. package/docs/platforms/mac/release.md +18 -18
  629. package/docs/platforms/mac/remote.md +14 -14
  630. package/docs/platforms/mac/signing.md +6 -6
  631. package/docs/platforms/mac/skills.md +2 -2
  632. package/docs/platforms/mac/webchat.md +1 -1
  633. package/docs/platforms/mac/xpc.md +4 -4
  634. package/docs/platforms/macos-vm.md +27 -27
  635. package/docs/platforms/macos.md +14 -14
  636. package/docs/platforms/windows.md +11 -11
  637. package/docs/plugin.md +57 -57
  638. package/docs/plugins/agent-tools.md +1 -1
  639. package/docs/plugins/manifest.md +4 -4
  640. package/docs/plugins/voice-call.md +12 -15
  641. package/docs/plugins/zalouser.md +9 -9
  642. package/docs/prose.md +9 -9
  643. package/docs/providers/anthropic.md +27 -23
  644. package/docs/providers/deepgram.md +2 -2
  645. package/docs/providers/github-copilot.md +11 -11
  646. package/docs/providers/glm.md +4 -4
  647. package/docs/providers/index.md +3 -7
  648. package/docs/providers/minimax.md +9 -9
  649. package/docs/providers/models.md +3 -3
  650. package/docs/providers/moonshot.md +2 -2
  651. package/docs/providers/ollama.md +11 -11
  652. package/docs/providers/openai.md +13 -9
  653. package/docs/providers/opencode.md +3 -3
  654. package/docs/providers/openrouter.md +3 -3
  655. package/docs/providers/qwen.md +6 -6
  656. package/docs/providers/synthetic.md +4 -4
  657. package/docs/providers/venice.md +21 -21
  658. package/docs/providers/vercel-ai-gateway.md +3 -4
  659. package/docs/providers/zai.md +5 -5
  660. package/docs/railway.mdx +5 -5
  661. package/docs/refactor/plugin-sdk.md +10 -10
  662. package/docs/refactor/strict-config.md +11 -11
  663. package/docs/reference/AGENTS.default.md +10 -10
  664. package/docs/reference/RELEASING.md +27 -27
  665. package/docs/reference/api-usage-costs.md +6 -6
  666. package/docs/reference/device-models.md +7 -7
  667. package/docs/reference/rpc.md +3 -3
  668. package/docs/reference/session-management-compaction.md +17 -17
  669. package/docs/reference/templates/AGENTS.dev.md +1 -1
  670. package/docs/reference/templates/BOOT.md +1 -1
  671. package/docs/reference/templates/TOOLS.dev.md +1 -1
  672. package/docs/reference/templates/USER.dev.md +2 -2
  673. package/docs/reference/test.md +2 -2
  674. package/docs/reference/transcript-hygiene.md +1 -1
  675. package/docs/scripts.md +1 -1
  676. package/docs/start/clawd.md +27 -27
  677. package/docs/start/getting-started.md +23 -29
  678. package/docs/start/hubs.md +2 -2
  679. package/docs/start/lore.md +38 -74
  680. package/docs/start/onboarding.md +4 -4
  681. package/docs/start/pairing.md +8 -8
  682. package/docs/start/setup.md +15 -28
  683. package/docs/start/showcase.md +32 -32
  684. package/docs/start/wizard.md +21 -24
  685. package/docs/testing.md +10 -10
  686. package/docs/token-use.md +7 -7
  687. package/docs/tools/agent-send.md +10 -10
  688. package/docs/tools/browser-linux-troubleshooting.md +8 -8
  689. package/docs/tools/browser-login.md +4 -4
  690. package/docs/tools/browser.md +241 -135
  691. package/docs/tools/chrome-extension.md +48 -31
  692. package/docs/tools/clawdhub.md +7 -7
  693. package/docs/tools/creating-skills.md +4 -4
  694. package/docs/tools/elevated.md +0 -1
  695. package/docs/tools/exec-approvals.md +2 -5
  696. package/docs/tools/exec.md +3 -14
  697. package/docs/tools/firecrawl.md +2 -2
  698. package/docs/tools/index.md +15 -18
  699. package/docs/tools/llm-task.md +1 -1
  700. package/docs/tools/lobster.md +11 -23
  701. package/docs/tools/skills-config.md +1 -1
  702. package/docs/tools/skills.md +21 -29
  703. package/docs/tools/slash-commands.md +8 -10
  704. package/docs/tools/web.md +6 -6
  705. package/docs/tts.md +9 -9
  706. package/docs/tui.md +7 -7
  707. package/docs/vps.md +1 -6
  708. package/docs/web/control-ui.md +12 -13
  709. package/docs/web/dashboard.md +4 -8
  710. package/docs/web/index.md +5 -6
  711. package/docs/web/webchat.md +1 -1
  712. package/extensions/bluebubbles/index.ts +2 -2
  713. package/extensions/bluebubbles/package.json +5 -5
  714. package/extensions/bluebubbles/src/accounts.ts +8 -8
  715. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  716. package/extensions/bluebubbles/src/actions.ts +5 -5
  717. package/extensions/bluebubbles/src/attachments.ts +2 -2
  718. package/extensions/bluebubbles/src/channel.ts +16 -16
  719. package/extensions/bluebubbles/src/chat.ts +2 -2
  720. package/extensions/bluebubbles/src/media-send.ts +2 -2
  721. package/extensions/bluebubbles/src/monitor.test.ts +49 -55
  722. package/extensions/bluebubbles/src/monitor.ts +5 -180
  723. package/extensions/bluebubbles/src/onboarding.ts +7 -7
  724. package/extensions/bluebubbles/src/reactions.ts +2 -2
  725. package/extensions/bluebubbles/src/send.ts +2 -2
  726. package/extensions/copilot-proxy/package.json +4 -4
  727. package/extensions/diagnostics-otel/index.ts +2 -2
  728. package/extensions/diagnostics-otel/package.json +4 -4
  729. package/extensions/diagnostics-otel/src/service.test.ts +12 -12
  730. package/extensions/diagnostics-otel/src/service.ts +84 -84
  731. package/extensions/discord/index.ts +2 -2
  732. package/extensions/discord/package.json +4 -4
  733. package/extensions/google-antigravity-auth/index.ts +1 -8
  734. package/extensions/google-antigravity-auth/package.json +4 -4
  735. package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
  736. package/extensions/google-gemini-cli-auth/package.json +4 -4
  737. package/extensions/googlechat/index.ts +3 -3
  738. package/extensions/googlechat/package.json +7 -7
  739. package/extensions/googlechat/src/accounts.ts +8 -8
  740. package/extensions/googlechat/src/actions.ts +6 -6
  741. package/extensions/googlechat/src/api.ts +1 -1
  742. package/extensions/googlechat/src/channel.ts +21 -21
  743. package/extensions/googlechat/src/monitor.ts +8 -8
  744. package/extensions/googlechat/src/onboarding.ts +10 -10
  745. package/extensions/imessage/index.ts +2 -2
  746. package/extensions/imessage/package.json +4 -4
  747. package/extensions/line/index.ts +2 -2
  748. package/extensions/line/package.json +6 -6
  749. package/extensions/line/src/card-command.ts +2 -2
  750. package/extensions/line/src/channel.logout.test.ts +4 -4
  751. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  752. package/extensions/line/src/channel.ts +4 -4
  753. package/extensions/llm-task/index.ts +2 -2
  754. package/extensions/llm-task/package.json +4 -4
  755. package/extensions/llm-task/src/llm-task-tool.ts +5 -5
  756. package/extensions/lobster/index.ts +2 -2
  757. package/extensions/lobster/package.json +3 -3
  758. package/extensions/lobster/src/lobster-tool.test.ts +6 -26
  759. package/extensions/lobster/src/lobster-tool.ts +6 -24
  760. package/extensions/matrix/CHANGELOG.md +9 -9
  761. package/extensions/matrix/index.ts +2 -2
  762. package/extensions/matrix/package.json +7 -7
  763. package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
  764. package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
  765. package/extensions/matrix/src/matrix/actions/room.ts +3 -3
  766. package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
  767. package/extensions/matrix/src/matrix/actions/types.ts +1 -1
  768. package/extensions/matrix/src/matrix/active-client.ts +1 -1
  769. package/extensions/matrix/src/matrix/client/config.ts +2 -2
  770. package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
  771. package/extensions/matrix/src/matrix/client/logging.ts +1 -1
  772. package/extensions/matrix/src/matrix/client/shared.ts +3 -3
  773. package/extensions/matrix/src/matrix/deps.ts +4 -4
  774. package/extensions/matrix/src/matrix/monitor/auto-join.ts +2 -2
  775. package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
  776. package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
  777. package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
  778. package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
  779. package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
  780. package/extensions/matrix/src/matrix/monitor/media.test.ts +2 -2
  781. package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
  782. package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
  783. package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
  784. package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
  785. package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
  786. package/extensions/matrix/src/matrix/probe.ts +1 -1
  787. package/extensions/matrix/src/matrix/send/client.ts +2 -2
  788. package/extensions/matrix/src/matrix/send/media.ts +1 -1
  789. package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
  790. package/extensions/matrix/src/matrix/send/targets.ts +1 -1
  791. package/extensions/matrix/src/matrix/send/types.ts +2 -2
  792. package/extensions/matrix/src/matrix/send.test.ts +2 -2
  793. package/extensions/matrix/src/matrix/send.ts +3 -3
  794. package/extensions/matrix/src/onboarding.ts +2 -2
  795. package/extensions/matrix/src/types.ts +1 -1
  796. package/extensions/mattermost/index.ts +2 -2
  797. package/extensions/mattermost/package.json +5 -5
  798. package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
  799. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  800. package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
  801. package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
  802. package/extensions/mattermost/src/onboarding.ts +3 -3
  803. package/extensions/memory-core/index.ts +2 -2
  804. package/extensions/memory-core/package.json +5 -5
  805. package/extensions/memory-lancedb/index.test.ts +2 -2
  806. package/extensions/memory-lancedb/index.ts +3 -3
  807. package/extensions/memory-lancedb/package.json +4 -4
  808. package/extensions/msteams/CHANGELOG.md +7 -7
  809. package/extensions/msteams/index.ts +2 -2
  810. package/extensions/msteams/package.json +6 -6
  811. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  812. package/extensions/msteams/src/channel.ts +2 -2
  813. package/extensions/msteams/src/conversation-store-fs.test.ts +1 -1
  814. package/extensions/msteams/src/graph-upload.ts +4 -4
  815. package/extensions/msteams/src/monitor-handler.ts +2 -2
  816. package/extensions/msteams/src/monitor.ts +2 -2
  817. package/extensions/msteams/src/onboarding.ts +9 -9
  818. package/extensions/msteams/src/policy.ts +3 -48
  819. package/extensions/msteams/src/polls-store.test.ts +1 -1
  820. package/extensions/msteams/src/polls.test.ts +2 -2
  821. package/extensions/msteams/src/polls.ts +8 -8
  822. package/extensions/msteams/src/reply-dispatcher.ts +35 -35
  823. package/extensions/msteams/src/send-context.ts +2 -2
  824. package/extensions/msteams/src/send.ts +4 -4
  825. package/extensions/nextcloud-talk/index.ts +2 -2
  826. package/extensions/nextcloud-talk/package.json +5 -5
  827. package/extensions/nextcloud-talk/src/channel.ts +7 -7
  828. package/extensions/nextcloud-talk/src/inbound.ts +7 -7
  829. package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
  830. package/extensions/nostr/CHANGELOG.md +4 -4
  831. package/extensions/nostr/index.ts +5 -5
  832. package/extensions/nostr/package.json +6 -6
  833. package/extensions/nostr/src/channel.ts +1 -1
  834. package/extensions/nostr/src/nostr-state-store.test.ts +1 -1
  835. package/extensions/nostr/src/types.ts +4 -4
  836. package/extensions/open-prose/index.ts +2 -2
  837. package/extensions/open-prose/package.json +3 -3
  838. package/extensions/open-prose/skills/prose/SKILL.md +5 -5
  839. package/extensions/open-prose/skills/prose/prose.md +4 -4
  840. package/extensions/signal/index.ts +2 -2
  841. package/extensions/signal/package.json +4 -4
  842. package/extensions/slack/index.ts +2 -2
  843. package/extensions/slack/package.json +4 -4
  844. package/extensions/telegram/index.ts +2 -2
  845. package/extensions/telegram/package.json +4 -4
  846. package/extensions/telegram/src/channel.ts +2 -2
  847. package/extensions/tlon/README.md +1 -1
  848. package/extensions/tlon/index.ts +2 -2
  849. package/extensions/tlon/package.json +5 -5
  850. package/extensions/tlon/src/channel.ts +13 -13
  851. package/extensions/tlon/src/monitor/index.ts +3 -3
  852. package/extensions/tlon/src/onboarding.ts +3 -3
  853. package/extensions/tlon/src/types.ts +3 -3
  854. package/extensions/tlon/src/urbit/send.ts +6 -19
  855. package/extensions/voice-call/CHANGELOG.md +12 -13
  856. package/extensions/voice-call/README.md +2 -3
  857. package/extensions/voice-call/clawdbot.plugin.json +3 -3
  858. package/extensions/voice-call/index.ts +9 -11
  859. package/extensions/voice-call/package.json +4 -4
  860. package/extensions/voice-call/src/cli.ts +1 -1
  861. package/extensions/voice-call/src/config.ts +4 -61
  862. package/extensions/voice-call/src/core-bridge.ts +8 -10
  863. package/extensions/voice-call/src/manager.test.ts +2 -2
  864. package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
  865. package/extensions/voice-call/src/providers/twilio.ts +2 -2
  866. package/extensions/voice-call/src/response-generator.ts +1 -1
  867. package/extensions/voice-call/src/runtime.ts +15 -26
  868. package/extensions/voice-call/src/types.ts +0 -1
  869. package/extensions/voice-call/src/webhook-security.test.ts +0 -52
  870. package/extensions/voice-call/src/webhook-security.ts +5 -16
  871. package/extensions/voice-call/src/webhook.ts +0 -1
  872. package/extensions/whatsapp/index.ts +2 -2
  873. package/extensions/whatsapp/package.json +4 -4
  874. package/extensions/zalo/CHANGELOG.md +9 -9
  875. package/extensions/zalo/index.ts +2 -2
  876. package/extensions/zalo/package.json +6 -6
  877. package/extensions/zalo/src/accounts.ts +8 -8
  878. package/extensions/zalo/src/actions.ts +4 -4
  879. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  880. package/extensions/zalo/src/channel.ts +18 -18
  881. package/extensions/zalo/src/monitor.ts +9 -9
  882. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  883. package/extensions/zalo/src/onboarding.ts +25 -25
  884. package/extensions/zalo/src/send.ts +2 -2
  885. package/extensions/zalouser/CHANGELOG.md +4 -4
  886. package/extensions/zalouser/index.ts +2 -2
  887. package/extensions/zalouser/package.json +6 -6
  888. package/extensions/zalouser/src/accounts.ts +9 -9
  889. package/extensions/zalouser/src/channel.ts +25 -25
  890. package/extensions/zalouser/src/monitor.ts +4 -4
  891. package/extensions/zalouser/src/onboarding.ts +30 -30
  892. package/extensions/zalouser/src/status-issues.ts +1 -1
  893. package/package.json +18 -17
  894. package/skills/1password/SKILL.md +3 -3
  895. package/skills/apple-notes/SKILL.md +2 -2
  896. package/skills/apple-reminders/SKILL.md +1 -1
  897. package/skills/bear-notes/SKILL.md +1 -1
  898. package/skills/bird/SKILL.md +1 -1
  899. package/skills/blogwatcher/SKILL.md +1 -1
  900. package/skills/blucli/SKILL.md +1 -1
  901. package/skills/bluebubbles/SKILL.md +1 -1
  902. package/skills/camsnap/SKILL.md +1 -1
  903. package/skills/canvas/SKILL.md +15 -15
  904. package/skills/clawdhub/SKILL.md +2 -2
  905. package/skills/coding-agent/SKILL.md +6 -6
  906. package/skills/discord/SKILL.md +5 -6
  907. package/skills/eightctl/SKILL.md +1 -1
  908. package/skills/food-order/SKILL.md +1 -1
  909. package/skills/gemini/SKILL.md +1 -1
  910. package/skills/gifgrep/SKILL.md +1 -1
  911. package/skills/github/SKILL.md +0 -1
  912. package/skills/gog/SKILL.md +1 -1
  913. package/skills/goplaces/SKILL.md +1 -1
  914. package/skills/himalaya/SKILL.md +1 -1
  915. package/skills/imsg/SKILL.md +1 -1
  916. package/skills/local-places/SKILL.md +1 -1
  917. package/skills/mcporter/SKILL.md +1 -1
  918. package/skills/model-usage/SKILL.md +1 -1
  919. package/skills/nano-banana-pro/SKILL.md +5 -10
  920. package/skills/nano-banana-pro/scripts/generate_image.py +27 -42
  921. package/skills/nano-pdf/SKILL.md +1 -1
  922. package/skills/notion/SKILL.md +1 -1
  923. package/skills/obsidian/SKILL.md +1 -1
  924. package/skills/openai-image-gen/SKILL.md +1 -1
  925. package/skills/openai-whisper/SKILL.md +1 -1
  926. package/skills/openai-whisper-api/SKILL.md +2 -2
  927. package/skills/openhue/SKILL.md +1 -1
  928. package/skills/oracle/SKILL.md +1 -1
  929. package/skills/ordercli/SKILL.md +1 -1
  930. package/skills/peekaboo/SKILL.md +1 -1
  931. package/skills/sag/SKILL.md +1 -1
  932. package/skills/session-logs/SKILL.md +1 -1
  933. package/skills/sherpa-onnx-tts/SKILL.md +2 -2
  934. package/skills/slack/SKILL.md +3 -4
  935. package/skills/songsee/SKILL.md +1 -1
  936. package/skills/sonoscli/SKILL.md +1 -1
  937. package/skills/spotify-player/SKILL.md +1 -1
  938. package/skills/summarize/SKILL.md +1 -1
  939. package/skills/things-mac/SKILL.md +3 -3
  940. package/skills/tmux/SKILL.md +7 -7
  941. package/skills/tmux/scripts/find-sessions.sh +1 -1
  942. package/skills/trello/SKILL.md +2 -2
  943. package/skills/video-frames/SKILL.md +1 -1
  944. package/skills/voice-call/SKILL.md +4 -4
  945. package/skills/wacli/SKILL.md +2 -2
  946. package/skills/weather/SKILL.md +1 -1
  947. package/LICENSE +0 -21
  948. package/dist/agents/moltbot-tools.js +0 -121
  949. package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +0 -20
  950. package/dist/browser/control-service.js +0 -72
  951. package/dist/browser/routes/dispatcher.js +0 -86
  952. package/dist/browser/routes/types.js +0 -1
  953. package/dist/cli/cli-name.js +0 -26
  954. package/dist/compat/legacy-names.js +0 -5
  955. package/dist/control-ui/assets/index-CIRDm-Lu.css +0 -1
  956. package/dist/control-ui/assets/index-HlBhZmfj.js.map +0 -1
  957. package/dist/discord/monitor/presence-cache.js +0 -38
  958. package/dist/gateway/server-methods/browser.js +0 -204
  959. package/dist/infra/fs-safe.js +0 -76
  960. package/dist/infra/moltbot-root.js +0 -57
  961. package/dist/line/signature.js +0 -11
  962. package/dist/security/external-content.js +0 -143
  963. package/dist/security/windows-acl.js +0 -162
  964. package/dist/telegram/api-logging.js +0 -24
  965. package/dist/telegram/network-config.js +0 -23
  966. package/dist/telegram/network-errors.js +0 -103
  967. package/dist/telegram/sticker-cache.js +0 -202
  968. package/docs/channels/line.md +0 -183
  969. package/docs/channels/twitch.md +0 -366
  970. package/docs/gateway/security/formal-verification.md +0 -107
  971. package/docs/install/migrating.md +0 -190
  972. package/docs/northflank.mdx +0 -53
  973. package/docs/platforms/digitalocean.md +0 -243
  974. package/docs/platforms/gcp.md +0 -498
  975. package/docs/platforms/oracle.md +0 -291
  976. package/docs/platforms/raspberry-pi.md +0 -354
  977. package/docs/providers/claude-max-api-proxy.md +0 -145
  978. package/docs/render.mdx +0 -158
  979. package/docs/security/formal-verification.md +0 -107
  980. package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
  981. package/extensions/line/node_modules/.bin/poolbot +0 -21
  982. package/extensions/matrix/node_modules/.bin/poolbot +0 -21
  983. package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
  984. package/extensions/msteams/node_modules/.bin/poolbot +0 -21
  985. package/extensions/nostr/node_modules/.bin/poolbot +0 -21
  986. package/extensions/twitch/CHANGELOG.md +0 -21
  987. package/extensions/twitch/README.md +0 -89
  988. package/extensions/twitch/clawdbot.plugin.json +0 -9
  989. package/extensions/twitch/index.ts +0 -20
  990. package/extensions/twitch/node_modules/.bin/poolbot +0 -21
  991. package/extensions/twitch/package.json +0 -20
  992. package/extensions/twitch/src/access-control.test.ts +0 -489
  993. package/extensions/twitch/src/access-control.ts +0 -154
  994. package/extensions/twitch/src/actions.ts +0 -173
  995. package/extensions/twitch/src/client-manager-registry.ts +0 -115
  996. package/extensions/twitch/src/config-schema.ts +0 -82
  997. package/extensions/twitch/src/config.test.ts +0 -88
  998. package/extensions/twitch/src/config.ts +0 -116
  999. package/extensions/twitch/src/monitor.ts +0 -257
  1000. package/extensions/twitch/src/onboarding.test.ts +0 -311
  1001. package/extensions/twitch/src/onboarding.ts +0 -411
  1002. package/extensions/twitch/src/outbound.test.ts +0 -373
  1003. package/extensions/twitch/src/outbound.ts +0 -186
  1004. package/extensions/twitch/src/plugin.test.ts +0 -39
  1005. package/extensions/twitch/src/plugin.ts +0 -274
  1006. package/extensions/twitch/src/probe.test.ts +0 -198
  1007. package/extensions/twitch/src/probe.ts +0 -118
  1008. package/extensions/twitch/src/resolver.ts +0 -137
  1009. package/extensions/twitch/src/runtime.ts +0 -14
  1010. package/extensions/twitch/src/send.test.ts +0 -289
  1011. package/extensions/twitch/src/send.ts +0 -136
  1012. package/extensions/twitch/src/status.test.ts +0 -270
  1013. package/extensions/twitch/src/status.ts +0 -176
  1014. package/extensions/twitch/src/token.test.ts +0 -171
  1015. package/extensions/twitch/src/token.ts +0 -87
  1016. package/extensions/twitch/src/twitch-client.test.ts +0 -574
  1017. package/extensions/twitch/src/twitch-client.ts +0 -277
  1018. package/extensions/twitch/src/types.ts +0 -141
  1019. package/extensions/twitch/src/utils/markdown.ts +0 -92
  1020. package/extensions/twitch/src/utils/twitch.ts +0 -78
  1021. package/extensions/twitch/test/setup.ts +0 -7
  1022. package/extensions/voice-call/src/config.test.ts +0 -204
  1023. package/extensions/zalo/node_modules/.bin/poolbot +0 -21
  1024. package/extensions/zalouser/node_modules/.bin/poolbot +0 -21
@@ -2,7 +2,6 @@ import { Bot, HttpError, InputFile } from "grammy";
2
2
  import { loadConfig } from "../config/config.js";
3
3
  import { logVerbose } from "../globals.js";
4
4
  import { recordChannelActivity } from "../infra/channel-activity.js";
5
- import { withTelegramApiErrorLogging } from "./api-logging.js";
6
5
  import { formatErrorMessage, formatUncaughtError } from "../infra/errors.js";
7
6
  import { isDiagnosticFlagEnabled } from "../infra/diagnostic-flags.js";
8
7
  import { createTelegramRetryRunner } from "../infra/retry-policy.js";
@@ -16,7 +15,6 @@ import { resolveTelegramFetch } from "./fetch.js";
16
15
  import { makeProxyFetch } from "./proxy.js";
17
16
  import { renderTelegramHtmlText } from "./format.js";
18
17
  import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
19
- import { isRecoverableTelegramNetworkError } from "./network-errors.js";
20
18
  import { splitTelegramCaption } from "./caption.js";
21
19
  import { recordSentMessage } from "./sent-message-cache.js";
22
20
  import { parseTelegramTarget, stripTelegramInternalPrefixes } from "./targets.js";
@@ -39,9 +37,7 @@ function createTelegramHttpLogger(cfg) {
39
37
  function resolveTelegramClientOptions(account) {
40
38
  const proxyUrl = account.config.proxy?.trim();
41
39
  const proxyFetch = proxyUrl ? makeProxyFetch(proxyUrl) : undefined;
42
- const fetchImpl = resolveTelegramFetch(proxyFetch, {
43
- network: account.config.network,
44
- });
40
+ const fetchImpl = resolveTelegramFetch(proxyFetch);
45
41
  const timeoutSeconds = typeof account.config.timeoutSeconds === "number" &&
46
42
  Number.isFinite(account.config.timeoutSeconds)
47
43
  ? Math.max(1, Math.floor(account.config.timeoutSeconds))
@@ -144,13 +140,9 @@ export async function sendMessageTelegram(to, text, opts = {}) {
144
140
  retry: opts.retry,
145
141
  configRetry: account.config.retry,
146
142
  verbose: opts.verbose,
147
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" }),
148
143
  });
149
144
  const logHttpError = createTelegramHttpLogger(cfg);
150
- const requestWithDiag = (fn, label) => withTelegramApiErrorLogging({
151
- operation: label ?? "request",
152
- fn: () => request(fn, label),
153
- }).catch((err) => {
145
+ const requestWithDiag = (fn, label) => request(fn, label).catch((err) => {
154
146
  logHttpError(label ?? "request", err);
155
147
  throw err;
156
148
  });
@@ -183,7 +175,6 @@ export async function sendMessageTelegram(to, text, opts = {}) {
183
175
  const sendParams = {
184
176
  parse_mode: "HTML",
185
177
  ...baseParams,
186
- ...(opts.silent === true ? { disable_notification: true } : {}),
187
178
  };
188
179
  const res = await requestWithDiag(() => api.sendMessage(chatId, htmlText, sendParams), "message").catch(async (err) => {
189
180
  // Telegram rejects malformed HTML (e.g., unsupported tags or entities).
@@ -229,7 +220,6 @@ export async function sendMessageTelegram(to, text, opts = {}) {
229
220
  caption: htmlCaption,
230
221
  ...(htmlCaption ? { parse_mode: "HTML" } : {}),
231
222
  ...baseMediaParams,
232
- ...(opts.silent === true ? { disable_notification: true } : {}),
233
223
  };
234
224
  let result;
235
225
  if (isGif) {
@@ -334,13 +324,9 @@ export async function reactMessageTelegram(chatIdInput, messageIdInput, emoji, o
334
324
  retry: opts.retry,
335
325
  configRetry: account.config.retry,
336
326
  verbose: opts.verbose,
337
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" }),
338
327
  });
339
328
  const logHttpError = createTelegramHttpLogger(cfg);
340
- const requestWithDiag = (fn, label) => withTelegramApiErrorLogging({
341
- operation: label ?? "request",
342
- fn: () => request(fn, label),
343
- }).catch((err) => {
329
+ const requestWithDiag = (fn, label) => request(fn, label).catch((err) => {
344
330
  logHttpError(label ?? "request", err);
345
331
  throw err;
346
332
  });
@@ -372,13 +358,9 @@ export async function deleteMessageTelegram(chatIdInput, messageIdInput, opts =
372
358
  retry: opts.retry,
373
359
  configRetry: account.config.retry,
374
360
  verbose: opts.verbose,
375
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" }),
376
361
  });
377
362
  const logHttpError = createTelegramHttpLogger(cfg);
378
- const requestWithDiag = (fn, label) => withTelegramApiErrorLogging({
379
- operation: label ?? "request",
380
- fn: () => request(fn, label),
381
- }).catch((err) => {
363
+ const requestWithDiag = (fn, label) => request(fn, label).catch((err) => {
382
364
  logHttpError(label ?? "request", err);
383
365
  throw err;
384
366
  });
@@ -386,70 +368,6 @@ export async function deleteMessageTelegram(chatIdInput, messageIdInput, opts =
386
368
  logVerbose(`[telegram] Deleted message ${messageId} from chat ${chatId}`);
387
369
  return { ok: true };
388
370
  }
389
- export async function editMessageTelegram(chatIdInput, messageIdInput, text, opts = {}) {
390
- const cfg = opts.cfg ?? loadConfig();
391
- const account = resolveTelegramAccount({
392
- cfg,
393
- accountId: opts.accountId,
394
- });
395
- const token = resolveToken(opts.token, account);
396
- const chatId = normalizeChatId(String(chatIdInput));
397
- const messageId = normalizeMessageId(messageIdInput);
398
- const client = resolveTelegramClientOptions(account);
399
- const api = opts.api ?? new Bot(token, client ? { client } : undefined).api;
400
- const request = createTelegramRetryRunner({
401
- retry: opts.retry,
402
- configRetry: account.config.retry,
403
- verbose: opts.verbose,
404
- });
405
- const logHttpError = createTelegramHttpLogger(cfg);
406
- const requestWithDiag = (fn, label) => withTelegramApiErrorLogging({
407
- operation: label ?? "request",
408
- fn: () => request(fn, label),
409
- }).catch((err) => {
410
- logHttpError(label ?? "request", err);
411
- throw err;
412
- });
413
- const textMode = opts.textMode ?? "markdown";
414
- const tableMode = resolveMarkdownTableMode({
415
- cfg,
416
- channel: "telegram",
417
- accountId: account.accountId,
418
- });
419
- const htmlText = renderTelegramHtmlText(text, { textMode, tableMode });
420
- // Reply markup semantics:
421
- // - buttons === undefined → don't send reply_markup (keep existing)
422
- // - buttons is [] (or filters to empty) → send { inline_keyboard: [] } (remove)
423
- // - otherwise → send built inline keyboard
424
- const shouldTouchButtons = opts.buttons !== undefined;
425
- const builtKeyboard = shouldTouchButtons ? buildInlineKeyboard(opts.buttons) : undefined;
426
- const replyMarkup = shouldTouchButtons ? (builtKeyboard ?? { inline_keyboard: [] }) : undefined;
427
- const editParams = {
428
- parse_mode: "HTML",
429
- };
430
- if (replyMarkup !== undefined) {
431
- editParams.reply_markup = replyMarkup;
432
- }
433
- await requestWithDiag(() => api.editMessageText(chatId, messageId, htmlText, editParams), "editMessage").catch(async (err) => {
434
- // Telegram rejects malformed HTML. Fall back to plain text.
435
- const errText = formatErrorMessage(err);
436
- if (PARSE_ERR_RE.test(errText)) {
437
- if (opts.verbose) {
438
- console.warn(`telegram HTML parse failed, retrying as plain text: ${errText}`);
439
- }
440
- const plainParams = {};
441
- if (replyMarkup !== undefined) {
442
- plainParams.reply_markup = replyMarkup;
443
- }
444
- return await requestWithDiag(() => Object.keys(plainParams).length > 0
445
- ? api.editMessageText(chatId, messageId, text, plainParams)
446
- : api.editMessageText(chatId, messageId, text), "editMessage-plain");
447
- }
448
- throw err;
449
- });
450
- logVerbose(`[telegram] Edited message ${messageId} in chat ${chatId}`);
451
- return { ok: true, messageId: String(messageId), chatId };
452
- }
453
371
  function inferFilename(kind) {
454
372
  switch (kind) {
455
373
  case "image":
@@ -462,65 +380,3 @@ function inferFilename(kind) {
462
380
  return "file.bin";
463
381
  }
464
382
  }
465
- /**
466
- * Send a sticker to a Telegram chat by file_id.
467
- * @param to - Chat ID or username (e.g., "123456789" or "@username")
468
- * @param fileId - Telegram file_id of the sticker to send
469
- * @param opts - Optional configuration
470
- */
471
- export async function sendStickerTelegram(to, fileId, opts = {}) {
472
- if (!fileId?.trim()) {
473
- throw new Error("Telegram sticker file_id is required");
474
- }
475
- const cfg = loadConfig();
476
- const account = resolveTelegramAccount({
477
- cfg,
478
- accountId: opts.accountId,
479
- });
480
- const token = resolveToken(opts.token, account);
481
- const target = parseTelegramTarget(to);
482
- const chatId = normalizeChatId(target.chatId);
483
- const client = resolveTelegramClientOptions(account);
484
- const api = opts.api ?? new Bot(token, client ? { client } : undefined).api;
485
- const messageThreadId = opts.messageThreadId != null ? opts.messageThreadId : target.messageThreadId;
486
- const threadIdParams = buildTelegramThreadParams(messageThreadId);
487
- const threadParams = threadIdParams ? { ...threadIdParams } : {};
488
- if (opts.replyToMessageId != null) {
489
- threadParams.reply_to_message_id = Math.trunc(opts.replyToMessageId);
490
- }
491
- const hasThreadParams = Object.keys(threadParams).length > 0;
492
- const request = createTelegramRetryRunner({
493
- retry: opts.retry,
494
- configRetry: account.config.retry,
495
- verbose: opts.verbose,
496
- });
497
- const logHttpError = createTelegramHttpLogger(cfg);
498
- const requestWithDiag = (fn, label) => request(fn, label).catch((err) => {
499
- logHttpError(label ?? "request", err);
500
- throw err;
501
- });
502
- const wrapChatNotFound = (err) => {
503
- if (!/400: Bad Request: chat not found/i.test(formatErrorMessage(err)))
504
- return err;
505
- return new Error([
506
- `Telegram send failed: chat not found (chat_id=${chatId}).`,
507
- "Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.",
508
- `Input was: ${JSON.stringify(to)}.`,
509
- ].join(" "));
510
- };
511
- const stickerParams = hasThreadParams ? threadParams : undefined;
512
- const result = await requestWithDiag(() => api.sendSticker(chatId, fileId.trim(), stickerParams), "sticker").catch((err) => {
513
- throw wrapChatNotFound(err);
514
- });
515
- const messageId = String(result?.message_id ?? "unknown");
516
- const resolvedChatId = String(result?.chat?.id ?? chatId);
517
- if (result?.message_id) {
518
- recordSentMessage(chatId, result.message_id);
519
- }
520
- recordChannelActivity({
521
- channel: "telegram",
522
- accountId: account.accountId,
523
- direction: "outbound",
524
- });
525
- return { messageId, chatId: resolvedChatId };
526
- }
@@ -1,28 +1,21 @@
1
1
  import { Bot } from "grammy";
2
2
  import { resolveTelegramFetch } from "./fetch.js";
3
- import { withTelegramApiErrorLogging } from "./api-logging.js";
4
3
  export async function setTelegramWebhook(opts) {
5
- const fetchImpl = resolveTelegramFetch(undefined, { network: opts.network });
4
+ const fetchImpl = resolveTelegramFetch();
6
5
  const client = fetchImpl
7
6
  ? { fetch: fetchImpl }
8
7
  : undefined;
9
8
  const bot = new Bot(opts.token, client ? { client } : undefined);
10
- await withTelegramApiErrorLogging({
11
- operation: "setWebhook",
12
- fn: () => bot.api.setWebhook(opts.url, {
13
- secret_token: opts.secret,
14
- drop_pending_updates: opts.dropPendingUpdates ?? false,
15
- }),
9
+ await bot.api.setWebhook(opts.url, {
10
+ secret_token: opts.secret,
11
+ drop_pending_updates: opts.dropPendingUpdates ?? false,
16
12
  });
17
13
  }
18
14
  export async function deleteTelegramWebhook(opts) {
19
- const fetchImpl = resolveTelegramFetch(undefined, { network: opts.network });
15
+ const fetchImpl = resolveTelegramFetch();
20
16
  const client = fetchImpl
21
17
  ? { fetch: fetchImpl }
22
18
  : undefined;
23
19
  const bot = new Bot(opts.token, client ? { client } : undefined);
24
- await withTelegramApiErrorLogging({
25
- operation: "deleteWebhook",
26
- fn: () => bot.api.deleteWebhook(),
27
- });
20
+ await bot.api.deleteWebhook();
28
21
  }
@@ -6,7 +6,6 @@ import { defaultRuntime } from "../runtime.js";
6
6
  import { logWebhookError, logWebhookProcessed, logWebhookReceived, startDiagnosticHeartbeat, stopDiagnosticHeartbeat, } from "../logging/diagnostic.js";
7
7
  import { resolveTelegramAllowedUpdates } from "./allowed-updates.js";
8
8
  import { createTelegramBot } from "./bot.js";
9
- import { withTelegramApiErrorLogging } from "./api-logging.js";
10
9
  export async function startTelegramWebhook(opts) {
11
10
  const path = opts.path ?? "/telegram-webhook";
12
11
  const healthPath = opts.healthPath ?? "/healthz";
@@ -71,13 +70,9 @@ export async function startTelegramWebhook(opts) {
71
70
  }
72
71
  });
73
72
  const publicUrl = opts.publicUrl ?? `http://${host === "0.0.0.0" ? "localhost" : host}:${port}${path}`;
74
- await withTelegramApiErrorLogging({
75
- operation: "setWebhook",
76
- runtime,
77
- fn: () => bot.api.setWebhook(publicUrl, {
78
- secret_token: opts.secret,
79
- allowed_updates: resolveTelegramAllowedUpdates(),
80
- }),
73
+ await bot.api.setWebhook(publicUrl, {
74
+ secret_token: opts.secret,
75
+ allowed_updates: resolveTelegramAllowedUpdates(),
81
76
  });
82
77
  await new Promise((resolve) => server.listen(port, host, resolve));
83
78
  runtime.log?.(`webhook listening on ${publicUrl}`);
@@ -1,5 +1,5 @@
1
1
  import { formatTerminalLink } from "../utils.js";
2
- export const DOCS_ROOT = "https://docs.molt.bot";
2
+ export const DOCS_ROOT = "https://docs.clawd.bot";
3
3
  export function formatDocsLink(path, label, opts) {
4
4
  const trimmed = path.trim();
5
5
  const url = trimmed.startsWith("http")
package/dist/tts/tts.js CHANGED
@@ -13,7 +13,7 @@ import { resolveModel } from "../agents/pi-embedded-runner/model.js";
13
13
  const DEFAULT_TIMEOUT_MS = 30_000;
14
14
  const DEFAULT_TTS_MAX_LENGTH = 1500;
15
15
  const DEFAULT_TTS_SUMMARIZE = true;
16
- const DEFAULT_MAX_TEXT_LENGTH = 4096;
16
+ const DEFAULT_MAX_TEXT_LENGTH = 4000;
17
17
  const TEMP_FILE_CLEANUP_DELAY_MS = 5 * 60 * 1000; // 5 minutes
18
18
  const DEFAULT_ELEVENLABS_BASE_URL = "https://api.elevenlabs.io";
19
19
  const DEFAULT_ELEVENLABS_VOICE_ID = "pMsXgVXv3BLzUgSXRplE";
@@ -1085,33 +1085,29 @@ export async function maybeApplyTtsToPayload(params) {
1085
1085
  let wasSummarized = false;
1086
1086
  if (textForAudio.length > maxLength) {
1087
1087
  if (!isSummarizationEnabled(prefsPath)) {
1088
- // Truncate text when summarization is disabled
1089
- logVerbose(`TTS: truncating long text (${textForAudio.length} > ${maxLength}), summarization disabled.`);
1090
- textForAudio = `${textForAudio.slice(0, maxLength - 3)}...`;
1088
+ logVerbose(`TTS: skipping long text (${textForAudio.length} > ${maxLength}), summarization disabled.`);
1089
+ return nextPayload;
1091
1090
  }
1092
- else {
1093
- // Summarize text when enabled
1094
- try {
1095
- const summary = await summarizeText({
1096
- text: textForAudio,
1097
- targetLength: maxLength,
1098
- cfg: params.cfg,
1099
- config,
1100
- timeoutMs: config.timeoutMs,
1101
- });
1102
- textForAudio = summary.summary;
1103
- wasSummarized = true;
1104
- if (textForAudio.length > config.maxTextLength) {
1105
- logVerbose(`TTS: summary exceeded hard limit (${textForAudio.length} > ${config.maxTextLength}); truncating.`);
1106
- textForAudio = `${textForAudio.slice(0, config.maxTextLength - 3)}...`;
1107
- }
1108
- }
1109
- catch (err) {
1110
- const error = err;
1111
- logVerbose(`TTS: summarization failed, truncating instead: ${error.message}`);
1112
- textForAudio = `${textForAudio.slice(0, maxLength - 3)}...`;
1091
+ try {
1092
+ const summary = await summarizeText({
1093
+ text: textForAudio,
1094
+ targetLength: maxLength,
1095
+ cfg: params.cfg,
1096
+ config,
1097
+ timeoutMs: config.timeoutMs,
1098
+ });
1099
+ textForAudio = summary.summary;
1100
+ wasSummarized = true;
1101
+ if (textForAudio.length > config.maxTextLength) {
1102
+ logVerbose(`TTS: summary exceeded hard limit (${textForAudio.length} > ${config.maxTextLength}); truncating.`);
1103
+ textForAudio = `${textForAudio.slice(0, config.maxTextLength - 3)}...`;
1113
1104
  }
1114
1105
  }
1106
+ catch (err) {
1107
+ const error = err;
1108
+ logVerbose(`TTS: summarization failed: ${error.message}`);
1109
+ return nextPayload;
1110
+ }
1115
1111
  }
1116
1112
  const ttsStart = Date.now();
1117
1113
  const result = await textToSpeech({
@@ -1132,12 +1128,11 @@ export async function maybeApplyTtsToPayload(params) {
1132
1128
  };
1133
1129
  const channelId = resolveChannelId(params.channel);
1134
1130
  const shouldVoice = channelId === "telegram" && result.voiceCompatible === true;
1135
- const finalPayload = {
1131
+ return {
1136
1132
  ...nextPayload,
1137
1133
  mediaUrl: result.audioPath,
1138
1134
  audioAsVoice: shouldVoice || params.payload.audioAsVoice,
1139
1135
  };
1140
- return finalPayload;
1141
1136
  }
1142
1137
  lastTtsAttempt = {
1143
1138
  timestamp: Date.now(),
@@ -42,7 +42,7 @@ export class FilterableSelectList {
42
42
  const inputText = inputLines[0] ?? "";
43
43
  lines.push(filterLabel + inputText);
44
44
  // Separator
45
- lines.push(chalk.dim("─".repeat(Math.max(0, width))));
45
+ lines.push(chalk.dim("─".repeat(width)));
46
46
  // Select list
47
47
  const listLines = this.selectList.render(width);
48
48
  lines.push(...listLines);
@@ -159,8 +159,7 @@ export class SearchableSelectList {
159
159
  const maxValueWidth = Math.min(30, width - prefixWidth - 4);
160
160
  const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
161
161
  const valueText = this.highlightMatch(truncatedValue, query);
162
- const spacingWidth = Math.max(1, 32 - visibleWidth(valueText));
163
- const spacing = " ".repeat(spacingWidth);
162
+ const spacing = " ".repeat(Math.max(1, 32 - visibleWidth(valueText)));
164
163
  const descriptionStart = prefixWidth + visibleWidth(valueText) + spacing.length;
165
164
  const remainingWidth = width - descriptionStart - 2;
166
165
  if (remainingWidth > 10) {
@@ -25,7 +25,7 @@ export class GatewayChatClient {
25
25
  token: resolved.token,
26
26
  password: resolved.password,
27
27
  clientName: GATEWAY_CLIENT_NAMES.GATEWAY_CLIENT,
28
- clientDisplayName: "moltbot-tui",
28
+ clientDisplayName: "clawdbot-tui",
29
29
  clientVersion: VERSION,
30
30
  platform: process.platform,
31
31
  mode: GATEWAY_CLIENT_MODES.UI,
package/dist/tui/tui.js CHANGED
@@ -241,7 +241,7 @@ export async function runTui(opts) {
241
241
  const updateHeader = () => {
242
242
  const sessionLabel = formatSessionKey(currentSessionKey);
243
243
  const agentLabel = formatAgentLabel(currentAgentId);
244
- header.setText(theme.header(`moltbot tui - ${client.connection.url} - agent ${agentLabel} - session ${sessionLabel}`));
244
+ header.setText(theme.header(`clawdbot tui - ${client.connection.url} - agent ${agentLabel} - session ${sessionLabel}`));
245
245
  };
246
246
  const busyStates = new Set(["sending", "waiting", "streaming", "running"]);
247
247
  let statusText = null;
package/dist/version.js CHANGED
@@ -9,7 +9,7 @@ function readVersionFromPackageJson() {
9
9
  return null;
10
10
  }
11
11
  }
12
- // Single source of truth for the current moltbot version.
12
+ // Single source of truth for the current clawdbot version.
13
13
  // - Embedded/bundled builds: injected define or env var.
14
14
  // - Dev/npm builds: package.json.
15
15
  export const VERSION = (typeof __CLAWDBOT_VERSION__ === "string" && __CLAWDBOT_VERSION__) ||
@@ -9,7 +9,7 @@ export function requireActiveWebListener(accountId) {
9
9
  const id = resolveWebAccountId(accountId);
10
10
  const listener = listeners.get(id) ?? null;
11
11
  if (!listener) {
12
- throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`moltbot channels login --channel whatsapp --account ${id}`)}.`);
12
+ throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`clawdbot channels login --channel whatsapp --account ${id}`)}.`);
13
13
  }
14
14
  return { accountId: id, listener };
15
15
  }
@@ -162,7 +162,7 @@ export async function pickWebChannel(pref, authDir = resolveDefaultWebAuthDir())
162
162
  const choice = pref === "auto" ? "web" : pref;
163
163
  const hasWeb = await webAuthExists(authDir);
164
164
  if (!hasWeb) {
165
- throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("moltbot channels login --channel whatsapp --verbose")}\` to link.`);
165
+ throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("clawdbot channels login --channel whatsapp --verbose")}\` to link.`);
166
166
  }
167
167
  return choice;
168
168
  }
@@ -177,7 +177,7 @@ export async function processMessage(params) {
177
177
  normalizeE164(params.msg.from) === normalizeE164(params.msg.selfE164 ?? "");
178
178
  const responsePrefix = prefixContext.responsePrefix ??
179
179
  (configuredResponsePrefix === undefined && isSelfChat
180
- ? (resolveIdentityNamePrefix(params.cfg, params.route.agentId) ?? "[moltbot]")
180
+ ? (resolveIdentityNamePrefix(params.cfg, params.route.agentId) ?? "[clawdbot]")
181
181
  : undefined);
182
182
  const ctxPayload = finalizeInboundContext({
183
183
  Body: combinedBody,
@@ -312,7 +312,7 @@ export async function monitorWebChannel(verbose, listenerFactory = monitorWebInb
312
312
  sessionKey: connectRoute.sessionKey,
313
313
  });
314
314
  if (loggedOut) {
315
- runtime.error(`WhatsApp session logged out. Run \`${formatCliCommand("moltbot channels login --channel web")}\` to relink.`);
315
+ runtime.error(`WhatsApp session logged out. Run \`${formatCliCommand("clawdbot channels login --channel web")}\` to relink.`);
316
316
  await closeListener();
317
317
  break;
318
318
  }
package/dist/web/login.js CHANGED
@@ -47,7 +47,7 @@ export async function loginWeb(verbose, waitForConnection, runtime = defaultRunt
47
47
  isLegacyAuthDir: account.isLegacyAuthDir,
48
48
  runtime,
49
49
  });
50
- console.error(danger(`WhatsApp reported the session is logged out. Cleared cached web session; please rerun ${formatCliCommand("moltbot channels login")} and scan the QR again.`));
50
+ console.error(danger(`WhatsApp reported the session is logged out. Cleared cached web session; please rerun ${formatCliCommand("clawdbot channels login")} and scan the QR again.`));
51
51
  throw new Error("Session logged out; cache cleared. Re-run login.");
52
52
  }
53
53
  const formatted = formatError(err);
@@ -80,7 +80,7 @@ export async function createWaSocket(printQr, verbose, opts = {}) {
80
80
  version,
81
81
  logger,
82
82
  printQRInTerminal: false,
83
- browser: ["moltbot", "cli", VERSION],
83
+ browser: ["clawdbot", "cli", VERSION],
84
84
  syncFullHistory: false,
85
85
  markOnlineOnConnect: false,
86
86
  });
@@ -98,7 +98,7 @@ export async function createWaSocket(printQr, verbose, opts = {}) {
98
98
  if (connection === "close") {
99
99
  const status = getStatusCode(lastDisconnect?.error);
100
100
  if (status === DisconnectReason.loggedOut) {
101
- console.error(danger(`WhatsApp session logged out. Run: ${formatCliCommand("moltbot channels login")}`));
101
+ console.error(danger(`WhatsApp session logged out. Run: ${formatCliCommand("clawdbot channels login")}`));
102
102
  }
103
103
  }
104
104
  if (connection === "open" && verbose) {
@@ -218,9 +218,9 @@ export async function finalizeOnboardingWizard(options) {
218
218
  }
219
219
  await prompter.note([
220
220
  "Gateway token: shared auth for the Gateway + Control UI.",
221
- "Stored in: ~/.clawdbot/moltbot.json (gateway.auth.token) or CLAWDBOT_GATEWAY_TOKEN.",
222
- "Web UI stores a copy in this browser's localStorage (moltbot.control.settings.v1).",
223
- `Get the tokenized link anytime: ${formatCliCommand("moltbot dashboard --no-open")}`,
221
+ "Stored in: ~/.clawdbot/clawdbot.json (gateway.auth.token) or CLAWDBOT_GATEWAY_TOKEN.",
222
+ "Web UI stores a copy in this browser's localStorage (clawdbot.control.settings.v1).",
223
+ `Get the tokenized link anytime: ${formatCliCommand("clawdbot dashboard --no-open")}`,
224
224
  ].join("\n"), "Token");
225
225
  hatchChoice = (await prompter.select({
226
226
  message: "How do you want to hatch your bot?",
@@ -244,7 +244,7 @@ export async function finalizeOnboardingWizard(options) {
244
244
  seededInBackground = await openUrlInBackground(authedUrl);
245
245
  }
246
246
  if (seededInBackground) {
247
- await prompter.note(`Web UI seeded in the background. Open later with: ${formatCliCommand("moltbot dashboard --no-open")}`, "Web UI");
247
+ await prompter.note(`Web UI seeded in the background. Open later with: ${formatCliCommand("clawdbot dashboard --no-open")}`, "Web UI");
248
248
  }
249
249
  }
250
250
  else if (hatchChoice === "web") {
@@ -269,15 +269,15 @@ export async function finalizeOnboardingWizard(options) {
269
269
  await prompter.note([
270
270
  `Dashboard link (with token): ${authedUrl}`,
271
271
  controlUiOpened
272
- ? "Opened in your browser. Keep that tab to control Moltbot."
273
- : "Copy/paste this URL in a browser on this machine to control Moltbot.",
272
+ ? "Opened in your browser. Keep that tab to control Clawdbot."
273
+ : "Copy/paste this URL in a browser on this machine to control Clawdbot.",
274
274
  controlUiOpenHint,
275
275
  ]
276
276
  .filter(Boolean)
277
277
  .join("\n"), "Dashboard ready");
278
278
  }
279
279
  else {
280
- await prompter.note(`When you're ready: ${formatCliCommand("moltbot dashboard --no-open")}`, "Later");
280
+ await prompter.note(`When you're ready: ${formatCliCommand("clawdbot dashboard --no-open")}`, "Later");
281
281
  }
282
282
  }
283
283
  else if (opts.skipUi) {
@@ -311,8 +311,8 @@ export async function finalizeOnboardingWizard(options) {
311
311
  await prompter.note([
312
312
  `Dashboard link (with token): ${authedUrl}`,
313
313
  controlUiOpened
314
- ? "Opened in your browser. Keep that tab to control Moltbot."
315
- : "Copy/paste this URL in a browser on this machine to control Moltbot.",
314
+ ? "Opened in your browser. Keep that tab to control Clawdbot."
315
+ : "Copy/paste this URL in a browser on this machine to control Clawdbot.",
316
316
  controlUiOpenHint,
317
317
  ]
318
318
  .filter(Boolean)
@@ -333,19 +333,19 @@ export async function finalizeOnboardingWizard(options) {
333
333
  : [
334
334
  "If you want your agent to be able to search the web, you’ll need an API key.",
335
335
  "",
336
- "Moltbot uses Brave Search for the `web_search` tool. Without a Brave Search API key, web search won’t work.",
336
+ "Clawdbot uses Brave Search for the `web_search` tool. Without a Brave Search API key, web search won’t work.",
337
337
  "",
338
338
  "Set it up interactively:",
339
- `- Run: ${formatCliCommand("moltbot configure --section web")}`,
339
+ `- Run: ${formatCliCommand("clawdbot configure --section web")}`,
340
340
  "- Enable web_search and paste your Brave Search API key",
341
341
  "",
342
342
  "Alternative: set BRAVE_API_KEY in the Gateway environment (no config changes).",
343
343
  "Docs: https://docs.clawd.bot/tools/web",
344
344
  ].join("\n"), "Web search (optional)");
345
- await prompter.note('What now: https://molt.bot/showcase ("What People Are Building").', "What now");
345
+ await prompter.note('What now: https://clawd.bot/showcase ("What People Are Building").', "What now");
346
346
  await prompter.outro(controlUiOpened
347
- ? "Onboarding complete. Dashboard opened with your token; keep that tab to control Moltbot."
347
+ ? "Onboarding complete. Dashboard opened with your token; keep that tab to control Clawdbot."
348
348
  : seededInBackground
349
349
  ? "Onboarding complete. Web UI seeded in the background; open it anytime with the tokenized link above."
350
- : "Onboarding complete. Use the tokenized dashboard link above to control Moltbot.");
350
+ : "Onboarding complete. Use the tokenized dashboard link above to control Clawdbot.");
351
351
  }
@@ -53,6 +53,11 @@ export async function configureGatewayForOnboarding(opts) {
53
53
  : (await prompter.select({
54
54
  message: "Gateway auth",
55
55
  options: [
56
+ {
57
+ value: "off",
58
+ label: "Off (loopback only)",
59
+ hint: "Not recommended unless you fully trust local processes",
60
+ },
56
61
  {
57
62
  value: "token",
58
63
  label: "Token",
@@ -95,7 +100,7 @@ export async function configureGatewayForOnboarding(opts) {
95
100
  }
96
101
  let tailscaleResetOnExit = flow === "quickstart" ? quickstartGateway.tailscaleResetOnExit : false;
97
102
  if (tailscaleMode !== "off" && flow !== "quickstart") {
98
- await prompter.note(["Docs:", "https://docs.molt.bot/gateway/tailscale", "https://docs.molt.bot/web"].join("\n"), "Tailscale");
103
+ await prompter.note(["Docs:", "https://docs.clawd.bot/gateway/tailscale", "https://docs.clawd.bot/web"].join("\n"), "Tailscale");
99
104
  tailscaleResetOnExit = Boolean(await prompter.confirm({
100
105
  message: "Reset Tailscale serve/funnel on exit?",
101
106
  initialValue: false,
@@ -103,12 +108,17 @@ export async function configureGatewayForOnboarding(opts) {
103
108
  }
104
109
  // Safety + constraints:
105
110
  // - Tailscale wants bind=loopback so we never expose a non-loopback server + tailscale serve/funnel at once.
111
+ // - Auth off only allowed for bind=loopback.
106
112
  // - Funnel requires password auth.
107
113
  if (tailscaleMode !== "off" && bind !== "loopback") {
108
114
  await prompter.note("Tailscale requires bind=loopback. Adjusting bind to loopback.", "Note");
109
115
  bind = "loopback";
110
116
  customBindHost = undefined;
111
117
  }
118
+ if (authMode === "off" && bind !== "loopback") {
119
+ await prompter.note("Non-loopback bind requires auth. Switching to token auth.", "Note");
120
+ authMode = "token";
121
+ }
112
122
  if (tailscaleMode === "funnel" && authMode !== "password") {
113
123
  await prompter.note("Tailscale funnel requires password auth.", "Note");
114
124
  authMode = "password";