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.
- package/.ai/symbols.json +36135 -0
- package/LICENSE +544 -0
- package/README.md +316 -694
- package/bin/nodefony +2183 -85
- package/dist/client/Container.js +367 -0
- package/dist/client/Event.js +198 -0
- package/dist/client/Service.js +344 -0
- package/dist/client/Tools.js +162 -0
- package/dist/client/client/ClientKernel.js +276 -0
- package/dist/client/client/angular/index.js +352 -0
- package/dist/client/client/announce.js +212 -0
- package/dist/client/client/debugbar/DebugBar.js +1624 -0
- package/dist/client/client/debugbar/format.js +103 -0
- package/dist/client/client/debugbar/hmr.js +37 -0
- package/dist/client/client/debugbar/index.js +29 -0
- package/dist/client/client/debugbar/model.js +133 -0
- package/dist/client/client/debugbar/network.js +173 -0
- package/dist/client/client/debugbar/profile.js +114 -0
- package/dist/client/client/index.js +34 -0
- package/dist/client/client/react/index.js +268 -0
- package/dist/client/client/realtime/AdaptiveRate.js +240 -0
- package/dist/client/client/realtime/BrowserWsTransport.js +57 -0
- package/dist/client/client/realtime/RealtimeClient.js +898 -0
- package/dist/client/client/realtime/localEvents.js +56 -0
- package/dist/client/client/realtime/notice.js +125 -0
- package/dist/client/client/realtime/observe.js +280 -0
- package/dist/client/client/roles/index.js +3 -0
- package/dist/client/client/roles/registry.js +97 -0
- package/dist/client/client/roles/roles.js +91 -0
- package/dist/client/client/shim/events.js +88 -0
- package/dist/client/client/shim/util.js +20 -0
- package/dist/client/client/svelte/index.js +319 -0
- package/dist/client/client/syslog/context.js +122 -0
- package/dist/client/client/syslog/errors.js +49 -0
- package/dist/client/client/syslog/uplink.js +106 -0
- package/dist/client/client/vue/index.js +321 -0
- package/dist/client/colors.js +63 -0
- package/dist/client/debugbar.standalone.js +4274 -0
- package/dist/client/realtime/IRealtimeTransport.js +32 -0
- package/dist/client/realtime/JsonRpcPeer.js +251 -0
- package/dist/client/realtime/channelRate.js +39 -0
- package/dist/client/realtime/platformChannels.js +155 -0
- package/dist/client/syslog/Pdu.js +224 -0
- package/dist/client/syslog/Syslog.js +1159 -0
- package/dist/client/syslog/drivers/pduFlow.js +106 -0
- package/dist/client/syslog/drivers/pduProtocol.js +28 -0
- package/dist/client/syslog/logColor.js +80 -0
- package/dist/client/types/src/Container.d.ts +221 -0
- package/dist/client/types/src/Event.d.ts +171 -0
- package/dist/client/types/src/FileClass.d.ts +184 -0
- package/dist/client/types/src/Service.d.ts +165 -0
- package/dist/client/types/src/Tools.d.ts +116 -0
- package/dist/client/types/src/client/ClientKernel.d.ts +90 -0
- package/dist/client/types/src/client/IClientKernel.d.ts +195 -0
- package/dist/client/types/src/client/angular/index.d.ts +273 -0
- package/dist/client/types/src/client/announce.d.ts +74 -0
- package/dist/client/types/src/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/client/types/src/client/debugbar/format.d.ts +48 -0
- package/dist/client/types/src/client/debugbar/hmr.d.ts +16 -0
- package/dist/client/types/src/client/debugbar/index.d.ts +30 -0
- package/dist/client/types/src/client/debugbar/model.d.ts +158 -0
- package/dist/client/types/src/client/debugbar/network.d.ts +55 -0
- package/dist/client/types/src/client/debugbar/profile.d.ts +99 -0
- package/dist/client/types/src/client/index.d.ts +47 -0
- package/dist/client/types/src/client/react/index.d.ts +207 -0
- package/dist/client/types/src/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/client/types/src/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/client/types/src/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/client/types/src/client/realtime/localEvents.d.ts +53 -0
- package/dist/client/types/src/client/realtime/notice.d.ts +70 -0
- package/dist/client/types/src/client/realtime/observe.d.ts +284 -0
- package/dist/client/types/src/client/roles/index.d.ts +15 -0
- package/dist/client/types/src/client/roles/registry.d.ts +72 -0
- package/dist/client/types/src/client/roles/roles.d.ts +68 -0
- package/dist/client/types/src/client/shim/cli-color.d.ts +2 -0
- package/dist/client/types/src/client/shim/events.d.ts +39 -0
- package/dist/client/types/src/client/shim/util.d.ts +14 -0
- package/dist/client/types/src/client/svelte/index.d.ts +216 -0
- package/dist/client/types/src/client/syslog/context.d.ts +76 -0
- package/dist/client/types/src/client/syslog/errors.d.ts +46 -0
- package/dist/client/types/src/client/syslog/uplink.d.ts +89 -0
- package/dist/client/types/src/client/transport/websocket.d.ts +5 -0
- package/dist/client/types/src/client/vue/index.d.ts +234 -0
- package/dist/client/types/src/colors.d.ts +32 -0
- package/dist/client/types/src/config/infra.d.ts +171 -0
- package/dist/client/types/src/kernel/bootReport.d.ts +112 -0
- package/dist/client/types/src/kernel/readinessRegistry.d.ts +104 -0
- package/dist/client/types/src/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/client/types/src/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/client/types/src/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/client/types/src/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/client/types/src/realtime/channelRate.d.ts +55 -0
- package/dist/client/types/src/realtime/platformChannels.d.ts +147 -0
- package/dist/client/types/src/syslog/Pdu.d.ts +134 -0
- package/dist/client/types/src/syslog/Syslog.d.ts +482 -0
- package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/client/types/src/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/client/types/src/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/client/types/src/syslog/logColor.d.ts +59 -0
- package/dist/client/types/src/types/ICliKernel.d.ts +28 -0
- package/dist/client/types/src/types/ICommand.d.ts +14 -0
- package/dist/client/types/src/types/IContainer.d.ts +35 -0
- package/dist/client/types/src/types/IKernel.d.ts +138 -0
- package/dist/client/types/src/types/IMcpTool.d.ts +157 -0
- package/dist/client/types/src/types/IModule.d.ts +73 -0
- package/dist/client/types/src/types/IPage.d.ts +119 -0
- package/dist/client/types/src/types/IService.d.ts +62 -0
- package/dist/client/types/src/types/ISyslog.d.ts +58 -0
- package/dist/client/types/src/types/ITransport.d.ts +5 -0
- package/dist/client/types/src/types/globals.d.ts +47 -0
- package/dist/node/Cli.js +750 -0
- package/dist/node/Container.js +367 -0
- package/dist/node/Error.js +309 -0
- package/dist/node/Event.js +198 -0
- package/dist/node/FileClass.js +308 -0
- package/dist/node/Nodefony.js +78 -0
- package/dist/node/Service.js +344 -0
- package/dist/node/Tools.js +205 -0
- package/dist/node/bin/resolveLocalCli.js +10 -0
- package/dist/node/bundler/index.js +103 -0
- package/dist/node/cli/agentTargets.js +461 -0
- package/dist/node/cli/aiMcp.js +553 -0
- package/dist/node/cli/aiMcpReport.js +129 -0
- package/dist/node/cli/aiSync.js +323 -0
- package/dist/node/cli/aiSyncReport.js +142 -0
- package/dist/node/cli/card.js +186 -0
- package/dist/node/cli/cardReport.js +110 -0
- package/dist/node/cli/completion.js +415 -0
- package/dist/node/cli/create.js +805 -0
- package/dist/node/cli/env.js +332 -0
- package/dist/node/cli/envReport.js +159 -0
- package/dist/node/cli/execPortable.js +60 -0
- package/dist/node/cli/gitHooks.js +191 -0
- package/dist/node/cli/gitHooksReport.js +119 -0
- package/dist/node/cli/globalFlags.js +67 -0
- package/dist/node/cli/helpReport.js +288 -0
- package/dist/node/cli/manPage.js +165 -0
- package/dist/node/cli/nodefonyBin.js +61 -0
- package/dist/node/cli/outdated.js +144 -0
- package/dist/node/cli/progress.js +555 -0
- package/dist/node/cli/projectRoot.js +32 -0
- package/dist/node/cli/promptPassword.js +44 -0
- package/dist/node/cli/prompts.js +86 -0
- package/dist/node/cli/scaffold/destination.js +92 -0
- package/dist/node/cli/scaffold/engine.js +2156 -0
- package/dist/node/cli/scaffold/entityFields.js +589 -0
- package/dist/node/cli/scaffold/format.js +243 -0
- package/dist/node/cli/scaffold/interactive.js +124 -0
- package/dist/node/cli/scaffold/moduleLayout.js +38 -0
- package/dist/node/cli/scaffold/reservedEntities.js +74 -0
- package/dist/node/cli/scaffold/spec.js +704 -0
- package/dist/node/cli/scaffold/steps.js +40 -0
- package/dist/node/cli/scaffold/userContractSource.js +133 -0
- package/dist/node/cli/scaffold/versions.js +57 -0
- package/dist/node/cli/scaffold/writer.js +172 -0
- package/dist/node/cli/startMenu.js +496 -0
- package/dist/node/cli/symbols.js +205 -0
- package/dist/node/cli/sysexits.js +34 -0
- package/dist/node/cli/tableReport.js +184 -0
- package/dist/node/cli/usageReport.js +144 -0
- package/dist/node/colors.js +63 -0
- package/dist/node/command/Builder.js +153 -0
- package/dist/node/command/Command.js +348 -0
- package/dist/node/config/configProvenance.js +101 -0
- package/dist/node/config/defaults.js +39 -0
- package/dist/node/config/defineConfig.js +129 -0
- package/dist/node/config/defineEnv.js +264 -0
- package/dist/node/config/envExample.js +41 -0
- package/dist/node/config/envOverride.js +423 -0
- package/dist/node/config/infra.js +163 -0
- package/dist/node/config/reactivity.js +23 -0
- package/dist/node/config/reservedEnv.js +118 -0
- package/dist/node/config/schema.js +134 -0
- package/dist/node/config/use.js +24 -0
- package/dist/node/finder/File.js +49 -0
- package/dist/node/finder/FileResult.js +86 -0
- package/dist/node/finder/Finder.js +201 -0
- package/dist/node/finder/Result.js +45 -0
- package/dist/node/index.js +121 -0
- package/dist/node/kernel/BootConfigurationError.js +54 -0
- package/dist/node/kernel/CliKernel.js +630 -0
- package/dist/node/kernel/Kernel.js +2198 -0
- package/dist/node/kernel/Module.js +453 -0
- package/dist/node/kernel/adminPlane/adminCaller.js +98 -0
- package/dist/node/kernel/adminPlane/adminRbac.js +51 -0
- package/dist/node/kernel/adminPlane/catalog.js +158 -0
- package/dist/node/kernel/adminPlane/executeAdmin.js +78 -0
- package/dist/node/kernel/checks/deep.js +335 -0
- package/dist/node/kernel/checks/freshness.js +139 -0
- package/dist/node/kernel/checks/gating.js +231 -0
- package/dist/node/kernel/checks/guards.js +232 -0
- package/dist/node/kernel/checks/lastBoot.js +136 -0
- package/dist/node/kernel/checks/live.js +330 -0
- package/dist/node/kernel/checks/packageDeps.js +292 -0
- package/dist/node/kernel/checks/readiness.js +153 -0
- package/dist/node/kernel/checks/renderReport.js +780 -0
- package/dist/node/kernel/checks/report.js +421 -0
- package/dist/node/kernel/checks/runDoctor.js +731 -0
- package/dist/node/kernel/checks/surface.js +364 -0
- package/dist/node/kernel/checks/walk.js +100 -0
- package/dist/node/kernel/checks/wiring.js +450 -0
- package/dist/node/kernel/commands/AiMcpCommand.js +65 -0
- package/dist/node/kernel/commands/AiSyncCommand.js +48 -0
- package/dist/node/kernel/commands/BuildCommand.js +49 -0
- package/dist/node/kernel/commands/CardCommand.js +50 -0
- package/dist/node/kernel/commands/ClusterCommand.js +58 -0
- package/dist/node/kernel/commands/CompletionCommand.js +31 -0
- package/dist/node/kernel/commands/CreateCommand.js +45 -0
- package/dist/node/kernel/commands/DevCommand.js +99 -0
- package/dist/node/kernel/commands/DoctorCommand.js +115 -0
- package/dist/node/kernel/commands/EnvCommand.js +52 -0
- package/dist/node/kernel/commands/GitHooksCommand.js +47 -0
- package/dist/node/kernel/commands/InspectCommand.js +153 -0
- package/dist/node/kernel/commands/InstallCommand.js +20 -0
- package/dist/node/kernel/commands/MenuCommand.js +261 -0
- package/dist/node/kernel/commands/OutdatedCommand.js +164 -0
- package/dist/node/kernel/commands/ProdCommand.js +60 -0
- package/dist/node/kernel/commands/StatusCommand.js +30 -0
- package/dist/node/kernel/commands/StopCommand.js +35 -0
- package/dist/node/kernel/commands/SymbolsCommand.js +45 -0
- package/dist/node/kernel/commands/runtimeLauncher.js +95 -0
- package/dist/node/kernel/decorators/kernelDecorator.js +110 -0
- package/dist/node/kernel/injector/injector.js +137 -0
- package/dist/node/kernel/injector/serviceOrder.js +106 -0
- package/dist/node/kernel/inspect/adminSubjects.js +194 -0
- package/dist/node/kernel/inspect/docOutline.js +86 -0
- package/dist/node/kernel/lifecycleTags.js +76 -0
- package/dist/node/kernel/moduleConfig.js +75 -0
- package/dist/node/kernel/moduleGating.js +68 -0
- package/dist/node/kernel/readinessRegistry.js +98 -0
- package/dist/node/kernel/resolveModuleEntry.js +61 -0
- package/dist/node/mcp/caller.js +40 -0
- package/dist/node/mcp/guard.js +51 -0
- package/dist/node/mcp/protocol.js +157 -0
- package/dist/node/mcp/server.js +216 -0
- package/dist/node/mcp/tools.js +861 -0
- package/dist/node/oauth/authorizationServer.js +221 -0
- package/dist/node/oauth/protectedResource.js +293 -0
- package/dist/node/package.js +4 -0
- package/dist/node/realtime/IRealtimeTransport.js +32 -0
- package/dist/node/realtime/JsonRpcPeer.js +251 -0
- package/dist/node/realtime/RealtimeEventMap.js +15 -0
- package/dist/node/realtime/channelRate.js +39 -0
- package/dist/node/realtime/platformChannels.js +155 -0
- package/dist/node/runtime/GcScheduler.js +92 -0
- package/dist/node/runtime/RequestContext.js +76 -0
- package/dist/node/runtime/bearer.js +84 -0
- package/dist/node/runtime/engineEnvironment.js +79 -0
- package/dist/node/runtime/loadEnv.js +105 -0
- package/dist/node/runtime/pageFacets.js +85 -0
- package/dist/node/runtime/pageFilters.js +103 -0
- package/dist/node/runtime/pageGuard.js +84 -0
- package/dist/node/runtime/pageQuery.js +160 -0
- package/dist/node/runtime/pageSort.js +114 -0
- package/dist/node/runtime/redact.js +43 -0
- package/dist/node/runtime/withTimeout.js +71 -0
- package/dist/node/service/cluster/ClusterManager.js +202 -0
- package/dist/node/service/cluster/ClusterProbeAggregator.js +120 -0
- package/dist/node/service/cluster/ClusterRelay.js +74 -0
- package/dist/node/service/cluster/clusterMaster.js +65 -0
- package/dist/node/service/cluster/clusterMessage.js +70 -0
- package/dist/node/service/cluster/cpuQuota.js +59 -0
- package/dist/node/service/cluster/instanceProbe.js +52 -0
- package/dist/node/service/cluster/podEnvironment.js +48 -0
- package/dist/node/service/cluster/processProbe.js +70 -0
- package/dist/node/service/cluster/richProcessProbe.js +115 -0
- package/dist/node/service/cluster/topology.js +71 -0
- package/dist/node/service/dev/BootReporter.js +490 -0
- package/dist/node/service/dev/DevSupervisor.js +1004 -0
- package/dist/node/service/dev/bootVerdict.js +158 -0
- package/dist/node/service/dev/detachedStart.js +372 -0
- package/dist/node/service/dev/devProcess.js +1137 -0
- package/dist/node/service/dev/devProjects.js +138 -0
- package/dist/node/service/dev/devStatusReport.js +395 -0
- package/dist/node/service/dev/devStop.js +263 -0
- package/dist/node/service/fetchService.js +35 -0
- package/dist/node/service/gitService.js +62 -0
- package/dist/node/syslog/Pdu.js +224 -0
- package/dist/node/syslog/Syslog.js +1159 -0
- package/dist/node/syslog/drivers/ClusterFileLogDriver.js +114 -0
- package/dist/node/syslog/drivers/FileLogDriver.js +127 -0
- package/dist/node/syslog/drivers/ILogDriver.js +26 -0
- package/dist/node/syslog/drivers/LokiLogDriver.js +144 -0
- package/dist/node/syslog/drivers/MemoryLogDriver.js +33 -0
- package/dist/node/syslog/drivers/OpenSearchLogDriver.js +159 -0
- package/dist/node/syslog/drivers/builtinLogDrivers.js +114 -0
- package/dist/node/syslog/drivers/filterPdus.js +71 -0
- package/dist/node/syslog/drivers/logDriverRegistry.js +83 -0
- package/dist/node/syslog/drivers/opensearchShared.js +17 -0
- package/dist/node/syslog/drivers/pduFlow.js +106 -0
- package/dist/node/syslog/drivers/pduProtocol.js +28 -0
- package/dist/node/syslog/httpFetch.js +43 -0
- package/dist/node/syslog/logColor.js +80 -0
- package/dist/node/syslog/sinks/FileSink.js +142 -0
- package/dist/node/syslog/transports/BatchingHttpTransport.js +98 -0
- package/dist/node/syslog/transports/ConsoleTransport.js +14 -0
- package/dist/node/syslog/transports/FileTransport.js +17 -0
- package/dist/node/syslog/transports/HttpTransport.js +44 -0
- package/dist/node/syslog/transports/LokiTransport.js +80 -0
- package/dist/node/syslog/transports/OpenSearchTransport.js +53 -0
- package/dist/node/syslog/transports/SyslogTransport.js +13 -0
- package/dist/node/syslog/transports/index.js +8 -0
- package/dist/node/testing/index.js +190 -0
- package/dist/types/Cli.d.ts +177 -0
- package/dist/types/Container.d.ts +221 -0
- package/dist/types/Error.d.ts +162 -0
- package/dist/types/Event.d.ts +171 -0
- package/dist/types/FileClass.d.ts +184 -0
- package/dist/types/Nodefony.d.ts +66 -0
- package/dist/types/Service.d.ts +165 -0
- package/dist/types/Tools.d.ts +116 -0
- package/dist/types/bin/resolveLocalCli.d.ts +49 -0
- package/dist/types/bundler/index.d.ts +66 -0
- package/dist/types/cli/agentTargets.d.ts +378 -0
- package/dist/types/cli/aiMcp.d.ts +239 -0
- package/dist/types/cli/aiMcpReport.d.ts +113 -0
- package/dist/types/cli/aiSync.d.ts +68 -0
- package/dist/types/cli/aiSyncReport.d.ts +149 -0
- package/dist/types/cli/card.d.ts +49 -0
- package/dist/types/cli/cardReport.d.ts +127 -0
- package/dist/types/cli/completion.d.ts +154 -0
- package/dist/types/cli/create.d.ts +177 -0
- package/dist/types/cli/env.d.ts +103 -0
- package/dist/types/cli/envReport.d.ts +153 -0
- package/dist/types/cli/execPortable.d.ts +54 -0
- package/dist/types/cli/gitHooks.d.ts +48 -0
- package/dist/types/cli/gitHooksReport.d.ts +101 -0
- package/dist/types/cli/globalFlags.d.ts +48 -0
- package/dist/types/cli/helpReport.d.ts +110 -0
- package/dist/types/cli/manPage.d.ts +21 -0
- package/dist/types/cli/nodefonyBin.d.ts +45 -0
- package/dist/types/cli/outdated.d.ts +119 -0
- package/dist/types/cli/progress.d.ts +349 -0
- package/dist/types/cli/projectRoot.d.ts +19 -0
- package/dist/types/cli/promptPassword.d.ts +22 -0
- package/dist/types/cli/prompts.d.ts +102 -0
- package/dist/types/cli/scaffold/destination.d.ts +70 -0
- package/dist/types/cli/scaffold/engine.d.ts +545 -0
- package/dist/types/cli/scaffold/entityFields.d.ts +238 -0
- package/dist/types/cli/scaffold/format.d.ts +78 -0
- package/dist/types/cli/scaffold/interactive.d.ts +11 -0
- package/dist/types/cli/scaffold/moduleLayout.d.ts +69 -0
- package/dist/types/cli/scaffold/reservedEntities.d.ts +49 -0
- package/dist/types/cli/scaffold/spec.d.ts +159 -0
- package/dist/types/cli/scaffold/steps.d.ts +24 -0
- package/dist/types/cli/scaffold/userContractSource.d.ts +86 -0
- package/dist/types/cli/scaffold/versions.d.ts +14 -0
- package/dist/types/cli/scaffold/writer.d.ts +100 -0
- package/dist/types/cli/startMenu.d.ts +195 -0
- package/dist/types/cli/symbols.d.ts +84 -0
- package/dist/types/cli/sysexits.d.ts +31 -0
- package/dist/types/cli/tableReport.d.ts +44 -0
- package/dist/types/cli/usageReport.d.ts +108 -0
- package/dist/types/client/ClientKernel.d.ts +90 -0
- package/dist/types/client/IClientKernel.d.ts +195 -0
- package/dist/types/client/angular/index.d.ts +273 -0
- package/dist/types/client/announce.d.ts +74 -0
- package/dist/types/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/types/client/debugbar/format.d.ts +48 -0
- package/dist/types/client/debugbar/hmr.d.ts +16 -0
- package/dist/types/client/debugbar/index.d.ts +30 -0
- package/dist/types/client/debugbar/model.d.ts +158 -0
- package/dist/types/client/debugbar/network.d.ts +55 -0
- package/dist/types/client/debugbar/profile.d.ts +99 -0
- package/dist/types/client/index.d.ts +47 -0
- package/dist/types/client/react/index.d.ts +207 -0
- package/dist/types/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/types/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/types/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/types/client/realtime/localEvents.d.ts +53 -0
- package/dist/types/client/realtime/notice.d.ts +70 -0
- package/dist/types/client/realtime/observe.d.ts +284 -0
- package/dist/types/client/roles/index.d.ts +15 -0
- package/dist/types/client/roles/registry.d.ts +72 -0
- package/dist/types/client/roles/roles.d.ts +68 -0
- package/dist/types/client/shim/cli-color.d.ts +2 -0
- package/dist/types/client/shim/events.d.ts +39 -0
- package/dist/types/client/shim/util.d.ts +14 -0
- package/dist/types/client/svelte/index.d.ts +216 -0
- package/dist/types/client/syslog/context.d.ts +76 -0
- package/dist/types/client/syslog/errors.d.ts +46 -0
- package/dist/types/client/syslog/uplink.d.ts +89 -0
- package/dist/types/client/transport/websocket.d.ts +5 -0
- package/dist/types/client/vue/index.d.ts +234 -0
- package/dist/types/colors.d.ts +32 -0
- package/dist/types/command/Builder.d.ts +47 -0
- package/dist/types/command/Command.d.ts +268 -0
- package/dist/types/config/configMeta.d.ts +53 -0
- package/dist/types/config/configProvenance.d.ts +58 -0
- package/dist/types/config/defaults.d.ts +33 -0
- package/dist/types/config/defineConfig.d.ts +70 -0
- package/dist/types/config/defineEnv.d.ts +170 -0
- package/dist/types/config/envExample.d.ts +23 -0
- package/dist/types/config/envOverride.d.ts +236 -0
- package/dist/types/config/index.d.ts +23 -0
- package/dist/types/config/infra.d.ts +171 -0
- package/dist/types/config/reactivity.d.ts +36 -0
- package/dist/types/config/reservedEnv.d.ts +145 -0
- package/dist/types/config/schema.d.ts +113 -0
- package/dist/types/config/types.d.ts +374 -0
- package/dist/types/config/use.d.ts +80 -0
- package/dist/types/finder/File.d.ts +26 -0
- package/dist/types/finder/FileResult.d.ts +14 -0
- package/dist/types/finder/Finder.d.ts +51 -0
- package/dist/types/finder/Result.d.ts +10 -0
- package/dist/types/index.d.ts +205 -0
- package/dist/types/kernel/BootConfigurationError.d.ts +50 -0
- package/dist/types/kernel/CliKernel.d.ts +289 -0
- package/dist/types/kernel/Kernel.d.ts +1255 -0
- package/dist/types/kernel/Module.d.ts +326 -0
- package/dist/types/kernel/adminPlane/adminCaller.d.ts +105 -0
- package/dist/types/kernel/adminPlane/adminRbac.d.ts +44 -0
- package/dist/types/kernel/adminPlane/catalog.d.ts +122 -0
- package/dist/types/kernel/adminPlane/executeAdmin.d.ts +99 -0
- package/dist/types/kernel/bootReport.d.ts +112 -0
- package/dist/types/kernel/checks/deep.d.ts +122 -0
- package/dist/types/kernel/checks/freshness.d.ts +49 -0
- package/dist/types/kernel/checks/gating.d.ts +134 -0
- package/dist/types/kernel/checks/guards.d.ts +57 -0
- package/dist/types/kernel/checks/lastBoot.d.ts +189 -0
- package/dist/types/kernel/checks/live.d.ts +110 -0
- package/dist/types/kernel/checks/packageDeps.d.ts +44 -0
- package/dist/types/kernel/checks/readiness.d.ts +97 -0
- package/dist/types/kernel/checks/renderReport.d.ts +107 -0
- package/dist/types/kernel/checks/report.d.ts +414 -0
- package/dist/types/kernel/checks/runDoctor.d.ts +361 -0
- package/dist/types/kernel/checks/surface.d.ts +148 -0
- package/dist/types/kernel/checks/walk.d.ts +45 -0
- package/dist/types/kernel/checks/wiring.d.ts +54 -0
- package/dist/types/kernel/commands/AiMcpCommand.d.ts +39 -0
- package/dist/types/kernel/commands/AiSyncCommand.d.ts +28 -0
- package/dist/types/kernel/commands/BuildCommand.d.ts +13 -0
- package/dist/types/kernel/commands/CardCommand.d.ts +34 -0
- package/dist/types/kernel/commands/ClusterCommand.d.ts +29 -0
- package/dist/types/kernel/commands/CompletionCommand.d.ts +17 -0
- package/dist/types/kernel/commands/CreateCommand.d.ts +16 -0
- package/dist/types/kernel/commands/DevCommand.d.ts +40 -0
- package/dist/types/kernel/commands/DoctorCommand.d.ts +55 -0
- package/dist/types/kernel/commands/EnvCommand.d.ts +35 -0
- package/dist/types/kernel/commands/GitHooksCommand.d.ts +27 -0
- package/dist/types/kernel/commands/InspectCommand.d.ts +59 -0
- package/dist/types/kernel/commands/InstallCommand.d.ts +7 -0
- package/dist/types/kernel/commands/MenuCommand.d.ts +58 -0
- package/dist/types/kernel/commands/OutdatedCommand.d.ts +47 -0
- package/dist/types/kernel/commands/ProdCommand.d.ts +29 -0
- package/dist/types/kernel/commands/StatusCommand.d.ts +17 -0
- package/dist/types/kernel/commands/StopCommand.d.ts +17 -0
- package/dist/types/kernel/commands/SymbolsCommand.d.ts +29 -0
- package/dist/types/kernel/commands/runtimeLauncher.d.ts +76 -0
- package/dist/types/kernel/decorators/kernelDecorator.d.ts +76 -0
- package/dist/types/kernel/injector/injector.d.ts +47 -0
- package/dist/types/kernel/injector/serviceOrder.d.ts +29 -0
- package/dist/types/kernel/inspect/adminSubjects.d.ts +169 -0
- package/dist/types/kernel/inspect/docOutline.d.ts +53 -0
- package/dist/types/kernel/lifecycleTags.d.ts +79 -0
- package/dist/types/kernel/moduleConfig.d.ts +35 -0
- package/dist/types/kernel/moduleGating.d.ts +78 -0
- package/dist/types/kernel/readinessRegistry.d.ts +104 -0
- package/dist/types/kernel/resolveModuleEntry.d.ts +46 -0
- package/dist/types/mcp/caller.d.ts +55 -0
- package/dist/types/mcp/guard.d.ts +66 -0
- package/dist/types/mcp/protocol.d.ts +163 -0
- package/dist/types/mcp/server.d.ts +70 -0
- package/dist/types/mcp/tools.d.ts +209 -0
- package/dist/types/oauth/authorizationServer.d.ts +204 -0
- package/dist/types/oauth/protectedResource.d.ts +339 -0
- package/dist/types/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/types/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/types/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/types/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/types/realtime/channelRate.d.ts +55 -0
- package/dist/types/realtime/platformChannels.d.ts +147 -0
- package/dist/types/runtime/GcScheduler.d.ts +96 -0
- package/dist/types/runtime/RequestContext.d.ts +152 -0
- package/dist/types/runtime/bearer.d.ts +88 -0
- package/dist/types/runtime/engineEnvironment.d.ts +115 -0
- package/dist/types/runtime/loadEnv.d.ts +86 -0
- package/dist/types/runtime/pageFacets.d.ts +104 -0
- package/dist/types/runtime/pageFilters.d.ts +139 -0
- package/dist/types/runtime/pageGuard.d.ts +78 -0
- package/dist/types/runtime/pageQuery.d.ts +138 -0
- package/dist/types/runtime/pageSort.d.ts +86 -0
- package/dist/types/runtime/redact.d.ts +27 -0
- package/dist/types/runtime/withTimeout.d.ts +51 -0
- package/dist/types/service/cluster/ClusterManager.d.ts +112 -0
- package/dist/types/service/cluster/ClusterProbeAggregator.d.ts +68 -0
- package/dist/types/service/cluster/ClusterRelay.d.ts +57 -0
- package/dist/types/service/cluster/clusterMaster.d.ts +40 -0
- package/dist/types/service/cluster/clusterMessage.d.ts +94 -0
- package/dist/types/service/cluster/cpuQuota.d.ts +37 -0
- package/dist/types/service/cluster/instanceProbe.d.ts +82 -0
- package/dist/types/service/cluster/podEnvironment.d.ts +35 -0
- package/dist/types/service/cluster/processProbe.d.ts +53 -0
- package/dist/types/service/cluster/richProcessProbe.d.ts +77 -0
- package/dist/types/service/cluster/topology.d.ts +64 -0
- package/dist/types/service/dev/BootReporter.d.ts +67 -0
- package/dist/types/service/dev/DevSupervisor.d.ts +117 -0
- package/dist/types/service/dev/bootVerdict.d.ts +99 -0
- package/dist/types/service/dev/detachedStart.d.ts +164 -0
- package/dist/types/service/dev/devProcess.d.ts +638 -0
- package/dist/types/service/dev/devProjects.d.ts +121 -0
- package/dist/types/service/dev/devStatusReport.d.ts +141 -0
- package/dist/types/service/dev/devStop.d.ts +57 -0
- package/dist/types/service/fetchService.d.ts +29 -0
- package/dist/types/service/gitService.d.ts +24 -0
- package/dist/types/syslog/Pdu.d.ts +134 -0
- package/dist/types/syslog/Syslog.d.ts +482 -0
- package/dist/types/syslog/drivers/ClusterFileLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/FileLogDriver.d.ts +55 -0
- package/dist/types/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/types/syslog/drivers/LokiLogDriver.d.ts +44 -0
- package/dist/types/syslog/drivers/MemoryLogDriver.d.ts +20 -0
- package/dist/types/syslog/drivers/OpenSearchLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +43 -0
- package/dist/types/syslog/drivers/filterPdus.d.ts +21 -0
- package/dist/types/syslog/drivers/logDriverRegistry.d.ts +100 -0
- package/dist/types/syslog/drivers/opensearchShared.d.ts +11 -0
- package/dist/types/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/types/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/types/syslog/httpFetch.d.ts +48 -0
- package/dist/types/syslog/logColor.d.ts +59 -0
- package/dist/types/syslog/sinks/FileSink.d.ts +78 -0
- package/dist/types/syslog/transports/BatchingHttpTransport.d.ts +59 -0
- package/dist/types/syslog/transports/ConsoleTransport.d.ts +8 -0
- package/dist/types/syslog/transports/FileTransport.d.ts +13 -0
- package/dist/types/syslog/transports/HttpTransport.d.ts +15 -0
- package/dist/types/syslog/transports/LokiTransport.d.ts +45 -0
- package/dist/types/syslog/transports/OpenSearchTransport.d.ts +40 -0
- package/dist/types/syslog/transports/SyslogTransport.d.ts +9 -0
- package/dist/types/syslog/transports/index.d.ts +12 -0
- package/dist/types/testing/index.d.ts +197 -0
- package/dist/types/types/IAdminApi.d.ts +246 -0
- package/dist/types/types/ICliKernel.d.ts +28 -0
- package/dist/types/types/ICommand.d.ts +14 -0
- package/dist/types/types/IContainer.d.ts +35 -0
- package/dist/types/types/IIdempotencyStore.d.ts +159 -0
- package/dist/types/types/IKernel.d.ts +138 -0
- package/dist/types/types/IMcpTool.d.ts +157 -0
- package/dist/types/types/IModule.d.ts +73 -0
- package/dist/types/types/IModuleManifest.d.ts +49 -0
- package/dist/types/types/IPage.d.ts +119 -0
- package/dist/types/types/IService.d.ts +62 -0
- package/dist/types/types/ISyslog.d.ts +58 -0
- package/dist/types/types/ITransport.d.ts +5 -0
- package/dist/types/types/globals.d.ts +47 -0
- package/docs/angular-services.md +318 -0
- package/docs/catalogue.md +184 -0
- package/docs/cli.md +369 -0
- package/docs/client.md +616 -0
- package/docs/debugbar.md +218 -0
- package/docs/environnement.md +308 -0
- package/docs/index.md +388 -0
- package/docs/kernel.md +670 -0
- package/docs/progression.md +228 -0
- package/docs/react-hooks.md +686 -0
- package/docs/request-context.md +507 -0
- package/docs/service.md +590 -0
- package/docs/svelte-reactivite.md +293 -0
- package/docs/syslog.md +848 -0
- package/docs/testing.md +203 -0
- package/docs/vue-composables.md +255 -0
- package/man/nodefony.1 +152 -0
- package/package.json +163 -83
- package/templates/app/agents/AGENTS.md.tpl +967 -0
- package/templates/app/agents/POINTEUR.md.tpl +12 -0
- package/templates/app/base/Dockerfile.tpl +104 -0
- package/templates/app/base/README.md.tpl +314 -0
- package/templates/app/base/dockerignore.tpl +28 -0
- package/templates/app/base/env.ts.tpl +130 -0
- package/templates/app/base/gitattributes.tpl +28 -0
- package/templates/app/base/github/workflows/ci.yml.tpl +91 -0
- package/templates/app/base/gitignore.tpl +46 -0
- package/templates/app/base/gitlab-ci.yml.tpl +42 -0
- package/templates/app/base/index.ts.tpl +69 -0
- package/templates/app/base/nodefony.config.ts.tpl +342 -0
- package/templates/app/base/oxlintrc.json.tpl +127 -0
- package/templates/app/base/package.json.tpl +75 -0
- package/templates/app/base/prettierignore.tpl +24 -0
- package/templates/app/base/prettierrc.json.tpl +12 -0
- package/templates/app/base/rolldown.config.ts.tpl +8 -0
- package/templates/app/base/tests/config.test.ts.tpl +29 -0
- package/templates/app/base/tests/e2e.setup.ts.tpl +181 -0
- package/templates/app/base/tests/e2e.test.ts.tpl +105 -0
- package/templates/app/base/tests/migrations.e2e.test.ts.tpl +579 -0
- package/templates/app/base/tsconfig.json.tpl +47 -0
- package/templates/app/base/vitest.config.ts.tpl +88 -0
- package/templates/app/base/vitest.e2e.config.ts.tpl +39 -0
- package/templates/app/complete/compose.yaml.tpl +328 -0
- package/templates/app/complete/deploy/migrate-job.yaml.tpl +100 -0
- package/templates/app/complete/docker/db/init-nodefony-e2e.sql.tpl +30 -0
- package/templates/app/complete/docker/grafana/provisioning/datasources/loki.yaml.tpl +15 -0
- package/templates/app/complete/env.local.tpl +11 -0
- package/templates/app/complete/env.tpl +53 -0
- package/templates/app/complete/nodefony/entity/User.ts.tpl +69 -0
- package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +124 -0
- package/templates/app/complete/nodefony/service/AppBannerService.ts.tpl +98 -0
- package/templates/app/complete/nodefony/service/AppInfoService.ts.tpl +85 -0
- package/templates/app/frontend/angular/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +400 -0
- package/templates/app/frontend/react/frontend/src/App.tsx.tpl +421 -0
- package/templates/app/frontend/react/frontend/src/accent.css.tpl +30 -0
- package/templates/app/frontend/shared/frontend/src/brand.ts.tpl +3 -0
- package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +224 -0
- package/templates/app/frontend/shared/nodefony/controllers/AppController.ts.tpl +45 -0
- package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +371 -0
- package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/vue/frontend/src/App.vue.tpl +367 -0
- package/templates/app/frontend/vue/frontend/src/accent.css.tpl +34 -0
- package/templates/app/home/nodefony/controllers/HomeController.ts.tpl +38 -0
- package/templates/command/nodefony/command/__NAME__.ts.tpl +132 -0
- package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +188 -0
- package/templates/controller/example/nodefony/controllers/__NAME__.ts.tpl +348 -0
- package/templates/controller/hello/nodefony/controllers/__NAME__.ts.tpl +143 -0
- package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +153 -0
- package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +79 -0
- package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +159 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.schema.ts.tpl +31 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.ts.tpl +68 -0
- package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.ts.tpl +335 -0
- package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +126 -0
- package/templates/entity/tests/tests/__KEBAB__.e2e.test.ts.tpl +358 -0
- package/templates/entity/tests/tests/__KEBAB__.test.ts.tpl +87 -0
- package/templates/front/angular/frontend/src/app/app.component.ts.tpl +30 -0
- package/templates/front/base/nodefony/controllers/__NAME__.ts.tpl +60 -0
- package/templates/front/react/frontend/src/App.tsx.tpl +26 -0
- package/templates/front/svelte/frontend/src/App.svelte.tpl +19 -0
- package/templates/front/vue/frontend/src/App.vue.tpl +23 -0
- package/templates/module/ai/AGENTS.md.tpl +71 -0
- package/templates/module/base/README.md.tpl +62 -0
- package/templates/module/base/docs/index.md.tpl +55 -0
- package/templates/module/base/index.ts.tpl +50 -0
- package/templates/module/base/nodefony/config/config.ts.tpl +60 -0
- package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +55 -0
- package/templates/module/base/nodefony/src/errors/__PASCAL__Error.ts.tpl +20 -0
- package/templates/module/base/package.json.tpl +53 -0
- package/templates/module/base/rolldown.config.ts.tpl +14 -0
- package/templates/module/base/tests/__KEBAB__.test.ts.tpl +39 -0
- package/templates/module/base/tsconfig.json.tpl +42 -0
- package/templates/module/base/vitest.config.ts.tpl +27 -0
- package/templates/module/packages/CLAUDE.md.tpl +51 -0
- package/templates/module/packages/MEMORY.md.tpl +39 -0
- package/templates/module/packages/tsconfig.declarations.json.tpl +19 -0
- package/templates/module/packages/tsconfig.tests.json.tpl +11 -0
- package/templates/module/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +14 -0
- package/templates/module/service/nodefony/interfaces/index.ts.tpl +1 -0
- package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +116 -0
- package/templates/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +19 -0
- package/templates/service/nodefony/service/__PASCAL__Service.ts.tpl +136 -0
- package/templates/service/tests/__PASCAL__Service.test.ts.tpl +53 -0
- package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +17 -0
- package/templates/shared/front-entry/react/frontend/src/main.tsx.tpl +11 -0
- package/templates/shared/front-entry/svelte/frontend/src/main.ts.tpl +13 -0
- package/templates/shared/front-entry/vue/frontend/src/main.ts.tpl +12 -0
- package/templates/shared/front-registrar/nodefony/frontend/register__PASCAL__Entry.ts.tpl +40 -0
- package/templates/shared/front-shell/frontend/index.html.tpl +39 -0
- package/templates/shared/ng-app-tsconfig/frontend/tsconfig.app.json.tpl +18 -0
- package/templates/shared/svelte-shim/frontend/src/env.d.ts.tpl +12 -0
- package/templates/shared/vue-shim/frontend/src/env.d.ts.tpl +15 -0
- package/.yarnclean +0 -45
- package/CHANGELOG.md +0 -406
- package/autoloader.es6 +0 -253
- package/builder.es6 +0 -366
- package/cli/builder/bundles/bundle.js +0 -328
- package/cli/builder/bundles/controller.js +0 -73
- package/cli/builder/bundles/users-bundle/.yarnclean +0 -45
- package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +0 -47
- package/cli/builder/bundles/users-bundle/Command/usersCommand.js +0 -105
- package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +0 -168
- package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +0 -231
- package/cli/builder/bundles/users-bundle/Fixtures/users.js +0 -117
- package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +0 -114
- package/cli/builder/bundles/users-bundle/Resources/config/config.js +0 -90
- package/cli/builder/bundles/users-bundle/Resources/config/routing.js +0 -17
- package/cli/builder/bundles/users-bundle/Resources/config/security.js +0 -96
- package/cli/builder/bundles/users-bundle/Resources/config/services.js +0 -7
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +0 -31
- package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +0 -146
- package/cli/builder/bundles/users-bundle/Resources/js/users.js +0 -153
- package/cli/builder/bundles/users-bundle/Resources/public/favicon.ico +0 -0
- package/cli/builder/bundles/users-bundle/Resources/public/images/users-logo.png +0 -0
- package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +0 -11
- package/cli/builder/bundles/users-bundle/Resources/scss/custom.scss +0 -23
- package/cli/builder/bundles/users-bundle/Resources/scss/users.scss +0 -59
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +0 -235
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +0 -232
- package/cli/builder/bundles/users-bundle/Resources/translations/login.en_en.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/login.fr_fr.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/users.en_en.yml +0 -35
- package/cli/builder/bundles/users-bundle/Resources/translations/users.fr_fr.yml +0 -36
- package/cli/builder/bundles/users-bundle/Resources/views/base.html.twig +0 -32
- package/cli/builder/bundles/users-bundle/Resources/views/footer.html.twig +0 -7
- package/cli/builder/bundles/users-bundle/Resources/views/header.html.twig +0 -90
- package/cli/builder/bundles/users-bundle/Resources/views/login/login.html.twig +0 -43
- package/cli/builder/bundles/users-bundle/Resources/views/users/createUser.html.twig +0 -296
- package/cli/builder/bundles/users-bundle/Resources/views/users/readUsers.html.twig +0 -94
- package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +0 -56
- package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +0 -121
- package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +0 -58
- package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +0 -210
- package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +0 -244
- package/cli/builder/bundles/users-bundle/controller/loginController.js +0 -91
- package/cli/builder/bundles/users-bundle/controller/usersController.js +0 -332
- package/cli/builder/bundles/users-bundle/package.json +0 -58
- package/cli/builder/bundles/users-bundle/readme.md +0 -360
- package/cli/builder/bundles/users-bundle/services/usersService.js +0 -411
- package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +0 -47
- package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +0 -48
- package/cli/builder/bundles/users-bundle/tests/loginTest.js +0 -182
- package/cli/builder/bundles/users-bundle/usersBundle.js +0 -26
- package/cli/builder/microService/microService.js +0 -261
- package/cli/builder/microService/skeletons/.editorconfig +0 -18
- package/cli/builder/microService/skeletons/.env-cmdrc.js +0 -32
- package/cli/builder/microService/skeletons/.jshintrc +0 -37
- package/cli/builder/microService/skeletons/README.md +0 -117
- package/cli/builder/microService/skeletons/bin/bash/hello.sh +0 -5
- package/cli/builder/microService/skeletons/bin/cli +0 -13
- package/cli/builder/microService/skeletons/bin/python/hello.py +0 -20
- package/cli/builder/microService/skeletons/config/config.js +0 -29
- package/cli/builder/microService/skeletons/config/pm2.config.js +0 -72
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.dev.js +0 -8
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.prod.js +0 -25
- package/cli/builder/microService/skeletons/config/webpack.config.js +0 -114
- package/cli/builder/microService/skeletons/package.json +0 -76
- package/cli/builder/microService/skeletons/src/browser/index.css +0 -3
- package/cli/builder/microService/skeletons/src/browser/index.js +0 -16
- package/cli/builder/microService/skeletons/src/browser/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/cli/cli.js +0 -224
- package/cli/builder/microService/skeletons/src/cli/menu.js +0 -28
- package/cli/builder/microService/skeletons/src/n-api/README.md +0 -1
- package/cli/builder/microService/skeletons/src/n-api/binding.gyp +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.cc +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.js +0 -23
- package/cli/builder/microService/skeletons/src/n-api/package.json +0 -15
- package/cli/builder/microService/skeletons/src/node/examples/index.js +0 -120
- package/cli/builder/microService/skeletons/src/node/index.js +0 -102
- package/cli/builder/microService/skeletons/src/node/services/markdown/markdown.js +0 -27
- package/cli/builder/microService/skeletons/src/node/services/servers/http.js +0 -45
- package/cli/builder/microService/skeletons/src/node/services/servers/https.js +0 -44
- package/cli/builder/microService/skeletons/src/node/services/socketio/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/node/services/syscall/syscall.js +0 -111
- package/cli/builder/microService/skeletons/src/node/services/worker/thread.js +0 -59
- package/cli/builder/microService/skeletons/src/node/services/worker/worker.js +0 -60
- package/cli/builder/microService/skeletons/src/templates/base.html +0 -12
- package/cli/builder/microService/skeletons/src/templates/socket.html +0 -23
- package/cli/builder/microService/skeletons/tests/unit/serviceTest.js +0 -30
- package/cli/builder/project/project.js +0 -474
- package/cli/builder/project/skeletons/README.md +0 -778
- package/cli/builder/project/skeletons/bin/dev-deploy.sh +0 -5
- package/cli/builder/project/skeletons/bin/generateCertificates.sh.skeleton +0 -180
- package/cli/builder/project/skeletons/bin/prod-deploy.sh +0 -3
- package/cli/builder/project/skeletons/config/config.js.skeleton +0 -178
- package/cli/builder/project/skeletons/config/openssl/ca/openssl.cnf.skeleton +0 -150
- package/cli/builder/project/skeletons/config/openssl/ca_intermediate/openssl.cnf.skeleton +0 -152
- package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +0 -62
- package/cli/builder/project/skeletons/documentation.html.twig +0 -24
- package/cli/builder/project/skeletons/editorconfig.skeleton +0 -18
- package/cli/builder/project/skeletons/eslintignore.skeleton +0 -15
- package/cli/builder/project/skeletons/eslintrc.js.skeleton +0 -97
- package/cli/builder/project/skeletons/gitignore.skeleton +0 -32
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +0 -137
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +0 -97
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +0 -115
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +0 -97
- package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -101
- package/cli/builder/project/skeletons/package.json.twig +0 -71
- package/cli/builder/react/reactBuilder.js +0 -224
- package/cli/builder/react/skeletons/app/Resources/databases/nodefony.db +0 -0
- package/cli/builder/react/skeletons/app/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/views/base.html.twig +0 -33
- package/cli/builder/react/skeletons/app/config/config.js +0 -392
- package/cli/builder/react/skeletons/app/config/routing.js +0 -10
- package/cli/builder/react/skeletons/app/config/security.js +0 -74
- package/cli/builder/react/skeletons/app/controller/appController.js +0 -22
- package/cli/builder/sandbox/sandBoxBuilder.js +0 -610
- package/cli/builder/sandbox/skeletons/Resources/css/entry.css +0 -48
- package/cli/builder/sandbox/skeletons/Resources/js/entry.js +0 -60
- package/cli/builder/sandbox/skeletons/Resources/public/manifest.json +0 -32
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/views/base.html.twig +0 -46
- package/cli/builder/sandbox/skeletons/Resources/views/index.html.twig +0 -34
- package/cli/builder/sandbox/skeletons/bootstrap/custom.scss +0 -27
- package/cli/builder/sandbox/skeletons/bootstrap/entry.scss +0 -60
- package/cli/builder/sandbox/skeletons/workbox/templates/index.html.twig +0 -32
- package/cli/builder/sandbox/skeletons/workbox/workers/service-worker.js +0 -196
- package/cli/builder/skeletons/Resources/public/favicon.ico +0 -0
- package/cli/builder/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/500.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/base.html.twig +0 -30
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/footer.html.twig +0 -33
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/header.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.json.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.html.twig +0 -125
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.json.twig +0 -5
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.json.twig +0 -24
- package/cli/builder/skeletons/app/appKernel.js +0 -133
- package/cli/builder/skeletons/binding/binding.cc +0 -26
- package/cli/builder/skeletons/binding/binding.skeleton +0 -8
- package/cli/builder/skeletons/bundle/bundleClass.js +0 -37
- package/cli/builder/skeletons/command/commandClass.js +0 -11
- package/cli/builder/skeletons/command/taskClass.js +0 -20
- package/cli/builder/skeletons/config/config.js +0 -138
- package/cli/builder/skeletons/config/nodefony/elastic-bundle.js +0 -37
- package/cli/builder/skeletons/config/nodefony/framework-bundle.js +0 -22
- package/cli/builder/skeletons/config/nodefony/http-bundle.js +0 -104
- package/cli/builder/skeletons/config/nodefony/mail-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +0 -51
- package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +0 -34
- package/cli/builder/skeletons/config/nodefony/realtime-bundle.js +0 -15
- package/cli/builder/skeletons/config/nodefony/redis-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/security-bundle.js +0 -25
- package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +0 -156
- package/cli/builder/skeletons/config/routing.js +0 -55
- package/cli/builder/skeletons/config/security.js +0 -102
- package/cli/builder/skeletons/config/services.js +0 -1
- package/cli/builder/skeletons/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/skeletons/config/webpack/webpack.prod.config.js +0 -20
- package/cli/builder/skeletons/config/webpack.config.js +0 -148
- package/cli/builder/skeletons/controller/controllerClass.js +0 -75
- package/cli/builder/skeletons/package.json.twig +0 -57
- package/cli/builder/skeletons/unittest/testFile.js +0 -46
- package/cli/builder/vue/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/vue/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/vue/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/vue/skeletons/vue.config.js +0 -129
- package/cli/builder/vue/vueBuilder.js +0 -410
- package/cli/generate/generate.es6 +0 -103
- package/cli/install/install.js +0 -190
- package/cli/sequelize/sequelize.js +0 -94
- package/cli/start.js +0 -702
- package/cli/tools/pm2.es6 +0 -112
- package/cli/tools/tools.es6 +0 -97
- package/cli.es6 +0 -925
- package/container.es6 +0 -272
- package/error.es6 +0 -293
- package/fileClass.es6 +0 -242
- package/finder/file.es6 +0 -33
- package/finder/fileResult.es6 +0 -138
- package/finder/finder2.es6 +0 -275
- package/finder.es6 +0 -427
- package/kernel/annotations/annotations.es6 +0 -286
- package/kernel/api/api.es6 +0 -61
- package/kernel/api/graphqlApi.es6 +0 -107
- package/kernel/api/jsonApi.es6 +0 -177
- package/kernel/api/openApi.es6 +0 -139
- package/kernel/api/schemas/openApiSchema.js +0 -394
- package/kernel/babylon.es6 +0 -162
- package/kernel/bundle.es6 +0 -1200
- package/kernel/cliKernel.es6 +0 -869
- package/kernel/command.es6 +0 -78
- package/kernel/commands/nodefonyCommand.es6 +0 -247
- package/kernel/commands/tasks/bundlesTask.es6 +0 -59
- package/kernel/controllers/controller.es6 +0 -791
- package/kernel/fixture.es6 +0 -19
- package/kernel/injections/injections.es6 +0 -424
- package/kernel/kernel.es6 +0 -1960
- package/kernel/kernelWatcher.es6 +0 -387
- package/kernel/orm/entity.es6 +0 -59
- package/kernel/orm/orm.es6 +0 -139
- package/kernel/reader.es6 +0 -290
- package/kernel/security/encoder.es6 +0 -17
- package/kernel/security/factories/factory.es6 +0 -111
- package/kernel/security/factories/passeportFactory.es6 +0 -61
- package/kernel/security/provider.es6 +0 -58
- package/kernel/security/providers/chainProvider.es6 +0 -99
- package/kernel/security/providers/memoryProvider.es6 +0 -55
- package/kernel/security/providers/providerManager.es6 +0 -67
- package/kernel/security/providers/userEntityProvider.es6 +0 -50
- package/kernel/security/role.es6 +0 -12
- package/kernel/security/secureArea.es6 +0 -431
- package/kernel/security/tokens/token.es6 +0 -171
- package/kernel/security/user.es6 +0 -106
- package/kernel/serviceRealTime.es6 +0 -21
- package/kernel/services/connectionsService.es6 +0 -93
- package/kernel/services/cron/cronService.es6 +0 -123
- package/kernel/task.es6 +0 -80
- package/kernel/templates.es6 +0 -22
- package/kernel/templating/twig.es6 +0 -218
- package/kernel/tests/cliTest.js +0 -59
- package/kernel/tests/containerTest.js +0 -232
- package/kernel/tests/kernelTest.js +0 -39
- package/nodefony.es6 +0 -1084
- package/notificationsCenter.es6 +0 -118
- package/protocol.es6 +0 -86
- package/protocols/bayeux.es6 +0 -174
- package/protocols/jsonRpc/jsonrpc.es6 +0 -56
- package/result.es6 +0 -99
- package/service.es6 +0 -288
- package/syslog/pdu.es6 +0 -141
- package/syslog/syslog.es6 +0 -754
- package/watcher.es6 +0 -113
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `IClientKernel` — contrat du kernel client isomorphe de Nodefony (ADR-0007).
|
|
3
|
+
*
|
|
4
|
+
* Le ClientKernel est le chef d'orchestre de la couche **INFRA** d'une app front
|
|
5
|
+
* (composition des services techniques, lifecycle navigateur, observabilité,
|
|
6
|
+
* cycle d'identité). Il ne possède JAMAIS le rendu, le routing ni l'état métier
|
|
7
|
+
* (React/Vue/Angular + stores restent maîtres de la vue) — clause anti-dérive
|
|
8
|
+
* ADR-0007 D1.
|
|
9
|
+
*
|
|
10
|
+
* Ce fichier EST la spécification : toute évolution de surface passe par un
|
|
11
|
+
* nouvel ADR. Il n'est PAS encore réexporté par le barrel client — il y revient
|
|
12
|
+
* quand la console d'administration l'exerce (ADR-0007 D11.4), gardé par
|
|
13
|
+
* `src/tests/clientSurfaceExercised.test.ts`.
|
|
14
|
+
*
|
|
15
|
+
* @module nodefony/client
|
|
16
|
+
*/
|
|
17
|
+
import type Syslog from "../syslog/Syslog.js";
|
|
18
|
+
import type { RealtimeClient, RealtimeOptions } from "./realtime/RealtimeClient.js";
|
|
19
|
+
/**
|
|
20
|
+
* États du kernel client, ordonnés et non régressifs (symétrie nominale avec les
|
|
21
|
+
* lifecycle flags du Kernel serveur — `booted`/`ready`/… — sans en singer la
|
|
22
|
+
* sémantique process).
|
|
23
|
+
*/
|
|
24
|
+
export type ClientKernelState = "created" | "booting" | "ready" | "terminated";
|
|
25
|
+
/**
|
|
26
|
+
* Événements émis par le kernel client.
|
|
27
|
+
*
|
|
28
|
+
* Mêmes noms nominaux que les hooks du Kernel serveur quand le sens est le même
|
|
29
|
+
* (`onBoot`/`onReady`/`onTerminate`) ; les événements propres au navigateur
|
|
30
|
+
* (`onIdentityChange`, `onVisibility`, `onOnline`) n'ont volontairement pas
|
|
31
|
+
* d'équivalent back.
|
|
32
|
+
*
|
|
33
|
+
* - `onBoot` — composition faite (`boot()` appelé).
|
|
34
|
+
* - `onReady` — services connectés (socket ouverte, ou opt-out realtime).
|
|
35
|
+
* - `onIdentityChange` — l'identité runtime a changé (login/logout/bascule de
|
|
36
|
+
* compte). Le kernel a DÉJÀ re-négocié la socket quand l'app reçoit cet
|
|
37
|
+
* événement (anti-élévation de privilège, ADR-0007 D9) : il ne reste à
|
|
38
|
+
* l'application qu'à purger ses propres caches scopés.
|
|
39
|
+
* - `onVisibility` — `document.visibilitychange`.
|
|
40
|
+
* - `onOnline` — bascule `online`/`offline` du navigateur.
|
|
41
|
+
* - `onTerminate` — page en cours de déchargement (`pagehide`, best-effort).
|
|
42
|
+
*/
|
|
43
|
+
export type ClientKernelEvent = "onBoot" | "onReady" | "onIdentityChange" | "onVisibility" | "onOnline" | "onTerminate";
|
|
44
|
+
/**
|
|
45
|
+
* Identité runtime déclarée par l'application au kernel.
|
|
46
|
+
*
|
|
47
|
+
* `key` est une **clé stable de compte** — et elle seule décide d'un « vrai
|
|
48
|
+
* changement » au sens ADR-0007 D9. Ce n'est pas un détail de forme : la garde
|
|
49
|
+
* qui protège contre l'élévation de privilège compare des clés, jamais des
|
|
50
|
+
* objets. Un profil rafraîchi (mêmes droits, nouvel objet) ne doit PAS couper la
|
|
51
|
+
* socket ; une bascule de compte le doit toujours.
|
|
52
|
+
*
|
|
53
|
+
* `data` reste à l'usage de l'application (profil, rôles, ce qu'elle veut
|
|
54
|
+
* retrouver dans le handler) — le kernel ne l'interprète jamais.
|
|
55
|
+
*/
|
|
56
|
+
export interface ClientIdentity {
|
|
57
|
+
/** Clé stable du compte — l'unique critère du re-handshake (D9). */
|
|
58
|
+
readonly key: string;
|
|
59
|
+
/** Charge libre, opaque au kernel. */
|
|
60
|
+
readonly data?: unknown;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Registre TYPÉ des services techniques portés par le kernel client.
|
|
64
|
+
*
|
|
65
|
+
* Extensible par **augmentation de module** (même mécanique que le registre de
|
|
66
|
+
* config `NodefonyModuleConfig` back, ADR-0006) : un module/une app déclare ses
|
|
67
|
+
* services sans jamais modifier ce contrat.
|
|
68
|
+
*
|
|
69
|
+
* `realtime` est typé sur la **classe** `RealtimeClient`, pas sur l'interface
|
|
70
|
+
* `IRealtimeSocket` : c'est la correction du premier défaut relevé par #41. Le
|
|
71
|
+
* consommateur publié du registre est `NodefonyProvider`, dont la prop `client`
|
|
72
|
+
* exige la classe ; et `IRealtimeSocket` n'a ni `connect`, ni `disconnect`, ni
|
|
73
|
+
* `state`, ni `identity` — le contrat ne savait donc pas exprimer le
|
|
74
|
+
* re-handshake de sa propre décision D9. Un registre nomme des services
|
|
75
|
+
* composés, pas des abstractions : l'affaiblir n'achetait rien et imposait une
|
|
76
|
+
* conversion de type forcée à chaque lecture.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* declare module "nodefony/client" {
|
|
81
|
+
* interface NodefonyClientServices {
|
|
82
|
+
* api?: MyApiClient;
|
|
83
|
+
* }
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export interface NodefonyClientServices {
|
|
88
|
+
/** La socket Nodefony de l'app (multiplexage de canaux, isomorphe). */
|
|
89
|
+
realtime?: RealtimeClient;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Options de `createClientKernel()`.
|
|
93
|
+
*
|
|
94
|
+
* Tout est facultatif : un kernel sans option est légal et ne compose rien —
|
|
95
|
+
* l'opt-in est strict (ADR-0007 D7), le kernel compose, il n'impose pas.
|
|
96
|
+
*/
|
|
97
|
+
export interface ClientKernelOptions {
|
|
98
|
+
/**
|
|
99
|
+
* Nom du kernel — sert de `msgid` dans les journaux client.
|
|
100
|
+
*
|
|
101
|
+
* @defaultValue `"CLIENT KERNEL"`
|
|
102
|
+
*/
|
|
103
|
+
name?: string;
|
|
104
|
+
/**
|
|
105
|
+
* La socket de l'application. Trois formes, par DX décroissante :
|
|
106
|
+
* une instance déjà composée, les options d'une socket partagée
|
|
107
|
+
* (`RealtimeClient.shared`), ou `false`/absent pour ne pas en avoir.
|
|
108
|
+
*/
|
|
109
|
+
realtime?: RealtimeClient | RealtimeOptions | false;
|
|
110
|
+
/**
|
|
111
|
+
* Ponter les événements du navigateur (`visibilitychange`, `online`/`offline`,
|
|
112
|
+
* `pagehide`) sur les événements du kernel.
|
|
113
|
+
*
|
|
114
|
+
* @defaultValue `true` quand un document est présent
|
|
115
|
+
*/
|
|
116
|
+
browserEvents?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Ouvrir la socket au `boot()`.
|
|
119
|
+
*
|
|
120
|
+
* À passer `false` quand la socket est **authentifiée** : c'est alors le login
|
|
121
|
+
* qui l'ouvre, par `setIdentity()`, et ouvrir au démarrage produirait une
|
|
122
|
+
* connexion anonyme qui n'a rien à faire là. Le cas s'est présenté au premier
|
|
123
|
+
* portage réel — la console d'administration n'ouvre sa socket qu'une fois
|
|
124
|
+
* l'utilisateur connu.
|
|
125
|
+
*
|
|
126
|
+
* @defaultValue `true`
|
|
127
|
+
*/
|
|
128
|
+
connectOnBoot?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Annoncer le kernel dans la console du navigateur au `boot()`.
|
|
131
|
+
*
|
|
132
|
+
* Trois états, et le défaut s'adapte tout seul :
|
|
133
|
+
*
|
|
134
|
+
* - **en développement** (`import.meta.env.DEV` posé par le bundler) — un badge
|
|
135
|
+
* sur une ligne, puis un groupe REPLIÉ avec les services composés, l'adresse
|
|
136
|
+
* et l'état de la socket, l'identité courante ;
|
|
137
|
+
* - **partout ailleurs** — le badge seul. Savoir que le noyau tourne suffit à
|
|
138
|
+
* diagnostiquer ; le reste est du bruit dans la console de l'utilisateur ;
|
|
139
|
+
* - `false` — rien du tout.
|
|
140
|
+
*
|
|
141
|
+
* `true` force le détail quel que soit le mode. L'absence de preuve de
|
|
142
|
+
* développement est traitée comme la production : se taire à tort ne coûte
|
|
143
|
+
* qu'une ligne, parler à tort pollue la console de tout le monde.
|
|
144
|
+
*
|
|
145
|
+
* @defaultValue le mode détecté
|
|
146
|
+
*/
|
|
147
|
+
banner?: boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Contrat du kernel client isomorphe (ADR-0007 D2 — surface v1, volontairement
|
|
151
|
+
* minimale : chaque méthode publiée est une promesse SemVer).
|
|
152
|
+
*
|
|
153
|
+
* Obtenu via la factory `createClientKernel()` — jamais un singleton de module
|
|
154
|
+
* (testabilité, HMR-safe). Chaque primitive du Core reste utilisable NUE sans
|
|
155
|
+
* kernel (opt-in strict, ADR-0007 D7).
|
|
156
|
+
*/
|
|
157
|
+
export interface IClientKernel {
|
|
158
|
+
/** Récupère un service enregistré (ou `undefined` s'il n'est pas composé). */
|
|
159
|
+
get<K extends keyof NodefonyClientServices>(name: K): NodefonyClientServices[K];
|
|
160
|
+
/** Enregistre un service sous son nom contractuel. */
|
|
161
|
+
set<K extends keyof NodefonyClientServices>(name: K, svc: NodefonyClientServices[K]): void;
|
|
162
|
+
/** Teste la présence d'un service (nom libre, y compris hors contrat). */
|
|
163
|
+
has(name: string): boolean;
|
|
164
|
+
/** Compose et connecte les services (idempotent). Émet `onBoot` puis `onReady`. */
|
|
165
|
+
boot(): Promise<void>;
|
|
166
|
+
/** Flush l'observabilité et déconnecte (best-effort sur `pagehide`). Émet `onTerminate`. */
|
|
167
|
+
terminate(): Promise<void>;
|
|
168
|
+
/** État courant du kernel — jamais régressif. */
|
|
169
|
+
readonly state: ClientKernelState;
|
|
170
|
+
/**
|
|
171
|
+
* Déclare l'identité runtime courante — c'est l'application qui la connaît
|
|
172
|
+
* (login, logout, bascule de compte), le kernel qui en tire les conséquences.
|
|
173
|
+
*
|
|
174
|
+
* Sur un **vrai** changement de clé, et lui seul, le kernel re-négocie la
|
|
175
|
+
* socket puis émet `onIdentityChange`. Sans cette porte d'entrée, D9 resterait
|
|
176
|
+
* une intention : le kernel n'a aucun moyen d'apprendre qu'un login a eu lieu.
|
|
177
|
+
*/
|
|
178
|
+
setIdentity(identity: ClientIdentity | null): void;
|
|
179
|
+
/** Identité runtime courante, telle que l'application l'a déclarée. */
|
|
180
|
+
readonly identity: ClientIdentity | null;
|
|
181
|
+
/** Abonne un handler à un événement du kernel (API `Event` du Core, chaînable). */
|
|
182
|
+
on(event: ClientKernelEvent, handler: (...args: unknown[]) => void): this;
|
|
183
|
+
/**
|
|
184
|
+
* Journal client de série (`Pdu` isomorphes — corrélables au back par
|
|
185
|
+
* `requestId`).
|
|
186
|
+
*
|
|
187
|
+
* L'ADR-0007 nommait ce membre `log`. Le nom ne pouvait pas tenir : tout
|
|
188
|
+
* `Service` Nodefony porte déjà `log(...)` comme **méthode d'écriture**, et le
|
|
189
|
+
* kernel client en est un — une propriété du même nom masquait le geste
|
|
190
|
+
* d'écriture de toute la lignée. `syslog` est le nom que le framework donne
|
|
191
|
+
* partout ailleurs à ce même objet (`Service.syslog`, `kernel.syslog`) :
|
|
192
|
+
* l'isomorphisme, c'est le même modèle mental des deux côtés du fil.
|
|
193
|
+
*/
|
|
194
|
+
readonly syslog: Syslog;
|
|
195
|
+
}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodefony/angular` — liaisons **Angular** du client temps réel isomorphe.
|
|
3
|
+
*
|
|
4
|
+
* Adapte le {@link RealtimeClient} (agnostique : `on()`/`emit()`/`state`) aux
|
|
5
|
+
* *signals* d'Angular, sans glue à recopier dans chaque application. Le pendant
|
|
6
|
+
* exact de `nodefony/react` et `nodefony/vue` : même surface, mêmes noms, mêmes
|
|
7
|
+
* garanties — seule la traduction vers la réactivité change.
|
|
8
|
+
*
|
|
9
|
+
* **Ce fichier ne contient AUCUNE règle temps réel.** Souscrire, tenir un
|
|
10
|
+
* dernier reçu, borner un anneau, décoder le format coalescé du journal, ne
|
|
11
|
+
* jamais couper une socket partagée : tout cela vit dans le socle agnostique
|
|
12
|
+
* `nodefony/client` (`observe*`, `connectShared`), que les quatre liaisons
|
|
13
|
+
* consomment à l'identique. Ici ne reste que la traduction *rappel + libération
|
|
14
|
+
* → signal* — la seule chose qu'une liaison a le droit de contenir. Une liaison
|
|
15
|
+
* qui réencoderait une règle la ferait diverger des trois autres, en silence.
|
|
16
|
+
*
|
|
17
|
+
* Trois particularités d'Angular que React et Vue ne montrent pas, et qui sont
|
|
18
|
+
* la raison d'être de ce fichier :
|
|
19
|
+
*
|
|
20
|
+
* 1. **AUCUN décorateur Angular n'est publié ici**, et c'est délibéré. Un
|
|
21
|
+
* `@Injectable()` n'est pas du JavaScript : c'est une instruction pour le
|
|
22
|
+
* compilateur d'Angular, qui doit la transformer. Une bibliothèque qui en
|
|
23
|
+
* publie doit donc être bâtie par `ng-packagr` au format de paquet Angular
|
|
24
|
+
* (*partial compilation* + *linker*) — une seconde chaîne de build, et un
|
|
25
|
+
* couplage aux majeures d'Angular, pour UN subpath sur quatre. Non compilé,
|
|
26
|
+
* un décorateur marche parfois en développement (si `@angular/compiler` est
|
|
27
|
+
* chargé) et **casse en production**, où il ne l'est pas. La forme retenue
|
|
28
|
+
* — `InjectionToken` + `makeEnvironmentProviders` + fonctions `inject*()` —
|
|
29
|
+
* est celle qu'Angular emploie pour lui-même (`provideHttpClient`,
|
|
30
|
+
* `provideRouter`, `takeUntilDestroyed`) : du TypeScript ordinaire, que
|
|
31
|
+
* rolldown bâtit comme le reste, et une DI intacte.
|
|
32
|
+
* ⚠️ Cela ne restreint EN RIEN l'application : `@Component`, `@Injectable`,
|
|
33
|
+
* `@Directive` y sont compilés par le plugin Angular du builder Nodefony.
|
|
34
|
+
* Ces fonctions s'appellent depuis un composant ou un service décoré.
|
|
35
|
+
* 2. **Les écouteurs sont posés HORS ZONE.** Dans une application avec
|
|
36
|
+
* `zone.js`, `zone.js` remplace `WebSocket` pour savoir quand relancer la
|
|
37
|
+
* détection de changements : une socket ouverte dans la zone déclenche donc
|
|
38
|
+
* une détection **globale à chaque trame** — un canal à 10 Hz coûterait dix
|
|
39
|
+
* détections par seconde à TOUTE l'application, ce que la règle de
|
|
40
|
+
* performance du projet interdit. {@link provideNodefony} ouvre donc la
|
|
41
|
+
* connexion dans `NgZone.runOutsideAngular`. Les valeurs, elles, arrivent
|
|
42
|
+
* par des *signals*, qui notifient leurs lecteurs sans zone : juste dans les
|
|
43
|
+
* deux mondes, `zone.js` ou `provideZonelessChangeDetection()`.
|
|
44
|
+
* 3. **La libération passe par le contexte d'injection**, jamais par une valeur
|
|
45
|
+
* de retour : `DestroyRef` pour un abonnement fixe, le nettoyage d'`effect`
|
|
46
|
+
* pour un abonnement qui suit un signal. C'est le composant (ou le service)
|
|
47
|
+
* qui possède l'abonnement, et sa destruction le rend.
|
|
48
|
+
*
|
|
49
|
+
* `@angular/core` est une peerDep **optionnelle** : ce module n'est tiré que si
|
|
50
|
+
* on importe `nodefony/angular`.
|
|
51
|
+
*
|
|
52
|
+
* @example La page entière, en deux concepts :
|
|
53
|
+
* ```ts
|
|
54
|
+
* // main.ts
|
|
55
|
+
* bootstrapApplication(AppComponent, {
|
|
56
|
+
* providers: [provideNodefony({ url: "/api/live/realtime" })],
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
* ```ts
|
|
60
|
+
* // app.component.ts
|
|
61
|
+
* @Component({ selector: "app-root", template: `{{ etat() }}` })
|
|
62
|
+
* export class AppComponent {
|
|
63
|
+
* readonly etat = injectNodefonyState();
|
|
64
|
+
* readonly last = injectNodefonyChannelData<LiveEvent>("live:events");
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @module nodefony/angular
|
|
69
|
+
*/
|
|
70
|
+
import { InjectionToken, type EnvironmentProviders, type Signal } from "@angular/core";
|
|
71
|
+
import type { RealtimeClient } from "../realtime/RealtimeClient.js";
|
|
72
|
+
import type { MessageStats, NodefonyNotice, RealtimeIdentity, RealtimeState } from "../realtime/RealtimeClient.js";
|
|
73
|
+
import type { BindAdaptiveOptions } from "../realtime/AdaptiveRate.js";
|
|
74
|
+
import { type SocketSnapshot } from "../realtime/observe.js";
|
|
75
|
+
export { rateChannel, parseRate, isRateChannel, } from "../../realtime/channelRate.js";
|
|
76
|
+
export type { RateBounds } from "../../realtime/channelRate.js";
|
|
77
|
+
export type { RealtimeIdentity, RealtimeState, NodefonyNotice, } from "../realtime/RealtimeClient.js";
|
|
78
|
+
export type { SocketSnapshot } from "../realtime/observe.js";
|
|
79
|
+
/**
|
|
80
|
+
* Le jeton sous lequel {@link provideNodefony} enregistre la socket.
|
|
81
|
+
*
|
|
82
|
+
* Exporté pour le cas légitime où un sous-arbre doit parler à une AUTRE socket
|
|
83
|
+
* que celle de l'application : le fournir à nouveau dans les `providers` d'un
|
|
84
|
+
* composant suffit, et les fonctions du sous-arbre suivent.
|
|
85
|
+
*/
|
|
86
|
+
export declare const NODEFONY_CLIENT: InjectionToken<RealtimeClient<import("../../realtime/RealtimeEventMap.js").DefaultEventsMap, import("../../realtime/RealtimeEventMap.js").DefaultEventsMap, import("../../realtime/RealtimeEventMap.js").DefaultActionsMap>>;
|
|
87
|
+
/** Réglages de {@link provideNodefony} — l'un des deux au moins doit être donné. */
|
|
88
|
+
export interface NodefonyAngularOptions {
|
|
89
|
+
/**
|
|
90
|
+
* Adresse du serveur temps réel — la voie SIMPLE. Le fournisseur fabrique la
|
|
91
|
+
* socket partagée pour cette URL et la connecte lui-même.
|
|
92
|
+
*
|
|
93
|
+
* Deux consommateurs qui donnent la même URL obtiennent la MÊME socket
|
|
94
|
+
* ({@link RealtimeClient.shared}), donc une seule connexion réseau.
|
|
95
|
+
*/
|
|
96
|
+
url?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Socket déjà construite — la voie AVANCÉE, quand l'application possède son
|
|
99
|
+
* cycle de connexion. Fournie, elle l'emporte sur `url` et le fournisseur ne
|
|
100
|
+
* touche pas au cycle : ni `connect`, ni `disconnect`.
|
|
101
|
+
*/
|
|
102
|
+
client?: RealtimeClient;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Le fournisseur — à poser une fois, dans les `providers` de l'application.
|
|
106
|
+
*
|
|
107
|
+
* Il fait exactement deux choses : enregistrer la socket, et lancer la
|
|
108
|
+
* connexion **hors zone**. Il n'en coupe aucune : la connexion appartient à la
|
|
109
|
+
* PAGE, pas à un composant, et `disconnect()` tranche les requêtes en vol des
|
|
110
|
+
* autres consommateurs de la même socket partagée.
|
|
111
|
+
*
|
|
112
|
+
* La socket est résolue **immédiatement** (donc une adresse manquante est
|
|
113
|
+
* refusée à la construction des providers, pas à la première injection) ; la
|
|
114
|
+
* connexion, elle, n'est ouverte qu'au premier `inject`, et hors zone.
|
|
115
|
+
*
|
|
116
|
+
* @throws si ni `url` ni `client` n'est fourni — l'adresse dépend de
|
|
117
|
+
* l'application, et le framework n'en devine aucune (règle du socle : une
|
|
118
|
+
* adresse devinée marche en développement et se trompe en production).
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* bootstrapApplication(AppComponent, {
|
|
123
|
+
* providers: [
|
|
124
|
+
* provideZonelessChangeDetection(),
|
|
125
|
+
* provideNodefony({ url: "/api/live/realtime" }),
|
|
126
|
+
* ],
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
export declare function provideNodefony(options: NodefonyAngularOptions): EnvironmentProviders;
|
|
131
|
+
/**
|
|
132
|
+
* `injectNodefony()` — la socket brute (canaux, journal, statistiques…). Tête de
|
|
133
|
+
* gondole et échappatoire pour les cas avancés ; pour de l'état réactif, prendre
|
|
134
|
+
* les fonctions dédiées ci-dessous.
|
|
135
|
+
*
|
|
136
|
+
* @throws si {@link provideNodefony} n'est pas dans les `providers`. Le socle
|
|
137
|
+
* REFUSE de deviner une adresse : retomber ici sur une socket partagée
|
|
138
|
+
* fabriquée à la volée donnerait une page qui marche en développement et parle
|
|
139
|
+
* au mauvais hôte en production — mieux vaut une erreur au premier rendu.
|
|
140
|
+
*/
|
|
141
|
+
export declare function injectNodefony(): RealtimeClient;
|
|
142
|
+
/**
|
|
143
|
+
* Une source de valeur : constante, ou fonction qui la lit (un `Signal` en est
|
|
144
|
+
* un cas — un signal EST une fonction sans argument).
|
|
145
|
+
*
|
|
146
|
+
* C'est ce qui remplace, en Angular, la liste de dépendances que React doit se
|
|
147
|
+
* faire passer à la main : donner un signal suffit à ce que l'abonnement suive.
|
|
148
|
+
*/
|
|
149
|
+
export type Source<T> = T | (() => T);
|
|
150
|
+
/**
|
|
151
|
+
* `injectNodefonyState()` — l'état de la connexion (`"connected"`,
|
|
152
|
+
* `"reconnecting"`, …), tenu à jour. Branché sur la porte publique `onState`,
|
|
153
|
+
* jamais sur le nom de l'événement local, qui n'a pas à sortir du client.
|
|
154
|
+
*/
|
|
155
|
+
export declare function injectNodefonyState(): Signal<RealtimeState>;
|
|
156
|
+
/**
|
|
157
|
+
* `injectNodefonyIdentity()` — l'**identité résolue** de la connexion, annoncée
|
|
158
|
+
* par le serveur au `realtime:welcome` (`authenticated`, `roles`,
|
|
159
|
+
* `userIdentifier`, `scopes`). `null` tant qu'aucun welcome n'est arrivé ; une
|
|
160
|
+
* fois reçu, un visiteur anonyme a `authenticated: false`. Brique du gating
|
|
161
|
+
* front : `authenticated: false` → écran de connexion, **sans** appeler
|
|
162
|
+
* `/auth/me`.
|
|
163
|
+
*/
|
|
164
|
+
export declare function injectNodefonyIdentity(): Signal<RealtimeIdentity | null>;
|
|
165
|
+
/**
|
|
166
|
+
* `injectNodefonyChannel()` — s'abonne à un canal pub/sub : `onMessage` est
|
|
167
|
+
* appelé à chaque message. Le socle apparie `subscribe`/`unsubscribe` côté
|
|
168
|
+
* serveur (ref-comptés) et rejoue l'abonnement à chaque reconnexion.
|
|
169
|
+
*
|
|
170
|
+
* Le canal accepte un signal (ou toute fonction qui le lit) : l'abonnement suit
|
|
171
|
+
* alors la valeur, en libérant l'ancien avant de prendre le nouveau.
|
|
172
|
+
*/
|
|
173
|
+
export declare function injectNodefonyChannel(channel: Source<string>, onMessage: (payload: unknown) => void): void;
|
|
174
|
+
/**
|
|
175
|
+
* `injectNodefonyChannelData()` — la **dernière valeur** reçue sur un canal (le
|
|
176
|
+
* cas le plus courant : la dernière mesure d'un flux d'état). `null` tant que
|
|
177
|
+
* rien n'est arrivé.
|
|
178
|
+
*/
|
|
179
|
+
export declare function injectNodefonyChannelData<T = unknown>(channel: Source<string>, initial?: T | null): Signal<T | null>;
|
|
180
|
+
/** Réglages adaptatifs (la cadence désirée se passe à part, en argument). */
|
|
181
|
+
export type AdaptiveChannelOptions = Omit<BindAdaptiveOptions, "intervalMs" | "onRate">;
|
|
182
|
+
/** Résultat de {@link injectNodefonyAdaptiveChannelData} : valeur + cadence réelle. */
|
|
183
|
+
export interface AdaptiveChannelData<T> {
|
|
184
|
+
/** Dernière valeur reçue, `null` tant que rien n'est arrivé. */
|
|
185
|
+
data: Signal<T | null>;
|
|
186
|
+
/** Cadence effective (ms) — bouge avec l'AIMD, à afficher en badge. */
|
|
187
|
+
intervalMs: Signal<number>;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* `injectNodefonyAdaptiveChannel()` — comme {@link injectNodefonyChannel}, mais
|
|
191
|
+
* en **cadence adaptative** (AIMD piloté par le client) : la cadence recule sous
|
|
192
|
+
* famine puis remonte quand c'est sain, sans rien changer au serveur. Renvoie la
|
|
193
|
+
* cadence effective, à afficher.
|
|
194
|
+
*
|
|
195
|
+
* Réservé aux canaux d'ÉTAT (latest-wins) : décimer un canal d'événements perd
|
|
196
|
+
* des messages.
|
|
197
|
+
*
|
|
198
|
+
* Le ré-abonnement suit {@link adaptiveRebindKey} — la MÊME clé que les trois
|
|
199
|
+
* autres liaisons, pour que les quatre rebranchent aux mêmes instants.
|
|
200
|
+
*/
|
|
201
|
+
export declare function injectNodefonyAdaptiveChannel(base: Source<string>, onMessage: (payload: unknown) => void, desiredMs: Source<number>, options?: AdaptiveChannelOptions): Signal<number>;
|
|
202
|
+
/**
|
|
203
|
+
* `injectNodefonyAdaptiveChannelData()` — comme
|
|
204
|
+
* {@link injectNodefonyChannelData}, mais en cadence adaptative. Mince surcouche
|
|
205
|
+
* de {@link injectNodefonyAdaptiveChannel} : garde la dernière valeur et rend la
|
|
206
|
+
* cadence effective. Réservé aux canaux d'ÉTAT.
|
|
207
|
+
*/
|
|
208
|
+
export declare function injectNodefonyAdaptiveChannelData<T = unknown>(base: Source<string>, desiredMs: Source<number>, options?: AdaptiveChannelOptions): AdaptiveChannelData<T>;
|
|
209
|
+
/**
|
|
210
|
+
* Statistiques observées d'un canal, telles que le client les calcule.
|
|
211
|
+
*
|
|
212
|
+
* Alias du contrat isomorphe {@link MessageStats} : une copie locale de la forme
|
|
213
|
+
* aurait divergé le jour où le client ajoute un compteur.
|
|
214
|
+
*/
|
|
215
|
+
export type ChannelStatsSnapshot = MessageStats;
|
|
216
|
+
/**
|
|
217
|
+
* `injectNodefonyChannelStats()` — statistiques vivantes d'un canal (débit,
|
|
218
|
+
* série pour un VU-mètre, total). La source est l'échantillonneur du client
|
|
219
|
+
* (1×/s) : aucune horloge n'est posée ici, et aucune trame n'est émise pour
|
|
220
|
+
* mesurer.
|
|
221
|
+
*/
|
|
222
|
+
export declare function injectNodefonyChannelStats(channel: Source<string>): Signal<ChannelStatsSnapshot | null>;
|
|
223
|
+
/**
|
|
224
|
+
* `injectNodefonySnapshot()` — ce que la socket sait d'ELLE-MÊME : état, canaux
|
|
225
|
+
* tenus, trames reçues, trames perdues, dernière trame. Rafraîchi par
|
|
226
|
+
* l'échantillonneur déjà en place — aucune horloge de plus.
|
|
227
|
+
*
|
|
228
|
+
* La donnée est au socle, la **boîte qui l'affiche** reste à chaque front :
|
|
229
|
+
* publier un composant obligerait à en écrire un par framework de vue, et ferait
|
|
230
|
+
* entrer du DOM dans un module dont toute la valeur est de n'en avoir aucun.
|
|
231
|
+
*/
|
|
232
|
+
export declare function injectNodefonySnapshot(): Signal<SocketSnapshot | null>;
|
|
233
|
+
/** Réglages de {@link injectNodefonySyslog}. */
|
|
234
|
+
export interface InjectSyslogOptions {
|
|
235
|
+
/** Taille max de l'anneau (les plus anciennes lignes sont évincées). Défaut 500. */
|
|
236
|
+
max?: number;
|
|
237
|
+
/** Ne garder que ces sévérités (ex. `["ERROR", "CRITIC"]`). Toutes par défaut. */
|
|
238
|
+
severities?: string[];
|
|
239
|
+
/** Canal source. Défaut `"nodefony:syslog"`. */
|
|
240
|
+
channel?: string;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* `injectNodefonySyslog()` — le flux du journal, prêt à afficher : anneau borné
|
|
244
|
+
* et filtre de sévérité. Le format **coalescé** du canal (`{ logs, dropped }`),
|
|
245
|
+
* l'entrée unique, la taille de l'anneau et le canal par défaut viennent du
|
|
246
|
+
* socle ({@link observeSyslog}) : cette fonction n'en connaît aucun.
|
|
247
|
+
*/
|
|
248
|
+
export declare function injectNodefonySyslog(options?: Source<InjectSyslogOptions>): Signal<unknown[]>;
|
|
249
|
+
/**
|
|
250
|
+
* `injectNodefonyNotifications()` — le flux des **notices normalisées** du
|
|
251
|
+
* client : criticités qui cassent le temps réel (codes de fermeture RFC 6455
|
|
252
|
+
* interprétés), erreurs poussées par le serveur, rétablissement de connexion.
|
|
253
|
+
* `onNotice` est appelé pour CHAQUE notice → brancher un centre de
|
|
254
|
+
* notifications.
|
|
255
|
+
*
|
|
256
|
+
* À monter **une seule fois** (le shell de l'application), sans quoi la même
|
|
257
|
+
* notice s'affiche autant de fois qu'il y a d'appels.
|
|
258
|
+
*/
|
|
259
|
+
export declare function injectNodefonyNotifications(onNotice: (notice: NodefonyNotice) => void): void;
|
|
260
|
+
/** Réglages de {@link injectNodefonyNoticeLog}. */
|
|
261
|
+
export interface InjectNoticeLogOptions {
|
|
262
|
+
/** Taille max de l'anneau (les plus anciennes notices sont évincées). Défaut 50. */
|
|
263
|
+
max?: number;
|
|
264
|
+
/** Ne garder que ces sources (ex. `["realtime"]`). Toutes par défaut. */
|
|
265
|
+
sources?: NodefonyNotice["source"][];
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* `injectNodefonyNoticeLog()` — l'anneau borné des dernières notices, filtrable
|
|
269
|
+
* par source : un historique léger des criticités, distinct des notifications
|
|
270
|
+
* éphémères. La taille de l'anneau et le filtrage viennent du socle
|
|
271
|
+
* ({@link observeNoticeLog}).
|
|
272
|
+
*/
|
|
273
|
+
export declare function injectNodefonyNoticeLog(options?: Source<InjectNoticeLogOptions>): Signal<NodefonyNotice[]>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Le mode annoncé par le serveur, quand il en annonce un.
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ Le serveur **ne pose ce champ qu'en dehors de la production** : une absence
|
|
5
|
+
* vaut donc production, jamais l'inverse. C'est la même règle que pour le
|
|
6
|
+
* bundle, et pour la même raison — se taire à tort ne coûte qu'une ligne, parler
|
|
7
|
+
* à tort expose la console de tout le monde.
|
|
8
|
+
*
|
|
9
|
+
* @param env - la valeur reçue dans `realtime:welcome`, ou `undefined`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function noteServerEnv(env: string | undefined): void;
|
|
12
|
+
/**
|
|
13
|
+
* Peut-on se permettre le détail ? Bundle de développement, OU serveur qui
|
|
14
|
+
* annonce un mode hors production.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isVerbose(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Le bundle a-t-il été bâti en développement ?
|
|
19
|
+
*
|
|
20
|
+
* Le mode se LIT, il ne se devine pas : `import.meta.env.DEV` est posé par le
|
|
21
|
+
* bundler de l'application (Vite le remplace par une constante au build). Hors
|
|
22
|
+
* bundler il n'existe pas — et **l'absence de preuve de développement se traite
|
|
23
|
+
* comme la production**, jamais l'inverse : se taire à tort ne coûte qu'une
|
|
24
|
+
* ligne manquante, parler à tort pollue la console de tout le monde.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isDevBuild(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Annonce un noyau client : son nom porte le badge, et il devient le sujet du
|
|
29
|
+
* handle. À appeler AVANT que le noyau compose sa socket, sinon c'est le badge
|
|
30
|
+
* générique de la socket qui sortirait le premier.
|
|
31
|
+
*
|
|
32
|
+
* @param kernel - le noyau, exposé tel quel en `nodefony.kernel`.
|
|
33
|
+
* @param name - son nom, affiché dans le badge.
|
|
34
|
+
* @param annoncer - `false` fait taire l'annonce ET le handle (app publiée qui
|
|
35
|
+
* ne veut rien dans sa console) ; `true` force le détail hors développement.
|
|
36
|
+
* @returns le débranchement, à appeler à la mort du noyau — sans quoi un
|
|
37
|
+
* rechargement à chaud accumulerait des noyaux morts retenus par le handle.
|
|
38
|
+
*/
|
|
39
|
+
export declare function announceKernel(kernel: {
|
|
40
|
+
identity?: unknown;
|
|
41
|
+
}, name: string, annoncer?: boolean): () => void;
|
|
42
|
+
/**
|
|
43
|
+
* Annonce une socket qui vit NUE — aucune composition, aucun noyau. C'est le cas
|
|
44
|
+
* des vitrines du dépôt et de tout widget qui monte une socket et rien d'autre.
|
|
45
|
+
*
|
|
46
|
+
* @param annoncer - `false` fait taire l'annonce (option `banner` de la socket).
|
|
47
|
+
* @returns le débranchement ; une socket partagée vit avec la page et n'a pas à
|
|
48
|
+
* l'appeler — il existe pour les bancs, qui doivent repartir d'une page vierge.
|
|
49
|
+
*/
|
|
50
|
+
export declare function announceRealtime(annoncer?: boolean): () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Détail du framework, dans un groupe REPLIÉ de la console : un tableau
|
|
53
|
+
* `clé → valeur` et les deux rappels qui font gagner du temps.
|
|
54
|
+
*
|
|
55
|
+
* **Un seul détail par page**, et le noyau gagne : quand il y en a un, la socket
|
|
56
|
+
* ne le double pas — c'est lui qui a le plus à dire (état, identité, services).
|
|
57
|
+
* Une vitrine sans noyau, elle, obtient enfin le sien : c'est la moitié
|
|
58
|
+
* « diagnostic » que l'ADR-0007 D7 laissait derrière le péage de la composition.
|
|
59
|
+
*
|
|
60
|
+
* Le groupe est replié et non ouvert : présent pour qui le cherche, invisible
|
|
61
|
+
* pour qui débogue autre chose. `groupEnd` est atteint même si une lecture
|
|
62
|
+
* jette — un groupe laissé ouvert avale tous les messages suivants.
|
|
63
|
+
*
|
|
64
|
+
* @param rows - le tableau à rendre, `clé → { valeur }`, composé par
|
|
65
|
+
* l'appelant : lui seul sait ce qu'il a d'important à dire.
|
|
66
|
+
* @param subject - l'objet vivant à imprimer en dernier (noyau, ou socket).
|
|
67
|
+
* @param title - l'intitulé du groupe.
|
|
68
|
+
* @returns `true` si le détail a été émis.
|
|
69
|
+
*/
|
|
70
|
+
export declare function consoleDetails(rows: Record<string, {
|
|
71
|
+
valeur: string;
|
|
72
|
+
}>, subject: unknown, title: string): boolean;
|
|
73
|
+
/** Un noyau est-il vivant sur cette page ? La socket s'efface devant lui. */
|
|
74
|
+
export declare function hasKernel(): boolean;
|