@open-core/framework 1.0.4-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 -4
- package/dist/index.js +4 -41
- 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 -46
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-container.js +0 -6
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- package/dist/client/controllers/spawner.controller.d.ts +0 -12
- package/dist/client/controllers/spawner.controller.js +0 -51
- 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 -7
- package/dist/client/index.js +0 -23
- package/dist/client/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/interfaces/appearance.interface.js +0 -2
- 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/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/client/services/blip.service.d.ts +0 -112
- package/dist/client/services/blip.service.js +0 -215
- package/dist/client/services/index.d.ts +0 -9
- package/dist/client/services/index.js +0 -25
- package/dist/client/services/marker.service.d.ts +0 -94
- package/dist/client/services/marker.service.js +0 -153
- package/dist/client/services/notification.service.js +0 -111
- package/dist/client/services/ped.service.d.ts +0 -182
- package/dist/client/services/ped.service.js +0 -302
- package/dist/client/services/progress.service.js +0 -210
- package/dist/client/services/spawn.service.d.ts +0 -73
- package/dist/client/services/spawn.service.js +0 -261
- package/dist/client/services/streaming.service.js +0 -341
- package/dist/client/services/textui.service.d.ts +0 -82
- package/dist/client/services/textui.service.js +0 -156
- package/dist/client/services/vehicle.service.d.ts +0 -168
- package/dist/client/services/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/controllers/session.controller.d.ts +0 -9
- package/dist/server/controllers/session.controller.js +0 -70
- 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/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/onFiveMEvent.d.ts +0 -6
- package/dist/server/decorators/onFiveMEvent.js +0 -14
- package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
- package/dist/server/decorators/onFrameworkEvent.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/helpers/resolve-method.d.ts +0 -5
- package/dist/server/helpers/resolve-method.js +0 -18
- package/dist/server/index.d.ts +0 -10
- package/dist/server/index.js +0 -31
- 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 -51
- 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 -10
- package/dist/server/system/metadata-server.keys.js +0 -13
- 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 -41
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/export.processor.js +0 -30
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.js +0 -40
- package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
- package/dist/server/system/processors/netEvent.processor.js +0 -103
- 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 -23
- package/dist/server/system/schema-generator.d.ts +0 -2
- package/dist/server/system/schema-generator.js +0 -34
- 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 -22
- 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 → runtime/client}/services/notification.service.d.ts +0 -0
- /package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
- /package/dist/{client → 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,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port that provides access to player authorization and permissions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines a framework-owned boundary for querying permission-related data
|
|
6
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port are responsible for resolving permission information
|
|
9
|
+
* from the authoritative source (local provider, remote core exports, etc.).
|
|
10
|
+
*
|
|
11
|
+
* **Mode Differences:**
|
|
12
|
+
* - **CORE/STANDALONE**: Uses the user-provided PrincipalProviderContract directly
|
|
13
|
+
* - **RESOURCE**: Delegates to CORE via exports
|
|
14
|
+
*
|
|
15
|
+
* **Usage:**
|
|
16
|
+
* ```typescript
|
|
17
|
+
* @injectable()
|
|
18
|
+
* class MyService {
|
|
19
|
+
* constructor(private principal: PrincipalPort) {}
|
|
20
|
+
*
|
|
21
|
+
* async canBan(player: Player): Promise<boolean> {
|
|
22
|
+
* return await this.principal.hasPermission(player, 'admin.ban')
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class Authorization {
|
|
28
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { RGB } from 'src/kernel';
|
|
2
|
+
import { Channel } from '../concepts/channel';
|
|
3
|
+
import { Player } from '../entities';
|
|
4
|
+
import { ChannelMetadata, ChannelType, IChannelValidator } from '../types';
|
|
5
|
+
export declare abstract class Channels {
|
|
6
|
+
/**
|
|
7
|
+
* Sets a custom validator for channel operations.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Validators control who can subscribe to channels and who can broadcast messages.
|
|
11
|
+
* Only works in CORE/STANDALONE mode. In RESOURCE mode, validators must be set in CORE.
|
|
12
|
+
*
|
|
13
|
+
* @param validator - Custom validator implementing IChannelValidator
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* channels.setValidator({
|
|
18
|
+
* canSubscribe: (player, channelId) => {
|
|
19
|
+
* return !player.hasState('banned')
|
|
20
|
+
* },
|
|
21
|
+
* canBroadcast: (player, channelId) => {
|
|
22
|
+
* return !player.hasState('muted')
|
|
23
|
+
* }
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
abstract setValidator(validator: IChannelValidator): void;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a new channel.
|
|
30
|
+
*
|
|
31
|
+
* @param id - Unique channel identifier (e.g., 'group:police', 'radio:100')
|
|
32
|
+
* @param metadata - Channel configuration (type, persistence, etc.)
|
|
33
|
+
* @param maxSubscribers - Optional maximum number of subscribers
|
|
34
|
+
* @returns The created channel
|
|
35
|
+
* @throws Error if channel with the same ID already exists
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const channel = channels.create('radio:100', {
|
|
40
|
+
* type: ChannelType.RADIO,
|
|
41
|
+
* frequency: 100,
|
|
42
|
+
* persistent: true
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
abstract create(id: string, metadata: ChannelMetadata, maxSubscribers?: number): Channel;
|
|
47
|
+
/**
|
|
48
|
+
* Creates a private channel for specific players.
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* Automatically subscribes all provided players to the channel.
|
|
52
|
+
* Channel ID is auto-generated and non-persistent.
|
|
53
|
+
*
|
|
54
|
+
* @param players - Array of players to include in the private channel
|
|
55
|
+
* @param metadata - Channel configuration (type should be PRIVATE)
|
|
56
|
+
* @returns The created private channel with all players subscribed
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const privateChannel = channels.createPrivate([player1, player2], {
|
|
61
|
+
* type: ChannelType.PRIVATE,
|
|
62
|
+
* persistent: false
|
|
63
|
+
* })
|
|
64
|
+
* channels.broadcast(privateChannel.id, player1, 'Private message')
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
abstract createPrivate(players: Player[], metadata: ChannelMetadata): Channel;
|
|
68
|
+
abstract get(id: string): Channel | undefined;
|
|
69
|
+
abstract delete(id: string): boolean;
|
|
70
|
+
abstract exists(id: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Subscribes a player to a channel.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* If a validator is set, it will be checked before subscribing.
|
|
76
|
+
* Players can only be subscribed once to the same channel.
|
|
77
|
+
*
|
|
78
|
+
* @param channelId - Channel identifier
|
|
79
|
+
* @param player - Player to subscribe
|
|
80
|
+
* @param metadata - Optional subscription metadata
|
|
81
|
+
* @returns true if subscribed successfully, false if validation failed or already subscribed
|
|
82
|
+
* @throws Error if channel doesn't exist
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* if (channels.subscribe('group:police', player)) {
|
|
87
|
+
* // Player joined the group channel
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
abstract subscribe(channelId: string, player: Player, metadata?: Record<string, unknown>): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Unsubscribes a player from a channel.
|
|
94
|
+
*
|
|
95
|
+
* @param channelId - Channel identifier
|
|
96
|
+
* @param player - Player to unsubscribe
|
|
97
|
+
* @returns true if unsubscribed successfully, false if channel doesn't exist or player wasn't subscribed
|
|
98
|
+
*/
|
|
99
|
+
abstract unsubscribe(channelId: string, player: Player): boolean;
|
|
100
|
+
abstract isSubscribed(channelId: string, player: Player): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Broadcasts a message to all subscribers of a channel.
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* If a validator is set, it will check if the sender can broadcast.
|
|
106
|
+
* Only sends to currently subscribed players.
|
|
107
|
+
*
|
|
108
|
+
* @param channelId - Channel identifier
|
|
109
|
+
* @param sender - Player sending the message
|
|
110
|
+
* @param message - Message content
|
|
111
|
+
* @param author - Display name for the sender (defaults to sender.name)
|
|
112
|
+
* @param color - Message color (defaults to white)
|
|
113
|
+
* @throws Error if channel doesn't exist
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* channels.broadcast(
|
|
118
|
+
* 'group:police',
|
|
119
|
+
* player,
|
|
120
|
+
* 'Suspect heading north',
|
|
121
|
+
* undefined,
|
|
122
|
+
* { r: 0, g: 100, b: 255 }
|
|
123
|
+
* )
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
abstract broadcast(channelId: string, sender: Player, message: string, author?: string, color?: RGB): void;
|
|
127
|
+
/**
|
|
128
|
+
* Broadcasts a system message to all subscribers of a channel.
|
|
129
|
+
*
|
|
130
|
+
* @remarks
|
|
131
|
+
* System messages bypass validator checks and don't require a sender.
|
|
132
|
+
*
|
|
133
|
+
* @param channelId - Channel identifier
|
|
134
|
+
* @param message - Message content
|
|
135
|
+
* @param author - Display name (defaults to 'SYSTEM')
|
|
136
|
+
* @param color - Message color (defaults to light blue)
|
|
137
|
+
* @throws Error if channel doesn't exist
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* channels.broadcastSystem(
|
|
142
|
+
* 'group:police',
|
|
143
|
+
* 'group meeting in 5 minutes',
|
|
144
|
+
* 'DISPATCH'
|
|
145
|
+
* )
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
abstract broadcastSystem(channelId: string, message: string, author?: string, color?: RGB): void;
|
|
149
|
+
abstract getSubscribers(channelId: string): Player[];
|
|
150
|
+
/**
|
|
151
|
+
* Gets all channels of a specific type.
|
|
152
|
+
*
|
|
153
|
+
* @param type - Channel type to filter by
|
|
154
|
+
* @returns Array of channels matching the type
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const groupChannels = channels.getChannelsByType(ChannelType.group)
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
abstract getChannelsByType(type: ChannelType): Channel[];
|
|
162
|
+
/**
|
|
163
|
+
* Gets all channels a player is subscribed to.
|
|
164
|
+
*
|
|
165
|
+
* @param player - Player to check
|
|
166
|
+
* @returns Array of channels the player is subscribed to
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const playerChannels = channels.getChannelsByPlayer(player)
|
|
171
|
+
* playerChannels.forEach(ch => {
|
|
172
|
+
* console.log(`Player is in channel: ${ch.id}`)
|
|
173
|
+
* })
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
abstract getChannelsByPlayer(player: Player): Channel[];
|
|
177
|
+
abstract getAllChannels(): Channel[];
|
|
178
|
+
/**
|
|
179
|
+
* Clears all channels and their subscribers.
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* Persistent channels are cleared but not deleted.
|
|
183
|
+
* Only available in CORE/STANDALONE mode.
|
|
184
|
+
*/
|
|
185
|
+
abstract clear(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Deletes all non-persistent (temporary) channels.
|
|
188
|
+
*
|
|
189
|
+
* @remarks
|
|
190
|
+
* Useful for cleanup operations. Persistent channels are not affected.
|
|
191
|
+
* Only available in CORE/STANDALONE mode.
|
|
192
|
+
*/
|
|
193
|
+
abstract clearNonPersistent(): void;
|
|
194
|
+
/**
|
|
195
|
+
* Creates a temporary proximity-based channel around a player.
|
|
196
|
+
*
|
|
197
|
+
* @remarks
|
|
198
|
+
* Automatically subscribes all players within the specified radius.
|
|
199
|
+
* Channel is non-persistent and should be deleted after use.
|
|
200
|
+
* Calculates 3D distance between players.
|
|
201
|
+
*
|
|
202
|
+
* @param originPlayer - Player at the center of the proximity area
|
|
203
|
+
* @param radius - Distance radius in game units
|
|
204
|
+
* @param channelId - Optional custom channel ID (auto-generated if not provided)
|
|
205
|
+
* @returns The created channel with nearby players subscribed, or undefined if origin player has no position
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* // Create proximity channel for local chat
|
|
210
|
+
* const nearby = channels.createProximityChannel(player, 50.0)
|
|
211
|
+
* if (nearby) {
|
|
212
|
+
* channels.broadcast(nearby.id, player, 'Hello nearby players!')
|
|
213
|
+
* channels.delete(nearby.id) // Clean up
|
|
214
|
+
* }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
abstract createProximityChannel(originPlayer: Player, radius: number, channelId?: string): Channel | undefined;
|
|
218
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CommandMetadata } from '../../decorators/command';
|
|
2
|
+
import { Player } from '../../entities';
|
|
3
|
+
/**
|
|
4
|
+
* Command information returned by getAllCommands.
|
|
5
|
+
*/
|
|
6
|
+
export interface CommandInfo {
|
|
7
|
+
command: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
usage?: string;
|
|
10
|
+
isPublic: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Abstract port for command registration and execution.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This port provides mode-agnostic access to the command system.
|
|
17
|
+
* Implementations:
|
|
18
|
+
* - CommandService (local): CORE/STANDALONE modes maintain command registry locally
|
|
19
|
+
* - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
|
|
20
|
+
*/
|
|
21
|
+
export declare abstract class CommandExecutionPort {
|
|
22
|
+
/**
|
|
23
|
+
* Registers a command handler.
|
|
24
|
+
*
|
|
25
|
+
* @param metadata - Command metadata from decorator
|
|
26
|
+
* @param handler - Bound method to invoke when command is executed
|
|
27
|
+
*/
|
|
28
|
+
abstract register(metadata: CommandMetadata, handler: (...args: any[]) => any): void;
|
|
29
|
+
/**
|
|
30
|
+
* Executes a registered command.
|
|
31
|
+
*
|
|
32
|
+
* @param player - Player invoking the command
|
|
33
|
+
* @param commandName - Command name (without leading slash)
|
|
34
|
+
* @param args - Raw argument strings
|
|
35
|
+
*/
|
|
36
|
+
abstract execute(player: Player, commandName: string, args: string[]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns metadata for a command if registered in this runtime.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* Used to enrich error observation (usage/description/etc.).
|
|
42
|
+
*/
|
|
43
|
+
abstract getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Returns all registered commands.
|
|
46
|
+
*/
|
|
47
|
+
abstract getAllCommands(): CommandInfo[];
|
|
48
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abstract port for command registration and execution.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port provides mode-agnostic access to the command system.
|
|
6
|
+
* Implementations:
|
|
7
|
+
* - CommandService (local): CORE/STANDALONE modes maintain command registry locally
|
|
8
|
+
* - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
|
|
9
|
+
*/
|
|
10
|
+
export class CommandExecutionPort {
|
|
11
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Player } from '../../entities';
|
|
2
|
+
import { PlayerSession } from '../../services';
|
|
3
|
+
/**
|
|
4
|
+
* Core port responsible for managing the lifecycle of player sessions.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This port defines the authoritative boundary for creating, linking, and
|
|
8
|
+
* destroying player sessions within the framework.
|
|
9
|
+
*
|
|
10
|
+
* Implementations of this port own the session state and are expected to be
|
|
11
|
+
* invoked in response to connection, authentication, and disconnection events.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class PlayerSessionLifecyclePort {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and binds a new player session to a connected client.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This method is typically called when a player joins the server or completes
|
|
19
|
+
* the initial handshake phase. The returned {@link Player} represents the
|
|
20
|
+
* runtime session associated with the client.
|
|
21
|
+
*
|
|
22
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
23
|
+
* @param identifiers - Optional platform identifiers (license, steam, etc.).
|
|
24
|
+
* @returns The newly created {@link Player} instance.
|
|
25
|
+
*/
|
|
26
|
+
abstract bind(clientID: number, identifiers?: PlayerSession['identifiers']): Player;
|
|
27
|
+
/**
|
|
28
|
+
* Terminates and removes the player session associated with a client.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* This method should be called when the client disconnects to ensure
|
|
32
|
+
* session state is properly cleaned up and memory is released.
|
|
33
|
+
*
|
|
34
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
35
|
+
*/
|
|
36
|
+
abstract unbind(clientID: number): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port responsible for managing the lifecycle of player sessions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines the authoritative boundary for creating, linking, and
|
|
6
|
+
* destroying player sessions within the framework.
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port own the session state and are expected to be
|
|
9
|
+
* invoked in response to connection, authentication, and disconnection events.
|
|
10
|
+
*/
|
|
11
|
+
export class PlayerSessionLifecyclePort {
|
|
12
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Player } from '../entities';
|
|
2
|
+
import { LinkedID } from '../services';
|
|
3
|
+
/**
|
|
4
|
+
* Core port that provides access to active player sessions.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This port defines a framework-owned boundary for querying and managing player-related data
|
|
8
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
9
|
+
*
|
|
10
|
+
* Implementations of this port are responsible for resolving player information
|
|
11
|
+
* from the authoritative source (local session store, remote core exports, etc.).
|
|
12
|
+
*
|
|
13
|
+
* Consumers should treat returned {@link Player} instances as runtime representations
|
|
14
|
+
* of connected clients, not as persistent domain models.
|
|
15
|
+
*
|
|
16
|
+
* **Mode Differences:**
|
|
17
|
+
* - **CORE/STANDALONE**: Data is local and authoritative
|
|
18
|
+
* - **RESOURCE**: Data is fetched from CORE via exports
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class Players {
|
|
21
|
+
/**
|
|
22
|
+
* Returns the {@link Player} associated with a given FiveM client ID.
|
|
23
|
+
*
|
|
24
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
25
|
+
* @returns The corresponding {@link Player} instance, or `undefined` if the player is not connected.
|
|
26
|
+
*/
|
|
27
|
+
abstract getByClient(clientID: number): Player | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Returns a group of {@link Player} associated with a given fivem clients ids
|
|
30
|
+
*
|
|
31
|
+
* @param clientIds The fivem server client ID (`source`)
|
|
32
|
+
*/
|
|
33
|
+
abstract getMany(clientIds: number[]): Player[];
|
|
34
|
+
/**
|
|
35
|
+
* Returns all currently connected players.
|
|
36
|
+
*
|
|
37
|
+
* @returns An array of {@link Player} instances representing all active clients.
|
|
38
|
+
*/
|
|
39
|
+
abstract getAll(): Player[];
|
|
40
|
+
/**
|
|
41
|
+
* Returns the persistent account identifier associated with a client.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* The returned identifier is typically assigned after authentication and may be
|
|
45
|
+
* `undefined` if the player has not completed the login or character selection flow.
|
|
46
|
+
*
|
|
47
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
48
|
+
* @returns The linked account ID, or `undefined` if none is associated.
|
|
49
|
+
*/
|
|
50
|
+
abstract getAccountLinked(clientID: number): LinkedID | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves a metadata value associated with a player session.
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Metadata values are transient and scoped to the current session.
|
|
56
|
+
* Implementations may resolve this data locally or delegate to the core runtime.
|
|
57
|
+
*
|
|
58
|
+
* @typeParam T - The expected type of the stored value.
|
|
59
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
60
|
+
* @param key - The metadata key to retrieve.
|
|
61
|
+
* @returns The stored value, or `undefined` if the key does not exist.
|
|
62
|
+
*/
|
|
63
|
+
abstract getMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
|
|
64
|
+
/**
|
|
65
|
+
* Stores a metadata value in the player session.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* Metadata is intended for transient runtime state such as flags, gameplay context,
|
|
69
|
+
* or temporary attributes. It is not persisted across reconnects.
|
|
70
|
+
*
|
|
71
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
72
|
+
* @param key - The metadata key to store.
|
|
73
|
+
* @param value - The value to associate with the given key.
|
|
74
|
+
*/
|
|
75
|
+
abstract setMeta(clientID: number, key: string, value: unknown): void;
|
|
76
|
+
/**
|
|
77
|
+
* Returns the {@link Player} associated with a persistent account ID.
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* Searches all connected players for one with the matching accountID.
|
|
81
|
+
* Returns `undefined` if no player with that account is currently online.
|
|
82
|
+
*
|
|
83
|
+
* @param accountId - The persistent account identifier.
|
|
84
|
+
* @returns The corresponding {@link Player} instance, or `undefined` if not online.
|
|
85
|
+
*/
|
|
86
|
+
abstract getByAccountId(accountId: string): Player | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Returns the current number of connected players.
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* More efficient than `getAll().length` for implementations that
|
|
92
|
+
* can provide a count without fetching all player data.
|
|
93
|
+
*
|
|
94
|
+
* @returns The number of currently connected players.
|
|
95
|
+
*/
|
|
96
|
+
abstract getPlayerCount(): number;
|
|
97
|
+
/**
|
|
98
|
+
* Checks if a player with the given account ID is currently online.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* More efficient than `getByAccountId() !== undefined` for implementations
|
|
102
|
+
* that can check presence without fetching full player data.
|
|
103
|
+
*
|
|
104
|
+
* @param accountId - The persistent account identifier.
|
|
105
|
+
* @returns `true` if the player is online, `false` otherwise.
|
|
106
|
+
*/
|
|
107
|
+
abstract isOnline(accountId: string): boolean;
|
|
108
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port that provides access to active player sessions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines a framework-owned boundary for querying and managing player-related data
|
|
6
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port are responsible for resolving player information
|
|
9
|
+
* from the authoritative source (local session store, remote core exports, etc.).
|
|
10
|
+
*
|
|
11
|
+
* Consumers should treat returned {@link Player} instances as runtime representations
|
|
12
|
+
* of connected clients, not as persistent domain models.
|
|
13
|
+
*
|
|
14
|
+
* **Mode Differences:**
|
|
15
|
+
* - **CORE/STANDALONE**: Data is local and authoritative
|
|
16
|
+
* - **RESOURCE**: Data is fetched from CORE via exports
|
|
17
|
+
*/
|
|
18
|
+
export class Players {
|
|
19
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
|
|
2
|
+
/**
|
|
3
|
+
* Feature provider source configuration.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Determines where a feature's implementation comes from:
|
|
7
|
+
*
|
|
8
|
+
* - `'core'`: Feature provided by CORE resource via exports
|
|
9
|
+
* - Used in RESOURCE mode for: players, principal, auth, commands
|
|
10
|
+
* - Triggers remote service implementations that delegate to CORE
|
|
11
|
+
*
|
|
12
|
+
* - `'local'`: Feature implemented locally in current resource
|
|
13
|
+
* - Used in CORE/STANDALONE for all features
|
|
14
|
+
* - Used in RESOURCE for: netEvents, runtimeEvents, exports, http, chat
|
|
15
|
+
* - Triggers local service implementations
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // RESOURCE mode - commands delegate to CORE
|
|
20
|
+
* commands: { enabled: true, provider: 'core' }
|
|
21
|
+
*
|
|
22
|
+
* // STANDALONE mode - commands execute locally
|
|
23
|
+
* commands: { enabled: true, provider: 'local' }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export type FeatureProvider = 'core' | 'local';
|
|
27
|
+
export type FeatureScope = 'core' | 'resource' | 'standalone';
|
|
28
|
+
export type FeatureName = 'players' | 'netEvents' | 'runtimeEvents' | 'commands' | 'exports' | 'chat' | 'principal' | 'sessionLifecycle';
|
|
29
|
+
/**
|
|
30
|
+
* User-facing feature configuration.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Most features are enabled by default and providers are auto-inferred.
|
|
34
|
+
* Use this config only if you need to explicitly disable a feature.
|
|
35
|
+
*/
|
|
36
|
+
export interface UserFeatureConfig {
|
|
37
|
+
/** Disable specific features if needed */
|
|
38
|
+
disabled?: FeatureName[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Internal feature contract with all fields resolved.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* This is used internally by the framework after merging user config with defaults.
|
|
45
|
+
* Users don't interact with this directly.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export interface FeatureContract {
|
|
50
|
+
/**
|
|
51
|
+
* Enables or disables the feature at runtime.
|
|
52
|
+
*
|
|
53
|
+
* If `required` is `true`, this must also be `true` (otherwise validation will throw).
|
|
54
|
+
*/
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Determines where the implementation comes from.
|
|
58
|
+
*
|
|
59
|
+
* - `core`: feature is provided by the core resource (via exports when applicable)
|
|
60
|
+
* - `local`: feature is implemented/handled locally by the current runtime (resource/standalone)
|
|
61
|
+
*/
|
|
62
|
+
provider: FeatureProvider;
|
|
63
|
+
/**
|
|
64
|
+
* Marks the feature as exportable via FiveM exports.
|
|
65
|
+
*
|
|
66
|
+
* Only meaningful in CORE mode. When `true`, the framework dynamically imports
|
|
67
|
+
* export controllers that expose the feature's API to RESOURCE mode.
|
|
68
|
+
*/
|
|
69
|
+
export: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* The runtime scope this feature contract is intended for.
|
|
72
|
+
*
|
|
73
|
+
* Must match the scope derived from the current FrameworkMode
|
|
74
|
+
*/
|
|
75
|
+
scope: FeatureScope;
|
|
76
|
+
/**
|
|
77
|
+
* Marks the feature as mandatory for the current runtime configuration.
|
|
78
|
+
*
|
|
79
|
+
* When `true`, the feature cannot be disabled (`enabled` must be `true`).
|
|
80
|
+
*/
|
|
81
|
+
required: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* (sessionLifecycle only) Enable automatic session recovery on resource restart.
|
|
84
|
+
*
|
|
85
|
+
* @remarks
|
|
86
|
+
* When true, scans for connected players on startup and creates sessions
|
|
87
|
+
* for any that don't have an active session.
|
|
88
|
+
*
|
|
89
|
+
* @defaultValue true
|
|
90
|
+
*/
|
|
91
|
+
recoveryOnRestart?: boolean;
|
|
92
|
+
}
|
|
93
|
+
export type FrameworkFeatures = Record<FeatureName, FeatureContract>;
|
|
94
|
+
export interface DevModeConfig {
|
|
95
|
+
/**
|
|
96
|
+
* Master switch for development mode.
|
|
97
|
+
* If false, no dev tools will be loaded.
|
|
98
|
+
*/
|
|
99
|
+
enabled: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* CLI bridge configuration for telemetry and logs.
|
|
102
|
+
* The bridge allows the OpenCore CLI to stream logs and inspect the framework state.
|
|
103
|
+
*/
|
|
104
|
+
bridge?: {
|
|
105
|
+
/** WebSocket URL of the bridge */
|
|
106
|
+
url: string;
|
|
107
|
+
/** Whether to connect automatically on startup */
|
|
108
|
+
autoConnect: boolean;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Event interceptor configuration for debugging.
|
|
112
|
+
* Captures and records incoming/outgoing network events and commands.
|
|
113
|
+
*/
|
|
114
|
+
interceptor?: {
|
|
115
|
+
/** Enable event interception */
|
|
116
|
+
enabled: boolean;
|
|
117
|
+
/** Whether to record a history of events in memory */
|
|
118
|
+
recordHistory: boolean;
|
|
119
|
+
/** Maximum number of events to keep in the history buffer */
|
|
120
|
+
maxHistorySize: number;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Player simulator configuration.
|
|
124
|
+
* Allows creating virtual players for testing logic without game clients.
|
|
125
|
+
*/
|
|
126
|
+
simulator?: {
|
|
127
|
+
/** Enable player simulation features */
|
|
128
|
+
enabled: boolean;
|
|
129
|
+
/** Number of virtual players to connect automatically on startup */
|
|
130
|
+
autoConnectPlayers: number;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export interface Hooks {
|
|
134
|
+
waitFor?: Promise<any> | Promise<any>[];
|
|
135
|
+
onReady?: () => Promise<void> | void;
|
|
136
|
+
}
|
|
137
|
+
export interface ServerRuntimeOptions {
|
|
138
|
+
mode: FrameworkMode;
|
|
139
|
+
features: FrameworkFeatures;
|
|
140
|
+
coreResourceName: string;
|
|
141
|
+
/** Development mode configuration (disabled in production) */
|
|
142
|
+
devMode?: DevModeConfig;
|
|
143
|
+
onDependency?: Hooks;
|
|
144
|
+
}
|
|
145
|
+
export type RuntimeContext = ServerRuntimeOptions;
|
|
146
|
+
export declare function setRuntimeContext(ctx: RuntimeContext): void;
|
|
147
|
+
export declare function getRuntimeContext(): RuntimeContext;
|
|
148
|
+
export declare function getFrameworkModeScope(mode: FrameworkMode): FeatureScope;
|
|
149
|
+
/**
|
|
150
|
+
* Server initialization configuration.
|
|
151
|
+
*
|
|
152
|
+
* @remarks
|
|
153
|
+
* Defines the runtime mode and feature configuration for OpenCore.
|
|
154
|
+
*
|
|
155
|
+
* @example Minimal Mode
|
|
156
|
+
* ```typescript
|
|
157
|
+
* Server.init({
|
|
158
|
+
* mode: 'CORE'
|
|
159
|
+
* })
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export interface ServerInitOptions {
|
|
163
|
+
/** Runtime mode determining feature availability and provider sources */
|
|
164
|
+
mode: FrameworkMode;
|
|
165
|
+
/**
|
|
166
|
+
* Feature configuration.
|
|
167
|
+
*
|
|
168
|
+
* @remarks
|
|
169
|
+
* Most features are enabled by default. Use this only to disable specific ones.
|
|
170
|
+
*/
|
|
171
|
+
features?: UserFeatureConfig;
|
|
172
|
+
/**
|
|
173
|
+
* Name of the CORE resource.
|
|
174
|
+
*
|
|
175
|
+
* @remarks
|
|
176
|
+
* - **Required in RESOURCE mode** (to locate CORE exports)
|
|
177
|
+
* - Optional in CORE/STANDALONE modes
|
|
178
|
+
*
|
|
179
|
+
* @defaultValue 'core'
|
|
180
|
+
*/
|
|
181
|
+
coreResourceName?: string;
|
|
182
|
+
/** Development mode configuration (disabled in production) */
|
|
183
|
+
devMode?: DevModeConfig;
|
|
184
|
+
/** If you want to wait for a dependency promise, or when ready do something (By default, the core server will emit a "ready" when it is ready to all resources.) */
|
|
185
|
+
onDependency?: Hooks;
|
|
186
|
+
}
|
|
187
|
+
export declare function resolveRuntimeOptions(options: ServerInitOptions): ServerRuntimeOptions;
|
|
188
|
+
export declare function validateRuntimeOptions(options: ServerRuntimeOptions): void;
|
|
189
|
+
/**
|
|
190
|
+
* @deprecated Use validateRuntimeOptions instead
|
|
191
|
+
*/
|
|
192
|
+
export declare const validateRuntimeContextOrThrow: typeof validateRuntimeOptions;
|