nodefony 10.0.0-beta.1 → 10.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.ai/symbols.json +627 -24
  2. package/README.md +8 -8
  3. package/bin/nodefony +15 -5
  4. package/dist/client/Service.js +49 -8
  5. package/dist/client/types/src/Service.d.ts +4 -0
  6. package/dist/node/Cli.js +31 -4
  7. package/dist/node/Service.js +49 -8
  8. package/dist/node/bundler/index.js +5 -3
  9. package/dist/node/cli/create.js +81 -60
  10. package/dist/node/cli/helpReport.js +1 -0
  11. package/dist/node/cli/packageManager.js +308 -0
  12. package/dist/node/cli/scaffold/engine.js +61 -18
  13. package/dist/node/cli/scaffold/entityFields.js +1 -1
  14. package/dist/node/cli/scaffold/format.js +6 -4
  15. package/dist/node/cli/scaffold/help.js +4 -0
  16. package/dist/node/cli/scaffold/spec.js +20 -0
  17. package/dist/node/cli/scaffold/versions.js +31 -14
  18. package/dist/node/cli/see.js +1 -1
  19. package/dist/node/cli/startMenu.js +9 -0
  20. package/dist/node/config/defaults.js +0 -1
  21. package/dist/node/config/schema.js +1 -1
  22. package/dist/node/index.js +3 -2
  23. package/dist/node/kernel/CliKernel.js +19 -7
  24. package/dist/node/kernel/Kernel.js +1 -1
  25. package/dist/node/kernel/checks/deep.js +45 -10
  26. package/dist/node/kernel/checks/guards.js +2 -1
  27. package/dist/node/kernel/checks/managerDrift.js +162 -0
  28. package/dist/node/kernel/checks/nodeSecurity.js +144 -0
  29. package/dist/node/kernel/checks/readiness.js +20 -3
  30. package/dist/node/kernel/checks/renderReport.js +12 -3
  31. package/dist/node/kernel/checks/report.js +27 -8
  32. package/dist/node/kernel/checks/runDoctor.js +13 -2
  33. package/dist/node/kernel/commands/BuildCommand.js +1 -1
  34. package/dist/node/kernel/commands/DebugCommand.js +32 -0
  35. package/dist/node/kernel/commands/DevCommand.js +46 -5
  36. package/dist/node/kernel/commands/MenuCommand.js +1 -1
  37. package/dist/node/package.js +1 -1
  38. package/dist/node/runtime/pageSort.js +1 -1
  39. package/dist/node/service/dev/DevSupervisor.js +62 -36
  40. package/dist/node/service/dev/devInspector.js +95 -0
  41. package/dist/node/service/dev/sourceMaps.js +21 -0
  42. package/dist/types/Cli.d.ts +20 -2
  43. package/dist/types/Service.d.ts +4 -0
  44. package/dist/types/bundler/index.d.ts +2 -0
  45. package/dist/types/cli/create.d.ts +3 -0
  46. package/dist/types/cli/packageManager.d.ts +198 -0
  47. package/dist/types/cli/scaffold/engine.d.ts +21 -2
  48. package/dist/types/cli/scaffold/versions.d.ts +15 -0
  49. package/dist/types/index.d.ts +2 -0
  50. package/dist/types/kernel/CliKernel.d.ts +8 -3
  51. package/dist/types/kernel/checks/deep.d.ts +9 -0
  52. package/dist/types/kernel/checks/managerDrift.d.ts +34 -0
  53. package/dist/types/kernel/checks/nodeSecurity.d.ts +58 -0
  54. package/dist/types/kernel/checks/readiness.d.ts +3 -1
  55. package/dist/types/kernel/checks/report.d.ts +29 -4
  56. package/dist/types/kernel/checks/runDoctor.d.ts +8 -0
  57. package/dist/types/kernel/commands/DebugCommand.d.ts +21 -0
  58. package/dist/types/kernel/commands/DevCommand.d.ts +22 -2
  59. package/dist/types/service/dev/DevSupervisor.d.ts +35 -0
  60. package/dist/types/service/dev/devInspector.d.ts +53 -0
  61. package/dist/types/service/dev/sourceMaps.d.ts +15 -0
  62. package/docs/catalogue.md +7 -7
  63. package/docs/cli.md +14 -13
  64. package/docs/client.md +12 -12
  65. package/docs/environnement.md +4 -4
  66. package/docs/kernel.md +8 -8
  67. package/docs/progression.md +11 -11
  68. package/docs/react-hooks.md +5 -4
  69. package/docs/request-context.md +10 -10
  70. package/docs/service.md +40 -41
  71. package/docs/syslog.md +5 -5
  72. package/docs/vue-composables.md +1 -1
  73. package/man/nodefony.1 +4 -1
  74. package/package.json +10 -11
  75. package/templates/app/agent-instructions/AGENTS.md.tpl +4 -1
  76. package/templates/app/base/Dockerfile.tpl +17 -6
  77. package/templates/app/base/dockerignore.tpl +4 -0
  78. package/templates/app/base/github/workflows/ci.yml.tpl +15 -9
  79. package/templates/app/base/gitignore.tpl +2 -0
  80. package/templates/app/base/gitlab-ci.yml.tpl +11 -9
  81. package/templates/app/base/package.json.tpl +12 -7
  82. package/templates/app/base/pnpm-workspace.yaml.tpl +25 -0
  83. package/templates/app/base/prettierignore.tpl +3 -0
  84. package/templates/app/complete/github/workflows/production.yml.tpl +15 -9
  85. package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +3 -3
  86. package/templates/app/frontend/react/frontend/src/App.tsx.tpl +72 -50
  87. package/templates/module/base/package.json.tpl +10 -10
  88. package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +1 -1
package/.ai/symbols.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "version": "2.0.0",
3
3
  "repoRoot": ".",
4
4
  "stats": {
5
- "files": 881,
6
- "symbols": 4387,
7
- "classes": 404,
8
- "interfaces": 1148,
9
- "types": 472,
5
+ "files": 889,
6
+ "symbols": 4469,
7
+ "classes": 405,
8
+ "interfaces": 1163,
9
+ "types": 476,
10
10
  "enums": 4,
11
- "functions": 1916,
12
- "constants": 443
11
+ "functions": 1970,
12
+ "constants": 451
13
13
  },
14
14
  "symbols": {
15
15
  "Cli": {
@@ -2193,6 +2193,145 @@
2193
2193
  "module": "@nodefony/core",
2194
2194
  "description": "Compose la phrase d'en-tête qui dit ce qui a été trouvé — et ce qui a été agrégé. Nommer le nombre d'entrées brutes n'est pas décoratif : c'est ce qui explique pourquoi la sortie tient en quelques …"
2195
2195
  },
2196
+ "IPackageManagerResolution": {
2197
+ "name": "IPackageManagerResolution",
2198
+ "kind": "interface",
2199
+ "file": "src/nodefony/src/cli/packageManager.ts",
2200
+ "exported": true,
2201
+ "module": "@nodefony/core",
2202
+ "extends": null,
2203
+ "description": "Gestionnaire retenu, et la source qui l'a désigné."
2204
+ },
2205
+ "IPackageManagerGithubSetup": {
2206
+ "name": "IPackageManagerGithubSetup",
2207
+ "kind": "interface",
2208
+ "file": "src/nodefony/src/cli/packageManager.ts",
2209
+ "exported": true,
2210
+ "module": "@nodefony/core",
2211
+ "extends": null,
2212
+ "description": "Action GitHub qui pose l'outil sur l'exécuteur, avant `setup-node`."
2213
+ },
2214
+ "IPackageManagerToolchain": {
2215
+ "name": "IPackageManagerToolchain",
2216
+ "kind": "interface",
2217
+ "file": "src/nodefony/src/cli/packageManager.ts",
2218
+ "exported": true,
2219
+ "module": "@nodefony/core",
2220
+ "extends": null,
2221
+ "description": "Ce qu'une chaîne d'INTÉGRATION (forge, image de conteneur) doit écrire pour un gestionnaire — UNE règle, lue par les gabarits CI et le `Dockerfile`."
2222
+ },
2223
+ "PackageManagerSource": {
2224
+ "name": "PackageManagerSource",
2225
+ "kind": "type",
2226
+ "file": "src/nodefony/src/cli/packageManager.ts",
2227
+ "exported": true,
2228
+ "module": "@nodefony/core",
2229
+ "description": "D'où vient le gestionnaire retenu."
2230
+ },
2231
+ "isPackageManagerName": {
2232
+ "name": "isPackageManagerName",
2233
+ "kind": "function",
2234
+ "file": "src/nodefony/src/cli/packageManager.ts",
2235
+ "exported": true,
2236
+ "module": "@nodefony/core",
2237
+ "description": "Garde de type : la valeur est-elle un gestionnaire pris en charge ?"
2238
+ },
2239
+ "packageManagerFromUserAgent": {
2240
+ "name": "packageManagerFromUserAgent",
2241
+ "kind": "function",
2242
+ "file": "src/nodefony/src/cli/packageManager.ts",
2243
+ "exported": true,
2244
+ "module": "@nodefony/core",
2245
+ "description": "Lit le gestionnaire dans un `npm_config_user_agent` (`pnpm/12.6.0 npm/? …`)."
2246
+ },
2247
+ "resolvePackageManager": {
2248
+ "name": "resolvePackageManager",
2249
+ "kind": "function",
2250
+ "file": "src/nodefony/src/cli/packageManager.ts",
2251
+ "exported": true,
2252
+ "module": "@nodefony/core",
2253
+ "description": "Désigne le gestionnaire de paquets d'un projet (cf l'ordre des sources en tête de fichier)."
2254
+ },
2255
+ "packageManagerExecArgs": {
2256
+ "name": "packageManagerExecArgs",
2257
+ "kind": "function",
2258
+ "file": "src/nodefony/src/cli/packageManager.ts",
2259
+ "exported": true,
2260
+ "module": "@nodefony/core",
2261
+ "description": "Arguments qui lancent un BINAIRE installé dans le projet (`nodefony`, `vitest`…). Quatre formes, parce que les quatre gestionnaires n'en partagent aucune : `npm exec --` (sans le `--`, npm lit les …"
2262
+ },
2263
+ "packageManagerUpdateInstallArgs": {
2264
+ "name": "packageManagerUpdateInstallArgs",
2265
+ "kind": "function",
2266
+ "file": "src/nodefony/src/cli/packageManager.ts",
2267
+ "exported": true,
2268
+ "module": "@nodefony/core",
2269
+ "description": "Arguments d'une installation qui SUIT une modification du manifeste (`create app`, `create module`, une dépendance ajoutée). pnpm fige le verrou dès que `CI` est posé (`frozen-lockfile` par défaut)…"
2270
+ },
2271
+ "packageManagerCommandLines": {
2272
+ "name": "packageManagerCommandLines",
2273
+ "kind": "function",
2274
+ "file": "src/nodefony/src/cli/packageManager.ts",
2275
+ "exported": true,
2276
+ "module": "@nodefony/core",
2277
+ "description": "Lignes de commande à AFFICHER pour un gestionnaire — ce qu'on conseille à l'utilisateur doit être ce que son outil accepte, et sortir de la même règle que ce qu'on exécute ({@link packageManagerExe…"
2278
+ },
2279
+ "packageManagerWorkspaceRun": {
2280
+ "name": "packageManagerWorkspaceRun",
2281
+ "kind": "function",
2282
+ "file": "src/nodefony/src/cli/packageManager.ts",
2283
+ "exported": true,
2284
+ "module": "@nodefony/core",
2285
+ "description": "Ligne de script qui lance `script` dans chaque module du workspace (`modules/*`), sans échouer sur un module qui ne le déclare pas. Une forme par gestionnaire, parce qu'aucune ne se transpose : - *…"
2286
+ },
2287
+ "hasWorkspaceRun": {
2288
+ "name": "hasWorkspaceRun",
2289
+ "kind": "function",
2290
+ "file": "src/nodefony/src/cli/packageManager.ts",
2291
+ "exported": true,
2292
+ "module": "@nodefony/core",
2293
+ "description": "Le script délègue-t-il DÉJÀ aux modules, sous l'une des quatre formes de {@link packageManagerWorkspaceRun} ? Rend le câblage idempotent même après un changement de gestionnaire : on ne greffe pas …"
2294
+ },
2295
+ "needsWorkspaceProtocol": {
2296
+ "name": "needsWorkspaceProtocol",
2297
+ "kind": "function",
2298
+ "file": "src/nodefony/src/cli/packageManager.ts",
2299
+ "exported": true,
2300
+ "module": "@nodefony/core",
2301
+ "description": "Un gestionnaire ne lie-t-il un module du workspace à la racine que si la racine le DÉCLARE (`\"@app/blog\": \"workspace:*\"`) ? pnpm et bun : oui — sans la déclaration, `import(\"@app/blog\")` échoue au …"
2302
+ },
2303
+ "packageManagerToolchain": {
2304
+ "name": "packageManagerToolchain",
2305
+ "kind": "function",
2306
+ "file": "src/nodefony/src/cli/packageManager.ts",
2307
+ "exported": true,
2308
+ "module": "@nodefony/core",
2309
+ "description": "Commandes d'installation, de cache et d'élagage d'un gestionnaire, pour la forge et pour l'image. Aucune ne se transpose : `npm ci` exige `package-lock.json`, `npm prune` refuse le protocole `works…"
2310
+ },
2311
+ "PACKAGE_MANAGERS": {
2312
+ "name": "PACKAGE_MANAGERS",
2313
+ "kind": "const",
2314
+ "file": "src/nodefony/src/cli/packageManager.ts",
2315
+ "exported": true,
2316
+ "module": "@nodefony/core",
2317
+ "description": "Gestionnaires pris en charge, dans l'ordre où l'aide les cite."
2318
+ },
2319
+ "LOCKFILES": {
2320
+ "name": "LOCKFILES",
2321
+ "kind": "const",
2322
+ "file": "src/nodefony/src/cli/packageManager.ts",
2323
+ "exported": true,
2324
+ "module": "@nodefony/core",
2325
+ "description": "Fichiers de verrou, par ordre de priorité. Deux verrous côte à côte sont une anomalie ; le premier listé l'emporte, de façon stable."
2326
+ },
2327
+ "PACKAGE_MANAGER_TOOL_MAJOR": {
2328
+ "name": "PACKAGE_MANAGER_TOOL_MAJOR",
2329
+ "kind": "const",
2330
+ "file": "src/nodefony/src/cli/packageManager.ts",
2331
+ "exported": true,
2332
+ "module": "@nodefony/core",
2333
+ "description": "Majeure de l'outil que les gabarits d'une application supposent, quand il n'est pas livré avec l'image Node : pnpm 11 a déplacé ses réglages dans `pnpm-workspace.yaml` (`allowBuilds`), que le gabar…"
2334
+ },
2196
2335
  "LiveLine": {
2197
2336
  "name": "LiveLine",
2198
2337
  "kind": "class",
@@ -7197,7 +7336,15 @@
7197
7336
  "file": "src/nodefony/src/cli/scaffold/engine.ts",
7198
7337
  "exported": true,
7199
7338
  "module": "@nodefony/core",
7200
- "description": "Déclare `modules/*` en workspaces npm de l'app et branche les scripts sur eux. POURQUOI c'est indispensable : le Kernel charge un module par son NOM (`import(\"@app/blog\")`, cf `Kernel.loadModule`) …"
7339
+ "description": "Déclare `modules/*` en workspaces de l'app et branche les scripts sur eux, sous la forme que le gestionnaire du projet exécute (cf `packageManagerWorkspaceRun`). POURQUOI c'est indispensable : le K…"
7340
+ },
7341
+ "declareWorkspaceDependency": {
7342
+ "name": "declareWorkspaceDependency",
7343
+ "kind": "function",
7344
+ "file": "src/nodefony/src/cli/scaffold/engine.ts",
7345
+ "exported": true,
7346
+ "module": "@nodefony/core",
7347
+ "description": "Déclare un module local dans les dépendances de l'app (`workspace:*`). Réservé aux gestionnaires qui l'exigent (cf `needsWorkspaceProtocol`). Idempotent : une déclaration existante, quelle que soit…"
7201
7348
  },
7202
7349
  "wireModuleManifest": {
7203
7350
  "name": "wireModuleManifest",
@@ -8039,6 +8186,14 @@
8039
8186
  "module": "@nodefony/core",
8040
8187
  "description": "Sous-ensemble du catalogue (helper des tables par framework)."
8041
8188
  },
8189
+ "frameworkPeerRange": {
8190
+ "name": "frameworkPeerRange",
8191
+ "kind": "function",
8192
+ "file": "src/nodefony/src/cli/scaffold/versions.ts",
8193
+ "exported": true,
8194
+ "module": "@nodefony/core",
8195
+ "description": "Plage par laquelle un module local déclare un paquet du framework en `peerDependencies` : `^<version du scaffolder>`, jamais `*`. `*` ne couvre AUCUNE préversion (semver : « any non-prerelease vers…"
8196
+ },
8042
8197
  "SCAFFOLD_VERSIONS": {
8043
8198
  "name": "SCAFFOLD_VERSIONS",
8044
8199
  "kind": "const",
@@ -10249,6 +10404,98 @@
10249
10404
  "module": "@nodefony/core",
10250
10405
  "description": "Les familles que seul un boot peut renseigner. UNE liste, dont le type se dérive : quand la troisième est arrivée, le compte « 2 » était écrit en dur dans trois tests et dans `liveNotRun`, qui les …"
10251
10406
  },
10407
+ "IManagerDriftFinding": {
10408
+ "name": "IManagerDriftFinding",
10409
+ "kind": "interface",
10410
+ "file": "src/nodefony/src/kernel/checks/managerDrift.ts",
10411
+ "exported": true,
10412
+ "module": "@nodefony/core",
10413
+ "extends": null,
10414
+ "description": "Un écart entre le projet et son gestionnaire de paquets."
10415
+ },
10416
+ "IManagerDriftFs": {
10417
+ "name": "IManagerDriftFs",
10418
+ "kind": "interface",
10419
+ "file": "src/nodefony/src/kernel/checks/managerDrift.ts",
10420
+ "exported": true,
10421
+ "module": "@nodefony/core",
10422
+ "extends": null,
10423
+ "description": "Accès disque, injectables pour l'épreuve."
10424
+ },
10425
+ "checkManagerDrift": {
10426
+ "name": "checkManagerDrift",
10427
+ "kind": "function",
10428
+ "file": "src/nodefony/src/kernel/checks/managerDrift.ts",
10429
+ "exported": true,
10430
+ "module": "@nodefony/core",
10431
+ "description": "Confronte le projet à son gestionnaire de paquets."
10432
+ },
10433
+ "declaredPackageManager": {
10434
+ "name": "declaredPackageManager",
10435
+ "kind": "function",
10436
+ "file": "src/nodefony/src/kernel/checks/managerDrift.ts",
10437
+ "exported": true,
10438
+ "module": "@nodefony/core",
10439
+ "description": "Lit le `packageManager` déclaré dans le code du manifeste de configuration."
10440
+ },
10441
+ "INodeRelease": {
10442
+ "name": "INodeRelease",
10443
+ "kind": "interface",
10444
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10445
+ "exported": true,
10446
+ "module": "@nodefony/core",
10447
+ "extends": null,
10448
+ "description": "Une publication de Node, telle que la liste officielle la décrit."
10449
+ },
10450
+ "INodeSecurityGap": {
10451
+ "name": "INodeSecurityGap",
10452
+ "kind": "interface",
10453
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10454
+ "exported": true,
10455
+ "module": "@nodefony/core",
10456
+ "extends": null,
10457
+ "description": "Le constat : ce Node a des failles corrigées depuis."
10458
+ },
10459
+ "NodeReleasesResult": {
10460
+ "name": "NodeReleasesResult",
10461
+ "kind": "type",
10462
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10463
+ "exported": true,
10464
+ "module": "@nodefony/core",
10465
+ "description": "Résultat d'une lecture de la liste : les publications, ou la raison d'échec."
10466
+ },
10467
+ "assessNodeSecurity": {
10468
+ "name": "assessNodeSecurity",
10469
+ "kind": "function",
10470
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10471
+ "exported": true,
10472
+ "module": "@nodefony/core",
10473
+ "description": "Confronte une version de Node à la liste officielle des publications. Fonction PURE : la liste est injectée, la version aussi — une règle qui lit `process.version` ne s'éprouve que sur la version q…"
10474
+ },
10475
+ "loadNodeReleases": {
10476
+ "name": "loadNodeReleases",
10477
+ "kind": "function",
10478
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10479
+ "exported": true,
10480
+ "module": "@nodefony/core",
10481
+ "description": "Lit la liste officielle des publications de Node. La source se règle par `NF_NODE_DIST_URL` : une URL (miroir d'entreprise) ou un CHEMIN de fichier (poste sans accès à Internet, banc de test). Défa…"
10482
+ },
10483
+ "nodeSecurityMessage": {
10484
+ "name": "nodeSecurityMessage",
10485
+ "kind": "function",
10486
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10487
+ "exported": true,
10488
+ "module": "@nodefony/core",
10489
+ "description": "La phrase du constat : la faille, puis le geste."
10490
+ },
10491
+ "NODE_DIST_INDEX": {
10492
+ "name": "NODE_DIST_INDEX",
10493
+ "kind": "const",
10494
+ "file": "src/nodefony/src/kernel/checks/nodeSecurity.ts",
10495
+ "exported": true,
10496
+ "module": "@nodefony/core",
10497
+ "description": "Adresse par défaut de la liste officielle des publications."
10498
+ },
10252
10499
  "IPackageFinding": {
10253
10500
  "name": "IPackageFinding",
10254
10501
  "kind": "interface",
@@ -10541,7 +10788,15 @@
10541
10788
  "file": "src/nodefony/src/kernel/checks/report.ts",
10542
10789
  "exported": true,
10543
10790
  "module": "@nodefony/core",
10544
- "description": "`true` si cette famille est une sous-règle de `readiness`."
10791
+ "description": "`true` si cette famille est une sous-règle d'une autre."
10792
+ },
10793
+ "subruleParent": {
10794
+ "name": "subruleParent",
10795
+ "kind": "function",
10796
+ "file": "src/nodefony/src/kernel/checks/report.ts",
10797
+ "exported": true,
10798
+ "module": "@nodefony/core",
10799
+ "description": "La famille qui porte une sous-règle."
10545
10800
  },
10546
10801
  "preventedChecks": {
10547
10802
  "name": "preventedChecks",
@@ -10695,13 +10950,21 @@
10695
10950
  "module": "@nodefony/core",
10696
10951
  "description": "L'ordre de lecture des familles — celui du sommaire ET du détail. L'ordre n'est pas cosmétique : la fraîcheur d'abord, parce qu'un build en retard rend faux tout ce qui suit ; puis ce qui empêche d…"
10697
10952
  },
10953
+ "SUBRULE_PARENT": {
10954
+ "name": "SUBRULE_PARENT",
10955
+ "kind": "const",
10956
+ "file": "src/nodefony/src/kernel/checks/report.ts",
10957
+ "exported": true,
10958
+ "module": "@nodefony/core",
10959
+ "description": "Les SOUS-RÈGLES — des contrôles à part entière, mais qui ne sont pas des familles. Chacune est rangée sous la famille qui la porte (sa clé → son parent). Elles ont besoin de leur propre état d'exéc…"
10960
+ },
10698
10961
  "SUBRULES": {
10699
10962
  "name": "SUBRULES",
10700
10963
  "kind": "const",
10701
10964
  "file": "src/nodefony/src/kernel/checks/report.ts",
10702
10965
  "exported": true,
10703
10966
  "module": "@nodefony/core",
10704
- "description": "Les SOUS-RÈGLES de `readiness` — des contrôles à part entière, mais qui ne sont pas des familles. Elles ont besoin de leur propre état d'exécution (leur silence peut ne rien prouver : catalogue ill…"
10967
+ "description": "Les sous-règles, dérivées de {@link SUBRULE_PARENT}."
10705
10968
  },
10706
10969
  "COUNTED_FAMILIES": {
10707
10970
  "name": "COUNTED_FAMILIES",
@@ -11204,6 +11467,17 @@
11204
11467
  "decorators": [],
11205
11468
  "description": "Commande `nodefony create <type> <name>` — scaffold d'un projet Nodefony depuis les templates shippés (`templates/<type>/`). En pratique l'invocation directe est interceptée par le fast-path STANDA…"
11206
11469
  },
11470
+ "Debug": {
11471
+ "name": "Debug",
11472
+ "kind": "class",
11473
+ "file": "src/nodefony/src/kernel/commands/DebugCommand.ts",
11474
+ "exported": true,
11475
+ "module": "@nodefony/core",
11476
+ "extends": "Dev",
11477
+ "implements": [],
11478
+ "decorators": [],
11479
+ "description": "Commande `nodefony debug` — le mode développement, débogueur prêt en une commande. Même pipeline que `development` (build avec sourcemaps, superviseur, rechargement automatique, `--no-watch`, `--de…"
11480
+ },
11207
11481
  "Dev": {
11208
11482
  "name": "Dev",
11209
11483
  "kind": "class",
@@ -12230,6 +12504,39 @@
12230
12504
  "module": "@nodefony/core",
12231
12505
  "description": "Marqueur env anti-récursion : posé sur le child pour couper tout re-détachement."
12232
12506
  },
12507
+ "IDevInspectRequest": {
12508
+ "name": "IDevInspectRequest",
12509
+ "kind": "interface",
12510
+ "file": "src/nodefony/src/service/dev/devInspector.ts",
12511
+ "exported": true,
12512
+ "module": "@nodefony/core",
12513
+ "extends": null,
12514
+ "description": "Inspecteur demandé par `--inspect` / `--inspect-brk` sur la commande de développement."
12515
+ },
12516
+ "parseInspectArgs": {
12517
+ "name": "parseInspectArgs",
12518
+ "kind": "function",
12519
+ "file": "src/nodefony/src/service/dev/devInspector.ts",
12520
+ "exported": true,
12521
+ "module": "@nodefony/core",
12522
+ "description": "Lit `--inspect[-brk][=[hôte:]port]` dans les arguments de la commande — et non dans ceux de `node`. Pourquoi une option de NODEFONY : un `--inspect` posé pour `node` (ou dans `NODE_OPTIONS`) est pr…"
12523
+ },
12524
+ "isLoopbackHost": {
12525
+ "name": "isLoopbackHost",
12526
+ "kind": "function",
12527
+ "file": "src/nodefony/src/service/dev/devInspector.ts",
12528
+ "exported": true,
12529
+ "module": "@nodefony/core",
12530
+ "description": "Dit si une interface d'écoute reste sur la boucle locale. 🔴 Un inspecteur joignable depuis le réseau EXÉCUTE le code de quiconque s'y connecte (le protocole permet `Runtime.evaluate`) : hors boucl…"
12531
+ },
12532
+ "openDevInspector": {
12533
+ "name": "openDevInspector",
12534
+ "kind": "function",
12535
+ "file": "src/nodefony/src/service/dev/devInspector.ts",
12536
+ "exported": true,
12537
+ "module": "@nodefony/core",
12538
+ "description": "Ouvre l'inspecteur DANS le process serveur, avant le chargement de l'application. Appelée par l'enfant supervisé (donc rouverte à chaque redémarrage, sur le même port) et par `--no-watch`. Un inspe…"
12539
+ },
12233
12540
  "DevProcessInfo": {
12234
12541
  "name": "DevProcessInfo",
12235
12542
  "kind": "interface",
@@ -13034,6 +13341,22 @@
13034
13341
  "module": "@nodefony/core",
13035
13342
  "description": "Rend une erreur du watcher NON FATALE : la signale et poursuit la surveillance. Le watch est un **capteur**, pas une garantie : un dossier qui disparaît pendant son scan, un lien symbolique cassé, …"
13036
13343
  },
13344
+ "APP_DEV_BUILD_ARGS": {
13345
+ "name": "APP_DEV_BUILD_ARGS",
13346
+ "kind": "const",
13347
+ "file": "src/nodefony/src/service/dev/DevSupervisor.ts",
13348
+ "exported": true,
13349
+ "module": "@nodefony/core",
13350
+ "description": "Arguments du build de l'application en DÉVELOPPEMENT — le `rolldown -c` de `npm run build`, plus `--sourcemap`. Le socle `nodefony/bundler` n'émet pas de sourcemaps par défaut : c'est le bon défaut…"
13351
+ },
13352
+ "enableDevSourceMaps": {
13353
+ "name": "enableDevSourceMaps",
13354
+ "kind": "function",
13355
+ "file": "src/nodefony/src/service/dev/sourceMaps.ts",
13356
+ "exported": true,
13357
+ "module": "@nodefony/core",
13358
+ "description": "Traduit les piles d'appels du serveur de développement vers les sources `.ts`. En développement, le serveur exécute le `dist/` de l'application, bâti avec ses maps (`APP_DEV_BUILD_ARGS`). À appeler…"
13359
+ },
13037
13360
  "resolveQueryDriver": {
13038
13361
  "name": "resolveQueryDriver",
13039
13362
  "kind": "function",
@@ -16207,6 +16530,48 @@
16207
16530
  "decorators": [],
16208
16531
  "description": "Stockage de session **Drizzle** (driver `better-sqlite3`), branché sur `@nodefony/orm-core`. Implémente le contrat {@link ISessionStorage} consommé par le `SessionsService` de `@nodefony/http` — st…"
16209
16532
  },
16533
+ "ISqlitePragmaClient": {
16534
+ "name": "ISqlitePragmaClient",
16535
+ "kind": "interface",
16536
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/sqliteJournal.ts",
16537
+ "exported": true,
16538
+ "module": "@nodefony/drizzle",
16539
+ "extends": null,
16540
+ "description": "Mise en WAL d'une base SQLite — UNE implémentation, appelée par les deux ouvreurs de fichier du paquet : l'adapter ORM (`DrizzleOrm`) et le pilote de migration (`sqliteDriver`). Une base migrée pui…"
16541
+ },
16542
+ "IWriteAheadLogOptions": {
16543
+ "name": "IWriteAheadLogOptions",
16544
+ "kind": "interface",
16545
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/sqliteJournal.ts",
16546
+ "exported": true,
16547
+ "module": "@nodefony/drizzle",
16548
+ "extends": null,
16549
+ "description": "Réglages de la mise en WAL — injectables pour l'éprouver sans attendre."
16550
+ },
16551
+ "isSqliteBusy": {
16552
+ "name": "isSqliteBusy",
16553
+ "kind": "function",
16554
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/sqliteJournal.ts",
16555
+ "exported": true,
16556
+ "module": "@nodefony/drizzle",
16557
+ "description": "L'erreur est-elle un conflit de verrou, qui se règle en réessayant ?"
16558
+ },
16559
+ "enableWriteAheadLog": {
16560
+ "name": "enableWriteAheadLog",
16561
+ "kind": "function",
16562
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/sqliteJournal.ts",
16563
+ "exported": true,
16564
+ "module": "@nodefony/drizzle",
16565
+ "description": "Passe la base en WAL (`synchronous = NORMAL`), en tolérant les ouvertures CONCURRENTES d'une base neuve. Basculer en WAL exige un verrou exclusif. Deux processus qui ouvrent la même base neuve au m…"
16566
+ },
16567
+ "WAL_DEADLINE_MS": {
16568
+ "name": "WAL_DEADLINE_MS",
16569
+ "kind": "const",
16570
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/sqliteJournal.ts",
16571
+ "exported": true,
16572
+ "module": "@nodefony/drizzle",
16573
+ "description": "Échéance par défaut : au-delà, une base occupée l'est pour de bon."
16574
+ },
16210
16575
  "IFrameworkConfig": {
16211
16576
  "name": "IFrameworkConfig",
16212
16577
  "kind": "type",
@@ -17507,7 +17872,7 @@
17507
17872
  "file": "src/packages/@nodefony/framework/nodefony/src/docsReader.ts",
17508
17873
  "exported": true,
17509
17874
  "module": "@nodefony/framework",
17510
- "description": "Lance les tests d'un module et renvoie un résumé (pass/fail/durée + tail). - 1 fichier (module vitest) → `npx vitest run <file>` (rapide, pass/fail). - sinon → `npm run coverage` (suite complète + …"
17875
+ "description": "Lance les tests d'un module et renvoie un résumé (pass/fail/durée + tail). - 1 fichier (module vitest) → `vitest run <file>` (rapide, pass/fail). - sinon → le script `coverage` (suite complète + re…"
17511
17876
  },
17512
17877
  "resolveCorePath": {
17513
17878
  "name": "resolveCorePath",
@@ -18990,6 +19355,15 @@
18990
19355
  "decorators": [],
18991
19356
  "description": "Service de fourniture du certificat TLS du serveur HTTPS/WSS. Trois stratégies : `explicit` (certificat fourni en config — le cas de PRODUCTION), `mkcert` (CA locale trustée, confort de dev) et `se…"
18992
19357
  },
19358
+ "IRsaKeyPair": {
19359
+ "name": "IRsaKeyPair",
19360
+ "kind": "interface",
19361
+ "file": "src/packages/@nodefony/http/nodefony/service/certificates.ts",
19362
+ "exported": true,
19363
+ "module": "@nodefony/http",
19364
+ "extends": null,
19365
+ "description": "Paire de clés RSA du certificat auto-signé."
19366
+ },
18993
19367
  "SelfSignedOptions": {
18994
19368
  "name": "SelfSignedOptions",
18995
19369
  "kind": "interface",
@@ -18997,7 +19371,7 @@
18997
19371
  "exported": true,
18998
19372
  "module": "@nodefony/http",
18999
19373
  "extends": null,
19000
- "description": "Options de génération du certificat AUTO-SIGNÉ (node-forge, JavaScript pur — aucun binaire externe n'est invoqué). ⚠️ Portée : ces réglages ne valent QUE pour la stratégie `selfsigned`. Sous `mkcer…"
19374
+ "description": "Options de génération du certificat AUTO-SIGNÉ (`node:crypto` — aucun binaire externe ni aucune dépendance tierce). ⚠️ Portée : ces réglages ne valent QUE pour la stratégie `selfsigned`. Sous `mkce…"
19001
19375
  },
19002
19376
  "CertificateDevOptions": {
19003
19377
  "name": "CertificateDevOptions",
@@ -19249,6 +19623,88 @@
19249
19623
  "module": "@nodefony/http",
19250
19624
  "description": "Resolve the traceparent to attach to a new request. Honors an incoming valid header, generates a fresh one otherwise."
19251
19625
  },
19626
+ "ICertificateAttribute": {
19627
+ "name": "ICertificateAttribute",
19628
+ "kind": "interface",
19629
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19630
+ "exported": true,
19631
+ "module": "@nodefony/http",
19632
+ "extends": null,
19633
+ "description": "Attribut d'un nom distinctif (sujet / émetteur). Forme reprise de la config historique : `name` long (`commonName`), `shortName` (`CN`) ou `type` (OID pointé) — le premier présent fait foi."
19634
+ },
19635
+ "ISelfSignedSpec": {
19636
+ "name": "ISelfSignedSpec",
19637
+ "kind": "interface",
19638
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19639
+ "exported": true,
19640
+ "module": "@nodefony/http",
19641
+ "extends": null,
19642
+ "description": "Ce qu'il faut pour fabriquer un certificat serveur auto-signé."
19643
+ },
19644
+ "X509Hash": {
19645
+ "name": "X509Hash",
19646
+ "kind": "type",
19647
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19648
+ "exported": true,
19649
+ "module": "@nodefony/http",
19650
+ "description": "Hachages de signature que le builder sait déclarer."
19651
+ },
19652
+ "ipAddressBytes": {
19653
+ "name": "ipAddressBytes",
19654
+ "kind": "function",
19655
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19656
+ "exported": true,
19657
+ "module": "@nodefony/http",
19658
+ "description": "Octets d'une adresse IP pour un SAN `iPAddress` (4 ou 16 octets)."
19659
+ },
19660
+ "signatureAlgorithmOid": {
19661
+ "name": "signatureAlgorithmOid",
19662
+ "kind": "function",
19663
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19664
+ "exported": true,
19665
+ "module": "@nodefony/http",
19666
+ "description": "OID de l'algorithme de signature d'un certificat DER (champ `signatureAlgorithm`, RFC 5280 §4.1.1.2). Lu dans le DER plutôt que par `X509Certificate.signatureAlgorithmOid`, absent des Node du planc…"
19667
+ },
19668
+ "signatureAlgorithmName": {
19669
+ "name": "signatureAlgorithmName",
19670
+ "kind": "function",
19671
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19672
+ "exported": true,
19673
+ "module": "@nodefony/http",
19674
+ "description": "Nom lisible d'un OID de signature (l'OID lui-même s'il est inconnu)."
19675
+ },
19676
+ "parseSubjectAltName": {
19677
+ "name": "parseSubjectAltName",
19678
+ "kind": "function",
19679
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19680
+ "exported": true,
19681
+ "module": "@nodefony/http",
19682
+ "description": "Entrées DNS et IP d'un `subjectAltName` tel que le rend `X509Certificate.subjectAltName` (`DNS:a, IP Address:1.2.3.4`)."
19683
+ },
19684
+ "distinguishedNameField": {
19685
+ "name": "distinguishedNameField",
19686
+ "kind": "function",
19687
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19688
+ "exported": true,
19689
+ "module": "@nodefony/http",
19690
+ "description": "Valeur d'un champ d'un nom distinctif tel que le rend `X509Certificate.subject` / `.issuer` (une ligne `CLÉ=valeur` par champ)."
19691
+ },
19692
+ "createSelfSignedCertificate": {
19693
+ "name": "createSelfSignedCertificate",
19694
+ "kind": "function",
19695
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19696
+ "exported": true,
19697
+ "module": "@nodefony/http",
19698
+ "description": "Fabrique un certificat serveur auto-signé et le rend en PEM. Contenu : version 3, sujet = émetteur, `basicConstraints` cA=false, `keyUsage` (digitalSignature, keyEncipherment — critique), `extKeyUs…"
19699
+ },
19700
+ "SHA1_WITH_RSA_OID": {
19701
+ "name": "SHA1_WITH_RSA_OID",
19702
+ "kind": "const",
19703
+ "file": "src/packages/@nodefony/http/nodefony/service/x509.ts",
19704
+ "exported": true,
19705
+ "module": "@nodefony/http",
19706
+ "description": "OID de la signature RSA-SHA1, que le service régénère."
19707
+ },
19252
19708
  "LLMError": {
19253
19709
  "name": "LLMError",
19254
19710
  "kind": "class",
@@ -22957,6 +23413,14 @@
22957
23413
  "module": "@nodefony/studio",
22958
23414
  "description": "Ce qui transite sur le canal `nodefony:scaffold:job@<id>`. Deux natures, et pas une seule : une ligne de terminal **et** l'état du job. Sans le second, le front n'aurait aucun moyen d'apprendre par…"
22959
23415
  },
23416
+ "stepCommand": {
23417
+ "name": "stepCommand",
23418
+ "kind": "function",
23419
+ "file": "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts",
23420
+ "exported": true,
23421
+ "module": "@nodefony/studio",
23422
+ "description": "Commande d'une étape de l'allowlist, lancée par le gestionnaire de paquets de l'application où elle tourne — même résolution que la CLI (`create.ts`). Une application pnpm, yarn ou bun ne doit pas …"
23423
+ },
22960
23424
  "fetchAdminEndpoint": {
22961
23425
  "name": "fetchAdminEndpoint",
22962
23426
  "kind": "function",
@@ -29917,6 +30381,9 @@
29917
30381
  "SecurityUserList",
29918
30382
  "SecurityUserPassword"
29919
30383
  ],
30384
+ "Dev": [
30385
+ "Debug"
30386
+ ],
29920
30387
  "IClusterMessage": [
29921
30388
  "IClusterProbeCtl",
29922
30389
  "IClusterProbeEnrich"
@@ -30850,6 +31317,18 @@
30850
31317
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/resolve.ts",
30851
31318
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/status.ts"
30852
31319
  ],
31320
+ "portableSpawn": [
31321
+ "src/nodefony/src/Cli.ts",
31322
+ "src/nodefony/src/cli/create.ts",
31323
+ "src/nodefony/src/cli/licenses.ts",
31324
+ "src/nodefony/src/cli/see.ts",
31325
+ "src/nodefony/src/kernel/checks/deep.ts",
31326
+ "src/nodefony/src/kernel/commands/BuildCommand.ts",
31327
+ "src/nodefony/src/kernel/commands/MenuCommand.ts",
31328
+ "src/nodefony/src/service/dev/DevSupervisor.ts",
31329
+ "src/packages/@nodefony/framework/nodefony/src/docsReader.ts",
31330
+ "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts"
31331
+ ],
30853
31332
  "styleText": [
30854
31333
  "src/nodefony/src/colors.ts"
30855
31334
  ],
@@ -32899,14 +33378,50 @@
32899
33378
  "usagePageFor": [
32900
33379
  "src/nodefony/src/cli/create.ts"
32901
33380
  ],
32902
- "portableSpawn": [
33381
+ "isPackageManagerName": [
32903
33382
  "src/nodefony/src/cli/create.ts",
32904
- "src/nodefony/src/cli/licenses.ts",
32905
- "src/nodefony/src/cli/see.ts",
32906
- "src/nodefony/src/kernel/commands/BuildCommand.ts",
32907
- "src/nodefony/src/kernel/commands/MenuCommand.ts",
33383
+ "src/nodefony/src/cli/scaffold/engine.ts",
33384
+ "src/nodefony/src/kernel/checks/managerDrift.ts"
33385
+ ],
33386
+ "packageManagerCommandLines": [
33387
+ "src/nodefony/src/cli/create.ts",
33388
+ "src/nodefony/src/cli/scaffold/engine.ts",
33389
+ "src/nodefony/src/kernel/checks/deep.ts",
33390
+ "src/nodefony/src/kernel/checks/guards.ts",
33391
+ "src/nodefony/src/kernel/checks/managerDrift.ts",
33392
+ "src/nodefony/src/kernel/checks/readiness.ts",
33393
+ "src/packages/@nodefony/framework/nodefony/src/docsReader.ts"
33394
+ ],
33395
+ "packageManagerUpdateInstallArgs": [
33396
+ "src/nodefony/src/cli/create.ts",
33397
+ "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts"
33398
+ ],
33399
+ "packageManagerExecArgs": [
33400
+ "src/nodefony/src/cli/create.ts",
33401
+ "src/nodefony/src/service/dev/DevSupervisor.ts",
33402
+ "src/packages/@nodefony/framework/nodefony/src/docsReader.ts"
33403
+ ],
33404
+ "resolvePackageManager": [
33405
+ "src/nodefony/src/cli/create.ts",
33406
+ "src/nodefony/src/kernel/CliKernel.ts",
33407
+ "src/nodefony/src/cli/scaffold/engine.ts",
33408
+ "src/nodefony/src/kernel/checks/deep.ts",
33409
+ "src/nodefony/src/kernel/checks/guards.ts",
33410
+ "src/nodefony/src/kernel/checks/managerDrift.ts",
33411
+ "src/nodefony/src/kernel/checks/readiness.ts",
33412
+ "src/nodefony/src/service/dev/DevSupervisor.ts",
33413
+ "src/packages/@nodefony/framework/nodefony/src/docsReader.ts",
32908
33414
  "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts"
32909
33415
  ],
33416
+ "PackageManagerName": [
33417
+ "src/nodefony/src/cli/create.ts",
33418
+ "src/nodefony/src/cli/packageManager.ts",
33419
+ "src/nodefony/src/kernel/CliKernel.ts",
33420
+ "src/nodefony/src/kernel/Kernel.ts",
33421
+ "src/nodefony/src/cli/scaffold/engine.ts",
33422
+ "src/nodefony/src/kernel/checks/managerDrift.ts",
33423
+ "src/nodefony/src/service/dev/DevSupervisor.ts"
33424
+ ],
32910
33425
  "capAllows": [
32911
33426
  "src/nodefony/src/cli/create.ts",
32912
33427
  "src/nodefony/src/cli/scaffold/interactive.ts"
@@ -33297,6 +33812,7 @@
33297
33812
  "src/nodefony/src/kernel/commands/ClusterCommand.ts",
33298
33813
  "src/nodefony/src/kernel/commands/CompletionCommand.ts",
33299
33814
  "src/nodefony/src/kernel/commands/CreateCommand.ts",
33815
+ "src/nodefony/src/kernel/commands/DebugCommand.ts",
33300
33816
  "src/nodefony/src/kernel/commands/DevCommand.ts",
33301
33817
  "src/nodefony/src/kernel/commands/DoctorCommand.ts",
33302
33818
  "src/nodefony/src/kernel/commands/EnvCommand.ts",
@@ -33467,10 +33983,6 @@
33467
33983
  "CliDefaultOptions": [
33468
33984
  "src/nodefony/src/kernel/CliKernel.ts"
33469
33985
  ],
33470
- "PackageManagerName": [
33471
- "src/nodefony/src/kernel/CliKernel.ts",
33472
- "src/nodefony/src/kernel/Kernel.ts"
33473
- ],
33474
33986
  "CONSOLE_RUN_PROFILE": [
33475
33987
  "src/nodefony/src/kernel/CliKernel.ts"
33476
33988
  ],
@@ -33482,6 +33994,10 @@
33482
33994
  "src/nodefony/src/kernel/CliKernel.ts"
33483
33995
  ],
33484
33996
  "Dev": [
33997
+ "src/nodefony/src/kernel/CliKernel.ts",
33998
+ "src/nodefony/src/kernel/commands/DebugCommand.ts"
33999
+ ],
34000
+ "Debug": [
33485
34001
  "src/nodefony/src/kernel/CliKernel.ts"
33486
34002
  ],
33487
34003
  "Build": [
@@ -34613,6 +35129,19 @@
34613
35129
  "pointeursInstructions": [
34614
35130
  "src/nodefony/src/cli/scaffold/engine.ts"
34615
35131
  ],
35132
+ "hasWorkspaceRun": [
35133
+ "src/nodefony/src/cli/scaffold/engine.ts"
35134
+ ],
35135
+ "needsWorkspaceProtocol": [
35136
+ "src/nodefony/src/cli/scaffold/engine.ts",
35137
+ "src/nodefony/src/kernel/checks/managerDrift.ts"
35138
+ ],
35139
+ "packageManagerToolchain": [
35140
+ "src/nodefony/src/cli/scaffold/engine.ts"
35141
+ ],
35142
+ "packageManagerWorkspaceRun": [
35143
+ "src/nodefony/src/cli/scaffold/engine.ts"
35144
+ ],
34616
35145
  "resolveModuleLayout": [
34617
35146
  "src/nodefony/src/cli/scaffold/engine.ts"
34618
35147
  ],
@@ -34692,6 +35221,9 @@
34692
35221
  "assertUserFieldsAreFillable": [
34693
35222
  "src/nodefony/src/cli/scaffold/engine.ts"
34694
35223
  ],
35224
+ "frameworkPeerRange": [
35225
+ "src/nodefony/src/cli/scaffold/engine.ts"
35226
+ ],
34695
35227
  "pick": [
34696
35228
  "src/nodefony/src/cli/scaffold/engine.ts"
34697
35229
  ],
@@ -34807,6 +35339,9 @@
34807
35339
  "src/nodefony/src/cli/scaffold/interactive.ts",
34808
35340
  "src/packages/@nodefony/studio/nodefony/src/createSpec.ts"
34809
35341
  ],
35342
+ "PACKAGE_MANAGERS": [
35343
+ "src/nodefony/src/cli/scaffold/spec.ts"
35344
+ ],
34810
35345
  "inject": [
34811
35346
  "src/nodefony/src/client/angular/index.ts",
34812
35347
  "src/nodefony/src/client/vue/index.ts",
@@ -35206,6 +35741,9 @@
35206
35741
  "IProvidedService": [
35207
35742
  "src/nodefony/src/kernel/checks/live.ts"
35208
35743
  ],
35744
+ "LOCKFILES": [
35745
+ "src/nodefony/src/kernel/checks/managerDrift.ts"
35746
+ ],
35209
35747
  "collectSources": [
35210
35748
  "src/nodefony/src/kernel/checks/packageDeps.ts",
35211
35749
  "src/nodefony/src/kernel/checks/surface.ts",
@@ -35239,6 +35777,12 @@
35239
35777
  "src/nodefony/src/kernel/checks/wiring.ts",
35240
35778
  "src/packages/@nodefony/security/nodefony/command/security-secrets.ts"
35241
35779
  ],
35780
+ "checkManagerDrift": [
35781
+ "src/nodefony/src/kernel/checks/readiness.ts"
35782
+ ],
35783
+ "declaredPackageManager": [
35784
+ "src/nodefony/src/kernel/checks/readiness.ts"
35785
+ ],
35242
35786
  "pluralize": [
35243
35787
  "src/nodefony/src/kernel/checks/renderReport.ts"
35244
35788
  ],
@@ -35261,6 +35805,9 @@
35261
35805
  "src/nodefony/src/kernel/checks/renderReport.ts",
35262
35806
  "src/nodefony/src/kernel/checks/runDoctor.ts"
35263
35807
  ],
35808
+ "subruleParent": [
35809
+ "src/nodefony/src/kernel/checks/renderReport.ts"
35810
+ ],
35264
35811
  "summaryLine": [
35265
35812
  "src/nodefony/src/kernel/checks/renderReport.ts"
35266
35813
  ],
@@ -35290,6 +35837,9 @@
35290
35837
  "ISummaryLine": [
35291
35838
  "src/nodefony/src/kernel/checks/renderReport.ts"
35292
35839
  ],
35840
+ "nodeSecurityMessage": [
35841
+ "src/nodefony/src/kernel/checks/renderReport.ts"
35842
+ ],
35293
35843
  "formatAge": [
35294
35844
  "src/nodefony/src/kernel/checks/renderReport.ts"
35295
35845
  ],
@@ -35341,6 +35891,15 @@
35341
35891
  "IFreshnessResult": [
35342
35892
  "src/nodefony/src/kernel/checks/runDoctor.ts"
35343
35893
  ],
35894
+ "assessNodeSecurity": [
35895
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
35896
+ ],
35897
+ "loadNodeReleases": [
35898
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
35899
+ ],
35900
+ "INodeSecurityGap": [
35901
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
35902
+ ],
35344
35903
  "appEnvironment": [
35345
35904
  "src/nodefony/src/kernel/checks/runDoctor.ts"
35346
35905
  ],
@@ -35488,9 +36047,25 @@
35488
36047
  "PRESET_CHOICES": [
35489
36048
  "src/nodefony/src/kernel/commands/CreateCommand.ts"
35490
36049
  ],
36050
+ "IDevInspectRequest": [
36051
+ "src/nodefony/src/kernel/commands/DebugCommand.ts",
36052
+ "src/nodefony/src/kernel/commands/DevCommand.ts"
36053
+ ],
35491
36054
  "BootReporter": [
35492
36055
  "src/nodefony/src/kernel/commands/DevCommand.ts"
35493
36056
  ],
36057
+ "enableDevSourceMaps": [
36058
+ "src/nodefony/src/kernel/commands/DevCommand.ts"
36059
+ ],
36060
+ "isLoopbackHost": [
36061
+ "src/nodefony/src/kernel/commands/DevCommand.ts"
36062
+ ],
36063
+ "openDevInspector": [
36064
+ "src/nodefony/src/kernel/commands/DevCommand.ts"
36065
+ ],
36066
+ "parseInspectArgs": [
36067
+ "src/nodefony/src/kernel/commands/DevCommand.ts"
36068
+ ],
35494
36069
  "attachLive": [
35495
36070
  "src/nodefony/src/kernel/commands/DoctorCommand.ts"
35496
36071
  ],
@@ -35789,6 +36364,9 @@
35789
36364
  "Stats": [
35790
36365
  "src/nodefony/src/service/dev/DevSupervisor.ts"
35791
36366
  ],
36367
+ "childExecArgv": [
36368
+ "src/nodefony/src/service/dev/DevSupervisor.ts"
36369
+ ],
35792
36370
  "readSupervisorSuspension": [
35793
36371
  "src/nodefony/src/service/dev/DevSupervisor.ts"
35794
36372
  ],
@@ -37635,6 +38213,9 @@
37635
38213
  "resolveSymbolsFile": [
37636
38214
  "src/packages/@nodefony/framework/nodefony/src/docsReader.ts"
37637
38215
  ],
38216
+ "IPackageManagerResolution": [
38217
+ "src/packages/@nodefony/framework/nodefony/src/docsReader.ts"
38218
+ ],
37638
38219
  "parsePageQuery": [
37639
38220
  "src/packages/@nodefony/framework/nodefony/src/FrameworkAdminApi.ts",
37640
38221
  "src/packages/@nodefony/framework/nodefony/src/SyslogAdminApi.ts",
@@ -38062,6 +38643,27 @@
38062
38643
  "src/packages/@nodefony/http/nodefony/service/servers/server-websocket-secure.ts",
38063
38644
  "src/packages/@nodefony/http/nodefony/service/servers/server-websocket.ts"
38064
38645
  ],
38646
+ "createSelfSignedCertificate": [
38647
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38648
+ ],
38649
+ "distinguishedNameField": [
38650
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38651
+ ],
38652
+ "parseSubjectAltName": [
38653
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38654
+ ],
38655
+ "SHA1_WITH_RSA_OID": [
38656
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38657
+ ],
38658
+ "signatureAlgorithmName": [
38659
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38660
+ ],
38661
+ "signatureAlgorithmOid": [
38662
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38663
+ ],
38664
+ "ICertificateAttribute": [
38665
+ "src/packages/@nodefony/http/nodefony/service/certificates.ts"
38666
+ ],
38065
38667
  "IErrorRenderer": [
38066
38668
  "src/packages/@nodefony/http/nodefony/service/error-renderer.ts",
38067
38669
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
@@ -39479,6 +40081,10 @@
39479
40081
  "IResolvedForeignKey": [
39480
40082
  "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts"
39481
40083
  ],
40084
+ "enableWriteAheadLog": [
40085
+ "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts",
40086
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/drivers/sqliteDriver.ts"
40087
+ ],
39482
40088
  "assertOrderOption": [
39483
40089
  "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleRepository.ts",
39484
40090
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseRepository.ts"
@@ -39668,9 +40274,6 @@
39668
40274
  "MongooseTransaction": [
39669
40275
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseOrm.ts"
39670
40276
  ],
39671
- "MONGO_ORDER_ALIASES": [
39672
- "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseRepository.ts"
39673
- ],
39674
40277
  "likePatternToRegExp": [
39675
40278
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseRepository.ts"
39676
40279
  ],