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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/adapters/contracts/IEngineEvents.d.ts +5 -2
  2. package/dist/adapters/contracts/IEngineEvents.js +7 -0
  3. package/dist/adapters/contracts/IExports.d.ts +2 -2
  4. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  5. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  6. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +25 -0
  7. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +8 -0
  8. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  9. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  10. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  11. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  12. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  13. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  14. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  15. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  16. package/dist/adapters/contracts/client/camera/IClientCameraPort.d.ts +107 -0
  17. package/dist/adapters/contracts/client/camera/IClientCameraPort.js +8 -0
  18. package/dist/adapters/contracts/client/camera/index.d.ts +1 -0
  19. package/dist/adapters/contracts/client/camera/index.js +1 -0
  20. package/dist/adapters/contracts/client/index.d.ts +11 -0
  21. package/dist/adapters/contracts/client/index.js +11 -0
  22. package/dist/adapters/contracts/client/ped/IClientPedPort.d.ts +62 -0
  23. package/dist/adapters/contracts/client/ped/IClientPedPort.js +5 -0
  24. package/dist/adapters/contracts/client/ped/index.d.ts +1 -0
  25. package/dist/adapters/contracts/client/ped/index.js +1 -0
  26. package/dist/adapters/contracts/client/progress/IClientProgressPort.d.ts +53 -0
  27. package/dist/adapters/contracts/client/progress/IClientProgressPort.js +8 -0
  28. package/dist/adapters/contracts/client/progress/index.d.ts +1 -0
  29. package/dist/adapters/contracts/client/progress/index.js +1 -0
  30. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +6 -0
  31. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +6 -0
  32. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.d.ts +19 -0
  33. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.js +2 -0
  34. package/dist/adapters/contracts/client/spawn/index.d.ts +4 -0
  35. package/dist/adapters/contracts/client/spawn/index.js +4 -0
  36. package/dist/adapters/contracts/client/spawn/types.d.ts +17 -0
  37. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  38. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  39. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  40. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  41. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  42. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  43. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  44. package/dist/adapters/contracts/client/ui/index.js +4 -0
  45. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +14 -0
  46. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  47. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  48. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  49. package/dist/adapters/contracts/client/ui/webview/types.d.ts +27 -0
  50. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  51. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.d.ts +166 -0
  52. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.js +8 -0
  53. package/dist/adapters/contracts/client/vehicle/index.d.ts +1 -0
  54. package/dist/adapters/contracts/client/vehicle/index.js +1 -0
  55. package/dist/adapters/contracts/index.d.ts +4 -2
  56. package/dist/adapters/contracts/index.js +4 -3
  57. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  58. package/dist/adapters/contracts/runtime/index.js +1 -0
  59. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  60. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  61. package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
  62. package/dist/adapters/contracts/server/IEntityServer.js +0 -26
  63. package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
  64. package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
  65. package/dist/adapters/contracts/server/index.d.ts +10 -0
  66. package/dist/adapters/contracts/server/index.js +10 -0
  67. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  68. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  69. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  70. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  71. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  72. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  73. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  74. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  75. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  76. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  77. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  78. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  79. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  80. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  81. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  82. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  83. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  84. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  85. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  86. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  87. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  88. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  89. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  90. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  91. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  92. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  93. package/dist/adapters/contracts/transport/events.api.d.ts +3 -3
  94. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  95. package/dist/adapters/contracts/transport/index.js +4 -0
  96. package/dist/adapters/contracts/transport/rpc.api.d.ts +3 -3
  97. package/dist/adapters/index.d.ts +3 -14
  98. package/dist/adapters/index.js +3 -20
  99. package/dist/adapters/node/node-capabilities.d.ts +11 -11
  100. package/dist/adapters/node/node-capabilities.js +15 -27
  101. package/dist/adapters/node/node-engine-events.d.ts +1 -1
  102. package/dist/adapters/node/node-engine-events.js +2 -1
  103. package/dist/adapters/node/node-entity-server.d.ts +2 -2
  104. package/dist/adapters/node/node-entity-server.js +2 -2
  105. package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
  106. package/dist/adapters/node/node-ped-appearance-client.js +2 -2
  107. package/dist/adapters/node/node-platform.js +4 -4
  108. package/dist/adapters/node/node-player-server.d.ts +3 -2
  109. package/dist/adapters/node/node-player-server.js +8 -2
  110. package/dist/adapters/node/transport/node.events.d.ts +4 -4
  111. package/dist/adapters/node/transport/node.rpc.d.ts +3 -3
  112. package/dist/adapters/node/transport/node.rpc.js +1 -1
  113. package/dist/adapters/register-capabilities.d.ts +1 -1
  114. package/dist/adapters/register-capabilities.js +1 -3
  115. package/dist/adapters/register-client-capabilities.d.ts +3 -2
  116. package/dist/adapters/register-client-capabilities.js +16 -41
  117. package/dist/contracts/client.d.ts +5 -0
  118. package/dist/contracts/client.js +5 -0
  119. package/dist/contracts/server.d.ts +19 -0
  120. package/dist/contracts/server.js +19 -0
  121. package/dist/contracts.d.ts +5 -0
  122. package/dist/contracts.js +5 -0
  123. package/dist/index.d.ts +2 -1
  124. package/dist/index.js +2 -1
  125. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  126. package/dist/kernel/logger/client-log-console.js +43 -0
  127. package/dist/kernel/logger/core-logger.d.ts +3 -1
  128. package/dist/kernel/logger/core-logger.js +4 -2
  129. package/dist/kernel/logger/index.d.ts +3 -1
  130. package/dist/kernel/logger/index.js +2 -1
  131. package/dist/kernel/logger/logger.types.d.ts +1 -0
  132. package/dist/kernel/logger/logger.types.js +35 -0
  133. package/dist/kernel/logger/transports/buffered.transport.js +4 -4
  134. package/dist/kernel/logger/transports/console.transport.js +2 -2
  135. package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
  136. package/dist/kernel/logger/transports/simple-console.transport.js +15 -10
  137. package/dist/kernel-public.d.ts +1 -0
  138. package/dist/kernel-public.js +1 -0
  139. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  140. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  141. package/dist/runtime/client/adapter/index.d.ts +20 -0
  142. package/dist/runtime/client/adapter/index.js +20 -0
  143. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  144. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  145. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  146. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  147. package/dist/runtime/client/adapter/node-camera-port.d.ts +19 -0
  148. package/dist/runtime/client/adapter/node-camera-port.js +31 -0
  149. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  150. package/dist/runtime/client/adapter/node-client-adapter.js +64 -0
  151. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +11 -0
  152. package/dist/runtime/client/adapter/node-local-player-bridge.js +27 -0
  153. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  154. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  155. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  156. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  157. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  158. package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-notification-bridge.js} +7 -11
  159. package/dist/runtime/client/adapter/node-ped-port.d.ts +20 -0
  160. package/dist/runtime/client/adapter/node-ped-port.js +38 -0
  161. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  162. package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
  163. package/dist/runtime/client/adapter/node-progress-port.d.ts +8 -0
  164. package/dist/runtime/client/adapter/node-progress-port.js +27 -0
  165. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +22 -0
  166. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  167. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  168. package/dist/runtime/client/adapter/node-spawn-bridge.js +22 -0
  169. package/dist/runtime/client/adapter/node-vehicle-port.d.ts +31 -0
  170. package/dist/runtime/client/adapter/node-vehicle-port.js +73 -0
  171. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +16 -0
  172. package/dist/runtime/client/adapter/node-webview-bridge.js +45 -0
  173. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  174. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  175. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  176. package/dist/runtime/client/adapter/registry.js +85 -0
  177. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  178. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  179. package/dist/runtime/client/api.d.ts +2 -1
  180. package/dist/runtime/client/api.js +2 -1
  181. package/dist/runtime/client/client-bootstrap.js +51 -44
  182. package/dist/runtime/client/client-core.d.ts +2 -0
  183. package/dist/runtime/client/client-core.js +9 -0
  184. package/dist/runtime/client/client-runtime.d.ts +3 -0
  185. package/dist/runtime/client/client-runtime.js +3 -0
  186. package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
  187. package/dist/runtime/client/controllers/appearance.controller.js +17 -6
  188. package/dist/runtime/client/controllers/spawner.controller.js +6 -3
  189. package/dist/runtime/client/decorators/controller.js +2 -10
  190. package/dist/runtime/client/decorators/onView.d.ts +3 -3
  191. package/dist/runtime/client/decorators/onView.js +3 -3
  192. package/dist/runtime/client/index.d.ts +1 -0
  193. package/dist/runtime/client/index.js +1 -0
  194. package/dist/runtime/client/library/create-client-library.js +9 -1
  195. package/dist/runtime/client/services/appearance.service.d.ts +2 -2
  196. package/dist/runtime/client/services/appearance.service.js +7 -4
  197. package/dist/runtime/client/services/blip.service.d.ts +6 -93
  198. package/dist/runtime/client/services/blip.service.js +58 -153
  199. package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
  200. package/dist/runtime/client/services/camera-effects.registry.js +20 -7
  201. package/dist/runtime/client/services/camera.d.ts +4 -106
  202. package/dist/runtime/client/services/camera.js +36 -98
  203. package/dist/runtime/client/services/cinematic.d.ts +5 -1
  204. package/dist/runtime/client/services/cinematic.js +45 -30
  205. package/dist/runtime/client/services/index.d.ts +1 -0
  206. package/dist/runtime/client/services/index.js +1 -0
  207. package/dist/runtime/client/services/marker.service.d.ts +12 -63
  208. package/dist/runtime/client/services/marker.service.js +62 -97
  209. package/dist/runtime/client/services/notification.service.d.ts +6 -57
  210. package/dist/runtime/client/services/notification.service.js +43 -81
  211. package/dist/runtime/client/services/ped.service.d.ts +6 -148
  212. package/dist/runtime/client/services/ped.service.js +42 -221
  213. package/dist/runtime/client/services/progress.service.d.ts +4 -75
  214. package/dist/runtime/client/services/progress.service.js +20 -178
  215. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  216. package/dist/runtime/client/services/session-bridge.service.js +62 -0
  217. package/dist/runtime/client/services/spawn.service.d.ts +4 -56
  218. package/dist/runtime/client/services/spawn.service.js +29 -191
  219. package/dist/runtime/client/services/streaming.service.d.ts +5 -126
  220. package/dist/runtime/client/services/streaming.service.js +72 -217
  221. package/dist/runtime/client/services/textui.service.d.ts +5 -45
  222. package/dist/runtime/client/services/textui.service.js +55 -88
  223. package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
  224. package/dist/runtime/client/services/vehicle-client.service.js +128 -374
  225. package/dist/runtime/client/services/vehicle.service.d.ts +4 -147
  226. package/dist/runtime/client/services/vehicle.service.js +33 -239
  227. package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
  228. package/dist/runtime/client/system/processors/export.processor.js +16 -3
  229. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
  230. package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
  231. package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
  232. package/dist/runtime/client/system/processors/interval.processor.js +17 -4
  233. package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
  234. package/dist/runtime/client/system/processors/key.processor.js +18 -5
  235. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
  236. package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
  237. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
  238. package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
  239. package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
  240. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
  241. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
  242. package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
  243. package/dist/runtime/client/system/processors/tick.processor.js +16 -3
  244. package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
  245. package/dist/runtime/client/system/processors/view.processor.js +21 -10
  246. package/dist/runtime/client/system/processors.register.d.ts +1 -0
  247. package/dist/runtime/client/system/processors.register.js +8 -0
  248. package/dist/runtime/client/ui-bridge.d.ts +2 -114
  249. package/dist/runtime/client/ui-bridge.js +2 -194
  250. package/dist/runtime/client/webview-bridge.d.ts +34 -0
  251. package/dist/runtime/client/webview-bridge.js +103 -0
  252. package/dist/runtime/client/webview.service.d.ts +15 -0
  253. package/dist/runtime/client/webview.service.js +103 -0
  254. package/dist/runtime/server/adapter/index.d.ts +5 -0
  255. package/dist/runtime/server/adapter/index.js +5 -0
  256. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  257. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  258. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  259. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +95 -0
  260. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  261. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +56 -0
  262. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  263. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  264. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  265. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  266. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  267. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +58 -0
  268. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  269. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  270. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  271. package/dist/runtime/server/adapter/registry.js +101 -0
  272. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  273. package/dist/runtime/server/adapter/serialization.js +9 -0
  274. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  275. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  276. package/dist/runtime/server/api.d.ts +2 -1
  277. package/dist/runtime/server/api.js +2 -1
  278. package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
  279. package/dist/runtime/server/apis/appearance.api.js +20 -7
  280. package/dist/runtime/server/apis/chat.api.js +6 -5
  281. package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
  282. package/dist/runtime/server/apis/npcs.api.js +28 -57
  283. package/dist/runtime/server/apis/parallel-compute.api.js +1 -0
  284. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
  285. package/dist/runtime/server/apis/vehicle-modification.api.js +13 -6
  286. package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
  287. package/dist/runtime/server/apis/vehicles.api.js +55 -40
  288. package/dist/runtime/server/bootstrap.js +28 -19
  289. package/dist/runtime/server/controllers/channel.controller.js +2 -1
  290. package/dist/runtime/server/controllers/command-export.controller.js +5 -3
  291. package/dist/runtime/server/controllers/player-export.controller.js +5 -4
  292. package/dist/runtime/server/controllers/remote-command-execution.controller.js +2 -1
  293. package/dist/runtime/server/controllers/session.controller.js +3 -2
  294. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
  295. package/dist/runtime/server/controllers/vehicle.controller.js +13 -7
  296. package/dist/runtime/server/core.d.ts +2 -0
  297. package/dist/runtime/server/core.js +9 -1
  298. package/dist/runtime/server/decorators/command.d.ts +2 -0
  299. package/dist/runtime/server/decorators/command.js +3 -1
  300. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
  301. package/dist/runtime/server/entities/npc.d.ts +3 -1
  302. package/dist/runtime/server/entities/npc.js +3 -3
  303. package/dist/runtime/server/entities/player.d.ts +9 -12
  304. package/dist/runtime/server/entities/player.js +49 -31
  305. package/dist/runtime/server/entities/vehicle.js +2 -2
  306. package/dist/runtime/server/error-handler.js +13 -2
  307. package/dist/runtime/server/helpers/command-validation.helper.js +21 -8
  308. package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
  309. package/dist/runtime/server/helpers/function-helper.js +15 -8
  310. package/dist/runtime/server/implementations/local/channel.local.d.ts +1 -1
  311. package/dist/runtime/server/implementations/local/channel.local.js +3 -2
  312. package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
  313. package/dist/runtime/server/implementations/local/player.local.js +23 -11
  314. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
  315. package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
  316. package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
  317. package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
  318. package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
  319. package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
  320. package/dist/runtime/server/library/create-server-library.js +17 -2
  321. package/dist/runtime/server/ports/channel.api-port.d.ts +1 -1
  322. package/dist/runtime/server/runtime.d.ts +3 -0
  323. package/dist/runtime/server/runtime.js +1 -15
  324. package/dist/runtime/server/services/appearance.service.d.ts +0 -95
  325. package/dist/runtime/server/services/appearance.service.js +15 -192
  326. package/dist/runtime/server/services/parallel/worker-pool.d.ts +1 -1
  327. package/dist/runtime/server/services/parallel/worker-pool.js +38 -6
  328. package/dist/runtime/server/services/parallel/worker.js +1 -0
  329. package/dist/runtime/server/services/services.register.js +56 -24
  330. package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
  331. package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
  332. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
  333. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
  334. package/dist/runtime/server/system/schema-generator.d.ts +1 -1
  335. package/dist/runtime/server/system/schema-generator.js +6 -3
  336. package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
  337. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  338. package/dist/runtime/shared/helpers/process-tuple-schema.js +32 -0
  339. package/dist/runtime/shared/types/system-types.d.ts +55 -0
  340. package/dist/runtime/shared/types/system-types.js +54 -0
  341. package/package.json +41 -13
  342. package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
  343. package/dist/adapters/cfx/cfx-capabilities.js +0 -70
  344. package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
  345. package/dist/adapters/cfx/cfx-platform.js +0 -85
  346. package/dist/adapters/cfx/index.d.ts +0 -3
  347. package/dist/adapters/cfx/index.js +0 -3
  348. package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
  349. package/dist/adapters/cfx/runtime-profile.js +0 -37
  350. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
  351. package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
  352. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
  353. package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
  354. package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
  355. package/dist/adapters/fivem/fivem-capabilities.js +0 -61
  356. package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
  357. package/dist/adapters/fivem/fivem-engine-events.js +0 -24
  358. package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
  359. package/dist/adapters/fivem/fivem-entity-server.js +0 -87
  360. package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
  361. package/dist/adapters/fivem/fivem-exports.js +0 -9
  362. package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
  363. package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
  364. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
  365. package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
  366. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
  367. package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
  368. package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
  369. package/dist/adapters/fivem/fivem-ped-server.js +0 -30
  370. package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
  371. package/dist/adapters/fivem/fivem-platform.js +0 -74
  372. package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
  373. package/dist/adapters/fivem/fivem-player-server.js +0 -83
  374. package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
  375. package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
  376. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
  377. package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
  378. package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
  379. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
  380. package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
  381. package/dist/adapters/fivem/index.d.ts +0 -14
  382. package/dist/adapters/fivem/index.js +0 -16
  383. package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
  384. package/dist/adapters/fivem/transport/adapter.js +0 -8
  385. package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
  386. package/dist/adapters/fivem/transport/fivem.events.js +0 -36
  387. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
  388. package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
  389. package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
  390. package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
  391. package/dist/runtime/client/player/player.d.ts +0 -262
  392. package/dist/runtime/client/player/player.js +0 -474
  393. package/dist/runtime/client/player/player.loader.d.ts +0 -1
  394. package/dist/runtime/client/player/player.loader.js +0 -18
  395. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
  396. package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
  397. /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
@@ -1,8 +1,9 @@
1
1
  export * from './client-core';
2
2
  export * from './client-runtime';
3
+ export * from './adapter';
3
4
  export * from './decorators';
4
5
  export * from './library';
5
- export * from './player/player';
6
6
  export * from './services';
7
7
  export * from './types';
8
+ export * from './webview-bridge';
8
9
  export * from './ui-bridge';
@@ -1,8 +1,9 @@
1
1
  export * from './client-core';
2
2
  export * from './client-runtime';
3
+ export * from './adapter';
3
4
  export * from './decorators';
4
5
  export * from './library';
5
- export * from './player/player';
6
6
  export * from './services';
7
7
  export * from './types';
8
+ export * from './webview-bridge';
8
9
  export * from './ui-bridge';
@@ -1,13 +1,13 @@
1
- import { registerClientCapabilities } from '../../adapters/register-client-capabilities';
2
1
  import { MetadataScanner } from '../../kernel/di/metadata.scanner';
3
2
  import { loggers } from '../../kernel/logger';
3
+ import { assertClientAdapterCompatibility, getActiveClientAdapterName, getCurrentClientResourceName, installClientAdapter, } from './adapter/registry';
4
4
  import { di } from './client-container';
5
5
  import { getClientRuntimeContext, setClientRuntimeContext, } from './client-runtime';
6
6
  import { getClientControllerRegistry } from './decorators';
7
- import { playerClientLoader } from './player/player.loader';
8
- import { BlipService, Camera, CameraEffectsRegistry, Cinematic, MarkerService, NotificationService, PedService, ProgressService, SpawnService, StreamingService, TextUIService, VehicleClientService, VehicleService, } from './services';
7
+ import { BlipService, Camera, CameraEffectsRegistry, Cinematic, MarkerService, NotificationService, PedService, ProgressService, ClientSessionBridgeService, SpawnService, StreamingService, TextUIService, VehicleClientService, VehicleService, } from './services';
9
8
  import { registerSystemClient } from './system/processors.register';
10
- import { NuiBridge } from './ui-bridge';
9
+ import { WebViewBridge } from './webview-bridge';
10
+ import { WebViewService } from './webview.service';
11
11
  /**
12
12
  * Services that have an init() method which registers global runtime event listeners.
13
13
  *
@@ -15,13 +15,13 @@ import { NuiBridge } from './ui-bridge';
15
15
  * - Registered in DI for ALL modes (so they can be injected and used)
16
16
  * - Only initialized (.init() called) in CORE mode to avoid duplicate event handlers
17
17
  */
18
- const SERVICES_WITH_GLOBAL_LISTENERS = [SpawnService];
18
+ const SERVICES_WITH_GLOBAL_LISTENERS = [SpawnService, ClientSessionBridgeService];
19
19
  /**
20
20
  * All client services that should be available in the DI container
21
21
  */
22
22
  // const ALL_CLIENT_SERVICES = [
23
23
  // SpawnService,
24
- // NuiBridge,
24
+ // WebViewBridge,
25
25
  // NotificationService,
26
26
  // TextUIService,
27
27
  // ProgressService,
@@ -32,18 +32,6 @@ const SERVICES_WITH_GLOBAL_LISTENERS = [SpawnService];
32
32
  // PedService,
33
33
  // StreamingService,
34
34
  // ] as const
35
- /**
36
- * Get current resource name safely
37
- */
38
- function getCurrentResourceNameSafe() {
39
- const fn = globalThis.GetCurrentResourceName;
40
- if (typeof fn === 'function') {
41
- const name = fn();
42
- if (typeof name === 'string' && name.trim())
43
- return name;
44
- }
45
- return 'default';
46
- }
47
35
  /**
48
36
  * Register singleton services in the DI container
49
37
  *
@@ -53,20 +41,38 @@ function getCurrentResourceNameSafe() {
53
41
  */
54
42
  function registerServices() {
55
43
  // Register all client services in DI (available in all modes)
56
- di.registerSingleton(SpawnService, SpawnService);
57
- di.registerSingleton(NuiBridge, NuiBridge);
58
- di.registerSingleton(NotificationService, NotificationService);
59
- di.registerSingleton(TextUIService, TextUIService);
60
- di.registerSingleton(ProgressService, ProgressService);
61
- di.registerSingleton(MarkerService, MarkerService);
62
- di.registerSingleton(BlipService, BlipService);
63
- di.registerSingleton(Camera, Camera);
64
- di.registerSingleton(CameraEffectsRegistry, CameraEffectsRegistry);
65
- di.registerSingleton(Cinematic, Cinematic);
66
- di.registerSingleton(VehicleClientService, VehicleClientService);
67
- di.registerSingleton(VehicleService, VehicleService);
68
- di.registerSingleton(PedService, PedService);
69
- di.registerSingleton(StreamingService, StreamingService);
44
+ if (!di.isRegistered(SpawnService))
45
+ di.registerSingleton(SpawnService, SpawnService);
46
+ if (!di.isRegistered(WebViewService))
47
+ di.registerSingleton(WebViewService, WebViewService);
48
+ if (!di.isRegistered(WebViewBridge))
49
+ di.registerSingleton(WebViewBridge, WebViewBridge);
50
+ if (!di.isRegistered(NotificationService))
51
+ di.registerSingleton(NotificationService, NotificationService);
52
+ if (!di.isRegistered(TextUIService))
53
+ di.registerSingleton(TextUIService, TextUIService);
54
+ if (!di.isRegistered(ProgressService))
55
+ di.registerSingleton(ProgressService, ProgressService);
56
+ if (!di.isRegistered(ClientSessionBridgeService))
57
+ di.registerSingleton(ClientSessionBridgeService, ClientSessionBridgeService);
58
+ if (!di.isRegistered(MarkerService))
59
+ di.registerSingleton(MarkerService, MarkerService);
60
+ if (!di.isRegistered(BlipService))
61
+ di.registerSingleton(BlipService, BlipService);
62
+ if (!di.isRegistered(Camera))
63
+ di.registerSingleton(Camera, Camera);
64
+ if (!di.isRegistered(CameraEffectsRegistry))
65
+ di.registerSingleton(CameraEffectsRegistry, CameraEffectsRegistry);
66
+ if (!di.isRegistered(Cinematic))
67
+ di.registerSingleton(Cinematic, Cinematic);
68
+ if (!di.isRegistered(VehicleClientService))
69
+ di.registerSingleton(VehicleClientService, VehicleClientService);
70
+ if (!di.isRegistered(VehicleService))
71
+ di.registerSingleton(VehicleService, VehicleService);
72
+ if (!di.isRegistered(PedService))
73
+ di.registerSingleton(PedService, PedService);
74
+ if (!di.isRegistered(StreamingService))
75
+ di.registerSingleton(StreamingService, StreamingService);
70
76
  }
71
77
  /**
72
78
  * Bootstrap services that need initialization
@@ -109,14 +115,13 @@ async function tryImportAutoLoad() {
109
115
  */
110
116
  export async function initClientCore(options = {}) {
111
117
  const mode = options.mode ?? 'CORE';
112
- const resourceName = getCurrentResourceNameSafe();
113
- // Register system processors early (needed for MetadataScanner)
114
- // These processors are safe - they just process metadata, they don't register event handlers
115
- // Each resource bundle needs its own copy registered in its DI container
116
- registerSystemClient();
117
118
  // Check if already initialized
118
119
  const existingContext = getClientRuntimeContext();
119
120
  if (existingContext?.isInitialized) {
121
+ assertClientAdapterCompatibility(options.adapter);
122
+ // Register system processors for the active bundle if needed.
123
+ registerSystemClient();
124
+ const resourceName = getCurrentClientResourceName();
120
125
  // If already initialized, only scan controllers for this resource
121
126
  if (mode === 'RESOURCE' || mode === 'STANDALONE') {
122
127
  await tryImportAutoLoad();
@@ -128,29 +133,31 @@ export async function initClientCore(options = {}) {
128
133
  // If trying to initialize CORE mode twice, throw error
129
134
  throw new Error(`Client already initialized in ${existingContext.mode} mode by resource "${existingContext.resourceName}". Cannot initialize again in ${mode} mode.`);
130
135
  }
136
+ await installClientAdapter(options.adapter);
137
+ loggers.bootstrap.debug('Client adapter registered', {
138
+ adapter: getActiveClientAdapterName() ?? 'unknown',
139
+ });
140
+ const resourceName = getCurrentClientResourceName();
141
+ // Register system processors early (needed for MetadataScanner)
142
+ // These processors are safe - they just process metadata, they don't register event handlers
143
+ // Each resource bundle needs its own copy registered in its DI container
144
+ registerSystemClient();
131
145
  // Set runtime context
132
146
  setClientRuntimeContext({
133
147
  mode,
134
148
  resourceName,
135
149
  isInitialized: true,
136
150
  });
137
- // Register client-side adapters (IPedAppearanceClient, IHasher)
138
- await registerClientCapabilities();
139
151
  // Register all services in DI (available in all modes)
140
152
  registerServices();
141
153
  // Bootstrap services (only in CORE mode)
142
154
  // This is where services that register global event handlers are initialized
143
155
  await bootstrapServices(mode);
144
- // Player loader (only in CORE mode)
145
- if (mode === 'CORE') {
146
- playerClientLoader();
147
- }
148
156
  // Import framework controllers (only in CORE mode)
149
157
  // These controllers listen to global events and should only be registered once
150
158
  if (mode === 'CORE') {
151
159
  await import('./controllers/spawner.controller');
152
160
  await import('./controllers/appearance.controller');
153
- await import('./controllers/player-sync.controller');
154
161
  }
155
162
  await tryImportAutoLoad();
156
163
  // Scan and register controllers
@@ -1,4 +1,6 @@
1
+ import type { OpenCoreClientAdapter } from './adapter';
1
2
  import { ClientInitOptions } from './client-runtime';
3
+ export declare function useAdapter(adapter: OpenCoreClientAdapter): void;
2
4
  /**
3
5
  * Initialize the OpenCore client framework
4
6
  *
@@ -1,5 +1,10 @@
1
1
  import { initClientCore } from './client-bootstrap';
2
+ import { installClientAdapter } from './adapter/registry';
2
3
  import { installClientPlugins } from './library/plugin/install-client-plugins';
4
+ let pendingAdapter;
5
+ export function useAdapter(adapter) {
6
+ pendingAdapter = adapter;
7
+ }
3
8
  /**
4
9
  * Initialize the OpenCore client framework
5
10
  *
@@ -18,6 +23,10 @@ import { installClientPlugins } from './library/plugin/install-client-plugins';
18
23
  * ```
19
24
  */
20
25
  export async function init(options = {}) {
26
+ if (!options.adapter && pendingAdapter) {
27
+ options = { ...options, adapter: pendingAdapter };
28
+ }
29
+ await installClientAdapter(options.adapter);
21
30
  await installClientPlugins(options.plugins ?? [], options);
22
31
  await initClientCore(options);
23
32
  }
@@ -34,6 +34,8 @@ export interface ClientInitOptions {
34
34
  * Defaults to 'CORE' if not specified (for backwards compatibility).
35
35
  */
36
36
  mode?: ClientMode;
37
+ /** Optional runtime adapter for non-node client environments. */
38
+ adapter?: import('./adapter').OpenCoreClientAdapter;
37
39
  /**
38
40
  * Optional client plugins installed before bootstrap.
39
41
  */
@@ -61,3 +63,4 @@ export declare function setClientRuntimeContext(ctx: ClientRuntimeContext): void
61
63
  * Check if the client has been initialized
62
64
  */
63
65
  export declare function isClientInitialized(): boolean;
66
+ export declare function __resetClientRuntimeContextForTests(): void;
@@ -19,3 +19,6 @@ export function setClientRuntimeContext(ctx) {
19
19
  export function isClientInitialized() {
20
20
  return runtimeContext?.isInitialized ?? false;
21
21
  }
22
+ export function __resetClientRuntimeContextForTests() {
23
+ runtimeContext = null;
24
+ }
@@ -1,8 +1,10 @@
1
1
  import { PlayerAppearance } from '../../../kernel/shared';
2
+ import { IClientLocalPlayerBridge } from '../adapter/local-player-bridge';
2
3
  import { AppearanceService } from '../services/appearance.service';
3
4
  export declare class AppearanceTestClientController {
4
5
  private readonly appearanceService;
5
- constructor(appearanceService: AppearanceService);
6
+ private readonly localPlayer;
7
+ constructor(appearanceService: AppearanceService, localPlayer: IClientLocalPlayerBridge);
6
8
  onApply(appearance: PlayerAppearance): Promise<void>;
7
9
  onReset(): void;
8
10
  }
@@ -11,31 +11,40 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { inject } from 'tsyringe';
14
+ import { SYSTEM_EVENTS } from '../../shared/types/system-types';
14
15
  import { Controller, OnNet } from '../decorators';
16
+ import { IClientLocalPlayerBridge } from '../adapter/local-player-bridge';
15
17
  import { AppearanceService } from '../services/appearance.service';
18
+ import { loggers } from '../../../kernel/logger';
16
19
  let AppearanceTestClientController = class AppearanceTestClientController {
17
20
  appearanceService;
18
- constructor(appearanceService) {
21
+ localPlayer;
22
+ constructor(appearanceService, localPlayer) {
19
23
  this.appearanceService = appearanceService;
24
+ this.localPlayer = localPlayer;
20
25
  }
21
26
  async onApply(appearance) {
22
- const ped = PlayerPedId();
27
+ loggers.netEvent.debug('appearance:apply received', {
28
+ appearance,
29
+ });
30
+ const ped = this.localPlayer.getHandle();
23
31
  await this.appearanceService.applyAppearance(ped, appearance);
24
32
  }
25
33
  onReset() {
26
- const ped = PlayerPedId();
34
+ loggers.netEvent.debug('appearance:reset received');
35
+ const ped = this.localPlayer.getHandle();
27
36
  this.appearanceService.setDefaultAppearance(ped);
28
37
  this.appearanceService.clearTattoos(ped);
29
38
  }
30
39
  };
31
40
  __decorate([
32
- OnNet('opencore:appearance:apply'),
41
+ OnNet(SYSTEM_EVENTS.appearance.apply),
33
42
  __metadata("design:type", Function),
34
43
  __metadata("design:paramtypes", [Object]),
35
44
  __metadata("design:returntype", Promise)
36
45
  ], AppearanceTestClientController.prototype, "onApply", null);
37
46
  __decorate([
38
- OnNet('opencore:appearance:reset'),
47
+ OnNet(SYSTEM_EVENTS.appearance.reset),
39
48
  __metadata("design:type", Function),
40
49
  __metadata("design:paramtypes", []),
41
50
  __metadata("design:returntype", void 0)
@@ -43,6 +52,8 @@ __decorate([
43
52
  AppearanceTestClientController = __decorate([
44
53
  Controller(),
45
54
  __param(0, inject(AppearanceService)),
46
- __metadata("design:paramtypes", [AppearanceService])
55
+ __param(1, inject(IClientLocalPlayerBridge)),
56
+ __metadata("design:paramtypes", [AppearanceService,
57
+ IClientLocalPlayerBridge])
47
58
  ], AppearanceTestClientController);
48
59
  export { AppearanceTestClientController };
@@ -7,6 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import { loggers } from '../../../kernel/logger';
11
+ import { SYSTEM_EVENTS } from '../../shared/types/system-types';
10
12
  import { Controller, OnNet } from '../decorators';
11
13
  import { SpawnService } from '../services';
12
14
  let SpawnerController = class SpawnerController {
@@ -15,6 +17,7 @@ let SpawnerController = class SpawnerController {
15
17
  this.spawnService = spawnService;
16
18
  }
17
19
  async handleSpawn(data) {
20
+ loggers.spawn.debug('Spawn event received', data);
18
21
  await this.spawnService.spawn(data.position, data.model);
19
22
  }
20
23
  async handleRespawn(position, heading = 0.0) {
@@ -25,19 +28,19 @@ let SpawnerController = class SpawnerController {
25
28
  }
26
29
  };
27
30
  __decorate([
28
- OnNet('opencore:spawner:spawn'),
31
+ OnNet(SYSTEM_EVENTS.spawner.spawn),
29
32
  __metadata("design:type", Function),
30
33
  __metadata("design:paramtypes", [Object]),
31
34
  __metadata("design:returntype", Promise)
32
35
  ], SpawnerController.prototype, "handleSpawn", null);
33
36
  __decorate([
34
- OnNet('opencore:spawner:respawn'),
37
+ OnNet(SYSTEM_EVENTS.spawner.respawn),
35
38
  __metadata("design:type", Function),
36
39
  __metadata("design:paramtypes", [Object, Object]),
37
40
  __metadata("design:returntype", Promise)
38
41
  ], SpawnerController.prototype, "handleRespawn", null);
39
42
  __decorate([
40
- OnNet('opencore:spawner:teleport'),
43
+ OnNet(SYSTEM_EVENTS.spawner.teleport),
41
44
  __metadata("design:type", Function),
42
45
  __metadata("design:paramtypes", [Object, Number]),
43
46
  __metadata("design:returntype", Promise)
@@ -1,16 +1,8 @@
1
1
  import { injectable } from 'tsyringe';
2
+ import { getCurrentClientResourceName } from '../adapter/registry';
2
3
  import { METADATA_KEYS } from '../system/metadata-client.keys';
3
4
  import { getClientRuntimeContext } from '../client-runtime';
4
5
  const clientControllerRegistryByResource = new Map();
5
- function getCurrentResourceNameSafe() {
6
- const fn = globalThis.GetCurrentResourceName;
7
- if (typeof fn === 'function') {
8
- const name = fn();
9
- if (typeof name === 'string' && name.trim())
10
- return name;
11
- }
12
- return 'default';
13
- }
14
6
  function resolveRegistryKey(resourceName) {
15
7
  if (resourceName?.trim()) {
16
8
  return resourceName;
@@ -19,7 +11,7 @@ function resolveRegistryKey(resourceName) {
19
11
  if (runtime?.resourceName?.trim()) {
20
12
  return runtime.resourceName;
21
13
  }
22
- return getCurrentResourceNameSafe();
14
+ return getCurrentClientResourceName();
23
15
  }
24
16
  export function getClientControllerRegistry(resourceName) {
25
17
  const key = resolveRegistryKey(resourceName);
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Registers a method as an onView callback handler. View are equal to NUI
2
+ * Registers a method as a WebView callback handler.
3
3
  *
4
4
  * @remarks
5
5
  * This decorator only stores metadata. During bootstrap, the framework binds the decorated method
6
- * to the NUI callback event name.
6
+ * to the active WebView runtime callback.
7
7
  *
8
- * @param eventName - onView callback name.
8
+ * @param eventName - Callback name.
9
9
  *
10
10
  * @example
11
11
  * ```ts
@@ -1,12 +1,12 @@
1
1
  import { METADATA_KEYS } from '../system/metadata-client.keys';
2
2
  /**
3
- * Registers a method as an onView callback handler. View are equal to NUI
3
+ * Registers a method as a WebView callback handler.
4
4
  *
5
5
  * @remarks
6
6
  * This decorator only stores metadata. During bootstrap, the framework binds the decorated method
7
- * to the NUI callback event name.
7
+ * to the active WebView runtime callback.
8
8
  *
9
- * @param eventName - onView callback name.
9
+ * @param eventName - Callback name.
10
10
  *
11
11
  * @example
12
12
  * ```ts
@@ -1,4 +1,5 @@
1
1
  export * from './api';
2
+ export * from './adapter';
2
3
  export { Client, createClientRuntime } from './client-api-runtime';
3
4
  export type { ClientApi } from './client-api-runtime';
4
5
  export type { ClientPluginApi, OpenCoreClientPlugin, PluginInstallContext as ClientPluginInstallContext, } from './library/plugin';
@@ -1,2 +1,3 @@
1
1
  export * from './api';
2
+ export * from './adapter';
2
3
  export { Client, createClientRuntime } from './client-api-runtime';
@@ -1,3 +1,5 @@
1
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
2
+ import { di } from '../client-container';
1
3
  import { coreLogger } from '../../../kernel/logger';
2
4
  import { buildLibraryEventId, createLibraryBase, createLibraryConfigAccessor, } from '../../core/library';
3
5
  import { emitLibraryEvent } from '../bus/library-event.bus';
@@ -14,6 +16,9 @@ export function createClientLibrary(name, opts) {
14
16
  const base = createLibraryBase(name, opts);
15
17
  const logger = coreLogger.client(`Library:${base.name}`);
16
18
  const emitInternal = base.emit;
19
+ const events = di.isRegistered(EventsAPI)
20
+ ? di.resolve(EventsAPI)
21
+ : null;
17
22
  return {
18
23
  ...base,
19
24
  side: 'client',
@@ -33,7 +38,10 @@ export function createClientLibrary(name, opts) {
33
38
  emitLibraryEvent(eventId, envelope);
34
39
  },
35
40
  emitServer(eventName, payload) {
36
- emitNet(base.buildEventName(eventName), payload);
41
+ if (!events) {
42
+ throw new Error('[OpenCore] Client events transport is not registered.');
43
+ }
44
+ events.emit(base.buildEventName(eventName), payload);
37
45
  },
38
46
  getLogger() {
39
47
  return logger;
@@ -1,4 +1,4 @@
1
- import { IPedAppearanceClient } from '../../../adapters/contracts/client/IPedAppearanceClient';
1
+ import { IGtaPedAppearanceBridge } from '../../../adapters/contracts/client/IGtaPedAppearanceBridge';
2
2
  import { IHasher } from '../../../adapters/contracts/IHasher';
3
3
  import { AppearanceValidationResult, PlayerAppearance } from '../../../kernel/shared';
4
4
  /**
@@ -23,7 +23,7 @@ import { AppearanceValidationResult, PlayerAppearance } from '../../../kernel/sh
23
23
  export declare class AppearanceService {
24
24
  private pedAdapter;
25
25
  private hasher;
26
- constructor(pedAdapter: IPedAppearanceClient, hasher: IHasher);
26
+ constructor(pedAdapter: IGtaPedAppearanceBridge, hasher: IHasher);
27
27
  /**
28
28
  * Applies a complete appearance to a ped.
29
29
  *
@@ -11,7 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { inject, injectable } from 'tsyringe';
14
- import { IPedAppearanceClient } from '../../../adapters/contracts/client/IPedAppearanceClient';
14
+ import { IGtaPedAppearanceBridge } from '../../../adapters/contracts/client/IGtaPedAppearanceBridge';
15
15
  import { IHasher } from '../../../adapters/contracts/IHasher';
16
16
  /**
17
17
  * Client-side appearance management service.
@@ -309,7 +309,10 @@ let AppearanceService = class AppearanceService {
309
309
  * @param ped - Ped entity handle
310
310
  */
311
311
  setDefaultAppearance(ped) {
312
- this.pedAdapter.setDefaultComponentVariation(ped);
312
+ const adapter = this.pedAdapter;
313
+ if (typeof adapter?.setDefaultComponentVariation === 'function') {
314
+ adapter.setDefaultComponentVariation(ped);
315
+ }
313
316
  }
314
317
  /**
315
318
  * Clears all tattoos from a ped.
@@ -322,9 +325,9 @@ let AppearanceService = class AppearanceService {
322
325
  };
323
326
  AppearanceService = __decorate([
324
327
  injectable(),
325
- __param(0, inject(IPedAppearanceClient)),
328
+ __param(0, inject(IGtaPedAppearanceBridge)),
326
329
  __param(1, inject(IHasher)),
327
- __metadata("design:paramtypes", [IPedAppearanceClient,
330
+ __metadata("design:paramtypes", [IGtaPedAppearanceBridge,
328
331
  IHasher])
329
332
  ], AppearanceService);
330
333
  export { AppearanceService };
@@ -1,112 +1,25 @@
1
1
  import { Vector3 } from '../../../kernel/utils/vector3';
2
- export interface BlipOptions {
3
- /** Blip sprite ID (icon) */
4
- sprite?: number;
5
- /** Blip color ID */
6
- color?: number;
7
- /** Blip scale */
8
- scale?: number;
9
- /** Short range blip (only visible nearby) */
10
- shortRange?: boolean;
11
- /** Blip label/name */
12
- label?: string;
13
- /** Display category (affects visibility on map) */
14
- display?: number;
15
- /** Blip category */
16
- category?: number;
17
- /** Flash the blip */
18
- flash?: boolean;
19
- /** Blip alpha (0-255) */
20
- alpha?: number;
21
- /** Route to this blip */
22
- route?: boolean;
23
- /** Route color */
24
- routeColor?: number;
25
- }
2
+ import { IClientBlipBridge, type ClientBlipDefinition, type ClientBlipOptions as BlipOptions } from '../../../adapters/contracts/client/ui/IClientBlipBridge';
26
3
  export interface ManagedBlip {
27
4
  id: string;
28
- handle: number;
29
- position: Vector3;
30
- options: BlipOptions;
5
+ definition: ClientBlipDefinition;
31
6
  }
32
- /**
33
- * Service for creating and managing map blips.
34
- */
35
7
  export declare class BlipService {
8
+ private readonly bridge;
36
9
  private blips;
37
10
  private idCounter;
38
- /**
39
- * Create a blip at a world position.
40
- *
41
- * @param position - World position
42
- * @param options - Blip options
43
- * @returns The blip ID
44
- */
11
+ constructor(bridge: IClientBlipBridge);
45
12
  create(position: Vector3, options?: BlipOptions): string;
46
- /**
47
- * Create a blip attached to an entity.
48
- *
49
- * @param entity - Entity handle
50
- * @param options - Blip options
51
- * @returns The blip ID
52
- */
53
13
  createForEntity(entity: number, options?: BlipOptions): string;
54
- /**
55
- * Create a blip for a radius/area.
56
- *
57
- * @param position - Center position
58
- * @param radius - Radius of the area
59
- * @param options - Blip options
60
- * @returns The blip ID
61
- */
62
14
  createForRadius(position: Vector3, radius: number, options?: BlipOptions): string;
63
- /**
64
- * Remove a blip by ID.
65
- *
66
- * @param id - The blip ID
67
- */
68
15
  remove(id: string): boolean;
69
- /**
70
- * Remove all managed blips.
71
- */
72
16
  removeAll(): void;
73
- /**
74
- * Update blip options.
75
- *
76
- * @param id - The blip ID
77
- * @param options - New options to apply
78
- */
79
17
  update(id: string, options: Partial<BlipOptions>): boolean;
80
- /**
81
- * Set blip position.
82
- *
83
- * @param id - The blip ID
84
- * @param position - New position
85
- */
86
18
  setPosition(id: string, position: Vector3): boolean;
87
- /**
88
- * Set whether a route should be drawn to the blip.
89
- *
90
- * @param id - The blip ID
91
- * @param enabled - Whether to show the route
92
- * @param color - Optional route color
93
- */
94
19
  setRoute(id: string, enabled: boolean, color?: number): boolean;
95
- /**
96
- * Get blip by ID.
97
- */
98
20
  get(id: string): ManagedBlip | undefined;
99
- /**
100
- * Get all managed blips.
101
- */
102
21
  getAll(): ManagedBlip[];
103
- /**
104
- * Get the native blip handle by ID.
105
- */
106
- getHandle(id: string): number | undefined;
107
- /**
108
- * Check if a blip still exists in the game world.
109
- */
110
22
  exists(id: string): boolean;
111
- private applyOptions;
23
+ private buildDefinition;
24
+ private normalizeOptions;
112
25
  }