@overlayed/app 1.4.0 → 1.5.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.
@@ -2,7 +2,7 @@ import { createRequire } from "node:module";
2
2
 
3
3
  //#region index.ts
4
4
  const require = createRequire(import.meta.url);
5
- const { PipeEventServer, PipeEventClient, PipeEventBase, ProcessMonitor, Process, HardwareInterface } = require("@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node");
5
+ const { PipeEventServer, PipeEventClient, PipeEventBase, GameMonitor, GameInstance, HardwareInterface } = require("@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node");
6
6
  let AccessLevel = /* @__PURE__ */ function(AccessLevel$1) {
7
7
  AccessLevel$1[AccessLevel$1["Default"] = 0] = "Default";
8
8
  AccessLevel$1[AccessLevel$1["Global"] = 1] = "Global";
@@ -15,4 +15,4 @@ let InjectionMethod = /* @__PURE__ */ function(InjectionMethod$1) {
15
15
  }({});
16
16
 
17
17
  //#endregion
18
- export { AccessLevel, HardwareInterface, InjectionMethod, PipeEventBase, PipeEventClient, PipeEventServer, Process, ProcessMonitor };
18
+ export { AccessLevel, GameInstance, GameMonitor, HardwareInterface, InjectionMethod, PipeEventBase, PipeEventClient, PipeEventServer };
@@ -10,68 +10,55 @@ declare const enum InjectionMethod {
10
10
  }
11
11
  //#endregion
12
12
  //#region types.d.ts
13
- declare class Process {
14
- constructor(id: number);
13
+ declare class GameInstance {
14
+ private constructor();
15
15
  injectDll(path: string, injector: string, options?: {
16
16
  method?: InjectionMethod;
17
- //maxAttemptCount?: number;
18
- //attemptRate?: number;
19
- //windowPollRate?: number;
20
- //windowWaitTimeout?: number;
21
- //processHandlePollRate?: number;
22
- //processHandleTimeout?: number;
23
- //notifyWaitTimeout?: number;
24
- }): Promise<void>; // defaults: { method: InjectionMethod.windowsHook, maxAttemptCount: 10, attemptRate: 500, windowPollRate: 100, windowWaitTimeout: 4294967295, processHandlePollRate: 1000, processHandleTimeout: 4294967295, notifyWaitTimeout: 3000 }, all times are declared in miliseconds
17
+ }): Promise<void>; // defaults: { method: InjectionMethod.windowsHook }
25
18
 
26
- readonly id: number;
27
- readonly name?: string;
28
- readonly path?: string;
29
- readonly commandLine?: string;
30
- readonly createdAt?: Date;
31
- readonly destroyedAt?: Date;
19
+ readonly identifier: string;
20
+ readonly modules: string[];
21
+ readonly allowDllInjections: boolean;
22
+ readonly hasRenderSupport: boolean;
23
+ readonly injectionDelayMs: number;
24
+ readonly processId: number;
25
+ readonly executableName: string;
26
+ readonly executablePath?: string;
32
27
  readonly is32Bit?: boolean;
33
- readonly exitCode?: number;
34
28
  readonly isElevated?: boolean;
35
- static readonly currentProcess: Process;
29
+ readonly hasElevationMismatch?: boolean;
36
30
  }
37
- declare class ProcessMonitor {
38
- constructor(options?: {
39
- pollRate?: number;
40
- }); // default: { pollRate: 1000 }; pollRate - integer in miliseconds
31
+ declare class GameMonitor {
32
+ constructor(); // the monitored games come from the raven config, fetched and registered natively
41
33
 
42
- wipeProcesses(): void;
43
- isProcessRegistered(name: string): boolean;
44
- registerProcess(name: string): void;
45
- unRegisterProcess(name: string): void;
46
34
  eventNames(): string[];
47
35
  getMaxListeners(): number;
48
36
  removeAllListeners(): this;
49
- listeners(eventName: "create"): Function[];
50
- rawListeners(eventName: "create"): Function[];
51
- listenerCount(eventName: "create", listener?: (process: Process) => void): number;
52
- on(eventName: "create", listener: (process: Process) => void): this;
53
- once(eventName: "create", listener: (process: Process) => void): this;
54
- addListener(eventName: "create", listener: (process: Process) => void): this;
55
- prependListener(eventName: "create", listener: (process: Process) => void): this;
56
- prependOnceListener(eventName: "create", listener: (process: Process) => void): this;
57
- off(eventName: "create", listener: (process: Process) => void): this;
58
- removeListener(eventName: "create", listener: (process: Process) => void): this;
59
- removeAllListeners(eventName: "create"): this;
60
- listeners(eventName: "destroy"): Function[];
61
- rawListeners(eventName: "destroy"): Function[];
62
- listenerCount(eventName: "destroy", listener?: (process: Process) => void): number;
63
- on(eventName: "destroy", listener: (process: Process) => void): this;
64
- once(eventName: "destroy", listener: (process: Process) => void): this;
65
- addListener(eventName: "destroy", listener: (process: Process) => void): this;
66
- prependListener(eventName: "destroy", listener: (process: Process) => void): this;
67
- prependOnceListener(eventName: "destroy", listener: (process: Process) => void): this;
68
- off(eventName: "destroy", listener: (process: Process) => void): this;
69
- removeListener(eventName: "destroy", listener: (process: Process) => void): this;
70
- removeAllListeners(eventName: "destroy"): this;
37
+ listeners(eventName: "launch"): Function[];
38
+ rawListeners(eventName: "launch"): Function[];
39
+ listenerCount(eventName: "launch", listener?: (game: GameInstance) => void): number;
40
+ on(eventName: "launch", listener: (game: GameInstance) => void): this;
41
+ once(eventName: "launch", listener: (game: GameInstance) => void): this;
42
+ addListener(eventName: "launch", listener: (game: GameInstance) => void): this;
43
+ prependListener(eventName: "launch", listener: (game: GameInstance) => void): this;
44
+ prependOnceListener(eventName: "launch", listener: (game: GameInstance) => void): this;
45
+ off(eventName: "launch", listener: (game: GameInstance) => void): this;
46
+ removeListener(eventName: "launch", listener: (game: GameInstance) => void): this;
47
+ removeAllListeners(eventName: "launch"): this;
48
+ listeners(eventName: "close"): Function[];
49
+ rawListeners(eventName: "close"): Function[];
50
+ listenerCount(eventName: "close", listener?: (game: GameInstance) => void): number;
51
+ on(eventName: "close", listener: (game: GameInstance) => void): this;
52
+ once(eventName: "close", listener: (game: GameInstance) => void): this;
53
+ addListener(eventName: "close", listener: (game: GameInstance) => void): this;
54
+ prependListener(eventName: "close", listener: (game: GameInstance) => void): this;
55
+ prependOnceListener(eventName: "close", listener: (game: GameInstance) => void): this;
56
+ off(eventName: "close", listener: (game: GameInstance) => void): this;
57
+ removeListener(eventName: "close", listener: (game: GameInstance) => void): this;
58
+ removeAllListeners(eventName: "close"): this;
71
59
  }
72
60
  declare class PipeEventBase {
73
61
  isConnected(): boolean;
74
- dispatch(event: string): void;
75
62
  eventNames(): string[];
76
63
  getMaxListeners(): number;
77
64
  removeAllListeners(): this;
@@ -133,5 +120,5 @@ declare class HardwareInterface {
133
120
  static generateUniqueIdentifier(): string; // results in a uuid version 4
134
121
  }
135
122
  //#endregion
136
- export { HardwareInterface, PipeEventBase, PipeEventClient, PipeEventServer, Process, ProcessMonitor };
123
+ export { GameInstance, GameMonitor, HardwareInterface, PipeEventBase, PipeEventClient, PipeEventServer };
137
124
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":["AccessLevel","InjectionMethod","Process","Promise","Date","ProcessMonitor","Function","PipeEventBase","PipeEventServer","PipeEventClient","HardwareInterface"],"sources":["../index.ts","../types.d.ts"],"sourcesContent":["/// <reference types=\"node\" />\n\nimport type { AccessLevel, InjectionMethod } from \".\";\n\nexport class Process {\n\tconstructor(id: number);\n\n\tinjectDll(\n\t\tpath: string,\n\t\tinjector: string,\n\t\toptions?: {\n\t\t\tmethod?: InjectionMethod;\n\t\t\t//maxAttemptCount?: number;\n\t\t\t//attemptRate?: number;\n\t\t\t//windowPollRate?: number;\n\t\t\t//windowWaitTimeout?: number;\n\t\t\t//processHandlePollRate?: number;\n\t\t\t//processHandleTimeout?: number;\n\t\t\t//notifyWaitTimeout?: number;\n\t\t},\n\t): Promise<void>; // defaults: { method: InjectionMethod.windowsHook, maxAttemptCount: 10, attemptRate: 500, windowPollRate: 100, windowWaitTimeout: 4294967295, processHandlePollRate: 1000, processHandleTimeout: 4294967295, notifyWaitTimeout: 3000 }, all times are declared in miliseconds\n\n\treadonly id: number;\n\treadonly name?: string;\n\treadonly path?: string;\n\treadonly commandLine?: string;\n\n\treadonly createdAt?: Date;\n\treadonly destroyedAt?: Date;\n\n\treadonly is32Bit?: boolean;\n\treadonly exitCode?: number;\n\n\treadonly isElevated?: boolean;\n\n\tstatic readonly currentProcess: Process;\n}\n\nexport class ProcessMonitor {\n\tconstructor(options?: { pollRate?: number }); // default: { pollRate: 1000 }; pollRate - integer in miliseconds\n\n\twipeProcesses(): void;\n\n\tisProcessRegistered(name: string): boolean;\n\tregisterProcess(name: string): void;\n\tunRegisterProcess(name: string): void;\n\n\teventNames(): string[];\n\tgetMaxListeners(): number;\n\tremoveAllListeners(): this;\n\n\tlisteners(eventName: \"create\"): Function[];\n\trawListeners(eventName: \"create\"): Function[];\n\tlistenerCount(eventName: \"create\", listener?: (process: Process) => void): number;\n\n\ton(eventName: \"create\", listener: (process: Process) => void): this;\n\tonce(eventName: \"create\", listener: (process: Process) => void): this;\n\taddListener(eventName: \"create\", listener: (process: Process) => void): this;\n\tprependListener(eventName: \"create\", listener: (process: Process) => void): this;\n\tprependOnceListener(eventName: \"create\", listener: (process: Process) => void): this;\n\n\toff(eventName: \"create\", listener: (process: Process) => void): this;\n\tremoveListener(eventName: \"create\", listener: (process: Process) => void): this;\n\tremoveAllListeners(eventName: \"create\"): this;\n\n\tlisteners(eventName: \"destroy\"): Function[];\n\trawListeners(eventName: \"destroy\"): Function[];\n\tlistenerCount(eventName: \"destroy\", listener?: (process: Process) => void): number;\n\n\ton(eventName: \"destroy\", listener: (process: Process) => void): this;\n\tonce(eventName: \"destroy\", listener: (process: Process) => void): this;\n\taddListener(eventName: \"destroy\", listener: (process: Process) => void): this;\n\tprependListener(eventName: \"destroy\", listener: (process: Process) => void): this;\n\tprependOnceListener(eventName: \"destroy\", listener: (process: Process) => void): this;\n\n\toff(eventName: \"destroy\", listener: (process: Process) => void): this;\n\tremoveListener(eventName: \"destroy\", listener: (process: Process) => void): this;\n\tremoveAllListeners(eventName: \"destroy\"): this;\n}\n\nexport class PipeEventBase {\n\tisConnected(): boolean;\n\n\tdispatch(event: string): void;\n\n\teventNames(): string[];\n\tgetMaxListeners(): number;\n\tremoveAllListeners(): this;\n\n\tlisteners(eventName: \"event\"): Function[];\n\trawListeners(eventName: \"event\"): Function[];\n\tlistenerCount(eventName: \"event\", listener?: (event: string) => void): number;\n\n\ton(eventName: \"event\", listener: (event: string) => void): this;\n\tonce(eventName: \"event\", listener: (event: string) => void): this;\n\taddListener(eventName: \"event\", listener: (event: string) => void): this;\n\tprependListener(eventName: \"event\", listener: (event: string) => void): this;\n\tprependOnceListener(eventName: \"event\", listener: (event: string) => void): this;\n\n\toff(eventName: \"event\", listener: (event: string) => void): this;\n\tremoveListener(eventName: \"event\", listener: (event: string) => void): this;\n\tremoveAllListeners(eventName: \"event\"): this;\n\n\tlisteners(eventName: \"connected\"): Function[];\n\trawListeners(eventName: \"connected\"): Function[];\n\tlistenerCount(eventName: \"connected\", listener?: () => void): number;\n\n\ton(eventName: \"connected\", listener: () => void): this;\n\tonce(eventName: \"connected\", listener: () => void): this;\n\taddListener(eventName: \"connected\", listener: () => void): this;\n\tprependListener(eventName: \"connected\", listener: () => void): this;\n\tprependOnceListener(eventName: \"connected\", listener: () => void): this;\n\n\toff(eventName: \"connected\", listener: () => void): this;\n\tremoveListener(eventName: \"connected\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"connected\"): this;\n\n\tlisteners(eventName: \"disconnected\"): Function[];\n\trawListeners(eventName: \"disconnected\"): Function[];\n\tlistenerCount(eventName: \"disconnected\", listener?: () => void): number;\n\n\ton(eventName: \"disconnected\", listener: () => void): this;\n\tonce(eventName: \"disconnected\", listener: () => void): this;\n\taddListener(eventName: \"disconnected\", listener: () => void): this;\n\tprependListener(eventName: \"disconnected\", listener: () => void): this;\n\tprependOnceListener(eventName: \"disconnected\", listener: () => void): this;\n\n\toff(eventName: \"disconnected\", listener: () => void): this;\n\tremoveListener(eventName: \"disconnected\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"disconnected\"): this;\n\n\tlisteners(eventName: \"error\"): Function[];\n\trawListeners(eventName: \"error\"): Function[];\n\tlistenerCount(eventName: \"error\", listener?: () => void): number;\n\n\ton(eventName: \"error\", listener: () => void): this;\n\tonce(eventName: \"error\", listener: () => void): this;\n\taddListener(eventName: \"error\", listener: () => void): this;\n\tprependListener(eventName: \"error\", listener: () => void): this;\n\tprependOnceListener(eventName: \"error\", listener: () => void): this;\n\n\toff(eventName: \"error\", listener: () => void): this;\n\tremoveListener(eventName: \"error\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"error\"): this;\n}\n\nexport class PipeEventServer extends PipeEventBase {\n\tconstructor(name: string, options?: { clientCount?: number; access?: AccessLevel }); // default: { clientCount: 1, access: AccessLevel.Default };\n}\n\nexport class PipeEventClient extends PipeEventBase {\n\tconstructor(name: string, options?: {}); // default: {};\n}\n\nexport class HardwareInterface {\n\tstatic generateUniqueIdentifier(): string; // results in a uuid version 4\n}\n"],"mappings":";;AAYkB,mBAAA,WAAA;EAMA,OAAA,GAAA,CAAA;;;;ACdLE,mBDcK,eAAA;ECPND,WAAAA,GAAAA,CAAAA;;;;cAPCC,OAAAA;;EAODD,SAAAA,CASRE,IAAAA,EAAAA,MAAAA,EAOkBC,QAAAA,EAAAA,MAAAA,EACEA,OA6B8BF,CA7B9BE,EAAAA;IAOSF,MAAAA,CAAAA,EAxBrBD,eAwBqBC;IAAO;IAGxC;IAaiCI;IACGA;IACqBJ;IAEZA;IACEA;EACOA,CAAAA,CACIA,EAtCtDC,OAsCsDD,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;;EAGZA,SAAAA,EAAAA,EAAAA,MAAAA;EACWA,SAAAA,IAAAA,CAAAA,EAAAA,MAAAA;EAGvBI,SAAAA,IAAAA,CAAAA,EAAAA,MAAAA;EACGA,SAAAA,WAAAA,CAAAA,EAAAA,MAAAA;EAGSJ,SAAAA,SAAAA,CAAAA,EA1CxBE,IA0CwBF;EACEA,SAAAA,WAAAA,CAAAA,EA1CxBE,IA0CwBF;EAEWA,SAAAA,OAAAA,CAAAA,EAAAA,OAAAA;EACIA,SAAAA,QAAAA,CAAAA,EAAAA,MAAAA;EAGLA,SAAAA,UAAAA,CAAAA,EAAAA,OAAAA;EAI1D,gBAAaK,cAAa,EA7COL,OA6CP;;AAuBUI,cAjEvBD,cAAAA,CAiEuBC;EACGA,WAAAA,CAAAA,OAAAA,CAAAA,EAAAA;IAAAA,QAAAA,CAAAA,EAAAA,MAAAA;EAAAA,CAAAA,EAAAA,CAAAA;;EAcGA,aAAAA,CAAAA,CAAAA,EAAAA,IAAAA;EAcPA,mBAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA,EAAAA,OAAAA;EAAQ,eAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAc3C,iBAAaE,CAAAA,IAAe,EAAA,MAAA,CAAA,EAC0CR,IAAAA;EAOtE,UAAaU,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;;;kCAvGoBJ;qCACGA;0DACqBJ;8CAEZA;gDACEA;uDACOA;2DACIA;+DACIA;+CAEhBA;0DACWA;;mCAGvBI;sCACGA;2DACqBJ;+CAEZA;iDACEA;wDACOA;4DACIA;gEACIA;gDAEhBA;2DACWA;;;cAI7CK,aAAAA;;;;;;iCASmBD;oCACGA;;;;;;;;;;qCAaCA;wCACGA;;;;;;;;;;wCAaAA;2CACGA;;;;;;;;;;iCAaVA;oCACGA;;;;;;;;;;;cActBE,eAAAA,SAAwBD,aAAAA;;;aACiCP;;;cAGzDS,eAAAA,SAAwBF,aAAAA;;;cAIxBG,iBAAAA"}
1
+ {"version":3,"file":"types.d.mts","names":["AccessLevel","InjectionMethod","GameInstance","Promise","GameMonitor","Function","PipeEventBase","PipeEventServer","PipeEventClient","HardwareInterface"],"sources":["../index.ts","../types.d.ts"],"sourcesContent":["/// <reference types=\"node\" />\n\nimport type { AccessLevel, InjectionMethod } from \".\";\n\nexport class GameInstance {\n\tprivate constructor();\n\n\tinjectDll(\n\t\tpath: string,\n\t\tinjector: string,\n\t\toptions?: {\n\t\t\tmethod?: InjectionMethod;\n\t\t},\n\t): Promise<void>; // defaults: { method: InjectionMethod.windowsHook }\n\n\treadonly identifier: string;\n\treadonly modules: string[];\n\n\treadonly allowDllInjections: boolean;\n\treadonly hasRenderSupport: boolean;\n\n\treadonly injectionDelayMs: number;\n\n\treadonly processId: number;\n\n\treadonly executableName: string;\n\treadonly executablePath?: string;\n\n\treadonly is32Bit?: boolean;\n\treadonly isElevated?: boolean;\n\treadonly hasElevationMismatch?: boolean;\n}\n\nexport class GameMonitor {\n\tconstructor(); // the monitored games come from the raven config, fetched and registered natively\n\n\teventNames(): string[];\n\tgetMaxListeners(): number;\n\tremoveAllListeners(): this;\n\n\tlisteners(eventName: \"launch\"): Function[];\n\trawListeners(eventName: \"launch\"): Function[];\n\tlistenerCount(eventName: \"launch\", listener?: (game: GameInstance) => void): number;\n\n\ton(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\tonce(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\taddListener(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\tprependListener(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\tprependOnceListener(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\n\toff(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\tremoveListener(eventName: \"launch\", listener: (game: GameInstance) => void): this;\n\tremoveAllListeners(eventName: \"launch\"): this;\n\n\tlisteners(eventName: \"close\"): Function[];\n\trawListeners(eventName: \"close\"): Function[];\n\tlistenerCount(eventName: \"close\", listener?: (game: GameInstance) => void): number;\n\n\ton(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\tonce(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\taddListener(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\tprependListener(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\tprependOnceListener(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\n\toff(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\tremoveListener(eventName: \"close\", listener: (game: GameInstance) => void): this;\n\tremoveAllListeners(eventName: \"close\"): this;\n}\n\nexport class PipeEventBase {\n\tisConnected(): boolean;\n\n\teventNames(): string[];\n\tgetMaxListeners(): number;\n\tremoveAllListeners(): this;\n\n\tlisteners(eventName: \"event\"): Function[];\n\trawListeners(eventName: \"event\"): Function[];\n\tlistenerCount(eventName: \"event\", listener?: (event: string) => void): number;\n\n\ton(eventName: \"event\", listener: (event: string) => void): this;\n\tonce(eventName: \"event\", listener: (event: string) => void): this;\n\taddListener(eventName: \"event\", listener: (event: string) => void): this;\n\tprependListener(eventName: \"event\", listener: (event: string) => void): this;\n\tprependOnceListener(eventName: \"event\", listener: (event: string) => void): this;\n\n\toff(eventName: \"event\", listener: (event: string) => void): this;\n\tremoveListener(eventName: \"event\", listener: (event: string) => void): this;\n\tremoveAllListeners(eventName: \"event\"): this;\n\n\tlisteners(eventName: \"connected\"): Function[];\n\trawListeners(eventName: \"connected\"): Function[];\n\tlistenerCount(eventName: \"connected\", listener?: () => void): number;\n\n\ton(eventName: \"connected\", listener: () => void): this;\n\tonce(eventName: \"connected\", listener: () => void): this;\n\taddListener(eventName: \"connected\", listener: () => void): this;\n\tprependListener(eventName: \"connected\", listener: () => void): this;\n\tprependOnceListener(eventName: \"connected\", listener: () => void): this;\n\n\toff(eventName: \"connected\", listener: () => void): this;\n\tremoveListener(eventName: \"connected\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"connected\"): this;\n\n\tlisteners(eventName: \"disconnected\"): Function[];\n\trawListeners(eventName: \"disconnected\"): Function[];\n\tlistenerCount(eventName: \"disconnected\", listener?: () => void): number;\n\n\ton(eventName: \"disconnected\", listener: () => void): this;\n\tonce(eventName: \"disconnected\", listener: () => void): this;\n\taddListener(eventName: \"disconnected\", listener: () => void): this;\n\tprependListener(eventName: \"disconnected\", listener: () => void): this;\n\tprependOnceListener(eventName: \"disconnected\", listener: () => void): this;\n\n\toff(eventName: \"disconnected\", listener: () => void): this;\n\tremoveListener(eventName: \"disconnected\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"disconnected\"): this;\n\n\tlisteners(eventName: \"error\"): Function[];\n\trawListeners(eventName: \"error\"): Function[];\n\tlistenerCount(eventName: \"error\", listener?: () => void): number;\n\n\ton(eventName: \"error\", listener: () => void): this;\n\tonce(eventName: \"error\", listener: () => void): this;\n\taddListener(eventName: \"error\", listener: () => void): this;\n\tprependListener(eventName: \"error\", listener: () => void): this;\n\tprependOnceListener(eventName: \"error\", listener: () => void): this;\n\n\toff(eventName: \"error\", listener: () => void): this;\n\tremoveListener(eventName: \"error\", listener: () => void): this;\n\tremoveAllListeners(eventName: \"error\"): this;\n}\n\nexport class PipeEventServer extends PipeEventBase {\n\tconstructor(name: string, options?: { clientCount?: number; access?: AccessLevel }); // default: { clientCount: 1, access: AccessLevel.Default };\n}\n\nexport class PipeEventClient extends PipeEventBase {\n\tconstructor(name: string, options?: {}); // default: {};\n}\n\nexport class HardwareInterface {\n\tstatic generateUniqueIdentifier(): string; // results in a uuid version 4\n}\n"],"mappings":";;AAYkB,mBAAA,WAAA;EAMA,OAAA,GAAA,CAAA;;;;ACdLE,mBDcK,eAAA;ECeLE,WAAAA,GAAW,CAAA;;;;cA7BXF,YAAAA;;EA6Bb,SAAaE,CAOoBC,IAAAA,EAAAA,MAAAA,EACGA,QAAAA,EAAAA,MAAAA,EACkBH,OAGVA,CAHUA,EAAAA;IAEZA,MAAAA,CAAAA,EAjC9BD,eAiC8BC;EACEA,CAAAA,CACOA,EAjC/CC,OAiC+CD,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;;EAEQA,SAAAA,UAAAA,EAAAA,MAAAA;EAEhBA,SAAAA,OAAAA,EAAAA,MAAAA,EAAAA;EAIXG,SAAAA,kBAAAA,EAAAA,OAAAA;EACGA,SAAAA,gBAAAA,EAAAA,OAAAA;EAGMH,SAAAA,gBAAAA,EAAAA,MAAAA;EAESA,SAAAA,SAAAA,EAAAA,MAAAA;EAEQA,SAAAA,cAAAA,EAAAA,MAAAA;EAEhBA,SAAAA,cAAAA,CAAAA,EAAAA,MAAAA;EACuB,SAAA,OAAA,CAAA,EAAA,OAAA;EAIjE,SAAaI,UAAa,CAAA,EAAA,OAAA;EAOMD,SAAAA,oBAAAA,CAAAA,EAAAA,OAAAA;;AAeOA,cA1D1BD,WAAAA,CA0D0BC;EAaAA,WAAAA,CAAAA,EAAAA,CAAAA;;EAcPA,UAAAA,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EACGA,eAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAQ,kBAAA,CAAA,CAAA,EAAA,IAAA;EAkB3C,SAAaG,CAAAA,SAAAA,EAAe,QAAA,CAAA,EAjGKH,QAiGIC,EAAAA;EAIrC,YAAaG,CAAAA,SAAAA,EAAiB,QAAA,CAAA,EApGMJ,QAoGN,EAAA;uDAnGwBH;2CAEZA;6CACEA;oDACOA;wDACIA;4DACIA;4CAEhBA;uDACWA;;iCAGtBG;oCACGA;sDACkBH;0CAEZA;4CACEA;mDACOA;uDACIA;2DACIA;2CAEhBA;sDACWA;;;cAIxCI,aAAAA;;;;;iCAOmBD;oCACGA;;;;;;;;;;qCAaCA;wCACGA;;;;;;;;;;wCAaAA;2CACGA;;;;;;;;;;iCAaVA;oCACGA;;;;;;;;;;;cActBE,eAAAA,SAAwBD,aAAAA;;;aACiCN;;;cAGzDQ,eAAAA,SAAwBF,aAAAA;;;cAIxBG,iBAAAA"}
package/dist/sand.d.ts CHANGED
@@ -115,6 +115,13 @@ declare function module(): {
115
115
  readonly key: "sand";
116
116
  readonly events: import("arktype").Module<{
117
117
  event: {
118
+ game: "sand";
119
+ type: "party_member_left";
120
+ creation_time: number;
121
+ content: {
122
+ account_id: SandAccountId;
123
+ };
124
+ } | {
118
125
  game: "sand";
119
126
  type: "logged_in";
120
127
  creation_time: number;
@@ -124,6 +131,15 @@ declare function module(): {
124
131
  platform_id: SandPlatformId;
125
132
  playfab_id: SandPlayfabId;
126
133
  };
134
+ } | {
135
+ game: "sand";
136
+ type: "tech_tree_item_unlocked";
137
+ creation_time: number;
138
+ content: {
139
+ id: SandTechNodeId;
140
+ name: string;
141
+ tier: number;
142
+ };
127
143
  } | {
128
144
  game: "sand";
129
145
  type: "game_state_changed";
@@ -150,13 +166,6 @@ declare function module(): {
150
166
  character_id: SandCharacterId;
151
167
  is_captain: boolean;
152
168
  };
153
- } | {
154
- game: "sand";
155
- type: "party_member_left";
156
- creation_time: number;
157
- content: {
158
- account_id: SandAccountId;
159
- };
160
169
  } | {
161
170
  game: "sand";
162
171
  type: "inventory_changed";
@@ -197,15 +206,6 @@ declare function module(): {
197
206
  is_available: boolean;
198
207
  }[];
199
208
  };
200
- } | {
201
- game: "sand";
202
- type: "tech_tree_item_unlocked";
203
- creation_time: number;
204
- content: {
205
- id: SandTechNodeId;
206
- name: string;
207
- tier: number;
208
- };
209
209
  } | {
210
210
  game: "sand";
211
211
  type: "walker_changed";
@@ -938,6 +938,13 @@ type TramplerLostEvent = typeof TramplerLost.infer; //#endregion
938
938
  //#region src/events/index.d.ts
939
939
  declare const sandEvents: import("arktype").Module<{
940
940
  event: {
941
+ game: "sand";
942
+ type: "party_member_left";
943
+ creation_time: number;
944
+ content: {
945
+ account_id: SandAccountId;
946
+ };
947
+ } | {
941
948
  game: "sand";
942
949
  type: "logged_in";
943
950
  creation_time: number;
@@ -947,6 +954,15 @@ declare const sandEvents: import("arktype").Module<{
947
954
  platform_id: SandPlatformId;
948
955
  playfab_id: SandPlayfabId;
949
956
  };
957
+ } | {
958
+ game: "sand";
959
+ type: "tech_tree_item_unlocked";
960
+ creation_time: number;
961
+ content: {
962
+ id: SandTechNodeId;
963
+ name: string;
964
+ tier: number;
965
+ };
950
966
  } | {
951
967
  game: "sand";
952
968
  type: "game_state_changed";
@@ -973,13 +989,6 @@ declare const sandEvents: import("arktype").Module<{
973
989
  character_id: SandCharacterId;
974
990
  is_captain: boolean;
975
991
  };
976
- } | {
977
- game: "sand";
978
- type: "party_member_left";
979
- creation_time: number;
980
- content: {
981
- account_id: SandAccountId;
982
- };
983
992
  } | {
984
993
  game: "sand";
985
994
  type: "inventory_changed";
@@ -1020,15 +1029,6 @@ declare const sandEvents: import("arktype").Module<{
1020
1029
  is_available: boolean;
1021
1030
  }[];
1022
1031
  };
1023
- } | {
1024
- game: "sand";
1025
- type: "tech_tree_item_unlocked";
1026
- creation_time: number;
1027
- content: {
1028
- id: SandTechNodeId;
1029
- name: string;
1030
- tier: number;
1031
- };
1032
1032
  } | {
1033
1033
  game: "sand";
1034
1034
  type: "walker_changed";
package/dist/siege.d.ts CHANGED
@@ -653,23 +653,11 @@ declare function module(): {
653
653
  };
654
654
  event: {
655
655
  game: "siege";
656
- type: "defuser_sabotaged";
656
+ type: "player_side_changed";
657
657
  creation_time: number;
658
658
  content: {
659
659
  player_id: SiegePlayerId;
660
- };
661
- } | {
662
- game: "siege";
663
- type: "operator_banned";
664
- creation_time: number;
665
- content: {
666
- team: 0 | 1;
667
- index: number;
668
660
  side: "attacker" | "both" | "defender" | "invalid" | (string & {});
669
- operator_name: {
670
- id: SiegeOperatorNameId;
671
- value: string;
672
- } | null;
673
661
  };
674
662
  } | {
675
663
  game: "siege";
@@ -755,6 +743,19 @@ declare function module(): {
755
743
  index: number;
756
744
  side: "attacker" | "both" | "defender" | "invalid" | (string & {});
757
745
  };
746
+ } | {
747
+ game: "siege";
748
+ type: "operator_banned";
749
+ creation_time: number;
750
+ content: {
751
+ team: 0 | 1;
752
+ index: number;
753
+ side: "attacker" | "both" | "defender" | "invalid" | (string & {});
754
+ operator_name: {
755
+ id: SiegeOperatorNameId;
756
+ value: string;
757
+ } | null;
758
+ };
758
759
  } | {
759
760
  game: "siege";
760
761
  type: "operator_ban_cleared";
@@ -840,14 +841,6 @@ declare function module(): {
840
841
  player_id: SiegePlayerId;
841
842
  location_name: string;
842
843
  };
843
- } | {
844
- game: "siege";
845
- type: "player_side_changed";
846
- creation_time: number;
847
- content: {
848
- player_id: SiegePlayerId;
849
- side: "attacker" | "both" | "defender" | "invalid" | (string & {});
850
- };
851
844
  } | {
852
845
  game: "siege";
853
846
  type: "player_score_changed";
@@ -895,6 +888,13 @@ declare function module(): {
895
888
  content: {
896
889
  player_id: SiegePlayerId;
897
890
  };
891
+ } | {
892
+ game: "siege";
893
+ type: "defuser_sabotaged";
894
+ creation_time: number;
895
+ content: {
896
+ player_id: SiegePlayerId;
897
+ };
898
898
  } | {
899
899
  game: "siege";
900
900
  type: "defuser_picked_up";
@@ -2013,23 +2013,11 @@ declare const siegeEvents: import("arktype").Module<{
2013
2013
  };
2014
2014
  event: {
2015
2015
  game: "siege";
2016
- type: "defuser_sabotaged";
2016
+ type: "player_side_changed";
2017
2017
  creation_time: number;
2018
2018
  content: {
2019
2019
  player_id: SiegePlayerId;
2020
- };
2021
- } | {
2022
- game: "siege";
2023
- type: "operator_banned";
2024
- creation_time: number;
2025
- content: {
2026
- team: 0 | 1;
2027
- index: number;
2028
2020
  side: "attacker" | "both" | "defender" | "invalid" | (string & {});
2029
- operator_name: {
2030
- id: SiegeOperatorNameId;
2031
- value: string;
2032
- } | null;
2033
2021
  };
2034
2022
  } | {
2035
2023
  game: "siege";
@@ -2115,6 +2103,19 @@ declare const siegeEvents: import("arktype").Module<{
2115
2103
  index: number;
2116
2104
  side: "attacker" | "both" | "defender" | "invalid" | (string & {});
2117
2105
  };
2106
+ } | {
2107
+ game: "siege";
2108
+ type: "operator_banned";
2109
+ creation_time: number;
2110
+ content: {
2111
+ team: 0 | 1;
2112
+ index: number;
2113
+ side: "attacker" | "both" | "defender" | "invalid" | (string & {});
2114
+ operator_name: {
2115
+ id: SiegeOperatorNameId;
2116
+ value: string;
2117
+ } | null;
2118
+ };
2118
2119
  } | {
2119
2120
  game: "siege";
2120
2121
  type: "operator_ban_cleared";
@@ -2200,14 +2201,6 @@ declare const siegeEvents: import("arktype").Module<{
2200
2201
  player_id: SiegePlayerId;
2201
2202
  location_name: string;
2202
2203
  };
2203
- } | {
2204
- game: "siege";
2205
- type: "player_side_changed";
2206
- creation_time: number;
2207
- content: {
2208
- player_id: SiegePlayerId;
2209
- side: "attacker" | "both" | "defender" | "invalid" | (string & {});
2210
- };
2211
2204
  } | {
2212
2205
  game: "siege";
2213
2206
  type: "player_score_changed";
@@ -2255,6 +2248,13 @@ declare const siegeEvents: import("arktype").Module<{
2255
2248
  content: {
2256
2249
  player_id: SiegePlayerId;
2257
2250
  };
2251
+ } | {
2252
+ game: "siege";
2253
+ type: "defuser_sabotaged";
2254
+ creation_time: number;
2255
+ content: {
2256
+ player_id: SiegePlayerId;
2257
+ };
2258
2258
  } | {
2259
2259
  game: "siege";
2260
2260
  type: "defuser_picked_up";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overlayed/app",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Overlayed app",
5
5
  "keywords": [
6
6
  "typescript"
@@ -75,21 +75,21 @@
75
75
  },
76
76
  "devDependencies": {
77
77
  "@ark/attest": "^0.56.2",
78
- "@overlayed-gg/native-interface": "0.7.0",
78
+ "@overlayed-gg/native-interface": "0.10.0",
79
79
  "@overlayed-gg/render-interface": "0.8.0",
80
80
  "msw": "^2.14.6",
81
81
  "typescript": "^6.0.3",
82
82
  "vite": "^8.1.3",
83
- "@overlayed/api": "0.0.6",
84
83
  "@overlayed/cortex-client": "0.0.6",
85
84
  "@overlayed/events": "0.0.4",
86
- "@overlayed/native-managers": "0.0.4",
87
85
  "@overlayed/sand": "0.0.0",
86
+ "@overlayed/native-managers": "0.0.4",
87
+ "@overlayed/api": "0.0.6",
88
+ "@overlayed/shared-node": "0.0.4",
88
89
  "@overlayed/siege": "0.0.5",
89
- "@overlayed/universal": "0.0.0",
90
90
  "@overlayed/utils": "0.0.4",
91
91
  "@overlayed/utils-node": "0.0.4",
92
- "@overlayed/shared-node": "0.0.4"
92
+ "@overlayed/universal": "0.0.0"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "electron": "33.3.0"