manageos 2.0.2 → 2.2.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.
Files changed (58) hide show
  1. package/dist/Android/adb.d.ts.map +1 -1
  2. package/dist/Android/adb.js +0 -3
  3. package/dist/Android/adb.js.map +1 -1
  4. package/dist/Android/fastboot.js +1 -1
  5. package/dist/Android/fastboot.js.map +1 -1
  6. package/dist/PsExec/index.d.ts +11 -0
  7. package/dist/PsExec/index.d.ts.map +1 -0
  8. package/dist/PsExec/index.js +11 -0
  9. package/dist/PsExec/index.js.map +1 -0
  10. package/dist/PsExec/psexec.d.ts +39 -0
  11. package/dist/PsExec/psexec.d.ts.map +1 -0
  12. package/dist/PsExec/psexec.js +118 -0
  13. package/dist/PsExec/psexec.js.map +1 -0
  14. package/dist/PsExec/psfile.d.ts +30 -0
  15. package/dist/PsExec/psfile.d.ts.map +1 -0
  16. package/dist/PsExec/psfile.js +92 -0
  17. package/dist/PsExec/psfile.js.map +1 -0
  18. package/dist/PsExec/psgetsid.d.ts +29 -0
  19. package/dist/PsExec/psgetsid.d.ts.map +1 -0
  20. package/dist/PsExec/psgetsid.js +85 -0
  21. package/dist/PsExec/psgetsid.js.map +1 -0
  22. package/dist/PsExec/psinfo.d.ts +33 -0
  23. package/dist/PsExec/psinfo.d.ts.map +1 -0
  24. package/dist/PsExec/psinfo.js +101 -0
  25. package/dist/PsExec/psinfo.js.map +1 -0
  26. package/dist/auditpolicy.d.ts +24 -0
  27. package/dist/auditpolicy.d.ts.map +1 -0
  28. package/dist/auditpolicy.js +115 -0
  29. package/dist/auditpolicy.js.map +1 -0
  30. package/dist/camera.d.ts +34 -0
  31. package/dist/camera.d.ts.map +1 -0
  32. package/dist/camera.js +172 -0
  33. package/dist/camera.js.map +1 -0
  34. package/dist/certificates.d.ts +30 -0
  35. package/dist/certificates.d.ts.map +1 -0
  36. package/dist/certificates.js +143 -0
  37. package/dist/certificates.js.map +1 -0
  38. package/dist/index.d.ts +16 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +16 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/microphone.d.ts +39 -0
  43. package/dist/microphone.d.ts.map +1 -0
  44. package/dist/microphone.js +94 -0
  45. package/dist/microphone.js.map +1 -0
  46. package/dist/printer.d.ts +51 -0
  47. package/dist/printer.d.ts.map +1 -0
  48. package/dist/printer.js +170 -0
  49. package/dist/printer.js.map +1 -0
  50. package/dist/shell.d.ts +49 -0
  51. package/dist/shell.d.ts.map +1 -0
  52. package/dist/shell.js +212 -0
  53. package/dist/shell.js.map +1 -0
  54. package/dist/usb.d.ts +29 -0
  55. package/dist/usb.d.ts.map +1 -0
  56. package/dist/usb.js +161 -0
  57. package/dist/usb.js.map +1 -0
  58. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psfile.js","sourceRoot":"","sources":["../../src/PsExec/psfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export type PsGetSidOptions = {
2
+ computer?: string;
3
+ user?: string;
4
+ password?: string;
5
+ account?: string;
6
+ windowsHide?: boolean;
7
+ timeout?: number;
8
+ };
9
+ declare class Async {
10
+ static run(options?: PsGetSidOptions): Promise<{
11
+ stdout: string;
12
+ stderr: string;
13
+ }>;
14
+ private static buildArgs;
15
+ }
16
+ declare class Sync {
17
+ static run(options?: PsGetSidOptions): {
18
+ stdout: string;
19
+ stderr: string;
20
+ status: number | null;
21
+ };
22
+ private static buildArgs;
23
+ }
24
+ export default class PsGetSid {
25
+ static readonly Async: typeof Async;
26
+ static readonly Sync: typeof Sync;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=psgetsid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psgetsid.d.ts","sourceRoot":"","sources":["../../src/PsExec/psgetsid.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,cAAM,KAAK;IACT,MAAM,CAAC,GAAG,CACR,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC9C,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB;AAED,cAAM,IAAI;IACR,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;IAiBD,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,gBAAuB,KAAK,eAAS;IACrC,gBAAuB,IAAI,cAAQ;CACpC"}
@@ -0,0 +1,85 @@
1
+ import { spawn, spawnSync } from "child_process";
2
+ import { fileURLToPath } from "url";
3
+ import path from "path";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ const ARCH = process.arch;
7
+ const PSGETSID_PATH = path.join(__dirname, "dependencies", ARCH === "x64" ? "PsGetSid64.exe" : "PsGetSid.exe");
8
+ class Async {
9
+ static run(options) {
10
+ return new Promise((resolve, reject) => {
11
+ try {
12
+ const args = Async.buildArgs(options);
13
+ const child = spawn(PSGETSID_PATH, args, {
14
+ shell: true,
15
+ windowsHide: options?.windowsHide ?? true,
16
+ });
17
+ let stdout = "";
18
+ let stderr = "";
19
+ child.stdout.on("data", (data) => (stdout += data.toString()));
20
+ child.stderr.on("data", (data) => (stderr += data.toString()));
21
+ if (options?.timeout) {
22
+ setTimeout(() => {
23
+ child.kill();
24
+ reject(new Error("PsGetSid timeout reached"));
25
+ }, options.timeout * 1000);
26
+ }
27
+ child.on("close", (code) => {
28
+ if (code === 0)
29
+ resolve({ stdout, stderr });
30
+ else
31
+ reject(new Error(stderr || `PsGetSid exited with code ${code}`));
32
+ });
33
+ child.on("error", reject);
34
+ }
35
+ catch (err) {
36
+ reject(err);
37
+ }
38
+ });
39
+ }
40
+ static buildArgs(options) {
41
+ const args = [];
42
+ if (options?.computer)
43
+ args.push(options.computer);
44
+ if (options?.user)
45
+ args.push("-u", options.user);
46
+ if (options?.password)
47
+ args.push("-p", options.password);
48
+ if (options?.account)
49
+ args.push(options.account);
50
+ return args;
51
+ }
52
+ }
53
+ class Sync {
54
+ static run(options) {
55
+ const args = Sync.buildArgs(options);
56
+ const child = spawnSync(PSGETSID_PATH, args, {
57
+ shell: true,
58
+ stdio: "pipe",
59
+ windowsHide: options?.windowsHide ?? true,
60
+ timeout: options?.timeout ? options.timeout * 1000 : undefined,
61
+ });
62
+ return {
63
+ stdout: child.stdout?.toString() || "",
64
+ stderr: child.stderr?.toString() || "",
65
+ status: child.status,
66
+ };
67
+ }
68
+ static buildArgs(options) {
69
+ const args = [];
70
+ if (options?.computer)
71
+ args.push(options.computer);
72
+ if (options?.user)
73
+ args.push("-u", options.user);
74
+ if (options?.password)
75
+ args.push("-p", options.password);
76
+ if (options?.account)
77
+ args.push(options.account);
78
+ return args;
79
+ }
80
+ }
81
+ export default class PsGetSid {
82
+ static Async = Async;
83
+ static Sync = Sync;
84
+ }
85
+ //# sourceMappingURL=psgetsid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psgetsid.js","sourceRoot":"","sources":["../../src/PsExec/psgetsid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export type PsInfoOptions = {
2
+ computer?: string;
3
+ user?: string;
4
+ password?: string;
5
+ showHotfixes?: boolean;
6
+ showSoftware?: boolean;
7
+ showDisk?: boolean;
8
+ csv?: boolean;
9
+ delimiter?: string;
10
+ windowsHide?: boolean;
11
+ timeout?: number;
12
+ };
13
+ declare class Async {
14
+ static run(options?: PsInfoOptions): Promise<{
15
+ stdout: string;
16
+ stderr: string;
17
+ }>;
18
+ private static buildArgs;
19
+ }
20
+ declare class Sync {
21
+ static run(options?: PsInfoOptions): {
22
+ stdout: string;
23
+ stderr: string;
24
+ status: number | null;
25
+ };
26
+ private static buildArgs;
27
+ }
28
+ export default class PsInfo {
29
+ static readonly Async: typeof Async;
30
+ static readonly Sync: typeof Sync;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=psinfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psinfo.d.ts","sourceRoot":"","sources":["../../src/PsExec/psinfo.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,cAAM,KAAK;IACT,MAAM,CAAC,GAAG,CACR,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC9C,OAAO,CAAC,MAAM,CAAC,SAAS;CAczB;AAED,cAAM,IAAI;IACR,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;IAiBD,OAAO,CAAC,MAAM,CAAC,SAAS;CAczB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,gBAAuB,KAAK,eAAS;IACrC,gBAAuB,IAAI,cAAQ;CACpC"}
@@ -0,0 +1,101 @@
1
+ import { spawn, spawnSync } from "child_process";
2
+ import { fileURLToPath } from "url";
3
+ import path from "path";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ const ARCH = process.arch;
7
+ const PSINFO_PATH = path.join(__dirname, "dependencies", ARCH === "x64" ? "PsInfo64.exe" : "PsInfo.exe");
8
+ class Async {
9
+ static run(options) {
10
+ return new Promise((resolve, reject) => {
11
+ try {
12
+ const args = Async.buildArgs(options);
13
+ const child = spawn(PSINFO_PATH, args, {
14
+ shell: true,
15
+ windowsHide: options?.windowsHide ?? true,
16
+ });
17
+ let stdout = "";
18
+ let stderr = "";
19
+ child.stdout.on("data", (data) => (stdout += data.toString()));
20
+ child.stderr.on("data", (data) => (stderr += data.toString()));
21
+ if (options?.timeout) {
22
+ setTimeout(() => {
23
+ child.kill();
24
+ reject(new Error("PsInfo timeout reached"));
25
+ }, options.timeout * 1000);
26
+ }
27
+ child.on("close", (code) => {
28
+ if (code === 0)
29
+ resolve({ stdout, stderr });
30
+ else
31
+ reject(new Error(stderr || `PsInfo exited with code ${code}`));
32
+ });
33
+ child.on("error", reject);
34
+ }
35
+ catch (err) {
36
+ reject(err);
37
+ }
38
+ });
39
+ }
40
+ static buildArgs(options) {
41
+ const args = [];
42
+ if (options?.computer)
43
+ args.push(options.computer);
44
+ if (options?.user)
45
+ args.push("-u", options.user);
46
+ if (options?.password)
47
+ args.push("-p", options.password);
48
+ if (options?.showHotfixes)
49
+ args.push("-h");
50
+ if (options?.showSoftware)
51
+ args.push("-s");
52
+ if (options?.showDisk)
53
+ args.push("-d");
54
+ if (options?.csv)
55
+ args.push("-c");
56
+ if (options?.delimiter)
57
+ args.push("-t", options.delimiter);
58
+ return args;
59
+ }
60
+ }
61
+ class Sync {
62
+ static run(options) {
63
+ const args = Sync.buildArgs(options);
64
+ const child = spawnSync(PSINFO_PATH, args, {
65
+ shell: true,
66
+ stdio: "pipe",
67
+ windowsHide: options?.windowsHide ?? true,
68
+ timeout: options?.timeout ? options.timeout * 1000 : undefined,
69
+ });
70
+ return {
71
+ stdout: child.stdout?.toString() || "",
72
+ stderr: child.stderr?.toString() || "",
73
+ status: child.status,
74
+ };
75
+ }
76
+ static buildArgs(options) {
77
+ const args = [];
78
+ if (options?.computer)
79
+ args.push(options.computer);
80
+ if (options?.user)
81
+ args.push("-u", options.user);
82
+ if (options?.password)
83
+ args.push("-p", options.password);
84
+ if (options?.showHotfixes)
85
+ args.push("-h");
86
+ if (options?.showSoftware)
87
+ args.push("-s");
88
+ if (options?.showDisk)
89
+ args.push("-d");
90
+ if (options?.csv)
91
+ args.push("-c");
92
+ if (options?.delimiter)
93
+ args.push("-t", options.delimiter);
94
+ return args;
95
+ }
96
+ }
97
+ export default class PsInfo {
98
+ static Async = Async;
99
+ static Sync = Sync;
100
+ }
101
+ //# sourceMappingURL=psinfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psinfo.js","sourceRoot":"","sources":["../../src/PsExec/psinfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ declare class Async {
2
+ static get(policy?: string): Promise<string>;
3
+ static set(category: string, setting: "Success" | "Failure" | "No Auditing" | "Success and Failure"): Promise<void>;
4
+ static list(): Promise<string>;
5
+ static backup(filePath: string): Promise<void>;
6
+ static restore(filePath: string): Promise<void>;
7
+ static clear(): Promise<void>;
8
+ static remove(user?: string): Promise<void>;
9
+ }
10
+ declare class Sync {
11
+ static get(policy?: string): string;
12
+ static set(category: string, setting: "Success" | "Failure" | "No Auditing" | "Success and Failure"): void;
13
+ static list(): string;
14
+ static backup(filePath: string): void;
15
+ static restore(filePath: string): void;
16
+ static clear(): void;
17
+ static remove(user?: string): void;
18
+ }
19
+ export default class AuditPolicy {
20
+ static readonly Sync: typeof Sync;
21
+ static readonly Async: typeof Async;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=auditpolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditpolicy.d.ts","sourceRoot":"","sources":["../src/auditpolicy.ts"],"names":[],"mappings":"AAEA,cAAM,KAAK;IACT,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5C,MAAM,CAAC,GAAG,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,qBAAqB,GACrE,OAAO,CAAC,IAAI,CAAC;IAYhB,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAS9B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5C;AAED,cAAM,IAAI;IACR,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOnC,MAAM,CAAC,GAAG,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,qBAAqB,GACrE,IAAI;IAOP,MAAM,CAAC,IAAI,IAAI,MAAM;IAIrB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAItC,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAMnC;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
@@ -0,0 +1,115 @@
1
+ import { exec, execSync } from "child_process";
2
+ class Async {
3
+ static get(policy) {
4
+ return new Promise((resolve, reject) => {
5
+ const cmd = policy
6
+ ? `auditpol /get /subcategory:"${policy}"`
7
+ : "auditpol /get /category:*";
8
+ exec(cmd, (error, stdout) => {
9
+ if (error)
10
+ reject(error);
11
+ else
12
+ resolve(stdout.trim());
13
+ });
14
+ });
15
+ }
16
+ static set(category, setting) {
17
+ return new Promise((resolve, reject) => {
18
+ const cmd = `auditpol /set /subcategory:"${category}" /success:${setting.includes("Success") ? "enable" : "disable"} /failure:${setting.includes("Failure") ? "enable" : "disable"}`;
19
+ exec(cmd, (error) => {
20
+ if (error)
21
+ reject(error);
22
+ else
23
+ resolve();
24
+ });
25
+ });
26
+ }
27
+ static list() {
28
+ return new Promise((resolve, reject) => {
29
+ exec("auditpol /list /subcategory:*", (error, stdout) => {
30
+ if (error)
31
+ reject(error);
32
+ else
33
+ resolve(stdout.trim());
34
+ });
35
+ });
36
+ }
37
+ static backup(filePath) {
38
+ return new Promise((resolve, reject) => {
39
+ exec(`auditpol /backup /file:"${filePath}"`, (error) => {
40
+ if (error)
41
+ reject(error);
42
+ else
43
+ resolve();
44
+ });
45
+ });
46
+ }
47
+ static restore(filePath) {
48
+ return new Promise((resolve, reject) => {
49
+ exec(`auditpol /restore /file:"${filePath}"`, (error) => {
50
+ if (error)
51
+ reject(error);
52
+ else
53
+ resolve();
54
+ });
55
+ });
56
+ }
57
+ static clear() {
58
+ return new Promise((resolve, reject) => {
59
+ exec("auditpol /clear", (error) => {
60
+ if (error)
61
+ reject(error);
62
+ else
63
+ resolve();
64
+ });
65
+ });
66
+ }
67
+ static remove(user) {
68
+ return new Promise((resolve, reject) => {
69
+ const cmd = user
70
+ ? `auditpol /remove /user:${user}`
71
+ : "auditpol /remove /all";
72
+ exec(cmd, (error) => {
73
+ if (error)
74
+ reject(error);
75
+ else
76
+ resolve();
77
+ });
78
+ });
79
+ }
80
+ }
81
+ class Sync {
82
+ static get(policy) {
83
+ const cmd = policy
84
+ ? `auditpol /get /subcategory:"${policy}"`
85
+ : "auditpol /get /category:*";
86
+ return execSync(cmd).toString().trim();
87
+ }
88
+ static set(category, setting) {
89
+ const cmd = `auditpol /set /subcategory:"${category}" /success:${setting.includes("Success") ? "enable" : "disable"} /failure:${setting.includes("Failure") ? "enable" : "disable"}`;
90
+ execSync(cmd);
91
+ }
92
+ static list() {
93
+ return execSync("auditpol /list /subcategory:*").toString().trim();
94
+ }
95
+ static backup(filePath) {
96
+ execSync(`auditpol /backup /file:"${filePath}"`);
97
+ }
98
+ static restore(filePath) {
99
+ execSync(`auditpol /restore /file:"${filePath}"`);
100
+ }
101
+ static clear() {
102
+ execSync("auditpol /clear");
103
+ }
104
+ static remove(user) {
105
+ const cmd = user
106
+ ? `auditpol /remove /user:${user}`
107
+ : "auditpol /remove /all";
108
+ execSync(cmd);
109
+ }
110
+ }
111
+ export default class AuditPolicy {
112
+ static Sync = Sync;
113
+ static Async = Async;
114
+ }
115
+ //# sourceMappingURL=auditpolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditpolicy.js","sourceRoot":"","sources":["../src/auditpolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ type WebcamOptions = Record<string, any>;
2
+ interface DriverInfo {
3
+ Status?: string;
4
+ Class?: string;
5
+ FriendlyName?: string;
6
+ InstanceId?: string;
7
+ Description?: string;
8
+ }
9
+ interface CameraInfo {
10
+ name: string;
11
+ device: string;
12
+ resolution?: string;
13
+ driver?: DriverInfo | DriverInfo[];
14
+ }
15
+ declare class Sync {
16
+ static captureMultiple(baseFileName: string, count: number, options?: WebcamOptions): string[];
17
+ static getCameraResolution(name: string): string;
18
+ static checkCameraStatus(name: string): boolean;
19
+ static capture(fileName: string, options?: WebcamOptions): string | Buffer;
20
+ static listCameras(): CameraInfo[];
21
+ }
22
+ declare class Async {
23
+ static captureMultiple(baseFileName: string, count: number, options?: WebcamOptions): Promise<string[]>;
24
+ static getCameraResolution(name: string): Promise<string>;
25
+ static checkCameraStatus(name: string): Promise<boolean>;
26
+ static capture(fileName: string, options?: WebcamOptions): Promise<string | Buffer>;
27
+ static listCameras(): Promise<CameraInfo[]>;
28
+ }
29
+ export default class Camera {
30
+ static readonly Sync: typeof Sync;
31
+ static readonly Async: typeof Async;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAKA,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAGzC,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACpC;AAED,cAAM,IAAI;IACR,MAAM,CAAC,eAAe,CACpB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,EAAE;IASX,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAYhD,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAa/C,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM;IAkB1E,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE;CA8CnC;AAED,cAAM,KAAK;WACI,eAAe,CAC1B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC;WAUP,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAWlD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY9D,MAAM,CAAC,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;WAUd,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CA4ClD;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
package/dist/camera.js ADDED
@@ -0,0 +1,172 @@
1
+ import NodeWebcam from "node-webcam";
2
+ import { exec, execSync } from "child_process";
3
+ import util from "util";
4
+ import deasync from "deasync";
5
+ const execAsync = util.promisify(exec);
6
+ class Sync {
7
+ static captureMultiple(baseFileName, count, options) {
8
+ const results = [];
9
+ for (let i = 0; i < count; i++) {
10
+ const fileName = `${baseFileName}_${i}.jpg`;
11
+ results.push(this.capture(fileName, options));
12
+ }
13
+ return results;
14
+ }
15
+ static getCameraResolution(name) {
16
+ try {
17
+ const stdout = execSync(`powershell -Command "Get-CimInstance -Namespace root\\CIMV2 -ClassName Win32_PnPEntity | Where-Object { $_.Name -like '*${name}*' } | Select-Object -ExpandProperty Caption"`, { encoding: "utf8" });
18
+ return stdout.trim() || "Unknown";
19
+ }
20
+ catch (err) {
21
+ return "Unknown";
22
+ }
23
+ }
24
+ static checkCameraStatus(name) {
25
+ try {
26
+ const stdout = execSync(`powershell -Command "Get-PnpDevice | Where-Object { $_.FriendlyName -like '*${name}*' -and $_.Class -eq 'Camera' } | Select-Object Status | ConvertTo-Json"`, { encoding: "utf8" });
27
+ const parsed = JSON.parse(stdout);
28
+ return parsed.Status === "OK";
29
+ }
30
+ catch (err) {
31
+ return false;
32
+ }
33
+ }
34
+ static capture(fileName, options) {
35
+ let result = "";
36
+ let done = false;
37
+ const Webcam = NodeWebcam.create(options || {});
38
+ Webcam.capture(fileName, (err, data) => {
39
+ if (err) {
40
+ result = "";
41
+ }
42
+ else {
43
+ result = data;
44
+ }
45
+ done = true;
46
+ });
47
+ deasync.loopWhile(() => !done);
48
+ return result;
49
+ }
50
+ static listCameras() {
51
+ let result = [];
52
+ let done = false;
53
+ NodeWebcam.list((list) => {
54
+ if (!list || list.length === 0) {
55
+ done = true;
56
+ return;
57
+ }
58
+ const cameraDetails = [];
59
+ list.forEach((cam) => {
60
+ let resolution = "Unknown";
61
+ let driver = [];
62
+ if (process.platform === "win32") {
63
+ try {
64
+ const stdout = execSync(`powershell -Command "Get-PnpDevice | Where-Object { $_.Class -eq 'Camera' } | Select-Object Status,Class,FriendlyName,InstanceId,Description | ConvertTo-Json -Compress"`, { encoding: "utf8" });
65
+ if (stdout && stdout.trim().length > 0) {
66
+ try {
67
+ const parsed = JSON.parse(stdout);
68
+ driver = Array.isArray(parsed) ? parsed : [parsed];
69
+ }
70
+ catch (jsonErr) { }
71
+ }
72
+ }
73
+ catch (err) { }
74
+ }
75
+ cameraDetails.push({
76
+ name: cam,
77
+ device: cam,
78
+ resolution,
79
+ driver,
80
+ });
81
+ });
82
+ result = cameraDetails;
83
+ done = true;
84
+ });
85
+ deasync.loopWhile(() => !done);
86
+ return result;
87
+ }
88
+ }
89
+ class Async {
90
+ static async captureMultiple(baseFileName, count, options) {
91
+ const results = [];
92
+ for (let i = 0; i < count; i++) {
93
+ const fileName = `${baseFileName}_${i}.jpg`;
94
+ await this.capture(fileName, options);
95
+ results.push(fileName);
96
+ }
97
+ return results;
98
+ }
99
+ static async getCameraResolution(name) {
100
+ try {
101
+ const { stdout } = await execAsync(`powershell -Command "Get-CimInstance -Namespace root\\CIMV2 -ClassName Win32_PnPEntity | Where-Object { $_.Name -like '*${name}*' } | Select-Object -ExpandProperty Caption"`);
102
+ return stdout.trim() || "Unknown";
103
+ }
104
+ catch (err) {
105
+ return "Unknown";
106
+ }
107
+ }
108
+ static async checkCameraStatus(name) {
109
+ try {
110
+ const { stdout } = await execAsync(`powershell -Command "Get-PnpDevice | Where-Object { $_.FriendlyName -like '*${name}*' -and $_.Class -eq 'Camera' } | Select-Object Status | ConvertTo-Json"`);
111
+ const parsed = JSON.parse(stdout);
112
+ return parsed.Status === "OK";
113
+ }
114
+ catch (err) {
115
+ return false;
116
+ }
117
+ }
118
+ static capture(fileName, options) {
119
+ return new Promise((resolve, reject) => {
120
+ const Webcam = NodeWebcam.create(options || {});
121
+ Webcam.capture(fileName, (err, data) => {
122
+ if (err)
123
+ reject(err);
124
+ else
125
+ resolve(data);
126
+ });
127
+ });
128
+ }
129
+ static async listCameras() {
130
+ return new Promise((resolve, reject) => {
131
+ NodeWebcam.list(async (list) => {
132
+ if (!list || list.length === 0) {
133
+ reject(new Error("No se pudieron listar cámaras"));
134
+ return;
135
+ }
136
+ const cameraDetails = [];
137
+ for (const cam of list) {
138
+ let resolution = "Unknown";
139
+ let driver = [];
140
+ try {
141
+ if (process.platform === "win32") {
142
+ const { stdout } = await execAsync(`powershell -Command ` +
143
+ `"Get-PnpDevice | Where-Object { $_.Class -eq 'Camera' } | ` +
144
+ `Select-Object Status,Class,FriendlyName,InstanceId,Description | ` +
145
+ `ConvertTo-Json -Compress"`);
146
+ if (stdout && stdout.trim().length > 0) {
147
+ try {
148
+ const parsed = JSON.parse(stdout);
149
+ driver = Array.isArray(parsed) ? parsed : [parsed];
150
+ }
151
+ catch (jsonErr) { }
152
+ }
153
+ }
154
+ }
155
+ catch (err) { }
156
+ cameraDetails.push({
157
+ name: cam,
158
+ device: cam,
159
+ resolution,
160
+ driver,
161
+ });
162
+ }
163
+ resolve(cameraDetails);
164
+ });
165
+ });
166
+ }
167
+ }
168
+ export default class Camera {
169
+ static Sync = Sync;
170
+ static Async = Async;
171
+ }
172
+ //# sourceMappingURL=camera.js.map