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,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contrat d'un outil **Model Context Protocol** — défini dans le CORE.
|
|
3
|
+
*
|
|
4
|
+
* Vit ici, et non dans le module qui sert la porte HTTP, pour la raison qui
|
|
5
|
+
* gouverne déjà {@link IAdminApi} : un outil peut être produit par n'importe
|
|
6
|
+
* quel niveau de la pile — un module métier d'application, un adapter ORM, un
|
|
7
|
+
* futur module IA — et le contrat doit donc résider au plus bas niveau commun.
|
|
8
|
+
* Un contrat logé dans un module `policy: "dev"` obligerait toute application
|
|
9
|
+
* voulant déclarer un outil à dépendre d'un paquet qui disparaît en production.
|
|
10
|
+
*
|
|
11
|
+
* Séparation des rôles :
|
|
12
|
+
* - Ce fichier = **producteur**. Un module déclare *quels* outils il offre, par
|
|
13
|
+
* `getMcpTools()`, sans rien connaître du transport ni du protocole.
|
|
14
|
+
* - `mcp/server.ts` (core) = **protocole**. Il reçoit des outils déjà résolus.
|
|
15
|
+
* - Un controller de module = **transport**. Il traduit HTTP ↔ JSON-RPC.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Ce que rend un outil — du contenu, et l'aveu d'un échec métier.
|
|
19
|
+
*
|
|
20
|
+
* Un échec métier se dit par `isError`, jamais par une exception : le protocole
|
|
21
|
+
* réserve ses erreurs aux fautes de protocole. La distinction compte pour
|
|
22
|
+
* l'agent — une erreur de protocole signifie « tu t'y prends mal », un `isError`
|
|
23
|
+
* signifie « ta demande est recevable, voici pourquoi elle n'aboutit pas » ;
|
|
24
|
+
* c'est la seconde qu'il peut corriger seul.
|
|
25
|
+
*/
|
|
26
|
+
export interface IMcpToolResult {
|
|
27
|
+
content: {
|
|
28
|
+
type: "text";
|
|
29
|
+
text: string;
|
|
30
|
+
}[];
|
|
31
|
+
isError?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Ce que le transport a pu ÉTABLIR de l'appelant — jamais ce qu'il prétend.
|
|
35
|
+
*
|
|
36
|
+
* La spec autorise le catalogue à varier selon l'autorisation présentée, et
|
|
37
|
+
* pose la condition qui rend cela sûr : « credentials are **per-request input,
|
|
38
|
+
* not connection state** ». D'où cet objet, construit à CHAQUE requête par la
|
|
39
|
+
* porte, et jamais mémorisé entre deux.
|
|
40
|
+
*
|
|
41
|
+
* ⚠️ **Une porte qui n'authentifie pas rend un appelant anonyme** — pas une
|
|
42
|
+
* autorisation implicite. Tant que le rôle *resource server* n'est pas branché,
|
|
43
|
+
* `authenticated` est `false` et `scopes` est vide : les outils qui exigent
|
|
44
|
+
* quoi que ce soit sont retenus, jamais servis par défaut.
|
|
45
|
+
*/
|
|
46
|
+
export interface IMcpCaller {
|
|
47
|
+
/**
|
|
48
|
+
* Une identité a-t-elle été PROUVÉE (jeton validé) ?
|
|
49
|
+
*
|
|
50
|
+
* `false` par défaut, et c'est le seul défaut sûr : le jour où quelqu'un
|
|
51
|
+
* branche une porte authentifiée en oubliant de poser ce drapeau, les outils
|
|
52
|
+
* protégés restent invisibles — l'inverse aurait ouvert.
|
|
53
|
+
*/
|
|
54
|
+
authenticated: boolean;
|
|
55
|
+
/** Scopes réellement accordés par le serveur d'autorisation. */
|
|
56
|
+
scopes: readonly string[];
|
|
57
|
+
/**
|
|
58
|
+
* Rôles Nodefony de cet appelant — ce sur quoi le plan d'administration
|
|
59
|
+
* tranche.
|
|
60
|
+
*
|
|
61
|
+
* Posés par la PORTE, qui seule connaît sa configuration : une porte non
|
|
62
|
+
* protégée (module de développement, bornée par son périmètre et ses gardes
|
|
63
|
+
* de transport) accorde le rôle d'opérateur et l'ÉNONCE ; une porte protégée
|
|
64
|
+
* les dérive du jeton ({@link rolesFromScopes}) et n'accorde rien d'autre.
|
|
65
|
+
*
|
|
66
|
+
* Champ **obligatoire** : le compilateur force chaque porte à décider. Il l'a
|
|
67
|
+
* été après avoir constaté l'inverse — la lecture d'administration fabriquait
|
|
68
|
+
* un administrateur, donc tout porteur d'un jeton d'audience valide, même
|
|
69
|
+
* sans aucun droit, obtenait tout.
|
|
70
|
+
*/
|
|
71
|
+
roles: readonly string[];
|
|
72
|
+
/** Sujet du jeton (`sub`), pour l'audit et pour filtrer les données rendues. */
|
|
73
|
+
subject?: string;
|
|
74
|
+
}
|
|
75
|
+
/** Un outil tel que `tools/list` le publie — sans son implémentation. */
|
|
76
|
+
export interface IMcpToolDefinition {
|
|
77
|
+
/**
|
|
78
|
+
* Identifiant d'appel. Forme admise : `[a-zA-Z0-9_-]{1,64}`.
|
|
79
|
+
*
|
|
80
|
+
* Ce nom ne reste pas dans le serveur — il voyage jusque dans le contexte du
|
|
81
|
+
* modèle. Un nom hors forme n'échoue pas franchement : il produit des appels
|
|
82
|
+
* que rien ne résout.
|
|
83
|
+
*/
|
|
84
|
+
name: string;
|
|
85
|
+
/**
|
|
86
|
+
* ⭐ **Le premier critère de déclenchement de l'outil**, avant toute
|
|
87
|
+
* considération technique. Un modèle n'appelle pas ce qu'il ne comprend pas :
|
|
88
|
+
* dire ce que l'outil REND et QUAND s'en servir, pas seulement son nom.
|
|
89
|
+
*/
|
|
90
|
+
description: string;
|
|
91
|
+
/** Schéma JSON des arguments attendus. */
|
|
92
|
+
inputSchema: Record<string, unknown>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Un outil exécutable : ce que `tools/list` publie, plus ce qui répond.
|
|
96
|
+
*
|
|
97
|
+
* C'est le contrat qu'un module implémente pour ajouter un outil à la porte MCP
|
|
98
|
+
* de son application. Le handler ne reçoit QUE les arguments de l'agent : tout
|
|
99
|
+
* ce dont il a besoin par ailleurs (services, kernel, connexions) est capturé
|
|
100
|
+
* par fermeture au moment de la déclaration — le déclarant est un module, il a
|
|
101
|
+
* déjà tout sous la main.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { Module, mcpText, type IMcpTool } from "nodefony";
|
|
106
|
+
*
|
|
107
|
+
* class Shop extends Module {
|
|
108
|
+
* getMcpTools(): IMcpTool[] {
|
|
109
|
+
* return [{
|
|
110
|
+
* name: "shop_stock",
|
|
111
|
+
* description:
|
|
112
|
+
* "Stock réel d'une référence produit. À utiliser avant de proposer " +
|
|
113
|
+
* "une commande — la réponse vient de la base, pas d'un cache.",
|
|
114
|
+
* inputSchema: {
|
|
115
|
+
* type: "object",
|
|
116
|
+
* properties: { sku: { type: "string", description: "Référence" } },
|
|
117
|
+
* required: ["sku"],
|
|
118
|
+
* },
|
|
119
|
+
* handler: async (args) => mcpText(await this.stock(String(args.sku))),
|
|
120
|
+
* }];
|
|
121
|
+
* }
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export interface IMcpTool extends IMcpToolDefinition {
|
|
126
|
+
/**
|
|
127
|
+
* Scopes OAuth exigés — **tous**, pas au moins un.
|
|
128
|
+
*
|
|
129
|
+
* Absent = outil public, servi à qui atteint la porte. Présent, l'outil est
|
|
130
|
+
* **retenu** tant que l'appelant ne les présente pas : il n'apparaît pas dans
|
|
131
|
+
* `tools/list` ET n'est pas appelable en le nommant — un catalogue filtré qui
|
|
132
|
+
* resterait appelable ne serait qu'un rideau.
|
|
133
|
+
*
|
|
134
|
+
* La spec le permet explicitement (`server/tools`) : le jeu d'outils « MAY
|
|
135
|
+
* vary by the authorization presented on the request — for example, returning
|
|
136
|
+
* only the tools the caller's granted scopes permit ». Elle interdit en
|
|
137
|
+
* revanche de le faire varier PAR CONNEXION : c'est pourquoi la décision se
|
|
138
|
+
* prend sur les identifiants de la requête, jamais sur un état retenu.
|
|
139
|
+
*/
|
|
140
|
+
scopes?: readonly string[];
|
|
141
|
+
/**
|
|
142
|
+
* Exige une identité prouvée, sans scope particulier.
|
|
143
|
+
*
|
|
144
|
+
* Utile quand l'outil filtre lui-même ce qu'il rend selon
|
|
145
|
+
* {@link IMcpCaller.subject} — « mes commandes », « mes tâches ». Déclarer
|
|
146
|
+
* des {@link IMcpTool.scopes} l'implique déjà.
|
|
147
|
+
*/
|
|
148
|
+
requiresAuth?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Implémentation. Un échec métier se rend en `isError`, pas en exception.
|
|
151
|
+
*
|
|
152
|
+
* Le second paramètre porte l'appelant ÉTABLI : un outil authentifié doit
|
|
153
|
+
* pouvoir borner ce qu'il rend à son sujet, et pas seulement décider s'il
|
|
154
|
+
* répond. Un handler qui l'ignore reste parfaitement valide.
|
|
155
|
+
*/
|
|
156
|
+
handler: (args: Record<string, unknown>, caller: IMcpCaller) => IMcpToolResult | Promise<IMcpToolResult>;
|
|
157
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { IService } from "./IService.js";
|
|
2
|
+
import type { IKernel } from "./IKernel.js";
|
|
3
|
+
import type { JSONObject } from "./globals.js";
|
|
4
|
+
import type { IMcpTool } from "./IMcpTool.js";
|
|
5
|
+
/**
|
|
6
|
+
* Constructeur générique de controller — équivalent au type historique
|
|
7
|
+
* `TypeController<T>` mais exposé via le contract public IModule.
|
|
8
|
+
* Permet aux consommateurs (framework, http, security) de typer leurs
|
|
9
|
+
* controllers sans que le core dépende de @nodefony/framework.
|
|
10
|
+
*/
|
|
11
|
+
export type IControllerConstructor<T = unknown> = new (...args: any[]) => T;
|
|
12
|
+
export interface PackageJson {
|
|
13
|
+
name: string;
|
|
14
|
+
version: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
main?: string;
|
|
17
|
+
module?: string;
|
|
18
|
+
types?: string;
|
|
19
|
+
scripts?: Record<string, string>;
|
|
20
|
+
repository?: {
|
|
21
|
+
type: string;
|
|
22
|
+
url: string;
|
|
23
|
+
};
|
|
24
|
+
keywords?: string[];
|
|
25
|
+
author?: string;
|
|
26
|
+
license?: string;
|
|
27
|
+
dependencies?: Record<string, string>;
|
|
28
|
+
devDependencies?: Record<string, string>;
|
|
29
|
+
peerDependencies?: Record<string, string>;
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Contrat public d'un module nodefony.
|
|
34
|
+
* Module.ts implémente cette interface.
|
|
35
|
+
*
|
|
36
|
+
* Types Rollup/RollupWatcher/Controller typés unknown — dépendances externes
|
|
37
|
+
* non disponibles ici sans créer des imports circulaires ou des couplages forts.
|
|
38
|
+
*/
|
|
39
|
+
export interface IModule extends IService {
|
|
40
|
+
path: string;
|
|
41
|
+
isApp: boolean;
|
|
42
|
+
package?: PackageJson;
|
|
43
|
+
onKernelRegister?(): Promise<this>;
|
|
44
|
+
onKernelBoot?(): Promise<this>;
|
|
45
|
+
onKernelReady?(): Promise<this>;
|
|
46
|
+
init?(kernel?: IKernel): Promise<this>;
|
|
47
|
+
addService(service: unknown, ...args: any[]): Promise<IService>;
|
|
48
|
+
loadService(service: string, ...args: unknown[]): Promise<IService>;
|
|
49
|
+
getDependencies(): string[];
|
|
50
|
+
getController<T = unknown>(name: string): IControllerConstructor<T>;
|
|
51
|
+
getControllers<T = unknown>(): Record<string, IControllerConstructor<T>>;
|
|
52
|
+
getServiceNames(): string[];
|
|
53
|
+
/**
|
|
54
|
+
* Outils que ce module ajoute à la porte MCP de l'application.
|
|
55
|
+
*
|
|
56
|
+
* Optionnel et **lu à la demande** — jamais au boot : un serveur MCP les
|
|
57
|
+
* ramasse au moment de servir `tools/list`, ce qui ne coûte rien tant que
|
|
58
|
+
* personne n'appelle, et rend la liste toujours fraîche. Le module capture par
|
|
59
|
+
* fermeture ce dont ses handlers ont besoin (`this`, ses services).
|
|
60
|
+
*
|
|
61
|
+
* Une déclaration qui lève, rend autre chose qu'un tableau, porte un nom hors
|
|
62
|
+
* forme ou déjà pris est ÉCARTÉE avec un motif journalisé — jamais en silence,
|
|
63
|
+
* sinon son auteur chercherait la faute dans un handler jamais appelé.
|
|
64
|
+
*/
|
|
65
|
+
getMcpTools?(): IMcpTool[];
|
|
66
|
+
configSchema(): unknown | null;
|
|
67
|
+
getPackageJson(cwd?: string): Promise<PackageJson>;
|
|
68
|
+
getModuleName(): string | undefined;
|
|
69
|
+
getModuleVersion(): string | undefined;
|
|
70
|
+
install(force?: boolean): Promise<number | Error>;
|
|
71
|
+
outdated(): Promise<number | Error>;
|
|
72
|
+
loadJson(url: string, cwd?: string): Promise<JSONObject>;
|
|
73
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { TypeKernelOptions } from "../kernel/Kernel.js";
|
|
2
|
+
/**
|
|
3
|
+
* Politique de chargement d'un module.
|
|
4
|
+
*
|
|
5
|
+
* - `mandatory` : socle — toujours chargé, non gatable (ex. http, framework, security, studio).
|
|
6
|
+
* - `optional` : chargé sauf si une condition `when` le filtre (valeur par défaut).
|
|
7
|
+
* - `dev` : chargé UNIQUEMENT hors production (outillage, démo, Studio dev).
|
|
8
|
+
*
|
|
9
|
+
* La politique **filtre** ; elle ne **réordonne jamais** — l'ordre de chargement
|
|
10
|
+
* reste l'ordre du tableau du manifeste (cf {@link IModuleManifest}).
|
|
11
|
+
*/
|
|
12
|
+
export type ModulePolicy = "mandatory" | "optional" | "dev";
|
|
13
|
+
/**
|
|
14
|
+
* Entrée détaillée d'un manifeste de modules.
|
|
15
|
+
*
|
|
16
|
+
* @see project_module_loading_architecture (mémoire IA) pour la décision d'archi.
|
|
17
|
+
*/
|
|
18
|
+
export interface IModuleManifestEntry {
|
|
19
|
+
/** Nom du package/module à charger (résolu par `import()` dynamique). */
|
|
20
|
+
name: string;
|
|
21
|
+
/** Politique de chargement. Défaut : `"optional"`. */
|
|
22
|
+
policy?: ModulePolicy;
|
|
23
|
+
/**
|
|
24
|
+
* Garde de chargement évaluée sur la config fusionnée du kernel. Renvoie `false`
|
|
25
|
+
* → le module est ignoré (non importé = 0 coût boot/mémoire). Ex. ne charger
|
|
26
|
+
* `@nodefony/drizzle` que si `config.orm?.driver === "drizzle"`.
|
|
27
|
+
*/
|
|
28
|
+
when?: (config: TypeKernelOptions) => boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Config colocalisée du module (forme `use(name, config)`). Le Kernel la
|
|
31
|
+
* deep-merge sous la config DEFAULT du module à `onPreRegister`, avant la
|
|
32
|
+
* validation Zod du module. Remplace les clés legacy `module-<nom>`.
|
|
33
|
+
*/
|
|
34
|
+
config?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Manifeste déclaratif des modules d'une application Nodefony, exposé via
|
|
38
|
+
* `config.modules`. Le Kernel en est le **seul orchestrateur** : il lit cette
|
|
39
|
+
* liste, la filtre (policy + `when` + environnement) et charge les modules en
|
|
40
|
+
* série à `onPreRegister`.
|
|
41
|
+
*
|
|
42
|
+
* **Liste ORDONNÉE** : la position dans le tableau = ordre (= priorité) de
|
|
43
|
+
* chargement. Choix volontaire — l'ordre porte des invariants réels (realtime
|
|
44
|
+
* après framework, frontend avant ses consumers, documentation avant studio).
|
|
45
|
+
* `policy`/`when` ne font que filtrer ; ils ne réordonnent pas.
|
|
46
|
+
*
|
|
47
|
+
* Une `string` nue équivaut à `{ name, policy: "optional" }`.
|
|
48
|
+
*/
|
|
49
|
+
export type IModuleManifest = (string | IModuleManifestEntry)[];
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **LE contrat de pagination unique de Nodefony.** Tous les stores, toutes les API
|
|
3
|
+
* (présents et futurs) paginent avec ce type — c'est un standard de développement,
|
|
4
|
+
* jamais une pagination maison au cas par cas.
|
|
5
|
+
*
|
|
6
|
+
* Une requête HTTP se traduit en `IPageQuery` par `parsePageQuery(source)` — une
|
|
7
|
+
* fonction **pure**, agnostique de la provenance (query string aujourd'hui, corps
|
|
8
|
+
* d'une requête `QUERY` demain). C'est le seul traducteur : un data plane qui
|
|
9
|
+
* relit `request.query` lui-même refabrique un dialecte.
|
|
10
|
+
*
|
|
11
|
+
* Deux modes, **un seul vocabulaire** :
|
|
12
|
+
* - **offset** (`offset`) — navigation par page directe, pour les backends qui la
|
|
13
|
+
* font nativement (SQL `LIMIT/OFFSET`, Mongo `skip/limit`, fichier, mémoire).
|
|
14
|
+
* - **curseur** (`cursor`) — navigation « après ce jeton », pour les backends sans
|
|
15
|
+
* offset fiable (Redis `SCAN`) ou les flux ordonnés (journal d'audit). Un seul des
|
|
16
|
+
* deux est utilisé selon ce que le store sait faire ; le store le déclare.
|
|
17
|
+
*
|
|
18
|
+
* Les **filtres spécifiques** à un store (rôle, catégorie d'audit, critère ORM…) ne
|
|
19
|
+
* vivent pas ici : chaque store **étend** ce type (`interface XQuery extends
|
|
20
|
+
* IPageQuery { … }`), pour que le socle reste un contrat pur et partagé.
|
|
21
|
+
*/
|
|
22
|
+
export interface IPageQuery {
|
|
23
|
+
/** Taille de page — obligatoire (jamais « tout »). */
|
|
24
|
+
limit: number;
|
|
25
|
+
/**
|
|
26
|
+
* Décalage depuis le début de la collection filtrée (mode **offset**). Défaut `0`.
|
|
27
|
+
* Mutuellement exclusif avec {@link IPageQuery.cursor} : un backend n'expose qu'un mode.
|
|
28
|
+
*/
|
|
29
|
+
offset?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Jeton de page (mode **curseur**) : ne renvoyer que les éléments situés « après »
|
|
32
|
+
* lui dans l'ordre du store. Obtenu du {@link IPage.nextCursor} de la page précédente.
|
|
33
|
+
*/
|
|
34
|
+
cursor?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Tri : couples `[champ, sens]`. Format **tableau** (une clé d'objet inconnue serait
|
|
37
|
+
* silencieusement ignorée). Champs autorisés = définis par le store.
|
|
38
|
+
*/
|
|
39
|
+
order?: Array<[string, "ASC" | "DESC"]>;
|
|
40
|
+
/**
|
|
41
|
+
* Renvoyer le total exact ({@link IPage.total}) ou non. `true` par défaut.
|
|
42
|
+
* `false` = mode « Slice » : on saute le `COUNT` coûteux, {@link IPage.hasNext} suffit.
|
|
43
|
+
*/
|
|
44
|
+
withTotal?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Recherche plein-texte best-effort — le **champ** ciblé et la sémantique (préfixe /
|
|
47
|
+
* sous-chaîne / casse) sont définis par chaque store et documentés côté store.
|
|
48
|
+
*/
|
|
49
|
+
q?: string;
|
|
50
|
+
/**
|
|
51
|
+
* **RÉSERVÉ multi-tenant** — slot du contrat pour le scoping par tenant, appliqué
|
|
52
|
+
* **au niveau du store** le jour du chantier tenant.
|
|
53
|
+
*
|
|
54
|
+
* @remarks ⚠️ **Non appliqué aujourd'hui** : le passer n'a aucun effet de filtrage.
|
|
55
|
+
* Présent dès maintenant pour ne pas re-changer la signature d'un contrat public
|
|
56
|
+
* propagé à tous les stores plus tard.
|
|
57
|
+
*/
|
|
58
|
+
tenantId?: string | null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* **Une capacité de tri se DÉCLARE** — le socle commun à tout ce qui rend des
|
|
62
|
+
* pages triables (stores de sessions, de jetons, d'endpoints, dépôts
|
|
63
|
+
* d'utilisateurs…).
|
|
64
|
+
*
|
|
65
|
+
* Cette interface existe pour qu'il n'y ait **qu'une** forme à connaître : le
|
|
66
|
+
* nom de la propriété, sa nullabilité et sa sémantique sont écrits ici une fois,
|
|
67
|
+
* au lieu d'être redéclarés — et de diverger — dans chaque contrat de store.
|
|
68
|
+
*
|
|
69
|
+
* Le mécanisme, identique pour toutes les ressources :
|
|
70
|
+
* 1. le store **déclare** ce qu'il sait trier, en vocabulaire public ;
|
|
71
|
+
* 2. le data plane le **demande** et le passe en allowlist à `parsePageQuery` ;
|
|
72
|
+
* 3. tout `?order=` hors de cette liste est refusé en **400** — jamais accepté
|
|
73
|
+
* puis ignoré en silence.
|
|
74
|
+
*
|
|
75
|
+
* D'où la conséquence utile : **le refus est gratuit**. Un backend qui ne sait
|
|
76
|
+
* pas trier (un `SCAN` Redis n'a aucun ordre global) laisse simplement la
|
|
77
|
+
* propriété absente, et rien de plus n'est à écrire pour que le tri y soit
|
|
78
|
+
* refusé. Les capacités PEUVENT donc être inégales d'un backend à l'autre —
|
|
79
|
+
* elles sont alors annoncées, jamais simulées.
|
|
80
|
+
*
|
|
81
|
+
* ⚠️ Là où un backend compose du SQL à la main, cette liste est **aussi une
|
|
82
|
+
* garde de sécurité** : un nom de colonne ne se lie pas en paramètre, il se
|
|
83
|
+
* concatène. Voir `pickOrder`, qui l'applique.
|
|
84
|
+
*/
|
|
85
|
+
export interface ISortableSource {
|
|
86
|
+
/**
|
|
87
|
+
* Champs triables, en **noms publics** (ceux de l'URL), ou absent si ce
|
|
88
|
+
* backend ne sait pas trier.
|
|
89
|
+
*/
|
|
90
|
+
readonly sortableFields?: readonly string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Une **page** de résultats — la sortie unique de toute pagination Nodefony.
|
|
94
|
+
*
|
|
95
|
+
* `total` présent = mode **Page** (on a compté) ; absent = mode **Slice**. `hasNext`
|
|
96
|
+
* est fiable dans les deux cas. `nextCursor` n'est posé que par les backends **curseur**.
|
|
97
|
+
*
|
|
98
|
+
* @typeParam T - type des éléments de la page.
|
|
99
|
+
*/
|
|
100
|
+
export interface IPage<T> {
|
|
101
|
+
/** Les éléments de la page (au plus `limit`). */
|
|
102
|
+
items: T[];
|
|
103
|
+
/**
|
|
104
|
+
* Total exact de la collection filtrée — présent si {@link IPageQuery.withTotal}
|
|
105
|
+
* n'est pas `false` **et** que le backend sait compter à coût raisonnable.
|
|
106
|
+
*/
|
|
107
|
+
total?: number;
|
|
108
|
+
/** Taille de page demandée (écho de {@link IPageQuery.limit}). */
|
|
109
|
+
limit: number;
|
|
110
|
+
/** Décalage de cette page (mode offset ; absent en mode curseur). */
|
|
111
|
+
offset?: number;
|
|
112
|
+
/** `true` s'il existe au moins un élément au-delà de cette page. */
|
|
113
|
+
hasNext: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Jeton de la page suivante (mode **curseur**) — à repasser en
|
|
116
|
+
* {@link IPageQuery.cursor}. `null` = fin. Absent = pagination par offset.
|
|
117
|
+
*/
|
|
118
|
+
nextCursor?: string | null;
|
|
119
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { IContainer } from "./IContainer.js";
|
|
2
|
+
import type { DynamicParam } from "../Container.js";
|
|
3
|
+
import type Event from "../Event.js";
|
|
4
|
+
import type { EventDefaultInterface } from "../Event.js";
|
|
5
|
+
import type Pdu from "../syslog/Pdu.js";
|
|
6
|
+
import type { Severity, Msgid, Message, Pci } from "../syslog/Pdu.js";
|
|
7
|
+
import type Syslog from "../syslog/Syslog.js";
|
|
8
|
+
import type { SyslogDefaultSettings, conditionsInterface } from "../syslog/Syslog.js";
|
|
9
|
+
import type { IKernel } from "./IKernel.js";
|
|
10
|
+
import type { DebugType, EnvironmentType } from "./globals.js";
|
|
11
|
+
export type EventListener = (...args: any[]) => void;
|
|
12
|
+
export interface DefaultOptionsService extends EventDefaultInterface {
|
|
13
|
+
events?: {
|
|
14
|
+
nbListeners: number;
|
|
15
|
+
};
|
|
16
|
+
syslog?: SyslogDefaultSettings;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Contrat public de tout service nodefony.
|
|
20
|
+
* Kernel, Module, Controller, adapters ORM — tous implémentent IService.
|
|
21
|
+
*/
|
|
22
|
+
export interface IService {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly options: DefaultOptionsService;
|
|
25
|
+
readonly container: IContainer | null;
|
|
26
|
+
readonly kernel: IKernel | null;
|
|
27
|
+
readonly syslog: Syslog | null;
|
|
28
|
+
/** undefined si notificationsCenter=false passé au constructeur, ou après clean() */
|
|
29
|
+
readonly notificationsCenter: Event | undefined;
|
|
30
|
+
getName(): string;
|
|
31
|
+
initSyslog(environment?: EnvironmentType, debug?: DebugType, options?: conditionsInterface): ReturnType<Syslog["init"]> | null;
|
|
32
|
+
clean(syslog?: boolean): void;
|
|
33
|
+
log(pci: Pci, severity?: Severity, msgid?: Msgid, msg?: Message): Pdu;
|
|
34
|
+
logger(pci: Pci, ...args: unknown[]): void;
|
|
35
|
+
trace(pci: Pci, ...args: unknown[]): void;
|
|
36
|
+
get<T>(name: string): T | null;
|
|
37
|
+
set<T>(name: string, obj: T): void;
|
|
38
|
+
remove(name: string): boolean;
|
|
39
|
+
has(name: string): boolean;
|
|
40
|
+
getParameters(name: string): DynamicParam | null;
|
|
41
|
+
setParameters<T>(name: string, ele: T): DynamicParam | null;
|
|
42
|
+
on(eventName: string | symbol, listener: EventListener): this;
|
|
43
|
+
once(eventName: string | symbol, listener: EventListener): this;
|
|
44
|
+
off(eventName: string | symbol, listener: EventListener): this;
|
|
45
|
+
emit(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
46
|
+
fire(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
47
|
+
emitAsync(eventName: string | symbol, ...args: unknown[]): Promise<unknown>;
|
|
48
|
+
fireAsync(eventName: string | symbol, ...args: unknown[]): Promise<unknown>;
|
|
49
|
+
addListener(eventName: string | symbol, listener: EventListener): this;
|
|
50
|
+
removeListener(eventName: string | symbol, listener: EventListener): this;
|
|
51
|
+
removeAllListeners(eventName?: string | symbol): this;
|
|
52
|
+
prependListener(eventName: string | symbol, listener: EventListener): this;
|
|
53
|
+
prependOnceListener(eventName: string | symbol, listener: EventListener): this;
|
|
54
|
+
listen(eventName: string | symbol, listener: EventListener): (...args: unknown[]) => boolean;
|
|
55
|
+
settingsToListen(localSettings: EventDefaultInterface, context: object): void;
|
|
56
|
+
eventNames(): (string | symbol)[];
|
|
57
|
+
listenerCount(eventName: string | symbol, listener?: EventListener): number;
|
|
58
|
+
listeners(eventName: string | symbol): EventListener[];
|
|
59
|
+
rawListeners(eventName: string | symbol): EventListener[];
|
|
60
|
+
getMaxListeners(): number;
|
|
61
|
+
setMaxListeners(n: number): this;
|
|
62
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type Pdu from "../syslog/Pdu.js";
|
|
2
|
+
import type { Severity, Msgid, Message, Pci } from "../syslog/Pdu.js";
|
|
3
|
+
import type { DebugType, EnvironmentType } from "./globals.js";
|
|
4
|
+
import type { ITransport } from "./ITransport.js";
|
|
5
|
+
import type { SyslogDefaultSettings, conditionsInterface, CallbackFunction, WrapperResult } from "../syslog/Syslog.js";
|
|
6
|
+
export interface ISyslog {
|
|
7
|
+
settings: SyslogDefaultSettings;
|
|
8
|
+
readonly ringStack: Pdu[];
|
|
9
|
+
/** Capacité MAX du ring buffer (plafond `maxStack`). */
|
|
10
|
+
readonly bufferCapacity: number;
|
|
11
|
+
/** `true` si les Pdu sont stockés dans le ring (relecture mémoire active). */
|
|
12
|
+
readonly ringEnabled: boolean;
|
|
13
|
+
/** Active/désactive le stockage mémoire (ring) à chaud — outil avancé. */
|
|
14
|
+
setRingEnabled(enabled: boolean): boolean;
|
|
15
|
+
/** `true` si la diffusion temps réel (`nodefony:syslog`) est active. */
|
|
16
|
+
readonly streamEnabled: boolean;
|
|
17
|
+
/** Active/désactive la diffusion temps réel à chaud (onglet Live). */
|
|
18
|
+
setStreamEnabled(enabled: boolean): boolean;
|
|
19
|
+
burstPrinted: number;
|
|
20
|
+
missed: number;
|
|
21
|
+
invalid: number;
|
|
22
|
+
valid: number;
|
|
23
|
+
/** Cumul monotone des logs de sévérité 0–3 (ERROR/CRITIC/ALERT/EMERGENCY). */
|
|
24
|
+
errorTotal: number;
|
|
25
|
+
/** Sous-ensemble CRITIQUE (sévérité 0–2 : CRITIC/ALERT/EMERGENCY). */
|
|
26
|
+
criticTotal: number;
|
|
27
|
+
start: number;
|
|
28
|
+
async: boolean;
|
|
29
|
+
init(environment: EnvironmentType, debug?: DebugType, options?: conditionsInterface): void;
|
|
30
|
+
clean(): this;
|
|
31
|
+
reset(): this;
|
|
32
|
+
clearLogStack(): void;
|
|
33
|
+
log(payload: Pci, severity?: Severity, msgid?: Msgid, msg?: Message): Pdu;
|
|
34
|
+
error(data: Pci): Pdu;
|
|
35
|
+
warn(data: Pci): Pdu;
|
|
36
|
+
info(data: Pci): Pdu;
|
|
37
|
+
debug(data: Pci): Pdu;
|
|
38
|
+
trace(data: Pci, ...args: unknown[]): Pdu;
|
|
39
|
+
print(...args: Pci[]): Pdu;
|
|
40
|
+
logMultiple(severity: Severity, ...args: Pci[]): Pdu;
|
|
41
|
+
pushStack(pdu: Pdu): number;
|
|
42
|
+
getLogStack(start?: number, end?: number, condition?: conditionsInterface): Pdu[] | Pdu;
|
|
43
|
+
getLogs(conditions: conditionsInterface, stack?: Pdu[] | null): Pdu[];
|
|
44
|
+
logToJson(conditions: conditionsInterface, stack?: Pdu[] | null): string;
|
|
45
|
+
loadStack(stack: Pdu[] | string, doEvent?: boolean, beforeConditions?: ((pdu: Pdu, stackItem: Pdu) => void) | null): Pdu[];
|
|
46
|
+
filter(conditions: conditionsInterface, callback: CallbackFunction): void;
|
|
47
|
+
listenWithConditions(conditions: conditionsInterface, callback: CallbackFunction): void;
|
|
48
|
+
addTransport(transport: ITransport): this;
|
|
49
|
+
removeTransport(transport: ITransport): this;
|
|
50
|
+
/** Liste polymorphe des transports d'écriture (axe WRITE) + état `enabled`. */
|
|
51
|
+
listTransports(): {
|
|
52
|
+
name: string;
|
|
53
|
+
enabled: boolean;
|
|
54
|
+
}[];
|
|
55
|
+
/** Active/désactive un transport d'écriture à chaud, par nom (dev/diagnostic). */
|
|
56
|
+
setTransportEnabled(name: string, enabled: boolean): boolean;
|
|
57
|
+
}
|
|
58
|
+
export type { WrapperResult };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface nodefonyOptions {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
declare global {
|
|
5
|
+
interface Error {
|
|
6
|
+
/**
|
|
7
|
+
* Sérialisation JSON d'une erreur — POSÉE AU RUNTIME par `Error.ts` sur
|
|
8
|
+
* `Error.prototype`, donc présente sur toute erreur qui traverse Nodefony.
|
|
9
|
+
*
|
|
10
|
+
* Déclarée **optionnelle**, et c'est délibéré : la rendre obligatoire
|
|
11
|
+
* augmente le type standard `Error` de tout le graphe, et rend alors
|
|
12
|
+
* **incompilable toute classe tierce qui écrit `implements Error`** — elle
|
|
13
|
+
* n'a aucune raison de connaître une méthode de Nodefony. Constaté sur
|
|
14
|
+
* `HttpErrorResponse` d'`@angular/common` (TS2420), qui suffisait à rendre
|
|
15
|
+
* `@angular/*` inutilisable dans un graphe de types Nodefony. Le seul
|
|
16
|
+
* appelant du dépôt passe déjà par `nodefonyError`, qui la déclare en
|
|
17
|
+
* propre : l'obligation ne servait personne et coûtait l'interopérabilité.
|
|
18
|
+
*/
|
|
19
|
+
toJSON?(): Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Modes MOTEUR du kernel — l'axe qui pilote l'optimisation du runtime.
|
|
24
|
+
*
|
|
25
|
+
* `staging` n'en fait pas partie : un staging tourne « comme la production »
|
|
26
|
+
* (mêmes optimisations) et se distingue par son axe de DÉPLOIEMENT, pas par son
|
|
27
|
+
* moteur. Cet axe-là est `APP_ENV`/`NF_ENV` (string libre : `staging`,
|
|
28
|
+
* `canary`, `prod-eu`…), lu par `loadEnv` (→ `.env.staging`) et exposé par
|
|
29
|
+
* `ConfigContext.appEnv` — il reste entier.
|
|
30
|
+
*
|
|
31
|
+
* `test` n'en fait pas partie non plus : c'est une valeur de `NODE_ENV` que le
|
|
32
|
+
* kernel normalise en `runtimeEnv` (→ `ConfigContext.isTest`), jamais un mode moteur.
|
|
33
|
+
*/
|
|
34
|
+
declare enum environment {
|
|
35
|
+
dev,
|
|
36
|
+
development,
|
|
37
|
+
prod,
|
|
38
|
+
production
|
|
39
|
+
}
|
|
40
|
+
export type EnvironmentType = keyof typeof environment;
|
|
41
|
+
export type DebugType = boolean | string | string[];
|
|
42
|
+
type JSONArray = Array<JSONValue>;
|
|
43
|
+
type JSONValue = string | number | boolean | JSONObject | JSONArray;
|
|
44
|
+
export interface JSONObject {
|
|
45
|
+
[x: string]: JSONValue;
|
|
46
|
+
}
|
|
47
|
+
export {};
|