@open-core/framework 1.0.2-beta.1 → 1.0.5-beta.1
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.
- package/LICENSE +373 -373
- package/README.md +196 -268
- package/dist/adapters/cfx/cfx-capabilities.d.ts +16 -0
- package/dist/adapters/cfx/cfx-capabilities.js +70 -0
- package/dist/adapters/cfx/cfx-platform.d.ts +2 -0
- package/dist/adapters/cfx/cfx-platform.js +85 -0
- package/dist/adapters/cfx/index.d.ts +3 -0
- package/dist/adapters/cfx/index.js +3 -0
- package/dist/adapters/cfx/runtime-profile.d.ts +3 -0
- package/dist/adapters/cfx/runtime-profile.js +37 -0
- package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
- package/dist/adapters/contracts/IEngineEvents.js +2 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +2 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +8 -0
- package/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
- package/dist/adapters/contracts/IPlatformCapabilities.js +27 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +2 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +4 -0
- package/dist/adapters/contracts/IResourceInfo.js +2 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +5 -0
- package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +206 -0
- package/dist/adapters/contracts/client/IPedAppearanceClient.js +12 -0
- package/dist/adapters/contracts/index.d.ts +2 -0
- package/dist/adapters/contracts/index.js +3 -0
- package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
- package/dist/adapters/contracts/server/IEntityServer.js +35 -0
- package/dist/adapters/contracts/server/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/server/IPedAppearanceServer.js +12 -0
- package/dist/adapters/contracts/server/IPedServer.d.ts +29 -0
- package/dist/adapters/contracts/server/IPedServer.js +8 -0
- package/dist/adapters/contracts/server/IPlayerServer.d.ts +117 -0
- package/dist/adapters/contracts/server/IPlayerServer.js +35 -0
- package/dist/adapters/contracts/server/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/server/IVehicleServer.js +9 -0
- package/dist/adapters/contracts/transport/context.d.ts +5 -0
- package/dist/adapters/contracts/transport/events.api.d.ts +36 -0
- package/dist/adapters/contracts/transport/events.api.js +5 -0
- package/dist/adapters/contracts/transport/messaging.transport.d.ts +8 -0
- package/dist/adapters/contracts/transport/messaging.transport.js +2 -0
- package/dist/adapters/contracts/transport/rpc.api.d.ts +66 -0
- package/dist/adapters/contracts/transport/rpc.api.js +20 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +58 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/adapters/contracts/types/index.js +1 -0
- package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
- package/dist/adapters/fivem/fivem-capabilities.js +61 -0
- package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
- package/dist/adapters/fivem/fivem-engine-events.js +24 -0
- package/dist/adapters/fivem/fivem-entity-server.d.ts +26 -0
- package/dist/adapters/fivem/fivem-entity-server.js +87 -0
- package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
- package/dist/adapters/fivem/fivem-exports.js +9 -0
- package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
- package/dist/adapters/fivem/fivem-hasher.js +20 -0
- package/dist/adapters/fivem/fivem-net-transport.d.ts +1 -0
- package/dist/adapters/fivem/fivem-net-transport.js +0 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +79 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +22 -0
- package/dist/adapters/fivem/fivem-ped-server.d.ts +9 -0
- package/dist/adapters/fivem/fivem-ped-server.js +30 -0
- package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
- package/dist/adapters/fivem/fivem-platform.js +74 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +24 -0
- package/dist/adapters/fivem/fivem-player-server.js +83 -0
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
- package/dist/adapters/fivem/fivem-playerinfo.js +10 -0
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +5 -0
- package/dist/adapters/fivem/fivem-resourceinfo.js +24 -0
- package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
- package/dist/adapters/fivem/fivem-tick.js +19 -0
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-vehicle-server.js +44 -0
- package/dist/adapters/fivem/index.d.ts +14 -0
- package/dist/adapters/fivem/index.js +16 -0
- package/dist/adapters/fivem/transport/adapter.d.ts +8 -0
- package/dist/adapters/fivem/transport/adapter.js +8 -0
- package/dist/adapters/fivem/transport/fivem.events.d.ts +8 -0
- package/dist/adapters/fivem/transport/fivem.events.js +36 -0
- package/dist/adapters/fivem/transport/fivem.rpc.d.ts +28 -0
- package/dist/adapters/fivem/transport/fivem.rpc.js +183 -0
- package/dist/adapters/index.d.ts +21 -0
- package/dist/adapters/index.js +32 -0
- package/dist/adapters/node/index.d.ts +16 -0
- package/dist/adapters/node/index.js +18 -0
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +48 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +40 -0
- package/dist/adapters/node/node-entity-server.d.ts +37 -0
- package/dist/adapters/node/node-entity-server.js +118 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +58 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +36 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +55 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +14 -0
- package/dist/adapters/node/node-ped-server.d.ts +13 -0
- package/dist/adapters/node/node-ped-server.js +45 -0
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +76 -0
- package/dist/adapters/node/node-player-server.d.ts +44 -0
- package/dist/adapters/node/node-player-server.js +105 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +20 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +13 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/adapters/node/node-tick.js +41 -0
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +84 -0
- package/dist/adapters/node/transport/adapter.d.ts +10 -0
- package/dist/adapters/node/transport/adapter.js +14 -0
- package/dist/adapters/node/transport/node.events.d.ts +14 -0
- package/dist/adapters/node/transport/node.events.js +38 -0
- package/dist/adapters/node/transport/node.rpc.d.ts +18 -0
- package/dist/adapters/node/transport/node.rpc.js +71 -0
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/adapters/platform/index.js +1 -0
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +113 -0
- package/dist/adapters/register-capabilities.d.ts +61 -0
- package/dist/adapters/register-capabilities.js +78 -0
- package/dist/adapters/register-client-capabilities.d.ts +8 -0
- package/dist/adapters/register-client-capabilities.js +58 -0
- package/dist/index.d.ts +3 -6
- package/dist/index.js +4 -46
- package/dist/kernel/di/class-constructor.js +0 -0
- package/dist/kernel/di/container.d.ts +5 -0
- package/dist/kernel/di/container.js +6 -0
- package/dist/kernel/di/decorator-processor.js +0 -0
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +4 -0
- package/dist/kernel/di/metadata.scanner.d.ts +7 -0
- package/dist/kernel/di/metadata.scanner.js +61 -0
- package/dist/kernel/error/app.error.d.ts +9 -0
- package/dist/kernel/error/app.error.js +15 -0
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/common.error-codes.js +0 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/framework.error-codes.js +0 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +2 -0
- package/dist/kernel/error/security.error.d.ts +6 -0
- package/dist/kernel/error/security.error.js +9 -0
- package/dist/kernel/error/security.types.js +0 -0
- package/dist/kernel/index.d.ts +6 -0
- package/dist/kernel/index.js +7 -0
- package/dist/kernel/logger/core-logger.d.ts +31 -0
- package/dist/kernel/logger/core-logger.js +66 -0
- package/dist/kernel/logger/index.d.ts +14 -0
- package/dist/kernel/logger/index.js +12 -0
- package/dist/kernel/logger/logger.config.d.ts +47 -0
- package/dist/kernel/logger/logger.config.js +32 -0
- package/dist/kernel/logger/logger.env.d.ts +35 -0
- package/dist/kernel/logger/logger.env.js +59 -0
- package/dist/kernel/logger/logger.service.d.ts +175 -0
- package/dist/kernel/logger/logger.service.js +301 -0
- package/dist/kernel/logger/logger.types.js +70 -0
- package/dist/kernel/logger/transports/buffered.transport.d.ts +88 -0
- package/dist/kernel/logger/transports/buffered.transport.js +154 -0
- package/dist/kernel/logger/transports/console.transport.d.ts +37 -0
- package/dist/kernel/logger/transports/console.transport.js +121 -0
- package/dist/kernel/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/logger/transports/dev-transport.factory.js +101 -0
- package/dist/kernel/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/logger/transports/http.transport.js +168 -0
- package/dist/kernel/logger/transports/index.d.ts +7 -0
- package/dist/kernel/logger/transports/index.js +7 -0
- package/dist/kernel/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/logger/transports/simple-console.transport.js +79 -0
- package/dist/kernel/logger/transports/transport.interface.d.ts +40 -0
- package/dist/kernel/logger/transports/transport.interface.js +0 -0
- package/dist/kernel/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/logger/transports/websocket.transport.js +164 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +4 -0
- package/dist/kernel/shared/index.d.ts +1 -0
- package/dist/kernel/shared/index.js +1 -0
- package/dist/kernel/shared/player-appearance.types.d.ts +276 -0
- package/dist/kernel/shared/player-appearance.types.js +74 -0
- package/dist/kernel/utils/index.d.ts +3 -0
- package/dist/kernel/utils/index.js +3 -0
- package/dist/kernel/utils/result.d.ts +12 -0
- package/dist/kernel/utils/result.js +6 -0
- package/dist/kernel/utils/rgb.d.ts +17 -0
- package/dist/kernel/utils/rgb.js +61 -0
- package/dist/kernel/utils/vector3.d.ts +14 -0
- package/dist/kernel/utils/vector3.js +24 -0
- package/dist/runtime/client/.opencore/autoload.client.controllers.d.ts +1 -0
- package/dist/runtime/client/.opencore/autoload.client.controllers.js +0 -0
- package/dist/runtime/client/api.d.ts +8 -0
- package/dist/runtime/client/api.js +8 -0
- package/dist/runtime/client/bus/library-event.bus.d.ts +5 -0
- package/dist/runtime/client/bus/library-event.bus.js +28 -0
- package/dist/runtime/client/client-api-runtime.d.ts +7 -0
- package/dist/runtime/client/client-api-runtime.js +34 -0
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +160 -0
- package/dist/runtime/client/client-container.js +3 -0
- package/dist/runtime/client/client-core.d.ts +19 -0
- package/dist/runtime/client/client-core.js +23 -0
- package/dist/runtime/client/client-runtime.d.ts +63 -0
- package/dist/runtime/client/client-runtime.js +21 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
- package/dist/runtime/client/controllers/appearance.controller.js +48 -0
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
- package/dist/runtime/client/controllers/player-sync.controller.js +51 -0
- package/dist/runtime/client/controllers/spawner.controller.d.ts +12 -0
- package/dist/runtime/client/controllers/spawner.controller.js +49 -0
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +62 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +26 -0
- package/dist/runtime/client/decorators/gameEvent.d.ts +47 -0
- package/dist/runtime/client/decorators/gameEvent.js +50 -0
- package/dist/runtime/client/decorators/index.d.ts +13 -0
- package/dist/runtime/client/decorators/index.js +13 -0
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +28 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +28 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +26 -0
- package/dist/runtime/client/decorators/onLibraryEvent.d.ts +17 -0
- package/dist/runtime/client/decorators/onLibraryEvent.js +22 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +26 -0
- package/dist/runtime/client/decorators/onRPC.d.ts +41 -0
- package/dist/runtime/client/decorators/onRPC.js +40 -0
- package/dist/runtime/client/decorators/onTick.d.ts +21 -0
- package/dist/runtime/client/decorators/onTick.js +26 -0
- package/dist/runtime/client/decorators/onView.d.ts +21 -0
- package/dist/runtime/client/decorators/onView.js +26 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +49 -0
- package/dist/runtime/client/index.d.ts +4 -0
- package/dist/runtime/client/index.js +2 -0
- package/dist/runtime/client/library/create-client-library.d.ts +13 -0
- package/dist/runtime/client/library/create-client-library.js +45 -0
- package/dist/runtime/client/library/index.d.ts +4 -0
- package/dist/runtime/client/library/index.js +2 -0
- package/dist/runtime/client/library/plugin/client-plugin-api.d.ts +5 -0
- package/dist/runtime/client/library/plugin/client-plugin-api.js +0 -0
- package/dist/runtime/client/library/plugin/index.d.ts +4 -0
- package/dist/runtime/client/library/plugin/index.js +4 -0
- package/dist/runtime/client/library/plugin/install-client-plugins.d.ts +3 -0
- package/dist/runtime/client/library/plugin/install-client-plugins.js +35 -0
- package/dist/runtime/client/library/plugin/plugin-context.d.ts +10 -0
- package/dist/runtime/client/library/plugin/plugin-context.js +0 -0
- package/dist/runtime/client/library/plugin/plugin-registry.d.ts +6 -0
- package/dist/runtime/client/library/plugin/plugin-registry.js +12 -0
- package/dist/runtime/client/library/plugin/plugin.interface.d.ts +11 -0
- package/dist/runtime/client/library/plugin/plugin.interface.js +0 -0
- package/dist/runtime/client/player/player.d.ts +262 -0
- package/dist/runtime/client/player/player.js +474 -0
- package/dist/runtime/client/player/player.loader.js +18 -0
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +330 -0
- package/dist/runtime/client/services/blip.service.d.ts +112 -0
- package/dist/runtime/client/services/blip.service.js +209 -0
- package/dist/runtime/client/services/camera-effects.registry.d.ts +94 -0
- package/dist/runtime/client/services/camera-effects.registry.js +145 -0
- package/dist/runtime/client/services/camera.d.ts +129 -0
- package/dist/runtime/client/services/camera.js +158 -0
- package/dist/runtime/client/services/cinematic-builder.d.ts +107 -0
- package/dist/runtime/client/services/cinematic-builder.js +467 -0
- package/dist/runtime/client/services/cinematic.d.ts +284 -0
- package/dist/runtime/client/services/cinematic.js +783 -0
- package/dist/runtime/client/services/index.d.ts +14 -0
- package/dist/runtime/client/services/index.js +14 -0
- package/dist/runtime/client/services/marker.service.d.ts +94 -0
- package/dist/runtime/client/services/marker.service.js +148 -0
- package/dist/runtime/client/services/notification.service.js +108 -0
- package/dist/runtime/client/services/ped.service.d.ts +182 -0
- package/dist/runtime/client/services/ped.service.js +298 -0
- package/dist/runtime/client/services/progress.service.js +199 -0
- package/dist/runtime/client/services/spawn.service.d.ts +73 -0
- package/dist/runtime/client/services/spawn.service.js +255 -0
- package/dist/runtime/client/services/streaming.service.js +331 -0
- package/dist/runtime/client/services/textui.service.d.ts +82 -0
- package/dist/runtime/client/services/textui.service.js +160 -0
- package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
- package/dist/runtime/client/services/vehicle-client.service.js +483 -0
- package/dist/runtime/client/services/vehicle.service.d.ts +168 -0
- package/dist/runtime/client/services/vehicle.service.js +293 -0
- package/dist/runtime/client/system/metadata-client.keys.d.ts +15 -0
- package/dist/runtime/client/system/metadata-client.keys.js +15 -0
- package/dist/runtime/client/system/processors/export.processor.d.ts +7 -0
- package/dist/runtime/client/system/processors/export.processor.js +34 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.js +53 -0
- package/dist/runtime/client/system/processors/interval.processor.d.ts +7 -0
- package/dist/runtime/client/system/processors/interval.processor.js +38 -0
- package/dist/runtime/client/system/processors/key.processor.d.ts +8 -0
- package/dist/runtime/client/system/processors/key.processor.js +22 -0
- package/dist/runtime/client/system/processors/libraryEvent.processor.d.ts +6 -0
- package/dist/runtime/client/system/processors/libraryEvent.processor.js +36 -0
- package/dist/runtime/client/system/processors/localEvent.processor.d.ts +7 -0
- package/dist/runtime/client/system/processors/localEvent.processor.js +33 -0
- package/dist/runtime/client/system/processors/netEvent.processor.d.ts +7 -0
- package/dist/runtime/client/system/processors/netEvent.processor.js +33 -0
- package/dist/runtime/client/system/processors/onRpc.processor.d.ts +9 -0
- package/dist/runtime/client/system/processors/onRpc.processor.js +62 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +9 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +62 -0
- package/dist/runtime/client/system/processors/tick.processor.d.ts +5 -0
- package/dist/runtime/client/system/processors/tick.processor.js +32 -0
- package/dist/runtime/client/system/processors/view.processor.d.ts +7 -0
- package/dist/runtime/client/system/processors/view.processor.js +36 -0
- package/dist/runtime/client/system/processors.register.js +28 -0
- package/dist/runtime/client/types/game-events.d.ts +128 -0
- package/dist/runtime/client/types/game-events.js +72 -0
- package/dist/runtime/client/types/index.js +1 -0
- package/dist/runtime/client/ui-bridge.js +196 -0
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +232 -0
- package/dist/runtime/core/index.d.ts +5 -0
- package/dist/runtime/core/index.js +5 -0
- package/dist/runtime/core/library/create-library-base.d.ts +15 -0
- package/dist/runtime/core/library/create-library-base.js +27 -0
- package/dist/runtime/core/library/index.d.ts +5 -0
- package/dist/runtime/core/library/index.js +4 -0
- package/dist/runtime/core/library/library-bus.d.ts +9 -0
- package/dist/runtime/core/library/library-bus.js +46 -0
- package/dist/runtime/core/library/library-config.d.ts +10 -0
- package/dist/runtime/core/library/library-config.js +12 -0
- package/dist/runtime/core/library/library-event-id.d.ts +8 -0
- package/dist/runtime/core/library/library-event-id.js +9 -0
- package/dist/runtime/core/library/types.d.ts +146 -0
- package/dist/runtime/core/library/types.js +0 -0
- package/dist/runtime/core/nativehandle.d.ts +3 -0
- package/dist/runtime/core/nativehandle.js +0 -0
- package/dist/runtime/core/spatial.d.ts +7 -0
- package/dist/runtime/core/spatial.js +0 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +57 -0
- package/dist/runtime/server/.opencore/autoload.server.controllers.d.ts +1 -0
- package/dist/runtime/server/.opencore/autoload.server.controllers.js +0 -0
- package/dist/runtime/server/api.d.ts +15 -0
- package/dist/runtime/server/api.js +21 -0
- package/dist/runtime/server/apis/appearance.api.d.ts +41 -0
- package/dist/runtime/server/apis/appearance.api.js +66 -0
- package/dist/runtime/server/apis/chat.api.d.ts +69 -0
- package/dist/runtime/server/apis/chat.api.js +129 -0
- package/dist/runtime/server/apis/index.d.ts +6 -0
- package/dist/runtime/server/apis/index.js +6 -0
- package/dist/runtime/server/apis/npcs.api.d.ts +213 -0
- package/dist/runtime/server/apis/npcs.api.js +465 -0
- package/dist/runtime/server/apis/parallel-compute.api.d.ts +118 -0
- package/dist/runtime/server/apis/parallel-compute.api.js +423 -0
- package/dist/runtime/server/apis/vehicle-modification.api.d.ts +94 -0
- package/dist/runtime/server/apis/vehicle-modification.api.js +308 -0
- package/dist/runtime/server/apis/vehicles.api.d.ts +140 -0
- package/dist/runtime/server/apis/vehicles.api.js +386 -0
- package/dist/runtime/server/bootstrap.d.ts +21 -0
- package/dist/runtime/server/bootstrap.js +310 -0
- package/dist/runtime/server/bus/internal-event.bus.d.ts +6 -0
- package/dist/runtime/server/bus/internal-event.bus.js +30 -0
- package/dist/runtime/server/bus/library-event.bus.d.ts +5 -0
- package/dist/runtime/server/bus/library-event.bus.js +27 -0
- package/dist/runtime/server/concepts/channel.d.ts +29 -0
- package/dist/runtime/server/concepts/channel.js +70 -0
- package/dist/runtime/server/contracts/index.d.ts +6 -0
- package/dist/runtime/server/contracts/index.js +8 -0
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +84 -0
- package/dist/runtime/server/contracts/player-persistence.contract.js +46 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.js +5 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +2 -0
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +43 -0
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +15 -0
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +5 -0
- package/dist/runtime/server/contracts/security/security-handler.contract.js +2 -0
- package/dist/runtime/server/controllers/channel.controller.d.ts +115 -0
- package/dist/runtime/server/controllers/channel.controller.js +373 -0
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/runtime/server/controllers/chat.controller.js +67 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +83 -0
- package/dist/runtime/server/controllers/command-export.controller.js +331 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +30 -0
- package/dist/runtime/server/controllers/player-export.controller.js +172 -0
- package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +292 -0
- package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
- package/dist/runtime/server/controllers/ready.controller.js +27 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +52 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +172 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/runtime/server/controllers/session.controller.js +83 -0
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +20 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +68 -0
- package/dist/runtime/server/core.d.ts +7 -0
- package/dist/runtime/server/core.js +37 -0
- package/dist/runtime/server/decorators/binaryCall.d.ts +15 -0
- package/dist/runtime/server/decorators/binaryCall.js +23 -0
- package/dist/runtime/server/decorators/binaryEvent.d.ts +21 -0
- package/dist/runtime/server/decorators/binaryEvent.js +22 -0
- package/dist/runtime/server/decorators/binaryService.d.ts +27 -0
- package/dist/runtime/server/decorators/binaryService.js +71 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +28 -0
- package/dist/runtime/server/decorators/command.d.ts +87 -0
- package/dist/runtime/server/decorators/command.js +36 -0
- package/dist/runtime/server/decorators/controller.d.ts +26 -0
- package/dist/runtime/server/decorators/controller.js +56 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +29 -0
- package/dist/runtime/server/decorators/guard.d.ts +51 -0
- package/dist/runtime/server/decorators/guard.js +80 -0
- package/dist/runtime/server/decorators/index.d.ts +18 -0
- package/dist/runtime/server/decorators/index.js +18 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.js +28 -0
- package/dist/runtime/server/decorators/onLibraryEvent.d.ts +17 -0
- package/dist/runtime/server/decorators/onLibraryEvent.js +22 -0
- package/dist/runtime/server/decorators/onNet.d.ts +65 -0
- package/dist/runtime/server/decorators/onNet.js +12 -0
- package/dist/runtime/server/decorators/onRPC.d.ts +78 -0
- package/dist/runtime/server/decorators/onRPC.js +59 -0
- package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +25 -0
- package/dist/runtime/server/decorators/onRuntimeEvent.js +30 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +26 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/runtime/server/decorators/public.js +32 -0
- package/dist/runtime/server/decorators/requiresState.d.ts +63 -0
- package/dist/runtime/server/decorators/requiresState.js +70 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/runtime/server/decorators/throttle.js +73 -0
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +54 -0
- package/dist/runtime/server/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/default/default-command-error-observer.js +40 -0
- package/dist/runtime/server/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/default/default-net-event-security-observer.js +25 -0
- package/dist/runtime/server/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/default/default-principal.provider.js +35 -0
- package/dist/runtime/server/default/default-security.handler.d.ts +19 -0
- package/dist/runtime/server/default/default-security.handler.js +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +8 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +8 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +7 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +3 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +109 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +290 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +233 -0
- package/dist/runtime/server/devmode/index.d.ts +6 -0
- package/dist/runtime/server/devmode/index.js +7 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +199 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +175 -0
- package/dist/runtime/server/devmode/types.d.ts +197 -0
- package/dist/runtime/server/devmode/types.js +22 -0
- package/dist/runtime/server/entities/index.d.ts +3 -0
- package/dist/runtime/server/entities/index.js +3 -0
- package/dist/runtime/server/entities/npc.d.ts +255 -0
- package/dist/runtime/server/entities/npc.js +307 -0
- package/dist/runtime/server/entities/player.d.ts +239 -0
- package/dist/runtime/server/entities/player.js +340 -0
- package/dist/runtime/server/entities/vehicle.d.ts +113 -0
- package/dist/runtime/server/entities/vehicle.js +245 -0
- package/dist/runtime/server/error-handler.d.ts +2 -0
- package/dist/runtime/server/error-handler.js +39 -0
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +3 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +73 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +6 -0
- package/dist/runtime/server/helpers/function-helper.js +28 -0
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +17 -0
- package/dist/runtime/server/helpers/process-tuple-schema.d.ts +20 -0
- package/dist/runtime/server/helpers/process-tuple-schema.js +56 -0
- package/dist/runtime/server/helpers/resolve-method.d.ts +5 -0
- package/dist/runtime/server/helpers/resolve-method.js +25 -0
- package/dist/runtime/server/implementations/local/channel.local.d.ts +32 -0
- package/dist/runtime/server/implementations/local/channel.local.js +185 -0
- package/dist/runtime/server/implementations/local/command.local.d.ts +57 -0
- package/dist/runtime/server/implementations/local/command.local.js +110 -0
- package/dist/runtime/server/implementations/local/player.local.d.ts +110 -0
- package/dist/runtime/server/implementations/local/player.local.js +204 -0
- package/dist/runtime/server/implementations/local/principal.local.d.ts +28 -0
- package/dist/runtime/server/implementations/local/principal.local.js +120 -0
- package/dist/runtime/server/implementations/remote/channel.remote.d.ts +47 -0
- package/dist/runtime/server/implementations/remote/channel.remote.js +165 -0
- package/dist/runtime/server/implementations/remote/command.remote.d.ts +64 -0
- package/dist/runtime/server/implementations/remote/command.remote.js +154 -0
- package/dist/runtime/server/implementations/remote/player.remote.d.ts +65 -0
- package/dist/runtime/server/implementations/remote/player.remote.js +204 -0
- package/dist/runtime/server/implementations/remote/principal.remote.d.ts +33 -0
- package/dist/runtime/server/implementations/remote/principal.remote.js +97 -0
- package/dist/runtime/server/index.d.ts +9 -0
- package/dist/runtime/server/index.js +4 -0
- package/dist/runtime/server/library/create-server-library.d.ts +13 -0
- package/dist/runtime/server/library/create-server-library.js +48 -0
- package/dist/runtime/server/library/index.d.ts +4 -0
- package/dist/runtime/server/library/index.js +2 -0
- package/dist/runtime/server/library/plugin/index.d.ts +4 -0
- package/dist/runtime/server/library/plugin/index.js +4 -0
- package/dist/runtime/server/library/plugin/plugin-context.d.ts +10 -0
- package/dist/runtime/server/library/plugin/plugin-context.js +0 -0
- package/dist/runtime/server/library/plugin/plugin-registry.d.ts +7 -0
- package/dist/runtime/server/library/plugin/plugin-registry.js +25 -0
- package/dist/runtime/server/library/plugin/plugin.interface.d.ts +19 -0
- package/dist/runtime/server/library/plugin/plugin.interface.js +0 -0
- package/dist/runtime/server/library/plugin/server-plugin-api.d.ts +5 -0
- package/dist/runtime/server/library/plugin/server-plugin-api.js +0 -0
- package/dist/runtime/server/ports/authorization.api-port.d.ts +149 -0
- package/dist/runtime/server/ports/authorization.api-port.js +28 -0
- package/dist/runtime/server/ports/channel.api-port.d.ts +218 -0
- package/dist/runtime/server/ports/channel.api-port.js +2 -0
- package/dist/runtime/server/ports/internal/command-execution.port.d.ts +48 -0
- package/dist/runtime/server/ports/internal/command-execution.port.js +11 -0
- package/dist/runtime/server/ports/internal/player-session-lifecycle.port.d.ts +37 -0
- package/dist/runtime/server/ports/internal/player-session-lifecycle.port.js +12 -0
- package/dist/runtime/server/ports/players.api-port.d.ts +108 -0
- package/dist/runtime/server/ports/players.api-port.js +19 -0
- package/dist/runtime/server/runtime.d.ts +192 -0
- package/dist/runtime/server/runtime.js +211 -0
- package/dist/runtime/server/server.runtime.d.ts +7 -0
- package/dist/runtime/server/server.runtime.js +34 -0
- package/dist/runtime/server/services/appearance.service.d.ts +99 -0
- package/dist/runtime/server/services/appearance.service.js +307 -0
- package/dist/runtime/server/services/index.d.ts +6 -0
- package/dist/runtime/server/services/index.js +6 -0
- package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
- package/dist/runtime/server/services/parallel/native-worker.entry.js +10 -0
- package/dist/runtime/server/services/parallel/worker-pool.d.ts +79 -0
- package/dist/runtime/server/services/parallel/worker-pool.js +428 -0
- package/dist/runtime/server/services/parallel/worker.d.ts +22 -0
- package/dist/runtime/server/services/parallel/worker.js +48 -0
- package/dist/runtime/server/services/persistence.service.d.ts +59 -0
- package/dist/runtime/server/services/persistence.service.js +161 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/runtime/server/services/rate-limiter.service.js +52 -0
- package/dist/runtime/server/services/services.register.d.ts +11 -0
- package/dist/runtime/server/services/services.register.js +108 -0
- package/dist/runtime/server/services/session-recovery.local.d.ts +39 -0
- package/dist/runtime/server/services/session-recovery.local.js +108 -0
- package/dist/runtime/server/setup.d.ts +9 -0
- package/dist/runtime/server/setup.js +25 -0
- package/dist/runtime/server/system/managers/binary-process.manager.d.ts +19 -0
- package/dist/runtime/server/system/managers/binary-process.manager.js +312 -0
- package/dist/runtime/server/system/metadata-server.keys.d.ts +18 -0
- package/dist/runtime/server/system/metadata-server.keys.js +18 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +62 -0
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/runtime/server/system/processors/export.processor.js +38 -0
- package/dist/runtime/server/system/processors/internalEvent.processor.d.ts +7 -0
- package/dist/runtime/server/system/processors/internalEvent.processor.js +36 -0
- package/dist/runtime/server/system/processors/libraryEvent.processor.d.ts +6 -0
- package/dist/runtime/server/system/processors/libraryEvent.processor.js +38 -0
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +243 -0
- package/dist/runtime/server/system/processors/onRpc.processor.d.ts +12 -0
- package/dist/runtime/server/system/processors/onRpc.processor.js +142 -0
- package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +10 -0
- package/dist/runtime/server/system/processors/runtimeEvent.processor.js +48 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/runtime/server/system/processors/tick.processor.js +44 -0
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +43 -0
- package/dist/runtime/server/system/schema-generator.d.ts +2 -0
- package/dist/runtime/server/system/schema-generator.js +38 -0
- package/dist/runtime/server/types/channel.types.d.ts +44 -0
- package/dist/runtime/server/types/channel.types.js +10 -0
- package/dist/runtime/server/types/core-exports.types.d.ts +286 -0
- package/dist/runtime/server/types/core-exports.types.js +0 -0
- package/dist/runtime/server/types/framework-events.types.d.ts +22 -0
- package/dist/runtime/server/types/framework-events.types.js +0 -0
- package/dist/runtime/server/types/index.d.ts +9 -0
- package/dist/runtime/server/types/index.js +9 -0
- package/dist/runtime/server/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/types/linked-id.js +0 -0
- package/dist/runtime/server/types/npc.types.d.ts +36 -0
- package/dist/runtime/server/types/npc.types.js +0 -0
- package/dist/runtime/server/types/parallel.types.d.ts +191 -0
- package/dist/runtime/server/types/parallel.types.js +5 -0
- package/dist/runtime/server/types/player-session.types.d.ts +11 -0
- package/dist/runtime/server/types/player-session.types.js +0 -0
- package/dist/runtime/server/types/principal.type.d.ts +32 -0
- package/dist/runtime/server/types/principal.type.js +0 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +0 -0
- package/package.json +43 -36
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -53
- package/dist/client/client-container.js +0 -6
- package/dist/client/client-core.d.ts +0 -18
- package/dist/client/client-core.js +0 -52
- package/dist/client/decorators/controller.d.ts +0 -3
- package/dist/client/decorators/controller.js +0 -14
- package/dist/client/decorators/export.d.ts +0 -7
- package/dist/client/decorators/export.js +0 -15
- package/dist/client/decorators/gameEvent.d.ts +0 -47
- package/dist/client/decorators/gameEvent.js +0 -54
- package/dist/client/decorators/index.d.ts +0 -10
- package/dist/client/decorators/index.js +0 -26
- package/dist/client/decorators/interval.d.ts +0 -7
- package/dist/client/decorators/interval.js +0 -15
- package/dist/client/decorators/key.d.ts +0 -2
- package/dist/client/decorators/key.js +0 -10
- package/dist/client/decorators/localEvent.d.ts +0 -7
- package/dist/client/decorators/localEvent.js +0 -15
- package/dist/client/decorators/nui.d.ts +0 -1
- package/dist/client/decorators/nui.js +0 -9
- package/dist/client/decorators/onNet.d.ts +0 -1
- package/dist/client/decorators/onNet.js +0 -9
- package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
- package/dist/client/decorators/resourceLifecycle.js +0 -24
- package/dist/client/decorators/tick.d.ts +0 -1
- package/dist/client/decorators/tick.js +0 -9
- package/dist/client/index.d.ts +0 -6
- package/dist/client/index.js +0 -22
- package/dist/client/loaders/exports.loader.d.ts +0 -1
- package/dist/client/loaders/exports.loader.js +0 -13
- package/dist/client/player/player.d.ts +0 -262
- package/dist/client/player/player.js +0 -480
- package/dist/client/player/player.loader.js +0 -22
- package/dist/client/services/core/index.d.ts +0 -1
- package/dist/client/services/core/index.js +0 -17
- package/dist/client/services/core/spawn.service.d.ts +0 -20
- package/dist/client/services/core/spawn.service.js +0 -143
- package/dist/client/services/index.d.ts +0 -4
- package/dist/client/services/index.js +0 -24
- package/dist/client/services/streaming/index.d.ts +0 -1
- package/dist/client/services/streaming/index.js +0 -17
- package/dist/client/services/streaming/streaming.service.js +0 -341
- package/dist/client/services/ui/index.d.ts +0 -3
- package/dist/client/services/ui/index.js +0 -19
- package/dist/client/services/ui/notification.service.js +0 -111
- package/dist/client/services/ui/progress.service.js +0 -210
- package/dist/client/services/ui/textui.service.d.ts +0 -82
- package/dist/client/services/ui/textui.service.js +0 -156
- package/dist/client/services/world/blip.service.d.ts +0 -112
- package/dist/client/services/world/blip.service.js +0 -215
- package/dist/client/services/world/index.d.ts +0 -4
- package/dist/client/services/world/index.js +0 -20
- package/dist/client/services/world/marker.service.d.ts +0 -94
- package/dist/client/services/world/marker.service.js +0 -153
- package/dist/client/services/world/ped.service.d.ts +0 -182
- package/dist/client/services/world/ped.service.js +0 -302
- package/dist/client/services/world/vehicle.service.d.ts +0 -168
- package/dist/client/services/world/vehicle.service.js +0 -296
- package/dist/client/system/metadata-client.keys.d.ts +0 -13
- package/dist/client/system/metadata-client.keys.js +0 -16
- package/dist/client/system/processors/export.processor.d.ts +0 -7
- package/dist/client/system/processors/export.processor.js +0 -39
- package/dist/client/system/processors/gameEvent.processor.d.ts +0 -10
- package/dist/client/system/processors/gameEvent.processor.js +0 -58
- package/dist/client/system/processors/interval.processor.d.ts +0 -7
- package/dist/client/system/processors/interval.processor.js +0 -43
- package/dist/client/system/processors/key.processor.d.ts +0 -8
- package/dist/client/system/processors/key.processor.js +0 -27
- package/dist/client/system/processors/localEvent.processor.d.ts +0 -7
- package/dist/client/system/processors/localEvent.processor.js +0 -38
- package/dist/client/system/processors/netEvent.processor.d.ts +0 -7
- package/dist/client/system/processors/netEvent.processor.js +0 -38
- package/dist/client/system/processors/nui.processor.d.ts +0 -7
- package/dist/client/system/processors/nui.processor.js +0 -40
- package/dist/client/system/processors/resourceLifecycle.processor.d.ts +0 -9
- package/dist/client/system/processors/resourceLifecycle.processor.js +0 -69
- package/dist/client/system/processors/tick.processor.d.ts +0 -5
- package/dist/client/system/processors/tick.processor.js +0 -37
- package/dist/client/system/processors.register.js +0 -27
- package/dist/client/types/game-events.d.ts +0 -126
- package/dist/client/types/game-events.js +0 -83
- package/dist/client/types/index.js +0 -17
- package/dist/client/ui-bridge.js +0 -201
- package/dist/server/bootstrap.d.ts +0 -16
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/bus/core-event-bus.js +0 -31
- package/dist/server/configs/api.config.d.ts +0 -71
- package/dist/server/configs/api.config.js +0 -81
- package/dist/server/configs/config.base.d.ts +0 -63
- package/dist/server/configs/config.base.js +0 -64
- package/dist/server/configs/index.d.ts +0 -2
- package/dist/server/configs/index.js +0 -18
- package/dist/server/container.d.ts +0 -2
- package/dist/server/container.js +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- package/dist/server/controllers/chat.controller.js +0 -50
- package/dist/server/controllers/command.controller.d.ts +0 -7
- package/dist/server/controllers/command.controller.js +0 -47
- package/dist/server/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/adapters/oxmysql.adapter.d.ts +0 -89
- package/dist/server/database/adapters/oxmysql.adapter.js +0 -149
- package/dist/server/database/database.contract.d.ts +0 -128
- package/dist/server/database/database.contract.js +0 -29
- package/dist/server/database/database.service.d.ts +0 -216
- package/dist/server/database/database.service.js +0 -301
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- package/dist/server/database/types.d.ts +0 -67
- package/dist/server/database/types.js +0 -7
- package/dist/server/database.d.ts +0 -7
- package/dist/server/database.js +0 -23
- package/dist/server/decorators/bind.d.ts +0 -2
- package/dist/server/decorators/bind.js +0 -15
- package/dist/server/decorators/command.d.ts +0 -49
- package/dist/server/decorators/command.js +0 -23
- package/dist/server/decorators/controller.d.ts +0 -25
- package/dist/server/decorators/controller.js +0 -36
- package/dist/server/decorators/coreEvent.d.ts +0 -22
- package/dist/server/decorators/coreEvent.js +0 -29
- package/dist/server/decorators/export.d.ts +0 -39
- package/dist/server/decorators/export.js +0 -47
- package/dist/server/decorators/guard.d.ts +0 -56
- package/dist/server/decorators/guard.js +0 -82
- package/dist/server/decorators/index.d.ts +0 -10
- package/dist/server/decorators/index.js +0 -29
- package/dist/server/decorators/onNet.d.ts +0 -58
- package/dist/server/decorators/onNet.js +0 -57
- package/dist/server/decorators/onTick.d.ts +0 -32
- package/dist/server/decorators/onTick.js +0 -40
- package/dist/server/decorators/public.d.ts +0 -27
- package/dist/server/decorators/public.js +0 -36
- package/dist/server/decorators/requiresState.d.ts +0 -56
- package/dist/server/decorators/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- package/dist/server/decorators/throttle.js +0 -63
- package/dist/server/decorators/utils.d.ts +0 -57
- package/dist/server/decorators/utils.js +0 -63
- package/dist/server/entities/index.d.ts +0 -1
- package/dist/server/entities/index.js +0 -17
- package/dist/server/entities/player.d.ts +0 -157
- package/dist/server/entities/player.js +0 -217
- package/dist/server/error-handler.d.ts +0 -2
- package/dist/server/error-handler.js +0 -43
- package/dist/server/index.d.ts +0 -10
- package/dist/server/index.js +0 -29
- package/dist/server/loaders/exports.loader.js +0 -23
- package/dist/server/loaders/playerSession.loader.d.ts +0 -1
- package/dist/server/loaders/playerSession.loader.js +0 -42
- package/dist/server/services/access-control.service.d.ts +0 -56
- package/dist/server/services/access-control.service.js +0 -99
- package/dist/server/services/chat.service.d.ts +0 -7
- package/dist/server/services/chat.service.js +0 -31
- package/dist/server/services/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/config.service.d.ts +0 -75
- package/dist/server/services/config.service.js +0 -116
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/default/default-security.handler.js +0 -26
- package/dist/server/services/http/http.service.d.ts +0 -50
- package/dist/server/services/http/http.service.js +0 -126
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/parallel/index.d.ts +0 -49
- package/dist/server/services/parallel/index.js +0 -67
- package/dist/server/services/parallel/parallel-compute.service.d.ts +0 -132
- package/dist/server/services/parallel/parallel-compute.service.js +0 -449
- package/dist/server/services/parallel/types.d.ts +0 -188
- package/dist/server/services/parallel/types.js +0 -7
- package/dist/server/services/parallel/worker-pool.d.ts +0 -83
- package/dist/server/services/parallel/worker-pool.js +0 -350
- package/dist/server/services/parallel/worker.d.ts +0 -19
- package/dist/server/services/parallel/worker.js +0 -49
- package/dist/server/services/persistence.service.d.ts +0 -59
- package/dist/server/services/persistence.service.js +0 -166
- package/dist/server/services/player.service.d.ts +0 -96
- package/dist/server/services/player.service.js +0 -132
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- package/dist/server/services/rate-limiter.service.js +0 -39
- package/dist/server/services/registers.d.ts +0 -1
- package/dist/server/services/registers.js +0 -18
- package/dist/server/setup.d.ts +0 -9
- package/dist/server/setup.js +0 -28
- package/dist/server/system/metadata-server.keys.d.ts +0 -9
- package/dist/server/system/metadata-server.keys.js +0 -12
- package/dist/server/system/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/command.processor.js +0 -30
- package/dist/server/system/processors/coreEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/coreEvent.processor.js +0 -38
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/export.processor.js +0 -26
- package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
- package/dist/server/system/processors/netEvent.processor.js +0 -101
- package/dist/server/system/processors/tick.processor.d.ts +0 -5
- package/dist/server/system/processors/tick.processor.js +0 -36
- package/dist/server/system/processors.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -21
- package/dist/server/system/schema-generator.d.ts +0 -2
- package/dist/server/system/schema-generator.js +0 -28
- package/dist/server/templates/admin/admin.controller-template.d.ts +0 -12
- package/dist/server/templates/admin/admin.controller-template.js +0 -2
- package/dist/server/templates/auth/auth-provider.contract.d.ts +0 -58
- package/dist/server/templates/auth/auth-provider.contract.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/index.js +0 -21
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/server/templates/persistence/player-persistence.contract.d.ts +0 -86
- package/dist/server/templates/persistence/player-persistence.contract.js +0 -52
- package/dist/server/templates/repository/index.d.ts +0 -57
- package/dist/server/templates/repository/index.js +0 -61
- package/dist/server/templates/repository/repository.contract.d.ts +0 -224
- package/dist/server/templates/repository/repository.contract.js +0 -342
- package/dist/server/templates/repository/repository.types.d.ts +0 -51
- package/dist/server/templates/repository/repository.types.js +0 -7
- package/dist/server/templates/security/permission.types.d.ts +0 -32
- package/dist/server/templates/security/permission.types.js +0 -2
- package/dist/server/templates/security/principal-provider.contract.d.ts +0 -43
- package/dist/server/templates/security/principal-provider.contract.js +0 -19
- package/dist/server/templates/security/security-handler.contract.d.ts +0 -5
- package/dist/server/templates/security/security-handler.contract.js +0 -6
- package/dist/server/types/core-events.d.ts +0 -17
- package/dist/server/types/core-events.js +0 -2
- package/dist/server/types/security.types.js +0 -2
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/index.js +0 -17
- package/dist/shared/logger/core-logger.d.ts +0 -35
- package/dist/shared/logger/core-logger.js +0 -52
- package/dist/shared/logger/index.d.ts +0 -11
- package/dist/shared/logger/index.js +0 -26
- package/dist/shared/logger/logger.config.d.ts +0 -47
- package/dist/shared/logger/logger.config.js +0 -33
- package/dist/shared/logger/logger.service.d.ts +0 -161
- package/dist/shared/logger/logger.service.js +0 -279
- package/dist/shared/logger/logger.types.js +0 -74
- package/dist/shared/logger/transports/buffered.transport.d.ts +0 -88
- package/dist/shared/logger/transports/buffered.transport.js +0 -174
- package/dist/shared/logger/transports/console.transport.d.ts +0 -37
- package/dist/shared/logger/transports/console.transport.js +0 -134
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/shared/logger/transports/transport.interface.d.ts +0 -40
- package/dist/shared/logger/transports/transport.interface.js +0 -2
- package/dist/system/class-constructor.js +0 -2
- package/dist/system/decorator-processor.js +0 -2
- package/dist/system/metadata.scanner.d.ts +0 -7
- package/dist/system/metadata.scanner.js +0 -45
- package/dist/utils/errors.d.ts +0 -14
- package/dist/utils/errors.js +0 -25
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.js +0 -20
- package/dist/utils/result.d.ts +0 -12
- package/dist/utils/result.js +0 -10
- package/dist/utils/rgb.d.ts +0 -5
- package/dist/utils/rgb.js +0 -2
- package/dist/utils/vector3.d.ts +0 -13
- package/dist/utils/vector3.js +0 -27
- /package/dist/{server/loaders/exports.loader.d.ts → adapters/contracts/transport/context.js} +0 -0
- /package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- /package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- /package/dist/{server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/{shared → kernel}/logger/logger.types.d.ts +0 -0
- /package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- /package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
- /package/dist/{client/services/ui → runtime/client/services}/notification.service.d.ts +0 -0
- /package/dist/{client/services/ui → runtime/client/services}/progress.service.d.ts +0 -0
- /package/dist/{client/services/streaming → runtime/client/services}/streaming.service.d.ts +0 -0
- /package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
- /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
|
@@ -0,0 +1,185 @@
|
|
|
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 { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
|
|
14
|
+
import { inject, injectable } from 'tsyringe';
|
|
15
|
+
import { Channels } from '../../ports/channel.api-port';
|
|
16
|
+
import { ChannelType } from '../../types';
|
|
17
|
+
import { Players } from '../../ports/players.api-port';
|
|
18
|
+
import { Channel } from '../../concepts/channel';
|
|
19
|
+
let LocalChannelImplementation = class LocalChannelImplementation extends Channels {
|
|
20
|
+
playerDirectory;
|
|
21
|
+
events;
|
|
22
|
+
channels = new Map();
|
|
23
|
+
validator;
|
|
24
|
+
constructor(playerDirectory, events) {
|
|
25
|
+
super();
|
|
26
|
+
this.playerDirectory = playerDirectory;
|
|
27
|
+
this.events = events;
|
|
28
|
+
}
|
|
29
|
+
setValidator(validator) {
|
|
30
|
+
this.validator = validator;
|
|
31
|
+
}
|
|
32
|
+
create(id, metadata, maxSubscribers) {
|
|
33
|
+
if (this.channels.has(id)) {
|
|
34
|
+
throw new Error(`Channel with id '${id}' already exists`);
|
|
35
|
+
}
|
|
36
|
+
const channel = new Channel(id, metadata, maxSubscribers);
|
|
37
|
+
this.channels.set(id, channel);
|
|
38
|
+
return channel;
|
|
39
|
+
}
|
|
40
|
+
createPrivate(players, metadata) {
|
|
41
|
+
const id = `private:${Date.now()}:${Math.random().toString(36).substring(7)}`;
|
|
42
|
+
const channel = this.create(id, { ...metadata, persistent: false }, players.length);
|
|
43
|
+
for (const player of players) {
|
|
44
|
+
channel.subscribe(player);
|
|
45
|
+
}
|
|
46
|
+
return channel;
|
|
47
|
+
}
|
|
48
|
+
get(id) {
|
|
49
|
+
return this.channels.get(id);
|
|
50
|
+
}
|
|
51
|
+
delete(id) {
|
|
52
|
+
const channel = this.channels.get(id);
|
|
53
|
+
if (!channel) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
channel.clear();
|
|
57
|
+
return this.channels.delete(id);
|
|
58
|
+
}
|
|
59
|
+
exists(id) {
|
|
60
|
+
return this.channels.has(id);
|
|
61
|
+
}
|
|
62
|
+
subscribe(channelId, player, metadata) {
|
|
63
|
+
const channel = this.channels.get(channelId);
|
|
64
|
+
if (!channel) {
|
|
65
|
+
throw new Error(`Channel '${channelId}' does not exist`);
|
|
66
|
+
}
|
|
67
|
+
if (this.validator && !this.validator.canSubscribe(player, channelId)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return channel.subscribe(player, metadata);
|
|
71
|
+
}
|
|
72
|
+
unsubscribe(channelId, player) {
|
|
73
|
+
const channel = this.channels.get(channelId);
|
|
74
|
+
if (!channel) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return channel.unsubscribe(player);
|
|
78
|
+
}
|
|
79
|
+
isSubscribed(channelId, player) {
|
|
80
|
+
const channel = this.channels.get(channelId);
|
|
81
|
+
if (!channel) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return channel.isSubscribed(player);
|
|
85
|
+
}
|
|
86
|
+
broadcast(channelId, sender, message, author, color = { r: 255, g: 255, b: 255 }) {
|
|
87
|
+
const channel = this.channels.get(channelId);
|
|
88
|
+
if (!channel) {
|
|
89
|
+
throw new Error(`Channel '${channelId}' does not exist`);
|
|
90
|
+
}
|
|
91
|
+
if (this.validator && !this.validator.canBroadcast(sender, channelId)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const subscribers = channel.getSubscribers();
|
|
95
|
+
const targetIds = subscribers.map((p) => p.clientID);
|
|
96
|
+
if (targetIds.length === 0) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.events.emit('core:chat:addMessage', targetIds, {
|
|
100
|
+
args: [author ?? sender.name, message],
|
|
101
|
+
color: color,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
broadcastSystem(channelId, message, author = 'SYSTEM', color = { r: 0, g: 191, b: 255 }) {
|
|
105
|
+
const channel = this.channels.get(channelId);
|
|
106
|
+
if (!channel) {
|
|
107
|
+
throw new Error(`Channel '${channelId}' does not exist`);
|
|
108
|
+
}
|
|
109
|
+
const subscribers = channel.getSubscribers();
|
|
110
|
+
const targetIds = subscribers.map((p) => p.clientID);
|
|
111
|
+
if (targetIds.length === 0) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.events.emit('core:chat:addMessage', targetIds, {
|
|
115
|
+
args: [author, message],
|
|
116
|
+
color: color,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
getSubscribers(channelId) {
|
|
120
|
+
const channel = this.channels.get(channelId);
|
|
121
|
+
if (!channel) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
return channel.getSubscribers();
|
|
125
|
+
}
|
|
126
|
+
getChannelsByType(type) {
|
|
127
|
+
return Array.from(this.channels.values()).filter((channel) => channel.type === type);
|
|
128
|
+
}
|
|
129
|
+
getChannelsByPlayer(player) {
|
|
130
|
+
return Array.from(this.channels.values()).filter((channel) => channel.isSubscribed(player));
|
|
131
|
+
}
|
|
132
|
+
getAllChannels() {
|
|
133
|
+
return Array.from(this.channels.values());
|
|
134
|
+
}
|
|
135
|
+
clear() {
|
|
136
|
+
for (const channel of this.channels.values()) {
|
|
137
|
+
if (!channel.isPersistent) {
|
|
138
|
+
channel.clear();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
this.channels.clear();
|
|
142
|
+
}
|
|
143
|
+
clearNonPersistent() {
|
|
144
|
+
for (const [id, channel] of this.channels.entries()) {
|
|
145
|
+
if (!channel.isPersistent) {
|
|
146
|
+
channel.clear();
|
|
147
|
+
this.channels.delete(id);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
createProximityChannel(originPlayer, radius, channelId) {
|
|
152
|
+
const id = channelId ?? `proximity:${originPlayer.clientID}:${Date.now()}`;
|
|
153
|
+
const originPos = originPlayer.getPosition();
|
|
154
|
+
if (!originPos) {
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
const channel = this.create(id, {
|
|
158
|
+
type: ChannelType.PROXIMITY,
|
|
159
|
+
maxRange: radius,
|
|
160
|
+
persistent: false,
|
|
161
|
+
}, undefined);
|
|
162
|
+
const allPlayers = this.playerDirectory.getAll();
|
|
163
|
+
const nearbyPlayers = allPlayers.filter((p) => {
|
|
164
|
+
const pos = p.getPosition();
|
|
165
|
+
if (!pos)
|
|
166
|
+
return false;
|
|
167
|
+
const dx = originPos.x - pos.x;
|
|
168
|
+
const dy = originPos.y - pos.y;
|
|
169
|
+
const dz = originPos.z - pos.z;
|
|
170
|
+
const distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
171
|
+
return distance <= radius;
|
|
172
|
+
});
|
|
173
|
+
for (const player of nearbyPlayers) {
|
|
174
|
+
channel.subscribe(player);
|
|
175
|
+
}
|
|
176
|
+
return channel;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
LocalChannelImplementation = __decorate([
|
|
180
|
+
injectable(),
|
|
181
|
+
__param(1, inject(EventsAPI)),
|
|
182
|
+
__metadata("design:paramtypes", [Players,
|
|
183
|
+
EventsAPI])
|
|
184
|
+
], LocalChannelImplementation);
|
|
185
|
+
export { LocalChannelImplementation };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CommandMetadata } from '../../decorators/command';
|
|
2
|
+
import { Player } from '../../entities';
|
|
3
|
+
import { CommandExecutionPort, type CommandInfo } from '../../ports/internal/command-execution.port';
|
|
4
|
+
/**
|
|
5
|
+
* Local command execution service (CORE/STANDALONE modes).
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Maintains an in-memory registry of command handlers and executes them with full validation.
|
|
9
|
+
* Controllers declare commands via @Command decorator. During bootstrap, the framework
|
|
10
|
+
* scans and registers handlers via CommandProcessor.
|
|
11
|
+
*
|
|
12
|
+
* Execution pipeline:
|
|
13
|
+
* - Enforces authentication (secure by default unless marked @Public)
|
|
14
|
+
* - Validates arguments using Zod schemas (explicit or auto-generated)
|
|
15
|
+
* - Coerces argument types before invoking handlers
|
|
16
|
+
*/
|
|
17
|
+
export declare class LocalCommandImplementation extends CommandExecutionPort {
|
|
18
|
+
private commands;
|
|
19
|
+
/**
|
|
20
|
+
* Returns decorator metadata for a registered command.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Mainly used by controllers to enrich error observation (usage/description/etc.).
|
|
24
|
+
*/
|
|
25
|
+
getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Registers a command handler.
|
|
28
|
+
*
|
|
29
|
+
* @param meta - Command metadata collected from the {@link Command} decorator.
|
|
30
|
+
* @param handler - The bound method to invoke.
|
|
31
|
+
*/
|
|
32
|
+
register(meta: CommandMetadata, handler: (...args: any[]) => any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Executes a registered command.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* **Security**: Commands require authentication by default unless marked with @Public().
|
|
38
|
+
* Unauthenticated attempts are blocked by throwing an {@link AppError}.
|
|
39
|
+
* Higher-level controllers can observe the failure and decide how to notify the player.
|
|
40
|
+
*
|
|
41
|
+
* Argument parsing behavior depends on the schema:
|
|
42
|
+
* - Zod object schema: maps raw args to parameter names.
|
|
43
|
+
* - Zod tuple schema: validates positional args.
|
|
44
|
+
* - No schema: attempts to generate a schema from parameter types.
|
|
45
|
+
*
|
|
46
|
+
* @param player - Player invoking the command.
|
|
47
|
+
* @param commandName - Command name (without the leading `/`).
|
|
48
|
+
* @param args - Raw argument list (strings).
|
|
49
|
+
*
|
|
50
|
+
* @throws AppError - If the command does not exist, the schema mismatches parameters, or validation fails.
|
|
51
|
+
*/
|
|
52
|
+
execute(player: Player, commandName: string, args: string[]): Promise<any>;
|
|
53
|
+
/**
|
|
54
|
+
* Returns a list of all registered commands.
|
|
55
|
+
*/
|
|
56
|
+
getAllCommands(): CommandInfo[];
|
|
57
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
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 { AppError } from '../../../../kernel/error/app.error';
|
|
9
|
+
import { loggers } from '../../../../kernel/logger';
|
|
10
|
+
import { validateAndExecuteCommand } from '../../helpers/command-validation.helper';
|
|
11
|
+
import { CommandExecutionPort } from '../../ports/internal/command-execution.port';
|
|
12
|
+
/**
|
|
13
|
+
* Local command execution service (CORE/STANDALONE modes).
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* Maintains an in-memory registry of command handlers and executes them with full validation.
|
|
17
|
+
* Controllers declare commands via @Command decorator. During bootstrap, the framework
|
|
18
|
+
* scans and registers handlers via CommandProcessor.
|
|
19
|
+
*
|
|
20
|
+
* Execution pipeline:
|
|
21
|
+
* - Enforces authentication (secure by default unless marked @Public)
|
|
22
|
+
* - Validates arguments using Zod schemas (explicit or auto-generated)
|
|
23
|
+
* - Coerces argument types before invoking handlers
|
|
24
|
+
*/
|
|
25
|
+
let LocalCommandImplementation = class LocalCommandImplementation extends CommandExecutionPort {
|
|
26
|
+
commands = new Map();
|
|
27
|
+
/**
|
|
28
|
+
* Returns decorator metadata for a registered command.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* Mainly used by controllers to enrich error observation (usage/description/etc.).
|
|
32
|
+
*/
|
|
33
|
+
getCommandMeta(commandName) {
|
|
34
|
+
return this.commands.get(commandName.toLowerCase())?.meta;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Registers a command handler.
|
|
38
|
+
*
|
|
39
|
+
* @param meta - Command metadata collected from the {@link Command} decorator.
|
|
40
|
+
* @param handler - The bound method to invoke.
|
|
41
|
+
*/
|
|
42
|
+
register(meta, handler) {
|
|
43
|
+
if (this.commands.has(meta.command.toLowerCase())) {
|
|
44
|
+
loggers.command.error(`Command '${meta.command}' is already registered. Skipped`, {
|
|
45
|
+
command: meta.command,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
this.commands.set(meta.command.toLowerCase(), {
|
|
49
|
+
meta,
|
|
50
|
+
handler,
|
|
51
|
+
isPublic: meta.isPublic ?? false,
|
|
52
|
+
});
|
|
53
|
+
const publicFlag = meta.isPublic ? ' [Public]' : '';
|
|
54
|
+
const schemaFlag = meta.schema ? ' [Validated]' : '';
|
|
55
|
+
loggers.command.debug(`Registered: /${meta.command}${publicFlag}${schemaFlag}`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Executes a registered command.
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* **Security**: Commands require authentication by default unless marked with @Public().
|
|
62
|
+
* Unauthenticated attempts are blocked by throwing an {@link AppError}.
|
|
63
|
+
* Higher-level controllers can observe the failure and decide how to notify the player.
|
|
64
|
+
*
|
|
65
|
+
* Argument parsing behavior depends on the schema:
|
|
66
|
+
* - Zod object schema: maps raw args to parameter names.
|
|
67
|
+
* - Zod tuple schema: validates positional args.
|
|
68
|
+
* - No schema: attempts to generate a schema from parameter types.
|
|
69
|
+
*
|
|
70
|
+
* @param player - Player invoking the command.
|
|
71
|
+
* @param commandName - Command name (without the leading `/`).
|
|
72
|
+
* @param args - Raw argument list (strings).
|
|
73
|
+
*
|
|
74
|
+
* @throws AppError - If the command does not exist, the schema mismatches parameters, or validation fails.
|
|
75
|
+
*/
|
|
76
|
+
async execute(player, commandName, args) {
|
|
77
|
+
const entry = this.commands.get(commandName.toLowerCase());
|
|
78
|
+
if (!entry)
|
|
79
|
+
throw new AppError('COMMAND:NOT_FOUND', `Command not found: ${commandName}`, 'client');
|
|
80
|
+
const { meta, handler, isPublic } = entry;
|
|
81
|
+
// ═══════════════════════════════════════════════════════════════
|
|
82
|
+
// SECURE BY DEFAULT: Require authentication unless @Public()
|
|
83
|
+
// ═══════════════════════════════════════════════════════════════
|
|
84
|
+
if (!isPublic) {
|
|
85
|
+
if (!player.accountID) {
|
|
86
|
+
loggers.security.warn(`Unauthenticated command attempt blocked`, {
|
|
87
|
+
command: commandName,
|
|
88
|
+
clientId: player.clientID,
|
|
89
|
+
});
|
|
90
|
+
throw new AppError('AUTH:UNAUTHORIZED', 'You must be authenticated to use this command', 'client');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return await validateAndExecuteCommand(meta, player, args, handler);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Returns a list of all registered commands.
|
|
97
|
+
*/
|
|
98
|
+
getAllCommands() {
|
|
99
|
+
return Array.from(this.commands.values()).map((c) => ({
|
|
100
|
+
command: c.meta.command,
|
|
101
|
+
description: c.meta.description ?? '',
|
|
102
|
+
usage: c.meta.usage ?? '',
|
|
103
|
+
isPublic: c.isPublic,
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
LocalCommandImplementation = __decorate([
|
|
108
|
+
injectable()
|
|
109
|
+
], LocalCommandImplementation);
|
|
110
|
+
export { LocalCommandImplementation };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { IPlayerInfo } from '../../../../adapters';
|
|
2
|
+
import { IPlatformCapabilities } from '../../../../adapters/contracts/IPlatformCapabilities';
|
|
3
|
+
import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
|
|
4
|
+
import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
|
|
5
|
+
import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
|
|
6
|
+
import { WorldContext } from '../../../core/world';
|
|
7
|
+
import { Player } from '../../entities';
|
|
8
|
+
import { Players } from '../../ports/players.api-port';
|
|
9
|
+
import { PlayerSessionLifecyclePort } from '../../ports/internal/player-session-lifecycle.port';
|
|
10
|
+
import { PlayerSession } from '../../types/player-session.types';
|
|
11
|
+
import { LinkedID } from '../../services';
|
|
12
|
+
/**
|
|
13
|
+
* Service responsible for managing the lifecycle of player sessions.
|
|
14
|
+
* It acts as the central registry for all connected players, mapping FiveM client IDs
|
|
15
|
+
* to Core `Player` entities.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This service is used as a singleton in the dependency container.
|
|
19
|
+
* It exposes the operations defined by {@link Players} and {@link PlayerSessionLifecyclePort}.
|
|
20
|
+
*/
|
|
21
|
+
export declare class LocalPlayerImplementation implements Players, PlayerSessionLifecyclePort {
|
|
22
|
+
private readonly world;
|
|
23
|
+
private readonly playerInfo;
|
|
24
|
+
private readonly playerServer;
|
|
25
|
+
private readonly entityServer;
|
|
26
|
+
private readonly events;
|
|
27
|
+
private readonly platformCapabilities;
|
|
28
|
+
private readonly playerAdapters;
|
|
29
|
+
constructor(world: WorldContext, playerInfo: IPlayerInfo, playerServer: IPlayerServer, entityServer: IEntityServer, events: EventsAPI<'server'>, platformCapabilities: IPlatformCapabilities);
|
|
30
|
+
private isPlayer;
|
|
31
|
+
/**
|
|
32
|
+
* Initializes a new player session for a connecting client.
|
|
33
|
+
*
|
|
34
|
+
* This method is typically called during the `playerJoining` event or
|
|
35
|
+
* immediately after a successful handshake/login flow.
|
|
36
|
+
*
|
|
37
|
+
* @param clientID - The FiveM server ID (source) of the player.
|
|
38
|
+
* @param identifiers - Optional object containing platform identifiers (license, steam, etc.).
|
|
39
|
+
* @returns The newly created `Player` instance.
|
|
40
|
+
*/
|
|
41
|
+
bind(clientID: number, identifiers?: PlayerSession['identifiers']): Player;
|
|
42
|
+
/**
|
|
43
|
+
* Terminates a player session and removes them from the registry.
|
|
44
|
+
*
|
|
45
|
+
* This should be called when the `playerDropped` event is triggered to ensure
|
|
46
|
+
* memory is freed and the session is closed.
|
|
47
|
+
*
|
|
48
|
+
* @param clientID - The FiveM server ID of the player disconnecting.
|
|
49
|
+
*/
|
|
50
|
+
unbind(clientID: number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves the `Player` entity associated with a specific FiveM client ID.
|
|
53
|
+
*
|
|
54
|
+
* @param clientID - The FiveM server ID to look up.
|
|
55
|
+
* @returns The `Player` instance if found, or `null` if the session does not exist.
|
|
56
|
+
*/
|
|
57
|
+
getByClient(clientID: number): Player | undefined;
|
|
58
|
+
getMany(clientIds: number[]): Player[];
|
|
59
|
+
/**
|
|
60
|
+
* Returns a list of all currently active `Player` entities.
|
|
61
|
+
*
|
|
62
|
+
* @returns An array containing all connected players managed by this service.
|
|
63
|
+
*/
|
|
64
|
+
getAll(): Player[];
|
|
65
|
+
/**
|
|
66
|
+
* Helper to retrieve the authenticated Account ID for a given client.
|
|
67
|
+
*
|
|
68
|
+
* @param clientID - The FiveM server ID to look up.
|
|
69
|
+
* @returns The bound Account ID (string/UUID) if the player is logged in, or `null` otherwise.
|
|
70
|
+
*/
|
|
71
|
+
getAccountLinked(clientID: number): LinkedID | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Stores arbitrary metadata in the player's session.
|
|
74
|
+
* Useful for storing transient state like 'isDead', 'job', 'dimension', etc.
|
|
75
|
+
*
|
|
76
|
+
* @param clientID - The FiveM server ID of the player.
|
|
77
|
+
* @param key - The unique key for the metadata entry.
|
|
78
|
+
* @param value - The value to store.
|
|
79
|
+
*/
|
|
80
|
+
setMeta(clientID: number, key: string, value: unknown): void;
|
|
81
|
+
/**
|
|
82
|
+
* Retrieves metadata previously stored in the player's session.
|
|
83
|
+
*
|
|
84
|
+
* @template T - The expected type of the returned value.
|
|
85
|
+
* @param clientID - The FiveM server ID of the player.
|
|
86
|
+
* @param key - The metadata key to retrieve.
|
|
87
|
+
* @returns The value cast to type `T`, or `undefined` if the key or player doesn't exist.
|
|
88
|
+
*/
|
|
89
|
+
getMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
|
|
90
|
+
/**
|
|
91
|
+
* Retrieves a Player by their persistent account ID.
|
|
92
|
+
*
|
|
93
|
+
* @param accountId - The unique account identifier to search for.
|
|
94
|
+
* @returns The Player if found, or `undefined` if not online.
|
|
95
|
+
*/
|
|
96
|
+
getByAccountId(accountId: string): Player | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Returns the current number of connected players.
|
|
99
|
+
*
|
|
100
|
+
* @returns Player count.
|
|
101
|
+
*/
|
|
102
|
+
getPlayerCount(): number;
|
|
103
|
+
/**
|
|
104
|
+
* Checks if a player with the given account ID is currently online.
|
|
105
|
+
*
|
|
106
|
+
* @param accountId - The account identifier to check.
|
|
107
|
+
* @returns `true` if online, `false` otherwise.
|
|
108
|
+
*/
|
|
109
|
+
isOnline(accountId: string): boolean;
|
|
110
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
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 { IPlayerInfo } from '../../../../adapters';
|
|
15
|
+
import { IPlatformCapabilities } from '../../../../adapters/contracts/IPlatformCapabilities';
|
|
16
|
+
import { EventsAPI } from '../../../../adapters/contracts/transport/events.api';
|
|
17
|
+
import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
|
|
18
|
+
import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
|
|
19
|
+
import { loggers } from '../../../../kernel/logger';
|
|
20
|
+
import { WorldContext } from '../../../core/world';
|
|
21
|
+
import { Player } from '../../entities';
|
|
22
|
+
/**
|
|
23
|
+
* Service responsible for managing the lifecycle of player sessions.
|
|
24
|
+
* It acts as the central registry for all connected players, mapping FiveM client IDs
|
|
25
|
+
* to Core `Player` entities.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* This service is used as a singleton in the dependency container.
|
|
29
|
+
* It exposes the operations defined by {@link Players} and {@link PlayerSessionLifecyclePort}.
|
|
30
|
+
*/
|
|
31
|
+
let LocalPlayerImplementation = class LocalPlayerImplementation {
|
|
32
|
+
world;
|
|
33
|
+
playerInfo;
|
|
34
|
+
playerServer;
|
|
35
|
+
entityServer;
|
|
36
|
+
events;
|
|
37
|
+
platformCapabilities;
|
|
38
|
+
playerAdapters;
|
|
39
|
+
constructor(world, playerInfo, playerServer, entityServer, events, platformCapabilities) {
|
|
40
|
+
this.world = world;
|
|
41
|
+
this.playerInfo = playerInfo;
|
|
42
|
+
this.playerServer = playerServer;
|
|
43
|
+
this.entityServer = entityServer;
|
|
44
|
+
this.events = events;
|
|
45
|
+
this.platformCapabilities = platformCapabilities;
|
|
46
|
+
const defaultSpawnModel = this.platformCapabilities.getConfig('defaultSpawnModel') ?? 'mp_m_freemode_01';
|
|
47
|
+
this.playerAdapters = {
|
|
48
|
+
playerInfo: this.playerInfo,
|
|
49
|
+
playerServer: this.playerServer,
|
|
50
|
+
entityServer: this.entityServer,
|
|
51
|
+
events: this.events,
|
|
52
|
+
defaultSpawnModel,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
isPlayer(e) {
|
|
56
|
+
return e.id.startsWith('player:');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Initializes a new player session for a connecting client.
|
|
60
|
+
*
|
|
61
|
+
* This method is typically called during the `playerJoining` event or
|
|
62
|
+
* immediately after a successful handshake/login flow.
|
|
63
|
+
*
|
|
64
|
+
* @param clientID - The FiveM server ID (source) of the player.
|
|
65
|
+
* @param identifiers - Optional object containing platform identifiers (license, steam, etc.).
|
|
66
|
+
* @returns The newly created `Player` instance.
|
|
67
|
+
*/
|
|
68
|
+
bind(clientID, identifiers) {
|
|
69
|
+
const session = {
|
|
70
|
+
clientID,
|
|
71
|
+
identifiers,
|
|
72
|
+
meta: {},
|
|
73
|
+
};
|
|
74
|
+
const player = new Player(session, this.playerAdapters);
|
|
75
|
+
this.world.add(player);
|
|
76
|
+
loggers.session.debug('Player session bound', {
|
|
77
|
+
clientID,
|
|
78
|
+
totalPlayers: this.world.sizeBy('player'),
|
|
79
|
+
});
|
|
80
|
+
return player;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Terminates a player session and removes them from the registry.
|
|
84
|
+
*
|
|
85
|
+
* This should be called when the `playerDropped` event is triggered to ensure
|
|
86
|
+
* memory is freed and the session is closed.
|
|
87
|
+
*
|
|
88
|
+
* @param clientID - The FiveM server ID of the player disconnecting.
|
|
89
|
+
*/
|
|
90
|
+
unbind(clientID) {
|
|
91
|
+
const player = this.getByClient(clientID);
|
|
92
|
+
if (player)
|
|
93
|
+
this.world.remove(player.id);
|
|
94
|
+
loggers.session.debug('Player session unbound', {
|
|
95
|
+
clientID,
|
|
96
|
+
totalPlayers: this.world.sizeBy('player'),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Retrieves the `Player` entity associated with a specific FiveM client ID.
|
|
101
|
+
*
|
|
102
|
+
* @param clientID - The FiveM server ID to look up.
|
|
103
|
+
* @returns The `Player` instance if found, or `null` if the session does not exist.
|
|
104
|
+
*/
|
|
105
|
+
getByClient(clientID) {
|
|
106
|
+
return this.world.get(`player:${clientID}`);
|
|
107
|
+
}
|
|
108
|
+
getMany(clientIds) {
|
|
109
|
+
const result = [];
|
|
110
|
+
for (const id of clientIds) {
|
|
111
|
+
const p = this.getByClient(id);
|
|
112
|
+
if (p)
|
|
113
|
+
result.push(p);
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns a list of all currently active `Player` entities.
|
|
119
|
+
*
|
|
120
|
+
* @returns An array containing all connected players managed by this service.
|
|
121
|
+
*/
|
|
122
|
+
getAll() {
|
|
123
|
+
return this.world.find(this.isPlayer);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Helper to retrieve the authenticated Account ID for a given client.
|
|
127
|
+
*
|
|
128
|
+
* @param clientID - The FiveM server ID to look up.
|
|
129
|
+
* @returns The bound Account ID (string/UUID) if the player is logged in, or `null` otherwise.
|
|
130
|
+
*/
|
|
131
|
+
getAccountLinked(clientID) {
|
|
132
|
+
return this.getByClient(clientID)?.accountID;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stores arbitrary metadata in the player's session.
|
|
136
|
+
* Useful for storing transient state like 'isDead', 'job', 'dimension', etc.
|
|
137
|
+
*
|
|
138
|
+
* @param clientID - The FiveM server ID of the player.
|
|
139
|
+
* @param key - The unique key for the metadata entry.
|
|
140
|
+
* @param value - The value to store.
|
|
141
|
+
*/
|
|
142
|
+
setMeta(clientID, key, value) {
|
|
143
|
+
const player = this.getByClient(clientID);
|
|
144
|
+
if (!player)
|
|
145
|
+
return;
|
|
146
|
+
player.setMeta(key, value);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Retrieves metadata previously stored in the player's session.
|
|
150
|
+
*
|
|
151
|
+
* @template T - The expected type of the returned value.
|
|
152
|
+
* @param clientID - The FiveM server ID of the player.
|
|
153
|
+
* @param key - The metadata key to retrieve.
|
|
154
|
+
* @returns The value cast to type `T`, or `undefined` if the key or player doesn't exist.
|
|
155
|
+
*/
|
|
156
|
+
async getMeta(clientID, key) {
|
|
157
|
+
return this.getByClient(clientID)?.getMeta(key);
|
|
158
|
+
}
|
|
159
|
+
// ═══════════════════════════════════════════════════════════════
|
|
160
|
+
// Extended Query Methods
|
|
161
|
+
// ═══════════════════════════════════════════════════════════════
|
|
162
|
+
/**
|
|
163
|
+
* Retrieves a Player by their persistent account ID.
|
|
164
|
+
*
|
|
165
|
+
* @param accountId - The unique account identifier to search for.
|
|
166
|
+
* @returns The Player if found, or `undefined` if not online.
|
|
167
|
+
*/
|
|
168
|
+
getByAccountId(accountId) {
|
|
169
|
+
return this.world.find(this.isPlayer).find((p) => p.accountID === accountId);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns the current number of connected players.
|
|
173
|
+
*
|
|
174
|
+
* @returns Player count.
|
|
175
|
+
*/
|
|
176
|
+
getPlayerCount() {
|
|
177
|
+
return this.world.sizeBy('player');
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Checks if a player with the given account ID is currently online.
|
|
181
|
+
*
|
|
182
|
+
* @param accountId - The account identifier to check.
|
|
183
|
+
* @returns `true` if online, `false` otherwise.
|
|
184
|
+
*/
|
|
185
|
+
isOnline(accountId) {
|
|
186
|
+
return !!this.getByAccountId(accountId);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
LocalPlayerImplementation = __decorate([
|
|
190
|
+
injectable(),
|
|
191
|
+
__param(0, inject(WorldContext)),
|
|
192
|
+
__param(1, inject(IPlayerInfo)),
|
|
193
|
+
__param(2, inject(IPlayerServer)),
|
|
194
|
+
__param(3, inject(IEntityServer)),
|
|
195
|
+
__param(4, inject(EventsAPI)),
|
|
196
|
+
__param(5, inject(IPlatformCapabilities)),
|
|
197
|
+
__metadata("design:paramtypes", [WorldContext,
|
|
198
|
+
IPlayerInfo,
|
|
199
|
+
IPlayerServer,
|
|
200
|
+
IEntityServer,
|
|
201
|
+
EventsAPI,
|
|
202
|
+
IPlatformCapabilities])
|
|
203
|
+
], LocalPlayerImplementation);
|
|
204
|
+
export { LocalPlayerImplementation };
|