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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/adapters/contracts/IEngineEvents.d.ts +3 -0
  2. package/dist/adapters/contracts/IEngineEvents.js +7 -0
  3. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  4. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  5. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
  6. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
  7. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  8. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  9. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  10. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  11. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  12. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  13. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  14. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  15. package/dist/adapters/contracts/client/index.d.ts +7 -0
  16. package/dist/adapters/contracts/client/index.js +7 -0
  17. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
  18. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
  19. package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
  20. package/dist/adapters/contracts/client/spawn/index.js +2 -0
  21. package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
  22. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  23. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  24. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  25. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  26. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  27. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  28. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  29. package/dist/adapters/contracts/client/ui/index.js +4 -0
  30. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
  31. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  32. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  33. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  34. package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
  35. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  36. package/dist/adapters/contracts/index.d.ts +4 -2
  37. package/dist/adapters/contracts/index.js +4 -3
  38. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  39. package/dist/adapters/contracts/runtime/index.js +1 -0
  40. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  41. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  42. package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
  43. package/dist/adapters/contracts/server/IEntityServer.js +0 -26
  44. package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
  45. package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
  46. package/dist/adapters/contracts/server/index.d.ts +10 -0
  47. package/dist/adapters/contracts/server/index.js +10 -0
  48. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  49. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  50. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  51. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  52. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  53. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  54. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  55. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  56. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  57. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  58. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  59. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  60. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  61. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  62. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  63. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  64. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  65. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  66. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  67. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  68. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  69. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  70. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  71. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  72. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  73. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  74. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  75. package/dist/adapters/contracts/transport/index.js +4 -0
  76. package/dist/adapters/index.d.ts +3 -14
  77. package/dist/adapters/index.js +3 -20
  78. package/dist/adapters/node/node-capabilities.d.ts +11 -11
  79. package/dist/adapters/node/node-capabilities.js +15 -27
  80. package/dist/adapters/node/node-engine-events.d.ts +1 -1
  81. package/dist/adapters/node/node-engine-events.js +2 -1
  82. package/dist/adapters/node/node-entity-server.d.ts +2 -2
  83. package/dist/adapters/node/node-entity-server.js +2 -2
  84. package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
  85. package/dist/adapters/node/node-ped-appearance-client.js +2 -2
  86. package/dist/adapters/node/node-platform.js +4 -4
  87. package/dist/adapters/node/node-player-server.d.ts +3 -2
  88. package/dist/adapters/node/node-player-server.js +8 -2
  89. package/dist/adapters/register-capabilities.d.ts +1 -1
  90. package/dist/adapters/register-capabilities.js +1 -3
  91. package/dist/adapters/register-client-capabilities.d.ts +3 -2
  92. package/dist/adapters/register-client-capabilities.js +16 -41
  93. package/dist/contracts/client.d.ts +5 -0
  94. package/dist/contracts/client.js +5 -0
  95. package/dist/contracts/server.d.ts +19 -0
  96. package/dist/contracts/server.js +19 -0
  97. package/dist/contracts.d.ts +4 -0
  98. package/dist/contracts.js +4 -0
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.js +1 -1
  101. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  102. package/dist/kernel/logger/client-log-console.js +43 -0
  103. package/dist/kernel/logger/core-logger.d.ts +3 -1
  104. package/dist/kernel/logger/core-logger.js +4 -2
  105. package/dist/kernel/logger/index.d.ts +2 -0
  106. package/dist/kernel/logger/index.js +1 -0
  107. package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
  108. package/dist/kernel/logger/transports/simple-console.transport.js +13 -8
  109. package/dist/kernel-public.d.ts +1 -0
  110. package/dist/kernel-public.js +1 -0
  111. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  112. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  113. package/dist/runtime/client/adapter/index.d.ts +15 -0
  114. package/dist/runtime/client/adapter/index.js +15 -0
  115. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  116. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  117. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  118. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  119. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  120. package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
  121. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
  122. package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-local-player-bridge.js} +7 -9
  123. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  124. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  125. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  126. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  127. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  128. package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
  129. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  130. package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
  131. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
  132. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  133. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  134. package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
  135. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
  136. package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
  137. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  138. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  139. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  140. package/dist/runtime/client/adapter/registry.js +85 -0
  141. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  142. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  143. package/dist/runtime/client/api.d.ts +2 -1
  144. package/dist/runtime/client/api.js +2 -1
  145. package/dist/runtime/client/client-bootstrap.js +51 -44
  146. package/dist/runtime/client/client-core.d.ts +2 -0
  147. package/dist/runtime/client/client-core.js +9 -0
  148. package/dist/runtime/client/client-runtime.d.ts +3 -0
  149. package/dist/runtime/client/client-runtime.js +3 -0
  150. package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
  151. package/dist/runtime/client/controllers/appearance.controller.js +14 -4
  152. package/dist/runtime/client/controllers/spawner.controller.js +2 -0
  153. package/dist/runtime/client/decorators/controller.js +2 -10
  154. package/dist/runtime/client/decorators/onView.d.ts +3 -3
  155. package/dist/runtime/client/decorators/onView.js +3 -3
  156. package/dist/runtime/client/index.d.ts +1 -0
  157. package/dist/runtime/client/index.js +1 -0
  158. package/dist/runtime/client/library/create-client-library.js +9 -1
  159. package/dist/runtime/client/services/appearance.service.d.ts +2 -2
  160. package/dist/runtime/client/services/appearance.service.js +7 -4
  161. package/dist/runtime/client/services/blip.service.d.ts +6 -93
  162. package/dist/runtime/client/services/blip.service.js +58 -153
  163. package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
  164. package/dist/runtime/client/services/camera-effects.registry.js +20 -7
  165. package/dist/runtime/client/services/camera.d.ts +3 -83
  166. package/dist/runtime/client/services/camera.js +37 -93
  167. package/dist/runtime/client/services/cinematic.d.ts +5 -1
  168. package/dist/runtime/client/services/cinematic.js +45 -30
  169. package/dist/runtime/client/services/index.d.ts +1 -0
  170. package/dist/runtime/client/services/index.js +1 -0
  171. package/dist/runtime/client/services/marker.service.d.ts +12 -63
  172. package/dist/runtime/client/services/marker.service.js +62 -97
  173. package/dist/runtime/client/services/notification.service.d.ts +6 -57
  174. package/dist/runtime/client/services/notification.service.js +43 -81
  175. package/dist/runtime/client/services/ped.service.d.ts +3 -130
  176. package/dist/runtime/client/services/ped.service.js +66 -198
  177. package/dist/runtime/client/services/progress.service.d.ts +5 -30
  178. package/dist/runtime/client/services/progress.service.js +73 -99
  179. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  180. package/dist/runtime/client/services/session-bridge.service.js +61 -0
  181. package/dist/runtime/client/services/spawn.service.d.ts +6 -56
  182. package/dist/runtime/client/services/spawn.service.js +34 -191
  183. package/dist/runtime/client/services/streaming.service.d.ts +5 -126
  184. package/dist/runtime/client/services/streaming.service.js +72 -217
  185. package/dist/runtime/client/services/textui.service.d.ts +5 -45
  186. package/dist/runtime/client/services/textui.service.js +55 -88
  187. package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
  188. package/dist/runtime/client/services/vehicle-client.service.js +180 -326
  189. package/dist/runtime/client/services/vehicle.service.d.ts +3 -109
  190. package/dist/runtime/client/services/vehicle.service.js +94 -194
  191. package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
  192. package/dist/runtime/client/system/processors/export.processor.js +16 -3
  193. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
  194. package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
  195. package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
  196. package/dist/runtime/client/system/processors/interval.processor.js +17 -4
  197. package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
  198. package/dist/runtime/client/system/processors/key.processor.js +18 -5
  199. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
  200. package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
  201. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
  202. package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
  203. package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
  204. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
  205. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
  206. package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
  207. package/dist/runtime/client/system/processors/tick.processor.js +16 -3
  208. package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
  209. package/dist/runtime/client/system/processors/view.processor.js +21 -10
  210. package/dist/runtime/client/system/processors.register.d.ts +1 -0
  211. package/dist/runtime/client/system/processors.register.js +8 -0
  212. package/dist/runtime/client/ui-bridge.d.ts +2 -114
  213. package/dist/runtime/client/ui-bridge.js +2 -194
  214. package/dist/runtime/client/webview-bridge.d.ts +31 -0
  215. package/dist/runtime/client/webview-bridge.js +97 -0
  216. package/dist/runtime/client/webview.service.d.ts +14 -0
  217. package/dist/runtime/client/webview.service.js +98 -0
  218. package/dist/runtime/server/adapter/index.d.ts +5 -0
  219. package/dist/runtime/server/adapter/index.js +5 -0
  220. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  221. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  222. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  223. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
  224. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  225. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
  226. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  227. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  228. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  229. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  230. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  231. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
  232. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  233. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  234. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  235. package/dist/runtime/server/adapter/registry.js +101 -0
  236. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  237. package/dist/runtime/server/adapter/serialization.js +9 -0
  238. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  239. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  240. package/dist/runtime/server/api.d.ts +2 -1
  241. package/dist/runtime/server/api.js +2 -1
  242. package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
  243. package/dist/runtime/server/apis/appearance.api.js +20 -7
  244. package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
  245. package/dist/runtime/server/apis/npcs.api.js +26 -56
  246. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
  247. package/dist/runtime/server/apis/vehicle-modification.api.js +9 -4
  248. package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
  249. package/dist/runtime/server/apis/vehicles.api.js +48 -36
  250. package/dist/runtime/server/bootstrap.js +15 -7
  251. package/dist/runtime/server/controllers/channel.controller.js +2 -1
  252. package/dist/runtime/server/controllers/command-export.controller.js +1 -1
  253. package/dist/runtime/server/controllers/player-export.controller.js +5 -4
  254. package/dist/runtime/server/controllers/session.controller.js +3 -2
  255. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
  256. package/dist/runtime/server/controllers/vehicle.controller.js +10 -5
  257. package/dist/runtime/server/core.d.ts +2 -0
  258. package/dist/runtime/server/core.js +9 -1
  259. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
  260. package/dist/runtime/server/entities/npc.d.ts +2 -0
  261. package/dist/runtime/server/entities/npc.js +3 -3
  262. package/dist/runtime/server/entities/player.d.ts +8 -11
  263. package/dist/runtime/server/entities/player.js +39 -28
  264. package/dist/runtime/server/entities/vehicle.js +2 -2
  265. package/dist/runtime/server/error-handler.js +13 -2
  266. package/dist/runtime/server/helpers/command-validation.helper.js +1 -1
  267. package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
  268. package/dist/runtime/server/implementations/local/player.local.js +23 -11
  269. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
  270. package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
  271. package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
  272. package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
  273. package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
  274. package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
  275. package/dist/runtime/server/library/create-server-library.js +17 -2
  276. package/dist/runtime/server/runtime.d.ts +3 -0
  277. package/dist/runtime/server/runtime.js +1 -15
  278. package/dist/runtime/server/services/appearance.service.d.ts +0 -95
  279. package/dist/runtime/server/services/appearance.service.js +15 -192
  280. package/dist/runtime/server/services/services.register.js +56 -24
  281. package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
  282. package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
  283. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
  284. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
  285. package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
  286. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  287. package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
  288. package/package.json +21 -3
  289. package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
  290. package/dist/adapters/cfx/cfx-capabilities.js +0 -70
  291. package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
  292. package/dist/adapters/cfx/cfx-platform.js +0 -85
  293. package/dist/adapters/cfx/index.d.ts +0 -3
  294. package/dist/adapters/cfx/index.js +0 -3
  295. package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
  296. package/dist/adapters/cfx/runtime-profile.js +0 -37
  297. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
  298. package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
  299. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
  300. package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
  301. package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
  302. package/dist/adapters/fivem/fivem-capabilities.js +0 -61
  303. package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
  304. package/dist/adapters/fivem/fivem-engine-events.js +0 -24
  305. package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
  306. package/dist/adapters/fivem/fivem-entity-server.js +0 -87
  307. package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
  308. package/dist/adapters/fivem/fivem-exports.js +0 -9
  309. package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
  310. package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
  311. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
  312. package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
  313. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
  314. package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
  315. package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
  316. package/dist/adapters/fivem/fivem-ped-server.js +0 -30
  317. package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
  318. package/dist/adapters/fivem/fivem-platform.js +0 -74
  319. package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
  320. package/dist/adapters/fivem/fivem-player-server.js +0 -83
  321. package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
  322. package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
  323. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
  324. package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
  325. package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
  326. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
  327. package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
  328. package/dist/adapters/fivem/index.d.ts +0 -14
  329. package/dist/adapters/fivem/index.js +0 -16
  330. package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
  331. package/dist/adapters/fivem/transport/adapter.js +0 -8
  332. package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
  333. package/dist/adapters/fivem/transport/fivem.events.js +0 -36
  334. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
  335. package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
  336. package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
  337. package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
  338. package/dist/runtime/client/player/player.d.ts +0 -262
  339. package/dist/runtime/client/player/player.js +0 -474
  340. package/dist/runtime/client/player/player.loader.d.ts +0 -1
  341. package/dist/runtime/client/player/player.loader.js +0 -18
  342. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
  343. package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
  344. /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
@@ -0,0 +1,85 @@
1
+ import { di } from '../client-container';
2
+ import { bindClientTransportInstances, } from './client-adapter';
3
+ import { IClientRuntimeBridge } from './runtime-bridge';
4
+ let activeClientAdapterName = null;
5
+ async function getDefaultClientAdapter() {
6
+ if (typeof __OPENCORE_TARGET__ !== 'undefined' && __OPENCORE_TARGET__ === 'client') {
7
+ throw new Error('[OpenCore] No client adapter provided. Configure one in opencore.config.ts or pass adapter to Client.init().');
8
+ }
9
+ const { createNodeClientAdapter } = await import('./node-client-adapter');
10
+ return createNodeClientAdapter();
11
+ }
12
+ function assertTokenAvailable(token, adapterName) {
13
+ if (di.isRegistered(token)) {
14
+ throw new Error(`[OpenCore] Adapter '${adapterName}' cannot bind an already registered token.`);
15
+ }
16
+ }
17
+ function createAdapterContext(adapterName) {
18
+ return {
19
+ adapterName,
20
+ container: di,
21
+ isRegistered(token) {
22
+ return di.isRegistered(token);
23
+ },
24
+ bindSingleton(token, implementation) {
25
+ assertTokenAvailable(token, adapterName);
26
+ di.registerSingleton(token, implementation);
27
+ },
28
+ bindInstance(token, value) {
29
+ assertTokenAvailable(token, adapterName);
30
+ di.registerInstance(token, value);
31
+ },
32
+ bindFactory(token, factory) {
33
+ assertTokenAvailable(token, adapterName);
34
+ di.register(token, { useFactory: factory });
35
+ },
36
+ bindMessagingTransport(transport) {
37
+ bindClientTransportInstances(this, transport);
38
+ },
39
+ useRuntimeBridge(runtime) {
40
+ this.bindInstance(IClientRuntimeBridge, runtime);
41
+ },
42
+ };
43
+ }
44
+ /**
45
+ * Installs the active client adapter for the current bootstrap.
46
+ */
47
+ export async function installClientAdapter(adapter) {
48
+ const active = adapter ?? (await getDefaultClientAdapter());
49
+ if (activeClientAdapterName) {
50
+ if (activeClientAdapterName !== active.name) {
51
+ throw new Error(`[OpenCore] Client adapter '${active.name}' cannot be installed because '${activeClientAdapterName}' is already active.`);
52
+ }
53
+ return;
54
+ }
55
+ await active.register(createAdapterContext(active.name));
56
+ activeClientAdapterName = active.name;
57
+ }
58
+ export function getActiveClientAdapterName() {
59
+ return activeClientAdapterName ?? undefined;
60
+ }
61
+ export function assertClientAdapterCompatibility(adapter) {
62
+ if (!adapter || !activeClientAdapterName) {
63
+ return;
64
+ }
65
+ if (adapter.name !== activeClientAdapterName) {
66
+ throw new Error(`[OpenCore] Client adapter '${adapter.name}' does not match active adapter '${activeClientAdapterName}'.`);
67
+ }
68
+ }
69
+ export function getCurrentClientResourceName() {
70
+ if (di.isRegistered(IClientRuntimeBridge)) {
71
+ return di
72
+ .resolve(IClientRuntimeBridge)
73
+ .getCurrentResourceName();
74
+ }
75
+ const fn = globalThis.GetCurrentResourceName;
76
+ if (typeof fn === 'function') {
77
+ const name = fn();
78
+ if (typeof name === 'string' && name.trim())
79
+ return name;
80
+ }
81
+ return 'default';
82
+ }
83
+ export function __resetClientAdapterRegistryForTests() {
84
+ activeClientAdapterName = null;
85
+ }
@@ -0,0 +1 @@
1
+ export { IClientRuntimeBridge } from '../../../adapters/contracts/client/IClientRuntimeBridge';
@@ -0,0 +1 @@
1
+ export { IClientRuntimeBridge } from '../../../adapters/contracts/client/IClientRuntimeBridge';
@@ -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 { IClientPlatformBridge } from '../adapter/platform-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 platform;
7
+ constructor(appearanceService: AppearanceService, platform: IClientPlatformBridge);
6
8
  onApply(appearance: PlayerAppearance): Promise<void>;
7
9
  onReset(): void;
8
10
  }
@@ -12,18 +12,26 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { inject } from 'tsyringe';
14
14
  import { Controller, OnNet } from '../decorators';
15
+ import { IClientPlatformBridge } from '../adapter/platform-bridge';
15
16
  import { AppearanceService } from '../services/appearance.service';
17
+ import { loggers } from '../../../kernel/logger';
16
18
  let AppearanceTestClientController = class AppearanceTestClientController {
17
19
  appearanceService;
18
- constructor(appearanceService) {
20
+ platform;
21
+ constructor(appearanceService, platform) {
19
22
  this.appearanceService = appearanceService;
23
+ this.platform = platform;
20
24
  }
21
25
  async onApply(appearance) {
22
- const ped = PlayerPedId();
26
+ loggers.netEvent.debug('appearance:apply received', {
27
+ appearance,
28
+ });
29
+ const ped = this.platform.getLocalPlayerPed();
23
30
  await this.appearanceService.applyAppearance(ped, appearance);
24
31
  }
25
32
  onReset() {
26
- const ped = PlayerPedId();
33
+ loggers.netEvent.debug('appearance:reset received');
34
+ const ped = this.platform.getLocalPlayerPed();
27
35
  this.appearanceService.setDefaultAppearance(ped);
28
36
  this.appearanceService.clearTattoos(ped);
29
37
  }
@@ -43,6 +51,8 @@ __decorate([
43
51
  AppearanceTestClientController = __decorate([
44
52
  Controller(),
45
53
  __param(0, inject(AppearanceService)),
46
- __metadata("design:paramtypes", [AppearanceService])
54
+ __param(1, inject(IClientPlatformBridge)),
55
+ __metadata("design:paramtypes", [AppearanceService,
56
+ IClientPlatformBridge])
47
57
  ], AppearanceTestClientController);
48
58
  export { AppearanceTestClientController };
@@ -7,6 +7,7 @@ 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';
10
11
  import { Controller, OnNet } from '../decorators';
11
12
  import { SpawnService } from '../services';
12
13
  let SpawnerController = class SpawnerController {
@@ -15,6 +16,7 @@ let SpawnerController = class SpawnerController {
15
16
  this.spawnService = spawnService;
16
17
  }
17
18
  async handleSpawn(data) {
19
+ loggers.spawn.debug('Spawn event received', data);
18
20
  await this.spawnService.spawn(data.position, data.model);
19
21
  }
20
22
  async handleRespawn(position, heading = 0.0) {
@@ -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 };