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,326 @@
1
+ import Kernel, { ServiceConstructor } from "./Kernel.js";
2
+ import type { IModule, PackageJson } from "../types/IModule.js";
3
+ export type { PackageJson } from "../types/IModule.js";
4
+ import type { IMcpTool } from "../types/IMcpTool.js";
5
+ import type { IKernel } from "../types/IKernel.js";
6
+ import { JSONObject } from "../types/globals.js";
7
+ import Service, { DefaultOptionsService } from "../Service.js";
8
+ import Command from "../command/Command.js";
9
+ import CliKernel from "./CliKernel.js";
10
+ import Pdu, { Severity, Msgid, Message } from "../syslog/Pdu.js";
11
+ import type { Controller } from "@nodefony/framework";
12
+ export type TypeController<T> = new (...args: any[]) => T;
13
+ /**
14
+ * Unité fonctionnelle de Nodefony — successeur direct du concept "Bundle" (Symfony / Nodefony JS).
15
+ *
16
+ * Un Module encapsule un domaine : routes, controllers, services, entités ORM, config, commandes
17
+ * CLI. Il est instancié par le {@link Kernel} au boot depuis le manifeste `config.modules`
18
+ * (résolu/chargé à `onPreRegister`). Hérite de {@link Service} → bénéficie du DI Container,
19
+ * EventEmitter, Syslog.
20
+ *
21
+ * Hooks lifecycle disponibles (méthodes prototype obligatoires, jamais arrow ni property init —
22
+ * `super()` tourne AVANT les initializers) :
23
+ * - `onKernelRegister()` — phase `onRegister` (modules s'auto-déclarent)
24
+ * - `onKernelBoot()` — phase `onBoot` (services bootés, connexions ouvertes)
25
+ * - `onKernelReady()` — phase `onReady` (cross-wiring inter-modules)
26
+ * - `init(kernel?)` — appelé par {@link Kernel.addModule}, équivalent constructeur async
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { Module, services } from "nodefony";
31
+ *
32
+ * // `@services([...])` déclare les services du module ; l'ordre de la liste
33
+ * // n'importe pas (il est recalculé depuis les dépendances déclarées).
34
+ * @services([MyService])
35
+ * export class MyModule extends Module {
36
+ * static readonly path: string = import.meta.url;
37
+ *
38
+ * async onKernelBoot(): Promise<this> {
39
+ * this.log("Module booted", "INFO");
40
+ * return this;
41
+ * }
42
+ * }
43
+ * ```
44
+ *
45
+ * @remarks Le constructor attache TOUJOURS **un** listener, indépendamment des hooks de la
46
+ * sous-classe : un `prependOnceListener("onPreBoot")` qui charge le `package.json` du module
47
+ * ({@link Module.setEvents}). Les hooks `onKernelRegister/Boot/Ready` ne sont attachés que si la
48
+ * sous-classe les définit.
49
+ */
50
+ declare class Module<TConfig = Record<string, unknown>> extends Service implements IModule {
51
+ commands: Record<string, Command>;
52
+ static controllers: Record<string, TypeController<Controller>>;
53
+ /**
54
+ * Criticité du module pour la **résilience de boot** (Phase 3). `true` (défaut)
55
+ * = un échec/timeout d'un de ses hooks lifecycle interrompt le boot **en
56
+ * production** (le pod crashe → l'orchestrateur le redémarre, cloud-native) et
57
+ * émet un WARNING **en développement** (le serveur démarre quand même). `false`
58
+ * = fail-soft partout (le module est optionnel : un échec n'empêche jamais le
59
+ * boot — ex. studio, fronts de démo, mediasoup, realtime, redis).
60
+ *
61
+ * ⚠️ **Statique** (pas une propriété d'instance) : lue dans le constructeur via
62
+ * `Module.setEvents()`, donc AVANT que les initializers de la sous-classe ne
63
+ * tournent — une `critical = false` en propriété d'instance arriverait trop
64
+ * tard. Override déclaratif : `static override critical = false;`.
65
+ */
66
+ static critical: boolean;
67
+ package?: PackageJson;
68
+ path: string;
69
+ isApp: boolean;
70
+ /**
71
+ * Noms des services enregistrés PAR ce module (via {@link addService},
72
+ * y compris ceux du décorateur `@services`). Alloué au 1er ajout (lazy).
73
+ * Sert l'introspection admin (Studio) — qui n'est pas inférable du Container
74
+ * partagé seul. Cf {@link getServiceNames}.
75
+ */
76
+ private _serviceNames;
77
+ onKernelRegister?(): Promise<this>;
78
+ onKernelBoot?(): Promise<this>;
79
+ onKernelReady?(): Promise<this>;
80
+ init?(kernel?: IKernel): Promise<this>;
81
+ /**
82
+ * Outils que ce module ajoute à la porte MCP de l'application — cf
83
+ * {@link IModule.getMcpTools}.
84
+ *
85
+ * Déclaré ici **sans implémentation par défaut**, exactement comme les hooks
86
+ * de cycle de vie au-dessus : une méthode de base qui rendrait `[]` ferait
87
+ * payer un appel de fonction par module et par requête `tools/list`, pour
88
+ * rien. Le collecteur teste la présence avant d'appeler.
89
+ */
90
+ getMcpTools?(): IMcpTool[];
91
+ /**
92
+ * Initialise le module — appelé par {@link Kernel.addModule}.
93
+ *
94
+ * @param name - nom unique du module dans le kernel (key dans `kernel.modules`).
95
+ * @param kernel - kernel parent (fournit container, syslog, lifecycle events).
96
+ * @param path - chemin source du module (généralement `import.meta.url`).
97
+ * @param options - config du module (merge avec defaults via `setParameters("modules.<name>")`).
98
+ */
99
+ constructor(name: string, kernel: Kernel, path: string, options: DefaultOptionsService);
100
+ /**
101
+ * Schéma JSON (`z.toJSONSchema`) de la configuration du module, ou `null` si le
102
+ * module n'est pas (encore) migré vers une validation Zod.
103
+ *
104
+ * Lu par le data plane admin ({@link KernelAdminApi} endpoint `module/{name}`) :
105
+ * Studio affiche alors la config en mode « réglages documentés » (clé, type,
106
+ * défaut, valeurs possibles, état, et valeur effective issue de `options`) au
107
+ * lieu d'un dump brut clé→valeur. Les flags Nodefony (`reserved`,
108
+ * `runtimeMutable`, `kernelDerived`, `secret`) attachés via `.meta()` (natif zod) sont
109
+ * recopiés dans le JSON Schema par `z.toJSONSchema()` et exploités par l'UI.
110
+ *
111
+ * Défaut `null` (aucun schéma). Un module migré **override** pour renvoyer son
112
+ * `xConfigJsonSchema()`. Le core n'importe PAS zod : la sérialisation vit dans
113
+ * chaque module qui possède son schéma (0 dépendance ajoutée au cœur).
114
+ *
115
+ * @returns le JSON Schema de la config du module, ou `null`.
116
+ */
117
+ configSchema(): unknown | null;
118
+ /**
119
+ * Config **validée + gelée** du module — point d'accès UNIFORME et typé.
120
+ *
121
+ * Renvoie `this.options` (l'objet de config du module, réassigné par sa
122
+ * validation Zod à `onKernelRegister`). Un module se type via
123
+ * `extends Module<IXConfig>` → `this.config` est alors `IXConfig` sans cast.
124
+ * Remplace le double idiome historique (`this.options` brut d'un côté,
125
+ * `this.get("<module>Config")` de l'autre) par un seul accès. Coût nul : le
126
+ * getter renvoie la référence, aucune allocation ni appel système.
127
+ *
128
+ * @returns la config du module, typée `TConfig` (défaut `Record<string, unknown>`).
129
+ */
130
+ get config(): TConfig;
131
+ /**
132
+ * Résout le chemin source du module (`module.path`) — normalise URL `file://`,
133
+ * remonte au-dessus de `dist/` si nécessaire.
134
+ *
135
+ * @remarks Opération purement LEXICALE, volontairement : l'entrée est déjà absolue
136
+ * (`import.meta.url`). Remonter le dossier `dist` passait auparavant par
137
+ * `resolve(myPath, "..")`, qui ancre le chemin sur le répertoire courant — donc sous
138
+ * Windows y ajoute la lettre de lecteur et normalise les séparateurs. La racine d'un
139
+ * module se mettait ainsi à dépendre de l'endroit d'où l'on avait lancé le process.
140
+ * `dirname` donne le même résultat sur tout chemin absolu, sans cet ancrage.
141
+ *
142
+ * @param myPath - chemin brut (souvent `import.meta.url` de la classe Module).
143
+ * @returns chemin absolu du dossier source du module.
144
+ */
145
+ setPath(myPath: string): string;
146
+ gePath(name?: string): string;
147
+ /**
148
+ * Résout le chemin d'installation d'un module npm via `require.resolve`.
149
+ *
150
+ * @param name - nom du package npm (`"@nodefony/http"`, etc.).
151
+ * @returns chemin absolu vers le dossier du module.
152
+ */
153
+ static getModulePath(name: string): string;
154
+ /**
155
+ * Câble les hooks lifecycle (`onKernelRegister/Boot/Ready`) sur le kernel parent.
156
+ *
157
+ * Appelé une seule fois dans le constructor. Lit les méthodes prototype définies par
158
+ * la sous-classe et les attache via `kernel.once()`. Si la sous-classe ne définit pas
159
+ * un hook, il n'est pas attaché (pas de listener orphelin).
160
+ *
161
+ * Toujours attache un listener `onPreBoot` (prepend, donc index 0) pour charger le
162
+ * `package.json` du module. Les overrides de config `Module-<name>`, eux, ne passent
163
+ * PLUS par ici : ils sont appliqués par `Kernel.applyModuleConfigOverrides()` entre
164
+ * `onPreRegister` et `onRegister` (raison détaillée dans le corps de la méthode).
165
+ */
166
+ setEvents(): void;
167
+ /**
168
+ * Pose un hook de cycle de vie du kernel **au nom de ce module** — donc avec sa
169
+ * politique de boot (propriétaire + criticité), comme les hooks de classe.
170
+ *
171
+ * À utiliser partout où un hook est posé « à la main » depuis le module ou
172
+ * depuis un de ses services (`this.module.hookKernel("onBoot", …)`) plutôt que
173
+ * `kernel.once(...)` directement. Pourquoi : un listener non tagué n'a pas de
174
+ * criticité, et {@link Kernel.isBootErrorFatal} traite l'absence de tag comme
175
+ * **critique**. Un module qui déclare pourtant `static critical = false`
176
+ * voyait donc son échec interrompre le boot en production — la déclaration ne
177
+ * portait que sur ses hooks de classe, pas sur ceux de ses services. Le
178
+ * journal ne pouvait même pas nommer le coupable (`"(anonyme)"`).
179
+ *
180
+ * @param event - nom de l'événement de cycle (`onRegister`, `onBoot`, `onReady`…).
181
+ * @param listener - le hook ; il hérite du nom et de la criticité du module.
182
+ * @returns le module (chaînable).
183
+ */
184
+ hookKernel(event: string, listener: (...args: never[]) => unknown | Promise<unknown>): this;
185
+ /**
186
+ * Détecte les overrides de config destinés à d'autres modules (clés `Module-<name>`),
187
+ * les applique, puis les RETIRE des options du module porteur.
188
+ *
189
+ * Permet à un module de surcharger la config d'un autre module sans toucher au code de
190
+ * ce dernier. Exemple : `Module-http: { port: 8080 }` dans la config de l'app → applique
191
+ * `{ port: 8080 }` à `@nodefony/http`. Warn si module cible inconnu.
192
+ *
193
+ * 🔴 **La clé est CONSOMMÉE.** C'est un ordre de configuration adressé à un
194
+ * autre module, pas une donnée du module porteur : une fois appliquée, elle
195
+ * n'a plus rien à faire dans ses options. La garder cassait la validation du
196
+ * porteur dès lors que son schéma refuse les clés inconnues — et déclarer
197
+ * `module-*` dans les onze schémas du dépôt aurait recopié onze fois une règle
198
+ * qui vit ici. Le retrait vaut AUSSI quand la cible est introuvable : la
199
+ * configuration est morte, elle vient d'être signalée, et rien ne gagne à ce
200
+ * qu'elle fasse en plus tomber le boot du porteur.
201
+ *
202
+ * Personne d'autre ne lit ces clés (`rg` sur `regModuleName` : ce fichier
203
+ * seul) ; sous l'ancien `z.object` elles disparaissaient de toute façon au
204
+ * parse, silencieusement — ce retrait rend explicite ce qui se produisait déjà.
205
+ *
206
+ * @param deep - merge profond (`true`, défaut) vs shallow (`false`).
207
+ * @returns options du module courant, débarrassées des clés d'override consommées.
208
+ */
209
+ readOverrideModuleConfig(deep?: boolean): DefaultOptionsService;
210
+ registerService(service: ServiceConstructor, name: string): ServiceConstructor;
211
+ /**
212
+ * Instancie un service via l'{@link Injector} et l'enregistre dans le container du module.
213
+ *
214
+ * Si le service expose une méthode `init(module)`, elle est appelée après
215
+ * instanciation (équivalent constructeur async). Warn si un service du même nom existe
216
+ * déjà (override).
217
+ *
218
+ * @param service - constructeur du service (typiquement décoré `@injectable`).
219
+ * @param args - arguments additionnels passés au constructeur (après les `@inject` resolved).
220
+ * @returns instance du service prête à l'usage.
221
+ */
222
+ addService(service: ServiceConstructor, ...args: any[]): Promise<Service>;
223
+ /**
224
+ * Politique d'échec d'un service déclaré via `@services([...])` : la MÊME que
225
+ * pour le reste du boot — fatal en production (ou sur une erreur de
226
+ * configuration), fail-soft **ANNONCÉ** ailleurs (agrégé au BootReport, qui
227
+ * fait dire « boot DÉGRADÉ » au superviseur). Jamais un skip silencieux.
228
+ *
229
+ * Appelée par le décorateur `@services`, dont le `catch` se contentait de
230
+ * logger : l'échec n'atteignait ni la politique de criticité ni le BootReport.
231
+ *
232
+ * @param error - l'échec remonté par `addService`/`loadService`.
233
+ * @param service - le constructeur (ou le chemin) du service fautif.
234
+ * @throws l'erreur d'origine si l'échec est fatal (production + module critique).
235
+ */
236
+ handleServiceBootError(error: unknown, service: string | ServiceConstructor): void;
237
+ /**
238
+ * Noms des services enregistrés par ce module (ordre d'ajout).
239
+ * Vide tant qu'aucun service n'a été ajouté.
240
+ */
241
+ getServiceNames(): string[];
242
+ /**
243
+ * Charge dynamiquement un service depuis un chemin (`import()`) puis l'enregistre via
244
+ * {@link addService}.
245
+ *
246
+ * @param service - chemin/spécifier du module à importer (URL, npm package, path relatif).
247
+ * @param args - arguments additionnels passés au constructeur.
248
+ * @returns instance du service après instanciation + `init()`.
249
+ */
250
+ loadService(service: string, ...args: any[]): Promise<Service>;
251
+ getPackageJson(cwd?: string): Promise<PackageJson>;
252
+ /**
253
+ * Récupère un controller enregistré **dans ce module**.
254
+ *
255
+ * Le registre `Module.controllers` est process-global mais indexé par clé
256
+ * **module-scopée** `${module}:${ClassName}` (posée par `Router.setController`),
257
+ * exactement comme l'identité d'un `forward("module:controller:action")`. Deux
258
+ * modules peuvent donc porter un controller homonyme sans collision.
259
+ *
260
+ * @param name - nom de classe du controller (ex. `"DefaultController"`).
261
+ * @returns constructeur typé du controller.
262
+ * @throws Si `name` est falsy ou si le controller n'est pas enregistré pour ce module.
263
+ */
264
+ getController<T = Controller>(name: string): TypeController<T>;
265
+ /**
266
+ * Retourne les controllers enregistrés **pour ce module** (clés = nom de classe
267
+ * nu, préfixe module retiré). Vue jetable filtrée depuis le registre global.
268
+ */
269
+ getControllers<T = Controller>(): Record<string, TypeController<T>>;
270
+ /**
271
+ * Liste les dépendances + peerDependencies du module (depuis son `package.json`).
272
+ *
273
+ * @returns array de noms de packages npm. **devDependencies exclus**. Doublons possibles
274
+ * si un même package est listé dans `dependencies` ET `peerDependencies`.
275
+ */
276
+ getDependencies(): string[];
277
+ /**
278
+ * Variante static — extrait les deps depuis un `package.json` arbitraire.
279
+ *
280
+ * @param mypackage - objet `package.json` parsé.
281
+ * @returns array de noms de packages npm (deps + peerDeps, devDeps exclus).
282
+ */
283
+ static getPackageDependencies(mypackage: PackageJson): string[];
284
+ getModuleName(): string | undefined;
285
+ getModuleVersion(): string | undefined;
286
+ /**
287
+ * Enregistre une commande CLI custom rattachée à ce module.
288
+ *
289
+ * Pattern legacy `nodefony <name>:<action>` (ex: `nodefony users:add`). Le {@link CliKernel}
290
+ * doit être disponible (sinon throw `Kernel not ready`). En mode cluster worker, exceptions
291
+ * non-primary sont silencieusement avalées (retour `void`).
292
+ *
293
+ * @param cliCommand - constructeur de la commande (extends `Command`).
294
+ * @returns instance de la commande enregistrée OU `void` si worker secondaire.
295
+ * @throws `Error("Kernel not ready")` si `kernel.cli` n'est pas instancié.
296
+ */
297
+ addCommand(cliCommand: new (cli: CliKernel) => Command): Command | void;
298
+ /**
299
+ * Exécute `npm install` (ou yarn/pnpm) dans le dossier du module.
300
+ *
301
+ * @param force - ajoute `--force` à l'install. Défaut `false`.
302
+ * @returns code de retour du process (0 = succès) ou Error si crash.
303
+ * @throws Si `packageManager` n'est pas attaché au CliKernel.
304
+ */
305
+ install(force?: boolean): Promise<number | Error>;
306
+ /**
307
+ * Exécute `npm outdated` dans le dossier du module.
308
+ *
309
+ * @returns code de retour du process ou Error si crash.
310
+ * @throws Si `packageManager` n'est pas attaché au CliKernel.
311
+ */
312
+ outdated(): Promise<number | Error>;
313
+ loadJson(url: string, cwd?: string): Promise<JSONObject>;
314
+ /**
315
+ * Surcharge {@link Service.log} — `msgid` défaut = `"MODULE <name>"` pour identifier
316
+ * les logs de ce module dans le pipeline Syslog.
317
+ *
318
+ * @param pci - payload (string, Error, objet — narrower côté lecteur).
319
+ * @param severity - sévérité RFC 5424 (`"INFO"`, `"ERROR"`, etc.).
320
+ * @param msgid - catégorie de message. Défaut `"MODULE <name>"`.
321
+ * @param msg - détail libre optionnel.
322
+ * @returns le `Pdu` produit (utile pour audit/tests).
323
+ */
324
+ log(pci: any, severity?: Severity, msgid?: Msgid, msg?: Message): Pdu;
325
+ }
326
+ export default Module;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Qui appelle le plan d'administration, tel qu'il se PRÉSENTE.
3
+ *
4
+ * Ce type existe pour une raison précise : les portes sans HTTP (commande
5
+ * `inspect`, serveur MCP) fabriquaient un administrateur au lieu de porter une
6
+ * identité. Le contrôle de rôle s'appliquait donc à un sujet inventé, et tout
7
+ * porteur d'un jeton accepté obtenait la lecture d'administration complète.
8
+ *
9
+ * L'identité se PASSE, elle ne se déduit pas : chaque porte doit dire au nom de
10
+ * qui elle appelle, et le compilateur l'y oblige.
11
+ */
12
+ export interface IAdminCaller {
13
+ /** L'utilisateur, quand la porte en connaît un. */
14
+ user: unknown | null;
15
+ /** Ses rôles RÉELS — c'est sur eux que le contrôle d'accès tranche. */
16
+ roles: readonly string[];
17
+ /**
18
+ * Qui c'est, en clair. Sert au refus et au journal : « rôle X requis » sans
19
+ * dire À QUI il manquait oblige à deviner quelle porte a été empruntée.
20
+ */
21
+ label: string;
22
+ }
23
+ /**
24
+ * L'opérateur qui lance une commande sur sa propre application.
25
+ *
26
+ * Il possède déjà le processus : il lit les sources, il édite la configuration,
27
+ * il peut arrêter le serveur. Lui refuser la lecture d'administration
28
+ * n'ajouterait aucune barrière — il lui suffirait d'ouvrir un fichier — mais
29
+ * rendrait la commande inutile. Le rôle est donc accordé ; ce qui compte, c'est
30
+ * que ce soit ÉNONCÉ ici plutôt que fabriqué en silence au fond d'une lecture.
31
+ *
32
+ * @returns l'appelant à présenter depuis une commande locale.
33
+ */
34
+ export declare function localOperatorCaller(): IAdminCaller;
35
+ /**
36
+ * Scope d'un jeton ouvrant la LECTURE du plan d'administration.
37
+ *
38
+ * Trois valeurs suffisent pour tout le plan (celle-ci, {@link ADMIN_SCOPE_WRITE},
39
+ * et l'absence de scope pour la topologie) : un scope par endpoint se périmerait
40
+ * à chaque ajout, et la granularité fine existe déjà pour les API d'une
41
+ * application, portée par `@RequireScope` sur ses routes.
42
+ */
43
+ export declare const ADMIN_SCOPE_READ = "admin:read";
44
+ /** Scope d'un jeton ouvrant les MUTATIONS du plan d'administration. */
45
+ export declare const ADMIN_SCOPE_WRITE = "admin:write";
46
+ /**
47
+ * Traduit les scopes d'un jeton en rôles Nodefony.
48
+ *
49
+ * ⚠️ Les deux scopes mènent aujourd'hui au MÊME rôle, et ce n'est pas un
50
+ * raccourci : le contrôle d'accès du plan d'administration est uniforme — tous
51
+ * les endpoints exigent `ROLE_NODEFONY_ADMIN`, lectures comme mutations.
52
+ * Distinguer ici produirait un théâtre d'autorisation : deux scopes séparés qui
53
+ * ouvrent exactement la même chose, et une promesse que le code ne tient pas.
54
+ * La séparation deviendra réelle quand `IAdminEndpoint.role` se différenciera.
55
+ *
56
+ * Un jeton qui ne porte aucun de ces scopes n'obtient **aucun rôle** : la
57
+ * vérification d'audience (RFC 8707) prouve que le jeton vise cette ressource,
58
+ * elle ne dit rien de ce que son porteur a le droit d'y faire.
59
+ *
60
+ * ## Rôle et scope — la doctrine, et l'asymétrie qui reste
61
+ *
62
+ * Autorisation effective = **droits de l'utilisateur ∧ portée déléguée au
63
+ * porteur**. Un scope borne ce qu'un TIERS peut faire au nom de quelqu'un ; en
64
+ * session directe (cookie, Studio) il n'y a pas de tiers, donc rien à borner et
65
+ * le rôle suffit. Dès qu'un JETON entre en jeu, il y a délégation, et les deux
66
+ * doivent mordre — c'est ce que fait cette fonction, avec
67
+ * {@link refusedAdminScopes} qui borne l'autre bout : porter le rôle ne suffit
68
+ * pas à obtenir le scope, porter le scope ne suffit pas à avoir le rôle.
69
+ *
70
+ * ⚠️ **Dette nommée, non fermée** : un jeton présenté sur la porte HTTP
71
+ * (`ExternalJwtAuthenticator`, `subjectPolicy: "require"`) est rattaché à un
72
+ * compte local et hérite des rôles de ce compte **sans** intersection avec ses
73
+ * scopes — les routes du plan d'administration sont montées par le broker, donc
74
+ * ne portent aucun `@RequireScope`. Le même porteur obtient donc plus par HTTP
75
+ * que par MCP. Fermer cela suppose que la provenance de l'identité (session ou
76
+ * jeton) voyage jusqu'au contrôle de rôle, ce qu'elle ne fait pas aujourd'hui.
77
+ *
78
+ * ⚠️ Et ce n'est pas du moindre privilège : le plan d'administration n'a qu'UN
79
+ * rôle, qui ouvre tous ses endpoints. « Fail-closed » — pas de laissez-passer
80
+ * par défaut — n'est pas « Zero Trust ». La granularité réelle suppose que
81
+ * `IAdminEndpoint.role` se différencie ; tant qu'il ne l'est pas, découper les
82
+ * scopes plus finement ne serait qu'un décor.
83
+ *
84
+ * @param scopes - scopes accordés par le serveur d'autorisation.
85
+ * @returns les rôles à présenter, éventuellement aucun.
86
+ */
87
+ export declare function rolesFromScopes(scopes: readonly string[]): string[];
88
+ /**
89
+ * Les scopes d'administration demandés que ce porteur **ne peut pas** obtenir.
90
+ *
91
+ * Réciproque de {@link rolesFromScopes}, et indispensable avec elle : si un
92
+ * scope ouvre le plan d'administration, alors l'émetteur ne peut pas le signer
93
+ * sur simple demande. Sans cette borne, « tout jeton vaut administrateur »
94
+ * devient « tout jeton QUI DEMANDE vaut administrateur » — le trou change de
95
+ * forme, pas de taille.
96
+ *
97
+ * Ne juge QUE les scopes d'administration du framework. Les scopes d'une
98
+ * application (`shop:read`, `billing:export`) ne regardent pas Nodefony : c'est
99
+ * à elle de dire qui peut les obtenir.
100
+ *
101
+ * @param requested - scopes demandés au grant (RFC 6749 §3.3).
102
+ * @param roles - rôles du porteur, tels que son compte les porte.
103
+ * @returns les scopes à REFUSER — vide si la demande est légitime.
104
+ */
105
+ export declare function refusedAdminScopes(requested: readonly string[], roles: readonly string[]): string[];
@@ -0,0 +1,44 @@
1
+ import type { IAdminEndpoint } from "../../types/IAdminApi.js";
2
+ /**
3
+ * Décision d'autorisation du data plane admin (Studio) — fonction **PURE**,
4
+ * cœur de la garantie RBAC, testée isolément (zéro dépendance runtime/DI).
5
+ *
6
+ * **Fail-closed.** Un endpoint qui exige un rôle (`requiredRole` non vide) n'est
7
+ * accordé QUE si l'appelant le porte. Un appelant **sans rôle** (`roles=[]` — ex.
8
+ * compte authentifié non doté, créé via `POST users` sans `roles`) est donc
9
+ * **rejeté** (403). C'était le **fail-open historique** : le 403 était court-circuité
10
+ * par une garde `roles.length > 0 &&` — vestige du « mode mock » d'avant P6, quand
11
+ * aucun rôle n'était injecté. Zero Trust : l'absence de rôle ne vaut pas
12
+ * laissez-passer. Le firewall (zone `nodefony-admin`) garantit l'AUTHENTIFICATION
13
+ * en amont ; cette fonction tranche le RÔLE.
14
+ *
15
+ * `requiredRole` vide (`""`) ou absent = endpoint **public déclaré**
16
+ * (`IAdminEndpoint.public`, ex. liveness `livez`) → toujours accordé : le RBAC du
17
+ * broker est volontairement court-circuité, la protection vit alors dans le firewall.
18
+ *
19
+ * @param roles - rôles **bruts** de l'appelant (projection ALS `IAdminRequest.roles`).
20
+ * @param requiredRole - rôle exigé par la route (`""`/`undefined` = public).
21
+ * @returns `true` si l'accès est accordé.
22
+ */
23
+ export declare function isAdminGranted(roles: readonly string[], requiredRole: string | undefined): boolean;
24
+ /**
25
+ * Rôle exigé par défaut d'un endpoint d'administration qui n'en déclare aucun.
26
+ *
27
+ * Le défaut est **restrictif** : un producteur qui oublie de qualifier son
28
+ * endpoint le publie au rôle d'administrateur, jamais à l'anonyme. Ouvrir plus
29
+ * large se DÉCLARE (`IAdminEndpoint.public`) et se relit en revue.
30
+ */
31
+ export declare const ADMIN_DEFAULT_ROLE = "ROLE_NODEFONY_ADMIN";
32
+ /**
33
+ * Rôle **effectif** d'un endpoint — la règle, à un seul endroit.
34
+ *
35
+ * Toutes les portes du plan d'administration (route HTTP montée par le broker,
36
+ * pont WS-RPC, commande `inspect`, serveur MCP) doivent trancher le même rôle
37
+ * pour le même endpoint. Deux résolutions séparées finiraient par diverger, et
38
+ * c'est la porte secondaire — celle qu'on relit le moins — qui deviendrait la
39
+ * plus permissive.
40
+ *
41
+ * @param endpoint - la définition telle que le producteur la déclare.
42
+ * @returns le rôle exigé, ou `""` pour un endpoint **public déclaré**.
43
+ */
44
+ export declare function resolveAdminRole(endpoint: Pick<IAdminEndpoint, "public" | "role">): string;
@@ -0,0 +1,122 @@
1
+ import type { AdminHttpMethod } from "../../types/IAdminApi.js";
2
+ import type { IAdminBrokerLike } from "../inspect/adminSubjects.js";
3
+ import type { IAdminCaller } from "./adminCaller.js";
4
+ /**
5
+ * Un endpoint du plan d'administration, tel qu'une porte sans session peut le
6
+ * proposer — de quoi l'APPELER, rien de plus.
7
+ *
8
+ * Ce que porte `params` mérite son existence : les chemins du plan portent des
9
+ * variables (`module/{name}/docs/{slug}`) et un appelant qui les devine se
10
+ * trompe une fois sur deux. Les nommer ici coûte une expression régulière et
11
+ * supprime un aller-retour.
12
+ */
13
+ export interface IAdminCatalogEntry {
14
+ /** Producteur (`kernel`, `security`, `orm`…) — premier segment de la route. */
15
+ namespace: string;
16
+ /** Chemin déclaré par le producteur, variables comprises. */
17
+ path: string;
18
+ /** Méthode — toujours `"GET"` dans ce catalogue, cf {@link adminReadCatalog}. */
19
+ method: AdminHttpMethod;
20
+ /** Ce que l'endpoint rend, en une ligne, telle que son auteur l'a écrite. */
21
+ summary: string;
22
+ /** Noms des variables du chemin, dans l'ordre où elles apparaissent. */
23
+ params: readonly string[];
24
+ /**
25
+ * Ce que l'endpoint sait faire d'une liste, quand il en rend une.
26
+ *
27
+ * Publié parce que le défaut du plan est le REFUS : un tri ou un filtre non
28
+ * déclaré rend `400`, jamais une liste approximative. Sans cette
29
+ * publication, un appelant tente `?sort=createdAt`, se fait refuser, et
30
+ * conclut que l'endpoint est cassé — alors qu'il ne l'a simplement jamais
31
+ * annoncé. Évalué à la lecture : c'est le store branché au démarrage qui
32
+ * répond, pas une constante de compilation.
33
+ */
34
+ page?: {
35
+ /** Champs sur lesquels `?sort=` est accepté. */
36
+ sortable: readonly string[];
37
+ /** Noms de filtre acceptés, tels que le vocabulaire de l'endpoint les nomme. */
38
+ filters: readonly string[];
39
+ /** L'endpoint honore-t-il `?q=` ? */
40
+ search: boolean;
41
+ };
42
+ }
43
+ /** Restriction de lecture du catalogue — sans effet sur ce qui est APPELABLE. */
44
+ export interface IAdminCatalogQuery {
45
+ /** Ne garder qu'un producteur. */
46
+ namespace?: string;
47
+ /** Termes cherchés dans le chemin et le résumé ; espaces = termes CUMULATIFS. */
48
+ q?: string;
49
+ }
50
+ /**
51
+ * Ce que le catalogue montre, ET ce qu'il a écarté.
52
+ *
53
+ * Les compteurs ne sont pas décoratifs : sans eux, une liste de 61 entrées se
54
+ * lit comme « voilà tout le plan d'administration », et un appelant conclut
55
+ * qu'une capacité n'existe pas alors qu'elle est seulement hors de portée de
56
+ * CETTE porte. Un écart se DIT, il ne se devine pas.
57
+ */
58
+ export interface IAdminCatalogView {
59
+ /** Les endpoints appelables, groupés par personne — l'ordre de déclaration. */
60
+ entries: IAdminCatalogEntry[];
61
+ /** Combien d'endpoints le plan déclare en tout. */
62
+ total: number;
63
+ /** Écartés parce que ce sont des mutations (POST/PATCH/PUT/DELETE). */
64
+ mutations: number;
65
+ /** Écartés parce qu'ils sont scopés à une session (`public: true`). */
66
+ selfService: number;
67
+ /** Écartés faute du rôle exigé par l'endpoint. */
68
+ denied: number;
69
+ /** Écartés par la restriction de lecture demandée ({@link IAdminCatalogQuery}). */
70
+ filtered: number;
71
+ }
72
+ /**
73
+ * Les endpoints du plan d'administration qu'une porte **sans session** peut
74
+ * servir à cet appelant — la règle unique dont dépendent `nodefony_admin_list`
75
+ * ET `nodefony_admin_call`.
76
+ *
77
+ * ⭐ **Ce qui est listé est appelable, et rien d'autre ne l'est.** C'est le même
78
+ * patron que le filtrage des outils MCP à la collecte : un seul point de
79
+ * décision sert la liste et l'exécution, donc il ne peut pas exister d'entrée
80
+ * appelable qu'on n'aurait pas annoncée, ni d'entrée annoncée qui refuserait
81
+ * ensuite. Deux points de décision, c'est celui qu'on relit le moins qui
82
+ * devient le plus permissif.
83
+ *
84
+ * Trois exclusions, toutes comptées et donc dicibles :
85
+ *
86
+ * 1. **Les mutations.** L'idempotence des mutations du plan est une porte du
87
+ * transport HTTP (`AdminApiController.idempotencyGate`, qui a besoin du
88
+ * conteneur) ; l'exécuter d'ici sans elle ferait de cette porte une
89
+ * quatrième voie qui perd ce que les autres gardent — précisément ce que
90
+ * l'unification de l'exécution vient de supprimer. Elles se compteront tant
91
+ * qu'elles ne s'appelleront pas.
92
+ * 2. **Les endpoints `public: true`.** Ce ne sont pas des endpoints libres :
93
+ * ce sont des self-service scopés à `request.user` (`me`, `me/password`,
94
+ * `sessions/mine`) ou des sondes d'infrastructure. Une porte sans session
95
+ * n'a pas d'utilisateur ; les servir rendrait « les données de personne » au
96
+ * mieux, celles d'autrui au pire.
97
+ * 3. **Ce que le rôle de l'appelant n'ouvre pas** — la même décision que
98
+ * l'exécution ({@link isAdminGranted}), prise sur le même rôle résolu
99
+ * ({@link resolveAdminRole}), pour que la liste ne promette jamais ce que
100
+ * l'appel refuserait.
101
+ *
102
+ * @param broker - le service `adminBroker` du conteneur, ou `undefined`.
103
+ * @param caller - qui demande, avec ses rôles RÉELS.
104
+ * @param query - restriction de lecture facultative.
105
+ * @returns les entrées appelables, et le compte de ce qui ne l'est pas.
106
+ */
107
+ export declare function adminReadCatalog(broker: IAdminBrokerLike | undefined, caller: IAdminCaller, query?: IAdminCatalogQuery): IAdminCatalogView;
108
+ /**
109
+ * Retrouve une entrée APPELABLE par son couple producteur/chemin.
110
+ *
111
+ * Passe par {@link adminReadCatalog} plutôt que de reparcourir le registre :
112
+ * c'est ce qui garantit que l'appel et la liste tranchent la même chose. Une
113
+ * seconde traversée « équivalente » serait exactement la divergence que ce
114
+ * module supprime.
115
+ *
116
+ * @param broker - le service `adminBroker` du conteneur, ou `undefined`.
117
+ * @param caller - qui demande, avec ses rôles RÉELS.
118
+ * @param namespace - producteur visé.
119
+ * @param path - chemin visé, tel que le catalogue le nomme (variables comprises).
120
+ * @returns l'entrée, ou `null` si elle n'est pas appelable par cet appelant.
121
+ */
122
+ export declare function findAdminReadEntry(broker: IAdminBrokerLike | undefined, caller: IAdminCaller, namespace: string, path: string): IAdminCatalogEntry | null;