@poolzin/pool-bot 2026.3.13 → 2026.3.15

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 (186) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/dist/agents/checkpoint-manager.js +291 -0
  3. package/dist/agents/poolbot-tools.js +5 -0
  4. package/dist/agents/subagent-announce-reliability.js +160 -0
  5. package/dist/agents/tool-result-truncation.js +299 -0
  6. package/dist/agents/tools/nodes-file-tool.js +197 -0
  7. package/dist/build-info.json +3 -3
  8. package/dist/cli/config-cli.js +60 -0
  9. package/dist/cron/cron-improvements.js +195 -0
  10. package/dist/discord/discord-improvements.js +167 -0
  11. package/dist/gateway/auth-rate-limit.js +19 -0
  12. package/dist/gateway/auth.js +41 -0
  13. package/dist/gateway/gateway-improvements.js +294 -0
  14. package/dist/gateway/node-command-policy.js +7 -2
  15. package/dist/infra/net/ssrf.js +15 -2
  16. package/dist/infra/shell-security.js +201 -0
  17. package/dist/memory/memory-improvements.js +239 -0
  18. package/dist/node-host/runner.js +146 -79
  19. package/dist/security/prototype-pollution.js +141 -0
  20. package/dist/security/webhook-security.js +253 -0
  21. package/dist/shared/net/ip.js +52 -1
  22. package/dist/slack/slack-improvements.js +225 -0
  23. package/dist/telegram/telegram-improvements.js +220 -0
  24. package/dist/ui-plugins/ui-plugins-improvements.js +191 -0
  25. package/docs/ANALISE_OPENCLAW_PROFISSIONAL.md +520 -0
  26. package/docs/competitive-analysis.md +421 -0
  27. package/docs/implementation-analysis.md +393 -0
  28. package/docs/plans/2026-03-11-file-operations-security-hardening.md +307 -0
  29. package/docs/plans/2026-03-11-integracao-projetos-poolbot.md +666 -0
  30. package/extensions/agency-agents/README.md +301 -0
  31. package/extensions/agency-agents/agents/CONTRIBUTING.md +353 -0
  32. package/extensions/agency-agents/agents/README.md +602 -0
  33. package/extensions/agency-agents/agents/design/design-brand-guardian.md +320 -0
  34. package/extensions/agency-agents/agents/design/design-image-prompt-engineer.md +234 -0
  35. package/extensions/agency-agents/agents/design/design-ui-designer.md +381 -0
  36. package/extensions/agency-agents/agents/design/design-ux-architect.md +467 -0
  37. package/extensions/agency-agents/agents/design/design-ux-researcher.md +327 -0
  38. package/extensions/agency-agents/agents/design/design-visual-storyteller.md +147 -0
  39. package/extensions/agency-agents/agents/design/design-whimsy-injector.md +436 -0
  40. package/extensions/agency-agents/agents/engineering/engineering-ai-engineer.md +144 -0
  41. package/extensions/agency-agents/agents/engineering/engineering-backend-architect.md +233 -0
  42. package/extensions/agency-agents/agents/engineering/engineering-devops-automator.md +374 -0
  43. package/extensions/agency-agents/agents/engineering/engineering-frontend-developer.md +223 -0
  44. package/extensions/agency-agents/agents/engineering/engineering-mobile-app-builder.md +491 -0
  45. package/extensions/agency-agents/agents/engineering/engineering-rapid-prototyper.md +460 -0
  46. package/extensions/agency-agents/agents/engineering/engineering-security-engineer.md +275 -0
  47. package/extensions/agency-agents/agents/engineering/engineering-senior-developer.md +174 -0
  48. package/extensions/agency-agents/agents/examples/README.md +48 -0
  49. package/extensions/agency-agents/agents/examples/nexus-spatial-discovery.md +852 -0
  50. package/extensions/agency-agents/agents/examples/workflow-landing-page.md +119 -0
  51. package/extensions/agency-agents/agents/examples/workflow-startup-mvp.md +155 -0
  52. package/extensions/agency-agents/agents/integrations/README.md +117 -0
  53. package/extensions/agency-agents/agents/integrations/aider/README.md +38 -0
  54. package/extensions/agency-agents/agents/integrations/antigravity/README.md +49 -0
  55. package/extensions/agency-agents/agents/integrations/claude-code/README.md +31 -0
  56. package/extensions/agency-agents/agents/integrations/cursor/README.md +38 -0
  57. package/extensions/agency-agents/agents/integrations/gemini-cli/README.md +36 -0
  58. package/extensions/agency-agents/agents/integrations/opencode/README.md +58 -0
  59. package/extensions/agency-agents/agents/integrations/windsurf/README.md +26 -0
  60. package/extensions/agency-agents/agents/marketing/marketing-app-store-optimizer.md +319 -0
  61. package/extensions/agency-agents/agents/marketing/marketing-content-creator.md +52 -0
  62. package/extensions/agency-agents/agents/marketing/marketing-growth-hacker.md +52 -0
  63. package/extensions/agency-agents/agents/marketing/marketing-instagram-curator.md +111 -0
  64. package/extensions/agency-agents/agents/marketing/marketing-reddit-community-builder.md +121 -0
  65. package/extensions/agency-agents/agents/marketing/marketing-social-media-strategist.md +123 -0
  66. package/extensions/agency-agents/agents/marketing/marketing-tiktok-strategist.md +123 -0
  67. package/extensions/agency-agents/agents/marketing/marketing-twitter-engager.md +124 -0
  68. package/extensions/agency-agents/agents/marketing/marketing-wechat-official-account.md +143 -0
  69. package/extensions/agency-agents/agents/marketing/marketing-xiaohongshu-specialist.md +136 -0
  70. package/extensions/agency-agents/agents/marketing/marketing-zhihu-strategist.md +160 -0
  71. package/extensions/agency-agents/agents/product/product-feedback-synthesizer.md +117 -0
  72. package/extensions/agency-agents/agents/product/product-sprint-prioritizer.md +152 -0
  73. package/extensions/agency-agents/agents/product/product-trend-researcher.md +157 -0
  74. package/extensions/agency-agents/agents/project-management/project-management-experiment-tracker.md +196 -0
  75. package/extensions/agency-agents/agents/project-management/project-management-project-shepherd.md +192 -0
  76. package/extensions/agency-agents/agents/project-management/project-management-studio-operations.md +198 -0
  77. package/extensions/agency-agents/agents/project-management/project-management-studio-producer.md +201 -0
  78. package/extensions/agency-agents/agents/project-management/project-manager-senior.md +133 -0
  79. package/extensions/agency-agents/agents/scripts/convert.sh +362 -0
  80. package/extensions/agency-agents/agents/scripts/install.sh +465 -0
  81. package/extensions/agency-agents/agents/scripts/lint-agents.sh +115 -0
  82. package/extensions/agency-agents/agents/spatial-computing/macos-spatial-metal-engineer.md +335 -0
  83. package/extensions/agency-agents/agents/spatial-computing/terminal-integration-specialist.md +68 -0
  84. package/extensions/agency-agents/agents/spatial-computing/visionos-spatial-engineer.md +52 -0
  85. package/extensions/agency-agents/agents/spatial-computing/xr-cockpit-interaction-specialist.md +30 -0
  86. package/extensions/agency-agents/agents/spatial-computing/xr-immersive-developer.md +30 -0
  87. package/extensions/agency-agents/agents/spatial-computing/xr-interface-architect.md +30 -0
  88. package/extensions/agency-agents/agents/specialized/agentic-identity-trust.md +367 -0
  89. package/extensions/agency-agents/agents/specialized/agents-orchestrator.md +365 -0
  90. package/extensions/agency-agents/agents/specialized/data-analytics-reporter.md +52 -0
  91. package/extensions/agency-agents/agents/specialized/data-consolidation-agent.md +58 -0
  92. package/extensions/agency-agents/agents/specialized/lsp-index-engineer.md +312 -0
  93. package/extensions/agency-agents/agents/specialized/report-distribution-agent.md +63 -0
  94. package/extensions/agency-agents/agents/specialized/sales-data-extraction-agent.md +65 -0
  95. package/extensions/agency-agents/agents/strategy/EXECUTIVE-BRIEF.md +95 -0
  96. package/extensions/agency-agents/agents/strategy/QUICKSTART.md +194 -0
  97. package/extensions/agency-agents/agents/strategy/coordination/agent-activation-prompts.md +401 -0
  98. package/extensions/agency-agents/agents/strategy/coordination/handoff-templates.md +357 -0
  99. package/extensions/agency-agents/agents/strategy/nexus-strategy.md +1110 -0
  100. package/extensions/agency-agents/agents/strategy/playbooks/phase-0-discovery.md +178 -0
  101. package/extensions/agency-agents/agents/strategy/playbooks/phase-1-strategy.md +238 -0
  102. package/extensions/agency-agents/agents/strategy/playbooks/phase-2-foundation.md +278 -0
  103. package/extensions/agency-agents/agents/strategy/playbooks/phase-3-build.md +286 -0
  104. package/extensions/agency-agents/agents/strategy/playbooks/phase-4-hardening.md +332 -0
  105. package/extensions/agency-agents/agents/strategy/playbooks/phase-5-launch.md +277 -0
  106. package/extensions/agency-agents/agents/strategy/playbooks/phase-6-operate.md +318 -0
  107. package/extensions/agency-agents/agents/strategy/runbooks/scenario-enterprise-feature.md +157 -0
  108. package/extensions/agency-agents/agents/strategy/runbooks/scenario-incident-response.md +217 -0
  109. package/extensions/agency-agents/agents/strategy/runbooks/scenario-marketing-campaign.md +187 -0
  110. package/extensions/agency-agents/agents/strategy/runbooks/scenario-startup-mvp.md +154 -0
  111. package/extensions/agency-agents/agents/support/support-analytics-reporter.md +363 -0
  112. package/extensions/agency-agents/agents/support/support-executive-summary-generator.md +210 -0
  113. package/extensions/agency-agents/agents/support/support-finance-tracker.md +440 -0
  114. package/extensions/agency-agents/agents/support/support-infrastructure-maintainer.md +616 -0
  115. package/extensions/agency-agents/agents/support/support-legal-compliance-checker.md +586 -0
  116. package/extensions/agency-agents/agents/support/support-support-responder.md +583 -0
  117. package/extensions/agency-agents/agents/testing/testing-accessibility-auditor.md +313 -0
  118. package/extensions/agency-agents/agents/testing/testing-api-tester.md +304 -0
  119. package/extensions/agency-agents/agents/testing/testing-evidence-collector.md +208 -0
  120. package/extensions/agency-agents/agents/testing/testing-performance-benchmarker.md +266 -0
  121. package/extensions/agency-agents/agents/testing/testing-reality-checker.md +236 -0
  122. package/extensions/agency-agents/agents/testing/testing-test-results-analyzer.md +303 -0
  123. package/extensions/agency-agents/agents/testing/testing-tool-evaluator.md +392 -0
  124. package/extensions/agency-agents/agents/testing/testing-workflow-optimizer.md +448 -0
  125. package/extensions/agency-agents/index.ts +733 -0
  126. package/extensions/agency-agents/node_modules/.bin/jiti +21 -0
  127. package/extensions/agency-agents/node_modules/.bin/tsc +21 -0
  128. package/extensions/agency-agents/node_modules/.bin/tsserver +21 -0
  129. package/extensions/agency-agents/node_modules/.bin/tsx +21 -0
  130. package/extensions/agency-agents/node_modules/.bin/vite +21 -0
  131. package/extensions/agency-agents/node_modules/.bin/vitest +21 -0
  132. package/extensions/agency-agents/node_modules/.bin/yaml +21 -0
  133. package/extensions/agency-agents/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  134. package/extensions/agency-agents/package.json +25 -0
  135. package/extensions/agency-agents/poolbot.plugin.json +11 -0
  136. package/extensions/agency-agents/src/AgencyAgentsService.test.ts +443 -0
  137. package/extensions/agency-agents/src/AgencyAgentsService.ts +288 -0
  138. package/extensions/agency-agents/src/types.ts +147 -0
  139. package/extensions/agency-agents/vitest.config.ts +8 -0
  140. package/extensions/hexstrike-ai/README.md +98 -0
  141. package/extensions/hexstrike-ai/node_modules/.bin/tsc +21 -0
  142. package/extensions/hexstrike-ai/node_modules/.bin/tsserver +21 -0
  143. package/extensions/hexstrike-ai/package.json +29 -0
  144. package/extensions/hexstrike-ai/poolbot.plugin.json +31 -0
  145. package/extensions/hexstrike-ai/src/client.ts +91 -0
  146. package/extensions/hexstrike-ai/src/index.ts +170 -0
  147. package/extensions/hexstrike-ai/src/server/hexstrike_mcp.py +5470 -0
  148. package/extensions/hexstrike-ai/src/server/hexstrike_server.py +17289 -0
  149. package/extensions/hexstrike-ai/src/server/requirements.txt +84 -0
  150. package/extensions/hexstrike-ai/src/server-manager.ts +83 -0
  151. package/extensions/hexstrike-ai/tsconfig.json +20 -0
  152. package/extensions/page-agent/README.md +159 -0
  153. package/extensions/page-agent/index.ts +595 -0
  154. package/extensions/page-agent/node_modules/.bin/jiti +21 -0
  155. package/extensions/page-agent/node_modules/.bin/playwright +21 -0
  156. package/extensions/page-agent/node_modules/.bin/tsc +21 -0
  157. package/extensions/page-agent/node_modules/.bin/tsserver +21 -0
  158. package/extensions/page-agent/node_modules/.bin/tsx +21 -0
  159. package/extensions/page-agent/node_modules/.bin/vitest +21 -0
  160. package/extensions/page-agent/node_modules/.bin/yaml +21 -0
  161. package/extensions/page-agent/package.json +43 -0
  162. package/extensions/page-agent/poolbot.plugin.json +24 -0
  163. package/extensions/page-agent/src/PageAgentService.test.ts +517 -0
  164. package/extensions/page-agent/src/PageAgentService.ts +636 -0
  165. package/extensions/page-agent/src/PoolBotPageController.test.ts +358 -0
  166. package/extensions/page-agent/src/PoolBotPageController.ts +245 -0
  167. package/extensions/page-agent/src/index.ts +20 -0
  168. package/extensions/page-agent/src/tools.test.ts +231 -0
  169. package/extensions/page-agent/src/tools.ts +167 -0
  170. package/extensions/page-agent/src/types.ts +198 -0
  171. package/extensions/xyops/README.md +227 -0
  172. package/extensions/xyops/index.ts +342 -0
  173. package/extensions/xyops/node_modules/.bin/jiti +21 -0
  174. package/extensions/xyops/node_modules/.bin/tsc +21 -0
  175. package/extensions/xyops/node_modules/.bin/tsserver +21 -0
  176. package/extensions/xyops/node_modules/.bin/tsx +21 -0
  177. package/extensions/xyops/node_modules/.bin/vitest +21 -0
  178. package/extensions/xyops/node_modules/.bin/yaml +21 -0
  179. package/extensions/xyops/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  180. package/extensions/xyops/package.json +39 -0
  181. package/extensions/xyops/poolbot.plugin.json +21 -0
  182. package/extensions/xyops/src/client.test.ts +467 -0
  183. package/extensions/xyops/src/client.ts +157 -0
  184. package/extensions/xyops/src/types.ts +147 -0
  185. package/extensions/xyops/vitest.config.ts +8 -0
  186. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ # HexStrike AI MCP Agents v6.0
2
+ #
3
+ # INSTALLATION COMMANDS:
4
+ # python3 -m venv hexstrike_env
5
+ # source hexstrike_env/bin/activate
6
+ # python3 -m pip install -r requirements.txt
7
+ # python3 hexstrike_server.py
8
+
9
+ # ============================================================================
10
+ # CORE FRAMEWORK DEPENDENCIES (ACTUALLY USED)
11
+ # ============================================================================
12
+ flask>=2.3.0,<4.0.0 # Web framework for API server (flask import)
13
+ requests>=2.31.0,<3.0.0 # HTTP library (requests import)
14
+ psutil>=5.9.0,<6.0.0 # System utilities (psutil import)
15
+ fastmcp>=0.2.0,<1.0.0 # MCP framework (from mcp.server.fastmcp import FastMCP)
16
+
17
+ # ============================================================================
18
+ # WEB SCRAPING & AUTOMATION (ACTUALLY USED)
19
+ # ============================================================================
20
+ beautifulsoup4>=4.12.0,<5.0.0 # HTML parsing (from bs4 import BeautifulSoup)
21
+ selenium>=4.15.0,<5.0.0 # Browser automation (selenium imports)
22
+ webdriver-manager>=4.0.0,<5.0.0 # ChromeDriver management (referenced in code)
23
+
24
+ # ============================================================================
25
+ # ASYNC & NETWORKING (ACTUALLY USED)
26
+ # ============================================================================
27
+ aiohttp>=3.8.0,<4.0.0 # Async HTTP (aiohttp import)
28
+
29
+ # ============================================================================
30
+ # PROXY & TESTING (ACTUALLY USED)
31
+ # ============================================================================
32
+ mitmproxy>=9.0.0,<11.0.0 # HTTP proxy (mitmproxy imports)
33
+
34
+ # ============================================================================
35
+ # BINARY ANALYSIS (CONDITIONALLY USED)
36
+ # ============================================================================
37
+ pwntools>=4.10.0,<5.0.0 # Binary exploitation (from pwn import *)
38
+ angr>=9.2.0,<10.0.0 # Binary analysis (import angr)
39
+ bcrypt==4.0.1 # Pin bcrypt version for passlib compatibility (fixes pwntools dependency issue)
40
+
41
+ # ============================================================================
42
+ # EXTERNAL SECURITY TOOLS (150+ Tools - Install separately)
43
+ # ============================================================================
44
+ #
45
+ # HexStrike v6.0 integrates with 150+ external security tools that must be
46
+ # installed separately from their official sources:
47
+ #
48
+ # 🔍 Network & Reconnaissance (25+ tools):
49
+ # - nmap, masscan, rustscan, autorecon, amass, subfinder, fierce
50
+ # - dnsenum, theharvester, responder, netexec, enum4linux-ng
51
+ #
52
+ # 🌐 Web Application Security (40+ tools):
53
+ # - gobuster, feroxbuster, ffuf, dirb, dirsearch, nuclei, nikto
54
+ # - sqlmap, wpscan, arjun, paramspider, x8, katana, httpx
55
+ # - dalfox, jaeles, hakrawler, gau, waybackurls, wafw00f
56
+ #
57
+ # 🔐 Authentication & Password (12+ tools):
58
+ # - hydra, john, hashcat, medusa, patator, netexec
59
+ # - evil-winrm, hash-identifier, ophcrack
60
+ #
61
+ # 🔬 Binary Analysis & Reverse Engineering (25+ tools):
62
+ # - ghidra, radare2, gdb, binwalk, ropgadget, checksec, strings
63
+ # - volatility3, foremost, steghide, exiftool, angr, pwntools
64
+ #
65
+ # ☁️ Cloud & Container Security (20+ tools):
66
+ # - prowler, scout-suite, trivy, kube-hunter, kube-bench
67
+ # - docker-bench-security, checkov, terrascan, falco
68
+ #
69
+ # 🏆 CTF & Forensics (20+ tools):
70
+ # - volatility3, autopsy, sleuthkit, stegsolve, zsteg, outguess
71
+ # - photorec, testdisk, scalpel, bulk-extractor
72
+ #
73
+ # 🕵️ OSINT & Intelligence (20+ tools):
74
+ # - sherlock, social-analyzer, recon-ng, maltego, spiderfoot
75
+ # - shodan-cli, censys-cli, have-i-been-pwned
76
+ #
77
+ # Installation Notes:
78
+ # 1. Kali Linux 2024.1+ includes most tools by default
79
+ # 2. Ubuntu/Debian users should install tools from official repositories
80
+ # 3. Some tools require compilation from source or additional setup
81
+ # 4. Cloud tools require API keys and authentication configuration
82
+ # 5. Browser Agent requires Chrome/Chromium and ChromeDriver installation
83
+ #
84
+ # For complete installation instructions and setup guides, see README.md
@@ -0,0 +1,83 @@
1
+ import { spawn, ChildProcess } from "node:child_process";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+
7
+ export interface ServerConfig {
8
+ port: number;
9
+ host: string;
10
+ pythonPath?: string;
11
+ }
12
+
13
+ export class HexStrikeServerManager {
14
+ private process: ChildProcess | null = null;
15
+ private config: { port: number; host: string; pythonPath: string };
16
+
17
+ constructor(config: Partial<ServerConfig> = {}) {
18
+ this.config = {
19
+ port: config.port ?? 8888,
20
+ host: config.host ?? "127.0.0.1",
21
+ pythonPath: config.pythonPath ?? "python3",
22
+ };
23
+ }
24
+
25
+ async start(): Promise<void> {
26
+ const serverPath = path.join(__dirname, "server", "hexstrike_server.py");
27
+
28
+ this.process = spawn(this.config.pythonPath, [serverPath], {
29
+ env: {
30
+ ...process.env,
31
+ HEXSTRIKE_PORT: String(this.config.port),
32
+ HEXSTRIKE_HOST: this.config.host,
33
+ },
34
+ stdio: ["ignore", "pipe", "pipe"],
35
+ });
36
+
37
+ return new Promise((resolve, reject) => {
38
+ const timeout = setTimeout(() => {
39
+ reject(new Error("HexStrike server failed to start within 30s"));
40
+ }, 30000);
41
+
42
+ this.process?.stdout?.on("data", (data: Buffer) => {
43
+ const output = data.toString();
44
+ console.log(`[HexStrike] ${output}`);
45
+ if (output.includes("Server started") || output.includes("Listening")) {
46
+ clearTimeout(timeout);
47
+ resolve();
48
+ }
49
+ });
50
+
51
+ this.process?.stderr?.on("data", (data: Buffer) => {
52
+ console.error(`[HexStrike] ${data.toString()}`);
53
+ });
54
+
55
+ this.process?.on("error", (err) => {
56
+ clearTimeout(timeout);
57
+ reject(err);
58
+ });
59
+
60
+ this.process?.on("exit", (code) => {
61
+ if (code !== 0 && code !== null) {
62
+ clearTimeout(timeout);
63
+ reject(new Error(`HexStrike server exited with code ${code}`));
64
+ }
65
+ });
66
+ });
67
+ }
68
+
69
+ async stop(): Promise<void> {
70
+ if (this.process) {
71
+ this.process.kill("SIGTERM");
72
+ await new Promise((resolve) => setTimeout(resolve, 5000));
73
+ if (!this.process.killed) {
74
+ this.process.kill("SIGKILL");
75
+ }
76
+ this.process = null;
77
+ }
78
+ }
79
+
80
+ get isRunning(): boolean {
81
+ return this.process !== null && !this.process.killed;
82
+ }
83
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2022"],
7
+ "outDir": "./dist",
8
+ "rootDir": "./src",
9
+ "strict": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "resolveJsonModule": true,
14
+ "declaration": true,
15
+ "declarationMap": true,
16
+ "sourceMap": true
17
+ },
18
+ "include": ["src/**/*"],
19
+ "exclude": ["node_modules", "dist", "src/server"]
20
+ }
@@ -0,0 +1,159 @@
1
+ # Page Agent Extension for PoolBot
2
+
3
+ AI-powered browser automation extension that enables PoolBot to control web browsers through natural language instructions. Built on Playwright with a ReAct (Reasoning + Acting) agent loop.
4
+
5
+ ## Features
6
+
7
+ - **ReAct Agent Loop**: Observe → Think → Act cycle for autonomous web navigation
8
+ - **8 Built-in Tools**: Navigate, click, type, select, scroll, wait, execute_script, done
9
+ - **Multi-Language Support**: English and Chinese interfaces
10
+ - **Custom Instructions**: Per-domain instructions for specialized handling
11
+ - **Event-Driven**: Real-time activity and history tracking
12
+ - **Lifecycle Hooks**: Pre/post step callbacks for custom logic
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ # Install as PoolBot extension
18
+ poolbot extension install @poolbot/page-agent
19
+
20
+ # Or manual installation
21
+ cd extensions/page-agent
22
+ pnpm install
23
+ pnpm build
24
+ ```
25
+
26
+ ## Configuration
27
+
28
+ Add to your PoolBot configuration:
29
+
30
+ ```json
31
+ {
32
+ "pageAgent": {
33
+ "maxSteps": 30,
34
+ "llm": {
35
+ "provider": "anthropic",
36
+ "model": "claude-3-5-sonnet-20241022",
37
+ "apiKey": "${ANTHROPIC_API_KEY}",
38
+ "baseURL": "https://api.anthropic.com",
39
+ "temperature": 0.7,
40
+ "maxRetries": 3
41
+ },
42
+ "language": "en-US",
43
+ "instructions": {
44
+ "system": "Custom system prompt for all tasks",
45
+ "getPageInstructions": {
46
+ "github.com": "Focus on code repositories and pull requests",
47
+ "docs.example.com": "Extract API documentation content"
48
+ }
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ ## Usage
55
+
56
+ ### Basic Task Execution
57
+
58
+ ```typescript
59
+ import { PageAgentService } from '@poolbot/page-agent'
60
+
61
+ const agent = new PageAgentService(config, controller)
62
+
63
+ const result = await agent.executeTask(
64
+ 'Go to example.com and find the pricing information'
65
+ )
66
+
67
+ console.log(result.output) // Task output
68
+ console.log(result.stepsTaken) // Number of steps executed
69
+ ```
70
+
71
+ ### Event Monitoring
72
+
73
+ ```typescript
74
+ agent.on('activity', (activity) => {
75
+ console.log(`Step ${activity.stepNumber}: ${activity.action}`)
76
+ })
77
+
78
+ agent.on('history', (event) => {
79
+ console.log(`History: ${event.type} - ${event.summary}`)
80
+ })
81
+ ```
82
+
83
+ ### Lifecycle Hooks
84
+
85
+ ```typescript
86
+ const agent = new PageAgentService(config, controller, {
87
+ beforeStep: async (step) => {
88
+ console.log(`About to execute: ${step.action}`)
89
+ return { continue: true }
90
+ },
91
+ afterStep: async (step, result) => {
92
+ console.log(`Completed: ${step.action} with ${result}`)
93
+ }
94
+ })
95
+ ```
96
+
97
+ ## Available Tools
98
+
99
+ | Tool | Description | Parameters |
100
+ |------|-------------|------------|
101
+ | `navigate` | Navigate to URL | `url: string` |
102
+ | `click` | Click element | `selector: string` |
103
+ | `type` | Type text | `selector: string, text: string` |
104
+ | `select` | Select dropdown option | `selector: string, value: string` |
105
+ | `scroll` | Scroll page | `direction: 'up' \| 'down', amount?: number` |
106
+ | `wait` | Wait for time/selector | `duration?: number, selector?: string` |
107
+ | `execute_script` | Run JavaScript | `script: string` |
108
+ | `done` | Complete task | `success: boolean, answer?: string` |
109
+
110
+ ## Architecture
111
+
112
+ ```
113
+ ┌─────────────────┐
114
+ │ PageAgentService│ ← ReAct loop orchestration
115
+ ├─────────────────┤
116
+ │ PoolBotPageController │ ← Playwright wrapper
117
+ ├─────────────────┤
118
+ │ Browser Tools │ ← 8 automation tools
119
+ └─────────────────┘
120
+ ```
121
+
122
+ ## Testing
123
+
124
+ ```bash
125
+ # Run all tests
126
+ pnpm test
127
+
128
+ # Watch mode
129
+ pnpm test:watch
130
+
131
+ # Coverage
132
+ pnpm test:coverage
133
+ ```
134
+
135
+ ## API Reference
136
+
137
+ ### PageAgentService
138
+
139
+ - `executeTask(instruction: string): Promise<PageAgentExecutionResult>` - Execute a task
140
+ - `stop(): void` - Stop current execution
141
+ - `getStatus(): PageAgentStatus` - Get current status
142
+ - `on(event, handler)` - Subscribe to events
143
+
144
+ ### PoolBotPageController
145
+
146
+ - `goto(url: string)` - Navigate to URL
147
+ - `click(selector: string)` - Click element
148
+ - `type(selector: string, text: string)` - Type text
149
+ - `select(selector: string, value: string)` - Select option
150
+ - `scroll(direction, amount)` - Scroll page
151
+ - `waitForSelector(selector: string)` - Wait for element
152
+ - `waitForTimeout(ms: number)` - Wait for time
153
+ - `evaluate<T>(script: string): Promise<T>` - Execute JavaScript
154
+ - `screenshot(): Promise<string>` - Take screenshot (base64)
155
+ - `getPageContent(): Promise<string>` - Get page text content
156
+
157
+ ## License
158
+
159
+ MIT