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,116 @@
|
|
|
1
|
+
import Container from "./Container.js";
|
|
2
|
+
/** Alias direct de `Array.isArray` — exporté pour usage cohérent dans les modules. */
|
|
3
|
+
declare const isArray: (arg: any) => arg is any[];
|
|
4
|
+
/**
|
|
5
|
+
* Type guard — `true` si `value` est une fonction (incluant arrow et classes).
|
|
6
|
+
*
|
|
7
|
+
* @param value - valeur inconnue à tester.
|
|
8
|
+
*/
|
|
9
|
+
declare const isFunction: (value: unknown) => value is (...args: unknown[]) => unknown;
|
|
10
|
+
/**
|
|
11
|
+
* Type guard — `true` si `value` est une instance `RegExp`.
|
|
12
|
+
*
|
|
13
|
+
* @param value - valeur inconnue à tester.
|
|
14
|
+
*/
|
|
15
|
+
declare const isRegExp: (value: unknown) => value is RegExp;
|
|
16
|
+
/**
|
|
17
|
+
* Vérifie qu'un objet est un "plain object" — `{}` ou `Object.create(null)`.
|
|
18
|
+
*
|
|
19
|
+
* Rejette les instances de classes, les `Array`, `Date`, `RegExp`, etc.
|
|
20
|
+
* Implémentation alignée sur jQuery.isPlainObject (compatible cross-realm).
|
|
21
|
+
*
|
|
22
|
+
* @param obj - valeur à tester.
|
|
23
|
+
* @returns `true` si l'objet vient directement de `Object` ou n'a pas de prototype.
|
|
24
|
+
*/
|
|
25
|
+
declare const isPlainObject: (obj: unknown) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Type guard — `true` si `value === undefined` (strict, jamais `null`).
|
|
28
|
+
*
|
|
29
|
+
* @param value - valeur à tester.
|
|
30
|
+
*/
|
|
31
|
+
declare const isUndefined: (value: unknown) => value is undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Vérifie qu'un objet existe et ne contient aucune clé propre énumérable.
|
|
34
|
+
*
|
|
35
|
+
* @param obj - objet à inspecter (peut être `null`/`undefined`).
|
|
36
|
+
* @returns `true` si `obj` est défini ET `Object.keys(obj).length === 0`.
|
|
37
|
+
*/
|
|
38
|
+
declare const isEmptyObject: (obj: object | null | undefined) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Fusionne plusieurs objets dans une cible — API compatible `jQuery.extend`.
|
|
41
|
+
*
|
|
42
|
+
* Mode `shallow` (défaut) : copie les clés du dernier au premier source.
|
|
43
|
+
* Mode `deep` (1er arg `true`) : récurse dans les plain objects et arrays.
|
|
44
|
+
* Sécurité : ignore `__proto__`, `constructor`, `prototype` (anti prototype pollution).
|
|
45
|
+
*
|
|
46
|
+
* @param args - `[target, ...sources]` ou `[true, target, ...sources]` pour deep.
|
|
47
|
+
* @returns la cible mutée (ou objet vide si appel à un seul argument).
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* extend({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }
|
|
52
|
+
* extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare const extend: (...args: any[]) => any;
|
|
56
|
+
declare const typeOf: (value: any) => string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Type guard — `true` si la valeur est une instance de `Container` (DI).
|
|
59
|
+
*
|
|
60
|
+
* @param container - valeur à tester.
|
|
61
|
+
*/
|
|
62
|
+
declare const isContainer: (container: unknown) => container is Container;
|
|
63
|
+
/**
|
|
64
|
+
* Vérifie qu'une valeur est une `Promise` ou un thenable (duck-typing `.then`).
|
|
65
|
+
*
|
|
66
|
+
* Accepte les promesses natives ET les bibliothèques tierces (Bluebird, etc.)
|
|
67
|
+
* qui implémentent le protocole Promises/A+.
|
|
68
|
+
*
|
|
69
|
+
* @param obj - valeur à tester.
|
|
70
|
+
* @returns `true` si `obj instanceof Promise` ou `typeof obj.then === "function"`.
|
|
71
|
+
*/
|
|
72
|
+
declare const isPromise: (obj: any) => boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Vérifie qu'une classe hérite (directement ou non) d'une autre.
|
|
75
|
+
*
|
|
76
|
+
* @param subclass - classe enfant supposée.
|
|
77
|
+
* @param superclass - classe parent attendue.
|
|
78
|
+
* @returns `true` si `subclass.prototype instanceof superclass`.
|
|
79
|
+
*/
|
|
80
|
+
declare const isSubclassOf: (subclass: any, superclass: any) => boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Retire les barres obliques finales d'une chaîne, sans expression régulière.
|
|
83
|
+
*
|
|
84
|
+
* **Pourquoi pas `value.replace(/\/+$/, "")`** — la forme évidente, et celle qui
|
|
85
|
+
* était recopiée à cinq endroits. Elle est QUADRATIQUE quand la reconnaissance
|
|
86
|
+
* ÉCHOUE : le moteur reprend l'essai à chaque position, consomme la suite des
|
|
87
|
+
* barres, puis bute sur l'ancre de fin. Mesuré sur des barres suivies d'un
|
|
88
|
+
* caractère quelconque — 1 000 → 1,4 ms, 4 000 → 21 ms, 16 000 → **309 ms** ;
|
|
89
|
+
* la même entrée passe ici en 0 ms. Le cas qui RÉUSSIT, lui, coûte 0,03 ms :
|
|
90
|
+
* c'est l'échec qui est cher, et c'est le cas qu'une entrée hostile provoque.
|
|
91
|
+
*
|
|
92
|
+
* Deux propriétés utiles en chemin chaud : la lecture est en O(n) sans retour
|
|
93
|
+
* arrière, et **rien n'est alloué** quand il n'y a rien à couper — la chaîne
|
|
94
|
+
* d'origine est rendue telle quelle, là où `replace` alloue à chaque appel.
|
|
95
|
+
*
|
|
96
|
+
* @param value - la chaîne à normaliser (typiquement un chemin ou une URL).
|
|
97
|
+
* @returns la chaîne sans ses barres obliques finales ; la chaîne elle-même si elle n'en avait pas.
|
|
98
|
+
*/
|
|
99
|
+
declare const stripTrailingSlashes: (value: string) => string;
|
|
100
|
+
/**
|
|
101
|
+
* Neutralise les métacaractères d'une chaîne destinée à être insérée dans une
|
|
102
|
+
* expression régulière, pour qu'elle n'y vaille que pour elle-même.
|
|
103
|
+
*
|
|
104
|
+
* **Pourquoi c'est ici** — le même motif était recopié à sept endroits, dans
|
|
105
|
+
* cinq paquets. Une liste de caractères recopiée est une liste qui diverge : il
|
|
106
|
+
* suffit qu'une copie oublie `|` pour qu'un littéral cesse d'être un littéral.
|
|
107
|
+
* `|` est d'ailleurs le plus coûteux à omettre, parce qu'il ne fait pas
|
|
108
|
+
* qu'élargir la reconnaissance : il DÉSANCRE. `new RegExp("^/a|b$")` ne
|
|
109
|
+
* reconnaît pas « /a ou /b » — il reconnaît « commence par /a » **ou** « finit
|
|
110
|
+
* par b », donc `/n/importe/quoi/b`.
|
|
111
|
+
*
|
|
112
|
+
* @param value - la chaîne à traiter comme un littéral.
|
|
113
|
+
* @returns la même chaîne, chaque métacaractère précédé d'une barre inverse.
|
|
114
|
+
*/
|
|
115
|
+
declare const escapeRegExp: (value: string) => string;
|
|
116
|
+
export { extend, isEmptyObject, isPlainObject, isUndefined, isRegExp, isContainer, typeOf, isFunction, isArray, isPromise, isSubclassOf, stripTrailingSlashes, escapeRegExp, };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Variable de garde : le CLI délégué ne délègue pas à son tour (anti-boucle). */
|
|
2
|
+
export declare const DELEGATED_ENV: string;
|
|
3
|
+
/** Trace la décision du lanceur sur stderr quand la variable vaut `1`. */
|
|
4
|
+
export declare const DEBUG_ENV: string;
|
|
5
|
+
/** Décision du lanceur : exécuter soi-même, ou passer la main au CLI de l'app. */
|
|
6
|
+
export type TLocalCliDecision = {
|
|
7
|
+
/** Exécuter le CLI courant (celui qui tourne). */
|
|
8
|
+
delegate: null;
|
|
9
|
+
reason: "already-delegated" | "no-project" | "no-local-cli" | "same-package";
|
|
10
|
+
detail?: string;
|
|
11
|
+
} | {
|
|
12
|
+
/** Chemin ABSOLU du binaire du projet à exécuter à la place. */
|
|
13
|
+
delegate: string;
|
|
14
|
+
reason: "local-cli";
|
|
15
|
+
projectRoot: string;
|
|
16
|
+
selfVersion: string | null;
|
|
17
|
+
localVersion: string | null;
|
|
18
|
+
} | {
|
|
19
|
+
/** Le projet a un `nodefony` installé, mais son CLI est inutilisable. */
|
|
20
|
+
delegate: null;
|
|
21
|
+
reason: "local-cli-broken";
|
|
22
|
+
projectRoot: string;
|
|
23
|
+
detail: string;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Décide quel CLI Nodefony doit réellement s'exécuter : **celui de l'application**
|
|
27
|
+
* dès qu'on se trouve dans un projet, sinon celui qu'on a lancé.
|
|
28
|
+
*
|
|
29
|
+
* Pourquoi cette règle : le binaire installé en global (`npm i -g nodefony`) est
|
|
30
|
+
* la porte d'entrée du framework (c'est lui qui fait `create app`), mais sa version
|
|
31
|
+
* dérive de celle des applications déjà générées. Exécuter le CLI global **dans**
|
|
32
|
+
* une app reviendrait à piloter cette app avec un autre framework que celui de ses
|
|
33
|
+
* `node_modules` : configs, scaffolds et commandes de module peuvent diverger.
|
|
34
|
+
* La version qui fait autorité est donc toujours celle de l'application — comme le
|
|
35
|
+
* wrapper d'un projet (`gradlew`, `mvnw`) prime sur l'outil de la machine.
|
|
36
|
+
*
|
|
37
|
+
* Fonction PURE (aucun effet de bord, aucun `process`) : les entrées sont passées
|
|
38
|
+
* explicitement pour que la décision soit testable sans lancer de binaire.
|
|
39
|
+
*
|
|
40
|
+
* @param input.cwd - dossier courant, point de départ de la recherche du projet.
|
|
41
|
+
* @param input.selfDir - racine du paquet `nodefony` en train de s'exécuter.
|
|
42
|
+
* @param input.env - environnement (lu pour la garde anti-boucle).
|
|
43
|
+
* @returns la décision : `delegate` = chemin du binaire à charger, ou `null` pour soi.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveLocalCli(input: {
|
|
46
|
+
cwd: string;
|
|
47
|
+
selfDir: string;
|
|
48
|
+
env?: Record<string, string | undefined>;
|
|
49
|
+
}): TLocalCliDecision;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { RolldownOptions, RolldownPluginOption } from "rolldown";
|
|
2
|
+
export interface INodefonyRolldownOptions {
|
|
3
|
+
/** Liste `external` du package (deps runtime non bundlées). Le nom propre du paquet est ajouté d'office. */
|
|
4
|
+
external?: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Externalise automatiquement toutes les `dependencies` + `peerDependencies` du
|
|
7
|
+
* `package.json` courant (défaut `false`). Mode recommandé pour une APPLICATION :
|
|
8
|
+
* son runtime vient de `node_modules`, rien à bundler. Les packages du framework
|
|
9
|
+
* gardent leur liste `external` explicite (auditée par `nodefony-check-externals`).
|
|
10
|
+
*/
|
|
11
|
+
externalDeps?: boolean;
|
|
12
|
+
/** Entrées explicites — remplace le glob par défaut (`index.ts` + `nodefony/**∕*.ts`). */
|
|
13
|
+
input?: Record<string, string>;
|
|
14
|
+
/** Patterns glob des sources à préserver en modules (défaut `["nodefony/**∕*.ts"]`). */
|
|
15
|
+
globPatterns?: string[];
|
|
16
|
+
/** Sourcemaps de sortie (défaut `false`). */
|
|
17
|
+
sourcemap?: boolean;
|
|
18
|
+
/** Plugins additionnels (ex : `browserShim` du core). */
|
|
19
|
+
plugins?: RolldownPluginOption[];
|
|
20
|
+
/** Cible de résolution des builtins (défaut `"node"`). */
|
|
21
|
+
platform?: "node" | "browser" | "neutral";
|
|
22
|
+
/** Racine `preserveModulesRoot` (défaut `"."` — chemins relatifs au package). */
|
|
23
|
+
preserveModulesRoot?: string;
|
|
24
|
+
/** Dossier de sortie (défaut `"dist"`). */
|
|
25
|
+
outDir?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Matcher `external` des packages Nodefony : exact-match ou préfixe `<nom>/`,
|
|
29
|
+
* SAUF pour `nodefony` (exact-match seulement — cf invariant en tête de fichier).
|
|
30
|
+
*/
|
|
31
|
+
export declare function nodefonyExternalMatcher(external: string[]): (id: string) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Treeshake commun : les externes sont sans effet de bord (équivalent
|
|
34
|
+
* `no-external`) SAUF `reflect-metadata`, dont le side-effect doit survivre.
|
|
35
|
+
*/
|
|
36
|
+
export declare const nodefonyTreeshake: {
|
|
37
|
+
moduleSideEffects: (id: string, isExternal: boolean) => boolean;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Construit la map d'entrées d'un package Nodefony : `index.ts` + toutes les sources
|
|
41
|
+
* `nodefony/**` (hors tests et `.d.ts`), nommées par chemin relatif — la sortie
|
|
42
|
+
* `preserveModules` reproduit l'arborescence source dans `dist/`.
|
|
43
|
+
*
|
|
44
|
+
* @remarks Les chemins sont ramenés à la grammaire POSIX **avant tout le reste**, car
|
|
45
|
+
* `globSync` rend le séparateur NATIF. Deux conséquences sous Windows, sinon : la
|
|
46
|
+
* clé devient un nom de sortie que personne ne reconnaît (`input["nodefony/src/x"]`
|
|
47
|
+
* vaut `undefined`, le `dist/` d'un build Windows cesse de ressembler aux autres) ;
|
|
48
|
+
* et surtout l'exclusion `(^|/)tests/` ne mord plus sur `nodefony\tests\…` — les
|
|
49
|
+
* fichiers de test entrent alors dans le paquet publié, sans un mot. Une clé
|
|
50
|
+
* d'entrée est un identifiant qui VOYAGE — vers rolldown, vers `dist/`, vers les
|
|
51
|
+
* `exports` du `package.json` — pas un chemin qu'on ouvre.
|
|
52
|
+
*/
|
|
53
|
+
export declare function nodefonyInput(globPatterns?: string[], deps?: {
|
|
54
|
+
/** Expansion des motifs (défaut `globSync`). */
|
|
55
|
+
readonly glob?: (pattern: string) => string[];
|
|
56
|
+
/** Séparateur de la plateforme — injecté pour éprouver Windows d'ailleurs. */
|
|
57
|
+
readonly sep?: string;
|
|
58
|
+
}): Record<string, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Config rolldown partagée d'un package ou d'une application Nodefony
|
|
61
|
+
* (bundle node ESM, `preserveModules`).
|
|
62
|
+
*
|
|
63
|
+
* @param opts - écarts par rapport au défaut (external, entrées, plugins)
|
|
64
|
+
* @returns la config rolldown complète, prête pour `export default`
|
|
65
|
+
*/
|
|
66
|
+
export declare function defineNodefonyRolldownConfig(opts?: INodefonyRolldownOptions): RolldownOptions;
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les agents de développement, et ce que Nodefony sait faire pour eux.
|
|
3
|
+
*
|
|
4
|
+
* Deux gestes distincts vivent ici, et il ne faut pas les confondre :
|
|
5
|
+
*
|
|
6
|
+
* 1. **poser le SECRET** là où l'agent lit ses variables (`security:token`) ;
|
|
7
|
+
* 2. **déclarer la PORTE** — l'URL du serveur MCP — dans sa configuration
|
|
8
|
+
* (`ai:mcp --agent`).
|
|
9
|
+
*
|
|
10
|
+
* La frontière est celle-ci : **Nodefony possède le jeton et l'URL, l'agent
|
|
11
|
+
* possède le format de sa déclaration.** On n'écrit donc jamais le fichier de
|
|
12
|
+
* configuration d'un outil tiers pour la déclaration : on appelle SA CLI, qui
|
|
13
|
+
* est la seule à savoir ce qu'elle attend et à survivre à ses propres versions.
|
|
14
|
+
* Le secret, lui, se pose bien dans un fichier — parce qu'aucune de ces CLI
|
|
15
|
+
* n'offre de le faire, et parce que l'emplacement a été CONSTATÉ, agent par
|
|
16
|
+
* agent.
|
|
17
|
+
*
|
|
18
|
+
* Ce fichier vit dans le CŒUR et non dans `@nodefony/security` : `ai:mcp` et
|
|
19
|
+
* `create app` sont des commandes du cœur, et une table recopiée à deux
|
|
20
|
+
* endroits diverge en silence.
|
|
21
|
+
*/
|
|
22
|
+
import { MCP_TOKEN_ENV } from "./aiMcpReport.js";
|
|
23
|
+
/**
|
|
24
|
+
* Comment la porte MCP se déclare chez un agent.
|
|
25
|
+
*
|
|
26
|
+
* `fichier-projet` : l'agent lit lui-même le `.mcp.json` que `ai:mcp` écrit —
|
|
27
|
+
* il n'y a rien de plus à faire, et le refaire par sa CLI créerait une SECONDE
|
|
28
|
+
* déclaration, dans une autre portée, que plus rien ne tiendrait à jour.
|
|
29
|
+
*
|
|
30
|
+
* `cli` : l'agent ignore `.mcp.json` (constaté) et tient sa propre
|
|
31
|
+
* configuration — on lui parle par sa ligne de commande.
|
|
32
|
+
*/
|
|
33
|
+
export type VoieDeclaration = "fichier-projet" | "cli";
|
|
34
|
+
/**
|
|
35
|
+
* Un agent de développement, et l'endroit où il lit ses variables.
|
|
36
|
+
*
|
|
37
|
+
* ⭐ **Cette table existe parce qu'aucun agent ne lit `.env.local`.** Ce fichier
|
|
38
|
+
* est celui de l'APPLICATION ; le client MCP, lui, résout ses variables dans son
|
|
39
|
+
* propre environnement ou dans SA configuration — et quand il n'y trouve rien,
|
|
40
|
+
* il envoie l'en-tête non substitué et reçoit un 401 qui accuse le jeton. Une
|
|
41
|
+
* heure de diagnostic pour une chaîne cohérente en apparence.
|
|
42
|
+
*
|
|
43
|
+
* Ajouter un agent = ajouter une ligne. Ce qui n'y est PAS reste dit en clair
|
|
44
|
+
* plutôt que deviné : poser un secret dans un fichier dont on n'a pas vérifié le
|
|
45
|
+
* comportement serait un pari, et c'est le porteur qui le paierait.
|
|
46
|
+
*/
|
|
47
|
+
export interface IAgentTarget {
|
|
48
|
+
/** Clé courte — ce que `--agent` accepte, et ce qu'une question propose. */
|
|
49
|
+
key: string;
|
|
50
|
+
/** Nom affiché. */
|
|
51
|
+
name: string;
|
|
52
|
+
/**
|
|
53
|
+
* Où vit sa configuration : dans le PROJET, ou dans le dossier de
|
|
54
|
+
* l'utilisateur. La distinction commande la garde appliquée — un fichier de
|
|
55
|
+
* projet peut se retrouver commité, celui de l'utilisateur non.
|
|
56
|
+
*/
|
|
57
|
+
scope: "projet" | "utilisateur";
|
|
58
|
+
/** Ce dont la présence prouve que l'agent est utilisé — résolu selon `scope`. */
|
|
59
|
+
marker: string;
|
|
60
|
+
/** Fichier à écrire — relatif au projet, ou au dossier de l'agent. */
|
|
61
|
+
file: string;
|
|
62
|
+
/** Grammaire du fichier. */
|
|
63
|
+
forme: "json-env" | "dotenv";
|
|
64
|
+
/**
|
|
65
|
+
* Variable qui déplace le dossier de l'agent — `VIBE_HOME`, `CODEX_HOME`.
|
|
66
|
+
*
|
|
67
|
+
* Elle sert DEUX fois. À la lecture, elle dit où l'agent tient ses variables
|
|
68
|
+
* quand l'utilisateur l'a déplacé. À l'écriture, elle est ce qui donne une
|
|
69
|
+
* portée PROJET à une CLI qui n'en offre pas : pointée sur
|
|
70
|
+
* `<projet>/<marker>`, la commande de l'agent écrit son propre format dans
|
|
71
|
+
* le projet au lieu du foyer. Sa présence vaut donc capacité — un agent qui
|
|
72
|
+
* la porte peut être déclaré par projet ; les autres ne le peuvent pas.
|
|
73
|
+
*/
|
|
74
|
+
home?: string;
|
|
75
|
+
/** Par quelle voie sa configuration apprend l'existence de la porte MCP. */
|
|
76
|
+
declaration: VoieDeclaration;
|
|
77
|
+
/** Exécutable de sa CLI — présent si et seulement si `declaration === "cli"`. */
|
|
78
|
+
bin?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Arguments qui DÉCLARENT la porte, hors nom de l'exécutable.
|
|
81
|
+
*
|
|
82
|
+
* Rendus par une fonction plutôt que par un gabarit à trous : les quatre
|
|
83
|
+
* grammaires ne se ressemblent pas (positionnel chez l'un, `--url` chez
|
|
84
|
+
* l'autre, valeur de l'en-tête ici, NOM de la variable là), et un gabarit
|
|
85
|
+
* commun les aurait déformées toutes les quatre.
|
|
86
|
+
*/
|
|
87
|
+
argvAdd?: (ctx: IDeclarationContext) => string[];
|
|
88
|
+
/** Arguments qui RETIRENT la déclaration. */
|
|
89
|
+
argvRemove?: () => string[];
|
|
90
|
+
/**
|
|
91
|
+
* Arguments qui LISTENT les serveurs déclarés, quand la CLI sait le faire.
|
|
92
|
+
*
|
|
93
|
+
* 🔴 Elle existe parce qu'un code de sortie ne prouve rien. Mesuré ici :
|
|
94
|
+
* `gemini mcp remove nodefony` répond « not found in project settings »,
|
|
95
|
+
* **sort en 0**, et laisse l'entrée que `gemini mcp add` venait d'écrire.
|
|
96
|
+
* Sans ce second regard, notre commande annonçait « déclaration retirée »
|
|
97
|
+
* sur une déclaration toujours en place — un mensonge qu'on ne découvre
|
|
98
|
+
* qu'en cherchant ailleurs.
|
|
99
|
+
*
|
|
100
|
+
* Absente chez un agent qui n'offre pas de lecture : on ne prétend alors
|
|
101
|
+
* rien, plutôt que de deviner.
|
|
102
|
+
*/
|
|
103
|
+
argvList?: () => string[];
|
|
104
|
+
/**
|
|
105
|
+
* Ce qu'il reste à faire APRÈS une déclaration réussie, quand l'agent pose
|
|
106
|
+
* une condition de son cru.
|
|
107
|
+
*
|
|
108
|
+
* ⭐ Elle existe pour un cas CONSTATÉ : Gemini accepte la déclaration, la
|
|
109
|
+
* liste — et l'affiche `Disabled`, parce que le dossier n'est pas « de
|
|
110
|
+
* confiance » chez lui. Sans cette phrase, on obtient un succès annoncé suivi
|
|
111
|
+
* d'un outil qui n'apparaît nulle part : le pire retour possible, et une
|
|
112
|
+
* heure passée à soupçonner le jeton.
|
|
113
|
+
*/
|
|
114
|
+
noteAfter?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Le fichier d'instructions que cet agent lit **d'office**, et s'il s'agit
|
|
117
|
+
* d'`AGENTS.md` lui-même.
|
|
118
|
+
*
|
|
119
|
+
* ⭐ **Pourquoi cette colonne existe** : `AGENTS.md` est le standard — porté
|
|
120
|
+
* par l'**Agentic AI Foundation** (Linux Foundation), règle de précédence
|
|
121
|
+
* « le plus proche gagne ». Mais tous les agents ne le lisent pas : deux
|
|
122
|
+
* d'entre eux ouvrent un fichier À LEUR NOM et ne verront JAMAIS l'`AGENTS.md`
|
|
123
|
+
* d'une application, si bien qu'ils travaillent sans aucune instruction sans
|
|
124
|
+
* que rien ne le signale. Un POINTEUR à leur nom ferme le trou sans dupliquer
|
|
125
|
+
* la matière : un fichier à NOUS, dans notre projet — on ne touche pas à la
|
|
126
|
+
* configuration d'un outil tiers (même règle que la déclaration MCP, qui
|
|
127
|
+
* passe par SA CLI).
|
|
128
|
+
*
|
|
129
|
+
* `proof` ancre le fait dans le SOURCE de l'agent, pas dans sa
|
|
130
|
+
* documentation : c'est elle qui se re-vérifie le jour où l'un d'eux change
|
|
131
|
+
* d'avis, et la doc de l'un d'eux dit déjà autre chose que son code.
|
|
132
|
+
*/
|
|
133
|
+
instructions: {
|
|
134
|
+
/** Nom du fichier lu d'office (relatif à la racine du projet). */
|
|
135
|
+
file: string;
|
|
136
|
+
/** `true` quand ce fichier EST `AGENTS.md` — rien à poser. */
|
|
137
|
+
natif: boolean;
|
|
138
|
+
/** Où le constater dans le source de l'agent (ou la mesure qui l'a établi). */
|
|
139
|
+
proof: string;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** Ce qu'il faut savoir pour composer la déclaration chez un agent. */
|
|
143
|
+
export interface IDeclarationContext {
|
|
144
|
+
/** URL absolue de la porte MCP (`http://localhost:5151/nodefony/mcp`). */
|
|
145
|
+
url: string;
|
|
146
|
+
/** Nom sous lequel le serveur est déclaré. */
|
|
147
|
+
name: string;
|
|
148
|
+
/** Nom de la variable qui porte le jeton — jamais le jeton lui-même. */
|
|
149
|
+
tokenEnv: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Agents dont l'emplacement de secret a été CONSTATÉ — au comportement ou au
|
|
153
|
+
* source, jamais sur la foi d'une page de blog.
|
|
154
|
+
*
|
|
155
|
+
* Deux stratégies pour le SECRET, et elles ne se ressemblent pas :
|
|
156
|
+
* - **Claude Code** prend la VALEUR : la clé `env` de `settings.local.json`
|
|
157
|
+
* alimente l'expansion `${VAR}` de `.mcp.json` (constaté — `claude mcp list`
|
|
158
|
+
* passe de l'en-tête non substitué à « ✔ Connected ») ;
|
|
159
|
+
* - **Vibe** prend le NOM d'une variable (`--api-key-env`) et la résout dans
|
|
160
|
+
* son environnement — mais il PEUPLE cet environnement au démarrage depuis
|
|
161
|
+
* `$VIBE_HOME/.env` (`load_dotenv_values`, `vibe/cli/cli.py`), une valeur du
|
|
162
|
+
* shell l'emportant sur le fichier. Écrire là revient donc bien à câbler ;
|
|
163
|
+
* - **Gemini CLI** de même, depuis un fichier qu'il CHERCHE en remontant
|
|
164
|
+
* l'arborescence (`findEnvFile`) : `<projet>/.gemini/.env` d'abord — quand
|
|
165
|
+
* l'espace est de confiance — puis `<projet>/.env`, puis les parents, puis
|
|
166
|
+
* `~/.gemini/.env`. Le PREMIER trouvé gagne, et lui seul est chargé : viser
|
|
167
|
+
* `.gemini/.env` évite qu'il lise à la place le `.env` de l'application.
|
|
168
|
+
*
|
|
169
|
+
* - **Codex** de même, depuis `$CODEX_HOME/.env` (défaut `~/.codex/.env`), et
|
|
170
|
+
* de là SEULEMENT : le `.env` du projet n'est pas lu.
|
|
171
|
+
*
|
|
172
|
+
* ⚠️ Ce dernier point a d'abord été conclu à l'envers, en cherchant une chaîne
|
|
173
|
+
* dans un binaire compilé et en prenant son absence pour une preuve. Une
|
|
174
|
+
* ABSENCE de trace n'en est pas une : c'est l'expérience qui a tranché — une
|
|
175
|
+
* sonde (`codex doctor` signale une variable de serveur MCP manquante) montrée
|
|
176
|
+
* discriminante d'abord, témoin à 1 et variable exportée à 0, puis passée sur
|
|
177
|
+
* chaque emplacement candidat.
|
|
178
|
+
*
|
|
179
|
+
* ## Pourquoi certains sont déclarés LOCALEMENT et d'autres non
|
|
180
|
+
*
|
|
181
|
+
* ⚠️ **Deux questions distinctes, et les confondre mène à la faute** : ce que
|
|
182
|
+
* l'agent LIT, et ce que sa CLI ÉCRIT. Les quatre savent lire une configuration
|
|
183
|
+
* de projet, et les quatre y écrivent — deux d'entre eux seulement à condition
|
|
184
|
+
* qu'on déplace leur dossier.
|
|
185
|
+
*
|
|
186
|
+
* | agent | lit le projet | comment sa CLI y écrit |
|
|
187
|
+
* | ------ | ---------------------------------------- | ------------------------- |
|
|
188
|
+
* | claude | `.mcp.json` | on écrit le fichier |
|
|
189
|
+
* | gemini | `.gemini/settings.json` | `--scope project` |
|
|
190
|
+
* | codex | `.codex/config.toml` **si de confiance** | `CODEX_HOME=<projet>/.codex` |
|
|
191
|
+
* | vibe | `.vibe/config.toml` **si de confiance** | `VIBE_HOME=<projet>/.vibe` |
|
|
192
|
+
*
|
|
193
|
+
* Pour Codex et Vibe, la portée projet EXISTE mais leur ligne de commande n'a
|
|
194
|
+
* pas d'option pour la viser : `codex mcp add` répond « Added **global** MCP
|
|
195
|
+
* server », et le source de Vibe subordonne l'écriture à la source « user »
|
|
196
|
+
* (`persist_allowed`).
|
|
197
|
+
*
|
|
198
|
+
* ⭐ **La sortie n'est ni de renoncer, ni d'écrire leur TOML nous-mêmes** — ce
|
|
199
|
+
* serait reprendre à notre compte le format d'un tiers, précisément ce que ce
|
|
200
|
+
* fichier existe pour éviter. Les deux obéissent à une variable qui déplace
|
|
201
|
+
* leur dossier (`VIBE_HOME`, `CODEX_HOME`) : pointée sur `<projet>/<marker>`,
|
|
202
|
+
* c'est LEUR binaire qui écrit LEUR format, dans le PROJET. Vérifié au disque
|
|
203
|
+
* pour les deux, ligne d'authentification comprise.
|
|
204
|
+
*
|
|
205
|
+
* Et il le fallait, parce que le global est FAUX ici, pas seulement intrusif :
|
|
206
|
+
* l'URL d'une porte porte un PORT, et deux applications Nodefony n'écoutent pas
|
|
207
|
+
* sur le même. Une déclaration dans le foyer ne peut donc en désigner qu'UNE —
|
|
208
|
+
* la dernière câblée efface la précédente sans un mot. L'annoncer, comme on le
|
|
209
|
+
* faisait, ne répare rien.
|
|
210
|
+
*
|
|
211
|
+
* Ce qui reste vrai, et que la commande DIT : ces fichiers ne sont lus que dans
|
|
212
|
+
* un dossier que l'agent tient pour DE CONFIANCE — un geste de sécurité qui
|
|
213
|
+
* appartient à l'utilisateur. Un fichier non lu est inerte ; une déclaration
|
|
214
|
+
* globale qui pointe la mauvaise application est active. Entre échouer en
|
|
215
|
+
* silence et réussir à côté, on choisit le premier. `--global` reste offert à
|
|
216
|
+
* qui veut délibérément l'autre.
|
|
217
|
+
*
|
|
218
|
+
* ⚠️ Le premier état de ce commentaire affirmait que Codex « n'a aucune notion
|
|
219
|
+
* de projet ». C'était FAUX, et la sonde qui l'avait « prouvé » ne l'était pas :
|
|
220
|
+
* elle tournait dans un dépôt NON approuvé, donc elle mesurait la confiance, pas
|
|
221
|
+
* la portée. Le binaire le dit lui-même — « Project `.codex/config.toml`:
|
|
222
|
+
* settings for a trusted repository, including [...] MCP ». Une absence de trace
|
|
223
|
+
* n'est pas une preuve, et une sonde doit être discriminante SUR LA BONNE
|
|
224
|
+
* VARIABLE.
|
|
225
|
+
*
|
|
226
|
+
* Et pour la DÉCLARATION de la porte, le partage est net, lui aussi constaté :
|
|
227
|
+
* **seul Claude Code lit le `.mcp.json` du projet**. Gemini a été mesuré
|
|
228
|
+
* l'ignorant — `.mcp.json` déclarant `nodefony` sur le disque, `gemini mcp list`
|
|
229
|
+
* répond « No MCP servers configured ». Les trois autres reçoivent donc leur
|
|
230
|
+
* déclaration par leur propre CLI, dans la grammaire lue de leur `--help`.
|
|
231
|
+
*/
|
|
232
|
+
export declare const AGENT_TARGETS: readonly IAgentTarget[];
|
|
233
|
+
/**
|
|
234
|
+
* Ce qu'il faut lancer — ou ne pas lancer — pour qu'un agent connaisse la porte.
|
|
235
|
+
*
|
|
236
|
+
* PURE : c'est la DÉCISION, le `spawn` n'est que de la plomberie. Rendre un plan
|
|
237
|
+
* plutôt que d'exécuter permet de l'afficher tel quel quand la CLI manque, et
|
|
238
|
+
* c'est ce qui fait du repli une vraie sortie et non un message d'excuse.
|
|
239
|
+
*/
|
|
240
|
+
export type IDeclarationPlan = {
|
|
241
|
+
voie: "fichier-projet";
|
|
242
|
+
/** Le fichier qui porte DÉJÀ la déclaration — rien à lancer. */
|
|
243
|
+
file: string;
|
|
244
|
+
} | {
|
|
245
|
+
voie: "cli";
|
|
246
|
+
/** Exécutable à chercher dans le `PATH`. */
|
|
247
|
+
bin: string;
|
|
248
|
+
/** Ses arguments. */
|
|
249
|
+
argv: string[];
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Compose la déclaration de la porte MCP chez un agent.
|
|
253
|
+
*
|
|
254
|
+
* @param target - l'agent visé
|
|
255
|
+
* @param ctx - l'URL de la porte et le nom de la variable qui porte le jeton
|
|
256
|
+
* @param remove - `true` pour retirer la déclaration au lieu de la poser
|
|
257
|
+
* @returns le plan d'exécution, jamais `null` — un agent sans CLI est un agent
|
|
258
|
+
* dont la déclaration vit déjà dans un fichier du projet
|
|
259
|
+
*/
|
|
260
|
+
export declare function planAgentDeclaration(target: IAgentTarget, ctx: Pick<IDeclarationContext, "url" | "tokenEnv">, remove?: boolean): IDeclarationPlan;
|
|
261
|
+
/**
|
|
262
|
+
* Rend le plan sous la forme qu'on peut recopier dans un terminal.
|
|
263
|
+
*
|
|
264
|
+
* C'est le repli quand la CLI est absente : dire ce qu'il aurait fallu lancer
|
|
265
|
+
* vaut mieux que constater l'absence — la commande reste juste le jour où
|
|
266
|
+
* l'agent sera installé.
|
|
267
|
+
*
|
|
268
|
+
* @param plan - un plan de voie `cli` (les autres n'ont rien à recopier)
|
|
269
|
+
*/
|
|
270
|
+
export declare function renderPlanShell(plan: IDeclarationPlan): string;
|
|
271
|
+
/**
|
|
272
|
+
* Racine où vit la configuration d'une cible : le projet, ou son dossier maison.
|
|
273
|
+
*
|
|
274
|
+
* PURE au sens qui compte : l'environnement et le dossier de l'utilisateur sont
|
|
275
|
+
* INJECTÉS, jamais lus ici. C'est ce qui permet d'éprouver la résolution — y
|
|
276
|
+
* compris la grammaire de chemins d'une autre plateforme — sans dépendre du
|
|
277
|
+
* poste qui exécute le test.
|
|
278
|
+
*
|
|
279
|
+
* @param target - l'agent visé
|
|
280
|
+
* @param ctx - racine du projet, dossier de l'utilisateur, environnement
|
|
281
|
+
*/
|
|
282
|
+
export declare function agentRoot(target: IAgentTarget, ctx: {
|
|
283
|
+
projectRoot: string;
|
|
284
|
+
home?: string;
|
|
285
|
+
env?: Record<string, string | undefined>;
|
|
286
|
+
}): string;
|
|
287
|
+
/**
|
|
288
|
+
* Agents dont la présence est CONSTATÉE sur ce poste.
|
|
289
|
+
*
|
|
290
|
+
* On ne crée pas la configuration d'un outil que personne n'utilise ici : le
|
|
291
|
+
* marqueur (`.claude`, `.codex`…) est la seule preuve qu'on ait, et il vaut
|
|
292
|
+
* mieux qu'une déduction depuis le `PATH` — un binaire installé ne dit pas que
|
|
293
|
+
* quelqu'un s'en sert dans CE projet.
|
|
294
|
+
*
|
|
295
|
+
* Le test d'existence est INJECTÉ : c'est ce qui permet d'éprouver la détection
|
|
296
|
+
* sans dépendre du poste qui exécute le test, et de la rejouer pour une
|
|
297
|
+
* arborescence qui n'existe nulle part.
|
|
298
|
+
*
|
|
299
|
+
* @param ctx - racine du projet, dossier de l'utilisateur, environnement, et le
|
|
300
|
+
* prédicat qui répond « ce chemin existe-t-il ? »
|
|
301
|
+
*/
|
|
302
|
+
export declare function agentsPresents(ctx: {
|
|
303
|
+
projectRoot: string;
|
|
304
|
+
home?: string;
|
|
305
|
+
env?: Record<string, string | undefined>;
|
|
306
|
+
exists: (filePath: string) => boolean;
|
|
307
|
+
}): IAgentTarget[];
|
|
308
|
+
export declare function poseVariable(forme: IAgentTarget["forme"], current: string, key: string, value: string): string | Error;
|
|
309
|
+
/**
|
|
310
|
+
* Ce fichier porte-t-il DÉJÀ cette variable ?
|
|
311
|
+
*
|
|
312
|
+
* ⭐ C'est ce qui rend la rotation simple : l'état de câblage n'a pas à être
|
|
313
|
+
* mémorisé quelque part, il EST dans les fichiers des agents. Un agent qui
|
|
314
|
+
* porte la clé a été câblé un jour — le relancer doit la METTRE À JOUR, sans
|
|
315
|
+
* reposer la question. Un fichier d'état parallèle, lui, mentirait dès que
|
|
316
|
+
* quelqu'un modifierait sa configuration à la main.
|
|
317
|
+
*
|
|
318
|
+
* @param forme - grammaire du fichier
|
|
319
|
+
* @param contenu - son contenu, ou chaîne vide s'il n'existe pas
|
|
320
|
+
* @param cle - nom de la variable
|
|
321
|
+
*/
|
|
322
|
+
/**
|
|
323
|
+
* Valeur d'une variable dans le fichier de configuration d'un agent.
|
|
324
|
+
*
|
|
325
|
+
* Fonction PURE — elle prend le contenu, elle rend la valeur. Elle existe pour
|
|
326
|
+
* qu'on puisse RENSEIGNER sur un jeton posé (son échéance, ce qu'il autorise)
|
|
327
|
+
* sans jamais le divulguer : c'est l'appelant qui décide ce qu'il en montre, et
|
|
328
|
+
* ce qu'il en montre n'est pas le jeton.
|
|
329
|
+
*
|
|
330
|
+
* @param forme - grammaire du fichier
|
|
331
|
+
* @param content - contenu actuel, ou chaîne vide
|
|
332
|
+
* @param key - nom de la variable
|
|
333
|
+
* @returns la valeur, ou `null` si elle est absente ou vide
|
|
334
|
+
*/
|
|
335
|
+
export declare function litVariable(forme: IAgentTarget["forme"], content: string, key: string): string | null;
|
|
336
|
+
export declare function alreadyHasKey(forme: IAgentTarget["forme"], content: string, key: string): boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Traduit `--agent` en cibles, ou rend l'erreur à afficher.
|
|
339
|
+
*
|
|
340
|
+
* Trois formes : rien (les cibles détectées, décidé par l'appelant), `none`
|
|
341
|
+
* (aucune écriture), ou une liste de clés. Une clé inconnue est REFUSÉE en
|
|
342
|
+
* nommant celles qui existent — ignorée en silence, elle ferait croire à un
|
|
343
|
+
* agent servi qui ne l'est pas, et c'est exactement ce genre de silence qui a
|
|
344
|
+
* déjà coûté une heure de diagnostic ici.
|
|
345
|
+
*
|
|
346
|
+
* @param raw - la valeur telle que tapée, ou rien
|
|
347
|
+
* @returns les cibles demandées, `undefined` si rien n'est demandé, une `Error` sinon
|
|
348
|
+
*/
|
|
349
|
+
export declare function requestedAgents(raw: string | undefined): readonly IAgentTarget[] | undefined | Error;
|
|
350
|
+
/**
|
|
351
|
+
* Les fichiers-POINTEURS à poser pour qu'aucun agent ne travaille aveugle.
|
|
352
|
+
*
|
|
353
|
+
* PURE, dérivée de {@link AGENT_TARGETS} : un agent qui lit déjà `AGENTS.md`
|
|
354
|
+
* n'a besoin de rien, les autres reçoivent un fichier à LEUR nom qui renvoie
|
|
355
|
+
* au standard. Deux agents qui liraient le même nom sont regroupés — le
|
|
356
|
+
* pointeur est écrit une fois et les nomme tous les deux.
|
|
357
|
+
*
|
|
358
|
+
* 🔴 **Le filtrage n'est pas un confort.** Sans `keys`, cette fonction rendait
|
|
359
|
+
* TOUS les pointeurs, et une application créée en répondant « Claude » naissait
|
|
360
|
+
* avec un `GEMINI.md` que personne n'avait demandé. Rapporté tel quel :
|
|
361
|
+
* « j'ai demandé un agent claude, je me retrouve avec un GEMINI.md ». Poser
|
|
362
|
+
* chez quelqu'un le fichier d'un outil qu'il n'utilise pas n'est pas une
|
|
363
|
+
* prévenance : c'est du bruit dans SON dépôt, qu'il devra expliquer à son
|
|
364
|
+
* équipe. L'agent qui arrive plus tard reçoit son pointeur au moment où on le
|
|
365
|
+
* câble (`nodefony ai:mcp --agent <clé>`), c'est-à-dire quand il entre
|
|
366
|
+
* réellement dans le projet.
|
|
367
|
+
*
|
|
368
|
+
* @param keys - clés d'agents retenues. **Obligatoire** : rendre tous les
|
|
369
|
+
* pointeurs par défaut est précisément le défaut corrigé. Une liste vide ne
|
|
370
|
+
* rend rien — coder seul est un choix.
|
|
371
|
+
* @returns un couple `file` → agents concernés, trié par nom de fichier.
|
|
372
|
+
*/
|
|
373
|
+
export declare function pointeursInstructions(keys: readonly string[]): readonly {
|
|
374
|
+
file: string;
|
|
375
|
+
agents: readonly string[];
|
|
376
|
+
}[];
|
|
377
|
+
/** Ré-export de commodité — la table et la variable vont toujours ensemble. */
|
|
378
|
+
export { MCP_TOKEN_ENV };
|