@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
@@ -4,19 +4,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
8
15
  import { METADATA_KEYS } from '../metadata-client.keys';
9
16
  let KeyMappingProcessor = class KeyMappingProcessor {
17
+ runtime;
10
18
  metadataKey = METADATA_KEYS.KEY;
19
+ constructor(runtime) {
20
+ this.runtime = runtime;
21
+ }
11
22
  process(target, methodName, metadata) {
12
23
  const handler = target[methodName].bind(target);
13
24
  const commandName = `+${methodName}`;
14
- RegisterCommand(commandName, handler, false);
15
- RegisterKeyMapping(commandName, metadata.description ?? 'none', 'keyboard', metadata.key);
16
- RegisterCommand(`-${methodName}`, () => { }, false);
25
+ this.runtime.registerCommand(commandName, handler, false);
26
+ this.runtime.registerKeyMapping(commandName, metadata.description ?? 'none', 'keyboard', metadata.key);
27
+ this.runtime.registerCommand(`-${methodName}`, () => { }, false);
17
28
  }
18
29
  };
19
30
  KeyMappingProcessor = __decorate([
20
- injectable()
31
+ injectable(),
32
+ __param(0, inject(IClientRuntimeBridge)),
33
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
21
34
  ], KeyMappingProcessor);
22
35
  export { KeyMappingProcessor };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class LocalEventProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  eventName: string;
6
9
  }): void;
@@ -4,16 +4,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientLocalEvent = coreLogger.child('LocalEvent', LogDomain.CLIENT);
11
18
  let LocalEventProcessor = class LocalEventProcessor {
19
+ runtime;
12
20
  metadataKey = METADATA_KEYS.LOCAL_EVENT;
21
+ constructor(runtime) {
22
+ this.runtime = runtime;
23
+ }
13
24
  process(target, methodName, metadata) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
- on(metadata.eventName, async (...args) => {
27
+ this.runtime.on(metadata.eventName, async (...args) => {
17
28
  try {
18
29
  await handler(...args);
19
30
  }
@@ -28,6 +39,8 @@ let LocalEventProcessor = class LocalEventProcessor {
28
39
  }
29
40
  };
30
41
  LocalEventProcessor = __decorate([
31
- injectable()
42
+ injectable(),
43
+ __param(0, inject(IClientRuntimeBridge)),
44
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
32
45
  ], LocalEventProcessor);
33
46
  export { LocalEventProcessor };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
2
3
  export declare class ClientNetEventProcessor implements DecoratorProcessor {
4
+ private readonly events;
3
5
  readonly metadataKey: string;
6
+ constructor(events: EventsAPI<'client'>);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  eventName: string;
6
9
  }): void;
@@ -4,16 +4,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
8
15
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientNetEvent = coreLogger.child('NetEvent', LogDomain.CLIENT);
11
18
  let ClientNetEventProcessor = class ClientNetEventProcessor {
19
+ events;
12
20
  metadataKey = METADATA_KEYS.NET_EVENT;
21
+ constructor(events) {
22
+ this.events = events;
23
+ }
13
24
  process(target, methodName, metadata) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
- onNet(metadata.eventName, async (...args) => {
27
+ this.events.on(metadata.eventName, async (_ctx, ...args) => {
17
28
  try {
18
29
  await handler(...args);
19
30
  }
@@ -28,6 +39,8 @@ let ClientNetEventProcessor = class ClientNetEventProcessor {
28
39
  }
29
40
  };
30
41
  ClientNetEventProcessor = __decorate([
31
- injectable()
42
+ injectable(),
43
+ __param(0, inject(EventsAPI)),
44
+ __metadata("design:paramtypes", [EventsAPI])
32
45
  ], ClientNetEventProcessor);
33
46
  export { ClientNetEventProcessor };
@@ -14,7 +14,7 @@ import { inject, injectable } from 'tsyringe';
14
14
  import z from 'zod';
15
15
  import { RpcAPI } from '../../../../adapters/contracts/transport/rpc.api';
16
16
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
17
- import { processTupleSchema } from '../../../server/helpers/process-tuple-schema';
17
+ import { processTupleSchema } from '../../../shared/helpers/process-tuple-schema';
18
18
  import { METADATA_KEYS } from '../metadata-client.keys';
19
19
  const clientRpcLogger = coreLogger.child('Rpc', LogDomain.CLIENT);
20
20
  let ClientOnRpcProcessor = class ClientOnRpcProcessor {
@@ -1,9 +1,14 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class ResourceStartProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string): void;
5
8
  }
6
9
  export declare class ResourceStopProcessor implements DecoratorProcessor {
10
+ private readonly runtime;
7
11
  readonly metadataKey: string;
12
+ constructor(runtime: IClientRuntimeBridge);
8
13
  process(target: any, methodName: string): void;
9
14
  }
@@ -4,17 +4,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientLifecycle = coreLogger.child('Lifecycle', LogDomain.CLIENT);
11
18
  let ResourceStartProcessor = class ResourceStartProcessor {
19
+ runtime;
12
20
  metadataKey = METADATA_KEYS.RESOURCE_START;
21
+ constructor(runtime) {
22
+ this.runtime = runtime;
23
+ }
13
24
  process(target, methodName) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
- const currentResource = GetCurrentResourceName();
17
- on('onClientResourceStart', async (resourceName) => {
27
+ const currentResource = this.runtime.getCurrentResourceName();
28
+ this.runtime.on('onClientResourceStart', async (resourceName) => {
18
29
  if (resourceName !== currentResource)
19
30
  return;
20
31
  try {
@@ -31,16 +42,22 @@ let ResourceStartProcessor = class ResourceStartProcessor {
31
42
  }
32
43
  };
33
44
  ResourceStartProcessor = __decorate([
34
- injectable()
45
+ injectable(),
46
+ __param(0, inject(IClientRuntimeBridge)),
47
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
35
48
  ], ResourceStartProcessor);
36
49
  export { ResourceStartProcessor };
37
50
  let ResourceStopProcessor = class ResourceStopProcessor {
51
+ runtime;
38
52
  metadataKey = METADATA_KEYS.RESOURCE_STOP;
53
+ constructor(runtime) {
54
+ this.runtime = runtime;
55
+ }
39
56
  process(target, methodName) {
40
57
  const handler = target[methodName].bind(target);
41
58
  const handlerName = `${target.constructor.name}.${methodName}`;
42
- const currentResource = GetCurrentResourceName();
43
- on('onClientResourceStop', async (resourceName) => {
59
+ const currentResource = this.runtime.getCurrentResourceName();
60
+ this.runtime.on('onClientResourceStop', async (resourceName) => {
44
61
  if (resourceName !== currentResource)
45
62
  return;
46
63
  try {
@@ -57,6 +74,8 @@ let ResourceStopProcessor = class ResourceStopProcessor {
57
74
  }
58
75
  };
59
76
  ResourceStopProcessor = __decorate([
60
- injectable()
77
+ injectable(),
78
+ __param(0, inject(IClientRuntimeBridge)),
79
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
61
80
  ], ResourceStopProcessor);
62
81
  export { ResourceStopProcessor };
@@ -1,5 +1,8 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class TickProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string): void;
5
8
  }
@@ -4,16 +4,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientTick = coreLogger.child('Tick', LogDomain.CLIENT);
11
18
  let TickProcessor = class TickProcessor {
19
+ runtime;
12
20
  metadataKey = METADATA_KEYS.TICK;
21
+ constructor(runtime) {
22
+ this.runtime = runtime;
23
+ }
13
24
  process(target, methodName) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
- setTick(async () => {
27
+ this.runtime.setTick(async () => {
17
28
  try {
18
29
  await handler();
19
30
  }
@@ -27,6 +38,8 @@ let TickProcessor = class TickProcessor {
27
38
  }
28
39
  };
29
40
  TickProcessor = __decorate([
30
- injectable()
41
+ injectable(),
42
+ __param(0, inject(IClientRuntimeBridge)),
43
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
31
44
  ], TickProcessor);
32
45
  export { TickProcessor };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { WebViewService } from '../../webview.service';
2
3
  export declare class ViewProcessor implements DecoratorProcessor {
4
+ private readonly webviews;
3
5
  readonly metadataKey: string;
6
+ constructor(webviews: WebViewService);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  eventName: string;
6
9
  }): void;
@@ -4,33 +4,44 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
8
14
  import { loggers } from '../../../../kernel/logger';
15
+ import { WebViewService } from '../../webview.service';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  let ViewProcessor = class ViewProcessor {
18
+ webviews;
11
19
  metadataKey = METADATA_KEYS.VIEW;
20
+ constructor(webviews) {
21
+ this.webviews = webviews;
22
+ }
12
23
  process(target, methodName, metadata) {
13
24
  const handler = target[methodName].bind(target);
14
25
  const handlerName = `${target.constructor.name}.${methodName}`;
15
- RegisterNuiCallbackType(metadata.eventName);
16
- on(`__cfx_nui:${metadata.eventName}`, async (data, cb) => {
26
+ this.webviews.onMessage(async (message) => {
27
+ if (message.event !== metadata.eventName)
28
+ return;
17
29
  try {
18
- const result = await handler(data);
19
- cb({ ok: true, data: result });
30
+ await handler(message.payload);
20
31
  }
21
32
  catch (error) {
22
- loggers.nui.error(`NUI callback error`, {
33
+ loggers.webView.error(`WebView callback error`, {
23
34
  event: metadata.eventName,
24
35
  handler: handlerName,
25
36
  }, error);
26
- const message = error instanceof Error ? error.message : String(error);
27
- cb({ ok: false, error: message });
28
37
  }
29
38
  });
30
- loggers.nui.debug(`Registered: ${metadata.eventName} -> ${handlerName}`);
39
+ loggers.webView.debug(`Registered WebView callback: ${metadata.eventName} -> ${handlerName}`);
31
40
  }
32
41
  };
33
42
  ViewProcessor = __decorate([
34
- injectable()
43
+ injectable(),
44
+ __param(0, inject(WebViewService)),
45
+ __metadata("design:paramtypes", [WebViewService])
35
46
  ], ViewProcessor);
36
47
  export { ViewProcessor };
@@ -1 +1,2 @@
1
1
  export declare function registerSystemClient(): void;
2
+ export declare function __resetClientProcessorRegistrationForTests(): void;
@@ -10,7 +10,11 @@ import { ClientOnRpcProcessor } from './processors/onRpc.processor';
10
10
  import { ViewProcessor } from './processors/view.processor';
11
11
  import { ResourceStartProcessor, ResourceStopProcessor, } from './processors/resourceLifecycle.processor';
12
12
  import { TickProcessor } from './processors/tick.processor';
13
+ let processorsRegistered = false;
13
14
  export function registerSystemClient() {
15
+ if (processorsRegistered) {
16
+ return;
17
+ }
14
18
  // Core processors
15
19
  di.register('DecoratorProcessor', { useClass: KeyMappingProcessor });
16
20
  di.register('DecoratorProcessor', { useClass: TickProcessor });
@@ -25,4 +29,8 @@ export function registerSystemClient() {
25
29
  di.register('DecoratorProcessor', { useClass: ResourceStartProcessor });
26
30
  di.register('DecoratorProcessor', { useClass: ResourceStopProcessor });
27
31
  di.register('DecoratorProcessor', { useClass: GameEventProcessor });
32
+ processorsRegistered = true;
33
+ }
34
+ export function __resetClientProcessorRegistrationForTests() {
35
+ processorsRegistered = false;
28
36
  }
@@ -1,116 +1,4 @@
1
1
  /**
2
- * Type-safe NUI (Native UI) Bridge for client-server communication.
3
- *
4
- * Generic types allow for full type safety when sending/receiving messages.
5
- * Define your event maps and pass them as type parameters.
6
- *
7
- * @example
8
- * ```typescript
9
- * interface ClientToUI {
10
- * 'showMenu': { items: string[] }
11
- * 'hideMenu': void
12
- * }
13
- *
14
- * interface UIToClient {
15
- * 'menuItemSelected': { index: number }
16
- * 'menuClosed': void
17
- * }
18
- *
19
- * const nui = new NuiBridge<ClientToUI, UIToClient>()
20
- * nui.send('showMenu', { items: ['Option 1', 'Option 2'] })
21
- * nui.on('menuItemSelected', async (data) => console.log(data.index))
22
- * ```
2
+ * @deprecated Import from `./webview-bridge` instead.
23
3
  */
24
- export declare class NuiBridge<TSend extends Record<string, any> = Record<string, any>, TReceive extends Record<string, any> = Record<string, any>> {
25
- private _isVisible;
26
- private _hasFocus;
27
- private _hasCursor;
28
- /**
29
- * Whether the NUI frame is currently visible
30
- */
31
- get isVisible(): boolean;
32
- /**
33
- * Whether the NUI has input focus
34
- */
35
- get hasFocus(): boolean;
36
- /**
37
- * Whether the cursor is visible
38
- */
39
- get hasCursor(): boolean;
40
- /**
41
- * Send a message to the NUI (UI frame).
42
- *
43
- * @param action - The action/event name
44
- * @param data - The data payload
45
- */
46
- send<K extends keyof TSend & string>(action: K, data: TSend[K]): void;
47
- /**
48
- * Send a raw message to the NUI without type checking.
49
- *
50
- * @param action - The action/event name
51
- * @param data - The data payload
52
- */
53
- sendRaw(action: string, data: any): void;
54
- /**
55
- * Register a callback for NUI events from the UI.
56
- *
57
- * @param action - The action/event name to listen for
58
- * @param handler - The callback handler
59
- * @returns Cleanup function to unregister the callback
60
- */
61
- on<K extends keyof TReceive & string>(action: K, handler: (data: TReceive[K]) => void | Promise<void>): void;
62
- /**
63
- * Register a callback that expects a return value.
64
- *
65
- * @param action - The action/event name to listen for
66
- * @param handler - The callback handler that returns data
67
- */
68
- onWithResponse<K extends keyof TReceive & string, R = any>(action: K, handler: (data: TReceive[K]) => R | Promise<R>): void;
69
- /**
70
- * Set NUI focus state.
71
- *
72
- * @param hasFocus - Whether the NUI should have input focus
73
- * @param hasCursor - Whether to show the cursor (defaults to hasFocus value)
74
- */
75
- focus(hasFocus: boolean, hasCursor?: boolean): void;
76
- /**
77
- * Remove NUI focus (convenience method).
78
- */
79
- blur(): void;
80
- /**
81
- * Set NUI visibility state.
82
- * Note: This only tracks state, you need to handle actual visibility in your UI.
83
- *
84
- * @param visible - Whether the NUI should be visible
85
- */
86
- setVisible(visible: boolean): void;
87
- /**
88
- * Show the NUI and optionally set focus.
89
- *
90
- * @param withFocus - Whether to also set focus
91
- * @param withCursor - Whether to show cursor (defaults to withFocus)
92
- */
93
- show(withFocus?: boolean, withCursor?: boolean): void;
94
- /**
95
- * Hide the NUI and remove focus.
96
- */
97
- hide(): void;
98
- /**
99
- * Toggle NUI visibility.
100
- *
101
- * @param withFocus - Whether to set focus when showing
102
- */
103
- toggle(withFocus?: boolean): void;
104
- /**
105
- * Keep input focus but allow game input.
106
- * Useful for HUDs that need to capture some keys but not all.
107
- *
108
- * @param keepInput - Whether to keep game input enabled
109
- */
110
- setKeepInput(keepInput: boolean): void;
111
- }
112
- /**
113
- * Default untyped NUI instance for quick usage.
114
- * For type-safe usage, create your own instance with proper generics.
115
- */
116
- export declare const NUI: NuiBridge<Record<string, any>, Record<string, any>>;
4
+ export { NUI, NuiBridge, WebView, WebViewBridge } from './webview-bridge';