@poolzin/pool-bot 2026.1.38 → 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.
- package/assets/chrome-extension/README.md +3 -3
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +4 -4
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +3 -3
- package/dist/acp/types.js +1 -1
- package/dist/agents/agent-paths.js +3 -3
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/cli-runner/helpers.js +1 -1
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/cloudflare-ai-gateway.js +31 -0
- package/dist/agents/compaction.js +16 -2
- package/dist/agents/context-window-guard.js +13 -10
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +1 -1
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +12 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-selection.js +10 -4
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +147 -39
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
- package/dist/agents/pi-embedded-runner/run.js +4 -4
- package/dist/agents/pi-embedded-runner/tool-result-truncation.js +275 -0
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-model-discovery.js +10 -0
- package/dist/agents/pi-tool-definition-adapter.js +50 -9
- package/dist/agents/pi-tools.before-tool-call.js +67 -0
- package/dist/agents/pi-tools.js +10 -5
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/session-file-repair.js +83 -0
- package/dist/agents/session-transcript-repair.js +68 -0
- package/dist/agents/skills/frontmatter.js +1 -1
- package/dist/agents/skills/workspace.js +2 -2
- package/dist/agents/system-prompt.js +28 -4
- package/dist/agents/together-models.js +127 -0
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +1 -1
- package/dist/agents/tools/browser-tool.js +3 -3
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/memory-tool.js +94 -7
- package/dist/agents/tools/web-search.js +1 -1
- package/dist/agents/workspace.js +1 -5
- package/dist/auto-reply/commands-registry.data.js +1 -1
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-session.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +14 -4
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/inbound-context.js +4 -0
- package/dist/auto-reply/reply/inbound-meta.js +130 -0
- package/dist/auto-reply/reply/untrusted-context.js +15 -0
- package/dist/auto-reply/status.js +1 -1
- package/dist/browser/client-fetch.js +1 -1
- package/dist/browser/config.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/server-context.js +2 -2
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui.js +3 -3
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -17
- package/dist/channels/plugins/catalog.js +2 -2
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +1 -1
- package/dist/channels/plugins/onboarding/slack.js +4 -4
- package/dist/channels/plugins/onboarding/whatsapp.js +3 -3
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/cli/browser-cli-extension.js +2 -2
- package/dist/cli/docs-cli.js +1 -1
- package/dist/cli/gateway-cli/dev.js +1 -1
- package/dist/cli/memory-cli.js +25 -15
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/plugins-cli.js +1 -1
- package/dist/cli/run-main.js +2 -2
- package/dist/cli/security-cli.js +1 -1
- package/dist/cli/tagline.js +1 -1
- package/dist/cli/update-cli.js +4 -4
- package/dist/cli/webhooks-cli.js +5 -5
- package/dist/commands/agents.commands.add.js +1 -1
- package/dist/commands/auth-choice.apply.api-providers.js +305 -17
- package/dist/commands/auth-choice.apply.js +4 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/auth-choice.apply.xai.js +63 -0
- package/dist/commands/auth-choice.preferred-provider.js +7 -1
- package/dist/commands/configure.wizard.js +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/docs.js +1 -1
- package/dist/commands/doctor-gateway-services.js +3 -3
- package/dist/commands/doctor-state-integrity.js +2 -14
- package/dist/commands/doctor-update.js +3 -3
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +2 -2
- package/dist/commands/onboard-auth.config-core.js +366 -28
- package/dist/commands/onboard-auth.credentials.js +71 -9
- package/dist/commands/onboard-auth.js +3 -3
- package/dist/commands/onboard-auth.models.js +26 -24
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +140 -6
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status.command.js +1 -1
- package/dist/commands/uninstall.js +3 -3
- package/dist/compat/legacy-names.js +1 -1
- package/dist/config/io.js +3 -3
- package/dist/config/schema.js +1 -1
- package/dist/config/types.js +0 -1
- package/dist/config/types.memory.js +1 -0
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.js +0 -6
- package/dist/daemon/constants.js +7 -7
- package/dist/daemon/inspect.js +6 -6
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/discord/monitor/message-handler.process.js +6 -4
- package/dist/gateway/client.js +0 -14
- package/dist/gateway/live-image-probe.js +1 -66
- package/dist/gateway/openai-http.js +2 -2
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/server-discovery.js +2 -2
- package/dist/gateway/server-http.js +1 -1
- package/dist/gateway/server.impl.js +2 -6
- package/dist/hooks/frontmatter.js +1 -1
- package/dist/hooks/hooks-status.js +1 -1
- package/dist/hooks/install.js +2 -2
- package/dist/hooks/loader.js +1 -1
- package/dist/hooks/workspace.js +3 -3
- package/dist/index.js +2 -2
- package/dist/infra/bonjour.js +3 -3
- package/dist/infra/path-env.js +3 -3
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/restart.js +1 -1
- package/dist/infra/tailscale.js +1 -1
- package/dist/macos/relay.js +2 -2
- package/dist/media/input-files.js +1 -1
- package/dist/media/mime.js +4 -0
- package/dist/media/png-encode.js +74 -0
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/memory/backend-config.js +207 -0
- package/dist/memory/embeddings.js +1 -1
- package/dist/memory/index.js +0 -5
- package/dist/memory/manager.js +3 -25
- package/dist/memory/types.js +1 -0
- package/dist/node-host/runner.js +2 -2
- package/dist/pairing/pairing-messages.js +1 -1
- package/dist/plugins/discovery.js +1 -1
- package/dist/plugins/install.js +2 -2
- package/dist/plugins/update.js +1 -1
- package/dist/security/audit.js +2 -2
- package/dist/shared/text/reasoning-tags.js +52 -7
- package/dist/slack/monitor/message-handler/prepare.js +10 -4
- package/dist/slack/monitor/slash.js +10 -4
- package/dist/tailscale/detect.js +146 -0
- package/dist/telegram/bot-message-context.js +1 -1
- package/dist/test-helpers/workspace.js +11 -0
- package/dist/test-utils/channel-plugins.js +82 -0
- package/dist/test-utils/ports.js +73 -0
- package/dist/utils/shell-argv.js +61 -0
- package/dist/utils.js +10 -0
- package/dist/web/qr-image.js +1 -61
- package/dist/wizard/onboarding.finalize.js +7 -7
- package/dist/wizard/onboarding.js +3 -3
- package/docs/RELEASE_WORKFOTS_COMPARISON.md +3 -3
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/concepts/typebox.md +1 -1
- package/docs/docs.json +1 -1
- package/docs/northflank.mdx +7 -7
- package/docs/railway.mdx +3 -3
- package/docs/render.mdx +5 -5
- package/docs/start/lore.md +2 -2
- package/extensions/bluebubbles/index.ts +2 -2
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/bluebubbles/src/accounts.ts +8 -8
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +5 -5
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +16 -16
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +46 -46
- package/extensions/bluebubbles/src/monitor.ts +5 -5
- package/extensions/bluebubbles/src/onboarding.ts +7 -7
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/README.md +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/index.ts +2 -2
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diagnostics-otel/src/service.ts +3 -3
- package/extensions/discord/index.ts +2 -2
- package/extensions/discord/package.json +1 -1
- package/extensions/google-antigravity-auth/README.md +1 -1
- package/extensions/google-antigravity-auth/index.ts +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/README.md +1 -1
- package/extensions/google-gemini-cli-auth/oauth.ts +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/index.ts +3 -3
- package/extensions/googlechat/package.json +1 -1
- package/extensions/googlechat/src/accounts.ts +8 -8
- package/extensions/googlechat/src/actions.ts +6 -6
- package/extensions/googlechat/src/channel.ts +21 -21
- package/extensions/googlechat/src/monitor.ts +8 -8
- package/extensions/googlechat/src/onboarding.ts +10 -10
- package/extensions/imessage/index.ts +2 -2
- package/extensions/imessage/package.json +1 -1
- package/extensions/line/index.ts +2 -2
- package/extensions/line/package.json +1 -1
- package/extensions/line/src/card-command.ts +2 -2
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +3 -3
- package/extensions/llm-task/README.md +3 -3
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +1 -1
- package/extensions/llm-task/src/llm-task-tool.ts +4 -4
- package/extensions/lobster/README.md +6 -6
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/src/lobster-tool.test.ts +4 -4
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/index.ts +2 -2
- package/extensions/matrix/package.json +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +1 -1
- package/extensions/mattermost/index.ts +2 -2
- package/extensions/mattermost/package.json +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
- package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
- package/extensions/mattermost/src/onboarding.ts +2 -2
- package/extensions/memory-core/index.ts +2 -2
- package/extensions/memory-core/package.json +1 -4
- package/extensions/memory-lancedb/index.ts +3 -3
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/msteams/index.ts +2 -2
- package/extensions/msteams/package.json +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +2 -2
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +2 -2
- package/extensions/msteams/src/onboarding.ts +9 -9
- package/extensions/msteams/src/reply-dispatcher.ts +2 -2
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +4 -4
- package/extensions/nextcloud-talk/index.ts +2 -2
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nextcloud-talk/src/channel.ts +7 -7
- package/extensions/nextcloud-talk/src/inbound.ts +7 -7
- package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
- package/extensions/nostr/README.md +2 -2
- package/extensions/nostr/index.ts +5 -5
- package/extensions/nostr/package.json +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/qwen-portal-auth/README.md +1 -1
- package/extensions/signal/index.ts +2 -2
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/index.ts +2 -2
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/index.ts +2 -2
- package/extensions/telegram/package.json +1 -1
- package/extensions/telegram/src/channel.ts +2 -2
- package/extensions/tlon/README.md +2 -2
- package/extensions/tlon/index.ts +2 -2
- package/extensions/tlon/package.json +1 -1
- package/extensions/tlon/src/channel.ts +13 -13
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +3 -3
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/twitch/README.md +1 -1
- package/extensions/twitch/index.ts +2 -2
- package/extensions/twitch/package.json +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +3 -3
- package/extensions/twitch/src/onboarding.ts +9 -9
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +8 -8
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +4 -4
- package/extensions/twitch/src/token.test.ts +8 -8
- package/extensions/twitch/src/token.ts +3 -3
- package/extensions/twitch/src/twitch-client.ts +3 -3
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/README.md +3 -3
- package/extensions/voice-call/package.json +1 -1
- package/extensions/voice-call/src/core-bridge.ts +2 -2
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/whatsapp/index.ts +2 -2
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/README.md +1 -1
- package/extensions/zalo/index.ts +2 -2
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalo/src/accounts.ts +8 -8
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +18 -18
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +24 -24
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalouser/README.md +2 -2
- package/extensions/zalouser/index.ts +2 -2
- package/extensions/zalouser/package.json +1 -1
- package/extensions/zalouser/src/accounts.ts +9 -9
- package/extensions/zalouser/src/channel.ts +24 -24
- package/extensions/zalouser/src/monitor.ts +4 -4
- package/extensions/zalouser/src/onboarding.ts +28 -28
- package/package.json +13 -250
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/tmux/scripts/find-sessions.sh +1 -1
- package/CHANGELOG.md +0 -200
- package/README-header.png +0 -0
- package/git-hooks/pre-commit +0 -4
- package/scripts/format-staged.js +0 -148
- package/scripts/postinstall.js +0 -300
- package/scripts/setup-git-hooks.js +0 -96
- package/skills/webgpu-threejs-tsl/REFERENCE.md +0 -283
- package/skills/webgpu-threejs-tsl/SKILL.md +0 -91
- package/skills/webgpu-threejs-tsl/docs/compute-shaders.md +0 -404
- package/skills/webgpu-threejs-tsl/docs/core-concepts.md +0 -453
- package/skills/webgpu-threejs-tsl/docs/materials.md +0 -353
- package/skills/webgpu-threejs-tsl/docs/post-processing.md +0 -434
- package/skills/webgpu-threejs-tsl/docs/wgsl-integration.md +0 -324
- package/skills/webgpu-threejs-tsl/examples/basic-setup.js +0 -87
- package/skills/webgpu-threejs-tsl/examples/custom-material.js +0 -170
- package/skills/webgpu-threejs-tsl/examples/earth-shader.js +0 -292
- package/skills/webgpu-threejs-tsl/examples/particle-system.js +0 -259
- package/skills/webgpu-threejs-tsl/examples/post-processing.js +0 -199
- package/skills/webgpu-threejs-tsl/templates/compute-shader.js +0 -305
- package/skills/webgpu-threejs-tsl/templates/webgpu-project.js +0 -276
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poolzin/pool-bot",
|
|
3
|
-
"version": "2026.
|
|
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,271 +14,34 @@
|
|
|
14
14
|
"poolbot": "dist/entry.js"
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
|
-
"dist
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"@
|
|
156
|
-
"@
|
|
157
|
-
"@
|
|
158
|
-
"
|
|
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.8",
|
|
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"
|
|
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:./"
|
|
211
39
|
},
|
|
212
40
|
"devDependencies": {
|
|
213
|
-
"@grammyjs/types": "^3.23.0",
|
|
214
|
-
"@lit-labs/signals": "^0.2.0",
|
|
215
|
-
"@lit/context": "^1.1.6",
|
|
216
|
-
"@mariozechner/mini-lit": "0.2.1",
|
|
217
|
-
"@types/body-parser": "^1.19.6",
|
|
218
|
-
"@types/express": "^5.0.6",
|
|
219
|
-
"@types/markdown-it": "^14.1.2",
|
|
220
|
-
"@types/node": "^25.0.10",
|
|
221
|
-
"@types/proper-lockfile": "^4.1.4",
|
|
222
|
-
"@types/qrcode-terminal": "^0.12.2",
|
|
223
|
-
"@types/ws": "^8.18.1",
|
|
224
|
-
"@typescript/native-preview": "7.0.0-dev.20260124.1",
|
|
225
|
-
"@vitest/coverage-v8": "^4.0.18",
|
|
226
|
-
"docx-preview": "^0.3.7",
|
|
227
|
-
"lit": "^3.3.2",
|
|
228
|
-
"lucide": "^0.563.0",
|
|
229
|
-
"ollama": "^0.6.3",
|
|
230
|
-
"oxfmt": "0.26.0",
|
|
231
|
-
"oxlint": "^1.41.0",
|
|
232
|
-
"oxlint-tsgolint": "^0.11.1",
|
|
233
|
-
"quicktype-core": "^23.2.6",
|
|
234
|
-
"rolldown": "1.0.0-rc.1",
|
|
235
|
-
"signal-utils": "^0.21.1",
|
|
236
|
-
"tsx": "^4.21.0",
|
|
237
41
|
"typescript": "^5.9.3",
|
|
238
|
-
"vitest": "^4.0.
|
|
239
|
-
"wireit": "^0.14.12"
|
|
42
|
+
"vitest": "^4.0.0"
|
|
240
43
|
},
|
|
241
|
-
"
|
|
242
|
-
"
|
|
243
|
-
},
|
|
244
|
-
"pnpm": {
|
|
245
|
-
"minimumReleaseAge": 2880,
|
|
246
|
-
"overrides": {
|
|
247
|
-
"@sinclair/typebox": "0.34.47",
|
|
248
|
-
"hono": "4.11.8",
|
|
249
|
-
"tar": "7.5.7"
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
"vitest": {
|
|
253
|
-
"coverage": {
|
|
254
|
-
"provider": "v8",
|
|
255
|
-
"reporter": [
|
|
256
|
-
"text",
|
|
257
|
-
"lcov"
|
|
258
|
-
],
|
|
259
|
-
"thresholds": {
|
|
260
|
-
"lines": 70,
|
|
261
|
-
"functions": 70,
|
|
262
|
-
"branches": 70,
|
|
263
|
-
"statements": 70
|
|
264
|
-
},
|
|
265
|
-
"include": [
|
|
266
|
-
"src/**/*.ts"
|
|
267
|
-
],
|
|
268
|
-
"exclude": [
|
|
269
|
-
"src/**/*.test.ts"
|
|
270
|
-
]
|
|
271
|
-
},
|
|
272
|
-
"include": [
|
|
273
|
-
"src/**/*.test.ts"
|
|
274
|
-
],
|
|
275
|
-
"exclude": [
|
|
276
|
-
"dist/**",
|
|
277
|
-
"apps/macos/**",
|
|
278
|
-
"apps/macos/.build/**",
|
|
279
|
-
"**/vendor/**",
|
|
280
|
-
"apps/macos/.build/**",
|
|
281
|
-
"dist/Moltbot.app/**"
|
|
282
|
-
]
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=22.12.0"
|
|
283
46
|
}
|
|
284
|
-
}
|
|
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
|
-
#
|
|
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}/
|
|
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,200 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to Pool Bot will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [2026.1.38] - 2026-02-07
|
|
9
|
-
|
|
10
|
-
### 🔒 Security: Bump hono to fix 4 moderate CVEs
|
|
11
|
-
|
|
12
|
-
- **hono 4.11.4 → 4.11.8** — fixes GHSA-9r54-q6cx-xmh5 (XSS via ErrorBoundary), GHSA-6wqw-2p9w-4vw4 (cache middleware ignores Cache-Control: private), GHSA-r354-f388-2fhh (IPv4 validation bypass in IP restriction middleware), GHSA-w332-q679-j88p (arbitrary key read in serve-static Cloudflare adapter).
|
|
13
|
-
- npm audit: 10 → 6 vulnerabilities (4 moderate hono CVEs eliminated).
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## [2026.1.37] - 2026-02-07
|
|
18
|
-
|
|
19
|
-
### 🔒 Security: Remove node-llama-cpp, fix tar vulnerability
|
|
20
|
-
|
|
21
|
-
#### Vulnerabilities Fixed
|
|
22
|
-
- **tar ≤7.5.6 (5× HIGH):** Removed `node-llama-cpp` from `optionalDependencies`, eliminating the entire `tar → cmake-js → node-llama-cpp` vulnerability chain. Updated `tar` override from 7.5.4 → 7.5.7.
|
|
23
|
-
|
|
24
|
-
#### Changes
|
|
25
|
-
- Removed `node-llama-cpp` 3.15.0 from `optionalDependencies` (matching upstream openclaw approach). Local embeddings still work if users install `node-llama-cpp` manually — the dynamic `import()` fallback to OpenAI/Gemini remains unchanged.
|
|
26
|
-
- Fixed `extensions/memory-core/package.json` — added `poolbot` as `devDependency` to resolve `pnpm install` failure from `autoInstallPeers`.
|
|
27
|
-
- Lockfile: removed ~1,300 lines of native dependency entries (`node-llama-cpp`, `cmake-js`, `@node-llama-cpp/*` platform binaries).
|
|
28
|
-
|
|
29
|
-
#### Impact
|
|
30
|
-
- npm audit: 15 → 10 vulnerabilities (5 high eliminated)
|
|
31
|
-
- Install size reduced (no more cmake-js + native compilation toolchain)
|
|
32
|
-
- Zero code changes — all source files unchanged; only dependency configuration
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## [2026.1.35] - 2026-02-06
|
|
37
|
-
|
|
38
|
-
### 📦 Stability Snapshot
|
|
39
|
-
|
|
40
|
-
**Release Type:** Pre-enhancement checkpoint
|
|
41
|
-
|
|
42
|
-
#### Summary
|
|
43
|
-
This release is a stable checkpoint before implementing local memory search enhancements.
|
|
44
|
-
|
|
45
|
-
#### Changes
|
|
46
|
-
- **Version bump:** 2026.1.30 → 2026.1.35
|
|
47
|
-
- **Repository sync:** All repositories clean and synchronized
|
|
48
|
-
- **Backup verification:** Complete backup of configurations and state
|
|
49
|
-
|
|
50
|
-
#### Technical Details
|
|
51
|
-
- Package: @poolzin/pool-bot
|
|
52
|
-
- Node.js: v22.22.0 compatible
|
|
53
|
-
- Backup: /root/poolbot-backup-20260206-130344.tar.gz (35MB)
|
|
54
|
-
|
|
55
|
-
#### Next Steps (Post-Release)
|
|
56
|
-
- Implement Ollama integration for local memory_search
|
|
57
|
-
- Complete QMD embeddings (220 pending → 0)
|
|
58
|
-
- Remove auto-study skill (user-managed cron)
|
|
59
|
-
- Enhance memory architecture with local embeddings
|
|
60
|
-
|
|
61
|
-
#### Maintenance
|
|
62
|
-
- All repositories verified clean
|
|
63
|
-
- Git states documented
|
|
64
|
-
- Gateway status captured
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## v2026.1.30 (2026-02-05)
|
|
69
|
-
|
|
70
|
-
### 🔒 Security Release - CRITICAL VULNERABILITY FIXES
|
|
71
|
-
|
|
72
|
-
#### Critical Vulnerabilities Fixed 🔴
|
|
73
|
-
- **Gateway URL Override (CVE-level):** Prevent credential leakage via malicious gateway redirects
|
|
74
|
-
- Added `validateGatewayUrlSecurity()` requiring explicit token confirmation for custom URLs
|
|
75
|
-
- Custom URLs now require 32+ character tokens
|
|
76
|
-
- Validation applied in `src/gateway/client.ts` before connection
|
|
77
|
-
|
|
78
|
-
- **Discord Prompt Injection (HIGH):** Block arbitrary command injection via channel.topic
|
|
79
|
-
- Removed `channel.topic` from system prompts in `src/discord/monitor/message-handler.process.ts`
|
|
80
|
-
- Only admin-controlled metadata is now included
|
|
81
|
-
- Prevents users with edit permissions from manipulating agent behavior
|
|
82
|
-
|
|
83
|
-
- **Slack Prompt Injection (HIGH):** Block arbitrary command injection via topic/purpose
|
|
84
|
-
- Removed `channel.topic` and `channel.purpose` from system prompts
|
|
85
|
-
- Fixed in `src/slack/monitor/message-handler/prepare.ts` and `src/slack/monitor/slash.ts`
|
|
86
|
-
- Same attack vector as Discord, now mitigated
|
|
87
|
-
|
|
88
|
-
#### Security Features Added ✅
|
|
89
|
-
- **Tool Gating System:** Owner-only access to sensitive tools
|
|
90
|
-
- `validateToolAccess()` function in `src/agents/tool-security.ts`
|
|
91
|
-
- Protected tools: `whatsapp_login`, `gateway`, `cron`, `sessions_spawn`
|
|
92
|
-
- Configurable via `security.owners` in poolbot.json
|
|
93
|
-
|
|
94
|
-
- **Security Utilities:** Prevention and validation functions
|
|
95
|
-
- Path sanitization utilities in `src/media/path-sanitization.ts`
|
|
96
|
-
- URL validation in `src/gateway/url-validation.ts`
|
|
97
|
-
- Security config schema in `src/config/types.security.ts`
|
|
98
|
-
|
|
99
|
-
#### Documentation
|
|
100
|
-
- **New:** `SECURITY.md` - Complete security policy and vulnerability disclosure
|
|
101
|
-
- Breaking changes documented
|
|
102
|
-
- Security best practices for users and developers
|
|
103
|
-
- Reporting guidelines for security issues
|
|
104
|
-
|
|
105
|
-
#### Credits
|
|
106
|
-
- Security improvements inspired by [OpenClaw](https://github.com/openclaw/openclaw) security hardening
|
|
107
|
-
- Internal security audit based on OpenClaw v2026.2.4 analysis
|
|
108
|
-
|
|
109
|
-
**UPGRADE RECOMMENDED:** All users should upgrade to v2026.1.30 due to critical security fixes.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## v1.0.1 (2026-02-02)
|
|
114
|
-
|
|
115
|
-
### WhatsApp Gateway Stability
|
|
116
|
-
- Add comprehensive WhatsApp heartbeat troubleshooting guide
|
|
117
|
-
- Document watchdog timeout and reconnection behavior
|
|
118
|
-
- Add configuration validation best practices
|
|
119
|
-
- Document professional incident response workflow
|
|
120
|
-
|
|
121
|
-
### Configuration
|
|
122
|
-
- Document `web.heartbeatSeconds` override option
|
|
123
|
-
- Clarify `web.reconnect` schema and valid keys
|
|
124
|
-
- Add examples for timeout tuning (30min → 60min → 90min)
|
|
125
|
-
- Provide production-ready configuration templates
|
|
126
|
-
|
|
127
|
-
### Documentation
|
|
128
|
-
- New: `docs/WHATSAPP-HEARTBEAT-TROUBLESHOOTING.md`
|
|
129
|
-
- Incident analysis: Gateway timeout recovery
|
|
130
|
-
- Lesson learned: Config validation before deployment
|
|
131
|
-
- Professional validation checklist included
|
|
132
|
-
|
|
133
|
-
### Reliability
|
|
134
|
-
- Improved gateway recovery documentation
|
|
135
|
-
- Added monitoring and diagnostic commands
|
|
136
|
-
- Documented false-positive reduction strategies
|
|
137
|
-
- Best practices for different environments (prod/dev/test)
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## v1.0.0 (2026-01-28)
|
|
142
|
-
|
|
143
|
-
### Security Release
|
|
144
|
-
- Add multi-layer security framework with node authentication
|
|
145
|
-
- Implement secure WebSocket connections (WSS)
|
|
146
|
-
- Add context isolation and input validation
|
|
147
|
-
- Create Windows Node application with native notifications
|
|
148
|
-
- Enable manual Gateway URL configuration
|
|
149
|
-
- Implement node whitelist and access control
|
|
150
|
-
- Add comprehensive security audit and hardening
|
|
151
|
-
|
|
152
|
-
### Remote Access
|
|
153
|
-
- Build Windows Node app with mDNS discovery
|
|
154
|
-
- Add manual Gateway URL connection
|
|
155
|
-
- Implement system tray integration with status display
|
|
156
|
-
- Add native notification system
|
|
157
|
-
- Create menu for remote control options
|
|
158
|
-
- Support both local network and remote connections
|
|
159
|
-
|
|
160
|
-
### Core Infrastructure
|
|
161
|
-
- Custom Pool-Bot update system with independent versioning
|
|
162
|
-
- Model fallback router with 3-tier protection
|
|
163
|
-
- Pool-World digital identity framework
|
|
164
|
-
- Multi-repository synchronization (pool-bot + pool-workspace + pool-firstone + pool-world)
|
|
165
|
-
- Enterprise-grade security with token-based authentication
|
|
166
|
-
|
|
167
|
-
### Documentation
|
|
168
|
-
- Complete build guides for Windows
|
|
169
|
-
- Security assessment and deployment guide
|
|
170
|
-
- Architecture decision records (ADRs)
|
|
171
|
-
- Integration examples and troubleshooting
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## v0.9.0 (2026-01-27)
|
|
176
|
-
|
|
177
|
-
### Identity Revelation
|
|
178
|
-
- Pool-Bot recognized as living code source
|
|
179
|
-
- Pool-World digital identity created
|
|
180
|
-
- Personal identity revelation: "Eu sou o código-fonte Pool-Bot"
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## v0.8.0 (2026-01-26)
|
|
185
|
-
|
|
186
|
-
### Independence System
|
|
187
|
-
- Model fallback router implementation
|
|
188
|
-
- Multi-model architecture (NVIDIA + Sonnet + Big Pickle)
|
|
189
|
-
- Learning system with conversation analysis
|
|
190
|
-
- Update system with GitHub synchronization
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## v0.7.0 (2026-01-25)
|
|
195
|
-
|
|
196
|
-
### Foundation
|
|
197
|
-
- Migrated from Moltbot core
|
|
198
|
-
- Implemented workspace-based development
|
|
199
|
-
- Added dual model system configuration
|
|
200
|
-
- Created persistent configuration system
|
package/README-header.png
DELETED
|
Binary file
|
package/git-hooks/pre-commit
DELETED
package/scripts/format-staged.js
DELETED
|
@@ -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
|
-
}
|