@j3r3mcdev/oast-server 1.1.0 → 1.1.1

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 (187) hide show
  1. package/.github/workflows/ci.yml +29 -29
  2. package/.github/workflows/publish.yml +31 -31
  3. package/README.md +192 -192
  4. package/dist/listeners/ssrf/__tests__/ssrf.listener.test.js +16 -4
  5. package/jest.config.js +14 -14
  6. package/package.json +45 -45
  7. package/sadmin list shadows +9 -9
  8. package/src/api/controllers/__tests__/tasks.controller.test.ts +74 -74
  9. package/src/api/controllers/events.controller.ts +10 -10
  10. package/src/api/controllers/health.controller.ts +7 -7
  11. package/src/api/controllers/tasks.controller.ts +41 -41
  12. package/src/api/dto/__tests__/create-task.dto.test.ts +41 -41
  13. package/src/api/dto/__tests__/filter-tasks.dto.test.ts +35 -35
  14. package/src/api/dto/create-task.dto.ts +33 -33
  15. package/src/api/dto/filter-tasks.dto.ts +33 -33
  16. package/src/api/services/__tests__/events.service.test.ts +41 -41
  17. package/src/api/services/__tests__/tasks.service.test.ts +41 -41
  18. package/src/api/services/events.service.ts +17 -17
  19. package/src/api/services/tasks.service.ts +79 -79
  20. package/src/api/sse/events.stream.ts +90 -90
  21. package/src/core/__tests__/core-router.test.ts +30 -30
  22. package/src/core/__tests__/core-server.test.ts +44 -44
  23. package/src/core/__tests__/event.normalizer.test.ts +56 -56
  24. package/src/core/__tests__/event.router.test.ts +89 -89
  25. package/src/core/__tests__/logger.test.ts +32 -32
  26. package/src/core/__tests__/storage-manager.test.ts +74 -74
  27. package/src/core/event.normalizer.ts +147 -147
  28. package/src/core/event.router.ts +13 -13
  29. package/src/core/http/__tests__/adapter-node.test.ts +52 -52
  30. package/src/core/http/__tests__/body-parser-multipart.test.ts +41 -41
  31. package/src/core/http/__tests__/body-parser-raw.test.ts +28 -28
  32. package/src/core/http/__tests__/body-parser-text.test.ts +28 -28
  33. package/src/core/http/__tests__/compile-path.test.ts +39 -39
  34. package/src/core/http/__tests__/middleware-pipeline.test.ts +51 -51
  35. package/src/core/http/__tests__/request.test.ts +34 -34
  36. package/src/core/http/__tests__/response.test.ts +35 -35
  37. package/src/core/http/__tests__/router-match.test.ts +171 -171
  38. package/src/core/http/adapter-node.ts +51 -51
  39. package/src/core/http/buildRequest.ts +18 -18
  40. package/src/core/http/compile-path.ts +32 -32
  41. package/src/core/http/errors.ts +37 -37
  42. package/src/core/http/http-server.ts +52 -52
  43. package/src/core/http/middleware.ts +160 -160
  44. package/src/core/http/request.ts +55 -55
  45. package/src/core/http/response.ts +93 -93
  46. package/src/core/http/router.ts +138 -138
  47. package/src/core/id-generator.ts +8 -8
  48. package/src/core/logger.ts +113 -113
  49. package/src/core/router.ts +44 -44
  50. package/src/core/server.ts +85 -85
  51. package/src/core/storage.ts +64 -64
  52. package/src/index.ts +89 -89
  53. package/src/listeners/api/__tests__/api.controller.test.ts +116 -116
  54. package/src/listeners/api/__tests__/api.extractor.test.ts +46 -46
  55. package/src/listeners/api/__tests__/api.listener.test.ts +82 -82
  56. package/src/listeners/api/__tests__/api.routes.test.ts +155 -155
  57. package/src/listeners/api/__tests__/api.sse.test.ts +105 -105
  58. package/src/listeners/api/api.controllers.ts +67 -67
  59. package/src/listeners/api/api.extractor.ts +43 -43
  60. package/src/listeners/api/api.listener.ts +50 -50
  61. package/src/listeners/api/api.routes.ts +76 -76
  62. package/src/listeners/api/api.sse.ts +38 -38
  63. package/src/listeners/dns/__tests__/dns.test.ts +118 -118
  64. package/src/listeners/dns/dns.extractor.ts +14 -14
  65. package/src/listeners/dns/dns.listener.ts +61 -61
  66. package/src/listeners/http/__tests__/http.extractor.test.ts +59 -59
  67. package/src/listeners/http/__tests__/http.listener.test.ts +133 -133
  68. package/src/listeners/http/http.extractor.ts +15 -15
  69. package/src/listeners/http/http.listener.ts +110 -110
  70. package/src/listeners/listener.interface.ts +4 -4
  71. package/src/listeners/smtp/__tests__/smtp.extractor.test.ts +69 -69
  72. package/src/listeners/smtp/__tests__/smtp.listener.test.ts +150 -150
  73. package/src/listeners/smtp/smtp.extractor.ts +18 -18
  74. package/src/listeners/smtp/smtp.listener.ts +60 -60
  75. package/src/listeners/ssrf/__tests__/ssrf.extractor.test.ts +41 -41
  76. package/src/listeners/ssrf/__tests__/ssrf.listener.test.ts +87 -87
  77. package/src/listeners/ssrf/ssrf.extractor.ts +14 -14
  78. package/src/listeners/ssrf/ssrf.listener.ts +37 -37
  79. package/src/listeners/tcp/tcp.extractor.ts +16 -16
  80. package/src/listeners/tcp/tcp.listener.ts +61 -61
  81. package/src/listeners/webhook/__tests__/webhook.extractor.test.ts +35 -35
  82. package/src/listeners/webhook/__tests__/webhook.listener.test.ts +122 -122
  83. package/src/listeners/webhook/webhook.extractor.ts +12 -12
  84. package/src/listeners/webhook/webhook.listener.ts +58 -58
  85. package/src/listeners/websocket/__tests__/websocket.extractor.test.ts +33 -33
  86. package/src/listeners/websocket/__tests__/websocket.listener.test.ts +90 -90
  87. package/src/listeners/websocket/websocket.extractor.ts +11 -11
  88. package/src/listeners/websocket/websocket.listener.ts +40 -40
  89. package/src/storage-adapters/adapters/__tests__/memory.storage.test.ts +75 -75
  90. package/src/storage-adapters/adapters/memory.storage.ts +64 -64
  91. package/src/storage-adapters/storage.interface.ts +26 -26
  92. package/src/types/event.types.ts +147 -147
  93. package/tsconfig.json +21 -21
  94. package/dist/api/controllers/__tests__/tasks.controller.test.d.ts +0 -1
  95. package/dist/api/controllers/events.controller.d.ts +0 -6
  96. package/dist/api/controllers/health.controller.d.ts +0 -4
  97. package/dist/api/controllers/index.d.ts +0 -0
  98. package/dist/api/controllers/tasks.controller.d.ts +0 -40
  99. package/dist/api/dto/__tests__/create-task.dto.test.d.ts +0 -1
  100. package/dist/api/dto/__tests__/filter-tasks.dto.test.d.ts +0 -1
  101. package/dist/api/dto/create-task.dto.d.ts +0 -9
  102. package/dist/api/dto/filter-tasks.dto.d.ts +0 -8
  103. package/dist/api/services/__tests__/events.service.test.d.ts +0 -1
  104. package/dist/api/services/__tests__/tasks.service.test.d.ts +0 -1
  105. package/dist/api/services/events.service.d.ts +0 -8
  106. package/dist/api/services/tasks.service.d.ts +0 -22
  107. package/dist/api/sse/events.stream.d.ts +0 -25
  108. package/dist/config/constants.d.ts +0 -0
  109. package/dist/config/env.d.ts +0 -0
  110. package/dist/core/__tests__/core-router.test.d.ts +0 -1
  111. package/dist/core/__tests__/core-server.test.d.ts +0 -1
  112. package/dist/core/__tests__/event.normalizer.test.d.ts +0 -1
  113. package/dist/core/__tests__/event.router.test.d.ts +0 -1
  114. package/dist/core/__tests__/logger.test.d.ts +0 -1
  115. package/dist/core/__tests__/storage-manager.test.d.ts +0 -1
  116. package/dist/core/event.normalizer.d.ts +0 -10
  117. package/dist/core/event.router.d.ts +0 -7
  118. package/dist/core/http/__tests__/adapter-node.test.d.ts +0 -1
  119. package/dist/core/http/__tests__/body-parser-multipart.test.d.ts +0 -1
  120. package/dist/core/http/__tests__/body-parser-raw.test.d.ts +0 -1
  121. package/dist/core/http/__tests__/body-parser-text.test.d.ts +0 -1
  122. package/dist/core/http/__tests__/compile-path.test.d.ts +0 -1
  123. package/dist/core/http/__tests__/middleware-pipeline.test.d.ts +0 -1
  124. package/dist/core/http/__tests__/request.test.d.ts +0 -1
  125. package/dist/core/http/__tests__/response.test.d.ts +0 -1
  126. package/dist/core/http/__tests__/router-match.test.d.ts +0 -1
  127. package/dist/core/http/adapter-node.d.ts +0 -8
  128. package/dist/core/http/buildRequest.d.ts +0 -2
  129. package/dist/core/http/compile-path.d.ts +0 -13
  130. package/dist/core/http/errors.d.ts +0 -9
  131. package/dist/core/http/http-server.d.ts +0 -7
  132. package/dist/core/http/index.d.ts +0 -0
  133. package/dist/core/http/main.d.ts +0 -0
  134. package/dist/core/http/middleware.d.ts +0 -12
  135. package/dist/core/http/request.d.ts +0 -35
  136. package/dist/core/http/response.d.ts +0 -17
  137. package/dist/core/http/router.d.ts +0 -28
  138. package/dist/core/http/utils.d.ts +0 -0
  139. package/dist/core/id-generator.d.ts +0 -3
  140. package/dist/core/logger.d.ts +0 -29
  141. package/dist/core/router.d.ts +0 -16
  142. package/dist/core/server.d.ts +0 -25
  143. package/dist/core/storage.d.ts +0 -24
  144. package/dist/index.d.ts +0 -1
  145. package/dist/listeners/api/__tests__/api.controller.test.d.ts +0 -1
  146. package/dist/listeners/api/__tests__/api.extractor.test.d.ts +0 -1
  147. package/dist/listeners/api/__tests__/api.listener.test.d.ts +0 -1
  148. package/dist/listeners/api/__tests__/api.routes.test.d.ts +0 -1
  149. package/dist/listeners/api/__tests__/api.sse.test.d.ts +0 -1
  150. package/dist/listeners/api/api.controllers.d.ts +0 -9
  151. package/dist/listeners/api/api.extractor.d.ts +0 -5
  152. package/dist/listeners/api/api.listener.d.ts +0 -17
  153. package/dist/listeners/api/api.routes.d.ts +0 -5
  154. package/dist/listeners/api/api.sse.d.ts +0 -10
  155. package/dist/listeners/dns/__tests__/dns.test.d.ts +0 -1
  156. package/dist/listeners/dns/dns.extractor.d.ts +0 -8
  157. package/dist/listeners/dns/dns.listener.d.ts +0 -15
  158. package/dist/listeners/http/__tests__/http.extractor.test.d.ts +0 -1
  159. package/dist/listeners/http/__tests__/http.listener.test.d.ts +0 -1
  160. package/dist/listeners/http/http.extractor.d.ts +0 -11
  161. package/dist/listeners/http/http.listener.d.ts +0 -17
  162. package/dist/listeners/listener.interface.d.ts +0 -4
  163. package/dist/listeners/smtp/__tests__/smtp.extractor.test.d.ts +0 -1
  164. package/dist/listeners/smtp/__tests__/smtp.listener.test.d.ts +0 -1
  165. package/dist/listeners/smtp/smtp.extractor.d.ts +0 -12
  166. package/dist/listeners/smtp/smtp.listener.d.ts +0 -13
  167. package/dist/listeners/ssrf/__tests__/ssrf.extractor.test.d.ts +0 -1
  168. package/dist/listeners/ssrf/__tests__/ssrf.listener.test.d.ts +0 -1
  169. package/dist/listeners/ssrf/ssrf.extractor.d.ts +0 -10
  170. package/dist/listeners/ssrf/ssrf.listener.d.ts +0 -8
  171. package/dist/listeners/tcp/tcp.extractor.d.ts +0 -4
  172. package/dist/listeners/tcp/tcp.listener.d.ts +0 -18
  173. package/dist/listeners/webhook/__tests__/webhook.extractor.test.d.ts +0 -1
  174. package/dist/listeners/webhook/__tests__/webhook.listener.test.d.ts +0 -1
  175. package/dist/listeners/webhook/webhook.extractor.d.ts +0 -8
  176. package/dist/listeners/webhook/webhook.listener.d.ts +0 -8
  177. package/dist/listeners/websocket/__tests__/websocket.extractor.test.d.ts +0 -1
  178. package/dist/listeners/websocket/__tests__/websocket.listener.test.d.ts +0 -1
  179. package/dist/listeners/websocket/websocket.extractor.d.ts +0 -10
  180. package/dist/listeners/websocket/websocket.listener.d.ts +0 -8
  181. package/dist/storage-adapters/adapters/__tests__/memory.storage.test.d.ts +0 -1
  182. package/dist/storage-adapters/adapters/memory.storage.d.ts +0 -21
  183. package/dist/storage-adapters/adapters/redis.storage.d.ts +0 -0
  184. package/dist/storage-adapters/adapters/sqlite.storage.d.ts +0 -0
  185. package/dist/storage-adapters/storage.interface.d.ts +0 -18
  186. package/dist/types/event.types.d.ts +0 -118
  187. package/dist/utils/token.d.ts +0 -0
@@ -1,147 +1,147 @@
1
- //
2
- // RAW EVENTS
3
- //
4
- export interface RawEvent {
5
- ip: string;
6
- method: string;
7
- path: string;
8
- headers: Record<string, string | string[] | undefined>;
9
- query: Record<string, any>;
10
- body: any;
11
- raw: any;
12
- }
13
-
14
- export interface RawDnsEvent {
15
- ip: string;
16
- query: string;
17
- recordType: string;
18
- raw: any;
19
- }
20
-
21
- export interface RawSmtpEvent {
22
- ip: string;
23
- from: string;
24
- to: string[];
25
- subject: string;
26
- body: string;
27
- raw: any;
28
- }
29
-
30
- export interface RawTcpEvent {
31
- ip: string;
32
- port: number;
33
- data: string;
34
- raw: any;
35
- }
36
-
37
- export interface RawSsrfEvent {
38
- ip: string;
39
- method: string | undefined;
40
- path: string | undefined;
41
- headers: Record<string, string | string[] | undefined>;
42
- query: Record<string, any>;
43
- raw: any;
44
- }
45
-
46
- export interface RawWebhookEvent {
47
- ip: string;
48
- headers: Record<string, string | string[] | undefined>;
49
- body: any;
50
- raw: any;
51
- }
52
-
53
- export interface RawWebSocketEvent {
54
- ip: string;
55
- message: string;
56
- raw: any;
57
- }
58
-
59
- //
60
- // NORMALIZED EVENTS
61
- //
62
- export interface NormalizedHttpEvent {
63
- id: string;
64
- type: "http";
65
- timestamp: number;
66
- sourceIp: string;
67
- request: {
68
- method: string;
69
- path: string;
70
- headers: Record<string, string | string[] | undefined>;
71
- query: Record<string, any>;
72
- body: any;
73
- };
74
- }
75
-
76
- export interface NormalizedDnsEvent {
77
- id: string;
78
- type: "dns";
79
- timestamp: number;
80
- ip: string;
81
- query: string;
82
- recordType: string;
83
- raw: any;
84
- }
85
-
86
- export interface NormalizedSmtpEvent {
87
- id: string;
88
- type: "smtp";
89
- timestamp: number;
90
- ip: string;
91
- from: string;
92
- to: string[];
93
- subject: string;
94
- body: string;
95
- raw: any;
96
- }
97
-
98
- export interface NormalizedTcpEvent {
99
- id: string;
100
- type: "tcp";
101
- timestamp: number;
102
- ip: string;
103
- port: number;
104
- data: string;
105
- raw: any;
106
- }
107
- export interface NormalizedSsrfEvent {
108
- id: string;
109
- type: "ssrf";
110
- timestamp: number;
111
- sourceIp: string;
112
- request: {
113
- method: string | undefined;
114
- path: string | undefined;
115
- headers: Record<string, string | string[] | undefined>;
116
- query: Record<string, any>;
117
- };
118
- }
119
-
120
- export interface NormalizedWebhookEvent {
121
- id: string;
122
- type: "webhook";
123
- timestamp: number;
124
- sourceIp: string;
125
- headers: Record<string, string | string[] | undefined>;
126
- body: any;
127
- }
128
-
129
- export interface NormalizedWebSocketEvent {
130
- id: string;
131
- type: "websocket";
132
- timestamp: number;
133
- sourceIp: string;
134
- message: string;
135
- }
136
-
137
- //
138
- // UNION
139
- //
140
- export type AnyNormalizedEvent =
141
- | NormalizedHttpEvent
142
- | NormalizedDnsEvent
143
- | NormalizedSmtpEvent
144
- | NormalizedTcpEvent
145
- | NormalizedSsrfEvent
146
- | NormalizedWebhookEvent
147
- | NormalizedWebSocketEvent;
1
+ //
2
+ // RAW EVENTS
3
+ //
4
+ export interface RawEvent {
5
+ ip: string;
6
+ method: string;
7
+ path: string;
8
+ headers: Record<string, string | string[] | undefined>;
9
+ query: Record<string, any>;
10
+ body: any;
11
+ raw: any;
12
+ }
13
+
14
+ export interface RawDnsEvent {
15
+ ip: string;
16
+ query: string;
17
+ recordType: string;
18
+ raw: any;
19
+ }
20
+
21
+ export interface RawSmtpEvent {
22
+ ip: string;
23
+ from: string;
24
+ to: string[];
25
+ subject: string;
26
+ body: string;
27
+ raw: any;
28
+ }
29
+
30
+ export interface RawTcpEvent {
31
+ ip: string;
32
+ port: number;
33
+ data: string;
34
+ raw: any;
35
+ }
36
+
37
+ export interface RawSsrfEvent {
38
+ ip: string;
39
+ method: string | undefined;
40
+ path: string | undefined;
41
+ headers: Record<string, string | string[] | undefined>;
42
+ query: Record<string, any>;
43
+ raw: any;
44
+ }
45
+
46
+ export interface RawWebhookEvent {
47
+ ip: string;
48
+ headers: Record<string, string | string[] | undefined>;
49
+ body: any;
50
+ raw: any;
51
+ }
52
+
53
+ export interface RawWebSocketEvent {
54
+ ip: string;
55
+ message: string;
56
+ raw: any;
57
+ }
58
+
59
+ //
60
+ // NORMALIZED EVENTS
61
+ //
62
+ export interface NormalizedHttpEvent {
63
+ id: string;
64
+ type: "http";
65
+ timestamp: number;
66
+ sourceIp: string;
67
+ request: {
68
+ method: string;
69
+ path: string;
70
+ headers: Record<string, string | string[] | undefined>;
71
+ query: Record<string, any>;
72
+ body: any;
73
+ };
74
+ }
75
+
76
+ export interface NormalizedDnsEvent {
77
+ id: string;
78
+ type: "dns";
79
+ timestamp: number;
80
+ ip: string;
81
+ query: string;
82
+ recordType: string;
83
+ raw: any;
84
+ }
85
+
86
+ export interface NormalizedSmtpEvent {
87
+ id: string;
88
+ type: "smtp";
89
+ timestamp: number;
90
+ ip: string;
91
+ from: string;
92
+ to: string[];
93
+ subject: string;
94
+ body: string;
95
+ raw: any;
96
+ }
97
+
98
+ export interface NormalizedTcpEvent {
99
+ id: string;
100
+ type: "tcp";
101
+ timestamp: number;
102
+ ip: string;
103
+ port: number;
104
+ data: string;
105
+ raw: any;
106
+ }
107
+ export interface NormalizedSsrfEvent {
108
+ id: string;
109
+ type: "ssrf";
110
+ timestamp: number;
111
+ sourceIp: string;
112
+ request: {
113
+ method: string | undefined;
114
+ path: string | undefined;
115
+ headers: Record<string, string | string[] | undefined>;
116
+ query: Record<string, any>;
117
+ };
118
+ }
119
+
120
+ export interface NormalizedWebhookEvent {
121
+ id: string;
122
+ type: "webhook";
123
+ timestamp: number;
124
+ sourceIp: string;
125
+ headers: Record<string, string | string[] | undefined>;
126
+ body: any;
127
+ }
128
+
129
+ export interface NormalizedWebSocketEvent {
130
+ id: string;
131
+ type: "websocket";
132
+ timestamp: number;
133
+ sourceIp: string;
134
+ message: string;
135
+ }
136
+
137
+ //
138
+ // UNION
139
+ //
140
+ export type AnyNormalizedEvent =
141
+ | NormalizedHttpEvent
142
+ | NormalizedDnsEvent
143
+ | NormalizedSmtpEvent
144
+ | NormalizedTcpEvent
145
+ | NormalizedSsrfEvent
146
+ | NormalizedWebhookEvent
147
+ | NormalizedWebSocketEvent;
package/tsconfig.json CHANGED
@@ -1,21 +1,21 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "module": "CommonJS",
5
-
6
- "rootDir": "src",
7
- "outDir": "dist",
8
-
9
- "declaration": true,
10
- "declarationDir": "dist",
11
- "emitDeclarationOnly": false,
12
-
13
- "strict": true,
14
- "esModuleInterop": true,
15
- "forceConsistentCasingInFileNames": true,
16
- "skipLibCheck": true,
17
- "resolveJsonModule": true
18
- },
19
- "include": ["src/**/*"],
20
- "exclude": ["node_modules", "dist"]
21
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "CommonJS",
5
+
6
+ "rootDir": "src",
7
+ "outDir": "dist",
8
+
9
+ "declaration": true,
10
+ "declarationDir": "dist",
11
+ "emitDeclarationOnly": false,
12
+
13
+ "strict": true,
14
+ "esModuleInterop": true,
15
+ "forceConsistentCasingInFileNames": true,
16
+ "skipLibCheck": true,
17
+ "resolveJsonModule": true
18
+ },
19
+ "include": ["src/**/*"],
20
+ "exclude": ["node_modules", "dist"]
21
+ }
@@ -1,6 +0,0 @@
1
- import { EventsService } from "../services/events.service";
2
- export declare class EventsController {
3
- private readonly events;
4
- constructor(events: EventsService);
5
- stream: ({ res, query }: any) => Promise<string>;
6
- }
@@ -1,4 +0,0 @@
1
- import { Request, Response } from "express";
2
- export declare class HealthController {
3
- check: (req: Request, res: Response) => void;
4
- }
File without changes
@@ -1,40 +0,0 @@
1
- import { TasksService } from "../services/tasks.service";
2
- export interface HandlerContext {
3
- params: Record<string, string>;
4
- req: any;
5
- res: any;
6
- }
7
- export declare class TasksController {
8
- private readonly tasks;
9
- constructor(tasks: TasksService);
10
- list: ({ req }: HandlerContext) => Promise<{
11
- status: number;
12
- body: import("../services/tasks.service").Task[];
13
- }>;
14
- create: ({ req }: HandlerContext) => Promise<{
15
- status: number;
16
- body: import("../services/tasks.service").Task;
17
- }>;
18
- getOne: ({ params }: HandlerContext) => Promise<{
19
- status: number;
20
- body: {
21
- error: string;
22
- };
23
- } | {
24
- status: number;
25
- body: import("../services/tasks.service").Task;
26
- }>;
27
- cancel: ({ params }: HandlerContext) => Promise<{
28
- status: number;
29
- body: {
30
- error: string;
31
- cancelled?: undefined;
32
- };
33
- } | {
34
- status: number;
35
- body: {
36
- cancelled: boolean;
37
- error?: undefined;
38
- };
39
- }>;
40
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- export interface CreateTaskDto {
2
- type: string;
3
- payload: Record<string, any>;
4
- priority?: "low" | "normal" | "high";
5
- metadata?: Record<string, any>;
6
- }
7
- export declare class CreateTaskDtoValidator {
8
- static validate(input: any): CreateTaskDto;
9
- }
@@ -1,8 +0,0 @@
1
- export interface FilterTasksDto {
2
- status?: "pending" | "running" | "completed" | "failed";
3
- limit?: number;
4
- type?: string;
5
- }
6
- export declare class FilterTasksDtoValidator {
7
- static validate(query: any): FilterTasksDto;
8
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { EventStreamManager } from "../sse/events.stream";
2
- export declare class EventsService {
3
- private stream;
4
- constructor(stream: EventStreamManager);
5
- connect(res: any, channels?: string[]): string;
6
- emit(channel: string, event: string, data: any): void;
7
- emitAll(event: string, data: any): void;
8
- }
@@ -1,22 +0,0 @@
1
- import { CreateTaskDto } from "../dto/create-task.dto";
2
- import { FilterTasksDto } from "../dto/filter-tasks.dto";
3
- import { EventsService } from "./events.service";
4
- export interface Task {
5
- id: string;
6
- type: string;
7
- payload: Record<string, any>;
8
- priority: "low" | "normal" | "high";
9
- metadata: Record<string, any>;
10
- status: "pending" | "running" | "completed" | "failed";
11
- createdAt: number;
12
- updatedAt: number;
13
- }
14
- export declare class TasksService {
15
- private tasks;
16
- private events;
17
- constructor(events: EventsService);
18
- create(dto: CreateTaskDto): Task;
19
- get(id: string): Task | undefined;
20
- list(filters: FilterTasksDto): Task[];
21
- cancel(id: string): boolean;
22
- }
@@ -1,25 +0,0 @@
1
- export interface EventStreamConfig {
2
- retry?: number;
3
- heartbeatInterval?: number;
4
- logger?: {
5
- info: Function;
6
- error: Function;
7
- };
8
- }
9
- export interface StreamClient {
10
- id: string;
11
- res: any;
12
- channels: Set<string>;
13
- connectedAt: number;
14
- }
15
- export declare class EventStreamManager {
16
- private clients;
17
- private config;
18
- private heartbeatTimer;
19
- constructor(config?: EventStreamConfig);
20
- private startHeartbeat;
21
- addClient(res: any, channels?: string[]): string;
22
- removeClient(id: string): void;
23
- broadcast(channel: string, event: string, data: any): void;
24
- broadcastAll(event: string, data: any): void;
25
- }
File without changes
File without changes
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import { RawEvent, RawDnsEvent, RawSmtpEvent, RawTcpEvent, RawSsrfEvent, NormalizedHttpEvent, NormalizedDnsEvent, NormalizedSmtpEvent, NormalizedTcpEvent, NormalizedSsrfEvent, NormalizedWebhookEvent, RawWebhookEvent, NormalizedWebSocketEvent, RawWebSocketEvent } from "../types/event.types";
2
- export declare class EventNormalizer {
3
- static normalizeDns(event: RawDnsEvent): NormalizedDnsEvent;
4
- static normalizeHttp(event: RawEvent): NormalizedHttpEvent;
5
- static normalizeSmtp(event: RawSmtpEvent): NormalizedSmtpEvent;
6
- static normalizeTcp(event: RawTcpEvent): NormalizedTcpEvent;
7
- static normalizeSsrf(raw: RawSsrfEvent): NormalizedSsrfEvent;
8
- static normalizeWebhook(raw: RawWebhookEvent): NormalizedWebhookEvent;
9
- static normalizeWebSocket(raw: RawWebSocketEvent): NormalizedWebSocketEvent;
10
- }
@@ -1,7 +0,0 @@
1
- import { Storage } from "../storage-adapters/storage.interface";
2
- import { RawEvent, NormalizedHttpEvent } from "../types/event.types";
3
- export declare class EventRouter {
4
- private storage;
5
- constructor(storage: Storage);
6
- handleHttp(event: RawEvent): Promise<NormalizedHttpEvent>;
7
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { MiddlewarePipeline } from "./middleware";
2
- import { Router } from "./router";
3
- export declare class NodeAdapter {
4
- private router;
5
- private pipeline;
6
- constructor(router: Router, pipeline: MiddlewarePipeline);
7
- handle(req: any, res: any): Promise<void>;
8
- }
@@ -1,2 +0,0 @@
1
- import { Request } from "./request";
2
- export declare function buildRequest(raw: any, params?: Record<string, string>): Request;
@@ -1,13 +0,0 @@
1
- export declare function compilePath(path: string): ({
2
- type: string;
3
- value: string;
4
- name?: undefined;
5
- } | {
6
- type: string;
7
- name: string;
8
- value?: undefined;
9
- } | {
10
- type: string;
11
- value?: undefined;
12
- name?: undefined;
13
- })[];
@@ -1,9 +0,0 @@
1
- export declare class HttpError extends Error {
2
- readonly status: number;
3
- readonly code: string;
4
- readonly details?: any;
5
- constructor(status: number, code: string, message: string, details?: any);
6
- }
7
- export declare class ErrorHandler {
8
- static handle(err: unknown, res: any): void;
9
- }
@@ -1,7 +0,0 @@
1
- import { Router } from "./router";
2
- export declare class HttpServer {
3
- private router;
4
- private server;
5
- constructor(router: Router);
6
- start(port: number): void;
7
- }
File without changes
File without changes
@@ -1,12 +0,0 @@
1
- import { Request } from "./request";
2
- import { Response } from "./response";
3
- export type Middleware = (req: Request, res: Response, next: () => Promise<void>) => Promise<void> | void;
4
- export declare class MiddlewarePipeline {
5
- private middlewares;
6
- use(mw: Middleware): this;
7
- run(req: Request, res: Response): Promise<void>;
8
- }
9
- export declare function bodyParserJson(req: Request, res: Response): Promise<void>;
10
- export declare function bodyParserRaw(req: Request, res: Response): Promise<void>;
11
- export declare function bodyParserText(req: Request, res: Response): Promise<void>;
12
- export declare function bodyParserMultipart(req: Request, res: Response): Promise<void>;