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,86 @@
1
+ import type { IEntityField } from "./entityFields.js";
2
+ /**
3
+ * Une colonne du contrat utilisateur, telle que `@nodefony/user` la publie.
4
+ *
5
+ * Le type est redéclaré ici — et c'est délibéré, ce n'est pas une copie du
6
+ * contrat. Le cœur ne dépend pas de `@nodefony/user` (c'est l'inverse : le
7
+ * module d'identité dépend du cœur), donc il ne peut pas en importer le type.
8
+ * Ce qui est décrit ici est la FORME LUE, pas la liste des colonnes — celle-là
9
+ * n'est jamais recopiée, elle est lue à l'exécution dans l'application cible.
10
+ */
11
+ export interface IUserContractColumn {
12
+ readonly name: string;
13
+ readonly type: string;
14
+ readonly nullable: boolean;
15
+ readonly unique?: boolean;
16
+ readonly origin: "identity" | "column" | "audit";
17
+ readonly makeDefault?: () => unknown;
18
+ readonly refreshedOnWrite?: boolean;
19
+ readonly readers: readonly string[];
20
+ readonly description: string;
21
+ }
22
+ /**
23
+ * Lit le contrat de colonnes de l'utilisateur DANS l'application cible.
24
+ *
25
+ * La liste ne peut pas vivre dans le générateur : elle appartient à
26
+ * `@nodefony/user`, et une seconde copie ici divergerait — exactement ce que la
27
+ * source unique a supprimé. Elle est donc résolue depuis l'application, ce qui a
28
+ * un second mérite : c'est la version que CETTE application a installée qui est
29
+ * écrite dans son entité, jamais celle du dépôt qui a produit le générateur.
30
+ *
31
+ * @param appRoot - racine de l'application où l'entité sera écrite.
32
+ * @returns les colonnes du contrat, dans l'ordre où le module les publie.
33
+ * @throws Error si le module d'identité n'est pas installé — sans lui, il n'y a
34
+ * pas d'utilisateur à générer, et deviner les colonnes serait le pire choix.
35
+ */
36
+ export declare function readUserContract(appRoot: string): readonly IUserContractColumn[];
37
+ /**
38
+ * Le nom de la table des utilisateurs, LU dans l'application cible.
39
+ *
40
+ * Il ne se déduit pas du nom de l'entité : l'utilisateur est la seule table que
41
+ * le framework interroge en SQL natif, sous un nom écrit en dur. Appliquer la
42
+ * règle du pluriel produirait `users` face à un SQL qui lit `User` — la
43
+ * recherche par compte externe ne trouverait plus rien, sans lever, et chaque
44
+ * connexion créerait un compte de plus.
45
+ *
46
+ * Lu depuis l'application, comme les colonnes : c'est la version installée LÀ
47
+ * qui décide, pas celle du dépôt qui a produit le générateur.
48
+ *
49
+ * @param appRoot - racine de l'application où l'entité sera écrite.
50
+ * @returns le nom de la table, tel que le contrat le publie.
51
+ * @throws Error si le module d'identité est absent ou trop ancien pour le
52
+ * publier — deviner ce nom est le pire des choix possibles.
53
+ */
54
+ export declare function userTableName(appRoot: string): string;
55
+ /**
56
+ * Convertit les colonnes du contrat en champs du générateur.
57
+ *
58
+ * La clé primaire est écartée : le générateur la produit lui-même, et le contrat
59
+ * n'en dit que le type. Les horodatages passent par `defaultNow` — « maintenant »
60
+ * n'est pas une valeur littérale que la grammaire sache écrire.
61
+ *
62
+ * Les valeurs par défaut sont OBTENUES du contrat, pas devinées : la fabrique est
63
+ * appelée, et son résultat sérialisé. C'est ce qui garantit qu'un défaut ajouté
64
+ * au contrat apparaît dans les entités générées ensuite, sans toucher ici.
65
+ *
66
+ * @param columns - le contrat, tel que l'application l'a installé.
67
+ * @returns les champs, dans l'ordre du contrat.
68
+ */
69
+ export declare function userContractFields(columns: readonly IUserContractColumn[]): IEntityField[];
70
+ /**
71
+ * Refuse un champ métier obligatoire qui n'aurait aucune valeur par défaut.
72
+ *
73
+ * Le framework CRÉE des utilisateurs sans connaître ces champs — au semis d'un
74
+ * administrateur, à la première connexion par un fournisseur externe. Un champ
75
+ * obligatoire qu'il ne peut pas renseigner fait échouer ces chemins, et le
76
+ * prototype a montré comment : le semis échoue avec un **code de sortie 0**,
77
+ * l'application démarre, et il n'y a simplement aucun administrateur.
78
+ *
79
+ * Le même champ pose un second problème, plus tard : ajouté à une table déjà
80
+ * peuplée, un `ADD COLUMN … NOT NULL` sans défaut est refusé par le serveur.
81
+ * Une seule règle ferme les deux.
82
+ *
83
+ * @param fields - les champs demandés par l'utilisateur (hors contrat).
84
+ * @throws Error en nommant le champ et les deux façons de le rendre acceptable.
85
+ */
86
+ export declare function assertUserFieldsAreFillable(fields: IEntityField[]): void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Catalogue UNIQUE des versions npm émises par les scaffolds (`create app`,
3
+ * `create front`, lots suivants) — la SEULE table à toucher quand une dep
4
+ * tierce bouge. Les paquets `nodefony`/`@nodefony/*` n'y figurent PAS : leurs
5
+ * versions sont dynamiques (`it.nodefonyVersion` = la version du paquet qui
6
+ * scaffolde) → une release du framework ne réécrit AUCUN template.
7
+ *
8
+ * Anti-dérive : `create.test.ts` compare ce catalogue aux versions RÉELLES du
9
+ * monorepo (racine + core) — bumper une dep du repo sans répercuter ici fait
10
+ * échouer le banc, jamais une divergence silencieuse.
11
+ */
12
+ export declare const SCAFFOLD_VERSIONS: Record<string, string>;
13
+ /** Sous-ensemble du catalogue (helper des tables par framework). */
14
+ export declare function pick(...names: string[]): Record<string, string>;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Écriture prévue par un scaffold, telle qu'un dry-run la restitue.
3
+ *
4
+ * `previous` n'est renseigné que pour un `overwrite` : c'est ce qui permet à un
5
+ * front (CLI `--dry-run`, préview Studio) de montrer un vrai diff plutôt qu'une
6
+ * liste de chemins.
7
+ */
8
+ export interface IScaffoldChange {
9
+ /** Chemin absolu du fichier. */
10
+ path: string;
11
+ /** Le fichier n'existait pas (`create`) ou sera réécrit (`overwrite`). */
12
+ kind: "create" | "overwrite";
13
+ /** Contenu qui sera écrit. */
14
+ content: string;
15
+ /** Contenu actuel sur disque — seulement si `kind === "overwrite"`. */
16
+ previous?: string;
17
+ }
18
+ /** Une ligne d'un diff, telle que {@link diffLines} la classe. */
19
+ export interface IDiffLine {
20
+ /** `keep` = inchangée, `add` = ajoutée, `remove` = retirée. */
21
+ kind: "keep" | "add" | "remove";
22
+ text: string;
23
+ }
24
+ /**
25
+ * Diff ligne à ligne de deux contenus (plus longue sous-séquence commune).
26
+ *
27
+ * Calculé au MOTEUR, et non dans chaque front : le CLI (`--dry-run`) et la
28
+ * préview Studio montrent le même changement, et un rendu qui diverge du plan
29
+ * réellement exécuté serait pire que pas de préview du tout.
30
+ *
31
+ * Au-delà de {@link DIFF_MAX_LINES} lignes, rend le remplacement en bloc —
32
+ * exact, mais sans détail.
33
+ */
34
+ export declare function diffLines(before: string, after: string): IDiffLine[];
35
+ /**
36
+ * Système de fichiers TRANSACTIONNEL du scaffold : toutes les écritures sont
37
+ * retenues en mémoire, et ne touchent le disque qu'au {@link ScaffoldWriter.commit}
38
+ * final.
39
+ *
40
+ * POURQUOI le moteur ne peut pas écrire au fil de l'eau : un scaffold est une
41
+ * suite d'étapes dont plusieurs peuvent REFUSER *après* les premières écritures
42
+ * — nom de classe déjà pris, `@controllers([...])` introuvable, tag eta résiduel,
43
+ * workspace de link manquant. Écrire puis lever laisse un projet à moitié
44
+ * modifié, alors que l'utilisateur lit un message d'erreur et croit
45
+ * légitimement que rien n'a bougé (il a perdu son fichier). En différant le
46
+ * disque, « refuser » redevient un non-événement : aucune garde n'a besoin
47
+ * d'être placée avant les rendus, et une garde ajoutée demain est
48
+ * automatiquement sûre.
49
+ *
50
+ * La transaction sert AUSSI de source du dry-run : ne pas committer, c'est
51
+ * exactement simuler — sans une seconde implémentation du moteur qui dériverait.
52
+ *
53
+ * Les LECTURES passent par la transaction (`read`/`exists`/`listDir`) : une
54
+ * étape doit voir ce que les précédentes ont produit. Sans cela, câbler deux
55
+ * décorateurs dans le même `index.ts` perdrait la première insertion, et le
56
+ * controller d'un module tout juste rendu ne trouverait pas sa cible.
57
+ *
58
+ * Portée : les fichiers du PROJET. Les templates et le paquet `nodefony`
59
+ * lui-même se lisent directement — ils sont en lecture seule.
60
+ */
61
+ export declare class ScaffoldWriter {
62
+ #private;
63
+ /** Contenu à jour du fichier — écriture en attente d'abord, sinon disque. */
64
+ read(file: string): string;
65
+ /**
66
+ * Le chemin existe-t-il, une fois la transaction appliquée ? Vrai aussi pour
67
+ * un DOSSIER qui n'existe encore que par les fichiers en attente qu'il
68
+ * contient (`modules/blog/` pendant `create module`).
69
+ */
70
+ exists(file: string): boolean;
71
+ /**
72
+ * Entrées d'un dossier, disque et transaction fusionnés — la vue dont
73
+ * `listTargets` a besoin pour voir un module qui n'est pas encore committé.
74
+ */
75
+ listDir(dir: string): {
76
+ name: string;
77
+ isDirectory: boolean;
78
+ }[];
79
+ /** Retient une écriture. Rien ne touche le disque avant {@link commit}. */
80
+ write(file: string, content: string): void;
81
+ /**
82
+ * Écritures prévues, dans l'ordre — matière du dry-run et de la préview.
83
+ *
84
+ * L'état « existait déjà » est relu ICI (et non à `write`) : entre les deux,
85
+ * seule la transaction a pu changer, et elle est justement ce qu'on décrit.
86
+ */
87
+ changes(): IScaffoldChange[];
88
+ /** Nombre d'écritures en attente. */
89
+ get size(): number;
90
+ /**
91
+ * Applique la transaction sur le disque, dans l'ordre d'écriture.
92
+ *
93
+ * Ce n'est PAS atomique au sens du système de fichiers (aucune API portable
94
+ * ne l'offre pour un arbre) : une panne disque en cours de vidage laisse un
95
+ * résultat partiel. Ce que la transaction garantit, c'est qu'aucune décision
96
+ * du moteur — garde, validation, rendu cassé — ne peut plus produire ce
97
+ * résultat partiel, ce qui était le seul cas observé en pratique.
98
+ */
99
+ commit(): void;
100
+ }
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Composition PURE du menu interactif `nodefony menu` — même patron que
3
+ * `envReport`/`cardReport`/`aiSyncReport` : ce fichier reçoit l'état (contexte,
4
+ * descriptions, commandes de module) et rend une structure neutre ; l'adaptateur
5
+ * (`MenuCommand`) la traduit en prompts inquirer. Zéro I/O, zéro import lourd :
6
+ * testable sans TTY et sans kernel.
7
+ *
8
+ * Deux règles tiennent ce menu :
9
+ * - le RÉSUMÉ d'une entrée vient de `command.description()` (source unique,
10
+ * celle de `--help`) — jamais d'une copie locale qui divergerait ;
11
+ * - le menu n'ajoute que ce qui n'existe nulle part ailleurs : le CONSEIL
12
+ * d'usage (`when`), affiché sous la liste pendant la navigation.
13
+ *
14
+ * Une commande absente de commander (retirée, renommée) sort du menu toute
15
+ * seule : `describe()` rend `null` et l'entrée n'est pas émise.
16
+ */
17
+ /** Contexte de lancement : dans un projet Nodefony, ou hors de tout projet. */
18
+ export type StartMenuContext = "project" | "outside";
19
+ /**
20
+ * Item neutre du menu — champs BRUTS, aucun rendu. L'adaptateur compose
21
+ * l'affichage (alignement, couleurs, troncature à la largeur du terminal) :
22
+ * la composition décide QUOI montrer, jamais COMMENT.
23
+ */
24
+ export type StartMenuItem = {
25
+ kind: "separator";
26
+ label: string;
27
+ } | {
28
+ kind: "choice";
29
+ /** Ce que l'utilisateur choisit (colonne de gauche). */
30
+ label: string;
31
+ /** Résumé court (colonne de droite, tronquable). */
32
+ summary: string;
33
+ value: string;
34
+ /** Conseil d'usage, affiché sous la liste pendant la navigation. */
35
+ description: string;
36
+ };
37
+ /** Une commande de module lue du manifest cache de complétion. */
38
+ export interface IStartMenuModuleCommand {
39
+ name: string;
40
+ description: string;
41
+ /**
42
+ * Le groupe d'intention de la commande, quand elle en déclare un.
43
+ *
44
+ * Sans lui, toutes les commandes de module tombaient dans un unique
45
+ * fourre-tout (« Commandes du projet »), pendant que l'aide les rangeait par
46
+ * intention. Le même CLI se présentait donc de deux façons selon la porte.
47
+ */
48
+ group?: string;
49
+ }
50
+ export interface IStartMenuInput {
51
+ /** Vrai si une application Nodefony est résolue ici (`kernel.trunk`). */
52
+ inProject: boolean;
53
+ /**
54
+ * Résumé d'une commande — `command.description()` de commander, ou `null`
55
+ * si la commande n'est pas enregistrée (elle est alors écartée du menu).
56
+ */
57
+ describe: (name: string) => string | null;
58
+ /**
59
+ * Commandes de MODULE (`security:user:add`, …) lues du manifest cache de
60
+ * complétion — elles ne sont pas encore posées dans commander à `onStart`
61
+ * (dispatch différé), mais le cache écrit au dernier boot dev les connaît.
62
+ */
63
+ moduleCommands?: IStartMenuModuleCommand[];
64
+ /**
65
+ * Toutes les commandes que commander connaît DÉJÀ (les intégrées), avec leur
66
+ * groupe d'intention et le nombre d'arguments qu'elles EXIGENT.
67
+ *
68
+ * 🔴 C'est ce qui remplace la liste blanche. Le menu ne proposait que les
69
+ * commandes inscrites à la main dans son catalogue : une commande neuve n'y
70
+ * entrait jamais, et personne ne s'en apercevait — le menu avait toujours
71
+ * l'air complet. Le catalogue ne sert plus qu'à ce qu'aucune dérivation ne
72
+ * peut donner : l'ORDRE de lecture et le CONSEIL d'usage.
73
+ *
74
+ * Une commande qui exige un argument est écartée : le menu la lancerait sans
75
+ * lui, et l'utilisateur recevrait une erreur d'usage au lieu d'un geste.
76
+ */
77
+ builtinCommands?: readonly {
78
+ name: string;
79
+ description: string;
80
+ group?: string;
81
+ requiredArgs?: number;
82
+ }[];
83
+ /**
84
+ * Noms des scripts présents dans le `package.json` du projet. Le menu n'en
85
+ * propose que ceux de son catalogue (`NPM_SCRIPT_CATALOG`) : les gestes
86
+ * qualité et infra qu'aucune commande nodefony ne porte. Un script absent
87
+ * du package.json n'est pas proposé — la présence fait foi, jamais le
88
+ * catalogue seul.
89
+ */
90
+ npmScripts?: string[];
91
+ /** Nom du projet, pour le message d'accueil. */
92
+ projectName?: string;
93
+ }
94
+ interface ICatalogEntry {
95
+ value: string;
96
+ contexts: StartMenuContext[];
97
+ /**
98
+ * Titre de groupe, par contexte (un même geste change de sens hors projet).
99
+ *
100
+ * 🔴 Dans un projet, il se DÉRIVE de l'intention déclarée par la commande —
101
+ * `menuGroupe()` traduit `HELP_GROUPS` en libellé de menu. Une seconde
102
+ * taxonomie écrite ici divergerait de l'aide au premier ajout, et le lecteur
103
+ * n'aurait plus aucune raison de croire l'une plutôt que l'autre.
104
+ */
105
+ group: Record<StartMenuContext, string | null>;
106
+ /** Le CONSEIL d'usage — la seule prose qui n'existe pas déjà ailleurs. */
107
+ when: string;
108
+ }
109
+ export declare const START_MENU_CATALOG: readonly ICatalogEntry[];
110
+ /**
111
+ * Scripts npm que le menu sait proposer — les gestes qu'AUCUNE commande
112
+ * nodefony ne porte (qualité, infra docker). Un script n'apparaît que s'il
113
+ * existe dans le package.json du projet (`npmScripts`). La valeur émise est
114
+ * préfixée `npm:` — l'adaptateur la déplie en `npm run <script>`.
115
+ */
116
+ export declare const NPM_SCRIPT_CATALOG: readonly {
117
+ script: string;
118
+ /** Résumé court (colonne de droite) — le geste, pas le pourquoi. */
119
+ summary: string;
120
+ group: string;
121
+ when: string;
122
+ }[];
123
+ /** Préfixe des valeurs « script npm » émises par le menu. */
124
+ export declare const NPM_SCRIPT_PREFIX = "npm:";
125
+ /** Titre du groupe des commandes de module (projet seulement). */
126
+ export declare const MODULE_COMMANDS_GROUP = "Commandes du projet";
127
+ /** Ce que le menu doit FAIRE d'un choix — décidé ici, exécuté par l'adaptateur. */
128
+ export type MenuAction =
129
+ /** Script du projet : `npm run <script>`, sortie héritée. */
130
+ {
131
+ kind: "npm";
132
+ script: string;
133
+ }
134
+ /** Commande intégrée : commander la connaît, on l'exécute dans CE process. */
135
+ | {
136
+ kind: "inline";
137
+ argv: string[];
138
+ }
139
+ /** Commande de MODULE : elle exige un process neuf (voir ci-dessous). */
140
+ | {
141
+ kind: "respawn";
142
+ argv: string[];
143
+ };
144
+ /**
145
+ * Le plan d'exécution d'un choix de menu.
146
+ *
147
+ * ⚠️ **Une commande de MODULE ne peut pas s'exécuter dans le process du menu.**
148
+ * Le menu s'ouvre à `onStart` pour rester instantané ; à cette phase, les
149
+ * commandes de module ne sont pas encore posées dans commander (elles le sont à
150
+ * `onPreRegister`, par le dispatch différé). Les exécuter par le re-parse
151
+ * commander donnait donc `unknown command 'http:network'` + CRITIC + exit 1 —
152
+ * un menu qui PROPOSE un geste puis le refuse. Elles se relancent dans un
153
+ * process neuf, exactement comme le menu le fait déjà pour un script npm : le
154
+ * boot complet a lieu, le dispatch différé fait son travail.
155
+ *
156
+ * La décision vit ici, PURE, parce qu'elle se teste : l'adaptateur ne fait plus
157
+ * que `spawnSync` ou appeler commander, gestes qu'aucun test unitaire n'observe.
158
+ *
159
+ * @param response - la valeur choisie dans le menu.
160
+ * @param isBuiltin - commander connaît-il cette commande à cet instant ?
161
+ */
162
+ export declare function planMenuAction(response: string, isBuiltin: (name: string) => boolean): MenuAction;
163
+ /**
164
+ * Construit le menu principal pour un contexte donné.
165
+ *
166
+ * @returns message d'accueil + items ordonnés (separators de groupe inclus).
167
+ */
168
+ export declare function buildStartMenu(input: IStartMenuInput): {
169
+ message: string;
170
+ items: StartMenuItem[];
171
+ };
172
+ /**
173
+ * Sous-menu des sujets d'`inspect`, dérivé de la table SOURCE
174
+ * (`INSPECT_SUBJECTS`) : seuls les sujets SANS argument obligatoire sont
175
+ * proposés (un sujet à paramètre exigerait une saisie de plus — il reste
176
+ * accessible en ligne de commande, l'aide d'`inspect` les liste).
177
+ *
178
+ * @param subjects - la table `INSPECT_SUBJECTS` (injectée : ce fichier reste pur).
179
+ */
180
+ export declare function buildInspectMenu(subjects: Record<string, {
181
+ summary: string;
182
+ param?: string;
183
+ }>): {
184
+ message: string;
185
+ items: StartMenuItem[];
186
+ };
187
+ /**
188
+ * Filtre le menu à la frappe (prompt `search`) — la logique est ICI, pure et
189
+ * testée : normalisation (minuscules, accents retirés), chaque MOT du terme
190
+ * doit se retrouver dans le label, le résumé, le conseil OU le titre du groupe
191
+ * de l'entrée. Les titres de groupe suivent leurs entrées : un groupe dont
192
+ * rien ne survit disparaît AVEC son titre.
193
+ */
194
+ export declare function filterStartMenu(items: StartMenuItem[], term: string): StartMenuItem[];
195
+ export {};
@@ -0,0 +1,84 @@
1
+ /** Un symbole tel que le graphe le décrit (surface utile, pas le fichier entier). */
2
+ export interface ISymbolEntry {
3
+ name: string;
4
+ kind: string;
5
+ /** Nom npm du paquet qui le porte (`@nodefony/http`, `@nodefony/core`). */
6
+ module: string;
7
+ /** Chemin du source, relatif à la racine du dépôt qui l'a produit. */
8
+ file: string;
9
+ line?: number;
10
+ exported?: boolean;
11
+ /** Première phrase du TSDoc — auto-suffisante par convention. */
12
+ description?: string;
13
+ extends?: string;
14
+ implements?: string[];
15
+ }
16
+ /** Ce que le graphe contient, réduit à ce que ses lecteurs utilisent. */
17
+ export interface ISymbolsGraph {
18
+ generated?: string;
19
+ version?: string;
20
+ symbols: Record<string, ISymbolEntry>;
21
+ relations?: Record<string, Record<string, string[]>>;
22
+ }
23
+ /**
24
+ * Trouve le graphe symbolique utilisable depuis `from`.
25
+ *
26
+ * @param from - dossier de départ (typiquement le cwd).
27
+ * @returns le chemin du fichier, ou `null` si aucun graphe n'est atteignable.
28
+ */
29
+ export declare function resolveSymbolsFile(from: string): string | null;
30
+ /**
31
+ * Lit le graphe, ou `null` s'il est absent ou illisible.
32
+ *
33
+ * Ne lève jamais : un outil de découverte qui tombe sur un fichier corrompu doit
34
+ * le DIRE à son appelant, pas interrompre ce qu'il diagnostiquait.
35
+ *
36
+ * @param from - dossier de départ de la résolution.
37
+ */
38
+ export declare function readSymbolsGraph(from: string): ISymbolsGraph | null;
39
+ /**
40
+ * Trouve un symbole par son nom exact.
41
+ *
42
+ * Le graphe indexe par nom, sauf pour les **homonymes** qu'il range sous
43
+ * `Module:Nom` — d'où le second passage, qui les rattrape. Extrait ici parce
44
+ * que la commande n'est plus le seul lecteur : le serveur MCP interroge le même
45
+ * graphe, et deux résolutions d'homonymes finiraient par différer.
46
+ *
47
+ * @param graph - le graphe déjà lu
48
+ * @param name - nom exact recherché
49
+ * @returns l'entrée, ou `undefined`
50
+ */
51
+ export declare function lookupSymbol(graph: ISymbolsGraph, name: string): ISymbolEntry | undefined;
52
+ /** Ce que la ligne de commande demande. */
53
+ interface ISymbolsRequest {
54
+ /** Nom exact d'un symbole, ou `null` pour un résumé. */
55
+ name: string | null;
56
+ json: boolean;
57
+ /** Filtre par paquet (`--module @nodefony/http`). */
58
+ module: string | null;
59
+ cwd: string;
60
+ /** `true` si l'on veut seulement la page d'aide. */
61
+ help: boolean;
62
+ }
63
+ /**
64
+ * Parse l'argv après le mot `symbols`.
65
+ *
66
+ * @param argv - `process.argv` complet.
67
+ * @returns la demande, ou le motif du refus.
68
+ */
69
+ export declare function parseSymbolsArgv(argv: string[]): ISymbolsRequest | {
70
+ error: string;
71
+ };
72
+ /**
73
+ * Commande `nodefony symbols` — le graphe, sans boot et sans dépôt.
74
+ *
75
+ * Trois usages, du plus fréquent au plus rare : un nom (« qu'est-ce que
76
+ * `AbstractCrudService` ? »), un paquet (`--module @nodefony/http` : sa surface
77
+ * exportée), rien (le résumé — d'où vient le graphe, ce qu'il couvre).
78
+ *
79
+ * @param argv - `process.argv` complet.
80
+ * @returns exit code sémantique (`OK`, `USAGE`, `NOINPUT` si aucun graphe,
81
+ * `DATAERR` si le symbole demandé est introuvable).
82
+ */
83
+ export declare function runSymbolsCommand(argv: string[]): number;
84
+ export {};
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Codes de sortie standardisés — convention BSD `sysexits.h` (FreeBSD
3
+ * `sysexits(3)`). Ce n'est PAS un RFC, mais le standard de facto Unix pour des
4
+ * exit codes porteurs de sens, au-delà du binaire POSIX `0`/non-zéro. Permet à un
5
+ * script appelant de distinguer un « mauvais usage » d'une « erreur interne » ou
6
+ * d'une « config invalide ».
7
+ *
8
+ * Nodefony n'utilise qu'un sous-ensemble pertinent côté CLI ; les valeurs sont
9
+ * celles de `sysexits.h` (ne pas les renuméroter).
10
+ */
11
+ export declare enum SysExit {
12
+ /** Succès. */
13
+ OK = 0,
14
+ /** Mauvais usage : commande inconnue, arguments/options invalides. */
15
+ USAGE = 64,
16
+ /** Donnée d'entrée incorrecte (format/contenu). */
17
+ DATAERR = 65,
18
+ /** Entrée requise introuvable (fichier/ressource absent). */
19
+ NOINPUT = 66,
20
+ /** Service requis indisponible (dépendance non démarrée/enregistrée). */
21
+ UNAVAILABLE = 69,
22
+ /** Sortie impossible à créer (dossier cible existant non vide, droits). */
23
+ CANTCREAT = 73,
24
+ /** Erreur interne du logiciel (bug, exception non gérée au boot). */
25
+ SOFTWARE = 70,
26
+ /** Permission refusée : l'appelant est connu, son rôle ne suffit pas. */
27
+ NOPERM = 77,
28
+ /** Erreur de configuration. */
29
+ CONFIG = 78
30
+ }
31
+ export default SysExit;
@@ -0,0 +1,44 @@
1
+ /** Une ligne de données — les clés deviennent les colonnes. */
2
+ export type TableRow = Record<string, unknown>;
3
+ /** Le décor du rendu — tout ce que ce module refuse d'aller chercher. */
4
+ export interface ITableOptions {
5
+ /** Largeur utile, déjà bornée. */
6
+ width: number;
7
+ /** `true` pour émettre des séquences ANSI. */
8
+ color: boolean;
9
+ /**
10
+ * Colonnes à rendre, dans cet ordre. Par défaut : l'union des clés
11
+ * rencontrées, dans l'ordre où elles apparaissent.
12
+ */
13
+ columns?: readonly string[];
14
+ }
15
+ /** Ce qu'une cellule doit à son lecteur : lisible, jamais du JSON brut. */
16
+ export declare function formatCell(value: unknown): string;
17
+ /**
18
+ * Les colonnes présentes dans les données, dans l'ordre de rencontre.
19
+ *
20
+ * @param rows - les lignes.
21
+ * @returns les noms de colonnes, sans doublon.
22
+ */
23
+ export declare function columnsOf(rows: readonly TableRow[]): string[];
24
+ /**
25
+ * Répartit la largeur disponible entre les colonnes.
26
+ *
27
+ * Chacune reçoit ce qu'elle demande tant que le total tient. Au-delà, on rogne
28
+ * les PLUS LARGES d'abord, par paliers : rogner uniformément punirait une
29
+ * colonne de six caractères autant qu'une de soixante, et c'est la première
30
+ * qu'on rend illisible.
31
+ *
32
+ * @param requested - largeur idéale de chaque colonne.
33
+ * @param available - place totale pour les contenus (séparateurs déduits).
34
+ * @returns la largeur retenue pour chaque colonne, dans le même ordre.
35
+ */
36
+ export declare function repartir(requested: readonly number[], available: number): number[];
37
+ /**
38
+ * Le tableau, ligne par ligne, sans retour chariot final.
39
+ *
40
+ * @param rows - les données ; une clé absente d'une ligne rend une cellule vide.
41
+ * @param opts - le décor (largeur, couleur, colonnes retenues).
42
+ * @returns les lignes à écrire, dans l'ordre.
43
+ */
44
+ export declare function renderTable(rows: readonly TableRow[], opts: ITableOptions): string[];
@@ -0,0 +1,108 @@
1
+ /**
2
+ * La page d'aide d'UNE commande — le socle que toutes les commandes partagent.
3
+ *
4
+ * **Pourquoi un socle.** Le pied de `nodefony --help` promet
5
+ * `nodefony <commande> --help`. Dix commandes ne tenaient pas cette promesse :
6
+ * sept répondaient « option inconnue : --help » avec le code 64, trois
7
+ * l'ignoraient et S'EXÉCUTAIENT — `nodefony stop --help` arrêtait réellement le
8
+ * serveur. Écrire dix pages à la main aurait rendu dix mises en page
9
+ * différentes, dont on n'aurait corrigé qu'une à chaque fois qu'un défaut y
10
+ * serait trouvé : l'aide de `doctor` avait déjà tout ce qu'il faut, et c'est
11
+ * elle qu'on a extraite ici plutôt que de la recopier.
12
+ *
13
+ * **Le rendu est PUR** ({@link renderUsage}) : la largeur et les couleurs lui
14
+ * sont DONNÉES. C'est ce qui le rend éprouvable ailleurs que dans le terminal
15
+ * où il tourne — donc en intégration continue, où il n'y en a pas.
16
+ *
17
+ * **Ce qu'une page doit dire**, et dans cet ordre : ce que la commande fait,
18
+ * comment on l'appelle, ce que chaque option change, au moins un exemple, et
19
+ * ses codes de sortie. Les deux derniers sont ceux qu'on oublie : un exemple
20
+ * répond plus vite qu'un paragraphe, et personne d'autre ne dit à un script
21
+ * comment lire le retour.
22
+ *
23
+ * @module
24
+ */
25
+ import { type IPalette } from "../kernel/checks/report.js";
26
+ /** Une ligne à deux colonnes : un terme, ce qu'il fait. */
27
+ export interface IUsageEntry {
28
+ /** La colonne de gauche — un drapeau, un code, une commande d'exemple. */
29
+ term: string;
30
+ /** Ce qu'il change, en une phrase. */
31
+ text: string;
32
+ }
33
+ /**
34
+ * Une section libre, insérée entre l'en-tête et les options.
35
+ *
36
+ * Elle porte ce qu'aucune liste d'options ne dirait : ce que la commande
37
+ * regarde, ce qu'elle refuse de faire, la frontière de ce qu'elle sait.
38
+ */
39
+ export interface IUsageSection {
40
+ title: string;
41
+ /** Un paragraphe, replié à la largeur. */
42
+ paragraph?: string;
43
+ /** Des lignes déjà composées (une énumération, par exemple). */
44
+ lines?: readonly string[];
45
+ /** Des entrées à deux colonnes. */
46
+ entries?: readonly IUsageEntry[];
47
+ }
48
+ /** Tout ce qu'une page d'aide a besoin de savoir — et rien d'autre. */
49
+ export interface IUsagePage {
50
+ /** La commande telle qu'on la tape, `nodefony` compris. */
51
+ command: string;
52
+ /** Ce qu'elle fait, en une ligne — la même intention que sa description. */
53
+ tagline: string;
54
+ /** Ses alias, s'il en a. */
55
+ aliases?: readonly string[];
56
+ /**
57
+ * Les formes d'appel. Défaut : `<command> [options]`.
58
+ *
59
+ * Plusieurs lignes quand les formes s'excluent — `env --example` n'accepte
60
+ * pas les mêmes drapeaux que `env` seul, et une syntaxe unique le cacherait.
61
+ */
62
+ synopsis?: readonly string[];
63
+ /** Les sections propres à la commande, avant OPTIONS. */
64
+ sections?: readonly IUsageSection[];
65
+ options: readonly IUsageEntry[];
66
+ examples: readonly IUsageEntry[];
67
+ /**
68
+ * Les codes de sortie PROPRES à la commande.
69
+ *
70
+ * Les deux universels (0 et 64) sont ajoutés par le rendu : les redire dans
71
+ * chaque page, c'est prendre le risque qu'une seule les oublie.
72
+ */
73
+ exitCodes?: readonly IUsageEntry[];
74
+ /** Une dernière chose à savoir, repliée en pied de page. */
75
+ footer?: string;
76
+ }
77
+ /**
78
+ * Rend la page complète, retour chariot final compris.
79
+ *
80
+ * @param page - ce qu'il y a à dire.
81
+ * @param p - la peinture (une palette sans couleur rend du texte nu).
82
+ * @param width - la largeur utile, déjà bornée.
83
+ * @returns le texte de la page.
84
+ */
85
+ export declare function renderUsage(page: IUsagePage, p: IPalette, width?: number): string;
86
+ /**
87
+ * Écrit la page sur la sortie standard — la réponse à `--help`.
88
+ *
89
+ * Sur **stdout** et avec le code **0** : `--help` est une réponse, pas une
90
+ * erreur. Un `nodefony env --help | less` doit voir la page, et un script ne
91
+ * doit pas la lire comme un échec.
92
+ *
93
+ * @param page - la page à rendre.
94
+ * @returns le code de sortie, toujours 0.
95
+ */
96
+ export declare function printUsage(page: IUsagePage): number;
97
+ /**
98
+ * Écrit un refus PUIS la page, sur la sortie d'erreur.
99
+ *
100
+ * La page suit le refus parce que les deux questions arrivent ensemble : on
101
+ * vient de se tromper de drapeau, et ce qu'on veut lire tout de suite est la
102
+ * liste de ceux qui existent.
103
+ *
104
+ * @param page - la page à rendre.
105
+ * @param message - ce qui a été refusé, sans le nom de la commande.
106
+ * @returns le code de sortie, toujours 64 (EX_USAGE).
107
+ */
108
+ export declare function printUsageError(page: IUsagePage, message: string): number;