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.
Files changed (903) hide show
  1. package/.ai/symbols.json +36135 -0
  2. package/LICENSE +544 -0
  3. package/README.md +316 -694
  4. package/bin/nodefony +2183 -85
  5. package/dist/client/Container.js +367 -0
  6. package/dist/client/Event.js +198 -0
  7. package/dist/client/Service.js +344 -0
  8. package/dist/client/Tools.js +162 -0
  9. package/dist/client/client/ClientKernel.js +276 -0
  10. package/dist/client/client/angular/index.js +352 -0
  11. package/dist/client/client/announce.js +212 -0
  12. package/dist/client/client/debugbar/DebugBar.js +1624 -0
  13. package/dist/client/client/debugbar/format.js +103 -0
  14. package/dist/client/client/debugbar/hmr.js +37 -0
  15. package/dist/client/client/debugbar/index.js +29 -0
  16. package/dist/client/client/debugbar/model.js +133 -0
  17. package/dist/client/client/debugbar/network.js +173 -0
  18. package/dist/client/client/debugbar/profile.js +114 -0
  19. package/dist/client/client/index.js +34 -0
  20. package/dist/client/client/react/index.js +268 -0
  21. package/dist/client/client/realtime/AdaptiveRate.js +240 -0
  22. package/dist/client/client/realtime/BrowserWsTransport.js +57 -0
  23. package/dist/client/client/realtime/RealtimeClient.js +898 -0
  24. package/dist/client/client/realtime/localEvents.js +56 -0
  25. package/dist/client/client/realtime/notice.js +125 -0
  26. package/dist/client/client/realtime/observe.js +280 -0
  27. package/dist/client/client/roles/index.js +3 -0
  28. package/dist/client/client/roles/registry.js +97 -0
  29. package/dist/client/client/roles/roles.js +91 -0
  30. package/dist/client/client/shim/events.js +88 -0
  31. package/dist/client/client/shim/util.js +20 -0
  32. package/dist/client/client/svelte/index.js +319 -0
  33. package/dist/client/client/syslog/context.js +122 -0
  34. package/dist/client/client/syslog/errors.js +49 -0
  35. package/dist/client/client/syslog/uplink.js +106 -0
  36. package/dist/client/client/vue/index.js +321 -0
  37. package/dist/client/colors.js +63 -0
  38. package/dist/client/debugbar.standalone.js +4274 -0
  39. package/dist/client/realtime/IRealtimeTransport.js +32 -0
  40. package/dist/client/realtime/JsonRpcPeer.js +251 -0
  41. package/dist/client/realtime/channelRate.js +39 -0
  42. package/dist/client/realtime/platformChannels.js +155 -0
  43. package/dist/client/syslog/Pdu.js +224 -0
  44. package/dist/client/syslog/Syslog.js +1159 -0
  45. package/dist/client/syslog/drivers/pduFlow.js +106 -0
  46. package/dist/client/syslog/drivers/pduProtocol.js +28 -0
  47. package/dist/client/syslog/logColor.js +80 -0
  48. package/dist/client/types/src/Container.d.ts +221 -0
  49. package/dist/client/types/src/Event.d.ts +171 -0
  50. package/dist/client/types/src/FileClass.d.ts +184 -0
  51. package/dist/client/types/src/Service.d.ts +165 -0
  52. package/dist/client/types/src/Tools.d.ts +116 -0
  53. package/dist/client/types/src/client/ClientKernel.d.ts +90 -0
  54. package/dist/client/types/src/client/IClientKernel.d.ts +195 -0
  55. package/dist/client/types/src/client/angular/index.d.ts +273 -0
  56. package/dist/client/types/src/client/announce.d.ts +74 -0
  57. package/dist/client/types/src/client/debugbar/DebugBar.d.ts +279 -0
  58. package/dist/client/types/src/client/debugbar/format.d.ts +48 -0
  59. package/dist/client/types/src/client/debugbar/hmr.d.ts +16 -0
  60. package/dist/client/types/src/client/debugbar/index.d.ts +30 -0
  61. package/dist/client/types/src/client/debugbar/model.d.ts +158 -0
  62. package/dist/client/types/src/client/debugbar/network.d.ts +55 -0
  63. package/dist/client/types/src/client/debugbar/profile.d.ts +99 -0
  64. package/dist/client/types/src/client/index.d.ts +47 -0
  65. package/dist/client/types/src/client/react/index.d.ts +207 -0
  66. package/dist/client/types/src/client/realtime/AdaptiveRate.d.ts +138 -0
  67. package/dist/client/types/src/client/realtime/BrowserWsTransport.d.ts +27 -0
  68. package/dist/client/types/src/client/realtime/RealtimeClient.d.ts +573 -0
  69. package/dist/client/types/src/client/realtime/localEvents.d.ts +53 -0
  70. package/dist/client/types/src/client/realtime/notice.d.ts +70 -0
  71. package/dist/client/types/src/client/realtime/observe.d.ts +284 -0
  72. package/dist/client/types/src/client/roles/index.d.ts +15 -0
  73. package/dist/client/types/src/client/roles/registry.d.ts +72 -0
  74. package/dist/client/types/src/client/roles/roles.d.ts +68 -0
  75. package/dist/client/types/src/client/shim/cli-color.d.ts +2 -0
  76. package/dist/client/types/src/client/shim/events.d.ts +39 -0
  77. package/dist/client/types/src/client/shim/util.d.ts +14 -0
  78. package/dist/client/types/src/client/svelte/index.d.ts +216 -0
  79. package/dist/client/types/src/client/syslog/context.d.ts +76 -0
  80. package/dist/client/types/src/client/syslog/errors.d.ts +46 -0
  81. package/dist/client/types/src/client/syslog/uplink.d.ts +89 -0
  82. package/dist/client/types/src/client/transport/websocket.d.ts +5 -0
  83. package/dist/client/types/src/client/vue/index.d.ts +234 -0
  84. package/dist/client/types/src/colors.d.ts +32 -0
  85. package/dist/client/types/src/config/infra.d.ts +171 -0
  86. package/dist/client/types/src/kernel/bootReport.d.ts +112 -0
  87. package/dist/client/types/src/kernel/readinessRegistry.d.ts +104 -0
  88. package/dist/client/types/src/realtime/IRealtimeSocket.d.ts +142 -0
  89. package/dist/client/types/src/realtime/IRealtimeTransport.d.ts +50 -0
  90. package/dist/client/types/src/realtime/JsonRpcPeer.d.ts +251 -0
  91. package/dist/client/types/src/realtime/RealtimeEventMap.d.ts +269 -0
  92. package/dist/client/types/src/realtime/channelRate.d.ts +55 -0
  93. package/dist/client/types/src/realtime/platformChannels.d.ts +147 -0
  94. package/dist/client/types/src/syslog/Pdu.d.ts +134 -0
  95. package/dist/client/types/src/syslog/Syslog.d.ts +482 -0
  96. package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +177 -0
  97. package/dist/client/types/src/syslog/drivers/pduFlow.d.ts +53 -0
  98. package/dist/client/types/src/syslog/drivers/pduProtocol.d.ts +20 -0
  99. package/dist/client/types/src/syslog/logColor.d.ts +59 -0
  100. package/dist/client/types/src/types/ICliKernel.d.ts +28 -0
  101. package/dist/client/types/src/types/ICommand.d.ts +14 -0
  102. package/dist/client/types/src/types/IContainer.d.ts +35 -0
  103. package/dist/client/types/src/types/IKernel.d.ts +138 -0
  104. package/dist/client/types/src/types/IMcpTool.d.ts +157 -0
  105. package/dist/client/types/src/types/IModule.d.ts +73 -0
  106. package/dist/client/types/src/types/IPage.d.ts +119 -0
  107. package/dist/client/types/src/types/IService.d.ts +62 -0
  108. package/dist/client/types/src/types/ISyslog.d.ts +58 -0
  109. package/dist/client/types/src/types/ITransport.d.ts +5 -0
  110. package/dist/client/types/src/types/globals.d.ts +47 -0
  111. package/dist/node/Cli.js +750 -0
  112. package/dist/node/Container.js +367 -0
  113. package/dist/node/Error.js +309 -0
  114. package/dist/node/Event.js +198 -0
  115. package/dist/node/FileClass.js +308 -0
  116. package/dist/node/Nodefony.js +78 -0
  117. package/dist/node/Service.js +344 -0
  118. package/dist/node/Tools.js +205 -0
  119. package/dist/node/bin/resolveLocalCli.js +10 -0
  120. package/dist/node/bundler/index.js +103 -0
  121. package/dist/node/cli/agentTargets.js +461 -0
  122. package/dist/node/cli/aiMcp.js +553 -0
  123. package/dist/node/cli/aiMcpReport.js +129 -0
  124. package/dist/node/cli/aiSync.js +323 -0
  125. package/dist/node/cli/aiSyncReport.js +142 -0
  126. package/dist/node/cli/card.js +186 -0
  127. package/dist/node/cli/cardReport.js +110 -0
  128. package/dist/node/cli/completion.js +415 -0
  129. package/dist/node/cli/create.js +805 -0
  130. package/dist/node/cli/env.js +332 -0
  131. package/dist/node/cli/envReport.js +159 -0
  132. package/dist/node/cli/execPortable.js +60 -0
  133. package/dist/node/cli/gitHooks.js +191 -0
  134. package/dist/node/cli/gitHooksReport.js +119 -0
  135. package/dist/node/cli/globalFlags.js +67 -0
  136. package/dist/node/cli/helpReport.js +288 -0
  137. package/dist/node/cli/manPage.js +165 -0
  138. package/dist/node/cli/nodefonyBin.js +61 -0
  139. package/dist/node/cli/outdated.js +144 -0
  140. package/dist/node/cli/progress.js +555 -0
  141. package/dist/node/cli/projectRoot.js +32 -0
  142. package/dist/node/cli/promptPassword.js +44 -0
  143. package/dist/node/cli/prompts.js +86 -0
  144. package/dist/node/cli/scaffold/destination.js +92 -0
  145. package/dist/node/cli/scaffold/engine.js +2156 -0
  146. package/dist/node/cli/scaffold/entityFields.js +589 -0
  147. package/dist/node/cli/scaffold/format.js +243 -0
  148. package/dist/node/cli/scaffold/interactive.js +124 -0
  149. package/dist/node/cli/scaffold/moduleLayout.js +38 -0
  150. package/dist/node/cli/scaffold/reservedEntities.js +74 -0
  151. package/dist/node/cli/scaffold/spec.js +704 -0
  152. package/dist/node/cli/scaffold/steps.js +40 -0
  153. package/dist/node/cli/scaffold/userContractSource.js +133 -0
  154. package/dist/node/cli/scaffold/versions.js +57 -0
  155. package/dist/node/cli/scaffold/writer.js +172 -0
  156. package/dist/node/cli/startMenu.js +496 -0
  157. package/dist/node/cli/symbols.js +205 -0
  158. package/dist/node/cli/sysexits.js +34 -0
  159. package/dist/node/cli/tableReport.js +184 -0
  160. package/dist/node/cli/usageReport.js +144 -0
  161. package/dist/node/colors.js +63 -0
  162. package/dist/node/command/Builder.js +153 -0
  163. package/dist/node/command/Command.js +348 -0
  164. package/dist/node/config/configProvenance.js +101 -0
  165. package/dist/node/config/defaults.js +39 -0
  166. package/dist/node/config/defineConfig.js +129 -0
  167. package/dist/node/config/defineEnv.js +264 -0
  168. package/dist/node/config/envExample.js +41 -0
  169. package/dist/node/config/envOverride.js +423 -0
  170. package/dist/node/config/infra.js +163 -0
  171. package/dist/node/config/reactivity.js +23 -0
  172. package/dist/node/config/reservedEnv.js +118 -0
  173. package/dist/node/config/schema.js +134 -0
  174. package/dist/node/config/use.js +24 -0
  175. package/dist/node/finder/File.js +49 -0
  176. package/dist/node/finder/FileResult.js +86 -0
  177. package/dist/node/finder/Finder.js +201 -0
  178. package/dist/node/finder/Result.js +45 -0
  179. package/dist/node/index.js +121 -0
  180. package/dist/node/kernel/BootConfigurationError.js +54 -0
  181. package/dist/node/kernel/CliKernel.js +630 -0
  182. package/dist/node/kernel/Kernel.js +2198 -0
  183. package/dist/node/kernel/Module.js +453 -0
  184. package/dist/node/kernel/adminPlane/adminCaller.js +98 -0
  185. package/dist/node/kernel/adminPlane/adminRbac.js +51 -0
  186. package/dist/node/kernel/adminPlane/catalog.js +158 -0
  187. package/dist/node/kernel/adminPlane/executeAdmin.js +78 -0
  188. package/dist/node/kernel/checks/deep.js +335 -0
  189. package/dist/node/kernel/checks/freshness.js +139 -0
  190. package/dist/node/kernel/checks/gating.js +231 -0
  191. package/dist/node/kernel/checks/guards.js +232 -0
  192. package/dist/node/kernel/checks/lastBoot.js +136 -0
  193. package/dist/node/kernel/checks/live.js +330 -0
  194. package/dist/node/kernel/checks/packageDeps.js +292 -0
  195. package/dist/node/kernel/checks/readiness.js +153 -0
  196. package/dist/node/kernel/checks/renderReport.js +780 -0
  197. package/dist/node/kernel/checks/report.js +421 -0
  198. package/dist/node/kernel/checks/runDoctor.js +731 -0
  199. package/dist/node/kernel/checks/surface.js +364 -0
  200. package/dist/node/kernel/checks/walk.js +100 -0
  201. package/dist/node/kernel/checks/wiring.js +450 -0
  202. package/dist/node/kernel/commands/AiMcpCommand.js +65 -0
  203. package/dist/node/kernel/commands/AiSyncCommand.js +48 -0
  204. package/dist/node/kernel/commands/BuildCommand.js +49 -0
  205. package/dist/node/kernel/commands/CardCommand.js +50 -0
  206. package/dist/node/kernel/commands/ClusterCommand.js +58 -0
  207. package/dist/node/kernel/commands/CompletionCommand.js +31 -0
  208. package/dist/node/kernel/commands/CreateCommand.js +45 -0
  209. package/dist/node/kernel/commands/DevCommand.js +99 -0
  210. package/dist/node/kernel/commands/DoctorCommand.js +115 -0
  211. package/dist/node/kernel/commands/EnvCommand.js +52 -0
  212. package/dist/node/kernel/commands/GitHooksCommand.js +47 -0
  213. package/dist/node/kernel/commands/InspectCommand.js +153 -0
  214. package/dist/node/kernel/commands/InstallCommand.js +20 -0
  215. package/dist/node/kernel/commands/MenuCommand.js +261 -0
  216. package/dist/node/kernel/commands/OutdatedCommand.js +164 -0
  217. package/dist/node/kernel/commands/ProdCommand.js +60 -0
  218. package/dist/node/kernel/commands/StatusCommand.js +30 -0
  219. package/dist/node/kernel/commands/StopCommand.js +35 -0
  220. package/dist/node/kernel/commands/SymbolsCommand.js +45 -0
  221. package/dist/node/kernel/commands/runtimeLauncher.js +95 -0
  222. package/dist/node/kernel/decorators/kernelDecorator.js +110 -0
  223. package/dist/node/kernel/injector/injector.js +137 -0
  224. package/dist/node/kernel/injector/serviceOrder.js +106 -0
  225. package/dist/node/kernel/inspect/adminSubjects.js +194 -0
  226. package/dist/node/kernel/inspect/docOutline.js +86 -0
  227. package/dist/node/kernel/lifecycleTags.js +76 -0
  228. package/dist/node/kernel/moduleConfig.js +75 -0
  229. package/dist/node/kernel/moduleGating.js +68 -0
  230. package/dist/node/kernel/readinessRegistry.js +98 -0
  231. package/dist/node/kernel/resolveModuleEntry.js +61 -0
  232. package/dist/node/mcp/caller.js +40 -0
  233. package/dist/node/mcp/guard.js +51 -0
  234. package/dist/node/mcp/protocol.js +157 -0
  235. package/dist/node/mcp/server.js +216 -0
  236. package/dist/node/mcp/tools.js +861 -0
  237. package/dist/node/oauth/authorizationServer.js +221 -0
  238. package/dist/node/oauth/protectedResource.js +293 -0
  239. package/dist/node/package.js +4 -0
  240. package/dist/node/realtime/IRealtimeTransport.js +32 -0
  241. package/dist/node/realtime/JsonRpcPeer.js +251 -0
  242. package/dist/node/realtime/RealtimeEventMap.js +15 -0
  243. package/dist/node/realtime/channelRate.js +39 -0
  244. package/dist/node/realtime/platformChannels.js +155 -0
  245. package/dist/node/runtime/GcScheduler.js +92 -0
  246. package/dist/node/runtime/RequestContext.js +76 -0
  247. package/dist/node/runtime/bearer.js +84 -0
  248. package/dist/node/runtime/engineEnvironment.js +79 -0
  249. package/dist/node/runtime/loadEnv.js +105 -0
  250. package/dist/node/runtime/pageFacets.js +85 -0
  251. package/dist/node/runtime/pageFilters.js +103 -0
  252. package/dist/node/runtime/pageGuard.js +84 -0
  253. package/dist/node/runtime/pageQuery.js +160 -0
  254. package/dist/node/runtime/pageSort.js +114 -0
  255. package/dist/node/runtime/redact.js +43 -0
  256. package/dist/node/runtime/withTimeout.js +71 -0
  257. package/dist/node/service/cluster/ClusterManager.js +202 -0
  258. package/dist/node/service/cluster/ClusterProbeAggregator.js +120 -0
  259. package/dist/node/service/cluster/ClusterRelay.js +74 -0
  260. package/dist/node/service/cluster/clusterMaster.js +65 -0
  261. package/dist/node/service/cluster/clusterMessage.js +70 -0
  262. package/dist/node/service/cluster/cpuQuota.js +59 -0
  263. package/dist/node/service/cluster/instanceProbe.js +52 -0
  264. package/dist/node/service/cluster/podEnvironment.js +48 -0
  265. package/dist/node/service/cluster/processProbe.js +70 -0
  266. package/dist/node/service/cluster/richProcessProbe.js +115 -0
  267. package/dist/node/service/cluster/topology.js +71 -0
  268. package/dist/node/service/dev/BootReporter.js +490 -0
  269. package/dist/node/service/dev/DevSupervisor.js +1004 -0
  270. package/dist/node/service/dev/bootVerdict.js +158 -0
  271. package/dist/node/service/dev/detachedStart.js +372 -0
  272. package/dist/node/service/dev/devProcess.js +1137 -0
  273. package/dist/node/service/dev/devProjects.js +138 -0
  274. package/dist/node/service/dev/devStatusReport.js +395 -0
  275. package/dist/node/service/dev/devStop.js +263 -0
  276. package/dist/node/service/fetchService.js +35 -0
  277. package/dist/node/service/gitService.js +62 -0
  278. package/dist/node/syslog/Pdu.js +224 -0
  279. package/dist/node/syslog/Syslog.js +1159 -0
  280. package/dist/node/syslog/drivers/ClusterFileLogDriver.js +114 -0
  281. package/dist/node/syslog/drivers/FileLogDriver.js +127 -0
  282. package/dist/node/syslog/drivers/ILogDriver.js +26 -0
  283. package/dist/node/syslog/drivers/LokiLogDriver.js +144 -0
  284. package/dist/node/syslog/drivers/MemoryLogDriver.js +33 -0
  285. package/dist/node/syslog/drivers/OpenSearchLogDriver.js +159 -0
  286. package/dist/node/syslog/drivers/builtinLogDrivers.js +114 -0
  287. package/dist/node/syslog/drivers/filterPdus.js +71 -0
  288. package/dist/node/syslog/drivers/logDriverRegistry.js +83 -0
  289. package/dist/node/syslog/drivers/opensearchShared.js +17 -0
  290. package/dist/node/syslog/drivers/pduFlow.js +106 -0
  291. package/dist/node/syslog/drivers/pduProtocol.js +28 -0
  292. package/dist/node/syslog/httpFetch.js +43 -0
  293. package/dist/node/syslog/logColor.js +80 -0
  294. package/dist/node/syslog/sinks/FileSink.js +142 -0
  295. package/dist/node/syslog/transports/BatchingHttpTransport.js +98 -0
  296. package/dist/node/syslog/transports/ConsoleTransport.js +14 -0
  297. package/dist/node/syslog/transports/FileTransport.js +17 -0
  298. package/dist/node/syslog/transports/HttpTransport.js +44 -0
  299. package/dist/node/syslog/transports/LokiTransport.js +80 -0
  300. package/dist/node/syslog/transports/OpenSearchTransport.js +53 -0
  301. package/dist/node/syslog/transports/SyslogTransport.js +13 -0
  302. package/dist/node/syslog/transports/index.js +8 -0
  303. package/dist/node/testing/index.js +190 -0
  304. package/dist/types/Cli.d.ts +177 -0
  305. package/dist/types/Container.d.ts +221 -0
  306. package/dist/types/Error.d.ts +162 -0
  307. package/dist/types/Event.d.ts +171 -0
  308. package/dist/types/FileClass.d.ts +184 -0
  309. package/dist/types/Nodefony.d.ts +66 -0
  310. package/dist/types/Service.d.ts +165 -0
  311. package/dist/types/Tools.d.ts +116 -0
  312. package/dist/types/bin/resolveLocalCli.d.ts +49 -0
  313. package/dist/types/bundler/index.d.ts +66 -0
  314. package/dist/types/cli/agentTargets.d.ts +378 -0
  315. package/dist/types/cli/aiMcp.d.ts +239 -0
  316. package/dist/types/cli/aiMcpReport.d.ts +113 -0
  317. package/dist/types/cli/aiSync.d.ts +68 -0
  318. package/dist/types/cli/aiSyncReport.d.ts +149 -0
  319. package/dist/types/cli/card.d.ts +49 -0
  320. package/dist/types/cli/cardReport.d.ts +127 -0
  321. package/dist/types/cli/completion.d.ts +154 -0
  322. package/dist/types/cli/create.d.ts +177 -0
  323. package/dist/types/cli/env.d.ts +103 -0
  324. package/dist/types/cli/envReport.d.ts +153 -0
  325. package/dist/types/cli/execPortable.d.ts +54 -0
  326. package/dist/types/cli/gitHooks.d.ts +48 -0
  327. package/dist/types/cli/gitHooksReport.d.ts +101 -0
  328. package/dist/types/cli/globalFlags.d.ts +48 -0
  329. package/dist/types/cli/helpReport.d.ts +110 -0
  330. package/dist/types/cli/manPage.d.ts +21 -0
  331. package/dist/types/cli/nodefonyBin.d.ts +45 -0
  332. package/dist/types/cli/outdated.d.ts +119 -0
  333. package/dist/types/cli/progress.d.ts +349 -0
  334. package/dist/types/cli/projectRoot.d.ts +19 -0
  335. package/dist/types/cli/promptPassword.d.ts +22 -0
  336. package/dist/types/cli/prompts.d.ts +102 -0
  337. package/dist/types/cli/scaffold/destination.d.ts +70 -0
  338. package/dist/types/cli/scaffold/engine.d.ts +545 -0
  339. package/dist/types/cli/scaffold/entityFields.d.ts +238 -0
  340. package/dist/types/cli/scaffold/format.d.ts +78 -0
  341. package/dist/types/cli/scaffold/interactive.d.ts +11 -0
  342. package/dist/types/cli/scaffold/moduleLayout.d.ts +69 -0
  343. package/dist/types/cli/scaffold/reservedEntities.d.ts +49 -0
  344. package/dist/types/cli/scaffold/spec.d.ts +159 -0
  345. package/dist/types/cli/scaffold/steps.d.ts +24 -0
  346. package/dist/types/cli/scaffold/userContractSource.d.ts +86 -0
  347. package/dist/types/cli/scaffold/versions.d.ts +14 -0
  348. package/dist/types/cli/scaffold/writer.d.ts +100 -0
  349. package/dist/types/cli/startMenu.d.ts +195 -0
  350. package/dist/types/cli/symbols.d.ts +84 -0
  351. package/dist/types/cli/sysexits.d.ts +31 -0
  352. package/dist/types/cli/tableReport.d.ts +44 -0
  353. package/dist/types/cli/usageReport.d.ts +108 -0
  354. package/dist/types/client/ClientKernel.d.ts +90 -0
  355. package/dist/types/client/IClientKernel.d.ts +195 -0
  356. package/dist/types/client/angular/index.d.ts +273 -0
  357. package/dist/types/client/announce.d.ts +74 -0
  358. package/dist/types/client/debugbar/DebugBar.d.ts +279 -0
  359. package/dist/types/client/debugbar/format.d.ts +48 -0
  360. package/dist/types/client/debugbar/hmr.d.ts +16 -0
  361. package/dist/types/client/debugbar/index.d.ts +30 -0
  362. package/dist/types/client/debugbar/model.d.ts +158 -0
  363. package/dist/types/client/debugbar/network.d.ts +55 -0
  364. package/dist/types/client/debugbar/profile.d.ts +99 -0
  365. package/dist/types/client/index.d.ts +47 -0
  366. package/dist/types/client/react/index.d.ts +207 -0
  367. package/dist/types/client/realtime/AdaptiveRate.d.ts +138 -0
  368. package/dist/types/client/realtime/BrowserWsTransport.d.ts +27 -0
  369. package/dist/types/client/realtime/RealtimeClient.d.ts +573 -0
  370. package/dist/types/client/realtime/localEvents.d.ts +53 -0
  371. package/dist/types/client/realtime/notice.d.ts +70 -0
  372. package/dist/types/client/realtime/observe.d.ts +284 -0
  373. package/dist/types/client/roles/index.d.ts +15 -0
  374. package/dist/types/client/roles/registry.d.ts +72 -0
  375. package/dist/types/client/roles/roles.d.ts +68 -0
  376. package/dist/types/client/shim/cli-color.d.ts +2 -0
  377. package/dist/types/client/shim/events.d.ts +39 -0
  378. package/dist/types/client/shim/util.d.ts +14 -0
  379. package/dist/types/client/svelte/index.d.ts +216 -0
  380. package/dist/types/client/syslog/context.d.ts +76 -0
  381. package/dist/types/client/syslog/errors.d.ts +46 -0
  382. package/dist/types/client/syslog/uplink.d.ts +89 -0
  383. package/dist/types/client/transport/websocket.d.ts +5 -0
  384. package/dist/types/client/vue/index.d.ts +234 -0
  385. package/dist/types/colors.d.ts +32 -0
  386. package/dist/types/command/Builder.d.ts +47 -0
  387. package/dist/types/command/Command.d.ts +268 -0
  388. package/dist/types/config/configMeta.d.ts +53 -0
  389. package/dist/types/config/configProvenance.d.ts +58 -0
  390. package/dist/types/config/defaults.d.ts +33 -0
  391. package/dist/types/config/defineConfig.d.ts +70 -0
  392. package/dist/types/config/defineEnv.d.ts +170 -0
  393. package/dist/types/config/envExample.d.ts +23 -0
  394. package/dist/types/config/envOverride.d.ts +236 -0
  395. package/dist/types/config/index.d.ts +23 -0
  396. package/dist/types/config/infra.d.ts +171 -0
  397. package/dist/types/config/reactivity.d.ts +36 -0
  398. package/dist/types/config/reservedEnv.d.ts +145 -0
  399. package/dist/types/config/schema.d.ts +113 -0
  400. package/dist/types/config/types.d.ts +374 -0
  401. package/dist/types/config/use.d.ts +80 -0
  402. package/dist/types/finder/File.d.ts +26 -0
  403. package/dist/types/finder/FileResult.d.ts +14 -0
  404. package/dist/types/finder/Finder.d.ts +51 -0
  405. package/dist/types/finder/Result.d.ts +10 -0
  406. package/dist/types/index.d.ts +205 -0
  407. package/dist/types/kernel/BootConfigurationError.d.ts +50 -0
  408. package/dist/types/kernel/CliKernel.d.ts +289 -0
  409. package/dist/types/kernel/Kernel.d.ts +1255 -0
  410. package/dist/types/kernel/Module.d.ts +326 -0
  411. package/dist/types/kernel/adminPlane/adminCaller.d.ts +105 -0
  412. package/dist/types/kernel/adminPlane/adminRbac.d.ts +44 -0
  413. package/dist/types/kernel/adminPlane/catalog.d.ts +122 -0
  414. package/dist/types/kernel/adminPlane/executeAdmin.d.ts +99 -0
  415. package/dist/types/kernel/bootReport.d.ts +112 -0
  416. package/dist/types/kernel/checks/deep.d.ts +122 -0
  417. package/dist/types/kernel/checks/freshness.d.ts +49 -0
  418. package/dist/types/kernel/checks/gating.d.ts +134 -0
  419. package/dist/types/kernel/checks/guards.d.ts +57 -0
  420. package/dist/types/kernel/checks/lastBoot.d.ts +189 -0
  421. package/dist/types/kernel/checks/live.d.ts +110 -0
  422. package/dist/types/kernel/checks/packageDeps.d.ts +44 -0
  423. package/dist/types/kernel/checks/readiness.d.ts +97 -0
  424. package/dist/types/kernel/checks/renderReport.d.ts +107 -0
  425. package/dist/types/kernel/checks/report.d.ts +414 -0
  426. package/dist/types/kernel/checks/runDoctor.d.ts +361 -0
  427. package/dist/types/kernel/checks/surface.d.ts +148 -0
  428. package/dist/types/kernel/checks/walk.d.ts +45 -0
  429. package/dist/types/kernel/checks/wiring.d.ts +54 -0
  430. package/dist/types/kernel/commands/AiMcpCommand.d.ts +39 -0
  431. package/dist/types/kernel/commands/AiSyncCommand.d.ts +28 -0
  432. package/dist/types/kernel/commands/BuildCommand.d.ts +13 -0
  433. package/dist/types/kernel/commands/CardCommand.d.ts +34 -0
  434. package/dist/types/kernel/commands/ClusterCommand.d.ts +29 -0
  435. package/dist/types/kernel/commands/CompletionCommand.d.ts +17 -0
  436. package/dist/types/kernel/commands/CreateCommand.d.ts +16 -0
  437. package/dist/types/kernel/commands/DevCommand.d.ts +40 -0
  438. package/dist/types/kernel/commands/DoctorCommand.d.ts +55 -0
  439. package/dist/types/kernel/commands/EnvCommand.d.ts +35 -0
  440. package/dist/types/kernel/commands/GitHooksCommand.d.ts +27 -0
  441. package/dist/types/kernel/commands/InspectCommand.d.ts +59 -0
  442. package/dist/types/kernel/commands/InstallCommand.d.ts +7 -0
  443. package/dist/types/kernel/commands/MenuCommand.d.ts +58 -0
  444. package/dist/types/kernel/commands/OutdatedCommand.d.ts +47 -0
  445. package/dist/types/kernel/commands/ProdCommand.d.ts +29 -0
  446. package/dist/types/kernel/commands/StatusCommand.d.ts +17 -0
  447. package/dist/types/kernel/commands/StopCommand.d.ts +17 -0
  448. package/dist/types/kernel/commands/SymbolsCommand.d.ts +29 -0
  449. package/dist/types/kernel/commands/runtimeLauncher.d.ts +76 -0
  450. package/dist/types/kernel/decorators/kernelDecorator.d.ts +76 -0
  451. package/dist/types/kernel/injector/injector.d.ts +47 -0
  452. package/dist/types/kernel/injector/serviceOrder.d.ts +29 -0
  453. package/dist/types/kernel/inspect/adminSubjects.d.ts +169 -0
  454. package/dist/types/kernel/inspect/docOutline.d.ts +53 -0
  455. package/dist/types/kernel/lifecycleTags.d.ts +79 -0
  456. package/dist/types/kernel/moduleConfig.d.ts +35 -0
  457. package/dist/types/kernel/moduleGating.d.ts +78 -0
  458. package/dist/types/kernel/readinessRegistry.d.ts +104 -0
  459. package/dist/types/kernel/resolveModuleEntry.d.ts +46 -0
  460. package/dist/types/mcp/caller.d.ts +55 -0
  461. package/dist/types/mcp/guard.d.ts +66 -0
  462. package/dist/types/mcp/protocol.d.ts +163 -0
  463. package/dist/types/mcp/server.d.ts +70 -0
  464. package/dist/types/mcp/tools.d.ts +209 -0
  465. package/dist/types/oauth/authorizationServer.d.ts +204 -0
  466. package/dist/types/oauth/protectedResource.d.ts +339 -0
  467. package/dist/types/realtime/IRealtimeSocket.d.ts +142 -0
  468. package/dist/types/realtime/IRealtimeTransport.d.ts +50 -0
  469. package/dist/types/realtime/JsonRpcPeer.d.ts +251 -0
  470. package/dist/types/realtime/RealtimeEventMap.d.ts +269 -0
  471. package/dist/types/realtime/channelRate.d.ts +55 -0
  472. package/dist/types/realtime/platformChannels.d.ts +147 -0
  473. package/dist/types/runtime/GcScheduler.d.ts +96 -0
  474. package/dist/types/runtime/RequestContext.d.ts +152 -0
  475. package/dist/types/runtime/bearer.d.ts +88 -0
  476. package/dist/types/runtime/engineEnvironment.d.ts +115 -0
  477. package/dist/types/runtime/loadEnv.d.ts +86 -0
  478. package/dist/types/runtime/pageFacets.d.ts +104 -0
  479. package/dist/types/runtime/pageFilters.d.ts +139 -0
  480. package/dist/types/runtime/pageGuard.d.ts +78 -0
  481. package/dist/types/runtime/pageQuery.d.ts +138 -0
  482. package/dist/types/runtime/pageSort.d.ts +86 -0
  483. package/dist/types/runtime/redact.d.ts +27 -0
  484. package/dist/types/runtime/withTimeout.d.ts +51 -0
  485. package/dist/types/service/cluster/ClusterManager.d.ts +112 -0
  486. package/dist/types/service/cluster/ClusterProbeAggregator.d.ts +68 -0
  487. package/dist/types/service/cluster/ClusterRelay.d.ts +57 -0
  488. package/dist/types/service/cluster/clusterMaster.d.ts +40 -0
  489. package/dist/types/service/cluster/clusterMessage.d.ts +94 -0
  490. package/dist/types/service/cluster/cpuQuota.d.ts +37 -0
  491. package/dist/types/service/cluster/instanceProbe.d.ts +82 -0
  492. package/dist/types/service/cluster/podEnvironment.d.ts +35 -0
  493. package/dist/types/service/cluster/processProbe.d.ts +53 -0
  494. package/dist/types/service/cluster/richProcessProbe.d.ts +77 -0
  495. package/dist/types/service/cluster/topology.d.ts +64 -0
  496. package/dist/types/service/dev/BootReporter.d.ts +67 -0
  497. package/dist/types/service/dev/DevSupervisor.d.ts +117 -0
  498. package/dist/types/service/dev/bootVerdict.d.ts +99 -0
  499. package/dist/types/service/dev/detachedStart.d.ts +164 -0
  500. package/dist/types/service/dev/devProcess.d.ts +638 -0
  501. package/dist/types/service/dev/devProjects.d.ts +121 -0
  502. package/dist/types/service/dev/devStatusReport.d.ts +141 -0
  503. package/dist/types/service/dev/devStop.d.ts +57 -0
  504. package/dist/types/service/fetchService.d.ts +29 -0
  505. package/dist/types/service/gitService.d.ts +24 -0
  506. package/dist/types/syslog/Pdu.d.ts +134 -0
  507. package/dist/types/syslog/Syslog.d.ts +482 -0
  508. package/dist/types/syslog/drivers/ClusterFileLogDriver.d.ts +40 -0
  509. package/dist/types/syslog/drivers/FileLogDriver.d.ts +55 -0
  510. package/dist/types/syslog/drivers/ILogDriver.d.ts +177 -0
  511. package/dist/types/syslog/drivers/LokiLogDriver.d.ts +44 -0
  512. package/dist/types/syslog/drivers/MemoryLogDriver.d.ts +20 -0
  513. package/dist/types/syslog/drivers/OpenSearchLogDriver.d.ts +40 -0
  514. package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +43 -0
  515. package/dist/types/syslog/drivers/filterPdus.d.ts +21 -0
  516. package/dist/types/syslog/drivers/logDriverRegistry.d.ts +100 -0
  517. package/dist/types/syslog/drivers/opensearchShared.d.ts +11 -0
  518. package/dist/types/syslog/drivers/pduFlow.d.ts +53 -0
  519. package/dist/types/syslog/drivers/pduProtocol.d.ts +20 -0
  520. package/dist/types/syslog/httpFetch.d.ts +48 -0
  521. package/dist/types/syslog/logColor.d.ts +59 -0
  522. package/dist/types/syslog/sinks/FileSink.d.ts +78 -0
  523. package/dist/types/syslog/transports/BatchingHttpTransport.d.ts +59 -0
  524. package/dist/types/syslog/transports/ConsoleTransport.d.ts +8 -0
  525. package/dist/types/syslog/transports/FileTransport.d.ts +13 -0
  526. package/dist/types/syslog/transports/HttpTransport.d.ts +15 -0
  527. package/dist/types/syslog/transports/LokiTransport.d.ts +45 -0
  528. package/dist/types/syslog/transports/OpenSearchTransport.d.ts +40 -0
  529. package/dist/types/syslog/transports/SyslogTransport.d.ts +9 -0
  530. package/dist/types/syslog/transports/index.d.ts +12 -0
  531. package/dist/types/testing/index.d.ts +197 -0
  532. package/dist/types/types/IAdminApi.d.ts +246 -0
  533. package/dist/types/types/ICliKernel.d.ts +28 -0
  534. package/dist/types/types/ICommand.d.ts +14 -0
  535. package/dist/types/types/IContainer.d.ts +35 -0
  536. package/dist/types/types/IIdempotencyStore.d.ts +159 -0
  537. package/dist/types/types/IKernel.d.ts +138 -0
  538. package/dist/types/types/IMcpTool.d.ts +157 -0
  539. package/dist/types/types/IModule.d.ts +73 -0
  540. package/dist/types/types/IModuleManifest.d.ts +49 -0
  541. package/dist/types/types/IPage.d.ts +119 -0
  542. package/dist/types/types/IService.d.ts +62 -0
  543. package/dist/types/types/ISyslog.d.ts +58 -0
  544. package/dist/types/types/ITransport.d.ts +5 -0
  545. package/dist/types/types/globals.d.ts +47 -0
  546. package/docs/angular-services.md +318 -0
  547. package/docs/catalogue.md +184 -0
  548. package/docs/cli.md +369 -0
  549. package/docs/client.md +616 -0
  550. package/docs/debugbar.md +218 -0
  551. package/docs/environnement.md +308 -0
  552. package/docs/index.md +388 -0
  553. package/docs/kernel.md +670 -0
  554. package/docs/progression.md +228 -0
  555. package/docs/react-hooks.md +686 -0
  556. package/docs/request-context.md +507 -0
  557. package/docs/service.md +590 -0
  558. package/docs/svelte-reactivite.md +293 -0
  559. package/docs/syslog.md +848 -0
  560. package/docs/testing.md +203 -0
  561. package/docs/vue-composables.md +255 -0
  562. package/man/nodefony.1 +152 -0
  563. package/package.json +163 -83
  564. package/templates/app/agents/AGENTS.md.tpl +967 -0
  565. package/templates/app/agents/POINTEUR.md.tpl +12 -0
  566. package/templates/app/base/Dockerfile.tpl +104 -0
  567. package/templates/app/base/README.md.tpl +314 -0
  568. package/templates/app/base/dockerignore.tpl +28 -0
  569. package/templates/app/base/env.ts.tpl +130 -0
  570. package/templates/app/base/gitattributes.tpl +28 -0
  571. package/templates/app/base/github/workflows/ci.yml.tpl +91 -0
  572. package/templates/app/base/gitignore.tpl +46 -0
  573. package/templates/app/base/gitlab-ci.yml.tpl +42 -0
  574. package/templates/app/base/index.ts.tpl +69 -0
  575. package/templates/app/base/nodefony.config.ts.tpl +342 -0
  576. package/templates/app/base/oxlintrc.json.tpl +127 -0
  577. package/templates/app/base/package.json.tpl +75 -0
  578. package/templates/app/base/prettierignore.tpl +24 -0
  579. package/templates/app/base/prettierrc.json.tpl +12 -0
  580. package/templates/app/base/rolldown.config.ts.tpl +8 -0
  581. package/templates/app/base/tests/config.test.ts.tpl +29 -0
  582. package/templates/app/base/tests/e2e.setup.ts.tpl +181 -0
  583. package/templates/app/base/tests/e2e.test.ts.tpl +105 -0
  584. package/templates/app/base/tests/migrations.e2e.test.ts.tpl +579 -0
  585. package/templates/app/base/tsconfig.json.tpl +47 -0
  586. package/templates/app/base/vitest.config.ts.tpl +88 -0
  587. package/templates/app/base/vitest.e2e.config.ts.tpl +39 -0
  588. package/templates/app/complete/compose.yaml.tpl +328 -0
  589. package/templates/app/complete/deploy/migrate-job.yaml.tpl +100 -0
  590. package/templates/app/complete/docker/db/init-nodefony-e2e.sql.tpl +30 -0
  591. package/templates/app/complete/docker/grafana/provisioning/datasources/loki.yaml.tpl +15 -0
  592. package/templates/app/complete/env.local.tpl +11 -0
  593. package/templates/app/complete/env.tpl +53 -0
  594. package/templates/app/complete/nodefony/entity/User.ts.tpl +69 -0
  595. package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +124 -0
  596. package/templates/app/complete/nodefony/service/AppBannerService.ts.tpl +98 -0
  597. package/templates/app/complete/nodefony/service/AppInfoService.ts.tpl +85 -0
  598. package/templates/app/frontend/angular/frontend/src/accent.css.tpl +34 -0
  599. package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +400 -0
  600. package/templates/app/frontend/react/frontend/src/App.tsx.tpl +421 -0
  601. package/templates/app/frontend/react/frontend/src/accent.css.tpl +30 -0
  602. package/templates/app/frontend/shared/frontend/src/brand.ts.tpl +3 -0
  603. package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +224 -0
  604. package/templates/app/frontend/shared/nodefony/controllers/AppController.ts.tpl +45 -0
  605. package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +371 -0
  606. package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +34 -0
  607. package/templates/app/frontend/vue/frontend/src/App.vue.tpl +367 -0
  608. package/templates/app/frontend/vue/frontend/src/accent.css.tpl +34 -0
  609. package/templates/app/home/nodefony/controllers/HomeController.ts.tpl +38 -0
  610. package/templates/command/nodefony/command/__NAME__.ts.tpl +132 -0
  611. package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +188 -0
  612. package/templates/controller/example/nodefony/controllers/__NAME__.ts.tpl +348 -0
  613. package/templates/controller/hello/nodefony/controllers/__NAME__.ts.tpl +143 -0
  614. package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +153 -0
  615. package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +79 -0
  616. package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +159 -0
  617. package/templates/entity/base/nodefony/entity/__PASCAL__.schema.ts.tpl +31 -0
  618. package/templates/entity/base/nodefony/entity/__PASCAL__.ts.tpl +68 -0
  619. package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.ts.tpl +335 -0
  620. package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +126 -0
  621. package/templates/entity/tests/tests/__KEBAB__.e2e.test.ts.tpl +358 -0
  622. package/templates/entity/tests/tests/__KEBAB__.test.ts.tpl +87 -0
  623. package/templates/front/angular/frontend/src/app/app.component.ts.tpl +30 -0
  624. package/templates/front/base/nodefony/controllers/__NAME__.ts.tpl +60 -0
  625. package/templates/front/react/frontend/src/App.tsx.tpl +26 -0
  626. package/templates/front/svelte/frontend/src/App.svelte.tpl +19 -0
  627. package/templates/front/vue/frontend/src/App.vue.tpl +23 -0
  628. package/templates/module/ai/AGENTS.md.tpl +71 -0
  629. package/templates/module/base/README.md.tpl +62 -0
  630. package/templates/module/base/docs/index.md.tpl +55 -0
  631. package/templates/module/base/index.ts.tpl +50 -0
  632. package/templates/module/base/nodefony/config/config.ts.tpl +60 -0
  633. package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +55 -0
  634. package/templates/module/base/nodefony/src/errors/__PASCAL__Error.ts.tpl +20 -0
  635. package/templates/module/base/package.json.tpl +53 -0
  636. package/templates/module/base/rolldown.config.ts.tpl +14 -0
  637. package/templates/module/base/tests/__KEBAB__.test.ts.tpl +39 -0
  638. package/templates/module/base/tsconfig.json.tpl +42 -0
  639. package/templates/module/base/vitest.config.ts.tpl +27 -0
  640. package/templates/module/packages/CLAUDE.md.tpl +51 -0
  641. package/templates/module/packages/MEMORY.md.tpl +39 -0
  642. package/templates/module/packages/tsconfig.declarations.json.tpl +19 -0
  643. package/templates/module/packages/tsconfig.tests.json.tpl +11 -0
  644. package/templates/module/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +14 -0
  645. package/templates/module/service/nodefony/interfaces/index.ts.tpl +1 -0
  646. package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +116 -0
  647. package/templates/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +19 -0
  648. package/templates/service/nodefony/service/__PASCAL__Service.ts.tpl +136 -0
  649. package/templates/service/tests/__PASCAL__Service.test.ts.tpl +53 -0
  650. package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +17 -0
  651. package/templates/shared/front-entry/react/frontend/src/main.tsx.tpl +11 -0
  652. package/templates/shared/front-entry/svelte/frontend/src/main.ts.tpl +13 -0
  653. package/templates/shared/front-entry/vue/frontend/src/main.ts.tpl +12 -0
  654. package/templates/shared/front-registrar/nodefony/frontend/register__PASCAL__Entry.ts.tpl +40 -0
  655. package/templates/shared/front-shell/frontend/index.html.tpl +39 -0
  656. package/templates/shared/ng-app-tsconfig/frontend/tsconfig.app.json.tpl +18 -0
  657. package/templates/shared/svelte-shim/frontend/src/env.d.ts.tpl +12 -0
  658. package/templates/shared/vue-shim/frontend/src/env.d.ts.tpl +15 -0
  659. package/.yarnclean +0 -45
  660. package/CHANGELOG.md +0 -406
  661. package/autoloader.es6 +0 -253
  662. package/builder.es6 +0 -366
  663. package/cli/builder/bundles/bundle.js +0 -328
  664. package/cli/builder/bundles/controller.js +0 -73
  665. package/cli/builder/bundles/users-bundle/.yarnclean +0 -45
  666. package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +0 -47
  667. package/cli/builder/bundles/users-bundle/Command/usersCommand.js +0 -105
  668. package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +0 -168
  669. package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +0 -231
  670. package/cli/builder/bundles/users-bundle/Fixtures/users.js +0 -117
  671. package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +0 -114
  672. package/cli/builder/bundles/users-bundle/Resources/config/config.js +0 -90
  673. package/cli/builder/bundles/users-bundle/Resources/config/routing.js +0 -17
  674. package/cli/builder/bundles/users-bundle/Resources/config/security.js +0 -96
  675. package/cli/builder/bundles/users-bundle/Resources/config/services.js +0 -7
  676. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +0 -13
  677. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +0 -31
  678. package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +0 -146
  679. package/cli/builder/bundles/users-bundle/Resources/js/users.js +0 -153
  680. package/cli/builder/bundles/users-bundle/Resources/public/favicon.ico +0 -0
  681. package/cli/builder/bundles/users-bundle/Resources/public/images/users-logo.png +0 -0
  682. package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +0 -11
  683. package/cli/builder/bundles/users-bundle/Resources/scss/custom.scss +0 -23
  684. package/cli/builder/bundles/users-bundle/Resources/scss/users.scss +0 -59
  685. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +0 -235
  686. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +0 -232
  687. package/cli/builder/bundles/users-bundle/Resources/translations/login.en_en.yml +0 -14
  688. package/cli/builder/bundles/users-bundle/Resources/translations/login.fr_fr.yml +0 -14
  689. package/cli/builder/bundles/users-bundle/Resources/translations/users.en_en.yml +0 -35
  690. package/cli/builder/bundles/users-bundle/Resources/translations/users.fr_fr.yml +0 -36
  691. package/cli/builder/bundles/users-bundle/Resources/views/base.html.twig +0 -32
  692. package/cli/builder/bundles/users-bundle/Resources/views/footer.html.twig +0 -7
  693. package/cli/builder/bundles/users-bundle/Resources/views/header.html.twig +0 -90
  694. package/cli/builder/bundles/users-bundle/Resources/views/login/login.html.twig +0 -43
  695. package/cli/builder/bundles/users-bundle/Resources/views/users/createUser.html.twig +0 -296
  696. package/cli/builder/bundles/users-bundle/Resources/views/users/readUsers.html.twig +0 -94
  697. package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +0 -56
  698. package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +0 -121
  699. package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +0 -58
  700. package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +0 -210
  701. package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +0 -244
  702. package/cli/builder/bundles/users-bundle/controller/loginController.js +0 -91
  703. package/cli/builder/bundles/users-bundle/controller/usersController.js +0 -332
  704. package/cli/builder/bundles/users-bundle/package.json +0 -58
  705. package/cli/builder/bundles/users-bundle/readme.md +0 -360
  706. package/cli/builder/bundles/users-bundle/services/usersService.js +0 -411
  707. package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +0 -47
  708. package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +0 -48
  709. package/cli/builder/bundles/users-bundle/tests/loginTest.js +0 -182
  710. package/cli/builder/bundles/users-bundle/usersBundle.js +0 -26
  711. package/cli/builder/microService/microService.js +0 -261
  712. package/cli/builder/microService/skeletons/.editorconfig +0 -18
  713. package/cli/builder/microService/skeletons/.env-cmdrc.js +0 -32
  714. package/cli/builder/microService/skeletons/.jshintrc +0 -37
  715. package/cli/builder/microService/skeletons/README.md +0 -117
  716. package/cli/builder/microService/skeletons/bin/bash/hello.sh +0 -5
  717. package/cli/builder/microService/skeletons/bin/cli +0 -13
  718. package/cli/builder/microService/skeletons/bin/python/hello.py +0 -20
  719. package/cli/builder/microService/skeletons/config/config.js +0 -29
  720. package/cli/builder/microService/skeletons/config/pm2.config.js +0 -72
  721. package/cli/builder/microService/skeletons/config/webpack/webpack.config.dev.js +0 -8
  722. package/cli/builder/microService/skeletons/config/webpack/webpack.config.prod.js +0 -25
  723. package/cli/builder/microService/skeletons/config/webpack.config.js +0 -114
  724. package/cli/builder/microService/skeletons/package.json +0 -76
  725. package/cli/builder/microService/skeletons/src/browser/index.css +0 -3
  726. package/cli/builder/microService/skeletons/src/browser/index.js +0 -16
  727. package/cli/builder/microService/skeletons/src/browser/socketio.js +0 -46
  728. package/cli/builder/microService/skeletons/src/cli/cli.js +0 -224
  729. package/cli/builder/microService/skeletons/src/cli/menu.js +0 -28
  730. package/cli/builder/microService/skeletons/src/n-api/README.md +0 -1
  731. package/cli/builder/microService/skeletons/src/n-api/binding.gyp +0 -14
  732. package/cli/builder/microService/skeletons/src/n-api/hello.cc +0 -14
  733. package/cli/builder/microService/skeletons/src/n-api/hello.js +0 -23
  734. package/cli/builder/microService/skeletons/src/n-api/package.json +0 -15
  735. package/cli/builder/microService/skeletons/src/node/examples/index.js +0 -120
  736. package/cli/builder/microService/skeletons/src/node/index.js +0 -102
  737. package/cli/builder/microService/skeletons/src/node/services/markdown/markdown.js +0 -27
  738. package/cli/builder/microService/skeletons/src/node/services/servers/http.js +0 -45
  739. package/cli/builder/microService/skeletons/src/node/services/servers/https.js +0 -44
  740. package/cli/builder/microService/skeletons/src/node/services/socketio/socketio.js +0 -46
  741. package/cli/builder/microService/skeletons/src/node/services/syscall/syscall.js +0 -111
  742. package/cli/builder/microService/skeletons/src/node/services/worker/thread.js +0 -59
  743. package/cli/builder/microService/skeletons/src/node/services/worker/worker.js +0 -60
  744. package/cli/builder/microService/skeletons/src/templates/base.html +0 -12
  745. package/cli/builder/microService/skeletons/src/templates/socket.html +0 -23
  746. package/cli/builder/microService/skeletons/tests/unit/serviceTest.js +0 -30
  747. package/cli/builder/project/project.js +0 -474
  748. package/cli/builder/project/skeletons/README.md +0 -778
  749. package/cli/builder/project/skeletons/bin/dev-deploy.sh +0 -5
  750. package/cli/builder/project/skeletons/bin/generateCertificates.sh.skeleton +0 -180
  751. package/cli/builder/project/skeletons/bin/prod-deploy.sh +0 -3
  752. package/cli/builder/project/skeletons/config/config.js.skeleton +0 -178
  753. package/cli/builder/project/skeletons/config/openssl/ca/openssl.cnf.skeleton +0 -150
  754. package/cli/builder/project/skeletons/config/openssl/ca_intermediate/openssl.cnf.skeleton +0 -152
  755. package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +0 -62
  756. package/cli/builder/project/skeletons/documentation.html.twig +0 -24
  757. package/cli/builder/project/skeletons/editorconfig.skeleton +0 -18
  758. package/cli/builder/project/skeletons/eslintignore.skeleton +0 -15
  759. package/cli/builder/project/skeletons/eslintrc.js.skeleton +0 -97
  760. package/cli/builder/project/skeletons/gitignore.skeleton +0 -32
  761. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +0 -137
  762. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +0 -97
  763. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +0 -115
  764. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +0 -97
  765. package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -101
  766. package/cli/builder/project/skeletons/package.json.twig +0 -71
  767. package/cli/builder/react/reactBuilder.js +0 -224
  768. package/cli/builder/react/skeletons/app/Resources/databases/nodefony.db +0 -0
  769. package/cli/builder/react/skeletons/app/Resources/translations/messages.en_en.yml +0 -5
  770. package/cli/builder/react/skeletons/app/Resources/translations/messages.fr_fr.yml +0 -5
  771. package/cli/builder/react/skeletons/app/Resources/views/base.html.twig +0 -33
  772. package/cli/builder/react/skeletons/app/config/config.js +0 -392
  773. package/cli/builder/react/skeletons/app/config/routing.js +0 -10
  774. package/cli/builder/react/skeletons/app/config/security.js +0 -74
  775. package/cli/builder/react/skeletons/app/controller/appController.js +0 -22
  776. package/cli/builder/sandbox/sandBoxBuilder.js +0 -610
  777. package/cli/builder/sandbox/skeletons/Resources/css/entry.css +0 -48
  778. package/cli/builder/sandbox/skeletons/Resources/js/entry.js +0 -60
  779. package/cli/builder/sandbox/skeletons/Resources/public/manifest.json +0 -32
  780. package/cli/builder/sandbox/skeletons/Resources/translations/messages.en_en.yml +0 -5
  781. package/cli/builder/sandbox/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
  782. package/cli/builder/sandbox/skeletons/Resources/views/base.html.twig +0 -46
  783. package/cli/builder/sandbox/skeletons/Resources/views/index.html.twig +0 -34
  784. package/cli/builder/sandbox/skeletons/bootstrap/custom.scss +0 -27
  785. package/cli/builder/sandbox/skeletons/bootstrap/entry.scss +0 -60
  786. package/cli/builder/sandbox/skeletons/workbox/templates/index.html.twig +0 -32
  787. package/cli/builder/sandbox/skeletons/workbox/workers/service-worker.js +0 -196
  788. package/cli/builder/skeletons/Resources/public/favicon.ico +0 -0
  789. package/cli/builder/skeletons/Resources/public/images/app-logo.png +0 -0
  790. package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.html.twig +0 -1
  791. package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.json.twig +0 -24
  792. package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.html.twig +0 -1
  793. package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.json.twig +0 -20
  794. package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.html.twig +0 -1
  795. package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.json.twig +0 -20
  796. package/cli/builder/skeletons/Resources/views/framework-bundle/views/500.html.twig +0 -1
  797. package/cli/builder/skeletons/Resources/views/framework-bundle/views/base.html.twig +0 -30
  798. package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.html.twig +0 -1
  799. package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.json.twig +0 -24
  800. package/cli/builder/skeletons/Resources/views/framework-bundle/views/footer.html.twig +0 -33
  801. package/cli/builder/skeletons/Resources/views/framework-bundle/views/header.html.twig +0 -6
  802. package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.html.twig +0 -6
  803. package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.json.twig +0 -1
  804. package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.html.twig +0 -125
  805. package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.json.twig +0 -5
  806. package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.html.twig +0 -1
  807. package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.json.twig +0 -24
  808. package/cli/builder/skeletons/app/appKernel.js +0 -133
  809. package/cli/builder/skeletons/binding/binding.cc +0 -26
  810. package/cli/builder/skeletons/binding/binding.skeleton +0 -8
  811. package/cli/builder/skeletons/bundle/bundleClass.js +0 -37
  812. package/cli/builder/skeletons/command/commandClass.js +0 -11
  813. package/cli/builder/skeletons/command/taskClass.js +0 -20
  814. package/cli/builder/skeletons/config/config.js +0 -138
  815. package/cli/builder/skeletons/config/nodefony/elastic-bundle.js +0 -37
  816. package/cli/builder/skeletons/config/nodefony/framework-bundle.js +0 -22
  817. package/cli/builder/skeletons/config/nodefony/http-bundle.js +0 -104
  818. package/cli/builder/skeletons/config/nodefony/mail-bundle.js +0 -44
  819. package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +0 -51
  820. package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +0 -34
  821. package/cli/builder/skeletons/config/nodefony/realtime-bundle.js +0 -15
  822. package/cli/builder/skeletons/config/nodefony/redis-bundle.js +0 -44
  823. package/cli/builder/skeletons/config/nodefony/security-bundle.js +0 -25
  824. package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +0 -156
  825. package/cli/builder/skeletons/config/routing.js +0 -55
  826. package/cli/builder/skeletons/config/security.js +0 -102
  827. package/cli/builder/skeletons/config/services.js +0 -1
  828. package/cli/builder/skeletons/config/webpack/webpack.dev.config.js +0 -13
  829. package/cli/builder/skeletons/config/webpack/webpack.prod.config.js +0 -20
  830. package/cli/builder/skeletons/config/webpack.config.js +0 -148
  831. package/cli/builder/skeletons/controller/controllerClass.js +0 -75
  832. package/cli/builder/skeletons/package.json.twig +0 -57
  833. package/cli/builder/skeletons/unittest/testFile.js +0 -46
  834. package/cli/builder/vue/skeletons/Resources/public/images/app-logo.png +0 -0
  835. package/cli/builder/vue/skeletons/Resources/translations/messages.en_en.yml +0 -5
  836. package/cli/builder/vue/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
  837. package/cli/builder/vue/skeletons/vue.config.js +0 -129
  838. package/cli/builder/vue/vueBuilder.js +0 -410
  839. package/cli/generate/generate.es6 +0 -103
  840. package/cli/install/install.js +0 -190
  841. package/cli/sequelize/sequelize.js +0 -94
  842. package/cli/start.js +0 -702
  843. package/cli/tools/pm2.es6 +0 -112
  844. package/cli/tools/tools.es6 +0 -97
  845. package/cli.es6 +0 -925
  846. package/container.es6 +0 -272
  847. package/error.es6 +0 -293
  848. package/fileClass.es6 +0 -242
  849. package/finder/file.es6 +0 -33
  850. package/finder/fileResult.es6 +0 -138
  851. package/finder/finder2.es6 +0 -275
  852. package/finder.es6 +0 -427
  853. package/kernel/annotations/annotations.es6 +0 -286
  854. package/kernel/api/api.es6 +0 -61
  855. package/kernel/api/graphqlApi.es6 +0 -107
  856. package/kernel/api/jsonApi.es6 +0 -177
  857. package/kernel/api/openApi.es6 +0 -139
  858. package/kernel/api/schemas/openApiSchema.js +0 -394
  859. package/kernel/babylon.es6 +0 -162
  860. package/kernel/bundle.es6 +0 -1200
  861. package/kernel/cliKernel.es6 +0 -869
  862. package/kernel/command.es6 +0 -78
  863. package/kernel/commands/nodefonyCommand.es6 +0 -247
  864. package/kernel/commands/tasks/bundlesTask.es6 +0 -59
  865. package/kernel/controllers/controller.es6 +0 -791
  866. package/kernel/fixture.es6 +0 -19
  867. package/kernel/injections/injections.es6 +0 -424
  868. package/kernel/kernel.es6 +0 -1960
  869. package/kernel/kernelWatcher.es6 +0 -387
  870. package/kernel/orm/entity.es6 +0 -59
  871. package/kernel/orm/orm.es6 +0 -139
  872. package/kernel/reader.es6 +0 -290
  873. package/kernel/security/encoder.es6 +0 -17
  874. package/kernel/security/factories/factory.es6 +0 -111
  875. package/kernel/security/factories/passeportFactory.es6 +0 -61
  876. package/kernel/security/provider.es6 +0 -58
  877. package/kernel/security/providers/chainProvider.es6 +0 -99
  878. package/kernel/security/providers/memoryProvider.es6 +0 -55
  879. package/kernel/security/providers/providerManager.es6 +0 -67
  880. package/kernel/security/providers/userEntityProvider.es6 +0 -50
  881. package/kernel/security/role.es6 +0 -12
  882. package/kernel/security/secureArea.es6 +0 -431
  883. package/kernel/security/tokens/token.es6 +0 -171
  884. package/kernel/security/user.es6 +0 -106
  885. package/kernel/serviceRealTime.es6 +0 -21
  886. package/kernel/services/connectionsService.es6 +0 -93
  887. package/kernel/services/cron/cronService.es6 +0 -123
  888. package/kernel/task.es6 +0 -80
  889. package/kernel/templates.es6 +0 -22
  890. package/kernel/templating/twig.es6 +0 -218
  891. package/kernel/tests/cliTest.js +0 -59
  892. package/kernel/tests/containerTest.js +0 -232
  893. package/kernel/tests/kernelTest.js +0 -39
  894. package/nodefony.es6 +0 -1084
  895. package/notificationsCenter.es6 +0 -118
  896. package/protocol.es6 +0 -86
  897. package/protocols/bayeux.es6 +0 -174
  898. package/protocols/jsonRpc/jsonrpc.es6 +0 -56
  899. package/result.es6 +0 -99
  900. package/service.es6 +0 -288
  901. package/syslog/pdu.es6 +0 -141
  902. package/syslog/syslog.es6 +0 -754
  903. package/watcher.es6 +0 -113
@@ -0,0 +1,263 @@
1
+ import { clearRuntimeState, clearSupervisorPidFile, defaultDevPorts, detectRuntimeMode, discoverDevProcessesDetailed, discoverFromRuntimeState, foreignPortOwners, formatForeignRuntimes, isNodefonyProjectDir, portOwnership, probePorts, processCwd, readRuntimeState, splitByProject, terminateDevProcesses } from "./devProcess.js";
2
+ import { buildProjectTable, formatProjectTable, resolveProjectTarget } from "./devProjects.js";
3
+ import { writeSync } from "node:fs";
4
+ import path from "node:path";
5
+ //#region src/service/dev/devStop.ts
6
+ /**
7
+ * Commande `nodefony stop` — arrêt PROPRE et COMPLET de tout runtime Nodefony (dev,
8
+ * production mono, cluster) **du PROJET courant** ; remplace le `pkill -9` manuel.
9
+ * Standalone : aucun boot kernel, aucune trunk requise → lançable de n'importe où
10
+ * (cf le fast-path de `CliKernel.start`).
11
+ *
12
+ * MULTI-PROJET : plusieurs apps Nodefony peuvent tourner sur le même poste — le
13
+ * balayage `ps` étant global, `stop` ne tue QUE les process dont le cwd est CE
14
+ * projet (`splitByProject`) ; les autres sont LISTÉS avec leur dossier (le dev
15
+ * sait où aller les arrêter). `--all` = comportement trans-projets explicite.
16
+ *
17
+ * Stratégie : vérité = `ps` (pas le seul pidfile). On tue les GROUPES « racines » (un
18
+ * process dont le parent n'est pas dans la liste) — group-kill du superviseur/master
19
+ * emporte déjà ses enfants (serveur + Vite, ou workers) ; un orphelin (pidfile périmé)
20
+ * est sa propre racine et tombe aussi. SIGTERM (arrêt gracieux — déclenche le graceful
21
+ * shutdown du ClusterManager pour un master) puis SIGKILL des récalcitrants un à un.
22
+ */
23
+ /** Libellé du mode runtime pour les messages (`dev`/`production`/`cluster`). */
24
+ function runtimeLabel(mode) {
25
+ if (mode === "prod") return "production";
26
+ if (mode === "cluster") return "cluster";
27
+ if (mode === "dev") return "dev";
28
+ return "runtime";
29
+ }
30
+ const ANSI = {
31
+ dim: "\x1B[90m",
32
+ green: "\x1B[32m",
33
+ red: "\x1B[31m",
34
+ yellow: "\x1B[33m",
35
+ bold: "\x1B[1m",
36
+ reset: "\x1B[0m"
37
+ };
38
+ /** Délai d'arrêt gracieux (SIGTERM) avant d'escalader en SIGKILL. */
39
+ const TERM_WAIT_MS = 4e3;
40
+ /** Délai max d'attente de libération des ports après le kill. */
41
+ const PORTS_WAIT_MS = 4e3;
42
+ const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
43
+ /** Attend que tous les `ports` soient libres (poll), renvoie le dernier état sondé. */
44
+ async function waitPortsFree(ports, timeoutMs, probe = probePorts) {
45
+ const deadline = Date.now() + timeoutMs;
46
+ for (;;) {
47
+ const states = await probe(ports);
48
+ if (states.every((s) => !s.listening)) return states;
49
+ if (Date.now() >= deadline) return states;
50
+ await delay(150);
51
+ }
52
+ }
53
+ /**
54
+ * Ligne d'état des ports après (ou faute d') arrêt.
55
+ *
56
+ * `✗ encore occupé` est un VERDICT D'ÉCHEC : il dit « je n'ai pas réussi à libérer
57
+ * ce port ». Il ne doit donc jamais tomber sur un port qui n'est pas le nôtre —
58
+ * `stop` venait d'annoncer lui-même que ces runtimes appartenaient à un AUTRE projet,
59
+ * puis marquait leurs ports en rouge : deux phrases qui se contredisent dans le même
60
+ * rapport. Un propriétaire identifié ({@link foreignPortOwners}) est donc NOMMÉ, et
61
+ * un port occupé sans propriétaire connu reste un échec quand on a tué quelque chose.
62
+ *
63
+ * @param states - ports sondés.
64
+ * @param freeLabel - libellé (déjà coloré) d'un port que personne ne tient.
65
+ * @param occupiedLabel - libellé d'un port tenu par un propriétaire INCONNU. C'est
66
+ * l'appelant qui sait s'il s'agit d'un échec : après avoir tué nos process, oui ;
67
+ * avant d'avoir tué quoi que ce soit, non.
68
+ * @param owners - port → projet étranger qui le tient.
69
+ */
70
+ const portsLine = (states, freeLabel, occupiedLabel, owners = {}) => states.map((p) => {
71
+ switch (portOwnership(p, owners)) {
72
+ case "free": return `${p.port} ${freeLabel}`;
73
+ case "foreign": return `${p.port} ${ANSI.yellow}occupé par ${owners[p.port]}${ANSI.reset}`;
74
+ default: return `${p.port} ${occupiedLabel}`;
75
+ }
76
+ }).join(" ");
77
+ /**
78
+ * Filtre de `--all` : sans projet de référence, la SEULE preuve restante serait le
79
+ * titre de process. C'est peu pour un `kill -9` trans-projets — un homonyme
80
+ * suffirait. On exige donc une SECONDE preuve, indépendante du nom : le process
81
+ * travaille bien dans un projet Nodefony (`package.json` qui dépend de `nodefony`,
82
+ * ou `node_modules/nodefony`), lui-même ou un ancêtre (un Vite tourne dans le
83
+ * SOUS-dossier de son bundle). Un cwd illisible — process d'un autre utilisateur,
84
+ * `lsof` muet — ne prouve rien : on n'y touche pas.
85
+ *
86
+ * PURE (dépendances injectables) : `--all` tue sans garde-fou de projet, il ne
87
+ * doit pas rester une branche non éprouvée.
88
+ *
89
+ * @param procs - runtimes découverts par `ps`.
90
+ * @param getCwd - lecture du cwd d'un pid (défaut : `processCwd`).
91
+ * @param isProject - test « ce dossier est un projet Nodefony » (défaut : `isNodefonyProjectDir`).
92
+ * @returns `kept` = appartenance PROUVÉE (tuables) ; `rejected` = épargnés + le motif.
93
+ */
94
+ function scopeAllToNodefonyProjects(procs, getCwd = processCwd, isProject = isNodefonyProjectDir) {
95
+ const kept = [];
96
+ const rejected = [];
97
+ for (const p of procs) {
98
+ const cwd = getCwd(p.pid);
99
+ if (cwd === null) {
100
+ rejected.push({
101
+ proc: p,
102
+ why: "cwd illisible"
103
+ });
104
+ continue;
105
+ }
106
+ let cur = path.resolve(cwd);
107
+ let belongs = false;
108
+ for (;;) {
109
+ if (isProject(cur)) {
110
+ belongs = true;
111
+ break;
112
+ }
113
+ const parent = path.dirname(cur);
114
+ if (parent === cur) break;
115
+ cur = parent;
116
+ }
117
+ if (belongs) kept.push(p);
118
+ else rejected.push({
119
+ proc: p,
120
+ why: `${cwd} n'est pas un projet Nodefony`
121
+ });
122
+ }
123
+ return {
124
+ kept,
125
+ rejected
126
+ };
127
+ }
128
+ /**
129
+ * Racines des projets auxquels appartiennent `procs` — dédupliquées.
130
+ *
131
+ * Sert à `--all` pour savoir QUELS ports vérifier après un arrêt trans-projets :
132
+ * un port qu'on ne sonde pas ne peut ni confirmer ni infirmer l'arrêt, et le
133
+ * rapport concluait « ✓ arrêté proprement » sans avoir regardé les trois quarts
134
+ * des ports qu'il venait de libérer.
135
+ *
136
+ * Fonction PURE (lecture du cwd injectable). Les rôles Vite sont ignorés : ils
137
+ * travaillent parfois dans un sous-dossier, et leur parent porte déjà la racine.
138
+ *
139
+ * @param procs - runtimes sur le point d'être arrêtés.
140
+ * @param getCwd - lecture du répertoire courant d'un pid.
141
+ * @returns les racines distinctes, sans celles qu'on n'a pas pu lire.
142
+ */
143
+ function hostProjects(procs, getCwd = processCwd) {
144
+ const roots = /* @__PURE__ */ new Set();
145
+ for (const p of procs) {
146
+ if (p.role === "vite") continue;
147
+ const cwd = getCwd(p.pid);
148
+ if (cwd) roots.add(path.resolve(cwd));
149
+ }
150
+ return [...roots];
151
+ }
152
+ /** Applique {@link scopeAllToNodefonyProjects} et ANNONCE les process épargnés. */
153
+ function allRuntimesOfThisPoste(procs, write) {
154
+ const { kept, rejected } = scopeAllToNodefonyProjects(procs);
155
+ if (rejected.length > 0) write(`${ANSI.dim}[stop]${ANSI.reset} ${rejected.length} process au titre Nodefony NON confirmé(s), épargné(s) :\n` + rejected.map((r) => ` pid ${r.proc.pid} (${r.proc.label}) — ${r.why}`).join("\n") + "\n");
156
+ return kept;
157
+ }
158
+ /**
159
+ * Découvre, tue (SIGTERM→SIGKILL) et nettoie ; écrit un rapport sur stdout.
160
+ *
161
+ * `opts.target` désigne un AUTRE projet par son nom ou son chemin — strictement
162
+ * l'équivalent de `cd <projet> && nodefony stop`, obtenu en substituant la racine
163
+ * visée au répertoire courant : une seule mécanique d'arrêt, jamais deux.
164
+ *
165
+ * @returns le code de sortie — `0` si l'arrêt a eu lieu (ou n'avait rien à faire),
166
+ * `1` si la cible n'a pas pu être DÉSIGNÉE sans ambiguïté. Un `stop` qui n'a rien
167
+ * arrêté parce qu'il n'a pas compris la cible ne doit pas se lire comme un succès
168
+ * dans un script.
169
+ */
170
+ async function runStopReport(cwd, opts = {}) {
171
+ const tag = `${ANSI.dim}[stop]${ANSI.reset}`;
172
+ const write = opts.write ?? ((chunk) => writeSync(1, chunk));
173
+ const probe = opts.probe ?? probePorts;
174
+ const observed = (opts.discover ?? discoverDevProcessesDetailed)({});
175
+ const discovered = observed.procs;
176
+ let root = cwd;
177
+ if (opts.target !== void 0 && opts.target !== "") {
178
+ if (opts.all) {
179
+ write(`\n${tag} ${ANSI.yellow}\`--all\` et une cible sont contradictoires${ANSI.reset} — choisis l'un ou l'autre.\n\n`);
180
+ return 1;
181
+ }
182
+ const here = splitByProject(discovered, cwd, opts.getCwd);
183
+ const projects = buildProjectTable(cwd, here.mine, here.foreign, (await probe(defaultDevPorts(cwd))).filter((p) => p.listening).map((p) => p.port));
184
+ if (projects.length === 0 && discovered.length > 0 && here.foreign.every((p) => p.cwd === null)) {
185
+ write([
186
+ "",
187
+ `${tag} ${ANSI.yellow}impossible de rattacher les process à un projet ici${ANSI.reset}`,
188
+ ` ${ANSI.dim}${discovered.length} runtime(s) Nodefony tournent, mais leur répertoire de travail${ANSI.reset}`,
189
+ ` ${ANSI.dim}n'est pas lisible (\`lsof\` absent ? Windows ?) — une cible par NOM est${ANSI.reset}`,
190
+ ` ${ANSI.dim}donc indécidable, et rien ne sera arrêté au hasard.${ANSI.reset}`,
191
+ ` ${ANSI.dim}→ ${ANSI.reset}${ANSI.bold}cd <projet> && nodefony stop${ANSI.reset}${ANSI.dim}, ou ${ANSI.reset}${ANSI.bold}nodefony stop --all${ANSI.reset}`,
192
+ ""
193
+ ].join("\n") + "\n");
194
+ return 1;
195
+ }
196
+ const resolved = resolveProjectTarget(opts.target, projects);
197
+ if (!resolved.ok) {
198
+ write([
199
+ "",
200
+ resolved.reason === "inconnu" ? `${tag} ${ANSI.yellow}aucun projet Nodefony en cours ne s'appelle « ${opts.target} »${ANSI.reset}` : `${tag} ${ANSI.yellow}« ${opts.target} » désigne ${resolved.candidates.length} projets — donne le chemin complet${ANSI.reset}`,
201
+ ...resolved.candidates.length > 0 ? formatProjectTable(resolved.candidates) : [` ${ANSI.dim}(aucun runtime Nodefony observé sur ce poste)${ANSI.reset}`],
202
+ ""
203
+ ].join("\n") + "\n");
204
+ return 1;
205
+ }
206
+ root = resolved.project.root;
207
+ write(`${tag} cible : ${ANSI.bold}${resolved.project.name}${ANSI.reset} ${ANSI.dim}(${root})${ANSI.reset}\n`);
208
+ }
209
+ cwd = root;
210
+ const scoped = opts.all ? {
211
+ mine: allRuntimesOfThisPoste(discovered, write),
212
+ foreign: []
213
+ } : splitByProject(discovered, cwd, opts.getCwd);
214
+ const byState = observed.supported ? [] : discoverFromRuntimeState(cwd);
215
+ if (byState.length > 0) write(`${tag} observation des process indisponible ici — runtime retrouvé par son fichier d'état (pid ${byState[0].pid}).\n`);
216
+ const before = scoped.mine.length > 0 ? scoped.mine : byState;
217
+ if (scoped.foreign.length > 0) write(`${tag} ${scoped.foreign.length} runtime(s) d'un AUTRE projet non touché(s) :\n` + formatForeignRuntimes(scoped.foreign).join("\n") + "\n");
218
+ const owners = foreignPortOwners(scoped.foreign);
219
+ if (before.length === 0) {
220
+ clearSupervisorPidFile(cwd);
221
+ const ports = await probe(defaultDevPorts(cwd));
222
+ const occupied = ports.filter((p) => p.listening).map((p) => p.port);
223
+ const blind = !observed.supported && occupied.length > 0;
224
+ write([
225
+ "",
226
+ blind ? `${tag} ${ANSI.bold}Nodefony — process non observables ici, mais ${occupied.join(", ")} répond(ent) encore${ANSI.reset}` : `${tag} ${ANSI.bold}Nodefony — aucune instance de ce projet en cours (déjà arrêté)${ANSI.reset}`,
227
+ ` ${ANSI.dim}ports${ANSI.reset} : ${portsLine(ports, `${ANSI.green}libre${ANSI.reset}`, blind ? `${ANSI.yellow}occupé — un runtime répond encore${ANSI.reset}` : `${ANSI.yellow}occupé (pas par ce projet)${ANSI.reset}`, owners)}`,
228
+ ...blind ? [` ${ANSI.dim}un runtime tourne sans fichier d'état — l'arrêter par son PID (Get-Process node)${ANSI.reset}`] : [],
229
+ ""
230
+ ].join("\n") + "\n");
231
+ return 0;
232
+ }
233
+ const ourPorts = opts.all ? [.../* @__PURE__ */ new Set([...defaultDevPorts(cwd), ...hostProjects(before, opts.getCwd).flatMap((projectRoot) => readRuntimeState(projectRoot, { purgeStale: false })?.ports ?? [])])] : defaultDevPorts(cwd);
234
+ const mode = runtimeLabel(detectRuntimeMode(before));
235
+ const count = (role) => before.filter((p) => p.role === role).length;
236
+ const seg = [];
237
+ for (const [role, word] of [
238
+ ["supervisor", "superviseur"],
239
+ ["master", "master"],
240
+ ["worker", "worker"],
241
+ ["server", "serveur"],
242
+ ["vite", "Vite"]
243
+ ]) {
244
+ const n = count(role);
245
+ if (n) seg.push(`${n} ${word}`);
246
+ }
247
+ write(`\n${tag} ${ANSI.bold}arrêt de ${before.length} process ${mode}${ANSI.reset} (${seg.join(" · ")})…\n`);
248
+ const alive = await terminateDevProcesses(before, {
249
+ termWaitMs: TERM_WAIT_MS,
250
+ killWaitMs: 1500
251
+ });
252
+ clearSupervisorPidFile(cwd);
253
+ clearRuntimeState(cwd);
254
+ const ports = await waitPortsFree(ourPorts, PORTS_WAIT_MS, probe);
255
+ write([
256
+ ` ${alive.length === 0 ? `${ANSI.green}✓ arrêté proprement${ANSI.reset}` : `${ANSI.red}⚠ ${alive.length} process survivent (pid ${alive.join(", ")}) — relance \`nodefony stop\`${ANSI.reset}`}`,
257
+ ` ${ANSI.dim}ports${ANSI.reset} : ${portsLine(ports, `${ANSI.green}libéré${ANSI.reset}`, `${ANSI.red}✗ encore occupé${ANSI.reset}`, owners)}`,
258
+ ""
259
+ ].join("\n") + "\n");
260
+ return 0;
261
+ }
262
+ //#endregion
263
+ export { hostProjects, runStopReport, scopeAllToNodefonyProjects };
@@ -0,0 +1,35 @@
1
+ import Service from "../Service.js";
2
+ //#region src/service/fetchService.ts
3
+ /**
4
+ * Service `Fetch` — façade DI au-dessus de l'API `fetch` **native** de Node.js.
5
+ *
6
+ * Depuis Node 21, `fetch`, `Response`, `Request` et `Headers` sont des globaux
7
+ * stables (implémentation undici intégrée). Ce service les expose via le
8
+ * conteneur d'injection (`@inject("Fetch")`) — la dépendance `node-fetch` n'est
9
+ * donc plus nécessaire (un appel réseau de moins à bundler, perfs undici natives).
10
+ *
11
+ * `fetch` est lié à `globalThis` pour éviter le `TypeError: Illegal invocation`
12
+ * quand il est appelé via `this.fetch(...)` (undici exige `globalThis` comme `this`).
13
+ *
14
+ * Posé au container par l'{@link Injector} à la construction du kernel : une
15
+ * instance par kernel, partagée par tous ses consommateurs.
16
+ */
17
+ var Fetch = class extends Service {
18
+ fetch;
19
+ Response;
20
+ Request;
21
+ Headers;
22
+ /**
23
+ * @param owner - porteur du service : le kernel (service core) ou un module.
24
+ * Seul son `container` est utilisé — c'est ce dont un `Service` a besoin pour exister.
25
+ */
26
+ constructor(owner) {
27
+ super("Fetch", owner.container);
28
+ this.fetch = globalThis.fetch.bind(globalThis);
29
+ this.Response = globalThis.Response;
30
+ this.Request = globalThis.Request;
31
+ this.Headers = globalThis.Headers;
32
+ }
33
+ };
34
+ //#endregion
35
+ export { Fetch as default };
@@ -0,0 +1,62 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ //#region src/service/gitService.ts
4
+ let _cache;
5
+ /** Branche depuis `.git/HEAD` (`ref: refs/heads/X` → `X`, sinon sha court). */
6
+ function readBranch(gitDir) {
7
+ try {
8
+ const head = fs.readFileSync(path.join(gitDir, "HEAD"), "utf8").trim();
9
+ const m = head.match(/^ref:\s*refs\/heads\/(.+)$/);
10
+ return m ? m[1] : head.slice(0, 7);
11
+ } catch {
12
+ return "";
13
+ }
14
+ }
15
+ /** Commit HEAD court : suit `HEAD` → ref file, repli `packed-refs`. */
16
+ function readCommit(gitDir) {
17
+ try {
18
+ const head = fs.readFileSync(path.join(gitDir, "HEAD"), "utf8").trim();
19
+ const m = head.match(/^ref:\s*(.+)$/);
20
+ if (!m) return head.slice(0, 7);
21
+ const ref = m[1];
22
+ let sha = "";
23
+ try {
24
+ sha = fs.readFileSync(path.join(gitDir, ref), "utf8").trim();
25
+ } catch {
26
+ const line = fs.readFileSync(path.join(gitDir, "packed-refs"), "utf8").split("\n").find((l) => l.endsWith(` ${ref}`));
27
+ sha = line ? line.split(" ")[0] : "";
28
+ }
29
+ return sha.slice(0, 7);
30
+ } catch {
31
+ return "";
32
+ }
33
+ }
34
+ /**
35
+ * Introspection git du dépôt — **sans spawn `git` ni dépendance** (lecture directe
36
+ * de `.git/`). Résultat caché pour la vie du process. Best-effort : champs `""`
37
+ * hors d'un dépôt (ex. container sans `.git`). Consommé par le data plane kernel
38
+ * (`/nodefony/kernel/api/info` → `git`) et la barre de debug (bloc `app`).
39
+ */
40
+ var GitService = class GitService {
41
+ /**
42
+ * Lit branche + commit court (une fois, puis cache process).
43
+ *
44
+ * @param cwd - racine où chercher `.git` (défaut `process.cwd()`)
45
+ * @returns `{ branch, commit }` — champs `""` si indéterminés
46
+ */
47
+ static read(cwd = process.cwd()) {
48
+ if (_cache) return _cache;
49
+ const gitDir = path.join(cwd, ".git");
50
+ _cache = {
51
+ branch: readBranch(gitDir),
52
+ commit: readCommit(gitDir)
53
+ };
54
+ return _cache;
55
+ }
56
+ /** Branche seule (raccourci). */
57
+ static branch(cwd) {
58
+ return GitService.read(cwd).branch;
59
+ }
60
+ };
61
+ //#endregion
62
+ export { GitService as default };
@@ -0,0 +1,224 @@
1
+ //#region src/syslog/Pdu.ts
2
+ var SysLogSeverity = /* @__PURE__ */ function(SysLogSeverity) {
3
+ SysLogSeverity[SysLogSeverity["EMERGENCY"] = 0] = "EMERGENCY";
4
+ SysLogSeverity[SysLogSeverity["ALERT"] = 1] = "ALERT";
5
+ SysLogSeverity[SysLogSeverity["CRITIC"] = 2] = "CRITIC";
6
+ SysLogSeverity[SysLogSeverity["ERROR"] = 3] = "ERROR";
7
+ SysLogSeverity[SysLogSeverity["WARNING"] = 4] = "WARNING";
8
+ SysLogSeverity[SysLogSeverity["NOTICE"] = 5] = "NOTICE";
9
+ SysLogSeverity[SysLogSeverity["INFO"] = 6] = "INFO";
10
+ SysLogSeverity[SysLogSeverity["DEBUG"] = 7] = "DEBUG";
11
+ return SysLogSeverity;
12
+ }(SysLogSeverity || {});
13
+ const sysLogSeverity = [
14
+ 0,
15
+ 1,
16
+ 2,
17
+ 3,
18
+ 4,
19
+ 5,
20
+ 6,
21
+ 7
22
+ ];
23
+ /**
24
+ * Les noms de sévérité RFC 5424, **dans l'ordre de l'enum** (l'index EST la
25
+ * valeur : `SEVERITY_NAMES[3] === "ERROR"`). Les huit niveaux de la RFC, et
26
+ * rien d'autre : une animation de terminal n'est pas un niveau de journal.
27
+ *
28
+ * Source **unique** du vocabulaire, côté serveur comme côté navigateur (le
29
+ * bundle client la réexporte). Elle existe parce qu'elle était écrite trois
30
+ * fois — deux copies dans la console d'administration, dans deux ORDRES
31
+ * différents, et aucune côté data plane, si bien qu'un `?severity=CRITICAL`
32
+ * n'était refusé nulle part : il rendait le journal entier.
33
+ *
34
+ * Pour un sélecteur qui va du moins au plus grave, lire `[...SEVERITY_NAMES]
35
+ * .reverse()` — l'ordre d'affichage se dérive, il ne se redéclare pas.
36
+ */
37
+ const SEVERITY_NAMES = [
38
+ "EMERGENCY",
39
+ "ALERT",
40
+ "CRITIC",
41
+ "ERROR",
42
+ "WARNING",
43
+ "NOTICE",
44
+ "INFO",
45
+ "DEBUG"
46
+ ];
47
+ /**
48
+ * `moduleName` porté par une entrée de journal venue d'un NAVIGATEUR.
49
+ *
50
+ * Valeur de confiance : le pod l'impose lui-même en recevant un lot sur le canal
51
+ * montant, sans jamais reprendre ce que la page prétend être. Une ligne qui la porte
52
+ * a donc traversé ce canal, et rien d'autre ne peut la produire.
53
+ *
54
+ * Elle vit ICI, dans le cœur isomorphe, pour la même raison que
55
+ * {@link SEVERITY_NAMES} : le serveur l'écrit, le navigateur la lit pour distinguer
56
+ * ces lignes à l'écran. Une copie côté console d'administration dériverait le jour
57
+ * où le mot change — et un écran qui ne reconnaît plus l'origine ne se plaint pas,
58
+ * il affiche simplement une ligne de plus au milieu des autres.
59
+ */
60
+ const BROWSER_ORIGIN = "browser";
61
+ const translateSeverity = function(severity = "INFO") {
62
+ if (typeof severity === "number") {
63
+ if (sysLogSeverity[severity] !== void 0) return sysLogSeverity[severity];
64
+ else throw new Error(`Not a valid nodefony syslog severity: ${severity}`);
65
+ } else if (SysLogSeverity[severity] !== void 0) return SysLogSeverity[severity];
66
+ else throw new Error(`Not a valid nodefony syslog severity: ${severity}`);
67
+ };
68
+ const sysLogSeverityObj = Object.entries(SysLogSeverity).reduce((acc, [key, value]) => {
69
+ acc[key] = value;
70
+ return acc;
71
+ }, {});
72
+ const severityNameMap = new Map(Object.entries(SysLogSeverity).filter(([, v]) => typeof v === "number").map(([k, v]) => [v, k]));
73
+ const _gBuffer = globalThis.Buffer;
74
+ const PID = globalThis.process?.pid ?? 0;
75
+ const fastTypeOf = (value) => {
76
+ if (value === null) return null;
77
+ const t = typeof value;
78
+ if (t !== "object") return t;
79
+ if (Array.isArray(value)) return "array";
80
+ if (value instanceof Date) return "date";
81
+ if (value instanceof RegExp) return "RegExp";
82
+ if (value instanceof Error) return "Error";
83
+ if (_gBuffer?.isBuffer(value)) return "buffer";
84
+ return "object";
85
+ };
86
+ /**
87
+ * Process Data Unit — entrée de log unitaire conforme RFC 5424.
88
+ *
89
+ * Une instance représente un événement de log dans le pipeline Syslog.
90
+ * Stockée dans le `CircularBuffer` (O(1)) et diffusée aux transports
91
+ * via l'event `onLog` du {@link Syslog}.
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const pdu = new Pdu("user logged in", "INFO", "AUTH", "USER_LOGIN", "user@example.com");
96
+ * pdu.severity; // 6
97
+ * pdu.severityName; // "INFO"
98
+ * pdu.payload; // "user logged in"
99
+ * ```
100
+ *
101
+ * @remarks `pdu.severity` est numérique (RFC 5424) pour comparaisons rapides.
102
+ * `pdu.severityName` est la string (`"INFO"`, `"CRITIC"` — pas `"CRITICAL"`).
103
+ */
104
+ let guid = 0;
105
+ var Pdu = class Pdu {
106
+ payload;
107
+ uid;
108
+ severity;
109
+ timeStamp;
110
+ severityName;
111
+ typePayload;
112
+ moduleName;
113
+ msgid;
114
+ msg;
115
+ status;
116
+ /** PID du process émetteur (= procid RFC 5424). Constant, capturé au chargement du module. */
117
+ pid;
118
+ /**
119
+ * Identifiant de la requête en cours (corrélation log↔requête).
120
+ *
121
+ * Présent UNIQUEMENT si le Pdu est créé dans une bulle `RequestContext` active
122
+ * (ALS Node) ET que {@link Pdu.requestIdProvider} a été branché côté Node — voir
123
+ * `src/index.ts` (barrel Node uniquement, isomorphisme préservé : le bundle
124
+ * client/browser ne branche pas, le provider reste `null` → 0 alloc, 0 lecture).
125
+ *
126
+ * Combiné à `pid` (procid RFC 5424), permet la corrélation **complète** :
127
+ * `pid` = quel worker, `requestId` = quelle requête. Voyage dans ring buffer +
128
+ * `nodefony:syslog` + transports JSON (champ public sérialisé naturellement).
129
+ */
130
+ requestId;
131
+ /**
132
+ * Provider injectable du `requestId` courant (ALS). Branché par le barrel
133
+ * Node (`src/index.ts`) sur `RequestContext.getRequestId`. Reste `null` côté
134
+ * browser/debugbar (le bundle client n'importe pas `node:async_hooks`) et
135
+ * pendant les phases boot pré-Kernel (cohérent : pas de requête en cours).
136
+ *
137
+ * Coût : 1 test de référence par Pdu (~5 ns) quand `null` ; ~50-100 ns quand
138
+ * branché (lecture ALS + accès propriété). Pas d'alloc supplémentaire si
139
+ * `requestId` est `undefined` (le champ reste non-défini sur l'instance).
140
+ */
141
+ static requestIdProvider = null;
142
+ /**
143
+ * Construit un Pdu prêt à être publié dans le pipeline Syslog.
144
+ *
145
+ * @param pci - payload (string, Error, objet — typé `unknown`, narrower côté lecteur).
146
+ * @param severity - niveau RFC 5424 (string `"INFO"` ou numérique `6`). Défaut `"INFO"`.
147
+ * @param moduleName - nom du module/service qui a produit le log. Défaut `"nodefony"`.
148
+ * @param msgid - catégorie de message (`"AUTH"`, `"ROUTER"`, etc.). Défaut `""`.
149
+ * @param msg - détail libre optionnel. Défaut `""`.
150
+ * @param date - timestamp (number, Date, ou string parsable). Défaut `Date.now()`.
151
+ * @throws Si `severity` n'est pas une valeur valide de {@link SysLogSeverity}.
152
+ */
153
+ constructor(pci, severity, moduleName = "nodefony", msgid = "", msg = "", date) {
154
+ if (date === void 0) this.timeStamp = Date.now();
155
+ else if (typeof date === "number") this.timeStamp = date;
156
+ else if (date instanceof Date) this.timeStamp = date.getTime();
157
+ else this.timeStamp = new Date(date).getTime();
158
+ this.uid = ++guid;
159
+ this.severity = translateSeverity(severity);
160
+ const sName = severityNameMap.get(this.severity);
161
+ if (sName === void 0) throw new Error(`Invalid severity value: ${this.severity}`);
162
+ this.severityName = sName;
163
+ this.typePayload = fastTypeOf(pci);
164
+ this.payload = pci;
165
+ this.moduleName = moduleName;
166
+ this.msgid = msgid;
167
+ this.msg = msg;
168
+ this.status = "NOTDEFINED";
169
+ this.pid = PID;
170
+ this.requestId = Pdu.requestIdProvider !== null ? Pdu.requestIdProvider() : void 0;
171
+ }
172
+ /**
173
+ * Map bidirectionnelle des sévérités RFC 5424 (`{ INFO: 6, 6: "INFO", ... }`).
174
+ *
175
+ * @returns dictionnaire `{ severityName: severityValue }` plus enum reverse.
176
+ */
177
+ static sysLogSeverity() {
178
+ return sysLogSeverityObj;
179
+ }
180
+ /**
181
+ * Convertit une sévérité numérique ou string en son nom canonique.
182
+ *
183
+ * @param severity - valeur numérique (`6`) ou string (`"INFO"` ou `"6"`).
184
+ * @returns nom canonique (`"INFO"`) ou `undefined` si invalide.
185
+ */
186
+ static severityToString(severity) {
187
+ const numericSeverity = typeof severity === "string" ? parseInt(severity, 10) : severity;
188
+ if (!isNaN(numericSeverity) && SysLogSeverity[numericSeverity] !== void 0) return SysLogSeverity[numericSeverity];
189
+ const severityKey = Pdu.severityToString(SysLogSeverity[severity]);
190
+ return severityKey !== void 0 ? severityKey : void 0;
191
+ }
192
+ /**
193
+ * Retourne le timestamp formaté `HH:MM:SS GMT±HHMM (TZ Name)`.
194
+ *
195
+ * @returns time string lisible par humain.
196
+ */
197
+ getDate() {
198
+ return new Date(this.timeStamp).toTimeString();
199
+ }
200
+ /**
201
+ * Sérialise le Pdu en string mono-ligne pour transport console/file.
202
+ *
203
+ * @returns ligne formatée `TimeStamp:... Log:... ModuleName:... SeverityName:... MessageID:... UID:... Message:...`.
204
+ */
205
+ toString() {
206
+ return `TimeStamp:${this.getDate()} Log:${this.payload} ModuleName:${this.moduleName} SeverityName:${this.severityName} MessageID:${this.msgid} UID:${this.uid} Message:${this.msg}`;
207
+ }
208
+ /**
209
+ * Réhydrate un Pdu existant à partir d'une string JSON — mute uniquement les
210
+ * clés déjà présentes sur l'instance (filtre `key in this`).
211
+ *
212
+ * @param str - JSON sérialisé d'un Pdu.
213
+ * @returns objet parsé (ou `null` si JSON vide). Mute l'instance courante au passage.
214
+ */
215
+ parseJson(str) {
216
+ const json = JSON.parse(str);
217
+ Object.entries(json).forEach(([key, value]) => {
218
+ if (key in this) this[key] = value;
219
+ });
220
+ return json;
221
+ }
222
+ };
223
+ //#endregion
224
+ export { BROWSER_ORIGIN, SEVERITY_NAMES, Pdu as default };