@open-core/framework 0.1.0-alpha.1 → 0.2.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +217 -360
- package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
- package/dist/adapters/contracts/IEngineEvents.js +6 -0
- package/dist/adapters/contracts/IEntityServer.d.ts +88 -0
- package/dist/adapters/contracts/IEntityServer.js +13 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +6 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +12 -0
- package/dist/adapters/contracts/INetTransport.d.ts +8 -0
- package/dist/adapters/contracts/INetTransport.js +6 -0
- package/dist/adapters/contracts/IPedAppearanceClient.d.ts +206 -0
- package/dist/adapters/contracts/IPedAppearanceClient.js +16 -0
- package/dist/adapters/contracts/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/IPedAppearanceServer.js +16 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +6 -0
- package/dist/adapters/contracts/IPlayerServer.d.ts +73 -0
- package/dist/adapters/contracts/IPlayerServer.js +13 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +3 -0
- package/dist/adapters/contracts/IResourceInfo.js +6 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +9 -0
- package/dist/adapters/contracts/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/IVehicleServer.js +13 -0
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.d.ts +2 -2
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.js +2 -2
- package/dist/adapters/database/resource.adapter.d.ts +12 -0
- package/dist/adapters/database/resource.adapter.js +68 -0
- package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
- package/dist/adapters/fivem/fivem-engine-events.js +13 -0
- package/dist/adapters/fivem/fivem-entity-server.d.ts +22 -0
- package/dist/adapters/fivem/fivem-entity-server.js +80 -0
- package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
- package/dist/adapters/fivem/fivem-exports.js +14 -0
- package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
- package/dist/adapters/fivem/fivem-hasher.js +23 -0
- package/dist/adapters/fivem/fivem-net-transport.d.ts +5 -0
- package/dist/adapters/fivem/fivem-net-transport.js +24 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +84 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +26 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-player-server.js +63 -0
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
- package/dist/adapters/fivem/fivem-playerinfo.js +14 -0
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +4 -0
- package/dist/adapters/fivem/fivem-resourceinfo.js +16 -0
- package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
- package/dist/adapters/fivem/fivem-tick.js +22 -0
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-vehicle-server.js +47 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.js +40 -0
- package/dist/adapters/node/index.d.ts +8 -0
- package/dist/adapters/node/index.js +19 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +42 -0
- package/dist/adapters/node/node-entity-server.d.ts +26 -0
- package/dist/adapters/node/node-entity-server.js +101 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +63 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +39 -0
- package/dist/adapters/node/node-net-transport.d.ts +18 -0
- package/dist/adapters/node/node-net-transport.js +57 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +59 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +18 -0
- package/dist/adapters/node/node-player-server.d.ts +27 -0
- package/dist/adapters/node/node-player-server.js +82 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +12 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +12 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/{server/system/processors/command.processor.js → adapters/node/node-tick.js} +27 -14
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +93 -0
- package/dist/adapters/register-capabilities.d.ts +11 -0
- package/dist/adapters/register-capabilities.js +148 -0
- package/dist/adapters/register-client-capabilities.d.ts +8 -0
- package/dist/adapters/register-client-capabilities.js +56 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +9 -5
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +20 -0
- package/dist/{system → kernel/di}/metadata.scanner.d.ts +1 -2
- package/dist/kernel/di/tokens.d.ts +30 -0
- package/dist/kernel/di/tokens.js +38 -0
- package/dist/kernel/index.d.ts +7 -0
- package/dist/kernel/index.js +30 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +5 -0
- package/dist/kernel/shared/appearance/appearance.interface.d.ts +276 -0
- package/dist/kernel/shared/appearance/appearance.interface.js +77 -0
- package/dist/kernel/shared/appearance/index.d.ts +1 -0
- package/dist/kernel/shared/appearance/index.js +17 -0
- package/dist/kernel/shared/index.d.ts +2 -0
- package/dist/{shared → kernel/shared}/index.js +1 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.d.ts +13 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.js +38 -9
- package/dist/{shared → kernel/shared}/logger/index.d.ts +12 -9
- package/dist/{shared → kernel/shared}/logger/index.js +24 -15
- package/dist/{shared → kernel/shared}/logger/logger.config.d.ts +1 -1
- package/dist/kernel/shared/logger/logger.env.d.ts +28 -0
- package/dist/kernel/shared/logger/logger.env.js +51 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.js +1 -1
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.js +1 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.js +111 -0
- package/dist/kernel/shared/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/shared/logger/transports/http.transport.js +170 -0
- package/dist/kernel/shared/logger/transports/index.d.ts +7 -0
- package/dist/kernel/shared/logger/transports/index.js +34 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.js +93 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.d.ts +1 -1
- package/dist/kernel/shared/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/shared/logger/transports/websocket.transport.js +169 -0
- package/dist/kernel/utils/error/app.error.d.ts +9 -0
- package/dist/{utils/errors.js → kernel/utils/error/app.error.js} +1 -9
- package/dist/kernel/utils/error/security.error.d.ts +6 -0
- package/dist/kernel/utils/error/security.error.js +12 -0
- package/dist/{utils → kernel/utils}/index.d.ts +3 -2
- package/dist/{utils → kernel/utils}/index.js +3 -2
- package/dist/{utils → kernel/utils}/result.d.ts +1 -1
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +180 -0
- package/dist/runtime/client/client-core.d.ts +19 -0
- package/dist/runtime/client/client-core.js +24 -0
- package/dist/runtime/client/client-runtime.d.ts +58 -0
- package/dist/runtime/client/client-runtime.js +32 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
- package/dist/runtime/client/controllers/appearance.controller.js +50 -0
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
- package/dist/runtime/client/controllers/player-sync.controller.js +54 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +55 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +29 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.d.ts +2 -2
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +31 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +31 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +29 -0
- package/dist/runtime/client/decorators/nui.d.ts +21 -0
- package/dist/runtime/client/decorators/nui.js +29 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +29 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +53 -0
- package/dist/runtime/client/decorators/tick.d.ts +21 -0
- package/dist/runtime/client/decorators/tick.js +29 -0
- package/dist/{client → runtime/client}/index.d.ts +2 -2
- package/dist/{client → runtime/client}/index.js +4 -2
- package/dist/runtime/client/interfaces/appearance.interface.d.ts +25 -0
- package/dist/runtime/client/interfaces/appearance.interface.js +2 -0
- package/dist/{client → runtime/client}/player/player.d.ts +1 -1
- package/dist/{client → runtime/client}/player/player.js +5 -6
- package/dist/{client → runtime/client}/player/player.loader.js +2 -2
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +328 -0
- package/dist/{client → runtime/client}/services/blip.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/index.d.ts +6 -5
- package/dist/{client → runtime/client}/services/index.js +6 -5
- package/dist/{client → runtime/client}/services/marker.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.js +3 -2
- package/dist/{client → runtime/client}/services/spawn.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/spawn.service.js +4 -8
- package/dist/{client → runtime/client}/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
- package/dist/runtime/client/services/vehicle-client.service.js +485 -0
- package/dist/{client → runtime/client}/services/vehicle.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/vehicle.service.js +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.js +2 -2
- package/dist/{client → runtime/client}/system/processors/interval.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/interval.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/key.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.js +1 -1
- package/dist/{client → runtime/client}/types/game-events.js +0 -8
- package/dist/{client → runtime/client}/ui-bridge.js +1 -1
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +39 -0
- package/dist/{server → runtime/server}/bootstrap.d.ts +2 -1
- package/dist/runtime/server/bootstrap.js +234 -0
- package/dist/runtime/server/bootstrap.validation.d.ts +12 -0
- package/dist/runtime/server/bootstrap.validation.js +102 -0
- package/dist/runtime/server/bus/core-event-bus.d.ts +6 -0
- package/dist/{server → runtime/server}/bus/core-event-bus.js +5 -5
- package/dist/{server → runtime/server}/configs/api.config.d.ts +1 -1
- package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.d.ts +2 -2
- package/dist/runtime/server/contracts/index.d.ts +7 -0
- package/dist/{server/templates → runtime/server/contracts}/index.js +8 -4
- package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.d.ts +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/index.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/index.js +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.js +0 -1
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +6 -0
- package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.d.ts +3 -3
- package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/chat.controller.js +23 -11
- package/dist/runtime/server/controllers/command-export.controller.d.ts +74 -0
- package/dist/runtime/server/controllers/command-export.controller.js +260 -0
- package/dist/runtime/server/controllers/command.controller.d.ts +15 -0
- package/dist/runtime/server/controllers/command.controller.js +100 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +29 -0
- package/dist/runtime/server/controllers/player-export.controller.js +173 -0
- package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +296 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +43 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +104 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/session.controller.js +15 -12
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +55 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +216 -0
- package/dist/runtime/server/core.d.ts +3 -0
- package/dist/runtime/server/core.js +11 -0
- package/dist/runtime/server/database/adapter.registry.d.ts +4 -0
- package/dist/runtime/server/database/adapter.registry.js +14 -0
- package/dist/{server → runtime/server}/database/database.contract.d.ts +1 -1
- package/dist/{server → runtime/server}/database/database.service.d.ts +3 -31
- package/dist/{server → runtime/server}/database/database.service.js +36 -50
- package/dist/runtime/server/database/index.d.ts +5 -0
- package/dist/runtime/server/database/index.js +25 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +31 -0
- package/dist/runtime/server/decorators/command.d.ts +81 -0
- package/dist/runtime/server/decorators/command.js +32 -0
- package/dist/{server → runtime/server}/decorators/controller.d.ts +4 -3
- package/dist/runtime/server/decorators/controller.js +61 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +32 -0
- package/dist/runtime/server/decorators/guard.d.ts +49 -0
- package/dist/{server → runtime/server}/decorators/guard.js +33 -32
- package/dist/{server → runtime/server}/decorators/index.d.ts +7 -4
- package/dist/{server → runtime/server}/decorators/index.js +8 -5
- package/dist/runtime/server/decorators/onFiveMEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFiveMEvent.js +32 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +22 -0
- package/dist/{server → runtime/server}/decorators/onFrameworkEvent.js +9 -9
- package/dist/runtime/server/decorators/onNet.d.ts +62 -0
- package/dist/runtime/server/decorators/onNet.js +15 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +29 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/{server → runtime/server}/decorators/public.js +15 -16
- package/dist/{server → runtime/server}/decorators/requiresState.d.ts +29 -22
- package/dist/runtime/server/decorators/requiresState.js +73 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/{server → runtime/server}/decorators/throttle.js +31 -19
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +60 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +11 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +9 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +110 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +324 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +232 -0
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +74 -0
- package/dist/runtime/server/devmode/hot-reload.server.js +261 -0
- package/dist/runtime/server/devmode/index.d.ts +8 -0
- package/dist/runtime/server/devmode/index.js +32 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +202 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +183 -0
- package/dist/runtime/server/devmode/types.d.ts +161 -0
- package/dist/runtime/server/devmode/types.js +28 -0
- package/dist/runtime/server/entities/index.d.ts +2 -0
- package/dist/{server → runtime/server}/entities/index.js +1 -0
- package/dist/{server → runtime/server}/entities/player.d.ts +70 -3
- package/dist/{server → runtime/server}/entities/player.js +92 -14
- package/dist/runtime/server/entities/vehicle.d.ts +160 -0
- package/dist/runtime/server/entities/vehicle.js +261 -0
- package/dist/{server → runtime/server}/error-handler.d.ts +1 -1
- package/dist/{server → runtime/server}/error-handler.js +7 -8
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +6 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +72 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -0
- package/dist/{server → runtime/server}/helpers/resolve-method.d.ts +1 -1
- package/dist/runtime/server/helpers/resolve-method.js +28 -0
- package/dist/{server → runtime/server}/index.d.ts +8 -6
- package/dist/{server → runtime/server}/index.js +14 -10
- package/dist/runtime/server/runtime.d.ts +408 -0
- package/dist/runtime/server/runtime.js +234 -0
- package/dist/runtime/server/services/access-control.service.d.ts +59 -0
- package/dist/runtime/server/services/access-control.service.js +127 -0
- package/dist/runtime/server/services/appearance.service.d.ts +99 -0
- package/dist/runtime/server/services/appearance.service.js +307 -0
- package/dist/runtime/server/services/chat.service.d.ts +33 -0
- package/dist/{server → runtime/server}/services/chat.service.js +26 -0
- package/dist/{server → runtime/server}/services/config.service.js +1 -1
- package/dist/runtime/server/services/core/command.service.d.ts +49 -0
- package/dist/runtime/server/services/core/command.service.js +112 -0
- package/dist/{server/services → runtime/server/services/core}/player.service.d.ts +48 -22
- package/dist/{server/services → runtime/server/services/core}/player.service.js +98 -14
- package/dist/runtime/server/services/core/principal.service.d.ts +28 -0
- package/dist/runtime/server/services/core/principal.service.js +126 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.d.ts +104 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.js +330 -0
- package/dist/runtime/server/services/core/vehicle.service.d.ts +128 -0
- package/dist/runtime/server/services/core/vehicle.service.js +391 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.js +28 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +19 -0
- package/dist/{server → runtime/server}/services/default/default-security.handler.js +15 -2
- package/dist/{server → runtime/server}/services/http/http.service.js +5 -5
- package/dist/runtime/server/services/index.d.ts +16 -0
- package/dist/runtime/server/services/index.js +39 -0
- package/dist/{server → runtime/server}/services/parallel/index.d.ts +2 -4
- package/dist/{server → runtime/server}/services/parallel/index.js +13 -15
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.js +2 -1
- package/dist/{server → runtime/server}/services/parallel/worker-pool.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/worker.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.js +13 -9
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +41 -0
- package/dist/runtime/server/services/ports/command-execution.port.js +15 -0
- package/dist/runtime/server/services/ports/player-directory.port.d.ts +107 -0
- package/dist/runtime/server/services/ports/player-directory.port.js +23 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.d.ts +49 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.js +16 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +149 -0
- package/dist/runtime/server/services/ports/principal.port.js +32 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/{server → runtime/server}/services/rate-limiter.service.js +18 -0
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +63 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +139 -0
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +62 -0
- package/dist/runtime/server/services/remote/remote-player.service.js +191 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.d.ts +55 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.js +130 -0
- package/dist/runtime/server/services/remote/remote-principal.service.d.ts +33 -0
- package/dist/runtime/server/services/remote/remote-principal.service.js +99 -0
- package/dist/runtime/server/services/remote/server-bridge.d.ts +34 -0
- package/dist/runtime/server/services/remote/server-bridge.js +94 -0
- package/dist/runtime/server/services/services.register.d.ts +14 -0
- package/dist/runtime/server/services/services.register.js +98 -0
- package/dist/runtime/server/services/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/services/types/player-session.object.d.ts +11 -0
- package/dist/runtime/server/services/vehicle-modification.service.d.ts +94 -0
- package/dist/runtime/server/services/vehicle-modification.service.js +310 -0
- package/dist/runtime/server/services/vehicle.service.d.ts +138 -0
- package/dist/runtime/server/services/vehicle.service.js +361 -0
- package/dist/runtime/server/setup.d.ts +10 -0
- package/dist/runtime/server/setup.js +33 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.d.ts +2 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.js +2 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +54 -0
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.d.ts +1 -1
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.js +3 -3
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/export.processor.js +15 -5
- package/dist/runtime/server/system/processors/fivemEvent.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/fivemEvent.processor.js +15 -5
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +240 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/{server → runtime/server}/system/processors/tick.processor.js +14 -4
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +37 -0
- package/dist/{server → runtime/server}/system/schema-generator.d.ts +1 -1
- package/dist/{server → runtime/server}/system/schema-generator.js +17 -8
- package/dist/{server/templates/admin → runtime/server/templates}/admin.controller-template.d.ts +1 -1
- package/dist/runtime/server/templates/index.d.ts +1 -0
- package/dist/runtime/server/templates/index.js +17 -0
- package/dist/runtime/server/types/core-exports.d.ts +285 -0
- package/dist/runtime/server/types/core-exports.js +2 -0
- package/dist/runtime/server/types/index.d.ts +4 -0
- package/dist/runtime/server/types/index.js +20 -0
- package/dist/runtime/server/types/security.types.js +2 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +2 -0
- package/package.json +98 -98
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- package/dist/client/decorators/controller.d.ts +0 -3
- package/dist/client/decorators/controller.js +0 -14
- package/dist/client/decorators/export.d.ts +0 -7
- package/dist/client/decorators/export.js +0 -15
- package/dist/client/decorators/interval.d.ts +0 -7
- package/dist/client/decorators/interval.js +0 -15
- package/dist/client/decorators/key.d.ts +0 -2
- package/dist/client/decorators/key.js +0 -10
- package/dist/client/decorators/localEvent.d.ts +0 -7
- package/dist/client/decorators/localEvent.js +0 -15
- package/dist/client/decorators/nui.d.ts +0 -1
- package/dist/client/decorators/nui.js +0 -9
- package/dist/client/decorators/onNet.d.ts +0 -1
- package/dist/client/decorators/onNet.js +0 -9
- package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
- package/dist/client/decorators/resourceLifecycle.js +0 -24
- package/dist/client/decorators/tick.d.ts +0 -1
- package/dist/client/decorators/tick.js +0 -9
- package/dist/client/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/services/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- package/dist/server/controllers/command.controller.d.ts +0 -7
- package/dist/server/controllers/command.controller.js +0 -47
- package/dist/server/controllers/session.controller.d.ts +0 -9
- package/dist/server/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- package/dist/server/decorators/bind.d.ts +0 -2
- package/dist/server/decorators/bind.js +0 -15
- package/dist/server/decorators/command.d.ts +0 -49
- package/dist/server/decorators/command.js +0 -23
- package/dist/server/decorators/controller.js +0 -36
- package/dist/server/decorators/export.d.ts +0 -39
- package/dist/server/decorators/export.js +0 -47
- package/dist/server/decorators/guard.d.ts +0 -56
- package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
- package/dist/server/decorators/onFiveMEvent.js +0 -14
- package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
- package/dist/server/decorators/onNet.d.ts +0 -58
- package/dist/server/decorators/onNet.js +0 -57
- package/dist/server/decorators/onTick.d.ts +0 -32
- package/dist/server/decorators/onTick.js +0 -40
- package/dist/server/decorators/public.d.ts +0 -27
- package/dist/server/decorators/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- package/dist/server/decorators/utils.d.ts +0 -57
- package/dist/server/decorators/utils.js +0 -63
- package/dist/server/entities/index.d.ts +0 -1
- package/dist/server/helpers/resolve-method.js +0 -18
- package/dist/server/loaders/exports.loader.d.ts +0 -0
- package/dist/server/loaders/exports.loader.js +0 -23
- package/dist/server/loaders/playerSession.loader.d.ts +0 -1
- package/dist/server/loaders/playerSession.loader.js +0 -51
- package/dist/server/services/access-control.service.d.ts +0 -56
- package/dist/server/services/access-control.service.js +0 -99
- package/dist/server/services/chat.service.d.ts +0 -7
- package/dist/server/services/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- package/dist/server/services/registers.d.ts +0 -1
- package/dist/server/services/registers.js +0 -18
- package/dist/server/setup.d.ts +0 -9
- package/dist/server/setup.js +0 -28
- package/dist/server/system/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
- package/dist/server/system/processors/netEvent.processor.js +0 -103
- package/dist/server/system/processors/tick.processor.d.ts +0 -5
- package/dist/server/system/processors.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/utils/errors.d.ts +0 -14
- package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- package/dist/{system → kernel/di}/class-constructor.js +0 -0
- package/dist/{server → kernel/di}/container.d.ts +0 -0
- package/dist/{server → kernel/di}/container.js +0 -0
- package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- package/dist/{system → kernel/di}/decorator-processor.js +0 -0
- package/dist/{system → kernel/di}/metadata.scanner.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.config.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.d.ts +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.js +0 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.js +0 -0
- package/dist/{utils → kernel/utils}/result.js +0 -0
- package/dist/{utils → kernel/utils}/rgb.d.ts +0 -0
- package/dist/{utils → kernel/utils}/rgb.js +0 -0
- package/dist/{utils → kernel/utils}/vector3.d.ts +0 -0
- package/dist/{utils → kernel/utils}/vector3.js +0 -0
- package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- package/dist/{client → runtime/client}/client-container.js +0 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.js +0 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.js +0 -0
- package/dist/{client → runtime/client}/decorators/index.d.ts +5 -5
- package/dist/{client → runtime/client}/decorators/index.js +5 -5
- package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
- package/dist/{client → runtime/client}/services/blip.service.js +0 -0
- package/dist/{client → runtime/client}/services/marker.service.js +0 -0
- package/dist/{client → runtime/client}/services/notification.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/notification.service.js +0 -0
- package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/progress.service.js +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.js +0 -0
- package/dist/{client → runtime/client}/services/textui.service.js +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.d.ts +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.js +0 -0
- package/dist/{client → runtime/client}/system/processors/key.processor.js +0 -0
- package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
- package/dist/{client → runtime/client}/system/processors.register.js +6 -6
- /package/dist/{client → runtime/client}/types/game-events.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.js +0 -0
- /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/api.config.js +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.js +0 -0
- /package/dist/{server → runtime/server}/configs/index.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/index.js +0 -0
- /package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.js +0 -0
- /package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/database.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/database/types.js +0 -0
- /package/dist/{server → runtime/server}/database.d.ts +0 -0
- /package/dist/{server → runtime/server}/database.js +0 -0
- /package/dist/{server → runtime/server}/services/config.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/http/http.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker-pool.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker.js +0 -0
- /package/dist/{client/interfaces/appearance.interface.js → runtime/server/services/types/linked-id.js} +0 -0
- /package/dist/{server/templates/admin/admin.controller-template.js → runtime/server/services/types/player-session.object.js} +0 -0
- /package/dist/{server/types/core-events.js → runtime/server/templates/admin.controller-template.js} +0 -0
- /package/dist/{server → runtime/server}/types/core-events.d.ts +0 -0
- /package/dist/{server/types/security.types.js → runtime/server/types/core-events.js} +0 -0
- /package/dist/{server → runtime/server}/types/security.types.d.ts +0 -0
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BufferedTransport = exports.ConsoleTransport = exports.loggers = exports.coreLogger = exports.ChildLogger = exports.LoggerService = exports.DEFAULT_LOGGER_CONFIG = exports.createLoggerConfig = exports.parseLogLevel = exports.LogDomainLabels = exports.LogDomain = exports.LogLevelLabels = exports.LogLevel = void 0;
|
|
4
2
|
// Types
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "
|
|
10
|
-
Object.defineProperty(exports, "
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SimpleConsoleTransport = exports.ConsoleTransport = exports.BufferedTransport = exports.parseLogLevel = exports.LogLevelLabels = exports.LogLevel = exports.LogDomainLabels = exports.LogDomain = exports.LoggerService = exports.ChildLogger = exports.isServerEnvironment = exports.isFiveMEnvironment = exports.isDebugMode = exports.isClientEnvironment = exports.getLogLevel = exports.DEFAULT_LOGGER_CONFIG = exports.createLoggerConfig = exports.loggers = exports.coreLogger = void 0;
|
|
5
|
+
// Core Logger (internal framework use)
|
|
6
|
+
var core_logger_1 = require("./core-logger");
|
|
7
|
+
Object.defineProperty(exports, "coreLogger", { enumerable: true, get: function () { return core_logger_1.coreLogger; } });
|
|
8
|
+
Object.defineProperty(exports, "loggers", { enumerable: true, get: function () { return core_logger_1.loggers; } });
|
|
11
9
|
// Config
|
|
12
10
|
var logger_config_1 = require("./logger.config");
|
|
13
11
|
Object.defineProperty(exports, "createLoggerConfig", { enumerable: true, get: function () { return logger_config_1.createLoggerConfig; } });
|
|
14
12
|
Object.defineProperty(exports, "DEFAULT_LOGGER_CONFIG", { enumerable: true, get: function () { return logger_config_1.DEFAULT_LOGGER_CONFIG; } });
|
|
13
|
+
// Environment utilities
|
|
14
|
+
var logger_env_1 = require("./logger.env");
|
|
15
|
+
Object.defineProperty(exports, "getLogLevel", { enumerable: true, get: function () { return logger_env_1.getLogLevel; } });
|
|
16
|
+
Object.defineProperty(exports, "isClientEnvironment", { enumerable: true, get: function () { return logger_env_1.isClientEnvironment; } });
|
|
17
|
+
Object.defineProperty(exports, "isDebugMode", { enumerable: true, get: function () { return logger_env_1.isDebugMode; } });
|
|
18
|
+
Object.defineProperty(exports, "isFiveMEnvironment", { enumerable: true, get: function () { return logger_env_1.isFiveMEnvironment; } });
|
|
19
|
+
Object.defineProperty(exports, "isServerEnvironment", { enumerable: true, get: function () { return logger_env_1.isServerEnvironment; } });
|
|
15
20
|
// Service
|
|
16
21
|
var logger_service_1 = require("./logger.service");
|
|
17
|
-
Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return logger_service_1.LoggerService; } });
|
|
18
22
|
Object.defineProperty(exports, "ChildLogger", { enumerable: true, get: function () { return logger_service_1.ChildLogger; } });
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "
|
|
22
|
-
Object.defineProperty(exports, "
|
|
23
|
-
|
|
24
|
-
Object.defineProperty(exports, "
|
|
23
|
+
Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return logger_service_1.LoggerService; } });
|
|
24
|
+
var logger_types_1 = require("./logger.types");
|
|
25
|
+
Object.defineProperty(exports, "LogDomain", { enumerable: true, get: function () { return logger_types_1.LogDomain; } });
|
|
26
|
+
Object.defineProperty(exports, "LogDomainLabels", { enumerable: true, get: function () { return logger_types_1.LogDomainLabels; } });
|
|
27
|
+
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logger_types_1.LogLevel; } });
|
|
28
|
+
Object.defineProperty(exports, "LogLevelLabels", { enumerable: true, get: function () { return logger_types_1.LogLevelLabels; } });
|
|
29
|
+
Object.defineProperty(exports, "parseLogLevel", { enumerable: true, get: function () { return logger_types_1.parseLogLevel; } });
|
|
25
30
|
var buffered_transport_1 = require("./transports/buffered.transport");
|
|
26
31
|
Object.defineProperty(exports, "BufferedTransport", { enumerable: true, get: function () { return buffered_transport_1.BufferedTransport; } });
|
|
32
|
+
var console_transport_1 = require("./transports/console.transport");
|
|
33
|
+
Object.defineProperty(exports, "ConsoleTransport", { enumerable: true, get: function () { return console_transport_1.ConsoleTransport; } });
|
|
34
|
+
var simple_console_transport_1 = require("./transports/simple-console.transport");
|
|
35
|
+
Object.defineProperty(exports, "SimpleConsoleTransport", { enumerable: true, get: function () { return simple_console_transport_1.SimpleConsoleTransport; } });
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LogLevel } from './logger.types';
|
|
2
|
+
/**
|
|
3
|
+
* Detects if we're running in a FiveM client environment.
|
|
4
|
+
* Client has GetPlayerPed but not GetNumPlayerIndices (server-only native).
|
|
5
|
+
*/
|
|
6
|
+
export declare function isClientEnvironment(): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Detects if we're running in a FiveM server environment.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isServerEnvironment(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Detects if we're running in a FiveM environment (client or server).
|
|
13
|
+
*/
|
|
14
|
+
export declare function isFiveMEnvironment(): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the configured log level.
|
|
17
|
+
*
|
|
18
|
+
* The log level is determined at build-time from opencore.config.ts via the CLI.
|
|
19
|
+
* If not configured, defaults to INFO.
|
|
20
|
+
*
|
|
21
|
+
* @returns The configured LogLevel
|
|
22
|
+
*/
|
|
23
|
+
export declare function getLogLevel(): LogLevel;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if debug mode is enabled based on log level.
|
|
26
|
+
* Debug mode is enabled when log level is DEBUG or TRACE.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isDebugMode(): boolean;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isClientEnvironment = isClientEnvironment;
|
|
4
|
+
exports.isServerEnvironment = isServerEnvironment;
|
|
5
|
+
exports.isFiveMEnvironment = isFiveMEnvironment;
|
|
6
|
+
exports.getLogLevel = getLogLevel;
|
|
7
|
+
exports.isDebugMode = isDebugMode;
|
|
8
|
+
const logger_types_1 = require("./logger.types");
|
|
9
|
+
/**
|
|
10
|
+
* Detects if we're running in a FiveM client environment.
|
|
11
|
+
* Client has GetPlayerPed but not GetNumPlayerIndices (server-only native).
|
|
12
|
+
*/
|
|
13
|
+
function isClientEnvironment() {
|
|
14
|
+
if (typeof __OPENCORE_TARGET__ !== 'undefined') {
|
|
15
|
+
return __OPENCORE_TARGET__ === 'client';
|
|
16
|
+
}
|
|
17
|
+
return (typeof globalThis.GetPlayerPed === 'function' &&
|
|
18
|
+
typeof globalThis.GetNumPlayerIndices !== 'function');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Detects if we're running in a FiveM server environment.
|
|
22
|
+
*/
|
|
23
|
+
function isServerEnvironment() {
|
|
24
|
+
return typeof globalThis.GetNumPlayerIndices === 'function';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Detects if we're running in a FiveM environment (client or server).
|
|
28
|
+
*/
|
|
29
|
+
function isFiveMEnvironment() {
|
|
30
|
+
return isClientEnvironment() || isServerEnvironment();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Gets the configured log level.
|
|
34
|
+
*
|
|
35
|
+
* The log level is determined at build-time from opencore.config.ts via the CLI.
|
|
36
|
+
* If not configured, defaults to INFO.
|
|
37
|
+
*
|
|
38
|
+
* @returns The configured LogLevel
|
|
39
|
+
*/
|
|
40
|
+
function getLogLevel() {
|
|
41
|
+
// Use build-time injected value, fallback to INFO
|
|
42
|
+
const level = typeof __OPENCORE_LOG_LEVEL__ !== 'undefined' ? __OPENCORE_LOG_LEVEL__ : 'INFO';
|
|
43
|
+
return (0, logger_types_1.parseLogLevel)(level);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Checks if debug mode is enabled based on log level.
|
|
47
|
+
* Debug mode is enabled when log level is DEBUG or TRACE.
|
|
48
|
+
*/
|
|
49
|
+
function isDebugMode() {
|
|
50
|
+
return getLogLevel() <= logger_types_1.LogLevel.DEBUG;
|
|
51
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type LoggerConfig } from './logger.config';
|
|
2
|
-
import { LogDomain, LogLevel
|
|
3
|
-
import
|
|
2
|
+
import { type LogContext, LogDomain, LogLevel } from './logger.types';
|
|
3
|
+
import { LogTransport } from './transports/transport.interface';
|
|
4
4
|
/**
|
|
5
5
|
* Central logging service for the framework.
|
|
6
6
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { type LogEntry, LogLevel } from '../logger.types';
|
|
2
|
+
import { LogTransport } from './transport.interface';
|
|
3
3
|
/**
|
|
4
4
|
* Output format for exported logs.
|
|
5
5
|
*/
|
|
@@ -91,7 +91,6 @@ class BufferedTransport {
|
|
|
91
91
|
return this.exportJson();
|
|
92
92
|
case 'csv':
|
|
93
93
|
return this.exportCsv();
|
|
94
|
-
case 'text':
|
|
95
94
|
default:
|
|
96
95
|
return this.exportText();
|
|
97
96
|
}
|
|
@@ -164,6 +163,7 @@ class BufferedTransport {
|
|
|
164
163
|
cleanContext(context) {
|
|
165
164
|
if (!context)
|
|
166
165
|
return {};
|
|
166
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
167
167
|
const { source, domain } = context, rest = __rest(context, ["source", "domain"]);
|
|
168
168
|
return rest;
|
|
169
169
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { type LogEntry, LogLevel } from '../logger.types';
|
|
2
|
+
import { LogTransport } from './transport.interface';
|
|
3
3
|
export interface ConsoleTransportOptions {
|
|
4
4
|
/**
|
|
5
5
|
* Minimum log level to output. Defaults to DEBUG.
|
|
@@ -120,6 +120,7 @@ class ConsoleTransport {
|
|
|
120
120
|
}
|
|
121
121
|
// Output context if present (excluding source and domain which are already shown)
|
|
122
122
|
if (context) {
|
|
123
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
123
124
|
const { source, domain: _ } = context, rest = __rest(context, ["source", "domain"]);
|
|
124
125
|
if (Object.keys(rest).length > 0) {
|
|
125
126
|
console.debug(`${dim} └─ context:${reset}`, rest);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { LogLevel } from '../logger.types';
|
|
2
|
+
import { HttpLogTransport, type HttpTransportOptions } from './http.transport';
|
|
3
|
+
import { LogTransport } from './transport.interface';
|
|
4
|
+
import { WebSocketLogTransport, type WebSocketTransportOptions } from './websocket.transport';
|
|
5
|
+
/**
|
|
6
|
+
* Runtime environment detection.
|
|
7
|
+
*/
|
|
8
|
+
export type RuntimeEnvironment = 'fivem' | 'node';
|
|
9
|
+
/**
|
|
10
|
+
* Options for creating a dev transport.
|
|
11
|
+
*/
|
|
12
|
+
export interface DevTransportOptions {
|
|
13
|
+
/** HTTP endpoint URL for FiveM mode */
|
|
14
|
+
httpUrl: string;
|
|
15
|
+
/** WebSocket URL for Node.js mode */
|
|
16
|
+
wsUrl?: string;
|
|
17
|
+
/** Force a specific transport type */
|
|
18
|
+
forceTransport?: 'http' | 'websocket';
|
|
19
|
+
/** Minimum log level */
|
|
20
|
+
minLevel?: LogLevel;
|
|
21
|
+
/** HTTP transport specific options */
|
|
22
|
+
httpOptions?: Partial<Omit<HttpTransportOptions, 'url'>>;
|
|
23
|
+
/** WebSocket transport specific options */
|
|
24
|
+
wsOptions?: Partial<Omit<WebSocketTransportOptions, 'url'>>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Detects the current runtime environment.
|
|
28
|
+
*
|
|
29
|
+
* @returns 'fivem' if running in FiveM, 'node' otherwise
|
|
30
|
+
*/
|
|
31
|
+
export declare function detectEnvironment(): RuntimeEnvironment;
|
|
32
|
+
/**
|
|
33
|
+
* Checks if WebSocket is available in the current environment.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isWebSocketAvailable(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Creates the appropriate log transport based on the runtime environment.
|
|
38
|
+
*
|
|
39
|
+
* - In FiveM: Uses HttpLogTransport (Node.js http module)
|
|
40
|
+
* - In Node.js: Uses WebSocketLogTransport if available, otherwise HttpLogTransport
|
|
41
|
+
*
|
|
42
|
+
* @param options - Transport configuration
|
|
43
|
+
* @returns Configured log transport
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const transport = createDevTransport({
|
|
48
|
+
* httpUrl: 'http://localhost:3847/logs',
|
|
49
|
+
* wsUrl: 'ws://localhost:3848',
|
|
50
|
+
* })
|
|
51
|
+
*
|
|
52
|
+
* if ('start' in transport) {
|
|
53
|
+
* transport.start() // HTTP transport
|
|
54
|
+
* } else if ('connect' in transport) {
|
|
55
|
+
* await transport.connect() // WebSocket transport
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function createDevTransport(options: DevTransportOptions): LogTransport;
|
|
60
|
+
/**
|
|
61
|
+
* Type guard to check if transport is HttpLogTransport.
|
|
62
|
+
*/
|
|
63
|
+
export declare function isHttpTransport(transport: LogTransport): transport is HttpLogTransport;
|
|
64
|
+
/**
|
|
65
|
+
* Type guard to check if transport is WebSocketLogTransport.
|
|
66
|
+
*/
|
|
67
|
+
export declare function isWebSocketTransport(transport: LogTransport): transport is WebSocketLogTransport;
|
|
68
|
+
/**
|
|
69
|
+
* Starts the transport (handles both HTTP and WebSocket).
|
|
70
|
+
*/
|
|
71
|
+
export declare function startDevTransport(transport: LogTransport): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Stops the transport (handles both HTTP and WebSocket).
|
|
74
|
+
*/
|
|
75
|
+
export declare function stopDevTransport(transport: LogTransport): Promise<void>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectEnvironment = detectEnvironment;
|
|
4
|
+
exports.isWebSocketAvailable = isWebSocketAvailable;
|
|
5
|
+
exports.createDevTransport = createDevTransport;
|
|
6
|
+
exports.isHttpTransport = isHttpTransport;
|
|
7
|
+
exports.isWebSocketTransport = isWebSocketTransport;
|
|
8
|
+
exports.startDevTransport = startDevTransport;
|
|
9
|
+
exports.stopDevTransport = stopDevTransport;
|
|
10
|
+
const logger_types_1 = require("../logger.types");
|
|
11
|
+
const http_transport_1 = require("./http.transport");
|
|
12
|
+
const websocket_transport_1 = require("./websocket.transport");
|
|
13
|
+
/**
|
|
14
|
+
* Detects the current runtime environment.
|
|
15
|
+
*
|
|
16
|
+
* @returns 'fivem' if running in FiveM, 'node' otherwise
|
|
17
|
+
*/
|
|
18
|
+
function detectEnvironment() {
|
|
19
|
+
// Check for FiveM-specific globals
|
|
20
|
+
if (typeof GetCurrentResourceName === 'function') {
|
|
21
|
+
return 'fivem';
|
|
22
|
+
}
|
|
23
|
+
return 'node';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if WebSocket is available in the current environment.
|
|
27
|
+
*/
|
|
28
|
+
function isWebSocketAvailable() {
|
|
29
|
+
return typeof WebSocket !== 'undefined';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates the appropriate log transport based on the runtime environment.
|
|
33
|
+
*
|
|
34
|
+
* - In FiveM: Uses HttpLogTransport (Node.js http module)
|
|
35
|
+
* - In Node.js: Uses WebSocketLogTransport if available, otherwise HttpLogTransport
|
|
36
|
+
*
|
|
37
|
+
* @param options - Transport configuration
|
|
38
|
+
* @returns Configured log transport
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const transport = createDevTransport({
|
|
43
|
+
* httpUrl: 'http://localhost:3847/logs',
|
|
44
|
+
* wsUrl: 'ws://localhost:3848',
|
|
45
|
+
* })
|
|
46
|
+
*
|
|
47
|
+
* if ('start' in transport) {
|
|
48
|
+
* transport.start() // HTTP transport
|
|
49
|
+
* } else if ('connect' in transport) {
|
|
50
|
+
* await transport.connect() // WebSocket transport
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
function createDevTransport(options) {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
const env = detectEnvironment();
|
|
57
|
+
const minLevel = (_a = options.minLevel) !== null && _a !== void 0 ? _a : logger_types_1.LogLevel.DEBUG;
|
|
58
|
+
// If forced transport type is specified, use it
|
|
59
|
+
if (options.forceTransport === 'http') {
|
|
60
|
+
return new http_transport_1.HttpLogTransport(Object.assign({ url: options.httpUrl }, options.httpOptions), minLevel);
|
|
61
|
+
}
|
|
62
|
+
if (options.forceTransport === 'websocket') {
|
|
63
|
+
const wsUrl = (_b = options.wsUrl) !== null && _b !== void 0 ? _b : options.httpUrl.replace('http', 'ws');
|
|
64
|
+
return new websocket_transport_1.WebSocketLogTransport(Object.assign({ url: wsUrl }, options.wsOptions), minLevel);
|
|
65
|
+
}
|
|
66
|
+
// Auto-detect based on environment
|
|
67
|
+
if (env === 'fivem') {
|
|
68
|
+
// FiveM: Always use HTTP (WebSocket not available in FiveM runtime)
|
|
69
|
+
return new http_transport_1.HttpLogTransport(Object.assign({ url: options.httpUrl }, options.httpOptions), minLevel);
|
|
70
|
+
}
|
|
71
|
+
// Node.js: Prefer WebSocket if available, otherwise use HTTP
|
|
72
|
+
if (isWebSocketAvailable() && options.wsUrl) {
|
|
73
|
+
return new websocket_transport_1.WebSocketLogTransport(Object.assign({ url: options.wsUrl }, options.wsOptions), minLevel);
|
|
74
|
+
}
|
|
75
|
+
// Fallback to HTTP
|
|
76
|
+
return new http_transport_1.HttpLogTransport(Object.assign({ url: options.httpUrl }, options.httpOptions), minLevel);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard to check if transport is HttpLogTransport.
|
|
80
|
+
*/
|
|
81
|
+
function isHttpTransport(transport) {
|
|
82
|
+
return transport.name === 'http';
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Type guard to check if transport is WebSocketLogTransport.
|
|
86
|
+
*/
|
|
87
|
+
function isWebSocketTransport(transport) {
|
|
88
|
+
return transport.name === 'websocket';
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Starts the transport (handles both HTTP and WebSocket).
|
|
92
|
+
*/
|
|
93
|
+
async function startDevTransport(transport) {
|
|
94
|
+
if (isHttpTransport(transport)) {
|
|
95
|
+
transport.start();
|
|
96
|
+
}
|
|
97
|
+
else if (isWebSocketTransport(transport)) {
|
|
98
|
+
await transport.connect();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Stops the transport (handles both HTTP and WebSocket).
|
|
103
|
+
*/
|
|
104
|
+
async function stopDevTransport(transport) {
|
|
105
|
+
if (isHttpTransport(transport)) {
|
|
106
|
+
await transport.stop();
|
|
107
|
+
}
|
|
108
|
+
else if (isWebSocketTransport(transport)) {
|
|
109
|
+
transport.destroy();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type LogEntry, LogLevel } from '../logger.types';
|
|
2
|
+
import { LogTransport } from './transport.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for HTTP log transport.
|
|
5
|
+
*/
|
|
6
|
+
export interface HttpTransportOptions {
|
|
7
|
+
/** HTTP endpoint URL (e.g., 'http://localhost:3847/logs') */
|
|
8
|
+
url: string;
|
|
9
|
+
/** Request timeout in milliseconds */
|
|
10
|
+
timeout?: number;
|
|
11
|
+
/** Batch size - number of logs to send per request */
|
|
12
|
+
batchSize?: number;
|
|
13
|
+
/** Flush interval in milliseconds */
|
|
14
|
+
flushInterval?: number;
|
|
15
|
+
/** Maximum buffer size */
|
|
16
|
+
maxBufferSize?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* HTTP-based log transport for streaming logs to external tools.
|
|
20
|
+
*
|
|
21
|
+
* Compatible with FiveM's Node.js runtime. Uses batched HTTP POST requests
|
|
22
|
+
* instead of WebSocket for environments where WebSocket is unavailable.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const transport = new HttpLogTransport({
|
|
27
|
+
* url: 'http://localhost:3847/logs',
|
|
28
|
+
* batchSize: 10,
|
|
29
|
+
* flushInterval: 1000,
|
|
30
|
+
* })
|
|
31
|
+
* transport.start()
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class HttpLogTransport implements LogTransport {
|
|
35
|
+
readonly name = "http";
|
|
36
|
+
minLevel: LogLevel;
|
|
37
|
+
private buffer;
|
|
38
|
+
private options;
|
|
39
|
+
private flushTimer;
|
|
40
|
+
private isSending;
|
|
41
|
+
private parsedUrl;
|
|
42
|
+
constructor(options: HttpTransportOptions, minLevel?: LogLevel);
|
|
43
|
+
/**
|
|
44
|
+
* Starts the flush timer for periodic log sending.
|
|
45
|
+
*/
|
|
46
|
+
start(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Stops the transport and flushes remaining logs.
|
|
49
|
+
*/
|
|
50
|
+
stop(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Writes a log entry to the buffer.
|
|
53
|
+
*/
|
|
54
|
+
write(entry: LogEntry): void;
|
|
55
|
+
/**
|
|
56
|
+
* Flushes buffered logs to the server.
|
|
57
|
+
*/
|
|
58
|
+
flush(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Sends logs via HTTP POST.
|
|
61
|
+
*/
|
|
62
|
+
private sendLogs;
|
|
63
|
+
/**
|
|
64
|
+
* Destroys the transport and clears resources.
|
|
65
|
+
*/
|
|
66
|
+
destroy(): void;
|
|
67
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpLogTransport = void 0;
|
|
4
|
+
const logger_types_1 = require("../logger.types");
|
|
5
|
+
// Lazy-loaded http module (only loaded at runtime, not bundled)
|
|
6
|
+
let httpModule = null;
|
|
7
|
+
// Use variable to prevent esbuild from statically analyzing the require
|
|
8
|
+
const HTTP_MODULE = 'http';
|
|
9
|
+
function getHttpSync() {
|
|
10
|
+
if (!httpModule) {
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
12
|
+
httpModule = require(HTTP_MODULE);
|
|
13
|
+
}
|
|
14
|
+
return httpModule;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* HTTP-based log transport for streaming logs to external tools.
|
|
18
|
+
*
|
|
19
|
+
* Compatible with FiveM's Node.js runtime. Uses batched HTTP POST requests
|
|
20
|
+
* instead of WebSocket for environments where WebSocket is unavailable.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const transport = new HttpLogTransport({
|
|
25
|
+
* url: 'http://localhost:3847/logs',
|
|
26
|
+
* batchSize: 10,
|
|
27
|
+
* flushInterval: 1000,
|
|
28
|
+
* })
|
|
29
|
+
* transport.start()
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
class HttpLogTransport {
|
|
33
|
+
constructor(options, minLevel = logger_types_1.LogLevel.DEBUG) {
|
|
34
|
+
var _a, _b, _c, _d;
|
|
35
|
+
this.name = 'http';
|
|
36
|
+
this.buffer = [];
|
|
37
|
+
this.flushTimer = null;
|
|
38
|
+
this.isSending = false;
|
|
39
|
+
this.minLevel = minLevel;
|
|
40
|
+
this.options = {
|
|
41
|
+
url: options.url,
|
|
42
|
+
timeout: (_a = options.timeout) !== null && _a !== void 0 ? _a : 5000,
|
|
43
|
+
batchSize: (_b = options.batchSize) !== null && _b !== void 0 ? _b : 20,
|
|
44
|
+
flushInterval: (_c = options.flushInterval) !== null && _c !== void 0 ? _c : 500,
|
|
45
|
+
maxBufferSize: (_d = options.maxBufferSize) !== null && _d !== void 0 ? _d : 500,
|
|
46
|
+
};
|
|
47
|
+
this.parsedUrl = new URL(this.options.url);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Starts the flush timer for periodic log sending.
|
|
51
|
+
*/
|
|
52
|
+
start() {
|
|
53
|
+
if (this.flushTimer)
|
|
54
|
+
return;
|
|
55
|
+
this.flushTimer = setInterval(() => {
|
|
56
|
+
void this.flush();
|
|
57
|
+
}, this.options.flushInterval);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Stops the transport and flushes remaining logs.
|
|
61
|
+
*/
|
|
62
|
+
async stop() {
|
|
63
|
+
if (this.flushTimer) {
|
|
64
|
+
clearInterval(this.flushTimer);
|
|
65
|
+
this.flushTimer = null;
|
|
66
|
+
}
|
|
67
|
+
await this.flush();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Writes a log entry to the buffer.
|
|
71
|
+
*/
|
|
72
|
+
write(entry) {
|
|
73
|
+
this.buffer.push(entry);
|
|
74
|
+
// Prevent buffer overflow
|
|
75
|
+
if (this.buffer.length > this.options.maxBufferSize) {
|
|
76
|
+
this.buffer.shift();
|
|
77
|
+
}
|
|
78
|
+
// Flush immediately if batch size reached
|
|
79
|
+
if (this.buffer.length >= this.options.batchSize) {
|
|
80
|
+
void this.flush();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Flushes buffered logs to the server.
|
|
85
|
+
*/
|
|
86
|
+
async flush() {
|
|
87
|
+
if (this.isSending || this.buffer.length === 0)
|
|
88
|
+
return;
|
|
89
|
+
this.isSending = true;
|
|
90
|
+
const logsToSend = this.buffer.splice(0, this.options.batchSize);
|
|
91
|
+
try {
|
|
92
|
+
await this.sendLogs(logsToSend);
|
|
93
|
+
}
|
|
94
|
+
catch (_a) {
|
|
95
|
+
// On error, put logs back at the front of the buffer
|
|
96
|
+
this.buffer.unshift(...logsToSend);
|
|
97
|
+
// But limit buffer size
|
|
98
|
+
if (this.buffer.length > this.options.maxBufferSize) {
|
|
99
|
+
this.buffer.length = this.options.maxBufferSize;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
this.isSending = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sends logs via HTTP POST.
|
|
108
|
+
*/
|
|
109
|
+
sendLogs(logs) {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
const http = getHttpSync();
|
|
112
|
+
const payload = JSON.stringify({
|
|
113
|
+
type: 'logs',
|
|
114
|
+
payload: logs.map((entry) => ({
|
|
115
|
+
level: entry.level,
|
|
116
|
+
domain: entry.domain,
|
|
117
|
+
message: entry.message,
|
|
118
|
+
timestamp: entry.timestamp,
|
|
119
|
+
context: entry.context,
|
|
120
|
+
error: entry.error
|
|
121
|
+
? {
|
|
122
|
+
name: entry.error.name,
|
|
123
|
+
message: entry.error.message,
|
|
124
|
+
stack: entry.error.stack,
|
|
125
|
+
}
|
|
126
|
+
: undefined,
|
|
127
|
+
})),
|
|
128
|
+
});
|
|
129
|
+
const options = {
|
|
130
|
+
hostname: this.parsedUrl.hostname,
|
|
131
|
+
port: this.parsedUrl.port || 80,
|
|
132
|
+
path: this.parsedUrl.pathname,
|
|
133
|
+
method: 'POST',
|
|
134
|
+
headers: {
|
|
135
|
+
'Content-Type': 'application/json',
|
|
136
|
+
'Content-Length': Buffer.byteLength(payload),
|
|
137
|
+
},
|
|
138
|
+
timeout: this.options.timeout,
|
|
139
|
+
};
|
|
140
|
+
const req = http.request(options, (res) => {
|
|
141
|
+
// Consume response to free up memory
|
|
142
|
+
res.resume();
|
|
143
|
+
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
144
|
+
resolve();
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
req.on('error', reject);
|
|
151
|
+
req.on('timeout', () => {
|
|
152
|
+
req.destroy();
|
|
153
|
+
reject(new Error('Request timeout'));
|
|
154
|
+
});
|
|
155
|
+
req.write(payload);
|
|
156
|
+
req.end();
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Destroys the transport and clears resources.
|
|
161
|
+
*/
|
|
162
|
+
destroy() {
|
|
163
|
+
if (this.flushTimer) {
|
|
164
|
+
clearInterval(this.flushTimer);
|
|
165
|
+
this.flushTimer = null;
|
|
166
|
+
}
|
|
167
|
+
this.buffer = [];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.HttpLogTransport = HttpLogTransport;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './buffered.transport';
|
|
2
|
+
export { ConsoleTransport } from './console.transport';
|
|
3
|
+
export { createDevTransport, type DevTransportOptions, detectEnvironment, isHttpTransport, isWebSocketTransport, type RuntimeEnvironment, startDevTransport, stopDevTransport, } from './dev-transport.factory';
|
|
4
|
+
export { HttpLogTransport, type HttpTransportOptions } from './http.transport';
|
|
5
|
+
export { SimpleConsoleTransport } from './simple-console.transport';
|
|
6
|
+
export * from './transport.interface';
|
|
7
|
+
export { WebSocketLogTransport, type WebSocketTransportOptions } from './websocket.transport';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.WebSocketLogTransport = exports.SimpleConsoleTransport = exports.HttpLogTransport = exports.stopDevTransport = exports.startDevTransport = exports.isWebSocketTransport = exports.isHttpTransport = exports.detectEnvironment = exports.createDevTransport = exports.ConsoleTransport = void 0;
|
|
18
|
+
__exportStar(require("./buffered.transport"), exports);
|
|
19
|
+
var console_transport_1 = require("./console.transport");
|
|
20
|
+
Object.defineProperty(exports, "ConsoleTransport", { enumerable: true, get: function () { return console_transport_1.ConsoleTransport; } });
|
|
21
|
+
var dev_transport_factory_1 = require("./dev-transport.factory");
|
|
22
|
+
Object.defineProperty(exports, "createDevTransport", { enumerable: true, get: function () { return dev_transport_factory_1.createDevTransport; } });
|
|
23
|
+
Object.defineProperty(exports, "detectEnvironment", { enumerable: true, get: function () { return dev_transport_factory_1.detectEnvironment; } });
|
|
24
|
+
Object.defineProperty(exports, "isHttpTransport", { enumerable: true, get: function () { return dev_transport_factory_1.isHttpTransport; } });
|
|
25
|
+
Object.defineProperty(exports, "isWebSocketTransport", { enumerable: true, get: function () { return dev_transport_factory_1.isWebSocketTransport; } });
|
|
26
|
+
Object.defineProperty(exports, "startDevTransport", { enumerable: true, get: function () { return dev_transport_factory_1.startDevTransport; } });
|
|
27
|
+
Object.defineProperty(exports, "stopDevTransport", { enumerable: true, get: function () { return dev_transport_factory_1.stopDevTransport; } });
|
|
28
|
+
var http_transport_1 = require("./http.transport");
|
|
29
|
+
Object.defineProperty(exports, "HttpLogTransport", { enumerable: true, get: function () { return http_transport_1.HttpLogTransport; } });
|
|
30
|
+
var simple_console_transport_1 = require("./simple-console.transport");
|
|
31
|
+
Object.defineProperty(exports, "SimpleConsoleTransport", { enumerable: true, get: function () { return simple_console_transport_1.SimpleConsoleTransport; } });
|
|
32
|
+
__exportStar(require("./transport.interface"), exports);
|
|
33
|
+
var websocket_transport_1 = require("./websocket.transport");
|
|
34
|
+
Object.defineProperty(exports, "WebSocketLogTransport", { enumerable: true, get: function () { return websocket_transport_1.WebSocketLogTransport; } });
|