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,573 @@
1
+ /**
2
+ * RealtimeClient — Core isomorphe Nodefony côté navigateur (P14.11).
3
+ *
4
+ * Protocole : JSON-RPC 2.0 maison sur WebSocket (+ HTTP long-polling fallback TODO P13).
5
+ * State machine : disconnected → connecting → connected → reconnecting → error.
6
+ *
7
+ * Features :
8
+ * - reconnect exponentiel avec back-off
9
+ * - pub/sub (on/off/emit) — notifications JSON-RPC sans id
10
+ * - request/response — RPC bidirectionnel typé
11
+ * - streaming — chunks `{ id, stream: { chunk, done } }` pour LLM token-by-token
12
+ *
13
+ * Le backend WS de référence (RealtimeService) sera implémenté en P13.4.
14
+ * En attendant, ce client peut parler à n'importe quel serveur JSON-RPC 2.0.
15
+ */
16
+ import { type NodefonyNotice, type IRealtimeDenied } from "./notice.js";
17
+ import { type IRealtimePeer, type JsonRpcFrameKind } from "../../realtime/JsonRpcPeer.js";
18
+ /**
19
+ * Enveloppe d'un appel {@link RealtimeClient.call} : la valeur rendue par la
20
+ * route, et l'identifiant du profil serveur de cette frame (dev — `null` en
21
+ * production, où le serveur n'émet aucune méta).
22
+ */
23
+ export interface IApiCallResult<T = unknown> {
24
+ result: T;
25
+ requestId: string | null;
26
+ }
27
+ import { type RealtimeTransportFactory } from "../../realtime/IRealtimeTransport.js";
28
+ import type { IRealtimeSocket, IRealtimeChannel, IChannelStats, RealtimeHandler } from "../../realtime/IRealtimeSocket.js";
29
+ import type { ActionNames, ActionParams, ActionResult, ActionsMap, DefaultActionsMap, DefaultEventsMap, EventNames, EventPayload, EventsMap, RealtimeIdentity, TypedRpcActionHandler, ContractParams, ContractResult } from "../../realtime/RealtimeEventMap.js";
30
+ import { type BindAdaptiveOptions, type AdaptiveChannelBinding } from "./AdaptiveRate.js";
31
+ export { closeCodeToNotice, deniedToNotice, isReconnectableCloseCode, } from "./notice.js";
32
+ export type { NodefonyNotice, NoticeLevel, IRealtimeDenied } from "./notice.js";
33
+ export { RpcError } from "../../realtime/JsonRpcPeer.js";
34
+ export type { RealtimeIdentity, IRealtimeWelcome, } from "../../realtime/RealtimeEventMap.js";
35
+ export type RealtimeState = "disconnected" | "connecting" | "connected" | "reconnecting" | "error";
36
+ export interface RealtimeOptions {
37
+ url?: string;
38
+ token?: string | null;
39
+ /** Reconnexion auto. Défaut: true. */
40
+ autoReconnect?: boolean;
41
+ /** Délai initial entre tentatives (ms). Défaut: 1000. */
42
+ reconnectDelay?: number;
43
+ /** Délai max entre tentatives (ms). Défaut: 30000. */
44
+ reconnectDelayMax?: number;
45
+ /** Heartbeat ping interval (ms). Défaut: 30000. */
46
+ heartbeatInterval?: number;
47
+ /**
48
+ * Annoncer le framework dans la console du navigateur ? Défaut : oui.
49
+ *
50
+ * Une socket qui vit NUE — sans noyau — est souvent tout ce qu'une page monte :
51
+ * sans cette annonce, elle ne dit rien d'elle-même et `nodefony` reste
52
+ * `undefined` dans la console, ce qui se lit « le framework n'est pas chargé ».
53
+ * `false` fait taire l'annonce ET le handle, pour une application publiée qui
54
+ * ne veut rien dans la console de ses utilisateurs.
55
+ */
56
+ banner?: boolean;
57
+ }
58
+ /**
59
+ * Stats d'un canal — alias historique de {@link IChannelStats} (le contrat isomorphe
60
+ * `IRealtimeSocket`). Conservé pour les consommateurs qui importent `MessageStats`.
61
+ */
62
+ export type MessageStats = IChannelStats;
63
+ /** Une frame du protocole temps réel (JSON-RPC 2.0) — pour le log/inspecteur. */
64
+ export interface RealtimeFrame {
65
+ /** Timestamp (ms epoch). */
66
+ ts: number;
67
+ /** Sens : `out` = client→serveur, `in` = serveur→client. */
68
+ dir: "in" | "out";
69
+ /** Méthode (notification/requête) ou `response`/`error`/`stream`. */
70
+ kind: string;
71
+ /** id JSON-RPC (requêtes/réponses), si présent. */
72
+ id?: number;
73
+ /** Canal pub/sub (`params.channel`), si présent. */
74
+ channel?: string;
75
+ /** Payload affichable — champs sensibles **redactés** (token/secret…). */
76
+ payload: unknown;
77
+ }
78
+ /**
79
+ * Réponse de la méthode RPC standard `nodefony:kernel:ping` — CONVENTION Nodefony : tout
80
+ * endpoint realtime (Studio aujourd'hui, `RealtimeService` en P13.4) y répond.
81
+ * Sert de liveness + base de mesure du round-trip (cf {@link RealtimeClient.ping}).
82
+ */
83
+ export interface KernelPingResult {
84
+ pong: true;
85
+ ts: number;
86
+ /** uptime process serveur (s). */
87
+ uptime: number;
88
+ pid: number;
89
+ version?: string;
90
+ }
91
+ /**
92
+ * Tentative de reconnexion programmée par le back-off — charge utile de
93
+ * {@link RealtimeClient.onReconnect}.
94
+ */
95
+ export interface RealtimeReconnectInfo {
96
+ /** Numéro de la tentative depuis la dernière connexion réussie (1 = la première). */
97
+ attempt: number;
98
+ /** Délai retenu avant cette tentative (ms), plafonné par `reconnectDelayMax`. */
99
+ delay: number;
100
+ /** Échéance absolue de la tentative (ms epoch) — pour un compte à rebours. */
101
+ nextRetryAt: number;
102
+ }
103
+ export declare class RealtimeClient<Emit extends EventsMap = DefaultEventsMap, Listen extends EventsMap = DefaultEventsMap, Actions extends ActionsMap = DefaultActionsMap> implements IRealtimeSocket<Emit, Listen, Actions>, IRealtimePeer<Emit, Actions> {
104
+ private readonly opts;
105
+ private transport;
106
+ private readonly transportFactory;
107
+ private _state;
108
+ private readonly peer;
109
+ private readonly handlers;
110
+ private readonly _subscriptions;
111
+ private _welcomed;
112
+ private reconnectAttempt;
113
+ private _nextRetryAt;
114
+ private reconnectTimer;
115
+ private heartbeatTimer;
116
+ private intentionalClose;
117
+ private readonly _stats;
118
+ private _framesReceived;
119
+ private _framesUnsent;
120
+ private _unsentNotified;
121
+ private _lastFrameAt;
122
+ private _lastFrameMethod;
123
+ private statsTimer;
124
+ private readonly _prevSampled;
125
+ private _rawFrames;
126
+ private _identity;
127
+ private _serverChannels;
128
+ private _serverMethods;
129
+ constructor(opts?: RealtimeOptions, transportFactory?: RealtimeTransportFactory);
130
+ /**
131
+ * Instance de connexion **partagée par URL** (résolue en absolu) sur
132
+ * `globalThis`. Plusieurs consommateurs d'une même page (ex. Studio + barre de
133
+ * debug) obtiennent la MÊME instance → **une seule socket** WebSocket. Les
134
+ * options ne s'appliquent qu'à la 1ʳᵉ création (les suivantes réutilisent).
135
+ *
136
+ * @param opts - options (au moins `url`), appliquées seulement à la création.
137
+ * @returns l'instance partagée pour cette URL.
138
+ */
139
+ static shared(opts?: RealtimeOptions): RealtimeClient;
140
+ /**
141
+ * Message d'une adresse manquante — LA seule formulation, employée par les
142
+ * deux chemins qui peuvent la constater.
143
+ *
144
+ * Il n'y a **pas** de valeur par défaut, et c'est délibéré : la route dépend
145
+ * de l'application, pas du framework. Deviner `/nodefony/api/realtime` — ce
146
+ * que faisait ce client — donnait une socket qui ne se connecte jamais et se
147
+ * contente de retenter, sans un mot. Un échec franc coûte trente secondes ;
148
+ * une socket silencieusement morte coûte une soirée.
149
+ */
150
+ private static missingUrl;
151
+ /** Résout une URL (relative ou absolue) en chaîne absolue stable = clé du singleton. */
152
+ private static resolveUrl;
153
+ get state(): RealtimeState;
154
+ /** Nombre de tentatives de reconnexion depuis la dernière connexion réussie. */
155
+ get reconnectAttempts(): number;
156
+ /**
157
+ * Timestamp (ms epoch) de la prochaine tentative de reconnexion planifiée,
158
+ * `null` hors backoff. Permet un compte à rebours UI synchronisé au vrai délai.
159
+ */
160
+ get nextRetryAt(): number | null;
161
+ /**
162
+ * Force une reconnexion **immédiate** (annule le backoff en cours). No-op si
163
+ * déjà connecté/connexion en cours.
164
+ */
165
+ retryNow(): void;
166
+ /**
167
+ * Ouvre la connexion WS. Idempotent — si déjà ouverte, no-op.
168
+ * Resolve une fois `connected` ou reject sur erreur fatale.
169
+ */
170
+ connect(url?: string): Promise<void>;
171
+ /** L'URL configurée, ou l'échec franc — jamais une valeur devinée. */
172
+ private requireUrl;
173
+ disconnect(): void;
174
+ /** Pub/sub local — handler sur un event server-pushed (notification JSON-RPC). */
175
+ on<K extends string>(event: K, handler: K extends EventNames<Listen> ? (payload: EventPayload<Listen, K>) => void : RealtimeHandler): () => void;
176
+ off<K extends string>(event: K, handler: K extends EventNames<Listen> ? (payload: EventPayload<Listen, K>) => void : RealtimeHandler): void;
177
+ /**
178
+ * S'abonne aux **notices normalisées** émises par le client : criticités qui
179
+ * cassent le temps réel (close codes RFC 6455 interprétés via
180
+ * {@link closeCodeToNotice}), erreurs serveur poussées, rétablissement de
181
+ * connexion. Réutilisable par toute app — le centre de notifications (snackbar
182
+ * Studio) s'y branche directement.
183
+ *
184
+ * @param handler - reçoit chaque {@link NodefonyNotice}.
185
+ * @returns dispose (désabonnement).
186
+ */
187
+ onNotice(handler: (notice: NodefonyNotice) => void): () => void;
188
+ /**
189
+ * S'abonne aux **refus de canal** poussés par le serveur (`realtime:denied`) :
190
+ * un `subscribe`/push vers un canal protégé sans droit suffisant. Permet une
191
+ * réaction CIBLÉE par canal (griser un contrôle, demander une élévation),
192
+ * complémentaire de {@link onNotice} (UX générique). Event LOCAL `__denied__`.
193
+ *
194
+ * Polymorphisme CLIENT : la réaction est pluggable ici ; l'AUTORITÉ reste
195
+ * serveur (le firewall a déjà décidé, le motif est générique — pas d'oracle).
196
+ *
197
+ * @param handler - reçoit `{ channel, reason }`.
198
+ * @returns dispose (désabonnement).
199
+ */
200
+ onDenied(handler: (denied: IRealtimeDenied) => void): () => void;
201
+ /**
202
+ * Notification one-way client → server (pas de réponse attendue).
203
+ *
204
+ * C'est la SEULE émission dont personne n'apprend l'échec autrement : une
205
+ * requête corrélée est rejetée, un (dés)abonnement est rejoué au reconnect —
206
+ * une notification applicative perdue, elle, ne laisse aucune trace. Si le
207
+ * transport est fermé, l'utilisateur en est donc averti (une fois par épisode
208
+ * de coupure, cf {@link send}).
209
+ */
210
+ emit<K extends string>(method: K, params?: K extends EventNames<Emit> ? EventPayload<Emit, K> : unknown): void;
211
+ /**
212
+ * Émission interne sans typage strict — utilisée pour les notifications système
213
+ * (`subscribe`, `unsubscribe`, `ping`) qui ne figurent pas dans la map `Emit`
214
+ * utilisateur. Bypasse les types conditionnels de {@link emit}.
215
+ *
216
+ * Ces frames-là **ne préviennent pas** l'utilisateur quand elles se perdent :
217
+ * les abonnements sont rejoués à la reconnexion et le heartbeat est arrêté
218
+ * avec les timers. Avertir ferait paraître comme une perte ce que le client
219
+ * rattrape tout seul — du bruit dans le centre de notifications d'une app qui
220
+ * monte et démonte des vues (le cas de Studio).
221
+ *
222
+ * @returns `false` si le transport n'a pas émis la frame.
223
+ */
224
+ private _emitRaw;
225
+ /**
226
+ * Émet sur un canal — verbe socket de {@link IRealtimeSocket.publish}. Côté client =
227
+ * notification au serveur (alias clair de {@link emit}).
228
+ */
229
+ publish<K extends string>(channel: K, payload?: K extends EventNames<Emit> ? EventPayload<Emit, K> : unknown): void;
230
+ /**
231
+ * S'abonne à un canal pub/sub serveur (**ref-compté**). Émet la notification
232
+ * `subscribe` au serveur UNIQUEMENT au 1er consommateur du canal ; les suivants
233
+ * ne font qu'incrémenter le compteur. Ré-émis automatiquement à chaque
234
+ * `realtime:welcome` — jamais à la simple ouverture de la socket, où le serveur
235
+ * le jetterait sans un mot. NE remplace PAS {@link on} : `on(channel, h)` REÇOIT les
236
+ * messages, `subscribe(channel)` DEMANDE au serveur de les pousser.
237
+ *
238
+ * Autorité unique partagée par le binding `nodefony/react` ET le store Studio →
239
+ * deux consommateurs du même canal ne se coupent plus l'un l'autre.
240
+ */
241
+ subscribe(channel: EventNames<Listen> | (string & {})): void;
242
+ /**
243
+ * Désabonne un consommateur d'un canal (ref-compté) : émet `unsubscribe` au
244
+ * serveur seulement au **dernier** consommateur. No-op si le canal n'est pas suivi.
245
+ */
246
+ unsubscribe(channel: EventNames<Listen> | (string & {})): void;
247
+ /** Canaux actuellement abonnés (≥ 1 consommateur). Lecture seule. */
248
+ get subscribedChannels(): string[];
249
+ /**
250
+ * L'adresse du serveur temps réel, telle qu'elle a été donnée (ou résolue en
251
+ * absolu par {@link shared}). `null` tant qu'aucune n'a été fournie — le
252
+ * framework n'en devine aucune.
253
+ *
254
+ * Publiée pour l'auto-observation : un instantané de socket qui ne dit pas DE
255
+ * QUELLE socket il parle ne sert à rien dès qu'une page en tient plus d'une.
256
+ */
257
+ get url(): string | null;
258
+ /**
259
+ * Identité de la connexion, **annoncée par le serveur** au `realtime:welcome`
260
+ * ({@link RealtimeIdentity}). `null` tant qu'aucun welcome n'a été reçu ; une
261
+ * fois reçu, un visiteur anonyme a `authenticated: false` (jamais `null`). Un
262
+ * consommateur (Studio) sait ainsi s'il doit afficher le login **sans taper de
263
+ * route**. Rafraîchie à chaque (re)connexion ; remise à `null` au
264
+ * {@link disconnect} volontaire (logout).
265
+ */
266
+ get identity(): RealtimeIdentity | null;
267
+ /** Canaux pub/sub annoncés par le serveur au welcome (découverte). `null` si pas (encore) reçu. */
268
+ get serverChannels(): readonly string[] | null;
269
+ /** Actions RPC annoncées par le serveur au welcome (découverte). `null` si pas (encore) reçu. */
270
+ get serverMethods(): readonly string[] | null;
271
+ /**
272
+ * S'abonne à l'identité résolue (event LOCAL `__identity__`, jamais réseau) :
273
+ * le handler est rappelé à chaque (re)welcome et au `disconnect()`. Permet à
274
+ * l'UI de basculer anonyme↔authentifié sans polling ni route `/auth/me`.
275
+ *
276
+ * @param handler - reçoit la {@link RealtimeIdentity} courante (ou `null`).
277
+ * @returns dispose (désabonnement).
278
+ */
279
+ onIdentity(handler: (identity: RealtimeIdentity | null) => void): () => void;
280
+ /**
281
+ * S'abonne à l'**état de la connexion** (event LOCAL `__state__`, jamais réseau) :
282
+ * le handler est rappelé à chaque transition (`connecting`, `connected`,
283
+ * `reconnecting`, `error`, `disconnected`), jamais pour un état inchangé.
284
+ *
285
+ * C'est la porte à employer partout — un badge de connexion, une liaison de vue,
286
+ * une barre de debug. Écrire `on("__state__", …)` en clair marche aussi, mais
287
+ * recopie un nom d'événement interne dans du code applicatif : c'est ce qui a
288
+ * fait diverger les trois gabarits d'application.
289
+ *
290
+ * @param handler - reçoit le nouvel {@link RealtimeState}.
291
+ * @returns dispose (désabonnement).
292
+ */
293
+ onState(handler: (state: RealtimeState) => void): () => void;
294
+ /**
295
+ * S'abonne au **tick d'échantillonnage des statistiques** (event LOCAL
296
+ * `__stats__`, jamais réseau), émis une fois par seconde après recalcul des
297
+ * débits par canal. Sans charge utile : lire ensuite {@link getChannelStats}
298
+ * ou {@link getStats}, dont les valeurs viennent d'être rafraîchies.
299
+ *
300
+ * @param handler - appelé à chaque échantillon.
301
+ * @returns dispose (désabonnement).
302
+ */
303
+ onStats(handler: () => void): () => void;
304
+ /**
305
+ * S'abonne aux **tentatives de reconnexion programmées** (event LOCAL
306
+ * `__reconnect__`, jamais réseau) : numéro d'essai, délai retenu par le
307
+ * back-off, et échéance absolue. De quoi afficher un compte à rebours plutôt
308
+ * qu'un « déconnecté » muet.
309
+ *
310
+ * @param handler - reçoit `{ attempt, delay, nextRetryAt }`.
311
+ * @returns dispose (désabonnement).
312
+ */
313
+ onReconnect(handler: (info: RealtimeReconnectInfo) => void): () => void;
314
+ /**
315
+ * Handle « socket-like » d'un canal ({@link IRealtimeChannel}) — fine liaison sur
316
+ * les primitives (`subscribe`/`on`/`publish`/`unsubscribe`), forme naturelle des
317
+ * canaux à état (SIP, bridge) et point d'accroche des couches à venir (codec,
318
+ * cadence, politique). N'ouvre rien : appeler `.open()` pour s'abonner. `kind` reste
319
+ * indéfini côté client tant que le serveur ne l'annonce pas.
320
+ */
321
+ channel(name: string): IRealtimeChannel;
322
+ /**
323
+ * S'abonne à un canal d'ÉTAT en **cadence adaptative** (AIMD client-driven) : la lib
324
+ * mesure la gigue d'arrivée et ré-abonne automatiquement à une cadence plus grossière en
325
+ * cas de famine, plus fine quand c'est sain — sans changement serveur. `handler` reçoit
326
+ * les frames à travers les changements de cadence. Réservé aux canaux latest-wins.
327
+ *
328
+ * @param base - canal de base (sans suffixe de cadence).
329
+ * @param handler - reçoit le payload de chaque frame.
330
+ * @param options - cadence désirée + réglages AIMD (cf {@link BindAdaptiveOptions}).
331
+ * @returns une poignée {@link AdaptiveChannelBinding} (cadence courante + `dispose`).
332
+ */
333
+ adaptiveChannel(base: string, handler: RealtimeHandler, options: BindAdaptiveOptions): AdaptiveChannelBinding;
334
+ /**
335
+ * Requête API par **path** — la MÊME action controller que le GET REST, via
336
+ * la socket (« API souveraine » : 1 action = N transports). Sucre au-dessus
337
+ * de la méthode RPC `api.request` (protocole caché — convention dans la lib,
338
+ * comme `nodefony:kernel:ping`/`ping()`) :
339
+ * ```ts
340
+ * const modules = await socket.request("/nodefony/kernel/api/modules");
341
+ * ```
342
+ * Échec → rejet {@link RpcError} (`data.status` = statut HTTP équivalent :
343
+ * 404 path inconnu, 403 refus…). Un path commence toujours par `/`, une
344
+ * méthode JSON-RPC jamais → zéro collision avec la forme `request(method)`.
345
+ */
346
+ request<T = unknown>(path: `/${string}`, timeoutMs?: number): Promise<T>;
347
+ /**
348
+ * Request/response JSON-RPC 2.0 — `Promise` résolue avec le `result`.
349
+ *
350
+ * Le 1ᵉʳ générique est le **nom de la méthode**, le 2ᵉ le type du résultat :
351
+ * ```ts
352
+ * const r = await socket.request<"nodefony:kernel:ping", { pong: boolean }>(
353
+ * "nodefony:kernel:ping",
354
+ * );
355
+ * ```
356
+ * Quand `method` appartient au contrat `Actions`, `params` ET le résultat en
357
+ * sont déduits — un payload hors contrat est REFUSÉ à la compilation.
358
+ *
359
+ * ⚠️ **Rupture 10.0.0** : la forme `request<MonType>("ma:methode")` (`<T>` =
360
+ * résultat) n'existe plus. Elle était un attrape-tout qui rendait inopérant le
361
+ * contrôle des `params`. La réécrire en `request<"ma:methode", MonType>`.
362
+ */
363
+ request<K extends string, T = unknown>(method: K, params?: ContractParams<Actions, K>, timeoutMs?: number): Promise<ContractResult<Actions, K, T>>;
364
+ /**
365
+ * Contrat {@link IRealtimePeer} rendu EXPLICITE — `method` et `params` sont
366
+ * tous deux bornés par le contrat `Actions`. Sans elle, la liste de surcharges
367
+ * (qui type `params` par un conditionnel non résolu) n'est pas assignable à la
368
+ * signature du peer et TS2416 tombe.
369
+ */
370
+ request<K extends ActionNames<Actions>>(method: K, params?: ActionParams<Actions, K>, timeoutMs?: number): Promise<ActionResult<Actions, K>>;
371
+ /**
372
+ * **Mutation** API par le pont `api.request` (POST/PUT/PATCH/DELETE) — pendant
373
+ * d'écriture de {@link request} (qui ne fait que des lectures GET). Transporte
374
+ * la méthode HTTP **logique**, le corps, et une **clé d'idempotence**
375
+ * (OBLIGATOIRE côté serveur : une socket reconnecte et peut rejouer une frame
376
+ * en vol → la clé dédoublonne le rejeu, anti double-effet) :
377
+ * ```ts
378
+ * await socket.mutate("/nodefony/security/api/apikeys/42/revoke", {
379
+ * method: "POST", idempotencyKey: crypto.randomUUID(),
380
+ * });
381
+ * ```
382
+ * Échec → rejet {@link RpcError} (`data.status` = statut HTTP équivalent :
383
+ * 400 clé absente, 409 rejeu concurrent, 403 refus, 404 path inconnu…).
384
+ */
385
+ mutate<T = unknown>(path: `/${string}`, init: {
386
+ method: "POST" | "PUT" | "PATCH" | "DELETE";
387
+ body?: unknown;
388
+ idempotencyKey: string;
389
+ timeoutMs?: number;
390
+ }): Promise<T>;
391
+ /**
392
+ * Appel API par la socket rendant l'**enveloppe complète** — le résultat ET
393
+ * la méta serveur — là où {@link request}/{@link mutate} ne rendent que la
394
+ * valeur (forme courante, contrat « snapshot ≡ GET REST »).
395
+ *
396
+ * Utile à l'outillage plus qu'aux applications : en développement, le serveur
397
+ * joint le `requestId` du profil de CETTE frame, ce qui permet d'aller lire sa
398
+ * radiographie (`GET /nodefony/profiler/api/{requestId}` — phases, SQL,
399
+ * décision du firewall). En production le serveur n'émet aucune méta :
400
+ * `requestId` vaut alors `null`, et l'appel coûte exactement le même trafic.
401
+ *
402
+ * ```ts
403
+ * const { result, requestId } = await socket.call("/nodefony/kernel/api/modules");
404
+ * ```
405
+ *
406
+ * Échec → rejet {@link RpcError}, comme {@link request} ; l'id du profil, lui,
407
+ * voyage dans `error.data.requestId` (un refus se radiographie aussi).
408
+ *
409
+ * @param path - chemin de la route (transport WEBSOCKET requis côté serveur).
410
+ * @param init - méthode logique (défaut `GET`), corps, clé d'idempotence.
411
+ */
412
+ call<T = unknown>(path: `/${string}`, init?: {
413
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
414
+ body?: unknown;
415
+ idempotencyKey?: string;
416
+ timeoutMs?: number;
417
+ }): Promise<IApiCallResult<T>>;
418
+ /**
419
+ * Mesure le round-trip WS via la méthode RPC standard `nodefony:kernel:ping` — helper
420
+ * RÉUTILISABLE par tout consommateur (topbar Studio, debug bar, app user) :
421
+ * la mesure du RTT et la convention `nodefony:kernel:ping` vivent dans la lib cliente,
422
+ * pas dupliquées dans chaque front. Renvoie le payload serveur enrichi de `rtt`
423
+ * (ms, aller-retour mesuré côté client). Lève si le serveur ne répond pas
424
+ * (`request` timeout) ou ne connaît pas la méthode (`-32601`).
425
+ */
426
+ ping(timeoutMs?: number): Promise<KernelPingResult & {
427
+ rtt: number;
428
+ }>;
429
+ /** Notification SORTANTE typée (pas de réponse). Pendant de {@link emit}/{@link publish}. */
430
+ notify<K extends EventNames<Emit>>(method: K, params?: EventPayload<Emit, K>): void;
431
+ /**
432
+ * Expose une action appelable PAR LE PAIR (requête entrante serveur→client).
433
+ * Cœur du duplex débloqué par L0 : sans handler, une requête entrante reçoit
434
+ * `-32601` ; avec, le `result` repart au serveur (confirmation d'action,
435
+ * invalidation de cache poussée, health applicatif serveur→client).
436
+ */
437
+ register<K extends ActionNames<Actions>>(method: K, handler: TypedRpcActionHandler<Actions, K>): void;
438
+ /** Retire une action exposée. */
439
+ unregister<K extends ActionNames<Actions>>(method: K): void;
440
+ /** Actions exposées par CE client (découverte). ≠ {@link serverMethods} (côté serveur). */
441
+ get methods(): string[];
442
+ /**
443
+ * Ingestion d'une frame ENTRANTE déjà parsée → log + classification/route par le
444
+ * moteur. Renvoie sa nature. Une frame `invalid` peut porter une erreur GLOBALE
445
+ * serveur (`{jsonrpc, error}` hors spec JSON-RPC) → notice (cf {@link handleServerError}).
446
+ */
447
+ receive(frame: unknown): JsonRpcFrameKind;
448
+ /** Annule les requêtes sortantes en attente (fermeture transport / logout). */
449
+ dispose(reason?: string): void;
450
+ /** Total de notifications reçues, tous canaux confondus (welcome inclus). */
451
+ get framesReceived(): number;
452
+ /**
453
+ * Total de frames qui n'ont **pas** pu partir depuis la création du client
454
+ * (transport fermé au moment de l'émission). Reste à `0` en fonctionnement
455
+ * normal ; toute valeur non nulle date d'une coupure ou d'une émission
456
+ * antérieure à la première connexion.
457
+ */
458
+ get framesUnsent(): number;
459
+ /** Timestamp (ms) de la dernière notification reçue. */
460
+ get lastFrameAt(): number | null;
461
+ /** `method`/canal de la dernière notification reçue. */
462
+ get lastFrameMethod(): string | null;
463
+ /** Snapshot des stats par canal (msgCount/rate/series). Les objets sont les
464
+ * refs internes — à LIRE, pas à muter (copier les valeurs si besoin). */
465
+ getStats(): MessageStats[];
466
+ /** Stats d'un canal précis (== method JSON-RPC) ou `undefined`. */
467
+ getChannelStats(method: string): MessageStats | undefined;
468
+ /** Comptabilise une notification entrante (avant dispatch aux handlers). */
469
+ private trackFrame;
470
+ /**
471
+ * (Ré)émet un `subscribe` pour chaque canal ref-compté, à la réception du
472
+ * `realtime:welcome` — le seul instant où le serveur est prêt à l'enregistrer.
473
+ *
474
+ * Ouvrir la socket ne suffit pas : pendant que le serveur authentifie, son
475
+ * transport JSON-RPC n'est pas encore branché et il **jette** les frames
476
+ * entrantes, sans pouvoir répondre — c'est le contrat écrit par
477
+ * `RealtimeController.handleRealtime`. Rejouer sur `onOpen` revenait à parler
478
+ * dans le vide, et perdait en silence deux cas entiers : un `subscribe` posé
479
+ * avant `start()`, et TOUS les abonnements après une reconnexion.
480
+ *
481
+ * Cold path (1×/connexion) : ne parcourt que les canaux réellement suivis, et
482
+ * n'alloue rien.
483
+ */
484
+ private replaySubscriptions;
485
+ /**
486
+ * Ingère le `realtime:welcome` : mémorise l'identité résolue + les capabilities
487
+ * annoncées (canaux/actions découvrables) et émet `__identity__`. Tolérant à un
488
+ * welcome partiel/legacy (champs absents → `null`). Cold path (1×/connexion).
489
+ */
490
+ private ingestWelcome;
491
+ /**
492
+ * Détail de la socket dans la console — le pendant, pour une page SANS noyau,
493
+ * du groupe que le noyau émet quand il y en a un (#136).
494
+ *
495
+ * Une vitrine ne compose rien : sans ceci, elle n'a aucun endroit où lire son
496
+ * adresse, ses canaux ou son identité, alors que c'est exactement ce qu'on
497
+ * cherche quand une socket ne pousse rien. Émis au premier accueil, une seule
498
+ * fois par page, et jamais en production.
499
+ */
500
+ private detailsSocket;
501
+ /**
502
+ * Ingère un `realtime:denied` (refus d'abonnement/push poussé par le serveur) :
503
+ * émet une notice normalisée ({@link onNotice}) ET un event ciblé `__denied__`
504
+ * ({@link onDenied}) pour une réaction polymorphe de l'app. Tolérant à un
505
+ * payload partiel (motif par défaut `forbidden`). Cold path (refus rare).
506
+ */
507
+ private ingestDenied;
508
+ /**
509
+ * Dispatch d'une NOTIFICATION entrante — appelé par le moteur via `onNotification`.
510
+ * Ordre figé : ingestion welcome (1ʳᵉ frame) → stats → handlers locaux + wildcard
511
+ * (un handler `on("realtime:welcome")` voit donc l'identité déjà ingérée).
512
+ */
513
+ private dispatchNotification;
514
+ /**
515
+ * Frame `invalid` (JSON-RPC strict) portant un `error` sans `id`/`method` = erreur
516
+ * GLOBALE serveur (extension Nodefony hors spec, ex. refus tardif) → notice pour le
517
+ * centre de notifications. Frame réellement malformée (sans `.error`) → no-op.
518
+ */
519
+ private handleServerError;
520
+ /** Échantillonne le débit (msg/s) + série par canal, 1×/s, puis émet
521
+ * `__stats__` (event local) pour notifier les consommateurs réactifs. */
522
+ private startStatsSampler;
523
+ /** Émet une notice normalisée aux abonnés `onNotice` (event local, pas réseau). */
524
+ private fireNotice;
525
+ /** Déclenche les handlers locaux d'un event interne (pas d'envoi réseau). */
526
+ private fireLocal;
527
+ private openSocket;
528
+ private scheduleReconnect;
529
+ private startHeartbeat;
530
+ private clearTimers;
531
+ /**
532
+ * Log protocole : les `FRAME_LOG_MAX` dernières frames JSON-RPC (redactées),
533
+ * enregistrées EN CONTINU → la console « retrace l'instant » dès l'ouverture
534
+ * (jamais de démarrage à vide). Construction + redaction faites ici, à la lecture.
535
+ */
536
+ get frameLog(): readonly RealtimeFrame[];
537
+ /** Purge le log protocole. */
538
+ clearFrameLog(): void;
539
+ /**
540
+ * Enregistre une frame dans le ring — coût = 1 push de réf (construction +
541
+ * redaction DIFFÉRÉES). Émet `__frame__` (frame construite) seulement si la
542
+ * console écoute.
543
+ */
544
+ private recordFrame;
545
+ /** Construit une frame affichable (kind/canal/id + payload redacté). */
546
+ private static buildFrame;
547
+ /**
548
+ * Émet une frame si — et seulement si — le transport est ouvert.
549
+ *
550
+ * La frame n'est **pas** mise en file d'attente : rejouer une intention après
551
+ * coup peut être pire que la perdre (une commande obsolète appliquée en
552
+ * retard, un abonnement rétabli sur un écran déjà quitté). Ce qui n'est plus
553
+ * accepté, c'est de la perdre **en silence** — l'appelant reçoit `false`, une
554
+ * requête corrélée est rejetée aussitôt par {@link JsonRpcPeer} plutôt qu'au
555
+ * bout de son timeout, et l'utilisateur est prévenu une fois par épisode.
556
+ *
557
+ * @param msg - la frame JSON-RPC à sérialiser.
558
+ * @returns `true` si la frame est partie, `false` si le transport était fermé.
559
+ */
560
+ private send;
561
+ /**
562
+ * Avertit que des notifications applicatives se perdent — **une fois par
563
+ * épisode** de coupure, jamais par frame : une vue qui pousse en boucle
564
+ * remplirait sinon le centre de notifications à elle seule.
565
+ *
566
+ * Appelé depuis {@link emit} uniquement. Les requêtes corrélées et les
567
+ * (dés)abonnements ont déjà leur propre voie (rejet, rejeu au reconnect).
568
+ */
569
+ private noticeUnsent;
570
+ private handleMessage;
571
+ private setState;
572
+ }
573
+ export default RealtimeClient;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * localEvents — **noms des événements LOCAUX du client temps réel**.
3
+ *
4
+ * Ces six noms ne voyagent jamais sur le fil : ils ne servent qu'à propager, dans
5
+ * la page, ce que le client vient d'apprendre (changement d'état de connexion,
6
+ * identité résolue au welcome, échantillon de statistiques, notice normalisée,
7
+ * refus de canal). Ils partagent la table de `on()`/`off()` avec les canaux
8
+ * réseau ; le double soulignement est ce qui les en distingue.
9
+ *
10
+ * **La table est la source unique**, exactement pour la même raison que
11
+ * {@link PLATFORM_CHANNELS} l'est pour les canaux réseau : une chaîne recopiée
12
+ * dans un écran est une chaîne qui survivra au renommage suivant. Celle-ci avait
13
+ * déjà divergé — `"__state__"` était écrit en clair dans les trois gabarits
14
+ * d'application, dans la barre de debug et dans la console d'administration,
15
+ * sans qu'aucune constante ne l'exporte.
16
+ *
17
+ * Un consommateur n'a d'ailleurs pas à les connaître : `onState`, `onIdentity`,
18
+ * `onStats`, `onNotice`, `onDenied` et `onReconnect` sont les portes publiques. La table existe
19
+ * pour les implémentations (le client lui-même, ses observateurs agnostiques) et
20
+ * pour un test qui veut se brancher au plus bas niveau.
21
+ *
22
+ * Pur et isomorphe (aucun import, aucune allocation).
23
+ */
24
+ /**
25
+ * Événements locaux du {@link RealtimeClient} — jamais émis ni reçus par le réseau.
26
+ *
27
+ * @see {@link RealtimeClient.onState} · {@link RealtimeClient.onIdentity} ·
28
+ * {@link RealtimeClient.onStats} · {@link RealtimeClient.onNotice} ·
29
+ * {@link RealtimeClient.onDenied} — les portes publiques à préférer partout.
30
+ */
31
+ export declare const LOCAL_EVENTS: {
32
+ /** État de la connexion (`"connected" | "reconnecting" | …`), à chaque transition. */
33
+ readonly state: "__state__";
34
+ /** Identité résolue par le serveur au welcome ; `null` après un `disconnect()`. */
35
+ readonly identity: "__identity__";
36
+ /** Tick d'échantillonnage des statistiques par canal (1×/s), sans charge utile. */
37
+ readonly stats: "__stats__";
38
+ /** Notice normalisée (criticité temps réel interprétée). */
39
+ readonly notice: "__notice__";
40
+ /** Refus d'un canal poussé par le serveur (`realtime:denied`). */
41
+ readonly denied: "__denied__";
42
+ /** Tentative de reconnexion programmée (numéro d'essai, délai, échéance). */
43
+ readonly reconnect: "__reconnect__";
44
+ };
45
+ /** Un des noms d'événement local de la table {@link LOCAL_EVENTS}. */
46
+ export type LocalEvent = (typeof LOCAL_EVENTS)[keyof typeof LOCAL_EVENTS];
47
+ /**
48
+ * Vrai si `event` est un événement local du client (jamais un canal réseau).
49
+ *
50
+ * Sert aux couches qui inspectent la table des abonnements — une barre de debug,
51
+ * un inventaire de canaux — et qui doivent écarter ce qui n'est pas du trafic.
52
+ */
53
+ export declare function isLocalEvent(event: string): event is LocalEvent;