@deepbounty/sdk 1.0.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/README.md +20 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/types/alerts.d.ts +13 -0
- package/dist/types/alerts.d.ts.map +1 -0
- package/dist/types/alerts.js +2 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +22 -0
- package/dist/types/modules.d.ts +19 -0
- package/dist/types/modules.d.ts.map +1 -0
- package/dist/types/modules.js +2 -0
- package/dist/types/targets.d.ts +12 -0
- package/dist/types/targets.d.ts.map +1 -0
- package/dist/types/targets.js +2 -0
- package/dist/types/tasks.d.ts +15 -0
- package/dist/types/tasks.d.ts.map +1 -0
- package/dist/types/tasks.js +2 -0
- package/dist/types/websockets.d.ts +5 -0
- package/dist/types/websockets.d.ts.map +1 -0
- package/dist/types/websockets.js +2 -0
- package/dist/types/workers.d.ts +14 -0
- package/dist/types/workers.d.ts.map +1 -0
- package/dist/types/workers.js +2 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# DeepBounty SDK
|
|
2
|
+
|
|
3
|
+
The official SDK for developing modules for the DeepBounty project.
|
|
4
|
+
|
|
5
|
+
## 📦 Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @deepbounty/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 🔧 Build & Publish
|
|
12
|
+
|
|
13
|
+
1. Build the SDK:
|
|
14
|
+
```bash
|
|
15
|
+
npm run build
|
|
16
|
+
```
|
|
17
|
+
2. Publish to npm:
|
|
18
|
+
```bash
|
|
19
|
+
npm publish --access public
|
|
20
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ModuleSetting } from "./types";
|
|
2
|
+
export interface Logger {
|
|
3
|
+
info: (...args: any[]) => void;
|
|
4
|
+
warn: (...args: any[]) => void;
|
|
5
|
+
error: (...args: any[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface ConfigAPI {
|
|
8
|
+
get<T = any>(key: string, defaultValue?: T): Promise<T>;
|
|
9
|
+
set<T = any>(key: string, value: T): Promise<void>;
|
|
10
|
+
remove(key: string): Promise<void>;
|
|
11
|
+
getAll(): Promise<Record<string, any>>;
|
|
12
|
+
getSetting(name: string): Promise<ModuleSetting>;
|
|
13
|
+
setSetting(name: string, value: any): Promise<void>;
|
|
14
|
+
getAllSettings(): Promise<ModuleSetting[]>;
|
|
15
|
+
}
|
|
16
|
+
export interface ServerAPI {
|
|
17
|
+
version: string;
|
|
18
|
+
logger: Logger;
|
|
19
|
+
config: ConfigAPI;
|
|
20
|
+
}
|
|
21
|
+
export interface PluginLifecycle {
|
|
22
|
+
run?(api: ServerAPI): Promise<void> | void;
|
|
23
|
+
stop?(): Promise<void> | void;
|
|
24
|
+
}
|
|
25
|
+
export type PluginFactory = (api: ServerAPI) => PluginLifecycle | Promise<PluginLifecycle>;
|
|
26
|
+
declare const _default: any;
|
|
27
|
+
export default _default;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,CAC3B,GAAG,EAAE,SAAS,KACV,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;wBAE3B,GAAG;AAAxB,wBAAyB"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface Alert {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
targetName: string;
|
|
5
|
+
domain: string;
|
|
6
|
+
subdomain: string;
|
|
7
|
+
score: number;
|
|
8
|
+
confirmed: boolean;
|
|
9
|
+
description: string;
|
|
10
|
+
endpoint: string;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=alerts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../src/types/alerts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./modules.js"), exports);
|
|
18
|
+
__exportStar(require("./targets.js"), exports);
|
|
19
|
+
__exportStar(require("./alerts.js"), exports);
|
|
20
|
+
__exportStar(require("./workers.js"), exports);
|
|
21
|
+
__exportStar(require("./websockets.js"), exports);
|
|
22
|
+
__exportStar(require("./tasks.js"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ModuleSetting {
|
|
2
|
+
name: string;
|
|
3
|
+
type: "checkbox" | "text" | "select" | "info";
|
|
4
|
+
default: string | boolean;
|
|
5
|
+
label: string;
|
|
6
|
+
value?: string | boolean;
|
|
7
|
+
options?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface Module {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
version: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
settings?: ModuleSetting[];
|
|
15
|
+
}
|
|
16
|
+
export interface LoadedModule extends Module {
|
|
17
|
+
run: () => Promise<any>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/types/modules.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC3C,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/types/targets.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Task {
|
|
2
|
+
id: number;
|
|
3
|
+
type: "tool" | "command";
|
|
4
|
+
payload: Record<string, any>;
|
|
5
|
+
workerId: number;
|
|
6
|
+
status: "pending" | "running" | "completed" | "failed";
|
|
7
|
+
createdAt: Date;
|
|
8
|
+
}
|
|
9
|
+
export interface TaskResult {
|
|
10
|
+
taskId: number;
|
|
11
|
+
success: boolean;
|
|
12
|
+
output?: any;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/types/tasks.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websockets.d.ts","sourceRoot":"","sources":["../../src/types/websockets.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;CACV"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Task } from "./tasks";
|
|
2
|
+
export interface Worker {
|
|
3
|
+
id: number;
|
|
4
|
+
currentTasks: Task[];
|
|
5
|
+
availableTools: Tool[];
|
|
6
|
+
loadFactor: number;
|
|
7
|
+
}
|
|
8
|
+
export interface Tool {
|
|
9
|
+
name: string;
|
|
10
|
+
downloadUrl: string;
|
|
11
|
+
version: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=workers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/types/workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@deepbounty/sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "DeepBounty SDK for module development",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"require": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./types": {
|
|
14
|
+
"types": "./dist/types/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./types/*": {
|
|
17
|
+
"types": "./dist/types/*.d.ts"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"README.md",
|
|
23
|
+
"LICENSE"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsc",
|
|
27
|
+
"publish": "npm run build && npm publish --access public"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"deepbounty",
|
|
31
|
+
"sdk",
|
|
32
|
+
"types",
|
|
33
|
+
"module",
|
|
34
|
+
"plugin"
|
|
35
|
+
],
|
|
36
|
+
"author": "dd_06",
|
|
37
|
+
"license": "GPL-3.0-only",
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/dd060606/DeepBounty.git",
|
|
41
|
+
"directory": "sdk"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://github.com/dd060606/DeepBounty#readme",
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/dd060606/DeepBounty/issues"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"typescript": "^5.9.2"
|
|
49
|
+
}
|
|
50
|
+
}
|