@deepbounty/sdk 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -44,19 +44,21 @@ export interface ServerAPI {
44
44
  logger: Logger;
45
45
  config: ConfigAPI;
46
46
  /**
47
- * Register a scheduled task that runs at a specific interval
48
- * @param taskContent The task content including commands and required tools
47
+ * Register a task template that can be scheduled for all targets
48
+ * @param name Friendly name for the task
49
+ * @param description Task description
50
+ * @param taskContent The task content including commands and tools
49
51
  * @param interval Interval in seconds between task executions
50
52
  * @param onComplete Optional callback executed when the task completes
51
- * @returns The ID of the registered scheduled task
53
+ * @returns The ID of the registered task template
52
54
  */
53
- registerScheduledTask(taskContent: TaskContent, interval: number, onComplete?: (result: TaskResult) => void): number;
55
+ registerTaskTemplate(name: string, description: string, taskContent: TaskContent, interval: number, onComplete?: (result: TaskResult) => void): Promise<number>;
54
56
  /**
55
- * Unregister a scheduled task
56
- * @param taskId The ID of the scheduled task to unregister
57
- * @returns true if the task was unregistered, false if it didn't exist
57
+ * Unregister a task template
58
+ * @param templateId The ID of the task template to unregister
59
+ * @returns true if the template was unregistered, false if it didn't exist
58
60
  */
59
- unregisterScheduledTask(taskId: number): boolean;
61
+ unregisterTaskTemplate(templateId: number): Promise<boolean>;
60
62
  /** Register a tool
61
63
  * @param tool The tool to register
62
64
  */
@@ -4,13 +4,26 @@ export interface TaskContent {
4
4
  requiredTools?: Tool[];
5
5
  extractResult?: boolean;
6
6
  }
7
+ export interface TaskTemplate {
8
+ id: number;
9
+ moduleId: string;
10
+ name: string;
11
+ description?: string;
12
+ content: TaskContent;
13
+ interval: number;
14
+ active: boolean;
15
+ createdAt: Date;
16
+ }
7
17
  export interface ScheduledTask {
8
18
  id: number;
19
+ templateId: number;
9
20
  content: TaskContent;
10
21
  interval: number;
11
22
  moduleId: string;
23
+ targetId?: number;
12
24
  lastExecutedAt?: Date;
13
25
  nextExecutionAt: Date;
26
+ active: boolean;
14
27
  }
15
28
  export interface TaskExecution {
16
29
  executionId: number;
@@ -19,6 +32,7 @@ export interface TaskExecution {
19
32
  status: "pending" | "running" | "completed" | "failed";
20
33
  createdAt: Date;
21
34
  content: TaskContent;
35
+ targetId?: number;
22
36
  }
23
37
  export interface TaskResult {
24
38
  executionId: number;
@@ -26,4 +40,12 @@ export interface TaskResult {
26
40
  success: boolean;
27
41
  output?: any;
28
42
  error?: string;
43
+ targetId?: number;
44
+ }
45
+ export interface TargetTaskOverride {
46
+ id: number;
47
+ targetId: number;
48
+ taskTemplateId: number;
49
+ active: boolean;
50
+ createdAt: Date;
29
51
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepbounty/sdk",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "DeepBounty SDK for module development",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",