@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
package/README.md CHANGED
@@ -2,22 +2,25 @@
2
2
 
3
3
  > Your AI pool of knowledge
4
4
 
5
- **Pool Bot** is a professional AI assistant with advanced PLCODE integrations and development-focused features.
5
+ **Pool Bot** is a professional AI assistant built on the robust [Clawdbot](https://github.com/clawdbot/clawdbot) framework, customized with advanced PLCODE integrations and development-focused features.
6
6
 
7
7
  ![Pool Bot](README-header.png)
8
8
 
9
9
  ## 🌟 What Makes Pool Bot Different
10
10
 
11
11
  - 🎱 **PLCODE Integration** - Native support for coding workflows
12
- - 🧠 **Enhanced Memory** - Advanced context management
12
+ - 🧠 **Enhanced Memory** - Advanced context management
13
13
  - 🛠️ **Developer Tools** - Built for development teams
14
14
  - 🔒 **Private & Secure** - Your data, your control
15
- - 🌐 **Multi-Channel Support** - WhatsApp, Telegram, Discord, Slack, Signal, and more
15
+
16
+ ## Based on Clawdbot
17
+
18
+ Pool Bot is built on the excellent [Clawdbot](https://github.com/clawdbot/clawdbot) framework by Peter Steinberger (MIT License). We maintain compatibility with upstream updates while adding our own enhancements.
16
19
 
17
20
  ## Installation
18
21
 
19
22
  ```bash
20
- npm install -g @poolzin/pool-bot
23
+ npm install -g pool-bot
21
24
  poolbot --help
22
25
  ```
23
26
 
@@ -46,38 +49,12 @@ poolbot status
46
49
 
47
50
  ## Documentation
48
51
 
49
- Full documentation is available at [docs.clawd.bot](https://docs.clawd.bot)
50
-
51
- ## Skills
52
-
53
- Pool Bot supports an extensible skills system:
54
-
55
- - 🎮 **WebGPU Three.js TSL** - 3D development with WebGPU
56
- - 🔍 **GitHub Integration** - Issues, PRs, and CI management
57
- - 🌦️ **Weather** - Current weather and forecasts
58
- - 📧 **Notion** - Database and page management
59
- - 🐦 **X/Twitter** - Social media engagement
60
- - And more...
61
-
62
- ## Configuration
63
-
64
- Pool Bot uses a profile-based configuration system:
65
-
66
- ```bash
67
- # Use default profile
68
- poolbot gateway start
69
-
70
- # Use custom profile
71
- poolbot --profile production gateway start
72
-
73
- # Use dev profile (isolated state)
74
- poolbot --dev gateway start
75
- ```
52
+ See [docs/](docs/) for full documentation, or visit the [Clawdbot docs](https://docs.clawd.bot) (most features are identical).
76
53
 
77
54
  ## Development
78
55
 
79
56
  ```bash
80
- # Clone repository
57
+ # Clone the repo
81
58
  git clone https://github.com/plcunha/pool-bot.git
82
59
  cd pool-bot
83
60
 
@@ -87,26 +64,39 @@ pnpm install
87
64
  # Build
88
65
  pnpm build
89
66
 
90
- # Run tests
91
- pnpm test
92
-
93
- # Start gateway
94
- node dist/entry.js gateway
67
+ # Run locally
68
+ node dist/entry.js --help
95
69
  ```
96
70
 
97
- ## Support
71
+ ## Staying Updated
72
+
73
+ Pool Bot maintains sync with upstream Clawdbot for bug fixes and new features:
74
+
75
+ ```bash
76
+ ./sync-upstream.sh
77
+ ```
98
78
 
99
- - **Documentation**: https://docs.clawd.bot
100
- - **GitHub Issues**: https://github.com/plcunha/pool-bot/issues
101
- - **Community**: https://discord.com/invite/clawd
79
+ See [CUSTOM.md](CUSTOM.md) for details on customizations and merge strategy.
102
80
 
103
- ## Author
81
+ ## Contributing
104
82
 
105
- João Vitor Cunha dos Santos
106
- - Email: jvsantos.cunha@gmail.com
107
- - GitHub: @plcunha
108
- - Telegram: @poolzin
83
+ Pool Bot is a private fork for specific use cases. For contributions to the base framework, please see [Clawdbot](https://github.com/clawdbot/clawdbot).
109
84
 
110
85
  ## License
111
86
 
112
- MIT License - see LICENSE file for details
87
+ MIT License - Based on Clawdbot by Peter Steinberger
88
+
89
+ Copyright (c) 2025 Peter Steinberger (Clawdbot)
90
+ Copyright (c) 2026 João Vitor Cunha dos Santos (Pool Bot customizations)
91
+
92
+ See [LICENSE](LICENSE) for details.
93
+
94
+ ## Credits
95
+
96
+ - **Original Framework:** [Clawdbot](https://github.com/clawdbot/clawdbot) by Peter Steinberger
97
+ - **Pool Bot Customizations:** João Vitor Cunha dos Santos (@plcunha)
98
+ - **PLCODE Integration:** Part of the PLCODE project
99
+
100
+ ---
101
+
102
+ 🎱 **Pool Bot** - Dive deep into intelligence
@@ -114,7 +114,7 @@ function onRelayClosed(reason) {
114
114
  setBadge(tabId, 'connecting')
115
115
  void chrome.action.setTitle({
116
116
  tabId,
117
- title: 'Moltbot Browser Relay: disconnected (click to re-attach)',
117
+ title: 'Clawdbot Browser Relay: disconnected (click to re-attach)',
118
118
  })
119
119
  }
120
120
  tabs.clear()
@@ -225,7 +225,7 @@ async function attachTab(tabId, opts = {}) {
225
225
  tabBySession.set(sessionId, tabId)
226
226
  void chrome.action.setTitle({
227
227
  tabId,
228
- title: 'Moltbot Browser Relay: attached (click to detach)',
228
+ title: 'Clawdbot Browser Relay: attached (click to detach)',
229
229
  })
230
230
 
231
231
  if (!opts.skipAttachedEvent) {
@@ -278,7 +278,7 @@ async function detachTab(tabId, reason) {
278
278
  setBadge(tabId, 'off')
279
279
  void chrome.action.setTitle({
280
280
  tabId,
281
- title: 'Moltbot Browser Relay (click to attach/detach)',
281
+ title: 'Clawdbot Browser Relay (click to attach/detach)',
282
282
  })
283
283
  }
284
284
 
@@ -297,7 +297,7 @@ async function connectOrToggleForActiveTab() {
297
297
  setBadge(tabId, 'connecting')
298
298
  void chrome.action.setTitle({
299
299
  tabId,
300
- title: 'Moltbot Browser Relay: connecting to local relay…',
300
+ title: 'Clawdbot Browser Relay: connecting to local relay…',
301
301
  })
302
302
 
303
303
  try {
@@ -308,7 +308,7 @@ async function connectOrToggleForActiveTab() {
308
308
  setBadge(tabId, 'error')
309
309
  void chrome.action.setTitle({
310
310
  tabId,
311
- title: 'Moltbot Browser Relay: relay not running (open options for setup)',
311
+ title: 'Clawdbot Browser Relay: relay not running (open options for setup)',
312
312
  })
313
313
  void maybeOpenHelpOnce()
314
314
  // Extra breadcrumbs in chrome://extensions service worker logs.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "manifest_version": 3,
3
- "name": "Moltbot Browser Relay",
3
+ "name": "PooL Browser Relay",
4
4
  "version": "0.1.0",
5
- "description": "Attach Moltbot to your existing Chrome tab via a local CDP relay server.",
5
+ "description": "Attach PooL to your existing Chrome tab via a local CDP relay server.",
6
6
  "icons": {
7
7
  "16": "icons/icon16.png",
8
8
  "32": "icons/icon32.png",
@@ -13,7 +13,7 @@
13
13
  "host_permissions": ["http://127.0.0.1/*", "http://localhost/*"],
14
14
  "background": { "service_worker": "background.js", "type": "module" },
15
15
  "action": {
16
- "default_title": "Moltbot Browser Relay (click to attach/detach)",
16
+ "default_title": "PooL Browser Relay (click to attach/detach)",
17
17
  "default_icon": {
18
18
  "16": "icons/icon16.png",
19
19
  "32": "icons/icon32.png",
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Moltbot Browser Relay</title>
6
+ <title>Clawdbot Browser Relay</title>
7
7
  <style>
8
8
  :root {
9
9
  color-scheme: light dark;
@@ -158,7 +158,7 @@
158
158
  <img src="icons/icon128.png" alt="" />
159
159
  </div>
160
160
  <div>
161
- <h1>Moltbot Browser Relay</h1>
161
+ <h1>Clawdbot Browser Relay</h1>
162
162
  <p class="subtitle">Click the toolbar button on a tab to attach / detach.</p>
163
163
  </div>
164
164
  </header>
@@ -168,10 +168,11 @@
168
168
  <h2>Getting started</h2>
169
169
  <p>
170
170
  If you see a red <code>!</code> badge on the extension icon, the relay server is not reachable.
171
- Start Moltbot’s browser relay on this machine (Gateway or node host), then click the toolbar button again.
171
+ Start Clawdbot’s browser relay on this machine (Gateway or <code>clawdbot browser serve</code>),
172
+ then click the toolbar button again.
172
173
  </p>
173
174
  <p>
174
- Full guide (install, remote Gateway, security): <a href="https://docs.molt.bot/tools/chrome-extension" target="_blank" rel="noreferrer">docs.molt.bot/tools/chrome-extension</a>
175
+ Full guide (install, remote Gateway, security): <a href="https://docs.clawd.bot/tools/chrome-extension" target="_blank" rel="noreferrer">docs.clawd.bot/tools/chrome-extension</a>
175
176
  </p>
176
177
  </div>
177
178
 
@@ -184,7 +185,7 @@
184
185
  </div>
185
186
  <div class="hint">
186
187
  Default: <code>18792</code>. Extension connects to: <code id="relay-url">http://127.0.0.1:&lt;port&gt;/</code>.
187
- Only change this if your Moltbot profile uses a different <code>cdpUrl</code> port.
188
+ Only change this if your Clawdbot profile uses a different <code>cdpUrl</code> port.
188
189
  </div>
189
190
  <div class="status" id="status"></div>
190
191
  </div>
@@ -31,7 +31,7 @@ async function checkRelayReachable(port) {
31
31
  } catch {
32
32
  setStatus(
33
33
  'error',
34
- `Relay not reachable at ${url}. Start Moltbot’s browser relay on this machine, then click the toolbar button again.`,
34
+ `Relay not reachable at ${url}. Start Clawdbot’s browser relay on this machine, then click the toolbar button again.`,
35
35
  )
36
36
  } finally {
37
37
  clearTimeout(t)
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import * as readline from "node:readline";
3
3
  import { Readable, Writable } from "node:stream";
4
4
  import { ClientSideConnection, PROTOCOL_VERSION, ndJsonStream, } from "@agentclientprotocol/sdk";
5
- import { ensureMoltbotCliOnPath } from "../infra/path-env.js";
5
+ import { ensureClawdbotCliOnPath } from "../infra/path-env.js";
6
6
  function toArgs(value) {
7
7
  if (!value)
8
8
  return [];
@@ -50,8 +50,8 @@ export async function createAcpClient(opts = {}) {
50
50
  const cwd = opts.cwd ?? process.cwd();
51
51
  const verbose = Boolean(opts.verbose);
52
52
  const log = verbose ? (msg) => console.error(`[acp-client] ${msg}`) : () => { };
53
- ensureMoltbotCliOnPath({ cwd });
54
- const serverCommand = opts.serverCommand ?? "moltbot";
53
+ ensureClawdbotCliOnPath({ cwd });
54
+ const serverCommand = opts.serverCommand ?? "clawdbot";
55
55
  const serverArgs = buildServerArgs(opts);
56
56
  log(`spawning: ${serverCommand} ${serverArgs.join(" ")}`);
57
57
  const agent = spawn(serverCommand, serverArgs, {
@@ -88,7 +88,7 @@ export async function createAcpClient(opts = {}) {
88
88
  fs: { readTextFile: true, writeTextFile: true },
89
89
  terminal: true,
90
90
  },
91
- clientInfo: { name: "moltbot-acp-client", version: "1.0.0" },
91
+ clientInfo: { name: "clawdbot-acp-client", version: "1.0.0" },
92
92
  });
93
93
  log("creating session");
94
94
  const session = await client.newSession({
@@ -107,7 +107,7 @@ export async function runAcpClientInteractive(opts = {}) {
107
107
  input: process.stdin,
108
108
  output: process.stdout,
109
109
  });
110
- console.log("Moltbot ACP client");
110
+ console.log("PooL ACP client");
111
111
  console.log(`Session: ${sessionId}`);
112
112
  console.log('Type a prompt, or "exit" to quit.\n');
113
113
  const prompt = () => {
@@ -108,7 +108,7 @@ function parseArgs(args) {
108
108
  return opts;
109
109
  }
110
110
  function printHelp() {
111
- console.log(`Usage: moltbot acp [options]
111
+ console.log(`Usage: clawdbot acp [options]
112
112
 
113
113
  Gateway-backed ACP server for IDE integration.
114
114
 
package/dist/acp/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VERSION } from "../version.js";
2
2
  export const ACP_AGENT_INFO = {
3
- name: "moltbot-acp",
4
- title: "Moltbot ACP Gateway",
3
+ name: "clawdbot-acp",
4
+ title: "PooL ACP Gateway",
5
5
  version: VERSION,
6
6
  };
@@ -2,15 +2,15 @@ import path from "node:path";
2
2
  import { resolveStateDir } from "../config/paths.js";
3
3
  import { DEFAULT_AGENT_ID } from "../routing/session-key.js";
4
4
  import { resolveUserPath } from "../utils.js";
5
- export function resolveMoltbotAgentDir() {
5
+ export function resolveClawdbotAgentDir() {
6
6
  const override = process.env.CLAWDBOT_AGENT_DIR?.trim() || process.env.PI_CODING_AGENT_DIR?.trim();
7
7
  if (override)
8
8
  return resolveUserPath(override);
9
9
  const defaultAgentDir = path.join(resolveStateDir(), "agents", DEFAULT_AGENT_ID, "agent");
10
10
  return resolveUserPath(defaultAgentDir);
11
11
  }
12
- export function ensureMoltbotAgentEnv() {
13
- const dir = resolveMoltbotAgentDir();
12
+ export function ensureClawdbotAgentEnv() {
13
+ const dir = resolveClawdbotAgentDir();
14
14
  if (!process.env.CLAWDBOT_AGENT_DIR)
15
15
  process.env.CLAWDBOT_AGENT_DIR = dir;
16
16
  if (!process.env.PI_CODING_AGENT_DIR)
@@ -1,6 +1,10 @@
1
- import { resolveAuthProfileDisplayLabel, } from "./auth-profiles.js";
1
+ import { CLAUDE_CLI_PROFILE_ID, CODEX_CLI_PROFILE_ID, resolveAuthProfileDisplayLabel, } from "./auth-profiles.js";
2
2
  export const DEFAULT_OAUTH_WARN_MS = 24 * 60 * 60 * 1000;
3
- export function resolveAuthProfileSource(_profileId) {
3
+ export function resolveAuthProfileSource(profileId) {
4
+ if (profileId === CLAUDE_CLI_PROFILE_ID)
5
+ return "claude-cli";
6
+ if (profileId === CODEX_CLI_PROFILE_ID)
7
+ return "codex-cli";
4
8
  return "store";
5
9
  }
6
10
  export function formatRemainingShort(remainingMs) {
@@ -26,6 +26,6 @@ export function formatAuthDoctorHint(params) {
26
26
  `- config: ${legacyProfileId}${cfgProvider || cfgMode ? ` (provider=${cfgProvider ?? "?"}, mode=${cfgMode ?? "?"})` : ""}`,
27
27
  `- auth store oauth profiles: ${storeOauthProfiles || "(none)"}`,
28
28
  `- suggested profile: ${suggested}`,
29
- `Fix: run "${formatCliCommand("moltbot doctor --yes")}"`,
29
+ `Fix: run "${formatCliCommand("clawdbot doctor --yes")}"`,
30
30
  ].join("\n");
31
31
  }
@@ -1,5 +1,5 @@
1
- import { readQwenCliCredentialsCached } from "../cli-credentials.js";
2
- import { EXTERNAL_CLI_NEAR_EXPIRY_MS, EXTERNAL_CLI_SYNC_TTL_MS, QWEN_CLI_PROFILE_ID, log, } from "./constants.js";
1
+ import { readClaudeCliCredentialsCached, readCodexCliCredentialsCached, readQwenCliCredentialsCached, } from "../cli-credentials.js";
2
+ import { CLAUDE_CLI_PROFILE_ID, CODEX_CLI_PROFILE_ID, EXTERNAL_CLI_NEAR_EXPIRY_MS, EXTERNAL_CLI_SYNC_TTL_MS, QWEN_CLI_PROFILE_ID, log, } from "./constants.js";
3
3
  function shallowEqualOAuthCredentials(a, b) {
4
4
  if (!a)
5
5
  return false;
@@ -14,12 +14,24 @@ function shallowEqualOAuthCredentials(a, b) {
14
14
  a.projectId === b.projectId &&
15
15
  a.accountId === b.accountId);
16
16
  }
17
+ function shallowEqualTokenCredentials(a, b) {
18
+ if (!a)
19
+ return false;
20
+ if (a.type !== "token")
21
+ return false;
22
+ return (a.provider === b.provider &&
23
+ a.token === b.token &&
24
+ a.expires === b.expires &&
25
+ a.email === b.email);
26
+ }
17
27
  function isExternalProfileFresh(cred, now) {
18
28
  if (!cred)
19
29
  return false;
20
30
  if (cred.type !== "oauth" && cred.type !== "token")
21
31
  return false;
22
- if (cred.provider !== "qwen-portal") {
32
+ if (cred.provider !== "anthropic" &&
33
+ cred.provider !== "openai-codex" &&
34
+ cred.provider !== "qwen-portal") {
23
35
  return false;
24
36
  }
25
37
  if (typeof cred.expires !== "number")
@@ -27,13 +39,146 @@ function isExternalProfileFresh(cred, now) {
27
39
  return cred.expires > now + EXTERNAL_CLI_NEAR_EXPIRY_MS;
28
40
  }
29
41
  /**
30
- * Sync OAuth credentials from external CLI tools (Qwen Code CLI) into the store.
42
+ * Find any existing openai-codex profile (other than codex-cli) that has the same
43
+ * access and refresh tokens. This prevents creating a duplicate codex-cli profile
44
+ * when the user has already set up a custom profile with the same credentials.
45
+ */
46
+ export function findDuplicateCodexProfile(store, creds) {
47
+ for (const [profileId, profile] of Object.entries(store.profiles)) {
48
+ if (profileId === CODEX_CLI_PROFILE_ID)
49
+ continue;
50
+ if (profile.type !== "oauth")
51
+ continue;
52
+ if (profile.provider !== "openai-codex")
53
+ continue;
54
+ if (profile.access === creds.access && profile.refresh === creds.refresh) {
55
+ return profileId;
56
+ }
57
+ }
58
+ return undefined;
59
+ }
60
+ /**
61
+ * Sync OAuth credentials from external CLI tools (Claude Code CLI, Codex CLI) into the store.
62
+ * This allows clawdbot to use the same credentials as these tools without requiring
63
+ * separate authentication, and keeps credentials in sync when CLI tools refresh tokens.
31
64
  *
32
65
  * Returns true if any credentials were updated.
33
66
  */
34
- export function syncExternalCliCredentials(store) {
67
+ export function syncExternalCliCredentials(store, options) {
35
68
  let mutated = false;
36
69
  const now = Date.now();
70
+ // Sync from Claude Code CLI (supports both OAuth and Token credentials)
71
+ const existingClaude = store.profiles[CLAUDE_CLI_PROFILE_ID];
72
+ const shouldSyncClaude = !existingClaude ||
73
+ existingClaude.provider !== "anthropic" ||
74
+ existingClaude.type === "token" ||
75
+ !isExternalProfileFresh(existingClaude, now);
76
+ const claudeCreds = shouldSyncClaude
77
+ ? readClaudeCliCredentialsCached({
78
+ allowKeychainPrompt: options?.allowKeychainPrompt,
79
+ ttlMs: EXTERNAL_CLI_SYNC_TTL_MS,
80
+ })
81
+ : null;
82
+ if (claudeCreds) {
83
+ const existing = store.profiles[CLAUDE_CLI_PROFILE_ID];
84
+ const claudeCredsExpires = claudeCreds.expires ?? 0;
85
+ // Determine if we should update based on credential comparison
86
+ let shouldUpdate = false;
87
+ let isEqual = false;
88
+ if (claudeCreds.type === "oauth") {
89
+ const existingOAuth = existing?.type === "oauth" ? existing : undefined;
90
+ isEqual = shallowEqualOAuthCredentials(existingOAuth, claudeCreds);
91
+ // Update if: no existing profile, type changed to oauth, expired, or CLI has newer token
92
+ shouldUpdate =
93
+ !existingOAuth ||
94
+ existingOAuth.provider !== "anthropic" ||
95
+ existingOAuth.expires <= now ||
96
+ (claudeCredsExpires > now && claudeCredsExpires > existingOAuth.expires);
97
+ }
98
+ else {
99
+ const existingToken = existing?.type === "token" ? existing : undefined;
100
+ isEqual = shallowEqualTokenCredentials(existingToken, claudeCreds);
101
+ // Update if: no existing profile, expired, or CLI has newer token
102
+ shouldUpdate =
103
+ !existingToken ||
104
+ existingToken.provider !== "anthropic" ||
105
+ (existingToken.expires ?? 0) <= now ||
106
+ (claudeCredsExpires > now && claudeCredsExpires > (existingToken.expires ?? 0));
107
+ }
108
+ // Also update if credential type changed (token -> oauth upgrade)
109
+ if (existing && existing.type !== claudeCreds.type) {
110
+ // Prefer oauth over token (enables auto-refresh)
111
+ if (claudeCreds.type === "oauth") {
112
+ shouldUpdate = true;
113
+ isEqual = false;
114
+ }
115
+ }
116
+ // Avoid downgrading from oauth to token-only credentials.
117
+ if (existing?.type === "oauth" && claudeCreds.type === "token") {
118
+ shouldUpdate = false;
119
+ }
120
+ if (shouldUpdate && !isEqual) {
121
+ store.profiles[CLAUDE_CLI_PROFILE_ID] = claudeCreds;
122
+ mutated = true;
123
+ log.info("synced anthropic credentials from claude cli", {
124
+ profileId: CLAUDE_CLI_PROFILE_ID,
125
+ type: claudeCreds.type,
126
+ expires: typeof claudeCreds.expires === "number"
127
+ ? new Date(claudeCreds.expires).toISOString()
128
+ : "unknown",
129
+ });
130
+ }
131
+ }
132
+ // Sync from Codex CLI
133
+ const existingCodex = store.profiles[CODEX_CLI_PROFILE_ID];
134
+ const existingCodexOAuth = existingCodex?.type === "oauth" ? existingCodex : undefined;
135
+ const duplicateExistingId = existingCodexOAuth
136
+ ? findDuplicateCodexProfile(store, existingCodexOAuth)
137
+ : undefined;
138
+ if (duplicateExistingId) {
139
+ delete store.profiles[CODEX_CLI_PROFILE_ID];
140
+ mutated = true;
141
+ log.info("removed codex-cli profile: credentials already exist in another profile", {
142
+ existingProfileId: duplicateExistingId,
143
+ removedProfileId: CODEX_CLI_PROFILE_ID,
144
+ });
145
+ }
146
+ const shouldSyncCodex = !existingCodex ||
147
+ existingCodex.provider !== "openai-codex" ||
148
+ !isExternalProfileFresh(existingCodex, now);
149
+ const codexCreds = shouldSyncCodex || duplicateExistingId
150
+ ? readCodexCliCredentialsCached({ ttlMs: EXTERNAL_CLI_SYNC_TTL_MS })
151
+ : null;
152
+ if (codexCreds) {
153
+ const duplicateProfileId = findDuplicateCodexProfile(store, codexCreds);
154
+ if (duplicateProfileId) {
155
+ if (store.profiles[CODEX_CLI_PROFILE_ID]) {
156
+ delete store.profiles[CODEX_CLI_PROFILE_ID];
157
+ mutated = true;
158
+ log.info("removed codex-cli profile: credentials already exist in another profile", {
159
+ existingProfileId: duplicateProfileId,
160
+ removedProfileId: CODEX_CLI_PROFILE_ID,
161
+ });
162
+ }
163
+ }
164
+ else {
165
+ const existing = store.profiles[CODEX_CLI_PROFILE_ID];
166
+ const existingOAuth = existing?.type === "oauth" ? existing : undefined;
167
+ // Codex creds don't carry expiry; use file mtime heuristic for freshness.
168
+ const shouldUpdate = !existingOAuth ||
169
+ existingOAuth.provider !== "openai-codex" ||
170
+ existingOAuth.expires <= now ||
171
+ codexCreds.expires > existingOAuth.expires;
172
+ if (shouldUpdate && !shallowEqualOAuthCredentials(existingOAuth, codexCreds)) {
173
+ store.profiles[CODEX_CLI_PROFILE_ID] = codexCreds;
174
+ mutated = true;
175
+ log.info("synced openai-codex credentials from codex cli", {
176
+ profileId: CODEX_CLI_PROFILE_ID,
177
+ expires: new Date(codexCreds.expires).toISOString(),
178
+ });
179
+ }
180
+ }
181
+ }
37
182
  // Sync from Qwen Code CLI
38
183
  const existingQwen = store.profiles[QWEN_CLI_PROFILE_ID];
39
184
  const shouldSyncQwen = !existingQwen ||
@@ -2,7 +2,8 @@ import { getOAuthApiKey } from "@mariozechner/pi-ai";
2
2
  import lockfile from "proper-lockfile";
3
3
  import { refreshChutesTokens } from "../chutes-oauth.js";
4
4
  import { refreshQwenPortalCredentials } from "../../providers/qwen-portal-oauth.js";
5
- import { AUTH_STORE_LOCK_OPTIONS, log } from "./constants.js";
5
+ import { writeClaudeCliCredentials } from "../cli-credentials.js";
6
+ import { AUTH_STORE_LOCK_OPTIONS, CLAUDE_CLI_PROFILE_ID } from "./constants.js";
6
7
  import { formatAuthDoctorHint } from "./doctor.js";
7
8
  import { ensureAuthStoreFile, resolveAuthStorePath } from "./paths.js";
8
9
  import { suggestOAuthProfileIdForLegacyDefault } from "./repair.js";
@@ -58,6 +59,11 @@ async function refreshOAuthTokenWithLock(params) {
58
59
  type: "oauth",
59
60
  };
60
61
  saveAuthProfileStore(store, params.agentDir);
62
+ // Sync refreshed credentials back to Claude Code CLI if this is the claude-cli profile
63
+ // This ensures Claude Code continues to work after ClawdBot refreshes the token
64
+ if (params.profileId === CLAUDE_CLI_PROFILE_ID && cred.provider === "anthropic") {
65
+ writeClaudeCliCredentials(result.newCredentials);
66
+ }
61
67
  return result;
62
68
  }
63
69
  finally {
@@ -179,31 +185,6 @@ export async function resolveApiKeyForProfile(params) {
179
185
  // keep original error
180
186
  }
181
187
  }
182
- // Fallback: if this is a secondary agent, try using the main agent's credentials
183
- if (params.agentDir) {
184
- try {
185
- const mainStore = ensureAuthProfileStore(undefined); // main agent (no agentDir)
186
- const mainCred = mainStore.profiles[profileId];
187
- if (mainCred?.type === "oauth" && Date.now() < mainCred.expires) {
188
- // Main agent has fresh credentials - copy them to this agent and use them
189
- refreshedStore.profiles[profileId] = { ...mainCred };
190
- saveAuthProfileStore(refreshedStore, params.agentDir);
191
- log.info("inherited fresh OAuth credentials from main agent", {
192
- profileId,
193
- agentDir: params.agentDir,
194
- expires: new Date(mainCred.expires).toISOString(),
195
- });
196
- return {
197
- apiKey: buildOAuthApiKey(mainCred.provider, mainCred),
198
- provider: mainCred.provider,
199
- email: mainCred.email,
200
- };
201
- }
202
- }
203
- catch {
204
- // keep original error if main agent fallback also fails
205
- }
206
- }
207
188
  const message = error instanceof Error ? error.message : String(error);
208
189
  const hint = formatAuthDoctorHint({
209
190
  cfg,
@@ -2,14 +2,14 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { saveJsonFile } from "../../infra/json-file.js";
4
4
  import { resolveUserPath } from "../../utils.js";
5
- import { resolveMoltbotAgentDir } from "../agent-paths.js";
5
+ import { resolveClawdbotAgentDir } from "../agent-paths.js";
6
6
  import { AUTH_PROFILE_FILENAME, AUTH_STORE_VERSION, LEGACY_AUTH_FILENAME } from "./constants.js";
7
7
  export function resolveAuthStorePath(agentDir) {
8
- const resolved = resolveUserPath(agentDir ?? resolveMoltbotAgentDir());
8
+ const resolved = resolveUserPath(agentDir ?? resolveClawdbotAgentDir());
9
9
  return path.join(resolved, AUTH_PROFILE_FILENAME);
10
10
  }
11
11
  export function resolveLegacyAuthStorePath(agentDir) {
12
- const resolved = resolveUserPath(agentDir ?? resolveMoltbotAgentDir());
12
+ const resolved = resolveUserPath(agentDir ?? resolveClawdbotAgentDir());
13
13
  return path.join(resolved, LEGACY_AUTH_FILENAME);
14
14
  }
15
15
  export function resolveAuthStorePathForDisplay(agentDir) {
@@ -2,8 +2,8 @@ import fs from "node:fs";
2
2
  import lockfile from "proper-lockfile";
3
3
  import { resolveOAuthPath } from "../../config/paths.js";
4
4
  import { loadJsonFile, saveJsonFile } from "../../infra/json-file.js";
5
- import { AUTH_STORE_LOCK_OPTIONS, AUTH_STORE_VERSION, log } from "./constants.js";
6
- import { syncExternalCliCredentials } from "./external-cli-sync.js";
5
+ import { AUTH_STORE_LOCK_OPTIONS, AUTH_STORE_VERSION, CODEX_CLI_PROFILE_ID, log, } from "./constants.js";
6
+ import { findDuplicateCodexProfile, syncExternalCliCredentials } from "./external-cli-sync.js";
7
7
  import { ensureAuthStoreFile, resolveAuthStorePath, resolveLegacyAuthStorePath } from "./paths.js";
8
8
  function _syncAuthProfileStore(target, source) {
9
9
  target.version = source.version;
@@ -209,13 +209,13 @@ export function loadAuthProfileStore() {
209
209
  syncExternalCliCredentials(store);
210
210
  return store;
211
211
  }
212
- function loadAuthProfileStoreForAgent(agentDir, _options) {
212
+ function loadAuthProfileStoreForAgent(agentDir, options) {
213
213
  const authPath = resolveAuthStorePath(agentDir);
214
214
  const raw = loadJsonFile(authPath);
215
215
  const asStore = coerceAuthStore(raw);
216
216
  if (asStore) {
217
217
  // Sync from external CLI tools on every load
218
- const synced = syncExternalCliCredentials(asStore);
218
+ const synced = syncExternalCliCredentials(asStore, options);
219
219
  if (synced) {
220
220
  saveJsonFile(authPath, asStore);
221
221
  }
@@ -275,7 +275,7 @@ function loadAuthProfileStoreForAgent(agentDir, _options) {
275
275
  }
276
276
  }
277
277
  const mergedOAuth = mergeOAuthFileIntoStore(store);
278
- const syncedCli = syncExternalCliCredentials(store);
278
+ const syncedCli = syncExternalCliCredentials(store, options);
279
279
  const shouldWrite = legacy !== null || mergedOAuth || syncedCli;
280
280
  if (shouldWrite) {
281
281
  saveJsonFile(authPath, store);
@@ -308,6 +308,14 @@ export function ensureAuthProfileStore(agentDir, options) {
308
308
  }
309
309
  const mainStore = loadAuthProfileStoreForAgent(undefined, options);
310
310
  const merged = mergeAuthProfileStores(mainStore, store);
311
+ // Keep per-agent view clean even if the main store has codex-cli.
312
+ const codexProfile = merged.profiles[CODEX_CLI_PROFILE_ID];
313
+ if (codexProfile?.type === "oauth") {
314
+ const duplicateId = findDuplicateCodexProfile(merged, codexProfile);
315
+ if (duplicateId) {
316
+ delete merged.profiles[CODEX_CLI_PROFILE_ID];
317
+ }
318
+ }
311
319
  return merged;
312
320
  }
313
321
  export function saveAuthProfileStore(store, agentDir) {