@open-core/framework 1.0.4-beta.1 → 1.0.5-beta.2

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 (964) hide show
  1. package/LICENSE +373 -373
  2. package/README.md +196 -268
  3. package/dist/adapters/contracts/IEngineEvents.d.ts +23 -0
  4. package/dist/adapters/contracts/IEngineEvents.js +9 -0
  5. package/dist/adapters/contracts/IExports.d.ts +4 -0
  6. package/dist/adapters/contracts/IExports.js +2 -0
  7. package/dist/adapters/contracts/IHasher.d.ts +15 -0
  8. package/dist/adapters/contracts/IHasher.js +8 -0
  9. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  10. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  11. package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
  12. package/dist/adapters/contracts/IPlayerInfo.js +2 -0
  13. package/dist/adapters/contracts/IResourceInfo.d.ts +4 -0
  14. package/dist/adapters/contracts/IResourceInfo.js +2 -0
  15. package/dist/adapters/contracts/ITick.d.ts +10 -0
  16. package/dist/adapters/contracts/ITick.js +5 -0
  17. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
  18. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
  19. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  20. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  21. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  22. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  23. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  24. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  25. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  26. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  27. package/dist/adapters/contracts/client/index.d.ts +7 -0
  28. package/dist/adapters/contracts/client/index.js +7 -0
  29. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
  30. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
  31. package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
  32. package/dist/adapters/contracts/client/spawn/index.js +2 -0
  33. package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
  34. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  35. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  36. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  37. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  38. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  39. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  40. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  41. package/dist/adapters/contracts/client/ui/index.js +4 -0
  42. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
  43. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  44. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  45. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  46. package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
  47. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  48. package/dist/adapters/contracts/index.d.ts +4 -0
  49. package/dist/adapters/contracts/index.js +4 -0
  50. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  51. package/dist/adapters/contracts/runtime/index.js +1 -0
  52. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  53. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  54. package/dist/adapters/contracts/server/IEntityServer.d.ts +164 -0
  55. package/dist/adapters/contracts/server/IEntityServer.js +9 -0
  56. package/dist/adapters/contracts/server/IPedAppearanceServer.d.ts +45 -0
  57. package/dist/adapters/contracts/server/IPedAppearanceServer.js +12 -0
  58. package/dist/adapters/contracts/server/IPedServer.d.ts +29 -0
  59. package/dist/adapters/contracts/server/IPedServer.js +8 -0
  60. package/dist/adapters/contracts/server/IPlayerServer.d.ts +98 -0
  61. package/dist/adapters/contracts/server/IPlayerServer.js +9 -0
  62. package/dist/adapters/contracts/server/IVehicleServer.d.ts +55 -0
  63. package/dist/adapters/contracts/server/IVehicleServer.js +9 -0
  64. package/dist/adapters/contracts/server/index.d.ts +10 -0
  65. package/dist/adapters/contracts/server/index.js +10 -0
  66. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  67. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  68. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  69. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  70. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  71. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  72. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  73. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  74. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  75. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  76. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  77. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  78. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  79. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  80. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  81. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  82. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  83. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  84. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  85. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  86. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  87. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  88. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  89. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  90. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  91. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  92. package/dist/adapters/contracts/transport/context.d.ts +5 -0
  93. package/dist/adapters/contracts/transport/context.js +0 -0
  94. package/dist/adapters/contracts/transport/events.api.d.ts +36 -0
  95. package/dist/adapters/contracts/transport/events.api.js +5 -0
  96. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  97. package/dist/adapters/contracts/transport/index.js +4 -0
  98. package/dist/adapters/contracts/transport/messaging.transport.d.ts +8 -0
  99. package/dist/adapters/contracts/transport/messaging.transport.js +2 -0
  100. package/dist/adapters/contracts/transport/rpc.api.d.ts +66 -0
  101. package/dist/adapters/contracts/transport/rpc.api.js +20 -0
  102. package/dist/adapters/contracts/types/identifier.d.ts +67 -0
  103. package/dist/adapters/contracts/types/identifier.js +58 -0
  104. package/dist/adapters/contracts/types/index.d.ts +1 -0
  105. package/dist/adapters/contracts/types/index.js +1 -0
  106. package/dist/adapters/index.d.ts +10 -0
  107. package/dist/adapters/index.js +15 -0
  108. package/dist/adapters/node/index.d.ts +16 -0
  109. package/dist/adapters/node/index.js +18 -0
  110. package/dist/adapters/node/node-capabilities.d.ts +19 -0
  111. package/dist/adapters/node/node-capabilities.js +36 -0
  112. package/dist/adapters/node/node-engine-events.d.ts +20 -0
  113. package/dist/adapters/node/node-engine-events.js +41 -0
  114. package/dist/adapters/node/node-entity-server.d.ts +37 -0
  115. package/dist/adapters/node/node-entity-server.js +118 -0
  116. package/dist/adapters/node/node-exports.d.ts +26 -0
  117. package/dist/adapters/node/node-exports.js +58 -0
  118. package/dist/adapters/node/node-hasher.d.ts +12 -0
  119. package/dist/adapters/node/node-hasher.js +36 -0
  120. package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
  121. package/dist/adapters/node/node-ped-appearance-client.js +55 -0
  122. package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
  123. package/dist/adapters/node/node-ped-appearance-server.js +14 -0
  124. package/dist/adapters/node/node-ped-server.d.ts +13 -0
  125. package/dist/adapters/node/node-ped-server.js +45 -0
  126. package/dist/adapters/node/node-platform.d.ts +5 -0
  127. package/dist/adapters/node/node-platform.js +76 -0
  128. package/dist/adapters/node/node-player-server.d.ts +45 -0
  129. package/dist/adapters/node/node-player-server.js +111 -0
  130. package/dist/adapters/node/node-playerinfo.d.ts +6 -0
  131. package/dist/adapters/node/node-playerinfo.js +20 -0
  132. package/dist/adapters/node/node-resourceinfo.d.ts +13 -0
  133. package/dist/adapters/node/node-resourceinfo.js +27 -0
  134. package/dist/adapters/node/node-tick.d.ts +10 -0
  135. package/dist/adapters/node/node-tick.js +41 -0
  136. package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
  137. package/dist/adapters/node/node-vehicle-server.js +84 -0
  138. package/dist/adapters/node/transport/adapter.d.ts +10 -0
  139. package/dist/adapters/node/transport/adapter.js +14 -0
  140. package/dist/adapters/node/transport/node.events.d.ts +14 -0
  141. package/dist/adapters/node/transport/node.events.js +38 -0
  142. package/dist/adapters/node/transport/node.rpc.d.ts +18 -0
  143. package/dist/adapters/node/transport/node.rpc.js +71 -0
  144. package/dist/adapters/platform/index.d.ts +1 -0
  145. package/dist/adapters/platform/index.js +1 -0
  146. package/dist/adapters/platform/platform-registry.d.ts +101 -0
  147. package/dist/adapters/platform/platform-registry.js +113 -0
  148. package/dist/adapters/register-capabilities.d.ts +61 -0
  149. package/dist/adapters/register-capabilities.js +76 -0
  150. package/dist/adapters/register-client-capabilities.d.ts +9 -0
  151. package/dist/adapters/register-client-capabilities.js +33 -0
  152. package/dist/contracts/client.d.ts +5 -0
  153. package/dist/contracts/client.js +5 -0
  154. package/dist/contracts/server.d.ts +19 -0
  155. package/dist/contracts/server.js +19 -0
  156. package/dist/contracts.d.ts +4 -0
  157. package/dist/contracts.js +4 -0
  158. package/dist/index.d.ts +3 -4
  159. package/dist/index.js +4 -41
  160. package/dist/kernel/di/class-constructor.js +0 -0
  161. package/dist/kernel/di/container.d.ts +5 -0
  162. package/dist/kernel/di/container.js +6 -0
  163. package/dist/kernel/di/decorator-processor.js +0 -0
  164. package/dist/kernel/di/index.d.ts +4 -0
  165. package/dist/kernel/di/index.js +4 -0
  166. package/dist/kernel/di/metadata.scanner.d.ts +7 -0
  167. package/dist/kernel/di/metadata.scanner.js +61 -0
  168. package/dist/kernel/error/app.error.d.ts +9 -0
  169. package/dist/kernel/error/app.error.js +15 -0
  170. package/dist/kernel/error/common.error-codes.d.ts +1 -0
  171. package/dist/kernel/error/common.error-codes.js +0 -0
  172. package/dist/kernel/error/framework.error-codes.d.ts +12 -0
  173. package/dist/kernel/error/framework.error-codes.js +0 -0
  174. package/dist/kernel/error/index.d.ts +4 -0
  175. package/dist/kernel/error/index.js +2 -0
  176. package/dist/kernel/error/security.error.d.ts +6 -0
  177. package/dist/kernel/error/security.error.js +9 -0
  178. package/dist/kernel/error/security.types.js +0 -0
  179. package/dist/kernel/index.d.ts +6 -0
  180. package/dist/kernel/index.js +7 -0
  181. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  182. package/dist/kernel/logger/client-log-console.js +43 -0
  183. package/dist/kernel/logger/core-logger.d.ts +33 -0
  184. package/dist/kernel/logger/core-logger.js +68 -0
  185. package/dist/kernel/logger/index.d.ts +16 -0
  186. package/dist/kernel/logger/index.js +13 -0
  187. package/dist/kernel/logger/logger.config.d.ts +47 -0
  188. package/dist/kernel/logger/logger.config.js +32 -0
  189. package/dist/kernel/logger/logger.env.d.ts +35 -0
  190. package/dist/kernel/logger/logger.env.js +59 -0
  191. package/dist/kernel/logger/logger.service.d.ts +175 -0
  192. package/dist/kernel/logger/logger.service.js +301 -0
  193. package/dist/kernel/logger/logger.types.js +70 -0
  194. package/dist/kernel/logger/transports/buffered.transport.d.ts +88 -0
  195. package/dist/kernel/logger/transports/buffered.transport.js +154 -0
  196. package/dist/kernel/logger/transports/console.transport.d.ts +37 -0
  197. package/dist/kernel/logger/transports/console.transport.js +121 -0
  198. package/dist/kernel/logger/transports/dev-transport.factory.d.ts +75 -0
  199. package/dist/kernel/logger/transports/dev-transport.factory.js +101 -0
  200. package/dist/kernel/logger/transports/http.transport.d.ts +67 -0
  201. package/dist/kernel/logger/transports/http.transport.js +168 -0
  202. package/dist/kernel/logger/transports/index.d.ts +7 -0
  203. package/dist/kernel/logger/transports/index.js +7 -0
  204. package/dist/kernel/logger/transports/simple-console.transport.d.ts +38 -0
  205. package/dist/kernel/logger/transports/simple-console.transport.js +84 -0
  206. package/dist/kernel/logger/transports/transport.interface.d.ts +40 -0
  207. package/dist/kernel/logger/transports/transport.interface.js +0 -0
  208. package/dist/kernel/logger/transports/websocket.transport.d.ts +69 -0
  209. package/dist/kernel/logger/transports/websocket.transport.js +164 -0
  210. package/dist/kernel/schema/index.d.ts +32 -0
  211. package/dist/kernel/schema/index.js +4 -0
  212. package/dist/kernel/shared/index.d.ts +1 -0
  213. package/dist/kernel/shared/index.js +1 -0
  214. package/dist/kernel/shared/player-appearance.types.d.ts +276 -0
  215. package/dist/kernel/shared/player-appearance.types.js +74 -0
  216. package/dist/kernel/utils/index.d.ts +3 -0
  217. package/dist/kernel/utils/index.js +3 -0
  218. package/dist/kernel/utils/result.d.ts +12 -0
  219. package/dist/kernel/utils/result.js +6 -0
  220. package/dist/kernel/utils/rgb.d.ts +17 -0
  221. package/dist/kernel/utils/rgb.js +61 -0
  222. package/dist/kernel/utils/vector3.d.ts +14 -0
  223. package/dist/kernel/utils/vector3.js +24 -0
  224. package/dist/kernel-public.d.ts +1 -0
  225. package/dist/kernel-public.js +1 -0
  226. package/dist/runtime/client/.opencore/autoload.client.controllers.d.ts +1 -0
  227. package/dist/runtime/client/.opencore/autoload.client.controllers.js +0 -0
  228. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  229. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  230. package/dist/runtime/client/adapter/index.d.ts +15 -0
  231. package/dist/runtime/client/adapter/index.js +15 -0
  232. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  233. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  234. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  235. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  236. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  237. package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
  238. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
  239. package/dist/runtime/client/adapter/node-local-player-bridge.js +18 -0
  240. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  241. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  242. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  243. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  244. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  245. package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
  246. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  247. package/dist/runtime/client/adapter/node-platform-bridge.js +14 -0
  248. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
  249. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  250. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  251. package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
  252. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
  253. package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
  254. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  255. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  256. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  257. package/dist/runtime/client/adapter/registry.js +85 -0
  258. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  259. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  260. package/dist/runtime/client/api.d.ts +9 -0
  261. package/dist/runtime/client/api.js +9 -0
  262. package/dist/runtime/client/bus/library-event.bus.d.ts +5 -0
  263. package/dist/runtime/client/bus/library-event.bus.js +28 -0
  264. package/dist/runtime/client/client-api-runtime.d.ts +7 -0
  265. package/dist/runtime/client/client-api-runtime.js +34 -0
  266. package/dist/runtime/client/client-bootstrap.d.ts +7 -0
  267. package/dist/runtime/client/client-bootstrap.js +167 -0
  268. package/dist/runtime/client/client-container.js +3 -0
  269. package/dist/runtime/client/client-core.d.ts +21 -0
  270. package/dist/runtime/client/client-core.js +32 -0
  271. package/dist/runtime/client/client-runtime.d.ts +66 -0
  272. package/dist/runtime/client/client-runtime.js +24 -0
  273. package/dist/runtime/client/controllers/appearance.controller.d.ts +10 -0
  274. package/dist/runtime/client/controllers/appearance.controller.js +58 -0
  275. package/dist/runtime/client/controllers/spawner.controller.d.ts +12 -0
  276. package/dist/runtime/client/controllers/spawner.controller.js +51 -0
  277. package/dist/runtime/client/decorators/controller.d.ts +20 -0
  278. package/dist/runtime/client/decorators/controller.js +54 -0
  279. package/dist/runtime/client/decorators/export.d.ts +21 -0
  280. package/dist/runtime/client/decorators/export.js +26 -0
  281. package/dist/runtime/client/decorators/gameEvent.d.ts +47 -0
  282. package/dist/runtime/client/decorators/gameEvent.js +50 -0
  283. package/dist/runtime/client/decorators/index.d.ts +13 -0
  284. package/dist/runtime/client/decorators/index.js +13 -0
  285. package/dist/runtime/client/decorators/interval.d.ts +23 -0
  286. package/dist/runtime/client/decorators/interval.js +28 -0
  287. package/dist/runtime/client/decorators/key.d.ts +23 -0
  288. package/dist/runtime/client/decorators/key.js +28 -0
  289. package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
  290. package/dist/runtime/client/decorators/localEvent.js +26 -0
  291. package/dist/runtime/client/decorators/onLibraryEvent.d.ts +17 -0
  292. package/dist/runtime/client/decorators/onLibraryEvent.js +22 -0
  293. package/dist/runtime/client/decorators/onNet.d.ts +21 -0
  294. package/dist/runtime/client/decorators/onNet.js +26 -0
  295. package/dist/runtime/client/decorators/onRPC.d.ts +41 -0
  296. package/dist/runtime/client/decorators/onRPC.js +40 -0
  297. package/dist/runtime/client/decorators/onTick.d.ts +21 -0
  298. package/dist/runtime/client/decorators/onTick.js +26 -0
  299. package/dist/runtime/client/decorators/onView.d.ts +21 -0
  300. package/dist/runtime/client/decorators/onView.js +26 -0
  301. package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
  302. package/dist/runtime/client/decorators/resourceLifecycle.js +49 -0
  303. package/dist/runtime/client/index.d.ts +5 -0
  304. package/dist/runtime/client/index.js +3 -0
  305. package/dist/runtime/client/library/create-client-library.d.ts +13 -0
  306. package/dist/runtime/client/library/create-client-library.js +53 -0
  307. package/dist/runtime/client/library/index.d.ts +4 -0
  308. package/dist/runtime/client/library/index.js +2 -0
  309. package/dist/runtime/client/library/plugin/client-plugin-api.d.ts +5 -0
  310. package/dist/runtime/client/library/plugin/client-plugin-api.js +0 -0
  311. package/dist/runtime/client/library/plugin/index.d.ts +4 -0
  312. package/dist/runtime/client/library/plugin/index.js +4 -0
  313. package/dist/runtime/client/library/plugin/install-client-plugins.d.ts +3 -0
  314. package/dist/runtime/client/library/plugin/install-client-plugins.js +35 -0
  315. package/dist/runtime/client/library/plugin/plugin-context.d.ts +10 -0
  316. package/dist/runtime/client/library/plugin/plugin-context.js +0 -0
  317. package/dist/runtime/client/library/plugin/plugin-registry.d.ts +6 -0
  318. package/dist/runtime/client/library/plugin/plugin-registry.js +12 -0
  319. package/dist/runtime/client/library/plugin/plugin.interface.d.ts +11 -0
  320. package/dist/runtime/client/library/plugin/plugin.interface.js +0 -0
  321. package/dist/runtime/client/services/appearance.service.d.ts +132 -0
  322. package/dist/runtime/client/services/appearance.service.js +333 -0
  323. package/dist/runtime/client/services/blip.service.d.ts +25 -0
  324. package/dist/runtime/client/services/blip.service.js +114 -0
  325. package/dist/runtime/client/services/camera-effects.registry.d.ts +97 -0
  326. package/dist/runtime/client/services/camera-effects.registry.js +158 -0
  327. package/dist/runtime/client/services/camera.d.ts +49 -0
  328. package/dist/runtime/client/services/camera.js +102 -0
  329. package/dist/runtime/client/services/cinematic-builder.d.ts +107 -0
  330. package/dist/runtime/client/services/cinematic-builder.js +467 -0
  331. package/dist/runtime/client/services/cinematic.d.ts +288 -0
  332. package/dist/runtime/client/services/cinematic.js +798 -0
  333. package/dist/runtime/client/services/index.d.ts +15 -0
  334. package/dist/runtime/client/services/index.js +15 -0
  335. package/dist/runtime/client/services/marker.service.d.ts +43 -0
  336. package/dist/runtime/client/services/marker.service.js +113 -0
  337. package/dist/runtime/client/services/notification.service.d.ts +25 -0
  338. package/dist/runtime/client/services/notification.service.js +70 -0
  339. package/dist/runtime/client/services/ped.service.d.ts +55 -0
  340. package/dist/runtime/client/services/ped.service.js +166 -0
  341. package/dist/runtime/client/services/progress.service.d.ts +57 -0
  342. package/dist/runtime/client/services/progress.service.js +173 -0
  343. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  344. package/dist/runtime/client/services/session-bridge.service.js +61 -0
  345. package/dist/runtime/client/services/spawn.service.d.ts +23 -0
  346. package/dist/runtime/client/services/spawn.service.js +98 -0
  347. package/dist/runtime/client/services/streaming.service.d.ts +44 -0
  348. package/dist/runtime/client/services/streaming.service.js +186 -0
  349. package/dist/runtime/client/services/textui.service.d.ts +42 -0
  350. package/dist/runtime/client/services/textui.service.js +127 -0
  351. package/dist/runtime/client/services/vehicle-client.service.d.ts +43 -0
  352. package/dist/runtime/client/services/vehicle-client.service.js +337 -0
  353. package/dist/runtime/client/services/vehicle.service.d.ts +62 -0
  354. package/dist/runtime/client/services/vehicle.service.js +193 -0
  355. package/dist/runtime/client/system/metadata-client.keys.d.ts +15 -0
  356. package/dist/runtime/client/system/metadata-client.keys.js +15 -0
  357. package/dist/runtime/client/system/processors/export.processor.d.ts +10 -0
  358. package/dist/runtime/client/system/processors/export.processor.js +47 -0
  359. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +13 -0
  360. package/dist/runtime/client/system/processors/gameEvent.processor.js +66 -0
  361. package/dist/runtime/client/system/processors/interval.processor.d.ts +10 -0
  362. package/dist/runtime/client/system/processors/interval.processor.js +51 -0
  363. package/dist/runtime/client/system/processors/key.processor.d.ts +11 -0
  364. package/dist/runtime/client/system/processors/key.processor.js +35 -0
  365. package/dist/runtime/client/system/processors/libraryEvent.processor.d.ts +6 -0
  366. package/dist/runtime/client/system/processors/libraryEvent.processor.js +36 -0
  367. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +10 -0
  368. package/dist/runtime/client/system/processors/localEvent.processor.js +46 -0
  369. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +10 -0
  370. package/dist/runtime/client/system/processors/netEvent.processor.js +46 -0
  371. package/dist/runtime/client/system/processors/onRpc.processor.d.ts +9 -0
  372. package/dist/runtime/client/system/processors/onRpc.processor.js +62 -0
  373. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +14 -0
  374. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +81 -0
  375. package/dist/runtime/client/system/processors/tick.processor.d.ts +8 -0
  376. package/dist/runtime/client/system/processors/tick.processor.js +45 -0
  377. package/dist/runtime/client/system/processors/view.processor.d.ts +10 -0
  378. package/dist/runtime/client/system/processors/view.processor.js +47 -0
  379. package/dist/runtime/client/system/processors.register.d.ts +2 -0
  380. package/dist/runtime/client/system/processors.register.js +36 -0
  381. package/dist/runtime/client/types/game-events.d.ts +128 -0
  382. package/dist/runtime/client/types/game-events.js +72 -0
  383. package/dist/runtime/client/types/index.js +1 -0
  384. package/dist/runtime/client/ui-bridge.d.ts +4 -0
  385. package/dist/runtime/client/ui-bridge.js +4 -0
  386. package/dist/runtime/client/webview-bridge.d.ts +31 -0
  387. package/dist/runtime/client/webview-bridge.js +97 -0
  388. package/dist/runtime/client/webview.service.d.ts +14 -0
  389. package/dist/runtime/client/webview.service.js +98 -0
  390. package/dist/runtime/core/entity.d.ts +168 -0
  391. package/dist/runtime/core/entity.js +232 -0
  392. package/dist/runtime/core/index.d.ts +5 -0
  393. package/dist/runtime/core/index.js +5 -0
  394. package/dist/runtime/core/library/create-library-base.d.ts +15 -0
  395. package/dist/runtime/core/library/create-library-base.js +27 -0
  396. package/dist/runtime/core/library/index.d.ts +5 -0
  397. package/dist/runtime/core/library/index.js +4 -0
  398. package/dist/runtime/core/library/library-bus.d.ts +9 -0
  399. package/dist/runtime/core/library/library-bus.js +46 -0
  400. package/dist/runtime/core/library/library-config.d.ts +10 -0
  401. package/dist/runtime/core/library/library-config.js +12 -0
  402. package/dist/runtime/core/library/library-event-id.d.ts +8 -0
  403. package/dist/runtime/core/library/library-event-id.js +9 -0
  404. package/dist/runtime/core/library/types.d.ts +146 -0
  405. package/dist/runtime/core/library/types.js +0 -0
  406. package/dist/runtime/core/nativehandle.d.ts +3 -0
  407. package/dist/runtime/core/nativehandle.js +0 -0
  408. package/dist/runtime/core/spatial.d.ts +7 -0
  409. package/dist/runtime/core/spatial.js +0 -0
  410. package/dist/runtime/core/world.d.ts +13 -0
  411. package/dist/runtime/core/world.js +57 -0
  412. package/dist/runtime/server/.opencore/autoload.server.controllers.d.ts +1 -0
  413. package/dist/runtime/server/.opencore/autoload.server.controllers.js +0 -0
  414. package/dist/runtime/server/adapter/index.d.ts +5 -0
  415. package/dist/runtime/server/adapter/index.js +5 -0
  416. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  417. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  418. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  419. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
  420. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  421. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
  422. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  423. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  424. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  425. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  426. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  427. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
  428. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  429. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  430. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  431. package/dist/runtime/server/adapter/registry.js +101 -0
  432. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  433. package/dist/runtime/server/adapter/serialization.js +9 -0
  434. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  435. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  436. package/dist/runtime/server/api.d.ts +16 -0
  437. package/dist/runtime/server/api.js +22 -0
  438. package/dist/runtime/server/apis/appearance.api.d.ts +43 -0
  439. package/dist/runtime/server/apis/appearance.api.js +79 -0
  440. package/dist/runtime/server/apis/chat.api.d.ts +69 -0
  441. package/dist/runtime/server/apis/chat.api.js +129 -0
  442. package/dist/runtime/server/apis/index.d.ts +6 -0
  443. package/dist/runtime/server/apis/index.js +6 -0
  444. package/dist/runtime/server/apis/npcs.api.d.ts +212 -0
  445. package/dist/runtime/server/apis/npcs.api.js +435 -0
  446. package/dist/runtime/server/apis/parallel-compute.api.d.ts +118 -0
  447. package/dist/runtime/server/apis/parallel-compute.api.js +423 -0
  448. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +96 -0
  449. package/dist/runtime/server/apis/vehicle-modification.api.js +313 -0
  450. package/dist/runtime/server/apis/vehicles.api.d.ts +146 -0
  451. package/dist/runtime/server/apis/vehicles.api.js +398 -0
  452. package/dist/runtime/server/bootstrap.d.ts +21 -0
  453. package/dist/runtime/server/bootstrap.js +318 -0
  454. package/dist/runtime/server/bus/internal-event.bus.d.ts +6 -0
  455. package/dist/runtime/server/bus/internal-event.bus.js +30 -0
  456. package/dist/runtime/server/bus/library-event.bus.d.ts +5 -0
  457. package/dist/runtime/server/bus/library-event.bus.js +27 -0
  458. package/dist/runtime/server/concepts/channel.d.ts +29 -0
  459. package/dist/runtime/server/concepts/channel.js +70 -0
  460. package/dist/runtime/server/contracts/index.d.ts +6 -0
  461. package/dist/runtime/server/contracts/index.js +8 -0
  462. package/dist/runtime/server/contracts/player-persistence.contract.d.ts +84 -0
  463. package/dist/runtime/server/contracts/player-persistence.contract.js +46 -0
  464. package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
  465. package/dist/runtime/server/contracts/security/command-error-observer.contract.js +5 -0
  466. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
  467. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +2 -0
  468. package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +43 -0
  469. package/dist/runtime/server/contracts/security/principal-provider.contract.js +15 -0
  470. package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +5 -0
  471. package/dist/runtime/server/contracts/security/security-handler.contract.js +2 -0
  472. package/dist/runtime/server/controllers/channel.controller.d.ts +115 -0
  473. package/dist/runtime/server/controllers/channel.controller.js +374 -0
  474. package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
  475. package/dist/runtime/server/controllers/chat.controller.js +67 -0
  476. package/dist/runtime/server/controllers/command-export.controller.d.ts +83 -0
  477. package/dist/runtime/server/controllers/command-export.controller.js +331 -0
  478. package/dist/runtime/server/controllers/player-export.controller.d.ts +30 -0
  479. package/dist/runtime/server/controllers/player-export.controller.js +173 -0
  480. package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
  481. package/dist/runtime/server/controllers/principal-export.controller.js +292 -0
  482. package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
  483. package/dist/runtime/server/controllers/ready.controller.js +27 -0
  484. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +52 -0
  485. package/dist/runtime/server/controllers/remote-command-execution.controller.js +172 -0
  486. package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
  487. package/dist/runtime/server/controllers/session.controller.js +84 -0
  488. package/dist/runtime/server/controllers/vehicle.controller.d.ts +22 -0
  489. package/dist/runtime/server/controllers/vehicle.controller.js +73 -0
  490. package/dist/runtime/server/core.d.ts +9 -0
  491. package/dist/runtime/server/core.js +45 -0
  492. package/dist/runtime/server/decorators/binaryCall.d.ts +15 -0
  493. package/dist/runtime/server/decorators/binaryCall.js +23 -0
  494. package/dist/runtime/server/decorators/binaryEvent.d.ts +21 -0
  495. package/dist/runtime/server/decorators/binaryEvent.js +22 -0
  496. package/dist/runtime/server/decorators/binaryService.d.ts +27 -0
  497. package/dist/runtime/server/decorators/binaryService.js +71 -0
  498. package/dist/runtime/server/decorators/bind.d.ts +21 -0
  499. package/dist/runtime/server/decorators/bind.js +28 -0
  500. package/dist/runtime/server/decorators/command.d.ts +87 -0
  501. package/dist/runtime/server/decorators/command.js +36 -0
  502. package/dist/runtime/server/decorators/controller.d.ts +26 -0
  503. package/dist/runtime/server/decorators/controller.js +56 -0
  504. package/dist/runtime/server/decorators/export.d.ts +24 -0
  505. package/dist/runtime/server/decorators/export.js +29 -0
  506. package/dist/runtime/server/decorators/guard.d.ts +51 -0
  507. package/dist/runtime/server/decorators/guard.js +80 -0
  508. package/dist/runtime/server/decorators/index.d.ts +18 -0
  509. package/dist/runtime/server/decorators/index.js +18 -0
  510. package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +24 -0
  511. package/dist/runtime/server/decorators/onFrameworkEvent.js +28 -0
  512. package/dist/runtime/server/decorators/onLibraryEvent.d.ts +17 -0
  513. package/dist/runtime/server/decorators/onLibraryEvent.js +22 -0
  514. package/dist/runtime/server/decorators/onNet.d.ts +65 -0
  515. package/dist/runtime/server/decorators/onNet.js +12 -0
  516. package/dist/runtime/server/decorators/onRPC.d.ts +78 -0
  517. package/dist/runtime/server/decorators/onRPC.js +59 -0
  518. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +26 -0
  519. package/dist/runtime/server/decorators/onRuntimeEvent.js +30 -0
  520. package/dist/runtime/server/decorators/onTick.d.ts +21 -0
  521. package/dist/runtime/server/decorators/onTick.js +26 -0
  522. package/dist/runtime/server/decorators/public.d.ts +26 -0
  523. package/dist/runtime/server/decorators/public.js +32 -0
  524. package/dist/runtime/server/decorators/requiresState.d.ts +63 -0
  525. package/dist/runtime/server/decorators/requiresState.js +70 -0
  526. package/dist/runtime/server/decorators/throttle.d.ts +56 -0
  527. package/dist/runtime/server/decorators/throttle.js +73 -0
  528. package/dist/runtime/server/decorators/utils.d.ts +54 -0
  529. package/dist/runtime/server/decorators/utils.js +54 -0
  530. package/dist/runtime/server/default/default-command-error-observer.d.ts +14 -0
  531. package/dist/runtime/server/default/default-command-error-observer.js +40 -0
  532. package/dist/runtime/server/default/default-net-event-security-observer.d.ts +15 -0
  533. package/dist/runtime/server/default/default-net-event-security-observer.js +25 -0
  534. package/dist/runtime/server/default/default-principal.provider.d.ts +13 -0
  535. package/dist/runtime/server/default/default-principal.provider.js +35 -0
  536. package/dist/runtime/server/default/default-security.handler.d.ts +19 -0
  537. package/dist/runtime/server/default/default-security.handler.js +36 -0
  538. package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
  539. package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +8 -0
  540. package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
  541. package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +8 -0
  542. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
  543. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +7 -0
  544. package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
  545. package/dist/runtime/server/devmode/contracts/index.js +3 -0
  546. package/dist/runtime/server/devmode/dev-mode.service.d.ts +109 -0
  547. package/dist/runtime/server/devmode/dev-mode.service.js +290 -0
  548. package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
  549. package/dist/runtime/server/devmode/event-interceptor.service.js +233 -0
  550. package/dist/runtime/server/devmode/index.d.ts +6 -0
  551. package/dist/runtime/server/devmode/index.js +7 -0
  552. package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
  553. package/dist/runtime/server/devmode/player-simulator.service.js +199 -0
  554. package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
  555. package/dist/runtime/server/devmode/state-inspector.service.js +175 -0
  556. package/dist/runtime/server/devmode/types.d.ts +197 -0
  557. package/dist/runtime/server/devmode/types.js +22 -0
  558. package/dist/runtime/server/entities/index.d.ts +3 -0
  559. package/dist/runtime/server/entities/index.js +3 -0
  560. package/dist/runtime/server/entities/npc.d.ts +257 -0
  561. package/dist/runtime/server/entities/npc.js +307 -0
  562. package/dist/runtime/server/entities/player.d.ts +236 -0
  563. package/dist/runtime/server/entities/player.js +351 -0
  564. package/dist/runtime/server/entities/vehicle.d.ts +113 -0
  565. package/dist/runtime/server/entities/vehicle.js +245 -0
  566. package/dist/runtime/server/error-handler.d.ts +2 -0
  567. package/dist/runtime/server/error-handler.js +50 -0
  568. package/dist/runtime/server/helpers/command-validation.helper.d.ts +3 -0
  569. package/dist/runtime/server/helpers/command-validation.helper.js +73 -0
  570. package/dist/runtime/server/helpers/function-helper.d.ts +6 -0
  571. package/dist/runtime/server/helpers/function-helper.js +28 -0
  572. package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
  573. package/dist/runtime/server/helpers/normalize-app-error.js +17 -0
  574. package/dist/runtime/server/helpers/resolve-method.d.ts +5 -0
  575. package/dist/runtime/server/helpers/resolve-method.js +25 -0
  576. package/dist/runtime/server/implementations/local/channel.local.d.ts +32 -0
  577. package/dist/runtime/server/implementations/local/channel.local.js +185 -0
  578. package/dist/runtime/server/implementations/local/command.local.d.ts +57 -0
  579. package/dist/runtime/server/implementations/local/command.local.js +110 -0
  580. package/dist/runtime/server/implementations/local/player.local.d.ts +114 -0
  581. package/dist/runtime/server/implementations/local/player.local.js +216 -0
  582. package/dist/runtime/server/implementations/local/principal.local.d.ts +28 -0
  583. package/dist/runtime/server/implementations/local/principal.local.js +120 -0
  584. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +48 -0
  585. package/dist/runtime/server/implementations/remote/channel.remote.js +168 -0
  586. package/dist/runtime/server/implementations/remote/command.remote.d.ts +66 -0
  587. package/dist/runtime/server/implementations/remote/command.remote.js +159 -0
  588. package/dist/runtime/server/implementations/remote/player.remote.d.ts +62 -0
  589. package/dist/runtime/server/implementations/remote/player.remote.js +199 -0
  590. package/dist/runtime/server/implementations/remote/principal.remote.d.ts +33 -0
  591. package/dist/runtime/server/implementations/remote/principal.remote.js +97 -0
  592. package/dist/runtime/server/index.d.ts +9 -0
  593. package/dist/runtime/server/index.js +4 -0
  594. package/dist/runtime/server/library/create-server-library.d.ts +13 -0
  595. package/dist/runtime/server/library/create-server-library.js +63 -0
  596. package/dist/runtime/server/library/index.d.ts +4 -0
  597. package/dist/runtime/server/library/index.js +2 -0
  598. package/dist/runtime/server/library/plugin/index.d.ts +4 -0
  599. package/dist/runtime/server/library/plugin/index.js +4 -0
  600. package/dist/runtime/server/library/plugin/plugin-context.d.ts +10 -0
  601. package/dist/runtime/server/library/plugin/plugin-context.js +0 -0
  602. package/dist/runtime/server/library/plugin/plugin-registry.d.ts +7 -0
  603. package/dist/runtime/server/library/plugin/plugin-registry.js +25 -0
  604. package/dist/runtime/server/library/plugin/plugin.interface.d.ts +19 -0
  605. package/dist/runtime/server/library/plugin/plugin.interface.js +0 -0
  606. package/dist/runtime/server/library/plugin/server-plugin-api.d.ts +5 -0
  607. package/dist/runtime/server/library/plugin/server-plugin-api.js +0 -0
  608. package/dist/runtime/server/ports/authorization.api-port.d.ts +149 -0
  609. package/dist/runtime/server/ports/authorization.api-port.js +28 -0
  610. package/dist/runtime/server/ports/channel.api-port.d.ts +218 -0
  611. package/dist/runtime/server/ports/channel.api-port.js +2 -0
  612. package/dist/runtime/server/ports/internal/command-execution.port.d.ts +48 -0
  613. package/dist/runtime/server/ports/internal/command-execution.port.js +11 -0
  614. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.d.ts +37 -0
  615. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.js +12 -0
  616. package/dist/runtime/server/ports/players.api-port.d.ts +108 -0
  617. package/dist/runtime/server/ports/players.api-port.js +19 -0
  618. package/dist/runtime/server/runtime.d.ts +195 -0
  619. package/dist/runtime/server/runtime.js +197 -0
  620. package/dist/runtime/server/server.runtime.d.ts +7 -0
  621. package/dist/runtime/server/server.runtime.js +34 -0
  622. package/dist/runtime/server/services/appearance.service.d.ts +4 -0
  623. package/dist/runtime/server/services/appearance.service.js +130 -0
  624. package/dist/runtime/server/services/index.d.ts +6 -0
  625. package/dist/runtime/server/services/index.js +6 -0
  626. package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
  627. package/dist/runtime/server/services/parallel/native-worker.entry.js +10 -0
  628. package/dist/runtime/server/services/parallel/worker-pool.d.ts +79 -0
  629. package/dist/runtime/server/services/parallel/worker-pool.js +428 -0
  630. package/dist/runtime/server/services/parallel/worker.d.ts +22 -0
  631. package/dist/runtime/server/services/parallel/worker.js +48 -0
  632. package/dist/runtime/server/services/persistence.service.d.ts +59 -0
  633. package/dist/runtime/server/services/persistence.service.js +161 -0
  634. package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
  635. package/dist/runtime/server/services/rate-limiter.service.js +52 -0
  636. package/dist/runtime/server/services/services.register.d.ts +11 -0
  637. package/dist/runtime/server/services/services.register.js +140 -0
  638. package/dist/runtime/server/services/session-recovery.local.d.ts +39 -0
  639. package/dist/runtime/server/services/session-recovery.local.js +108 -0
  640. package/dist/runtime/server/setup.d.ts +9 -0
  641. package/dist/runtime/server/setup.js +25 -0
  642. package/dist/runtime/server/system/managers/binary-process.manager.d.ts +19 -0
  643. package/dist/runtime/server/system/managers/binary-process.manager.js +312 -0
  644. package/dist/runtime/server/system/metadata-server.keys.d.ts +18 -0
  645. package/dist/runtime/server/system/metadata-server.keys.js +18 -0
  646. package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
  647. package/dist/runtime/server/system/processors/command.processor.js +62 -0
  648. package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
  649. package/dist/runtime/server/system/processors/export.processor.js +38 -0
  650. package/dist/runtime/server/system/processors/internalEvent.processor.d.ts +7 -0
  651. package/dist/runtime/server/system/processors/internalEvent.processor.js +36 -0
  652. package/dist/runtime/server/system/processors/libraryEvent.processor.d.ts +6 -0
  653. package/dist/runtime/server/system/processors/libraryEvent.processor.js +38 -0
  654. package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
  655. package/dist/runtime/server/system/processors/netEvent.processor.js +243 -0
  656. package/dist/runtime/server/system/processors/onRpc.processor.d.ts +12 -0
  657. package/dist/runtime/server/system/processors/onRpc.processor.js +142 -0
  658. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +11 -0
  659. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +48 -0
  660. package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
  661. package/dist/runtime/server/system/processors/tick.processor.js +44 -0
  662. package/dist/runtime/server/system/processors.register.d.ts +2 -0
  663. package/dist/runtime/server/system/processors.register.js +43 -0
  664. package/dist/runtime/server/system/schema-generator.d.ts +2 -0
  665. package/dist/runtime/server/system/schema-generator.js +38 -0
  666. package/dist/runtime/server/types/channel.types.d.ts +44 -0
  667. package/dist/runtime/server/types/channel.types.js +10 -0
  668. package/dist/runtime/server/types/core-exports.types.d.ts +291 -0
  669. package/dist/runtime/server/types/core-exports.types.js +0 -0
  670. package/dist/runtime/server/types/framework-events.types.d.ts +22 -0
  671. package/dist/runtime/server/types/framework-events.types.js +0 -0
  672. package/dist/runtime/server/types/index.d.ts +9 -0
  673. package/dist/runtime/server/types/index.js +9 -0
  674. package/dist/runtime/server/types/linked-id.d.ts +6 -0
  675. package/dist/runtime/server/types/linked-id.js +0 -0
  676. package/dist/runtime/server/types/npc.types.d.ts +36 -0
  677. package/dist/runtime/server/types/npc.types.js +0 -0
  678. package/dist/runtime/server/types/parallel.types.d.ts +191 -0
  679. package/dist/runtime/server/types/parallel.types.js +5 -0
  680. package/dist/runtime/server/types/player-session.types.d.ts +11 -0
  681. package/dist/runtime/server/types/player-session.types.js +0 -0
  682. package/dist/runtime/server/types/principal.type.d.ts +32 -0
  683. package/dist/runtime/server/types/principal.type.js +0 -0
  684. package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
  685. package/dist/runtime/server/types/vehicle.types.js +0 -0
  686. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  687. package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
  688. package/package.json +61 -46
  689. package/dist/client/client-bootstrap.d.ts +0 -1
  690. package/dist/client/client-bootstrap.js +0 -50
  691. package/dist/client/client-container.js +0 -6
  692. package/dist/client/client-core.d.ts +0 -1
  693. package/dist/client/client-core.js +0 -7
  694. package/dist/client/controllers/spawner.controller.d.ts +0 -12
  695. package/dist/client/controllers/spawner.controller.js +0 -51
  696. package/dist/client/decorators/controller.d.ts +0 -3
  697. package/dist/client/decorators/controller.js +0 -14
  698. package/dist/client/decorators/export.d.ts +0 -7
  699. package/dist/client/decorators/export.js +0 -15
  700. package/dist/client/decorators/gameEvent.d.ts +0 -47
  701. package/dist/client/decorators/gameEvent.js +0 -54
  702. package/dist/client/decorators/index.d.ts +0 -10
  703. package/dist/client/decorators/index.js +0 -26
  704. package/dist/client/decorators/interval.d.ts +0 -7
  705. package/dist/client/decorators/interval.js +0 -15
  706. package/dist/client/decorators/key.d.ts +0 -2
  707. package/dist/client/decorators/key.js +0 -10
  708. package/dist/client/decorators/localEvent.d.ts +0 -7
  709. package/dist/client/decorators/localEvent.js +0 -15
  710. package/dist/client/decorators/nui.d.ts +0 -1
  711. package/dist/client/decorators/nui.js +0 -9
  712. package/dist/client/decorators/onNet.d.ts +0 -1
  713. package/dist/client/decorators/onNet.js +0 -9
  714. package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
  715. package/dist/client/decorators/resourceLifecycle.js +0 -24
  716. package/dist/client/decorators/tick.d.ts +0 -1
  717. package/dist/client/decorators/tick.js +0 -9
  718. package/dist/client/index.d.ts +0 -7
  719. package/dist/client/index.js +0 -23
  720. package/dist/client/interfaces/appearance.interface.d.ts +0 -19
  721. package/dist/client/interfaces/appearance.interface.js +0 -2
  722. package/dist/client/player/player.d.ts +0 -262
  723. package/dist/client/player/player.js +0 -480
  724. package/dist/client/player/player.loader.d.ts +0 -1
  725. package/dist/client/player/player.loader.js +0 -22
  726. package/dist/client/services/appearance.service.d.ts +0 -6
  727. package/dist/client/services/appearance.service.js +0 -89
  728. package/dist/client/services/blip.service.d.ts +0 -112
  729. package/dist/client/services/blip.service.js +0 -215
  730. package/dist/client/services/index.d.ts +0 -9
  731. package/dist/client/services/index.js +0 -25
  732. package/dist/client/services/marker.service.d.ts +0 -94
  733. package/dist/client/services/marker.service.js +0 -153
  734. package/dist/client/services/notification.service.d.ts +0 -76
  735. package/dist/client/services/notification.service.js +0 -111
  736. package/dist/client/services/ped.service.d.ts +0 -182
  737. package/dist/client/services/ped.service.js +0 -302
  738. package/dist/client/services/progress.service.d.ts +0 -82
  739. package/dist/client/services/progress.service.js +0 -210
  740. package/dist/client/services/spawn.service.d.ts +0 -73
  741. package/dist/client/services/spawn.service.js +0 -261
  742. package/dist/client/services/streaming.service.d.ts +0 -165
  743. package/dist/client/services/streaming.service.js +0 -341
  744. package/dist/client/services/textui.service.d.ts +0 -82
  745. package/dist/client/services/textui.service.js +0 -156
  746. package/dist/client/services/vehicle.service.d.ts +0 -168
  747. package/dist/client/services/vehicle.service.js +0 -296
  748. package/dist/client/system/metadata-client.keys.d.ts +0 -13
  749. package/dist/client/system/metadata-client.keys.js +0 -16
  750. package/dist/client/system/processors/export.processor.d.ts +0 -7
  751. package/dist/client/system/processors/export.processor.js +0 -39
  752. package/dist/client/system/processors/gameEvent.processor.d.ts +0 -10
  753. package/dist/client/system/processors/gameEvent.processor.js +0 -58
  754. package/dist/client/system/processors/interval.processor.d.ts +0 -7
  755. package/dist/client/system/processors/interval.processor.js +0 -43
  756. package/dist/client/system/processors/key.processor.d.ts +0 -8
  757. package/dist/client/system/processors/key.processor.js +0 -27
  758. package/dist/client/system/processors/localEvent.processor.d.ts +0 -7
  759. package/dist/client/system/processors/localEvent.processor.js +0 -38
  760. package/dist/client/system/processors/netEvent.processor.d.ts +0 -7
  761. package/dist/client/system/processors/netEvent.processor.js +0 -38
  762. package/dist/client/system/processors/nui.processor.d.ts +0 -7
  763. package/dist/client/system/processors/nui.processor.js +0 -40
  764. package/dist/client/system/processors/resourceLifecycle.processor.d.ts +0 -9
  765. package/dist/client/system/processors/resourceLifecycle.processor.js +0 -69
  766. package/dist/client/system/processors/tick.processor.d.ts +0 -5
  767. package/dist/client/system/processors/tick.processor.js +0 -37
  768. package/dist/client/system/processors.register.d.ts +0 -1
  769. package/dist/client/system/processors.register.js +0 -27
  770. package/dist/client/types/game-events.d.ts +0 -126
  771. package/dist/client/types/game-events.js +0 -83
  772. package/dist/client/types/index.js +0 -17
  773. package/dist/client/ui-bridge.d.ts +0 -116
  774. package/dist/client/ui-bridge.js +0 -201
  775. package/dist/server/bootstrap.d.ts +0 -16
  776. package/dist/server/bootstrap.js +0 -57
  777. package/dist/server/bus/core-event-bus.d.ts +0 -6
  778. package/dist/server/bus/core-event-bus.js +0 -31
  779. package/dist/server/configs/api.config.d.ts +0 -71
  780. package/dist/server/configs/api.config.js +0 -81
  781. package/dist/server/configs/config.base.d.ts +0 -63
  782. package/dist/server/configs/config.base.js +0 -64
  783. package/dist/server/configs/index.d.ts +0 -2
  784. package/dist/server/configs/index.js +0 -18
  785. package/dist/server/container.d.ts +0 -2
  786. package/dist/server/container.js +0 -6
  787. package/dist/server/controllers/chat.controller.d.ts +0 -10
  788. package/dist/server/controllers/chat.controller.js +0 -50
  789. package/dist/server/controllers/command.controller.d.ts +0 -7
  790. package/dist/server/controllers/command.controller.js +0 -47
  791. package/dist/server/controllers/session.controller.d.ts +0 -9
  792. package/dist/server/controllers/session.controller.js +0 -70
  793. package/dist/server/core.d.ts +0 -1
  794. package/dist/server/core.js +0 -7
  795. package/dist/server/database/adapters/oxmysql.adapter.d.ts +0 -89
  796. package/dist/server/database/adapters/oxmysql.adapter.js +0 -149
  797. package/dist/server/database/database.contract.d.ts +0 -128
  798. package/dist/server/database/database.contract.js +0 -29
  799. package/dist/server/database/database.service.d.ts +0 -216
  800. package/dist/server/database/database.service.js +0 -301
  801. package/dist/server/database/index.d.ts +0 -53
  802. package/dist/server/database/index.js +0 -70
  803. package/dist/server/database/types.d.ts +0 -67
  804. package/dist/server/database/types.js +0 -7
  805. package/dist/server/database.d.ts +0 -7
  806. package/dist/server/database.js +0 -23
  807. package/dist/server/decorators/bind.d.ts +0 -2
  808. package/dist/server/decorators/bind.js +0 -15
  809. package/dist/server/decorators/command.d.ts +0 -49
  810. package/dist/server/decorators/command.js +0 -23
  811. package/dist/server/decorators/controller.d.ts +0 -25
  812. package/dist/server/decorators/controller.js +0 -36
  813. package/dist/server/decorators/export.d.ts +0 -39
  814. package/dist/server/decorators/export.js +0 -47
  815. package/dist/server/decorators/guard.d.ts +0 -56
  816. package/dist/server/decorators/guard.js +0 -82
  817. package/dist/server/decorators/index.d.ts +0 -10
  818. package/dist/server/decorators/index.js +0 -29
  819. package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
  820. package/dist/server/decorators/onFiveMEvent.js +0 -14
  821. package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
  822. package/dist/server/decorators/onFrameworkEvent.js +0 -29
  823. package/dist/server/decorators/onNet.d.ts +0 -58
  824. package/dist/server/decorators/onNet.js +0 -57
  825. package/dist/server/decorators/onTick.d.ts +0 -32
  826. package/dist/server/decorators/onTick.js +0 -40
  827. package/dist/server/decorators/public.d.ts +0 -27
  828. package/dist/server/decorators/public.js +0 -36
  829. package/dist/server/decorators/requiresState.d.ts +0 -56
  830. package/dist/server/decorators/requiresState.js +0 -63
  831. package/dist/server/decorators/throttle.d.ts +0 -48
  832. package/dist/server/decorators/throttle.js +0 -63
  833. package/dist/server/decorators/utils.d.ts +0 -57
  834. package/dist/server/decorators/utils.js +0 -63
  835. package/dist/server/entities/index.d.ts +0 -1
  836. package/dist/server/entities/index.js +0 -17
  837. package/dist/server/entities/player.d.ts +0 -157
  838. package/dist/server/entities/player.js +0 -217
  839. package/dist/server/error-handler.d.ts +0 -2
  840. package/dist/server/error-handler.js +0 -43
  841. package/dist/server/helpers/resolve-method.d.ts +0 -5
  842. package/dist/server/helpers/resolve-method.js +0 -18
  843. package/dist/server/index.d.ts +0 -10
  844. package/dist/server/index.js +0 -31
  845. package/dist/server/loaders/exports.loader.js +0 -23
  846. package/dist/server/loaders/playerSession.loader.d.ts +0 -1
  847. package/dist/server/loaders/playerSession.loader.js +0 -51
  848. package/dist/server/services/access-control.service.d.ts +0 -56
  849. package/dist/server/services/access-control.service.js +0 -99
  850. package/dist/server/services/chat.service.d.ts +0 -7
  851. package/dist/server/services/chat.service.js +0 -31
  852. package/dist/server/services/command.service.d.ts +0 -15
  853. package/dist/server/services/command.service.js +0 -77
  854. package/dist/server/services/config.service.d.ts +0 -75
  855. package/dist/server/services/config.service.js +0 -116
  856. package/dist/server/services/default/default-security.handler.d.ts +0 -6
  857. package/dist/server/services/default/default-security.handler.js +0 -26
  858. package/dist/server/services/http/http.service.d.ts +0 -50
  859. package/dist/server/services/http/http.service.js +0 -126
  860. package/dist/server/services/index.d.ts +0 -10
  861. package/dist/server/services/index.js +0 -26
  862. package/dist/server/services/parallel/index.d.ts +0 -49
  863. package/dist/server/services/parallel/index.js +0 -67
  864. package/dist/server/services/parallel/parallel-compute.service.d.ts +0 -132
  865. package/dist/server/services/parallel/parallel-compute.service.js +0 -449
  866. package/dist/server/services/parallel/types.d.ts +0 -188
  867. package/dist/server/services/parallel/types.js +0 -7
  868. package/dist/server/services/parallel/worker-pool.d.ts +0 -83
  869. package/dist/server/services/parallel/worker-pool.js +0 -350
  870. package/dist/server/services/parallel/worker.d.ts +0 -19
  871. package/dist/server/services/parallel/worker.js +0 -49
  872. package/dist/server/services/persistence.service.d.ts +0 -59
  873. package/dist/server/services/persistence.service.js +0 -166
  874. package/dist/server/services/player.service.d.ts +0 -96
  875. package/dist/server/services/player.service.js +0 -132
  876. package/dist/server/services/rate-limiter.service.d.ts +0 -5
  877. package/dist/server/services/rate-limiter.service.js +0 -39
  878. package/dist/server/services/registers.d.ts +0 -1
  879. package/dist/server/services/registers.js +0 -18
  880. package/dist/server/setup.d.ts +0 -9
  881. package/dist/server/setup.js +0 -28
  882. package/dist/server/system/metadata-server.keys.d.ts +0 -10
  883. package/dist/server/system/metadata-server.keys.js +0 -13
  884. package/dist/server/system/processors/command.processor.d.ts +0 -9
  885. package/dist/server/system/processors/command.processor.js +0 -30
  886. package/dist/server/system/processors/coreEvent.processor.d.ts +0 -7
  887. package/dist/server/system/processors/coreEvent.processor.js +0 -41
  888. package/dist/server/system/processors/export.processor.d.ts +0 -7
  889. package/dist/server/system/processors/export.processor.js +0 -30
  890. package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
  891. package/dist/server/system/processors/fivemEvent.processor.js +0 -40
  892. package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
  893. package/dist/server/system/processors/netEvent.processor.js +0 -103
  894. package/dist/server/system/processors/tick.processor.d.ts +0 -5
  895. package/dist/server/system/processors/tick.processor.js +0 -36
  896. package/dist/server/system/processors.register.d.ts +0 -1
  897. package/dist/server/system/processors.register.js +0 -23
  898. package/dist/server/system/schema-generator.d.ts +0 -2
  899. package/dist/server/system/schema-generator.js +0 -34
  900. package/dist/server/templates/admin/admin.controller-template.d.ts +0 -12
  901. package/dist/server/templates/admin/admin.controller-template.js +0 -2
  902. package/dist/server/templates/auth/auth-provider.contract.d.ts +0 -58
  903. package/dist/server/templates/auth/auth-provider.contract.js +0 -23
  904. package/dist/server/templates/index.d.ts +0 -8
  905. package/dist/server/templates/index.js +0 -21
  906. package/dist/server/templates/persistence/index.d.ts +0 -30
  907. package/dist/server/templates/persistence/index.js +0 -34
  908. package/dist/server/templates/persistence/player-persistence.contract.d.ts +0 -86
  909. package/dist/server/templates/persistence/player-persistence.contract.js +0 -52
  910. package/dist/server/templates/repository/index.d.ts +0 -57
  911. package/dist/server/templates/repository/index.js +0 -61
  912. package/dist/server/templates/repository/repository.contract.d.ts +0 -224
  913. package/dist/server/templates/repository/repository.contract.js +0 -342
  914. package/dist/server/templates/repository/repository.types.d.ts +0 -51
  915. package/dist/server/templates/repository/repository.types.js +0 -7
  916. package/dist/server/templates/security/permission.types.d.ts +0 -32
  917. package/dist/server/templates/security/permission.types.js +0 -2
  918. package/dist/server/templates/security/principal-provider.contract.d.ts +0 -43
  919. package/dist/server/templates/security/principal-provider.contract.js +0 -19
  920. package/dist/server/templates/security/security-handler.contract.d.ts +0 -5
  921. package/dist/server/templates/security/security-handler.contract.js +0 -6
  922. package/dist/server/types/core-events.d.ts +0 -22
  923. package/dist/server/types/core-events.js +0 -2
  924. package/dist/server/types/security.types.js +0 -2
  925. package/dist/shared/index.d.ts +0 -1
  926. package/dist/shared/index.js +0 -17
  927. package/dist/shared/logger/core-logger.d.ts +0 -35
  928. package/dist/shared/logger/core-logger.js +0 -52
  929. package/dist/shared/logger/index.d.ts +0 -11
  930. package/dist/shared/logger/index.js +0 -26
  931. package/dist/shared/logger/logger.config.d.ts +0 -47
  932. package/dist/shared/logger/logger.config.js +0 -33
  933. package/dist/shared/logger/logger.service.d.ts +0 -161
  934. package/dist/shared/logger/logger.service.js +0 -279
  935. package/dist/shared/logger/logger.types.js +0 -74
  936. package/dist/shared/logger/transports/buffered.transport.d.ts +0 -88
  937. package/dist/shared/logger/transports/buffered.transport.js +0 -174
  938. package/dist/shared/logger/transports/console.transport.d.ts +0 -37
  939. package/dist/shared/logger/transports/console.transport.js +0 -134
  940. package/dist/shared/logger/transports/index.d.ts +0 -3
  941. package/dist/shared/logger/transports/index.js +0 -19
  942. package/dist/shared/logger/transports/transport.interface.d.ts +0 -40
  943. package/dist/shared/logger/transports/transport.interface.js +0 -2
  944. package/dist/system/class-constructor.js +0 -2
  945. package/dist/system/decorator-processor.js +0 -2
  946. package/dist/system/metadata.scanner.d.ts +0 -7
  947. package/dist/system/metadata.scanner.js +0 -45
  948. package/dist/utils/errors.d.ts +0 -14
  949. package/dist/utils/errors.js +0 -25
  950. package/dist/utils/index.d.ts +0 -4
  951. package/dist/utils/index.js +0 -20
  952. package/dist/utils/result.d.ts +0 -12
  953. package/dist/utils/result.js +0 -10
  954. package/dist/utils/rgb.d.ts +0 -5
  955. package/dist/utils/rgb.js +0 -2
  956. package/dist/utils/vector3.d.ts +0 -13
  957. package/dist/utils/vector3.js +0 -27
  958. /package/dist/{server/loaders/exports.loader.d.ts → adapters/contracts/client/spawn/types.js} +0 -0
  959. /package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
  960. /package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
  961. /package/dist/{server/types → kernel/error}/security.types.d.ts +0 -0
  962. /package/dist/{shared → kernel}/logger/logger.types.d.ts +0 -0
  963. /package/dist/{client → runtime/client}/client-container.d.ts +0 -0
  964. /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
@@ -0,0 +1,185 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
14
+ import { inject, injectable } from 'tsyringe';
15
+ import { Channels } from '../../ports/channel.api-port';
16
+ import { ChannelType } from '../../types';
17
+ import { Players } from '../../ports/players.api-port';
18
+ import { Channel } from '../../concepts/channel';
19
+ let LocalChannelImplementation = class LocalChannelImplementation extends Channels {
20
+ playerDirectory;
21
+ events;
22
+ channels = new Map();
23
+ validator;
24
+ constructor(playerDirectory, events) {
25
+ super();
26
+ this.playerDirectory = playerDirectory;
27
+ this.events = events;
28
+ }
29
+ setValidator(validator) {
30
+ this.validator = validator;
31
+ }
32
+ create(id, metadata, maxSubscribers) {
33
+ if (this.channels.has(id)) {
34
+ throw new Error(`Channel with id '${id}' already exists`);
35
+ }
36
+ const channel = new Channel(id, metadata, maxSubscribers);
37
+ this.channels.set(id, channel);
38
+ return channel;
39
+ }
40
+ createPrivate(players, metadata) {
41
+ const id = `private:${Date.now()}:${Math.random().toString(36).substring(7)}`;
42
+ const channel = this.create(id, { ...metadata, persistent: false }, players.length);
43
+ for (const player of players) {
44
+ channel.subscribe(player);
45
+ }
46
+ return channel;
47
+ }
48
+ get(id) {
49
+ return this.channels.get(id);
50
+ }
51
+ delete(id) {
52
+ const channel = this.channels.get(id);
53
+ if (!channel) {
54
+ return false;
55
+ }
56
+ channel.clear();
57
+ return this.channels.delete(id);
58
+ }
59
+ exists(id) {
60
+ return this.channels.has(id);
61
+ }
62
+ subscribe(channelId, player, metadata) {
63
+ const channel = this.channels.get(channelId);
64
+ if (!channel) {
65
+ throw new Error(`Channel '${channelId}' does not exist`);
66
+ }
67
+ if (this.validator && !this.validator.canSubscribe(player, channelId)) {
68
+ return false;
69
+ }
70
+ return channel.subscribe(player, metadata);
71
+ }
72
+ unsubscribe(channelId, player) {
73
+ const channel = this.channels.get(channelId);
74
+ if (!channel) {
75
+ return false;
76
+ }
77
+ return channel.unsubscribe(player);
78
+ }
79
+ isSubscribed(channelId, player) {
80
+ const channel = this.channels.get(channelId);
81
+ if (!channel) {
82
+ return false;
83
+ }
84
+ return channel.isSubscribed(player);
85
+ }
86
+ broadcast(channelId, sender, message, author, color = { r: 255, g: 255, b: 255 }) {
87
+ const channel = this.channels.get(channelId);
88
+ if (!channel) {
89
+ throw new Error(`Channel '${channelId}' does not exist`);
90
+ }
91
+ if (this.validator && !this.validator.canBroadcast(sender, channelId)) {
92
+ return;
93
+ }
94
+ const subscribers = channel.getSubscribers();
95
+ const targetIds = subscribers.map((p) => p.clientID);
96
+ if (targetIds.length === 0) {
97
+ return;
98
+ }
99
+ this.events.emit('core:chat:addMessage', targetIds, {
100
+ args: [author ?? sender.name, message],
101
+ color: color,
102
+ });
103
+ }
104
+ broadcastSystem(channelId, message, author = 'SYSTEM', color = { r: 0, g: 191, b: 255 }) {
105
+ const channel = this.channels.get(channelId);
106
+ if (!channel) {
107
+ throw new Error(`Channel '${channelId}' does not exist`);
108
+ }
109
+ const subscribers = channel.getSubscribers();
110
+ const targetIds = subscribers.map((p) => p.clientID);
111
+ if (targetIds.length === 0) {
112
+ return;
113
+ }
114
+ this.events.emit('core:chat:addMessage', targetIds, {
115
+ args: [author, message],
116
+ color: color,
117
+ });
118
+ }
119
+ getSubscribers(channelId) {
120
+ const channel = this.channels.get(channelId);
121
+ if (!channel) {
122
+ return [];
123
+ }
124
+ return channel.getSubscribers();
125
+ }
126
+ getChannelsByType(type) {
127
+ return Array.from(this.channels.values()).filter((channel) => channel.type === type);
128
+ }
129
+ getChannelsByPlayer(player) {
130
+ return Array.from(this.channels.values()).filter((channel) => channel.isSubscribed(player));
131
+ }
132
+ getAllChannels() {
133
+ return Array.from(this.channels.values());
134
+ }
135
+ clear() {
136
+ for (const channel of this.channels.values()) {
137
+ if (!channel.isPersistent) {
138
+ channel.clear();
139
+ }
140
+ }
141
+ this.channels.clear();
142
+ }
143
+ clearNonPersistent() {
144
+ for (const [id, channel] of this.channels.entries()) {
145
+ if (!channel.isPersistent) {
146
+ channel.clear();
147
+ this.channels.delete(id);
148
+ }
149
+ }
150
+ }
151
+ createProximityChannel(originPlayer, radius, channelId) {
152
+ const id = channelId ?? `proximity:${originPlayer.clientID}:${Date.now()}`;
153
+ const originPos = originPlayer.getPosition();
154
+ if (!originPos) {
155
+ return undefined;
156
+ }
157
+ const channel = this.create(id, {
158
+ type: ChannelType.PROXIMITY,
159
+ maxRange: radius,
160
+ persistent: false,
161
+ }, undefined);
162
+ const allPlayers = this.playerDirectory.getAll();
163
+ const nearbyPlayers = allPlayers.filter((p) => {
164
+ const pos = p.getPosition();
165
+ if (!pos)
166
+ return false;
167
+ const dx = originPos.x - pos.x;
168
+ const dy = originPos.y - pos.y;
169
+ const dz = originPos.z - pos.z;
170
+ const distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
171
+ return distance <= radius;
172
+ });
173
+ for (const player of nearbyPlayers) {
174
+ channel.subscribe(player);
175
+ }
176
+ return channel;
177
+ }
178
+ };
179
+ LocalChannelImplementation = __decorate([
180
+ injectable(),
181
+ __param(1, inject(EventsAPI)),
182
+ __metadata("design:paramtypes", [Players,
183
+ EventsAPI])
184
+ ], LocalChannelImplementation);
185
+ export { LocalChannelImplementation };
@@ -0,0 +1,57 @@
1
+ import { CommandMetadata } from '../../decorators/command';
2
+ import { Player } from '../../entities';
3
+ import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/command-execution.port';
4
+ /**
5
+ * Local command execution service (CORE/STANDALONE modes).
6
+ *
7
+ * @remarks
8
+ * Maintains an in-memory registry of command handlers and executes them with full validation.
9
+ * Controllers declare commands via @Command decorator. During bootstrap, the framework
10
+ * scans and registers handlers via CommandProcessor.
11
+ *
12
+ * Execution pipeline:
13
+ * - Enforces authentication (secure by default unless marked @Public)
14
+ * - Validates arguments using Zod schemas (explicit or auto-generated)
15
+ * - Coerces argument types before invoking handlers
16
+ */
17
+ export declare class LocalCommandImplementation extends CommandExecutionPort {
18
+ private commands;
19
+ /**
20
+ * Returns decorator metadata for a registered command.
21
+ *
22
+ * @remarks
23
+ * Mainly used by controllers to enrich error observation (usage/description/etc.).
24
+ */
25
+ getCommandMeta(commandName: string): CommandMetadata | undefined;
26
+ /**
27
+ * Registers a command handler.
28
+ *
29
+ * @param meta - Command metadata collected from the {@link Command} decorator.
30
+ * @param handler - The bound method to invoke.
31
+ */
32
+ register(meta: CommandMetadata, handler: (...args: any[]) => any): void;
33
+ /**
34
+ * Executes a registered command.
35
+ *
36
+ * @remarks
37
+ * **Security**: Commands require authentication by default unless marked with @Public().
38
+ * Unauthenticated attempts are blocked by throwing an {@link AppError}.
39
+ * Higher-level controllers can observe the failure and decide how to notify the player.
40
+ *
41
+ * Argument parsing behavior depends on the schema:
42
+ * - Zod object schema: maps raw args to parameter names.
43
+ * - Zod tuple schema: validates positional args.
44
+ * - No schema: attempts to generate a schema from parameter types.
45
+ *
46
+ * @param player - Player invoking the command.
47
+ * @param commandName - Command name (without the leading `/`).
48
+ * @param args - Raw argument list (strings).
49
+ *
50
+ * @throws AppError - If the command does not exist, the schema mismatches parameters, or validation fails.
51
+ */
52
+ execute(player: Player, commandName: string, args: string[]): Promise<any>;
53
+ /**
54
+ * Returns a list of all registered commands.
55
+ */
56
+ getAllCommands(): CommandInfo[];
57
+ }
@@ -0,0 +1,110 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { injectable } from 'tsyringe';
8
+ import { AppError } from '../../../../kernel/error/app.error';
9
+ import { loggers } from '../../../../kernel/logger';
10
+ import { validateAndExecuteCommand } from '../../helpers/command-validation.helper';
11
+ import { CommandExecutionPort } from '../../ports/internal/command-execution.port';
12
+ /**
13
+ * Local command execution service (CORE/STANDALONE modes).
14
+ *
15
+ * @remarks
16
+ * Maintains an in-memory registry of command handlers and executes them with full validation.
17
+ * Controllers declare commands via @Command decorator. During bootstrap, the framework
18
+ * scans and registers handlers via CommandProcessor.
19
+ *
20
+ * Execution pipeline:
21
+ * - Enforces authentication (secure by default unless marked @Public)
22
+ * - Validates arguments using Zod schemas (explicit or auto-generated)
23
+ * - Coerces argument types before invoking handlers
24
+ */
25
+ let LocalCommandImplementation = class LocalCommandImplementation extends CommandExecutionPort {
26
+ commands = new Map();
27
+ /**
28
+ * Returns decorator metadata for a registered command.
29
+ *
30
+ * @remarks
31
+ * Mainly used by controllers to enrich error observation (usage/description/etc.).
32
+ */
33
+ getCommandMeta(commandName) {
34
+ return this.commands.get(commandName.toLowerCase())?.meta;
35
+ }
36
+ /**
37
+ * Registers a command handler.
38
+ *
39
+ * @param meta - Command metadata collected from the {@link Command} decorator.
40
+ * @param handler - The bound method to invoke.
41
+ */
42
+ register(meta, handler) {
43
+ if (this.commands.has(meta.command.toLowerCase())) {
44
+ loggers.command.error(`Command '${meta.command}' is already registered. Skipped`, {
45
+ command: meta.command,
46
+ });
47
+ }
48
+ this.commands.set(meta.command.toLowerCase(), {
49
+ meta,
50
+ handler,
51
+ isPublic: meta.isPublic ?? false,
52
+ });
53
+ const publicFlag = meta.isPublic ? ' [Public]' : '';
54
+ const schemaFlag = meta.schema ? ' [Validated]' : '';
55
+ loggers.command.debug(`Registered: /${meta.command}${publicFlag}${schemaFlag}`);
56
+ }
57
+ /**
58
+ * Executes a registered command.
59
+ *
60
+ * @remarks
61
+ * **Security**: Commands require authentication by default unless marked with @Public().
62
+ * Unauthenticated attempts are blocked by throwing an {@link AppError}.
63
+ * Higher-level controllers can observe the failure and decide how to notify the player.
64
+ *
65
+ * Argument parsing behavior depends on the schema:
66
+ * - Zod object schema: maps raw args to parameter names.
67
+ * - Zod tuple schema: validates positional args.
68
+ * - No schema: attempts to generate a schema from parameter types.
69
+ *
70
+ * @param player - Player invoking the command.
71
+ * @param commandName - Command name (without the leading `/`).
72
+ * @param args - Raw argument list (strings).
73
+ *
74
+ * @throws AppError - If the command does not exist, the schema mismatches parameters, or validation fails.
75
+ */
76
+ async execute(player, commandName, args) {
77
+ const entry = this.commands.get(commandName.toLowerCase());
78
+ if (!entry)
79
+ throw new AppError('COMMAND:NOT_FOUND', `Command not found: ${commandName}`, 'client');
80
+ const { meta, handler, isPublic } = entry;
81
+ // ═══════════════════════════════════════════════════════════════
82
+ // SECURE BY DEFAULT: Require authentication unless @Public()
83
+ // ═══════════════════════════════════════════════════════════════
84
+ if (!isPublic) {
85
+ if (!player.accountID) {
86
+ loggers.security.warn(`Unauthenticated command attempt blocked`, {
87
+ command: commandName,
88
+ clientId: player.clientID,
89
+ });
90
+ throw new AppError('AUTH:UNAUTHORIZED', 'You must be authenticated to use this command', 'client');
91
+ }
92
+ }
93
+ return await validateAndExecuteCommand(meta, player, args, handler);
94
+ }
95
+ /**
96
+ * Returns a list of all registered commands.
97
+ */
98
+ getAllCommands() {
99
+ return Array.from(this.commands.values()).map((c) => ({
100
+ command: c.meta.command,
101
+ description: c.meta.description ?? '',
102
+ usage: c.meta.usage ?? '',
103
+ isPublic: c.isPublic,
104
+ }));
105
+ }
106
+ };
107
+ LocalCommandImplementation = __decorate([
108
+ injectable()
109
+ ], LocalCommandImplementation);
110
+ export { LocalCommandImplementation };
@@ -0,0 +1,114 @@
1
+ import { IPlayerInfo } from '../../../../adapters';
2
+ import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
3
+ import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
4
+ import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
5
+ import { IPlayerLifecycleServer } from '../../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
6
+ import { IPlayerStateSyncServer } from '../../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
7
+ import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
8
+ import { WorldContext } from '../../../core/world';
9
+ import { Player } from '../../entities';
10
+ import { Players } from '../../ports/players.api-port';
11
+ import { PlayerSessionLifecyclePort } from '../../ports/internal/player-session-lifecycle.port';
12
+ import { PlayerSession } from '../../types/player-session.types';
13
+ import { LinkedID } from '../../services';
14
+ /**
15
+ * Service responsible for managing the lifecycle of player sessions.
16
+ * It acts as the central registry for all connected players, mapping FiveM client IDs
17
+ * to Core `Player` entities.
18
+ *
19
+ * @remarks
20
+ * This service is used as a singleton in the dependency container.
21
+ * It exposes the operations defined by {@link Players} and {@link PlayerSessionLifecyclePort}.
22
+ */
23
+ export declare class LocalPlayerImplementation implements Players, PlayerSessionLifecyclePort {
24
+ private readonly world;
25
+ private readonly playerInfo;
26
+ private readonly playerServer;
27
+ private readonly playerLifecycle;
28
+ private readonly playerStateSync;
29
+ private readonly entityServer;
30
+ private readonly events;
31
+ private readonly platformContext;
32
+ private readonly playerAdapters;
33
+ constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, playerLifecycle: IPlayerLifecycleServer, playerStateSync: IPlayerStateSyncServer, entityServer: IEntityServer, events: EventsAPI<'server'>, platformContext: IPlatformContext);
34
+ private isPlayer;
35
+ /**
36
+ * Initializes a new player session for a connecting client.
37
+ *
38
+ * This method is typically called during the `playerJoining` event or
39
+ * immediately after a successful handshake/login flow.
40
+ *
41
+ * @param clientID - The FiveM server ID (source) of the player.
42
+ * @param identifiers - Optional object containing platform identifiers (license, steam, etc.).
43
+ * @returns The newly created `Player` instance.
44
+ */
45
+ bind(clientID: number, identifiers?: PlayerSession['identifiers']): Player;
46
+ /**
47
+ * Terminates a player session and removes them from the registry.
48
+ *
49
+ * This should be called when the `playerDropped` event is triggered to ensure
50
+ * memory is freed and the session is closed.
51
+ *
52
+ * @param clientID - The FiveM server ID of the player disconnecting.
53
+ */
54
+ unbind(clientID: number): void;
55
+ /**
56
+ * Retrieves the `Player` entity associated with a specific FiveM client ID.
57
+ *
58
+ * @param clientID - The FiveM server ID to look up.
59
+ * @returns The `Player` instance if found, or `null` if the session does not exist.
60
+ */
61
+ getByClient(clientID: number): Player | undefined;
62
+ getMany(clientIds: number[]): Player[];
63
+ /**
64
+ * Returns a list of all currently active `Player` entities.
65
+ *
66
+ * @returns An array containing all connected players managed by this service.
67
+ */
68
+ getAll(): Player[];
69
+ /**
70
+ * Helper to retrieve the authenticated Account ID for a given client.
71
+ *
72
+ * @param clientID - The FiveM server ID to look up.
73
+ * @returns The bound Account ID (string/UUID) if the player is logged in, or `null` otherwise.
74
+ */
75
+ getAccountLinked(clientID: number): LinkedID | undefined;
76
+ /**
77
+ * Stores arbitrary metadata in the player's session.
78
+ * Useful for storing transient state like 'isDead', 'job', 'dimension', etc.
79
+ *
80
+ * @param clientID - The FiveM server ID of the player.
81
+ * @param key - The unique key for the metadata entry.
82
+ * @param value - The value to store.
83
+ */
84
+ setMeta(clientID: number, key: string, value: unknown): void;
85
+ /**
86
+ * Retrieves metadata previously stored in the player's session.
87
+ *
88
+ * @template T - The expected type of the returned value.
89
+ * @param clientID - The FiveM server ID of the player.
90
+ * @param key - The metadata key to retrieve.
91
+ * @returns The value cast to type `T`, or `undefined` if the key or player doesn't exist.
92
+ */
93
+ getMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
94
+ /**
95
+ * Retrieves a Player by their persistent account ID.
96
+ *
97
+ * @param accountId - The unique account identifier to search for.
98
+ * @returns The Player if found, or `undefined` if not online.
99
+ */
100
+ getByAccountId(accountId: string): Player | undefined;
101
+ /**
102
+ * Returns the current number of connected players.
103
+ *
104
+ * @returns Player count.
105
+ */
106
+ getPlayerCount(): number;
107
+ /**
108
+ * Checks if a player with the given account ID is currently online.
109
+ *
110
+ * @param accountId - The account identifier to check.
111
+ * @returns `true` if online, `false` otherwise.
112
+ */
113
+ isOnline(accountId: string): boolean;
114
+ }
@@ -0,0 +1,216 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IPlayerInfo } from '../../../../adapters';
15
+ import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
16
+ import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
17
+ import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
18
+ import { IPlayerLifecycleServer } from '../../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
19
+ import { IPlayerStateSyncServer } from '../../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
20
+ import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
21
+ import { loggers } from '../../../../kernel/logger';
22
+ import { WorldContext } from '../../../core/world';
23
+ import { createLocalServerPlayer } from '../../adapter/registry';
24
+ /**
25
+ * Service responsible for managing the lifecycle of player sessions.
26
+ * It acts as the central registry for all connected players, mapping FiveM client IDs
27
+ * to Core `Player` entities.
28
+ *
29
+ * @remarks
30
+ * This service is used as a singleton in the dependency container.
31
+ * It exposes the operations defined by {@link Players} and {@link PlayerSessionLifecyclePort}.
32
+ */
33
+ let LocalPlayerImplementation = class LocalPlayerImplementation {
34
+ world;
35
+ playerInfo;
36
+ playerServer;
37
+ playerLifecycle;
38
+ playerStateSync;
39
+ entityServer;
40
+ events;
41
+ platformContext;
42
+ playerAdapters;
43
+ constructor(world, playerInfo, playerServer, playerLifecycle, playerStateSync, entityServer, events, platformContext) {
44
+ this.world = world;
45
+ this.playerInfo = playerInfo;
46
+ this.playerServer = playerServer;
47
+ this.playerLifecycle = playerLifecycle;
48
+ this.playerStateSync = playerStateSync;
49
+ this.entityServer = entityServer;
50
+ this.events = events;
51
+ this.platformContext = platformContext;
52
+ const defaultSpawnModel = this.platformContext.defaultSpawnModel;
53
+ this.playerAdapters = {
54
+ playerInfo: this.playerInfo,
55
+ playerServer: this.playerServer,
56
+ playerLifecycle: this.playerLifecycle,
57
+ playerStateSync: this.playerStateSync,
58
+ entityServer: this.entityServer,
59
+ events: this.events,
60
+ defaultSpawnModel,
61
+ };
62
+ }
63
+ isPlayer(e) {
64
+ return e.id.startsWith('player:');
65
+ }
66
+ /**
67
+ * Initializes a new player session for a connecting client.
68
+ *
69
+ * This method is typically called during the `playerJoining` event or
70
+ * immediately after a successful handshake/login flow.
71
+ *
72
+ * @param clientID - The FiveM server ID (source) of the player.
73
+ * @param identifiers - Optional object containing platform identifiers (license, steam, etc.).
74
+ * @returns The newly created `Player` instance.
75
+ */
76
+ bind(clientID, identifiers) {
77
+ const session = {
78
+ clientID,
79
+ identifiers,
80
+ meta: {},
81
+ };
82
+ const player = createLocalServerPlayer(session, this.playerAdapters);
83
+ this.world.add(player);
84
+ loggers.session.debug('Player session bound', {
85
+ clientID,
86
+ totalPlayers: this.world.sizeBy('player'),
87
+ });
88
+ return player;
89
+ }
90
+ /**
91
+ * Terminates a player session and removes them from the registry.
92
+ *
93
+ * This should be called when the `playerDropped` event is triggered to ensure
94
+ * memory is freed and the session is closed.
95
+ *
96
+ * @param clientID - The FiveM server ID of the player disconnecting.
97
+ */
98
+ unbind(clientID) {
99
+ const player = this.getByClient(clientID);
100
+ if (player)
101
+ this.world.remove(player.id);
102
+ loggers.session.debug('Player session unbound', {
103
+ clientID,
104
+ totalPlayers: this.world.sizeBy('player'),
105
+ });
106
+ }
107
+ /**
108
+ * Retrieves the `Player` entity associated with a specific FiveM client ID.
109
+ *
110
+ * @param clientID - The FiveM server ID to look up.
111
+ * @returns The `Player` instance if found, or `null` if the session does not exist.
112
+ */
113
+ getByClient(clientID) {
114
+ return this.world.get(`player:${clientID}`);
115
+ }
116
+ getMany(clientIds) {
117
+ const result = [];
118
+ for (const id of clientIds) {
119
+ const p = this.getByClient(id);
120
+ if (p)
121
+ result.push(p);
122
+ }
123
+ return result;
124
+ }
125
+ /**
126
+ * Returns a list of all currently active `Player` entities.
127
+ *
128
+ * @returns An array containing all connected players managed by this service.
129
+ */
130
+ getAll() {
131
+ return this.world.find(this.isPlayer);
132
+ }
133
+ /**
134
+ * Helper to retrieve the authenticated Account ID for a given client.
135
+ *
136
+ * @param clientID - The FiveM server ID to look up.
137
+ * @returns The bound Account ID (string/UUID) if the player is logged in, or `null` otherwise.
138
+ */
139
+ getAccountLinked(clientID) {
140
+ return this.getByClient(clientID)?.accountID;
141
+ }
142
+ /**
143
+ * Stores arbitrary metadata in the player's session.
144
+ * Useful for storing transient state like 'isDead', 'job', 'dimension', etc.
145
+ *
146
+ * @param clientID - The FiveM server ID of the player.
147
+ * @param key - The unique key for the metadata entry.
148
+ * @param value - The value to store.
149
+ */
150
+ setMeta(clientID, key, value) {
151
+ const player = this.getByClient(clientID);
152
+ if (!player)
153
+ return;
154
+ player.setMeta(key, value);
155
+ }
156
+ /**
157
+ * Retrieves metadata previously stored in the player's session.
158
+ *
159
+ * @template T - The expected type of the returned value.
160
+ * @param clientID - The FiveM server ID of the player.
161
+ * @param key - The metadata key to retrieve.
162
+ * @returns The value cast to type `T`, or `undefined` if the key or player doesn't exist.
163
+ */
164
+ async getMeta(clientID, key) {
165
+ return this.getByClient(clientID)?.getMeta(key);
166
+ }
167
+ // ═══════════════════════════════════════════════════════════════
168
+ // Extended Query Methods
169
+ // ═══════════════════════════════════════════════════════════════
170
+ /**
171
+ * Retrieves a Player by their persistent account ID.
172
+ *
173
+ * @param accountId - The unique account identifier to search for.
174
+ * @returns The Player if found, or `undefined` if not online.
175
+ */
176
+ getByAccountId(accountId) {
177
+ return this.world.find(this.isPlayer).find((p) => p.accountID === accountId);
178
+ }
179
+ /**
180
+ * Returns the current number of connected players.
181
+ *
182
+ * @returns Player count.
183
+ */
184
+ getPlayerCount() {
185
+ return this.world.sizeBy('player');
186
+ }
187
+ /**
188
+ * Checks if a player with the given account ID is currently online.
189
+ *
190
+ * @param accountId - The account identifier to check.
191
+ * @returns `true` if online, `false` otherwise.
192
+ */
193
+ isOnline(accountId) {
194
+ return !!this.getByAccountId(accountId);
195
+ }
196
+ };
197
+ LocalPlayerImplementation = __decorate([
198
+ injectable(),
199
+ __param(0, inject(WorldContext)),
200
+ __param(1, inject(IPlayerInfo)),
201
+ __param(2, inject(IPlayerServer)),
202
+ __param(3, inject(IPlayerLifecycleServer)),
203
+ __param(4, inject(IPlayerStateSyncServer)),
204
+ __param(5, inject(IEntityServer)),
205
+ __param(6, inject(EventsAPI)),
206
+ __param(7, inject(IPlatformContext)),
207
+ __metadata("design:paramtypes", [WorldContext,
208
+ IPlayerInfo,
209
+ IPlayerServer,
210
+ IPlayerLifecycleServer,
211
+ IPlayerStateSyncServer,
212
+ IEntityServer,
213
+ EventsAPI,
214
+ IPlatformContext])
215
+ ], LocalPlayerImplementation);
216
+ export { LocalPlayerImplementation };