@poolzin/pool-bot 2026.3.7 → 2026.3.10

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 (150) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +147 -69
  3. package/dist/.buildstamp +1 -1
  4. package/dist/agents/error-classifier.js +251 -0
  5. package/dist/agents/skills/security.js +211 -0
  6. package/dist/build-info.json +3 -3
  7. package/dist/cli/cron-cli/register.cron-dashboard.js +339 -0
  8. package/dist/cli/cron-cli/register.js +2 -0
  9. package/dist/cli/errors.js +187 -0
  10. package/dist/cli/lazy-commands.example.js +113 -0
  11. package/dist/cli/lazy-commands.js +329 -0
  12. package/dist/cli/program/command-registry.js +26 -0
  13. package/dist/cli/program/register.maintenance.js +21 -0
  14. package/dist/cli/program/register.skills.js +4 -0
  15. package/dist/cli/program/register.subclis.js +9 -0
  16. package/dist/cli/swarm-cli/register.js +8 -0
  17. package/dist/cli/swarm-cli/register.swarm-status.js +488 -0
  18. package/dist/cli/telemetry-cli/register.js +10 -0
  19. package/dist/cli/telemetry-cli/register.telemetry-alerts.js +176 -0
  20. package/dist/cli/telemetry-cli/register.telemetry-metrics.js +323 -0
  21. package/dist/cli/telemetry-cli/register.telemetry-status.js +179 -0
  22. package/dist/commands/doctor-checks.js +498 -0
  23. package/dist/config/config.js +1 -0
  24. package/dist/config/secrets-integration.js +88 -0
  25. package/dist/context-engine/index.js +33 -0
  26. package/dist/context-engine/legacy.js +179 -0
  27. package/dist/context-engine/registry.js +86 -0
  28. package/dist/context-engine/summarizing.js +290 -0
  29. package/dist/context-engine/types.js +7 -0
  30. package/dist/cron/service/timer.js +18 -0
  31. package/dist/gateway/protocol/index.js +5 -2
  32. package/dist/gateway/protocol/schema/error-codes.js +1 -0
  33. package/dist/gateway/protocol/schema/swarm.js +80 -0
  34. package/dist/gateway/protocol/schema.js +1 -0
  35. package/dist/gateway/server-close.js +4 -0
  36. package/dist/gateway/server-constants.js +1 -0
  37. package/dist/gateway/server-cron.js +29 -0
  38. package/dist/gateway/server-maintenance.js +35 -2
  39. package/dist/gateway/server-methods/swarm.js +58 -0
  40. package/dist/gateway/server-methods/telemetry.js +71 -0
  41. package/dist/gateway/server-methods-list.js +8 -0
  42. package/dist/gateway/server-methods.js +9 -2
  43. package/dist/gateway/server.impl.js +33 -16
  44. package/dist/infra/abort-pattern.js +106 -0
  45. package/dist/infra/retry.js +96 -0
  46. package/dist/secrets/index.js +28 -0
  47. package/dist/secrets/resolver.js +185 -0
  48. package/dist/secrets/runtime.js +142 -0
  49. package/dist/secrets/types.js +11 -0
  50. package/dist/security/dangerous-tools.js +80 -0
  51. package/dist/security/types.js +12 -0
  52. package/dist/skills/commands.js +333 -0
  53. package/dist/skills/index.js +164 -0
  54. package/dist/skills/loader.js +282 -0
  55. package/dist/skills/parser.js +446 -0
  56. package/dist/skills/registry.js +394 -0
  57. package/dist/skills/security.js +312 -0
  58. package/dist/skills/types.js +21 -0
  59. package/dist/swarm/service.js +247 -0
  60. package/dist/telemetry/alert-engine.js +258 -0
  61. package/dist/telemetry/cron-instrumentation.js +49 -0
  62. package/dist/telemetry/gateway-instrumentation.js +80 -0
  63. package/dist/telemetry/instrumentation.js +66 -0
  64. package/dist/telemetry/service.js +345 -0
  65. package/dist/test-utils/index.js +219 -0
  66. package/dist/tui/components/assistant-message.js +6 -2
  67. package/dist/tui/components/hyperlink-markdown.js +32 -0
  68. package/dist/tui/components/searchable-select-list.js +12 -1
  69. package/dist/tui/components/user-message.js +6 -2
  70. package/dist/tui/index.js +611 -0
  71. package/dist/tui/theme/theme-detection.js +226 -0
  72. package/dist/tui/tui-command-handlers.js +20 -0
  73. package/dist/tui/tui-formatters.js +4 -3
  74. package/dist/tui/utils/ctrl-c-handler.js +67 -0
  75. package/dist/tui/utils/osc8-hyperlinks.js +208 -0
  76. package/dist/tui/utils/safe-stop.js +180 -0
  77. package/dist/tui/utils/session-key-utils.js +81 -0
  78. package/dist/tui/utils/text-sanitization.js +284 -0
  79. package/dist/utils/lru-cache.js +116 -0
  80. package/dist/utils/performance.js +199 -0
  81. package/dist/utils/retry.js +240 -0
  82. package/docs/INTEGRATION_PLAN.md +475 -0
  83. package/docs/INTEGRATION_SUMMARY.md +215 -0
  84. package/docs/MELHORIAS_IMPLEMENTADAS.md +228 -0
  85. package/docs/MELHORIAS_PROFISSIONAIS.md +282 -0
  86. package/docs/PLANO_ACAO_TUI.md +357 -0
  87. package/docs/PROGRESSO_TUI.md +66 -0
  88. package/docs/RELATORIO_FINAL.md +217 -0
  89. package/docs/diagnostico-shell-completion.md +265 -0
  90. package/docs/features/advanced-memory.md +585 -0
  91. package/docs/features/discord-components-v2.md +277 -0
  92. package/docs/features/swarm.md +100 -0
  93. package/docs/features/telemetry.md +284 -0
  94. package/docs/integrations/HEXSTRIKE_PLAN.md +796 -0
  95. package/docs/integrations/INTEGRATION_PLAN.md +744 -0
  96. package/docs/integrations/PAGE_AGENT_PLAN.md +370 -0
  97. package/docs/integrations/XYOPS_PLAN.md +978 -0
  98. package/docs/models/provider-infrastructure.md +400 -0
  99. package/docs/security/exec-approvals.md +294 -0
  100. package/docs/skills/IMPLEMENTATION_SUMMARY.md +145 -0
  101. package/docs/skills/SKILL.md +524 -0
  102. package/docs/skills.md +405 -0
  103. package/extensions/bluebubbles/package.json +1 -1
  104. package/extensions/copilot-proxy/package.json +1 -1
  105. package/extensions/diagnostics-otel/package.json +1 -1
  106. package/extensions/discord/package.json +1 -1
  107. package/extensions/feishu/package.json +1 -1
  108. package/extensions/google-antigravity-auth/package.json +1 -1
  109. package/extensions/google-gemini-cli-auth/package.json +1 -1
  110. package/extensions/googlechat/package.json +1 -1
  111. package/extensions/hexstrike-bridge/README.md +119 -0
  112. package/extensions/hexstrike-bridge/index.test.ts +247 -0
  113. package/extensions/hexstrike-bridge/index.ts +487 -0
  114. package/extensions/hexstrike-bridge/package.json +17 -0
  115. package/extensions/imessage/package.json +1 -1
  116. package/extensions/irc/package.json +1 -1
  117. package/extensions/line/package.json +1 -1
  118. package/extensions/llm-task/package.json +1 -1
  119. package/extensions/lobster/package.json +1 -1
  120. package/extensions/matrix/CHANGELOG.md +5 -0
  121. package/extensions/matrix/package.json +1 -1
  122. package/extensions/mattermost/package.json +1 -1
  123. package/extensions/mcp-server/index.ts +14 -0
  124. package/extensions/mcp-server/package.json +11 -0
  125. package/extensions/mcp-server/src/service.ts +540 -0
  126. package/extensions/memory-core/package.json +1 -1
  127. package/extensions/memory-lancedb/package.json +1 -1
  128. package/extensions/minimax-portal-auth/package.json +1 -1
  129. package/extensions/msteams/CHANGELOG.md +5 -0
  130. package/extensions/msteams/package.json +1 -1
  131. package/extensions/nextcloud-talk/package.json +1 -1
  132. package/extensions/nostr/CHANGELOG.md +5 -0
  133. package/extensions/nostr/package.json +1 -1
  134. package/extensions/open-prose/package.json +1 -1
  135. package/extensions/openai-codex-auth/package.json +1 -1
  136. package/extensions/signal/package.json +1 -1
  137. package/extensions/slack/package.json +1 -1
  138. package/extensions/telegram/package.json +1 -1
  139. package/extensions/tlon/package.json +1 -1
  140. package/extensions/twitch/CHANGELOG.md +5 -0
  141. package/extensions/twitch/package.json +1 -1
  142. package/extensions/voice-call/CHANGELOG.md +5 -0
  143. package/extensions/voice-call/package.json +1 -1
  144. package/extensions/whatsapp/package.json +1 -1
  145. package/extensions/zalo/CHANGELOG.md +5 -0
  146. package/extensions/zalo/package.json +1 -1
  147. package/extensions/zalouser/CHANGELOG.md +5 -0
  148. package/extensions/zalouser/package.json +1 -1
  149. package/package.json +8 -1
  150. package/skills/example-skill/SKILL.md +195 -0
package/docs/skills.md ADDED
@@ -0,0 +1,405 @@
1
+ # PoolBot Skills System
2
+
3
+ The PoolBot Skills System provides modular, discoverable capabilities defined in SKILL.md files. Skills follow the [agentskills.io](https://agentskills.io) specification and support progressive disclosure, security scanning, and context integration.
4
+
5
+ ## Overview
6
+
7
+ Skills are self-contained capability modules that:
8
+
9
+ - **Define when to use** them with clear criteria
10
+ - **Provide practical examples** and templates
11
+ - **Support progressive loading** (metadata → summary → full content)
12
+ - **Are automatically security scanned** for common vulnerabilities
13
+ - **Can be enabled/disabled** per session or globally
14
+ - **Integrate with the context engine** for LLM prompt injection
15
+
16
+ ## Quick Start
17
+
18
+ ### Listing Skills
19
+
20
+ ```bash
21
+ # List all skills
22
+ poolbot skills list
23
+
24
+ # Filter by category
25
+ poolbot skills list --category=productivity
26
+
27
+ # Show only enabled/disabled
28
+ poolbot skills list --enabled
29
+ poolbot skills list --disabled
30
+ ```
31
+
32
+ ### Viewing Skills
33
+
34
+ ```bash
35
+ # View skill details (full content)
36
+ poolbot skills view github
37
+
38
+ # View with specific disclosure level
39
+ poolbot skills view github --level=summary
40
+ poolbot skills view github --level=metadata
41
+ ```
42
+
43
+ ### Searching Skills
44
+
45
+ ```bash
46
+ # Search by text
47
+ poolbot skills search git
48
+
49
+ # Search with filters
50
+ poolbot skills search deploy --tag=devops
51
+ ```
52
+
53
+ ### Managing Skills
54
+
55
+ ```bash
56
+ # Enable/disable skills
57
+ poolbot skills enable github
58
+ poolbot skills disable github
59
+
60
+ # Security scan
61
+ poolbot skills scan
62
+ poolbot skills scan ./skills/my-skill
63
+
64
+ # Statistics
65
+ poolbot skills stats
66
+ ```
67
+
68
+ ## Creating Skills
69
+
70
+ ### File Structure
71
+
72
+ ```
73
+ skills/
74
+ └── my-skill/
75
+ └── SKILL.md # Main skill definition
76
+ ```
77
+
78
+ ### SKILL.md Format
79
+
80
+ ```markdown
81
+ ---
82
+ id: my-skill # Unique kebab-case identifier
83
+ name: My Skill # Human-readable name
84
+ description: | # Multi-line description
85
+ What this skill does and
86
+ when to use it.
87
+ version: 1.0.0 # Semver version
88
+ author: Your Name # Author attribution
89
+ categories: # Classification
90
+ - productivity
91
+ - automation
92
+ tags: # Searchable tags
93
+ - git
94
+ - github
95
+ - devops
96
+ metadata:
97
+ poolbot: # PoolBot-specific settings
98
+ emoji: 🚀
99
+ always: false # Load on every session?
100
+ requires: # Dependencies
101
+ bins: [gh, jq]
102
+ env: [GITHUB_TOKEN]
103
+ install: # Auto-install specs
104
+ - kind: brew
105
+ formula: gh
106
+ bins: [gh]
107
+ ---
108
+
109
+ # My Skill
110
+
111
+ ## When to Use
112
+
113
+ ✅ **USE this skill when:**
114
+ - Condition 1
115
+ - Condition 2
116
+
117
+ ❌ **DON'T use this skill when:**
118
+ - Condition 3
119
+ - Condition 4
120
+
121
+ ## Common Commands
122
+
123
+ ```bash
124
+ # Example command
125
+ poolbot command --option
126
+ ```
127
+
128
+ ## Templates
129
+
130
+ ```bash
131
+ # Reusable template
132
+ echo "Template content"
133
+ ```
134
+ ```
135
+
136
+ ### Frontmatter Fields
137
+
138
+ | Field | Type | Required | Description |
139
+ |-------|------|----------|-------------|
140
+ | `id` | string | Yes | Unique kebab-case identifier |
141
+ | `name` | string | Yes | Human-readable name |
142
+ | `description` | string | Yes | What the skill does |
143
+ | `version` | string | Yes | Semver version |
144
+ | `author` | string | No | Author attribution |
145
+ | `categories` | string[] | No | Classification tags |
146
+ | `tags` | string[] | No | Searchable keywords |
147
+ | `metadata.poolbot.emoji` | string | No | Emoji icon |
148
+ | `metadata.poolbot.always` | boolean | No | Load on every session |
149
+ | `metadata.poolbot.requires.bins` | string[] | No | Required binaries |
150
+ | `metadata.poolbot.requires.env` | string[] | No | Required env vars |
151
+ | `metadata.poolbot.install` | array | No | Auto-install specs |
152
+
153
+ ### Categories
154
+
155
+ Choose from these standard categories:
156
+
157
+ - `communication` - Messaging, email, notifications
158
+ - `productivity` - Task management, notes, calendar
159
+ - `development` - Coding, git, CI/CD
160
+ - `devops` - Infrastructure, deployment, monitoring
161
+ - `data` - Databases, analytics, processing
162
+ - `media` - Images, video, audio
163
+ - `automation` - Workflows, scripting
164
+ - `integration` - APIs, webhooks, services
165
+ - `utility` - General-purpose tools
166
+
167
+ ## Security
168
+
169
+ All skills are automatically scanned for:
170
+
171
+ - **Prompt injection** - Attempts to override system instructions
172
+ - **Command injection** - Dangerous shell command patterns
173
+ - **Path traversal** - File system escape attempts
174
+ - **Hardcoded credentials** - Passwords, tokens, keys
175
+ - **Suspicious encoding** - Base64 obfuscation
176
+ - **Data exfiltration** - Unauthorized data transmission
177
+
178
+ ### Security Levels
179
+
180
+ | Severity | Description | Action |
181
+ |----------|-------------|--------|
182
+ | Critical | Immediate security risk | Block loading |
183
+ | High | Significant risk | Warn user |
184
+ | Medium | Moderate concern | Log only |
185
+ | Low | Minor issue | Silent |
186
+ | Info | FYI | Silent |
187
+
188
+ ### Strict Mode
189
+
190
+ Enable strict mode to block skills with any high/critical findings:
191
+
192
+ ```typescript
193
+ import { initSkills } from "./skills/index.js";
194
+
195
+ await initSkills({
196
+ security: {
197
+ strictMode: true, // Block on high/critical findings
198
+ autoScan: true, // Scan on load
199
+ },
200
+ });
201
+ ```
202
+
203
+ ## Context Integration
204
+
205
+ Skills can be automatically injected into LLM prompts based on the conversation context.
206
+
207
+ ### Progressive Disclosure
208
+
209
+ Content loads incrementally to manage token usage:
210
+
211
+ 1. **Metadata** (~50 tokens) - ID, name, description
212
+ 2. **Summary** (~200 tokens) - Metadata + first section
213
+ 3. **Full** (all tokens) - Complete content
214
+
215
+ ### Query-Based Loading
216
+
217
+ ```typescript
218
+ import { loadSkillForQuery } from "./skills/index.js";
219
+
220
+ // Load skills relevant to a query
221
+ const skills = await loadSkillForQuery("deploy to production", {
222
+ maxTokens: 2000,
223
+ disclosure: "summary",
224
+ });
225
+ ```
226
+
227
+ ### Context Preparation
228
+
229
+ ```typescript
230
+ import { prepareSkillsForContext } from "./skills/index.js";
231
+
232
+ // Prepare skills for LLM context
233
+ const context = await prepareSkillsForContext({
234
+ skillIds: ["github", "docker"],
235
+ maxTokens: 4000,
236
+ disclosure: "full",
237
+ });
238
+ ```
239
+
240
+ ## Programmatic API
241
+
242
+ ### Registry
243
+
244
+ ```typescript
245
+ import { getRegistry } from "./skills/index.js";
246
+
247
+ const registry = getRegistry();
248
+
249
+ // Add a skill
250
+ await registry.addSkill("/path/to/skill");
251
+
252
+ // Search
253
+ const results = registry.searchSkills({
254
+ query: "git",
255
+ category: "development",
256
+ });
257
+
258
+ // Enable/disable
259
+ registry.enableSkill("github");
260
+ registry.disableSkill("github");
261
+
262
+ // Listen for events
263
+ registry.on("skillLoaded", (skill) => {
264
+ console.log(`Loaded: ${skill.name}`);
265
+ });
266
+ ```
267
+
268
+ ### Parser
269
+
270
+ ```typescript
271
+ import { parseSkillFile } from "./skills/index.js";
272
+
273
+ const skill = parseSkillFile("/path/to/SKILL.md");
274
+ console.log(skill.metadata.name);
275
+ ```
276
+
277
+ ### Security
278
+
279
+ ```typescript
280
+ import { scanSkill, quickSecurityCheck } from "./skills/index.js";
281
+
282
+ // Full scan
283
+ const report = scanSkill("my-skill", skillContent);
284
+ console.log(report.findings);
285
+
286
+ // Quick check
287
+ const isSafe = quickSecurityCheck("my-skill", skillContent);
288
+ ```
289
+
290
+ ## Examples
291
+
292
+ See the `skills/example-skill/SKILL.md` file for a comprehensive template.
293
+
294
+ ### Simple Skill
295
+
296
+ ```markdown
297
+ ---
298
+ id: hello
299
+ name: Hello World
300
+ description: A simple greeting skill
301
+ version: 1.0.0
302
+ categories: [utility]
303
+ tags: [demo, example]
304
+ ---
305
+
306
+ # Hello World
307
+
308
+ Says hello to the user.
309
+
310
+ ## When to Use
311
+
312
+ Use when you want to greet someone.
313
+
314
+ ## Commands
315
+
316
+ ```bash
317
+ echo "Hello, World!"
318
+ ```
319
+ ```
320
+
321
+ ### Complex Skill
322
+
323
+ ```markdown
324
+ ---
325
+ id: kubernetes-deploy
326
+ name: Kubernetes Deployment
327
+ description: Deploy applications to Kubernetes clusters
328
+ version: 2.1.0
329
+ author: DevOps Team
330
+ categories: [devops, automation]
331
+ tags: [k8s, kubernetes, deploy, helm]
332
+ metadata:
333
+ poolbot:
334
+ emoji: ☸️
335
+ requires:
336
+ bins: [kubectl, helm]
337
+ env: [KUBECONFIG]
338
+ ---
339
+
340
+ # Kubernetes Deployment
341
+
342
+ Deploy and manage applications on Kubernetes clusters.
343
+
344
+ ## When to Use
345
+
346
+ ✅ **USE when:**
347
+ - Deploying to Kubernetes
348
+ - Managing Helm releases
349
+ - Checking pod status
350
+
351
+ ❌ **DON'T use when:**
352
+ - Working with Docker Compose
353
+ - Managing bare-metal servers
354
+
355
+ ## Common Commands
356
+
357
+ ```bash
358
+ # Apply manifests
359
+ kubectl apply -f deployment.yaml
360
+
361
+ # Check status
362
+ kubectl get pods -n production
363
+
364
+ # Deploy with Helm
365
+ helm upgrade --install myapp ./chart
366
+ ```
367
+ ```
368
+
369
+ ## Best Practices
370
+
371
+ 1. **Clear descriptions** - Make the purpose obvious
372
+ 2. **Specific criteria** - Define when to use (and when not to)
373
+ 3. **Practical examples** - Include real, tested commands
374
+ 4. **Security first** - Never include credentials
375
+ 5. **Version properly** - Use semantic versioning
376
+ 6. **Categorize well** - Choose appropriate categories
377
+ 7. **Tag thoroughly** - Include relevant keywords
378
+ 8. **Test examples** - Ensure commands actually work
379
+
380
+ ## Troubleshooting
381
+
382
+ ### Skill not appearing
383
+
384
+ - Check file is named exactly `SKILL.md`
385
+ - Verify YAML frontmatter is valid
386
+ - Ensure file is in a subdirectory of `skills/`
387
+
388
+ ### Security scan failures
389
+
390
+ - Review findings with `poolbot skills scan`
391
+ - Remove hardcoded credentials
392
+ - Avoid suspicious patterns
393
+ - Use environment variables for secrets
394
+
395
+ ### Context not loading
396
+
397
+ - Check skill is enabled: `poolbot skills list --enabled`
398
+ - Verify token limits aren't exceeded
399
+ - Try lower disclosure level
400
+
401
+ ## See Also
402
+
403
+ - [agentskills.io specification](https://agentskills.io)
404
+ - [Example Skill](../skills/example-skill/SKILL.md)
405
+ - [CLI Reference](./cli/skills.md)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/bluebubbles",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot BlueBubbles channel plugin",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/copilot-proxy",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot Copilot Proxy provider plugin",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/diagnostics-otel",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot diagnostics OpenTelemetry exporter",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/discord",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot Discord channel plugin",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolzin/feishu",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "description": "Pool Bot Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/google-antigravity-auth",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot Google Antigravity OAuth provider plugin",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/google-gemini-cli-auth",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot Gemini CLI OAuth provider plugin",
6
6
  "poolbot": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolbot/googlechat",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.10",
4
4
  "type": "module",
5
5
  "description": "Poolbot Google Chat channel plugin",
6
6
  "poolbot": {
@@ -0,0 +1,119 @@
1
+ # HexStrike Bridge Extension
2
+
3
+ Integração do PoolBot com HexStrike AI - plataforma de segurança com 150+ scanners.
4
+
5
+ ## Visão Geral
6
+
7
+ Esta extensão conecta o PoolBot ao HexStrike AI, permitindo executar scans de segurança diretamente via CLI e gateway.
8
+
9
+ ## Funcionalidades
10
+
11
+ - **150+ ferramentas de segurança** disponíveis via HexStrike
12
+ - **Scans assíncronos** com acompanhamento de progresso
13
+ - **CLI integrada** - comandos `poolbot security`
14
+ - **Gateway RPC** - métodos para integração com outros sistemas
15
+
16
+ ## Instalação
17
+
18
+ A extensão é carregada automaticamente pelo PoolBot quando presente no diretório `extensions/`.
19
+
20
+ ## Configuração
21
+
22
+ ```json
23
+ {
24
+ "hexstrike-bridge": {
25
+ "baseUrl": "http://localhost:8888",
26
+ "timeoutMs": 300000,
27
+ "maxConcurrentScans": 3
28
+ }
29
+ }
30
+ ```
31
+
32
+ | Opção | Descrição | Padrão |
33
+ |-------|-----------|--------|
34
+ | `baseUrl` | URL da API HexStrike | `http://localhost:8888` |
35
+ | `timeoutMs` | Timeout de scans em ms | `300000` (5min) |
36
+ | `maxConcurrentScans` | Máximo de scans paralelos | `3` |
37
+
38
+ ## Comandos CLI
39
+
40
+ ### Verificar status
41
+ ```bash
42
+ poolbot security status
43
+ ```
44
+
45
+ ### Listar ferramentas disponíveis
46
+ ```bash
47
+ poolbot security tools
48
+ ```
49
+
50
+ ### Executar scan
51
+ ```bash
52
+ # Scan rápido (assíncrono)
53
+ poolbot security scan nmap example.com
54
+
55
+ # Scan com espera
56
+ poolbot security scan nmap example.com --wait
57
+
58
+ # Scan com timeout customizado
59
+ poolbot security scan nmap example.com --wait --timeout 600
60
+ ```
61
+
62
+ ### Verificar status do scan
63
+ ```bash
64
+ poolbot security scan-status <job-id>
65
+ ```
66
+
67
+ ## Gateway RPC Methods
68
+
69
+ | Método | Descrição |
70
+ |--------|-----------|
71
+ | `security.status` | Status da conexão HexStrike |
72
+ | `security.tools.list` | Lista ferramentas disponíveis |
73
+ | `security.scan.start` | Inicia um novo scan |
74
+ | `security.scan.status` | Status de um scan específico |
75
+ | `security.scan.list` | Lista todos os scans ativos |
76
+
77
+ ## Exemplos de Uso
78
+
79
+ ### Scan de portas com Nmap
80
+ ```bash
81
+ poolbot security scan nmap 192.168.1.1 --wait
82
+ ```
83
+
84
+ ### Scan de vulnerabilidades
85
+ ```bash
86
+ poolbot security scan nikto https://example.com --wait
87
+ ```
88
+
89
+ ### Verificar todos os scans em andamento
90
+ ```bash
91
+ poolbot security scan-list
92
+ ```
93
+
94
+ ## Requisitos
95
+
96
+ - HexStrike AI rodando (por padrão em `localhost:8888`)
97
+ - PoolBot v2026.3.9+
98
+
99
+ ## Troubleshooting
100
+
101
+ ### "HexStrike offline"
102
+ Verifique se o HexStrike está rodando:
103
+ ```bash
104
+ curl http://localhost:8888/health
105
+ ```
106
+
107
+ ### Timeout em scans longos
108
+ Aumente o timeout na configuração:
109
+ ```json
110
+ {
111
+ "hexstrike-bridge": {
112
+ "timeoutMs": 600000
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## Licença
118
+
119
+ MIT - Parte do ecossistema PoolBot