@deepbounty/sdk 1.1.3 → 1.1.4
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/events.d.ts +41 -0
- package/dist/events.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/types/burpsuite.d.ts +15 -0
- package/dist/types/burpsuite.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/notifications.d.ts +30 -0
- package/dist/types/notifications.js +1 -0
- package/dist/types/workers.d.ts +2 -0
- package/package.json +1 -1
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { HttpTraffic } from "./types/burpsuite";
|
|
2
|
+
/**
|
|
3
|
+
* Predefined core events emitted by the server
|
|
4
|
+
* Modules can also emit custom events for inter-module communication
|
|
5
|
+
*/
|
|
6
|
+
export interface CoreEvents {
|
|
7
|
+
"http:traffic": HttpTraffic;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Event handler function signature
|
|
11
|
+
*/
|
|
12
|
+
export type EventHandler<T = any> = (data: T) => void | Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Subscription object returned when subscribing to events
|
|
15
|
+
*/
|
|
16
|
+
export interface EventSubscription {
|
|
17
|
+
unsubscribe: () => void;
|
|
18
|
+
}
|
|
19
|
+
export interface IEventBus {
|
|
20
|
+
/**
|
|
21
|
+
* Subscribe to an event
|
|
22
|
+
* @param event - Event name (type-safe for CoreEvents, flexible for custom events)
|
|
23
|
+
* @param handler - Async handler function called when event is emitted
|
|
24
|
+
* @returns Subscription object with unsubscribe method
|
|
25
|
+
*/
|
|
26
|
+
subscribe<K extends keyof CoreEvents>(event: K, handler: EventHandler<CoreEvents[K]>): EventSubscription;
|
|
27
|
+
subscribe<T = any>(event: string, handler: EventHandler<T>): EventSubscription;
|
|
28
|
+
/**
|
|
29
|
+
* Emit an event with data
|
|
30
|
+
* Non-blocking, async execution with rate limiting and error isolation
|
|
31
|
+
* @param event - Event name
|
|
32
|
+
* @param data - Event data
|
|
33
|
+
*/
|
|
34
|
+
emit<K extends keyof CoreEvents>(event: K, data: CoreEvents[K]): void;
|
|
35
|
+
emit<T = any>(event: string, data: T): void;
|
|
36
|
+
/**
|
|
37
|
+
* Clear all listeners for a specific event or all events
|
|
38
|
+
* @param event - Optional event name to clear (clears all if not provided)
|
|
39
|
+
*/
|
|
40
|
+
clear(event?: string): void;
|
|
41
|
+
}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Alert, ModuleSetting, TaskContent, TaskResult, Tool } from "./types";
|
|
2
|
+
import { IEventBus } from "./events";
|
|
2
3
|
export interface Logger {
|
|
3
4
|
info: (...args: any[]) => void;
|
|
4
5
|
warn: (...args: any[]) => void;
|
|
@@ -81,6 +82,7 @@ export interface ServerAPI {
|
|
|
81
82
|
logger: Logger;
|
|
82
83
|
config: ConfigAPI;
|
|
83
84
|
storage: StorageAPI;
|
|
85
|
+
events: IEventBus;
|
|
84
86
|
/**
|
|
85
87
|
* Register a task template that can be scheduled for all targets
|
|
86
88
|
* @param uniqueKey Unique identifier for this task within the module (e.g., "subdomain-scan")
|
|
@@ -120,5 +122,6 @@ export interface PluginLifecycle {
|
|
|
120
122
|
stop?(): Promise<void> | void;
|
|
121
123
|
}
|
|
122
124
|
export type PluginFactory = (api: ServerAPI) => PluginLifecycle | Promise<PluginLifecycle>;
|
|
125
|
+
export { IEventBus, EventSubscription, CoreEvents, EventHandler, } from "./events";
|
|
123
126
|
declare const _default: any;
|
|
124
127
|
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP traffic data from Burp Suite
|
|
3
|
+
*/
|
|
4
|
+
export interface HttpTraffic {
|
|
5
|
+
url: string;
|
|
6
|
+
method: string;
|
|
7
|
+
statusCode: number;
|
|
8
|
+
requestHeaders: Record<string, string>;
|
|
9
|
+
responseHeaders: Record<string, string>;
|
|
10
|
+
requestBody: string;
|
|
11
|
+
responseBody: string;
|
|
12
|
+
mimeType: string;
|
|
13
|
+
timestamp: Date;
|
|
14
|
+
targetId?: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type NotificationService = {
|
|
2
|
+
provider: "discord";
|
|
3
|
+
config: DiscordConfig;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
} | {
|
|
6
|
+
provider: "ntfysh";
|
|
7
|
+
config: ntfyshConfig;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
};
|
|
10
|
+
export interface DiscordConfig {
|
|
11
|
+
webhookUrl: string;
|
|
12
|
+
notificationRoleID?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ntfyshConfig {
|
|
15
|
+
serverRootUrl: string;
|
|
16
|
+
topic: string;
|
|
17
|
+
username?: string;
|
|
18
|
+
password?: string;
|
|
19
|
+
token?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface NotificationConfigField {
|
|
22
|
+
name: string;
|
|
23
|
+
type: "text" | "password";
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface NotificationProvider {
|
|
28
|
+
label: string;
|
|
29
|
+
fields: NotificationConfigField[];
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/workers.d.ts
CHANGED