nodefony 7.0.2 → 10.0.0-alpha.2
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/.ai/symbols.json +36135 -0
- package/LICENSE +544 -0
- package/README.md +316 -694
- package/bin/nodefony +2183 -85
- package/dist/client/Container.js +367 -0
- package/dist/client/Event.js +198 -0
- package/dist/client/Service.js +344 -0
- package/dist/client/Tools.js +162 -0
- package/dist/client/client/ClientKernel.js +276 -0
- package/dist/client/client/angular/index.js +352 -0
- package/dist/client/client/announce.js +212 -0
- package/dist/client/client/debugbar/DebugBar.js +1624 -0
- package/dist/client/client/debugbar/format.js +103 -0
- package/dist/client/client/debugbar/hmr.js +37 -0
- package/dist/client/client/debugbar/index.js +29 -0
- package/dist/client/client/debugbar/model.js +133 -0
- package/dist/client/client/debugbar/network.js +173 -0
- package/dist/client/client/debugbar/profile.js +114 -0
- package/dist/client/client/index.js +34 -0
- package/dist/client/client/react/index.js +268 -0
- package/dist/client/client/realtime/AdaptiveRate.js +240 -0
- package/dist/client/client/realtime/BrowserWsTransport.js +57 -0
- package/dist/client/client/realtime/RealtimeClient.js +898 -0
- package/dist/client/client/realtime/localEvents.js +56 -0
- package/dist/client/client/realtime/notice.js +125 -0
- package/dist/client/client/realtime/observe.js +280 -0
- package/dist/client/client/roles/index.js +3 -0
- package/dist/client/client/roles/registry.js +97 -0
- package/dist/client/client/roles/roles.js +91 -0
- package/dist/client/client/shim/events.js +88 -0
- package/dist/client/client/shim/util.js +20 -0
- package/dist/client/client/svelte/index.js +319 -0
- package/dist/client/client/syslog/context.js +122 -0
- package/dist/client/client/syslog/errors.js +49 -0
- package/dist/client/client/syslog/uplink.js +106 -0
- package/dist/client/client/vue/index.js +321 -0
- package/dist/client/colors.js +63 -0
- package/dist/client/debugbar.standalone.js +4274 -0
- package/dist/client/realtime/IRealtimeTransport.js +32 -0
- package/dist/client/realtime/JsonRpcPeer.js +251 -0
- package/dist/client/realtime/channelRate.js +39 -0
- package/dist/client/realtime/platformChannels.js +155 -0
- package/dist/client/syslog/Pdu.js +224 -0
- package/dist/client/syslog/Syslog.js +1159 -0
- package/dist/client/syslog/drivers/pduFlow.js +106 -0
- package/dist/client/syslog/drivers/pduProtocol.js +28 -0
- package/dist/client/syslog/logColor.js +80 -0
- package/dist/client/types/src/Container.d.ts +221 -0
- package/dist/client/types/src/Event.d.ts +171 -0
- package/dist/client/types/src/FileClass.d.ts +184 -0
- package/dist/client/types/src/Service.d.ts +165 -0
- package/dist/client/types/src/Tools.d.ts +116 -0
- package/dist/client/types/src/client/ClientKernel.d.ts +90 -0
- package/dist/client/types/src/client/IClientKernel.d.ts +195 -0
- package/dist/client/types/src/client/angular/index.d.ts +273 -0
- package/dist/client/types/src/client/announce.d.ts +74 -0
- package/dist/client/types/src/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/client/types/src/client/debugbar/format.d.ts +48 -0
- package/dist/client/types/src/client/debugbar/hmr.d.ts +16 -0
- package/dist/client/types/src/client/debugbar/index.d.ts +30 -0
- package/dist/client/types/src/client/debugbar/model.d.ts +158 -0
- package/dist/client/types/src/client/debugbar/network.d.ts +55 -0
- package/dist/client/types/src/client/debugbar/profile.d.ts +99 -0
- package/dist/client/types/src/client/index.d.ts +47 -0
- package/dist/client/types/src/client/react/index.d.ts +207 -0
- package/dist/client/types/src/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/client/types/src/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/client/types/src/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/client/types/src/client/realtime/localEvents.d.ts +53 -0
- package/dist/client/types/src/client/realtime/notice.d.ts +70 -0
- package/dist/client/types/src/client/realtime/observe.d.ts +284 -0
- package/dist/client/types/src/client/roles/index.d.ts +15 -0
- package/dist/client/types/src/client/roles/registry.d.ts +72 -0
- package/dist/client/types/src/client/roles/roles.d.ts +68 -0
- package/dist/client/types/src/client/shim/cli-color.d.ts +2 -0
- package/dist/client/types/src/client/shim/events.d.ts +39 -0
- package/dist/client/types/src/client/shim/util.d.ts +14 -0
- package/dist/client/types/src/client/svelte/index.d.ts +216 -0
- package/dist/client/types/src/client/syslog/context.d.ts +76 -0
- package/dist/client/types/src/client/syslog/errors.d.ts +46 -0
- package/dist/client/types/src/client/syslog/uplink.d.ts +89 -0
- package/dist/client/types/src/client/transport/websocket.d.ts +5 -0
- package/dist/client/types/src/client/vue/index.d.ts +234 -0
- package/dist/client/types/src/colors.d.ts +32 -0
- package/dist/client/types/src/config/infra.d.ts +171 -0
- package/dist/client/types/src/kernel/bootReport.d.ts +112 -0
- package/dist/client/types/src/kernel/readinessRegistry.d.ts +104 -0
- package/dist/client/types/src/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/client/types/src/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/client/types/src/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/client/types/src/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/client/types/src/realtime/channelRate.d.ts +55 -0
- package/dist/client/types/src/realtime/platformChannels.d.ts +147 -0
- package/dist/client/types/src/syslog/Pdu.d.ts +134 -0
- package/dist/client/types/src/syslog/Syslog.d.ts +482 -0
- package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/client/types/src/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/client/types/src/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/client/types/src/syslog/logColor.d.ts +59 -0
- package/dist/client/types/src/types/ICliKernel.d.ts +28 -0
- package/dist/client/types/src/types/ICommand.d.ts +14 -0
- package/dist/client/types/src/types/IContainer.d.ts +35 -0
- package/dist/client/types/src/types/IKernel.d.ts +138 -0
- package/dist/client/types/src/types/IMcpTool.d.ts +157 -0
- package/dist/client/types/src/types/IModule.d.ts +73 -0
- package/dist/client/types/src/types/IPage.d.ts +119 -0
- package/dist/client/types/src/types/IService.d.ts +62 -0
- package/dist/client/types/src/types/ISyslog.d.ts +58 -0
- package/dist/client/types/src/types/ITransport.d.ts +5 -0
- package/dist/client/types/src/types/globals.d.ts +47 -0
- package/dist/node/Cli.js +750 -0
- package/dist/node/Container.js +367 -0
- package/dist/node/Error.js +309 -0
- package/dist/node/Event.js +198 -0
- package/dist/node/FileClass.js +308 -0
- package/dist/node/Nodefony.js +78 -0
- package/dist/node/Service.js +344 -0
- package/dist/node/Tools.js +205 -0
- package/dist/node/bin/resolveLocalCli.js +10 -0
- package/dist/node/bundler/index.js +103 -0
- package/dist/node/cli/agentTargets.js +461 -0
- package/dist/node/cli/aiMcp.js +553 -0
- package/dist/node/cli/aiMcpReport.js +129 -0
- package/dist/node/cli/aiSync.js +323 -0
- package/dist/node/cli/aiSyncReport.js +142 -0
- package/dist/node/cli/card.js +186 -0
- package/dist/node/cli/cardReport.js +110 -0
- package/dist/node/cli/completion.js +415 -0
- package/dist/node/cli/create.js +805 -0
- package/dist/node/cli/env.js +332 -0
- package/dist/node/cli/envReport.js +159 -0
- package/dist/node/cli/execPortable.js +60 -0
- package/dist/node/cli/gitHooks.js +191 -0
- package/dist/node/cli/gitHooksReport.js +119 -0
- package/dist/node/cli/globalFlags.js +67 -0
- package/dist/node/cli/helpReport.js +288 -0
- package/dist/node/cli/manPage.js +165 -0
- package/dist/node/cli/nodefonyBin.js +61 -0
- package/dist/node/cli/outdated.js +144 -0
- package/dist/node/cli/progress.js +555 -0
- package/dist/node/cli/projectRoot.js +32 -0
- package/dist/node/cli/promptPassword.js +44 -0
- package/dist/node/cli/prompts.js +86 -0
- package/dist/node/cli/scaffold/destination.js +92 -0
- package/dist/node/cli/scaffold/engine.js +2156 -0
- package/dist/node/cli/scaffold/entityFields.js +589 -0
- package/dist/node/cli/scaffold/format.js +243 -0
- package/dist/node/cli/scaffold/interactive.js +124 -0
- package/dist/node/cli/scaffold/moduleLayout.js +38 -0
- package/dist/node/cli/scaffold/reservedEntities.js +74 -0
- package/dist/node/cli/scaffold/spec.js +704 -0
- package/dist/node/cli/scaffold/steps.js +40 -0
- package/dist/node/cli/scaffold/userContractSource.js +133 -0
- package/dist/node/cli/scaffold/versions.js +57 -0
- package/dist/node/cli/scaffold/writer.js +172 -0
- package/dist/node/cli/startMenu.js +496 -0
- package/dist/node/cli/symbols.js +205 -0
- package/dist/node/cli/sysexits.js +34 -0
- package/dist/node/cli/tableReport.js +184 -0
- package/dist/node/cli/usageReport.js +144 -0
- package/dist/node/colors.js +63 -0
- package/dist/node/command/Builder.js +153 -0
- package/dist/node/command/Command.js +348 -0
- package/dist/node/config/configProvenance.js +101 -0
- package/dist/node/config/defaults.js +39 -0
- package/dist/node/config/defineConfig.js +129 -0
- package/dist/node/config/defineEnv.js +264 -0
- package/dist/node/config/envExample.js +41 -0
- package/dist/node/config/envOverride.js +423 -0
- package/dist/node/config/infra.js +163 -0
- package/dist/node/config/reactivity.js +23 -0
- package/dist/node/config/reservedEnv.js +118 -0
- package/dist/node/config/schema.js +134 -0
- package/dist/node/config/use.js +24 -0
- package/dist/node/finder/File.js +49 -0
- package/dist/node/finder/FileResult.js +86 -0
- package/dist/node/finder/Finder.js +201 -0
- package/dist/node/finder/Result.js +45 -0
- package/dist/node/index.js +121 -0
- package/dist/node/kernel/BootConfigurationError.js +54 -0
- package/dist/node/kernel/CliKernel.js +630 -0
- package/dist/node/kernel/Kernel.js +2198 -0
- package/dist/node/kernel/Module.js +453 -0
- package/dist/node/kernel/adminPlane/adminCaller.js +98 -0
- package/dist/node/kernel/adminPlane/adminRbac.js +51 -0
- package/dist/node/kernel/adminPlane/catalog.js +158 -0
- package/dist/node/kernel/adminPlane/executeAdmin.js +78 -0
- package/dist/node/kernel/checks/deep.js +335 -0
- package/dist/node/kernel/checks/freshness.js +139 -0
- package/dist/node/kernel/checks/gating.js +231 -0
- package/dist/node/kernel/checks/guards.js +232 -0
- package/dist/node/kernel/checks/lastBoot.js +136 -0
- package/dist/node/kernel/checks/live.js +330 -0
- package/dist/node/kernel/checks/packageDeps.js +292 -0
- package/dist/node/kernel/checks/readiness.js +153 -0
- package/dist/node/kernel/checks/renderReport.js +780 -0
- package/dist/node/kernel/checks/report.js +421 -0
- package/dist/node/kernel/checks/runDoctor.js +731 -0
- package/dist/node/kernel/checks/surface.js +364 -0
- package/dist/node/kernel/checks/walk.js +100 -0
- package/dist/node/kernel/checks/wiring.js +450 -0
- package/dist/node/kernel/commands/AiMcpCommand.js +65 -0
- package/dist/node/kernel/commands/AiSyncCommand.js +48 -0
- package/dist/node/kernel/commands/BuildCommand.js +49 -0
- package/dist/node/kernel/commands/CardCommand.js +50 -0
- package/dist/node/kernel/commands/ClusterCommand.js +58 -0
- package/dist/node/kernel/commands/CompletionCommand.js +31 -0
- package/dist/node/kernel/commands/CreateCommand.js +45 -0
- package/dist/node/kernel/commands/DevCommand.js +99 -0
- package/dist/node/kernel/commands/DoctorCommand.js +115 -0
- package/dist/node/kernel/commands/EnvCommand.js +52 -0
- package/dist/node/kernel/commands/GitHooksCommand.js +47 -0
- package/dist/node/kernel/commands/InspectCommand.js +153 -0
- package/dist/node/kernel/commands/InstallCommand.js +20 -0
- package/dist/node/kernel/commands/MenuCommand.js +261 -0
- package/dist/node/kernel/commands/OutdatedCommand.js +164 -0
- package/dist/node/kernel/commands/ProdCommand.js +60 -0
- package/dist/node/kernel/commands/StatusCommand.js +30 -0
- package/dist/node/kernel/commands/StopCommand.js +35 -0
- package/dist/node/kernel/commands/SymbolsCommand.js +45 -0
- package/dist/node/kernel/commands/runtimeLauncher.js +95 -0
- package/dist/node/kernel/decorators/kernelDecorator.js +110 -0
- package/dist/node/kernel/injector/injector.js +137 -0
- package/dist/node/kernel/injector/serviceOrder.js +106 -0
- package/dist/node/kernel/inspect/adminSubjects.js +194 -0
- package/dist/node/kernel/inspect/docOutline.js +86 -0
- package/dist/node/kernel/lifecycleTags.js +76 -0
- package/dist/node/kernel/moduleConfig.js +75 -0
- package/dist/node/kernel/moduleGating.js +68 -0
- package/dist/node/kernel/readinessRegistry.js +98 -0
- package/dist/node/kernel/resolveModuleEntry.js +61 -0
- package/dist/node/mcp/caller.js +40 -0
- package/dist/node/mcp/guard.js +51 -0
- package/dist/node/mcp/protocol.js +157 -0
- package/dist/node/mcp/server.js +216 -0
- package/dist/node/mcp/tools.js +861 -0
- package/dist/node/oauth/authorizationServer.js +221 -0
- package/dist/node/oauth/protectedResource.js +293 -0
- package/dist/node/package.js +4 -0
- package/dist/node/realtime/IRealtimeTransport.js +32 -0
- package/dist/node/realtime/JsonRpcPeer.js +251 -0
- package/dist/node/realtime/RealtimeEventMap.js +15 -0
- package/dist/node/realtime/channelRate.js +39 -0
- package/dist/node/realtime/platformChannels.js +155 -0
- package/dist/node/runtime/GcScheduler.js +92 -0
- package/dist/node/runtime/RequestContext.js +76 -0
- package/dist/node/runtime/bearer.js +84 -0
- package/dist/node/runtime/engineEnvironment.js +79 -0
- package/dist/node/runtime/loadEnv.js +105 -0
- package/dist/node/runtime/pageFacets.js +85 -0
- package/dist/node/runtime/pageFilters.js +103 -0
- package/dist/node/runtime/pageGuard.js +84 -0
- package/dist/node/runtime/pageQuery.js +160 -0
- package/dist/node/runtime/pageSort.js +114 -0
- package/dist/node/runtime/redact.js +43 -0
- package/dist/node/runtime/withTimeout.js +71 -0
- package/dist/node/service/cluster/ClusterManager.js +202 -0
- package/dist/node/service/cluster/ClusterProbeAggregator.js +120 -0
- package/dist/node/service/cluster/ClusterRelay.js +74 -0
- package/dist/node/service/cluster/clusterMaster.js +65 -0
- package/dist/node/service/cluster/clusterMessage.js +70 -0
- package/dist/node/service/cluster/cpuQuota.js +59 -0
- package/dist/node/service/cluster/instanceProbe.js +52 -0
- package/dist/node/service/cluster/podEnvironment.js +48 -0
- package/dist/node/service/cluster/processProbe.js +70 -0
- package/dist/node/service/cluster/richProcessProbe.js +115 -0
- package/dist/node/service/cluster/topology.js +71 -0
- package/dist/node/service/dev/BootReporter.js +490 -0
- package/dist/node/service/dev/DevSupervisor.js +1004 -0
- package/dist/node/service/dev/bootVerdict.js +158 -0
- package/dist/node/service/dev/detachedStart.js +372 -0
- package/dist/node/service/dev/devProcess.js +1137 -0
- package/dist/node/service/dev/devProjects.js +138 -0
- package/dist/node/service/dev/devStatusReport.js +395 -0
- package/dist/node/service/dev/devStop.js +263 -0
- package/dist/node/service/fetchService.js +35 -0
- package/dist/node/service/gitService.js +62 -0
- package/dist/node/syslog/Pdu.js +224 -0
- package/dist/node/syslog/Syslog.js +1159 -0
- package/dist/node/syslog/drivers/ClusterFileLogDriver.js +114 -0
- package/dist/node/syslog/drivers/FileLogDriver.js +127 -0
- package/dist/node/syslog/drivers/ILogDriver.js +26 -0
- package/dist/node/syslog/drivers/LokiLogDriver.js +144 -0
- package/dist/node/syslog/drivers/MemoryLogDriver.js +33 -0
- package/dist/node/syslog/drivers/OpenSearchLogDriver.js +159 -0
- package/dist/node/syslog/drivers/builtinLogDrivers.js +114 -0
- package/dist/node/syslog/drivers/filterPdus.js +71 -0
- package/dist/node/syslog/drivers/logDriverRegistry.js +83 -0
- package/dist/node/syslog/drivers/opensearchShared.js +17 -0
- package/dist/node/syslog/drivers/pduFlow.js +106 -0
- package/dist/node/syslog/drivers/pduProtocol.js +28 -0
- package/dist/node/syslog/httpFetch.js +43 -0
- package/dist/node/syslog/logColor.js +80 -0
- package/dist/node/syslog/sinks/FileSink.js +142 -0
- package/dist/node/syslog/transports/BatchingHttpTransport.js +98 -0
- package/dist/node/syslog/transports/ConsoleTransport.js +14 -0
- package/dist/node/syslog/transports/FileTransport.js +17 -0
- package/dist/node/syslog/transports/HttpTransport.js +44 -0
- package/dist/node/syslog/transports/LokiTransport.js +80 -0
- package/dist/node/syslog/transports/OpenSearchTransport.js +53 -0
- package/dist/node/syslog/transports/SyslogTransport.js +13 -0
- package/dist/node/syslog/transports/index.js +8 -0
- package/dist/node/testing/index.js +190 -0
- package/dist/types/Cli.d.ts +177 -0
- package/dist/types/Container.d.ts +221 -0
- package/dist/types/Error.d.ts +162 -0
- package/dist/types/Event.d.ts +171 -0
- package/dist/types/FileClass.d.ts +184 -0
- package/dist/types/Nodefony.d.ts +66 -0
- package/dist/types/Service.d.ts +165 -0
- package/dist/types/Tools.d.ts +116 -0
- package/dist/types/bin/resolveLocalCli.d.ts +49 -0
- package/dist/types/bundler/index.d.ts +66 -0
- package/dist/types/cli/agentTargets.d.ts +378 -0
- package/dist/types/cli/aiMcp.d.ts +239 -0
- package/dist/types/cli/aiMcpReport.d.ts +113 -0
- package/dist/types/cli/aiSync.d.ts +68 -0
- package/dist/types/cli/aiSyncReport.d.ts +149 -0
- package/dist/types/cli/card.d.ts +49 -0
- package/dist/types/cli/cardReport.d.ts +127 -0
- package/dist/types/cli/completion.d.ts +154 -0
- package/dist/types/cli/create.d.ts +177 -0
- package/dist/types/cli/env.d.ts +103 -0
- package/dist/types/cli/envReport.d.ts +153 -0
- package/dist/types/cli/execPortable.d.ts +54 -0
- package/dist/types/cli/gitHooks.d.ts +48 -0
- package/dist/types/cli/gitHooksReport.d.ts +101 -0
- package/dist/types/cli/globalFlags.d.ts +48 -0
- package/dist/types/cli/helpReport.d.ts +110 -0
- package/dist/types/cli/manPage.d.ts +21 -0
- package/dist/types/cli/nodefonyBin.d.ts +45 -0
- package/dist/types/cli/outdated.d.ts +119 -0
- package/dist/types/cli/progress.d.ts +349 -0
- package/dist/types/cli/projectRoot.d.ts +19 -0
- package/dist/types/cli/promptPassword.d.ts +22 -0
- package/dist/types/cli/prompts.d.ts +102 -0
- package/dist/types/cli/scaffold/destination.d.ts +70 -0
- package/dist/types/cli/scaffold/engine.d.ts +545 -0
- package/dist/types/cli/scaffold/entityFields.d.ts +238 -0
- package/dist/types/cli/scaffold/format.d.ts +78 -0
- package/dist/types/cli/scaffold/interactive.d.ts +11 -0
- package/dist/types/cli/scaffold/moduleLayout.d.ts +69 -0
- package/dist/types/cli/scaffold/reservedEntities.d.ts +49 -0
- package/dist/types/cli/scaffold/spec.d.ts +159 -0
- package/dist/types/cli/scaffold/steps.d.ts +24 -0
- package/dist/types/cli/scaffold/userContractSource.d.ts +86 -0
- package/dist/types/cli/scaffold/versions.d.ts +14 -0
- package/dist/types/cli/scaffold/writer.d.ts +100 -0
- package/dist/types/cli/startMenu.d.ts +195 -0
- package/dist/types/cli/symbols.d.ts +84 -0
- package/dist/types/cli/sysexits.d.ts +31 -0
- package/dist/types/cli/tableReport.d.ts +44 -0
- package/dist/types/cli/usageReport.d.ts +108 -0
- package/dist/types/client/ClientKernel.d.ts +90 -0
- package/dist/types/client/IClientKernel.d.ts +195 -0
- package/dist/types/client/angular/index.d.ts +273 -0
- package/dist/types/client/announce.d.ts +74 -0
- package/dist/types/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/types/client/debugbar/format.d.ts +48 -0
- package/dist/types/client/debugbar/hmr.d.ts +16 -0
- package/dist/types/client/debugbar/index.d.ts +30 -0
- package/dist/types/client/debugbar/model.d.ts +158 -0
- package/dist/types/client/debugbar/network.d.ts +55 -0
- package/dist/types/client/debugbar/profile.d.ts +99 -0
- package/dist/types/client/index.d.ts +47 -0
- package/dist/types/client/react/index.d.ts +207 -0
- package/dist/types/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/types/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/types/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/types/client/realtime/localEvents.d.ts +53 -0
- package/dist/types/client/realtime/notice.d.ts +70 -0
- package/dist/types/client/realtime/observe.d.ts +284 -0
- package/dist/types/client/roles/index.d.ts +15 -0
- package/dist/types/client/roles/registry.d.ts +72 -0
- package/dist/types/client/roles/roles.d.ts +68 -0
- package/dist/types/client/shim/cli-color.d.ts +2 -0
- package/dist/types/client/shim/events.d.ts +39 -0
- package/dist/types/client/shim/util.d.ts +14 -0
- package/dist/types/client/svelte/index.d.ts +216 -0
- package/dist/types/client/syslog/context.d.ts +76 -0
- package/dist/types/client/syslog/errors.d.ts +46 -0
- package/dist/types/client/syslog/uplink.d.ts +89 -0
- package/dist/types/client/transport/websocket.d.ts +5 -0
- package/dist/types/client/vue/index.d.ts +234 -0
- package/dist/types/colors.d.ts +32 -0
- package/dist/types/command/Builder.d.ts +47 -0
- package/dist/types/command/Command.d.ts +268 -0
- package/dist/types/config/configMeta.d.ts +53 -0
- package/dist/types/config/configProvenance.d.ts +58 -0
- package/dist/types/config/defaults.d.ts +33 -0
- package/dist/types/config/defineConfig.d.ts +70 -0
- package/dist/types/config/defineEnv.d.ts +170 -0
- package/dist/types/config/envExample.d.ts +23 -0
- package/dist/types/config/envOverride.d.ts +236 -0
- package/dist/types/config/index.d.ts +23 -0
- package/dist/types/config/infra.d.ts +171 -0
- package/dist/types/config/reactivity.d.ts +36 -0
- package/dist/types/config/reservedEnv.d.ts +145 -0
- package/dist/types/config/schema.d.ts +113 -0
- package/dist/types/config/types.d.ts +374 -0
- package/dist/types/config/use.d.ts +80 -0
- package/dist/types/finder/File.d.ts +26 -0
- package/dist/types/finder/FileResult.d.ts +14 -0
- package/dist/types/finder/Finder.d.ts +51 -0
- package/dist/types/finder/Result.d.ts +10 -0
- package/dist/types/index.d.ts +205 -0
- package/dist/types/kernel/BootConfigurationError.d.ts +50 -0
- package/dist/types/kernel/CliKernel.d.ts +289 -0
- package/dist/types/kernel/Kernel.d.ts +1255 -0
- package/dist/types/kernel/Module.d.ts +326 -0
- package/dist/types/kernel/adminPlane/adminCaller.d.ts +105 -0
- package/dist/types/kernel/adminPlane/adminRbac.d.ts +44 -0
- package/dist/types/kernel/adminPlane/catalog.d.ts +122 -0
- package/dist/types/kernel/adminPlane/executeAdmin.d.ts +99 -0
- package/dist/types/kernel/bootReport.d.ts +112 -0
- package/dist/types/kernel/checks/deep.d.ts +122 -0
- package/dist/types/kernel/checks/freshness.d.ts +49 -0
- package/dist/types/kernel/checks/gating.d.ts +134 -0
- package/dist/types/kernel/checks/guards.d.ts +57 -0
- package/dist/types/kernel/checks/lastBoot.d.ts +189 -0
- package/dist/types/kernel/checks/live.d.ts +110 -0
- package/dist/types/kernel/checks/packageDeps.d.ts +44 -0
- package/dist/types/kernel/checks/readiness.d.ts +97 -0
- package/dist/types/kernel/checks/renderReport.d.ts +107 -0
- package/dist/types/kernel/checks/report.d.ts +414 -0
- package/dist/types/kernel/checks/runDoctor.d.ts +361 -0
- package/dist/types/kernel/checks/surface.d.ts +148 -0
- package/dist/types/kernel/checks/walk.d.ts +45 -0
- package/dist/types/kernel/checks/wiring.d.ts +54 -0
- package/dist/types/kernel/commands/AiMcpCommand.d.ts +39 -0
- package/dist/types/kernel/commands/AiSyncCommand.d.ts +28 -0
- package/dist/types/kernel/commands/BuildCommand.d.ts +13 -0
- package/dist/types/kernel/commands/CardCommand.d.ts +34 -0
- package/dist/types/kernel/commands/ClusterCommand.d.ts +29 -0
- package/dist/types/kernel/commands/CompletionCommand.d.ts +17 -0
- package/dist/types/kernel/commands/CreateCommand.d.ts +16 -0
- package/dist/types/kernel/commands/DevCommand.d.ts +40 -0
- package/dist/types/kernel/commands/DoctorCommand.d.ts +55 -0
- package/dist/types/kernel/commands/EnvCommand.d.ts +35 -0
- package/dist/types/kernel/commands/GitHooksCommand.d.ts +27 -0
- package/dist/types/kernel/commands/InspectCommand.d.ts +59 -0
- package/dist/types/kernel/commands/InstallCommand.d.ts +7 -0
- package/dist/types/kernel/commands/MenuCommand.d.ts +58 -0
- package/dist/types/kernel/commands/OutdatedCommand.d.ts +47 -0
- package/dist/types/kernel/commands/ProdCommand.d.ts +29 -0
- package/dist/types/kernel/commands/StatusCommand.d.ts +17 -0
- package/dist/types/kernel/commands/StopCommand.d.ts +17 -0
- package/dist/types/kernel/commands/SymbolsCommand.d.ts +29 -0
- package/dist/types/kernel/commands/runtimeLauncher.d.ts +76 -0
- package/dist/types/kernel/decorators/kernelDecorator.d.ts +76 -0
- package/dist/types/kernel/injector/injector.d.ts +47 -0
- package/dist/types/kernel/injector/serviceOrder.d.ts +29 -0
- package/dist/types/kernel/inspect/adminSubjects.d.ts +169 -0
- package/dist/types/kernel/inspect/docOutline.d.ts +53 -0
- package/dist/types/kernel/lifecycleTags.d.ts +79 -0
- package/dist/types/kernel/moduleConfig.d.ts +35 -0
- package/dist/types/kernel/moduleGating.d.ts +78 -0
- package/dist/types/kernel/readinessRegistry.d.ts +104 -0
- package/dist/types/kernel/resolveModuleEntry.d.ts +46 -0
- package/dist/types/mcp/caller.d.ts +55 -0
- package/dist/types/mcp/guard.d.ts +66 -0
- package/dist/types/mcp/protocol.d.ts +163 -0
- package/dist/types/mcp/server.d.ts +70 -0
- package/dist/types/mcp/tools.d.ts +209 -0
- package/dist/types/oauth/authorizationServer.d.ts +204 -0
- package/dist/types/oauth/protectedResource.d.ts +339 -0
- package/dist/types/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/types/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/types/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/types/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/types/realtime/channelRate.d.ts +55 -0
- package/dist/types/realtime/platformChannels.d.ts +147 -0
- package/dist/types/runtime/GcScheduler.d.ts +96 -0
- package/dist/types/runtime/RequestContext.d.ts +152 -0
- package/dist/types/runtime/bearer.d.ts +88 -0
- package/dist/types/runtime/engineEnvironment.d.ts +115 -0
- package/dist/types/runtime/loadEnv.d.ts +86 -0
- package/dist/types/runtime/pageFacets.d.ts +104 -0
- package/dist/types/runtime/pageFilters.d.ts +139 -0
- package/dist/types/runtime/pageGuard.d.ts +78 -0
- package/dist/types/runtime/pageQuery.d.ts +138 -0
- package/dist/types/runtime/pageSort.d.ts +86 -0
- package/dist/types/runtime/redact.d.ts +27 -0
- package/dist/types/runtime/withTimeout.d.ts +51 -0
- package/dist/types/service/cluster/ClusterManager.d.ts +112 -0
- package/dist/types/service/cluster/ClusterProbeAggregator.d.ts +68 -0
- package/dist/types/service/cluster/ClusterRelay.d.ts +57 -0
- package/dist/types/service/cluster/clusterMaster.d.ts +40 -0
- package/dist/types/service/cluster/clusterMessage.d.ts +94 -0
- package/dist/types/service/cluster/cpuQuota.d.ts +37 -0
- package/dist/types/service/cluster/instanceProbe.d.ts +82 -0
- package/dist/types/service/cluster/podEnvironment.d.ts +35 -0
- package/dist/types/service/cluster/processProbe.d.ts +53 -0
- package/dist/types/service/cluster/richProcessProbe.d.ts +77 -0
- package/dist/types/service/cluster/topology.d.ts +64 -0
- package/dist/types/service/dev/BootReporter.d.ts +67 -0
- package/dist/types/service/dev/DevSupervisor.d.ts +117 -0
- package/dist/types/service/dev/bootVerdict.d.ts +99 -0
- package/dist/types/service/dev/detachedStart.d.ts +164 -0
- package/dist/types/service/dev/devProcess.d.ts +638 -0
- package/dist/types/service/dev/devProjects.d.ts +121 -0
- package/dist/types/service/dev/devStatusReport.d.ts +141 -0
- package/dist/types/service/dev/devStop.d.ts +57 -0
- package/dist/types/service/fetchService.d.ts +29 -0
- package/dist/types/service/gitService.d.ts +24 -0
- package/dist/types/syslog/Pdu.d.ts +134 -0
- package/dist/types/syslog/Syslog.d.ts +482 -0
- package/dist/types/syslog/drivers/ClusterFileLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/FileLogDriver.d.ts +55 -0
- package/dist/types/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/types/syslog/drivers/LokiLogDriver.d.ts +44 -0
- package/dist/types/syslog/drivers/MemoryLogDriver.d.ts +20 -0
- package/dist/types/syslog/drivers/OpenSearchLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +43 -0
- package/dist/types/syslog/drivers/filterPdus.d.ts +21 -0
- package/dist/types/syslog/drivers/logDriverRegistry.d.ts +100 -0
- package/dist/types/syslog/drivers/opensearchShared.d.ts +11 -0
- package/dist/types/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/types/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/types/syslog/httpFetch.d.ts +48 -0
- package/dist/types/syslog/logColor.d.ts +59 -0
- package/dist/types/syslog/sinks/FileSink.d.ts +78 -0
- package/dist/types/syslog/transports/BatchingHttpTransport.d.ts +59 -0
- package/dist/types/syslog/transports/ConsoleTransport.d.ts +8 -0
- package/dist/types/syslog/transports/FileTransport.d.ts +13 -0
- package/dist/types/syslog/transports/HttpTransport.d.ts +15 -0
- package/dist/types/syslog/transports/LokiTransport.d.ts +45 -0
- package/dist/types/syslog/transports/OpenSearchTransport.d.ts +40 -0
- package/dist/types/syslog/transports/SyslogTransport.d.ts +9 -0
- package/dist/types/syslog/transports/index.d.ts +12 -0
- package/dist/types/testing/index.d.ts +197 -0
- package/dist/types/types/IAdminApi.d.ts +246 -0
- package/dist/types/types/ICliKernel.d.ts +28 -0
- package/dist/types/types/ICommand.d.ts +14 -0
- package/dist/types/types/IContainer.d.ts +35 -0
- package/dist/types/types/IIdempotencyStore.d.ts +159 -0
- package/dist/types/types/IKernel.d.ts +138 -0
- package/dist/types/types/IMcpTool.d.ts +157 -0
- package/dist/types/types/IModule.d.ts +73 -0
- package/dist/types/types/IModuleManifest.d.ts +49 -0
- package/dist/types/types/IPage.d.ts +119 -0
- package/dist/types/types/IService.d.ts +62 -0
- package/dist/types/types/ISyslog.d.ts +58 -0
- package/dist/types/types/ITransport.d.ts +5 -0
- package/dist/types/types/globals.d.ts +47 -0
- package/docs/angular-services.md +318 -0
- package/docs/catalogue.md +184 -0
- package/docs/cli.md +369 -0
- package/docs/client.md +616 -0
- package/docs/debugbar.md +218 -0
- package/docs/environnement.md +308 -0
- package/docs/index.md +388 -0
- package/docs/kernel.md +670 -0
- package/docs/progression.md +228 -0
- package/docs/react-hooks.md +686 -0
- package/docs/request-context.md +507 -0
- package/docs/service.md +590 -0
- package/docs/svelte-reactivite.md +293 -0
- package/docs/syslog.md +848 -0
- package/docs/testing.md +203 -0
- package/docs/vue-composables.md +255 -0
- package/man/nodefony.1 +152 -0
- package/package.json +163 -83
- package/templates/app/agents/AGENTS.md.tpl +967 -0
- package/templates/app/agents/POINTEUR.md.tpl +12 -0
- package/templates/app/base/Dockerfile.tpl +104 -0
- package/templates/app/base/README.md.tpl +314 -0
- package/templates/app/base/dockerignore.tpl +28 -0
- package/templates/app/base/env.ts.tpl +130 -0
- package/templates/app/base/gitattributes.tpl +28 -0
- package/templates/app/base/github/workflows/ci.yml.tpl +91 -0
- package/templates/app/base/gitignore.tpl +46 -0
- package/templates/app/base/gitlab-ci.yml.tpl +42 -0
- package/templates/app/base/index.ts.tpl +69 -0
- package/templates/app/base/nodefony.config.ts.tpl +342 -0
- package/templates/app/base/oxlintrc.json.tpl +127 -0
- package/templates/app/base/package.json.tpl +75 -0
- package/templates/app/base/prettierignore.tpl +24 -0
- package/templates/app/base/prettierrc.json.tpl +12 -0
- package/templates/app/base/rolldown.config.ts.tpl +8 -0
- package/templates/app/base/tests/config.test.ts.tpl +29 -0
- package/templates/app/base/tests/e2e.setup.ts.tpl +181 -0
- package/templates/app/base/tests/e2e.test.ts.tpl +105 -0
- package/templates/app/base/tests/migrations.e2e.test.ts.tpl +579 -0
- package/templates/app/base/tsconfig.json.tpl +47 -0
- package/templates/app/base/vitest.config.ts.tpl +88 -0
- package/templates/app/base/vitest.e2e.config.ts.tpl +39 -0
- package/templates/app/complete/compose.yaml.tpl +328 -0
- package/templates/app/complete/deploy/migrate-job.yaml.tpl +100 -0
- package/templates/app/complete/docker/db/init-nodefony-e2e.sql.tpl +30 -0
- package/templates/app/complete/docker/grafana/provisioning/datasources/loki.yaml.tpl +15 -0
- package/templates/app/complete/env.local.tpl +11 -0
- package/templates/app/complete/env.tpl +53 -0
- package/templates/app/complete/nodefony/entity/User.ts.tpl +69 -0
- package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +124 -0
- package/templates/app/complete/nodefony/service/AppBannerService.ts.tpl +98 -0
- package/templates/app/complete/nodefony/service/AppInfoService.ts.tpl +85 -0
- package/templates/app/frontend/angular/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +400 -0
- package/templates/app/frontend/react/frontend/src/App.tsx.tpl +421 -0
- package/templates/app/frontend/react/frontend/src/accent.css.tpl +30 -0
- package/templates/app/frontend/shared/frontend/src/brand.ts.tpl +3 -0
- package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +224 -0
- package/templates/app/frontend/shared/nodefony/controllers/AppController.ts.tpl +45 -0
- package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +371 -0
- package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/vue/frontend/src/App.vue.tpl +367 -0
- package/templates/app/frontend/vue/frontend/src/accent.css.tpl +34 -0
- package/templates/app/home/nodefony/controllers/HomeController.ts.tpl +38 -0
- package/templates/command/nodefony/command/__NAME__.ts.tpl +132 -0
- package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +188 -0
- package/templates/controller/example/nodefony/controllers/__NAME__.ts.tpl +348 -0
- package/templates/controller/hello/nodefony/controllers/__NAME__.ts.tpl +143 -0
- package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +153 -0
- package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +79 -0
- package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +159 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.schema.ts.tpl +31 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.ts.tpl +68 -0
- package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.ts.tpl +335 -0
- package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +126 -0
- package/templates/entity/tests/tests/__KEBAB__.e2e.test.ts.tpl +358 -0
- package/templates/entity/tests/tests/__KEBAB__.test.ts.tpl +87 -0
- package/templates/front/angular/frontend/src/app/app.component.ts.tpl +30 -0
- package/templates/front/base/nodefony/controllers/__NAME__.ts.tpl +60 -0
- package/templates/front/react/frontend/src/App.tsx.tpl +26 -0
- package/templates/front/svelte/frontend/src/App.svelte.tpl +19 -0
- package/templates/front/vue/frontend/src/App.vue.tpl +23 -0
- package/templates/module/ai/AGENTS.md.tpl +71 -0
- package/templates/module/base/README.md.tpl +62 -0
- package/templates/module/base/docs/index.md.tpl +55 -0
- package/templates/module/base/index.ts.tpl +50 -0
- package/templates/module/base/nodefony/config/config.ts.tpl +60 -0
- package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +55 -0
- package/templates/module/base/nodefony/src/errors/__PASCAL__Error.ts.tpl +20 -0
- package/templates/module/base/package.json.tpl +53 -0
- package/templates/module/base/rolldown.config.ts.tpl +14 -0
- package/templates/module/base/tests/__KEBAB__.test.ts.tpl +39 -0
- package/templates/module/base/tsconfig.json.tpl +42 -0
- package/templates/module/base/vitest.config.ts.tpl +27 -0
- package/templates/module/packages/CLAUDE.md.tpl +51 -0
- package/templates/module/packages/MEMORY.md.tpl +39 -0
- package/templates/module/packages/tsconfig.declarations.json.tpl +19 -0
- package/templates/module/packages/tsconfig.tests.json.tpl +11 -0
- package/templates/module/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +14 -0
- package/templates/module/service/nodefony/interfaces/index.ts.tpl +1 -0
- package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +116 -0
- package/templates/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +19 -0
- package/templates/service/nodefony/service/__PASCAL__Service.ts.tpl +136 -0
- package/templates/service/tests/__PASCAL__Service.test.ts.tpl +53 -0
- package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +17 -0
- package/templates/shared/front-entry/react/frontend/src/main.tsx.tpl +11 -0
- package/templates/shared/front-entry/svelte/frontend/src/main.ts.tpl +13 -0
- package/templates/shared/front-entry/vue/frontend/src/main.ts.tpl +12 -0
- package/templates/shared/front-registrar/nodefony/frontend/register__PASCAL__Entry.ts.tpl +40 -0
- package/templates/shared/front-shell/frontend/index.html.tpl +39 -0
- package/templates/shared/ng-app-tsconfig/frontend/tsconfig.app.json.tpl +18 -0
- package/templates/shared/svelte-shim/frontend/src/env.d.ts.tpl +12 -0
- package/templates/shared/vue-shim/frontend/src/env.d.ts.tpl +15 -0
- package/.yarnclean +0 -45
- package/CHANGELOG.md +0 -406
- package/autoloader.es6 +0 -253
- package/builder.es6 +0 -366
- package/cli/builder/bundles/bundle.js +0 -328
- package/cli/builder/bundles/controller.js +0 -73
- package/cli/builder/bundles/users-bundle/.yarnclean +0 -45
- package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +0 -47
- package/cli/builder/bundles/users-bundle/Command/usersCommand.js +0 -105
- package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +0 -168
- package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +0 -231
- package/cli/builder/bundles/users-bundle/Fixtures/users.js +0 -117
- package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +0 -114
- package/cli/builder/bundles/users-bundle/Resources/config/config.js +0 -90
- package/cli/builder/bundles/users-bundle/Resources/config/routing.js +0 -17
- package/cli/builder/bundles/users-bundle/Resources/config/security.js +0 -96
- package/cli/builder/bundles/users-bundle/Resources/config/services.js +0 -7
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +0 -31
- package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +0 -146
- package/cli/builder/bundles/users-bundle/Resources/js/users.js +0 -153
- package/cli/builder/bundles/users-bundle/Resources/public/favicon.ico +0 -0
- package/cli/builder/bundles/users-bundle/Resources/public/images/users-logo.png +0 -0
- package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +0 -11
- package/cli/builder/bundles/users-bundle/Resources/scss/custom.scss +0 -23
- package/cli/builder/bundles/users-bundle/Resources/scss/users.scss +0 -59
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +0 -235
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +0 -232
- package/cli/builder/bundles/users-bundle/Resources/translations/login.en_en.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/login.fr_fr.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/users.en_en.yml +0 -35
- package/cli/builder/bundles/users-bundle/Resources/translations/users.fr_fr.yml +0 -36
- package/cli/builder/bundles/users-bundle/Resources/views/base.html.twig +0 -32
- package/cli/builder/bundles/users-bundle/Resources/views/footer.html.twig +0 -7
- package/cli/builder/bundles/users-bundle/Resources/views/header.html.twig +0 -90
- package/cli/builder/bundles/users-bundle/Resources/views/login/login.html.twig +0 -43
- package/cli/builder/bundles/users-bundle/Resources/views/users/createUser.html.twig +0 -296
- package/cli/builder/bundles/users-bundle/Resources/views/users/readUsers.html.twig +0 -94
- package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +0 -56
- package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +0 -121
- package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +0 -58
- package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +0 -210
- package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +0 -244
- package/cli/builder/bundles/users-bundle/controller/loginController.js +0 -91
- package/cli/builder/bundles/users-bundle/controller/usersController.js +0 -332
- package/cli/builder/bundles/users-bundle/package.json +0 -58
- package/cli/builder/bundles/users-bundle/readme.md +0 -360
- package/cli/builder/bundles/users-bundle/services/usersService.js +0 -411
- package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +0 -47
- package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +0 -48
- package/cli/builder/bundles/users-bundle/tests/loginTest.js +0 -182
- package/cli/builder/bundles/users-bundle/usersBundle.js +0 -26
- package/cli/builder/microService/microService.js +0 -261
- package/cli/builder/microService/skeletons/.editorconfig +0 -18
- package/cli/builder/microService/skeletons/.env-cmdrc.js +0 -32
- package/cli/builder/microService/skeletons/.jshintrc +0 -37
- package/cli/builder/microService/skeletons/README.md +0 -117
- package/cli/builder/microService/skeletons/bin/bash/hello.sh +0 -5
- package/cli/builder/microService/skeletons/bin/cli +0 -13
- package/cli/builder/microService/skeletons/bin/python/hello.py +0 -20
- package/cli/builder/microService/skeletons/config/config.js +0 -29
- package/cli/builder/microService/skeletons/config/pm2.config.js +0 -72
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.dev.js +0 -8
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.prod.js +0 -25
- package/cli/builder/microService/skeletons/config/webpack.config.js +0 -114
- package/cli/builder/microService/skeletons/package.json +0 -76
- package/cli/builder/microService/skeletons/src/browser/index.css +0 -3
- package/cli/builder/microService/skeletons/src/browser/index.js +0 -16
- package/cli/builder/microService/skeletons/src/browser/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/cli/cli.js +0 -224
- package/cli/builder/microService/skeletons/src/cli/menu.js +0 -28
- package/cli/builder/microService/skeletons/src/n-api/README.md +0 -1
- package/cli/builder/microService/skeletons/src/n-api/binding.gyp +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.cc +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.js +0 -23
- package/cli/builder/microService/skeletons/src/n-api/package.json +0 -15
- package/cli/builder/microService/skeletons/src/node/examples/index.js +0 -120
- package/cli/builder/microService/skeletons/src/node/index.js +0 -102
- package/cli/builder/microService/skeletons/src/node/services/markdown/markdown.js +0 -27
- package/cli/builder/microService/skeletons/src/node/services/servers/http.js +0 -45
- package/cli/builder/microService/skeletons/src/node/services/servers/https.js +0 -44
- package/cli/builder/microService/skeletons/src/node/services/socketio/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/node/services/syscall/syscall.js +0 -111
- package/cli/builder/microService/skeletons/src/node/services/worker/thread.js +0 -59
- package/cli/builder/microService/skeletons/src/node/services/worker/worker.js +0 -60
- package/cli/builder/microService/skeletons/src/templates/base.html +0 -12
- package/cli/builder/microService/skeletons/src/templates/socket.html +0 -23
- package/cli/builder/microService/skeletons/tests/unit/serviceTest.js +0 -30
- package/cli/builder/project/project.js +0 -474
- package/cli/builder/project/skeletons/README.md +0 -778
- package/cli/builder/project/skeletons/bin/dev-deploy.sh +0 -5
- package/cli/builder/project/skeletons/bin/generateCertificates.sh.skeleton +0 -180
- package/cli/builder/project/skeletons/bin/prod-deploy.sh +0 -3
- package/cli/builder/project/skeletons/config/config.js.skeleton +0 -178
- package/cli/builder/project/skeletons/config/openssl/ca/openssl.cnf.skeleton +0 -150
- package/cli/builder/project/skeletons/config/openssl/ca_intermediate/openssl.cnf.skeleton +0 -152
- package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +0 -62
- package/cli/builder/project/skeletons/documentation.html.twig +0 -24
- package/cli/builder/project/skeletons/editorconfig.skeleton +0 -18
- package/cli/builder/project/skeletons/eslintignore.skeleton +0 -15
- package/cli/builder/project/skeletons/eslintrc.js.skeleton +0 -97
- package/cli/builder/project/skeletons/gitignore.skeleton +0 -32
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +0 -137
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +0 -97
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +0 -115
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +0 -97
- package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -101
- package/cli/builder/project/skeletons/package.json.twig +0 -71
- package/cli/builder/react/reactBuilder.js +0 -224
- package/cli/builder/react/skeletons/app/Resources/databases/nodefony.db +0 -0
- package/cli/builder/react/skeletons/app/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/views/base.html.twig +0 -33
- package/cli/builder/react/skeletons/app/config/config.js +0 -392
- package/cli/builder/react/skeletons/app/config/routing.js +0 -10
- package/cli/builder/react/skeletons/app/config/security.js +0 -74
- package/cli/builder/react/skeletons/app/controller/appController.js +0 -22
- package/cli/builder/sandbox/sandBoxBuilder.js +0 -610
- package/cli/builder/sandbox/skeletons/Resources/css/entry.css +0 -48
- package/cli/builder/sandbox/skeletons/Resources/js/entry.js +0 -60
- package/cli/builder/sandbox/skeletons/Resources/public/manifest.json +0 -32
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/views/base.html.twig +0 -46
- package/cli/builder/sandbox/skeletons/Resources/views/index.html.twig +0 -34
- package/cli/builder/sandbox/skeletons/bootstrap/custom.scss +0 -27
- package/cli/builder/sandbox/skeletons/bootstrap/entry.scss +0 -60
- package/cli/builder/sandbox/skeletons/workbox/templates/index.html.twig +0 -32
- package/cli/builder/sandbox/skeletons/workbox/workers/service-worker.js +0 -196
- package/cli/builder/skeletons/Resources/public/favicon.ico +0 -0
- package/cli/builder/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/500.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/base.html.twig +0 -30
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/footer.html.twig +0 -33
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/header.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.json.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.html.twig +0 -125
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.json.twig +0 -5
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.json.twig +0 -24
- package/cli/builder/skeletons/app/appKernel.js +0 -133
- package/cli/builder/skeletons/binding/binding.cc +0 -26
- package/cli/builder/skeletons/binding/binding.skeleton +0 -8
- package/cli/builder/skeletons/bundle/bundleClass.js +0 -37
- package/cli/builder/skeletons/command/commandClass.js +0 -11
- package/cli/builder/skeletons/command/taskClass.js +0 -20
- package/cli/builder/skeletons/config/config.js +0 -138
- package/cli/builder/skeletons/config/nodefony/elastic-bundle.js +0 -37
- package/cli/builder/skeletons/config/nodefony/framework-bundle.js +0 -22
- package/cli/builder/skeletons/config/nodefony/http-bundle.js +0 -104
- package/cli/builder/skeletons/config/nodefony/mail-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +0 -51
- package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +0 -34
- package/cli/builder/skeletons/config/nodefony/realtime-bundle.js +0 -15
- package/cli/builder/skeletons/config/nodefony/redis-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/security-bundle.js +0 -25
- package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +0 -156
- package/cli/builder/skeletons/config/routing.js +0 -55
- package/cli/builder/skeletons/config/security.js +0 -102
- package/cli/builder/skeletons/config/services.js +0 -1
- package/cli/builder/skeletons/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/skeletons/config/webpack/webpack.prod.config.js +0 -20
- package/cli/builder/skeletons/config/webpack.config.js +0 -148
- package/cli/builder/skeletons/controller/controllerClass.js +0 -75
- package/cli/builder/skeletons/package.json.twig +0 -57
- package/cli/builder/skeletons/unittest/testFile.js +0 -46
- package/cli/builder/vue/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/vue/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/vue/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/vue/skeletons/vue.config.js +0 -129
- package/cli/builder/vue/vueBuilder.js +0 -410
- package/cli/generate/generate.es6 +0 -103
- package/cli/install/install.js +0 -190
- package/cli/sequelize/sequelize.js +0 -94
- package/cli/start.js +0 -702
- package/cli/tools/pm2.es6 +0 -112
- package/cli/tools/tools.es6 +0 -97
- package/cli.es6 +0 -925
- package/container.es6 +0 -272
- package/error.es6 +0 -293
- package/fileClass.es6 +0 -242
- package/finder/file.es6 +0 -33
- package/finder/fileResult.es6 +0 -138
- package/finder/finder2.es6 +0 -275
- package/finder.es6 +0 -427
- package/kernel/annotations/annotations.es6 +0 -286
- package/kernel/api/api.es6 +0 -61
- package/kernel/api/graphqlApi.es6 +0 -107
- package/kernel/api/jsonApi.es6 +0 -177
- package/kernel/api/openApi.es6 +0 -139
- package/kernel/api/schemas/openApiSchema.js +0 -394
- package/kernel/babylon.es6 +0 -162
- package/kernel/bundle.es6 +0 -1200
- package/kernel/cliKernel.es6 +0 -869
- package/kernel/command.es6 +0 -78
- package/kernel/commands/nodefonyCommand.es6 +0 -247
- package/kernel/commands/tasks/bundlesTask.es6 +0 -59
- package/kernel/controllers/controller.es6 +0 -791
- package/kernel/fixture.es6 +0 -19
- package/kernel/injections/injections.es6 +0 -424
- package/kernel/kernel.es6 +0 -1960
- package/kernel/kernelWatcher.es6 +0 -387
- package/kernel/orm/entity.es6 +0 -59
- package/kernel/orm/orm.es6 +0 -139
- package/kernel/reader.es6 +0 -290
- package/kernel/security/encoder.es6 +0 -17
- package/kernel/security/factories/factory.es6 +0 -111
- package/kernel/security/factories/passeportFactory.es6 +0 -61
- package/kernel/security/provider.es6 +0 -58
- package/kernel/security/providers/chainProvider.es6 +0 -99
- package/kernel/security/providers/memoryProvider.es6 +0 -55
- package/kernel/security/providers/providerManager.es6 +0 -67
- package/kernel/security/providers/userEntityProvider.es6 +0 -50
- package/kernel/security/role.es6 +0 -12
- package/kernel/security/secureArea.es6 +0 -431
- package/kernel/security/tokens/token.es6 +0 -171
- package/kernel/security/user.es6 +0 -106
- package/kernel/serviceRealTime.es6 +0 -21
- package/kernel/services/connectionsService.es6 +0 -93
- package/kernel/services/cron/cronService.es6 +0 -123
- package/kernel/task.es6 +0 -80
- package/kernel/templates.es6 +0 -22
- package/kernel/templating/twig.es6 +0 -218
- package/kernel/tests/cliTest.js +0 -59
- package/kernel/tests/containerTest.js +0 -232
- package/kernel/tests/kernelTest.js +0 -39
- package/nodefony.es6 +0 -1084
- package/notificationsCenter.es6 +0 -118
- package/protocol.es6 +0 -86
- package/protocols/bayeux.es6 +0 -174
- package/protocols/jsonRpc/jsonrpc.es6 +0 -56
- package/result.es6 +0 -99
- package/service.es6 +0 -288
- package/syslog/pdu.es6 +0 -141
- package/syslog/syslog.es6 +0 -754
- package/watcher.es6 +0 -113
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
//#region src/syslog/drivers/pduFlow.ts
|
|
2
|
+
/**
|
|
3
|
+
* Table des étapes — **source unique** de l'ordre et de l'appartenance protocole,
|
|
4
|
+
* partagée back (filtre) et front (sélecteur groupé HTTP / WebSocket / Commun).
|
|
5
|
+
*/
|
|
6
|
+
const FLOW_STEPS = {
|
|
7
|
+
"request-in": {
|
|
8
|
+
order: 1,
|
|
9
|
+
protocol: "http"
|
|
10
|
+
},
|
|
11
|
+
"body-received": {
|
|
12
|
+
order: 2,
|
|
13
|
+
protocol: "http"
|
|
14
|
+
},
|
|
15
|
+
"route-matched": {
|
|
16
|
+
order: 3,
|
|
17
|
+
protocol: "http"
|
|
18
|
+
},
|
|
19
|
+
"kernel-dispatch": {
|
|
20
|
+
order: 4,
|
|
21
|
+
protocol: "http"
|
|
22
|
+
},
|
|
23
|
+
session: {
|
|
24
|
+
order: 5,
|
|
25
|
+
protocol: "both"
|
|
26
|
+
},
|
|
27
|
+
response: {
|
|
28
|
+
order: 6,
|
|
29
|
+
protocol: "http"
|
|
30
|
+
},
|
|
31
|
+
"session-saved": {
|
|
32
|
+
order: 7,
|
|
33
|
+
protocol: "both"
|
|
34
|
+
},
|
|
35
|
+
"request-end": {
|
|
36
|
+
order: 8,
|
|
37
|
+
protocol: "http"
|
|
38
|
+
},
|
|
39
|
+
finish: {
|
|
40
|
+
order: 9,
|
|
41
|
+
protocol: "http"
|
|
42
|
+
},
|
|
43
|
+
"ws-open": {
|
|
44
|
+
order: 1,
|
|
45
|
+
protocol: "ws"
|
|
46
|
+
},
|
|
47
|
+
"ws-message": {
|
|
48
|
+
order: 2,
|
|
49
|
+
protocol: "ws"
|
|
50
|
+
},
|
|
51
|
+
"ws-close": {
|
|
52
|
+
order: 3,
|
|
53
|
+
protocol: "ws"
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
/** Retire les codes de couleur ANSI (les payloads en TTY peuvent en porter). */
|
|
57
|
+
function stripAnsi(s) {
|
|
58
|
+
return s.replace(/\x1b\[[0-9;]*m/g, "");
|
|
59
|
+
}
|
|
60
|
+
/** Texte indexable d'un Pdu pour la classification (payload string sinon `msg`). */
|
|
61
|
+
function flowText(pdu) {
|
|
62
|
+
return stripAnsi(typeof pdu.payload === "string" ? pdu.payload : pdu.msg || "");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Classe un Pdu en **étape de cycle de vie** (id stable) ou `null` si la ligne
|
|
66
|
+
* n'est pas un jalon (log applicatif libre, ex. `DB-DEMO`). PUR, isomorphe,
|
|
67
|
+
* 0 état — réutilisé par le filtre back ({@link filterPdus}) ET le rendu front
|
|
68
|
+
* (colonne « Étape » + sélecteur) → une SEULE logique, jamais de divergence.
|
|
69
|
+
*
|
|
70
|
+
* Priorité aux marqueurs de **contenu** (route, session, cookie, bilan), puis au
|
|
71
|
+
* **nom d'event** générique. `onRequest` est désambiguïsé par le msgid `KERNEL`
|
|
72
|
+
* (dispatch kernel) vs contexte (entrée de requête).
|
|
73
|
+
*
|
|
74
|
+
* @param pdu - enregistrement (Pdu ou {@link IPduLike}, relu d'un JSONL aussi).
|
|
75
|
+
* @returns l'`id` d'étape, ou `null` pour un log hors cycle.
|
|
76
|
+
*/
|
|
77
|
+
function pduFlowStep(pdu) {
|
|
78
|
+
const msg = flowText(pdu);
|
|
79
|
+
if (/Match route/i.test(msg)) return "route-matched";
|
|
80
|
+
if (/NEW SESSION|MIGRATE SESSION|DESTROY SESSION|SESSION CONTEXT CHANGE/i.test(msg)) return "session";
|
|
81
|
+
if (/SAVE SESSION/i.test(msg)) return "session-saved";
|
|
82
|
+
if (/ADD COOKIE/i.test(msg)) return "response";
|
|
83
|
+
if (/\bsubscribe\b/i.test(msg)) return "ws-message";
|
|
84
|
+
if (/client connected/i.test(msg)) return "ws-open";
|
|
85
|
+
if (/^WS (RECEIVE|SEND|BROADCAST)\b/.test(pdu.msgid)) return "ws-message";
|
|
86
|
+
if (pdu.msgid === "req") return "request-end";
|
|
87
|
+
const m = msg.match(/\bon([A-Z][A-Za-z]+)\b/);
|
|
88
|
+
if (m) {
|
|
89
|
+
const ev = `on${m[1]}`;
|
|
90
|
+
if (ev === "onRequest" && pdu.msgid === "KERNEL") return "kernel-dispatch";
|
|
91
|
+
switch (ev) {
|
|
92
|
+
case "onRequestEnd": return "body-received";
|
|
93
|
+
case "onRequest": return "request-in";
|
|
94
|
+
case "onSessionStart": return "session";
|
|
95
|
+
case "onConnect": return "ws-open";
|
|
96
|
+
case "onSaveSession": return "session-saved";
|
|
97
|
+
case "onSend": return "response";
|
|
98
|
+
case "onClose": return "ws-close";
|
|
99
|
+
case "onFinish": return "finish";
|
|
100
|
+
case "onMessage": return "ws-message";
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
export { FLOW_STEPS, pduFlowStep };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/syslog/drivers/pduProtocol.ts
|
|
2
|
+
/**
|
|
3
|
+
* msgid forcé par défaut sur **tout** log émis dans un contexte WebSocket
|
|
4
|
+
* (`WebsocketContext.log()` côté `@nodefony/http`). C'est le marqueur fiable du
|
|
5
|
+
* protocole — pas de parsing de message.
|
|
6
|
+
*/
|
|
7
|
+
const WS_MSGID = "WEBSOCKET CONTEXT";
|
|
8
|
+
/**
|
|
9
|
+
* Classe un Pdu par **protocole** d'origine — `"ws"` ou `"http"` — de façon PURE,
|
|
10
|
+
* isomorphe et 0-alloc (une seule comparaison de `msgid`).
|
|
11
|
+
*
|
|
12
|
+
* Critère FIABLE : tout log émis dans un contexte WebSocket porte le msgid
|
|
13
|
+
* `"WEBSOCKET CONTEXT"` (forcé par défaut dans `WebsocketContext.log()`). Tout le
|
|
14
|
+
* reste du pipeline (req/http2/router/firewall/kernel/applicatif) est classé HTTP.
|
|
15
|
+
* Une seule logique → front et back ne divergent plus (le front filtrait par texte,
|
|
16
|
+
* source de faux positifs).
|
|
17
|
+
*
|
|
18
|
+
* Seul `msgid` compte → accepte un `Pdu`, un {@link IPduLike} ou un record wire
|
|
19
|
+
* relu (`ILogRecord` / miroir front) indifféremment.
|
|
20
|
+
*
|
|
21
|
+
* @param pdu - tout objet portant un `msgid`.
|
|
22
|
+
* @returns `"ws"` si le log provient d'une socket WebSocket, sinon `"http"`.
|
|
23
|
+
*/
|
|
24
|
+
function pduProtocol(pdu) {
|
|
25
|
+
return pdu.msgid === WS_MSGID ? "ws" : "http";
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { pduProtocol };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import clc from "../colors.js";
|
|
2
|
+
//#region src/syslog/logColor.ts
|
|
3
|
+
/** Combinaisons `cli-color` réellement utilisées par les loggers Nodefony. */
|
|
4
|
+
const KEYS = [
|
|
5
|
+
"cyan",
|
|
6
|
+
"magenta",
|
|
7
|
+
"red",
|
|
8
|
+
"green",
|
|
9
|
+
"yellow",
|
|
10
|
+
"blue",
|
|
11
|
+
"blackBright",
|
|
12
|
+
"yellowBold",
|
|
13
|
+
"redBold",
|
|
14
|
+
"cyanBold",
|
|
15
|
+
"blueBrightBold",
|
|
16
|
+
"cyanBgBlue",
|
|
17
|
+
"cyanBgBlack"
|
|
18
|
+
];
|
|
19
|
+
const identity = (s) => s;
|
|
20
|
+
/** Implémentation colorée (TTY) — résolue 1× à l'import (chaînage figé). */
|
|
21
|
+
const COLORS = {
|
|
22
|
+
cyan: clc.cyan,
|
|
23
|
+
magenta: clc.magenta,
|
|
24
|
+
red: clc.red,
|
|
25
|
+
green: clc.green,
|
|
26
|
+
yellow: clc.yellow,
|
|
27
|
+
blue: clc.blue,
|
|
28
|
+
blackBright: clc.blackBright,
|
|
29
|
+
yellowBold: clc.yellow.bold,
|
|
30
|
+
redBold: clc.red.bold,
|
|
31
|
+
cyanBold: clc.cyan.bold,
|
|
32
|
+
blueBrightBold: clc.blueBright.bold,
|
|
33
|
+
cyanBgBlue: clc.cyan.bgBlue,
|
|
34
|
+
cyanBgBlack: clc.cyan.bgBlack
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Helper de couleur partagé — référence STABLE, propriétés mutées par
|
|
38
|
+
* {@link setLogColor}. Les call-sites font `logColor.cyan("URL")`.
|
|
39
|
+
*/
|
|
40
|
+
const logColor = { ...COLORS };
|
|
41
|
+
let _enabled = false;
|
|
42
|
+
/**
|
|
43
|
+
* Active/désactive la couleur ANSI des logs — à appeler **une fois au boot**.
|
|
44
|
+
* Swap les fonctions des slots ; aucun coût par log ensuite.
|
|
45
|
+
*
|
|
46
|
+
* @param enabled - `true` = couleur (TTY interactif), `false` = brut (pipe/fichier).
|
|
47
|
+
*/
|
|
48
|
+
function setLogColor(enabled) {
|
|
49
|
+
_enabled = enabled;
|
|
50
|
+
for (const k of KEYS) logColor[k] = enabled ? COLORS[k] : identity;
|
|
51
|
+
}
|
|
52
|
+
/** `true` si la couleur ANSI est active (gate boot-time). */
|
|
53
|
+
function isLogColorEnabled() {
|
|
54
|
+
return _enabled;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Applique les conventions d'environnement couleur PAR-DESSUS un signal `isTTY`
|
|
58
|
+
* **déjà résolu** — au boot on passe `Kernel.isTTY` (qui honore déjà `NF_NO_TTY`),
|
|
59
|
+
* sans re-lire `process.stdout`. Conventions :
|
|
60
|
+
*
|
|
61
|
+
* - **`NO_COLOR`** (no-color.org) : présent **et non vide** → couleur OFF, quelle
|
|
62
|
+
* que soit sa valeur. Priorité absolue (refus explicite de l'utilisateur).
|
|
63
|
+
* - **`FORCE_COLOR`** : non vide et ≠ `"0"` → couleur ON (override pipe/non-TTY,
|
|
64
|
+
* ex. CI qui veut des logs colorés capturés).
|
|
65
|
+
* - sinon → couleur = `isTTY`.
|
|
66
|
+
*
|
|
67
|
+
* Isomorphe : `env` lu via `globalThis.process` (navigateur : pas de `process`).
|
|
68
|
+
*
|
|
69
|
+
* @param isTTY - signal TTY déjà résolu (ex. `Kernel.isTTY`, NF_NO_TTY-aware).
|
|
70
|
+
*/
|
|
71
|
+
function resolveColorEnabled(isTTY) {
|
|
72
|
+
const env = globalThis.process?.env ?? {};
|
|
73
|
+
if (typeof env.NO_COLOR === "string" && env.NO_COLOR !== "") return false;
|
|
74
|
+
if (typeof env.FORCE_COLOR === "string" && env.FORCE_COLOR !== "" && env.FORCE_COLOR !== "0") return true;
|
|
75
|
+
return isTTY;
|
|
76
|
+
}
|
|
77
|
+
const _importProc = globalThis.process;
|
|
78
|
+
setLogColor(resolveColorEnabled(_importProc?.env?.NF_NO_TTY ? false : _importProc?.stdout?.isTTY === true));
|
|
79
|
+
//#endregion
|
|
80
|
+
export { isLogColorEnabled, logColor, resolveColorEnabled, setLogColor };
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import type { Message, Msgid, Pci, Severity } from "./syslog/Pdu.js";
|
|
2
|
+
import Syslog from "./syslog/Syslog.js";
|
|
3
|
+
import type { IContainer, IScope } from "./types/IContainer.js";
|
|
4
|
+
export interface DynamicService {
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export interface DynamicParam {
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Bookkeeping des scopes ouverts : nom de scope → instances vivantes par id.
|
|
12
|
+
* `Map` (et plus un objet `delete`-é) : l'ajout/retrait a lieu à CHAQUE
|
|
13
|
+
* requête — le churn de shape d'un objet ordinaire dégrade les inline caches
|
|
14
|
+
* V8, la Map est conçue pour ce motif.
|
|
15
|
+
*/
|
|
16
|
+
export type Scopes = Map<string, Map<string, Scope>>;
|
|
17
|
+
export type ProtoService = {
|
|
18
|
+
(): void;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
};
|
|
21
|
+
export type ProtoParameters = {
|
|
22
|
+
(): void;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Dependency Injection container — registers services by name and exposes
|
|
27
|
+
* them to the rest of the framework.
|
|
28
|
+
*
|
|
29
|
+
* Services are stored on a prototype-backed object (`protoService`) so they
|
|
30
|
+
* are inherited by child scopes (see {@link Scope}). The container also
|
|
31
|
+
* carries an arbitrary parameter tree (`parameters`) used for configuration.
|
|
32
|
+
*
|
|
33
|
+
* Conventional usage:
|
|
34
|
+
* ```ts
|
|
35
|
+
* const c = new Container();
|
|
36
|
+
* c.set("logger", new LoggerService());
|
|
37
|
+
* c.setParameters("kernel.environment", "development");
|
|
38
|
+
* const logger = c.get<LoggerService>("logger");
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* See `src/nodefony/docs/container.md` for the high-level rationale and the
|
|
42
|
+
* scope model used by the HTTP/WS request pipeline.
|
|
43
|
+
*/
|
|
44
|
+
declare class Container implements IContainer {
|
|
45
|
+
protoService: ProtoService;
|
|
46
|
+
protected services: DynamicService | null;
|
|
47
|
+
protoParameters: ProtoParameters;
|
|
48
|
+
protected parameters: DynamicParam | null;
|
|
49
|
+
id: string;
|
|
50
|
+
private scopes;
|
|
51
|
+
private setServices;
|
|
52
|
+
private setParametersBulk;
|
|
53
|
+
/**
|
|
54
|
+
* Emit a log entry through the registered `syslog` service. Falls back to
|
|
55
|
+
* `console.warn` when no syslog is set (early boot, isolated test).
|
|
56
|
+
*
|
|
57
|
+
* @param pci - log payload (string or structured PDU body)
|
|
58
|
+
* @param severity - syslog severity level
|
|
59
|
+
* @param msgid - message id; defaults to `"SERVICES CONTAINER"`
|
|
60
|
+
* @param msg - optional message detail
|
|
61
|
+
*/
|
|
62
|
+
log(pci: Pci, severity?: Severity, msgid?: Msgid, msg?: Message): ReturnType<Syslog["log"]> | void;
|
|
63
|
+
/**
|
|
64
|
+
* Register a service under `name`. The service is stored both directly on
|
|
65
|
+
* the container and on its prototype, so child scopes can read it without
|
|
66
|
+
* an extra hop.
|
|
67
|
+
*
|
|
68
|
+
* @param name - service identifier (any non-empty string)
|
|
69
|
+
* @param object - the instance to register (no type constraint — services
|
|
70
|
+
* are not required to extend any base class)
|
|
71
|
+
* @throws Error if `name` is empty or the container has been cleaned
|
|
72
|
+
*/
|
|
73
|
+
set<T>(name: string, object: T): void;
|
|
74
|
+
/**
|
|
75
|
+
* Resolve a service by name. Returns `null` if the service is unknown or
|
|
76
|
+
* the container has been cleaned — callers should narrow the result
|
|
77
|
+
* before use.
|
|
78
|
+
*
|
|
79
|
+
* @param name - service identifier
|
|
80
|
+
* @returns the service instance typed as `T`, or `null`
|
|
81
|
+
*/
|
|
82
|
+
get<T = unknown>(name: string): T | null;
|
|
83
|
+
/**
|
|
84
|
+
* Unregister a service and cascade the removal into every child scope.
|
|
85
|
+
*
|
|
86
|
+
* @param name - service identifier
|
|
87
|
+
* @returns `true` when a service was actually removed, `false` otherwise
|
|
88
|
+
*/
|
|
89
|
+
remove(name: string): boolean;
|
|
90
|
+
/** Whether a service is registered under `name`. */
|
|
91
|
+
has(name: string): boolean;
|
|
92
|
+
/** All service names currently registered on this container. */
|
|
93
|
+
keys(): string[];
|
|
94
|
+
/** All `[name, service]` pairs currently registered on this container. */
|
|
95
|
+
entries(): [string, unknown][];
|
|
96
|
+
/**
|
|
97
|
+
* Declare a scope. Scopes are short-lived containers (typically created
|
|
98
|
+
* per HTTP/WS request) that inherit services from this container but
|
|
99
|
+
* store their own per-request services and parameters. Must be called
|
|
100
|
+
* once before {@link enterScope} can produce instances.
|
|
101
|
+
*
|
|
102
|
+
* @param name - scope identifier (e.g. `"request"`)
|
|
103
|
+
* @returns the underlying scope bucket (rarely used by callers)
|
|
104
|
+
*/
|
|
105
|
+
addScope(name: string): Map<string, Scope>;
|
|
106
|
+
/**
|
|
107
|
+
* Open a new instance of the named scope. The returned {@link Scope}
|
|
108
|
+
* inherits services from this container but tracks its own services and
|
|
109
|
+
* parameters in isolation.
|
|
110
|
+
*
|
|
111
|
+
* @param name - scope name previously declared via {@link addScope}
|
|
112
|
+
* @returns a fresh `Scope` instance with a unique `id`
|
|
113
|
+
* @throws Error when the scope has not been declared
|
|
114
|
+
*/
|
|
115
|
+
enterScope(name: string): Scope;
|
|
116
|
+
/**
|
|
117
|
+
* Close a scope instance and release its services/parameters. Always
|
|
118
|
+
* called when the unit of work that opened the scope finishes (request
|
|
119
|
+
* end, WS close).
|
|
120
|
+
*
|
|
121
|
+
* @param scope - the scope instance returned by {@link enterScope}
|
|
122
|
+
*/
|
|
123
|
+
leaveScope(scope: IScope): void;
|
|
124
|
+
/**
|
|
125
|
+
* Nombre d'instances VIVANTES du scope nommé — introspection bon marché
|
|
126
|
+
* (sondes de fuite, Studio, diagnostics) sans exposer la structure interne.
|
|
127
|
+
*
|
|
128
|
+
* @param name - scope identifier (e.g. `"request"`)
|
|
129
|
+
* @returns le nombre de scopes ouverts, `0` si le scope est inconnu
|
|
130
|
+
*/
|
|
131
|
+
scopeCount(name: string): number;
|
|
132
|
+
/**
|
|
133
|
+
* Close every open instance of the named scope and forget it. After this
|
|
134
|
+
* call, {@link enterScope}(`name`) will throw until {@link addScope} is
|
|
135
|
+
* called again.
|
|
136
|
+
*
|
|
137
|
+
* @param name - scope identifier
|
|
138
|
+
*/
|
|
139
|
+
removeScope(name: string): void;
|
|
140
|
+
private removeAllScopes;
|
|
141
|
+
/**
|
|
142
|
+
* Set a value in the parameter tree using a dotted path. Intermediate
|
|
143
|
+
* objects are created on demand (`a.b.c = 1` creates `a` and `b` if they
|
|
144
|
+
* are missing).
|
|
145
|
+
*
|
|
146
|
+
* @param name - dotted path (e.g. `"kernel.environment"`)
|
|
147
|
+
* @param ele - value to assign (must not be `undefined`)
|
|
148
|
+
* @returns the parameter subtree containing the assigned value, or `null`
|
|
149
|
+
* if the container has been cleaned
|
|
150
|
+
* @throws Error when `name` is not a string or `ele` is `undefined`
|
|
151
|
+
*/
|
|
152
|
+
setParameters<T>(name: string, ele: T): DynamicParam | null;
|
|
153
|
+
/**
|
|
154
|
+
* Read a value (or subtree) from the parameter tree.
|
|
155
|
+
*
|
|
156
|
+
* @param name - dotted path (e.g. `"kernel.environment"`)
|
|
157
|
+
* @returns the value, the subtree, or `null` if absent
|
|
158
|
+
* @throws Error when `name` is empty
|
|
159
|
+
*/
|
|
160
|
+
getParameters(name: string): DynamicParam | null;
|
|
161
|
+
/**
|
|
162
|
+
* Tear the container down: close every scope, drop services and
|
|
163
|
+
* parameters. After `clean()`, any `get`/`set`/`enterScope` call on this
|
|
164
|
+
* instance throws or returns `null`. Called by the kernel during
|
|
165
|
+
* graceful shutdown.
|
|
166
|
+
*/
|
|
167
|
+
clean(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Clean the container and rebuild fresh prototype chains, leaving it
|
|
170
|
+
* ready to register services again. Used by hot-reload paths in tests
|
|
171
|
+
* and dev mode; production code rarely calls this directly.
|
|
172
|
+
*/
|
|
173
|
+
reset(): void;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Short-lived child container tied to a parent {@link Container}. Used by
|
|
177
|
+
* the HTTP/WS kernel to isolate per-request services (e.g. request-bound
|
|
178
|
+
* sessions, scoped resolvers) without polluting the global container.
|
|
179
|
+
*
|
|
180
|
+
* Services and parameters defined on a `Scope` shadow the parent's — reads
|
|
181
|
+
* fall back to the parent transparently when nothing is found locally.
|
|
182
|
+
*/
|
|
183
|
+
declare class Scope extends Container implements IScope {
|
|
184
|
+
name: string;
|
|
185
|
+
private parent;
|
|
186
|
+
constructor(name: string, parent: Container, parentProtoService: ProtoService, parentProtoParameters: ProtoParameters);
|
|
187
|
+
/**
|
|
188
|
+
* Register a per-request service — own property ONLY (shadowing). Depuis
|
|
189
|
+
* l'adoption des protos parents, l'écriture prototype de
|
|
190
|
+
* {@link Container.set} toucherait le proto PARTAGÉ du parent : un service
|
|
191
|
+
* per-request (controller, context) deviendrait visible de TOUTES les
|
|
192
|
+
* requêtes concurrentes. (L'ancien chemin écrivait sur un proto local mort
|
|
193
|
+
* — travail perdu à chaque set.)
|
|
194
|
+
*/
|
|
195
|
+
set<T>(name: string, object: T): void;
|
|
196
|
+
/**
|
|
197
|
+
* Unregister a service registered ON THIS SCOPE (own property only). Les
|
|
198
|
+
* services hérités du parent ne sont jamais touchés — même raison que
|
|
199
|
+
* {@link Scope.set} : le proto est partagé depuis l'adoption.
|
|
200
|
+
*/
|
|
201
|
+
remove(name: string): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Read a parameter from the scope, falling back to the parent container.
|
|
204
|
+
* When both sides hold plain objects, the result is a merged view (deep
|
|
205
|
+
* by default) so a scope can override a few keys without losing the rest.
|
|
206
|
+
*
|
|
207
|
+
* @param name - dotted path
|
|
208
|
+
* @param merge - when `true` (default), merge scope and parent objects;
|
|
209
|
+
* when `false`, scope value wins outright if present
|
|
210
|
+
* @param deep - deep vs. shallow merge (only when `merge` is `true`)
|
|
211
|
+
*/
|
|
212
|
+
getParameters(name: string, merge?: boolean, deep?: boolean): DynamicParam | null;
|
|
213
|
+
/**
|
|
214
|
+
* Break the parent link and clean the scope. Called by
|
|
215
|
+
* {@link Container.leaveScope} when the unit of work that owns the scope
|
|
216
|
+
* finishes.
|
|
217
|
+
*/
|
|
218
|
+
clean(): void;
|
|
219
|
+
}
|
|
220
|
+
export default Container;
|
|
221
|
+
export { Scope };
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
/**
|
|
3
|
+
* Listener générique — args et retour non contraints. Volontairement basé sur
|
|
4
|
+
* `unknown` (pas `any`) : reste assignable aux signatures `EventEmitter`
|
|
5
|
+
* (`(...args: any[]) => void`) tout en forçant le narrowing côté appelant.
|
|
6
|
+
*/
|
|
7
|
+
type Listener = (...args: unknown[]) => unknown;
|
|
8
|
+
interface EventDefaultInterface {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
interface EventOptionInterface {
|
|
12
|
+
nbListeners?: number;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
/** `this` bindé sur les listeners auto-enregistrés (non contraint). */
|
|
16
|
+
type ContextType = unknown;
|
|
17
|
+
/**
|
|
18
|
+
* Information sur un listener pendant une émission gardée
|
|
19
|
+
* ({@link Event.emitAsyncGuarded}).
|
|
20
|
+
*/
|
|
21
|
+
export interface IGuardedListenerInfo {
|
|
22
|
+
/** Index du listener dans l'ordre d'enregistrement. */
|
|
23
|
+
index: number;
|
|
24
|
+
/** Référence du listener (pour lire d'éventuels tags posés par l'appelant). */
|
|
25
|
+
listener: object;
|
|
26
|
+
/** `true` si le listener a été interrompu par le timeout. */
|
|
27
|
+
timedOut: boolean;
|
|
28
|
+
/** Durée d'exécution mesurée (ms) — `0` si la mesure est off (`warnMs ≤ 0`). */
|
|
29
|
+
durationMs: number;
|
|
30
|
+
}
|
|
31
|
+
/** Erreur collectée pour un listener pendant {@link Event.emitAsyncGuarded}. */
|
|
32
|
+
export interface IGuardedEmitError {
|
|
33
|
+
/** Index du listener fautif. */
|
|
34
|
+
index: number;
|
|
35
|
+
/** Erreur levée par le listener (ou erreur de timeout). */
|
|
36
|
+
error: unknown;
|
|
37
|
+
/** `true` si l'échec est un dépassement de `timeoutMs`. */
|
|
38
|
+
timedOut: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options de {@link Event.emitAsyncGuarded} — purement MÉCANIQUES : aucune notion
|
|
42
|
+
* de module / criticité / log (ça, c'est la POLITIQUE, décidée par l'appelant via
|
|
43
|
+
* les callbacks). Sépare le « comment on isole un listener » du « quoi faire d'un
|
|
44
|
+
* échec ».
|
|
45
|
+
*/
|
|
46
|
+
export interface IGuardedEmitOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Timeout par listener (ms). `0` / absent = pas de timeout (0 timer alloué).
|
|
49
|
+
*
|
|
50
|
+
* Une FONCTION permet de décider listener par listener — la mécanique ne juge
|
|
51
|
+
* toujours rien, elle DEMANDE. C'est ce qui permet à un appelant d'exempter un
|
|
52
|
+
* écouteur qui n'est pas de la même nature que les autres (cf
|
|
53
|
+
* `Kernel.fireLifecycle` : l'action d'une commande n'est pas un hook de boot),
|
|
54
|
+
* sans que cette garde ait à connaître la notion de commande.
|
|
55
|
+
*/
|
|
56
|
+
timeoutMs?: number | ((listener: object, index: number) => number);
|
|
57
|
+
/** Seuil d'alerte de lenteur par listener (ms). `0` / absent = 0 mesure (0 `Date.now`). */
|
|
58
|
+
warnMs?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Appelé quand un listener rejette OU dépasse `timeoutMs`.
|
|
61
|
+
*
|
|
62
|
+
* @returns `true` pour **arrêter** la chaîne (les listeners suivants ne sont
|
|
63
|
+
* pas appelés) ; toute autre valeur = on continue (fail-soft).
|
|
64
|
+
*/
|
|
65
|
+
onListenerError?: (error: unknown, info: IGuardedListenerInfo) => boolean | void;
|
|
66
|
+
/** Appelé quand un listener réussit mais dépasse `warnMs` (observabilité). */
|
|
67
|
+
onListenerSlow?: (info: IGuardedListenerInfo) => void;
|
|
68
|
+
}
|
|
69
|
+
/** Résultat de {@link Event.emitAsyncGuarded}. */
|
|
70
|
+
export interface IGuardedEmitResult {
|
|
71
|
+
/** Valeurs résolues par les listeners ayant réussi (ordre d'exécution). */
|
|
72
|
+
results: unknown[];
|
|
73
|
+
/** Erreurs / timeouts collectés (vide si tout a réussi). */
|
|
74
|
+
errors: IGuardedEmitError[];
|
|
75
|
+
/** `true` si la chaîne a été arrêtée par `onListenerError`. */
|
|
76
|
+
stopped: boolean;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Bus d'événements Nodefony — extension de Node.js {@link EventEmitter} avec
|
|
80
|
+
* deux ajouts maison : `emitAsync` (await tous les listeners en séquence) et
|
|
81
|
+
* `settingsToListen` (mapping config → listeners via convention `onXxx`).
|
|
82
|
+
*
|
|
83
|
+
* Utilisé par {@link Service} comme `notificationsCenter`. Une seule instance
|
|
84
|
+
* peut être partagée entre plusieurs services — chaque service track ses
|
|
85
|
+
* propres listeners pour les retirer proprement à `clean()`.
|
|
86
|
+
*
|
|
87
|
+
* @example Bus dédié
|
|
88
|
+
* ```ts
|
|
89
|
+
* const bus = new Event({ onReady: () => console.log("ready!") }, this);
|
|
90
|
+
* bus.fire("onReady");
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @example Bus partagé entre services
|
|
94
|
+
* ```ts
|
|
95
|
+
* const sharedBus = new Event();
|
|
96
|
+
* new ServiceA(name, container, sharedBus);
|
|
97
|
+
* new ServiceB(name, container, sharedBus);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
declare class Event extends EventEmitter {
|
|
101
|
+
/**
|
|
102
|
+
* @param settings - objet de config dont les clés `onXxx` sont auto-bindées
|
|
103
|
+
* comme listeners (via {@link settingsToListen}).
|
|
104
|
+
* @param context - `this` à bind sur les listeners auto-enregistrés.
|
|
105
|
+
* @param options - `nbListeners` surcharge la limite d'abonnés de Node.js ;
|
|
106
|
+
* absent, c'est celle de Node qui s'applique (10), et le dépassement
|
|
107
|
+
* signale une fuite probable. La valeur `0` vaut **illimité**, comme dans
|
|
108
|
+
* `setMaxListeners` — un bus dont on SAIT qu'il portera beaucoup d'abonnés
|
|
109
|
+
* se déclare ainsi, au lieu de subir un avertissement qui n'annonce rien.
|
|
110
|
+
*/
|
|
111
|
+
constructor(settings?: EventDefaultInterface, context?: ContextType, options?: EventOptionInterface);
|
|
112
|
+
/**
|
|
113
|
+
* Parcourt `localSettings` et enregistre chaque clé matchant `/^on(.*)$/`
|
|
114
|
+
* comme listener — convention héritée des composants WebComponent / config
|
|
115
|
+
* Nodefony historique. Utile pour wirer des hooks via config plate.
|
|
116
|
+
*
|
|
117
|
+
* @param localSettings - objet plat ; les clés `onReady`, `onClose`, etc.
|
|
118
|
+
* sont prises comme noms d'événements ET comme listeners.
|
|
119
|
+
* @param context - si fourni, le listener est bindé sur ce contexte.
|
|
120
|
+
*/
|
|
121
|
+
settingsToListen(localSettings: EventDefaultInterface, context?: ContextType): void;
|
|
122
|
+
/**
|
|
123
|
+
* Bind `listener` sur `context` puis l'enregistre. Renvoie une fonction
|
|
124
|
+
* dispatcher qui ré-émet l'événement avec ses propres args (façon trigger).
|
|
125
|
+
*
|
|
126
|
+
* @returns dispatcher `(...args) => this.emit(eventName, ...args)` — pratique
|
|
127
|
+
* pour exposer un trigger sans donner accès au bus complet.
|
|
128
|
+
*/
|
|
129
|
+
listen(context: ContextType, eventName: string | symbol, listener: Listener): (...args: unknown[]) => boolean;
|
|
130
|
+
/** Alias `emit` — émission synchrone (API EventEmitter standard). */
|
|
131
|
+
fire(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Émet et attend chaque listener en séquence (`await Reflect.apply` un par
|
|
134
|
+
* un). Différent de `emit` qui appelle synchroniquement sans attendre les
|
|
135
|
+
* Promises retournées.
|
|
136
|
+
*
|
|
137
|
+
* @returns tableau des valeurs résolues par chaque listener (ordre d'append),
|
|
138
|
+
* ou `false` si aucun listener n'est attaché.
|
|
139
|
+
* @remarks Séquentiel par design — si tu veux Promise.all, fais un wrapper
|
|
140
|
+
* au-dessus. La séquence garantit l'ordre prévisible des side-effects.
|
|
141
|
+
*/
|
|
142
|
+
emitAsync(eventName: string | symbol, ...args: unknown[]): Promise<false | unknown[]>;
|
|
143
|
+
/** Alias `emitAsync`. */
|
|
144
|
+
fireAsync(eventName: string | symbol, ...args: unknown[]): Promise<false | unknown[]>;
|
|
145
|
+
/**
|
|
146
|
+
* Variante **gardée** de {@link emitAsync} : émet les listeners en SÉRIE (ordre
|
|
147
|
+
* préservé) mais isole chacun par un `try/catch` + un `timeout` optionnel, et
|
|
148
|
+
* COLLECTE les échecs au lieu de laisser le premier rejet faire sauter les
|
|
149
|
+
* suivants (ou un listener figé geler tout le reste).
|
|
150
|
+
*
|
|
151
|
+
* Ne décide d'AUCUNE politique (log, criticité, propagation) : c'est l'appelant
|
|
152
|
+
* qui tranche via `onListenerError` (continuer / arrêter) et `onListenerSlow`.
|
|
153
|
+
* Cette séparation MÉCANIQUE / POLITIQUE permet de réutiliser la garde hors boot
|
|
154
|
+
* en toute connaissance de cause.
|
|
155
|
+
*
|
|
156
|
+
* 🚨 **Coût** : quand `timeoutMs > 0`, 1 timer + 1 Promise de course PAR listener.
|
|
157
|
+
* Réservé au **boot / lifecycle / jobs** (cf `Kernel.fireLifecycle`) — appelé
|
|
158
|
+
* ≪ 1×/process. **JAMAIS dans le hot path HTTP/WS** : celui-ci garde `emitAsync`
|
|
159
|
+
* nu (aucun timer, aucune alloc par requête).
|
|
160
|
+
*
|
|
161
|
+
* @param eventName - événement à émettre.
|
|
162
|
+
* @param options - garde (timeout/seuil de lenteur) + callbacks de politique.
|
|
163
|
+
* @param args - arguments passés à chaque listener.
|
|
164
|
+
* @returns `{ results, errors, stopped }` (cf {@link IGuardedEmitResult}).
|
|
165
|
+
*/
|
|
166
|
+
emitAsyncGuarded(eventName: string | symbol, options?: IGuardedEmitOptions, ...args: unknown[]): Promise<IGuardedEmitResult>;
|
|
167
|
+
}
|
|
168
|
+
declare const create: (settings?: EventDefaultInterface, context?: ContextType, options?: EventOptionInterface) => Event;
|
|
169
|
+
declare const notification: typeof Event;
|
|
170
|
+
export default Event;
|
|
171
|
+
export { notification, create, EventDefaultInterface };
|