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,496 @@
1
+ import { MENU_GROUP_LABELS } from "./helpReport.js";
2
+ //#region src/cli/startMenu.ts
3
+ /**
4
+ * Composition PURE du menu interactif `nodefony menu` — même patron que
5
+ * `envReport`/`cardReport`/`aiSyncReport` : ce fichier reçoit l'état (contexte,
6
+ * descriptions, commandes de module) et rend une structure neutre ; l'adaptateur
7
+ * (`MenuCommand`) la traduit en prompts inquirer. Zéro I/O, zéro import lourd :
8
+ * testable sans TTY et sans kernel.
9
+ *
10
+ * Deux règles tiennent ce menu :
11
+ * - le RÉSUMÉ d'une entrée vient de `command.description()` (source unique,
12
+ * celle de `--help`) — jamais d'une copie locale qui divergerait ;
13
+ * - le menu n'ajoute que ce qui n'existe nulle part ailleurs : le CONSEIL
14
+ * d'usage (`when`), affiché sous la liste pendant la navigation.
15
+ *
16
+ * Une commande absente de commander (retirée, renommée) sort du menu toute
17
+ * seule : `describe()` rend `null` et l'entrée n'est pas émise.
18
+ */
19
+ /**
20
+ * Catalogue déclaratif du menu. L'ordre du tableau EST l'ordre d'affichage,
21
+ * groupe par groupe. Ajouter une commande au menu = une entrée ici, rien
22
+ * d'autre (le résumé et la disponibilité viennent de commander).
23
+ */
24
+ /**
25
+ * Le libellé de menu d'une intention — la MÊME taxonomie que l'aide.
26
+ *
27
+ * @param intention - un groupe de `HELP_GROUPS`.
28
+ * @returns le libellé à afficher dans le menu.
29
+ */
30
+ function menuGroup(intention) {
31
+ return MENU_GROUP_LABELS[intention];
32
+ }
33
+ const START_MENU_CATALOG = [
34
+ {
35
+ value: "development",
36
+ contexts: ["project"],
37
+ group: {
38
+ project: menuGroup("LANCER"),
39
+ outside: null
40
+ },
41
+ when: "Pour coder : rechargement automatique à chaque sauvegarde, HMR côté front. Ctrl+C pour arrêter."
42
+ },
43
+ {
44
+ value: "production",
45
+ contexts: ["project"],
46
+ group: {
47
+ project: menuGroup("LANCER"),
48
+ outside: null
49
+ },
50
+ when: "Le mode des conteneurs et des pods : premier plan, logs sur la sortie standard, arrêt gracieux sur SIGTERM."
51
+ },
52
+ {
53
+ value: "cluster",
54
+ contexts: ["project"],
55
+ group: {
56
+ project: menuGroup("LANCER"),
57
+ outside: null
58
+ },
59
+ when: "Plusieurs workers isolés sur une même machine (bare-metal/VPS) — relance automatique d'un worker tombé."
60
+ },
61
+ {
62
+ value: "status",
63
+ contexts: ["project", "outside"],
64
+ group: {
65
+ project: menuGroup("LANCER"),
66
+ outside: "Machine"
67
+ },
68
+ when: "Qu'est-ce qui tourne ici ? Superviseur, serveurs, Vite, ports occupés — sans rien démarrer."
69
+ },
70
+ {
71
+ value: "stop",
72
+ contexts: ["project", "outside"],
73
+ group: {
74
+ project: menuGroup("LANCER"),
75
+ outside: "Machine"
76
+ },
77
+ when: "Arrête proprement tout runtime Nodefony de la machine (dev, prod, cluster) — remplace le pkill -9."
78
+ },
79
+ {
80
+ value: "doctor",
81
+ contexts: ["project"],
82
+ group: {
83
+ project: menuGroup("COMPRENDRE"),
84
+ outside: null
85
+ },
86
+ when: "Diagnostic statique : marche même quand l'app ne démarre plus, et rapporte le bilan du dernier boot."
87
+ },
88
+ {
89
+ value: "inspect",
90
+ contexts: ["project"],
91
+ group: {
92
+ project: menuGroup("COMPRENDRE"),
93
+ outside: null
94
+ },
95
+ when: "L'état RÉEL de l'app — ce qui est monté, pas ce que le code laisse croire. Sans ouvrir de port."
96
+ },
97
+ {
98
+ value: "env",
99
+ contexts: ["project"],
100
+ group: {
101
+ project: menuGroup("COMPRENDRE"),
102
+ outside: null
103
+ },
104
+ when: "Chaque variable : sa valeur effective, le fichier .env qui l'a posée, et celles qui sont masquées ou inconnues."
105
+ },
106
+ {
107
+ value: "card",
108
+ contexts: ["project"],
109
+ group: {
110
+ project: menuGroup("COMPRENDRE"),
111
+ outside: null
112
+ },
113
+ when: "La carte de visite : modules installés, où aller (docs, console d'admin), quoi lancer. Le point de départ."
114
+ },
115
+ {
116
+ value: "create",
117
+ contexts: ["project", "outside"],
118
+ group: {
119
+ project: menuGroup("GÉNÉRER ET CONSTRUIRE"),
120
+ outside: "Démarrer"
121
+ },
122
+ when: "Le wizard pose les questions puis génère un code conforme : ne rien écrire à la main qu'un générateur produit."
123
+ },
124
+ {
125
+ value: "build",
126
+ contexts: ["project"],
127
+ group: {
128
+ project: menuGroup("GÉNÉRER ET CONSTRUIRE"),
129
+ outside: null
130
+ },
131
+ when: "Compile modules puis application. Le runtime charge dist/ : une route neuve n'existe qu'après ce geste."
132
+ },
133
+ {
134
+ value: "install",
135
+ contexts: ["project"],
136
+ group: {
137
+ project: menuGroup("GÉNÉRER ET CONSTRUIRE"),
138
+ outside: null
139
+ },
140
+ when: "Installe les dépendances puis construit — le geste après un clone ou un changement de dépendances."
141
+ },
142
+ {
143
+ value: "outdated",
144
+ contexts: ["project"],
145
+ group: {
146
+ project: menuGroup("GÉNÉRER ET CONSTRUIRE"),
147
+ outside: null
148
+ },
149
+ when: "Les dépendances en retard, agrégées par paquet — distingue une plage épinglée d'un simple npm update."
150
+ },
151
+ {
152
+ value: "git:hooks",
153
+ contexts: ["project"],
154
+ group: {
155
+ project: menuGroup("AGENTS ET OUTILLAGE"),
156
+ outside: null
157
+ },
158
+ when: "Pose .githooks/ (pre-commit léger, pre-push verify) via git config natif — zéro dépendance, geste explicite."
159
+ },
160
+ {
161
+ value: "ai:sync",
162
+ contexts: ["project"],
163
+ group: {
164
+ project: menuGroup("AGENTS ET OUTILLAGE"),
165
+ outside: null
166
+ },
167
+ when: "Pose les pointeurs vers les skills d'agent livrés par les paquets installés — à rejouer après un npm update."
168
+ },
169
+ {
170
+ value: "ai:mcp",
171
+ contexts: ["project"],
172
+ group: {
173
+ project: menuGroup("AGENTS ET OUTILLAGE"),
174
+ outside: null
175
+ },
176
+ when: "Déclare le serveur MCP de cette application à ton agent (.mcp.json) — --auth pour le mode authentifié."
177
+ },
178
+ {
179
+ value: "symbols",
180
+ contexts: ["project", "outside"],
181
+ group: {
182
+ project: menuGroup("COMPRENDRE"),
183
+ outside: "Comprendre"
184
+ },
185
+ when: "Cherche un symbole du framework : où il est défini, ce qu'il étend, ce que dit sa doc — sans ouvrir un fichier."
186
+ },
187
+ {
188
+ value: "man",
189
+ contexts: ["project", "outside"],
190
+ group: {
191
+ project: menuGroup("COMPRENDRE"),
192
+ outside: "Comprendre"
193
+ },
194
+ when: "Page de manuel du CLI, générée depuis les commandes réellement enregistrées."
195
+ },
196
+ {
197
+ value: "completion",
198
+ contexts: ["project", "outside"],
199
+ group: {
200
+ project: menuGroup("AGENTS ET OUTILLAGE"),
201
+ outside: "Machine"
202
+ },
203
+ when: "La complétion shell (bash, zsh, fish) : commandes, options et arguments au TAB."
204
+ }
205
+ ];
206
+ /** Groupes, dans l'ordre d'affichage, par contexte. */
207
+ const GROUP_ORDER = {
208
+ project: Object.values(MENU_GROUP_LABELS),
209
+ outside: ["Démarrer", "Machine"]
210
+ };
211
+ /**
212
+ * Scripts npm que le menu sait proposer — les gestes qu'AUCUNE commande
213
+ * nodefony ne porte (qualité, infra docker). Un script n'apparaît que s'il
214
+ * existe dans le package.json du projet (`npmScripts`). La valeur émise est
215
+ * préfixée `npm:` — l'adaptateur la déplie en `npm run <script>`.
216
+ */
217
+ const NPM_SCRIPT_CATALOG = [
218
+ {
219
+ script: "verify",
220
+ summary: "typecheck + lint + tests + check",
221
+ group: "Qualité (npm run)",
222
+ when: "LA passe avant de dire « fait » : typecheck + lint + tests + check, dans cet ordre. Les tests seuls ne typecheckent rien."
223
+ },
224
+ {
225
+ script: "test",
226
+ summary: "tests unitaires (vitest)",
227
+ group: "Qualité (npm run)",
228
+ when: "Les tests unitaires du projet (vitest). Rapides — le boot réel vit dans test:e2e."
229
+ },
230
+ {
231
+ script: "test:integration",
232
+ summary: "tests d'intégration (serveur réel)",
233
+ group: "Qualité (npm run)",
234
+ when: "Les suites qui frappent un serveur RÉEL. Plus lentes que les unitaires, plus rapides que l'e2e complet — et elles voient ce qu'un mock ne verra jamais."
235
+ },
236
+ {
237
+ script: "test:e2e",
238
+ summary: "build + boot réel + HTTP/WS",
239
+ group: "Qualité (npm run)",
240
+ when: "Le gate LENT : build, boot réel, HTTP/WS de bout en bout. À jouer avant de livrer, pas à chaque sauvegarde."
241
+ },
242
+ {
243
+ script: "test:memory",
244
+ summary: "seuils de heap (fuites)",
245
+ group: "Qualité (npm run)",
246
+ when: "Le gate MÉMOIRE : 1000 requêtes, 100 crashs, 100 connexions WS, et les seuils de heap. À lancer avant tout commit qui touche le pipeline de requête — une fuite ne se voit dans aucun autre test."
247
+ },
248
+ {
249
+ script: "test:all",
250
+ summary: "docker + build + tout, et le rapport",
251
+ group: "Qualité (npm run)",
252
+ when: "TOUT, dans l'ordre, en démarrant l'infra manquante — et surtout : il DIT ce qu'il n'a PAS testé. Un « vert » qui cache des suites sautées est le piège le plus coûteux du dépôt."
253
+ },
254
+ {
255
+ script: "typecheck",
256
+ summary: "types seuls (tsgo --noEmit)",
257
+ group: "Qualité (npm run)",
258
+ when: "Les types SEULS, sans rien exécuter. Indispensable parce que des tests verts ne typecheckent RIEN : une suite peut passer sur du code qui ne compile pas chez celui qui l'installe."
259
+ },
260
+ {
261
+ script: "lint",
262
+ summary: "style et pièges (oxlint)",
263
+ group: "Qualité (npm run)",
264
+ when: "Style et pièges (oxlint) — ce que ni le compilateur ni les tests ne voient."
265
+ },
266
+ {
267
+ script: "format",
268
+ summary: "reformate tout (prettier)",
269
+ group: "Qualité (npm run)",
270
+ when: "Reformate tout le projet (prettier --write)."
271
+ },
272
+ {
273
+ script: "clean",
274
+ summary: "supprime dist/",
275
+ group: "Qualité (npm run)",
276
+ when: "Efface `dist/`. À faire après un merge ou un renommage d'export : le runtime charge le BUILD, et un dist périmé rend des 404 sur des routes qui existent — la cause perdue n°1."
277
+ },
278
+ {
279
+ script: "see",
280
+ summary: "regarde l'écran (et le MESURE)",
281
+ group: "Qualité (npm run)",
282
+ when: "Ouvre la page dans un navigateur piloté : contrastes CALCULÉS, arbre d'accessibilité, console, requêtes réelles. Pour CONSTATER un rendu au lieu de le supposer."
283
+ },
284
+ {
285
+ script: "audit:web",
286
+ summary: "audit Lighthouse + accessibilité",
287
+ group: "Qualité (npm run)",
288
+ when: "Audit complet d'une page servie : performance, accessibilité (axe), bonnes pratiques. Plus lourd que `see` — pour une revue, pas pour une boucle de dev."
289
+ },
290
+ {
291
+ script: "infra:up",
292
+ summary: "docker compose up -d",
293
+ group: "Infra (docker)",
294
+ when: "Démarre les conteneurs déclarés par le projet (base SQL, redis…) — à lancer AVANT le serveur s'ils sont requis."
295
+ },
296
+ {
297
+ script: "infra:down",
298
+ summary: "docker compose down",
299
+ group: "Infra (docker)",
300
+ when: "Arrête et retire les conteneurs du projet."
301
+ }
302
+ ];
303
+ /** Préfixe des valeurs « script npm » émises par le menu. */
304
+ const NPM_SCRIPT_PREFIX = "npm:";
305
+ /** Titre du groupe des commandes de module (projet seulement). */
306
+ const MODULE_COMMANDS_GROUP = "Commandes du projet";
307
+ /**
308
+ * Le plan d'exécution d'un choix de menu.
309
+ *
310
+ * ⚠️ **Une commande de MODULE ne peut pas s'exécuter dans le process du menu.**
311
+ * Le menu s'ouvre à `onStart` pour rester instantané ; à cette phase, les
312
+ * commandes de module ne sont pas encore posées dans commander (elles le sont à
313
+ * `onPreRegister`, par le dispatch différé). Les exécuter par le re-parse
314
+ * commander donnait donc `unknown command 'http:network'` + CRITIC + exit 1 —
315
+ * un menu qui PROPOSE un geste puis le refuse. Elles se relancent dans un
316
+ * process neuf, exactement comme le menu le fait déjà pour un script npm : le
317
+ * boot complet a lieu, le dispatch différé fait son travail.
318
+ *
319
+ * La décision vit ici, PURE, parce qu'elle se teste : l'adaptateur ne fait plus
320
+ * que `spawnSync` ou appeler commander, gestes qu'aucun test unitaire n'observe.
321
+ *
322
+ * @param response - la valeur choisie dans le menu.
323
+ * @param isBuiltin - commander connaît-il cette commande à cet instant ?
324
+ */
325
+ function planMenuAction(response, isBuiltin) {
326
+ if (response.startsWith("npm:")) return {
327
+ kind: "npm",
328
+ script: response.slice(4)
329
+ };
330
+ const argv = response.split(" ").filter(Boolean);
331
+ return isBuiltin(argv[0] ?? "") ? {
332
+ kind: "inline",
333
+ argv
334
+ } : {
335
+ kind: "respawn",
336
+ argv
337
+ };
338
+ }
339
+ function choice(value, summary, when) {
340
+ return {
341
+ kind: "choice",
342
+ label: value,
343
+ summary,
344
+ value,
345
+ description: when
346
+ };
347
+ }
348
+ /**
349
+ * Construit le menu principal pour un contexte donné.
350
+ *
351
+ * @returns message d'accueil + items ordonnés (separators de groupe inclus).
352
+ */
353
+ function buildStartMenu(input) {
354
+ const context = input.inProject ? "project" : "outside";
355
+ const items = [];
356
+ for (const groupTitle of GROUP_ORDER[context]) {
357
+ const entries = START_MENU_CATALOG.filter((e) => e.contexts.includes(context) && e.group[context] === groupTitle);
358
+ const rendered = [];
359
+ const vues = /* @__PURE__ */ new Set();
360
+ for (const entry of entries) {
361
+ const summary = input.describe(entry.value);
362
+ if (summary === null) continue;
363
+ vues.add(entry.value);
364
+ rendered.push(choice(entry.value, summary, entry.when));
365
+ }
366
+ if (context === "project") for (const cmd of input.builtinCommands ?? []) {
367
+ if (vues.has(cmd.name)) continue;
368
+ if ((cmd.requiredArgs ?? 0) > 0) continue;
369
+ if (!cmd.group || MENU_GROUP_LABELS[cmd.group] !== groupTitle) continue;
370
+ vues.add(cmd.name);
371
+ rendered.push(choice(cmd.name, cmd.description, "Commande intégrée du CLI — `nodefony <commande> --help` en dit plus."));
372
+ }
373
+ if (rendered.length > 0) {
374
+ items.push({
375
+ kind: "separator",
376
+ label: groupTitle
377
+ });
378
+ items.push(...rendered);
379
+ }
380
+ }
381
+ if (context === "project" && input.npmScripts?.length) {
382
+ const available = new Set(input.npmScripts);
383
+ const byGroup = /* @__PURE__ */ new Map();
384
+ for (const entry of NPM_SCRIPT_CATALOG) {
385
+ if (!available.has(entry.script)) continue;
386
+ const item = {
387
+ kind: "choice",
388
+ label: entry.script,
389
+ summary: entry.summary,
390
+ value: `${NPM_SCRIPT_PREFIX}${entry.script}`,
391
+ description: entry.when
392
+ };
393
+ const bucket = byGroup.get(entry.group);
394
+ if (bucket) bucket.push(item);
395
+ else byGroup.set(entry.group, [item]);
396
+ }
397
+ for (const [groupTitle, groupItems] of byGroup) {
398
+ items.push({
399
+ kind: "separator",
400
+ label: groupTitle
401
+ });
402
+ items.push(...groupItems);
403
+ }
404
+ }
405
+ if (context === "project") {
406
+ if (input.moduleCommands?.length) {
407
+ const byGroup = /* @__PURE__ */ new Map();
408
+ for (const mc of input.moduleCommands) {
409
+ const title = (mc.group && MENU_GROUP_LABELS[mc.group]) ?? "Commandes du projet";
410
+ const item = {
411
+ kind: "choice",
412
+ label: mc.name,
413
+ summary: mc.description,
414
+ value: mc.name,
415
+ description: "Commande apportée par un module de cette application (relue du dernier démarrage dev)."
416
+ };
417
+ const bucket = byGroup.get(title);
418
+ if (bucket) bucket.push(item);
419
+ else byGroup.set(title, [item]);
420
+ }
421
+ const order = [...Object.values(MENU_GROUP_LABELS), MODULE_COMMANDS_GROUP];
422
+ for (const title of order) {
423
+ const groupItems = byGroup.get(title);
424
+ if (!groupItems?.length) continue;
425
+ items.push({
426
+ kind: "separator",
427
+ label: title
428
+ });
429
+ items.push(...groupItems);
430
+ }
431
+ }
432
+ }
433
+ const missing = input.inProject && !input.moduleCommands?.length;
434
+ return {
435
+ message: input.inProject ? `${input.projectName ?? "Projet Nodefony"} — que veux-tu faire ?${missing ? " (commandes des modules non listées : l'app n'a pas encore démarré ici — `nodefony --help` les montre toutes)" : ""}` : "Aucun projet Nodefony ici — que veux-tu faire ?",
436
+ items
437
+ };
438
+ }
439
+ /**
440
+ * Sous-menu des sujets d'`inspect`, dérivé de la table SOURCE
441
+ * (`INSPECT_SUBJECTS`) : seuls les sujets SANS argument obligatoire sont
442
+ * proposés (un sujet à paramètre exigerait une saisie de plus — il reste
443
+ * accessible en ligne de commande, l'aide d'`inspect` les liste).
444
+ *
445
+ * @param subjects - la table `INSPECT_SUBJECTS` (injectée : ce fichier reste pur).
446
+ */
447
+ function buildInspectMenu(subjects) {
448
+ const items = [];
449
+ for (const [name, subject] of Object.entries(subjects)) {
450
+ if (subject.param) continue;
451
+ items.push({
452
+ kind: "choice",
453
+ label: name,
454
+ summary: subject.summary,
455
+ value: name,
456
+ description: `nodefony inspect ${name} — même donnée que la console d'admin, redaction des secrets comprise.`
457
+ });
458
+ }
459
+ return {
460
+ message: "Inspecter quoi ?",
461
+ items
462
+ };
463
+ }
464
+ /**
465
+ * Filtre le menu à la frappe (prompt `search`) — la logique est ICI, pure et
466
+ * testée : normalisation (minuscules, accents retirés), chaque MOT du terme
467
+ * doit se retrouver dans le label, le résumé, le conseil OU le titre du groupe
468
+ * de l'entrée. Les titres de groupe suivent leurs entrées : un groupe dont
469
+ * rien ne survit disparaît AVEC son titre.
470
+ */
471
+ function filterStartMenu(items, term) {
472
+ const normalize = (text) => text.toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "");
473
+ const words = normalize(term).split(/\s+/).filter(Boolean);
474
+ if (words.length === 0) return items;
475
+ const kept = [];
476
+ let pendingGroup = null;
477
+ let currentGroupLabel = "";
478
+ for (const item of items) {
479
+ if (item.kind === "separator") {
480
+ pendingGroup = item;
481
+ currentGroupLabel = item.label;
482
+ continue;
483
+ }
484
+ const haystack = normalize(`${item.label} ${item.summary} ${item.description} ${currentGroupLabel}`);
485
+ if (words.every((w) => haystack.includes(w))) {
486
+ if (pendingGroup) {
487
+ kept.push(pendingGroup);
488
+ pendingGroup = null;
489
+ }
490
+ kept.push(item);
491
+ }
492
+ }
493
+ return kept;
494
+ }
495
+ //#endregion
496
+ export { MODULE_COMMANDS_GROUP, NPM_SCRIPT_CATALOG, NPM_SCRIPT_PREFIX, START_MENU_CATALOG, buildInspectMenu, buildStartMenu, filterStartMenu, planMenuAction };
@@ -0,0 +1,205 @@
1
+ import "./sysexits.js";
2
+ import { printUsage, printUsageError } from "./usageReport.js";
3
+ import { findProjectRoot } from "./projectRoot.js";
4
+ import { stripGlobalCliFlags } from "./globalFlags.js";
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import path from "node:path";
7
+ //#region src/cli/symbols.ts
8
+ /**
9
+ * Le GRAPHE SYMBOLIQUE du framework — où le trouver, et comment l'interroger.
10
+ *
11
+ * `.ai/symbols.json` répond en O(1) à « que fait ce symbole, où est-il défini,
12
+ * qui l'étend » — sans ouvrir un `.d.ts` ni parcourir des sources. C'est l'outil
13
+ * qui évite à un agent de deviner ; encore faut-il qu'il EXISTE là où il
14
+ * travaille.
15
+ *
16
+ * ## Le trou que ce fichier ferme
17
+ *
18
+ * Le graphe était produit à la racine du dépôt et lu là uniquement. Dans une
19
+ * application installée depuis npm, ce fichier n'existe pas : la lecture rendait
20
+ * une liste vide, sans rien dire. Le graphe est désormais **publié par le
21
+ * paquet `nodefony`** — une application qui l'installe reçoit celui de tout le
22
+ * framework, quelle que soit la combinaison de paquets qu'elle a choisie.
23
+ *
24
+ * La résolution essaie donc, dans l'ordre : le graphe du PROJET (cas du dépôt de
25
+ * développement, où il est plus frais que tout), puis celui du framework
26
+ * INSTALLÉ. Jamais un chemin en dur : c'est ce qui l'avait cassé.
27
+ */
28
+ /** Emplacement conventionnel, relatif à une racine. */
29
+ const GRAPH_RELATIVE = path.join(".ai", "symbols.json");
30
+ /**
31
+ * Trouve le graphe symbolique utilisable depuis `from`.
32
+ *
33
+ * @param from - dossier de départ (typiquement le cwd).
34
+ * @returns le chemin du fichier, ou `null` si aucun graphe n'est atteignable.
35
+ */
36
+ function resolveSymbolsFile(from) {
37
+ const root = findProjectRoot(from) ?? from;
38
+ const local = path.join(root, GRAPH_RELATIVE);
39
+ if (existsSync(local)) return local;
40
+ const shipped = path.join(root, "node_modules", "nodefony", GRAPH_RELATIVE);
41
+ if (existsSync(shipped)) return shipped;
42
+ return null;
43
+ }
44
+ /**
45
+ * Lit le graphe, ou `null` s'il est absent ou illisible.
46
+ *
47
+ * Ne lève jamais : un outil de découverte qui tombe sur un fichier corrompu doit
48
+ * le DIRE à son appelant, pas interrompre ce qu'il diagnostiquait.
49
+ *
50
+ * @param from - dossier de départ de la résolution.
51
+ */
52
+ function readSymbolsGraph(from) {
53
+ const file = resolveSymbolsFile(from);
54
+ if (file === null) return null;
55
+ try {
56
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
57
+ return parsed.symbols ? parsed : null;
58
+ } catch {
59
+ return null;
60
+ }
61
+ }
62
+ /**
63
+ * Trouve un symbole par son nom exact.
64
+ *
65
+ * Le graphe indexe par nom, sauf pour les **homonymes** qu'il range sous
66
+ * `Module:Nom` — d'où le second passage, qui les rattrape. Extrait ici parce
67
+ * que la commande n'est plus le seul lecteur : le serveur MCP interroge le même
68
+ * graphe, et deux résolutions d'homonymes finiraient par différer.
69
+ *
70
+ * @param graph - le graphe déjà lu
71
+ * @param name - nom exact recherché
72
+ * @returns l'entrée, ou `undefined`
73
+ */
74
+ function lookupSymbol(graph, name) {
75
+ return graph.symbols[name] ?? Object.values(graph.symbols).find((s) => s.name === name);
76
+ }
77
+ /** La page d'aide — `nodefony symbols --help`, et le rappel après un refus. */
78
+ const PAGE = {
79
+ command: "nodefony symbols",
80
+ tagline: "interroge le graphe symbolique : où un symbole est défini, ce qu'il fait, et de qui il hérite",
81
+ synopsis: ["nodefony symbols [<Symbole>] [options]"],
82
+ sections: [{
83
+ title: "CE QU'ELLE LIT",
84
+ paragraph: "Un fichier JSON — le graphe engendré par le dépôt — et rien d'autre. Sans nom de symbole, elle rend un résumé du graphe. Elle ne DÉMARRE pas l'application : elle répond donc quand celle-ci ne démarre plus, le moment où l'on cherche justement ce que fait une classe."
85
+ }],
86
+ options: [
87
+ {
88
+ term: "-j, --json",
89
+ text: "la même réponse, exploitable par un script"
90
+ },
91
+ {
92
+ term: "-m, --module <nom>",
93
+ text: "n'afficher qu'un paquet"
94
+ },
95
+ {
96
+ term: "--cwd <chemin>",
97
+ text: "point de départ (la racine de l'app est résolue en remontant)"
98
+ }
99
+ ],
100
+ examples: [
101
+ {
102
+ term: "nodefony symbols",
103
+ text: "ce que contient le graphe"
104
+ },
105
+ {
106
+ term: "nodefony symbols Kernel",
107
+ text: "où Kernel est défini, et sa parenté"
108
+ },
109
+ {
110
+ term: "nodefony symbols -m @nodefony/http",
111
+ text: "les symboles d'un seul paquet"
112
+ }
113
+ ],
114
+ exitCodes: [{
115
+ term: "66",
116
+ text: "aucun graphe ici — le dépôt ne l'a pas engendré (EX_NOINPUT)"
117
+ }]
118
+ };
119
+ /**
120
+ * Parse l'argv après le mot `symbols`.
121
+ *
122
+ * @param argv - `process.argv` complet.
123
+ * @returns la demande, ou le motif du refus.
124
+ */
125
+ function parseSymbolsArgv(argv) {
126
+ const at = argv.indexOf("symbols");
127
+ const rest = stripGlobalCliFlags(at === -1 ? [] : argv.slice(at + 1));
128
+ const req = {
129
+ name: null,
130
+ json: false,
131
+ module: null,
132
+ cwd: process.cwd(),
133
+ help: false
134
+ };
135
+ for (let i = 0; i < rest.length; i++) {
136
+ const word = rest[i];
137
+ if (word === "--help" || word === "-h") req.help = true;
138
+ else if (word === "--json" || word === "-j") req.json = true;
139
+ else if (word === "--module" || word === "-m") req.module = rest[++i] ?? null;
140
+ else if (word === "--cwd") req.cwd = path.resolve(rest[++i] ?? "");
141
+ else if (word.startsWith("-")) return { error: `option inconnue : ${word}` };
142
+ else if (req.name === null) req.name = word;
143
+ else return { error: `argument en trop : ${word}` };
144
+ }
145
+ return req;
146
+ }
147
+ /** Rend un symbole pour un lecteur humain — une ligne d'identité, puis la parenté. */
148
+ function renderSymbol(sym) {
149
+ const lines = [`${sym.name} — ${sym.kind} (${sym.module})`, ` ${sym.file}${sym.line ? `:${sym.line}` : ""}`];
150
+ if (sym.description) lines.push(` ${sym.description}`);
151
+ if (sym.extends) lines.push(` étend : ${sym.extends}`);
152
+ if (sym.implements?.length) lines.push(` implémente : ${sym.implements.join(", ")}`);
153
+ return `${lines.join("\n")}\n`;
154
+ }
155
+ /**
156
+ * Commande `nodefony symbols` — le graphe, sans boot et sans dépôt.
157
+ *
158
+ * Trois usages, du plus fréquent au plus rare : un nom (« qu'est-ce que
159
+ * `AbstractCrudService` ? »), un paquet (`--module @nodefony/http` : sa surface
160
+ * exportée), rien (le résumé — d'où vient le graphe, ce qu'il couvre).
161
+ *
162
+ * @param argv - `process.argv` complet.
163
+ * @returns exit code sémantique (`OK`, `USAGE`, `NOINPUT` si aucun graphe,
164
+ * `DATAERR` si le symbole demandé est introuvable).
165
+ */
166
+ function runSymbolsCommand(argv) {
167
+ const parsed = parseSymbolsArgv(argv);
168
+ if ("error" in parsed) return printUsageError(PAGE, parsed.error);
169
+ if (parsed.help) return printUsage(PAGE);
170
+ const file = resolveSymbolsFile(parsed.cwd);
171
+ const graph = readSymbolsGraph(parsed.cwd);
172
+ if (graph === null) {
173
+ process.stderr.write("symbols: aucun graphe symbolique atteignable.\n Il est publié par le paquet nodefony (node_modules/nodefony/.ai/symbols.json)\n et régénérable dans ce dépôt par : npm run generate-symbols\n");
174
+ return 66;
175
+ }
176
+ if (parsed.name !== null) {
177
+ const sym = lookupSymbol(graph, parsed.name);
178
+ if (!sym) {
179
+ process.stderr.write(`symbols: « ${parsed.name} » est introuvable dans le graphe (${Object.keys(graph.symbols).length} symboles).\n`);
180
+ return 65;
181
+ }
182
+ process.stdout.write(parsed.json ? `${JSON.stringify(sym, null, 2)}\n` : renderSymbol(sym));
183
+ return 0;
184
+ }
185
+ const entries = Object.values(graph.symbols).filter((s) => parsed.module === null || s.module === parsed.module);
186
+ if (parsed.json) {
187
+ process.stdout.write(`${JSON.stringify(entries, null, 2)}\n`);
188
+ return 0;
189
+ }
190
+ if (parsed.module !== null) {
191
+ for (const sym of entries.sort((a, b) => a.name.localeCompare(b.name))) process.stdout.write(` ${sym.name.padEnd(34)} ${sym.kind}${sym.description ? ` — ${sym.description}` : ""}\n`);
192
+ process.stdout.write(`\n${entries.length} symbole(s) — ${parsed.module}\n`);
193
+ return 0;
194
+ }
195
+ const byPackage = /* @__PURE__ */ new Map();
196
+ for (const sym of entries) byPackage.set(sym.module, (byPackage.get(sym.module) ?? 0) + 1);
197
+ process.stdout.write(`graphe : ${file}\n`);
198
+ if (graph.generated) process.stdout.write(`généré : ${graph.generated}\n`);
199
+ process.stdout.write(`${entries.length} symboles exportés\n\n`);
200
+ for (const [mod, n] of [...byPackage].sort((a, b) => b[1] - a[1])) process.stdout.write(` ${String(n).padStart(5)} ${mod}\n`);
201
+ process.stdout.write("\nUn symbole : nodefony symbols AbstractCrudService\nUn paquet : nodefony symbols --module @nodefony/http\n");
202
+ return 0;
203
+ }
204
+ //#endregion
205
+ export { lookupSymbol, parseSymbolsArgv, readSymbolsGraph, resolveSymbolsFile, runSymbolsCommand };