manageos 2.3.0 → 2.3.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 (178) hide show
  1. package/dist/Android/adb.d.ts +221 -0
  2. package/dist/Android/adb.d.ts.map +1 -0
  3. package/dist/Android/adb.js +1150 -0
  4. package/dist/Android/adb.js.map +1 -0
  5. package/dist/Android/dependencies/AdbWinApi.dll +0 -0
  6. package/dist/Android/dependencies/AdbWinUsbApi.dll +0 -0
  7. package/dist/Android/dependencies/adb.exe +0 -0
  8. package/dist/Android/dependencies/cmd-here.exe +0 -0
  9. package/dist/Android/dependencies/fastboot.exe +0 -0
  10. package/dist/Android/fastboot.d.ts +48 -0
  11. package/dist/Android/fastboot.d.ts.map +1 -0
  12. package/dist/Android/fastboot.js +173 -0
  13. package/dist/Android/fastboot.js.map +1 -0
  14. package/dist/Android/index.d.ts +7 -0
  15. package/dist/Android/index.d.ts.map +1 -0
  16. package/dist/Android/index.js +7 -0
  17. package/dist/Android/index.js.map +1 -0
  18. package/dist/Mouse/index.d.ts +38 -0
  19. package/dist/Mouse/index.d.ts.map +1 -0
  20. package/dist/Mouse/index.js +165 -0
  21. package/dist/Mouse/index.js.map +1 -0
  22. package/dist/Mouse/mouse.exe +0 -0
  23. package/dist/PsExec/dependencies/PsExec.exe +0 -0
  24. package/dist/PsExec/dependencies/PsExec64.exe +0 -0
  25. package/dist/PsExec/dependencies/PsGetsid.exe +0 -0
  26. package/dist/PsExec/dependencies/PsGetsid64.exe +0 -0
  27. package/dist/PsExec/dependencies/PsInfo.exe +0 -0
  28. package/dist/PsExec/dependencies/PsInfo64.exe +0 -0
  29. package/dist/PsExec/dependencies/psfile.exe +0 -0
  30. package/dist/PsExec/index.d.ts +11 -0
  31. package/dist/PsExec/index.d.ts.map +1 -0
  32. package/dist/PsExec/index.js +11 -0
  33. package/dist/PsExec/index.js.map +1 -0
  34. package/dist/PsExec/psexec.d.ts +39 -0
  35. package/dist/PsExec/psexec.d.ts.map +1 -0
  36. package/dist/PsExec/psexec.js +118 -0
  37. package/dist/PsExec/psexec.js.map +1 -0
  38. package/dist/PsExec/psfile.d.ts +30 -0
  39. package/dist/PsExec/psfile.d.ts.map +1 -0
  40. package/dist/PsExec/psfile.js +92 -0
  41. package/dist/PsExec/psfile.js.map +1 -0
  42. package/dist/PsExec/psgetsid.d.ts +29 -0
  43. package/dist/PsExec/psgetsid.d.ts.map +1 -0
  44. package/dist/PsExec/psgetsid.js +85 -0
  45. package/dist/PsExec/psgetsid.js.map +1 -0
  46. package/dist/PsExec/psinfo.d.ts +33 -0
  47. package/dist/PsExec/psinfo.d.ts.map +1 -0
  48. package/dist/PsExec/psinfo.js +101 -0
  49. package/dist/PsExec/psinfo.js.map +1 -0
  50. package/dist/antivirus.d.ts +23 -0
  51. package/dist/antivirus.d.ts.map +1 -0
  52. package/dist/antivirus.js +124 -0
  53. package/dist/antivirus.js.map +1 -0
  54. package/dist/audio.d.ts +38 -0
  55. package/dist/audio.d.ts.map +1 -0
  56. package/dist/audio.js +172 -0
  57. package/dist/audio.js.map +1 -0
  58. package/dist/auditpolicy.d.ts +24 -0
  59. package/dist/auditpolicy.d.ts.map +1 -0
  60. package/dist/auditpolicy.js +115 -0
  61. package/dist/auditpolicy.js.map +1 -0
  62. package/dist/bitlocker.d.ts +43 -0
  63. package/dist/bitlocker.d.ts.map +1 -0
  64. package/dist/bitlocker.js +212 -0
  65. package/dist/bitlocker.js.map +1 -0
  66. package/dist/camera.d.ts +34 -0
  67. package/dist/camera.d.ts.map +1 -0
  68. package/dist/camera.js +172 -0
  69. package/dist/camera.js.map +1 -0
  70. package/dist/certificates.d.ts +30 -0
  71. package/dist/certificates.d.ts.map +1 -0
  72. package/dist/certificates.js +143 -0
  73. package/dist/certificates.js.map +1 -0
  74. package/dist/clipboard.d.ts +16 -0
  75. package/dist/clipboard.d.ts.map +1 -0
  76. package/dist/clipboard.js +50 -0
  77. package/dist/clipboard.js.map +1 -0
  78. package/dist/encryption.d.ts +16 -0
  79. package/dist/encryption.d.ts.map +1 -0
  80. package/dist/encryption.js +47 -0
  81. package/dist/encryption.js.map +1 -0
  82. package/dist/eventlogs.d.ts +34 -0
  83. package/dist/eventlogs.d.ts.map +1 -0
  84. package/dist/eventlogs.js +125 -0
  85. package/dist/eventlogs.js.map +1 -0
  86. package/dist/filesystem.d.ts +30 -0
  87. package/dist/filesystem.d.ts.map +1 -0
  88. package/dist/filesystem.js +150 -0
  89. package/dist/filesystem.js.map +1 -0
  90. package/dist/firewall.d.ts +39 -0
  91. package/dist/firewall.d.ts.map +1 -0
  92. package/dist/firewall.js +113 -0
  93. package/dist/firewall.js.map +1 -0
  94. package/dist/index.d.ts +71 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +71 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/localization.d.ts +22 -0
  99. package/dist/localization.d.ts.map +1 -0
  100. package/dist/localization.js +102 -0
  101. package/dist/localization.js.map +1 -0
  102. package/dist/microphone.d.ts +39 -0
  103. package/dist/microphone.d.ts.map +1 -0
  104. package/dist/microphone.js +94 -0
  105. package/dist/microphone.js.map +1 -0
  106. package/dist/msconfig.d.ts +32 -0
  107. package/dist/msconfig.d.ts.map +1 -0
  108. package/dist/msconfig.js +192 -0
  109. package/dist/msconfig.js.map +1 -0
  110. package/dist/network.d.ts +82 -0
  111. package/dist/network.d.ts.map +1 -0
  112. package/dist/network.js +349 -0
  113. package/dist/network.js.map +1 -0
  114. package/dist/notification.d.ts +81 -0
  115. package/dist/notification.d.ts.map +1 -0
  116. package/dist/notification.js +140 -0
  117. package/dist/notification.js.map +1 -0
  118. package/dist/power.d.ts +18 -0
  119. package/dist/power.d.ts.map +1 -0
  120. package/dist/power.js +62 -0
  121. package/dist/power.js.map +1 -0
  122. package/dist/printer.d.ts +51 -0
  123. package/dist/printer.d.ts.map +1 -0
  124. package/dist/printer.js +170 -0
  125. package/dist/printer.js.map +1 -0
  126. package/dist/regedit.d.ts +11 -0
  127. package/dist/regedit.d.ts.map +1 -0
  128. package/dist/regedit.js +57 -0
  129. package/dist/regedit.js.map +1 -0
  130. package/dist/scheduler.d.ts +39 -0
  131. package/dist/scheduler.d.ts.map +1 -0
  132. package/dist/scheduler.js +116 -0
  133. package/dist/scheduler.js.map +1 -0
  134. package/dist/screen.d.ts +234 -0
  135. package/dist/screen.d.ts.map +1 -0
  136. package/dist/screen.js +942 -0
  137. package/dist/screen.js.map +1 -0
  138. package/dist/secpol.d.ts +22 -0
  139. package/dist/secpol.d.ts.map +1 -0
  140. package/dist/secpol.js +88 -0
  141. package/dist/secpol.js.map +1 -0
  142. package/dist/services.d.ts +60 -0
  143. package/dist/services.d.ts.map +1 -0
  144. package/dist/services.js +286 -0
  145. package/dist/services.js.map +1 -0
  146. package/dist/shell.d.ts +49 -0
  147. package/dist/shell.d.ts.map +1 -0
  148. package/dist/shell.js +212 -0
  149. package/dist/shell.js.map +1 -0
  150. package/dist/systeminfo.d.ts +19 -0
  151. package/dist/systeminfo.d.ts.map +1 -0
  152. package/dist/systeminfo.js +19 -0
  153. package/dist/systeminfo.js.map +1 -0
  154. package/dist/taskmgr.d.ts +29 -0
  155. package/dist/taskmgr.d.ts.map +1 -0
  156. package/dist/taskmgr.js +167 -0
  157. package/dist/taskmgr.js.map +1 -0
  158. package/dist/taskscheduler.d.ts +58 -0
  159. package/dist/taskscheduler.d.ts.map +1 -0
  160. package/dist/taskscheduler.js +332 -0
  161. package/dist/taskscheduler.js.map +1 -0
  162. package/dist/uac.d.ts +28 -0
  163. package/dist/uac.d.ts.map +1 -0
  164. package/dist/uac.js +66 -0
  165. package/dist/uac.js.map +1 -0
  166. package/dist/usb.d.ts +29 -0
  167. package/dist/usb.d.ts.map +1 -0
  168. package/dist/usb.js +161 -0
  169. package/dist/usb.js.map +1 -0
  170. package/dist/users.d.ts +62 -0
  171. package/dist/users.d.ts.map +1 -0
  172. package/dist/users.js +320 -0
  173. package/dist/users.js.map +1 -0
  174. package/dist/windowsupdate.d.ts +26 -0
  175. package/dist/windowsupdate.d.ts.map +1 -0
  176. package/dist/windowsupdate.js +120 -0
  177. package/dist/windowsupdate.js.map +1 -0
  178. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import clipboardy from "clipboardy";
2
+ class Sync {
3
+ static read() {
4
+ try {
5
+ return clipboardy.readSync();
6
+ }
7
+ catch (error) {
8
+ return error;
9
+ }
10
+ }
11
+ static write(text) {
12
+ try {
13
+ clipboardy.writeSync(text);
14
+ return true;
15
+ }
16
+ catch (error) {
17
+ return error;
18
+ }
19
+ }
20
+ static clear() {
21
+ return this.write("");
22
+ }
23
+ }
24
+ class Async {
25
+ static async read() {
26
+ try {
27
+ return await clipboardy.read();
28
+ }
29
+ catch (error) {
30
+ return error;
31
+ }
32
+ }
33
+ static async write(text) {
34
+ try {
35
+ await clipboardy.write(text);
36
+ return true;
37
+ }
38
+ catch (error) {
39
+ return error;
40
+ }
41
+ }
42
+ static async clear() {
43
+ return await this.write("");
44
+ }
45
+ }
46
+ export default class Clipboard {
47
+ static Sync = Sync;
48
+ static Async = Async;
49
+ }
50
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,IAAI;IACR,MAAM,CAAC,IAAI;QACT,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IACrB,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC"}
@@ -0,0 +1,16 @@
1
+ export default class Encryption {
2
+ private static algorithm;
3
+ private static key;
4
+ private static iv;
5
+ static init(key: string, iv?: Buffer): void;
6
+ static encrypt(text: string): {
7
+ iv: string;
8
+ encryptedData: string;
9
+ };
10
+ static decrypt(encryptedData: string, ivHex: string): string;
11
+ static hash(data: string, algorithm?: string): string;
12
+ static generateKey(length?: number): string;
13
+ static saveKeyToFile(path: string, key: string): void;
14
+ static loadKeyFromFile(path: string): string;
15
+ }
16
+ //# sourceMappingURL=encryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../src/encryption.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAS;IAE1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IAQpC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAanE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAW5D,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAiB,GAAG,MAAM;IAI/D,MAAM,CAAC,WAAW,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM;IAI/C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAI9C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG7C"}
@@ -0,0 +1,47 @@
1
+ import crypto from "crypto";
2
+ import fs from "fs";
3
+ export default class Encryption {
4
+ static algorithm = "aes-256-cbc";
5
+ static key;
6
+ static iv;
7
+ static init(key, iv) {
8
+ if (!key || key.length < 32) {
9
+ throw new Error("La clave debe tener al menos 32 caracteres");
10
+ }
11
+ this.key = Buffer.from(key.slice(0, 32));
12
+ this.iv = iv || crypto.randomBytes(16);
13
+ }
14
+ static encrypt(text) {
15
+ if (!this.key)
16
+ throw new Error("Encryption key no inicializada");
17
+ const cipher = crypto.createCipheriv(this.algorithm, this.key, this.iv);
18
+ let encrypted = cipher.update(text, "utf8", "hex");
19
+ encrypted += cipher.final("hex");
20
+ return {
21
+ iv: this.iv.toString("hex"),
22
+ encryptedData: encrypted,
23
+ };
24
+ }
25
+ static decrypt(encryptedData, ivHex) {
26
+ if (!this.key)
27
+ throw new Error("Encryption key no inicializada");
28
+ const iv = Buffer.from(ivHex, "hex");
29
+ const decipher = crypto.createDecipheriv(this.algorithm, this.key, iv);
30
+ let decrypted = decipher.update(encryptedData, "hex", "utf8");
31
+ decrypted += decipher.final("utf8");
32
+ return decrypted;
33
+ }
34
+ static hash(data, algorithm = "sha256") {
35
+ return crypto.createHash(algorithm).update(data).digest("hex");
36
+ }
37
+ static generateKey(length = 32) {
38
+ return crypto.randomBytes(length).toString("hex");
39
+ }
40
+ static saveKeyToFile(path, key) {
41
+ fs.writeFileSync(path, key, { encoding: "utf8" });
42
+ }
43
+ static loadKeyFromFile(path) {
44
+ return fs.readFileSync(path, { encoding: "utf8" });
45
+ }
46
+ }
47
+ //# sourceMappingURL=encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../src/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,UAAU;IACrB,MAAM,CAAC,SAAS,GAAW,aAAa,CAAC;IACzC,MAAM,CAAC,GAAG,CAAS;IACnB,MAAM,CAAC,EAAE,CAAS;IAE1B,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,EAAW;QAClC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,aAAqB,EAAE,KAAa;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,YAAoB,QAAQ;QACpD,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAiB,EAAE;QACpC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,GAAW;QAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY;QACjC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC"}
@@ -0,0 +1,34 @@
1
+ type EventLogEntry = {
2
+ index?: number;
3
+ timeGenerated?: string;
4
+ entryType?: string;
5
+ source?: string;
6
+ message?: string;
7
+ };
8
+ type EventLogResult = {
9
+ success: boolean;
10
+ error?: string;
11
+ output?: string;
12
+ data?: EventLogEntry[];
13
+ };
14
+ declare class Async {
15
+ static list(logName?: string, maxEvents?: number): Promise<EventLogResult>;
16
+ static listSystemEvents(maxEvents?: number): Promise<EventLogResult>;
17
+ static listApplicationEvents(maxEvents?: number): Promise<EventLogResult>;
18
+ static listSecurityEvents(maxEvents?: number): Promise<EventLogResult>;
19
+ static watch(logName: string | undefined, callback: (entry: EventLogEntry) => void): void;
20
+ }
21
+ declare class Sync {
22
+ static list(logName?: string, maxEvents?: number): EventLogResult;
23
+ static listSystemEvents(maxEvents?: number): EventLogResult;
24
+ static listApplicationEvents(maxEvents?: number): EventLogResult;
25
+ static listSecurityEvents(maxEvents?: number): EventLogResult;
26
+ }
27
+ export default class EventLogs {
28
+ static readonly Sync: typeof Sync;
29
+ static readonly Async: typeof Async;
30
+ static exportToJson(data: EventLogEntry[], path: string): void;
31
+ static exportToCsv(data: EventLogEntry[], path: string): void;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=eventlogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventlogs.d.ts","sourceRoot":"","sources":["../src/eventlogs.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAqEF,cAAM,KAAK;IACT,MAAM,CAAC,IAAI,CACT,OAAO,GAAE,MAAiB,EAC1B,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,cAAc,CAAC;IAc1B,MAAM,CAAC,gBAAgB,CAAC,SAAS,SAAK;IAItC,MAAM,CAAC,qBAAqB,CAAC,SAAS,SAAK;IAI3C,MAAM,CAAC,kBAAkB,CAAC,SAAS,SAAK;IAIxC,MAAM,CAAC,KAAK,CACV,OAAO,EAAE,MAAM,YAAW,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;CAS3C;AAED,cAAM,IAAI;IACR,MAAM,CAAC,IAAI,CACT,OAAO,GAAE,MAAiB,EAC1B,SAAS,GAAE,MAAW,GACrB,cAAc;IAWjB,MAAM,CAAC,gBAAgB,CAAC,SAAS,SAAK;IAItC,MAAM,CAAC,qBAAqB,CAAC,SAAS,SAAK;IAI3C,MAAM,CAAC,kBAAkB,CAAC,SAAS,SAAK;CAGzC;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;IAErC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM;IAIvD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM;CAcvD"}
@@ -0,0 +1,125 @@
1
+ import { exec, execSync } from "child_process";
2
+ import * as fs from "fs";
3
+ class EventLogsParser {
4
+ static parse(output) {
5
+ const entries = [];
6
+ const lines = output.split(/\r?\n/);
7
+ let current = null;
8
+ let lastField = null;
9
+ for (let line of lines) {
10
+ line = line.trim();
11
+ if (!line)
12
+ continue;
13
+ const indexMatch = line.match(/^Index\s*:\s*(\d+)/i);
14
+ if (indexMatch) {
15
+ if (current)
16
+ entries.push(current);
17
+ current = { index: parseInt(indexMatch[1], 10) };
18
+ lastField = null;
19
+ continue;
20
+ }
21
+ if (!current)
22
+ continue;
23
+ const fieldMatch = line.match(/^(\w+)\s*:\s*(.*)$/);
24
+ if (fieldMatch) {
25
+ const key = fieldMatch[1].toLowerCase();
26
+ const value = fieldMatch[2].trim();
27
+ switch (key) {
28
+ case "timegenerated":
29
+ current.timeGenerated = value;
30
+ lastField = "timeGenerated";
31
+ break;
32
+ case "entrytype":
33
+ current.entryType = value;
34
+ lastField = "entryType";
35
+ break;
36
+ case "source":
37
+ current.source = value;
38
+ lastField = "source";
39
+ break;
40
+ case "message":
41
+ current.message = value;
42
+ lastField = "message";
43
+ break;
44
+ default:
45
+ lastField = null;
46
+ break;
47
+ }
48
+ }
49
+ else {
50
+ if (lastField && lastField === "message") {
51
+ current.message += "\n" + line;
52
+ }
53
+ }
54
+ }
55
+ if (current)
56
+ entries.push(current);
57
+ return entries;
58
+ }
59
+ }
60
+ class Async {
61
+ static list(logName = "System", maxEvents = 50) {
62
+ return new Promise((resolve) => {
63
+ const command = `powershell -Command "Get-EventLog -LogName '${logName}' -Newest ${maxEvents} | Format-List Index,TimeGenerated,EntryType,Source,Message"`;
64
+ exec(command, { encoding: "utf-8" }, (err, stdout, stderr) => {
65
+ if (err) {
66
+ return resolve({ success: false, error: stderr || err.message });
67
+ }
68
+ const data = EventLogsParser.parse(stdout);
69
+ resolve({ success: true, output: stdout, data });
70
+ });
71
+ });
72
+ }
73
+ static listSystemEvents(maxEvents = 50) {
74
+ return Async.list("System", maxEvents);
75
+ }
76
+ static listApplicationEvents(maxEvents = 50) {
77
+ return Async.list("Application", maxEvents);
78
+ }
79
+ static listSecurityEvents(maxEvents = 50) {
80
+ return Async.list("Security", maxEvents);
81
+ }
82
+ static watch(logName = "System", callback) {
83
+ const command = `powershell -Command "Get-WinEvent -LogName '${logName}' -MaxEvents 1 -Wait | Format-List"`;
84
+ const child = exec(command);
85
+ child.stdout?.on("data", (chunk) => {
86
+ const entries = EventLogsParser.parse(chunk);
87
+ if (entries.length)
88
+ callback(entries[0]);
89
+ });
90
+ }
91
+ }
92
+ class Sync {
93
+ static list(logName = "System", maxEvents = 50) {
94
+ try {
95
+ const command = `powershell -Command "Get-EventLog -LogName '${logName}' -Newest ${maxEvents} | Format-List Index,TimeGenerated,EntryType,Source,Message"`;
96
+ const output = execSync(command, { encoding: "utf-8" });
97
+ const data = EventLogsParser.parse(output);
98
+ return { success: true, output, data };
99
+ }
100
+ catch (error) {
101
+ return { success: false, error: error.message };
102
+ }
103
+ }
104
+ static listSystemEvents(maxEvents = 50) {
105
+ return Sync.list("System", maxEvents);
106
+ }
107
+ static listApplicationEvents(maxEvents = 50) {
108
+ return Sync.list("Application", maxEvents);
109
+ }
110
+ static listSecurityEvents(maxEvents = 50) {
111
+ return Sync.list("Security", maxEvents);
112
+ }
113
+ }
114
+ export default class EventLogs {
115
+ static Sync = Sync;
116
+ static Async = Async;
117
+ static exportToJson(data, path) {
118
+ fs.writeFileSync(path, JSON.stringify(data, null, 2));
119
+ }
120
+ static exportToCsv(data, path) {
121
+ const csv = data.map((e) => `"${e.index}","${e.timeGenerated}","${e.entryType}","${e.source}","${e.message?.replace(/\n/g, " ")}"`);
122
+ fs.writeFileSync(path, `"Index","TimeGenerated","EntryType","Source","Message"\n${csv.join("\n")}`);
123
+ }
124
+ }
125
+ //# sourceMappingURL=eventlogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventlogs.js","sourceRoot":"","sources":["../src/eventlogs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ interface FileInfo {
2
+ name: string;
3
+ path: string;
4
+ size: string;
5
+ isDirectory: boolean;
6
+ }
7
+ declare class Sync {
8
+ static createFile(filePath: string, content?: string): boolean | unknown;
9
+ static currentPath(): string;
10
+ static listDirectory(dirPath: string): FileInfo[];
11
+ static readFile(filePath: string): string;
12
+ static deleteFile(filePath: string, force?: boolean): boolean | unknown;
13
+ static createDirectory(dirPath: string): boolean | unknown;
14
+ static deleteDirectory(dirPath: string, force?: boolean): boolean | unknown;
15
+ }
16
+ declare class Async {
17
+ static currentPath(): string;
18
+ static createFile(filePath: string, content?: string): Promise<boolean | unknown>;
19
+ static listDirectory(dirPath: string): Promise<FileInfo[]>;
20
+ static readFile(filePath: string): Promise<string>;
21
+ static deleteFile(filePath: string, force?: boolean): Promise<boolean | unknown>;
22
+ static createDirectory(dirPath: string): Promise<boolean | unknown>;
23
+ static deleteDirectory(dirPath: string, force?: boolean): Promise<boolean | unknown>;
24
+ }
25
+ export default class FileSystem {
26
+ static readonly async: typeof Async;
27
+ static readonly sync: typeof Sync;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,cAAM,IAAI;IACR,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,GAAG,OAAO;IASpE,MAAM,CAAC,WAAW,IAAI,MAAM;IAG5B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE;IAkBjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASzC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,GAAG,OAAO;IASrE,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAS1D,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,GAAG,OAAO;CAQ1E;AAED,cAAM,KAAK;IACT,MAAM,CAAC,WAAW,IAAI,MAAM;IAG5B,MAAM,CAAC,UAAU,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAK,GACX,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAS7B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmB1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlD,MAAM,CAAC,UAAU,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,UAAQ,GACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAW7B,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAWnE,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,KAAK,UAAQ,GACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;CAU9B;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,eAAS;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAQ;CAC7B"}
@@ -0,0 +1,150 @@
1
+ import { exec, execSync } from "child_process";
2
+ import path from "path";
3
+ class Sync {
4
+ static createFile(filePath, content = "") {
5
+ try {
6
+ execSync(`echo ${content} > "${filePath}"`);
7
+ return true;
8
+ }
9
+ catch (e) {
10
+ return e;
11
+ }
12
+ }
13
+ static currentPath() {
14
+ return __dirname;
15
+ }
16
+ static listDirectory(dirPath) {
17
+ try {
18
+ const stdout = execSync(`dir "${dirPath}" /B`, { encoding: "utf8" });
19
+ const files = stdout
20
+ .trim()
21
+ .split("\n")
22
+ .map((name) => ({
23
+ name: name.trim(),
24
+ path: path.join(dirPath, name.trim()),
25
+ size: "",
26
+ isDirectory: false,
27
+ }));
28
+ return files;
29
+ }
30
+ catch (error) {
31
+ return [];
32
+ }
33
+ }
34
+ static readFile(filePath) {
35
+ try {
36
+ const content = execSync(`type "${filePath}"`, { encoding: "utf8" });
37
+ return content;
38
+ }
39
+ catch (error) {
40
+ return "";
41
+ }
42
+ }
43
+ static deleteFile(filePath, force = false) {
44
+ try {
45
+ execSync(`del ${force ? "/F" : ""} "${filePath}"`);
46
+ return true;
47
+ }
48
+ catch (e) {
49
+ return e;
50
+ }
51
+ }
52
+ static createDirectory(dirPath) {
53
+ try {
54
+ execSync(`mkdir "${dirPath}"`);
55
+ return true;
56
+ }
57
+ catch (e) {
58
+ return e;
59
+ }
60
+ }
61
+ static deleteDirectory(dirPath, force = false) {
62
+ try {
63
+ execSync(`rmdir ${force ? "/S /Q" : ""} "${dirPath}"`);
64
+ return true;
65
+ }
66
+ catch (e) {
67
+ return e;
68
+ }
69
+ }
70
+ }
71
+ class Async {
72
+ static currentPath() {
73
+ return __dirname;
74
+ }
75
+ static createFile(filePath, content = "") {
76
+ return new Promise((resolve) => {
77
+ exec(`echo ${content} > "${filePath}"`, (err) => {
78
+ if (err)
79
+ resolve(err);
80
+ else
81
+ resolve(true);
82
+ });
83
+ });
84
+ }
85
+ static listDirectory(dirPath) {
86
+ return new Promise((resolve, reject) => {
87
+ exec(`dir "${dirPath}" /B`, (err, stdout) => {
88
+ if (err)
89
+ return reject(err);
90
+ const files = stdout
91
+ .trim()
92
+ .split("\n")
93
+ .map((name) => ({
94
+ name: name.trim(),
95
+ path: path.join(dirPath, name.trim()),
96
+ size: "",
97
+ isDirectory: false,
98
+ }));
99
+ resolve(files);
100
+ });
101
+ });
102
+ }
103
+ static readFile(filePath) {
104
+ return new Promise((resolve, reject) => {
105
+ exec(`type "${filePath}"`, (err, stdout) => {
106
+ if (err)
107
+ return reject(err);
108
+ resolve(stdout);
109
+ });
110
+ });
111
+ }
112
+ static deleteFile(filePath, force = false) {
113
+ return new Promise((resolve) => {
114
+ exec(`del ${force ? "/F" : ""} "${filePath}"`, (err) => {
115
+ if (err)
116
+ resolve(err);
117
+ else {
118
+ resolve(true);
119
+ }
120
+ });
121
+ });
122
+ }
123
+ static createDirectory(dirPath) {
124
+ return new Promise((resolve) => {
125
+ exec(`mkdir "${dirPath}"`, (err) => {
126
+ if (err)
127
+ resolve(err);
128
+ else {
129
+ resolve(true);
130
+ }
131
+ });
132
+ });
133
+ }
134
+ static deleteDirectory(dirPath, force = false) {
135
+ return new Promise((resolve) => {
136
+ exec(`rmdir ${force ? "/S /Q" : ""} "${dirPath}"`, (err) => {
137
+ if (err)
138
+ resolve(err);
139
+ else {
140
+ resolve(true);
141
+ }
142
+ });
143
+ });
144
+ }
145
+ }
146
+ export default class FileSystem {
147
+ static async = Async;
148
+ static sync = Sync;
149
+ }
150
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ type Rule = {
2
+ name: string;
3
+ direction?: "Inbound" | "Outbound";
4
+ action?: "Allow" | "Block";
5
+ protocol?: "TCP" | "UDP" | "Any";
6
+ localPort?: number | string;
7
+ remoteAddress?: string;
8
+ };
9
+ type FirewallResult = {
10
+ success: boolean;
11
+ error?: string;
12
+ };
13
+ type ListRulesResult = {
14
+ success: boolean;
15
+ rules?: string[];
16
+ error?: string;
17
+ };
18
+ declare class Async {
19
+ private static runCommand;
20
+ static addRule(rule: Rule): Promise<FirewallResult>;
21
+ static removeRule(name: string): Promise<FirewallResult>;
22
+ static listRules(): Promise<ListRulesResult>;
23
+ }
24
+ declare class Sync {
25
+ private static runCommand;
26
+ static addRule(rule: Rule): FirewallResult;
27
+ static removeRule(name: string): FirewallResult;
28
+ static listRules(): {
29
+ success: boolean;
30
+ rules?: string[];
31
+ error?: string;
32
+ };
33
+ }
34
+ export default class Firewall {
35
+ static readonly Sync: typeof Sync;
36
+ static readonly Async: typeof Async;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=firewall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../src/firewall.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,cAAM,KAAK;IACT,OAAO,CAAC,MAAM,CAAC,UAAU;WASZ,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;WAsB5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;WAUjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;CAmBnD;AAED,cAAM,IAAI;IACR,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc;IAsB1C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAU/C,MAAM,CAAC,SAAS,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAe3E;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
@@ -0,0 +1,113 @@
1
+ import { exec, execSync } from "child_process";
2
+ class Async {
3
+ static runCommand(cmd) {
4
+ return new Promise((resolve, reject) => {
5
+ exec(`powershell -Command "${cmd}"`, (error) => {
6
+ if (error)
7
+ reject(error);
8
+ else
9
+ resolve();
10
+ });
11
+ });
12
+ }
13
+ static async addRule(rule) {
14
+ try {
15
+ const parts = [
16
+ `-DisplayName "${rule.name}"`,
17
+ `-Direction ${rule.direction || "Inbound"}`,
18
+ `-Action ${rule.action || "Allow"}`,
19
+ ];
20
+ if (rule.protocol)
21
+ parts.push(`-Protocol ${rule.protocol}`);
22
+ if (rule.localPort)
23
+ parts.push(`-LocalPort ${rule.localPort}`);
24
+ if (rule.remoteAddress)
25
+ parts.push(`-RemoteAddress ${rule.remoteAddress}`);
26
+ const cmd = `New-NetFirewallRule ${parts.join(" ")}`;
27
+ await this.runCommand(cmd);
28
+ return { success: true };
29
+ }
30
+ catch (error) {
31
+ return { success: false, error: error.message };
32
+ }
33
+ }
34
+ static async removeRule(name) {
35
+ try {
36
+ const cmd = `Remove-NetFirewallRule -DisplayName "${name}"`;
37
+ await this.runCommand(cmd);
38
+ return { success: true };
39
+ }
40
+ catch (error) {
41
+ return { success: false, error: error.message };
42
+ }
43
+ }
44
+ static async listRules() {
45
+ return new Promise((resolve) => {
46
+ exec(`powershell -Command "Get-NetFirewallRule | Select-Object -ExpandProperty DisplayName"`, { encoding: "utf-8" }, (error, stdout) => {
47
+ if (error) {
48
+ resolve({ success: false, error: error.message });
49
+ return;
50
+ }
51
+ const rules = stdout
52
+ .split("\n")
53
+ .map((line) => line.trim())
54
+ .filter((line) => line);
55
+ resolve({ success: true, rules });
56
+ });
57
+ });
58
+ }
59
+ }
60
+ class Sync {
61
+ static runCommand(cmd) {
62
+ execSync(`powershell -Command "${cmd}"`, { stdio: "ignore" });
63
+ }
64
+ static addRule(rule) {
65
+ try {
66
+ const parts = [
67
+ `-DisplayName "${rule.name}"`,
68
+ `-Direction ${rule.direction || "Inbound"}`,
69
+ `-Action ${rule.action || "Allow"}`,
70
+ ];
71
+ if (rule.protocol)
72
+ parts.push(`-Protocol ${rule.protocol}`);
73
+ if (rule.localPort)
74
+ parts.push(`-LocalPort ${rule.localPort}`);
75
+ if (rule.remoteAddress)
76
+ parts.push(`-RemoteAddress ${rule.remoteAddress}`);
77
+ const cmd = `New-NetFirewallRule ${parts.join(" ")}`;
78
+ this.runCommand(cmd);
79
+ return { success: true };
80
+ }
81
+ catch (error) {
82
+ return { success: false, error: error.message };
83
+ }
84
+ }
85
+ static removeRule(name) {
86
+ try {
87
+ const cmd = `Remove-NetFirewallRule -DisplayName "${name}"`;
88
+ this.runCommand(cmd);
89
+ return { success: true };
90
+ }
91
+ catch (error) {
92
+ return { success: false, error: error.message };
93
+ }
94
+ }
95
+ static listRules() {
96
+ try {
97
+ const output = execSync(`powershell -Command "Get-NetFirewallRule | Select-Object -ExpandProperty DisplayName"`, { encoding: "utf-8" });
98
+ const rules = output
99
+ .split("\n")
100
+ .map((line) => line.trim())
101
+ .filter((line) => line);
102
+ return { success: true, rules };
103
+ }
104
+ catch (error) {
105
+ return { success: false, error: error.message };
106
+ }
107
+ }
108
+ }
109
+ export default class Firewall {
110
+ static Sync = Sync;
111
+ static Async = Async;
112
+ }
113
+ //# sourceMappingURL=firewall.js.map