@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
@@ -0,0 +1,166 @@
1
+ import type { Vector3 } from '../../../../kernel/utils/vector3';
2
+ /**
3
+ * High-level vehicle creation options understood by client adapters.
4
+ */
5
+ export interface ClientVehicleSpawnOptions {
6
+ model: string;
7
+ position: Vector3;
8
+ heading?: number;
9
+ placeOnGround?: boolean;
10
+ warpIntoVehicle?: boolean;
11
+ seatIndex?: number;
12
+ primaryColor?: number;
13
+ secondaryColor?: number;
14
+ plate?: string;
15
+ networked?: boolean;
16
+ }
17
+ /**
18
+ * Common vehicle modification payload used by the framework.
19
+ */
20
+ export interface ClientVehicleMods {
21
+ spoiler?: number;
22
+ frontBumper?: number;
23
+ rearBumper?: number;
24
+ sideSkirt?: number;
25
+ exhaust?: number;
26
+ frame?: number;
27
+ grille?: number;
28
+ hood?: number;
29
+ fender?: number;
30
+ rightFender?: number;
31
+ roof?: number;
32
+ engine?: number;
33
+ brakes?: number;
34
+ transmission?: number;
35
+ horns?: number;
36
+ suspension?: number;
37
+ armor?: number;
38
+ turbo?: boolean;
39
+ xenon?: boolean;
40
+ wheelType?: number;
41
+ wheels?: number;
42
+ windowTint?: number;
43
+ livery?: number;
44
+ plateStyle?: number;
45
+ neonEnabled?: [boolean, boolean, boolean, boolean];
46
+ neonColor?: [number, number, number];
47
+ extras?: Record<string, boolean>;
48
+ pearlescentColor?: number;
49
+ wheelColor?: number;
50
+ }
51
+ /**
52
+ * Intent-oriented client vehicle port.
53
+ *
54
+ * The framework requests vehicle operations through this port and the adapter
55
+ * decides how to fulfill them for the active runtime.
56
+ */
57
+ export declare abstract class IClientVehiclePort {
58
+ /**
59
+ * Spawns a vehicle and returns its runtime handle.
60
+ */
61
+ abstract spawn(options: ClientVehicleSpawnOptions): Promise<number>;
62
+ /**
63
+ * Deletes an existing vehicle handle.
64
+ */
65
+ abstract delete(vehicle: number): void;
66
+ /**
67
+ * Repairs a vehicle and restores it to a drivable state.
68
+ */
69
+ abstract repair(vehicle: number): void;
70
+ /**
71
+ * Sets normalized fuel in the 0..1 range unless the adapter documents otherwise.
72
+ */
73
+ abstract setFuel(vehicle: number, level: number): void;
74
+ /**
75
+ * Gets normalized fuel in the 0..1 range unless the adapter documents otherwise.
76
+ */
77
+ abstract getFuel(vehicle: number): number;
78
+ /**
79
+ * Returns the closest vehicle around the local player.
80
+ */
81
+ abstract getClosest(radius?: number): number | null;
82
+ /**
83
+ * Returns whether the local player is currently inside any vehicle.
84
+ */
85
+ abstract isLocalPlayerInVehicle(): boolean;
86
+ /**
87
+ * Returns the vehicle currently occupied by the local player.
88
+ */
89
+ abstract getCurrentForLocalPlayer(): number | null;
90
+ /**
91
+ * Returns the last vehicle used by the local player.
92
+ */
93
+ abstract getLastForLocalPlayer(): number | null;
94
+ /**
95
+ * Returns whether the local player is driving the provided vehicle.
96
+ */
97
+ abstract isLocalPlayerDriver(vehicle: number): boolean;
98
+ /**
99
+ * Warps the local player into a seat.
100
+ */
101
+ abstract warpLocalPlayerInto(vehicle: number, seatIndex?: number): void;
102
+ /**
103
+ * Makes the local player leave the provided vehicle.
104
+ */
105
+ abstract leaveLocalPlayerVehicle(vehicle: number, flags?: number): void;
106
+ /**
107
+ * Applies visual/performance modifications to a vehicle.
108
+ */
109
+ abstract applyMods(vehicle: number, mods: ClientVehicleMods): void;
110
+ /**
111
+ * Updates door lock state.
112
+ */
113
+ abstract setDoorsLocked(vehicle: number, locked: boolean): void;
114
+ /**
115
+ * Starts or stops the engine.
116
+ */
117
+ abstract setEngineRunning(vehicle: number, running: boolean, instant?: boolean): void;
118
+ /**
119
+ * Sets invincibility state for the vehicle entity.
120
+ */
121
+ abstract setInvincible(vehicle: number, invincible: boolean): void;
122
+ /**
123
+ * Returns speed in meters per second.
124
+ */
125
+ abstract getSpeed(vehicle: number): number;
126
+ /**
127
+ * Sets heading for a vehicle.
128
+ */
129
+ abstract setHeading(vehicle: number, heading: number): void;
130
+ /**
131
+ * Teleports a vehicle to a world position.
132
+ */
133
+ abstract teleport(vehicle: number, position: Vector3, heading?: number): void;
134
+ /**
135
+ * Returns whether a vehicle handle exists.
136
+ */
137
+ abstract exists(vehicle: number): boolean;
138
+ /**
139
+ * Resolves the runtime network identifier for a vehicle.
140
+ */
141
+ abstract getNetworkId(vehicle: number): number;
142
+ /**
143
+ * Resolves a vehicle handle from a runtime network identifier.
144
+ */
145
+ abstract getFromNetworkId(networkId: number): number;
146
+ /**
147
+ * Reads a runtime state bag/state entry from a vehicle.
148
+ */
149
+ abstract getState<T = unknown>(vehicle: number, key: string): T | undefined;
150
+ /**
151
+ * Returns the world position of a vehicle.
152
+ */
153
+ abstract getPosition(vehicle: number): Vector3 | null;
154
+ /**
155
+ * Returns the heading of a vehicle.
156
+ */
157
+ abstract getHeading(vehicle: number): number;
158
+ /**
159
+ * Returns the model hash of a vehicle.
160
+ */
161
+ abstract getModel(vehicle: number): number;
162
+ /**
163
+ * Returns the current number plate text.
164
+ */
165
+ abstract getPlate(vehicle: number): string;
166
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Intent-oriented client vehicle port.
3
+ *
4
+ * The framework requests vehicle operations through this port and the adapter
5
+ * decides how to fulfill them for the active runtime.
6
+ */
7
+ export class IClientVehiclePort {
8
+ }
@@ -0,0 +1 @@
1
+ export * from './IClientVehiclePort';
@@ -0,0 +1 @@
1
+ export * from './IClientVehiclePort';
@@ -1,2 +1,4 @@
1
- export * from './transport/events.api';
2
- export * from './transport/rpc.api';
1
+ export * from './IHasher';
2
+ export * from './types';
3
+ export * from './transport';
4
+ export * from './runtime';
@@ -1,3 +1,4 @@
1
- // Transport API
2
- export * from './transport/events.api';
3
- export * from './transport/rpc.api';
1
+ export * from './IHasher';
2
+ export * from './types';
3
+ export * from './transport';
4
+ export * from './runtime';
@@ -0,0 +1 @@
1
+ export * from './runtime-events';
@@ -0,0 +1 @@
1
+ export * from './runtime-events';
@@ -0,0 +1,9 @@
1
+ export declare const RUNTIME_EVENTS: {
2
+ readonly playerJoining: "playerJoining";
3
+ readonly playerDropped: "playerDropped";
4
+ readonly serverResourceStop: "onServerResourceStop";
5
+ readonly playerCommand: "playerCommand";
6
+ };
7
+ export type RuntimeEventName = (typeof RUNTIME_EVENTS)[keyof typeof RUNTIME_EVENTS];
8
+ export type RuntimeEventMap = Record<RuntimeEventName, string>;
9
+ export declare const DEFAULT_RUNTIME_EVENT_MAP: RuntimeEventMap;
@@ -0,0 +1,7 @@
1
+ export const RUNTIME_EVENTS = {
2
+ playerJoining: 'playerJoining',
3
+ playerDropped: 'playerDropped',
4
+ serverResourceStop: 'onServerResourceStop',
5
+ playerCommand: 'playerCommand',
6
+ };
7
+ export const DEFAULT_RUNTIME_EVENT_MAP = Object.fromEntries(Object.values(RUNTIME_EVENTS).map((e) => [e, e]));
@@ -98,25 +98,23 @@ export declare abstract class IEntityServer {
98
98
  * Sets entity routing bucket (virtual world/dimension).
99
99
  *
100
100
  * @remarks
101
- * Not all platforms support routing buckets.
102
- * Use IPlatformCapabilities.supportsRoutingBuckets to check support.
101
+ * Platform-specific behavior may vary.
103
102
  *
104
103
  * @param handle - Entity handle
105
104
  * @param bucket - Routing bucket ID
106
105
  */
107
- abstract setRoutingBucket(handle: number, bucket: number): void;
106
+ abstract setDimension(handle: number, bucket: number): void;
108
107
  /**
109
108
  * Gets entity routing bucket (virtual world/dimension).
110
109
  * @param handle - Entity handle
111
110
  * @returns Routing bucket ID (0 is default world)
112
111
  */
113
- abstract getRoutingBucket(handle: number): number;
112
+ abstract getDimension(handle: number): number;
114
113
  /**
115
114
  * Gets the state bag interface for an entity.
116
115
  *
117
116
  * @remarks
118
- * Not all platforms support state bags.
119
- * Use IPlatformCapabilities.supportsStateBags to check support.
117
+ * Platform-specific behavior may vary.
120
118
  *
121
119
  * @param handle - Entity handle
122
120
  */
@@ -145,28 +143,6 @@ export declare abstract class IEntityServer {
145
143
  * @param armor - Armor value
146
144
  */
147
145
  abstract setArmor(handle: number, armor: number): void;
148
- /**
149
- * Gets entity dimension (alias for getRoutingBucket).
150
- *
151
- * @remarks
152
- * This is a cross-platform alias. Some platforms call it "dimension",
153
- * others call it "routing bucket" or "virtual world".
154
- *
155
- * @param handle - Entity handle
156
- * @returns Dimension ID
157
- */
158
- getDimension(handle: number): number;
159
- /**
160
- * Sets entity dimension (alias for setRoutingBucket).
161
- *
162
- * @remarks
163
- * This is a cross-platform alias. Some platforms call it "dimension",
164
- * others call it "routing bucket" or "virtual world".
165
- *
166
- * @param handle - Entity handle
167
- * @param dimension - Dimension ID
168
- */
169
- setDimension(handle: number, dimension: number): void;
170
146
  }
171
147
  /**
172
148
  * State bag interface for entity state synchronization.
@@ -6,30 +6,4 @@
6
6
  * Allows the runtime to work without direct platform dependencies.
7
7
  */
8
8
  export class IEntityServer {
9
- /**
10
- * Gets entity dimension (alias for getRoutingBucket).
11
- *
12
- * @remarks
13
- * This is a cross-platform alias. Some platforms call it "dimension",
14
- * others call it "routing bucket" or "virtual world".
15
- *
16
- * @param handle - Entity handle
17
- * @returns Dimension ID
18
- */
19
- getDimension(handle) {
20
- return this.getRoutingBucket(handle);
21
- }
22
- /**
23
- * Sets entity dimension (alias for setRoutingBucket).
24
- *
25
- * @remarks
26
- * This is a cross-platform alias. Some platforms call it "dimension",
27
- * others call it "routing bucket" or "virtual world".
28
- *
29
- * @param handle - Entity handle
30
- * @param dimension - Dimension ID
31
- */
32
- setDimension(handle, dimension) {
33
- this.setRoutingBucket(handle, dimension);
34
- }
35
9
  }
@@ -21,6 +21,10 @@ export declare abstract class IPlayerServer {
21
21
  * @param reason - Kick reason message
22
22
  */
23
23
  abstract drop(playerSrc: string, reason: string): void;
24
+ /**
25
+ * Sets the active player model when the runtime supports it.
26
+ */
27
+ abstract setModel(playerSrc: string, model: string): void;
24
28
  /**
25
29
  * Gets a player identifier by type.
26
30
  *
@@ -68,20 +72,19 @@ export declare abstract class IPlayerServer {
68
72
  * Sets player routing bucket (virtual world/dimension).
69
73
  *
70
74
  * @remarks
71
- * Not all platforms support routing buckets.
72
- * Use IPlatformCapabilities.supportsRoutingBuckets to check support.
75
+ * Platform-specific behavior may vary.
73
76
  *
74
77
  * @param playerSrc - Player source/client ID (as string)
75
78
  * @param bucket - Routing bucket ID
76
79
  */
77
- abstract setRoutingBucket(playerSrc: string, bucket: number): void;
80
+ abstract setDimension(playerSrc: string, bucket: number): void;
78
81
  /**
79
82
  * Gets player routing bucket (virtual world/dimension).
80
83
  *
81
84
  * @param playerSrc - Player source/client ID (as string)
82
85
  * @returns Routing bucket ID (0 is default world)
83
86
  */
84
- abstract getRoutingBucket(playerSrc: string): number;
87
+ abstract getDimension(playerSrc: string): number;
85
88
  /**
86
89
  * Gets all currently connected player sources.
87
90
  *
@@ -92,26 +95,4 @@ export declare abstract class IPlayerServer {
92
95
  * @returns Array of player source strings
93
96
  */
94
97
  abstract getConnectedPlayers(): string[];
95
- /**
96
- * Gets player dimension (alias for getRoutingBucket).
97
- *
98
- * @remarks
99
- * Cross-platform alias. Some platforms call it "dimension",
100
- * others call it "routing bucket" or "virtual world".
101
- *
102
- * @param playerSrc - Player source/client ID (as string)
103
- * @returns Dimension ID
104
- */
105
- getDimension(playerSrc: string): number;
106
- /**
107
- * Sets player dimension (alias for setRoutingBucket).
108
- *
109
- * @remarks
110
- * Cross-platform alias. Some platforms call it "dimension",
111
- * others call it "routing bucket" or "virtual world".
112
- *
113
- * @param playerSrc - Player source/client ID (as string)
114
- * @param dimension - Dimension ID
115
- */
116
- setDimension(playerSrc: string, dimension: number): void;
117
98
  }
@@ -6,30 +6,4 @@
6
6
  * Allows the runtime to work without direct platform dependencies.
7
7
  */
8
8
  export class IPlayerServer {
9
- /**
10
- * Gets player dimension (alias for getRoutingBucket).
11
- *
12
- * @remarks
13
- * Cross-platform alias. Some platforms call it "dimension",
14
- * others call it "routing bucket" or "virtual world".
15
- *
16
- * @param playerSrc - Player source/client ID (as string)
17
- * @returns Dimension ID
18
- */
19
- getDimension(playerSrc) {
20
- return this.getRoutingBucket(playerSrc);
21
- }
22
- /**
23
- * Sets player dimension (alias for setRoutingBucket).
24
- *
25
- * @remarks
26
- * Cross-platform alias. Some platforms call it "dimension",
27
- * others call it "routing bucket" or "virtual world".
28
- *
29
- * @param playerSrc - Player source/client ID (as string)
30
- * @param dimension - Dimension ID
31
- */
32
- setDimension(playerSrc, dimension) {
33
- this.setRoutingBucket(playerSrc, dimension);
34
- }
35
9
  }
@@ -0,0 +1,10 @@
1
+ export * from './IEntityServer';
2
+ export * from './npc-lifecycle';
3
+ export * from './IPedAppearanceServer';
4
+ export * from './IPedServer';
5
+ export * from './player-appearance';
6
+ export * from './player-state';
7
+ export * from './IPlayerServer';
8
+ export * from './IVehicleServer';
9
+ export * from './player-lifecycle';
10
+ export * from './vehicle-lifecycle';
@@ -0,0 +1,10 @@
1
+ export * from './IEntityServer';
2
+ export * from './npc-lifecycle';
3
+ export * from './IPedAppearanceServer';
4
+ export * from './IPedServer';
5
+ export * from './player-appearance';
6
+ export * from './player-state';
7
+ export * from './IPlayerServer';
8
+ export * from './IVehicleServer';
9
+ export * from './player-lifecycle';
10
+ export * from './vehicle-lifecycle';
@@ -0,0 +1,5 @@
1
+ import type { CreateNpcServerRequest, CreateNpcServerResult, DeleteNpcServerRequest } from './types';
2
+ export declare abstract class INpcLifecycleServer {
3
+ abstract create(request: CreateNpcServerRequest): Promise<CreateNpcServerResult> | CreateNpcServerResult;
4
+ abstract delete(request: DeleteNpcServerRequest): Promise<void> | void;
5
+ }
@@ -0,0 +1,2 @@
1
+ export class INpcLifecycleServer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './INpcLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './INpcLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,17 @@
1
+ import type { Vector3 } from '../../../../kernel/utils/vector3';
2
+ export interface CreateNpcServerRequest {
3
+ model: string;
4
+ modelHash: number;
5
+ position: Vector3;
6
+ heading: number;
7
+ networked: boolean;
8
+ routingBucket?: number;
9
+ persistent?: boolean;
10
+ }
11
+ export interface CreateNpcServerResult {
12
+ handle: number;
13
+ netId?: number;
14
+ }
15
+ export interface DeleteNpcServerRequest {
16
+ handle: number;
17
+ }
@@ -0,0 +1,11 @@
1
+ import type { PlayerAppearance } from '../../../../kernel/shared';
2
+ export interface ApplyPlayerAppearanceResult {
3
+ success: boolean;
4
+ appearance?: PlayerAppearance;
5
+ errors?: string[];
6
+ }
7
+ export declare abstract class IPlayerAppearanceLifecycleServer {
8
+ abstract apply(playerSrc: string, appearance: PlayerAppearance): Promise<ApplyPlayerAppearanceResult> | ApplyPlayerAppearanceResult;
9
+ abstract applyClothing(playerSrc: string, appearance: Pick<PlayerAppearance, 'components' | 'props'>): Promise<boolean> | boolean;
10
+ abstract reset(playerSrc: string): Promise<boolean> | boolean;
11
+ }
@@ -0,0 +1,2 @@
1
+ export class IPlayerAppearanceLifecycleServer {
2
+ }
@@ -0,0 +1 @@
1
+ export * from './IPlayerAppearanceLifecycleServer';
@@ -0,0 +1 @@
1
+ export * from './IPlayerAppearanceLifecycleServer';
@@ -0,0 +1,6 @@
1
+ import type { RespawnPlayerRequest, SpawnPlayerRequest, TeleportPlayerRequest } from './types';
2
+ export declare abstract class IPlayerLifecycleServer {
3
+ abstract spawn(playerSrc: string, request: SpawnPlayerRequest): Promise<void> | void;
4
+ abstract teleport(playerSrc: string, request: TeleportPlayerRequest): Promise<void> | void;
5
+ abstract respawn(playerSrc: string, request: RespawnPlayerRequest): Promise<void> | void;
6
+ }
@@ -0,0 +1,2 @@
1
+ export class IPlayerLifecycleServer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './IPlayerLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './IPlayerLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,17 @@
1
+ import type { PlayerAppearance } from '../../../../kernel';
2
+ import type { Vector3 } from '../../../../kernel/utils/vector3';
3
+ export interface SpawnPlayerRequest {
4
+ position: Vector3;
5
+ model?: string;
6
+ heading?: number;
7
+ appearance?: PlayerAppearance;
8
+ }
9
+ export interface TeleportPlayerRequest {
10
+ position: Vector3;
11
+ heading?: number;
12
+ }
13
+ export interface RespawnPlayerRequest {
14
+ position: Vector3;
15
+ heading?: number;
16
+ model?: string;
17
+ }
@@ -0,0 +1,6 @@
1
+ export declare abstract class IPlayerStateSyncServer {
2
+ abstract getHealth(playerSrc: string): number;
3
+ abstract setHealth(playerSrc: string, health: number): void;
4
+ abstract getArmor(playerSrc: string): number;
5
+ abstract setArmor(playerSrc: string, armor: number): void;
6
+ }
@@ -0,0 +1,2 @@
1
+ export class IPlayerStateSyncServer {
2
+ }
@@ -0,0 +1 @@
1
+ export * from './IPlayerStateSyncServer';
@@ -0,0 +1 @@
1
+ export * from './IPlayerStateSyncServer';
@@ -0,0 +1,5 @@
1
+ import type { CreateVehicleServerRequest, CreateVehicleServerResult, WarpPlayerIntoVehicleRequest } from './types';
2
+ export declare abstract class IVehicleLifecycleServer {
3
+ abstract create(request: CreateVehicleServerRequest): Promise<CreateVehicleServerResult> | CreateVehicleServerResult;
4
+ abstract warpPlayerIntoVehicle(request: WarpPlayerIntoVehicleRequest): Promise<void> | void;
5
+ }
@@ -0,0 +1,2 @@
1
+ export class IVehicleLifecycleServer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './IVehicleLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './IVehicleLifecycleServer';
2
+ export * from './types';
@@ -0,0 +1,16 @@
1
+ import type { Vector3 } from '../../../../kernel/utils/vector3';
2
+ export interface CreateVehicleServerRequest {
3
+ model: string;
4
+ modelHash: number;
5
+ position: Vector3;
6
+ heading: number;
7
+ }
8
+ export interface CreateVehicleServerResult {
9
+ handle: number;
10
+ networkId: number;
11
+ }
12
+ export interface WarpPlayerIntoVehicleRequest {
13
+ playerSrc: string;
14
+ networkId: number;
15
+ seatIndex: number;
16
+ }
@@ -1,6 +1,6 @@
1
1
  import { EventContext, RuntimeContext } from './context';
2
2
  import { Player } from '../../../runtime/server/entities/player';
3
- type EmitArgs<C extends RuntimeContext> = C extends 'server' ? [target: Player | number | number[] | 'all', ...args: any[]] : [...args: any[]];
3
+ type EmitArgs<C extends RuntimeContext> = C extends 'server' ? [target: Player | number | number[] | 'all', ...args: unknown[]] : [...args: unknown[]];
4
4
  /**
5
5
  * broadcast and listen to events without relying on runtime. The adapter will be used.
6
6
  */
@@ -13,7 +13,7 @@ export declare abstract class EventsAPI<C extends RuntimeContext> {
13
13
  * Client:
14
14
  * - triggered by server
15
15
  */
16
- abstract on(event: string, handler: (ctx: EventContext, ...args: any[]) => void | Promise<void>): void;
16
+ abstract on<TArgs extends readonly unknown[]>(event: string, handler: (ctx: EventContext, ...args: TArgs) => void | Promise<void>): void;
17
17
  /**
18
18
  * Emit an event.
19
19
  * SERVER → CLIENT
@@ -22,7 +22,7 @@ export declare abstract class EventsAPI<C extends RuntimeContext> {
22
22
  * Client:
23
23
  * - sends to server, targetOrArg will be ignored
24
24
  */
25
- abstract emit(event: string, target: Player | number | number[] | 'all', ...args: any[]): void;
25
+ abstract emit(event: string, target: Player | number | number[] | 'all', ...args: unknown[]): void;
26
26
  /**
27
27
  * Emit an event.
28
28
  * CLIENT → SERVER
@@ -0,0 +1,4 @@
1
+ export * from './context';
2
+ export * from './events.api';
3
+ export * from './rpc.api';
4
+ export * from './messaging.transport';
@@ -0,0 +1,4 @@
1
+ export * from './context';
2
+ export * from './events.api';
3
+ export * from './rpc.api';
4
+ export * from './messaging.transport';