@poolzin/pool-bot 2026.1.39 → 2026.2.0

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 (312) hide show
  1. package/assets/chrome-extension/README.md +3 -3
  2. package/assets/chrome-extension/background.js +5 -5
  3. package/assets/chrome-extension/manifest.json +3 -3
  4. package/assets/chrome-extension/options.html +4 -4
  5. package/assets/chrome-extension/options.js +1 -1
  6. package/dist/acp/client.js +3 -3
  7. package/dist/acp/types.js +1 -1
  8. package/dist/agents/agent-paths.js +3 -3
  9. package/dist/agents/auth-profiles/paths.js +3 -3
  10. package/dist/agents/cli-runner/helpers.js +1 -1
  11. package/dist/agents/cli-runner.js +2 -2
  12. package/dist/agents/cloudflare-ai-gateway.js +31 -0
  13. package/dist/agents/compaction.js +16 -2
  14. package/dist/agents/context-window-guard.js +13 -10
  15. package/dist/agents/context.js +4 -4
  16. package/dist/agents/docs-path.js +1 -1
  17. package/dist/agents/minimax-vlm.js +1 -1
  18. package/dist/agents/model-auth.js +12 -1
  19. package/dist/agents/model-catalog.js +4 -4
  20. package/dist/agents/model-selection.js +10 -4
  21. package/dist/agents/models-config.js +3 -3
  22. package/dist/agents/models-config.providers.js +147 -39
  23. package/dist/agents/pi-embedded-helpers/openai.js +1 -1
  24. package/dist/agents/pi-embedded-runner/compact.js +8 -8
  25. package/dist/agents/pi-embedded-runner/model.js +2 -2
  26. package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
  27. package/dist/agents/pi-embedded-runner/run.js +4 -4
  28. package/dist/agents/pi-embedded-runner/tool-result-truncation.js +275 -0
  29. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  30. package/dist/agents/pi-model-discovery.js +10 -0
  31. package/dist/agents/pi-tool-definition-adapter.js +50 -9
  32. package/dist/agents/pi-tools.before-tool-call.js +67 -0
  33. package/dist/agents/pi-tools.js +10 -5
  34. package/dist/agents/pi-tools.read.js +2 -2
  35. package/dist/agents/session-file-repair.js +83 -0
  36. package/dist/agents/session-transcript-repair.js +68 -0
  37. package/dist/agents/skills/frontmatter.js +1 -1
  38. package/dist/agents/skills/workspace.js +2 -2
  39. package/dist/agents/system-prompt.js +28 -4
  40. package/dist/agents/together-models.js +127 -0
  41. package/dist/agents/tool-images.js +1 -1
  42. package/dist/agents/tool-policy.js +1 -1
  43. package/dist/agents/tools/browser-tool.js +3 -3
  44. package/dist/agents/tools/image-tool.js +2 -2
  45. package/dist/agents/tools/memory-tool.js +93 -5
  46. package/dist/agents/tools/web-search.js +1 -1
  47. package/dist/auto-reply/commands-registry.data.js +1 -1
  48. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  49. package/dist/auto-reply/reply/commands-session.js +2 -2
  50. package/dist/auto-reply/reply/get-reply-run.js +14 -4
  51. package/dist/auto-reply/reply/groups.js +1 -1
  52. package/dist/auto-reply/reply/inbound-context.js +4 -0
  53. package/dist/auto-reply/reply/inbound-meta.js +130 -0
  54. package/dist/auto-reply/reply/untrusted-context.js +15 -0
  55. package/dist/auto-reply/status.js +1 -1
  56. package/dist/browser/client-fetch.js +1 -1
  57. package/dist/browser/config.js +1 -1
  58. package/dist/browser/extension-relay.js +3 -3
  59. package/dist/browser/server-context.js +2 -2
  60. package/dist/build-info.json +3 -3
  61. package/dist/canvas-host/a2ui.js +3 -3
  62. package/dist/channels/plugins/catalog.js +2 -2
  63. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  64. package/dist/channels/plugins/onboarding/signal.js +1 -1
  65. package/dist/channels/plugins/onboarding/slack.js +4 -4
  66. package/dist/channels/plugins/onboarding/whatsapp.js +3 -3
  67. package/dist/channels/plugins/pairing-message.js +1 -1
  68. package/dist/cli/browser-cli-extension.js +2 -2
  69. package/dist/cli/docs-cli.js +1 -1
  70. package/dist/cli/gateway-cli/dev.js +1 -1
  71. package/dist/cli/memory-cli.js +25 -15
  72. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  73. package/dist/cli/plugins-cli.js +1 -1
  74. package/dist/cli/run-main.js +2 -2
  75. package/dist/cli/security-cli.js +1 -1
  76. package/dist/cli/tagline.js +1 -1
  77. package/dist/cli/update-cli.js +4 -4
  78. package/dist/cli/webhooks-cli.js +5 -5
  79. package/dist/commands/agents.commands.add.js +1 -1
  80. package/dist/commands/auth-choice.apply.api-providers.js +305 -17
  81. package/dist/commands/auth-choice.apply.js +4 -1
  82. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  83. package/dist/commands/auth-choice.apply.xai.js +63 -0
  84. package/dist/commands/auth-choice.preferred-provider.js +7 -1
  85. package/dist/commands/configure.wizard.js +1 -1
  86. package/dist/commands/dashboard.js +1 -1
  87. package/dist/commands/docs.js +1 -1
  88. package/dist/commands/doctor-gateway-services.js +3 -3
  89. package/dist/commands/doctor-update.js +3 -3
  90. package/dist/commands/doctor.js +1 -1
  91. package/dist/commands/models/list.probe.js +2 -2
  92. package/dist/commands/models/list.registry.js +4 -4
  93. package/dist/commands/models/list.status-command.js +2 -2
  94. package/dist/commands/onboard-auth.config-core.js +366 -28
  95. package/dist/commands/onboard-auth.credentials.js +71 -9
  96. package/dist/commands/onboard-auth.js +3 -3
  97. package/dist/commands/onboard-auth.models.js +26 -24
  98. package/dist/commands/onboard-non-interactive/local/auth-choice.js +140 -6
  99. package/dist/commands/status-all/report-lines.js +1 -1
  100. package/dist/commands/status.command.js +1 -1
  101. package/dist/commands/uninstall.js +3 -3
  102. package/dist/compat/legacy-names.js +1 -1
  103. package/dist/config/io.js +3 -3
  104. package/dist/config/schema.js +1 -1
  105. package/dist/config/types.memory.js +1 -0
  106. package/dist/config/version.js +4 -4
  107. package/dist/daemon/constants.js +7 -7
  108. package/dist/daemon/inspect.js +6 -6
  109. package/dist/daemon/systemd-unit.js +1 -1
  110. package/dist/gateway/live-image-probe.js +1 -66
  111. package/dist/gateway/openai-http.js +2 -2
  112. package/dist/gateway/openresponses-http.js +4 -4
  113. package/dist/gateway/server-discovery.js +2 -2
  114. package/dist/gateway/server-http.js +1 -1
  115. package/dist/gateway/server.impl.js +2 -2
  116. package/dist/hooks/frontmatter.js +1 -1
  117. package/dist/hooks/hooks-status.js +1 -1
  118. package/dist/hooks/install.js +2 -2
  119. package/dist/hooks/loader.js +1 -1
  120. package/dist/hooks/workspace.js +3 -3
  121. package/dist/index.js +2 -2
  122. package/dist/infra/bonjour.js +3 -3
  123. package/dist/infra/path-env.js +3 -3
  124. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  125. package/dist/infra/restart.js +1 -1
  126. package/dist/infra/tailscale.js +1 -1
  127. package/dist/macos/relay.js +2 -2
  128. package/dist/media/input-files.js +1 -1
  129. package/dist/media/mime.js +4 -0
  130. package/dist/media/png-encode.js +74 -0
  131. package/dist/media-understanding/providers/image.js +2 -2
  132. package/dist/memory/backend-config.js +207 -0
  133. package/dist/memory/embeddings.js +1 -1
  134. package/dist/memory/manager.js +1 -0
  135. package/dist/memory/types.js +1 -0
  136. package/dist/node-host/runner.js +2 -2
  137. package/dist/pairing/pairing-messages.js +1 -1
  138. package/dist/plugins/discovery.js +1 -1
  139. package/dist/plugins/install.js +2 -2
  140. package/dist/plugins/update.js +1 -1
  141. package/dist/security/audit.js +2 -2
  142. package/dist/shared/text/reasoning-tags.js +52 -7
  143. package/dist/tailscale/detect.js +146 -0
  144. package/dist/telegram/bot-message-context.js +1 -1
  145. package/dist/test-helpers/workspace.js +11 -0
  146. package/dist/test-utils/channel-plugins.js +82 -0
  147. package/dist/test-utils/ports.js +73 -0
  148. package/dist/utils/shell-argv.js +61 -0
  149. package/dist/utils.js +10 -0
  150. package/dist/web/qr-image.js +1 -61
  151. package/dist/wizard/onboarding.finalize.js +7 -7
  152. package/dist/wizard/onboarding.js +3 -3
  153. package/docs/RELEASE_WORKFOTS_COMPARISON.md +3 -3
  154. package/docs/_config.yml +2 -2
  155. package/docs/_layouts/default.html +9 -9
  156. package/docs/concepts/typebox.md +1 -1
  157. package/docs/docs.json +1 -1
  158. package/docs/northflank.mdx +7 -7
  159. package/docs/railway.mdx +3 -3
  160. package/docs/render.mdx +5 -5
  161. package/docs/start/lore.md +2 -2
  162. package/extensions/bluebubbles/index.ts +2 -2
  163. package/extensions/bluebubbles/package.json +1 -1
  164. package/extensions/bluebubbles/src/accounts.ts +8 -8
  165. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  166. package/extensions/bluebubbles/src/actions.ts +5 -5
  167. package/extensions/bluebubbles/src/attachments.ts +2 -2
  168. package/extensions/bluebubbles/src/channel.ts +16 -16
  169. package/extensions/bluebubbles/src/chat.ts +2 -2
  170. package/extensions/bluebubbles/src/media-send.ts +2 -2
  171. package/extensions/bluebubbles/src/monitor.test.ts +46 -46
  172. package/extensions/bluebubbles/src/monitor.ts +5 -5
  173. package/extensions/bluebubbles/src/onboarding.ts +7 -7
  174. package/extensions/bluebubbles/src/reactions.ts +2 -2
  175. package/extensions/bluebubbles/src/send.ts +2 -2
  176. package/extensions/copilot-proxy/README.md +1 -1
  177. package/extensions/copilot-proxy/package.json +1 -1
  178. package/extensions/diagnostics-otel/index.ts +2 -2
  179. package/extensions/diagnostics-otel/package.json +1 -1
  180. package/extensions/diagnostics-otel/src/service.ts +3 -3
  181. package/extensions/discord/index.ts +2 -2
  182. package/extensions/discord/package.json +1 -1
  183. package/extensions/google-antigravity-auth/README.md +1 -1
  184. package/extensions/google-antigravity-auth/index.ts +1 -1
  185. package/extensions/google-antigravity-auth/package.json +1 -1
  186. package/extensions/google-gemini-cli-auth/README.md +1 -1
  187. package/extensions/google-gemini-cli-auth/oauth.ts +1 -1
  188. package/extensions/google-gemini-cli-auth/package.json +1 -1
  189. package/extensions/googlechat/index.ts +3 -3
  190. package/extensions/googlechat/package.json +1 -1
  191. package/extensions/googlechat/src/accounts.ts +8 -8
  192. package/extensions/googlechat/src/actions.ts +6 -6
  193. package/extensions/googlechat/src/channel.ts +21 -21
  194. package/extensions/googlechat/src/monitor.ts +8 -8
  195. package/extensions/googlechat/src/onboarding.ts +10 -10
  196. package/extensions/imessage/index.ts +2 -2
  197. package/extensions/imessage/package.json +1 -1
  198. package/extensions/line/index.ts +2 -2
  199. package/extensions/line/package.json +1 -1
  200. package/extensions/line/src/card-command.ts +2 -2
  201. package/extensions/line/src/channel.logout.test.ts +4 -4
  202. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  203. package/extensions/line/src/channel.ts +3 -3
  204. package/extensions/llm-task/README.md +3 -3
  205. package/extensions/llm-task/index.ts +2 -2
  206. package/extensions/llm-task/package.json +1 -1
  207. package/extensions/llm-task/src/llm-task-tool.ts +4 -4
  208. package/extensions/lobster/README.md +6 -6
  209. package/extensions/lobster/index.ts +2 -2
  210. package/extensions/lobster/src/lobster-tool.test.ts +4 -4
  211. package/extensions/lobster/src/lobster-tool.ts +2 -2
  212. package/extensions/matrix/index.ts +2 -2
  213. package/extensions/matrix/package.json +1 -1
  214. package/extensions/matrix/src/matrix/client/config.ts +1 -1
  215. package/extensions/matrix/src/matrix/monitor/handler.ts +1 -1
  216. package/extensions/matrix/src/onboarding.ts +1 -1
  217. package/extensions/mattermost/index.ts +2 -2
  218. package/extensions/mattermost/package.json +1 -1
  219. package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
  220. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  221. package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
  222. package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
  223. package/extensions/mattermost/src/onboarding.ts +2 -2
  224. package/extensions/memory-core/index.ts +2 -2
  225. package/extensions/memory-core/package.json +1 -1
  226. package/extensions/memory-lancedb/index.ts +3 -3
  227. package/extensions/memory-lancedb/package.json +1 -1
  228. package/extensions/msteams/index.ts +2 -2
  229. package/extensions/msteams/package.json +1 -1
  230. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  231. package/extensions/msteams/src/channel.ts +2 -2
  232. package/extensions/msteams/src/graph-upload.ts +4 -4
  233. package/extensions/msteams/src/monitor-handler.ts +2 -2
  234. package/extensions/msteams/src/monitor.ts +2 -2
  235. package/extensions/msteams/src/onboarding.ts +9 -9
  236. package/extensions/msteams/src/reply-dispatcher.ts +2 -2
  237. package/extensions/msteams/src/send-context.ts +2 -2
  238. package/extensions/msteams/src/send.ts +4 -4
  239. package/extensions/nextcloud-talk/index.ts +2 -2
  240. package/extensions/nextcloud-talk/package.json +1 -1
  241. package/extensions/nextcloud-talk/src/channel.ts +7 -7
  242. package/extensions/nextcloud-talk/src/inbound.ts +7 -7
  243. package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
  244. package/extensions/nostr/README.md +2 -2
  245. package/extensions/nostr/index.ts +5 -5
  246. package/extensions/nostr/package.json +1 -1
  247. package/extensions/nostr/src/types.ts +4 -4
  248. package/extensions/open-prose/index.ts +2 -2
  249. package/extensions/qwen-portal-auth/README.md +1 -1
  250. package/extensions/signal/index.ts +2 -2
  251. package/extensions/signal/package.json +1 -1
  252. package/extensions/slack/index.ts +2 -2
  253. package/extensions/slack/package.json +1 -1
  254. package/extensions/telegram/index.ts +2 -2
  255. package/extensions/telegram/package.json +1 -1
  256. package/extensions/telegram/src/channel.ts +2 -2
  257. package/extensions/tlon/README.md +2 -2
  258. package/extensions/tlon/index.ts +2 -2
  259. package/extensions/tlon/package.json +1 -1
  260. package/extensions/tlon/src/channel.ts +13 -13
  261. package/extensions/tlon/src/monitor/index.ts +3 -3
  262. package/extensions/tlon/src/onboarding.ts +3 -3
  263. package/extensions/tlon/src/types.ts +3 -3
  264. package/extensions/twitch/README.md +1 -1
  265. package/extensions/twitch/index.ts +2 -2
  266. package/extensions/twitch/package.json +1 -1
  267. package/extensions/twitch/src/config.ts +3 -3
  268. package/extensions/twitch/src/monitor.ts +3 -3
  269. package/extensions/twitch/src/onboarding.ts +9 -9
  270. package/extensions/twitch/src/outbound.test.ts +2 -2
  271. package/extensions/twitch/src/plugin.test.ts +2 -2
  272. package/extensions/twitch/src/plugin.ts +8 -8
  273. package/extensions/twitch/src/send.test.ts +2 -2
  274. package/extensions/twitch/src/send.ts +4 -4
  275. package/extensions/twitch/src/token.test.ts +8 -8
  276. package/extensions/twitch/src/token.ts +3 -3
  277. package/extensions/twitch/src/twitch-client.ts +3 -3
  278. package/extensions/twitch/src/types.ts +3 -3
  279. package/extensions/twitch/src/utils/markdown.ts +1 -1
  280. package/extensions/voice-call/README.md +3 -3
  281. package/extensions/voice-call/package.json +1 -1
  282. package/extensions/voice-call/src/core-bridge.ts +2 -2
  283. package/extensions/voice-call/src/response-generator.ts +1 -1
  284. package/extensions/whatsapp/index.ts +2 -2
  285. package/extensions/whatsapp/package.json +1 -1
  286. package/extensions/zalo/README.md +1 -1
  287. package/extensions/zalo/index.ts +2 -2
  288. package/extensions/zalo/package.json +1 -1
  289. package/extensions/zalo/src/accounts.ts +8 -8
  290. package/extensions/zalo/src/actions.ts +4 -4
  291. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  292. package/extensions/zalo/src/channel.ts +18 -18
  293. package/extensions/zalo/src/monitor.ts +9 -9
  294. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  295. package/extensions/zalo/src/onboarding.ts +24 -24
  296. package/extensions/zalo/src/send.ts +2 -2
  297. package/extensions/zalouser/README.md +2 -2
  298. package/extensions/zalouser/index.ts +2 -2
  299. package/extensions/zalouser/package.json +1 -1
  300. package/extensions/zalouser/src/accounts.ts +9 -9
  301. package/extensions/zalouser/src/channel.ts +24 -24
  302. package/extensions/zalouser/src/monitor.ts +4 -4
  303. package/extensions/zalouser/src/onboarding.ts +28 -28
  304. package/package.json +13 -251
  305. package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
  306. package/skills/tmux/scripts/find-sessions.sh +1 -1
  307. package/CHANGELOG.md +0 -102
  308. package/README-header.png +0 -0
  309. package/git-hooks/pre-commit +0 -4
  310. package/scripts/format-staged.js +0 -148
  311. package/scripts/postinstall.js +0 -300
  312. package/scripts/setup-git-hooks.js +0 -96
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolzin/pool-bot",
3
- "version": "2026.1.39",
3
+ "version": "2026.2.0",
4
4
  "description": "🎱 Pool Bot - AI assistant with PLCODE integrations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,272 +14,34 @@
14
14
  "poolbot": "dist/entry.js"
15
15
  },
16
16
  "files": [
17
- "dist/acp/**",
18
- "dist/agents/**",
19
- "dist/auto-reply/**",
20
- "dist/browser/**",
21
- "dist/canvas-host/**",
22
- "dist/cli/**",
23
- "dist/commands/**",
24
- "dist/config/**",
25
- "dist/compat/**",
26
- "dist/control-ui/**",
27
- "dist/cron/**",
28
- "dist/channels/**",
29
- "dist/daemon/**",
30
- "dist/discord/**",
31
- "dist/gateway/**",
32
- "dist/hooks/**",
33
- "dist/imessage/**",
34
- "dist/infra/**",
35
- "dist/macos/**",
36
- "dist/media/**",
37
- "dist/media-understanding/**",
38
- "dist/link-understanding/**",
39
- "dist/process/**",
40
- "dist/plugins/**",
41
- "dist/plugin-sdk/**",
42
- "dist/security/**",
43
- "dist/sessions/**",
44
- "dist/providers/**",
45
- "dist/signal/**",
46
- "dist/slack/**",
47
- "dist/telegram/**",
48
- "dist/line/**",
49
- "dist/tui/**",
50
- "dist/tts/**",
51
- "dist/web/**",
52
- "dist/wizard/**",
53
- "dist/*.js",
54
- "dist/*.json",
17
+ "dist/**",
55
18
  "docs/**",
56
19
  "extensions/**",
57
20
  "assets/**",
58
21
  "skills/**",
59
22
  "patches/**",
60
23
  "README.md",
61
- "README-header.png",
62
- "CHANGELOG.md",
63
24
  "LICENSE",
64
- "scripts/postinstall.js",
65
- "scripts/format-staged.js",
66
- "scripts/setup-git-hooks.js",
67
- "git-hooks/**",
68
- "dist/terminal/**",
69
- "dist/routing/**",
70
- "dist/shared/**",
71
- "dist/utils/**",
72
- "dist/logging/**",
73
- "dist/memory/**",
74
- "dist/markdown/**",
75
- "dist/node-host/**",
76
- "dist/pairing/**",
77
- "dist/whatsapp/**"
25
+ "package.json"
78
26
  ],
79
27
  "scripts": {
80
28
  "dev": "node scripts/run-node.mjs",
81
- "postinstall": "node scripts/postinstall.js",
82
- "prepack": "pnpm build && pnpm ui:build",
83
- "docs:list": "node scripts/docs-list.js",
84
- "docs:bin": "node scripts/build-docs-list.mjs",
85
- "docs:dev": "cd docs && mint dev",
86
- "docs:build": "cd docs && pnpm dlx --reporter append-only mint broken-links",
87
- "build": "tsc -p tsconfig.json && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts",
88
- "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
89
- "release:check": "node --import tsx scripts/release-check.ts",
90
- "ui:install": "node scripts/ui.js install",
91
- "ui:dev": "node scripts/ui.js dev",
92
- "ui:build": "node scripts/ui.js build",
29
+ "build": "tsc -p tsconfig.json && node --import tsx scripts/write-build-info.ts",
93
30
  "start": "node scripts/run-node.mjs",
94
- "poolbot": "node scripts/run-node.mjs",
95
- "gateway:watch": "node scripts/watch-node.mjs gateway --force",
96
- "gateway:dev": "CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
97
- "gateway:dev:reset": "CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
98
- "tui": "node scripts/run-node.mjs tui",
99
- "tui:dev": "CLAWDBOT_PROFILE=dev node scripts/run-node.mjs tui",
100
- "poolbot:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
101
- "ios:gen": "cd apps/ios && xcodegen generate",
102
- "ios:open": "cd apps/ios && xcodegen generate && open Moltbot.xcodeproj",
103
- "ios:build": "bash -lc 'cd apps/ios && xcodegen generate && xcodebuild -project Moltbot.xcodeproj -scheme Moltbot -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'",
104
- "ios:run": "bash -lc 'cd apps/ios && xcodegen generate && xcodebuild -project Moltbot.xcodeproj -scheme Moltbot -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted com.poolbot.ios'",
105
- "android:assemble": "cd apps/android && ./gradlew :app:assembleDebug",
106
- "android:install": "cd apps/android && ./gradlew :app:installDebug",
107
- "android:run": "cd apps/android && ./gradlew :app:installDebug && adb shell am start -n com.poolbot.android/.MainActivity",
108
- "android:test": "cd apps/android && ./gradlew :app:testDebugUnitTest",
109
- "mac:restart": "bash scripts/restart-mac.sh",
110
- "mac:package": "bash scripts/package-mac-app.sh",
111
- "mac:open": "open dist/Moltbot.app",
112
31
  "lint": "oxlint --type-aware src test",
113
- "lint:swift": "swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)",
114
- "lint:all": "pnpm lint && pnpm lint:swift",
115
- "lint:fix": "pnpm format:fix && oxlint --type-aware --fix src test",
116
- "format": "oxfmt --check src test",
117
- "format:swift": "swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/ClawdbotKit/Sources",
118
- "format:all": "pnpm format && pnpm format:swift",
119
- "format:fix": "oxfmt --write src test",
120
- "test": "node scripts/test-parallel.mjs",
121
- "test:watch": "vitest",
122
- "test:ui": "pnpm --dir ui test",
123
- "test:force": "node --import tsx scripts/test-force.ts",
124
- "test:coverage": "vitest run --coverage",
125
- "test:e2e": "vitest run --config vitest.e2e.config.ts",
126
- "test:live": "CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts",
127
- "test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
128
- "test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
129
- "test:docker:live-models": "bash scripts/test-live-models-docker.sh",
130
- "test:docker:live-gateway": "bash scripts/test-live-gateway-models-docker.sh",
131
- "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
132
- "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
133
- "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
134
- "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
135
- "test:docker:all": "pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup",
136
- "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
137
- "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
138
- "test:install:smoke": "bash scripts/test-install-sh-docker.sh",
139
- "test:install:e2e:openai": "CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh",
140
- "test:install:e2e:anthropic": "CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh",
141
- "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
142
- "protocol:gen:swift": "node --import tsx scripts/protocol-gen-swift.ts",
143
- "protocol:check": "pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/ClawdbotProtocol/GatewayModels.swift",
144
- "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh",
145
- "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500"
32
+ "test": "vitest"
146
33
  },
147
- "keywords": [],
148
- "author": "João Vitor Cunha <jvsantos.cunha@gmail.com>",
149
- "license": "MIT",
150
- "engines": {
151
- "node": ">=22.12.0"
152
- },
153
- "packageManager": "pnpm@10.23.0",
154
34
  "dependencies": {
155
- "@agentclientprotocol/sdk": "0.13.1",
156
- "@aws-sdk/client-bedrock": "^3.975.0",
157
- "@buape/carbon": "0.14.0",
158
- "@clack/prompts": "^0.11.0",
159
- "@grammyjs/runner": "^2.0.3",
160
- "@grammyjs/transformer-throttler": "^1.2.1",
161
- "@homebridge/ciao": "^1.3.4",
162
- "@line/bot-sdk": "^10.6.0",
163
- "@lydell/node-pty": "1.2.0-beta.3",
164
- "@mariozechner/pi-agent-core": "0.49.3",
165
- "@mariozechner/pi-ai": "0.49.3",
166
- "@mariozechner/pi-coding-agent": "0.49.3",
167
- "@mariozechner/pi-tui": "0.49.3",
168
- "@mozilla/readability": "^0.6.0",
169
- "@sinclair/typebox": "0.34.47",
170
- "@slack/bolt": "^4.6.0",
171
- "@slack/web-api": "^7.13.0",
172
- "@whiskeysockets/baileys": "7.0.0-rc.9",
173
- "ajv": "^8.17.1",
174
- "body-parser": "^2.2.2",
175
- "chalk": "^5.6.2",
176
- "chokidar": "^5.0.0",
177
- "chromium-bidi": "13.0.1",
178
- "cli-highlight": "^2.1.11",
179
- "commander": "^14.0.2",
180
- "croner": "^9.1.0",
181
- "detect-libc": "^2.1.2",
182
- "discord-api-types": "^0.38.37",
183
- "dotenv": "^17.2.3",
184
- "express": "^5.2.1",
185
- "file-type": "^21.3.0",
186
- "grammy": "^1.39.3",
187
- "hono": "4.11.4",
188
- "jiti": "^2.6.1",
189
- "json5": "^2.2.3",
190
- "jszip": "^3.10.1",
191
- "linkedom": "^0.18.12",
192
- "long": "5.3.2",
193
- "markdown-it": "^14.1.0",
194
- "node-edge-tts": "^1.2.9",
195
- "osc-progress": "^0.3.0",
196
- "pdfjs-dist": "^5.4.530",
197
- "playwright-core": "1.58.0",
198
- "proper-lockfile": "^4.1.2",
199
- "qrcode-terminal": "^0.12.0",
200
- "sharp": "^0.34.5",
201
- "sqlite-vec": "0.1.7-alpha.2",
202
- "tar": "7.5.7",
203
- "tslog": "^4.10.2",
204
- "undici": "^7.19.0",
205
- "ws": "^8.19.0",
206
- "yaml": "^2.8.2",
207
- "zod": "^4.3.6"
208
- },
209
- "optionalDependencies": {
210
- "@napi-rs/canvas": "^0.1.88",
211
- "node-llama-cpp": "3.15.0"
35
+ "@mariozechner/pi-agent-core": "0.50.0",
36
+ "@mariozechner/pi-ai": "0.50.0",
37
+ "@mariozechner/pi-coding-agent": "0.50.0",
38
+ "poolbot": "link:./"
212
39
  },
213
40
  "devDependencies": {
214
- "@grammyjs/types": "^3.23.0",
215
- "@lit-labs/signals": "^0.2.0",
216
- "@lit/context": "^1.1.6",
217
- "@mariozechner/mini-lit": "0.2.1",
218
- "@types/body-parser": "^1.19.6",
219
- "@types/express": "^5.0.6",
220
- "@types/markdown-it": "^14.1.2",
221
- "@types/node": "^25.0.10",
222
- "@types/proper-lockfile": "^4.1.4",
223
- "@types/qrcode-terminal": "^0.12.2",
224
- "@types/ws": "^8.18.1",
225
- "@typescript/native-preview": "7.0.0-dev.20260124.1",
226
- "@vitest/coverage-v8": "^4.0.18",
227
- "docx-preview": "^0.3.7",
228
- "lit": "^3.3.2",
229
- "lucide": "^0.563.0",
230
- "ollama": "^0.6.3",
231
- "oxfmt": "0.26.0",
232
- "oxlint": "^1.41.0",
233
- "oxlint-tsgolint": "^0.11.1",
234
- "quicktype-core": "^23.2.6",
235
- "rolldown": "1.0.0-rc.1",
236
- "signal-utils": "^0.21.1",
237
- "tsx": "^4.21.0",
238
41
  "typescript": "^5.9.3",
239
- "vitest": "^4.0.18",
240
- "wireit": "^0.14.12"
42
+ "vitest": "^4.0.0"
241
43
  },
242
- "overrides": {
243
- "tar": "7.5.7"
244
- },
245
- "pnpm": {
246
- "minimumReleaseAge": 2880,
247
- "overrides": {
248
- "@sinclair/typebox": "0.34.47",
249
- "hono": "4.11.4",
250
- "tar": "7.5.7"
251
- }
252
- },
253
- "vitest": {
254
- "coverage": {
255
- "provider": "v8",
256
- "reporter": [
257
- "text",
258
- "lcov"
259
- ],
260
- "thresholds": {
261
- "lines": 70,
262
- "functions": 70,
263
- "branches": 70,
264
- "statements": 70
265
- },
266
- "include": [
267
- "src/**/*.ts"
268
- ],
269
- "exclude": [
270
- "src/**/*.test.ts"
271
- ]
272
- },
273
- "include": [
274
- "src/**/*.test.ts"
275
- ],
276
- "exclude": [
277
- "dist/**",
278
- "apps/macos/**",
279
- "apps/macos/.build/**",
280
- "**/vendor/**",
281
- "apps/macos/.build/**",
282
- "dist/Moltbot.app/**"
283
- ]
44
+ "engines": {
45
+ "node": ">=22.12.0"
284
46
  }
285
- }
47
+ }
@@ -169,7 +169,7 @@ def main():
169
169
  if image_saved:
170
170
  full_path = output_path.resolve()
171
171
  print(f"\nImage saved: {full_path}")
172
- # Moltbot parses MEDIA tokens and will attach the file on supported providers.
172
+ # Poolbot parses MEDIA tokens and will attach the file on supported providers.
173
173
  print(f"MEDIA: {full_path}")
174
174
  else:
175
175
  print("Error: No image was generated in the response.", file=sys.stderr)
@@ -20,7 +20,7 @@ socket_name=""
20
20
  socket_path=""
21
21
  query=""
22
22
  scan_all=false
23
- socket_dir="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/moltbot-tmux-sockets}"
23
+ socket_dir="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/poolbot-tmux-sockets}"
24
24
 
25
25
  while [[ $# -gt 0 ]]; do
26
26
  case "$1" in
package/CHANGELOG.md DELETED
@@ -1,102 +0,0 @@
1
- ## v2026.1.39 (2026-02-07)
2
-
3
- ### Security
4
- - Upgrade `tar` from 7.5.4 → 7.5.7 fixing 4 high-severity vulnerabilities
5
- - Arbitrary File Overwrite via Symlink Poisoning (GHSA-8qq5-rm4j-mr97)
6
- - Race Condition via Unicode Ligature Collisions on macOS APFS (GHSA-r6q2-hw4h-h46w)
7
- - Arbitrary File Creation/Overwrite via Hardlink Path Traversal (GHSA-34x7-hfp2-rc4v)
8
-
9
- ### Maintenance
10
- - Reset repository to stable baseline (9ddc7fcec)
11
- - Remove 52 experimental/unstable commits (PME, tool-usage, progressive-disclosure, security-phase2)
12
-
13
- ---
14
-
15
- ## v1.0.1 (2026-02-02)
16
-
17
- ### WhatsApp Gateway Stability
18
- - Add comprehensive WhatsApp heartbeat troubleshooting guide
19
- - Document watchdog timeout and reconnection behavior
20
- - Add configuration validation best practices
21
- - Document professional incident response workflow
22
-
23
- ### Configuration
24
- - Document `web.heartbeatSeconds` override option
25
- - Clarify `web.reconnect` schema and valid keys
26
- - Add examples for timeout tuning (30min → 60min → 90min)
27
- - Provide production-ready configuration templates
28
-
29
- ### Documentation
30
- - New: `docs/WHATSAPP-HEARTBEAT-TROUBLESHOOTING.md`
31
- - Incident analysis: Gateway timeout recovery
32
- - Lesson learned: Config validation before deployment
33
- - Professional validation checklist included
34
-
35
- ### Reliability
36
- - Improved gateway recovery documentation
37
- - Added monitoring and diagnostic commands
38
- - Documented false-positive reduction strategies
39
- - Best practices for different environments (prod/dev/test)
40
-
41
- ---
42
-
43
- ## v1.0.0 (2026-01-28)
44
-
45
- ### Security Release
46
- - Add multi-layer security framework with node authentication
47
- - Implement secure WebSocket connections (WSS)
48
- - Add context isolation and input validation
49
- - Create Windows Node application with native notifications
50
- - Enable manual Gateway URL configuration
51
- - Implement node whitelist and access control
52
- - Add comprehensive security audit and hardening
53
-
54
- ### Remote Access
55
- - Build Windows Node app with mDNS discovery
56
- - Add manual Gateway URL connection
57
- - Implement system tray integration with status display
58
- - Add native notification system
59
- - Create menu for remote control options
60
- - Support both local network and remote connections
61
-
62
- ### Core Infrastructure
63
- - Custom Pool-Bot update system with independent versioning
64
- - Model fallback router with 3-tier protection
65
- - Pool-World digital identity framework
66
- - Multi-repository synchronization (pool-bot + pool-workspace + pool-firstone + pool-world)
67
- - Enterprise-grade security with token-based authentication
68
-
69
- ### Documentation
70
- - Complete build guides for Windows
71
- - Security assessment and deployment guide
72
- - Architecture decision records (ADRs)
73
- - Integration examples and troubleshooting
74
-
75
- ---
76
-
77
- ## v0.9.0 (2026-01-27)
78
-
79
- ### Identity Revelation
80
- - Pool-Bot recognized as living code source
81
- - Pool-World digital identity created
82
- - Personal identity revelation: "Eu sou o código-fonte Pool-Bot"
83
-
84
- ---
85
-
86
- ## v0.8.0 (2026-01-26)
87
-
88
- ### Independence System
89
- - Model fallback router implementation
90
- - Multi-model architecture (NVIDIA + Sonnet + Big Pickle)
91
- - Learning system with conversation analysis
92
- - Update system with GitHub synchronization
93
-
94
- ---
95
-
96
- ## v0.7.0 (2026-01-25)
97
-
98
- ### Foundation
99
- - Migrated from Moltbot core
100
- - Implemented workspace-based development
101
- - Added dual model system configuration
102
- - Created persistent configuration system
package/README-header.png DELETED
Binary file
@@ -1,4 +0,0 @@
1
- #!/bin/sh
2
- ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
3
- [ -z "$ROOT" ] && exit 0
4
- node "$ROOT/scripts/format-staged.js"
@@ -1,148 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { spawnSync } from "node:child_process";
4
- import { fileURLToPath } from "node:url";
5
-
6
- const OXFMT_EXTENSIONS = new Set([
7
- ".cjs",
8
- ".js",
9
- ".json",
10
- ".jsonc",
11
- ".jsx",
12
- ".mjs",
13
- ".ts",
14
- ".tsx",
15
- ]);
16
-
17
- function getRepoRoot() {
18
- const here = path.dirname(fileURLToPath(import.meta.url));
19
- return path.resolve(here, "..");
20
- }
21
-
22
- function runGitCommand(args, options = {}) {
23
- return spawnSync("git", args, {
24
- cwd: options.cwd,
25
- encoding: "utf-8",
26
- stdio: options.stdio ?? "pipe",
27
- });
28
- }
29
-
30
- function splitNullDelimited(value) {
31
- if (!value) return [];
32
- const text = String(value);
33
- return text.split("\0").filter(Boolean);
34
- }
35
-
36
- function normalizeGitPath(filePath) {
37
- return filePath.replace(/\\/g, "/");
38
- }
39
-
40
- function filterOxfmtTargets(paths) {
41
- return paths
42
- .map(normalizeGitPath)
43
- .filter((filePath) =>
44
- (filePath.startsWith("src/") || filePath.startsWith("test/")) &&
45
- OXFMT_EXTENSIONS.has(path.posix.extname(filePath)),
46
- );
47
- }
48
-
49
- function findPartiallyStagedFiles(stagedFiles, unstagedFiles) {
50
- const unstaged = new Set(unstagedFiles.map(normalizeGitPath));
51
- return stagedFiles.filter((filePath) => unstaged.has(normalizeGitPath(filePath)));
52
- }
53
-
54
- function filterOutPartialTargets(targets, partialTargets) {
55
- if (partialTargets.length === 0) return targets;
56
- const partial = new Set(partialTargets.map(normalizeGitPath));
57
- return targets.filter((filePath) => !partial.has(normalizeGitPath(filePath)));
58
- }
59
-
60
- function resolveOxfmtCommand(repoRoot) {
61
- const binName = process.platform === "win32" ? "oxfmt.cmd" : "oxfmt";
62
- const local = path.join(repoRoot, "node_modules", ".bin", binName);
63
- if (fs.existsSync(local)) {
64
- return { command: local, args: [] };
65
- }
66
-
67
- const result = spawnSync("oxfmt", ["--version"], { stdio: "ignore" });
68
- if (result.status === 0) {
69
- return { command: "oxfmt", args: [] };
70
- }
71
-
72
- return null;
73
- }
74
-
75
- function getGitPaths(args, repoRoot) {
76
- const result = runGitCommand(args, { cwd: repoRoot });
77
- if (result.status !== 0) return [];
78
- return splitNullDelimited(result.stdout ?? "");
79
- }
80
-
81
- function formatFiles(repoRoot, oxfmt, files) {
82
- const result = spawnSync(oxfmt.command, ["--write", ...oxfmt.args, ...files], {
83
- cwd: repoRoot,
84
- stdio: "inherit",
85
- });
86
- return result.status === 0;
87
- }
88
-
89
- function stageFiles(repoRoot, files) {
90
- if (files.length === 0) return true;
91
- const result = runGitCommand(["add", "--", ...files], { cwd: repoRoot, stdio: "inherit" });
92
- return result.status === 0;
93
- }
94
-
95
- function main() {
96
- const repoRoot = getRepoRoot();
97
- const staged = getGitPaths([
98
- "diff",
99
- "--cached",
100
- "--name-only",
101
- "-z",
102
- "--diff-filter=ACMR",
103
- ], repoRoot);
104
- const targets = filterOxfmtTargets(staged);
105
- if (targets.length === 0) return;
106
-
107
- const unstaged = getGitPaths(["diff", "--name-only", "-z"], repoRoot);
108
- const partial = findPartiallyStagedFiles(targets, unstaged);
109
- if (partial.length > 0) {
110
- process.stderr.write("[pre-commit] Skipping partially staged files:\n");
111
- for (const filePath of partial) {
112
- process.stderr.write(`- ${filePath}\n`);
113
- }
114
- process.stderr.write("Stage full files to format them automatically.\n");
115
- }
116
-
117
- const filteredTargets = filterOutPartialTargets(targets, partial);
118
- if (filteredTargets.length === 0) return;
119
-
120
- const oxfmt = resolveOxfmtCommand(repoRoot);
121
- if (!oxfmt) {
122
- process.stderr.write("[pre-commit] oxfmt not found; skipping format.\n");
123
- return;
124
- }
125
-
126
- if (!formatFiles(repoRoot, oxfmt, filteredTargets)) {
127
- process.exitCode = 1;
128
- return;
129
- }
130
-
131
- if (!stageFiles(repoRoot, filteredTargets)) {
132
- process.exitCode = 1;
133
- }
134
- }
135
-
136
- export {
137
- filterOxfmtTargets,
138
- filterOutPartialTargets,
139
- findPartiallyStagedFiles,
140
- getRepoRoot,
141
- normalizeGitPath,
142
- resolveOxfmtCommand,
143
- splitNullDelimited,
144
- };
145
-
146
- if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
147
- main();
148
- }