@poolzin/pool-bot 2026.2.1 → 2026.2.3

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 (155) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/README-header.png +0 -0
  3. package/dist/acp/server.js +2 -0
  4. package/dist/agents/agent-paths.js +3 -1
  5. package/dist/agents/anthropic-payload-log.js +2 -2
  6. package/dist/agents/bash-tools.exec.js +1 -1
  7. package/dist/agents/bash-tools.shared.js +2 -1
  8. package/dist/agents/cache-trace.js +5 -5
  9. package/dist/agents/cli-runner.js +1 -1
  10. package/dist/agents/context.js +1 -1
  11. package/dist/agents/live-auth-keys.js +2 -2
  12. package/dist/agents/model-catalog.js +1 -1
  13. package/dist/agents/pi-embedded-runner/compact.js +7 -10
  14. package/dist/agents/pi-embedded-runner/model.js +1 -1
  15. package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
  16. package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
  17. package/dist/agents/sandbox/browser.js +5 -0
  18. package/dist/agents/shell-utils.js +1 -1
  19. package/dist/agents/skills/bundled-dir.js +1 -1
  20. package/dist/agents/synthetic-models.js +8 -0
  21. package/dist/agents/tools/image-tool.js +1 -1
  22. package/dist/agents/workspace.js +1 -1
  23. package/dist/auto-reply/envelope.js +52 -38
  24. package/dist/auto-reply/reply/get-reply.js +1 -1
  25. package/dist/auto-reply/reply/mentions.js +1 -1
  26. package/dist/build-info.json +2 -2
  27. package/dist/canvas-host/a2ui/index.html +28 -28
  28. package/dist/canvas-host/server.js +1 -1
  29. package/dist/channels/plugins/catalog.js +1 -1
  30. package/dist/cli/banner.js +12 -12
  31. package/dist/cli/browser-cli-manage.js +10 -10
  32. package/dist/cli/browser-cli.js +1 -1
  33. package/dist/cli/channel-options.js +1 -1
  34. package/dist/cli/cli-name.js +1 -1
  35. package/dist/cli/command-format.js +1 -1
  36. package/dist/cli/daemon-cli/install.js +1 -1
  37. package/dist/cli/daemon-cli/shared.js +8 -3
  38. package/dist/cli/daemon-cli/status.gather.js +2 -2
  39. package/dist/cli/daemon-cli/status.print.js +3 -3
  40. package/dist/cli/gateway-cli/dev.js +1 -1
  41. package/dist/cli/gateway-cli/run.js +11 -6
  42. package/dist/cli/gateway-cli/shared.js +1 -1
  43. package/dist/cli/node-cli/daemon.js +2 -1
  44. package/dist/cli/profile.js +10 -4
  45. package/dist/cli/program/help.js +1 -1
  46. package/dist/cli/program/preaction.js +1 -1
  47. package/dist/cli/program/register.agent.js +4 -4
  48. package/dist/cli/program/register.onboard.js +1 -1
  49. package/dist/cli/program/register.setup.js +1 -1
  50. package/dist/cli/program/register.subclis.js +2 -2
  51. package/dist/cli/route.js +1 -1
  52. package/dist/cli/tagline.js +8 -8
  53. package/dist/cli/update-cli.js +12 -10
  54. package/dist/commands/auth-choice-options.js +104 -33
  55. package/dist/commands/auth-choice.apply.oauth.js +1 -1
  56. package/dist/commands/configure.wizard.js +10 -10
  57. package/dist/commands/daemon-install-helpers.js +1 -1
  58. package/dist/commands/dashboard.js +1 -1
  59. package/dist/commands/doctor-format.js +3 -3
  60. package/dist/commands/doctor-gateway-daemon-flow.js +3 -3
  61. package/dist/commands/doctor-gateway-services.js +2 -2
  62. package/dist/commands/doctor-platform-notes.js +23 -8
  63. package/dist/commands/doctor-update.js +1 -1
  64. package/dist/commands/gateway-status/helpers.js +2 -2
  65. package/dist/commands/health.js +2 -2
  66. package/dist/commands/models/list.registry.js +1 -1
  67. package/dist/commands/node-daemon-install-helpers.js +1 -1
  68. package/dist/commands/onboard-helpers.js +6 -6
  69. package/dist/commands/status-all.js +2 -2
  70. package/dist/commands/status.gateway-probe.js +2 -2
  71. package/dist/commands/status.scan.js +2 -2
  72. package/dist/compat/legacy-names.js +2 -0
  73. package/dist/config/io.js +5 -3
  74. package/dist/config/paths.js +15 -14
  75. package/dist/config/schema.field-metadata.js +1 -1
  76. package/dist/config/schema.js +1 -1
  77. package/dist/config/sessions/store.js +1 -1
  78. package/dist/control-ui/assets/{index-CIRDm-Lu.css → index-CSfXd2LO.css} +1 -1
  79. package/dist/control-ui/assets/{index-CmNMuoem.js → index-HRr1grwl.js} +446 -413
  80. package/dist/control-ui/assets/index-HRr1grwl.js.map +1 -0
  81. package/dist/control-ui/index.html +4 -4
  82. package/dist/cron/isolated-agent/run.js +1 -0
  83. package/dist/daemon/inspect.js +1 -1
  84. package/dist/daemon/launchd.js +5 -5
  85. package/dist/daemon/node-service.js +14 -0
  86. package/dist/daemon/paths.js +2 -2
  87. package/dist/daemon/schtasks.js +6 -6
  88. package/dist/daemon/service-env.js +25 -5
  89. package/dist/daemon/systemd.js +6 -6
  90. package/dist/entry.js +3 -2
  91. package/dist/gateway/auth.js +3 -3
  92. package/dist/gateway/call.js +2 -2
  93. package/dist/gateway/server/ws-connection/message-handler.js +1 -1
  94. package/dist/gateway/server-browser.js +2 -2
  95. package/dist/gateway/server-constants.js +2 -2
  96. package/dist/gateway/server-cron.js +1 -1
  97. package/dist/gateway/server-discovery-runtime.js +2 -2
  98. package/dist/gateway/server-discovery.js +2 -2
  99. package/dist/gateway/server-reload-handlers.js +4 -4
  100. package/dist/gateway/server-runtime-config.js +2 -2
  101. package/dist/gateway/server-startup.js +4 -4
  102. package/dist/gateway/server.impl.js +3 -2
  103. package/dist/gateway/test-helpers.mocks.js +14 -7
  104. package/dist/gateway/test-helpers.server.js +60 -22
  105. package/dist/hooks/bundled-dir.js +1 -1
  106. package/dist/hooks/gmail-watcher.js +1 -1
  107. package/dist/infra/bonjour.js +1 -1
  108. package/dist/infra/diagnostic-flags.js +3 -2
  109. package/dist/infra/dotenv.js +1 -1
  110. package/dist/infra/format-time/format-datetime.js +1 -1
  111. package/dist/infra/gateway-lock.js +1 -1
  112. package/dist/infra/home-dir.js +1 -1
  113. package/dist/infra/path-env.js +2 -1
  114. package/dist/infra/restart.js +3 -3
  115. package/dist/infra/shell-env.js +3 -3
  116. package/dist/infra/state-migrations.js +3 -3
  117. package/dist/infra/system-presence.js +1 -1
  118. package/dist/infra/update-runner.js +1 -1
  119. package/dist/infra/widearea-dns.js +1 -1
  120. package/dist/macos/gateway-daemon.js +6 -4
  121. package/dist/macos/relay-smoke.js +1 -1
  122. package/dist/macos/relay.js +1 -1
  123. package/dist/media/image-ops.js +2 -2
  124. package/dist/media/store.js +2 -0
  125. package/dist/media-understanding/providers/image.js +1 -1
  126. package/dist/memory/batch-gemini.js +1 -1
  127. package/dist/memory/embeddings-gemini.js +1 -1
  128. package/dist/node-host/runner.js +3 -2
  129. package/dist/plugins/bundled-dir.js +1 -1
  130. package/dist/plugins/manifest-registry.js +2 -2
  131. package/dist/security/audit-extra.sync.js +1 -1
  132. package/dist/security/audit.js +3 -2
  133. package/dist/telegram/accounts.js +1 -1
  134. package/dist/telegram/bot-message-dispatch.js +6 -2
  135. package/dist/telegram/network-config.js +6 -4
  136. package/dist/test-helpers/state-dir-env.js +8 -0
  137. package/dist/tts/tts.js +1 -1
  138. package/dist/tui/gateway-chat.js +2 -1
  139. package/dist/utils.js +2 -2
  140. package/dist/version.js +1 -1
  141. package/dist/wizard/clack-prompter.js +9 -6
  142. package/dist/wizard/onboarding.finalize.js +1 -1
  143. package/dist/wizard/onboarding.js +2 -2
  144. package/extensions/googlechat/node_modules/.bin/poolbot +21 -0
  145. package/extensions/googlechat/package.json +2 -2
  146. package/extensions/line/node_modules/.bin/poolbot +21 -0
  147. package/extensions/line/package.json +1 -1
  148. package/extensions/matrix/node_modules/.bin/poolbot +21 -0
  149. package/extensions/matrix/package.json +1 -1
  150. package/extensions/memory-core/node_modules/.bin/poolbot +21 -0
  151. package/extensions/memory-core/package.json +4 -1
  152. package/extensions/twitch/node_modules/.bin/poolbot +21 -0
  153. package/extensions/twitch/package.json +1 -1
  154. package/package.json +183 -24
  155. package/dist/control-ui/assets/index-CmNMuoem.js.map +0 -1
@@ -131,13 +131,14 @@ export function resolveGatewayConnection(opts) {
131
131
  ? typeof remote?.token === "string" && remote.token.trim().length > 0
132
132
  ? remote.token.trim()
133
133
  : undefined
134
- : process.env.CLAWDBOT_GATEWAY_TOKEN?.trim() ||
134
+ : process.env.POOLBOT_GATEWAY_TOKEN?.trim() || process.env.CLAWDBOT_GATEWAY_TOKEN?.trim() ||
135
135
  (typeof authToken === "string" && authToken.trim().length > 0
136
136
  ? authToken.trim()
137
137
  : undefined));
138
138
  const password = (typeof opts.password === "string" && opts.password.trim().length > 0
139
139
  ? opts.password.trim()
140
140
  : undefined) ||
141
+ process.env.POOLBOT_GATEWAY_PASSWORD?.trim() ||
141
142
  process.env.CLAWDBOT_GATEWAY_PASSWORD?.trim() ||
142
143
  (typeof remote?.password === "string" && remote.password.trim().length > 0
143
144
  ? remote.password.trim()
package/dist/utils.js CHANGED
@@ -230,7 +230,7 @@ export function resolveUserPath(input) {
230
230
  return path.resolve(trimmed);
231
231
  }
232
232
  export function resolveConfigDir(env = process.env, homedir = os.homedir) {
233
- const override = env.CLAWDBOT_STATE_DIR?.trim();
233
+ const override = env.POOLBOT_STATE_DIR?.trim() || env.CLAWDBOT_STATE_DIR?.trim();
234
234
  if (override)
235
235
  return resolveUserPath(override);
236
236
  return path.join(homedir(), ".poolbot");
@@ -284,5 +284,5 @@ export function isPlainObject(value) {
284
284
  const proto = Object.getPrototypeOf(value);
285
285
  return proto === Object.prototype || proto === null;
286
286
  }
287
- // Configuration root; can be overridden via CLAWDBOT_STATE_DIR.
287
+ // Configuration root; can be overridden via POOLBOT_STATE_DIR (or CLAWDBOT_STATE_DIR).
288
288
  export const CONFIG_DIR = resolveConfigDir();
package/dist/version.js CHANGED
@@ -50,6 +50,6 @@ export function resolveVersionFromModuleUrl(moduleUrl) {
50
50
  // - Embedded/bundled builds: injected define or env var.
51
51
  // - Dev/npm builds: package.json.
52
52
  export const VERSION = (typeof __CLAWDBOT_VERSION__ === "string" && __CLAWDBOT_VERSION__) ||
53
- process.env.CLAWDBOT_BUNDLED_VERSION ||
53
+ process.env.POOLBOT_BUNDLED_VERSION || process.env.CLAWDBOT_BUNDLED_VERSION ||
54
54
  resolveVersionFromModuleUrl(import.meta.url) ||
55
55
  "0.0.0";
@@ -38,12 +38,15 @@ export function createClackPrompter() {
38
38
  }),
39
39
  initialValues: params.initialValues,
40
40
  })),
41
- text: async (params) => guardCancel(await text({
42
- message: stylePromptMessage(params.message),
43
- initialValue: params.initialValue,
44
- placeholder: params.placeholder,
45
- validate: params.validate,
46
- })),
41
+ text: async (params) => {
42
+ const validate = params.validate;
43
+ return guardCancel(await text({
44
+ message: stylePromptMessage(params.message),
45
+ initialValue: params.initialValue,
46
+ placeholder: params.placeholder,
47
+ validate: validate ? (value) => validate(value ?? "") : undefined,
48
+ }));
49
+ },
47
50
  confirm: async (params) => guardCancel(await confirm({
48
51
  message: stylePromptMessage(params.message),
49
52
  initialValue: params.initialValue,
@@ -218,7 +218,7 @@ export async function finalizeOnboardingWizard(options) {
218
218
  }
219
219
  await prompter.note([
220
220
  "Gateway token: shared auth for the Gateway + Control UI.",
221
- "Stored in: ~/.poolbot/poolbot.json (gateway.auth.token) or CLAWDBOT_GATEWAY_TOKEN.",
221
+ "Stored in: ~/.poolbot/poolbot.json (gateway.auth.token) or POOLBOT_GATEWAY_TOKEN.",
222
222
  "Web UI stores a copy in this browser's localStorage (poolbot.control.settings.v1).",
223
223
  `Get the tokenized link anytime: ${formatCliCommand("poolbot dashboard --no-open")}`,
224
224
  ].join("\n"), "Token");
@@ -217,8 +217,8 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
217
217
  const localUrl = `ws://127.0.0.1:${localPort}`;
218
218
  const localProbe = await probeGatewayReachable({
219
219
  url: localUrl,
220
- token: baseConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
221
- password: baseConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD,
220
+ token: baseConfig.gateway?.auth?.token ?? process.env.POOLBOT_GATEWAY_TOKEN ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
221
+ password: baseConfig.gateway?.auth?.password ?? process.env.POOLBOT_GATEWAY_PASSWORD ?? process.env.CLAWDBOT_GATEWAY_PASSWORD,
222
222
  });
223
223
  const remoteUrl = baseConfig.gateway?.remote?.url?.trim() ?? "";
224
224
  const remoteProbe = remoteUrl
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
19
+ else
20
+ exec node "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
21
+ fi
@@ -31,9 +31,9 @@
31
31
  "google-auth-library": "^10.5.0"
32
32
  },
33
33
  "devDependencies": {
34
- "poolbot": "workspace:*"
34
+ "@poolzin/pool-bot": "workspace:*"
35
35
  },
36
36
  "peerDependencies": {
37
- "poolbot": ">=2026.1.26"
37
+ "@poolzin/pool-bot": ">=2026.1.26"
38
38
  }
39
39
  }
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
19
+ else
20
+ exec node "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
21
+ fi
@@ -24,6 +24,6 @@
24
24
  }
25
25
  },
26
26
  "devDependencies": {
27
- "poolbot": "workspace:*"
27
+ "@poolzin/pool-bot": "workspace:*"
28
28
  }
29
29
  }
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
19
+ else
20
+ exec node "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
21
+ fi
@@ -31,6 +31,6 @@
31
31
  "zod": "^4.3.6"
32
32
  },
33
33
  "devDependencies": {
34
- "poolbot": "workspace:*"
34
+ "@poolzin/pool-bot": "workspace:*"
35
35
  }
36
36
  }
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
19
+ else
20
+ exec node "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
21
+ fi
@@ -8,7 +8,10 @@
8
8
  "./index.ts"
9
9
  ]
10
10
  },
11
+ "devDependencies": {
12
+ "@poolzin/pool-bot": "workspace:*"
13
+ },
11
14
  "peerDependencies": {
12
- "poolbot": ">=2026.1.26"
15
+ "@poolzin/pool-bot": ">=2026.1.26"
13
16
  }
14
17
  }
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/pool/Documents/GitHub/pool-bot/dist/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules:/Users/pool/Documents/GitHub/node_modules:/Users/pool/Documents/node_modules:/Users/pool/node_modules:/Users/node_modules:/node_modules:/Users/pool/Documents/GitHub/pool-bot/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
19
+ else
20
+ exec node "$basedir/../@poolzin/pool-bot/dist/entry.js" "$@"
21
+ fi
@@ -10,7 +10,7 @@
10
10
  "zod": "^4.3.5"
11
11
  },
12
12
  "devDependencies": {
13
- "poolbot": "workspace:*"
13
+ "@poolzin/pool-bot": "workspace:*"
14
14
  },
15
15
  "poolbot": {
16
16
  "extensions": [
package/package.json CHANGED
@@ -1,7 +1,25 @@
1
1
  {
2
2
  "name": "@poolzin/pool-bot",
3
- "version": "2026.2.1",
3
+ "version": "2026.2.3",
4
4
  "description": "🎱 Pool Bot - AI assistant with PLCODE integrations",
5
+ "keywords": [],
6
+ "license": "MIT",
7
+ "author": "",
8
+ "bin": {
9
+ "poolbot": "dist/entry.js"
10
+ },
11
+ "files": [
12
+ "assets/",
13
+ "CHANGELOG.md",
14
+ "dist/",
15
+ "docs/",
16
+ "extensions/",
17
+ "LICENSE",
18
+ "patches/",
19
+ "README-header.png",
20
+ "README.md",
21
+ "skills/"
22
+ ],
5
23
  "type": "module",
6
24
  "main": "dist/index.js",
7
25
  "exports": {
@@ -10,38 +28,179 @@
10
28
  "./plugin-sdk/*": "./dist/plugin-sdk/*",
11
29
  "./cli-entry": "./dist/entry.js"
12
30
  },
13
- "bin": {
14
- "poolbot": "dist/entry.js"
15
- },
16
- "files": [
17
- "dist/**",
18
- "docs/**",
19
- "extensions/**",
20
- "assets/**",
21
- "skills/**",
22
- "patches/**",
23
- "README.md",
24
- "LICENSE",
25
- "package.json"
26
- ],
27
31
  "scripts": {
32
+ "android:assemble": "cd apps/android && ./gradlew :app:assembleDebug",
33
+ "android:install": "cd apps/android && ./gradlew :app:installDebug",
34
+ "android:run": "cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity",
35
+ "android:test": "cd apps/android && ./gradlew :app:testDebugUnitTest",
36
+ "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",
37
+ "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh",
38
+ "check": "pnpm format:check && pnpm build && pnpm lint",
39
+ "check:docs": "pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links",
40
+ "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500",
28
41
  "dev": "node scripts/run-node.mjs",
29
- "build": "tsc -p tsconfig.json && node --import tsx scripts/write-build-info.ts",
42
+ "docs:bin": "node scripts/build-docs-list.mjs",
43
+ "docs:check-links": "node scripts/docs-link-audit.mjs",
44
+ "docs:dev": "cd docs && mint dev",
45
+ "docs:list": "node scripts/docs-list.js",
46
+ "format": "oxfmt --write",
47
+ "format:all": "pnpm format && pnpm format:swift",
48
+ "format:check": "oxfmt --check",
49
+ "format:docs": "git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write",
50
+ "format:docs:check": "git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check",
51
+ "format:swift": "swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources",
52
+ "gateway:dev": "POOLBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
53
+ "gateway:dev:reset": "POOLBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
54
+ "gateway:watch": "node scripts/watch-node.mjs gateway --force",
55
+ "ios:build": "bash -lc 'cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'",
56
+ "ios:gen": "cd apps/ios && xcodegen generate",
57
+ "ios:open": "cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj",
58
+ "ios:run": "bash -lc 'cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.openclaw.ios'",
59
+ "lint": "oxlint --type-aware",
60
+ "lint:all": "pnpm lint && pnpm lint:swift",
61
+ "lint:docs": "pnpm dlx markdownlint-cli2",
62
+ "lint:docs:fix": "pnpm dlx markdownlint-cli2 --fix",
63
+ "lint:fix": "oxlint --type-aware --fix && pnpm format",
64
+ "lint:swift": "swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)",
65
+ "mac:open": "open dist/PoolBot.app",
66
+ "mac:package": "bash scripts/package-mac-app.sh",
67
+ "mac:restart": "bash scripts/restart-mac.sh",
68
+ "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
69
+ "poolbot": "node scripts/run-node.mjs",
70
+ "poolbot:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
71
+ "prepack": "pnpm build && pnpm ui:build",
72
+ "prepare": "command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0",
73
+ "protocol:check": "pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift",
74
+ "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
75
+ "protocol:gen:swift": "node --import tsx scripts/protocol-gen-swift.ts",
76
+ "release:check": "node --import tsx scripts/release-check.ts",
30
77
  "start": "node scripts/run-node.mjs",
31
- "lint": "oxlint --type-aware src test",
32
- "test": "vitest"
78
+ "test": "node scripts/test-parallel.mjs",
79
+ "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
80
+ "test:coverage": "vitest run --coverage",
81
+ "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",
82
+ "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
83
+ "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
84
+ "test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
85
+ "test:docker:live-gateway": "bash scripts/test-live-gateway-models-docker.sh",
86
+ "test:docker:live-models": "bash scripts/test-live-models-docker.sh",
87
+ "test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
88
+ "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
89
+ "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
90
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
91
+ "test:force": "node --import tsx scripts/test-force.ts",
92
+ "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
93
+ "test:live": "POOLBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts",
94
+ "test:ui": "pnpm --dir ui test",
95
+ "test:watch": "vitest",
96
+ "tui": "node scripts/run-node.mjs tui",
97
+ "tui:dev": "POOLBOT_PROFILE=dev node scripts/run-node.mjs --dev tui",
98
+ "ui:build": "node scripts/ui.js build",
99
+ "ui:dev": "node scripts/ui.js dev",
100
+ "ui:install": "node scripts/ui.js install"
33
101
  },
34
102
  "dependencies": {
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:./"
103
+ "@agentclientprotocol/sdk": "0.14.1",
104
+ "@aws-sdk/client-bedrock": "^3.986.0",
105
+ "@buape/carbon": "0.14.0",
106
+ "@clack/prompts": "^1.0.0",
107
+ "@grammyjs/runner": "^2.0.3",
108
+ "@grammyjs/transformer-throttler": "^1.2.1",
109
+ "@homebridge/ciao": "^1.3.5",
110
+ "@larksuiteoapi/node-sdk": "^1.58.0",
111
+ "@line/bot-sdk": "^10.6.0",
112
+ "@lydell/node-pty": "1.2.0-beta.3",
113
+ "@mariozechner/pi-agent-core": "0.52.9",
114
+ "@mariozechner/pi-ai": "0.52.9",
115
+ "@mariozechner/pi-coding-agent": "0.52.9",
116
+ "@mariozechner/pi-tui": "0.52.9",
117
+ "@mozilla/readability": "^0.6.0",
118
+ "@sinclair/typebox": "0.34.48",
119
+ "@slack/bolt": "^4.6.0",
120
+ "@slack/web-api": "^7.13.0",
121
+ "@whiskeysockets/baileys": "7.0.0-rc.9",
122
+ "ajv": "^8.17.1",
123
+ "chalk": "^5.6.2",
124
+ "chokidar": "^5.0.0",
125
+ "cli-highlight": "^2.1.11",
126
+ "commander": "^14.0.3",
127
+ "croner": "^10.0.1",
128
+ "discord-api-types": "^0.38.38",
129
+ "dotenv": "^17.2.4",
130
+ "express": "^5.2.1",
131
+ "file-type": "^21.3.0",
132
+ "grammy": "^1.40.0",
133
+ "jiti": "^2.6.1",
134
+ "json5": "^2.2.3",
135
+ "jszip": "^3.10.1",
136
+ "linkedom": "^0.18.12",
137
+ "long": "^5.3.2",
138
+ "markdown-it": "^14.1.0",
139
+ "node-edge-tts": "^1.2.10",
140
+ "osc-progress": "^0.3.0",
141
+ "pdfjs-dist": "^5.4.624",
142
+ "playwright-core": "1.58.2",
143
+ "proper-lockfile": "^4.1.2",
144
+ "qrcode-terminal": "^0.12.0",
145
+ "sharp": "^0.34.5",
146
+ "signal-utils": "^0.21.1",
147
+ "sqlite-vec": "0.1.7-alpha.2",
148
+ "tar": "7.5.7",
149
+ "tslog": "^4.10.2",
150
+ "undici": "^7.21.0",
151
+ "ws": "^8.19.0",
152
+ "yaml": "^2.8.2",
153
+ "zod": "^4.3.6"
39
154
  },
40
155
  "devDependencies": {
156
+ "@grammyjs/types": "^3.24.0",
157
+ "@lit-labs/signals": "^0.2.0",
158
+ "@lit/context": "^1.1.6",
159
+ "@types/express": "^5.0.6",
160
+ "@types/markdown-it": "^14.1.2",
161
+ "@types/node": "^25.2.2",
162
+ "@types/proper-lockfile": "^4.1.4",
163
+ "@types/qrcode-terminal": "^0.12.2",
164
+ "@types/ws": "^8.18.1",
165
+ "@typescript/native-preview": "7.0.0-dev.20260209.1",
166
+ "@vitest/coverage-v8": "^4.0.18",
167
+ "lit": "^3.3.2",
168
+ "ollama": "^0.6.3",
169
+ "oxfmt": "0.28.0",
170
+ "oxlint": "^1.43.0",
171
+ "oxlint-tsgolint": "^0.11.5",
172
+ "tsx": "^4.21.0",
41
173
  "typescript": "^5.9.3",
42
- "vitest": "^4.0.0"
174
+ "vitest": "^4.0.18"
175
+ },
176
+ "peerDependencies": {
177
+ "@napi-rs/canvas": "^0.1.89",
178
+ "node-llama-cpp": "3.15.1"
43
179
  },
44
180
  "engines": {
45
181
  "node": ">=22.12.0"
182
+ },
183
+ "packageManager": "pnpm@10.23.0",
184
+ "pnpm": {
185
+ "minimumReleaseAge": 2880,
186
+ "overrides": {
187
+ "fast-xml-parser": "5.3.4",
188
+ "form-data": "2.5.4",
189
+ "qs": "6.14.1",
190
+ "@sinclair/typebox": "0.34.48",
191
+ "tar": "7.5.7",
192
+ "tough-cookie": "4.1.3"
193
+ },
194
+ "onlyBuiltDependencies": [
195
+ "@lydell/node-pty",
196
+ "@matrix-org/matrix-sdk-crypto-nodejs",
197
+ "@napi-rs/canvas",
198
+ "@whiskeysockets/baileys",
199
+ "authenticate-pam",
200
+ "esbuild",
201
+ "node-llama-cpp",
202
+ "protobufjs",
203
+ "sharp"
204
+ ]
46
205
  }
47
- }
206
+ }