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

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 (397) hide show
  1. package/dist/adapters/contracts/IEngineEvents.d.ts +5 -2
  2. package/dist/adapters/contracts/IEngineEvents.js +7 -0
  3. package/dist/adapters/contracts/IExports.d.ts +2 -2
  4. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  5. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  6. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +25 -0
  7. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +8 -0
  8. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  9. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  10. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  11. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  12. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  13. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  14. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  15. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  16. package/dist/adapters/contracts/client/camera/IClientCameraPort.d.ts +107 -0
  17. package/dist/adapters/contracts/client/camera/IClientCameraPort.js +8 -0
  18. package/dist/adapters/contracts/client/camera/index.d.ts +1 -0
  19. package/dist/adapters/contracts/client/camera/index.js +1 -0
  20. package/dist/adapters/contracts/client/index.d.ts +11 -0
  21. package/dist/adapters/contracts/client/index.js +11 -0
  22. package/dist/adapters/contracts/client/ped/IClientPedPort.d.ts +62 -0
  23. package/dist/adapters/contracts/client/ped/IClientPedPort.js +5 -0
  24. package/dist/adapters/contracts/client/ped/index.d.ts +1 -0
  25. package/dist/adapters/contracts/client/ped/index.js +1 -0
  26. package/dist/adapters/contracts/client/progress/IClientProgressPort.d.ts +53 -0
  27. package/dist/adapters/contracts/client/progress/IClientProgressPort.js +8 -0
  28. package/dist/adapters/contracts/client/progress/index.d.ts +1 -0
  29. package/dist/adapters/contracts/client/progress/index.js +1 -0
  30. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +6 -0
  31. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +6 -0
  32. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.d.ts +19 -0
  33. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.js +2 -0
  34. package/dist/adapters/contracts/client/spawn/index.d.ts +4 -0
  35. package/dist/adapters/contracts/client/spawn/index.js +4 -0
  36. package/dist/adapters/contracts/client/spawn/types.d.ts +17 -0
  37. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  38. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  39. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  40. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  41. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  42. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  43. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  44. package/dist/adapters/contracts/client/ui/index.js +4 -0
  45. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +14 -0
  46. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  47. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  48. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  49. package/dist/adapters/contracts/client/ui/webview/types.d.ts +27 -0
  50. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  51. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.d.ts +166 -0
  52. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.js +8 -0
  53. package/dist/adapters/contracts/client/vehicle/index.d.ts +1 -0
  54. package/dist/adapters/contracts/client/vehicle/index.js +1 -0
  55. package/dist/adapters/contracts/index.d.ts +4 -2
  56. package/dist/adapters/contracts/index.js +4 -3
  57. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  58. package/dist/adapters/contracts/runtime/index.js +1 -0
  59. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  60. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  61. package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
  62. package/dist/adapters/contracts/server/IEntityServer.js +0 -26
  63. package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
  64. package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
  65. package/dist/adapters/contracts/server/index.d.ts +10 -0
  66. package/dist/adapters/contracts/server/index.js +10 -0
  67. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  68. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  69. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  70. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  71. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  72. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  73. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  74. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  75. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  76. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  77. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  78. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  79. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  80. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  81. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  82. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  83. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  84. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  85. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  86. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  87. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  88. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  89. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  90. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  91. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  92. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  93. package/dist/adapters/contracts/transport/events.api.d.ts +3 -3
  94. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  95. package/dist/adapters/contracts/transport/index.js +4 -0
  96. package/dist/adapters/contracts/transport/rpc.api.d.ts +3 -3
  97. package/dist/adapters/index.d.ts +3 -14
  98. package/dist/adapters/index.js +3 -20
  99. package/dist/adapters/node/node-capabilities.d.ts +11 -11
  100. package/dist/adapters/node/node-capabilities.js +15 -27
  101. package/dist/adapters/node/node-engine-events.d.ts +1 -1
  102. package/dist/adapters/node/node-engine-events.js +2 -1
  103. package/dist/adapters/node/node-entity-server.d.ts +2 -2
  104. package/dist/adapters/node/node-entity-server.js +2 -2
  105. package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
  106. package/dist/adapters/node/node-ped-appearance-client.js +2 -2
  107. package/dist/adapters/node/node-platform.js +4 -4
  108. package/dist/adapters/node/node-player-server.d.ts +3 -2
  109. package/dist/adapters/node/node-player-server.js +8 -2
  110. package/dist/adapters/node/transport/node.events.d.ts +4 -4
  111. package/dist/adapters/node/transport/node.rpc.d.ts +3 -3
  112. package/dist/adapters/node/transport/node.rpc.js +1 -1
  113. package/dist/adapters/register-capabilities.d.ts +1 -1
  114. package/dist/adapters/register-capabilities.js +1 -3
  115. package/dist/adapters/register-client-capabilities.d.ts +3 -2
  116. package/dist/adapters/register-client-capabilities.js +16 -41
  117. package/dist/contracts/client.d.ts +5 -0
  118. package/dist/contracts/client.js +5 -0
  119. package/dist/contracts/server.d.ts +19 -0
  120. package/dist/contracts/server.js +19 -0
  121. package/dist/contracts.d.ts +5 -0
  122. package/dist/contracts.js +5 -0
  123. package/dist/index.d.ts +2 -1
  124. package/dist/index.js +2 -1
  125. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  126. package/dist/kernel/logger/client-log-console.js +43 -0
  127. package/dist/kernel/logger/core-logger.d.ts +3 -1
  128. package/dist/kernel/logger/core-logger.js +4 -2
  129. package/dist/kernel/logger/index.d.ts +3 -1
  130. package/dist/kernel/logger/index.js +2 -1
  131. package/dist/kernel/logger/logger.types.d.ts +1 -0
  132. package/dist/kernel/logger/logger.types.js +35 -0
  133. package/dist/kernel/logger/transports/buffered.transport.js +4 -4
  134. package/dist/kernel/logger/transports/console.transport.js +2 -2
  135. package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
  136. package/dist/kernel/logger/transports/simple-console.transport.js +15 -10
  137. package/dist/kernel-public.d.ts +1 -0
  138. package/dist/kernel-public.js +1 -0
  139. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  140. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  141. package/dist/runtime/client/adapter/index.d.ts +20 -0
  142. package/dist/runtime/client/adapter/index.js +20 -0
  143. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  144. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  145. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  146. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  147. package/dist/runtime/client/adapter/node-camera-port.d.ts +19 -0
  148. package/dist/runtime/client/adapter/node-camera-port.js +31 -0
  149. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  150. package/dist/runtime/client/adapter/node-client-adapter.js +64 -0
  151. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +11 -0
  152. package/dist/runtime/client/adapter/node-local-player-bridge.js +27 -0
  153. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  154. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  155. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  156. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  157. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  158. package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-notification-bridge.js} +7 -11
  159. package/dist/runtime/client/adapter/node-ped-port.d.ts +20 -0
  160. package/dist/runtime/client/adapter/node-ped-port.js +38 -0
  161. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  162. package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
  163. package/dist/runtime/client/adapter/node-progress-port.d.ts +8 -0
  164. package/dist/runtime/client/adapter/node-progress-port.js +27 -0
  165. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +22 -0
  166. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  167. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  168. package/dist/runtime/client/adapter/node-spawn-bridge.js +22 -0
  169. package/dist/runtime/client/adapter/node-vehicle-port.d.ts +31 -0
  170. package/dist/runtime/client/adapter/node-vehicle-port.js +73 -0
  171. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +16 -0
  172. package/dist/runtime/client/adapter/node-webview-bridge.js +45 -0
  173. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  174. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  175. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  176. package/dist/runtime/client/adapter/registry.js +85 -0
  177. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  178. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  179. package/dist/runtime/client/api.d.ts +2 -1
  180. package/dist/runtime/client/api.js +2 -1
  181. package/dist/runtime/client/client-bootstrap.js +51 -44
  182. package/dist/runtime/client/client-core.d.ts +2 -0
  183. package/dist/runtime/client/client-core.js +9 -0
  184. package/dist/runtime/client/client-runtime.d.ts +3 -0
  185. package/dist/runtime/client/client-runtime.js +3 -0
  186. package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
  187. package/dist/runtime/client/controllers/appearance.controller.js +17 -6
  188. package/dist/runtime/client/controllers/spawner.controller.js +6 -3
  189. package/dist/runtime/client/decorators/controller.js +2 -10
  190. package/dist/runtime/client/decorators/onView.d.ts +3 -3
  191. package/dist/runtime/client/decorators/onView.js +3 -3
  192. package/dist/runtime/client/index.d.ts +1 -0
  193. package/dist/runtime/client/index.js +1 -0
  194. package/dist/runtime/client/library/create-client-library.js +9 -1
  195. package/dist/runtime/client/services/appearance.service.d.ts +2 -2
  196. package/dist/runtime/client/services/appearance.service.js +7 -4
  197. package/dist/runtime/client/services/blip.service.d.ts +6 -93
  198. package/dist/runtime/client/services/blip.service.js +58 -153
  199. package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
  200. package/dist/runtime/client/services/camera-effects.registry.js +20 -7
  201. package/dist/runtime/client/services/camera.d.ts +4 -106
  202. package/dist/runtime/client/services/camera.js +36 -98
  203. package/dist/runtime/client/services/cinematic.d.ts +5 -1
  204. package/dist/runtime/client/services/cinematic.js +45 -30
  205. package/dist/runtime/client/services/index.d.ts +1 -0
  206. package/dist/runtime/client/services/index.js +1 -0
  207. package/dist/runtime/client/services/marker.service.d.ts +12 -63
  208. package/dist/runtime/client/services/marker.service.js +62 -97
  209. package/dist/runtime/client/services/notification.service.d.ts +6 -57
  210. package/dist/runtime/client/services/notification.service.js +43 -81
  211. package/dist/runtime/client/services/ped.service.d.ts +6 -148
  212. package/dist/runtime/client/services/ped.service.js +42 -221
  213. package/dist/runtime/client/services/progress.service.d.ts +4 -75
  214. package/dist/runtime/client/services/progress.service.js +20 -178
  215. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  216. package/dist/runtime/client/services/session-bridge.service.js +62 -0
  217. package/dist/runtime/client/services/spawn.service.d.ts +4 -56
  218. package/dist/runtime/client/services/spawn.service.js +29 -191
  219. package/dist/runtime/client/services/streaming.service.d.ts +5 -126
  220. package/dist/runtime/client/services/streaming.service.js +72 -217
  221. package/dist/runtime/client/services/textui.service.d.ts +5 -45
  222. package/dist/runtime/client/services/textui.service.js +55 -88
  223. package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
  224. package/dist/runtime/client/services/vehicle-client.service.js +128 -374
  225. package/dist/runtime/client/services/vehicle.service.d.ts +4 -147
  226. package/dist/runtime/client/services/vehicle.service.js +33 -239
  227. package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
  228. package/dist/runtime/client/system/processors/export.processor.js +16 -3
  229. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
  230. package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
  231. package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
  232. package/dist/runtime/client/system/processors/interval.processor.js +17 -4
  233. package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
  234. package/dist/runtime/client/system/processors/key.processor.js +18 -5
  235. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
  236. package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
  237. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
  238. package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
  239. package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
  240. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
  241. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
  242. package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
  243. package/dist/runtime/client/system/processors/tick.processor.js +16 -3
  244. package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
  245. package/dist/runtime/client/system/processors/view.processor.js +21 -10
  246. package/dist/runtime/client/system/processors.register.d.ts +1 -0
  247. package/dist/runtime/client/system/processors.register.js +8 -0
  248. package/dist/runtime/client/ui-bridge.d.ts +2 -114
  249. package/dist/runtime/client/ui-bridge.js +2 -194
  250. package/dist/runtime/client/webview-bridge.d.ts +34 -0
  251. package/dist/runtime/client/webview-bridge.js +103 -0
  252. package/dist/runtime/client/webview.service.d.ts +15 -0
  253. package/dist/runtime/client/webview.service.js +103 -0
  254. package/dist/runtime/server/adapter/index.d.ts +5 -0
  255. package/dist/runtime/server/adapter/index.js +5 -0
  256. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  257. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  258. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  259. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +95 -0
  260. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  261. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +56 -0
  262. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  263. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  264. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  265. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  266. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  267. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +58 -0
  268. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  269. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  270. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  271. package/dist/runtime/server/adapter/registry.js +101 -0
  272. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  273. package/dist/runtime/server/adapter/serialization.js +9 -0
  274. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  275. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  276. package/dist/runtime/server/api.d.ts +2 -1
  277. package/dist/runtime/server/api.js +2 -1
  278. package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
  279. package/dist/runtime/server/apis/appearance.api.js +20 -7
  280. package/dist/runtime/server/apis/chat.api.js +6 -5
  281. package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
  282. package/dist/runtime/server/apis/npcs.api.js +28 -57
  283. package/dist/runtime/server/apis/parallel-compute.api.js +1 -0
  284. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
  285. package/dist/runtime/server/apis/vehicle-modification.api.js +13 -6
  286. package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
  287. package/dist/runtime/server/apis/vehicles.api.js +55 -40
  288. package/dist/runtime/server/bootstrap.js +28 -19
  289. package/dist/runtime/server/controllers/channel.controller.js +2 -1
  290. package/dist/runtime/server/controllers/command-export.controller.js +5 -3
  291. package/dist/runtime/server/controllers/player-export.controller.js +5 -4
  292. package/dist/runtime/server/controllers/remote-command-execution.controller.js +2 -1
  293. package/dist/runtime/server/controllers/session.controller.js +3 -2
  294. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
  295. package/dist/runtime/server/controllers/vehicle.controller.js +13 -7
  296. package/dist/runtime/server/core.d.ts +2 -0
  297. package/dist/runtime/server/core.js +9 -1
  298. package/dist/runtime/server/decorators/command.d.ts +2 -0
  299. package/dist/runtime/server/decorators/command.js +3 -1
  300. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
  301. package/dist/runtime/server/entities/npc.d.ts +3 -1
  302. package/dist/runtime/server/entities/npc.js +3 -3
  303. package/dist/runtime/server/entities/player.d.ts +9 -12
  304. package/dist/runtime/server/entities/player.js +49 -31
  305. package/dist/runtime/server/entities/vehicle.js +2 -2
  306. package/dist/runtime/server/error-handler.js +13 -2
  307. package/dist/runtime/server/helpers/command-validation.helper.js +21 -8
  308. package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
  309. package/dist/runtime/server/helpers/function-helper.js +15 -8
  310. package/dist/runtime/server/implementations/local/channel.local.d.ts +1 -1
  311. package/dist/runtime/server/implementations/local/channel.local.js +3 -2
  312. package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
  313. package/dist/runtime/server/implementations/local/player.local.js +23 -11
  314. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
  315. package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
  316. package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
  317. package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
  318. package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
  319. package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
  320. package/dist/runtime/server/library/create-server-library.js +17 -2
  321. package/dist/runtime/server/ports/channel.api-port.d.ts +1 -1
  322. package/dist/runtime/server/runtime.d.ts +3 -0
  323. package/dist/runtime/server/runtime.js +1 -15
  324. package/dist/runtime/server/services/appearance.service.d.ts +0 -95
  325. package/dist/runtime/server/services/appearance.service.js +15 -192
  326. package/dist/runtime/server/services/parallel/worker-pool.d.ts +1 -1
  327. package/dist/runtime/server/services/parallel/worker-pool.js +38 -6
  328. package/dist/runtime/server/services/parallel/worker.js +1 -0
  329. package/dist/runtime/server/services/services.register.js +56 -24
  330. package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
  331. package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
  332. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
  333. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
  334. package/dist/runtime/server/system/schema-generator.d.ts +1 -1
  335. package/dist/runtime/server/system/schema-generator.js +6 -3
  336. package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
  337. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  338. package/dist/runtime/shared/helpers/process-tuple-schema.js +32 -0
  339. package/dist/runtime/shared/types/system-types.d.ts +55 -0
  340. package/dist/runtime/shared/types/system-types.js +54 -0
  341. package/package.json +41 -13
  342. package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
  343. package/dist/adapters/cfx/cfx-capabilities.js +0 -70
  344. package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
  345. package/dist/adapters/cfx/cfx-platform.js +0 -85
  346. package/dist/adapters/cfx/index.d.ts +0 -3
  347. package/dist/adapters/cfx/index.js +0 -3
  348. package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
  349. package/dist/adapters/cfx/runtime-profile.js +0 -37
  350. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
  351. package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
  352. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
  353. package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
  354. package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
  355. package/dist/adapters/fivem/fivem-capabilities.js +0 -61
  356. package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
  357. package/dist/adapters/fivem/fivem-engine-events.js +0 -24
  358. package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
  359. package/dist/adapters/fivem/fivem-entity-server.js +0 -87
  360. package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
  361. package/dist/adapters/fivem/fivem-exports.js +0 -9
  362. package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
  363. package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
  364. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
  365. package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
  366. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
  367. package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
  368. package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
  369. package/dist/adapters/fivem/fivem-ped-server.js +0 -30
  370. package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
  371. package/dist/adapters/fivem/fivem-platform.js +0 -74
  372. package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
  373. package/dist/adapters/fivem/fivem-player-server.js +0 -83
  374. package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
  375. package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
  376. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
  377. package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
  378. package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
  379. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
  380. package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
  381. package/dist/adapters/fivem/index.d.ts +0 -14
  382. package/dist/adapters/fivem/index.js +0 -16
  383. package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
  384. package/dist/adapters/fivem/transport/adapter.js +0 -8
  385. package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
  386. package/dist/adapters/fivem/transport/fivem.events.js +0 -36
  387. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
  388. package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
  389. package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
  390. package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
  391. package/dist/runtime/client/player/player.d.ts +0 -262
  392. package/dist/runtime/client/player/player.js +0 -474
  393. package/dist/runtime/client/player/player.loader.d.ts +0 -1
  394. package/dist/runtime/client/player/player.loader.js +0 -18
  395. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
  396. package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
  397. /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
@@ -1,8 +1,10 @@
1
- import { IEngineEvents } from '../../adapters';
2
- import { registerServerCapabilities } from '../../adapters/register-capabilities';
1
+ import { IEngineEvents, IPlatformContext } from '../../adapters';
2
+ import { IExports } from '../../adapters/contracts/IExports';
3
3
  import { EventsAPI } from '../../adapters/contracts/transport/events.api';
4
4
  import { GLOBAL_CONTAINER, MetadataScanner } from '../../kernel/di/index';
5
5
  import { getLogLevel, LogLevelLabels, loggers } from '../../kernel/logger';
6
+ import { createNodeServerAdapter } from './adapter/node-server-adapter';
7
+ import { installServerAdapter } from './adapter/registry';
6
8
  import { PrincipalProviderContract } from './contracts/index';
7
9
  import { getServerBinaryServiceRegistry } from './decorators/binaryService';
8
10
  import { getServerControllerRegistry } from './decorators/controller';
@@ -10,6 +12,7 @@ import { getFrameworkModeScope, setRuntimeContext, validateRuntimeOptions, } fro
10
12
  import { BinaryProcessManager } from './system/managers/binary-process.manager';
11
13
  import { SessionRecoveryService } from './services/session-recovery.local';
12
14
  import { registerServicesServer } from './services/services.register';
15
+ import { SYSTEM_EVENTS } from '../shared/types/system-types';
13
16
  import { METADATA_KEYS } from './system/metadata-server.keys';
14
17
  import { registerSystemServer } from './system/processors.register';
15
18
  const CORE_WAIT_TIMEOUT = 10000;
@@ -84,9 +87,13 @@ export async function initServer(options, plugins) {
84
87
  mode: ctx.mode,
85
88
  scope: getFrameworkModeScope(ctx.mode),
86
89
  });
87
- // Register platform-specific capabilities (adapters)
88
- await registerServerCapabilities();
89
- loggers.bootstrap.debug('Platform capabilities registered');
90
+ // Register platform-specific capabilities through the selected server adapter.
91
+ await installServerAdapter(options.adapter ?? createNodeServerAdapter());
92
+ const platformContext = GLOBAL_CONTAINER.resolve(IPlatformContext);
93
+ loggers.bootstrap.debug('Loading server Adapter ', {
94
+ adapter: options.adapter?.name ?? 'node',
95
+ game: platformContext.gameProfile,
96
+ });
90
97
  const dependenciesToWaitFor = [];
91
98
  if (ctx.mode === 'RESOURCE') {
92
99
  loggers.bootstrap.info(`[WAIT] Standing by for Core '${ctx.coreResourceName}' to be ready...`);
@@ -157,13 +164,13 @@ export async function initServer(options, plugins) {
157
164
  const engineEvents = GLOBAL_CONTAINER.resolve(IEngineEvents);
158
165
  const events = GLOBAL_CONTAINER.resolve(EventsAPI);
159
166
  // 1. Broadast to resources already running
160
- engineEvents.emit('core:ready');
161
- events.emit('core:ready', 'all');
162
- // 2. Listen for 'core:request-ready' for resources starting late (hot-reload)
163
- engineEvents.on('core:request-ready', () => {
164
- engineEvents.emit('core:ready');
167
+ engineEvents.emit(SYSTEM_EVENTS.core.ready);
168
+ events.emit(SYSTEM_EVENTS.core.ready, 'all');
169
+ // 2. Listen for '_systemcore:request-ready' for resources starting late (hot-reload)
170
+ engineEvents.on(SYSTEM_EVENTS.core.requestReady, () => {
171
+ engineEvents.emit(SYSTEM_EVENTS.core.ready);
165
172
  });
166
- loggers.bootstrap.info(`'core:ready' logic initialized and broadcasted`);
173
+ loggers.bootstrap.info(`'${SYSTEM_EVENTS.core.ready}' logic initialized and broadcasted`);
167
174
  }
168
175
  const logLevelLabel = LogLevelLabels[getLogLevel()];
169
176
  loggers.bootstrap.info(`LogLevel Setted: ${logLevelLabel}`);
@@ -183,22 +190,24 @@ function createCoreDependency(coreName) {
183
190
  clearInterval(pollingInterval);
184
191
  };
185
192
  // 1. Register listener FIRST (before any requests)
193
+ const exportsService = GLOBAL_CONTAINER.resolve(IExports);
186
194
  const onReady = () => {
187
195
  if (!resolved) {
188
- loggers.bootstrap.debug(`Core '${coreName}' detected via 'core:ready' event!`);
196
+ loggers.bootstrap.debug(`Core '${coreName}' detected via '${SYSTEM_EVENTS.core.ready}' event!`);
189
197
  cleanup();
190
198
  resolve();
191
199
  }
192
200
  };
193
- engineEvents.on('core:ready', onReady);
194
- loggers.bootstrap.debug(`Listening for 'core:ready' event from Core`);
201
+ engineEvents.on(SYSTEM_EVENTS.core.ready, onReady);
202
+ loggers.bootstrap.debug(`Listening for '${SYSTEM_EVENTS.core.ready}' event from Core`);
195
203
  // 2. Check if already ready via export (Polling)
196
204
  const checkReady = () => {
197
205
  if (resolved)
198
206
  return;
199
207
  try {
200
- const globalExports = globalThis.exports;
201
- const isReady = globalExports?.[coreName]?.isCoreReady?.();
208
+ const isReady = exportsService
209
+ .getResource(coreName)
210
+ ?.isCoreReady?.();
202
211
  loggers.bootstrap.debug(`Polling isCoreReady export: ${isReady}`);
203
212
  if (isReady === true) {
204
213
  loggers.bootstrap.debug(`Core '${coreName}' detected via isCoreReady export!`);
@@ -215,15 +224,15 @@ function createCoreDependency(coreName) {
215
224
  // 3. Request status (for hot-reload cases where Core is already up)
216
225
  // This is sent AFTER registering the listener so we can receive the response
217
226
  if (!resolved) {
218
- loggers.bootstrap.debug(`Requesting Core status via 'core:request-ready' event`);
219
- engineEvents.emit('core:request-ready');
227
+ loggers.bootstrap.debug(`Requesting Core status via '${SYSTEM_EVENTS.core.requestReady}' event`);
228
+ engineEvents.emit(SYSTEM_EVENTS.core.requestReady);
220
229
  }
221
230
  // 4. Timeout protection
222
231
  timeout = setTimeout(() => {
223
232
  if (!resolved) {
224
233
  loggers.bootstrap.warn(`Timeout waiting for Core '${coreName}' after ${CORE_WAIT_TIMEOUT}ms`);
225
234
  cleanup();
226
- reject(new Error(`[OpenCore] Timeout waiting for CORE '${coreName}'. The Core did not emit 'core:ready' or expose 'isCoreReady' within ${CORE_WAIT_TIMEOUT}ms.`));
235
+ reject(new Error(`[OpenCore] Timeout waiting for CORE '${coreName}'. The Core did not emit '${SYSTEM_EVENTS.core.ready}' or expose 'isCoreReady' within ${CORE_WAIT_TIMEOUT}ms.`));
227
236
  }
228
237
  }, CORE_WAIT_TIMEOUT);
229
238
  });
@@ -360,7 +360,7 @@ __decorate([
360
360
  __metadata("design:returntype", Array)
361
361
  ], ChannelExportController.prototype, "getAllChannels", null);
362
362
  __decorate([
363
- OnRuntimeEvent('onServerResourceStop'),
363
+ OnRuntimeEvent(RUNTIME_EVENTS.serverResourceStop),
364
364
  __metadata("design:type", Function),
365
365
  __metadata("design:paramtypes", [String]),
366
366
  __metadata("design:returntype", void 0)
@@ -371,3 +371,4 @@ ChannelExportController = __decorate([
371
371
  Players])
372
372
  ], ChannelExportController);
373
373
  export { ChannelExportController };
374
+ import { RUNTIME_EVENTS } from '../../../adapters/contracts/runtime';
@@ -11,9 +11,11 @@ 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 { z } from 'zod';
14
15
  import { IEngineEvents } from '../../../adapters/contracts/IEngineEvents';
15
16
  import { AppError, SecurityError } from '../../../kernel/error';
16
17
  import { loggers } from '../../../kernel/logger';
18
+ import { buildRemoteCommandExecuteEventName, SYSTEM_EVENTS } from '../../shared/types/system-types';
17
19
  import { CommandErrorObserverContract } from '../contracts/security/command-error-observer.contract';
18
20
  import { Controller, Export, Public } from '../decorators';
19
21
  import { OnNet } from '../decorators/onNet';
@@ -211,7 +213,7 @@ let CommandExportController = class CommandExportController {
211
213
  // Validate security BEFORE delegating to resource
212
214
  await this.validateSecurity(player, commandName, remoteEntry.metadata.security);
213
215
  // Delegate to resource via local event (server-to-server, not network)
214
- const eventName = `opencore:command:execute:${remoteEntry.resourceName}`;
216
+ const eventName = buildRemoteCommandExecuteEventName(remoteEntry.resourceName);
215
217
  this.engineEvents.emit(eventName, clientID, commandName, args);
216
218
  loggers.command.debug(`Delegated remote command execution to ${remoteEntry.resourceName}`, {
217
219
  command: commandName,
@@ -267,7 +269,7 @@ let CommandExportController = class CommandExportController {
267
269
  if (!allowed) {
268
270
  const errorMessage = message || `Rate limit exceeded for command: ${commandName}`;
269
271
  if (onExceed === 'KICK') {
270
- DropPlayer(player.clientID.toString(), errorMessage);
272
+ player.kick(errorMessage);
271
273
  }
272
274
  throw new SecurityError(onExceed || 'LOG', errorMessage, { clientID: player.clientID });
273
275
  }
@@ -294,7 +296,7 @@ let CommandExportController = class CommandExportController {
294
296
  };
295
297
  __decorate([
296
298
  Public(),
297
- OnNet('core:execute-command'),
299
+ OnNet(SYSTEM_EVENTS.command.execute, z.tuple([z.string().min(1), z.array(z.string())])),
298
300
  __metadata("design:type", Function),
299
301
  __metadata("design:paramtypes", [Player, String, Array]),
300
302
  __metadata("design:returntype", Promise)
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  import { inject } from 'tsyringe';
14
14
  import { Controller } from '../decorators/controller';
15
15
  import { Export } from '../decorators/export';
16
+ import { serializeServerPlayerData } from '../adapter/serialization';
16
17
  import { Players } from '../ports/players.api-port';
17
18
  /**
18
19
  * Exports player directory functionality for RESOURCE mode access.
@@ -37,18 +38,18 @@ let PlayerExportController = class PlayerExportController {
37
38
  }
38
39
  getPlayerData(clientID) {
39
40
  const player = this.playerService.getByClient(clientID);
40
- return player?.serialize() ?? null;
41
+ return player ? serializeServerPlayerData(player) : null;
41
42
  }
42
43
  getManyData(clientIds) {
43
- return this.playerService.getMany(clientIds).map((p) => p.serialize());
44
+ return this.playerService.getMany(clientIds).map((player) => serializeServerPlayerData(player));
44
45
  }
45
46
  getAllPlayersData() {
46
- return this.playerService.getAll().map((p) => p.serialize());
47
+ return this.playerService.getAll().map((player) => serializeServerPlayerData(player));
47
48
  }
48
49
  getPlayerByAccountId(accountId) {
49
50
  const players = this.playerService.getAll();
50
51
  const player = players.find((p) => p.accountID === accountId);
51
- return player?.serialize() ?? null;
52
+ return player ? serializeServerPlayerData(player) : null;
52
53
  }
53
54
  getPlayerCount() {
54
55
  return this.playerService.getAll().length;
@@ -14,6 +14,7 @@ import { inject } from 'tsyringe';
14
14
  import { IEngineEvents } from '../../../adapters/contracts/IEngineEvents';
15
15
  import { IResourceInfo } from '../../../adapters/contracts/IResourceInfo';
16
16
  import { loggers } from '../../../kernel/logger';
17
+ import { buildRemoteCommandExecuteEventName } from '../../shared/types/system-types';
17
18
  import { CommandErrorObserverContract } from '../contracts/security/command-error-observer.contract';
18
19
  import { Controller } from '../decorators';
19
20
  import { normalizeToAppError } from '../helpers/normalize-app-error';
@@ -73,7 +74,7 @@ let RemoteCommandExecutionController = class RemoteCommandExecutionController {
73
74
  */
74
75
  registerEventHandler() {
75
76
  const resourceName = this.resourceInfo.getCurrentResourceName();
76
- const eventName = `opencore:command:execute:${resourceName}`;
77
+ const eventName = buildRemoteCommandExecuteEventName(resourceName);
77
78
  this.engineEvents.on(eventName, async (clientID, commandName, args) => {
78
79
  await this.handleCommandExecution(clientID, commandName, args);
79
80
  });
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
+ import { RUNTIME_EVENTS } from '../../../adapters/contracts/runtime';
13
14
  import { inject } from 'tsyringe';
14
15
  import { loggers } from '../../../kernel/logger';
15
16
  import { emitFrameworkEvent } from '../bus/internal-event.bus';
@@ -60,13 +61,13 @@ let SessionController = class SessionController {
60
61
  }
61
62
  };
62
63
  __decorate([
63
- OnRuntimeEvent('playerJoining'),
64
+ OnRuntimeEvent(RUNTIME_EVENTS.playerJoining),
64
65
  __metadata("design:type", Function),
65
66
  __metadata("design:paramtypes", [Number, Object]),
66
67
  __metadata("design:returntype", Promise)
67
68
  ], SessionController.prototype, "onPlayerJoining", null);
68
69
  __decorate([
69
- OnRuntimeEvent('playerDropped'),
70
+ OnRuntimeEvent(RUNTIME_EVENTS.playerDropped),
70
71
  __metadata("design:type", Function),
71
72
  __metadata("design:paramtypes", [Number]),
72
73
  __metadata("design:returntype", Promise)
@@ -1,3 +1,4 @@
1
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
1
2
  import { Player } from '../entities/player';
2
3
  import { Vehicles } from '../apis/vehicles.api';
3
4
  /**
@@ -8,7 +9,8 @@ import { Vehicles } from '../apis/vehicles.api';
8
9
  */
9
10
  export declare class VehicleController {
10
11
  private readonly vehicleService;
11
- constructor(vehicleService: Vehicles);
12
+ private readonly events;
13
+ constructor(vehicleService: Vehicles, events: EventsAPI<'server'>);
12
14
  /**
13
15
  * Handles client request to get vehicle data.
14
16
  */
@@ -11,6 +11,8 @@ 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';
15
+ import { SYSTEM_EVENTS } from '../../shared/types/system-types';
14
16
  import { Controller, OnNet } from '../decorators';
15
17
  import { Player } from '../entities/player';
16
18
  import { Vehicles } from '../apis/vehicles.api';
@@ -22,8 +24,10 @@ import { Vehicles } from '../apis/vehicles.api';
22
24
  */
23
25
  let VehicleController = class VehicleController {
24
26
  vehicleService;
25
- constructor(vehicleService) {
27
+ events;
28
+ constructor(vehicleService, events) {
26
29
  this.vehicleService = vehicleService;
30
+ this.events = events;
27
31
  }
28
32
  /**
29
33
  * Handles client request to get vehicle data.
@@ -31,11 +35,11 @@ let VehicleController = class VehicleController {
31
35
  handleGetData(player, networkId) {
32
36
  const vehicle = this.vehicleService.getByNetworkId(networkId);
33
37
  if (!vehicle) {
34
- emitNet('opencore:vehicle:dataResult', player.clientID, null);
38
+ this.events.emit(SYSTEM_EVENTS.vehicle.dataResult, player.clientID, null);
35
39
  return null;
36
40
  }
37
41
  const data = vehicle.serialize();
38
- emitNet('opencore:vehicle:dataResult', player.clientID, data);
42
+ this.events.emit(SYSTEM_EVENTS.vehicle.dataResult, player.clientID, data);
39
43
  return data;
40
44
  }
41
45
  /**
@@ -44,18 +48,18 @@ let VehicleController = class VehicleController {
44
48
  handleGetPlayerVehicles(player) {
45
49
  const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
46
50
  const serialized = vehicles.map((v) => v.serialize());
47
- emitNet('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
51
+ this.events.emit(SYSTEM_EVENTS.vehicle.playerVehiclesResult, player.clientID, serialized);
48
52
  return serialized;
49
53
  }
50
54
  };
51
55
  __decorate([
52
- OnNet('opencore:vehicle:getData'),
56
+ OnNet(SYSTEM_EVENTS.vehicle.getData),
53
57
  __metadata("design:type", Function),
54
58
  __metadata("design:paramtypes", [Player, Number]),
55
59
  __metadata("design:returntype", void 0)
56
60
  ], VehicleController.prototype, "handleGetData", null);
57
61
  __decorate([
58
- OnNet('opencore:vehicle:getPlayerVehicles'),
62
+ OnNet(SYSTEM_EVENTS.vehicle.getPlayerVehicles),
59
63
  __metadata("design:type", Function),
60
64
  __metadata("design:paramtypes", [Player]),
61
65
  __metadata("design:returntype", void 0)
@@ -63,6 +67,8 @@ __decorate([
63
67
  VehicleController = __decorate([
64
68
  Controller(),
65
69
  __param(0, inject(Vehicles)),
66
- __metadata("design:paramtypes", [Vehicles])
70
+ __param(1, inject(EventsAPI)),
71
+ __metadata("design:paramtypes", [Vehicles,
72
+ EventsAPI])
67
73
  ], VehicleController);
68
74
  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();
@@ -36,6 +36,8 @@ export interface CommandMetadata extends CommandConfig {
36
36
  security?: SecurityMetadata;
37
37
  /** True if the last parameter uses the spread operator (...args) */
38
38
  hasSpreadParam?: boolean;
39
+ /** True when a parameter defines a JS default value. */
40
+ defaultParams?: boolean[];
39
41
  }
40
42
  type ServerCommandHandler = (() => any) | ((player: Player, ...args: any[]) => any);
41
43
  /**
@@ -1,5 +1,5 @@
1
1
  import { Player } from '../entities/player';
2
- import { getParameterNames, getSpreadParameterIndices } from '../helpers/function-helper';
2
+ import { getDefaultParameterIndices, getParameterNames, getSpreadParameterIndices, } from '../helpers/function-helper';
3
3
  import { METADATA_KEYS } from '../system/metadata-server.keys';
4
4
  // Implementation
5
5
  export function Command(configOrName, schema) {
@@ -20,6 +20,7 @@ export function Command(configOrName, schema) {
20
20
  throw new Error(`@Command '${config.command}': first parameter must be Player if parameters are present`);
21
21
  }
22
22
  const paramNames = getParameterNames(descriptor.value);
23
+ const defaultParams = getDefaultParameterIndices(descriptor.value);
23
24
  const spreadIndices = getSpreadParameterIndices(descriptor.value);
24
25
  const hasSpreadParam = spreadIndices.length > 0 && spreadIndices[spreadIndices.length - 1];
25
26
  const metadata = {
@@ -30,6 +31,7 @@ export function Command(configOrName, schema) {
30
31
  paramNames,
31
32
  expectsPlayer,
32
33
  hasSpreadParam,
34
+ defaultParams,
33
35
  };
34
36
  Reflect.defineMetadata(METADATA_KEYS.COMMAND, metadata, target, propertyKey);
35
37
  };
@@ -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,13 +1,15 @@
1
- import { NativeHandle } from 'src/runtime/core/nativehandle';
2
1
  import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
2
+ import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
3
3
  import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
4
4
  import { Vector3 } from '../../../kernel/utils/vector3';
5
5
  import { BaseEntity } from '../../core/entity';
6
6
  import { Spatial } from '../../core/spatial';
7
7
  import { SerializedNpcData } from '../types/npc.types';
8
+ import { NativeHandle } from '../../core';
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';
@@ -9,7 +11,7 @@ import { Spatial } from '../../core/spatial';
9
11
  import { LinkedID } from '../types/linked-id';
10
12
  import { PlayerSession } from '../types/player-session.types';
11
13
  import { SerializedPlayerData } from '../types/core-exports.types';
12
- import { NativeHandle } from 'src/runtime/core/nativehandle';
14
+ import { NativeHandle } from '../../core';
13
15
  /**
14
16
  * Adapter bundle for player operations.
15
17
  * Passed to Player instances by PlayerDirectory.
@@ -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
  */