@open-core/framework 1.0.1-beta.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 (275) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +350 -0
  3. package/dist/client/client-bootstrap.d.ts +1 -0
  4. package/dist/client/client-bootstrap.js +53 -0
  5. package/dist/client/client-container.d.ts +2 -0
  6. package/dist/client/client-container.js +6 -0
  7. package/dist/client/client-core.d.ts +18 -0
  8. package/dist/client/client-core.js +52 -0
  9. package/dist/client/decorators/controller.d.ts +3 -0
  10. package/dist/client/decorators/controller.js +14 -0
  11. package/dist/client/decorators/export.d.ts +7 -0
  12. package/dist/client/decorators/export.js +15 -0
  13. package/dist/client/decorators/gameEvent.d.ts +47 -0
  14. package/dist/client/decorators/gameEvent.js +54 -0
  15. package/dist/client/decorators/index.d.ts +10 -0
  16. package/dist/client/decorators/index.js +26 -0
  17. package/dist/client/decorators/interval.d.ts +7 -0
  18. package/dist/client/decorators/interval.js +15 -0
  19. package/dist/client/decorators/key.d.ts +2 -0
  20. package/dist/client/decorators/key.js +10 -0
  21. package/dist/client/decorators/localEvent.d.ts +7 -0
  22. package/dist/client/decorators/localEvent.js +15 -0
  23. package/dist/client/decorators/nui.d.ts +1 -0
  24. package/dist/client/decorators/nui.js +9 -0
  25. package/dist/client/decorators/onNet.d.ts +1 -0
  26. package/dist/client/decorators/onNet.js +9 -0
  27. package/dist/client/decorators/resourceLifecycle.d.ts +11 -0
  28. package/dist/client/decorators/resourceLifecycle.js +24 -0
  29. package/dist/client/decorators/tick.d.ts +1 -0
  30. package/dist/client/decorators/tick.js +9 -0
  31. package/dist/client/index.d.ts +6 -0
  32. package/dist/client/index.js +22 -0
  33. package/dist/client/loaders/exports.loader.d.ts +1 -0
  34. package/dist/client/loaders/exports.loader.js +13 -0
  35. package/dist/client/player/player.d.ts +262 -0
  36. package/dist/client/player/player.js +480 -0
  37. package/dist/client/player/player.loader.d.ts +1 -0
  38. package/dist/client/player/player.loader.js +22 -0
  39. package/dist/client/services/core/index.d.ts +1 -0
  40. package/dist/client/services/core/index.js +17 -0
  41. package/dist/client/services/core/spawn.service.d.ts +20 -0
  42. package/dist/client/services/core/spawn.service.js +143 -0
  43. package/dist/client/services/index.d.ts +4 -0
  44. package/dist/client/services/index.js +24 -0
  45. package/dist/client/services/streaming/index.d.ts +1 -0
  46. package/dist/client/services/streaming/index.js +17 -0
  47. package/dist/client/services/streaming/streaming.service.d.ts +165 -0
  48. package/dist/client/services/streaming/streaming.service.js +341 -0
  49. package/dist/client/services/ui/index.d.ts +3 -0
  50. package/dist/client/services/ui/index.js +19 -0
  51. package/dist/client/services/ui/notification.service.d.ts +76 -0
  52. package/dist/client/services/ui/notification.service.js +111 -0
  53. package/dist/client/services/ui/progress.service.d.ts +82 -0
  54. package/dist/client/services/ui/progress.service.js +210 -0
  55. package/dist/client/services/ui/textui.service.d.ts +82 -0
  56. package/dist/client/services/ui/textui.service.js +156 -0
  57. package/dist/client/services/world/blip.service.d.ts +112 -0
  58. package/dist/client/services/world/blip.service.js +215 -0
  59. package/dist/client/services/world/index.d.ts +4 -0
  60. package/dist/client/services/world/index.js +20 -0
  61. package/dist/client/services/world/marker.service.d.ts +94 -0
  62. package/dist/client/services/world/marker.service.js +153 -0
  63. package/dist/client/services/world/ped.service.d.ts +182 -0
  64. package/dist/client/services/world/ped.service.js +302 -0
  65. package/dist/client/services/world/vehicle.service.d.ts +168 -0
  66. package/dist/client/services/world/vehicle.service.js +296 -0
  67. package/dist/client/system/metadata-client.keys.d.ts +13 -0
  68. package/dist/client/system/metadata-client.keys.js +16 -0
  69. package/dist/client/system/processors/export.processor.d.ts +7 -0
  70. package/dist/client/system/processors/export.processor.js +39 -0
  71. package/dist/client/system/processors/gameEvent.processor.d.ts +10 -0
  72. package/dist/client/system/processors/gameEvent.processor.js +58 -0
  73. package/dist/client/system/processors/interval.processor.d.ts +7 -0
  74. package/dist/client/system/processors/interval.processor.js +43 -0
  75. package/dist/client/system/processors/key.processor.d.ts +8 -0
  76. package/dist/client/system/processors/key.processor.js +27 -0
  77. package/dist/client/system/processors/localEvent.processor.d.ts +7 -0
  78. package/dist/client/system/processors/localEvent.processor.js +38 -0
  79. package/dist/client/system/processors/netEvent.processor.d.ts +7 -0
  80. package/dist/client/system/processors/netEvent.processor.js +38 -0
  81. package/dist/client/system/processors/nui.processor.d.ts +7 -0
  82. package/dist/client/system/processors/nui.processor.js +40 -0
  83. package/dist/client/system/processors/resourceLifecycle.processor.d.ts +9 -0
  84. package/dist/client/system/processors/resourceLifecycle.processor.js +69 -0
  85. package/dist/client/system/processors/tick.processor.d.ts +5 -0
  86. package/dist/client/system/processors/tick.processor.js +37 -0
  87. package/dist/client/system/processors.register.d.ts +1 -0
  88. package/dist/client/system/processors.register.js +27 -0
  89. package/dist/client/types/game-events.d.ts +126 -0
  90. package/dist/client/types/game-events.js +83 -0
  91. package/dist/client/types/index.d.ts +1 -0
  92. package/dist/client/types/index.js +17 -0
  93. package/dist/client/ui-bridge.d.ts +116 -0
  94. package/dist/client/ui-bridge.js +201 -0
  95. package/dist/index.d.ts +7 -0
  96. package/dist/index.js +46 -0
  97. package/dist/server/bootstrap.d.ts +16 -0
  98. package/dist/server/bootstrap.js +57 -0
  99. package/dist/server/bus/core-event-bus.d.ts +6 -0
  100. package/dist/server/bus/core-event-bus.js +31 -0
  101. package/dist/server/configs/api.config.d.ts +71 -0
  102. package/dist/server/configs/api.config.js +81 -0
  103. package/dist/server/configs/config.base.d.ts +63 -0
  104. package/dist/server/configs/config.base.js +64 -0
  105. package/dist/server/configs/index.d.ts +2 -0
  106. package/dist/server/configs/index.js +18 -0
  107. package/dist/server/container.d.ts +2 -0
  108. package/dist/server/container.js +6 -0
  109. package/dist/server/controllers/chat.controller.d.ts +10 -0
  110. package/dist/server/controllers/chat.controller.js +50 -0
  111. package/dist/server/controllers/command.controller.d.ts +7 -0
  112. package/dist/server/controllers/command.controller.js +47 -0
  113. package/dist/server/core.d.ts +1 -0
  114. package/dist/server/core.js +7 -0
  115. package/dist/server/database/adapters/oxmysql.adapter.d.ts +89 -0
  116. package/dist/server/database/adapters/oxmysql.adapter.js +149 -0
  117. package/dist/server/database/database.contract.d.ts +128 -0
  118. package/dist/server/database/database.contract.js +29 -0
  119. package/dist/server/database/database.service.d.ts +216 -0
  120. package/dist/server/database/database.service.js +301 -0
  121. package/dist/server/database/index.d.ts +53 -0
  122. package/dist/server/database/index.js +70 -0
  123. package/dist/server/database/types.d.ts +67 -0
  124. package/dist/server/database/types.js +7 -0
  125. package/dist/server/database.d.ts +7 -0
  126. package/dist/server/database.js +23 -0
  127. package/dist/server/decorators/bind.d.ts +2 -0
  128. package/dist/server/decorators/bind.js +15 -0
  129. package/dist/server/decorators/command.d.ts +19 -0
  130. package/dist/server/decorators/command.js +18 -0
  131. package/dist/server/decorators/controller.d.ts +3 -0
  132. package/dist/server/decorators/controller.js +14 -0
  133. package/dist/server/decorators/coreEvent.d.ts +2 -0
  134. package/dist/server/decorators/coreEvent.js +9 -0
  135. package/dist/server/decorators/export.d.ts +1 -0
  136. package/dist/server/decorators/export.js +9 -0
  137. package/dist/server/decorators/guard.d.ts +5 -0
  138. package/dist/server/decorators/guard.js +39 -0
  139. package/dist/server/decorators/index.d.ts +10 -0
  140. package/dist/server/decorators/index.js +26 -0
  141. package/dist/server/decorators/netEvent.d.ts +36 -0
  142. package/dist/server/decorators/netEvent.js +40 -0
  143. package/dist/server/decorators/onTick.d.ts +1 -0
  144. package/dist/server/decorators/onTick.js +9 -0
  145. package/dist/server/decorators/public.d.ts +16 -0
  146. package/dist/server/decorators/public.js +25 -0
  147. package/dist/server/decorators/requiresState.d.ts +55 -0
  148. package/dist/server/decorators/requiresState.js +62 -0
  149. package/dist/server/decorators/throttle.d.ts +9 -0
  150. package/dist/server/decorators/throttle.js +36 -0
  151. package/dist/server/decorators/utils.d.ts +7 -0
  152. package/dist/server/decorators/utils.js +13 -0
  153. package/dist/server/entities/index.d.ts +1 -0
  154. package/dist/server/entities/index.js +17 -0
  155. package/dist/server/entities/player.d.ts +157 -0
  156. package/dist/server/entities/player.js +217 -0
  157. package/dist/server/error-handler.d.ts +2 -0
  158. package/dist/server/error-handler.js +43 -0
  159. package/dist/server/index.d.ts +10 -0
  160. package/dist/server/index.js +29 -0
  161. package/dist/server/loaders/exports.loader.d.ts +0 -0
  162. package/dist/server/loaders/exports.loader.js +23 -0
  163. package/dist/server/loaders/playerSession.loader.d.ts +1 -0
  164. package/dist/server/loaders/playerSession.loader.js +42 -0
  165. package/dist/server/services/access-control.service.d.ts +56 -0
  166. package/dist/server/services/access-control.service.js +99 -0
  167. package/dist/server/services/chat.service.d.ts +7 -0
  168. package/dist/server/services/chat.service.js +31 -0
  169. package/dist/server/services/command.service.d.ts +15 -0
  170. package/dist/server/services/command.service.js +74 -0
  171. package/dist/server/services/config.service.d.ts +75 -0
  172. package/dist/server/services/config.service.js +116 -0
  173. package/dist/server/services/default/default-security.handler.d.ts +6 -0
  174. package/dist/server/services/default/default-security.handler.js +26 -0
  175. package/dist/server/services/http/http.service.d.ts +50 -0
  176. package/dist/server/services/http/http.service.js +126 -0
  177. package/dist/server/services/index.d.ts +10 -0
  178. package/dist/server/services/index.js +26 -0
  179. package/dist/server/services/parallel/index.d.ts +49 -0
  180. package/dist/server/services/parallel/index.js +67 -0
  181. package/dist/server/services/parallel/parallel-compute.service.d.ts +132 -0
  182. package/dist/server/services/parallel/parallel-compute.service.js +449 -0
  183. package/dist/server/services/parallel/types.d.ts +188 -0
  184. package/dist/server/services/parallel/types.js +7 -0
  185. package/dist/server/services/parallel/worker-pool.d.ts +83 -0
  186. package/dist/server/services/parallel/worker-pool.js +350 -0
  187. package/dist/server/services/parallel/worker.d.ts +19 -0
  188. package/dist/server/services/parallel/worker.js +49 -0
  189. package/dist/server/services/persistence.service.d.ts +59 -0
  190. package/dist/server/services/persistence.service.js +166 -0
  191. package/dist/server/services/player.service.d.ts +96 -0
  192. package/dist/server/services/player.service.js +132 -0
  193. package/dist/server/services/rate-limiter.service.d.ts +5 -0
  194. package/dist/server/services/rate-limiter.service.js +39 -0
  195. package/dist/server/services/registers.d.ts +1 -0
  196. package/dist/server/services/registers.js +18 -0
  197. package/dist/server/setup.d.ts +9 -0
  198. package/dist/server/setup.js +28 -0
  199. package/dist/server/system/metadata-server.keys.d.ts +9 -0
  200. package/dist/server/system/metadata-server.keys.js +12 -0
  201. package/dist/server/system/processors/command.processor.d.ts +9 -0
  202. package/dist/server/system/processors/command.processor.js +31 -0
  203. package/dist/server/system/processors/coreEvent.processor.d.ts +7 -0
  204. package/dist/server/system/processors/coreEvent.processor.js +38 -0
  205. package/dist/server/system/processors/export.processor.d.ts +7 -0
  206. package/dist/server/system/processors/export.processor.js +26 -0
  207. package/dist/server/system/processors/netEvent.processor.d.ts +11 -0
  208. package/dist/server/system/processors/netEvent.processor.js +100 -0
  209. package/dist/server/system/processors/tick.processor.d.ts +5 -0
  210. package/dist/server/system/processors/tick.processor.js +36 -0
  211. package/dist/server/system/processors.register.d.ts +1 -0
  212. package/dist/server/system/processors.register.js +21 -0
  213. package/dist/server/templates/admin/admin.controller-template.d.ts +10 -0
  214. package/dist/server/templates/admin/admin.controller-template.js +2 -0
  215. package/dist/server/templates/auth/auth-provider.contract.d.ts +58 -0
  216. package/dist/server/templates/auth/auth-provider.contract.js +23 -0
  217. package/dist/server/templates/index.d.ts +8 -0
  218. package/dist/server/templates/index.js +21 -0
  219. package/dist/server/templates/persistence/index.d.ts +30 -0
  220. package/dist/server/templates/persistence/index.js +34 -0
  221. package/dist/server/templates/persistence/player-persistence.contract.d.ts +86 -0
  222. package/dist/server/templates/persistence/player-persistence.contract.js +52 -0
  223. package/dist/server/templates/repository/index.d.ts +57 -0
  224. package/dist/server/templates/repository/index.js +61 -0
  225. package/dist/server/templates/repository/repository.contract.d.ts +224 -0
  226. package/dist/server/templates/repository/repository.contract.js +342 -0
  227. package/dist/server/templates/repository/repository.types.d.ts +51 -0
  228. package/dist/server/templates/repository/repository.types.js +7 -0
  229. package/dist/server/templates/security/permission.types.d.ts +32 -0
  230. package/dist/server/templates/security/permission.types.js +2 -0
  231. package/dist/server/templates/security/principal-provider.contract.d.ts +43 -0
  232. package/dist/server/templates/security/principal-provider.contract.js +19 -0
  233. package/dist/server/templates/security/security-handler.contract.d.ts +5 -0
  234. package/dist/server/templates/security/security-handler.contract.js +6 -0
  235. package/dist/server/types/core-events.d.ts +17 -0
  236. package/dist/server/types/core-events.js +2 -0
  237. package/dist/server/types/security.types.d.ts +7 -0
  238. package/dist/server/types/security.types.js +2 -0
  239. package/dist/shared/index.d.ts +1 -0
  240. package/dist/shared/index.js +17 -0
  241. package/dist/shared/logger/core-logger.d.ts +35 -0
  242. package/dist/shared/logger/core-logger.js +52 -0
  243. package/dist/shared/logger/index.d.ts +11 -0
  244. package/dist/shared/logger/index.js +26 -0
  245. package/dist/shared/logger/logger.config.d.ts +47 -0
  246. package/dist/shared/logger/logger.config.js +33 -0
  247. package/dist/shared/logger/logger.service.d.ts +161 -0
  248. package/dist/shared/logger/logger.service.js +279 -0
  249. package/dist/shared/logger/logger.types.d.ts +85 -0
  250. package/dist/shared/logger/logger.types.js +74 -0
  251. package/dist/shared/logger/transports/buffered.transport.d.ts +88 -0
  252. package/dist/shared/logger/transports/buffered.transport.js +174 -0
  253. package/dist/shared/logger/transports/console.transport.d.ts +37 -0
  254. package/dist/shared/logger/transports/console.transport.js +134 -0
  255. package/dist/shared/logger/transports/index.d.ts +3 -0
  256. package/dist/shared/logger/transports/index.js +19 -0
  257. package/dist/shared/logger/transports/transport.interface.d.ts +40 -0
  258. package/dist/shared/logger/transports/transport.interface.js +2 -0
  259. package/dist/system/class-constructor.d.ts +1 -0
  260. package/dist/system/class-constructor.js +2 -0
  261. package/dist/system/decorator-processor.d.ts +4 -0
  262. package/dist/system/decorator-processor.js +2 -0
  263. package/dist/system/metadata.scanner.d.ts +7 -0
  264. package/dist/system/metadata.scanner.js +45 -0
  265. package/dist/utils/errors.d.ts +14 -0
  266. package/dist/utils/errors.js +25 -0
  267. package/dist/utils/index.d.ts +4 -0
  268. package/dist/utils/index.js +20 -0
  269. package/dist/utils/result.d.ts +12 -0
  270. package/dist/utils/result.js +10 -0
  271. package/dist/utils/rgb.d.ts +5 -0
  272. package/dist/utils/rgb.js +2 -0
  273. package/dist/utils/vector3.d.ts +13 -0
  274. package/dist/utils/vector3.js +27 -0
  275. package/package.json +70 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Decorator for creating interval-based ticks.
3
+ * Unlike @Tick which runs every frame, @Interval runs at specified intervals.
4
+ *
5
+ * @param ms - Interval in milliseconds between executions
6
+ */
7
+ export declare function Interval(ms: number): (target: any, propertyKey: string) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Interval = Interval;
4
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
5
+ /**
6
+ * Decorator for creating interval-based ticks.
7
+ * Unlike @Tick which runs every frame, @Interval runs at specified intervals.
8
+ *
9
+ * @param ms - Interval in milliseconds between executions
10
+ */
11
+ function Interval(ms) {
12
+ return (target, propertyKey) => {
13
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.INTERVAL, { interval: ms }, target, propertyKey);
14
+ };
15
+ }
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ export declare function KeyMapping(key: string, description: string): (target: any, propertyKey: string) => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyMapping = KeyMapping;
4
+ require("reflect-metadata");
5
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
6
+ function KeyMapping(key, description) {
7
+ return (target, propertyKey) => {
8
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.KEY, { key, description }, target, propertyKey);
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Decorator for handling local events (non-networked).
3
+ * Use this for client-side only events.
4
+ *
5
+ * @param eventName - The name of the local event to listen for
6
+ */
7
+ export declare function OnLocalEvent(eventName: string): (target: any, propertyKey: string) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnLocalEvent = OnLocalEvent;
4
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
5
+ /**
6
+ * Decorator for handling local events (non-networked).
7
+ * Use this for client-side only events.
8
+ *
9
+ * @param eventName - The name of the local event to listen for
10
+ */
11
+ function OnLocalEvent(eventName) {
12
+ return (target, propertyKey) => {
13
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.LOCAL_EVENT, { eventName }, target, propertyKey);
14
+ };
15
+ }
@@ -0,0 +1 @@
1
+ export declare function NuiCallback(eventName: string): (target: any, propertyKey: string) => void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NuiCallback = NuiCallback;
4
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
5
+ function NuiCallback(eventName) {
6
+ return (target, propertyKey) => {
7
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.NUI, { eventName }, target, propertyKey);
8
+ };
9
+ }
@@ -0,0 +1 @@
1
+ export declare function OnNet(eventName: string): (target: any, propertyKey: string) => void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnNet = OnNet;
4
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
5
+ function OnNet(eventName) {
6
+ return (target, propertyKey) => {
7
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.NET_EVENT, { eventName }, target, propertyKey);
8
+ };
9
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Decorator for handling resource start events.
3
+ * Called when this resource starts.
4
+ */
5
+ export declare function OnResourceStart(): (target: any, propertyKey: string) => void;
6
+ /**
7
+ * Decorator for handling resource stop events.
8
+ * Called when this resource is about to stop.
9
+ * Useful for cleanup operations.
10
+ */
11
+ export declare function OnResourceStop(): (target: any, propertyKey: string) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnResourceStart = OnResourceStart;
4
+ exports.OnResourceStop = OnResourceStop;
5
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
6
+ /**
7
+ * Decorator for handling resource start events.
8
+ * Called when this resource starts.
9
+ */
10
+ function OnResourceStart() {
11
+ return (target, propertyKey) => {
12
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.RESOURCE_START, {}, target, propertyKey);
13
+ };
14
+ }
15
+ /**
16
+ * Decorator for handling resource stop events.
17
+ * Called when this resource is about to stop.
18
+ * Useful for cleanup operations.
19
+ */
20
+ function OnResourceStop() {
21
+ return (target, propertyKey) => {
22
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.RESOURCE_STOP, {}, target, propertyKey);
23
+ };
24
+ }
@@ -0,0 +1 @@
1
+ export declare function Tick(): (target: any, propertyKey: string) => void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tick = Tick;
4
+ const metadata_client_keys_1 = require("../system/metadata-client.keys");
5
+ function Tick() {
6
+ return (target, propertyKey) => {
7
+ Reflect.defineMetadata(metadata_client_keys_1.METADATA_KEYS.TICK, {}, target, propertyKey);
8
+ };
9
+ }
@@ -0,0 +1,6 @@
1
+ export * from './client-core';
2
+ export * from './decorators';
3
+ export * from './player/player';
4
+ export * from './ui-bridge';
5
+ export * from './services';
6
+ export * from './types';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client-core"), exports);
18
+ __exportStar(require("./decorators"), exports);
19
+ __exportStar(require("./player/player"), exports);
20
+ __exportStar(require("./ui-bridge"), exports);
21
+ __exportStar(require("./services"), exports);
22
+ __exportStar(require("./types"), exports);
@@ -0,0 +1 @@
1
+ export declare const loadClientExports: () => void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadClientExports = void 0;
4
+ const logger_1 = require("../../shared/logger");
5
+ const clientExports = logger_1.coreLogger.child('Exports', logger_1.LogDomain.CLIENT);
6
+ const loadClientExports = () => {
7
+ exports('core:sendcommand', (commandName, args = []) => {
8
+ const rawCommand = `/${commandName} ${args.join(' ')}`;
9
+ emitNet('core:internal:executeCommand', commandName, args, rawCommand);
10
+ });
11
+ clientExports.debug('Client exports loaded: SendCommand');
12
+ };
13
+ exports.loadClientExports = loadClientExports;
@@ -0,0 +1,262 @@
1
+ import type { Vector3 } from '../../utils';
2
+ interface PlayerSessionMeta {
3
+ playerId?: string;
4
+ [key: string]: unknown;
5
+ }
6
+ /**
7
+ * Client-side player representation with convenient accessors and methods.
8
+ */
9
+ declare class Player {
10
+ private meta;
11
+ /** Get the player's ped handle */
12
+ get ped(): number;
13
+ /** Get the player ID */
14
+ get id(): number;
15
+ /** Get the server ID (source) */
16
+ get serverId(): number;
17
+ /** Get the player's current coordinates */
18
+ get coords(): Vector3;
19
+ /** Get the player's current heading (rotation) */
20
+ get heading(): number;
21
+ /** Get current health (0-200, 100 = dead) */
22
+ get health(): number;
23
+ /** Get max health */
24
+ get maxHealth(): number;
25
+ /** Get current armor (0-100) */
26
+ get armor(): number;
27
+ /** Check if the player is dead */
28
+ get isDead(): boolean;
29
+ /** Check if player is in water */
30
+ get isInWater(): boolean;
31
+ /** Check if player is swimming */
32
+ get isSwimming(): boolean;
33
+ /** Check if player is falling */
34
+ get isFalling(): boolean;
35
+ /** Check if player is climbing */
36
+ get isClimbing(): boolean;
37
+ /** Check if player is ragdolling */
38
+ get isRagdoll(): boolean;
39
+ /** Check if player is parachuting */
40
+ get isParachuting(): boolean;
41
+ /** Check if player is in any vehicle */
42
+ get isInVehicle(): boolean;
43
+ /** Get current vehicle handle (or null if not in vehicle) */
44
+ get currentVehicle(): number | null;
45
+ /** Get last vehicle the player was in */
46
+ get lastVehicle(): number | null;
47
+ /** Check if player is the driver of current vehicle */
48
+ get isDriver(): boolean;
49
+ /** Get current vehicle seat index (-1 = driver, 0+ = passengers) */
50
+ get vehicleSeat(): number | null;
51
+ /** Check if player is shooting */
52
+ get isShooting(): boolean;
53
+ /** Check if player is aiming */
54
+ get isAiming(): boolean;
55
+ /** Check if player is reloading */
56
+ get isReloading(): boolean;
57
+ /** Check if player is in cover */
58
+ get isInCover(): boolean;
59
+ /** Check if player is in melee combat */
60
+ get isInMeleeCombat(): boolean;
61
+ /** Get currently equipped weapon hash */
62
+ get currentWeapon(): number;
63
+ /** Get ammo count for current weapon */
64
+ get currentWeaponAmmo(): number;
65
+ /** Check if player is walking */
66
+ get isWalking(): boolean;
67
+ /** Check if player is running */
68
+ get isRunning(): boolean;
69
+ /** Check if player is sprinting */
70
+ get isSprinting(): boolean;
71
+ /** Check if player is on foot */
72
+ get isOnFoot(): boolean;
73
+ /** Check if player is stationary */
74
+ get isStill(): boolean;
75
+ /** Get movement speed in m/s */
76
+ get speed(): number;
77
+ /**
78
+ * Set player health.
79
+ * @param value - Health value (100 = dead, 200 = full)
80
+ */
81
+ setHealth(value: number): void;
82
+ /**
83
+ * Set player armor.
84
+ * @param value - Armor value (0-100)
85
+ */
86
+ setArmor(value: number): void;
87
+ /**
88
+ * Heal the player to full health and armor.
89
+ */
90
+ heal(): void;
91
+ /**
92
+ * Revive the player at current position.
93
+ */
94
+ revive(): void;
95
+ /**
96
+ * Set player coordinates.
97
+ * @param vector3 - Target position
98
+ * @param heading - Optional heading
99
+ */
100
+ setCoords(vector3: Vector3, heading?: number): void;
101
+ /**
102
+ * Set player heading/rotation.
103
+ * @param heading - Heading in degrees
104
+ */
105
+ setHeading(heading: number): void;
106
+ /**
107
+ * Freeze/unfreeze the player in place.
108
+ * @param freeze - Whether to freeze
109
+ */
110
+ freeze(freeze: boolean): void;
111
+ /**
112
+ * Set player invincibility.
113
+ * @param invincible - Whether invincible
114
+ */
115
+ setInvincible(invincible: boolean): void;
116
+ /**
117
+ * Set player visibility.
118
+ * @param visible - Whether visible
119
+ */
120
+ setVisible(visible: boolean): void;
121
+ /**
122
+ * Set player alpha/transparency.
123
+ * @param alpha - Alpha value (0-255)
124
+ */
125
+ setAlpha(alpha: number): void;
126
+ /**
127
+ * Give a weapon to the player.
128
+ * @param weapon - Weapon name (e.g., 'WEAPON_PISTOL')
129
+ * @param ammo - Ammo count
130
+ * @param equipNow - Whether to equip immediately
131
+ */
132
+ giveWeapon(weapon: string, ammo?: number, equipNow?: boolean): void;
133
+ /**
134
+ * Remove a weapon from the player.
135
+ * @param weapon - Weapon name
136
+ */
137
+ removeWeapon(weapon: string): void;
138
+ /**
139
+ * Remove all weapons from the player.
140
+ */
141
+ removeAllWeapons(): void;
142
+ /**
143
+ * Set current weapon ammo.
144
+ * @param weapon - Weapon name
145
+ * @param ammo - Ammo count
146
+ */
147
+ setWeaponAmmo(weapon: string, ammo: number): void;
148
+ /**
149
+ * Check if player has a specific weapon.
150
+ * @param weapon - Weapon name
151
+ */
152
+ hasWeapon(weapon: string): boolean;
153
+ /**
154
+ * Play an animation on the player.
155
+ * @param dict - Animation dictionary
156
+ * @param name - Animation name
157
+ * @param duration - Duration (-1 for looped)
158
+ * @param flags - Animation flags
159
+ */
160
+ playAnimation(dict: string, name: string, duration?: number, flags?: number): Promise<void>;
161
+ /**
162
+ * Stop current animation.
163
+ */
164
+ stopAnimation(): void;
165
+ /**
166
+ * Stop animation immediately.
167
+ */
168
+ stopAnimationImmediately(): void;
169
+ /**
170
+ * Check if player is playing a specific animation.
171
+ * @param dict - Animation dictionary
172
+ * @param name - Animation name
173
+ */
174
+ isPlayingAnimation(dict: string, name: string): boolean;
175
+ /**
176
+ * Warp player into a vehicle.
177
+ * @param vehicle - Vehicle handle
178
+ * @param seat - Seat index (-1 = driver)
179
+ */
180
+ warpIntoVehicle(vehicle: number, seat?: number): void;
181
+ /**
182
+ * Task player to exit current vehicle.
183
+ * @param flags - Exit flags (0 = normal, 16 = immediately)
184
+ */
185
+ exitVehicle(flags?: number): void;
186
+ /**
187
+ * Set can ragdoll.
188
+ * @param canRagdoll - Whether player can ragdoll
189
+ */
190
+ setCanRagdoll(canRagdoll: boolean): void;
191
+ /**
192
+ * Set ped config flag.
193
+ * @param flag - Flag ID
194
+ * @param value - Flag value
195
+ */
196
+ setConfigFlag(flag: number, value: boolean): void;
197
+ /**
198
+ * Get ped config flag.
199
+ * @param flag - Flag ID
200
+ */
201
+ getConfigFlag(flag: number): boolean;
202
+ /**
203
+ * Set a metadata value.
204
+ * @param key - Meta key
205
+ * @param value - Meta value
206
+ */
207
+ setMeta(key: string, value: unknown): void;
208
+ /**
209
+ * Get a metadata value.
210
+ * @param key - Meta key
211
+ */
212
+ getMeta<T = unknown>(key: string): T | undefined;
213
+ /**
214
+ * Delete a metadata value.
215
+ * @param key - Meta key
216
+ */
217
+ deleteMeta(key: string): void;
218
+ /**
219
+ * Get all metadata.
220
+ */
221
+ getAllMeta(): PlayerSessionMeta;
222
+ /**
223
+ * Clear all metadata.
224
+ */
225
+ clearMeta(): void;
226
+ /**
227
+ * Get distance to a position.
228
+ * @param position - Target position
229
+ */
230
+ distanceTo(position: Vector3): number;
231
+ /**
232
+ * Check if player is within range of a position.
233
+ * @param position - Target position
234
+ * @param range - Maximum range
235
+ */
236
+ isNearPosition(position: Vector3, range: number): boolean;
237
+ /**
238
+ * Get the entity the player is looking at.
239
+ * @param maxDistance - Maximum detection distance
240
+ */
241
+ getEntityLookingAt(maxDistance?: number): number | null;
242
+ /**
243
+ * Disable a control action.
244
+ * @param control - Control ID
245
+ * @param padIndex - Pad index (usually 0)
246
+ */
247
+ disableControl(control: number, padIndex?: number): void;
248
+ /**
249
+ * Check if a control is pressed.
250
+ * @param control - Control ID
251
+ * @param padIndex - Pad index (usually 0)
252
+ */
253
+ isControlPressed(control: number, padIndex?: number): boolean;
254
+ /**
255
+ * Check if a control was just pressed.
256
+ * @param control - Control ID
257
+ * @param padIndex - Pad index (usually 0)
258
+ */
259
+ isControlJustPressed(control: number, padIndex?: number): boolean;
260
+ }
261
+ export declare const ClientPlayer: Player;
262
+ export {};