@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
@@ -1,196 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { injectable } from 'tsyringe';
8
- import { coreLogger, LogDomain } from '../../kernel/logger';
9
- const nuiLogger = coreLogger.child('NUI', LogDomain.CLIENT);
10
1
  /**
11
- * Type-safe NUI (Native UI) Bridge for client-server communication.
12
- *
13
- * Generic types allow for full type safety when sending/receiving messages.
14
- * Define your event maps and pass them as type parameters.
15
- *
16
- * @example
17
- * ```typescript
18
- * interface ClientToUI {
19
- * 'showMenu': { items: string[] }
20
- * 'hideMenu': void
21
- * }
22
- *
23
- * interface UIToClient {
24
- * 'menuItemSelected': { index: number }
25
- * 'menuClosed': void
26
- * }
27
- *
28
- * const nui = new NuiBridge<ClientToUI, UIToClient>()
29
- * nui.send('showMenu', { items: ['Option 1', 'Option 2'] })
30
- * nui.on('menuItemSelected', async (data) => console.log(data.index))
31
- * ```
2
+ * @deprecated Import from `./webview-bridge` instead.
32
3
  */
33
- let NuiBridge = class NuiBridge {
34
- _isVisible = false;
35
- _hasFocus = false;
36
- _hasCursor = false;
37
- /**
38
- * Whether the NUI frame is currently visible
39
- */
40
- get isVisible() {
41
- return this._isVisible;
42
- }
43
- /**
44
- * Whether the NUI has input focus
45
- */
46
- get hasFocus() {
47
- return this._hasFocus;
48
- }
49
- /**
50
- * Whether the cursor is visible
51
- */
52
- get hasCursor() {
53
- return this._hasCursor;
54
- }
55
- /**
56
- * Send a message to the NUI (UI frame).
57
- *
58
- * @param action - The action/event name
59
- * @param data - The data payload
60
- */
61
- send(action, data) {
62
- SendNuiMessage(JSON.stringify({ action, data }));
63
- nuiLogger.debug(`Sent message: ${action}`);
64
- }
65
- /**
66
- * Send a raw message to the NUI without type checking.
67
- *
68
- * @param action - The action/event name
69
- * @param data - The data payload
70
- */
71
- sendRaw(action, data) {
72
- SendNuiMessage(JSON.stringify({ action, data }));
73
- nuiLogger.debug(`Sent raw message: ${action}`);
74
- }
75
- /**
76
- * Register a callback for NUI events from the UI.
77
- *
78
- * @param action - The action/event name to listen for
79
- * @param handler - The callback handler
80
- * @returns Cleanup function to unregister the callback
81
- */
82
- on(action, handler) {
83
- RegisterNuiCallbackType(action);
84
- on(`__cfx_nui:${action}`, async (data, cb) => {
85
- try {
86
- await handler(data);
87
- cb({ ok: true });
88
- }
89
- catch (error) {
90
- nuiLogger.error(`NUI callback error`, { action }, error);
91
- cb({ ok: false, error: String(error) });
92
- }
93
- });
94
- nuiLogger.debug(`Registered callback: ${action}`);
95
- }
96
- /**
97
- * Register a callback that expects a return value.
98
- *
99
- * @param action - The action/event name to listen for
100
- * @param handler - The callback handler that returns data
101
- */
102
- onWithResponse(action, handler) {
103
- RegisterNuiCallbackType(action);
104
- on(`__cfx_nui:${action}`, async (data, cb) => {
105
- try {
106
- const result = await handler(data);
107
- cb({ ok: true, data: result });
108
- }
109
- catch (error) {
110
- nuiLogger.error(`NUI callback error`, { action }, error);
111
- cb({ ok: false, error: String(error) });
112
- }
113
- });
114
- nuiLogger.debug(`Registered callback with response: ${action}`);
115
- }
116
- /**
117
- * Set NUI focus state.
118
- *
119
- * @param hasFocus - Whether the NUI should have input focus
120
- * @param hasCursor - Whether to show the cursor (defaults to hasFocus value)
121
- */
122
- focus(hasFocus, hasCursor) {
123
- this._hasFocus = hasFocus;
124
- this._hasCursor = hasCursor ?? hasFocus;
125
- SetNuiFocus(this._hasFocus, this._hasCursor);
126
- nuiLogger.debug(`Focus set: focus=${this._hasFocus}, cursor=${this._hasCursor}`);
127
- }
128
- /**
129
- * Remove NUI focus (convenience method).
130
- */
131
- blur() {
132
- this.focus(false, false);
133
- }
134
- /**
135
- * Set NUI visibility state.
136
- * Note: This only tracks state, you need to handle actual visibility in your UI.
137
- *
138
- * @param visible - Whether the NUI should be visible
139
- */
140
- setVisible(visible) {
141
- this._isVisible = visible;
142
- this.send('setVisible', { visible });
143
- nuiLogger.debug(`Visibility set: ${visible}`);
144
- }
145
- /**
146
- * Show the NUI and optionally set focus.
147
- *
148
- * @param withFocus - Whether to also set focus
149
- * @param withCursor - Whether to show cursor (defaults to withFocus)
150
- */
151
- show(withFocus = true, withCursor) {
152
- this.setVisible(true);
153
- if (withFocus) {
154
- this.focus(true, withCursor);
155
- }
156
- }
157
- /**
158
- * Hide the NUI and remove focus.
159
- */
160
- hide() {
161
- this.setVisible(false);
162
- this.blur();
163
- }
164
- /**
165
- * Toggle NUI visibility.
166
- *
167
- * @param withFocus - Whether to set focus when showing
168
- */
169
- toggle(withFocus = true) {
170
- if (this._isVisible) {
171
- this.hide();
172
- }
173
- else {
174
- this.show(withFocus);
175
- }
176
- }
177
- /**
178
- * Keep input focus but allow game input.
179
- * Useful for HUDs that need to capture some keys but not all.
180
- *
181
- * @param keepInput - Whether to keep game input enabled
182
- */
183
- setKeepInput(keepInput) {
184
- SetNuiFocusKeepInput(keepInput);
185
- nuiLogger.debug(`Keep input set: ${keepInput}`);
186
- }
187
- };
188
- NuiBridge = __decorate([
189
- injectable()
190
- ], NuiBridge);
191
- export { NuiBridge };
192
- /**
193
- * Default untyped NUI instance for quick usage.
194
- * For type-safe usage, create your own instance with proper generics.
195
- */
196
- export const NUI = new NuiBridge();
4
+ export { NUI, NuiBridge, WebView, WebViewBridge } from './webview-bridge';
@@ -0,0 +1,31 @@
1
+ import { WebViewService } from './webview.service';
2
+ export declare class WebViewBridge<TSend extends Record<string, any> = Record<string, any>, TReceive extends Record<string, any> = Record<string, any>> {
3
+ private readonly serviceResolver;
4
+ private readonly viewId;
5
+ constructor(serviceResolver: WebViewService | (() => WebViewService), viewId?: string);
6
+ private get service();
7
+ create(url: string, options?: {
8
+ visible?: boolean;
9
+ focused?: boolean;
10
+ cursor?: boolean;
11
+ inputPassthrough?: boolean;
12
+ }): void;
13
+ destroy(): void;
14
+ exists(): boolean;
15
+ send<K extends keyof TSend & string>(action: K, data: TSend[K]): void;
16
+ sendRaw(action: string, data: unknown): void;
17
+ on<K extends keyof TReceive & string>(action: K, handler: (data: TReceive[K]) => void | Promise<void>): () => void;
18
+ onWithResponse<K extends keyof TReceive & string, R = unknown>(action: K, handler: (data: TReceive[K]) => R | Promise<R>): () => void;
19
+ focus(hasFocus: boolean, hasCursor?: boolean): void;
20
+ blur(): void;
21
+ setVisible(visible: boolean): void;
22
+ show(withFocus?: boolean, withCursor?: boolean): void;
23
+ hide(): void;
24
+ toggle(withFocus?: boolean): void;
25
+ setInputPassthrough(enabled: boolean): void;
26
+ setKeepInput(keepInput: boolean): void;
27
+ }
28
+ export declare class NuiBridge<TSend extends Record<string, any> = Record<string, any>, TReceive extends Record<string, any> = Record<string, any>> extends WebViewBridge<TSend, TReceive> {
29
+ }
30
+ export declare const WebView: WebViewBridge<Record<string, any>, Record<string, any>>;
31
+ export declare const NUI: WebViewBridge<Record<string, any>, Record<string, any>>;
@@ -0,0 +1,97 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { injectable } from 'tsyringe';
11
+ import { WebViewService } from './webview.service';
12
+ import { di } from './client-container';
13
+ let WebViewBridge = class WebViewBridge {
14
+ serviceResolver;
15
+ viewId;
16
+ constructor(serviceResolver, viewId = 'default') {
17
+ this.serviceResolver = serviceResolver;
18
+ this.viewId = viewId;
19
+ }
20
+ get service() {
21
+ return typeof this.serviceResolver === 'function'
22
+ ? this.serviceResolver()
23
+ : this.serviceResolver;
24
+ }
25
+ create(url, options = {}) {
26
+ this.service.create({ id: this.viewId, url, ...options });
27
+ }
28
+ destroy() {
29
+ this.service.destroy(this.viewId);
30
+ }
31
+ exists() {
32
+ return this.service.exists(this.viewId);
33
+ }
34
+ send(action, data) {
35
+ this.service.send(this.viewId, action, data);
36
+ }
37
+ sendRaw(action, data) {
38
+ this.service.send(this.viewId, action, data);
39
+ }
40
+ on(action, handler) {
41
+ return this.service.onMessage(async (message) => {
42
+ if (message.viewId !== this.viewId || message.event !== action)
43
+ return;
44
+ await handler(message.payload);
45
+ });
46
+ }
47
+ onWithResponse(action, handler) {
48
+ return this.on(action, handler);
49
+ }
50
+ focus(hasFocus, hasCursor) {
51
+ if (hasFocus) {
52
+ const options = { cursor: hasCursor ?? true };
53
+ this.service.focus(this.viewId, options);
54
+ return;
55
+ }
56
+ this.service.blur(this.viewId);
57
+ }
58
+ blur() {
59
+ this.service.blur(this.viewId);
60
+ }
61
+ setVisible(visible) {
62
+ visible ? this.service.show(this.viewId) : this.service.hide(this.viewId);
63
+ }
64
+ show(withFocus = true, withCursor) {
65
+ this.service.show(this.viewId);
66
+ if (withFocus)
67
+ this.focus(true, withCursor);
68
+ }
69
+ hide() {
70
+ this.service.hide(this.viewId);
71
+ this.blur();
72
+ }
73
+ toggle(withFocus = true) {
74
+ if (this.exists())
75
+ this.hide();
76
+ else
77
+ this.show(withFocus);
78
+ }
79
+ setInputPassthrough(enabled) {
80
+ this.service.focus(this.viewId, { inputPassthrough: enabled, cursor: true });
81
+ }
82
+ setKeepInput(keepInput) {
83
+ this.setInputPassthrough(keepInput);
84
+ }
85
+ };
86
+ WebViewBridge = __decorate([
87
+ injectable(),
88
+ __metadata("design:paramtypes", [Object, Object])
89
+ ], WebViewBridge);
90
+ export { WebViewBridge };
91
+ export class NuiBridge extends WebViewBridge {
92
+ }
93
+ function resolveWebViewService() {
94
+ return di.resolve(WebViewService);
95
+ }
96
+ export const WebView = new WebViewBridge(resolveWebViewService);
97
+ export const NUI = WebView;
@@ -0,0 +1,14 @@
1
+ import type { WebViewCapabilities, WebViewDefinition, WebViewFocusOptions, WebViewMessage } from '../../adapters/contracts/client/ui/webview/types';
2
+ export declare class WebViewService {
3
+ private get bridge();
4
+ getCapabilities(): WebViewCapabilities;
5
+ create(definition: WebViewDefinition): void;
6
+ destroy(viewId: string): void;
7
+ exists(viewId: string): boolean;
8
+ show(viewId: string): void;
9
+ hide(viewId: string): void;
10
+ focus(viewId: string, options?: WebViewFocusOptions): void;
11
+ blur(viewId: string): void;
12
+ send(viewId: string, event: string, payload: unknown): void;
13
+ onMessage(handler: (message: WebViewMessage) => void | Promise<void>): () => void;
14
+ }
@@ -0,0 +1,98 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { injectable } from 'tsyringe';
8
+ import { coreLogger, LogDomain } from '../../kernel/logger';
9
+ import { IClientWebViewBridge } from '../../adapters/contracts/client/ui/webview/IClientWebViewBridge';
10
+ import { IClientRuntimeBridge } from './adapter/runtime-bridge';
11
+ import { di } from './client-container';
12
+ const webViewLogger = coreLogger.child('WebView', LogDomain.CLIENT);
13
+ const FALLBACK_CAPABILITIES = {
14
+ supportsFocus: true,
15
+ supportsCursor: true,
16
+ supportsInputPassthrough: true,
17
+ supportsBidirectionalMessaging: true,
18
+ supportsExecute: false,
19
+ supportsHeadless: false,
20
+ };
21
+ function createFallbackBridge() {
22
+ const runtime = di.resolve(IClientRuntimeBridge);
23
+ const handlers = new Set();
24
+ let registered = false;
25
+ return {
26
+ getCapabilities: () => FALLBACK_CAPABILITIES,
27
+ create: () => { },
28
+ destroy: () => { },
29
+ exists: () => true,
30
+ show: () => { },
31
+ hide: () => { },
32
+ focus: (_viewId, options) => {
33
+ runtime.setWebViewFocus(true, options?.cursor ?? true);
34
+ runtime.setWebViewInputPassthrough(options?.inputPassthrough ?? false);
35
+ },
36
+ blur: () => runtime.setWebViewFocus(false, false),
37
+ send: (viewId, event, payload) => {
38
+ runtime.sendWebViewMessage(JSON.stringify({ __opencoreWebView: true, viewId, action: event, data: payload }));
39
+ },
40
+ onMessage: (handler) => {
41
+ if (!registered) {
42
+ registered = true;
43
+ runtime.registerWebViewCallback('__opencore:webview:message', async (data, cb) => {
44
+ const message = data;
45
+ for (const item of handlers)
46
+ await item(message);
47
+ cb({ ok: true });
48
+ });
49
+ }
50
+ handlers.add(handler);
51
+ return () => handlers.delete(handler);
52
+ },
53
+ };
54
+ }
55
+ let WebViewService = class WebViewService {
56
+ get bridge() {
57
+ if (di.isRegistered(IClientWebViewBridge)) {
58
+ return di.resolve(IClientWebViewBridge);
59
+ }
60
+ return createFallbackBridge();
61
+ }
62
+ getCapabilities() {
63
+ return this.bridge.getCapabilities();
64
+ }
65
+ create(definition) {
66
+ this.bridge.create(definition);
67
+ webViewLogger.debug('Created webview', { id: definition.id, url: definition.url });
68
+ }
69
+ destroy(viewId) {
70
+ this.bridge.destroy(viewId);
71
+ webViewLogger.debug('Destroyed webview', { id: viewId });
72
+ }
73
+ exists(viewId) {
74
+ return this.bridge.exists(viewId);
75
+ }
76
+ show(viewId) {
77
+ this.bridge.show(viewId);
78
+ }
79
+ hide(viewId) {
80
+ this.bridge.hide(viewId);
81
+ }
82
+ focus(viewId, options) {
83
+ this.bridge.focus(viewId, options);
84
+ }
85
+ blur(viewId) {
86
+ this.bridge.blur(viewId);
87
+ }
88
+ send(viewId, event, payload) {
89
+ this.bridge.send(viewId, event, payload);
90
+ }
91
+ onMessage(handler) {
92
+ return this.bridge.onMessage(handler);
93
+ }
94
+ };
95
+ WebViewService = __decorate([
96
+ injectable()
97
+ ], WebViewService);
98
+ export { WebViewService };
@@ -0,0 +1,5 @@
1
+ export * from './node-server-adapter';
2
+ export * from './player-adapter';
3
+ export * from './registry';
4
+ export * from './serialization';
5
+ export * from './server-adapter';
@@ -0,0 +1,5 @@
1
+ export * from './node-server-adapter';
2
+ export * from './player-adapter';
3
+ export * from './registry';
4
+ export * from './serialization';
5
+ export * from './server-adapter';
@@ -0,0 +1,12 @@
1
+ import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
2
+ import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
3
+ import type { CreateNpcServerRequest, CreateNpcServerResult, DeleteNpcServerRequest } from '../../../adapters/contracts/server/npc-lifecycle/types';
4
+ import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
5
+ export declare class NodeNpcLifecycleServer extends INpcLifecycleServer {
6
+ private readonly pedServer;
7
+ private readonly entityServer;
8
+ constructor(pedServer: IPedServer, entityServer: IEntityServer);
9
+ create(request: CreateNpcServerRequest): CreateNpcServerResult;
10
+ delete(request: DeleteNpcServerRequest): void;
11
+ private resolveNetId;
12
+ }
@@ -0,0 +1,52 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
15
+ import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
16
+ import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
17
+ let NodeNpcLifecycleServer = class NodeNpcLifecycleServer extends INpcLifecycleServer {
18
+ pedServer;
19
+ entityServer;
20
+ constructor(pedServer, entityServer) {
21
+ super();
22
+ this.pedServer = pedServer;
23
+ this.entityServer = entityServer;
24
+ }
25
+ create(request) {
26
+ const handle = this.pedServer.create(4, request.modelHash, request.position.x, request.position.y, request.position.z, request.heading, request.networked);
27
+ if (!handle || handle <= 0) {
28
+ throw new Error('Failed to create NPC ped entity');
29
+ }
30
+ return {
31
+ handle,
32
+ netId: request.networked ? this.resolveNetId(handle) : undefined,
33
+ };
34
+ }
35
+ delete(request) {
36
+ if (!this.entityServer.doesExist(request.handle))
37
+ return;
38
+ this.pedServer.delete(request.handle);
39
+ }
40
+ resolveNetId(handle) {
41
+ const netId = this.pedServer.getNetworkIdFromEntity(handle);
42
+ return netId > 0 ? netId : undefined;
43
+ }
44
+ };
45
+ NodeNpcLifecycleServer = __decorate([
46
+ injectable(),
47
+ __param(0, inject(IPedServer)),
48
+ __param(1, inject(IEntityServer)),
49
+ __metadata("design:paramtypes", [IPedServer,
50
+ IEntityServer])
51
+ ], NodeNpcLifecycleServer);
52
+ export { NodeNpcLifecycleServer };
@@ -0,0 +1,22 @@
1
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
2
+ import { IPedAppearanceServer } from '../../../adapters/contracts/server/IPedAppearanceServer';
3
+ import { IPlayerAppearanceLifecycleServer } from '../../../adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer';
4
+ import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
5
+ import { Players } from '../ports/players.api-port';
6
+ import { PlayerAppearance } from '../../../kernel/shared';
7
+ export declare class NodePlayerAppearanceLifecycleServer extends IPlayerAppearanceLifecycleServer {
8
+ private readonly pedAdapter;
9
+ private readonly playerServer;
10
+ private readonly events;
11
+ private readonly players;
12
+ constructor(pedAdapter: IPedAppearanceServer, playerServer: IPlayerServer, events: EventsAPI<'server'>, players: Players);
13
+ apply(playerSrc: string, appearance: PlayerAppearance): Promise<{
14
+ success: boolean;
15
+ appearance?: PlayerAppearance;
16
+ errors?: string[];
17
+ }>;
18
+ applyClothing(playerSrc: string, appearance: Pick<PlayerAppearance, 'components' | 'props'>): boolean;
19
+ reset(playerSrc: string): boolean;
20
+ private resolveTarget;
21
+ private applyServerSideAppearance;
22
+ }
@@ -0,0 +1,94 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
15
+ import { IPedAppearanceServer } from '../../../adapters/contracts/server/IPedAppearanceServer';
16
+ import { IPlayerAppearanceLifecycleServer } from '../../../adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer';
17
+ import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
18
+ import { Players } from '../ports/players.api-port';
19
+ let NodePlayerAppearanceLifecycleServer = class NodePlayerAppearanceLifecycleServer extends IPlayerAppearanceLifecycleServer {
20
+ pedAdapter;
21
+ playerServer;
22
+ events;
23
+ players;
24
+ constructor(pedAdapter, playerServer, events, players) {
25
+ super();
26
+ this.pedAdapter = pedAdapter;
27
+ this.playerServer = playerServer;
28
+ this.events = events;
29
+ this.players = players;
30
+ }
31
+ async apply(playerSrc, appearance) {
32
+ const ped = this.playerServer.getPed(playerSrc);
33
+ if (ped === 0) {
34
+ return { success: false, errors: ['Player ped not found'] };
35
+ }
36
+ this.applyServerSideAppearance(ped, appearance);
37
+ const target = this.resolveTarget(playerSrc);
38
+ if (!target) {
39
+ return { success: false, errors: ['Player not found'] };
40
+ }
41
+ this.events.emit('opencore:appearance:apply', target, appearance);
42
+ return { success: true, appearance };
43
+ }
44
+ applyClothing(playerSrc, appearance) {
45
+ const ped = this.playerServer.getPed(playerSrc);
46
+ if (ped === 0)
47
+ return false;
48
+ this.applyServerSideAppearance(ped, appearance);
49
+ return true;
50
+ }
51
+ reset(playerSrc) {
52
+ const ped = this.playerServer.getPed(playerSrc);
53
+ if (ped === 0)
54
+ return false;
55
+ this.pedAdapter.setDefaultComponentVariation(ped);
56
+ const target = this.resolveTarget(playerSrc);
57
+ if (!target)
58
+ return false;
59
+ this.events.emit('opencore:appearance:reset', target);
60
+ return true;
61
+ }
62
+ resolveTarget(playerSrc) {
63
+ return this.players.getByClient(Number(playerSrc));
64
+ }
65
+ applyServerSideAppearance(ped, appearance) {
66
+ if (appearance.components) {
67
+ for (const [componentId, data] of Object.entries(appearance.components)) {
68
+ this.pedAdapter.setComponentVariation(ped, parseInt(componentId, 10), data.drawable, data.texture, 2);
69
+ }
70
+ }
71
+ if (appearance.props) {
72
+ for (const [propId, data] of Object.entries(appearance.props)) {
73
+ if (data.drawable === -1) {
74
+ this.pedAdapter.clearProp(ped, parseInt(propId, 10));
75
+ }
76
+ else {
77
+ this.pedAdapter.setPropIndex(ped, parseInt(propId, 10), data.drawable, data.texture, true);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ };
83
+ NodePlayerAppearanceLifecycleServer = __decorate([
84
+ injectable(),
85
+ __param(0, inject(IPedAppearanceServer)),
86
+ __param(1, inject(IPlayerServer)),
87
+ __param(2, inject(EventsAPI)),
88
+ __param(3, inject(Players)),
89
+ __metadata("design:paramtypes", [IPedAppearanceServer,
90
+ IPlayerServer,
91
+ EventsAPI,
92
+ Players])
93
+ ], NodePlayerAppearanceLifecycleServer);
94
+ export { NodePlayerAppearanceLifecycleServer };
@@ -0,0 +1,11 @@
1
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
2
+ import { IPlayerLifecycleServer } from '../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
3
+ import type { RespawnPlayerRequest, SpawnPlayerRequest, TeleportPlayerRequest } from '../../../adapters/contracts/server/player-lifecycle/types';
4
+ export declare class NodePlayerLifecycleServer extends IPlayerLifecycleServer {
5
+ private readonly events;
6
+ constructor(events: EventsAPI<'server'>);
7
+ spawn(playerSrc: string, request: SpawnPlayerRequest): void;
8
+ teleport(playerSrc: string, request: TeleportPlayerRequest): void;
9
+ respawn(playerSrc: string, request: RespawnPlayerRequest): void;
10
+ private resolveTarget;
11
+ }