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,177 @@
1
+ import type { FlowStepId } from "./pduFlow.js";
2
+ /**
3
+ * Contrat du **Log Backplane** (axe DESTINATION queryable, LB.0).
4
+ *
5
+ * À NE PAS confondre avec {@link ILogSink} (LB.W) : `ILogSink` écrit la **ligne
6
+ * texte** déjà coalescée (`writeOut(s: string)`) vers stdout/fichier/null et ne
7
+ * voit jamais les Pdu structurés → incapable de relire/filtrer. `ILogDriver`, lui,
8
+ * est la **destination des Pdu structurés** : il sait les **stocker** (write) ET
9
+ * les **relire** (query). Les deux sont liés dans le même driver (cohérence
10
+ * « j'écris dans Elastic → je relis dans Elastic »).
11
+ *
12
+ * - `memory` (défaut dev) : le ring buffer `Syslog` EST le stockage → `query`
13
+ * = {@link filterPdus} sur `syslog.ringStack`. Aucun write dédié (le ring est
14
+ * alimenté par `Syslog.pushStack`).
15
+ * - `file` (JSONL, LB.2), `elastic`/`loki` (LB.4) : write = persistance des Pdu,
16
+ * query = scan / API externe. Drivers Node-only enregistrés à part.
17
+ *
18
+ * Le driver actif est sélectionné par {@link logDriverRegistry} (config/env, ou
19
+ * action de contrôle dev-only). Le **bus temps réel** (`nodefony:syslog`) reste
20
+ * indépendant : il diffuse les Pdu live quel que soit le driver (même non-queryable).
21
+ */
22
+ export interface ILogDriver {
23
+ /** Nom unique du driver (`"memory"` | `"file"` | `"elastic"` | custom). */
24
+ readonly name: string;
25
+ /** Ce que le driver sait faire (pilote l'UI Studio + le contrat data-plane). */
26
+ readonly capabilities: ILogDriverCapabilities;
27
+ /**
28
+ * Interroge la destination — chemin **FROID** (admin/debug), `async`, **JAMAIS**
29
+ * dans le pipeline requête. Absent si `capabilities.query === false` (ex. `console`).
30
+ *
31
+ * @param criteria - critères de filtrage (tous optionnels, combinés en AND).
32
+ * @returns enregistrements (récents d'abord) + total avant pagination.
33
+ */
34
+ query?(criteria: ILogQueryCriteria): Promise<ILogQueryResult>;
35
+ /**
36
+ * Sonde de SANTÉ de la destination (chemin FROID, admin) — « est-ce que la cible
37
+ * répond, en combien de temps, et quelques infos utiles ? ». Présent surtout sur
38
+ * les drivers DISTANTS (loki/opensearch) où la joignabilité n'est pas acquise ;
39
+ * absent sur les drivers locaux triviaux (memory). Ne `throw` JAMAIS : un échec se
40
+ * traduit par `{ ok:false, detail }` (l'admin doit voir la panne, pas un crash).
41
+ *
42
+ * @returns joignabilité + latence + infos (version, statut, nb d'entrées…).
43
+ */
44
+ probe?(): Promise<ILogDriverProbe>;
45
+ }
46
+ /**
47
+ * Résultat d'une {@link ILogDriver.probe} — santé d'une destination de logs.
48
+ * Affiché par Studio (badge joignable/latence + infos) ; jamais de credential.
49
+ */
50
+ export interface ILogDriverProbe {
51
+ /** `true` si la destination répond correctement. */
52
+ ok: boolean;
53
+ /** Latence aller-retour de la sonde (ms). */
54
+ latencyMs: number;
55
+ /** Message d'erreur si `ok === false` (jamais de secret). */
56
+ detail?: string;
57
+ /** Infos utiles à afficher (version, statut cluster, nb d'entrées, endpoint…). */
58
+ info?: Record<string, string | number>;
59
+ }
60
+ /** Capacités déclarées d'un driver (introspection Studio + garde-fous endpoint). */
61
+ export interface ILogDriverCapabilities {
62
+ /** Le driver persiste les Pdu (≠ ring volatile). `memory` = false (volatile). */
63
+ readonly write: boolean;
64
+ /** Le driver expose `query()` (relecture filtrée). `console` = false. */
65
+ readonly query: boolean;
66
+ /** Le driver peut alimenter un flux temps réel (tap `onLog`). */
67
+ readonly stream: boolean;
68
+ }
69
+ /**
70
+ * Critères de requête — tous optionnels, combinés en **AND**. Vide = tout (borné
71
+ * par `limit`). Les comparaisons string sont insensibles à la casse. `requestId`
72
+ * matche **exactement** (trace full-stack ciblée d'UNE requête) ; `module`/`msgid`/
73
+ * `text` matchent par **inclusion**.
74
+ */
75
+ export interface ILogQueryCriteria {
76
+ /** Corrélation log↔requête (ALS) — match EXACT. La clé de la trace full-stack. */
77
+ requestId?: string;
78
+ /** Nom(s) de sévérité RFC 5424 (`"ERROR"` ou `["ERROR","CRITIC"]`). Insensible casse. */
79
+ severity?: string | string[];
80
+ /** Nom de module/service — inclusion insensible à la casse. */
81
+ module?: string;
82
+ /** Catégorie de message (msgid) — inclusion insensible à la casse. */
83
+ msgid?: string;
84
+ /** Borne basse du `timeStamp` (epoch ms, inclus). */
85
+ from?: number;
86
+ /** Borne haute du `timeStamp` (epoch ms, inclus). */
87
+ to?: number;
88
+ /** Recherche plein-texte (payload string + msg + module + msgid). Insensible casse. */
89
+ text?: string;
90
+ /**
91
+ * Protocole d'origine du log :
92
+ * - `"ws"` : logs émis dans un contexte WebSocket (`msgid === "WEBSOCKET CONTEXT"`) ;
93
+ * - `"http"` : tout le reste du pipeline (requête HTTP, router, firewall, applicatif).
94
+ *
95
+ * Absent = les deux protocoles. Classification PURE, cf `pduProtocol`.
96
+ */
97
+ protocol?: "ws" | "http";
98
+ /**
99
+ * Étape(s) du cycle de vie d'une requête/connexion — classification STRUCTURÉE
100
+ * (cf `pduFlowStep`), pas une recherche texte. Ex. `"ws-open"` ou
101
+ * `["request-in","route-matched"]`. Tableau = OU entre étapes ; combiné en AND
102
+ * avec les autres critères. Absent = toutes les étapes.
103
+ */
104
+ flow?: FlowStepId | FlowStepId[];
105
+ /** Nombre max d'enregistrements renvoyés (le driver borne à un plafond sûr). */
106
+ limit?: number;
107
+ /** Décalage de pagination (depuis le plus récent). */
108
+ offset?: number;
109
+ /**
110
+ * Ordre chronologique des `rows` :
111
+ * - `"desc"` (DÉFAUT) : du plus RÉCENT au plus ancien (entrée naturelle d'un viewer) ;
112
+ * - `"asc"` : du plus ANCIEN au plus récent (lecture chronologique d'une trace).
113
+ *
114
+ * L'ordre s'appuie sur l'`uid` du Pdu (compteur monotone d'émission) → garantit
115
+ * la **chronologie exacte même à `timeStamp` égal** (plusieurs logs dans la même ms).
116
+ */
117
+ order?: "asc" | "desc";
118
+ }
119
+ /**
120
+ * Forme **wire** d'un Pdu (isomorphe) — sérialisation stable partagée par TOUTES
121
+ * les façades (endpoint data-plane, canal `nodefony:syslog`, drivers). Le front
122
+ * réhydrate via `Object.assign(new Pdu(""), record)` → une seule logique de rendu.
123
+ * Produite par {@link pduToRecord}.
124
+ */
125
+ export interface ILogRecord {
126
+ uid: number;
127
+ severity: number;
128
+ severityName: string;
129
+ moduleName: string;
130
+ msgid: string;
131
+ msg: string;
132
+ timeStamp: number;
133
+ /** PID émetteur (procid RFC 5424) — groupe par worker en cluster. */
134
+ pid: number;
135
+ /** Corrélation requête (ALS) si présent. `undefined` ignoré par `JSON.stringify`. */
136
+ requestId?: string;
137
+ /** Contenu brut (string/Error/objet). Narrower côté lecteur. */
138
+ payload: unknown;
139
+ }
140
+ /** Résultat d'une requête : enregistrements (récents d'abord) + méta de pagination. */
141
+ export interface ILogQueryResult {
142
+ /** Enregistrements du plus RÉCENT au plus ancien, après `offset`/`limit`. */
143
+ rows: ILogRecord[];
144
+ /** Nombre total d'enregistrements qui matchent les critères (avant pagination). */
145
+ total: number;
146
+ /** `true` s'il reste des résultats au-delà de la fenêtre renvoyée. */
147
+ truncated: boolean;
148
+ }
149
+ /**
150
+ * Sous-ensemble des champs d'un `Pdu` lus par {@link filterPdus} et
151
+ * {@link pduToRecord}. Permet de filtrer/projeter SANS instancier un `Pdu` — son
152
+ * constructeur incrémente un compteur d'`uid` et lit le `requestIdProvider`, donc
153
+ * effets de bord à proscrire lors d'une simple RELECTURE. Un `Pdu` le satisfait
154
+ * structurellement ; un enregistrement relu d'un fichier JSONL (driver `file`,
155
+ * LB.2) aussi → une SEULE logique de filtrage pour memory, file et le futur CLI.
156
+ */
157
+ export interface IPduLike {
158
+ uid: number;
159
+ severity: number;
160
+ severityName: string;
161
+ moduleName: string;
162
+ msgid: string;
163
+ msg: string;
164
+ timeStamp: number;
165
+ pid: number;
166
+ payload: unknown;
167
+ requestId?: string;
168
+ }
169
+ /**
170
+ * Sérialise un Pdu en {@link ILogRecord} (forme wire). Source unique de la
171
+ * projection Pdu→wire : réutilisée par {@link filterPdus} (driver memory) ET par
172
+ * le producteur data-plane `syslog` (framework) — pas de shape dupliqué qui dérive.
173
+ *
174
+ * @param pdu - Pdu (instance ou objet structurellement compatible — {@link IPduLike}).
175
+ * @returns enregistrement plat sérialisable. `requestId` omis si absent.
176
+ */
177
+ export declare function pduToRecord(pdu: IPduLike): ILogRecord;
@@ -0,0 +1,44 @@
1
+ import type { ILogDriver } from "./ILogDriver.js";
2
+ import type { FetchLike } from "../httpFetch.js";
3
+ export interface LokiLogDriverOptions {
4
+ /** Base URL de Loki, ex. `http://127.0.0.1:3100`. */
5
+ url: string;
6
+ /** Labels de sélecteur de base (mêmes que le transport). Défaut `{ app: "nodefony" }`. */
7
+ labels?: Record<string, string>;
8
+ /** Tenant multi-tenancy → header `X-Scope-OrgID`. */
9
+ tenantId?: string;
10
+ /** Headers HTTP additionnels. */
11
+ headers?: Record<string, string>;
12
+ /**
13
+ * Budget de scan : nombre max de lignes RAPATRIÉES de Loki avant filtrage local
14
+ * (chemin admin FROID, anti-OOM). Défaut 1000. La pagination fine (`limit`/`offset`)
15
+ * est appliquée APRÈS par {@link filterPdus} sur ce sous-ensemble.
16
+ */
17
+ maxScanLines?: number;
18
+ /**
19
+ * Fenêtre temporelle par défaut quand `from`/`to` sont absents (ms avant `now`).
20
+ * Loki EXIGE un intervalle borné. Défaut 24 h.
21
+ */
22
+ defaultLookbackMs?: number;
23
+ /** Timeout de la query (ms). Défaut 8000. */
24
+ timeoutMs?: number;
25
+ /** Implémentation `fetch` (tests / proxy). Défaut : `fetch` global. */
26
+ fetchImpl?: FetchLike;
27
+ }
28
+ /**
29
+ * Driver `loki` du Log Backplane (LB.4) — relit les logs dans **Grafana Loki** via
30
+ * LogQL (`GET /loki/api/v1/query_range`). **Adaptateur, pas moteur** : Loki BORNE le
31
+ * rapatriement (sélecteur de labels + fenêtre temporelle + grep + budget de lignes),
32
+ * puis {@link filterPdus} est l'**autorité finale** sur le sous-ensemble rapatrié →
33
+ * sémantique EXACTEMENT identique aux drivers `memory`/`file` (inclusion insensible à
34
+ * la casse, ordering `uid`, pagination). Une logique, N façades.
35
+ *
36
+ * Chaque ligne Loki est le record wire JSON écrit par {@link LokiTransport} → `JSON.parse`
37
+ * + {@link coerceRecord} (lignes corrompues ignorées). Chemin **FROID** (admin/debug),
38
+ * jamais dans le pipeline requête. Loki injoignable / requête invalide → `throw` explicite
39
+ * (≠ `file` absent : une infra de logs prod en panne DOIT être visible, pas masquée).
40
+ *
41
+ * @param options - URL Loki + labels + budgets.
42
+ * @returns un `ILogDriver` `loki` queryable (Node-only).
43
+ */
44
+ export declare function createLokiLogDriver(options: LokiLogDriverOptions): ILogDriver;
@@ -0,0 +1,20 @@
1
+ import type { ILogDriver, IPduLike } from "./ILogDriver.js";
2
+ /**
3
+ * Driver `memory` (LB.1) — le **ring buffer du Syslog EST le stockage**. Aucun
4
+ * write dédié : le ring est alimenté par `Syslog.pushStack` sur le hot path. Le
5
+ * driver n'ajoute que la **relecture** (`query`) = {@link filterPdus} sur un
6
+ * snapshot du ring.
7
+ *
8
+ * Défaut en développement : volatile (perdu au restart), borné (`maxStack`), mais
9
+ * **0 dépendance, isomorphe** (pas de `node:*` → utilisable côté navigateur plus
10
+ * tard pour un Log Backplane front). Pour persister/agréger en prod → drivers
11
+ * `file` (LB.2) / `elastic`-`loki` (LB.4).
12
+ *
13
+ * La **source** est injectée (provider `() => IPduLike[]`, comme `Pdu.requestIdProvider`)
14
+ * → le driver ne dépend pas de `Syslog` ni du `Kernel` (le wiring fournit
15
+ * `() => kernel.syslog.ringStack`). Découplé + testable avec un tableau en dur.
16
+ *
17
+ * @param source - fournit le snapshot courant des Pdu (ex. `() => syslog.ringStack`).
18
+ * @returns un `ILogDriver` `memory` queryable.
19
+ */
20
+ export declare function createMemoryLogDriver(source: () => IPduLike[]): ILogDriver;
@@ -0,0 +1,40 @@
1
+ import type { ILogDriver } from "./ILogDriver.js";
2
+ import type { FetchLike } from "../httpFetch.js";
3
+ export interface OpenSearchLogDriverOptions {
4
+ /** Base URL d'OpenSearch, ex. `http://127.0.0.1:9200`. */
5
+ url: string;
6
+ /** Index interrogé (défaut `nodefony-logs`). Doit matcher le transport. */
7
+ index?: string;
8
+ /** Utilisateur (auth basic) — prod avec plugin sécurité activé. */
9
+ username?: string;
10
+ /** Mot de passe (auth basic). */
11
+ password?: string;
12
+ /** Headers HTTP additionnels. */
13
+ headers?: Record<string, string>;
14
+ /**
15
+ * Budget de scan : nombre max de documents RAPATRIÉS (`size`) avant filtrage local
16
+ * (chemin admin FROID, anti-OOM). Défaut 1000. La pagination fine est ensuite
17
+ * appliquée par {@link filterPdus}.
18
+ */
19
+ maxHits?: number;
20
+ /** Timeout de la query (ms). Défaut 8000. */
21
+ timeoutMs?: number;
22
+ /** Implémentation `fetch` (tests / proxy). Défaut : `fetch` global. */
23
+ fetchImpl?: FetchLike;
24
+ }
25
+ /**
26
+ * Driver `opensearch` du Log Backplane (LB.4) — relit les logs dans **OpenSearch**
27
+ * via `POST /{index}/_search` (Query DSL). **Adaptateur, pas moteur** : OpenSearch
28
+ * borne le rapatriement (range sur `timeStamp` + `sort` desc + budget `size`), puis
29
+ * {@link filterPdus} est l'**autorité finale** sur le sous-ensemble → sémantique
30
+ * identique aux drivers `memory`/`file`. Une logique, N façades.
31
+ *
32
+ * Chaque `_source` est le record wire indexé par {@link OpenSearchTransport} →
33
+ * {@link coerceRecord} (documents non conformes ignorés). Chemin **FROID** (admin/debug).
34
+ * Index encore absent (404 `index_not_found`) → résultat VIDE (normal : aucun log
35
+ * indexé). Vraie panne (réseau, 5xx) → `throw` explicite (infra de logs prod visible).
36
+ *
37
+ * @param options - URL OpenSearch + index + budget.
38
+ * @returns un `ILogDriver` `opensearch` queryable (Node-only).
39
+ */
40
+ export declare function createOpenSearchLogDriver(options: OpenSearchLogDriverOptions): ILogDriver;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Résout le driver de relecture EFFECTIF depuis la valeur demandée, le mode de
3
+ * lancement et les destinations distantes déclarées. La sentinelle `"auto"`
4
+ * (défaut du framework) S'ADAPTE :
5
+ * 1. une destination distante déclarée (URL loki/opensearch — infra logs) impose
6
+ * son driver : l'URL ⇒ le driver, un seul knob. Les DEUX déclarées sans choix
7
+ * explicite = throw (fail-loud : pas d'arbitrage silencieux entre deux
8
+ * destinations de relecture) ;
9
+ * 2. sinon un worker de cluster (process forké) relit via `cluster-file` — vue
10
+ * UNIFIÉE agrégeant les JSONL de tous les workers — là où `memory` (ring
11
+ * per-worker) ne montrerait qu'un worker ; un mono-process reste sur
12
+ * `memory` (0 I/O).
13
+ *
14
+ * On n'intervient QUE sur le défaut : toute valeur EXPLICITE (`memory`, `file`,
15
+ * `loki`, …) est une surcharge de l'opérateur → respectée telle quelle, jamais
16
+ * réécrite (principe de moindre surprise, 12-factor).
17
+ *
18
+ * @param requested - `log.queryDriver` résolu (config app/env) ; `undefined` ou
19
+ * `"auto"` = laisser le framework décider.
20
+ * @param isWorker - process forké d'un cluster (`cluster.isWorker`).
21
+ * @param urls - URLs des destinations distantes déclarées (config `log.loki`/
22
+ * `log.opensearch`, montées depuis l'infra logs).
23
+ * @returns nom du driver de relecture à activer + monter.
24
+ * @throws Error si les deux URLs sont déclarées sans `queryDriver` explicite.
25
+ */
26
+ export declare function resolveQueryDriver(requested: string | undefined, isWorker: boolean, urls?: {
27
+ loki?: string;
28
+ opensearch?: string;
29
+ }): string;
30
+ /**
31
+ * Enregistre les fabriques des drivers NATIFS du Log Backplane dans le
32
+ * {@link registerLogDriverFactory registre de fabriques}. Idempotent (appelé à chaque
33
+ * `initializeLog`, court-circuité après la 1ʳᵉ fois). C'est ICI — pas dans le Kernel —
34
+ * que vit la connaissance « nom → comment construire ce driver ». Le Kernel ne fait que
35
+ * résoudre + brancher, sans aucun `if (name === …)`.
36
+ *
37
+ * - `memory` : relit le ring buffer (aucun transport — alimenté par `Syslog`).
38
+ * - `file` / `cluster-file` : relisent un/des JSONL ; écrivent via un `FileTransport`
39
+ * partagé (même `writeKey` = chemin → branché 1× même si les deux sont montés).
40
+ * - `loki` / `opensearch` : push HTTP batché (transport) + relecture via leur API
41
+ * (driver) ; `null` si l'URL n'est pas configurée (→ fallback `memory` côté Kernel).
42
+ */
43
+ export declare function registerBuiltinLogDrivers(): void;
@@ -0,0 +1,21 @@
1
+ import { type ILogQueryCriteria, type ILogQueryResult, type IPduLike } from "./ILogDriver.js";
2
+ /**
3
+ * Filtre PUR d'un tableau de Pdu selon des critères — **0 I/O, 0 état, testable
4
+ * sans serveur**. C'est LA logique de filtrage du Log Backplane, réutilisée par le
5
+ * driver `memory` (sur `syslog.ringStack`), le futur driver `file` (sur les lignes
6
+ * relues) et la future commande CLI `syslog:filter`. Une logique, trois façades.
7
+ *
8
+ * Critères combinés en **AND** (cf {@link ILogQueryCriteria}). Résultat trié du
9
+ * plus **RÉCENT** au plus ancien (l'entrée naturelle d'un viewer de logs), puis
10
+ * `offset`/`limit` appliqués. `total` = nombre de matchs AVANT pagination.
11
+ *
12
+ * Perf : scan linéaire O(N) sur un ring borné (≤ `maxStack`, ~100-1000). Chemin
13
+ * FROID (admin/debug) → jamais dans le pipeline requête. La sérialisation
14
+ * (Pdu→{@link ILogRecord}) n'est faite que sur la **fenêtre renvoyée**, pas sur
15
+ * tous les matchs.
16
+ *
17
+ * @param pdus - snapshot de Pdu (ex. `syslog.ringStack`, ordre FIFO oldest→newest).
18
+ * @param criteria - critères de filtrage (tous optionnels).
19
+ * @returns enregistrements récents d'abord + total + flag de troncature.
20
+ */
21
+ export declare function filterPdus(pdus: IPduLike[], criteria?: ILogQueryCriteria): ILogQueryResult;
@@ -0,0 +1,100 @@
1
+ import type { ILogDriver, IPduLike } from "./ILogDriver.js";
2
+ import type { ITransport } from "../../types/ITransport.js";
3
+ /**
4
+ * Enregistre (ou remplace) un driver par son nom. Si aucun driver actif n'est
5
+ * encore défini, le premier enregistré devient actif (défaut sain).
6
+ *
7
+ * @param driver - instance `ILogDriver` (porte son propre `name`).
8
+ */
9
+ export declare function registerLogDriver(driver: ILogDriver): void;
10
+ /**
11
+ * Sélectionne le driver actif par nom (relecture des logs).
12
+ *
13
+ * @param name - nom d'un driver enregistré.
14
+ * @returns le driver activé.
15
+ * @throws si le nom est inconnu (jamais activer un driver fantôme silencieusement).
16
+ */
17
+ export declare function setActiveLogDriver(name: string): ILogDriver;
18
+ /** Driver actif (relecture), ou `null` si aucun n'est encore enregistré/câblé. */
19
+ export declare function getActiveLogDriver(): ILogDriver | null;
20
+ /**
21
+ * Récupère un driver ENREGISTRÉ par son nom SANS l'activer — pour le sonder
22
+ * (`probe`) ou l'introspecter avant un switch. `undefined` si non enregistré.
23
+ */
24
+ export declare function getLogDriver(name: string): ILogDriver | undefined;
25
+ /** Liste des drivers enregistrés (introspection Studio / tests / data-plane). */
26
+ export declare function listLogDrivers(): {
27
+ name: string;
28
+ capabilities: ILogDriver["capabilities"];
29
+ }[];
30
+ /**
31
+ * Sous-ensemble de `config.log` lu par les fabriques — évite une dépendance des
32
+ * drivers au type complet du Kernel (qui, lui, importe les drivers).
33
+ */
34
+ export interface ILogConfigLike {
35
+ queryFile?: {
36
+ path?: string;
37
+ maxScanBytes?: number;
38
+ };
39
+ loki?: {
40
+ url: string;
41
+ labels?: Record<string, string>;
42
+ tenantId?: string;
43
+ batchSize?: number;
44
+ flushIntervalMs?: number;
45
+ maxQueue?: number;
46
+ maxScanLines?: number;
47
+ };
48
+ opensearch?: {
49
+ url: string;
50
+ index?: string;
51
+ username?: string;
52
+ password?: string;
53
+ batchSize?: number;
54
+ flushIntervalMs?: number;
55
+ maxQueue?: number;
56
+ maxHits?: number;
57
+ };
58
+ }
59
+ /** Contexte passé à une fabrique de driver (tout ce qu'il faut pour se construire). */
60
+ export interface ILogDriverContext {
61
+ /** Config `log` de l'app (sous-ensemble lu par les fabriques). */
62
+ logCfg: ILogConfigLike | undefined;
63
+ /** Environnement courant (`development` | `production` | …). */
64
+ environment: string;
65
+ /** Répertoire ABSOLU des fichiers de log. */
66
+ logDir: string;
67
+ /** PID du process courant (nom de fichier par worker). */
68
+ pid: number;
69
+ /** Fournit le ring buffer courant à la demande (driver `memory`, lazy). */
70
+ getRingStack: () => IPduLike[];
71
+ }
72
+ /**
73
+ * Ce qu'une fabrique retourne : le driver de RELECTURE + (optionnel) le transport
74
+ * d'ÉCRITURE à brancher. `writeKey` déduplique le transport quand plusieurs drivers
75
+ * partagent la même destination d'écriture (ex. `file` ↔ `cluster-file` = même JSONL).
76
+ */
77
+ export interface ILogDriverMount {
78
+ driver: ILogDriver;
79
+ transport?: ITransport;
80
+ writeKey?: string;
81
+ }
82
+ /** Fabrique d'un driver. Retourne `null` si la config est insuffisante (ex. URL absente). */
83
+ export type ILogDriverFactory = (ctx: ILogDriverContext) => ILogDriverMount | null;
84
+ /**
85
+ * Enregistre (ou remplace) la fabrique d'un driver par son nom.
86
+ *
87
+ * @param name - nom du driver (`"loki"`, `"opensearch"`, ou custom userland).
88
+ * @param factory - construit le driver + son transport à partir du contexte.
89
+ */
90
+ export declare function registerLogDriverFactory(name: string, factory: ILogDriverFactory): void;
91
+ /** Récupère la fabrique d'un driver, ou `undefined` si non enregistrée. */
92
+ export declare function getLogDriverFactory(name: string): ILogDriverFactory | undefined;
93
+ /** Liste les noms de drivers ayant une fabrique (introspection Studio / CLI). */
94
+ export declare function listLogDriverFactories(): string[];
95
+ /**
96
+ * Réinitialise le registre (tests uniquement — isole l'état module-level entre
97
+ * cas). Hors tests, le registre vit pour la durée du process. Les FABRIQUES ne sont
98
+ * PAS effacées (elles sont enregistrées 1× au boot, idempotent).
99
+ */
100
+ export declare function _resetLogDriverRegistry(): void;
@@ -0,0 +1,11 @@
1
+ /** Index OpenSearch par défaut des logs Nodefony (write transport ↔ read driver). */
2
+ export declare const DEFAULT_OPENSEARCH_INDEX = "nodefony-logs";
3
+ /**
4
+ * Construit l'en-tête `Authorization: Basic …` si un utilisateur est fourni — sinon
5
+ * objet vide (dev = plugin sécurité désactivé, HTTP sans auth). Node-only (`Buffer`).
6
+ *
7
+ * @param username - utilisateur (absent → pas d'auth).
8
+ * @param password - mot de passe.
9
+ * @returns en-tête prêt à étaler, ou `{}`.
10
+ */
11
+ export declare function basicAuthHeader(username?: string, password?: string): Record<string, string>;
@@ -0,0 +1,53 @@
1
+ import type { IPduLike } from "./ILogDriver.js";
2
+ import type { LogProtocol } from "./pduProtocol.js";
3
+ /**
4
+ * **Étape logique du cycle de vie d'une requête / connexion** — identifiant
5
+ * STABLE (clé de filtre côté back ET clé de mapping libellé/couleur côté front).
6
+ *
7
+ * Les logs DEBUG du pipeline portent des noms d'events bruts (`onRequest`,
8
+ * `onRequestEnd`, `onSend`…) peu parlants, et dont l'ordre d'apparition n'est pas
9
+ * l'ordre intuitif (`onRequestEnd` = corps reçu, donc TÔT pour un GET malgré le
10
+ * mot « End »). Chaque event est ici mappé vers une étape nommée — la base d'un
11
+ * filtre fiable (≠ recherche texte, qui matchait par erreur les URL contenant le
12
+ * marqueur) et d'une lecture « je comprends où en est la requête ».
13
+ */
14
+ export type FlowStepId = "request-in" | "body-received" | "route-matched" | "kernel-dispatch" | "response" | "request-end" | "finish" | "ws-open" | "ws-message" | "ws-close" | "session" | "session-saved";
15
+ /**
16
+ * Métadonnée **structurelle** d'une étape (jamais de présentation : libellé FR et
17
+ * couleur vivent côté front, qui mappe l'`id`). `order` = rang logique dans le
18
+ * cycle de SON protocole ; `protocol` = où l'étape apparaît (`"both"` = session).
19
+ */
20
+ export interface FlowStepMeta {
21
+ /** Rang logique dans le cycle (tri du sélecteur d'étapes). */
22
+ order: number;
23
+ /** Protocole d'appartenance — pilote le sélecteur adaptatif côté Studio. */
24
+ protocol: LogProtocol | "both";
25
+ }
26
+ /**
27
+ * Table des étapes — **source unique** de l'ordre et de l'appartenance protocole,
28
+ * partagée back (filtre) et front (sélecteur groupé HTTP / WebSocket / Commun).
29
+ */
30
+ export declare const FLOW_STEPS: Record<FlowStepId, FlowStepMeta>;
31
+ /**
32
+ * Entrée minimale pour classer une étape — seuls `msgid`, `payload` et `msg`
33
+ * comptent. Un `Pdu`, un {@link IPduLike} (msg requis) ET un record wire relu
34
+ * (`ILogRecord` / miroir front, `msg` optionnel) la satisfont structurellement
35
+ * → la classification est utilisable des deux côtés de la frontière isomorphe.
36
+ */
37
+ export type FlowClassifiable = Pick<IPduLike, "msgid" | "payload"> & {
38
+ msg?: string;
39
+ };
40
+ /**
41
+ * Classe un Pdu en **étape de cycle de vie** (id stable) ou `null` si la ligne
42
+ * n'est pas un jalon (log applicatif libre, ex. `DB-DEMO`). PUR, isomorphe,
43
+ * 0 état — réutilisé par le filtre back ({@link filterPdus}) ET le rendu front
44
+ * (colonne « Étape » + sélecteur) → une SEULE logique, jamais de divergence.
45
+ *
46
+ * Priorité aux marqueurs de **contenu** (route, session, cookie, bilan), puis au
47
+ * **nom d'event** générique. `onRequest` est désambiguïsé par le msgid `KERNEL`
48
+ * (dispatch kernel) vs contexte (entrée de requête).
49
+ *
50
+ * @param pdu - enregistrement (Pdu ou {@link IPduLike}, relu d'un JSONL aussi).
51
+ * @returns l'`id` d'étape, ou `null` pour un log hors cycle.
52
+ */
53
+ export declare function pduFlowStep(pdu: FlowClassifiable): FlowStepId | null;
@@ -0,0 +1,20 @@
1
+ import type { IPduLike } from "./ILogDriver.js";
2
+ /** Protocole d'origine d'un enregistrement de log. */
3
+ export type LogProtocol = "ws" | "http";
4
+ /**
5
+ * Classe un Pdu par **protocole** d'origine — `"ws"` ou `"http"` — de façon PURE,
6
+ * isomorphe et 0-alloc (une seule comparaison de `msgid`).
7
+ *
8
+ * Critère FIABLE : tout log émis dans un contexte WebSocket porte le msgid
9
+ * `"WEBSOCKET CONTEXT"` (forcé par défaut dans `WebsocketContext.log()`). Tout le
10
+ * reste du pipeline (req/http2/router/firewall/kernel/applicatif) est classé HTTP.
11
+ * Une seule logique → front et back ne divergent plus (le front filtrait par texte,
12
+ * source de faux positifs).
13
+ *
14
+ * Seul `msgid` compte → accepte un `Pdu`, un {@link IPduLike} ou un record wire
15
+ * relu (`ILogRecord` / miroir front) indifféremment.
16
+ *
17
+ * @param pdu - tout objet portant un `msgid`.
18
+ * @returns `"ws"` si le log provient d'une socket WebSocket, sinon `"http"`.
19
+ */
20
+ export declare function pduProtocol(pdu: Pick<IPduLike, "msgid">): LogProtocol;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Petit contrat `fetch` minimal et INJECTABLE, partagé par les destinations HTTP du
3
+ * Log Backplane (drivers `loki`/`opensearch` côté query, transports côté write).
4
+ *
5
+ * Pourquoi un type local plutôt que le `fetch` global de `lib.dom` : le workspace core
6
+ * est isomorphe (Node + browser) et ne tire pas `lib.dom`. On déclare donc la surface
7
+ * STRICTE qu'on utilise (statut + `text`/`json`), ce qui rend aussi le code **testable
8
+ * sans réseau** : un test passe un `FetchLike` factice. 0 `any`, narrowing explicite.
9
+ */
10
+ export interface FetchResponseLike {
11
+ /** `true` si statut 2xx. */
12
+ readonly ok: boolean;
13
+ /** Code HTTP (utile pour distinguer 404 « pas encore d'index » d'une vraie panne). */
14
+ readonly status: number;
15
+ text(): Promise<string>;
16
+ json(): Promise<unknown>;
17
+ }
18
+ /** Sous-ensemble des options `RequestInit` réellement utilisées. */
19
+ export interface FetchInitLike {
20
+ method?: string;
21
+ headers?: Record<string, string>;
22
+ body?: string;
23
+ signal?: AbortSignal;
24
+ }
25
+ /** Signature compatible `globalThis.fetch` (surface réduite). */
26
+ export type FetchLike = (url: string, init?: FetchInitLike) => Promise<FetchResponseLike>;
27
+ /**
28
+ * Résout l'implémentation `fetch` à utiliser : celle passée explicitement (tests,
29
+ * proxy custom), sinon le `fetch` global (Node ≥ 18). Lève si aucune n'est dispo
30
+ * (jamais d'échec silencieux d'un driver prod mal configuré).
31
+ *
32
+ * @param custom - implémentation explicite (prioritaire).
33
+ * @returns un `FetchLike` garanti non nul.
34
+ * @throws si aucun `fetch` n'est disponible.
35
+ */
36
+ export declare function resolveFetch(custom?: FetchLike): FetchLike;
37
+ /**
38
+ * `fetch` borné par un timeout (via `AbortController`) — un push/lecture de logs ne
39
+ * doit JAMAIS bloquer indéfiniment sur une destination injoignable. `timeoutMs ≤ 0`
40
+ * = pas de timeout.
41
+ *
42
+ * @param fetchImpl - implémentation `FetchLike`.
43
+ * @param url - URL cible.
44
+ * @param init - options de requête.
45
+ * @param timeoutMs - délai max avant `abort`.
46
+ * @returns la réponse, ou rejette (timeout/réseau).
47
+ */
48
+ export declare function fetchWithTimeout(fetchImpl: FetchLike, url: string, init: FetchInitLike, timeoutMs: number): Promise<FetchResponseLike>;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Gate de couleur ANSI des logs — résolue **une seule fois au boot**
3
+ * ({@link Kernel.initializeLog}), pas par log.
4
+ *
5
+ * Problème résolu : plusieurs loggers (Kernel, Context, request-logger…) bakent
6
+ * des codes ANSI DANS le `payload`/`msgid` d'un `Pdu` (ex. `clc.cyan("URL")`).
7
+ * Ces Pdu voyagent jusqu'au `FileTransport` JSON → l'ANSI polluait le `.jsonl`
8
+ * queryable (et le pipe stdout → collecteur en prod). Stripper à l'écriture =
9
+ * un `.replace()` PAR log sur le hot path (refusé, coût). À la place, un flag
10
+ * global gate la couleur à la SOURCE.
11
+ *
12
+ * Critère (résolu au boot) : couleur ON si `stdout` est un **TTY** (un humain
13
+ * regarde un terminal) ; OFF si pipe/fichier/redirection (prod, collecteur,
14
+ * conteneur) → payloads bruts → JSONL et stdout propres.
15
+ *
16
+ * Perf : les slots ci-dessous sont MUTÉS une fois (`setLogColor`) — le hot path
17
+ * appelle directement `identity` (OFF) ou la fonction `cli-color` (ON), **sans
18
+ * test booléen par log**. Reproduire `clc.x.y` ici garde le chaînage hors du
19
+ * hot path (une fonction figée, pas une chaîne de getters par appel).
20
+ *
21
+ * Isomorphe : au navigateur, `cli-color` est remplacé par le shim identité
22
+ * (alias rollup) → ON ≡ OFF, jamais d'ANSI quoi qu'il arrive.
23
+ */
24
+ type ColorFn = (s: string | number) => string;
25
+ /** Combinaisons `cli-color` réellement utilisées par les loggers Nodefony. */
26
+ declare const KEYS: readonly ["cyan", "magenta", "red", "green", "yellow", "blue", "blackBright", "yellowBold", "redBold", "cyanBold", "blueBrightBold", "cyanBgBlue", "cyanBgBlack"];
27
+ type ColorKey = (typeof KEYS)[number];
28
+ type ColorMap = Record<ColorKey, ColorFn>;
29
+ /**
30
+ * Helper de couleur partagé — référence STABLE, propriétés mutées par
31
+ * {@link setLogColor}. Les call-sites font `logColor.cyan("URL")`.
32
+ */
33
+ export declare const logColor: ColorMap;
34
+ /**
35
+ * Active/désactive la couleur ANSI des logs — à appeler **une fois au boot**.
36
+ * Swap les fonctions des slots ; aucun coût par log ensuite.
37
+ *
38
+ * @param enabled - `true` = couleur (TTY interactif), `false` = brut (pipe/fichier).
39
+ */
40
+ export declare function setLogColor(enabled: boolean): void;
41
+ /** `true` si la couleur ANSI est active (gate boot-time). */
42
+ export declare function isLogColorEnabled(): boolean;
43
+ /**
44
+ * Applique les conventions d'environnement couleur PAR-DESSUS un signal `isTTY`
45
+ * **déjà résolu** — au boot on passe `Kernel.isTTY` (qui honore déjà `NF_NO_TTY`),
46
+ * sans re-lire `process.stdout`. Conventions :
47
+ *
48
+ * - **`NO_COLOR`** (no-color.org) : présent **et non vide** → couleur OFF, quelle
49
+ * que soit sa valeur. Priorité absolue (refus explicite de l'utilisateur).
50
+ * - **`FORCE_COLOR`** : non vide et ≠ `"0"` → couleur ON (override pipe/non-TTY,
51
+ * ex. CI qui veut des logs colorés capturés).
52
+ * - sinon → couleur = `isTTY`.
53
+ *
54
+ * Isomorphe : `env` lu via `globalThis.process` (navigateur : pas de `process`).
55
+ *
56
+ * @param isTTY - signal TTY déjà résolu (ex. `Kernel.isTTY`, NF_NO_TTY-aware).
57
+ */
58
+ export declare function resolveColorEnabled(isTTY: boolean): boolean;
59
+ export {};