@open-core/framework 0.2.9 → 0.3.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/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 +84 -108
- 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 +94 -28
- 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 +4 -0
- package/dist/runtime/server/controllers/ready.controller.js +32 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +79 -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/command-validation.helper.d.ts +0 -3
- package/dist/runtime/server/helpers/command-validation.helper.js +3 -7
- 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/process-tuple-schema.d.ts +20 -0
- package/dist/runtime/server/helpers/process-tuple-schema.js +51 -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 +30 -11
- 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 +11 -10
- 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 +5 -3
- 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,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Framework modules
|
|
3
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
3
|
if (k2 === undefined) k2 = k;
|
|
5
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -11,27 +10,30 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
11
10
|
if (k2 === undefined) k2 = k;
|
|
12
11
|
o[k2] = m[k];
|
|
13
12
|
}));
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
}
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
17
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
__exportStar(require("./bootstrap.validation"), exports);
|
|
20
|
-
var internal_event_bus_1 = require("./bus/internal-event.bus");
|
|
21
|
-
Object.defineProperty(exports, "onFrameworkEvent", { enumerable: true, get: function () { return internal_event_bus_1.onFrameworkEvent; } });
|
|
22
|
-
// Configs
|
|
23
|
-
__exportStar(require("./configs"), exports);
|
|
24
|
-
__exportStar(require("./contracts/index"), exports);
|
|
25
|
-
var core_1 = require("./core");
|
|
26
|
-
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
|
|
27
|
-
__exportStar(require("./decorators"), exports);
|
|
28
|
-
// DevMode (development tools)
|
|
29
|
-
__exportStar(require("./devmode"), exports);
|
|
30
|
-
// Entities
|
|
31
|
-
__exportStar(require("./entities"), exports);
|
|
32
|
-
__exportStar(require("./runtime"), exports);
|
|
33
|
-
__exportStar(require("./services"), exports);
|
|
34
|
-
__exportStar(require("./setup"), exports);
|
|
35
|
-
__exportStar(require("./templates"), exports);
|
|
36
|
+
exports.Server = void 0;
|
|
36
37
|
const container_1 = require("../../kernel/di/container");
|
|
37
|
-
globalThis.oc_container = container_1.
|
|
38
|
+
globalThis.oc_container = container_1.GLOBAL_CONTAINER;
|
|
39
|
+
exports.Server = __importStar(require("./api"));
|
|
@@ -11,7 +11,7 @@ export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
|
|
|
11
11
|
*
|
|
12
12
|
* - `'local'`: Feature implemented locally in current resource
|
|
13
13
|
* - Used in CORE/STANDALONE for all features
|
|
14
|
-
* - Used in RESOURCE for: netEvents, fiveMEvents, exports, http, chat
|
|
14
|
+
* - Used in RESOURCE for: netEvents, fiveMEvents, exports, http, chat
|
|
15
15
|
* - Triggers local service implementations
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
@@ -25,239 +25,17 @@ export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
|
|
|
25
25
|
*/
|
|
26
26
|
export type FeatureProvider = 'core' | 'local';
|
|
27
27
|
export type FeatureScope = 'core' | 'resource' | 'standalone';
|
|
28
|
-
export type FeatureName = 'players' | 'netEvents' | 'fiveMEvents' | 'commands' | 'exports' | '
|
|
29
|
-
/**
|
|
30
|
-
* Base feature configuration (all features support this).
|
|
31
|
-
*/
|
|
32
|
-
export interface BaseFeatureConfig {
|
|
33
|
-
/**
|
|
34
|
-
* Enable or disable this feature.
|
|
35
|
-
*
|
|
36
|
-
* @defaultValue Varies by feature and mode (see specific feature docs)
|
|
37
|
-
*/
|
|
38
|
-
enabled?: boolean;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Feature configuration with configurable provider.
|
|
42
|
-
*
|
|
43
|
-
* @remarks
|
|
44
|
-
* Only applies to: `players`, `commands`, `principal`, `auth`
|
|
45
|
-
*
|
|
46
|
-
* For these features, you can choose:
|
|
47
|
-
* - `'core'`: Use CORE's implementation (RESOURCE mode)
|
|
48
|
-
* - `'local'`: Use local implementation (STANDALONE mode)
|
|
49
|
-
*
|
|
50
|
-
* **Defaults by mode:**
|
|
51
|
-
* - CORE: `'core'`
|
|
52
|
-
* - RESOURCE: `'core'` (delegates to CORE)
|
|
53
|
-
* - STANDALONE: `'local'`
|
|
54
|
-
*/
|
|
55
|
-
export interface ProviderFeatureConfig extends BaseFeatureConfig {
|
|
56
|
-
/**
|
|
57
|
-
* Provider source for this feature.
|
|
58
|
-
*
|
|
59
|
-
* @remarks
|
|
60
|
-
* - RESOURCE mode: Use `'core'` to delegate to CORE (default)
|
|
61
|
-
* - STANDALONE mode: Must use `'local'` (default)
|
|
62
|
-
*/
|
|
63
|
-
provider?: FeatureProvider;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Feature configuration with export option (CORE mode only).
|
|
67
|
-
*
|
|
68
|
-
* @remarks
|
|
69
|
-
* Only applies to: `players`, `principal`, `chat` in CORE mode
|
|
70
|
-
*
|
|
71
|
-
* When `export: true`, the feature exposes FiveM exports for RESOURCE mode access.
|
|
72
|
-
*/
|
|
73
|
-
export interface ExportableFeatureConfig extends BaseFeatureConfig {
|
|
74
|
-
/**
|
|
75
|
-
* Whether to expose this feature via FiveM exports.
|
|
76
|
-
*
|
|
77
|
-
* @remarks
|
|
78
|
-
* - Only valid in CORE mode
|
|
79
|
-
* - Requires `exports` feature to be enabled
|
|
80
|
-
* - Used by RESOURCE mode to access CORE functionality
|
|
81
|
-
*
|
|
82
|
-
* @defaultValue false
|
|
83
|
-
*/
|
|
84
|
-
export?: boolean;
|
|
85
|
-
}
|
|
28
|
+
export type FeatureName = 'players' | 'netEvents' | 'fiveMEvents' | 'commands' | 'exports' | 'chat' | 'principal' | 'sessionLifecycle';
|
|
86
29
|
/**
|
|
87
30
|
* User-facing feature configuration.
|
|
88
31
|
*
|
|
89
32
|
* @remarks
|
|
90
|
-
*
|
|
91
|
-
*
|
|
33
|
+
* Most features are enabled by default and providers are auto-inferred.
|
|
34
|
+
* Use this config only if you need to explicitly disable a feature.
|
|
92
35
|
*/
|
|
93
36
|
export interface UserFeatureConfig {
|
|
94
|
-
/**
|
|
95
|
-
|
|
96
|
-
*
|
|
97
|
-
* @remarks
|
|
98
|
-
* **Dependencies**: None
|
|
99
|
-
* **Provider**: Configurable
|
|
100
|
-
* - CORE/STANDALONE: Local player management
|
|
101
|
-
* - RESOURCE: Delegates to CORE
|
|
102
|
-
*
|
|
103
|
-
* **Export** (CORE only): When true, exposes player APIs to RESOURCE mode
|
|
104
|
-
*
|
|
105
|
-
* @defaultValue
|
|
106
|
-
* - enabled: true
|
|
107
|
-
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
108
|
-
* - export: false
|
|
109
|
-
*/
|
|
110
|
-
players?: ProviderFeatureConfig & ExportableFeatureConfig;
|
|
111
|
-
/**
|
|
112
|
-
* Command registration and execution.
|
|
113
|
-
*
|
|
114
|
-
* @remarks
|
|
115
|
-
* **Dependencies**: Requires `players` to be enabled
|
|
116
|
-
* **Provider**: Configurable
|
|
117
|
-
* - CORE/STANDALONE: Local command execution
|
|
118
|
-
* - RESOURCE: Commands register with CORE for centralized security validation
|
|
119
|
-
*
|
|
120
|
-
* **Export** (CORE only): Always exported when enabled (for RESOURCE mode access)
|
|
121
|
-
*
|
|
122
|
-
* @defaultValue
|
|
123
|
-
* - enabled: false
|
|
124
|
-
* - provider: 'core' (RESOURCE), 'local' (CORE/STANDALONE)
|
|
125
|
-
* - export: true (CORE only, automatic)
|
|
126
|
-
*/
|
|
127
|
-
commands?: ProviderFeatureConfig;
|
|
128
|
-
/**
|
|
129
|
-
* Principal (identity) provider for permissions.
|
|
130
|
-
*
|
|
131
|
-
* @remarks
|
|
132
|
-
* **Dependencies**: None
|
|
133
|
-
* **Provider**: Configurable
|
|
134
|
-
* - CORE: User-provided PrincipalProvider implementation
|
|
135
|
-
* - RESOURCE: Delegates to CORE
|
|
136
|
-
* - STANDALONE: User-provided PrincipalProvider implementation
|
|
137
|
-
*
|
|
138
|
-
* **Export** (CORE only): When true, exposes principal APIs to RESOURCE mode
|
|
139
|
-
*
|
|
140
|
-
* @defaultValue
|
|
141
|
-
* - enabled: false
|
|
142
|
-
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
143
|
-
* - export: false
|
|
144
|
-
*/
|
|
145
|
-
principal?: ProviderFeatureConfig & ExportableFeatureConfig;
|
|
146
|
-
/**
|
|
147
|
-
* Authentication provider for login/logout.
|
|
148
|
-
*
|
|
149
|
-
* @remarks
|
|
150
|
-
* **Dependencies**: None
|
|
151
|
-
* **Provider**: Configurable
|
|
152
|
-
* - CORE: User-provided AuthProvider implementation
|
|
153
|
-
* - RESOURCE: Delegates to CORE
|
|
154
|
-
* - STANDALONE: User-provided AuthProvider implementation
|
|
155
|
-
*
|
|
156
|
-
* @defaultValue
|
|
157
|
-
* - enabled: false
|
|
158
|
-
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
159
|
-
*/
|
|
160
|
-
auth?: ProviderFeatureConfig;
|
|
161
|
-
/**
|
|
162
|
-
* Network events (`onNet` decorator support).
|
|
163
|
-
*
|
|
164
|
-
* @remarks
|
|
165
|
-
* **Dependencies**: Requires `players` to be enabled
|
|
166
|
-
* **Provider**: Auto-determined (not configurable)
|
|
167
|
-
* - Always `'local'` (events are handled locally in each resource)
|
|
168
|
-
*
|
|
169
|
-
* @defaultValue enabled: true
|
|
170
|
-
*/
|
|
171
|
-
netEvents?: BaseFeatureConfig;
|
|
172
|
-
/**
|
|
173
|
-
* FiveM lifecycle events (`onServer`, `onClient`, etc.).
|
|
174
|
-
*
|
|
175
|
-
* @remarks
|
|
176
|
-
* **Dependencies**: None
|
|
177
|
-
* **Provider**: Auto-determined (not configurable)
|
|
178
|
-
* - Always `'local'`
|
|
179
|
-
* - Disabled in RESOURCE mode (only CORE/STANDALONE need lifecycle management)
|
|
180
|
-
*
|
|
181
|
-
* @defaultValue
|
|
182
|
-
* - enabled: true (CORE/STANDALONE), false (RESOURCE)
|
|
183
|
-
*/
|
|
184
|
-
fiveMEvents?: BaseFeatureConfig;
|
|
185
|
-
/**
|
|
186
|
-
* FiveM exports support (`@Export` decorator).
|
|
187
|
-
*
|
|
188
|
-
* @remarks
|
|
189
|
-
* **Dependencies**: None
|
|
190
|
-
* **Provider**: Auto-determined (not configurable)
|
|
191
|
-
* - Always `'local'`
|
|
192
|
-
*
|
|
193
|
-
* @defaultValue enabled: false
|
|
194
|
-
*/
|
|
195
|
-
exports?: BaseFeatureConfig;
|
|
196
|
-
/**
|
|
197
|
-
* HTTP server and endpoints.
|
|
198
|
-
*
|
|
199
|
-
* @remarks
|
|
200
|
-
* **Dependencies**: None
|
|
201
|
-
* **Provider**: Auto-determined (not configurable)
|
|
202
|
-
* - Always `'local'`
|
|
203
|
-
*
|
|
204
|
-
* @defaultValue enabled: false
|
|
205
|
-
*/
|
|
206
|
-
http?: BaseFeatureConfig;
|
|
207
|
-
/**
|
|
208
|
-
* Chat message handling.
|
|
209
|
-
*
|
|
210
|
-
* @remarks
|
|
211
|
-
* **Dependencies**: Requires `players` to be enabled
|
|
212
|
-
* **Provider**: Auto-determined (not configurable)
|
|
213
|
-
* - Always `'local'`
|
|
214
|
-
*
|
|
215
|
-
* **Export** (CORE only): When true, exposes chat APIs to RESOURCE mode
|
|
216
|
-
*
|
|
217
|
-
* @defaultValue
|
|
218
|
-
* - enabled: false
|
|
219
|
-
* - export: false
|
|
220
|
-
*/
|
|
221
|
-
chat?: BaseFeatureConfig & ExportableFeatureConfig;
|
|
222
|
-
/**
|
|
223
|
-
* Database access.
|
|
224
|
-
*
|
|
225
|
-
* @remarks
|
|
226
|
-
* **Dependencies**: None
|
|
227
|
-
* **Provider**: Auto-determined (not configurable)
|
|
228
|
-
* - Always `'local'`
|
|
229
|
-
*
|
|
230
|
-
* @defaultValue enabled: false
|
|
231
|
-
*/
|
|
232
|
-
database?: BaseFeatureConfig;
|
|
233
|
-
/**
|
|
234
|
-
* Session lifecycle management (internal).
|
|
235
|
-
*
|
|
236
|
-
* @remarks
|
|
237
|
-
* **Dependencies**: None
|
|
238
|
-
* **Provider**: Auto-determined (not configurable)
|
|
239
|
-
* - Disabled in RESOURCE mode (CORE manages sessions)
|
|
240
|
-
*
|
|
241
|
-
* @defaultValue
|
|
242
|
-
* - enabled: true (CORE/STANDALONE), false (RESOURCE)
|
|
243
|
-
* - recoveryOnRestart: true
|
|
244
|
-
*/
|
|
245
|
-
sessionLifecycle?: BaseFeatureConfig & {
|
|
246
|
-
/**
|
|
247
|
-
* Automatically recover sessions for players already connected when the resource restarts.
|
|
248
|
-
*
|
|
249
|
-
* @remarks
|
|
250
|
-
* When enabled, the framework will scan for connected players on startup and
|
|
251
|
-
* create sessions for any players that don't have an active session.
|
|
252
|
-
* This is useful during development when hot-reloading resources.
|
|
253
|
-
*
|
|
254
|
-
* **Note**: Only basic session data (clientID, identifiers) is recovered.
|
|
255
|
-
* Players will need to re-authenticate to restore accountID and other auth-related data.
|
|
256
|
-
*
|
|
257
|
-
* @defaultValue true
|
|
258
|
-
*/
|
|
259
|
-
recoveryOnRestart?: boolean;
|
|
260
|
-
};
|
|
37
|
+
/** Disable specific features if needed */
|
|
38
|
+
disabled?: FeatureName[];
|
|
261
39
|
}
|
|
262
40
|
/**
|
|
263
41
|
* Internal feature contract with all fields resolved.
|
|
@@ -313,34 +91,42 @@ export interface FeatureContract {
|
|
|
313
91
|
recoveryOnRestart?: boolean;
|
|
314
92
|
}
|
|
315
93
|
export type FrameworkFeatures = Record<FeatureName, FeatureContract>;
|
|
316
|
-
export interface ResourceGrants {
|
|
317
|
-
database?: boolean;
|
|
318
|
-
principal?: boolean;
|
|
319
|
-
auth?: boolean;
|
|
320
|
-
}
|
|
321
94
|
export interface DevModeConfig {
|
|
322
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Master switch for development mode.
|
|
97
|
+
* If false, no dev tools will be loaded.
|
|
98
|
+
*/
|
|
323
99
|
enabled: boolean;
|
|
324
|
-
/**
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
allowedResources?: string[];
|
|
329
|
-
};
|
|
330
|
-
/** CLI bridge configuration */
|
|
100
|
+
/**
|
|
101
|
+
* CLI bridge configuration for telemetry and logs.
|
|
102
|
+
* The bridge allows the OpenCore CLI to stream logs and inspect the framework state.
|
|
103
|
+
*/
|
|
331
104
|
bridge?: {
|
|
105
|
+
/** WebSocket URL of the bridge */
|
|
332
106
|
url: string;
|
|
107
|
+
/** Whether to connect automatically on startup */
|
|
333
108
|
autoConnect: boolean;
|
|
334
109
|
};
|
|
335
|
-
/**
|
|
110
|
+
/**
|
|
111
|
+
* Event interceptor configuration for debugging.
|
|
112
|
+
* Captures and records incoming/outgoing network events and commands.
|
|
113
|
+
*/
|
|
336
114
|
interceptor?: {
|
|
115
|
+
/** Enable event interception */
|
|
337
116
|
enabled: boolean;
|
|
117
|
+
/** Whether to record a history of events in memory */
|
|
338
118
|
recordHistory: boolean;
|
|
119
|
+
/** Maximum number of events to keep in the history buffer */
|
|
339
120
|
maxHistorySize: number;
|
|
340
121
|
};
|
|
341
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Player simulator configuration.
|
|
124
|
+
* Allows creating virtual players for testing logic without game clients.
|
|
125
|
+
*/
|
|
342
126
|
simulator?: {
|
|
127
|
+
/** Enable player simulation features */
|
|
343
128
|
enabled: boolean;
|
|
129
|
+
/** Number of virtual players to connect automatically on startup */
|
|
344
130
|
autoConnectPlayers: number;
|
|
345
131
|
};
|
|
346
132
|
}
|
|
@@ -352,7 +138,6 @@ export interface ServerRuntimeOptions {
|
|
|
352
138
|
mode: FrameworkMode;
|
|
353
139
|
features: FrameworkFeatures;
|
|
354
140
|
coreResourceName: string;
|
|
355
|
-
resourceGrants?: ResourceGrants;
|
|
356
141
|
/** Development mode configuration (disabled in production) */
|
|
357
142
|
devMode?: DevModeConfig;
|
|
358
143
|
onDependency?: Hooks;
|
|
@@ -367,36 +152,10 @@ export declare function getFrameworkModeScope(mode: FrameworkMode): FeatureScope
|
|
|
367
152
|
* @remarks
|
|
368
153
|
* Defines the runtime mode and feature configuration for OpenCore.
|
|
369
154
|
*
|
|
370
|
-
* @example Minimal
|
|
371
|
-
* ```typescript
|
|
372
|
-
* Server.init({
|
|
373
|
-
* mode: 'CORE',
|
|
374
|
-
* features: {
|
|
375
|
-
* commands: { enabled: true },
|
|
376
|
-
* principal: { enabled: true },
|
|
377
|
-
* }
|
|
378
|
-
* })
|
|
379
|
-
* ```
|
|
380
|
-
*
|
|
381
|
-
* @example Minimal RESOURCE Mode
|
|
155
|
+
* @example Minimal Mode
|
|
382
156
|
* ```typescript
|
|
383
157
|
* Server.init({
|
|
384
|
-
* mode: '
|
|
385
|
-
* coreResourceName: 'my-core',
|
|
386
|
-
* features: {
|
|
387
|
-
* commands: { enabled: true }, // Auto-uses 'core' provider
|
|
388
|
-
* }
|
|
389
|
-
* })
|
|
390
|
-
* ```
|
|
391
|
-
*
|
|
392
|
-
* @example STANDALONE Mode
|
|
393
|
-
* ```typescript
|
|
394
|
-
* Server.init({
|
|
395
|
-
* mode: 'STANDALONE',
|
|
396
|
-
* features: {
|
|
397
|
-
* players: { enabled: true },
|
|
398
|
-
* commands: { enabled: true },
|
|
399
|
-
* }
|
|
158
|
+
* mode: 'CORE'
|
|
400
159
|
* })
|
|
401
160
|
* ```
|
|
402
161
|
*/
|
|
@@ -407,13 +166,7 @@ export interface ServerInitOptions {
|
|
|
407
166
|
* Feature configuration.
|
|
408
167
|
*
|
|
409
168
|
* @remarks
|
|
410
|
-
*
|
|
411
|
-
* - `enabled: true` to enable a feature
|
|
412
|
-
* - `provider` (optional, only for players/commands/principal/auth if you want non-default)
|
|
413
|
-
* - `export: true` (optional, CORE mode only, for players/principal/chat)
|
|
414
|
-
*
|
|
415
|
-
* **Most features auto-determine their provider based on mode.**
|
|
416
|
-
* Only configure `provider` if you need to override defaults.
|
|
169
|
+
* Most features are enabled by default. Use this only to disable specific ones.
|
|
417
170
|
*/
|
|
418
171
|
features?: UserFeatureConfig;
|
|
419
172
|
/**
|
|
@@ -426,8 +179,6 @@ export interface ServerInitOptions {
|
|
|
426
179
|
* @defaultValue 'core'
|
|
427
180
|
*/
|
|
428
181
|
coreResourceName?: string;
|
|
429
|
-
/** Resource grants configuration (CORE mode only) */
|
|
430
|
-
resourceGrants?: ResourceGrants;
|
|
431
182
|
/** Development mode configuration (disabled in production) */
|
|
432
183
|
devMode?: DevModeConfig;
|
|
433
184
|
/** If you want to wait for a dependency promise, or when ready do something (By default, the core server will emit a "ready" when it is ready to all resources.) */
|
|
@@ -12,11 +12,8 @@ const FEATURE_NAMES = [
|
|
|
12
12
|
'fiveMEvents',
|
|
13
13
|
'commands',
|
|
14
14
|
'exports',
|
|
15
|
-
'http',
|
|
16
15
|
'chat',
|
|
17
|
-
'database',
|
|
18
16
|
'principal',
|
|
19
|
-
'auth',
|
|
20
17
|
'sessionLifecycle',
|
|
21
18
|
];
|
|
22
19
|
const FEATURE_ALLOWED_SCOPES = {
|
|
@@ -25,11 +22,8 @@ const FEATURE_ALLOWED_SCOPES = {
|
|
|
25
22
|
fiveMEvents: ['core', 'resource', 'standalone'],
|
|
26
23
|
commands: ['core', 'resource', 'standalone'],
|
|
27
24
|
exports: ['core', 'resource', 'standalone'],
|
|
28
|
-
http: ['core', 'resource', 'standalone'],
|
|
29
25
|
chat: ['core', 'resource', 'standalone'],
|
|
30
|
-
database: ['core', 'resource', 'standalone'],
|
|
31
26
|
principal: ['core', 'resource', 'standalone'],
|
|
32
|
-
auth: ['core', 'resource', 'standalone'],
|
|
33
27
|
sessionLifecycle: ['core', 'standalone'],
|
|
34
28
|
};
|
|
35
29
|
let runtimeContext = null;
|
|
@@ -53,68 +47,63 @@ function createDefaultFeatures(mode) {
|
|
|
53
47
|
const scope = getFrameworkModeScope(mode);
|
|
54
48
|
// Provider logic:
|
|
55
49
|
// - CORE/STANDALONE: All features use 'local' (run locally)
|
|
56
|
-
// - RESOURCE:
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const authProvider = mode === 'RESOURCE' ? 'core' : 'local';
|
|
61
|
-
// These always use 'local' regardless of mode
|
|
62
|
-
const netEventsProvider = 'local';
|
|
63
|
-
const fiveMEventsProvider = 'local';
|
|
64
|
-
const exportsProvider = 'local';
|
|
65
|
-
const httpProvider = 'local';
|
|
66
|
-
const chatProvider = 'local';
|
|
67
|
-
const databaseProvider = 'local';
|
|
68
|
-
const sessionLifecycleProvider = 'local';
|
|
69
|
-
const sessionLifecycleEnabled = mode !== 'RESOURCE';
|
|
70
|
-
// Features that should auto-export in CORE mode for RESOURCE access
|
|
71
|
-
const commandsExport = mode === 'CORE';
|
|
72
|
-
const playersExport = mode === 'CORE';
|
|
73
|
-
const principalExport = mode === 'CORE';
|
|
50
|
+
// - RESOURCE: Identity/Command features delegate to CORE ('core'), others run locally ('local')
|
|
51
|
+
const remoteProvider = mode === 'RESOURCE' ? 'core' : 'local';
|
|
52
|
+
const isResource = mode === 'RESOURCE';
|
|
53
|
+
const isCore = mode === 'CORE';
|
|
74
54
|
return {
|
|
75
55
|
players: {
|
|
76
56
|
enabled: true,
|
|
77
|
-
provider:
|
|
78
|
-
export:
|
|
57
|
+
provider: remoteProvider,
|
|
58
|
+
export: isCore,
|
|
79
59
|
scope,
|
|
80
|
-
required:
|
|
60
|
+
required: true,
|
|
81
61
|
},
|
|
82
62
|
netEvents: {
|
|
83
63
|
enabled: true,
|
|
84
|
-
provider:
|
|
64
|
+
provider: 'local',
|
|
85
65
|
export: false,
|
|
86
66
|
scope,
|
|
87
|
-
required:
|
|
67
|
+
required: true,
|
|
88
68
|
},
|
|
89
69
|
fiveMEvents: {
|
|
90
|
-
enabled:
|
|
91
|
-
provider:
|
|
70
|
+
enabled: true,
|
|
71
|
+
provider: 'local',
|
|
92
72
|
export: false,
|
|
93
73
|
scope,
|
|
94
74
|
required: false,
|
|
95
75
|
},
|
|
96
76
|
commands: {
|
|
97
|
-
enabled:
|
|
98
|
-
provider:
|
|
99
|
-
export:
|
|
77
|
+
enabled: true,
|
|
78
|
+
provider: remoteProvider,
|
|
79
|
+
export: isCore,
|
|
80
|
+
scope,
|
|
81
|
+
required: true,
|
|
82
|
+
},
|
|
83
|
+
exports: {
|
|
84
|
+
enabled: true,
|
|
85
|
+
provider: 'local',
|
|
86
|
+
export: false,
|
|
87
|
+
scope,
|
|
88
|
+
required: isCore,
|
|
89
|
+
},
|
|
90
|
+
chat: {
|
|
91
|
+
enabled: true,
|
|
92
|
+
provider: 'local',
|
|
93
|
+
export: isCore,
|
|
100
94
|
scope,
|
|
101
95
|
required: false,
|
|
102
96
|
},
|
|
103
|
-
exports: { enabled: false, provider: exportsProvider, export: false, scope, required: false },
|
|
104
|
-
http: { enabled: false, provider: httpProvider, export: false, scope, required: false },
|
|
105
|
-
chat: { enabled: false, provider: chatProvider, export: false, scope, required: false },
|
|
106
|
-
database: { enabled: false, provider: databaseProvider, export: false, scope, required: false },
|
|
107
97
|
principal: {
|
|
108
|
-
enabled:
|
|
109
|
-
provider:
|
|
110
|
-
export:
|
|
98
|
+
enabled: true,
|
|
99
|
+
provider: remoteProvider,
|
|
100
|
+
export: isCore,
|
|
111
101
|
scope,
|
|
112
102
|
required: false,
|
|
113
103
|
},
|
|
114
|
-
auth: { enabled: false, provider: authProvider, export: false, scope, required: false },
|
|
115
104
|
sessionLifecycle: {
|
|
116
|
-
enabled:
|
|
117
|
-
provider:
|
|
105
|
+
enabled: !isResource,
|
|
106
|
+
provider: 'local',
|
|
118
107
|
export: false,
|
|
119
108
|
scope,
|
|
120
109
|
required: false,
|
|
@@ -123,26 +112,27 @@ function createDefaultFeatures(mode) {
|
|
|
123
112
|
};
|
|
124
113
|
}
|
|
125
114
|
function resolveRuntimeOptions(options) {
|
|
126
|
-
var _a;
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
continue;
|
|
134
|
-
features[name] = Object.assign(Object.assign({}, defaults[name]), override);
|
|
115
|
+
var _a, _b;
|
|
116
|
+
const features = createDefaultFeatures(options.mode);
|
|
117
|
+
if ((_a = options.features) === null || _a === void 0 ? void 0 : _a.disabled) {
|
|
118
|
+
for (const name of options.features.disabled) {
|
|
119
|
+
if (features[name]) {
|
|
120
|
+
features[name].enabled = false;
|
|
121
|
+
}
|
|
135
122
|
}
|
|
136
123
|
}
|
|
137
124
|
return {
|
|
138
125
|
mode: options.mode,
|
|
139
126
|
features,
|
|
140
|
-
coreResourceName: (
|
|
141
|
-
resourceGrants: options.resourceGrants,
|
|
127
|
+
coreResourceName: (_b = options.coreResourceName) !== null && _b !== void 0 ? _b : 'core',
|
|
142
128
|
devMode: options.devMode,
|
|
129
|
+
onDependency: options.onDependency,
|
|
143
130
|
};
|
|
144
131
|
}
|
|
145
132
|
function assertFeatureKeys(features) {
|
|
133
|
+
if (!features) {
|
|
134
|
+
throw new Error('[OpenCore] Runtime options are missing features configuration');
|
|
135
|
+
}
|
|
146
136
|
const keys = Object.keys(features);
|
|
147
137
|
for (const key of keys) {
|
|
148
138
|
if (!FEATURE_NAMES.includes(key)) {
|
|
@@ -162,8 +152,7 @@ function validateRuntimeOptions(options) {
|
|
|
162
152
|
const needsCoreExports = mode === 'RESOURCE' &&
|
|
163
153
|
(features.players.provider === 'core' ||
|
|
164
154
|
features.commands.provider === 'core' ||
|
|
165
|
-
features.principal.provider === 'core'
|
|
166
|
-
features.auth.provider === 'core');
|
|
155
|
+
features.principal.provider === 'core');
|
|
167
156
|
// Validate coreResourceName exists if needed
|
|
168
157
|
if (mode === 'RESOURCE') {
|
|
169
158
|
const { coreResourceName } = options;
|
|
@@ -208,9 +197,6 @@ function validateRuntimeOptions(options) {
|
|
|
208
197
|
if (features.principal.enabled && mode === 'RESOURCE' && features.principal.provider !== 'core') {
|
|
209
198
|
throw new Error(`[OpenCore] Feature 'principal' must use provider 'core' in RESOURCE mode`);
|
|
210
199
|
}
|
|
211
|
-
if (features.auth.enabled && mode === 'RESOURCE' && features.auth.provider !== 'core') {
|
|
212
|
-
throw new Error(`[OpenCore] Feature 'auth' must use provider 'core' in RESOURCE mode`);
|
|
213
|
-
}
|
|
214
200
|
if (features.commands.enabled && mode === 'RESOURCE' && features.commands.provider !== 'core') {
|
|
215
201
|
throw new Error(`[OpenCore] Feature 'commands' must use provider 'core' in RESOURCE mode`);
|
|
216
202
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INetTransport } from '../../../adapters/contracts/INetTransport';
|
|
2
|
-
import { IPedAppearanceServer } from '../../../adapters/contracts/IPedAppearanceServer';
|
|
3
|
-
import { IPlayerServer } from '../../../adapters/contracts/IPlayerServer';
|
|
2
|
+
import { IPedAppearanceServer } from '../../../adapters/contracts/server/IPedAppearanceServer';
|
|
3
|
+
import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
|
|
4
4
|
import { AppearanceValidationResult, PlayerAppearance } from '../../../kernel/shared';
|
|
5
5
|
/**
|
|
6
6
|
* Server-side appearance management service.
|
|
@@ -18,15 +18,15 @@ import { AppearanceValidationResult, PlayerAppearance } from '../../../kernel/sh
|
|
|
18
18
|
* **Persistence:**
|
|
19
19
|
* The framework does NOT handle persistence internally.
|
|
20
20
|
* After calling `applyAppearance`, you receive the validated data back.
|
|
21
|
-
* You decide when and where to save it (
|
|
21
|
+
* You decide when and where to save it (persistent storage, file, etc.).
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
24
|
* ```typescript
|
|
25
25
|
* // Apply appearance to a player
|
|
26
26
|
* const result = await appearanceService.applyAppearance(playerSrc, appearanceData)
|
|
27
27
|
* if (result.success) {
|
|
28
|
-
* // Save to your
|
|
29
|
-
* await
|
|
28
|
+
* // Save to your storage
|
|
29
|
+
* await myStorage.saveAppearance(playerId, result.appearance)
|
|
30
30
|
* }
|
|
31
31
|
*
|
|
32
32
|
* // Validate appearance without applying
|
|
@@ -15,8 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.AppearanceService = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
const INetTransport_1 = require("../../../adapters/contracts/INetTransport");
|
|
18
|
-
const IPedAppearanceServer_1 = require("../../../adapters/contracts/IPedAppearanceServer");
|
|
19
|
-
const IPlayerServer_1 = require("../../../adapters/contracts/IPlayerServer");
|
|
18
|
+
const IPedAppearanceServer_1 = require("../../../adapters/contracts/server/IPedAppearanceServer");
|
|
19
|
+
const IPlayerServer_1 = require("../../../adapters/contracts/server/IPlayerServer");
|
|
20
20
|
/**
|
|
21
21
|
* Server-side appearance management service.
|
|
22
22
|
*
|
|
@@ -33,15 +33,15 @@ const IPlayerServer_1 = require("../../../adapters/contracts/IPlayerServer");
|
|
|
33
33
|
* **Persistence:**
|
|
34
34
|
* The framework does NOT handle persistence internally.
|
|
35
35
|
* After calling `applyAppearance`, you receive the validated data back.
|
|
36
|
-
* You decide when and where to save it (
|
|
36
|
+
* You decide when and where to save it (persistent storage, file, etc.).
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* ```typescript
|
|
40
40
|
* // Apply appearance to a player
|
|
41
41
|
* const result = await appearanceService.applyAppearance(playerSrc, appearanceData)
|
|
42
42
|
* if (result.success) {
|
|
43
|
-
* // Save to your
|
|
44
|
-
* await
|
|
43
|
+
* // Save to your storage
|
|
44
|
+
* await myStorage.saveAppearance(playerId, result.appearance)
|
|
45
45
|
* }
|
|
46
46
|
*
|
|
47
47
|
* // Validate appearance without applying
|