@open-core/framework 0.1.0-alpha.1 → 0.2.1-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/README.md +217 -360
- package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
- package/dist/adapters/contracts/IEngineEvents.js +6 -0
- package/dist/adapters/contracts/IEntityServer.d.ts +88 -0
- package/dist/adapters/contracts/IEntityServer.js +13 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +6 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +12 -0
- package/dist/adapters/contracts/INetTransport.d.ts +8 -0
- package/dist/adapters/contracts/INetTransport.js +6 -0
- package/dist/adapters/contracts/IPedAppearanceClient.d.ts +206 -0
- package/dist/adapters/contracts/IPedAppearanceClient.js +16 -0
- package/dist/adapters/contracts/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/IPedAppearanceServer.js +16 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +6 -0
- package/dist/adapters/contracts/IPlayerServer.d.ts +73 -0
- package/dist/adapters/contracts/IPlayerServer.js +13 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +3 -0
- package/dist/adapters/contracts/IResourceInfo.js +6 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +9 -0
- package/dist/adapters/contracts/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/IVehicleServer.js +13 -0
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.d.ts +2 -2
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.js +2 -2
- package/dist/adapters/database/resource.adapter.d.ts +12 -0
- package/dist/adapters/database/resource.adapter.js +68 -0
- package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
- package/dist/adapters/fivem/fivem-engine-events.js +13 -0
- package/dist/adapters/fivem/fivem-entity-server.d.ts +22 -0
- package/dist/adapters/fivem/fivem-entity-server.js +80 -0
- package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
- package/dist/adapters/fivem/fivem-exports.js +14 -0
- package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
- package/dist/adapters/fivem/fivem-hasher.js +23 -0
- package/dist/adapters/fivem/fivem-net-transport.d.ts +5 -0
- package/dist/adapters/fivem/fivem-net-transport.js +24 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +84 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +26 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-player-server.js +63 -0
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
- package/dist/adapters/fivem/fivem-playerinfo.js +14 -0
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +4 -0
- package/dist/adapters/fivem/fivem-resourceinfo.js +16 -0
- package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
- package/dist/adapters/fivem/fivem-tick.js +22 -0
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-vehicle-server.js +47 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.js +40 -0
- package/dist/adapters/node/index.d.ts +8 -0
- package/dist/adapters/node/index.js +19 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +42 -0
- package/dist/adapters/node/node-entity-server.d.ts +26 -0
- package/dist/adapters/node/node-entity-server.js +101 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +63 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +39 -0
- package/dist/adapters/node/node-net-transport.d.ts +18 -0
- package/dist/adapters/node/node-net-transport.js +57 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +59 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +18 -0
- package/dist/adapters/node/node-player-server.d.ts +27 -0
- package/dist/adapters/node/node-player-server.js +82 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +12 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +12 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/{server/system/processors/command.processor.js → adapters/node/node-tick.js} +27 -14
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +93 -0
- package/dist/adapters/register-capabilities.d.ts +11 -0
- package/dist/adapters/register-capabilities.js +148 -0
- package/dist/adapters/register-client-capabilities.d.ts +8 -0
- package/dist/adapters/register-client-capabilities.js +56 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +9 -5
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +20 -0
- package/dist/{system → kernel/di}/metadata.scanner.d.ts +1 -2
- package/dist/kernel/di/tokens.d.ts +30 -0
- package/dist/kernel/di/tokens.js +38 -0
- package/dist/kernel/index.d.ts +7 -0
- package/dist/kernel/index.js +30 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +5 -0
- package/dist/kernel/shared/appearance/appearance.interface.d.ts +276 -0
- package/dist/kernel/shared/appearance/appearance.interface.js +77 -0
- package/dist/kernel/shared/appearance/index.d.ts +1 -0
- package/dist/kernel/shared/appearance/index.js +17 -0
- package/dist/kernel/shared/index.d.ts +2 -0
- package/dist/{shared → kernel/shared}/index.js +1 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.d.ts +13 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.js +38 -9
- package/dist/{shared → kernel/shared}/logger/index.d.ts +12 -9
- package/dist/{shared → kernel/shared}/logger/index.js +24 -15
- package/dist/{shared → kernel/shared}/logger/logger.config.d.ts +1 -1
- package/dist/kernel/shared/logger/logger.env.d.ts +28 -0
- package/dist/kernel/shared/logger/logger.env.js +51 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.js +1 -1
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.js +1 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.js +111 -0
- package/dist/kernel/shared/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/shared/logger/transports/http.transport.js +170 -0
- package/dist/kernel/shared/logger/transports/index.d.ts +7 -0
- package/dist/kernel/shared/logger/transports/index.js +34 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.js +93 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.d.ts +1 -1
- package/dist/kernel/shared/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/shared/logger/transports/websocket.transport.js +169 -0
- package/dist/kernel/utils/error/app.error.d.ts +9 -0
- package/dist/{utils/errors.js → kernel/utils/error/app.error.js} +1 -9
- package/dist/kernel/utils/error/security.error.d.ts +6 -0
- package/dist/kernel/utils/error/security.error.js +12 -0
- package/dist/{utils → kernel/utils}/index.d.ts +3 -2
- package/dist/{utils → kernel/utils}/index.js +3 -2
- package/dist/{utils → kernel/utils}/result.d.ts +1 -1
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +180 -0
- package/dist/runtime/client/client-core.d.ts +19 -0
- package/dist/runtime/client/client-core.js +24 -0
- package/dist/runtime/client/client-runtime.d.ts +58 -0
- package/dist/runtime/client/client-runtime.js +32 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
- package/dist/runtime/client/controllers/appearance.controller.js +50 -0
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
- package/dist/runtime/client/controllers/player-sync.controller.js +54 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +55 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +29 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.d.ts +2 -2
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +31 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +31 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +29 -0
- package/dist/runtime/client/decorators/nui.d.ts +21 -0
- package/dist/runtime/client/decorators/nui.js +29 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +29 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +53 -0
- package/dist/runtime/client/decorators/tick.d.ts +21 -0
- package/dist/runtime/client/decorators/tick.js +29 -0
- package/dist/{client → runtime/client}/index.d.ts +2 -2
- package/dist/{client → runtime/client}/index.js +4 -2
- package/dist/runtime/client/interfaces/appearance.interface.d.ts +25 -0
- package/dist/runtime/client/interfaces/appearance.interface.js +2 -0
- package/dist/{client → runtime/client}/player/player.d.ts +1 -1
- package/dist/{client → runtime/client}/player/player.js +5 -6
- package/dist/{client → runtime/client}/player/player.loader.js +2 -2
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +328 -0
- package/dist/{client → runtime/client}/services/blip.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/index.d.ts +6 -5
- package/dist/{client → runtime/client}/services/index.js +6 -5
- package/dist/{client → runtime/client}/services/marker.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.js +3 -2
- package/dist/{client → runtime/client}/services/spawn.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/spawn.service.js +4 -8
- package/dist/{client → runtime/client}/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
- package/dist/runtime/client/services/vehicle-client.service.js +485 -0
- package/dist/{client → runtime/client}/services/vehicle.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/vehicle.service.js +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.js +2 -2
- package/dist/{client → runtime/client}/system/processors/interval.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/interval.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/key.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.js +1 -1
- package/dist/{client → runtime/client}/types/game-events.js +0 -8
- package/dist/{client → runtime/client}/ui-bridge.js +1 -1
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +39 -0
- package/dist/{server → runtime/server}/bootstrap.d.ts +2 -1
- package/dist/runtime/server/bootstrap.js +234 -0
- package/dist/runtime/server/bootstrap.validation.d.ts +12 -0
- package/dist/runtime/server/bootstrap.validation.js +102 -0
- package/dist/runtime/server/bus/core-event-bus.d.ts +6 -0
- package/dist/{server → runtime/server}/bus/core-event-bus.js +5 -5
- package/dist/{server → runtime/server}/configs/api.config.d.ts +1 -1
- package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.d.ts +2 -2
- package/dist/runtime/server/contracts/index.d.ts +7 -0
- package/dist/{server/templates → runtime/server/contracts}/index.js +8 -4
- package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.d.ts +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/index.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/index.js +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.js +0 -1
- 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 +6 -0
- package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.d.ts +3 -3
- package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/chat.controller.js +23 -11
- package/dist/runtime/server/controllers/command-export.controller.d.ts +74 -0
- package/dist/runtime/server/controllers/command-export.controller.js +260 -0
- package/dist/runtime/server/controllers/command.controller.d.ts +15 -0
- package/dist/runtime/server/controllers/command.controller.js +100 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +29 -0
- package/dist/runtime/server/controllers/player-export.controller.js +173 -0
- package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +296 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +43 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +104 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/session.controller.js +15 -12
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +55 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +216 -0
- package/dist/runtime/server/core.d.ts +3 -0
- package/dist/runtime/server/core.js +11 -0
- package/dist/runtime/server/database/adapter.registry.d.ts +4 -0
- package/dist/runtime/server/database/adapter.registry.js +14 -0
- package/dist/{server → runtime/server}/database/database.contract.d.ts +1 -1
- package/dist/{server → runtime/server}/database/database.service.d.ts +3 -31
- package/dist/{server → runtime/server}/database/database.service.js +36 -50
- package/dist/runtime/server/database/index.d.ts +5 -0
- package/dist/runtime/server/database/index.js +25 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +31 -0
- package/dist/runtime/server/decorators/command.d.ts +81 -0
- package/dist/runtime/server/decorators/command.js +32 -0
- package/dist/{server → runtime/server}/decorators/controller.d.ts +4 -3
- package/dist/runtime/server/decorators/controller.js +61 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +32 -0
- package/dist/runtime/server/decorators/guard.d.ts +49 -0
- package/dist/{server → runtime/server}/decorators/guard.js +33 -32
- package/dist/{server → runtime/server}/decorators/index.d.ts +7 -4
- package/dist/{server → runtime/server}/decorators/index.js +8 -5
- package/dist/runtime/server/decorators/onFiveMEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFiveMEvent.js +32 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +22 -0
- package/dist/{server → runtime/server}/decorators/onFrameworkEvent.js +9 -9
- package/dist/runtime/server/decorators/onNet.d.ts +62 -0
- package/dist/runtime/server/decorators/onNet.js +15 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +29 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/{server → runtime/server}/decorators/public.js +15 -16
- package/dist/{server → runtime/server}/decorators/requiresState.d.ts +29 -22
- package/dist/runtime/server/decorators/requiresState.js +73 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/{server → runtime/server}/decorators/throttle.js +31 -19
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +60 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +11 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +9 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +110 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +324 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +232 -0
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +74 -0
- package/dist/runtime/server/devmode/hot-reload.server.js +261 -0
- package/dist/runtime/server/devmode/index.d.ts +8 -0
- package/dist/runtime/server/devmode/index.js +32 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +202 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +183 -0
- package/dist/runtime/server/devmode/types.d.ts +161 -0
- package/dist/runtime/server/devmode/types.js +28 -0
- package/dist/runtime/server/entities/index.d.ts +2 -0
- package/dist/{server → runtime/server}/entities/index.js +1 -0
- package/dist/{server → runtime/server}/entities/player.d.ts +70 -3
- package/dist/{server → runtime/server}/entities/player.js +92 -14
- package/dist/runtime/server/entities/vehicle.d.ts +160 -0
- package/dist/runtime/server/entities/vehicle.js +261 -0
- package/dist/{server → runtime/server}/error-handler.d.ts +1 -1
- package/dist/{server → runtime/server}/error-handler.js +7 -8
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +6 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +72 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -0
- package/dist/{server → runtime/server}/helpers/resolve-method.d.ts +1 -1
- package/dist/runtime/server/helpers/resolve-method.js +28 -0
- package/dist/{server → runtime/server}/index.d.ts +8 -6
- package/dist/{server → runtime/server}/index.js +14 -10
- package/dist/runtime/server/runtime.d.ts +408 -0
- package/dist/runtime/server/runtime.js +234 -0
- package/dist/runtime/server/services/access-control.service.d.ts +59 -0
- package/dist/runtime/server/services/access-control.service.js +127 -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/chat.service.d.ts +33 -0
- package/dist/{server → runtime/server}/services/chat.service.js +26 -0
- package/dist/{server → runtime/server}/services/config.service.js +1 -1
- package/dist/runtime/server/services/core/command.service.d.ts +49 -0
- package/dist/runtime/server/services/core/command.service.js +112 -0
- package/dist/{server/services → runtime/server/services/core}/player.service.d.ts +48 -22
- package/dist/{server/services → runtime/server/services/core}/player.service.js +98 -14
- package/dist/runtime/server/services/core/principal.service.d.ts +28 -0
- package/dist/runtime/server/services/core/principal.service.js +126 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.d.ts +104 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.js +330 -0
- package/dist/runtime/server/services/core/vehicle.service.d.ts +128 -0
- package/dist/runtime/server/services/core/vehicle.service.js +391 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.js +28 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +19 -0
- package/dist/{server → runtime/server}/services/default/default-security.handler.js +15 -2
- package/dist/{server → runtime/server}/services/http/http.service.js +5 -5
- package/dist/runtime/server/services/index.d.ts +16 -0
- package/dist/runtime/server/services/index.js +39 -0
- package/dist/{server → runtime/server}/services/parallel/index.d.ts +2 -4
- package/dist/{server → runtime/server}/services/parallel/index.js +13 -15
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.js +2 -1
- package/dist/{server → runtime/server}/services/parallel/worker-pool.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/worker.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.js +13 -9
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +41 -0
- package/dist/runtime/server/services/ports/command-execution.port.js +15 -0
- package/dist/runtime/server/services/ports/player-directory.port.d.ts +107 -0
- package/dist/runtime/server/services/ports/player-directory.port.js +23 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.d.ts +49 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.js +16 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +149 -0
- package/dist/runtime/server/services/ports/principal.port.js +32 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/{server → runtime/server}/services/rate-limiter.service.js +18 -0
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +63 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +139 -0
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +62 -0
- package/dist/runtime/server/services/remote/remote-player.service.js +191 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.d.ts +55 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.js +130 -0
- package/dist/runtime/server/services/remote/remote-principal.service.d.ts +33 -0
- package/dist/runtime/server/services/remote/remote-principal.service.js +99 -0
- package/dist/runtime/server/services/remote/server-bridge.d.ts +34 -0
- package/dist/runtime/server/services/remote/server-bridge.js +94 -0
- package/dist/runtime/server/services/services.register.d.ts +14 -0
- package/dist/runtime/server/services/services.register.js +98 -0
- package/dist/runtime/server/services/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/services/types/player-session.object.d.ts +11 -0
- package/dist/runtime/server/services/vehicle-modification.service.d.ts +94 -0
- package/dist/runtime/server/services/vehicle-modification.service.js +310 -0
- package/dist/runtime/server/services/vehicle.service.d.ts +138 -0
- package/dist/runtime/server/services/vehicle.service.js +361 -0
- package/dist/runtime/server/setup.d.ts +10 -0
- package/dist/runtime/server/setup.js +33 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.d.ts +2 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.js +2 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +54 -0
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.d.ts +1 -1
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.js +3 -3
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/export.processor.js +15 -5
- package/dist/runtime/server/system/processors/fivemEvent.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/fivemEvent.processor.js +15 -5
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +240 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/{server → runtime/server}/system/processors/tick.processor.js +14 -4
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +37 -0
- package/dist/{server → runtime/server}/system/schema-generator.d.ts +1 -1
- package/dist/{server → runtime/server}/system/schema-generator.js +17 -8
- package/dist/{server/templates/admin → runtime/server/templates}/admin.controller-template.d.ts +1 -1
- package/dist/runtime/server/templates/index.d.ts +1 -0
- package/dist/runtime/server/templates/index.js +17 -0
- package/dist/runtime/server/types/core-exports.d.ts +285 -0
- package/dist/runtime/server/types/core-exports.js +2 -0
- package/dist/runtime/server/types/index.d.ts +4 -0
- package/dist/runtime/server/types/index.js +20 -0
- package/dist/runtime/server/types/security.types.js +2 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +2 -0
- package/package.json +98 -98
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- 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/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/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/services/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- 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/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- 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.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/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/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/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- 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/helpers/resolve-method.js +0 -18
- package/dist/server/loaders/exports.loader.d.ts +0 -0
- 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/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- 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/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- 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.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/utils/errors.d.ts +0 -14
- package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- package/dist/{system → kernel/di}/class-constructor.js +0 -0
- package/dist/{server → kernel/di}/container.d.ts +0 -0
- package/dist/{server → kernel/di}/container.js +0 -0
- package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- package/dist/{system → kernel/di}/decorator-processor.js +0 -0
- package/dist/{system → kernel/di}/metadata.scanner.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.config.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.d.ts +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.js +0 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.js +0 -0
- package/dist/{utils → kernel/utils}/result.js +0 -0
- package/dist/{utils → kernel/utils}/rgb.d.ts +0 -0
- package/dist/{utils → kernel/utils}/rgb.js +0 -0
- package/dist/{utils → kernel/utils}/vector3.d.ts +0 -0
- package/dist/{utils → kernel/utils}/vector3.js +0 -0
- package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- package/dist/{client → runtime/client}/client-container.js +0 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.js +0 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.js +0 -0
- package/dist/{client → runtime/client}/decorators/index.d.ts +5 -5
- package/dist/{client → runtime/client}/decorators/index.js +5 -5
- package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
- package/dist/{client → runtime/client}/services/blip.service.js +0 -0
- package/dist/{client → runtime/client}/services/marker.service.js +0 -0
- package/dist/{client → runtime/client}/services/notification.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/notification.service.js +0 -0
- package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/progress.service.js +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.js +0 -0
- package/dist/{client → runtime/client}/services/textui.service.js +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.d.ts +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.js +0 -0
- package/dist/{client → runtime/client}/system/processors/key.processor.js +0 -0
- package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
- package/dist/{client → runtime/client}/system/processors.register.js +6 -6
- /package/dist/{client → runtime/client}/types/game-events.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.js +0 -0
- /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/api.config.js +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.js +0 -0
- /package/dist/{server → runtime/server}/configs/index.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/index.js +0 -0
- /package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.js +0 -0
- /package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/database.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/database/types.js +0 -0
- /package/dist/{server → runtime/server}/database.d.ts +0 -0
- /package/dist/{server → runtime/server}/database.js +0 -0
- /package/dist/{server → runtime/server}/services/config.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/http/http.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker-pool.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker.js +0 -0
- /package/dist/{client/interfaces/appearance.interface.js → runtime/server/services/types/linked-id.js} +0 -0
- /package/dist/{server/templates/admin/admin.controller-template.js → runtime/server/services/types/player-session.object.js} +0 -0
- /package/dist/{server/types/core-events.js → runtime/server/templates/admin.controller-template.js} +0 -0
- /package/dist/{server → runtime/server}/types/core-events.d.ts +0 -0
- /package/dist/{server/types/security.types.js → runtime/server/types/core-events.js} +0 -0
- /package/dist/{server → runtime/server}/types/security.types.d.ts +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RemotePrincipalService = void 0;
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
17
|
+
const adapters_1 = require("../../../../adapters");
|
|
18
|
+
const runtime_1 = require("../../runtime");
|
|
19
|
+
const principal_port_1 = require("../ports/principal.port");
|
|
20
|
+
/**
|
|
21
|
+
* Principal service implementation for `RESOURCE` mode.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* This service delegates all principal/permission operations to CORE via exports.
|
|
25
|
+
* It provides the full PrincipalPort interface for RESOURCE mode, allowing
|
|
26
|
+
* transparent usage regardless of whether running in CORE or RESOURCE mode.
|
|
27
|
+
*/
|
|
28
|
+
let RemotePrincipalService = class RemotePrincipalService extends principal_port_1.PrincipalPort {
|
|
29
|
+
constructor(exportsService) {
|
|
30
|
+
super();
|
|
31
|
+
this.exportsService = exportsService;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Gets typed access to CORE resource exports.
|
|
35
|
+
*/
|
|
36
|
+
get core() {
|
|
37
|
+
const { coreResourceName } = (0, runtime_1.getRuntimeContext)();
|
|
38
|
+
const coreExports = this.exportsService.getResource(coreResourceName);
|
|
39
|
+
if (!coreExports) {
|
|
40
|
+
throw new Error(`[OpenCore] CORE resource '${coreResourceName}' exports not found. ` +
|
|
41
|
+
`Ensure the CORE resource is started BEFORE RESOURCE mode resources.`);
|
|
42
|
+
}
|
|
43
|
+
return coreExports;
|
|
44
|
+
}
|
|
45
|
+
// ═══════════════════════════════════════════════════════════════
|
|
46
|
+
// Principal Queries
|
|
47
|
+
// ═══════════════════════════════════════════════════════════════
|
|
48
|
+
async getPrincipal(player) {
|
|
49
|
+
return await this.core.getPrincipal(player.clientID);
|
|
50
|
+
}
|
|
51
|
+
async getPrincipalByAccountId(accountId) {
|
|
52
|
+
return await this.core.getPrincipalByAccountId(accountId);
|
|
53
|
+
}
|
|
54
|
+
async refreshPrincipal(player) {
|
|
55
|
+
await this.core.refreshPrincipal(player.clientID);
|
|
56
|
+
}
|
|
57
|
+
// ═══════════════════════════════════════════════════════════════
|
|
58
|
+
// Quick Authorization Checks
|
|
59
|
+
// ═══════════════════════════════════════════════════════════════
|
|
60
|
+
async hasPermission(player, permission) {
|
|
61
|
+
return await this.core.hasPermission(player.clientID, permission);
|
|
62
|
+
}
|
|
63
|
+
async hasRank(player, requiredRank) {
|
|
64
|
+
return await this.core.hasRank(player.clientID, requiredRank);
|
|
65
|
+
}
|
|
66
|
+
async hasAnyPermission(player, permissions) {
|
|
67
|
+
return await this.core.hasAnyPermission(player.clientID, permissions);
|
|
68
|
+
}
|
|
69
|
+
async hasAllPermissions(player, permissions) {
|
|
70
|
+
return await this.core.hasAllPermissions(player.clientID, permissions);
|
|
71
|
+
}
|
|
72
|
+
// ═══════════════════════════════════════════════════════════════
|
|
73
|
+
// Property Getters
|
|
74
|
+
// ═══════════════════════════════════════════════════════════════
|
|
75
|
+
async getPermissions(player) {
|
|
76
|
+
return await this.core.getPermissions(player.clientID);
|
|
77
|
+
}
|
|
78
|
+
async getRank(player) {
|
|
79
|
+
return await this.core.getRank(player.clientID);
|
|
80
|
+
}
|
|
81
|
+
async getPrincipalName(player) {
|
|
82
|
+
return await this.core.getPrincipalName(player.clientID);
|
|
83
|
+
}
|
|
84
|
+
async getPrincipalMeta(player, key) {
|
|
85
|
+
return await this.core.getPrincipalMeta(player.clientID, key);
|
|
86
|
+
}
|
|
87
|
+
// ═══════════════════════════════════════════════════════════════
|
|
88
|
+
// Access Control Enforcement
|
|
89
|
+
// ═══════════════════════════════════════════════════════════════
|
|
90
|
+
async enforce(player, requirements) {
|
|
91
|
+
await this.core.enforce(player.clientID, requirements);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
exports.RemotePrincipalService = RemotePrincipalService;
|
|
95
|
+
exports.RemotePrincipalService = RemotePrincipalService = __decorate([
|
|
96
|
+
(0, tsyringe_1.injectable)(),
|
|
97
|
+
__param(0, (0, tsyringe_1.inject)(adapters_1.IExports)),
|
|
98
|
+
__metadata("design:paramtypes", [adapters_1.IExports])
|
|
99
|
+
], RemotePrincipalService);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server bridge provides a unified interface to interact with player data
|
|
3
|
+
* regardless of whether the code is running in CORE mode or not.
|
|
4
|
+
* It automatically routes calls to the appropriate implementation.
|
|
5
|
+
*/
|
|
6
|
+
export declare const serverBridge: {
|
|
7
|
+
/**
|
|
8
|
+
* Gets the player ID for a given client ID
|
|
9
|
+
* @param clientID - The client ID to look up
|
|
10
|
+
* @returns The player ID if found, null otherwise
|
|
11
|
+
*/
|
|
12
|
+
getPlayerId(clientID: number): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves metadata for a player
|
|
15
|
+
* @template T - The expected type of the metadata value
|
|
16
|
+
* @param clientID - The client ID of the player
|
|
17
|
+
* @param key - The metadata key to retrieve
|
|
18
|
+
* @returns A promise that resolves with the metadata value, or undefined if not found
|
|
19
|
+
*/
|
|
20
|
+
getPlayerMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Sets metadata for a player
|
|
23
|
+
* @param clientID - The client ID of the player
|
|
24
|
+
* @param key - The metadata key to set
|
|
25
|
+
* @param value - The value to store
|
|
26
|
+
*/
|
|
27
|
+
setPlayerMeta(clientID: number, key: string, value: unknown): void;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the principal (user identity) for a client
|
|
30
|
+
* @param clientID - The client ID to look up
|
|
31
|
+
* @returns A promise that resolves with the principal object, or null if not found
|
|
32
|
+
*/
|
|
33
|
+
getPrincipal(clientID: number): Promise<any>;
|
|
34
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serverBridge = void 0;
|
|
4
|
+
const container_1 = require("../../../../kernel/di/container");
|
|
5
|
+
const contracts_1 = require("../../contracts");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
const runtime_1 = require("../../runtime");
|
|
8
|
+
const player_directory_port_1 = require("../ports/player-directory.port");
|
|
9
|
+
/**
|
|
10
|
+
* Server bridge provides a unified interface to interact with player data
|
|
11
|
+
* regardless of whether the code is running in CORE mode or not.
|
|
12
|
+
* It automatically routes calls to the appropriate implementation.
|
|
13
|
+
*/
|
|
14
|
+
exports.serverBridge = {
|
|
15
|
+
/**
|
|
16
|
+
* Gets the player ID for a given client ID
|
|
17
|
+
* @param clientID - The client ID to look up
|
|
18
|
+
* @returns The player ID if found, null otherwise
|
|
19
|
+
*/
|
|
20
|
+
getPlayerId(clientID) {
|
|
21
|
+
if (core_1._mode !== 'RESOURCE') {
|
|
22
|
+
return getPlayerService().getPlayerId(clientID);
|
|
23
|
+
}
|
|
24
|
+
return getCoreExports().getPlayerId(clientID);
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves metadata for a player
|
|
28
|
+
* @template T - The expected type of the metadata value
|
|
29
|
+
* @param clientID - The client ID of the player
|
|
30
|
+
* @param key - The metadata key to retrieve
|
|
31
|
+
* @returns A promise that resolves with the metadata value, or undefined if not found
|
|
32
|
+
*/
|
|
33
|
+
async getPlayerMeta(clientID, key) {
|
|
34
|
+
if (core_1._mode !== 'RESOURCE') {
|
|
35
|
+
return getPlayerService().getMeta(clientID, key);
|
|
36
|
+
}
|
|
37
|
+
return getCoreExports().getPlayerMeta(clientID, key);
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Sets metadata for a player
|
|
41
|
+
* @param clientID - The client ID of the player
|
|
42
|
+
* @param key - The metadata key to set
|
|
43
|
+
* @param value - The value to store
|
|
44
|
+
*/
|
|
45
|
+
setPlayerMeta(clientID, key, value) {
|
|
46
|
+
if (core_1._mode !== 'RESOURCE') {
|
|
47
|
+
getPlayerService().setMeta(clientID, key, value);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
getCoreExports().setPlayerMeta(clientID, key, value);
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Gets the principal (user identity) for a client
|
|
54
|
+
* @param clientID - The client ID to look up
|
|
55
|
+
* @returns A promise that resolves with the principal object, or null if not found
|
|
56
|
+
*/
|
|
57
|
+
async getPrincipal(clientID) {
|
|
58
|
+
if (core_1._mode !== 'RESOURCE') {
|
|
59
|
+
const player = getPlayerService().getByClient(clientID);
|
|
60
|
+
if (!player)
|
|
61
|
+
return null;
|
|
62
|
+
return getPrincipalProvider().getPrincipal(player);
|
|
63
|
+
}
|
|
64
|
+
return getCoreExports().getPrincipal(clientID);
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Gets the core exports interface from the global scope
|
|
69
|
+
* @returns The CoreExports interface implementation
|
|
70
|
+
* @throws Error if core exports are not available
|
|
71
|
+
*/
|
|
72
|
+
function getCoreExports() {
|
|
73
|
+
var _a;
|
|
74
|
+
const { coreResourceName } = (0, runtime_1.getRuntimeContext)();
|
|
75
|
+
const core = (_a = globalThis.exports) === null || _a === void 0 ? void 0 : _a[coreResourceName];
|
|
76
|
+
if (!core) {
|
|
77
|
+
throw new Error(`[OpenCore] Core exports are unavailable for resource '${coreResourceName}'. Is the core resource loaded?`);
|
|
78
|
+
}
|
|
79
|
+
return core;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Gets the player service from the dependency injection container
|
|
83
|
+
* @returns An instance of PlayerServiceContract
|
|
84
|
+
*/
|
|
85
|
+
function getPlayerService() {
|
|
86
|
+
return container_1.di.resolve(player_directory_port_1.PlayerDirectoryPort);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets the principal provider from the dependency injection container
|
|
90
|
+
* @returns An instance of PrincipalProviderContract
|
|
91
|
+
*/
|
|
92
|
+
function getPrincipalProvider() {
|
|
93
|
+
return container_1.di.resolve(contracts_1.PrincipalProviderContract);
|
|
94
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RuntimeContext } from '../runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Registers server runtime services in the dependency injection container.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* This function enforces feature gating based on the runtime mode:
|
|
7
|
+
* - In `RESOURCE` mode, some features require explicit grants (`resourceGrants`).
|
|
8
|
+
* - Service bindings may resolve to local implementations (CORE mode) or remote proxies.
|
|
9
|
+
*
|
|
10
|
+
* @param ctx - Runtime context containing mode, feature flags, and optional resource grants.
|
|
11
|
+
*
|
|
12
|
+
* @throws Error - If a forbidden feature is enabled in `RESOURCE` mode without the corresponding grant.
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerServicesServer(ctx: RuntimeContext): void;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerServicesServer = registerServicesServer;
|
|
4
|
+
const index_1 = require("../../../kernel/di/index");
|
|
5
|
+
const database_1 = require("../database");
|
|
6
|
+
const chat_service_1 = require("./chat.service");
|
|
7
|
+
const command_service_1 = require("./core/command.service");
|
|
8
|
+
const player_service_1 = require("./core/player.service");
|
|
9
|
+
const principal_service_1 = require("./core/principal.service");
|
|
10
|
+
const http_service_1 = require("./http/http.service");
|
|
11
|
+
const persistence_service_1 = require("./persistence.service");
|
|
12
|
+
const player_session_lifecycle_port_1 = require("./ports/player-session-lifecycle.port");
|
|
13
|
+
const player_directory_port_1 = require("./ports/player-directory.port");
|
|
14
|
+
const principal_port_1 = require("./ports/principal.port");
|
|
15
|
+
const remote_command_service_1 = require("./remote/remote-command.service");
|
|
16
|
+
const remote_player_service_1 = require("./remote/remote-player.service");
|
|
17
|
+
const remote_principal_service_1 = require("./remote/remote-principal.service");
|
|
18
|
+
const command_execution_port_1 = require("./ports/command-execution.port");
|
|
19
|
+
/**
|
|
20
|
+
* Registers server runtime services in the dependency injection container.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* This function enforces feature gating based on the runtime mode:
|
|
24
|
+
* - In `RESOURCE` mode, some features require explicit grants (`resourceGrants`).
|
|
25
|
+
* - Service bindings may resolve to local implementations (CORE mode) or remote proxies.
|
|
26
|
+
*
|
|
27
|
+
* @param ctx - Runtime context containing mode, feature flags, and optional resource grants.
|
|
28
|
+
*
|
|
29
|
+
* @throws Error - If a forbidden feature is enabled in `RESOURCE` mode without the corresponding grant.
|
|
30
|
+
*/
|
|
31
|
+
function registerServicesServer(ctx) {
|
|
32
|
+
const { mode, features, resourceGrants } = ctx;
|
|
33
|
+
if (mode === 'RESOURCE') {
|
|
34
|
+
if (features.database.enabled && !(resourceGrants === null || resourceGrants === void 0 ? void 0 : resourceGrants.database)) {
|
|
35
|
+
throw new Error(`[OpenCore] Feature 'database' is forbidden in RESOURCE mode unless resourceGrants.database=true`);
|
|
36
|
+
}
|
|
37
|
+
if (features.principal.enabled && !(resourceGrants === null || resourceGrants === void 0 ? void 0 : resourceGrants.principal)) {
|
|
38
|
+
throw new Error(`[OpenCore] Feature 'principal' is forbidden in RESOURCE mode unless resourceGrants.principal=true`);
|
|
39
|
+
}
|
|
40
|
+
if (features.auth.enabled && !(resourceGrants === null || resourceGrants === void 0 ? void 0 : resourceGrants.auth)) {
|
|
41
|
+
throw new Error(`[OpenCore] Feature 'auth' is forbidden in RESOURCE mode unless resourceGrants.auth=true`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (features.players.enabled) {
|
|
45
|
+
if (features.players.provider === 'local' || mode === 'CORE') {
|
|
46
|
+
index_1.di.registerSingleton(player_service_1.PlayerService);
|
|
47
|
+
index_1.di.register(player_directory_port_1.PlayerDirectoryPort, { useToken: player_service_1.PlayerService });
|
|
48
|
+
index_1.di.register(player_session_lifecycle_port_1.PlayerSessionLifecyclePort, { useToken: player_service_1.PlayerService });
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
index_1.di.registerSingleton(player_directory_port_1.PlayerDirectoryPort, remote_player_service_1.RemotePlayerService);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (mode === 'RESOURCE' && features.players.enabled) {
|
|
55
|
+
index_1.di.register(player_session_lifecycle_port_1.PlayerSessionLifecyclePort, {
|
|
56
|
+
useFactory: () => {
|
|
57
|
+
throw new Error('[OpenCore] PlayerSessionLifecyclePort is not available in RESOURCE mode');
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (features.sessionLifecycle.enabled && mode !== 'RESOURCE') {
|
|
62
|
+
index_1.di.registerSingleton(persistence_service_1.PlayerPersistenceService, persistence_service_1.PlayerPersistenceService);
|
|
63
|
+
}
|
|
64
|
+
if (features.principal.enabled) {
|
|
65
|
+
if (features.principal.provider === 'local' || mode === 'CORE' || mode === 'STANDALONE') {
|
|
66
|
+
// CORE/STANDALONE: Local principal service wraps user's PrincipalProviderContract
|
|
67
|
+
index_1.di.registerSingleton(principal_service_1.LocalPrincipalService);
|
|
68
|
+
index_1.di.register(principal_port_1.PrincipalPort, { useToken: principal_service_1.LocalPrincipalService });
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// RESOURCE: Remote principal service delegates to CORE
|
|
72
|
+
index_1.di.registerSingleton(principal_port_1.PrincipalPort, remote_principal_service_1.RemotePrincipalService);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (features.auth.enabled && features.auth.provider === 'core' && mode === 'RESOURCE') {
|
|
76
|
+
throw new Error("[OpenCore] Feature 'auth' with provider='core' in RESOURCE mode is not implemented yet (missing RemoteAuthProvider).");
|
|
77
|
+
}
|
|
78
|
+
if (features.database.enabled) {
|
|
79
|
+
index_1.di.registerSingleton(database_1.DatabaseService);
|
|
80
|
+
}
|
|
81
|
+
if (features.commands.enabled) {
|
|
82
|
+
if (features.commands.provider === 'local' || mode === 'CORE') {
|
|
83
|
+
// CORE/STANDALONE: local command execution
|
|
84
|
+
index_1.di.registerSingleton(command_service_1.CommandService);
|
|
85
|
+
index_1.di.register(command_execution_port_1.CommandExecutionPort, { useToken: command_service_1.CommandService });
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// RESOURCE: remote command execution (delegates to CORE)
|
|
89
|
+
index_1.di.registerSingleton(command_execution_port_1.CommandExecutionPort, remote_command_service_1.RemoteCommandService);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (features.http.enabled) {
|
|
93
|
+
index_1.di.registerSingleton(http_service_1.HttpService);
|
|
94
|
+
}
|
|
95
|
+
if (features.chat.enabled) {
|
|
96
|
+
index_1.di.registerSingleton(chat_service_1.ChatService);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { VehicleModificationOptions, VehicleMods } from '../types/vehicle.types';
|
|
2
|
+
import { VehicleService } from './vehicle.service';
|
|
3
|
+
/**
|
|
4
|
+
* Service for handling vehicle modifications with validation.
|
|
5
|
+
*
|
|
6
|
+
* This service is separated from VehicleService to maintain single responsibility.
|
|
7
|
+
* All modifications are validated server-side before being applied.
|
|
8
|
+
*
|
|
9
|
+
* Security features:
|
|
10
|
+
* - Ownership validation
|
|
11
|
+
* - Proximity checks
|
|
12
|
+
* - Modification limits
|
|
13
|
+
* - Audit logging
|
|
14
|
+
*/
|
|
15
|
+
export declare class VehicleModificationService {
|
|
16
|
+
private readonly vehicleService;
|
|
17
|
+
constructor(vehicleService: VehicleService);
|
|
18
|
+
/**
|
|
19
|
+
* Applies modifications to a vehicle with validation.
|
|
20
|
+
*
|
|
21
|
+
* @param options - Modification options
|
|
22
|
+
* @returns Success status
|
|
23
|
+
*/
|
|
24
|
+
applyModifications(options: VehicleModificationOptions): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Sets vehicle colors with validation.
|
|
27
|
+
*
|
|
28
|
+
* @param networkId - Network ID of the vehicle
|
|
29
|
+
* @param primaryColor - Primary color ID
|
|
30
|
+
* @param secondaryColor - Secondary color ID
|
|
31
|
+
* @param requestedBy - Client ID requesting the change
|
|
32
|
+
* @returns Success status
|
|
33
|
+
*/
|
|
34
|
+
setColors(networkId: number, primaryColor: number, secondaryColor: number, requestedBy?: number): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Sets vehicle livery with validation.
|
|
37
|
+
*
|
|
38
|
+
* @param networkId - Network ID of the vehicle
|
|
39
|
+
* @param livery - Livery index
|
|
40
|
+
* @param requestedBy - Client ID requesting the change
|
|
41
|
+
* @returns Success status
|
|
42
|
+
*/
|
|
43
|
+
setLivery(networkId: number, livery: number, requestedBy?: number): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Toggles vehicle turbo with validation.
|
|
46
|
+
*
|
|
47
|
+
* @param networkId - Network ID of the vehicle
|
|
48
|
+
* @param enabled - Whether turbo should be enabled
|
|
49
|
+
* @param requestedBy - Client ID requesting the change
|
|
50
|
+
* @returns Success status
|
|
51
|
+
*/
|
|
52
|
+
setTurbo(networkId: number, enabled: boolean, requestedBy?: number): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Sets vehicle window tint with validation.
|
|
55
|
+
*
|
|
56
|
+
* @param networkId - Network ID of the vehicle
|
|
57
|
+
* @param tint - Tint level (0-6)
|
|
58
|
+
* @param requestedBy - Client ID requesting the change
|
|
59
|
+
* @returns Success status
|
|
60
|
+
*/
|
|
61
|
+
setWindowTint(networkId: number, tint: number, requestedBy?: number): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Sets vehicle neon lights with validation.
|
|
64
|
+
*
|
|
65
|
+
* @param networkId - Network ID of the vehicle
|
|
66
|
+
* @param enabled - Array of [left, right, front, back] enabled states
|
|
67
|
+
* @param color - RGB color array
|
|
68
|
+
* @param requestedBy - Client ID requesting the change
|
|
69
|
+
* @returns Success status
|
|
70
|
+
*/
|
|
71
|
+
setNeon(networkId: number, enabled: [boolean, boolean, boolean, boolean], color?: [number, number, number], requestedBy?: number): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Resets all modifications on a vehicle.
|
|
74
|
+
*
|
|
75
|
+
* @param networkId - Network ID of the vehicle
|
|
76
|
+
* @param requestedBy - Client ID requesting the reset
|
|
77
|
+
* @returns Success status
|
|
78
|
+
*/
|
|
79
|
+
resetModifications(networkId: number, requestedBy?: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Gets the current modifications of a vehicle.
|
|
82
|
+
*
|
|
83
|
+
* @param networkId - Network ID of the vehicle
|
|
84
|
+
* @returns Vehicle mods or undefined
|
|
85
|
+
*/
|
|
86
|
+
getModifications(networkId: number): VehicleMods | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Validates modification values to prevent exploits.
|
|
89
|
+
*
|
|
90
|
+
* @param mods - Modifications to validate
|
|
91
|
+
* @returns Validated modifications
|
|
92
|
+
*/
|
|
93
|
+
private validateMods;
|
|
94
|
+
}
|