@poolzin/pool-bot 2026.3.11 → 2026.3.14

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 (195) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/agents/checkpoint-manager.js +291 -0
  4. package/dist/agents/poolbot-tools.js +5 -0
  5. package/dist/agents/subagent-announce-reliability.js +160 -0
  6. package/dist/agents/tool-result-truncation.js +299 -0
  7. package/dist/agents/tools/nodes-file-tool.js +197 -0
  8. package/dist/build-info.json +3 -3
  9. package/dist/cli/config-cli.js +60 -0
  10. package/dist/cron/cron-improvements.js +195 -0
  11. package/dist/discord/discord-improvements.js +167 -0
  12. package/dist/gateway/auth-rate-limit.js +19 -0
  13. package/dist/gateway/auth.js +41 -0
  14. package/dist/gateway/gateway-improvements.js +294 -0
  15. package/dist/gateway/node-command-policy.js +7 -2
  16. package/dist/infra/net/ssrf.js +15 -2
  17. package/dist/infra/shell-security.js +201 -0
  18. package/dist/memory/memory-improvements.js +239 -0
  19. package/dist/node-host/runner.js +146 -79
  20. package/dist/security/prototype-pollution.js +141 -0
  21. package/dist/security/webhook-security.js +253 -0
  22. package/dist/shared/net/ip.js +52 -1
  23. package/dist/slack/slack-improvements.js +225 -0
  24. package/dist/telegram/telegram-improvements.js +220 -0
  25. package/dist/ui-plugins/ui-plugins-improvements.js +191 -0
  26. package/docs/ANALISE_OPENCLAW_PROFISSIONAL.md +520 -0
  27. package/docs/competitive-analysis.md +421 -0
  28. package/docs/implementation-analysis.md +393 -0
  29. package/docs/plans/2026-03-11-file-operations-security-hardening.md +307 -0
  30. package/docs/plans/2026-03-11-integracao-projetos-poolbot.md +666 -0
  31. package/docs/refactor/plugin-development-guide.md +281 -0
  32. package/extensions/agency-agents/README.md +301 -0
  33. package/extensions/agency-agents/agents/CONTRIBUTING.md +353 -0
  34. package/extensions/agency-agents/agents/README.md +602 -0
  35. package/extensions/agency-agents/agents/design/design-brand-guardian.md +320 -0
  36. package/extensions/agency-agents/agents/design/design-image-prompt-engineer.md +234 -0
  37. package/extensions/agency-agents/agents/design/design-ui-designer.md +381 -0
  38. package/extensions/agency-agents/agents/design/design-ux-architect.md +467 -0
  39. package/extensions/agency-agents/agents/design/design-ux-researcher.md +327 -0
  40. package/extensions/agency-agents/agents/design/design-visual-storyteller.md +147 -0
  41. package/extensions/agency-agents/agents/design/design-whimsy-injector.md +436 -0
  42. package/extensions/agency-agents/agents/engineering/engineering-ai-engineer.md +144 -0
  43. package/extensions/agency-agents/agents/engineering/engineering-backend-architect.md +233 -0
  44. package/extensions/agency-agents/agents/engineering/engineering-devops-automator.md +374 -0
  45. package/extensions/agency-agents/agents/engineering/engineering-frontend-developer.md +223 -0
  46. package/extensions/agency-agents/agents/engineering/engineering-mobile-app-builder.md +491 -0
  47. package/extensions/agency-agents/agents/engineering/engineering-rapid-prototyper.md +460 -0
  48. package/extensions/agency-agents/agents/engineering/engineering-security-engineer.md +275 -0
  49. package/extensions/agency-agents/agents/engineering/engineering-senior-developer.md +174 -0
  50. package/extensions/agency-agents/agents/examples/README.md +48 -0
  51. package/extensions/agency-agents/agents/examples/nexus-spatial-discovery.md +852 -0
  52. package/extensions/agency-agents/agents/examples/workflow-landing-page.md +119 -0
  53. package/extensions/agency-agents/agents/examples/workflow-startup-mvp.md +155 -0
  54. package/extensions/agency-agents/agents/integrations/README.md +117 -0
  55. package/extensions/agency-agents/agents/integrations/aider/README.md +38 -0
  56. package/extensions/agency-agents/agents/integrations/antigravity/README.md +49 -0
  57. package/extensions/agency-agents/agents/integrations/claude-code/README.md +31 -0
  58. package/extensions/agency-agents/agents/integrations/cursor/README.md +38 -0
  59. package/extensions/agency-agents/agents/integrations/gemini-cli/README.md +36 -0
  60. package/extensions/agency-agents/agents/integrations/opencode/README.md +58 -0
  61. package/extensions/agency-agents/agents/integrations/windsurf/README.md +26 -0
  62. package/extensions/agency-agents/agents/marketing/marketing-app-store-optimizer.md +319 -0
  63. package/extensions/agency-agents/agents/marketing/marketing-content-creator.md +52 -0
  64. package/extensions/agency-agents/agents/marketing/marketing-growth-hacker.md +52 -0
  65. package/extensions/agency-agents/agents/marketing/marketing-instagram-curator.md +111 -0
  66. package/extensions/agency-agents/agents/marketing/marketing-reddit-community-builder.md +121 -0
  67. package/extensions/agency-agents/agents/marketing/marketing-social-media-strategist.md +123 -0
  68. package/extensions/agency-agents/agents/marketing/marketing-tiktok-strategist.md +123 -0
  69. package/extensions/agency-agents/agents/marketing/marketing-twitter-engager.md +124 -0
  70. package/extensions/agency-agents/agents/marketing/marketing-wechat-official-account.md +143 -0
  71. package/extensions/agency-agents/agents/marketing/marketing-xiaohongshu-specialist.md +136 -0
  72. package/extensions/agency-agents/agents/marketing/marketing-zhihu-strategist.md +160 -0
  73. package/extensions/agency-agents/agents/product/product-feedback-synthesizer.md +117 -0
  74. package/extensions/agency-agents/agents/product/product-sprint-prioritizer.md +152 -0
  75. package/extensions/agency-agents/agents/product/product-trend-researcher.md +157 -0
  76. package/extensions/agency-agents/agents/project-management/project-management-experiment-tracker.md +196 -0
  77. package/extensions/agency-agents/agents/project-management/project-management-project-shepherd.md +192 -0
  78. package/extensions/agency-agents/agents/project-management/project-management-studio-operations.md +198 -0
  79. package/extensions/agency-agents/agents/project-management/project-management-studio-producer.md +201 -0
  80. package/extensions/agency-agents/agents/project-management/project-manager-senior.md +133 -0
  81. package/extensions/agency-agents/agents/scripts/convert.sh +362 -0
  82. package/extensions/agency-agents/agents/scripts/install.sh +465 -0
  83. package/extensions/agency-agents/agents/scripts/lint-agents.sh +115 -0
  84. package/extensions/agency-agents/agents/spatial-computing/macos-spatial-metal-engineer.md +335 -0
  85. package/extensions/agency-agents/agents/spatial-computing/terminal-integration-specialist.md +68 -0
  86. package/extensions/agency-agents/agents/spatial-computing/visionos-spatial-engineer.md +52 -0
  87. package/extensions/agency-agents/agents/spatial-computing/xr-cockpit-interaction-specialist.md +30 -0
  88. package/extensions/agency-agents/agents/spatial-computing/xr-immersive-developer.md +30 -0
  89. package/extensions/agency-agents/agents/spatial-computing/xr-interface-architect.md +30 -0
  90. package/extensions/agency-agents/agents/specialized/agentic-identity-trust.md +367 -0
  91. package/extensions/agency-agents/agents/specialized/agents-orchestrator.md +365 -0
  92. package/extensions/agency-agents/agents/specialized/data-analytics-reporter.md +52 -0
  93. package/extensions/agency-agents/agents/specialized/data-consolidation-agent.md +58 -0
  94. package/extensions/agency-agents/agents/specialized/lsp-index-engineer.md +312 -0
  95. package/extensions/agency-agents/agents/specialized/report-distribution-agent.md +63 -0
  96. package/extensions/agency-agents/agents/specialized/sales-data-extraction-agent.md +65 -0
  97. package/extensions/agency-agents/agents/strategy/EXECUTIVE-BRIEF.md +95 -0
  98. package/extensions/agency-agents/agents/strategy/QUICKSTART.md +194 -0
  99. package/extensions/agency-agents/agents/strategy/coordination/agent-activation-prompts.md +401 -0
  100. package/extensions/agency-agents/agents/strategy/coordination/handoff-templates.md +357 -0
  101. package/extensions/agency-agents/agents/strategy/nexus-strategy.md +1110 -0
  102. package/extensions/agency-agents/agents/strategy/playbooks/phase-0-discovery.md +178 -0
  103. package/extensions/agency-agents/agents/strategy/playbooks/phase-1-strategy.md +238 -0
  104. package/extensions/agency-agents/agents/strategy/playbooks/phase-2-foundation.md +278 -0
  105. package/extensions/agency-agents/agents/strategy/playbooks/phase-3-build.md +286 -0
  106. package/extensions/agency-agents/agents/strategy/playbooks/phase-4-hardening.md +332 -0
  107. package/extensions/agency-agents/agents/strategy/playbooks/phase-5-launch.md +277 -0
  108. package/extensions/agency-agents/agents/strategy/playbooks/phase-6-operate.md +318 -0
  109. package/extensions/agency-agents/agents/strategy/runbooks/scenario-enterprise-feature.md +157 -0
  110. package/extensions/agency-agents/agents/strategy/runbooks/scenario-incident-response.md +217 -0
  111. package/extensions/agency-agents/agents/strategy/runbooks/scenario-marketing-campaign.md +187 -0
  112. package/extensions/agency-agents/agents/strategy/runbooks/scenario-startup-mvp.md +154 -0
  113. package/extensions/agency-agents/agents/support/support-analytics-reporter.md +363 -0
  114. package/extensions/agency-agents/agents/support/support-executive-summary-generator.md +210 -0
  115. package/extensions/agency-agents/agents/support/support-finance-tracker.md +440 -0
  116. package/extensions/agency-agents/agents/support/support-infrastructure-maintainer.md +616 -0
  117. package/extensions/agency-agents/agents/support/support-legal-compliance-checker.md +586 -0
  118. package/extensions/agency-agents/agents/support/support-support-responder.md +583 -0
  119. package/extensions/agency-agents/agents/testing/testing-accessibility-auditor.md +313 -0
  120. package/extensions/agency-agents/agents/testing/testing-api-tester.md +304 -0
  121. package/extensions/agency-agents/agents/testing/testing-evidence-collector.md +208 -0
  122. package/extensions/agency-agents/agents/testing/testing-performance-benchmarker.md +266 -0
  123. package/extensions/agency-agents/agents/testing/testing-reality-checker.md +236 -0
  124. package/extensions/agency-agents/agents/testing/testing-test-results-analyzer.md +303 -0
  125. package/extensions/agency-agents/agents/testing/testing-tool-evaluator.md +392 -0
  126. package/extensions/agency-agents/agents/testing/testing-workflow-optimizer.md +448 -0
  127. package/extensions/agency-agents/index.ts +733 -0
  128. package/extensions/agency-agents/node_modules/.bin/jiti +21 -0
  129. package/extensions/agency-agents/node_modules/.bin/tsc +21 -0
  130. package/extensions/agency-agents/node_modules/.bin/tsserver +21 -0
  131. package/extensions/agency-agents/node_modules/.bin/tsx +21 -0
  132. package/extensions/agency-agents/node_modules/.bin/vite +21 -0
  133. package/extensions/agency-agents/node_modules/.bin/vitest +21 -0
  134. package/extensions/agency-agents/node_modules/.bin/yaml +21 -0
  135. package/extensions/agency-agents/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  136. package/extensions/agency-agents/package.json +25 -0
  137. package/extensions/agency-agents/src/AgencyAgentsService.test.ts +443 -0
  138. package/extensions/agency-agents/src/AgencyAgentsService.ts +288 -0
  139. package/extensions/agency-agents/src/types.ts +147 -0
  140. package/extensions/agency-agents/vitest.config.ts +8 -0
  141. package/extensions/hexstrike-ai/README.md +98 -0
  142. package/extensions/hexstrike-ai/node_modules/.bin/tsc +21 -0
  143. package/extensions/hexstrike-ai/node_modules/.bin/tsserver +21 -0
  144. package/extensions/hexstrike-ai/package.json +29 -0
  145. package/extensions/hexstrike-ai/poolbot.plugin.json +31 -0
  146. package/extensions/hexstrike-ai/src/client.ts +91 -0
  147. package/extensions/hexstrike-ai/src/index.ts +170 -0
  148. package/extensions/hexstrike-ai/src/server/hexstrike_mcp.py +5470 -0
  149. package/extensions/hexstrike-ai/src/server/hexstrike_server.py +17289 -0
  150. package/extensions/hexstrike-ai/src/server/requirements.txt +84 -0
  151. package/extensions/hexstrike-ai/src/server-manager.ts +83 -0
  152. package/extensions/hexstrike-ai/tsconfig.json +20 -0
  153. package/extensions/hexstrike-bridge/package.json +1 -1
  154. package/extensions/hexstrike-bridge/poolbot.plugin.json +23 -0
  155. package/extensions/mcp-server/poolbot.plugin.json +10 -0
  156. package/extensions/page-agent/README.md +159 -0
  157. package/extensions/page-agent/index.ts +595 -0
  158. package/extensions/page-agent/node_modules/.bin/jiti +21 -0
  159. package/extensions/page-agent/node_modules/.bin/playwright +21 -0
  160. package/extensions/page-agent/node_modules/.bin/tsc +21 -0
  161. package/extensions/page-agent/node_modules/.bin/tsserver +21 -0
  162. package/extensions/page-agent/node_modules/.bin/tsx +21 -0
  163. package/extensions/page-agent/node_modules/.bin/vitest +21 -0
  164. package/extensions/page-agent/node_modules/.bin/yaml +21 -0
  165. package/extensions/page-agent/package.json +43 -0
  166. package/extensions/page-agent/src/PageAgentService.test.ts +517 -0
  167. package/extensions/page-agent/src/PageAgentService.ts +636 -0
  168. package/extensions/page-agent/src/PoolBotPageController.test.ts +358 -0
  169. package/extensions/page-agent/src/PoolBotPageController.ts +245 -0
  170. package/extensions/page-agent/src/index.ts +20 -0
  171. package/extensions/page-agent/src/tools.test.ts +231 -0
  172. package/extensions/page-agent/src/tools.ts +167 -0
  173. package/extensions/page-agent/src/types.ts +198 -0
  174. package/extensions/template/README.md +101 -0
  175. package/extensions/template/index.ts +38 -0
  176. package/extensions/template/package.json +15 -0
  177. package/extensions/template/poolbot.plugin.json +10 -0
  178. package/extensions/xyops/README.md +227 -0
  179. package/extensions/xyops/index.ts +342 -0
  180. package/extensions/xyops/node_modules/.bin/jiti +21 -0
  181. package/extensions/xyops/node_modules/.bin/tsc +21 -0
  182. package/extensions/xyops/node_modules/.bin/tsserver +21 -0
  183. package/extensions/xyops/node_modules/.bin/tsx +21 -0
  184. package/extensions/xyops/node_modules/.bin/vitest +21 -0
  185. package/extensions/xyops/node_modules/.bin/yaml +21 -0
  186. package/extensions/xyops/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  187. package/extensions/xyops/package.json +39 -0
  188. package/extensions/xyops/src/client.test.ts +467 -0
  189. package/extensions/xyops/src/client.ts +157 -0
  190. package/extensions/xyops/src/types.ts +147 -0
  191. package/extensions/xyops/vitest.config.ts +8 -0
  192. package/package.json +1 -1
  193. package/extensions/mavalie/README.md +0 -97
  194. package/extensions/mavalie/package.json +0 -15
  195. package/extensions/mavalie/src/index.ts +0 -62
@@ -0,0 +1,157 @@
1
+ import type {
2
+ XYOpsConfig,
3
+ XYOpsJob,
4
+ XYOpsSchedule,
5
+ XYOpsEvent,
6
+ XYOpsPlugin,
7
+ XYOpsStatus,
8
+ } from "./types.js";
9
+
10
+ export class XYOpsClient {
11
+ private baseUrl: string;
12
+ private apiKey?: string;
13
+ private timeout: number;
14
+
15
+ constructor(config: XYOpsConfig) {
16
+ this.baseUrl = config.baseUrl.replace(/\/$/, "");
17
+ this.apiKey = config.apiKey;
18
+ this.timeout = config.timeout ?? 30000;
19
+ }
20
+
21
+ private async request<T>(
22
+ method: string,
23
+ path: string,
24
+ body?: unknown
25
+ ): Promise<T> {
26
+ const url = `${this.baseUrl}/api${path}`;
27
+ const headers: Record<string, string> = {
28
+ "Content-Type": "application/json",
29
+ Accept: "application/json",
30
+ };
31
+
32
+ if (this.apiKey) {
33
+ headers["Authorization"] = `Bearer ${this.apiKey}`;
34
+ }
35
+
36
+ const controller = new AbortController();
37
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
38
+
39
+ try {
40
+ const response = await fetch(url, {
41
+ method,
42
+ headers,
43
+ body: body ? JSON.stringify(body) : undefined,
44
+ signal: controller.signal,
45
+ });
46
+
47
+ clearTimeout(timeoutId);
48
+
49
+ if (!response.ok) {
50
+ const errorText = await response.text();
51
+ throw new Error(
52
+ `XYOps API error: ${response.status} ${response.statusText} - ${errorText}`
53
+ );
54
+ }
55
+
56
+ // Handle empty responses
57
+ const contentType = response.headers.get("content-type");
58
+ if (!contentType?.includes("application/json")) {
59
+ return undefined as T;
60
+ }
61
+
62
+ return (await response.json()) as T;
63
+ } catch (error) {
64
+ clearTimeout(timeoutId);
65
+ if (error instanceof Error && error.name === "AbortError") {
66
+ throw new Error(`XYOps request timeout after ${this.timeout}ms`);
67
+ }
68
+ throw error;
69
+ }
70
+ }
71
+
72
+ // Jobs
73
+ async listJobs(offset = 0, limit = 50): Promise<XYOpsJob[]> {
74
+ return this.request<XYOpsJob[]>(
75
+ "GET",
76
+ `/jobs?offset=${offset}&limit=${limit}`
77
+ );
78
+ }
79
+
80
+ async getJob(jobId: string): Promise<XYOpsJob> {
81
+ return this.request<XYOpsJob>("GET", `/jobs/${jobId}`);
82
+ }
83
+
84
+ async createJob(
85
+ jobData: Omit<XYOpsJob, "id" | "created" | "modified">
86
+ ): Promise<XYOpsJob> {
87
+ return this.request<XYOpsJob>("POST", "/jobs", jobData);
88
+ }
89
+
90
+ async updateJob(
91
+ jobId: string,
92
+ updates: Partial<Omit<XYOpsJob, "id" | "created" | "modified">>
93
+ ): Promise<XYOpsJob> {
94
+ return this.request<XYOpsJob>("PUT", `/jobs/${jobId}`, updates);
95
+ }
96
+
97
+ async deleteJob(jobId: string): Promise<void> {
98
+ await this.request<void>("DELETE", `/jobs/${jobId}`);
99
+ }
100
+
101
+ async runJob(
102
+ jobId: string,
103
+ params?: Record<string, unknown>
104
+ ): Promise<{ eventId: string }> {
105
+ return this.request<{ eventId: string }>(
106
+ "POST",
107
+ `/jobs/${jobId}/run`,
108
+ params ? { params } : undefined
109
+ );
110
+ }
111
+
112
+ // Schedules
113
+ async listSchedules(jobId?: string): Promise<XYOpsSchedule[]> {
114
+ const query = jobId ? `?jobId=${jobId}` : "";
115
+ return this.request<XYOpsSchedule[]>("GET", `/schedules${query}`);
116
+ }
117
+
118
+ async createSchedule(
119
+ scheduleData: Omit<XYOpsSchedule, "id" | "created">
120
+ ): Promise<XYOpsSchedule> {
121
+ return this.request<XYOpsSchedule>("POST", "/schedules", scheduleData);
122
+ }
123
+
124
+ async deleteSchedule(scheduleId: string): Promise<void> {
125
+ await this.request<void>("DELETE", `/schedules/${scheduleId}`);
126
+ }
127
+
128
+ // Events
129
+ async listEvents(
130
+ jobId?: string,
131
+ limit = 50,
132
+ offset = 0
133
+ ): Promise<XYOpsEvent[]> {
134
+ const params = new URLSearchParams();
135
+ if (jobId) params.append("jobId", jobId);
136
+ params.append("limit", String(limit));
137
+ params.append("offset", String(offset));
138
+ return this.request<XYOpsEvent[]>("GET", `/events?${params.toString()}`);
139
+ }
140
+
141
+ async getEvent(eventId: string): Promise<XYOpsEvent> {
142
+ return this.request<XYOpsEvent>("GET", `/events/${eventId}`);
143
+ }
144
+
145
+ async abortEvent(eventId: string): Promise<void> {
146
+ await this.request<void>("POST", `/events/${eventId}/abort`);
147
+ }
148
+
149
+ // System
150
+ async getStatus(): Promise<XYOpsStatus> {
151
+ return this.request<XYOpsStatus>("GET", "/status");
152
+ }
153
+
154
+ async listPlugins(): Promise<XYOpsPlugin[]> {
155
+ return this.request<XYOpsPlugin[]>("GET", "/plugins");
156
+ }
157
+ }
@@ -0,0 +1,147 @@
1
+ // XYOps Type Definitions
2
+
3
+ export interface XYOpsConfig {
4
+ /** XYOps server base URL */
5
+ baseUrl: string;
6
+ /** API key for authentication */
7
+ apiKey?: string;
8
+ /** Request timeout in ms */
9
+ timeout?: number;
10
+ }
11
+
12
+ export interface XYOpsJob {
13
+ /** Unique job ID */
14
+ id: string;
15
+ /** Job title */
16
+ title: string;
17
+ /** Job category */
18
+ category: string;
19
+ /** Plugin to execute */
20
+ plugin: string;
21
+ /** Plugin parameters */
22
+ params: Record<string, unknown>;
23
+ /** Whether job is enabled */
24
+ enabled: boolean;
25
+ /** Creation timestamp */
26
+ created: number;
27
+ /** Last modified timestamp */
28
+ modified: number;
29
+ }
30
+
31
+ export interface XYOpsSchedule {
32
+ /** Unique schedule ID */
33
+ id: string;
34
+ /** Associated job ID */
35
+ jobId: string;
36
+ /** Cron expression */
37
+ cron: string;
38
+ /** Whether schedule is enabled */
39
+ enabled: boolean;
40
+ /** Creation timestamp */
41
+ created: number;
42
+ }
43
+
44
+ export interface XYOpsEvent {
45
+ /** Unique event ID */
46
+ id: string;
47
+ /** Associated job ID */
48
+ jobId: string;
49
+ /** Event status */
50
+ status: "pending" | "running" | "success" | "error" | "aborted";
51
+ /** Start timestamp */
52
+ startTime: number;
53
+ /** End timestamp (if completed) */
54
+ endTime?: number;
55
+ /** Event output/log */
56
+ output?: string;
57
+ /** Error message (if failed) */
58
+ error?: string;
59
+ }
60
+
61
+ export interface XYOpsPlugin {
62
+ /** Plugin name */
63
+ name: string;
64
+ /** Plugin title */
65
+ title: string;
66
+ /** Plugin description */
67
+ description?: string;
68
+ /** Parameter schema */
69
+ params?: Record<string, unknown>;
70
+ }
71
+
72
+ export interface XYOpsStatus {
73
+ /** Server version */
74
+ version: string;
75
+ /** Server uptime in seconds */
76
+ uptime: number;
77
+ /** Number of configured jobs */
78
+ jobCount: number;
79
+ /** Number of active schedules */
80
+ scheduleCount: number;
81
+ /** Currently running events */
82
+ activeEvents: number;
83
+ }
84
+
85
+ // Tool parameter types
86
+ export interface ListJobsParams {
87
+ offset?: number;
88
+ limit?: number;
89
+ }
90
+
91
+ export interface GetJobParams {
92
+ jobId: string;
93
+ }
94
+
95
+ export interface CreateJobParams {
96
+ title: string;
97
+ category: string;
98
+ plugin: string;
99
+ params?: Record<string, unknown>;
100
+ enabled?: boolean;
101
+ }
102
+
103
+ export interface UpdateJobParams {
104
+ jobId: string;
105
+ title?: string;
106
+ category?: string;
107
+ plugin?: string;
108
+ params?: Record<string, unknown>;
109
+ enabled?: boolean;
110
+ }
111
+
112
+ export interface DeleteJobParams {
113
+ jobId: string;
114
+ }
115
+
116
+ export interface RunJobParams {
117
+ jobId: string;
118
+ params?: Record<string, unknown>;
119
+ }
120
+
121
+ export interface ListSchedulesParams {
122
+ jobId?: string;
123
+ }
124
+
125
+ export interface CreateScheduleParams {
126
+ jobId: string;
127
+ cron: string;
128
+ enabled?: boolean;
129
+ }
130
+
131
+ export interface DeleteScheduleParams {
132
+ scheduleId: string;
133
+ }
134
+
135
+ export interface ListEventsParams {
136
+ jobId?: string;
137
+ limit?: number;
138
+ offset?: number;
139
+ }
140
+
141
+ export interface GetEventParams {
142
+ eventId: string;
143
+ }
144
+
145
+ export interface AbortEventParams {
146
+ eventId: string;
147
+ }
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vitest/config'
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ environment: 'node',
7
+ },
8
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poolzin/pool-bot",
3
- "version": "2026.3.11",
3
+ "version": "2026.3.14",
4
4
  "description": "🎱 Pool Bot - AI assistant with PLCODE integrations",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -1,97 +0,0 @@
1
- # Mavalie Plugin for PoolBot
2
-
3
- Plugin template válido para PoolBot.
4
-
5
- ## Estrutura
6
-
7
- ```
8
- extensions/mavalie/
9
- ├── package.json # Manifest do plugin
10
- ├── src/
11
- │ └── index.ts # Entry point
12
- └── README.md # Esta documentação
13
- ```
14
-
15
- ## Instalação
16
-
17
- 1. **Build do plugin:**
18
- ```bash
19
- cd extensions/mavalie
20
- npm install
21
- npm run build # ou pnpm build
22
- ```
23
-
24
- 2. **Ativação no PoolBot:**
25
- O plugin é carregado automaticamente pelo PoolBot quando:
26
- - O diretório está em `extensions/mavalie/`
27
- - O `package.json` tem a seção `poolbot.extensions` configurada
28
- - O entry point (`dist/index.js`) existe
29
-
30
- ## Configuração
31
-
32
- O plugin usa `emptyPluginConfigSchema()`, ou seja, não requer configuração.
33
-
34
- Para adicionar configurações, substitua por:
35
-
36
- ```typescript
37
- import { z } from "zod";
38
-
39
- const configSchema = z.object({
40
- apiKey: z.string().optional(),
41
- endpoint: z.string().url().default("https://api.mavalie.com"),
42
- });
43
- ```
44
-
45
- ## Desenvolvimento
46
-
47
- ### Padrões de Plugin
48
-
49
- O PoolBot suporta 4 tipos de extensões:
50
-
51
- 1. **Provider** - Adiciona novos modelos LLM
52
- 2. **Channel** - Adiciona canais de comunicação (Discord, Slack, etc)
53
- 3. **Tool** - Adiciona ferramentas para agentes
54
- 4. **Hook** - Intercepta eventos do ciclo de vida
55
-
56
- ### Exemplo: Registrando um Provider
57
-
58
- ```typescript
59
- api.registerProvider({
60
- id: "mavalie",
61
- label: "Mavalie AI",
62
- auth: [{
63
- id: "api-key",
64
- kind: "apiKey",
65
- run: async (ctx) => {
66
- const key = await ctx.prompter.password({
67
- message: "Mavalie API Key:"
68
- });
69
- return {
70
- profiles: [{
71
- profileId: "mavalie:default",
72
- credential: { type: "apiKey", key: String(key) }
73
- }]
74
- };
75
- }
76
- }]
77
- });
78
- ```
79
-
80
- ## Troubleshooting
81
-
82
- ### "plugin manifest not found"
83
- - Verifique se `package.json` existe e tem `poolbot.extensions`
84
- - Verifique se o caminho em `extensions` aponta para o arquivo correto
85
-
86
- ### "extension entry escapes package directory"
87
- - O entry point deve estar dentro do diretório do plugin
88
- - Use `./dist/index.js` (não `./src/index.ts` para produção)
89
-
90
- ### Erros de TypeScript "Cannot find module 'poolbot/plugin-sdk'"
91
- - Normal durante desenvolvimento - o alias só resolve após build
92
- - O build do PoolBot principal resolve essas dependências
93
-
94
- ## Referências
95
-
96
- - [Plugin SDK Documentation](../../docs/refactor/plugin-sdk.md)
97
- - [Exemplos de Plugins](../discord/, ../slack/, etc.)
@@ -1,15 +0,0 @@
1
- {
2
- "name": "@poolbot/mavalie",
3
- "version": "2026.3.11",
4
- "type": "module",
5
- "description": "Mavalie plugin for PoolBot - custom integration",
6
- "poolbot": {
7
- "extensions": [
8
- "./src/index.ts"
9
- ]
10
- },
11
- "dependencies": {},
12
- "devDependencies": {
13
- "poolbot": "workspace:*"
14
- }
15
- }
@@ -1,62 +0,0 @@
1
- import { emptyPluginConfigSchema } from "poolbot/plugin-sdk";
2
-
3
- /**
4
- * Mavalie Plugin for PoolBot
5
- *
6
- * Template mínimo válido de plugin para PoolBot.
7
- * Este plugin registra um provider customizado que pode ser expandido
8
- * conforme necessidades específicas.
9
- */
10
-
11
- const mavaliePlugin = {
12
- id: "mavalie",
13
- name: "Mavalie",
14
- description: "Custom Mavalie integration for PoolBot",
15
- configSchema: emptyPluginConfigSchema(),
16
-
17
- register(api) {
18
- // Log de registro do plugin
19
- api.runtime?.log?.("Mavalie plugin registered");
20
-
21
- // TODO: Adicione aqui o registro de:
22
- // - Providers (modelos customizados)
23
- // - Canais (integrações de mensageria)
24
- // - Ferramentas (tools para agentes)
25
- // - Hooks (eventos do ciclo de vida)
26
-
27
- // Exemplo de registro de provider (descomente e adapte):
28
- /*
29
- api.registerProvider({
30
- id: "mavalie",
31
- label: "Mavalie Provider",
32
- docsPath: "/providers/models",
33
- auth: [
34
- {
35
- id: "api-key",
36
- label: "API Key",
37
- kind: "apiKey",
38
- run: async (ctx) => {
39
- const key = await ctx.prompter.password({
40
- message: "Enter your Mavalie API key:",
41
- });
42
- return {
43
- profiles: [
44
- {
45
- profileId: "mavalie:default",
46
- credential: {
47
- type: "apiKey",
48
- provider: "mavalie",
49
- key: String(key),
50
- },
51
- },
52
- ],
53
- };
54
- },
55
- },
56
- ],
57
- });
58
- */
59
- },
60
- };
61
-
62
- export default mavaliePlugin;