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,461 @@
|
|
|
1
|
+
import { MCP_CONFIG_FILE, MCP_SERVER_KEY, MCP_TOKEN_ENV } from "./aiMcpReport.js";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
//#region src/cli/agentTargets.ts
|
|
5
|
+
/**
|
|
6
|
+
* Les agents de développement, et ce que Nodefony sait faire pour eux.
|
|
7
|
+
*
|
|
8
|
+
* Deux gestes distincts vivent ici, et il ne faut pas les confondre :
|
|
9
|
+
*
|
|
10
|
+
* 1. **poser le SECRET** là où l'agent lit ses variables (`security:token`) ;
|
|
11
|
+
* 2. **déclarer la PORTE** — l'URL du serveur MCP — dans sa configuration
|
|
12
|
+
* (`ai:mcp --agent`).
|
|
13
|
+
*
|
|
14
|
+
* La frontière est celle-ci : **Nodefony possède le jeton et l'URL, l'agent
|
|
15
|
+
* possède le format de sa déclaration.** On n'écrit donc jamais le fichier de
|
|
16
|
+
* configuration d'un outil tiers pour la déclaration : on appelle SA CLI, qui
|
|
17
|
+
* est la seule à savoir ce qu'elle attend et à survivre à ses propres versions.
|
|
18
|
+
* Le secret, lui, se pose bien dans un fichier — parce qu'aucune de ces CLI
|
|
19
|
+
* n'offre de le faire, et parce que l'emplacement a été CONSTATÉ, agent par
|
|
20
|
+
* agent.
|
|
21
|
+
*
|
|
22
|
+
* Ce fichier vit dans le CŒUR et non dans `@nodefony/security` : `ai:mcp` et
|
|
23
|
+
* `create app` sont des commandes du cœur, et une table recopiée à deux
|
|
24
|
+
* endroits diverge en silence.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Agents dont l'emplacement de secret a été CONSTATÉ — au comportement ou au
|
|
28
|
+
* source, jamais sur la foi d'une page de blog.
|
|
29
|
+
*
|
|
30
|
+
* Deux stratégies pour le SECRET, et elles ne se ressemblent pas :
|
|
31
|
+
* - **Claude Code** prend la VALEUR : la clé `env` de `settings.local.json`
|
|
32
|
+
* alimente l'expansion `${VAR}` de `.mcp.json` (constaté — `claude mcp list`
|
|
33
|
+
* passe de l'en-tête non substitué à « ✔ Connected ») ;
|
|
34
|
+
* - **Vibe** prend le NOM d'une variable (`--api-key-env`) et la résout dans
|
|
35
|
+
* son environnement — mais il PEUPLE cet environnement au démarrage depuis
|
|
36
|
+
* `$VIBE_HOME/.env` (`load_dotenv_values`, `vibe/cli/cli.py`), une valeur du
|
|
37
|
+
* shell l'emportant sur le fichier. Écrire là revient donc bien à câbler ;
|
|
38
|
+
* - **Gemini CLI** de même, depuis un fichier qu'il CHERCHE en remontant
|
|
39
|
+
* l'arborescence (`findEnvFile`) : `<projet>/.gemini/.env` d'abord — quand
|
|
40
|
+
* l'espace est de confiance — puis `<projet>/.env`, puis les parents, puis
|
|
41
|
+
* `~/.gemini/.env`. Le PREMIER trouvé gagne, et lui seul est chargé : viser
|
|
42
|
+
* `.gemini/.env` évite qu'il lise à la place le `.env` de l'application.
|
|
43
|
+
*
|
|
44
|
+
* - **Codex** de même, depuis `$CODEX_HOME/.env` (défaut `~/.codex/.env`), et
|
|
45
|
+
* de là SEULEMENT : le `.env` du projet n'est pas lu.
|
|
46
|
+
*
|
|
47
|
+
* ⚠️ Ce dernier point a d'abord été conclu à l'envers, en cherchant une chaîne
|
|
48
|
+
* dans un binaire compilé et en prenant son absence pour une preuve. Une
|
|
49
|
+
* ABSENCE de trace n'en est pas une : c'est l'expérience qui a tranché — une
|
|
50
|
+
* sonde (`codex doctor` signale une variable de serveur MCP manquante) montrée
|
|
51
|
+
* discriminante d'abord, témoin à 1 et variable exportée à 0, puis passée sur
|
|
52
|
+
* chaque emplacement candidat.
|
|
53
|
+
*
|
|
54
|
+
* ## Pourquoi certains sont déclarés LOCALEMENT et d'autres non
|
|
55
|
+
*
|
|
56
|
+
* ⚠️ **Deux questions distinctes, et les confondre mène à la faute** : ce que
|
|
57
|
+
* l'agent LIT, et ce que sa CLI ÉCRIT. Les quatre savent lire une configuration
|
|
58
|
+
* de projet, et les quatre y écrivent — deux d'entre eux seulement à condition
|
|
59
|
+
* qu'on déplace leur dossier.
|
|
60
|
+
*
|
|
61
|
+
* | agent | lit le projet | comment sa CLI y écrit |
|
|
62
|
+
* | ------ | ---------------------------------------- | ------------------------- |
|
|
63
|
+
* | claude | `.mcp.json` | on écrit le fichier |
|
|
64
|
+
* | gemini | `.gemini/settings.json` | `--scope project` |
|
|
65
|
+
* | codex | `.codex/config.toml` **si de confiance** | `CODEX_HOME=<projet>/.codex` |
|
|
66
|
+
* | vibe | `.vibe/config.toml` **si de confiance** | `VIBE_HOME=<projet>/.vibe` |
|
|
67
|
+
*
|
|
68
|
+
* Pour Codex et Vibe, la portée projet EXISTE mais leur ligne de commande n'a
|
|
69
|
+
* pas d'option pour la viser : `codex mcp add` répond « Added **global** MCP
|
|
70
|
+
* server », et le source de Vibe subordonne l'écriture à la source « user »
|
|
71
|
+
* (`persist_allowed`).
|
|
72
|
+
*
|
|
73
|
+
* ⭐ **La sortie n'est ni de renoncer, ni d'écrire leur TOML nous-mêmes** — ce
|
|
74
|
+
* serait reprendre à notre compte le format d'un tiers, précisément ce que ce
|
|
75
|
+
* fichier existe pour éviter. Les deux obéissent à une variable qui déplace
|
|
76
|
+
* leur dossier (`VIBE_HOME`, `CODEX_HOME`) : pointée sur `<projet>/<marker>`,
|
|
77
|
+
* c'est LEUR binaire qui écrit LEUR format, dans le PROJET. Vérifié au disque
|
|
78
|
+
* pour les deux, ligne d'authentification comprise.
|
|
79
|
+
*
|
|
80
|
+
* Et il le fallait, parce que le global est FAUX ici, pas seulement intrusif :
|
|
81
|
+
* l'URL d'une porte porte un PORT, et deux applications Nodefony n'écoutent pas
|
|
82
|
+
* sur le même. Une déclaration dans le foyer ne peut donc en désigner qu'UNE —
|
|
83
|
+
* la dernière câblée efface la précédente sans un mot. L'annoncer, comme on le
|
|
84
|
+
* faisait, ne répare rien.
|
|
85
|
+
*
|
|
86
|
+
* Ce qui reste vrai, et que la commande DIT : ces fichiers ne sont lus que dans
|
|
87
|
+
* un dossier que l'agent tient pour DE CONFIANCE — un geste de sécurité qui
|
|
88
|
+
* appartient à l'utilisateur. Un fichier non lu est inerte ; une déclaration
|
|
89
|
+
* globale qui pointe la mauvaise application est active. Entre échouer en
|
|
90
|
+
* silence et réussir à côté, on choisit le premier. `--global` reste offert à
|
|
91
|
+
* qui veut délibérément l'autre.
|
|
92
|
+
*
|
|
93
|
+
* ⚠️ Le premier état de ce commentaire affirmait que Codex « n'a aucune notion
|
|
94
|
+
* de projet ». C'était FAUX, et la sonde qui l'avait « prouvé » ne l'était pas :
|
|
95
|
+
* elle tournait dans un dépôt NON approuvé, donc elle mesurait la confiance, pas
|
|
96
|
+
* la portée. Le binaire le dit lui-même — « Project `.codex/config.toml`:
|
|
97
|
+
* settings for a trusted repository, including [...] MCP ». Une absence de trace
|
|
98
|
+
* n'est pas une preuve, et une sonde doit être discriminante SUR LA BONNE
|
|
99
|
+
* VARIABLE.
|
|
100
|
+
*
|
|
101
|
+
* Et pour la DÉCLARATION de la porte, le partage est net, lui aussi constaté :
|
|
102
|
+
* **seul Claude Code lit le `.mcp.json` du projet**. Gemini a été mesuré
|
|
103
|
+
* l'ignorant — `.mcp.json` déclarant `nodefony` sur le disque, `gemini mcp list`
|
|
104
|
+
* répond « No MCP servers configured ». Les trois autres reçoivent donc leur
|
|
105
|
+
* déclaration par leur propre CLI, dans la grammaire lue de leur `--help`.
|
|
106
|
+
*/
|
|
107
|
+
const AGENT_TARGETS = [
|
|
108
|
+
{
|
|
109
|
+
key: "claude",
|
|
110
|
+
name: "Claude Code",
|
|
111
|
+
scope: "projet",
|
|
112
|
+
marker: ".claude",
|
|
113
|
+
file: ".claude/settings.local.json",
|
|
114
|
+
forme: "json-env",
|
|
115
|
+
instructions: {
|
|
116
|
+
file: "CLAUDE.md",
|
|
117
|
+
natif: false,
|
|
118
|
+
proof: "mesure : CLAUDE.md chargé, AGENTS.md seul ignoré (2.1.240)"
|
|
119
|
+
},
|
|
120
|
+
declaration: "fichier-projet"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
key: "gemini",
|
|
124
|
+
name: "Gemini CLI",
|
|
125
|
+
scope: "projet",
|
|
126
|
+
marker: ".gemini",
|
|
127
|
+
file: ".gemini/.env",
|
|
128
|
+
forme: "dotenv",
|
|
129
|
+
instructions: {
|
|
130
|
+
file: "GEMINI.md",
|
|
131
|
+
natif: false,
|
|
132
|
+
proof: "gemini-cli packages/core/src/tools/memoryTool.ts (DEFAULT_CONTEXT_FILENAME)"
|
|
133
|
+
},
|
|
134
|
+
declaration: "cli",
|
|
135
|
+
bin: "gemini",
|
|
136
|
+
argvAdd: (c) => [
|
|
137
|
+
"mcp",
|
|
138
|
+
"add",
|
|
139
|
+
c.name,
|
|
140
|
+
c.url,
|
|
141
|
+
"--transport",
|
|
142
|
+
"http",
|
|
143
|
+
"--scope",
|
|
144
|
+
"project",
|
|
145
|
+
"--header",
|
|
146
|
+
`Authorization: Bearer \${${c.tokenEnv}}`
|
|
147
|
+
],
|
|
148
|
+
argvRemove: () => [
|
|
149
|
+
"mcp",
|
|
150
|
+
"remove",
|
|
151
|
+
MCP_SERVER_KEY,
|
|
152
|
+
"--scope",
|
|
153
|
+
"project"
|
|
154
|
+
],
|
|
155
|
+
argvList: () => ["mcp", "list"],
|
|
156
|
+
noteAfter: "Gemini n'active un serveur que dans un dossier de CONFIANCE — sinon il reste « Disabled ». Accorde la confiance au premier lancement, ou `gemini --skip-trust` le temps d'une session."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
key: "vibe",
|
|
160
|
+
name: "Vibe (Mistral)",
|
|
161
|
+
scope: "utilisateur",
|
|
162
|
+
marker: ".vibe",
|
|
163
|
+
file: ".env",
|
|
164
|
+
forme: "dotenv",
|
|
165
|
+
home: "VIBE_HOME",
|
|
166
|
+
instructions: {
|
|
167
|
+
file: "AGENTS.md",
|
|
168
|
+
natif: true,
|
|
169
|
+
proof: "mistral-vibe vibe/core/paths/conventions.py (AGENTS_MD_FILENAME)"
|
|
170
|
+
},
|
|
171
|
+
declaration: "cli",
|
|
172
|
+
bin: "vibe",
|
|
173
|
+
noteAfter: "Déclaration de PROJET (`.vibe/config.toml`), écrite par sa propre CLI via `VIBE_HOME`. Vibe ne la lira que dans un dossier qu'il tient pour de CONFIANCE : `vibe --trust` une fois, ici. `--global` la remet dans ton foyer, où elle vaudra pour tous tes projets — donc pour un seul, puisque l'URL porte un port.",
|
|
174
|
+
argvAdd: (c) => [
|
|
175
|
+
"mcp",
|
|
176
|
+
"add",
|
|
177
|
+
c.name,
|
|
178
|
+
"--transport",
|
|
179
|
+
"streamable-http",
|
|
180
|
+
"--url",
|
|
181
|
+
c.url,
|
|
182
|
+
"--api-key-env",
|
|
183
|
+
c.tokenEnv
|
|
184
|
+
],
|
|
185
|
+
argvRemove: () => [
|
|
186
|
+
"mcp",
|
|
187
|
+
"remove",
|
|
188
|
+
MCP_SERVER_KEY
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: "codex",
|
|
193
|
+
name: "Codex",
|
|
194
|
+
scope: "utilisateur",
|
|
195
|
+
marker: ".codex",
|
|
196
|
+
file: ".env",
|
|
197
|
+
forme: "dotenv",
|
|
198
|
+
home: "CODEX_HOME",
|
|
199
|
+
instructions: {
|
|
200
|
+
file: "AGENTS.md",
|
|
201
|
+
natif: true,
|
|
202
|
+
proof: "codex codex-rs/core/src/agents_md.rs (DEFAULT_AGENTS_MD_FILENAME)"
|
|
203
|
+
},
|
|
204
|
+
declaration: "cli",
|
|
205
|
+
bin: "codex",
|
|
206
|
+
noteAfter: "Déclaration de PROJET (`.codex/config.toml`), écrite par sa propre CLI via `CODEX_HOME` — il répond « Added global », mot qui parle de SON dossier, pas du tien. Codex ne la lira que dans un dépôt de CONFIANCE (`trust_level`). `--global` la remet dans ton foyer.",
|
|
207
|
+
argvAdd: (c) => [
|
|
208
|
+
"mcp",
|
|
209
|
+
"add",
|
|
210
|
+
c.name,
|
|
211
|
+
"--url",
|
|
212
|
+
c.url,
|
|
213
|
+
"--bearer-token-env-var",
|
|
214
|
+
c.tokenEnv
|
|
215
|
+
],
|
|
216
|
+
argvRemove: () => [
|
|
217
|
+
"mcp",
|
|
218
|
+
"remove",
|
|
219
|
+
MCP_SERVER_KEY
|
|
220
|
+
],
|
|
221
|
+
argvList: () => ["mcp", "list"]
|
|
222
|
+
}
|
|
223
|
+
];
|
|
224
|
+
/**
|
|
225
|
+
* Compose la déclaration de la porte MCP chez un agent.
|
|
226
|
+
*
|
|
227
|
+
* @param target - l'agent visé
|
|
228
|
+
* @param ctx - l'URL de la porte et le nom de la variable qui porte le jeton
|
|
229
|
+
* @param remove - `true` pour retirer la déclaration au lieu de la poser
|
|
230
|
+
* @returns le plan d'exécution, jamais `null` — un agent sans CLI est un agent
|
|
231
|
+
* dont la déclaration vit déjà dans un fichier du projet
|
|
232
|
+
*/
|
|
233
|
+
function planAgentDeclaration(target, ctx, remove = false) {
|
|
234
|
+
if (target.declaration === "fichier-projet" || !target.bin) return {
|
|
235
|
+
voie: "fichier-projet",
|
|
236
|
+
file: MCP_CONFIG_FILE
|
|
237
|
+
};
|
|
238
|
+
const argv = remove ? target.argvRemove?.() ?? [] : target.argvAdd?.({
|
|
239
|
+
...ctx,
|
|
240
|
+
name: "nodefony"
|
|
241
|
+
}) ?? [];
|
|
242
|
+
return {
|
|
243
|
+
voie: "cli",
|
|
244
|
+
bin: target.bin,
|
|
245
|
+
argv
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Rend le plan sous la forme qu'on peut recopier dans un terminal.
|
|
250
|
+
*
|
|
251
|
+
* C'est le repli quand la CLI est absente : dire ce qu'il aurait fallu lancer
|
|
252
|
+
* vaut mieux que constater l'absence — la commande reste juste le jour où
|
|
253
|
+
* l'agent sera installé.
|
|
254
|
+
*
|
|
255
|
+
* @param plan - un plan de voie `cli` (les autres n'ont rien à recopier)
|
|
256
|
+
*/
|
|
257
|
+
function renderPlanShell(plan) {
|
|
258
|
+
if (plan.voie !== "cli") return "";
|
|
259
|
+
return [plan.bin, ...plan.argv.map((a) => /[\s"$]/u.test(a) ? `"${a}"` : a)].join(" ");
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Racine où vit la configuration d'une cible : le projet, ou son dossier maison.
|
|
263
|
+
*
|
|
264
|
+
* PURE au sens qui compte : l'environnement et le dossier de l'utilisateur sont
|
|
265
|
+
* INJECTÉS, jamais lus ici. C'est ce qui permet d'éprouver la résolution — y
|
|
266
|
+
* compris la grammaire de chemins d'une autre plateforme — sans dépendre du
|
|
267
|
+
* poste qui exécute le test.
|
|
268
|
+
*
|
|
269
|
+
* @param target - l'agent visé
|
|
270
|
+
* @param ctx - racine du projet, dossier de l'utilisateur, environnement
|
|
271
|
+
*/
|
|
272
|
+
function agentRoot(target, ctx) {
|
|
273
|
+
if (target.scope === "projet") return ctx.projectRoot;
|
|
274
|
+
const surcharge = target.home ? (ctx.env ?? process.env)[target.home] : void 0;
|
|
275
|
+
return path.resolve(surcharge ?? path.join(ctx.home ?? homedir(), target.marker));
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Agents dont la présence est CONSTATÉE sur ce poste.
|
|
279
|
+
*
|
|
280
|
+
* On ne crée pas la configuration d'un outil que personne n'utilise ici : le
|
|
281
|
+
* marqueur (`.claude`, `.codex`…) est la seule preuve qu'on ait, et il vaut
|
|
282
|
+
* mieux qu'une déduction depuis le `PATH` — un binaire installé ne dit pas que
|
|
283
|
+
* quelqu'un s'en sert dans CE projet.
|
|
284
|
+
*
|
|
285
|
+
* Le test d'existence est INJECTÉ : c'est ce qui permet d'éprouver la détection
|
|
286
|
+
* sans dépendre du poste qui exécute le test, et de la rejouer pour une
|
|
287
|
+
* arborescence qui n'existe nulle part.
|
|
288
|
+
*
|
|
289
|
+
* @param ctx - racine du projet, dossier de l'utilisateur, environnement, et le
|
|
290
|
+
* prédicat qui répond « ce chemin existe-t-il ? »
|
|
291
|
+
*/
|
|
292
|
+
function agentsPresents(ctx) {
|
|
293
|
+
return AGENT_TARGETS.filter((c) => {
|
|
294
|
+
const inProject = ctx.exists(path.resolve(ctx.projectRoot, c.marker));
|
|
295
|
+
const inUserHome = ctx.exists(agentRoot({
|
|
296
|
+
...c,
|
|
297
|
+
scope: "utilisateur"
|
|
298
|
+
}, ctx));
|
|
299
|
+
return inProject || inUserHome;
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Pose une variable dans le contenu d'un fichier de configuration d'agent.
|
|
304
|
+
*
|
|
305
|
+
* Fonction PURE — elle prend le contenu et rend le contenu. C'est ce qui permet
|
|
306
|
+
* d'éprouver chaque grammaire sans écrire sur le disque de qui que ce soit, et
|
|
307
|
+
* de garantir qu'un fichier existant n'est pas ÉCRASÉ mais complété : ces
|
|
308
|
+
* fichiers portent les réglages de quelqu'un d'autre.
|
|
309
|
+
*
|
|
310
|
+
* @param forme - grammaire du fichier
|
|
311
|
+
* @param actuel - contenu actuel, ou chaîne vide s'il n'existe pas
|
|
312
|
+
* @param cle - nom de la variable
|
|
313
|
+
* @param valeur - sa valeur
|
|
314
|
+
* @returns le nouveau contenu, ou une `Error` si le fichier est illisible
|
|
315
|
+
*/
|
|
316
|
+
/**
|
|
317
|
+
* La chaîne sans ses sauts de ligne FINAUX — sans expression régulière.
|
|
318
|
+
*
|
|
319
|
+
* `/\n*$/` a l'air anodin et coûte du temps quadratique : sur une queue de
|
|
320
|
+
* sauts de ligne, le moteur réessaie depuis chaque position. Une boucle qui
|
|
321
|
+
* recule dit la même chose en un seul passage, et se lit mieux.
|
|
322
|
+
*
|
|
323
|
+
* `trimEnd()` ne convient pas : il emporterait aussi espaces et tabulations,
|
|
324
|
+
* alors qu'on ne veut normaliser QUE la fin de ligne avant d'ajouter la nôtre.
|
|
325
|
+
*/
|
|
326
|
+
function withoutTrailingNewlines(text) {
|
|
327
|
+
let fin = text.length;
|
|
328
|
+
while (fin > 0 && text.charCodeAt(fin - 1) === 10) fin -= 1;
|
|
329
|
+
return text.slice(0, fin);
|
|
330
|
+
}
|
|
331
|
+
function poseVariable(forme, current, key, value) {
|
|
332
|
+
if (forme === "dotenv") {
|
|
333
|
+
const line = `${key}=${value}`;
|
|
334
|
+
const pattern = new RegExp(`^\\s*${key}\\s*=.*$`, "m");
|
|
335
|
+
if (pattern.test(current)) return current.replace(pattern, line);
|
|
336
|
+
return current.length === 0 ? `${line}\n` : `${withoutTrailingNewlines(current)}\n${line}\n`;
|
|
337
|
+
}
|
|
338
|
+
let doc;
|
|
339
|
+
try {
|
|
340
|
+
doc = current.trim() === "" ? {} : JSON.parse(current);
|
|
341
|
+
} catch {
|
|
342
|
+
return /* @__PURE__ */ new Error("le fichier existe mais n'est pas du JSON valide");
|
|
343
|
+
}
|
|
344
|
+
const env = doc.env ?? {};
|
|
345
|
+
env[key] = value;
|
|
346
|
+
doc.env = env;
|
|
347
|
+
return `${JSON.stringify(doc, null, 2)}\n`;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Ce fichier porte-t-il DÉJÀ cette variable ?
|
|
351
|
+
*
|
|
352
|
+
* ⭐ C'est ce qui rend la rotation simple : l'état de câblage n'a pas à être
|
|
353
|
+
* mémorisé quelque part, il EST dans les fichiers des agents. Un agent qui
|
|
354
|
+
* porte la clé a été câblé un jour — le relancer doit la METTRE À JOUR, sans
|
|
355
|
+
* reposer la question. Un fichier d'état parallèle, lui, mentirait dès que
|
|
356
|
+
* quelqu'un modifierait sa configuration à la main.
|
|
357
|
+
*
|
|
358
|
+
* @param forme - grammaire du fichier
|
|
359
|
+
* @param contenu - son contenu, ou chaîne vide s'il n'existe pas
|
|
360
|
+
* @param cle - nom de la variable
|
|
361
|
+
*/
|
|
362
|
+
/**
|
|
363
|
+
* Valeur d'une variable dans le fichier de configuration d'un agent.
|
|
364
|
+
*
|
|
365
|
+
* Fonction PURE — elle prend le contenu, elle rend la valeur. Elle existe pour
|
|
366
|
+
* qu'on puisse RENSEIGNER sur un jeton posé (son échéance, ce qu'il autorise)
|
|
367
|
+
* sans jamais le divulguer : c'est l'appelant qui décide ce qu'il en montre, et
|
|
368
|
+
* ce qu'il en montre n'est pas le jeton.
|
|
369
|
+
*
|
|
370
|
+
* @param forme - grammaire du fichier
|
|
371
|
+
* @param content - contenu actuel, ou chaîne vide
|
|
372
|
+
* @param key - nom de la variable
|
|
373
|
+
* @returns la valeur, ou `null` si elle est absente ou vide
|
|
374
|
+
*/
|
|
375
|
+
function litVariable(forme, content, key) {
|
|
376
|
+
if (content.trim() === "") return null;
|
|
377
|
+
if (forme === "dotenv") {
|
|
378
|
+
const found = new RegExp(`^\\s*${key}\\s*=\\s*(.*)$`, "m").exec(content);
|
|
379
|
+
if (!found?.[1]) return null;
|
|
380
|
+
const brut = found[1].trim().replace(/^["']|["']$/gu, "");
|
|
381
|
+
return brut === "" ? null : brut;
|
|
382
|
+
}
|
|
383
|
+
try {
|
|
384
|
+
const value = JSON.parse(content).env?.[key];
|
|
385
|
+
return typeof value === "string" && value !== "" ? value : null;
|
|
386
|
+
} catch {
|
|
387
|
+
return null;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
function alreadyHasKey(forme, content, key) {
|
|
391
|
+
if (content.trim() === "") return false;
|
|
392
|
+
if (forme === "dotenv") return new RegExp(`^\\s*${key}\\s*=`, "m").test(content);
|
|
393
|
+
try {
|
|
394
|
+
const doc = JSON.parse(content);
|
|
395
|
+
return typeof doc.env?.[key] === "string" && doc.env[key] !== "";
|
|
396
|
+
} catch {
|
|
397
|
+
return false;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Traduit `--agent` en cibles, ou rend l'erreur à afficher.
|
|
402
|
+
*
|
|
403
|
+
* Trois formes : rien (les cibles détectées, décidé par l'appelant), `none`
|
|
404
|
+
* (aucune écriture), ou une liste de clés. Une clé inconnue est REFUSÉE en
|
|
405
|
+
* nommant celles qui existent — ignorée en silence, elle ferait croire à un
|
|
406
|
+
* agent servi qui ne l'est pas, et c'est exactement ce genre de silence qui a
|
|
407
|
+
* déjà coûté une heure de diagnostic ici.
|
|
408
|
+
*
|
|
409
|
+
* @param raw - la valeur telle que tapée, ou rien
|
|
410
|
+
* @returns les cibles demandées, `undefined` si rien n'est demandé, une `Error` sinon
|
|
411
|
+
*/
|
|
412
|
+
function requestedAgents(raw) {
|
|
413
|
+
if (raw === void 0) return void 0;
|
|
414
|
+
const keys = raw.split(/[\s,]+/u).map((c) => c.trim().toLowerCase()).filter(Boolean);
|
|
415
|
+
if (keys.length === 1 && keys[0] === "none") return [];
|
|
416
|
+
if (keys.length === 1 && keys[0] === "all") return AGENT_TARGETS;
|
|
417
|
+
const known = AGENT_TARGETS.map((c) => c.key);
|
|
418
|
+
const unknown = keys.filter((c) => !known.includes(c));
|
|
419
|
+
if (unknown.length > 0) return /* @__PURE__ */ new Error(`--agent : « ${unknown.join(", ")} » inconnu — attendus : ${known.join(", ")}, all, none`);
|
|
420
|
+
return AGENT_TARGETS.filter((c) => keys.includes(c.key));
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Les fichiers-POINTEURS à poser pour qu'aucun agent ne travaille aveugle.
|
|
424
|
+
*
|
|
425
|
+
* PURE, dérivée de {@link AGENT_TARGETS} : un agent qui lit déjà `AGENTS.md`
|
|
426
|
+
* n'a besoin de rien, les autres reçoivent un fichier à LEUR nom qui renvoie
|
|
427
|
+
* au standard. Deux agents qui liraient le même nom sont regroupés — le
|
|
428
|
+
* pointeur est écrit une fois et les nomme tous les deux.
|
|
429
|
+
*
|
|
430
|
+
* 🔴 **Le filtrage n'est pas un confort.** Sans `keys`, cette fonction rendait
|
|
431
|
+
* TOUS les pointeurs, et une application créée en répondant « Claude » naissait
|
|
432
|
+
* avec un `GEMINI.md` que personne n'avait demandé. Rapporté tel quel :
|
|
433
|
+
* « j'ai demandé un agent claude, je me retrouve avec un GEMINI.md ». Poser
|
|
434
|
+
* chez quelqu'un le fichier d'un outil qu'il n'utilise pas n'est pas une
|
|
435
|
+
* prévenance : c'est du bruit dans SON dépôt, qu'il devra expliquer à son
|
|
436
|
+
* équipe. L'agent qui arrive plus tard reçoit son pointeur au moment où on le
|
|
437
|
+
* câble (`nodefony ai:mcp --agent <clé>`), c'est-à-dire quand il entre
|
|
438
|
+
* réellement dans le projet.
|
|
439
|
+
*
|
|
440
|
+
* @param keys - clés d'agents retenues. **Obligatoire** : rendre tous les
|
|
441
|
+
* pointeurs par défaut est précisément le défaut corrigé. Une liste vide ne
|
|
442
|
+
* rend rien — coder seul est un choix.
|
|
443
|
+
* @returns un couple `file` → agents concernés, trié par nom de fichier.
|
|
444
|
+
*/
|
|
445
|
+
function pointeursInstructions(keys) {
|
|
446
|
+
const kept = new Set(keys);
|
|
447
|
+
const par = /* @__PURE__ */ new Map();
|
|
448
|
+
for (const target of AGENT_TARGETS) {
|
|
449
|
+
if (target.instructions.natif) continue;
|
|
450
|
+
if (!kept.has(target.key)) continue;
|
|
451
|
+
const already = par.get(target.instructions.file);
|
|
452
|
+
if (already) already.push(target.name);
|
|
453
|
+
else par.set(target.instructions.file, [target.name]);
|
|
454
|
+
}
|
|
455
|
+
return [...par.entries()].map(([file, agents]) => ({
|
|
456
|
+
file,
|
|
457
|
+
agents
|
|
458
|
+
})).sort((a, b) => a.file.localeCompare(b.file));
|
|
459
|
+
}
|
|
460
|
+
//#endregion
|
|
461
|
+
export { AGENT_TARGETS, MCP_TOKEN_ENV, agentRoot, agentsPresents, alreadyHasKey, litVariable, planAgentDeclaration, pointeursInstructions, poseVariable, renderPlanShell, requestedAgents };
|