@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.
- package/CHANGELOG.md +87 -0
- package/dist/agents/checkpoint-manager.js +291 -0
- package/dist/agents/poolbot-tools.js +5 -0
- package/dist/agents/subagent-announce-reliability.js +160 -0
- package/dist/agents/tool-result-truncation.js +299 -0
- package/dist/agents/tools/nodes-file-tool.js +197 -0
- package/dist/build-info.json +3 -3
- package/dist/cli/config-cli.js +60 -0
- package/dist/cron/cron-improvements.js +195 -0
- package/dist/discord/discord-improvements.js +167 -0
- package/dist/gateway/auth-rate-limit.js +19 -0
- package/dist/gateway/auth.js +41 -0
- package/dist/gateway/gateway-improvements.js +294 -0
- package/dist/gateway/node-command-policy.js +7 -2
- package/dist/infra/net/ssrf.js +15 -2
- package/dist/infra/shell-security.js +201 -0
- package/dist/memory/memory-improvements.js +239 -0
- package/dist/node-host/runner.js +146 -79
- package/dist/security/prototype-pollution.js +141 -0
- package/dist/security/webhook-security.js +253 -0
- package/dist/shared/net/ip.js +52 -1
- package/dist/slack/slack-improvements.js +225 -0
- package/dist/telegram/telegram-improvements.js +220 -0
- package/dist/ui-plugins/ui-plugins-improvements.js +191 -0
- package/docs/ANALISE_OPENCLAW_PROFISSIONAL.md +520 -0
- package/docs/competitive-analysis.md +421 -0
- package/docs/implementation-analysis.md +393 -0
- package/docs/plans/2026-03-11-file-operations-security-hardening.md +307 -0
- package/docs/plans/2026-03-11-integracao-projetos-poolbot.md +666 -0
- package/extensions/agency-agents/README.md +301 -0
- package/extensions/agency-agents/agents/CONTRIBUTING.md +353 -0
- package/extensions/agency-agents/agents/README.md +602 -0
- package/extensions/agency-agents/agents/design/design-brand-guardian.md +320 -0
- package/extensions/agency-agents/agents/design/design-image-prompt-engineer.md +234 -0
- package/extensions/agency-agents/agents/design/design-ui-designer.md +381 -0
- package/extensions/agency-agents/agents/design/design-ux-architect.md +467 -0
- package/extensions/agency-agents/agents/design/design-ux-researcher.md +327 -0
- package/extensions/agency-agents/agents/design/design-visual-storyteller.md +147 -0
- package/extensions/agency-agents/agents/design/design-whimsy-injector.md +436 -0
- package/extensions/agency-agents/agents/engineering/engineering-ai-engineer.md +144 -0
- package/extensions/agency-agents/agents/engineering/engineering-backend-architect.md +233 -0
- package/extensions/agency-agents/agents/engineering/engineering-devops-automator.md +374 -0
- package/extensions/agency-agents/agents/engineering/engineering-frontend-developer.md +223 -0
- package/extensions/agency-agents/agents/engineering/engineering-mobile-app-builder.md +491 -0
- package/extensions/agency-agents/agents/engineering/engineering-rapid-prototyper.md +460 -0
- package/extensions/agency-agents/agents/engineering/engineering-security-engineer.md +275 -0
- package/extensions/agency-agents/agents/engineering/engineering-senior-developer.md +174 -0
- package/extensions/agency-agents/agents/examples/README.md +48 -0
- package/extensions/agency-agents/agents/examples/nexus-spatial-discovery.md +852 -0
- package/extensions/agency-agents/agents/examples/workflow-landing-page.md +119 -0
- package/extensions/agency-agents/agents/examples/workflow-startup-mvp.md +155 -0
- package/extensions/agency-agents/agents/integrations/README.md +117 -0
- package/extensions/agency-agents/agents/integrations/aider/README.md +38 -0
- package/extensions/agency-agents/agents/integrations/antigravity/README.md +49 -0
- package/extensions/agency-agents/agents/integrations/claude-code/README.md +31 -0
- package/extensions/agency-agents/agents/integrations/cursor/README.md +38 -0
- package/extensions/agency-agents/agents/integrations/gemini-cli/README.md +36 -0
- package/extensions/agency-agents/agents/integrations/opencode/README.md +58 -0
- package/extensions/agency-agents/agents/integrations/windsurf/README.md +26 -0
- package/extensions/agency-agents/agents/marketing/marketing-app-store-optimizer.md +319 -0
- package/extensions/agency-agents/agents/marketing/marketing-content-creator.md +52 -0
- package/extensions/agency-agents/agents/marketing/marketing-growth-hacker.md +52 -0
- package/extensions/agency-agents/agents/marketing/marketing-instagram-curator.md +111 -0
- package/extensions/agency-agents/agents/marketing/marketing-reddit-community-builder.md +121 -0
- package/extensions/agency-agents/agents/marketing/marketing-social-media-strategist.md +123 -0
- package/extensions/agency-agents/agents/marketing/marketing-tiktok-strategist.md +123 -0
- package/extensions/agency-agents/agents/marketing/marketing-twitter-engager.md +124 -0
- package/extensions/agency-agents/agents/marketing/marketing-wechat-official-account.md +143 -0
- package/extensions/agency-agents/agents/marketing/marketing-xiaohongshu-specialist.md +136 -0
- package/extensions/agency-agents/agents/marketing/marketing-zhihu-strategist.md +160 -0
- package/extensions/agency-agents/agents/product/product-feedback-synthesizer.md +117 -0
- package/extensions/agency-agents/agents/product/product-sprint-prioritizer.md +152 -0
- package/extensions/agency-agents/agents/product/product-trend-researcher.md +157 -0
- package/extensions/agency-agents/agents/project-management/project-management-experiment-tracker.md +196 -0
- package/extensions/agency-agents/agents/project-management/project-management-project-shepherd.md +192 -0
- package/extensions/agency-agents/agents/project-management/project-management-studio-operations.md +198 -0
- package/extensions/agency-agents/agents/project-management/project-management-studio-producer.md +201 -0
- package/extensions/agency-agents/agents/project-management/project-manager-senior.md +133 -0
- package/extensions/agency-agents/agents/scripts/convert.sh +362 -0
- package/extensions/agency-agents/agents/scripts/install.sh +465 -0
- package/extensions/agency-agents/agents/scripts/lint-agents.sh +115 -0
- package/extensions/agency-agents/agents/spatial-computing/macos-spatial-metal-engineer.md +335 -0
- package/extensions/agency-agents/agents/spatial-computing/terminal-integration-specialist.md +68 -0
- package/extensions/agency-agents/agents/spatial-computing/visionos-spatial-engineer.md +52 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-cockpit-interaction-specialist.md +30 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-immersive-developer.md +30 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-interface-architect.md +30 -0
- package/extensions/agency-agents/agents/specialized/agentic-identity-trust.md +367 -0
- package/extensions/agency-agents/agents/specialized/agents-orchestrator.md +365 -0
- package/extensions/agency-agents/agents/specialized/data-analytics-reporter.md +52 -0
- package/extensions/agency-agents/agents/specialized/data-consolidation-agent.md +58 -0
- package/extensions/agency-agents/agents/specialized/lsp-index-engineer.md +312 -0
- package/extensions/agency-agents/agents/specialized/report-distribution-agent.md +63 -0
- package/extensions/agency-agents/agents/specialized/sales-data-extraction-agent.md +65 -0
- package/extensions/agency-agents/agents/strategy/EXECUTIVE-BRIEF.md +95 -0
- package/extensions/agency-agents/agents/strategy/QUICKSTART.md +194 -0
- package/extensions/agency-agents/agents/strategy/coordination/agent-activation-prompts.md +401 -0
- package/extensions/agency-agents/agents/strategy/coordination/handoff-templates.md +357 -0
- package/extensions/agency-agents/agents/strategy/nexus-strategy.md +1110 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-0-discovery.md +178 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-1-strategy.md +238 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-2-foundation.md +278 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-3-build.md +286 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-4-hardening.md +332 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-5-launch.md +277 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-6-operate.md +318 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-enterprise-feature.md +157 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-incident-response.md +217 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-marketing-campaign.md +187 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-startup-mvp.md +154 -0
- package/extensions/agency-agents/agents/support/support-analytics-reporter.md +363 -0
- package/extensions/agency-agents/agents/support/support-executive-summary-generator.md +210 -0
- package/extensions/agency-agents/agents/support/support-finance-tracker.md +440 -0
- package/extensions/agency-agents/agents/support/support-infrastructure-maintainer.md +616 -0
- package/extensions/agency-agents/agents/support/support-legal-compliance-checker.md +586 -0
- package/extensions/agency-agents/agents/support/support-support-responder.md +583 -0
- package/extensions/agency-agents/agents/testing/testing-accessibility-auditor.md +313 -0
- package/extensions/agency-agents/agents/testing/testing-api-tester.md +304 -0
- package/extensions/agency-agents/agents/testing/testing-evidence-collector.md +208 -0
- package/extensions/agency-agents/agents/testing/testing-performance-benchmarker.md +266 -0
- package/extensions/agency-agents/agents/testing/testing-reality-checker.md +236 -0
- package/extensions/agency-agents/agents/testing/testing-test-results-analyzer.md +303 -0
- package/extensions/agency-agents/agents/testing/testing-tool-evaluator.md +392 -0
- package/extensions/agency-agents/agents/testing/testing-workflow-optimizer.md +448 -0
- package/extensions/agency-agents/index.ts +733 -0
- package/extensions/agency-agents/node_modules/.bin/jiti +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsc +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsserver +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsx +21 -0
- package/extensions/agency-agents/node_modules/.bin/vite +21 -0
- package/extensions/agency-agents/node_modules/.bin/vitest +21 -0
- package/extensions/agency-agents/node_modules/.bin/yaml +21 -0
- package/extensions/agency-agents/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/extensions/agency-agents/package.json +25 -0
- package/extensions/agency-agents/poolbot.plugin.json +11 -0
- package/extensions/agency-agents/src/AgencyAgentsService.test.ts +443 -0
- package/extensions/agency-agents/src/AgencyAgentsService.ts +288 -0
- package/extensions/agency-agents/src/types.ts +147 -0
- package/extensions/agency-agents/vitest.config.ts +8 -0
- package/extensions/hexstrike-ai/README.md +98 -0
- package/extensions/hexstrike-ai/node_modules/.bin/tsc +21 -0
- package/extensions/hexstrike-ai/node_modules/.bin/tsserver +21 -0
- package/extensions/hexstrike-ai/package.json +29 -0
- package/extensions/hexstrike-ai/poolbot.plugin.json +31 -0
- package/extensions/hexstrike-ai/src/client.ts +91 -0
- package/extensions/hexstrike-ai/src/index.ts +170 -0
- package/extensions/hexstrike-ai/src/server/hexstrike_mcp.py +5470 -0
- package/extensions/hexstrike-ai/src/server/hexstrike_server.py +17289 -0
- package/extensions/hexstrike-ai/src/server/requirements.txt +84 -0
- package/extensions/hexstrike-ai/src/server-manager.ts +83 -0
- package/extensions/hexstrike-ai/tsconfig.json +20 -0
- package/extensions/page-agent/README.md +159 -0
- package/extensions/page-agent/index.ts +595 -0
- package/extensions/page-agent/node_modules/.bin/jiti +21 -0
- package/extensions/page-agent/node_modules/.bin/playwright +21 -0
- package/extensions/page-agent/node_modules/.bin/tsc +21 -0
- package/extensions/page-agent/node_modules/.bin/tsserver +21 -0
- package/extensions/page-agent/node_modules/.bin/tsx +21 -0
- package/extensions/page-agent/node_modules/.bin/vitest +21 -0
- package/extensions/page-agent/node_modules/.bin/yaml +21 -0
- package/extensions/page-agent/package.json +43 -0
- package/extensions/page-agent/poolbot.plugin.json +24 -0
- package/extensions/page-agent/src/PageAgentService.test.ts +517 -0
- package/extensions/page-agent/src/PageAgentService.ts +636 -0
- package/extensions/page-agent/src/PoolBotPageController.test.ts +358 -0
- package/extensions/page-agent/src/PoolBotPageController.ts +245 -0
- package/extensions/page-agent/src/index.ts +20 -0
- package/extensions/page-agent/src/tools.test.ts +231 -0
- package/extensions/page-agent/src/tools.ts +167 -0
- package/extensions/page-agent/src/types.ts +198 -0
- package/extensions/xyops/README.md +227 -0
- package/extensions/xyops/index.ts +342 -0
- package/extensions/xyops/node_modules/.bin/jiti +21 -0
- package/extensions/xyops/node_modules/.bin/tsc +21 -0
- package/extensions/xyops/node_modules/.bin/tsserver +21 -0
- package/extensions/xyops/node_modules/.bin/tsx +21 -0
- package/extensions/xyops/node_modules/.bin/vitest +21 -0
- package/extensions/xyops/node_modules/.bin/yaml +21 -0
- package/extensions/xyops/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/extensions/xyops/package.json +39 -0
- package/extensions/xyops/poolbot.plugin.json +21 -0
- package/extensions/xyops/src/client.test.ts +467 -0
- package/extensions/xyops/src/client.ts +157 -0
- package/extensions/xyops/src/types.ts +147 -0
- package/extensions/xyops/vitest.config.ts +8 -0
- package/package.json +1 -1
|
@@ -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
|
+
}
|