@open-core/framework 0.2.9 → 0.3.0
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/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
- package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
- package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
- package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
- package/dist/adapters/contracts/server/IEntityServer.js +39 -0
- package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
- package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +64 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
- package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
- package/dist/adapters/fivem/fivem-capabilities.js +67 -0
- package/dist/adapters/fivem/fivem-engine-events.js +17 -4
- package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
- package/dist/adapters/fivem/fivem-entity-server.js +14 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
- package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
- package/dist/adapters/fivem/fivem-platform.js +100 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
- package/dist/adapters/fivem/fivem-player-server.js +19 -1
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
- package/dist/adapters/fivem/index.d.ts +13 -0
- package/dist/adapters/fivem/index.js +31 -0
- package/dist/adapters/index.d.ts +8 -7
- package/dist/adapters/index.js +13 -12
- package/dist/adapters/node/index.d.ts +5 -0
- package/dist/adapters/node/index.js +13 -1
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +54 -0
- package/dist/adapters/node/node-entity-server.d.ts +17 -6
- package/dist/adapters/node/node-entity-server.js +41 -15
- package/dist/adapters/node/node-net-transport.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-client.js +1 -1
- package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-server.js +1 -1
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +103 -0
- package/dist/adapters/node/node-player-server.d.ts +19 -3
- package/dist/adapters/node/node-player-server.js +43 -9
- package/dist/adapters/node/node-playerinfo.d.ts +2 -2
- package/dist/adapters/node/node-playerinfo.js +14 -3
- package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
- package/dist/adapters/node/node-vehicle-server.js +1 -1
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +122 -0
- package/dist/adapters/register-capabilities.d.ts +52 -2
- package/dist/adapters/register-capabilities.js +69 -130
- package/dist/adapters/register-client-capabilities.js +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.js +5 -31
- package/dist/kernel/di/container.d.ts +4 -2
- package/dist/kernel/di/container.js +5 -3
- package/dist/kernel/di/metadata.scanner.d.ts +2 -1
- package/dist/kernel/di/metadata.scanner.js +3 -2
- package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +18 -0
- package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
- package/dist/kernel/error/security.types.js +2 -0
- package/dist/kernel/index.d.ts +4 -5
- package/dist/kernel/index.js +6 -11
- package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
- package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
- package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
- package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
- package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
- package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
- package/dist/kernel/logger/transports/transport.interface.js +2 -0
- package/dist/kernel/shared/index.d.ts +1 -2
- package/dist/kernel/shared/index.js +1 -2
- package/dist/kernel/utils/index.d.ts +0 -2
- package/dist/kernel/utils/index.js +0 -2
- package/dist/kernel/utils/result.d.ts +1 -1
- package/dist/runtime/client/api.d.ts +7 -0
- package/dist/runtime/client/api.js +23 -0
- package/dist/runtime/client/client-bootstrap.js +1 -1
- package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/index.d.ts +2 -2
- package/dist/runtime/client/decorators/index.js +2 -2
- package/dist/runtime/client/decorators/key.d.ts +2 -2
- package/dist/runtime/client/decorators/key.js +3 -3
- package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
- package/dist/runtime/client/decorators/localEvent.js +1 -1
- package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
- package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
- package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
- package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
- package/dist/runtime/client/index.d.ts +1 -7
- package/dist/runtime/client/index.js +26 -12
- package/dist/runtime/client/player/player.d.ts +1 -1
- package/dist/runtime/client/player/player.loader.js +3 -3
- package/dist/runtime/client/services/appearance.service.d.ts +1 -1
- package/dist/runtime/client/services/appearance.service.js +1 -1
- package/dist/runtime/client/services/blip.service.d.ts +1 -1
- package/dist/runtime/client/services/marker.service.d.ts +1 -1
- package/dist/runtime/client/services/ped.service.d.ts +1 -1
- package/dist/runtime/client/services/spawn.service.d.ts +2 -2
- package/dist/runtime/client/services/spawn.service.js +12 -12
- package/dist/runtime/client/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
- package/dist/runtime/client/system/processors/export.processor.js +1 -1
- package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/interval.processor.js +1 -1
- package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/nui.processor.js +1 -1
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/runtime/client/system/processors/tick.processor.js +1 -1
- package/dist/runtime/client/ui-bridge.js +1 -1
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +226 -0
- package/dist/runtime/core/index.d.ts +3 -0
- package/dist/runtime/core/index.js +19 -0
- package/dist/runtime/core/spatial.d.ts +5 -0
- package/dist/runtime/core/spatial.js +2 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +64 -0
- package/dist/runtime/server/api.d.ts +12 -0
- package/dist/runtime/server/api.js +34 -0
- package/dist/runtime/server/bootstrap.js +58 -103
- package/dist/runtime/server/bus/internal-event.bus.js +1 -1
- package/dist/runtime/server/contracts/index.d.ts +1 -2
- package/dist/runtime/server/contracts/index.js +2 -3
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
- package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
- 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 +9 -0
- package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
- package/dist/runtime/server/controllers/chat.controller.js +5 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
- package/dist/runtime/server/controllers/command-export.controller.js +81 -25
- package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/player-export.controller.js +5 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
- package/dist/runtime/server/controllers/ready.controller.d.ts +5 -0
- package/dist/runtime/server/controllers/ready.controller.js +37 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +65 -13
- package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/session.controller.js +25 -17
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
- package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
- package/dist/runtime/server/decorators/guard.js +2 -2
- package/dist/runtime/server/decorators/index.d.ts +1 -1
- package/dist/runtime/server/decorators/index.js +1 -1
- package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
- package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
- package/dist/runtime/server/decorators/requiresState.js +3 -3
- package/dist/runtime/server/decorators/throttle.d.ts +1 -1
- package/dist/runtime/server/decorators/throttle.js +1 -1
- package/dist/runtime/server/decorators/utils.d.ts +1 -1
- package/dist/runtime/server/decorators/utils.js +1 -1
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
- package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
- package/dist/runtime/server/devmode/index.d.ts +1 -3
- package/dist/runtime/server/devmode/index.js +1 -18
- package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
- package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
- package/dist/runtime/server/devmode/types.d.ts +67 -31
- package/dist/runtime/server/devmode/types.js +1 -4
- package/dist/runtime/server/entities/player.d.ts +80 -66
- package/dist/runtime/server/entities/player.js +137 -98
- package/dist/runtime/server/entities/vehicle.d.ts +3 -3
- package/dist/runtime/server/error-handler.js +5 -5
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
- package/dist/runtime/server/helpers/resolve-method.js +3 -3
- package/dist/runtime/server/index.d.ts +1 -13
- package/dist/runtime/server/index.js +25 -23
- package/dist/runtime/server/runtime.d.ts +32 -281
- package/dist/runtime/server/runtime.js +46 -60
- package/dist/runtime/server/services/appearance.service.d.ts +5 -5
- package/dist/runtime/server/services/appearance.service.js +5 -5
- package/dist/runtime/server/services/chat.service.d.ts +5 -3
- package/dist/runtime/server/services/chat.service.js +17 -12
- package/dist/runtime/server/services/core/command.service.d.ts +9 -1
- package/dist/runtime/server/services/core/command.service.js +16 -7
- package/dist/runtime/server/services/core/player.service.d.ts +12 -16
- package/dist/runtime/server/services/core/player.service.js +42 -47
- package/dist/runtime/server/services/core/principal.service.js +5 -5
- package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
- package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
- package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
- package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
- package/dist/runtime/server/services/default/default-security.handler.js +1 -1
- package/dist/runtime/server/services/index.d.ts +0 -3
- package/dist/runtime/server/services/index.js +1 -6
- package/dist/runtime/server/services/persistence.service.js +3 -3
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +7 -3
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
- package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
- package/dist/runtime/server/services/remote/server-bridge.js +2 -2
- package/dist/runtime/server/services/services.register.d.ts +2 -5
- package/dist/runtime/server/services/services.register.js +29 -41
- package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
- package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
- package/dist/runtime/server/services/vehicle.service.js +5 -5
- package/dist/runtime/server/setup.d.ts +2 -3
- package/dist/runtime/server/setup.js +10 -11
- package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
- package/dist/runtime/server/system/metadata-server.keys.js +1 -1
- package/dist/runtime/server/system/processors/command.processor.js +4 -0
- package/dist/runtime/server/system/processors/export.processor.js +1 -1
- package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/netEvent.processor.js +8 -9
- package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
- package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
- package/dist/runtime/server/system/processors/tick.processor.js +1 -1
- package/dist/runtime/server/system/processors.register.js +16 -11
- package/dist/runtime/server/system/schema-generator.js +2 -2
- package/dist/runtime/server/types/core-exports.d.ts +6 -6
- package/dist/runtime/server/types/index.d.ts +1 -1
- package/dist/runtime/server/types/index.js +1 -1
- package/dist/runtime/server/types/internal-events.d.ts +1 -1
- package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
- package/package.json +7 -15
- package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
- package/dist/adapters/contracts/IEntityServer.js +0 -13
- package/dist/adapters/contracts/IPlayerServer.js +0 -13
- package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
- package/dist/adapters/database/oxmysql.adapter.js +0 -149
- package/dist/adapters/database/resource.adapter.d.ts +0 -12
- package/dist/adapters/database/resource.adapter.js +0 -68
- package/dist/kernel/shared/appearance/index.d.ts +0 -1
- package/dist/runtime/index.d.ts +0 -2
- package/dist/runtime/index.js +0 -39
- package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
- package/dist/runtime/server/bootstrap.validation.js +0 -104
- package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
- package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
- package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
- package/dist/runtime/server/contracts/repository/index.js +0 -61
- package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
- package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
- package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
- package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
- package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
- package/dist/runtime/server/database/adapter.registry.js +0 -14
- package/dist/runtime/server/database/database.contract.d.ts +0 -128
- package/dist/runtime/server/database/database.contract.js +0 -29
- package/dist/runtime/server/database/database.service.d.ts +0 -188
- package/dist/runtime/server/database/database.service.js +0 -287
- package/dist/runtime/server/database/index.d.ts +0 -5
- package/dist/runtime/server/database/index.js +0 -25
- package/dist/runtime/server/database/types.d.ts +0 -67
- package/dist/runtime/server/database/types.js +0 -7
- package/dist/runtime/server/database.d.ts +0 -7
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
- package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
- package/dist/runtime/server/services/config.service.d.ts +0 -75
- package/dist/runtime/server/services/config.service.js +0 -116
- package/dist/runtime/server/services/http/http.service.d.ts +0 -50
- package/dist/runtime/server/services/http/http.service.js +0 -126
- /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
- /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
- /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
- /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
- /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
- /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Player } from '../entities/player';
|
|
2
2
|
import { VehicleService } from '../services/vehicle.service';
|
|
3
|
-
import { VehicleModificationService } from '../services/vehicle-modification.service';
|
|
4
|
-
import { VehicleCreateOptions, VehicleModificationOptions } from '../types/vehicle.types';
|
|
5
3
|
/**
|
|
6
4
|
* Controller for handling vehicle-related network events.
|
|
7
5
|
*
|
|
@@ -10,46 +8,13 @@ import { VehicleCreateOptions, VehicleModificationOptions } from '../types/vehic
|
|
|
10
8
|
*/
|
|
11
9
|
export declare class VehicleController {
|
|
12
10
|
private readonly vehicleService;
|
|
13
|
-
|
|
14
|
-
constructor(vehicleService: VehicleService, modificationService: VehicleModificationService);
|
|
15
|
-
/**
|
|
16
|
-
* Handles client request to create a vehicle.
|
|
17
|
-
*/
|
|
18
|
-
handleCreateVehicle(player: Player, options: VehicleCreateOptions): Promise<import("../types/vehicle.types").VehicleSpawnResult>;
|
|
19
|
-
/**
|
|
20
|
-
* Handles client request to delete a vehicle.
|
|
21
|
-
*/
|
|
22
|
-
handleDeleteVehicle(player: Player, networkId: number): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Handles client request to modify a vehicle.
|
|
25
|
-
*/
|
|
26
|
-
handleModifyVehicle(player: Player, options: VehicleModificationOptions): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Handles client request to repair a vehicle.
|
|
29
|
-
*/
|
|
30
|
-
handleRepairVehicle(player: Player, networkId: number): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Handles client request to set vehicle fuel.
|
|
33
|
-
*/
|
|
34
|
-
handleSetFuel(player: Player, networkId: number, level: number): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Handles client request to lock/unlock vehicle doors.
|
|
37
|
-
*/
|
|
38
|
-
handleSetLocked(player: Player, networkId: number, locked: boolean): boolean;
|
|
11
|
+
constructor(vehicleService: VehicleService);
|
|
39
12
|
/**
|
|
40
13
|
* Handles client request to get vehicle data.
|
|
41
14
|
*/
|
|
42
|
-
handleGetData(player: Player, networkId: number): import("../types
|
|
15
|
+
handleGetData(player: Player, networkId: number): import("../types").SerializedVehicleData | null;
|
|
43
16
|
/**
|
|
44
17
|
* Handles client request to get all player vehicles.
|
|
45
18
|
*/
|
|
46
|
-
handleGetPlayerVehicles(player: Player): import("../types
|
|
47
|
-
/**
|
|
48
|
-
* Handles client request to teleport a vehicle.
|
|
49
|
-
*/
|
|
50
|
-
handleTeleport(player: Player, networkId: number, position: {
|
|
51
|
-
x: number;
|
|
52
|
-
y: number;
|
|
53
|
-
z: number;
|
|
54
|
-
}, heading?: number): boolean;
|
|
19
|
+
handleGetPlayerVehicles(player: Player): import("../types").SerializedVehicleData[];
|
|
55
20
|
}
|
|
@@ -14,11 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.VehicleController = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
|
-
const logger_1 = require("../../../kernel/shared/logger");
|
|
18
17
|
const decorators_1 = require("../decorators");
|
|
19
18
|
const player_1 = require("../entities/player");
|
|
20
19
|
const vehicle_service_1 = require("../services/vehicle.service");
|
|
21
|
-
const vehicle_modification_service_1 = require("../services/vehicle-modification.service");
|
|
22
20
|
/**
|
|
23
21
|
* Controller for handling vehicle-related network events.
|
|
24
22
|
*
|
|
@@ -26,168 +24,33 @@ const vehicle_modification_service_1 = require("../services/vehicle-modification
|
|
|
26
24
|
* for validation and security checks.
|
|
27
25
|
*/
|
|
28
26
|
let VehicleController = class VehicleController {
|
|
29
|
-
constructor(vehicleService
|
|
27
|
+
constructor(vehicleService) {
|
|
30
28
|
this.vehicleService = vehicleService;
|
|
31
|
-
this.modificationService = modificationService;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Handles client request to create a vehicle.
|
|
35
|
-
*/
|
|
36
|
-
async handleCreateVehicle(player, options) {
|
|
37
|
-
const source = player.clientID;
|
|
38
|
-
logger_1.coreLogger.debug('Vehicle creation requested', { clientID: source, options });
|
|
39
|
-
const result = await this.vehicleService.createForPlayer(source, options);
|
|
40
|
-
emitNet('opencore:vehicle:createResult', source, result);
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Handles client request to delete a vehicle.
|
|
45
|
-
*/
|
|
46
|
-
handleDeleteVehicle(player, networkId) {
|
|
47
|
-
const source = player.clientID;
|
|
48
|
-
logger_1.coreLogger.debug('Vehicle deletion requested', { clientID: source, networkId });
|
|
49
|
-
const success = this.vehicleService.delete(networkId, source);
|
|
50
|
-
emitNet('opencore:vehicle:deleteResult', source, { networkId, success });
|
|
51
|
-
return success;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Handles client request to modify a vehicle.
|
|
55
|
-
*/
|
|
56
|
-
handleModifyVehicle(player, options) {
|
|
57
|
-
const source = player.clientID;
|
|
58
|
-
logger_1.coreLogger.debug('Vehicle modification requested', { clientID: source, options });
|
|
59
|
-
const success = this.modificationService.applyModifications(Object.assign(Object.assign({}, options), { requestedBy: source }));
|
|
60
|
-
emitNet('opencore:vehicle:modifyResult', source, { networkId: options.networkId, success });
|
|
61
|
-
return success;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Handles client request to repair a vehicle.
|
|
65
|
-
*/
|
|
66
|
-
handleRepairVehicle(player, networkId) {
|
|
67
|
-
const source = player.clientID;
|
|
68
|
-
logger_1.coreLogger.debug('Vehicle repair requested', { clientID: source, networkId });
|
|
69
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
70
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: false });
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
74
|
-
if (!vehicle) {
|
|
75
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: false });
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: true });
|
|
79
|
-
emitNet('opencore:vehicle:repaired', -1, networkId);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Handles client request to set vehicle fuel.
|
|
84
|
-
*/
|
|
85
|
-
handleSetFuel(player, networkId, level) {
|
|
86
|
-
const source = player.clientID;
|
|
87
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
91
|
-
if (!vehicle)
|
|
92
|
-
return false;
|
|
93
|
-
vehicle.setFuel(level);
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Handles client request to lock/unlock vehicle doors.
|
|
98
|
-
*/
|
|
99
|
-
handleSetLocked(player, networkId, locked) {
|
|
100
|
-
const source = player.clientID;
|
|
101
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
if (!this.vehicleService.validateProximity(networkId, source, 10.0)) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
108
|
-
if (!vehicle)
|
|
109
|
-
return false;
|
|
110
|
-
vehicle.setDoorsLocked(locked);
|
|
111
|
-
emitNet('opencore:vehicle:lockedChanged', -1, { networkId, locked });
|
|
112
|
-
return true;
|
|
113
29
|
}
|
|
114
30
|
/**
|
|
115
31
|
* Handles client request to get vehicle data.
|
|
116
32
|
*/
|
|
117
33
|
handleGetData(player, networkId) {
|
|
118
|
-
const source = player.clientID;
|
|
119
34
|
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
120
35
|
if (!vehicle) {
|
|
121
|
-
emitNet('opencore:vehicle:dataResult',
|
|
36
|
+
emitNet('opencore:vehicle:dataResult', player.clientID, null);
|
|
122
37
|
return null;
|
|
123
38
|
}
|
|
124
39
|
const data = vehicle.serialize();
|
|
125
|
-
emitNet('opencore:vehicle:dataResult',
|
|
40
|
+
emitNet('opencore:vehicle:dataResult', player.clientID, data);
|
|
126
41
|
return data;
|
|
127
42
|
}
|
|
128
43
|
/**
|
|
129
44
|
* Handles client request to get all player vehicles.
|
|
130
45
|
*/
|
|
131
46
|
handleGetPlayerVehicles(player) {
|
|
132
|
-
const
|
|
133
|
-
const vehicles = this.vehicleService.getPlayerVehicles(source);
|
|
47
|
+
const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
|
|
134
48
|
const serialized = vehicles.map((v) => v.serialize());
|
|
135
|
-
emitNet('opencore:vehicle:playerVehiclesResult',
|
|
49
|
+
emitNet('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
|
|
136
50
|
return serialized;
|
|
137
51
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Handles client request to teleport a vehicle.
|
|
140
|
-
*/
|
|
141
|
-
handleTeleport(player, networkId, position, heading) {
|
|
142
|
-
const source = player.clientID;
|
|
143
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
147
|
-
if (!vehicle)
|
|
148
|
-
return false;
|
|
149
|
-
vehicle.teleport(position, heading);
|
|
150
|
-
emitNet('opencore:vehicle:teleported', -1, { networkId, position, heading });
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
52
|
};
|
|
154
53
|
exports.VehicleController = VehicleController;
|
|
155
|
-
__decorate([
|
|
156
|
-
(0, decorators_1.OnNet)('opencore:vehicle:create'),
|
|
157
|
-
__metadata("design:type", Function),
|
|
158
|
-
__metadata("design:paramtypes", [player_1.Player, Object]),
|
|
159
|
-
__metadata("design:returntype", Promise)
|
|
160
|
-
], VehicleController.prototype, "handleCreateVehicle", null);
|
|
161
|
-
__decorate([
|
|
162
|
-
(0, decorators_1.OnNet)('opencore:vehicle:delete'),
|
|
163
|
-
__metadata("design:type", Function),
|
|
164
|
-
__metadata("design:paramtypes", [player_1.Player, Number]),
|
|
165
|
-
__metadata("design:returntype", void 0)
|
|
166
|
-
], VehicleController.prototype, "handleDeleteVehicle", null);
|
|
167
|
-
__decorate([
|
|
168
|
-
(0, decorators_1.OnNet)('opencore:vehicle:modify'),
|
|
169
|
-
__metadata("design:type", Function),
|
|
170
|
-
__metadata("design:paramtypes", [player_1.Player, Object]),
|
|
171
|
-
__metadata("design:returntype", void 0)
|
|
172
|
-
], VehicleController.prototype, "handleModifyVehicle", null);
|
|
173
|
-
__decorate([
|
|
174
|
-
(0, decorators_1.OnNet)('opencore:vehicle:repair'),
|
|
175
|
-
__metadata("design:type", Function),
|
|
176
|
-
__metadata("design:paramtypes", [player_1.Player, Number]),
|
|
177
|
-
__metadata("design:returntype", void 0)
|
|
178
|
-
], VehicleController.prototype, "handleRepairVehicle", null);
|
|
179
|
-
__decorate([
|
|
180
|
-
(0, decorators_1.OnNet)('opencore:vehicle:setFuel'),
|
|
181
|
-
__metadata("design:type", Function),
|
|
182
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Number]),
|
|
183
|
-
__metadata("design:returntype", void 0)
|
|
184
|
-
], VehicleController.prototype, "handleSetFuel", null);
|
|
185
|
-
__decorate([
|
|
186
|
-
(0, decorators_1.OnNet)('opencore:vehicle:setLocked'),
|
|
187
|
-
__metadata("design:type", Function),
|
|
188
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Boolean]),
|
|
189
|
-
__metadata("design:returntype", void 0)
|
|
190
|
-
], VehicleController.prototype, "handleSetLocked", null);
|
|
191
54
|
__decorate([
|
|
192
55
|
(0, decorators_1.OnNet)('opencore:vehicle:getData'),
|
|
193
56
|
__metadata("design:type", Function),
|
|
@@ -200,17 +63,8 @@ __decorate([
|
|
|
200
63
|
__metadata("design:paramtypes", [player_1.Player]),
|
|
201
64
|
__metadata("design:returntype", void 0)
|
|
202
65
|
], VehicleController.prototype, "handleGetPlayerVehicles", null);
|
|
203
|
-
__decorate([
|
|
204
|
-
(0, decorators_1.OnNet)('opencore:vehicle:teleport'),
|
|
205
|
-
__metadata("design:type", Function),
|
|
206
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Object, Number]),
|
|
207
|
-
__metadata("design:returntype", void 0)
|
|
208
|
-
], VehicleController.prototype, "handleTeleport", null);
|
|
209
66
|
exports.VehicleController = VehicleController = __decorate([
|
|
210
67
|
(0, decorators_1.Controller)(),
|
|
211
|
-
(0, tsyringe_1.injectable)(),
|
|
212
68
|
__param(0, (0, tsyringe_1.inject)(vehicle_service_1.VehicleService)),
|
|
213
|
-
|
|
214
|
-
__metadata("design:paramtypes", [vehicle_service_1.VehicleService,
|
|
215
|
-
vehicle_modification_service_1.VehicleModificationService])
|
|
69
|
+
__metadata("design:paramtypes", [vehicle_service_1.VehicleService])
|
|
216
70
|
], VehicleController);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Guard = Guard;
|
|
4
4
|
const kernel_1 = require("../../../kernel");
|
|
5
5
|
const container_1 = require("../../../kernel/di/container");
|
|
6
|
-
const logger_1 = require("../../../kernel/
|
|
6
|
+
const logger_1 = require("../../../kernel/logger");
|
|
7
7
|
const principal_port_1 = require("../services/ports/principal.port");
|
|
8
8
|
/**
|
|
9
9
|
* Declarative access-control decorator for controller methods.
|
|
@@ -64,7 +64,7 @@ function Guard(options) {
|
|
|
64
64
|
});
|
|
65
65
|
throw new Error('Guard Security Error: Context is not a player');
|
|
66
66
|
}
|
|
67
|
-
const principal = container_1.
|
|
67
|
+
const principal = container_1.GLOBAL_CONTAINER.resolve(principal_port_1.PrincipalPort);
|
|
68
68
|
try {
|
|
69
69
|
await principal.enforce(player, options);
|
|
70
70
|
}
|
|
@@ -3,9 +3,9 @@ export { Command, CommandConfig } from './command';
|
|
|
3
3
|
export { Controller } from './controller';
|
|
4
4
|
export * from './export';
|
|
5
5
|
export * from './guard';
|
|
6
|
-
export * from './onFiveMEvent';
|
|
7
6
|
export * from './onFrameworkEvent';
|
|
8
7
|
export * from './onNet';
|
|
8
|
+
export * from './onRuntimeEvent';
|
|
9
9
|
export * from './onTick';
|
|
10
10
|
export * from './public';
|
|
11
11
|
export * from './requiresState';
|
|
@@ -22,9 +22,9 @@ var controller_1 = require("./controller");
|
|
|
22
22
|
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return controller_1.Controller; } });
|
|
23
23
|
__exportStar(require("./export"), exports);
|
|
24
24
|
__exportStar(require("./guard"), exports);
|
|
25
|
-
__exportStar(require("./onFiveMEvent"), exports);
|
|
26
25
|
__exportStar(require("./onFrameworkEvent"), exports);
|
|
27
26
|
__exportStar(require("./onNet"), exports);
|
|
27
|
+
__exportStar(require("./onRuntimeEvent"), exports);
|
|
28
28
|
__exportStar(require("./onTick"), exports);
|
|
29
29
|
__exportStar(require("./public"), exports);
|
|
30
30
|
__exportStar(require("./requiresState"), exports);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Registers a method as a server-side listener for a native
|
|
2
|
+
* Registers a method as a server-side listener for a native Runtime event.
|
|
3
|
+
* Runtime === FiveM
|
|
3
4
|
*
|
|
4
5
|
* @remarks
|
|
5
6
|
* This decorator only stores metadata. During bootstrap, the framework scans controller
|
|
@@ -8,17 +9,17 @@
|
|
|
8
9
|
* FiveM server event reference:
|
|
9
10
|
* https://docs.fivem.net/docs/scripting-reference/events/server-events/
|
|
10
11
|
*
|
|
11
|
-
* @param event -
|
|
12
|
+
* @param event - event name (e.g. `"playerJoining"`). FiveM Events
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
15
|
* ```ts
|
|
15
16
|
* @Server.Controller()
|
|
16
17
|
* export class SessionController {
|
|
17
|
-
* @Server.
|
|
18
|
+
* @Server.OnRuntimeEvent('playerJoining')
|
|
18
19
|
* onPlayerJoining() {
|
|
19
20
|
* // ...
|
|
20
21
|
* }
|
|
21
22
|
* }
|
|
22
23
|
* ```
|
|
23
24
|
*/
|
|
24
|
-
export declare function
|
|
25
|
+
export declare function OnRuntimeEvent(event: string): (target: any, propertyKey: string) => void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.OnRuntimeEvent = OnRuntimeEvent;
|
|
4
4
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
5
5
|
/**
|
|
6
|
-
* Registers a method as a server-side listener for a native
|
|
6
|
+
* Registers a method as a server-side listener for a native Runtime event.
|
|
7
|
+
* Runtime === FiveM
|
|
7
8
|
*
|
|
8
9
|
* @remarks
|
|
9
10
|
* This decorator only stores metadata. During bootstrap, the framework scans controller
|
|
@@ -12,21 +13,21 @@ const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
|
12
13
|
* FiveM server event reference:
|
|
13
14
|
* https://docs.fivem.net/docs/scripting-reference/events/server-events/
|
|
14
15
|
*
|
|
15
|
-
* @param event -
|
|
16
|
+
* @param event - event name (e.g. `"playerJoining"`). FiveM Events
|
|
16
17
|
*
|
|
17
18
|
* @example
|
|
18
19
|
* ```ts
|
|
19
20
|
* @Server.Controller()
|
|
20
21
|
* export class SessionController {
|
|
21
|
-
* @Server.
|
|
22
|
+
* @Server.OnRuntimeEvent('playerJoining')
|
|
22
23
|
* onPlayerJoining() {
|
|
23
24
|
* // ...
|
|
24
25
|
* }
|
|
25
26
|
* }
|
|
26
27
|
* ```
|
|
27
28
|
*/
|
|
28
|
-
function
|
|
29
|
+
function OnRuntimeEvent(event) {
|
|
29
30
|
return (target, propertyKey) => {
|
|
30
|
-
Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.
|
|
31
|
+
Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.RUNTIME_EVENT, { event }, target, propertyKey);
|
|
31
32
|
};
|
|
32
33
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RequiresState = RequiresState;
|
|
4
|
-
const
|
|
4
|
+
const app_error_1 = require("../../../kernel/error/app.error");
|
|
5
5
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
6
6
|
/**
|
|
7
7
|
* Enforces gameplay state requirements before executing a method.
|
|
@@ -55,14 +55,14 @@ function RequiresState(req) {
|
|
|
55
55
|
if (req.has) {
|
|
56
56
|
for (const state of req.has) {
|
|
57
57
|
if (!player.hasState(state)) {
|
|
58
|
-
throw new
|
|
58
|
+
throw new app_error_1.AppError('GAME:INVALID_STATE', req.errorMessage || `You must be [${state}] to do this.`, 'client');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
if (req.missing) {
|
|
63
63
|
for (const state of req.missing) {
|
|
64
64
|
if (player.hasState(state)) {
|
|
65
|
-
throw new
|
|
65
|
+
throw new app_error_1.AppError('GAME:INVALID_STATE', req.errorMessage || `You can't do this while you're [${state}].`, 'client');
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Throttle = Throttle;
|
|
4
4
|
const tsyringe_1 = require("tsyringe");
|
|
5
|
-
const security_error_1 = require("../../../kernel/
|
|
5
|
+
const security_error_1 = require("../../../kernel/error/security.error");
|
|
6
6
|
const rate_limiter_service_1 = require("../services/rate-limiter.service");
|
|
7
7
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
8
8
|
/**
|
|
@@ -30,7 +30,7 @@ export declare function Service(options?: {
|
|
|
30
30
|
*
|
|
31
31
|
*
|
|
32
32
|
* @remarks
|
|
33
|
-
* A repository abstracts persistence operations (
|
|
33
|
+
* A repository abstracts persistence operations (API, in-memory, or hybrid storage).
|
|
34
34
|
* It is registered in the dependency injection container using the provided scope
|
|
35
35
|
* (default: `singleton`).
|
|
36
36
|
*
|
|
@@ -35,7 +35,7 @@ function Service(options) {
|
|
|
35
35
|
*
|
|
36
36
|
*
|
|
37
37
|
* @remarks
|
|
38
|
-
* A repository abstracts persistence operations (
|
|
38
|
+
* A repository abstracts persistence operations (API, in-memory, or hybrid storage).
|
|
39
39
|
* It is registered in the dependency injection container using the provided scope
|
|
40
40
|
* (default: `singleton`).
|
|
41
41
|
*
|
|
@@ -5,17 +5,17 @@ import { BridgeMessage, DevEvent, DevModeOptions, RuntimeSnapshot } from './type
|
|
|
5
5
|
/**
|
|
6
6
|
* Main DevMode service that orchestrates all development tools.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
8
|
+
* @remarks
|
|
9
|
+
* Provides a unified interface for internal framework debugging and telemetry.
|
|
10
|
+
* It coordinates:
|
|
11
|
+
* - Event interception and recording (Net, Commands, etc)
|
|
12
|
+
* - Runtime state inspection (DI, Players, Services)
|
|
13
|
+
* - Player simulation for offline logic testing
|
|
14
|
+
* - Telemetry bridge for external CLI integration
|
|
14
15
|
*/
|
|
15
16
|
export declare class DevModeService {
|
|
16
17
|
private enabled;
|
|
17
18
|
private options;
|
|
18
|
-
private hotReloadServer;
|
|
19
19
|
private logTransport;
|
|
20
20
|
private get interceptor();
|
|
21
21
|
private get inspector();
|
|
@@ -106,5 +106,4 @@ export declare class DevModeService {
|
|
|
106
106
|
getSimulatorStatistics(): ReturnType<PlayerSimulatorService['getStatistics']>;
|
|
107
107
|
private handleBridgeMessage;
|
|
108
108
|
private handleRemoteCommand;
|
|
109
|
-
private handleRemoteReload;
|
|
110
109
|
}
|
|
@@ -9,53 +9,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.DevModeService = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
11
|
const container_1 = require("../../../kernel/di/container");
|
|
12
|
-
const logger_1 = require("../../../kernel/
|
|
13
|
-
const dev_transport_factory_1 = require("../../../kernel/
|
|
12
|
+
const logger_1 = require("../../../kernel/logger");
|
|
13
|
+
const dev_transport_factory_1 = require("../../../kernel/logger/transports/dev-transport.factory");
|
|
14
14
|
const event_interceptor_service_1 = require("./event-interceptor.service");
|
|
15
|
-
const hot_reload_server_1 = require("./hot-reload.server");
|
|
16
15
|
const player_simulator_service_1 = require("./player-simulator.service");
|
|
17
16
|
const state_inspector_service_1 = require("./state-inspector.service");
|
|
18
|
-
// Safe wrapper for FiveM ExecuteCommand (no-op in Node.js)
|
|
19
|
-
function safeExecuteCommand(command) {
|
|
20
|
-
if (typeof ExecuteCommand === 'function') {
|
|
21
|
-
ExecuteCommand(command);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
logger_1.loggers.bootstrap.warn('[DevMode] ExecuteCommand not available (not running in FiveM)');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
17
|
/**
|
|
28
18
|
* Main DevMode service that orchestrates all development tools.
|
|
29
19
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* -
|
|
34
|
-
* -
|
|
35
|
-
* -
|
|
20
|
+
* @remarks
|
|
21
|
+
* Provides a unified interface for internal framework debugging and telemetry.
|
|
22
|
+
* It coordinates:
|
|
23
|
+
* - Event interception and recording (Net, Commands, etc)
|
|
24
|
+
* - Runtime state inspection (DI, Players, Services)
|
|
25
|
+
* - Player simulation for offline logic testing
|
|
26
|
+
* - Telemetry bridge for external CLI integration
|
|
36
27
|
*/
|
|
37
28
|
let DevModeService = class DevModeService {
|
|
38
29
|
constructor() {
|
|
39
30
|
this.enabled = false;
|
|
40
31
|
this.options = null;
|
|
41
|
-
this.hotReloadServer = null;
|
|
42
32
|
this.logTransport = null;
|
|
43
33
|
}
|
|
44
34
|
get interceptor() {
|
|
45
|
-
return container_1.
|
|
35
|
+
return container_1.GLOBAL_CONTAINER.resolve(event_interceptor_service_1.EventInterceptorService);
|
|
46
36
|
}
|
|
47
37
|
get inspector() {
|
|
48
|
-
return container_1.
|
|
38
|
+
return container_1.GLOBAL_CONTAINER.resolve(state_inspector_service_1.StateInspectorService);
|
|
49
39
|
}
|
|
50
40
|
get simulator() {
|
|
51
|
-
return container_1.
|
|
41
|
+
return container_1.GLOBAL_CONTAINER.resolve(player_simulator_service_1.PlayerSimulatorService);
|
|
52
42
|
}
|
|
53
43
|
/**
|
|
54
44
|
* Enables DevMode with the specified options.
|
|
55
45
|
* @param options - DevMode configuration
|
|
56
46
|
*/
|
|
57
47
|
async enable(options) {
|
|
58
|
-
var _a, _b, _c, _d, _e
|
|
48
|
+
var _a, _b, _c, _d, _e;
|
|
59
49
|
if (this.enabled) {
|
|
60
50
|
logger_1.loggers.bootstrap.warn('[DevMode] Already enabled, skipping');
|
|
61
51
|
return;
|
|
@@ -63,26 +53,20 @@ let DevModeService = class DevModeService {
|
|
|
63
53
|
this.options = options;
|
|
64
54
|
this.enabled = true;
|
|
65
55
|
logger_1.loggers.bootstrap.info('[DevMode] Enabling development mode...', {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
simulator: (_d = options.simulator) === null || _d === void 0 ? void 0 : _d.enabled,
|
|
56
|
+
bridge: (_a = options.bridge) === null || _a === void 0 ? void 0 : _a.autoConnect,
|
|
57
|
+
interceptor: (_b = options.interceptor) === null || _b === void 0 ? void 0 : _b.enabled,
|
|
58
|
+
simulator: (_c = options.simulator) === null || _c === void 0 ? void 0 : _c.enabled,
|
|
70
59
|
});
|
|
71
|
-
// Start hot reload server
|
|
72
|
-
if ((_e = options.hotReload) === null || _e === void 0 ? void 0 : _e.enabled) {
|
|
73
|
-
this.hotReloadServer = new hot_reload_server_1.HotReloadServer(options.hotReload);
|
|
74
|
-
this.hotReloadServer.start();
|
|
75
|
-
}
|
|
76
60
|
// Configure event interceptor
|
|
77
61
|
if (options.interceptor) {
|
|
78
62
|
this.interceptor.configure(options.interceptor);
|
|
79
63
|
}
|
|
80
64
|
// Connect to CLI bridge
|
|
81
|
-
if ((
|
|
65
|
+
if ((_d = options.bridge) === null || _d === void 0 ? void 0 : _d.autoConnect) {
|
|
82
66
|
await this.connectToBridge(options.bridge.url);
|
|
83
67
|
}
|
|
84
68
|
// Auto-connect simulated players
|
|
85
|
-
if (((
|
|
69
|
+
if (((_e = options.simulator) === null || _e === void 0 ? void 0 : _e.enabled) && options.simulator.autoConnectPlayers > 0) {
|
|
86
70
|
this.simulator.connectMany(options.simulator.autoConnectPlayers);
|
|
87
71
|
}
|
|
88
72
|
logger_1.loggers.bootstrap.info('[DevMode] Development mode enabled successfully');
|
|
@@ -94,11 +78,6 @@ let DevModeService = class DevModeService {
|
|
|
94
78
|
if (!this.enabled)
|
|
95
79
|
return;
|
|
96
80
|
logger_1.loggers.bootstrap.info('[DevMode] Disabling development mode...');
|
|
97
|
-
// Stop hot reload server
|
|
98
|
-
if (this.hotReloadServer) {
|
|
99
|
-
this.hotReloadServer.stop();
|
|
100
|
-
this.hotReloadServer = null;
|
|
101
|
-
}
|
|
102
81
|
// Disconnect log transport
|
|
103
82
|
if (this.logTransport) {
|
|
104
83
|
void (0, dev_transport_factory_1.stopDevTransport)(this.logTransport);
|
|
@@ -277,9 +256,6 @@ let DevModeService = class DevModeService {
|
|
|
277
256
|
case 'command':
|
|
278
257
|
this.handleRemoteCommand(message.payload);
|
|
279
258
|
break;
|
|
280
|
-
case 'reload':
|
|
281
|
-
this.handleRemoteReload(message.payload);
|
|
282
|
-
break;
|
|
283
259
|
default:
|
|
284
260
|
logger_1.loggers.bootstrap.debug('[DevMode] Unknown bridge message type', { type: message.type });
|
|
285
261
|
}
|
|
@@ -313,10 +289,6 @@ let DevModeService = class DevModeService {
|
|
|
313
289
|
logger_1.loggers.bootstrap.warn('[DevMode] Unknown remote command', { name: command.name });
|
|
314
290
|
}
|
|
315
291
|
}
|
|
316
|
-
handleRemoteReload(payload) {
|
|
317
|
-
logger_1.loggers.bootstrap.info(`[DevMode] Remote reload requested for: ${payload.resource}`);
|
|
318
|
-
safeExecuteCommand(`restart ${payload.resource}`);
|
|
319
|
-
}
|
|
320
292
|
};
|
|
321
293
|
exports.DevModeService = DevModeService;
|
|
322
294
|
exports.DevModeService = DevModeService = __decorate([
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
export * from './contracts';
|
|
2
1
|
export { DevModeService } from './dev-mode.service';
|
|
3
2
|
export { EventInterceptorService } from './event-interceptor.service';
|
|
4
|
-
export { HotReloadServer } from './hot-reload.server';
|
|
5
3
|
export { PlayerSimulatorService } from './player-simulator.service';
|
|
6
4
|
export { StateInspectorService } from './state-inspector.service';
|
|
7
|
-
export type { BridgeMessage, BridgeOptions, DevEvent, DevModeOptions,
|
|
5
|
+
export type { BridgeMessage, BridgeOptions, DevEvent, DevModeOptions, InterceptorOptions, RuntimeSnapshot, SimulatedPlayer, SimulatedPlayerOptions, SimulatorOptions, } from './types';
|
|
8
6
|
export { DEFAULT_DEVMODE_OPTIONS } from './types';
|
|
@@ -1,29 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// DevMode - Development tools for OpenCore
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
-
};
|
|
17
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.DEFAULT_DEVMODE_OPTIONS = exports.StateInspectorService = exports.PlayerSimulatorService = exports.
|
|
4
|
+
exports.DEFAULT_DEVMODE_OPTIONS = exports.StateInspectorService = exports.PlayerSimulatorService = exports.EventInterceptorService = exports.DevModeService = void 0;
|
|
19
5
|
// Contracts
|
|
20
|
-
__exportStar(require("./contracts"), exports);
|
|
21
6
|
var dev_mode_service_1 = require("./dev-mode.service");
|
|
22
7
|
Object.defineProperty(exports, "DevModeService", { enumerable: true, get: function () { return dev_mode_service_1.DevModeService; } });
|
|
23
8
|
var event_interceptor_service_1 = require("./event-interceptor.service");
|
|
24
9
|
Object.defineProperty(exports, "EventInterceptorService", { enumerable: true, get: function () { return event_interceptor_service_1.EventInterceptorService; } });
|
|
25
|
-
var hot_reload_server_1 = require("./hot-reload.server");
|
|
26
|
-
Object.defineProperty(exports, "HotReloadServer", { enumerable: true, get: function () { return hot_reload_server_1.HotReloadServer; } });
|
|
27
10
|
var player_simulator_service_1 = require("./player-simulator.service");
|
|
28
11
|
Object.defineProperty(exports, "PlayerSimulatorService", { enumerable: true, get: function () { return player_simulator_service_1.PlayerSimulatorService; } });
|
|
29
12
|
var state_inspector_service_1 = require("./state-inspector.service");
|