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,238 @@
1
+ /**
2
+ * Champs d'entité : de la syntaxe `title:string` au code Drizzle du dialecte visé.
3
+ *
4
+ * Module **pur** (aucune I/O, aucun template) : c'est lui qui porte la traduction
5
+ * « vocabulaire Nodefony → colonne Drizzle native », donc c'est lui qu'on teste.
6
+ *
7
+ * Vocabulaire volontairement restreint — le scaffold doit produire du code qu'un
8
+ * humain relit et étend, pas couvrir toute la surface SQL. Un besoin exotique
9
+ * (`numeric(12,4)`, `citext`, tableau PG…) s'écrit à la main dans la table générée :
10
+ * c'est du Drizzle natif, il n'y a rien à contourner.
11
+ */
12
+ /** Dialectes SQL supportés par le scaffold (ceux de `@nodefony/drizzle`). */
13
+ export declare const ENTITY_DIALECTS: readonly ["sqlite", "postgres", "mysql"];
14
+ export type TEntityDialect = (typeof ENTITY_DIALECTS)[number];
15
+ /** Stratégies de clé primaire. */
16
+ export declare const ENTITY_ID_KINDS: readonly ["uuid7", "uuid4", "serial"];
17
+ export type TEntityIdKind = (typeof ENTITY_ID_KINDS)[number];
18
+ /** Types de champ du vocabulaire Nodefony (jamais le vocabulaire Drizzle). */
19
+ export declare const ENTITY_FIELD_TYPES: readonly ["string", "text", "int", "float", "bool", "json", "date", "uuid", "enum", "char", "decimal"];
20
+ export type TEntityFieldType = (typeof ENTITY_FIELD_TYPES)[number];
21
+ /** Un champ déclaré, après analyse de `title:string!` ou `author:ref:User`. */
22
+ export interface IEntityField {
23
+ /** Nom de la propriété (camelCase). */
24
+ name: string;
25
+ /** Type Nodefony, ou `ref` pour une clé étrangère. */
26
+ type: TEntityFieldType | "ref";
27
+ /** Entité cible quand `type === "ref"`. */
28
+ target?: string;
29
+ /** Valeurs admises quand `type === "enum"` (`status:enum(draft,published)`). */
30
+ values?: string[];
31
+ /**
32
+ * Longueur déclarée d'une chaîne (`title:string(200)`, `country:char(2)`).
33
+ *
34
+ * Absente pour `string`, la colonne retombe sur 255 — la valeur par défaut
35
+ * historique. Un schéma réel dimensionne ses colonnes (onze longueurs
36
+ * distinctes chez Umami) : la place perdue se paie en octets par ligne, et
37
+ * l'absence de borne laisse passer des valeurs qu'aucune règle ne veut.
38
+ */
39
+ length?: number;
40
+ /** Chiffres significatifs d'un décimal exact (`price:decimal(12,2)` → 12). */
41
+ precision?: number;
42
+ /** Chiffres après la virgule d'un décimal exact (`price:decimal(12,2)` → 2). */
43
+ scale?: number;
44
+ /**
45
+ * Valeur par défaut littérale, telle qu'écrite (`price:float=0` → `"0"`).
46
+ *
47
+ * Conservée en texte : c'est le générateur qui sait la traduire en littéral du
48
+ * bon type, et lui seul connaît le dialecte visé.
49
+ */
50
+ defaultValue?: string;
51
+ /** `true` si `?` — la colonne accepte `NULL`. Non-null par DÉFAUT. */
52
+ nullable: boolean;
53
+ /** `true` si `!` — contrainte d'unicité. */
54
+ unique: boolean;
55
+ /** `true` si `:index`. */
56
+ indexed: boolean;
57
+ /**
58
+ * Horodatage posé à l'insertion (`new Date()`), sans `DEFAULT` SQL.
59
+ *
60
+ * La grammaire de champs ne peut pas l'exprimer — « maintenant » n'est pas une
61
+ * valeur littérale —, et pourtant le contrat utilisateur en porte deux. Sans
62
+ * cette propriété, ces colonnes seraient écrites à la main quelque part, donc
63
+ * en double.
64
+ */
65
+ defaultNow?: boolean;
66
+ /** Horodatage RÉÉCRIT à chaque mise à jour (`$onUpdateFn`). */
67
+ refreshedOnWrite?: boolean;
68
+ }
69
+ /**
70
+ * Casses de nom de colonne SQL proposées — la propriété TypeScript ne bouge jamais.
71
+ *
72
+ * `camel` reproduit la propriété telle quelle (défaut historique) ; `snake` émet
73
+ * `site_id` là où la propriété reste `siteId`. Drizzle porte nativement cette
74
+ * dissociation — le premier argument d'un constructeur de colonne EST le nom SQL.
75
+ *
76
+ * Une seule option couvre l'écrasante majorité des schémas existants : sur les 134
77
+ * renommages qu'exige le schéma d'Umami, **115 sont ce passage mécanique** au
78
+ * `snake_case`. Les nommer un par un aurait demandé un dictionnaire ; ils tiennent
79
+ * dans un choix.
80
+ */
81
+ export declare const COLUMN_CASES: readonly ["camel", "snake"];
82
+ export type TColumnCase = (typeof COLUMN_CASES)[number];
83
+ /** `BlogPost` / `blog-post` / `siteId` → `blog_post` / `site_id`. */
84
+ export declare function toSnakeCase(name: string): string;
85
+ /**
86
+ * Nom SQL d'une colonne, dérivé de sa propriété TypeScript.
87
+ *
88
+ * @param property - nom de la propriété (`siteId`).
89
+ * @param columnCase - casse demandée ; `camel` rend la propriété inchangée.
90
+ */
91
+ export declare function sqlColumn(property: string, columnCase: TColumnCase): string;
92
+ /** Erreur de syntaxe dans la déclaration d'un champ — message actionnable. */
93
+ export declare class EntityFieldError extends Error {
94
+ }
95
+ /**
96
+ * Analyse la déclaration textuelle des champs.
97
+ *
98
+ * Grammaire : `nom:type[?][!][=defaut][:index]` · `nom:ref:Entité[?][!][:index]`
99
+ * - `?` → nullable (sinon **NOT NULL** : une colonne nullable est une décision, pas un oubli) ;
100
+ * - `!` → unique ;
101
+ * - `=valeur` → valeur par défaut (`price:float=0`, `status:enum(draft,published)=draft`) ;
102
+ * - `:index` → index simple.
103
+ *
104
+ * Le type `enum` porte ses valeurs entre parenthèses : `status:enum(draft,published)`.
105
+ *
106
+ * @param input - `"title:string! content:text? views:int=0 author:ref:User"`.
107
+ * @returns les champs, dans l'ordre de déclaration.
108
+ * @throws EntityFieldError si un champ est mal formé (le mot « invalide » est attendu
109
+ * par le routeur d'erreurs du CLI pour sortir en `EX_USAGE`).
110
+ */
111
+ export declare function parseEntityFields(input: string): IEntityField[];
112
+ /**
113
+ * Index portant sur PLUSIEURS colonnes, déclaré au niveau de la table.
114
+ *
115
+ * Un index composite n'appartient à aucune colonne en particulier — il décrit une
116
+ * façon d'interroger la table (« les événements de ce site, du plus récent au plus
117
+ * ancien »). C'est pourquoi il se déclare à part de la grammaire de champs, et non
118
+ * par un modificateur : il n'y aurait pas de champ légitime où l'accrocher.
119
+ *
120
+ * L'ORDRE des colonnes est significatif et se conserve : un index sur `(site, date)`
121
+ * sert les requêtes qui filtrent sur le site, celles qui ne filtrent que sur la date
122
+ * ne le verront pas.
123
+ */
124
+ export interface IEntityIndex {
125
+ /** Colonnes indexées, dans l'ordre déclaré. */
126
+ columns: string[];
127
+ /** `true` pour une contrainte d'unicité portant sur la combinaison. */
128
+ unique: boolean;
129
+ }
130
+ /**
131
+ * Analyse les index de table déclarés par `--index` / `--unique`.
132
+ *
133
+ * Chaque valeur est une liste de colonnes séparées par des virgules
134
+ * (`"websiteId,createdAt"`). Toute colonne citée doit exister : sans ce contrôle, on
135
+ * écrirait une entité qui ne compile pas, et l'erreur tomberait chez l'utilisateur
136
+ * sous la forme d'une propriété inconnue — loin de la commande qui l'a causée.
137
+ *
138
+ * @param specs - valeurs brutes des options, dans l'ordre de la ligne de commande.
139
+ * @param fields - champs déjà analysés, qui fournissent les noms légitimes.
140
+ * @param options - présence des colonnes implicites (horodatages, suppression douce).
141
+ * @param unique - `true` quand ces valeurs viennent de `--unique`.
142
+ * @returns les index analysés, doublons retirés.
143
+ * @throws {EntityFieldError} colonne inconnue, liste vide, ou colonne répétée.
144
+ */
145
+ export declare function parseEntityIndexes(specs: readonly string[], fields: readonly IEntityField[], options: {
146
+ timestamps: boolean;
147
+ softDelete: boolean;
148
+ }, unique?: boolean): IEntityIndex[];
149
+ /**
150
+ * Ce que chaque type de champ devient, dans chaque moteur.
151
+ *
152
+ * Montrer la traduction plutôt que la promettre : `json` devient `jsonb` en
153
+ * PostgreSQL et une colonne texte en SQLite, `string` un `varchar(255)` ici et un
154
+ * `text` là. C'est une information dont dépend le choix de celui qui modélise, et
155
+ * elle n'est déductible d'aucune documentation générique.
156
+ *
157
+ * Dérivé de la table de traduction elle-même : impossible que ce catalogue
158
+ * dérive de ce que le générateur produit réellement.
159
+ *
160
+ * @returns un descripteur par type, avec sa colonne Drizzle par dialecte.
161
+ */
162
+ export declare function describeColumnTypes(): Array<{
163
+ type: string;
164
+ byDialect: Record<string, string>;
165
+ }>;
166
+ /** Fonction de table Drizzle du dialecte (`sqliteTable`…) et son import. */
167
+ export declare const TABLE_FN: Record<TEntityDialect, {
168
+ fn: string;
169
+ module: string;
170
+ }>;
171
+ /** Tout ce dont les templates ont besoin pour rendre une entité. */
172
+ export interface IEntityCodegen {
173
+ /** Corps de la table (lignes `nom: colonne,`). */
174
+ columns: string;
175
+ /** Import Drizzle du dialecte (`import { text, integer } from "drizzle-orm/sqlite-core";`). */
176
+ drizzleImport: string;
177
+ /** Fonction de table (`sqliteTable`). */
178
+ tableFn: string;
179
+ /** Propriétés de l'interface de ligne. */
180
+ rowProps: string;
181
+ /** Corps du schéma Zod de création. */
182
+ zodProps: string;
183
+ /**
184
+ * Troisième argument de la table Drizzle — les index déclarés par `:index`.
185
+ *
186
+ * Chaîne vide quand aucun index n'est demandé : la table garde alors sa forme
187
+ * à deux arguments.
188
+ */
189
+ tableExtras: string;
190
+ /** `true` si la clé primaire est générée côté JS (le template importe `Nodefony`). */
191
+ needsNodefony: boolean;
192
+ /** Type TS de la clé primaire. */
193
+ idType: string;
194
+ }
195
+ /**
196
+ * Produit le code des colonnes, de l'interface de ligne et du schéma Zod.
197
+ *
198
+ * Les horodatages sont posés **côté JS** (`$defaultFn`/`$onUpdateFn`) et non en SQL :
199
+ * le DDL dérivé du mode dev n'émet pas les `DEFAULT` — un défaut SQL serait donc
200
+ * silencieusement absent des tables créées au boot.
201
+ *
202
+ * @param fields - champs analysés par {@link parseEntityFields}.
203
+ * @param options - dialecte, stratégie d'identifiant, horodatages, suppression douce.
204
+ */
205
+ export declare function buildEntityCodegen(fields: IEntityField[], options: {
206
+ dialect: TEntityDialect;
207
+ id: TEntityIdKind;
208
+ timestamps: boolean;
209
+ softDelete: boolean;
210
+ /**
211
+ * Nom de la table — sert à préfixer les noms d'index.
212
+ *
213
+ * Requis : en PostgreSQL comme en SQLite, un nom d'index est unique pour
214
+ * TOUTE la base. Deux entités qui indexeraient chacune un `title` se
215
+ * marcheraient dessus au premier boot.
216
+ */
217
+ table: string;
218
+ /**
219
+ * Index de TABLE, portant une ou plusieurs colonnes ({@link parseEntityIndexes}).
220
+ *
221
+ * Fusionnés avec ceux que les champs déclarent par `:index` — un même jeu de
222
+ * colonnes n'est émis qu'une fois, quelle que soit la voie empruntée.
223
+ */
224
+ indexes?: IEntityIndex[];
225
+ /**
226
+ * Casse des noms de COLONNES SQL — les propriétés TypeScript n'en dépendent pas.
227
+ *
228
+ * Défaut `camel` : le comportement historique, où la colonne porte le nom de la
229
+ * propriété. Une application existante impose presque toujours `snake`.
230
+ */
231
+ columnCase?: TColumnCase;
232
+ /**
233
+ * Nom SQL de la colonne de clé primaire (défaut `id`).
234
+ *
235
+ * La propriété reste `id` quoi qu'il arrive — cf {@link primaryKeyColumn}.
236
+ */
237
+ idName?: string;
238
+ }): IEntityCodegen;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Met en forme ce que le scaffold produit, avec le prettier DU PROJET.
3
+ *
4
+ * Pourquoi c'est ici et pas dans les gabarits : la forme canonique d'une ligne
5
+ * dépend souvent d'un identifiant que l'UTILISATEUR choisit.
6
+ * `export type ReportingMensuelConfigInput = z.input<…>` fait 87 colonnes ;
7
+ * le même gabarit nommé `blog` tient sous 80. Un gabarit rend UNE forme, donc
8
+ * aucune écriture de gabarit ne peut être juste pour tous les noms — ce n'est
9
+ * pas un cas particulier, c'est la règle, puisque presque tout ce qu'un
10
+ * générateur produit porte un nom dérivé. Mesuré : une application avec tous
11
+ * les générateurs rendait 16 fichiers que son propre `npm run format`
12
+ * réécrivait au premier passage.
13
+ *
14
+ * Le coût qui avait fait écarter cette solution — embarquer prettier dans le
15
+ * CLI, ~8 Mo dans chaque image de production — n'existe pas : l'application
16
+ * générée a DÉJÀ prettier en dépendance de développement. On emprunte le sien,
17
+ * et on ne fait rien s'il est absent.
18
+ *
19
+ * Trois règles, chacune tenant à une raison précise :
20
+ *
21
+ * 1. **Une CRÉATION est formatée, une RÉÉCRITURE seulement si le fichier
22
+ * suivait déjà prettier.** Une réécriture touche du code que l'utilisateur a
23
+ * écrit ; reformater en entier un fichier qui a son propre style produirait
24
+ * un diff énorme et lui imposerait notre convention. `format(avant) ===
25
+ * avant` répond exactement à « ce projet suit-il prettier ? ».
26
+ * 2. **Le formatage a lieu AVANT que le plan soit calculé**, jamais au vidage
27
+ * de la transaction : sinon `--dry-run` annoncerait une forme que
28
+ * l'exécution ne produirait pas. Une option dont le seul rôle est de dire ce
29
+ * qui va se passer ne peut pas mentir.
30
+ * 3. **Un échec ne bloque jamais une génération.** Prettier absent, illisible,
31
+ * ou qui refuse un fichier : on écrit le contenu tel quel. La mise en forme
32
+ * est un confort, pas une garantie.
33
+ */
34
+ import type { ScaffoldWriter } from "./writer.js";
35
+ /** Ce que la mise en forme a fait — matière du récapitulatif du CLI. */
36
+ export interface IFormatOutcome {
37
+ /** Fichiers effectivement remis en forme. */
38
+ formatted: number;
39
+ /**
40
+ * Fichiers formatables qu'on a laissés tels quels faute de prettier. Zéro
41
+ * quand il n'y avait rien à formater : le CLI ne parle que si ça compte.
42
+ */
43
+ pending: number;
44
+ }
45
+ /**
46
+ * Met en forme des fichiers DÉJÀ ÉCRITS, nommés un par un.
47
+ *
48
+ * La seconde porte, pour le seul cas que la transaction ne peut pas servir :
49
+ * `create app` écrit ses fichiers AVANT `npm install`, donc au moment du rendu
50
+ * le projet n'a aucun prettier à prêter. On repasse après l'installation.
51
+ *
52
+ * 🔴 **La liste est celle des fichiers que le scaffold a ÉCRITS, jamais un
53
+ * dossier.** Passer `.` à prettier reformaterait le projet ENTIER — le code que
54
+ * l'utilisateur a écrit compris, avec un diff qui déborde très loin de ce qu'on
55
+ * vient de générer. Un générateur met en forme ce qu'il produit, rien d'autre.
56
+ *
57
+ * Le prettier du projet est chargé comme MODULE, jamais lancé comme binaire :
58
+ * sous Windows le binaire est un `.cmd`, et depuis le correctif de
59
+ * CVE-2024-27980 Node refuse d'exécuter un `.cmd` sans `shell: true` (`EINVAL`).
60
+ * Passer par un shell demanderait ensuite d'échapper un chemin qui contient
61
+ * couramment des espaces. Le module n'a aucun de ces deux problèmes.
62
+ *
63
+ * @param files - chemins ABSOLUS des fichiers écrits par le scaffold.
64
+ * @param dest - dossier du projet, point de départ de la recherche de prettier.
65
+ * @returns ce qui a été mis en forme, et ce qui attend faute de prettier.
66
+ */
67
+ export declare function formatFilesOnDisk(files: string[], dest: string): IFormatOutcome;
68
+ /**
69
+ * Met en forme les écritures en attente, dans la transaction.
70
+ *
71
+ * Appelée par {@link runScaffold} AVANT la bifurcation dry-run / vidage, pour
72
+ * que le plan annoncé et le résultat écrit soient le même texte.
73
+ *
74
+ * @param writer - la transaction du scaffold racine.
75
+ * @param dest - dossier visé, point de départ de la recherche de prettier.
76
+ * @returns ce qui a été mis en forme, et ce qui attend faute de prettier.
77
+ */
78
+ export declare function formatScaffoldOutput(writer: ScaffoldWriter, dest: string): IFormatOutcome;
@@ -0,0 +1,11 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ import type { IScaffoldTypeSpec } from "./spec.js";
3
+ import type { IScaffoldCaps, IScaffoldContext, TScaffoldAnswers } from "./engine.js";
4
+ /** Confirmation simple `[O/n]` — pour le récap final avant génération. */
5
+ export declare function confirm(question: string, input?: Readable, output?: Writable): Promise<boolean>;
6
+ /**
7
+ * Pose les questions de la spec NON déjà répondues (les flags argv gagnent —
8
+ * on ne redemande jamais ce que l'utilisateur a déjà dit) et retourne les
9
+ * réponses fusionnées. Les questions `askIf` non satisfaites sont sautées.
10
+ */
11
+ export declare function askMissing(spec: IScaffoldTypeSpec, partial: TScaffoldAnswers, caps: IScaffoldCaps, input?: Readable, output?: Writable, context?: IScaffoldContext | null): Promise<TScaffoldAnswers>;
@@ -0,0 +1,69 @@
1
+ /**
2
+ * OÙ les modules d'un dépôt vivent, et sous quel NOM ils naissent.
3
+ *
4
+ * ## Le problème que ça règle
5
+ *
6
+ * `create module` posait ses modules dans `modules/<nom>` en dur, avec un scope
7
+ * npm dérivé du nom de l'application. C'est juste pour une app générée — et faux
8
+ * pour un monorepo qui range ses paquets ailleurs, à commencer par le dépôt du
9
+ * framework lui-même (`src/packages/@nodefony/*`). Conséquence vécue : l'auteur
10
+ * du framework écrivait à la main le squelette que sa propre commande sait
11
+ * produire, et le squelette dérivait sans que rien ne le signale.
12
+ *
13
+ * ## La règle
14
+ *
15
+ * Le layout se **CONSTATE** dans les `workspaces` du `package.json` de la
16
+ * racine — jamais ne se déduit d'un nom de dépôt ni d'un chemin en dur. Une
17
+ * entrée de la forme `<prefixe>/@<scope>/*` déclare un dossier de **paquets
18
+ * scopés** : un module qui y naît est un paquet publiable, et prend ce scope.
19
+ * Sans une telle entrée, on est dans le layout d'une application : `modules/`,
20
+ * scope dérivé du nom de l'app.
21
+ *
22
+ * Tout est DÉRIVÉ de la déclaration : rien n'est écrit en dur ici, pas même
23
+ * `@nodefony` — le dépôt du framework n'est qu'un cas particulier de la règle.
24
+ *
25
+ * ⚠️ Les chemins rendus ici **voyagent** (messages, comparaisons, gabarits) :
26
+ * ils sont donc en `/`, jamais en séparateur natif. Pour OUVRIR, l'appelant
27
+ * recompose (`path.join(root, ...dir.split("/"))`).
28
+ */
29
+ /** Manifeste racine, réduit à ce dont le layout dépend. */
30
+ export interface IRootManifest {
31
+ name?: string;
32
+ workspaces?: string[];
33
+ }
34
+ /** Où poser un module, sous quel nom, et ce que le dépôt déclare déjà. */
35
+ export interface IModuleLayout {
36
+ /**
37
+ * `packages` : dossier de paquets scopés déclaré en workspace → le module naît
38
+ * PUBLIABLE (exports, types, `files`, peerDependencies).
39
+ * `modules` : layout d'application → module local, privé.
40
+ */
41
+ kind: "packages" | "modules";
42
+ /** Dossier où créer un module neuf, relatif à la racine, en `/`. */
43
+ createDir: string;
44
+ /** Scope npm des modules créés, `@` compris. */
45
+ scope: string;
46
+ /** Dossiers à balayer pour lister les cibles existantes, en `/`. */
47
+ targetDirs: string[];
48
+ /**
49
+ * Le dépôt déclare-t-il DÉJÀ {@link createDir} en workspace npm ?
50
+ *
51
+ * `false` ⇒ l'appelant doit l'ajouter (sans le symlink de workspace, le Kernel
52
+ * ne peut pas importer le module par son nom). `true` ⇒ ne toucher à rien : un
53
+ * monorepo établi a ses propres scripts, et les chaîner par-dessus casserait sa
54
+ * chaîne de construction.
55
+ */
56
+ workspaceDeclared: boolean;
57
+ }
58
+ /**
59
+ * Déduit le layout des modules à partir du manifeste de la racine.
60
+ *
61
+ * Fonction PURE (aucun accès disque) : le manifeste est lu par l'appelant, ce
62
+ * qui la rend éprouvable sur des dépôts qu'on n'a pas.
63
+ *
64
+ * @param manifest - `package.json` de la racine du projet, déjà analysé.
65
+ * @param projectDirName - nom du dossier racine, repli quand le manifeste n'a
66
+ * pas de `name` (le scope d'une app en dérive).
67
+ * @returns le layout à appliquer.
68
+ */
69
+ export declare function resolveModuleLayout(manifest: IRootManifest, projectDirName: string): IModuleLayout;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Noms d'entités que les modules du framework occupent déjà dans le registre ORM.
3
+ *
4
+ * Le registre d'entités est PLAT et partagé par toute l'application : deux entités
5
+ * du même nom ne cohabitent pas. Une application qui déclare la sienne écrase
6
+ * silencieusement celle d'un module, et l'échec ne se voit qu'au démarrage suivant,
7
+ * sous la forme d'une colonne inconnue dans une requête du module dépossédé — un
8
+ * message qui ne nomme ni le doublon, ni le fichier fautif. D'où le refus AVANT
9
+ * d'écrire, avec le nom du propriétaire et une porte de sortie.
10
+ *
11
+ * ⚠️ Cette table décrit le FRAMEWORK, pas les modules tiers : un module applicatif
12
+ * inconnu d'ici peut réserver un nom qu'elle ignore. Elle est tenue honnête par le
13
+ * gate `NF_RUN_CLI_BOOT=1` de `CliIntegration.test.ts`, qui la confronte à ce que
14
+ * `nodefony inspect entities --json` rapporte réellement sur ce dépôt.
15
+ */
16
+ /** Entité du framework : le nom occupé et le module qui le porte. */
17
+ export interface IReservedEntity {
18
+ /** Nom tel qu'il est enregistré au registre ORM. */
19
+ readonly name: string;
20
+ /** Module propriétaire (nom court, tel que rapporté par `inspect entities`). */
21
+ readonly module: string;
22
+ /** Ce que l'utilisateur devrait faire à la place. */
23
+ readonly advice: string;
24
+ /**
25
+ * `true` quand l'entité appartient à l'APPLICATION et non au framework.
26
+ *
27
+ * Le nom reste connu d'ici — un module le lit, et le registre reste plat —
28
+ * mais il n'est plus INTERDIT : le générateur écrit l'entité au lieu de la
29
+ * refuser, et le contrôle de câblage ne la dénonce plus. Sans cette
30
+ * distinction, les deux lieux qui consultent cette table auraient chacun leur
31
+ * exception, et elles auraient divergé.
32
+ */
33
+ readonly appOwned?: true;
34
+ }
35
+ export declare const RESERVED_ENTITY_NAMES: readonly IReservedEntity[];
36
+ /**
37
+ * Cherche une collision de nom d'entité avec le framework.
38
+ *
39
+ * Comparaison INSENSIBLE À LA CASSE et aux séparateurs : `AccessToken`,
40
+ * `access_token` et `accesstoken` désignent la même table pour un humain comme
41
+ * pour la plupart des moteurs (MySQL et SQLite comparent les noms de table sans
42
+ * égard à la casse sur les systèmes de fichiers courants). Laisser passer
43
+ * `AccessToken` parce que le registre écrit `access_token` reviendrait à autoriser
44
+ * exactement la panne qu'on cherche à éviter.
45
+ *
46
+ * @param name - nom d'entité demandé (`create entity <Nom>`).
47
+ * @returns l'entrée réservée qui entre en conflit, ou `null` si le nom est libre.
48
+ */
49
+ export declare function findReservedEntity(name: string): IReservedEntity | null;
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Spec DÉCLARATIVE du scaffold — la source unique des choix de création.
3
+ *
4
+ * Les questions sont des DONNÉES (JSON-able, zéro fonction) : le même contrat
5
+ * alimente les TROIS fronts de création —
6
+ * 1. CLI rapide : flags argv → réponses (`--preset minimal --frontend react`) ;
7
+ * 2. CLI interactif : `interactive.ts` rend chaque question en readline natif ;
8
+ * 3. Studio : un endpoint data plane sert `getScaffoldSpec()` en JSON,
9
+ * le formulaire React poste les réponses au MÊME moteur (`engine.ts`).
10
+ *
11
+ * ⚠️ **Deux fronts sur trois se servent seuls** : l'interactif et Studio LISENT
12
+ * cette spec, donc une question ajoutée y apparaît sans qu'on les touche. La
13
+ * voie FLAGS, elle, a une analyse écrite à la main (`parseCreateArgv`) : une
14
+ * question sans drapeau est servie à l'humain et REFUSÉE au script, sans un mot
15
+ * — c'est arrivé. Le drapeau se déduit de la clé (`maClé` → `--ma-cle`), sauf
16
+ * mention `flag` ; et un test du dépôt refuse toute question qu'aucun drapeau
17
+ * ne sert.
18
+ */
19
+ export interface IScaffoldQuestion {
20
+ key: string;
21
+ /** Libellé montré tel quel par le CLI interactif et Studio. */
22
+ label: string;
23
+ /**
24
+ * `"list"` = plusieurs valeurs indépendantes, chacune conservée entière.
25
+ *
26
+ * Distinct de `"string"` pour une raison qui se paie cher autrement : les
27
+ * réponses sont normalisées en texte, et deux valeurs concaténées deviennent
28
+ * indiscernables d'une seule. Deux index de deux colonnes se fondraient ainsi en
29
+ * un index de quatre — du code qui compile et n'indexe pas ce qu'on croit.
30
+ */
31
+ type: "string" | "boolean" | "choice" | "list";
32
+ /** Choix ordonnés (type "choice") — le premier N'est PAS forcément le défaut. */
33
+ choices?: {
34
+ value: string;
35
+ label: string;
36
+ hint?: string;
37
+ }[];
38
+ default: string | boolean | string[];
39
+ /** Regex source (sans flags) que la valeur string doit satisfaire. */
40
+ pattern?: string;
41
+ /** Message d'aide affiché si la validation échoue. */
42
+ patternHint?: string;
43
+ /**
44
+ * Condition d'affichage par CAPACITÉ d'environnement (JSON-able — pas de
45
+ * fonction) : la question n'est posée que si le front la déclare vraie.
46
+ * `hasCheckout` = un checkout nodefony-core est résolvable (mode --link).
47
+ */
48
+ askIf?: "hasCheckout";
49
+ /**
50
+ * Condition d'affichage par RÉPONSE PRÉCÉDENTE (JSON-able) : la question n'est
51
+ * posée que si `key` a déjà pour valeur `equals`. Distinct d'`askIf`, qui
52
+ * interroge l'ENVIRONNEMENT (un checkout est-il là ?) là où celle-ci exprime
53
+ * une dépendance entre deux choix de la même création.
54
+ *
55
+ * Non satisfaite, la question n'est ni posée ni honorée : sa valeur retombe au
56
+ * DÉFAUT de la spec. Une réponse portant sur ce qui ne sera pas généré n'a pas
57
+ * de sens à conserver — `--database postgres --preset minimal` ne rend aucun
58
+ * `compose.yaml` où mettre un service.
59
+ *
60
+ * La question référencée doit précéder celle-ci : le moteur comme le dialogue
61
+ * résolvent les questions dans l'ordre de la spec.
62
+ */
63
+ askWhen?: {
64
+ key: string;
65
+ equals: string;
66
+ };
67
+ /**
68
+ * Source des choix RÉELS de cette question, dans le projet courant (JSON-able,
69
+ * même esprit qu'`askIf`).
70
+ *
71
+ * Certaines réponses ne sont connues que du projet : les connecteurs qu'il
72
+ * déclare, les entités qu'il contient déjà. Les écrire dans la spec serait
73
+ * faux le lendemain. La question désigne donc une clé de
74
+ * `getScaffoldContext()`, et chaque front l'hydrate à sa manière — Studio en
75
+ * liste déroulante, le terminal en choix numérotés, `--describe-json` en
76
+ * embarquant le contexte.
77
+ *
78
+ * Sans cela, `ref:` et `--connector` restent du texte libre : une faute de
79
+ * frappe passe le scaffold et ne se voit qu'au démarrage suivant.
80
+ */
81
+ optionsFrom?: "connectors" | "entities";
82
+ /**
83
+ * Réglage **avancé** : jamais posé en dialogue (son défaut est sûr), mais piloté par
84
+ * une option de la ligne de commande — et proposé par Studio dans un repli.
85
+ *
86
+ * Pourquoi ce drapeau plutôt que sortir la question de la spec : c'est la spec qui
87
+ * porte les défauts, la validation et les valeurs permises. Une option absente d'ici
88
+ * serait silencieusement ignorée par le moteur (`resolveAnswers` ne garde que les
89
+ * clés déclarées) — le pire des deux mondes.
90
+ */
91
+ advanced?: boolean;
92
+ /**
93
+ * Nom du drapeau de ligne de commande, quand il ne se DÉDUIT pas de la clé.
94
+ *
95
+ * La convention est `maClé` → `--ma-cle`, et elle couvre presque tout. Restent
96
+ * les cas où le drapeau dit l'inverse (`timestamps` se règle par
97
+ * `--no-timestamps` : le défaut est vrai, seul le retrait se nomme) ou porte
98
+ * un autre mot (`uniqueIndex` → `--unique`, répétable).
99
+ *
100
+ * 🔴 **Pourquoi ce champ existe plutôt qu'une table dans un test** : sans lui,
101
+ * rien ne relie une question à sa voie « script », et une question ajoutée
102
+ * sans drapeau est servie à l'humain, refusée au script — sans un mot. C'est
103
+ * arrivé (`agents`). Le déclarer ICI rend le contrôle possible depuis la spec
104
+ * elle-même, et l'affirmation de l'en-tête enfin vraie.
105
+ */
106
+ flag?: string;
107
+ }
108
+ /** Spec d'un type de scaffold (`app` aujourd'hui ; `module`/`controller`/`entity` suivent). */
109
+ export interface IScaffoldTypeSpec {
110
+ type: string;
111
+ description: string;
112
+ questions: IScaffoldQuestion[];
113
+ }
114
+ /** Frameworks front supportés par `@nodefony/frontend` (builder Vite multi-framework). */
115
+ export declare const FRONTEND_CHOICES: readonly ["none", "react", "vue", "angular", "svelte"];
116
+ export type TFrontendChoice = (typeof FRONTEND_CHOICES)[number];
117
+ /** Presets d'app : la vitrine complète (défaut) ou la base saine http+framework. */
118
+ export declare const PRESET_CHOICES: readonly ["complete", "minimal"];
119
+ export type TPresetChoice = (typeof PRESET_CHOICES)[number];
120
+ /**
121
+ * Base SQL de développement — le dialecte que l'app vise, choisi À LA CRÉATION.
122
+ *
123
+ * `sqlite` reste le défaut : c'est le seul qui n'exige aucun service, et la
124
+ * promesse du framework est qu'une app fraîche démarre sans rien allumer. Les
125
+ * trois autres ne changent RIEN dans le code de l'app (l'ORM déduit le dialecte
126
+ * du scheme de `NF_DATABASE_URL`) — ils décident du service que l'infra de dev
127
+ * fournit, et de l'URL qui la joint.
128
+ */
129
+ export declare const DATABASE_CHOICES: readonly ["sqlite", "postgres", "mariadb", "mysql"];
130
+ export type TDatabaseChoice = (typeof DATABASE_CHOICES)[number];
131
+ /** Saveurs de controller : le WS est TOUJOURS là (différenciateur Nodefony). */
132
+ export declare const CONTROLLER_KIND_CHOICES: readonly ["hello", "rest", "duplex", "realtime", "example"];
133
+ export type TControllerKindChoice = (typeof CONTROLLER_KIND_CHOICES)[number];
134
+ /**
135
+ * Saveurs de controller posables AVEC le module — les mêmes que `create
136
+ * controller` (le scaffold module DÉLÈGUE, il ne duplique aucun template),
137
+ * plus `none` pour une coquille nue.
138
+ */
139
+ export declare const MODULE_CONTROLLER_CHOICES: readonly ["none", "hello", "rest", "duplex", "realtime", "example"];
140
+ export type TModuleControllerChoice = (typeof MODULE_CONTROLLER_CHOICES)[number];
141
+ /**
142
+ * Phases de boot proposées comme point d'exécution d'une commande.
143
+ *
144
+ * C'est le `kernelEvent` de `OptionsCommandInterface` — le kernel s'ARRÊTE à
145
+ * cette phase. Trois valeurs suffisent à couvrir les usages réels ; les autres
146
+ * phases (`onPreBoot`, `onServersReady`…) restent atteignables en éditant le
147
+ * fichier généré, mais n'ont pas à être proposées à qui crée sa première
148
+ * commande.
149
+ */
150
+ export declare const COMMAND_PHASE_CHOICES: readonly ["onReady", "onRegister", "onPostReady"];
151
+ export type TCommandPhaseChoice = (typeof COMMAND_PHASE_CHOICES)[number];
152
+ /** Stratégies de clé primaire proposées par `create entity`. */
153
+ export declare const ENTITY_ID_CHOICES: readonly ["uuid7", "uuid4", "serial"];
154
+ export type TEntityIdChoice = (typeof ENTITY_ID_CHOICES)[number];
155
+ /**
156
+ * La spec complète du scaffold — contrat des trois fronts (CLI rapide,
157
+ * CLI interactif, Studio). Structure 100 % sérialisable en JSON.
158
+ */
159
+ export declare function getScaffoldSpec(type?: string): IScaffoldTypeSpec[];
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Étapes qui SUIVENT l'écriture d'un scaffold.
3
+ *
4
+ * Le moteur (`engine.ts`) est pur : il écrit des fichiers et s'arrête là. Mais
5
+ * du code écrit n'est pas encore du code qui tourne — il reste à installer les
6
+ * dépendances, construire, vérifier les types. Ces étapes sont donc décrites
7
+ * ICI, une fois, et exécutées par chaque front à sa façon : le CLI hérite du
8
+ * terminal de l'utilisateur, Studio streame chaque ligne sur un canal temps
9
+ * réel. Les deux manières de LES MONTRER sont légitimement différentes ; ce qui
10
+ * ne doit pas diverger, c'est CE QU'ELLES SONT.
11
+ *
12
+ * La commande de chaque étape est figée côté serveur. Un front n'envoie jamais
13
+ * qu'un identifiant d'étape, jamais une ligne de commande : c'est ce qui sépare
14
+ * « piloter un générateur » de « exécuter du shell à distance ».
15
+ */
16
+ /** Étapes possibles, dans leur ordre d'exécution naturel. */
17
+ export declare const SCAFFOLD_STEPS: readonly ["install", "build", "typecheck"];
18
+ export type TScaffoldStep = (typeof SCAFFOLD_STEPS)[number];
19
+ /** Arguments passés à `npm` pour chaque étape. */
20
+ export declare const SCAFFOLD_STEP_COMMANDS: Record<TScaffoldStep, readonly string[]>;
21
+ /** Ce que chaque étape apporte — affiché avant de la lancer. */
22
+ export declare const SCAFFOLD_STEP_LABELS: Record<TScaffoldStep, string>;
23
+ /** Une étape connue ? (garde des entrées venues du réseau). */
24
+ export declare function isScaffoldStep(value: unknown): value is TScaffoldStep;