@open-core/framework 1.0.5-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 (344) hide show
  1. package/dist/adapters/contracts/IEngineEvents.d.ts +3 -0
  2. package/dist/adapters/contracts/IEngineEvents.js +7 -0
  3. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  4. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  5. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
  6. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
  7. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  8. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  9. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  10. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  11. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  12. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  13. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  14. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  15. package/dist/adapters/contracts/client/index.d.ts +7 -0
  16. package/dist/adapters/contracts/client/index.js +7 -0
  17. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
  18. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
  19. package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
  20. package/dist/adapters/contracts/client/spawn/index.js +2 -0
  21. package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
  22. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  23. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  24. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  25. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  26. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  27. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  28. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  29. package/dist/adapters/contracts/client/ui/index.js +4 -0
  30. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
  31. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  32. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  33. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  34. package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
  35. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  36. package/dist/adapters/contracts/index.d.ts +4 -2
  37. package/dist/adapters/contracts/index.js +4 -3
  38. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  39. package/dist/adapters/contracts/runtime/index.js +1 -0
  40. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  41. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  42. package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
  43. package/dist/adapters/contracts/server/IEntityServer.js +0 -26
  44. package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
  45. package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
  46. package/dist/adapters/contracts/server/index.d.ts +10 -0
  47. package/dist/adapters/contracts/server/index.js +10 -0
  48. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  49. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  50. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  51. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  52. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  53. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  54. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  55. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  56. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  57. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  58. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  59. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  60. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  61. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  62. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  63. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  64. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  65. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  66. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  67. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  68. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  69. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  70. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  71. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  72. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  73. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  74. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  75. package/dist/adapters/contracts/transport/index.js +4 -0
  76. package/dist/adapters/index.d.ts +3 -14
  77. package/dist/adapters/index.js +3 -20
  78. package/dist/adapters/node/node-capabilities.d.ts +11 -11
  79. package/dist/adapters/node/node-capabilities.js +15 -27
  80. package/dist/adapters/node/node-engine-events.d.ts +1 -1
  81. package/dist/adapters/node/node-engine-events.js +2 -1
  82. package/dist/adapters/node/node-entity-server.d.ts +2 -2
  83. package/dist/adapters/node/node-entity-server.js +2 -2
  84. package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
  85. package/dist/adapters/node/node-ped-appearance-client.js +2 -2
  86. package/dist/adapters/node/node-platform.js +4 -4
  87. package/dist/adapters/node/node-player-server.d.ts +3 -2
  88. package/dist/adapters/node/node-player-server.js +8 -2
  89. package/dist/adapters/register-capabilities.d.ts +1 -1
  90. package/dist/adapters/register-capabilities.js +1 -3
  91. package/dist/adapters/register-client-capabilities.d.ts +3 -2
  92. package/dist/adapters/register-client-capabilities.js +16 -41
  93. package/dist/contracts/client.d.ts +5 -0
  94. package/dist/contracts/client.js +5 -0
  95. package/dist/contracts/server.d.ts +19 -0
  96. package/dist/contracts/server.js +19 -0
  97. package/dist/contracts.d.ts +4 -0
  98. package/dist/contracts.js +4 -0
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.js +1 -1
  101. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  102. package/dist/kernel/logger/client-log-console.js +43 -0
  103. package/dist/kernel/logger/core-logger.d.ts +3 -1
  104. package/dist/kernel/logger/core-logger.js +4 -2
  105. package/dist/kernel/logger/index.d.ts +2 -0
  106. package/dist/kernel/logger/index.js +1 -0
  107. package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
  108. package/dist/kernel/logger/transports/simple-console.transport.js +13 -8
  109. package/dist/kernel-public.d.ts +1 -0
  110. package/dist/kernel-public.js +1 -0
  111. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  112. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  113. package/dist/runtime/client/adapter/index.d.ts +15 -0
  114. package/dist/runtime/client/adapter/index.js +15 -0
  115. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  116. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  117. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  118. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  119. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  120. package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
  121. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
  122. package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-local-player-bridge.js} +7 -9
  123. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  124. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  125. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  126. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  127. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  128. package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
  129. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  130. package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
  131. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
  132. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  133. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  134. package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
  135. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
  136. package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
  137. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  138. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  139. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  140. package/dist/runtime/client/adapter/registry.js +85 -0
  141. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  142. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  143. package/dist/runtime/client/api.d.ts +2 -1
  144. package/dist/runtime/client/api.js +2 -1
  145. package/dist/runtime/client/client-bootstrap.js +51 -44
  146. package/dist/runtime/client/client-core.d.ts +2 -0
  147. package/dist/runtime/client/client-core.js +9 -0
  148. package/dist/runtime/client/client-runtime.d.ts +3 -0
  149. package/dist/runtime/client/client-runtime.js +3 -0
  150. package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
  151. package/dist/runtime/client/controllers/appearance.controller.js +14 -4
  152. package/dist/runtime/client/controllers/spawner.controller.js +2 -0
  153. package/dist/runtime/client/decorators/controller.js +2 -10
  154. package/dist/runtime/client/decorators/onView.d.ts +3 -3
  155. package/dist/runtime/client/decorators/onView.js +3 -3
  156. package/dist/runtime/client/index.d.ts +1 -0
  157. package/dist/runtime/client/index.js +1 -0
  158. package/dist/runtime/client/library/create-client-library.js +9 -1
  159. package/dist/runtime/client/services/appearance.service.d.ts +2 -2
  160. package/dist/runtime/client/services/appearance.service.js +7 -4
  161. package/dist/runtime/client/services/blip.service.d.ts +6 -93
  162. package/dist/runtime/client/services/blip.service.js +58 -153
  163. package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
  164. package/dist/runtime/client/services/camera-effects.registry.js +20 -7
  165. package/dist/runtime/client/services/camera.d.ts +3 -83
  166. package/dist/runtime/client/services/camera.js +37 -93
  167. package/dist/runtime/client/services/cinematic.d.ts +5 -1
  168. package/dist/runtime/client/services/cinematic.js +45 -30
  169. package/dist/runtime/client/services/index.d.ts +1 -0
  170. package/dist/runtime/client/services/index.js +1 -0
  171. package/dist/runtime/client/services/marker.service.d.ts +12 -63
  172. package/dist/runtime/client/services/marker.service.js +62 -97
  173. package/dist/runtime/client/services/notification.service.d.ts +6 -57
  174. package/dist/runtime/client/services/notification.service.js +43 -81
  175. package/dist/runtime/client/services/ped.service.d.ts +3 -130
  176. package/dist/runtime/client/services/ped.service.js +66 -198
  177. package/dist/runtime/client/services/progress.service.d.ts +5 -30
  178. package/dist/runtime/client/services/progress.service.js +73 -99
  179. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  180. package/dist/runtime/client/services/session-bridge.service.js +61 -0
  181. package/dist/runtime/client/services/spawn.service.d.ts +6 -56
  182. package/dist/runtime/client/services/spawn.service.js +34 -191
  183. package/dist/runtime/client/services/streaming.service.d.ts +5 -126
  184. package/dist/runtime/client/services/streaming.service.js +72 -217
  185. package/dist/runtime/client/services/textui.service.d.ts +5 -45
  186. package/dist/runtime/client/services/textui.service.js +55 -88
  187. package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
  188. package/dist/runtime/client/services/vehicle-client.service.js +180 -326
  189. package/dist/runtime/client/services/vehicle.service.d.ts +3 -109
  190. package/dist/runtime/client/services/vehicle.service.js +94 -194
  191. package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
  192. package/dist/runtime/client/system/processors/export.processor.js +16 -3
  193. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
  194. package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
  195. package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
  196. package/dist/runtime/client/system/processors/interval.processor.js +17 -4
  197. package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
  198. package/dist/runtime/client/system/processors/key.processor.js +18 -5
  199. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
  200. package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
  201. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
  202. package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
  203. package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
  204. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
  205. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
  206. package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
  207. package/dist/runtime/client/system/processors/tick.processor.js +16 -3
  208. package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
  209. package/dist/runtime/client/system/processors/view.processor.js +21 -10
  210. package/dist/runtime/client/system/processors.register.d.ts +1 -0
  211. package/dist/runtime/client/system/processors.register.js +8 -0
  212. package/dist/runtime/client/ui-bridge.d.ts +2 -114
  213. package/dist/runtime/client/ui-bridge.js +2 -194
  214. package/dist/runtime/client/webview-bridge.d.ts +31 -0
  215. package/dist/runtime/client/webview-bridge.js +97 -0
  216. package/dist/runtime/client/webview.service.d.ts +14 -0
  217. package/dist/runtime/client/webview.service.js +98 -0
  218. package/dist/runtime/server/adapter/index.d.ts +5 -0
  219. package/dist/runtime/server/adapter/index.js +5 -0
  220. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  221. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  222. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  223. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
  224. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  225. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
  226. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  227. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  228. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  229. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  230. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  231. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
  232. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  233. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  234. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  235. package/dist/runtime/server/adapter/registry.js +101 -0
  236. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  237. package/dist/runtime/server/adapter/serialization.js +9 -0
  238. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  239. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  240. package/dist/runtime/server/api.d.ts +2 -1
  241. package/dist/runtime/server/api.js +2 -1
  242. package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
  243. package/dist/runtime/server/apis/appearance.api.js +20 -7
  244. package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
  245. package/dist/runtime/server/apis/npcs.api.js +26 -56
  246. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
  247. package/dist/runtime/server/apis/vehicle-modification.api.js +9 -4
  248. package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
  249. package/dist/runtime/server/apis/vehicles.api.js +48 -36
  250. package/dist/runtime/server/bootstrap.js +15 -7
  251. package/dist/runtime/server/controllers/channel.controller.js +2 -1
  252. package/dist/runtime/server/controllers/command-export.controller.js +1 -1
  253. package/dist/runtime/server/controllers/player-export.controller.js +5 -4
  254. package/dist/runtime/server/controllers/session.controller.js +3 -2
  255. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
  256. package/dist/runtime/server/controllers/vehicle.controller.js +10 -5
  257. package/dist/runtime/server/core.d.ts +2 -0
  258. package/dist/runtime/server/core.js +9 -1
  259. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
  260. package/dist/runtime/server/entities/npc.d.ts +2 -0
  261. package/dist/runtime/server/entities/npc.js +3 -3
  262. package/dist/runtime/server/entities/player.d.ts +8 -11
  263. package/dist/runtime/server/entities/player.js +39 -28
  264. package/dist/runtime/server/entities/vehicle.js +2 -2
  265. package/dist/runtime/server/error-handler.js +13 -2
  266. package/dist/runtime/server/helpers/command-validation.helper.js +1 -1
  267. package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
  268. package/dist/runtime/server/implementations/local/player.local.js +23 -11
  269. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
  270. package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
  271. package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
  272. package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
  273. package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
  274. package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
  275. package/dist/runtime/server/library/create-server-library.js +17 -2
  276. package/dist/runtime/server/runtime.d.ts +3 -0
  277. package/dist/runtime/server/runtime.js +1 -15
  278. package/dist/runtime/server/services/appearance.service.d.ts +0 -95
  279. package/dist/runtime/server/services/appearance.service.js +15 -192
  280. package/dist/runtime/server/services/services.register.js +56 -24
  281. package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
  282. package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
  283. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
  284. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
  285. package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
  286. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  287. package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
  288. package/package.json +21 -3
  289. package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
  290. package/dist/adapters/cfx/cfx-capabilities.js +0 -70
  291. package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
  292. package/dist/adapters/cfx/cfx-platform.js +0 -85
  293. package/dist/adapters/cfx/index.d.ts +0 -3
  294. package/dist/adapters/cfx/index.js +0 -3
  295. package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
  296. package/dist/adapters/cfx/runtime-profile.js +0 -37
  297. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
  298. package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
  299. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
  300. package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
  301. package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
  302. package/dist/adapters/fivem/fivem-capabilities.js +0 -61
  303. package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
  304. package/dist/adapters/fivem/fivem-engine-events.js +0 -24
  305. package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
  306. package/dist/adapters/fivem/fivem-entity-server.js +0 -87
  307. package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
  308. package/dist/adapters/fivem/fivem-exports.js +0 -9
  309. package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
  310. package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
  311. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
  312. package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
  313. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
  314. package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
  315. package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
  316. package/dist/adapters/fivem/fivem-ped-server.js +0 -30
  317. package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
  318. package/dist/adapters/fivem/fivem-platform.js +0 -74
  319. package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
  320. package/dist/adapters/fivem/fivem-player-server.js +0 -83
  321. package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
  322. package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
  323. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
  324. package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
  325. package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
  326. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
  327. package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
  328. package/dist/adapters/fivem/index.d.ts +0 -14
  329. package/dist/adapters/fivem/index.js +0 -16
  330. package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
  331. package/dist/adapters/fivem/transport/adapter.js +0 -8
  332. package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
  333. package/dist/adapters/fivem/transport/fivem.events.js +0 -36
  334. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
  335. package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
  336. package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
  337. package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
  338. package/dist/runtime/client/player/player.d.ts +0 -262
  339. package/dist/runtime/client/player/player.js +0 -474
  340. package/dist/runtime/client/player/player.loader.d.ts +0 -1
  341. package/dist/runtime/client/player/player.loader.js +0 -18
  342. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
  343. package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
  344. /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { inject } from 'tsyringe';
14
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
14
15
  import { Controller, OnNet } from '../decorators';
15
16
  import { Player } from '../entities/player';
16
17
  import { Vehicles } from '../apis/vehicles.api';
@@ -22,8 +23,10 @@ import { Vehicles } from '../apis/vehicles.api';
22
23
  */
23
24
  let VehicleController = class VehicleController {
24
25
  vehicleService;
25
- constructor(vehicleService) {
26
+ events;
27
+ constructor(vehicleService, events) {
26
28
  this.vehicleService = vehicleService;
29
+ this.events = events;
27
30
  }
28
31
  /**
29
32
  * Handles client request to get vehicle data.
@@ -31,11 +34,11 @@ let VehicleController = class VehicleController {
31
34
  handleGetData(player, networkId) {
32
35
  const vehicle = this.vehicleService.getByNetworkId(networkId);
33
36
  if (!vehicle) {
34
- emitNet('opencore:vehicle:dataResult', player.clientID, null);
37
+ this.events.emit('opencore:vehicle:dataResult', player.clientID, null);
35
38
  return null;
36
39
  }
37
40
  const data = vehicle.serialize();
38
- emitNet('opencore:vehicle:dataResult', player.clientID, data);
41
+ this.events.emit('opencore:vehicle:dataResult', player.clientID, data);
39
42
  return data;
40
43
  }
41
44
  /**
@@ -44,7 +47,7 @@ let VehicleController = class VehicleController {
44
47
  handleGetPlayerVehicles(player) {
45
48
  const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
46
49
  const serialized = vehicles.map((v) => v.serialize());
47
- emitNet('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
50
+ this.events.emit('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
48
51
  return serialized;
49
52
  }
50
53
  };
@@ -63,6 +66,8 @@ __decorate([
63
66
  VehicleController = __decorate([
64
67
  Controller(),
65
68
  __param(0, inject(Vehicles)),
66
- __metadata("design:paramtypes", [Vehicles])
69
+ __param(1, inject(EventsAPI)),
70
+ __metadata("design:paramtypes", [Vehicles,
71
+ EventsAPI])
67
72
  ], VehicleController);
68
73
  export { VehicleController };
@@ -1,7 +1,9 @@
1
1
  import { type OpenCorePlugin } from './library/plugin';
2
2
  import { type FrameworkMode, type ServerInitOptions } from './runtime';
3
+ import { OpenCoreServerAdapter } from './adapter';
3
4
  export declare let _mode: FrameworkMode;
4
5
  export interface OpenCoreInitOptions extends ServerInitOptions {
5
6
  plugins?: OpenCorePlugin[];
6
7
  }
8
+ export declare function useAdapter(adapter: OpenCoreServerAdapter): void;
7
9
  export declare function init(options: OpenCoreInitOptions): Promise<void>;
@@ -4,11 +4,16 @@ import { Server } from './server.runtime';
4
4
  import { initServer } from './bootstrap';
5
5
  import { resolveRuntimeOptions, } from './runtime';
6
6
  export let _mode;
7
+ let _pendingAdapter;
8
+ export function useAdapter(adapter) {
9
+ _pendingAdapter = adapter;
10
+ }
7
11
  function createConfigAccessor(options) {
12
+ const runtimeOptions = { ...options };
8
13
  return {
9
14
  get(key) {
10
15
  const segments = key.split('.').filter(Boolean);
11
- let current = options;
16
+ let current = runtimeOptions;
12
17
  for (const segment of segments) {
13
18
  if (typeof current !== 'object' || current === null) {
14
19
  return undefined;
@@ -20,6 +25,9 @@ function createConfigAccessor(options) {
20
25
  };
21
26
  }
22
27
  export async function init(options) {
28
+ if (!options.adapter && _pendingAdapter) {
29
+ options = { ...options, adapter: _pendingAdapter };
30
+ }
23
31
  const resolved = resolveRuntimeOptions(options);
24
32
  _mode = resolved.mode;
25
33
  const registry = new PluginRegistry();
@@ -1,3 +1,4 @@
1
+ import type { RuntimeEventName } from '../../../adapters/contracts/runtime';
1
2
  /**
2
3
  * Registers a method as a server-side listener for a native Runtime event.
3
4
  * Runtime === CitizenFX (Cfx)
@@ -22,4 +23,4 @@
22
23
  * }
23
24
  * ```
24
25
  */
25
- export declare function OnRuntimeEvent(event: string): (target: any, propertyKey: string) => void;
26
+ export declare function OnRuntimeEvent(event: RuntimeEventName): (target: any, propertyKey: string) => void;
@@ -1,5 +1,6 @@
1
1
  import { NativeHandle } from 'src/runtime/core/nativehandle';
2
2
  import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
3
+ import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
3
4
  import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
4
5
  import { Vector3 } from '../../../kernel/utils/vector3';
5
6
  import { BaseEntity } from '../../core/entity';
@@ -8,6 +9,7 @@ import { SerializedNpcData } from '../types/npc.types';
8
9
  export interface NpcAdapters {
9
10
  entityServer: IEntityServer;
10
11
  pedServer: IPedServer;
12
+ npcLifecycle: INpcLifecycleServer;
11
13
  }
12
14
  /**
13
15
  * Immutable-ish runtime session snapshot for an NPC.
@@ -137,7 +137,7 @@ export class NPC extends BaseEntity {
137
137
  setRoutingBucket(bucket) {
138
138
  if (!this.exists)
139
139
  return;
140
- this.adapters.entityServer.setRoutingBucket(this.session.handle, bucket);
140
+ this.adapters.entityServer.setDimension(this.session.handle, bucket);
141
141
  this.session.routingBucket = bucket;
142
142
  this._dimension = bucket;
143
143
  }
@@ -147,7 +147,7 @@ export class NPC extends BaseEntity {
147
147
  * @returns Routing bucket.
148
148
  */
149
149
  getRoutingBucket() {
150
- return this.adapters.entityServer.getRoutingBucket(this.session.handle);
150
+ return this.adapters.entityServer.getDimension(this.session.handle);
151
151
  }
152
152
  /**
153
153
  * Current dimension of the NPC.
@@ -272,7 +272,7 @@ export class NPC extends BaseEntity {
272
272
  delete() {
273
273
  if (!this.exists)
274
274
  return;
275
- this.adapters.pedServer.delete(this.session.handle);
275
+ void this.adapters.npcLifecycle.delete({ handle: this.session.handle });
276
276
  }
277
277
  /**
278
278
  * Serialize the NPC into a transport-friendly plain object.
@@ -1,6 +1,8 @@
1
1
  import { IPlayerInfo } from '../../../adapters';
2
2
  import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
3
3
  import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
4
+ import { IPlayerLifecycleServer } from '../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
5
+ import { IPlayerStateSyncServer } from '../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
4
6
  import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
5
7
  import type { PlayerIdentifier } from '../../../adapters/contracts/types/identifier';
6
8
  import { Vector3 } from '../../../kernel/utils/vector3';
@@ -17,6 +19,8 @@ import { NativeHandle } from 'src/runtime/core/nativehandle';
17
19
  export interface PlayerAdapters {
18
20
  playerInfo: IPlayerInfo;
19
21
  playerServer: IPlayerServer;
22
+ playerLifecycle: IPlayerLifecycleServer;
23
+ playerStateSync: IPlayerStateSyncServer;
20
24
  entityServer: IEntityServer;
21
25
  events: EventsAPI<'server'>;
22
26
  defaultSpawnModel: string;
@@ -36,6 +40,7 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
36
40
  private readonly session;
37
41
  private readonly adapters;
38
42
  private _position;
43
+ private _model;
39
44
  /**
40
45
  * Creates a new Player entity instance.
41
46
  * This is typically instantiated by the `PlayerService` upon connection.
@@ -117,23 +122,13 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
117
122
  * @param model - The ped model to use (default from platform capabilities)
118
123
  */
119
124
  spawn(vector: Vector3, model?: string): void;
125
+ respawn(vector: Vector3, model?: string): void;
120
126
  /**
121
127
  * Disconnects the player from the server.
122
128
  *
123
129
  * @param reason - The message displayed to the player upon disconnection.
124
130
  */
125
131
  kick(reason?: string): void;
126
- /**
127
- * Sets the routing bucket (virtual world/dimension) for the player.
128
- * Players in different buckets cannot see or interact with each other.
129
- *
130
- * @param bucket - The bucket ID (0 is the default shared world).
131
- */
132
- setRoutingBucket(bucket: number): void;
133
- /**
134
- * Gets the current routing bucket.
135
- */
136
- getRoutingBucket(): number;
137
132
  /**
138
133
  * Sets the player dimension (alias for setRoutingBucket).
139
134
  */
@@ -218,6 +213,8 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
218
213
  * @param armor - Armor value to set (typically 0-100).
219
214
  */
220
215
  setArmor(armor: number): void;
216
+ get model(): string | undefined;
217
+ set model(model: string);
221
218
  /**
222
219
  * Kills the player by setting health to 0.
223
220
  */
@@ -1,3 +1,4 @@
1
+ import { loggers } from '../../../kernel/logger';
1
2
  import { BaseEntity } from '../../core/entity';
2
3
  /**
3
4
  * Core-level representation of a connected player on the server.
@@ -14,6 +15,7 @@ export class Player extends BaseEntity {
14
15
  session;
15
16
  adapters;
16
17
  _position;
18
+ _model;
17
19
  /**
18
20
  * Creates a new Player entity instance.
19
21
  * This is typically instantiated by the `PlayerService` upon connection.
@@ -133,7 +135,13 @@ export class Player extends BaseEntity {
133
135
  * @param vector - The target coordinates (x, y, z).
134
136
  */
135
137
  teleport(vector) {
136
- this.emit('opencore:spawner:teleport', vector);
138
+ const request = { position: vector };
139
+ void Promise.resolve(this.adapters.playerLifecycle.teleport(this.clientID.toString(), request)).catch((error) => {
140
+ loggers.spawn.error('Failed to teleport player', {
141
+ clientID: this.clientID,
142
+ error: error instanceof Error ? error.message : String(error),
143
+ });
144
+ });
137
145
  }
138
146
  /**
139
147
  * Spawns the player at a position with a specific model.
@@ -142,7 +150,22 @@ export class Player extends BaseEntity {
142
150
  * @param model - The ped model to use (default from platform capabilities)
143
151
  */
144
152
  spawn(vector, model = this.adapters.defaultSpawnModel) {
145
- this.emit('opencore:spawner:spawn', { position: vector, model });
153
+ const request = { position: vector, model };
154
+ void Promise.resolve(this.adapters.playerLifecycle.spawn(this.clientID.toString(), request)).catch((error) => {
155
+ loggers.spawn.error('Failed to spawn player', {
156
+ clientID: this.clientID,
157
+ error: error instanceof Error ? error.message : String(error),
158
+ });
159
+ });
160
+ }
161
+ respawn(vector, model = this.adapters.defaultSpawnModel) {
162
+ const request = { position: vector, model };
163
+ void Promise.resolve(this.adapters.playerLifecycle.respawn(this.clientID.toString(), request)).catch((error) => {
164
+ loggers.spawn.error('Failed to respawn player', {
165
+ clientID: this.clientID,
166
+ error: error instanceof Error ? error.message : String(error),
167
+ });
168
+ });
146
169
  }
147
170
  // ─────────────────────────────────────────────────────────────────
148
171
  // Connection Management
@@ -158,33 +181,18 @@ export class Player extends BaseEntity {
158
181
  // ─────────────────────────────────────────────────────────────────
159
182
  // Dimension / Routing Bucket
160
183
  // ─────────────────────────────────────────────────────────────────
161
- /**
162
- * Sets the routing bucket (virtual world/dimension) for the player.
163
- * Players in different buckets cannot see or interact with each other.
164
- *
165
- * @param bucket - The bucket ID (0 is the default shared world).
166
- */
167
- setRoutingBucket(bucket) {
168
- this.adapters.playerServer.setRoutingBucket(this.clientID.toString(), bucket);
169
- this._dimension = bucket;
170
- }
171
- /**
172
- * Gets the current routing bucket.
173
- */
174
- getRoutingBucket() {
175
- return this.adapters.playerServer.getRoutingBucket(this.clientID.toString());
176
- }
177
184
  /**
178
185
  * Sets the player dimension (alias for setRoutingBucket).
179
186
  */
180
187
  set dimension(value) {
181
- this.setRoutingBucket(value);
188
+ this.adapters.playerServer.setDimension(this.clientID.toString(), value);
189
+ this._dimension = value;
182
190
  }
183
191
  /**
184
192
  * Gets the player dimension (alias for getRoutingBucket).
185
193
  */
186
194
  get dimension() {
187
- return this.getRoutingBucket();
195
+ return this.adapters.playerServer.getDimension(this.clientID.toString());
188
196
  }
189
197
  // ─────────────────────────────────────────────────────────────────
190
198
  // Session Metadata (Transient)
@@ -276,8 +284,7 @@ export class Player extends BaseEntity {
276
284
  * Gets the current health of the player's ped.
277
285
  */
278
286
  getHealth() {
279
- const ped = this.adapters.playerServer.getPed(this.clientID.toString());
280
- return this.adapters.entityServer.getHealth(ped);
287
+ return this.adapters.playerStateSync.getHealth(this.clientID.toString());
281
288
  }
282
289
  /**
283
290
  * Sets the health of the player's ped.
@@ -285,15 +292,13 @@ export class Player extends BaseEntity {
285
292
  * @param health - Health value to set (platform-specific range).
286
293
  */
287
294
  setHealth(health) {
288
- const ped = this.adapters.playerServer.getPed(this.clientID.toString());
289
- this.adapters.entityServer.setHealth(ped, health);
295
+ this.adapters.playerStateSync.setHealth(this.clientID.toString(), health);
290
296
  }
291
297
  /**
292
298
  * Gets the current armor of the player's ped.
293
299
  */
294
300
  getArmor() {
295
- const ped = this.adapters.playerServer.getPed(this.clientID.toString());
296
- return this.adapters.entityServer.getArmor(ped);
301
+ return this.adapters.playerStateSync.getArmor(this.clientID.toString());
297
302
  }
298
303
  /**
299
304
  * Sets the armor of the player's ped.
@@ -301,8 +306,14 @@ export class Player extends BaseEntity {
301
306
  * @param armor - Armor value to set (typically 0-100).
302
307
  */
303
308
  setArmor(armor) {
304
- const ped = this.adapters.playerServer.getPed(this.clientID.toString());
305
- this.adapters.entityServer.setArmor(ped, armor);
309
+ this.adapters.playerStateSync.setArmor(this.clientID.toString(), armor);
310
+ }
311
+ get model() {
312
+ return this._model;
313
+ }
314
+ set model(model) {
315
+ this.adapters.playerServer.setModel(this.clientID.toString(), model);
316
+ this._model = model;
306
317
  }
307
318
  /**
308
319
  * Kills the player by setting health to 0.
@@ -154,13 +154,13 @@ export class Vehicle extends BaseEntity {
154
154
  if (!this.exists) {
155
155
  return this.session.routingBucket;
156
156
  }
157
- return this.adapters.entityServer.getRoutingBucket(this.session.handle);
157
+ return this.adapters.entityServer.getDimension(this.session.handle);
158
158
  }
159
159
  /** Sets routing bucket and updates local dimension snapshot. */
160
160
  setRoutingBucket(bucket) {
161
161
  if (!this.exists)
162
162
  return;
163
- this.adapters.entityServer.setRoutingBucket(this.session.handle, bucket);
163
+ this.adapters.entityServer.setDimension(this.session.handle, bucket);
164
164
  this.session.routingBucket = bucket;
165
165
  this._dimension = bucket;
166
166
  }
@@ -1,5 +1,13 @@
1
+ import { GLOBAL_CONTAINER } from '../../kernel/di/container';
1
2
  import { AppError, isAppError } from '../../kernel/error/app.error';
2
3
  import { loggers } from '../../kernel/logger';
4
+ import { EventsAPI } from '../../adapters/contracts/transport/events.api';
5
+ function getServerEvents() {
6
+ if (!GLOBAL_CONTAINER.isRegistered(EventsAPI)) {
7
+ return null;
8
+ }
9
+ return GLOBAL_CONTAINER.resolve(EventsAPI);
10
+ }
3
11
  function normalizeError(error, origin) {
4
12
  if (isAppError(error)) {
5
13
  return error;
@@ -21,16 +29,19 @@ export function handleCommandError(error, meta, playerId) {
21
29
  details: appError.details,
22
30
  });
23
31
  if (playerId !== null) {
32
+ const events = getServerEvents();
33
+ if (!events)
34
+ return;
24
35
  switch (appError.code) {
25
36
  case 'ECONOMY:INSUFFICIENT_FUNDS':
26
37
  case 'AUTH:PERMISSION_DENIED':
27
38
  case 'AUTH:UNAUTHORIZED':
28
- emitNet('chat:addMessage', playerId, {
39
+ events.emit('chat:addMessage', playerId, {
29
40
  args: ['^1Error', appError.message],
30
41
  });
31
42
  break;
32
43
  default:
33
- emitNet('chat:addMessage', playerId, {
44
+ events.emit('chat:addMessage', playerId, {
34
45
  args: ['^1Error', 'Ha ocurrido un error interno.'],
35
46
  });
36
47
  break;
@@ -1,7 +1,7 @@
1
1
  import z from 'zod';
2
2
  import { AppError } from '../../../kernel';
3
3
  import { generateSchemaFromTypes } from '../system/schema-generator';
4
- import { processTupleSchema } from './process-tuple-schema';
4
+ import { processTupleSchema } from '../../shared/helpers/process-tuple-schema';
5
5
  export async function validateAndExecuteCommand(meta, player, args, handler) {
6
6
  const paramNames = meta.expectsPlayer ? meta.paramNames.slice(1) : meta.paramNames;
7
7
  let schema = meta.schema;
@@ -1,7 +1,9 @@
1
1
  import { IPlayerInfo } from '../../../../adapters';
2
- import { IPlatformCapabilities } from '../../../../adapters/contracts/IPlatformCapabilities';
2
+ import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
3
3
  import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
4
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';
5
7
  import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
6
8
  import { WorldContext } from '../../../core/world';
7
9
  import { Player } from '../../entities';
@@ -22,11 +24,13 @@ export declare class LocalPlayerImplementation implements Players, PlayerSession
22
24
  private readonly world;
23
25
  private readonly playerInfo;
24
26
  private readonly playerServer;
27
+ private readonly playerLifecycle;
28
+ private readonly playerStateSync;
25
29
  private readonly entityServer;
26
30
  private readonly events;
27
- private readonly platformCapabilities;
31
+ private readonly platformContext;
28
32
  private readonly playerAdapters;
29
- constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, entityServer: IEntityServer, events: EventsAPI<'server'>, platformCapabilities: IPlatformCapabilities);
33
+ constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, playerLifecycle: IPlayerLifecycleServer, playerStateSync: IPlayerStateSyncServer, entityServer: IEntityServer, events: EventsAPI<'server'>, platformContext: IPlatformContext);
30
34
  private isPlayer;
31
35
  /**
32
36
  * Initializes a new player session for a connecting client.
@@ -12,13 +12,15 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { inject, injectable } from 'tsyringe';
14
14
  import { IPlayerInfo } from '../../../../adapters';
15
- import { IPlatformCapabilities } from '../../../../adapters/contracts/IPlatformCapabilities';
15
+ import { IPlatformContext } from '../../../../adapters/contracts/IPlatformContext';
16
16
  import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
17
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';
18
20
  import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
19
21
  import { loggers } from '../../../../kernel/logger';
20
22
  import { WorldContext } from '../../../core/world';
21
- import { Player } from '../../entities';
23
+ import { createLocalServerPlayer } from '../../adapter/registry';
22
24
  /**
23
25
  * Service responsible for managing the lifecycle of player sessions.
24
26
  * It acts as the central registry for all connected players, mapping FiveM client IDs
@@ -32,21 +34,27 @@ let LocalPlayerImplementation = class LocalPlayerImplementation {
32
34
  world;
33
35
  playerInfo;
34
36
  playerServer;
37
+ playerLifecycle;
38
+ playerStateSync;
35
39
  entityServer;
36
40
  events;
37
- platformCapabilities;
41
+ platformContext;
38
42
  playerAdapters;
39
- constructor(world, playerInfo, playerServer, entityServer, events, platformCapabilities) {
43
+ constructor(world, playerInfo, playerServer, playerLifecycle, playerStateSync, entityServer, events, platformContext) {
40
44
  this.world = world;
41
45
  this.playerInfo = playerInfo;
42
46
  this.playerServer = playerServer;
47
+ this.playerLifecycle = playerLifecycle;
48
+ this.playerStateSync = playerStateSync;
43
49
  this.entityServer = entityServer;
44
50
  this.events = events;
45
- this.platformCapabilities = platformCapabilities;
46
- const defaultSpawnModel = this.platformCapabilities.getConfig('defaultSpawnModel') ?? 'mp_m_freemode_01';
51
+ this.platformContext = platformContext;
52
+ const defaultSpawnModel = this.platformContext.defaultSpawnModel;
47
53
  this.playerAdapters = {
48
54
  playerInfo: this.playerInfo,
49
55
  playerServer: this.playerServer,
56
+ playerLifecycle: this.playerLifecycle,
57
+ playerStateSync: this.playerStateSync,
50
58
  entityServer: this.entityServer,
51
59
  events: this.events,
52
60
  defaultSpawnModel,
@@ -71,7 +79,7 @@ let LocalPlayerImplementation = class LocalPlayerImplementation {
71
79
  identifiers,
72
80
  meta: {},
73
81
  };
74
- const player = new Player(session, this.playerAdapters);
82
+ const player = createLocalServerPlayer(session, this.playerAdapters);
75
83
  this.world.add(player);
76
84
  loggers.session.debug('Player session bound', {
77
85
  clientID,
@@ -191,14 +199,18 @@ LocalPlayerImplementation = __decorate([
191
199
  __param(0, inject(WorldContext)),
192
200
  __param(1, inject(IPlayerInfo)),
193
201
  __param(2, inject(IPlayerServer)),
194
- __param(3, inject(IEntityServer)),
195
- __param(4, inject(EventsAPI)),
196
- __param(5, inject(IPlatformCapabilities)),
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)),
197
207
  __metadata("design:paramtypes", [WorldContext,
198
208
  IPlayerInfo,
199
209
  IPlayerServer,
210
+ IPlayerLifecycleServer,
211
+ IPlayerStateSyncServer,
200
212
  IEntityServer,
201
213
  EventsAPI,
202
- IPlatformCapabilities])
214
+ IPlatformContext])
203
215
  ], LocalPlayerImplementation);
204
216
  export { LocalPlayerImplementation };
@@ -1,4 +1,5 @@
1
1
  import { IExports } from '../../../../adapters/contracts/IExports';
2
+ import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
2
3
  import { RGB } from '../../../../kernel/utils/rgb';
3
4
  import { Channel } from '../../concepts/channel';
4
5
  import { Player } from '../../entities/player';
@@ -21,7 +22,7 @@ export declare class RemoteChannelImplementation extends Channels {
21
22
  private exportsService;
22
23
  private readonly players;
23
24
  private resourceName;
24
- constructor(exportsService: IExports, players: Players);
25
+ constructor(exportsService: IExports, resourceInfo: IResourceInfo, players: Players);
25
26
  /**
26
27
  * Gets typed access to CORE resource exports.
27
28
  */
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { inject, injectable } from 'tsyringe';
14
14
  import { IExports } from '../../../../adapters/contracts/IExports';
15
+ import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
15
16
  import { loggers } from '../../../../kernel/logger';
16
17
  import { Channel } from '../../concepts/channel';
17
18
  import { getRuntimeContext } from '../../runtime';
@@ -34,11 +35,11 @@ let RemoteChannelImplementation = class RemoteChannelImplementation extends Chan
34
35
  exportsService;
35
36
  players;
36
37
  resourceName;
37
- constructor(exportsService, players) {
38
+ constructor(exportsService, resourceInfo, players) {
38
39
  super();
39
40
  this.exportsService = exportsService;
40
41
  this.players = players;
41
- this.resourceName = GetCurrentResourceName();
42
+ this.resourceName = resourceInfo.getCurrentResourceName();
42
43
  }
43
44
  /**
44
45
  * Gets typed access to CORE resource exports.
@@ -159,7 +160,9 @@ let RemoteChannelImplementation = class RemoteChannelImplementation extends Chan
159
160
  RemoteChannelImplementation = __decorate([
160
161
  injectable(),
161
162
  __param(0, inject(IExports)),
163
+ __param(1, inject(IResourceInfo)),
162
164
  __metadata("design:paramtypes", [IExports,
165
+ IResourceInfo,
163
166
  Players])
164
167
  ], RemoteChannelImplementation);
165
168
  export { RemoteChannelImplementation };
@@ -1,4 +1,5 @@
1
1
  import { IExports } from '../../../../adapters/contracts/IExports';
2
+ import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
2
3
  import { CommandMetadata } from '../../decorators/command';
3
4
  import { Player } from '../../entities';
4
5
  import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/command-execution.port';
@@ -23,9 +24,10 @@ import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/com
23
24
  */
24
25
  export declare class RemoteCommandImplementation extends CommandExecutionPort {
25
26
  private exportsService;
27
+ private readonly resourceInfo;
26
28
  private commands;
27
29
  getCommandMeta(commandName: string): CommandMetadata | undefined;
28
- constructor(exportsService: IExports);
30
+ constructor(exportsService: IExports, resourceInfo: IResourceInfo);
29
31
  /**
30
32
  * Gets typed access to CORE resource exports.
31
33
  */
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { inject, injectable } from 'tsyringe';
14
14
  import { IExports } from '../../../../adapters/contracts/IExports';
15
+ import { IResourceInfo } from '../../../../adapters/contracts/IResourceInfo';
15
16
  import { AppError } from '../../../../kernel/error/app.error';
16
17
  import { loggers } from '../../../../kernel/logger';
17
18
  import { validateAndExecuteCommand } from '../../helpers/command-validation.helper';
@@ -38,13 +39,15 @@ import { CommandExecutionPort } from '../../ports/internal/command-execution.por
38
39
  */
39
40
  let RemoteCommandImplementation = class RemoteCommandImplementation extends CommandExecutionPort {
40
41
  exportsService;
42
+ resourceInfo;
41
43
  commands = new Map();
42
44
  getCommandMeta(commandName) {
43
45
  return this.commands.get(commandName.toLowerCase())?.meta;
44
46
  }
45
- constructor(exportsService) {
47
+ constructor(exportsService, resourceInfo) {
46
48
  super();
47
49
  this.exportsService = exportsService;
50
+ this.resourceInfo = resourceInfo;
48
51
  }
49
52
  /**
50
53
  * Gets typed access to CORE resource exports.
@@ -68,7 +71,7 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
68
71
  */
69
72
  register(metadata, handler) {
70
73
  const commandKey = metadata.command.toLowerCase();
71
- const resourceName = GetCurrentResourceName();
74
+ const resourceName = this.resourceInfo.getCurrentResourceName();
72
75
  loggers.command.debug(`Registering command locally`, {
73
76
  command: metadata.command,
74
77
  resource: resourceName,
@@ -132,7 +135,7 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
132
135
  if (!entry) {
133
136
  loggers.command.error(`Handler not found for remote command: ${commandName}`, {
134
137
  command: commandName,
135
- resource: GetCurrentResourceName(),
138
+ resource: this.resourceInfo.getCurrentResourceName(),
136
139
  });
137
140
  throw new AppError('COMMAND:NOT_FOUND', `Command not found: ${commandName}`, 'server');
138
141
  }
@@ -149,6 +152,8 @@ let RemoteCommandImplementation = class RemoteCommandImplementation extends Comm
149
152
  RemoteCommandImplementation = __decorate([
150
153
  injectable(),
151
154
  __param(0, inject(IExports)),
152
- __metadata("design:paramtypes", [IExports])
155
+ __param(1, inject(IResourceInfo)),
156
+ __metadata("design:paramtypes", [IExports,
157
+ IResourceInfo])
153
158
  ], RemoteCommandImplementation);
154
159
  export { RemoteCommandImplementation };