nodefony 10.0.0-alpha.5 → 10.0.0-alpha.7

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 (127) hide show
  1. package/.ai/symbols.json +940 -49
  2. package/README.md +0 -1
  3. package/bin/nodefony +35 -0
  4. package/dist/client/Service.js +18 -1
  5. package/dist/client/runtime/packageInstances.js +56 -0
  6. package/dist/client/types/src/Service.d.ts +0 -15
  7. package/dist/client/types/src/kernel/readinessRegistry.d.ts +15 -1
  8. package/dist/client/types/src/runtime/packageInstances.d.ts +75 -0
  9. package/dist/client/types/src/types/IKernel.d.ts +5 -1
  10. package/dist/node/Nodefony.js +5 -2
  11. package/dist/node/Service.js +18 -1
  12. package/dist/node/cli/aiSyncReport.js +11 -1
  13. package/dist/node/cli/create.js +39 -62
  14. package/dist/node/cli/env.js +10 -0
  15. package/dist/node/cli/envReport.js +1 -0
  16. package/dist/node/cli/image/index.js +156 -0
  17. package/dist/node/cli/image/suspectFiles.js +91 -0
  18. package/dist/node/cli/image/tarLayers.js +314 -0
  19. package/dist/node/cli/scaffold/engine.js +222 -38
  20. package/dist/node/cli/scaffold/entityFields.js +48 -2
  21. package/dist/node/cli/scaffold/help.js +380 -0
  22. package/dist/node/cli/scaffold/interactive.js +124 -8
  23. package/dist/node/cli/scaffold/routePaths.js +103 -0
  24. package/dist/node/cli/scaffold/spec.js +194 -213
  25. package/dist/node/cli/scaffold/userContractSource.js +1 -0
  26. package/dist/node/cli/scaffold/versions.js +12 -12
  27. package/dist/node/cli/usageReport.js +11 -0
  28. package/dist/node/config/defineConfig.js +41 -7
  29. package/dist/node/index.js +3 -3
  30. package/dist/node/kernel/BootConfigurationError.js +13 -0
  31. package/dist/node/kernel/CliKernel.js +4 -0
  32. package/dist/node/kernel/Kernel.js +132 -7
  33. package/dist/node/kernel/bootConfigDiagnosis.js +86 -0
  34. package/dist/node/kernel/checks/deep.js +67 -1
  35. package/dist/node/kernel/checks/projectScope.js +124 -0
  36. package/dist/node/kernel/checks/renderReport.js +58 -10
  37. package/dist/node/kernel/checks/report.js +3 -2
  38. package/dist/node/kernel/checks/runDoctor.js +8 -52
  39. package/dist/node/kernel/checks/wiring.js +64 -16
  40. package/dist/node/kernel/commands/ImageCommand.js +43 -0
  41. package/dist/node/kernel/commands/InspectCommand.js +15 -1
  42. package/dist/node/kernel/commands/StatusCommand.js +2 -2
  43. package/dist/node/kernel/inspect/adminSubjects.js +7 -1
  44. package/dist/node/kernel/readinessRegistry.js +8 -3
  45. package/dist/node/package.js +1 -1
  46. package/dist/node/runtime/packageInstances.js +90 -0
  47. package/dist/node/runtime/uuidV7.js +81 -0
  48. package/dist/node/service/cluster/topology.js +3 -1
  49. package/dist/node/service/dev/BootReporter.js +47 -1
  50. package/dist/node/service/dev/DevSupervisor.js +27 -4
  51. package/dist/node/service/dev/detachedStart.js +11 -7
  52. package/dist/node/service/dev/devProcess.js +104 -1
  53. package/dist/node/service/dev/devStatusReport.js +26 -9
  54. package/dist/types/Service.d.ts +0 -15
  55. package/dist/types/bin/resolveLocalCli.d.ts +30 -0
  56. package/dist/types/cli/aiSyncReport.d.ts +11 -1
  57. package/dist/types/cli/envReport.d.ts +27 -0
  58. package/dist/types/cli/image/index.d.ts +31 -0
  59. package/dist/types/cli/image/suspectFiles.d.ts +78 -0
  60. package/dist/types/cli/image/tarLayers.d.ts +73 -0
  61. package/dist/types/cli/scaffold/engine.d.ts +25 -1
  62. package/dist/types/cli/scaffold/entityFields.d.ts +45 -0
  63. package/dist/types/cli/scaffold/help.d.ts +31 -0
  64. package/dist/types/cli/scaffold/interactive.d.ts +32 -0
  65. package/dist/types/cli/scaffold/routePaths.d.ts +84 -0
  66. package/dist/types/cli/scaffold/spec.d.ts +30 -0
  67. package/dist/types/cli/usageReport.d.ts +9 -1
  68. package/dist/types/config/defineConfig.d.ts +31 -0
  69. package/dist/types/index.d.ts +3 -2
  70. package/dist/types/kernel/BootConfigurationError.d.ts +12 -0
  71. package/dist/types/kernel/Kernel.d.ts +80 -1
  72. package/dist/types/kernel/bootConfigDiagnosis.d.ts +100 -0
  73. package/dist/types/kernel/checks/deep.d.ts +37 -0
  74. package/dist/types/kernel/checks/projectScope.d.ts +66 -0
  75. package/dist/types/kernel/checks/renderReport.d.ts +35 -0
  76. package/dist/types/kernel/checks/report.d.ts +27 -2
  77. package/dist/types/kernel/checks/wiring.d.ts +28 -1
  78. package/dist/types/kernel/commands/ImageCommand.d.ts +29 -0
  79. package/dist/types/kernel/inspect/adminSubjects.d.ts +9 -0
  80. package/dist/types/kernel/readinessRegistry.d.ts +15 -1
  81. package/dist/types/runtime/packageInstances.d.ts +75 -0
  82. package/dist/types/runtime/uuidV7.d.ts +31 -0
  83. package/dist/types/service/dev/BootReporter.d.ts +27 -0
  84. package/dist/types/service/dev/detachedStart.d.ts +8 -3
  85. package/dist/types/service/dev/devProcess.d.ts +79 -0
  86. package/dist/types/service/dev/devStatusReport.d.ts +25 -4
  87. package/dist/types/types/IKernel.d.ts +5 -1
  88. package/docs/cli.md +23 -0
  89. package/man/nodefony.1 +4 -1
  90. package/package.json +14 -14
  91. package/templates/app/agents/AGENTS.md.tpl +45 -683
  92. package/templates/app/agents/POINTEUR.md.tpl +5 -0
  93. package/templates/app/agents/nodefony/ajouter-une-brique.md.tpl +60 -0
  94. package/templates/app/agents/nodefony/avant-de-coder.md.tpl +76 -0
  95. package/templates/app/agents/nodefony/commandes.md.tpl +44 -0
  96. package/templates/app/agents/nodefony/depannage.md.tpl +39 -0
  97. package/templates/app/agents/nodefony/donnees-et-fichiers.md.tpl +31 -0
  98. package/templates/app/agents/nodefony/inspecter-l-app.md.tpl +174 -0
  99. package/templates/app/agents/nodefony/lancer-le-serveur.md.tpl +50 -0
  100. package/templates/app/agents/nodefony/securite-et-droits.md.tpl +129 -0
  101. package/templates/app/agents/nodefony/temps-reel.md.tpl +3 -0
  102. package/templates/app/agents/nodefony/variables-d-environnement.md.tpl +56 -0
  103. package/templates/app/base/Dockerfile.tpl +55 -6
  104. package/templates/app/base/README.md.tpl +40 -0
  105. package/templates/app/base/env.ts.tpl +1 -1
  106. package/templates/app/base/github/workflows/ci.yml.tpl +20 -0
  107. package/templates/app/base/gitlab-ci.yml.tpl +55 -0
  108. package/templates/app/base/index.ts.tpl +5 -3
  109. package/templates/app/base/nodefony.config.ts.tpl +26 -4
  110. package/templates/app/base/prettierignore.tpl +9 -0
  111. package/templates/app/base/tests/e2e.setup.ts.tpl +29 -2
  112. package/templates/app/base/tests/e2e.test.ts.tpl +22 -3
  113. package/templates/app/base/tests/migrations.e2e.test.ts.tpl +3 -1
  114. package/templates/app/complete/deploy/migrate-job.yaml.tpl +12 -0
  115. package/templates/app/complete/env.local.tpl +2 -2
  116. package/templates/app/complete/env.tpl +1 -1
  117. package/templates/app/complete/github/workflows/production.yml.tpl +447 -0
  118. package/templates/app/complete/nodefony/config/security.ts.tpl +41 -1
  119. package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +62 -10
  120. package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +1 -1
  121. package/templates/app/frontend/react/frontend/src/App.tsx.tpl +1 -1
  122. package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +1 -1
  123. package/templates/app/frontend/vue/frontend/src/App.vue.tpl +1 -1
  124. package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +1 -1
  125. package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +1 -1
  126. package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +1 -1
  127. package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.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": 825,
6
- "symbols": 4027,
7
- "classes": 391,
8
- "interfaces": 1085,
9
- "types": 447,
5
+ "files": 842,
6
+ "symbols": 4140,
7
+ "classes": 394,
8
+ "interfaces": 1104,
9
+ "types": 451,
10
10
  "enums": 4,
11
- "functions": 1697,
12
- "constants": 403
11
+ "functions": 1778,
12
+ "constants": 409
13
13
  },
14
14
  "symbols": {
15
15
  "Cli": {
@@ -254,8 +254,7 @@
254
254
  "implements": [
255
255
  "IService"
256
256
  ],
257
- "decorators": [],
258
- "description": "Brique de base de tout composant Nodefony — câble un nom, un {@link Container} DI, un {@link Syslog} et un bus d'événements {@link Event} (notificationsCenter). Tous les services, modules, kernels …"
257
+ "decorators": []
259
258
  },
260
259
  "isArray": {
261
260
  "name": "isArray",
@@ -584,6 +583,14 @@
584
583
  "module": "@nodefony/core",
585
584
  "description": "Décision du lanceur : exécuter soi-même, ou passer la main au CLI de l'app."
586
585
  },
586
+ "alignArgvWithDelegate": {
587
+ "name": "alignArgvWithDelegate",
588
+ "kind": "function",
589
+ "file": "src/nodefony/src/bin/resolveLocalCli.ts",
590
+ "exported": true,
591
+ "module": "@nodefony/core",
592
+ "description": "Aligne `argv[1]` sur le CLI RÉELLEMENT exécuté après une délégation. 🔴 POURQUOI C'EST NÉCESSAIRE, et ce que ça a coûté de ne pas le faire. La délégation charge le CLI de l'application par `import(…"
593
+ },
587
594
  "resolveLocalCli": {
588
595
  "name": "resolveLocalCli",
589
596
  "kind": "function",
@@ -2949,6 +2956,14 @@
2949
2956
  "module": "@nodefony/core",
2950
2957
  "description": "Garde de type : `value` est-il un descripteur produit par {@link defineConfig} ? Utilisé par le Kernel (`loadApp`, Lot 4) pour distinguer une app moderne (`export default defineConfig(…)`) d'une co…"
2951
2958
  },
2959
+ "CONFIG_DESCRIPTOR_KEY": {
2960
+ "name": "CONFIG_DESCRIPTOR_KEY",
2961
+ "kind": "const",
2962
+ "file": "src/nodefony/src/config/defineConfig.ts",
2963
+ "exported": true,
2964
+ "module": "@nodefony/core",
2965
+ "description": "Marque (brand) d'un descripteur de config. Non exportée → un objet quelconque ne peut pas se faire passer pour un descripteur, et le type public {@link AppConfigDescriptor} reste propre. 🔴 `Symbol…"
2966
+ },
2952
2967
  "EnvVarMeta": {
2953
2968
  "name": "EnvVarMeta",
2954
2969
  "kind": "interface",
@@ -3675,6 +3690,47 @@
3675
3690
  "implements": [],
3676
3691
  "decorators": []
3677
3692
  },
3693
+ "IEmptyManifestFacts": {
3694
+ "name": "IEmptyManifestFacts",
3695
+ "kind": "interface",
3696
+ "file": "src/nodefony/src/kernel/bootConfigDiagnosis.ts",
3697
+ "exported": true,
3698
+ "module": "@nodefony/core",
3699
+ "extends": null,
3700
+ "description": "Entrée du diagnostic — les trois faits constatés au boot."
3701
+ },
3702
+ "AppConfigOrigin": {
3703
+ "name": "AppConfigOrigin",
3704
+ "kind": "type",
3705
+ "file": "src/nodefony/src/kernel/bootConfigDiagnosis.ts",
3706
+ "exported": true,
3707
+ "module": "@nodefony/core",
3708
+ "description": "Diagnostic d'un manifeste de modules VIDE au boot. Un manifeste vide sous profil serveur produit toujours le même symptôme — aucun module monté, aucun serveur en écoute, sortie 69 — alors qu'il rec…"
3709
+ },
3710
+ "isForeignDescriptor": {
3711
+ "name": "isForeignDescriptor",
3712
+ "kind": "function",
3713
+ "file": "src/nodefony/src/kernel/bootConfigDiagnosis.ts",
3714
+ "exported": true,
3715
+ "module": "@nodefony/core",
3716
+ "description": "Détecte un descripteur produit par une AUTRE instance du module `nodefony`. 🔴 CE QUE CETTE GARDE RATTRAPE, et pourquoi elle ne peut pas être un test. Deux copies du module `nodefony` chargées dans…"
3717
+ },
3718
+ "foreignPackageWarning": {
3719
+ "name": "foreignPackageWarning",
3720
+ "kind": "function",
3721
+ "file": "src/nodefony/src/kernel/bootConfigDiagnosis.ts",
3722
+ "exported": true,
3723
+ "module": "@nodefony/core",
3724
+ "description": "Constat émis quand la configuration de l'application a été résolue par une AUTRE copie du framework — c'est-à-dire quand deux paquets `nodefony` tournent dans ce process, et que la copie fautive es…"
3725
+ },
3726
+ "diagnoseEmptyManifest": {
3727
+ "name": "diagnoseEmptyManifest",
3728
+ "kind": "function",
3729
+ "file": "src/nodefony/src/kernel/bootConfigDiagnosis.ts",
3730
+ "exported": true,
3731
+ "module": "@nodefony/core",
3732
+ "description": "Nomme la cause probable d'un manifeste vide, ou `null` s'il n'y a rien à dire. Ne parle QUE sous profil serveur : une commande console ou un test qui boote sans manifeste est un cas nominal, et une…"
3733
+ },
3678
3734
  "BootConfigurationError": {
3679
3735
  "name": "BootConfigurationError",
3680
3736
  "kind": "class",
@@ -5186,6 +5242,47 @@
5186
5242
  "exported": true,
5187
5243
  "module": "@nodefony/core"
5188
5244
  },
5245
+ "INodefonyPackageInstance": {
5246
+ "name": "INodefonyPackageInstance",
5247
+ "kind": "interface",
5248
+ "file": "src/nodefony/src/runtime/packageInstances.ts",
5249
+ "exported": true,
5250
+ "module": "@nodefony/core",
5251
+ "extends": null,
5252
+ "description": "Une copie du paquet `nodefony` évaluée dans ce process."
5253
+ },
5254
+ "registerPackageInstance": {
5255
+ "name": "registerPackageInstance",
5256
+ "kind": "function",
5257
+ "file": "src/nodefony/src/runtime/packageInstances.ts",
5258
+ "exported": true,
5259
+ "module": "@nodefony/core",
5260
+ "description": "Inscrit la copie courante. Appelé UNE fois, à l'évaluation de `Nodefony.ts`. Idempotent par URL : un même module réévalué (rechargement de test, double import par deux spécificateurs qui résolvent …"
5261
+ },
5262
+ "listPackageInstances": {
5263
+ "name": "listPackageInstances",
5264
+ "kind": "function",
5265
+ "file": "src/nodefony/src/runtime/packageInstances.ts",
5266
+ "exported": true,
5267
+ "module": "@nodefony/core",
5268
+ "description": "Les copies inscrites, dans leur ordre d'évaluation."
5269
+ },
5270
+ "isPackageDuplicated": {
5271
+ "name": "isPackageDuplicated",
5272
+ "kind": "function",
5273
+ "file": "src/nodefony/src/runtime/packageInstances.ts",
5274
+ "exported": true,
5275
+ "module": "@nodefony/core",
5276
+ "description": "Y a-t-il plus d'une copie du paquet dans ce process ?"
5277
+ },
5278
+ "packageDualityReport": {
5279
+ "name": "packageDualityReport",
5280
+ "kind": "function",
5281
+ "file": "src/nodefony/src/runtime/packageInstances.ts",
5282
+ "exported": true,
5283
+ "module": "@nodefony/core",
5284
+ "description": "Texte destiné à un humain décrivant la dualité constatée — les chemins des copies d'abord, parce que c'est la seule information qui permette d'agir. Le geste proposé n'est pas décoratif : sans lui,…"
5285
+ },
5189
5286
  "FacetCount": {
5190
5287
  "name": "FacetCount",
5191
5288
  "kind": "type",
@@ -5459,6 +5556,30 @@
5459
5556
  "extends": null,
5460
5557
  "description": "Per-request state propagated transparently across the async pipeline. Set by HttpKernel at request entry (`handleHttp` / `handleWebsocket`) and accessible from any downstream service (logs, ORM, se…"
5461
5558
  },
5559
+ "composeUuidV7": {
5560
+ "name": "composeUuidV7",
5561
+ "kind": "function",
5562
+ "file": "src/nodefony/src/runtime/uuidV7.ts",
5563
+ "exported": true,
5564
+ "module": "@nodefony/core",
5565
+ "description": "Compose un UUID v7 conforme à la RFC 9562 §5.7. Disposition des 128 bits : 48 bits d'horodatage Unix en millisecondes (gros-boutiste), 4 bits de version (`7`), 12 bits aléatoires, 2 bits de variant…"
5566
+ },
5567
+ "randomUuidV7": {
5568
+ "name": "randomUuidV7",
5569
+ "kind": "function",
5570
+ "file": "src/nodefony/src/runtime/uuidV7.ts",
5571
+ "exported": true,
5572
+ "module": "@nodefony/core",
5573
+ "description": "Un UUID v7 — natif si ce Node sait le faire, composé ici sinon."
5574
+ },
5575
+ "usesNativeUuidV7": {
5576
+ "name": "usesNativeUuidV7",
5577
+ "kind": "function",
5578
+ "file": "src/nodefony/src/runtime/uuidV7.ts",
5579
+ "exported": true,
5580
+ "module": "@nodefony/core",
5581
+ "description": "Cette exécution emploie-t-elle l'implémentation de Node ? Exposé pour que le banc puisse le CONSTATER au lieu de le déduire d'un numéro de version — une capacité se constate, elle ne se déduit pas."
5582
+ },
5462
5583
  "TimeoutError": {
5463
5584
  "name": "TimeoutError",
5464
5585
  "kind": "class",
@@ -6222,6 +6343,108 @@
6222
6343
  "module": "@nodefony/redis",
6223
6344
  "description": "Enregistre les fabriques de stores Redis dans les registres de `@nodefony/security`. Idempotent (guards) — rejouable sans effet."
6224
6345
  },
6346
+ "IImageCheckRequest": {
6347
+ "name": "IImageCheckRequest",
6348
+ "kind": "interface",
6349
+ "file": "src/nodefony/src/cli/image/index.ts",
6350
+ "exported": true,
6351
+ "module": "@nodefony/core",
6352
+ "extends": null,
6353
+ "description": "Ce que la ligne de commande demande."
6354
+ },
6355
+ "parseImageCheckArgv": {
6356
+ "name": "parseImageCheckArgv",
6357
+ "kind": "function",
6358
+ "file": "src/nodefony/src/cli/image/index.ts",
6359
+ "exported": true,
6360
+ "module": "@nodefony/core",
6361
+ "description": "Parse l'argv après le mot `image:check`."
6362
+ },
6363
+ "runImageCheckCommand": {
6364
+ "name": "runImageCheckCommand",
6365
+ "kind": "function",
6366
+ "file": "src/nodefony/src/cli/image/index.ts",
6367
+ "exported": true,
6368
+ "module": "@nodefony/core",
6369
+ "description": "Rend le verdict sur une image, ou sur l'inventaire de ses chemins. 🔴 **Un contrôle qui n'a pas pu regarder n'est pas un contrôle favorable.** Il rend `EX_UNAVAILABLE` (69), et non 0 : un appelant …"
6370
+ },
6371
+ "detectSuspectFiles": {
6372
+ "name": "detectSuspectFiles",
6373
+ "kind": "function",
6374
+ "file": "src/nodefony/src/cli/image/suspectFiles.ts",
6375
+ "exported": true,
6376
+ "module": "@nodefony/core",
6377
+ "description": "**Ce qui n'a rien à faire dans un artefact publié** — tarball npm ou image de conteneur. La règle porte sur des NOMS, et c'est délibéré : ce n'est pas un scanner de secrets par contenu (c'est le mé…"
6378
+ },
6379
+ "detectSuspectImageFiles": {
6380
+ "name": "detectSuspectImageFiles",
6381
+ "kind": "function",
6382
+ "file": "src/nodefony/src/cli/image/suspectFiles.ts",
6383
+ "exported": true,
6384
+ "module": "@nodefony/core",
6385
+ "description": "La MÊME règle, appliquée à l'inventaire d'une image de conteneur. L'image publiée était le seul artefact que rien ne regardait : la `10.0.0-alpha.4` embarquait `nodefony/config/certificates/server/…"
6386
+ },
6387
+ "BlindCheckError": {
6388
+ "name": "BlindCheckError",
6389
+ "kind": "class",
6390
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6391
+ "exported": true,
6392
+ "module": "@nodefony/core",
6393
+ "extends": "Error",
6394
+ "implements": [],
6395
+ "decorators": [],
6396
+ "description": "Le contrôle n'a pas pu regarder — distinct d'un verdict défavorable. Un appelant qui confond les deux publie une image que personne n'a vue : le code de sortie qui en découle doit donc être non nul…"
6397
+ },
6398
+ "IImageContents": {
6399
+ "name": "IImageContents",
6400
+ "kind": "interface",
6401
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6402
+ "exported": true,
6403
+ "module": "@nodefony/core",
6404
+ "extends": null,
6405
+ "description": "Ce qu'une lecture d'image rend : ses chemins, et combien de couches."
6406
+ },
6407
+ "ISavedImage": {
6408
+ "name": "ISavedImage",
6409
+ "kind": "interface",
6410
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6411
+ "exported": true,
6412
+ "module": "@nodefony/core",
6413
+ "extends": null,
6414
+ "description": "Ce qu'un `docker save` laisse derrière lui, à nettoyer par l'appelant."
6415
+ },
6416
+ "readTarHeader": {
6417
+ "name": "readTarHeader",
6418
+ "kind": "function",
6419
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6420
+ "exported": true,
6421
+ "module": "@nodefony/core",
6422
+ "description": "Décode un en-tête tar de 512 octets."
6423
+ },
6424
+ "tarPathsFromStream": {
6425
+ "name": "tarPathsFromStream",
6426
+ "kind": "function",
6427
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6428
+ "exported": true,
6429
+ "module": "@nodefony/core",
6430
+ "description": "Rend tous les chemins d'une archive tar lue en FLUX, mémoire bornée. Gère les trois façons d'écrire un nom long, parce que les couches d'image en sont pleines (`node_modules/…`) : le champ `prefix`…"
6431
+ },
6432
+ "imageContents": {
6433
+ "name": "imageContents",
6434
+ "kind": "function",
6435
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6436
+ "exported": true,
6437
+ "module": "@nodefony/core",
6438
+ "description": "Tous les chemins de toutes les couches d'une image, dédoublonnés."
6439
+ },
6440
+ "saveImage": {
6441
+ "name": "saveImage",
6442
+ "kind": "function",
6443
+ "file": "src/nodefony/src/cli/image/tarLayers.ts",
6444
+ "exported": true,
6445
+ "module": "@nodefony/core",
6446
+ "description": "`docker save` dans un fichier temporaire, supprimé par l'appelant."
6447
+ },
6225
6448
  "ScaffoldDestinationError": {
6226
6449
  "name": "ScaffoldDestinationError",
6227
6450
  "kind": "class",
@@ -6383,6 +6606,14 @@
6383
6606
  "module": "@nodefony/core",
6384
6607
  "description": "Complète et VALIDE des réponses partielles contre la spec d'un type : défauts appliqués, patterns vérifiés, choix contraints à leur liste. Le contexte des templates est donc complet PAR CONSTRUCTIO…"
6385
6608
  },
6609
+ "toNativeRelativePath": {
6610
+ "name": "toNativeRelativePath",
6611
+ "kind": "function",
6612
+ "file": "src/nodefony/src/cli/scaffold/engine.ts",
6613
+ "exported": true,
6614
+ "module": "@nodefony/core",
6615
+ "description": "Un chemin DÉCLARÉ en `/` ramené à la grammaire de la plateforme. Certains chemins du scaffold sont écrits en `/` à leur source, et c'est juste : `.github/copilot-instructions.md` est un nom que la …"
6616
+ },
6386
6617
  "writeAgentPointers": {
6387
6618
  "name": "writeAgentPointers",
6388
6619
  "kind": "function",
@@ -6654,6 +6885,22 @@
6654
6885
  "module": "@nodefony/core",
6655
6886
  "description": "Produit le code des colonnes, de l'interface de ligne et du schéma Zod. Les horodatages sont posés **côté JS** (`$defaultFn`/`$onUpdateFn`) et non en SQL : le DDL dérivé du mode dev n'émet pas les …"
6656
6887
  },
6888
+ "parseRowFieldNames": {
6889
+ "name": "parseRowFieldNames",
6890
+ "kind": "function",
6891
+ "file": "src/nodefony/src/cli/scaffold/entityFields.ts",
6892
+ "exported": true,
6893
+ "module": "@nodefony/core",
6894
+ "description": "Noms des propriétés d'un bloc d'interface de ligne — `id`, les champs, les horodatages : exactement l'ensemble des colonnes que porte la table. Rend `null` dès qu'une ligne n'a pas la forme `nom: t…"
6895
+ },
6896
+ "extractRowBlock": {
6897
+ "name": "extractRowBlock",
6898
+ "kind": "function",
6899
+ "file": "src/nodefony/src/cli/scaffold/entityFields.ts",
6900
+ "exported": true,
6901
+ "module": "@nodefony/core",
6902
+ "description": "Corps de `export interface <Pascal>Row { … }` dans une entité déjà rendue. C'est le MIROIR PLAT des colonnes : le bloc Drizzle, lui, porte des appels imbriqués, des options en objet et des commenta…"
6903
+ },
6657
6904
  "ENTITY_DIALECTS": {
6658
6905
  "name": "ENTITY_DIALECTS",
6659
6906
  "kind": "const",
@@ -6719,6 +6966,54 @@
6719
6966
  "module": "@nodefony/core",
6720
6967
  "description": "Met en forme les écritures en attente, dans la transaction. Appelée par {@link runScaffold} AVANT la bifurcation dry-run / vidage, pour que le plan annoncé et le résultat écrit soient le même texte."
6721
6968
  },
6969
+ "TScaffoldType": {
6970
+ "name": "TScaffoldType",
6971
+ "kind": "type",
6972
+ "file": "src/nodefony/src/cli/scaffold/help.ts",
6973
+ "exported": true,
6974
+ "module": "@nodefony/core",
6975
+ "description": "Les types que `nodefony create` sait engendrer."
6976
+ },
6977
+ "optionsFor": {
6978
+ "name": "optionsFor",
6979
+ "kind": "function",
6980
+ "file": "src/nodefony/src/cli/scaffold/help.ts",
6981
+ "exported": true,
6982
+ "module": "@nodefony/core",
6983
+ "description": "Les options d'un type, DÉRIVÉES de sa spec — jamais recopiées. `name` est écarté : c'est un positionnel (`create app mon-app`), le sujet de la commande et non une option. C'est la seule exemption, …"
6984
+ },
6985
+ "usagePageFor": {
6986
+ "name": "usagePageFor",
6987
+ "kind": "function",
6988
+ "file": "src/nodefony/src/cli/scaffold/help.ts",
6989
+ "exported": true,
6990
+ "module": "@nodefony/core",
6991
+ "description": "La page d'aide d'UN type de scaffold."
6992
+ },
6993
+ "usageCatalog": {
6994
+ "name": "usageCatalog",
6995
+ "kind": "function",
6996
+ "file": "src/nodefony/src/cli/scaffold/help.ts",
6997
+ "exported": true,
6998
+ "module": "@nodefony/core",
6999
+ "description": "Le CATALOGUE — `nodefony create --help`, sans type. Il ne redit PAS les options de chaque type : il nomme les sept, dit ce que chacun produit en une ligne, et renvoie à sa page. Une page catalogue …"
7000
+ },
7001
+ "loadRichPrompts": {
7002
+ "name": "loadRichPrompts",
7003
+ "kind": "function",
7004
+ "file": "src/nodefony/src/cli/scaffold/interactive.ts",
7005
+ "exported": true,
7006
+ "module": "@nodefony/core",
7007
+ "description": "Le rendu RICHE, quand le terminal le permet — sinon `null`, sans un mot. Trois conditions, et chacune a coûté quelque chose ailleurs : 1. **les flux sont ceux du process** — un banc injecte des flu…"
7008
+ },
7009
+ "askRich": {
7010
+ "name": "askRich",
7011
+ "kind": "function",
7012
+ "file": "src/nodefony/src/cli/scaffold/interactive.ts",
7013
+ "exported": true,
7014
+ "module": "@nodefony/core",
7015
+ "description": "Une question rendue par `@inquirer/prompts` — la voie normale d'un terminal. Le DÉFAUT est marqué dans le libellé et non seulement par la position du curseur : une fois qu'on a bougé, plus rien ne …"
7016
+ },
6722
7017
  "confirm": {
6723
7018
  "name": "confirm",
6724
7019
  "kind": "function",
@@ -6785,6 +7080,55 @@
6785
7080
  "exported": true,
6786
7081
  "module": "@nodefony/core"
6787
7082
  },
7083
+ "ISiblingRoute": {
7084
+ "name": "ISiblingRoute",
7085
+ "kind": "interface",
7086
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7087
+ "exported": true,
7088
+ "module": "@nodefony/core",
7089
+ "extends": null,
7090
+ "description": "Une route voisine qu'une garde de controller ne couvre pas."
7091
+ },
7092
+ "declaredRoutePaths": {
7093
+ "name": "declaredRoutePaths",
7094
+ "kind": "function",
7095
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7096
+ "exported": true,
7097
+ "module": "@nodefony/core",
7098
+ "description": "Les chemins de route qu'une source déclare."
7099
+ },
7100
+ "isUnderPrefix": {
7101
+ "name": "isUnderPrefix",
7102
+ "kind": "function",
7103
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7104
+ "exported": true,
7105
+ "module": "@nodefony/core",
7106
+ "description": "`candidate` est-il SOUS `prefix` — au sens des segments, pas des caractères ? La comparaison littérale ferait de `/api/accounts` un enfant de `/api/account`, et le générateur signalerait une route …"
7107
+ },
7108
+ "controllerPrefix": {
7109
+ "name": "controllerPrefix",
7110
+ "kind": "function",
7111
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7112
+ "exported": true,
7113
+ "module": "@nodefony/core",
7114
+ "description": "Le PRÉFIXE d'un controller, tel que `@controller(\"…\")` le déclare. C'est lui, et non les `@route`, qui dit sous quel espace le controller sert : le `path:` d'une action est RELATIF à ce préfixe. Ch…"
7115
+ },
7116
+ "openSiblingRoutes": {
7117
+ "name": "openSiblingRoutes",
7118
+ "kind": "function",
7119
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7120
+ "exported": true,
7121
+ "module": "@nodefony/core",
7122
+ "description": "Les routes d'AUTRES fichiers qui partagent le préfixe, et que la garde ne couvre donc pas. Protéger un controller par un rôle a l'apparence de fermer un espace ; cela ferme un FICHIER. Toute route …"
7123
+ },
7124
+ "ROUTE_PATH_RE": {
7125
+ "name": "ROUTE_PATH_RE",
7126
+ "kind": "const",
7127
+ "file": "src/nodefony/src/cli/scaffold/routePaths.ts",
7128
+ "exported": true,
7129
+ "module": "@nodefony/core",
7130
+ "description": "Les chemins de route DÉCLARÉS dans une source, et leurs voisins de préfixe. Deux outils en ont besoin et n'ont pas la même question : le vérificateur cherche un segment écrit à la mode d'un autre f…"
7131
+ },
6788
7132
  "IScaffoldQuestion": {
6789
7133
  "name": "IScaffoldQuestion",
6790
7134
  "kind": "interface",
@@ -6851,6 +7195,14 @@
6851
7195
  "exported": true,
6852
7196
  "module": "@nodefony/core"
6853
7197
  },
7198
+ "flagFor": {
7199
+ "name": "flagFor",
7200
+ "kind": "function",
7201
+ "file": "src/nodefony/src/cli/scaffold/spec.ts",
7202
+ "exported": true,
7203
+ "module": "@nodefony/core",
7204
+ "description": "Le drapeau de ligne de commande qui sert une question. La convention est `maClé` → `--ma-cle` ; {@link IScaffoldQuestion.flag} la surcharge quand le drapeau dit l'inverse (`--no-timestamps`) ou por…"
7205
+ },
6854
7206
  "getScaffoldSpec": {
6855
7207
  "name": "getScaffoldSpec",
6856
7208
  "kind": "function",
@@ -8842,6 +9194,14 @@
8842
9194
  "module": "@nodefony/core",
8843
9195
  "description": "Les scripts que le manifeste déclare, parmi ceux qu'on sait lancer. On ne lance QUE ce que le projet déclare : inventer une commande qu'il n'a pas (`npx tsc`, par exemple) reviendrait à juger une a…"
8844
9196
  },
9197
+ "verifyChainSteps": {
9198
+ "name": "verifyChainSteps",
9199
+ "kind": "function",
9200
+ "file": "src/nodefony/src/kernel/checks/deep.ts",
9201
+ "exported": true,
9202
+ "module": "@nodefony/core",
9203
+ "description": "Les gardes que le projet DÉCLARE, lues dans sa chaîne `verify`. ## Pourquoi lire le manifeste au lieu d'une liste écrite ici Une liste en dur dérive de ce que le projet garde réellement, et la déri…"
9204
+ },
8845
9205
  "firstUsefulLine": {
8846
9206
  "name": "firstUsefulLine",
8847
9207
  "kind": "function",
@@ -9240,6 +9600,47 @@
9240
9600
  "module": "@nodefony/core",
9241
9601
  "description": "Analyse les paquets et rend les manquements trouvés."
9242
9602
  },
9603
+ "IConfigInconsistency": {
9604
+ "name": "IConfigInconsistency",
9605
+ "kind": "interface",
9606
+ "file": "src/nodefony/src/kernel/checks/projectScope.ts",
9607
+ "exported": true,
9608
+ "module": "@nodefony/core",
9609
+ "extends": null,
9610
+ "description": "Une valeur effective que l'état du projet contredit."
9611
+ },
9612
+ "wiringTargets": {
9613
+ "name": "wiringTargets",
9614
+ "kind": "function",
9615
+ "file": "src/nodefony/src/kernel/checks/projectScope.ts",
9616
+ "exported": true,
9617
+ "module": "@nodefony/core",
9618
+ "description": "Cibles du contrôle de câblage : l'application elle-même, et chaque module. Ce n'est pas la même liste que celle des paquets : un contrôle de dépendances s'intéresse à ce qui porte un `package.json`…"
9619
+ },
9620
+ "appEnvironment": {
9621
+ "name": "appEnvironment",
9622
+ "kind": "function",
9623
+ "file": "src/nodefony/src/kernel/checks/projectScope.ts",
9624
+ "exported": true,
9625
+ "module": "@nodefony/core",
9626
+ "description": "L'environnement que l'APPLICATION verrait, depuis ce poste. `process.env` ne porte que ce que le terminal a posé ; l'application, elle, lit d'abord sa cascade `.env*`. Un diagnostic qui l'ignore ac…"
9627
+ },
9628
+ "declaredDialectExceptions": {
9629
+ "name": "declaredDialectExceptions",
9630
+ "kind": "function",
9631
+ "file": "src/nodefony/src/kernel/checks/projectScope.ts",
9632
+ "exported": true,
9633
+ "module": "@nodefony/core",
9634
+ "description": "Les divergences de dialecte que le projet ASSUME, déclarées dans son `package.json` (`nodefony.doctor.entityDialect`). Elles se lisent ici parce que tout appelant doit les respecter : avertir là où…"
9635
+ },
9636
+ "configInconsistencies": {
9637
+ "name": "configInconsistencies",
9638
+ "kind": "function",
9639
+ "file": "src/nodefony/src/kernel/checks/projectScope.ts",
9640
+ "exported": true,
9641
+ "module": "@nodefony/core",
9642
+ "description": "Les valeurs effectives que l'état du projet contredit. Une variable peut être posée au bon endroit, avec la bonne provenance, et rendre l'application inexploitable. Le cas mesuré : `NF_DATABASE_URL…"
9643
+ },
9243
9644
  "IReadinessFinding": {
9244
9645
  "name": "IReadinessFinding",
9245
9646
  "kind": "interface",
@@ -9326,6 +9727,22 @@
9326
9727
  "module": "@nodefony/core",
9327
9728
  "description": "Un bilan de démarrage mérite d'être rapporté quand il porte une MAUVAISE nouvelle. Un démarrage abouti, complet et sans brique manquante ne se commente pas : l'afficher à chaque contrôle serait du …"
9328
9729
  },
9730
+ "supersededByCurrentChecks": {
9731
+ "name": "supersededByCurrentChecks",
9732
+ "kind": "function",
9733
+ "file": "src/nodefony/src/kernel/checks/renderReport.ts",
9734
+ "exported": true,
9735
+ "module": "@nodefony/core",
9736
+ "description": "Ce bilan est-il CONTREDIT par les contrôles de ce même rapport ? Le cas vécu tient en un écran : le générateur écrit la migration initiale ET l'applique, mais le bilan figé au démarrage de `orm:mig…"
9737
+ },
9738
+ "reportIsClear": {
9739
+ "name": "reportIsClear",
9740
+ "kind": "function",
9741
+ "file": "src/nodefony/src/kernel/checks/renderReport.ts",
9742
+ "exported": true,
9743
+ "module": "@nodefony/core",
9744
+ "description": "Le rapport dit-il « rien à signaler » — VRAIMENT ? 🔴 Zéro manquement ne suffit pas : hors d'une application, toutes les familles sont sautées et le compte est zéro lui aussi. Le bandeau connaît la…"
9745
+ },
9329
9746
  "groupByReason": {
9330
9747
  "name": "groupByReason",
9331
9748
  "kind": "function",
@@ -9418,7 +9835,7 @@
9418
9835
  "file": "src/nodefony/src/kernel/checks/report.ts",
9419
9836
  "exported": true,
9420
9837
  "module": "@nodefony/core",
9421
- "description": "Le verdict d'une famille de contrôles, tel qu'il s'affiche."
9838
+ "description": "Le verdict d'une famille de contrôles, tel qu'il s'affiche. `\"information\"` n'est PAS un demi-avertissement : c'est un constat qui ne demande aucun geste — typiquement un fait d'exécution que les c…"
9422
9839
  },
9423
9840
  "DoctorFamily": {
9424
9841
  "name": "DoctorFamily",
@@ -9987,6 +10404,22 @@
9987
10404
  "module": "@nodefony/core",
9988
10405
  "extends": null
9989
10406
  },
10407
+ "requiredColumns": {
10408
+ "name": "requiredColumns",
10409
+ "kind": "function",
10410
+ "file": "src/nodefony/src/kernel/checks/wiring.ts",
10411
+ "exported": true,
10412
+ "module": "@nodefony/core",
10413
+ "description": "Les colonnes qu'une entité rend OBLIGATOIRES sans leur donner de défaut. Une colonne `notNull()` sans `default`/`$defaultFn` n'accepte rien d'absent : si le contrat d'entrée la laisse facultative, …"
10414
+ },
10415
+ "optionalInputFields": {
10416
+ "name": "optionalInputFields",
10417
+ "kind": "function",
10418
+ "file": "src/nodefony/src/kernel/checks/wiring.ts",
10419
+ "exported": true,
10420
+ "module": "@nodefony/core",
10421
+ "description": "Les champs qu'un contrat de CRÉATION déclare facultatifs. Le schéma de mise à jour est volontairement ignoré : un `.partial()` rend tout facultatif, et c'est son rôle — une modification ne renvoie …"
10422
+ },
9990
10423
  "checkWiring": {
9991
10424
  "name": "checkWiring",
9992
10425
  "kind": "function",
@@ -10124,6 +10557,17 @@
10124
10557
  "decorators": [],
10125
10558
  "description": "Commande `nodefony git:hooks` — hooks git natifs (`core.hooksPath`), zéro dépendance. **Exécutée en « standalone » (zéro boot).** L'enregistrement ici sert au help (`nodefony --help`) et à la compl…"
10126
10559
  },
10560
+ "Image": {
10561
+ "name": "Image",
10562
+ "kind": "class",
10563
+ "file": "src/nodefony/src/kernel/commands/ImageCommand.ts",
10564
+ "exported": true,
10565
+ "module": "@nodefony/core",
10566
+ "extends": "Command",
10567
+ "implements": [],
10568
+ "decorators": [],
10569
+ "description": "Commande `nodefony image:check` — refuse une image qui embarque un secret. **Exécutée en « standalone » (zéro boot)**, comme `doctor`, `env` et `symbols` : l'enregistrement ici sert au help. Elle l…"
10570
+ },
10127
10571
  "Inspect": {
10128
10572
  "name": "Inspect",
10129
10573
  "kind": "class",
@@ -10916,6 +11360,14 @@
10916
11360
  "module": "@nodefony/core",
10917
11361
  "description": "Tableau ANSI des zones firewall (ZONE/MODULE/PATTERN/AUTH/ACCÈS) — même gabarit que le tableau process du bilan (`renderProcessTable`). MODULE = qui déclare l'aire (`framework` pour le data plane `…"
10918
11362
  },
11363
+ "renderPendingLines": {
11364
+ "name": "renderPendingLines",
11365
+ "kind": "function",
11366
+ "file": "src/nodefony/src/service/dev/BootReporter.ts",
11367
+ "exported": true,
11368
+ "module": "@nodefony/core",
11369
+ "description": "Compose le bloc « Attente » du bilan : ce qui n'est PAS prêt, nommé, avec le geste qui le lèverait. 🔴 Le silence ici a déjà coûté une base de développement. Un schéma en retard produit un WARNING …"
11370
+ },
10919
11371
  "IReadinessProbe": {
10920
11372
  "name": "IReadinessProbe",
10921
11373
  "kind": "interface",
@@ -11093,6 +11545,24 @@
11093
11545
  "extends": null,
11094
11546
  "description": "Ce que le serveur publie sur lui-même une fois ses serveurs en écoute."
11095
11547
  },
11548
+ "PortShift": {
11549
+ "name": "PortShift",
11550
+ "kind": "interface",
11551
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
11552
+ "exported": true,
11553
+ "module": "@nodefony/core",
11554
+ "extends": null,
11555
+ "description": "Un décalage de ports CONSTATÉ : ce que la config demandait, ce qui sert."
11556
+ },
11557
+ "ReadyAnnouncement": {
11558
+ "name": "ReadyAnnouncement",
11559
+ "kind": "interface",
11560
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
11561
+ "exported": true,
11562
+ "module": "@nodefony/core",
11563
+ "extends": null,
11564
+ "description": "Ce qu'un démarrage annonce de l'endroit où il sert."
11565
+ },
11096
11566
  "SupervisorLock": {
11097
11567
  "name": "SupervisorLock",
11098
11568
  "kind": "interface",
@@ -11244,6 +11714,30 @@
11244
11714
  "module": "@nodefony/core",
11245
11715
  "description": "Lit qui retient la mise en service, ou `null`. **Un fichier dont le process est MORT est ignoré** : sinon `status` nommerait le contributeur d'un serveur d'hier, ce qui est pire que de ne rien nomm…"
11246
11716
  },
11717
+ "servedUrl": {
11718
+ "name": "servedUrl",
11719
+ "kind": "function",
11720
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
11721
+ "exported": true,
11722
+ "module": "@nodefony/core",
11723
+ "description": "L'adresse où TAPER pour atteindre un serveur qui écoute sur `host:port`. Une adresse d'écoute et une adresse de client sont deux choses : `0.0.0.0` et `::` disent « toutes les interfaces », ce qu'a…"
11724
+ },
11725
+ "detectPortShift": {
11726
+ "name": "detectPortShift",
11727
+ "kind": "function",
11728
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
11729
+ "exported": true,
11730
+ "module": "@nodefony/core",
11731
+ "description": "Le décalage de ports d'un runtime, ou `null` s'il sert bien ce qu'on lui a demandé. `servers.portPolicy: \"auto\"` (défaut en développement) fait glisser l'écoute au prochain port libre quand le port…"
11732
+ },
11733
+ "readyAnnouncement": {
11734
+ "name": "readyAnnouncement",
11735
+ "kind": "function",
11736
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
11737
+ "exported": true,
11738
+ "module": "@nodefony/core",
11739
+ "description": "Ce qu'un démarrage doit DIRE de l'endroit où il sert. Un serveur qui démarre sans dire son adresse laisse interroger celle qu'on croyait — c'est-à-dire, quand le port a glissé, l'application VOISIN…"
11740
+ },
11247
11741
  "writeRuntimeState": {
11248
11742
  "name": "writeRuntimeState",
11249
11743
  "kind": "function",
@@ -16793,7 +17287,7 @@
16793
17287
  "file": "src/packages/@nodefony/frontend/nodefony/service/ViteProcessSupervisor.ts",
16794
17288
  "exported": true,
16795
17289
  "module": "@nodefony/frontend",
16796
- "description": "Un texte (message d'erreur OU sortie brute de Vite) dénonce-t-il un port occupé ? **Source UNIQUE** de cette décision. Elle était dupliquée en deux regex qui ont divergé : l'une cherchait `port X i…"
17290
+ "description": "Un texte (message d'erreur OU sortie brute de Vite) dénonce-t-il un conflit de port FATAL — c'est-à-dire un port que vite n'a PAS pu prendre ? **Source UNIQUE** de cette décision. Elle était dupliq…"
16797
17291
  },
16798
17292
  "startupTimeoutMessage": {
16799
17293
  "name": "startupTimeoutMessage",
@@ -21224,6 +21718,15 @@
21224
21718
  "extends": null,
21225
21719
  "description": "Contrat de **liste de blocage de mots de passe compromis** (NIST SP 800-63B §5.1.1.2) — consulté à la CRÉATION et au CHANGEMENT de mot de passe, jamais au login (le hash stocké ne permet plus de ju…"
21226
21720
  },
21721
+ "IPasswordSubjectHint": {
21722
+ "name": "IPasswordSubjectHint",
21723
+ "kind": "interface",
21724
+ "file": "src/packages/@nodefony/user/nodefony/contracts/IPasswordBlocklist.ts",
21725
+ "exported": true,
21726
+ "module": "@nodefony/user",
21727
+ "extends": null,
21728
+ "description": "Ce qu'un appelant peut dire du compte visé — tout est optionnel."
21729
+ },
21227
21730
  "IPasswordEncoder": {
21228
21731
  "name": "IPasswordEncoder",
21229
21732
  "kind": "interface",
@@ -22059,6 +22562,22 @@
22059
22562
  "module": "@nodefony/drizzle",
22060
22563
  "description": "Ce qu'une migration s'apprête à DÉTRUIRE — constaté avant d'appliquer. ## Pourquoi ce garde existe, alors qu'aucun outil de migration n'en a La question posée était : « faut-il sauvegarder la base …"
22061
22564
  },
22565
+ "rebuiltTables": {
22566
+ "name": "rebuiltTables",
22567
+ "kind": "function",
22568
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/destructive.ts",
22569
+ "exported": true,
22570
+ "module": "@nodefony/drizzle",
22571
+ "description": "Les tables qu'une migration RECONSTRUIT, par la ronde que SQLite impose. 🔴 **La convention de nommage n'est PAS la règle.** La version précédente cherchait le préfixe `__new_` que produit l'outil …"
22572
+ },
22573
+ "droppedTables": {
22574
+ "name": "droppedTables",
22575
+ "kind": "function",
22576
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/destructive.ts",
22577
+ "exported": true,
22578
+ "module": "@nodefony/drizzle",
22579
+ "description": "Les tables qu'un SQL SUPPRIME, dans l'ordre où il les nomme. Exportée pour que l'audit de génération et celui d'application lisent la MÊME chose : deux extractions écrites séparément divergeraient,…"
22580
+ },
22062
22581
  "scanDestructive": {
22063
22582
  "name": "scanDestructive",
22064
22583
  "kind": "function",
@@ -22429,6 +22948,47 @@
22429
22948
  "module": "@nodefony/drizzle",
22430
22949
  "description": "Étapes d'amorçage postérieures au format d'origine. **Vide dans cette version** — l'étape 0 est le `CREATE` lui-même. Ce tableau est le point d'extension : ajouter une colonne à l'historique, aujou…"
22431
22950
  },
22951
+ "IIdentityTable": {
22952
+ "name": "IIdentityTable",
22953
+ "kind": "interface",
22954
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/identityTables.ts",
22955
+ "exported": true,
22956
+ "module": "@nodefony/drizzle",
22957
+ "extends": null,
22958
+ "description": "Tables dont la perte n'est PAS rattrapable — et le seuil à partir duquel elle ne l'est plus. ## Pourquoi une liste, et pas « toutes les tables » Vider une base de développement est un geste normal …"
22959
+ },
22960
+ "IIdentityTableFound": {
22961
+ "name": "IIdentityTableFound",
22962
+ "kind": "interface",
22963
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/identityTables.ts",
22964
+ "exported": true,
22965
+ "module": "@nodefony/drizzle",
22966
+ "extends": null,
22967
+ "description": "Une table d'identité trouvée en base, avec son nom RÉEL et son seuil."
22968
+ },
22969
+ "identityTablesAmong": {
22970
+ "name": "identityTablesAmong",
22971
+ "kind": "function",
22972
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/identityTables.ts",
22973
+ "exported": true,
22974
+ "module": "@nodefony/drizzle",
22975
+ "description": "Les tables d'identité PRÉSENTES parmi celles qu'on s'apprête à supprimer. La comparaison ignore la casse : sqlite conserve `User` tel quel, d'autres moteurs replient en minuscules, et une garde sen…"
22976
+ },
22977
+ "rowsWorthKeeping": {
22978
+ "name": "rowsWorthKeeping",
22979
+ "kind": "function",
22980
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/identityTables.ts",
22981
+ "exported": true,
22982
+ "module": "@nodefony/drizzle",
22983
+ "description": "Y a-t-il quelque chose à PERDRE dans cette table ?"
22984
+ },
22985
+ "IDENTITY_TABLES": {
22986
+ "name": "IDENTITY_TABLES",
22987
+ "kind": "const",
22988
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/identityTables.ts",
22989
+ "exported": true,
22990
+ "module": "@nodefony/drizzle"
22991
+ },
22432
22992
  "IAuditRule": {
22433
22993
  "name": "IAuditRule",
22434
22994
  "kind": "interface",
@@ -22583,6 +23143,23 @@
22583
23143
  "module": "@nodefony/drizzle",
22584
23144
  "description": "Rang de la source application : dernière appliquée, toujours. Les entités d'une application peuvent référencer les tables du framework et celles des modules ; l'inverse n'arrive jamais."
22585
23145
  },
23146
+ "IRebuildCopyRepair": {
23147
+ "name": "IRebuildCopyRepair",
23148
+ "kind": "interface",
23149
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/rebuildCopy.ts",
23150
+ "exported": true,
23151
+ "module": "@nodefony/drizzle",
23152
+ "extends": null,
23153
+ "description": "Ce que la réparation a changé, pour pouvoir le DIRE plutôt que le taire."
23154
+ },
23155
+ "repairRebuildCopy": {
23156
+ "name": "repairRebuildCopy",
23157
+ "kind": "function",
23158
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/rebuildCopy.ts",
23159
+ "exported": true,
23160
+ "module": "@nodefony/drizzle",
23161
+ "description": "Retire de la recopie les colonnes que la table de départ ne porte pas."
23162
+ },
22586
23163
  "MigrationToolError": {
22587
23164
  "name": "MigrationToolError",
22588
23165
  "kind": "class",
@@ -22637,6 +23214,38 @@
22637
23214
  "module": "@nodefony/drizzle",
22638
23215
  "description": "L'outil qui ÉCRIT les migrations n'est pas installé. Refus À PART, et c'est tout son intérêt : sans lui, cette cause tombait dans le fourre-tout des commandes de migration, qui habille toute except…"
22639
23216
  },
23217
+ "formatToolOutput": {
23218
+ "name": "formatToolOutput",
23219
+ "kind": "function",
23220
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts",
23221
+ "exported": true,
23222
+ "module": "@nodefony/drizzle",
23223
+ "description": "Sortie d'un outil tiers, prête à être citée dans une explication. Elle est indentée pour se distinguer de la prose qui l'entoure, et BORNÉE par la fin : une pile d'appels se termine par ce qui a ca…"
23224
+ },
23225
+ "generationNeedsAnswer": {
23226
+ "name": "generationNeedsAnswer",
23227
+ "kind": "function",
23228
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts",
23229
+ "exported": true,
23230
+ "module": "@nodefony/drizzle",
23231
+ "description": "L'outil de génération pose une QUESTION, et aucun terminal n'y répond. C'est le cas d'une colonne qui disparaît pendant qu'une autre apparaît : renommage (les données suivent) ou suppression puis a…"
23232
+ },
23233
+ "generationFailed": {
23234
+ "name": "generationFailed",
23235
+ "kind": "function",
23236
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts",
23237
+ "exported": true,
23238
+ "module": "@nodefony/drizzle",
23239
+ "description": "L'outil de génération s'est arrêté, et ce qu'il a dit est remonté TEL QUEL. 🔴 Ne JAMAIS remplacer sa sortie par une hypothèse. Le fourre-tout des commandes de migration explique tout par une base …"
23240
+ },
23241
+ "introspectFailed": {
23242
+ "name": "introspectFailed",
23243
+ "kind": "function",
23244
+ "file": "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts",
23245
+ "exported": true,
23246
+ "module": "@nodefony/drizzle",
23247
+ "description": "La lecture du schéma d'une base existante a échoué. Contrairement à la génération, celle-ci INTERROGE la base : une base muette ou des droits insuffisants sont ici des explications légitimes."
23248
+ },
22640
23249
  "moduleAbsent": {
22641
23250
  "name": "moduleAbsent",
22642
23251
  "kind": "function",
@@ -24113,6 +24722,14 @@
24113
24722
  "module": "@nodefony/http",
24114
24723
  "description": "Que faire si le port désiré est occupé."
24115
24724
  },
24725
+ "PortListeningProbe": {
24726
+ "name": "PortListeningProbe",
24727
+ "kind": "type",
24728
+ "file": "src/packages/@nodefony/http/nodefony/src/servers/portBinder.ts",
24729
+ "exported": true,
24730
+ "module": "@nodefony/http",
24731
+ "description": "Sonde « un serveur répond-il déjà ici ? ». Injectable pour que le banc éprouve la DÉCISION sans dépendre d'un décor réseau ; le défaut est `isPortListening`, exposé par le cœur pour ne pas être rec…"
24732
+ },
24116
24733
  "resolvePortPolicy": {
24117
24734
  "name": "resolvePortPolicy",
24118
24735
  "kind": "function",
@@ -24129,6 +24746,22 @@
24129
24746
  "module": "@nodefony/http",
24130
24747
  "description": "Compose le plan de bind d'un serveur depuis la config du kernel — source UNIQUE (les deux serveurs l'appellent ; la politique n'est décidée qu'ici)."
24131
24748
  },
24749
+ "conflictProbeTargets": {
24750
+ "name": "conflictProbeTargets",
24751
+ "kind": "function",
24752
+ "file": "src/packages/@nodefony/http/nodefony/src/servers/portBinder.ts",
24753
+ "exported": true,
24754
+ "module": "@nodefony/http",
24755
+ "description": "Adresses à interroger pour savoir si notre future liaison chevauche déjà un serveur vivant. La règle est celle du TRAFIC, pas celle du noyau : on sonde ce que notre liaison va RECEVOIR. - Écouter s…"
24756
+ },
24757
+ "detectPortConflict": {
24758
+ "name": "detectPortConflict",
24759
+ "kind": "function",
24760
+ "file": "src/packages/@nodefony/http/nodefony/src/servers/portBinder.ts",
24761
+ "exported": true,
24762
+ "module": "@nodefony/http",
24763
+ "description": "Première adresse où un serveur répond DÉJÀ sur ce port, `null` si la voie est libre."
24764
+ },
24132
24765
  "bindWithFallback": {
24133
24766
  "name": "bindWithFallback",
24134
24767
  "kind": "function",
@@ -24166,6 +24799,23 @@
24166
24799
  "module": "@nodefony/http",
24167
24800
  "description": "Options d'une session (sous-ensemble de `module.options.session`). Cookie-only : plus de `use_trans_sid`/`use_only_cookies` — un identifiant de session ne voyage JAMAIS dans l'URL (OWASP Session Ma…"
24168
24801
  },
24802
+ "ISessionStoreFailure": {
24803
+ "name": "ISessionStoreFailure",
24804
+ "kind": "interface",
24805
+ "file": "src/packages/@nodefony/http/nodefony/src/session/sessionStoreFailure.ts",
24806
+ "exported": true,
24807
+ "module": "@nodefony/http",
24808
+ "extends": null,
24809
+ "description": "Ce qu'on répond quand le stockage de session est inutilisable. Une requête doit TOUJOURS recevoir une réponse. La sauvegarde de session a lieu juste avant l'écriture des en-têtes : une exception qu…"
24810
+ },
24811
+ "describeSessionStoreFailure": {
24812
+ "name": "describeSessionStoreFailure",
24813
+ "kind": "function",
24814
+ "file": "src/packages/@nodefony/http/nodefony/src/session/sessionStoreFailure.ts",
24815
+ "exported": true,
24816
+ "module": "@nodefony/http",
24817
+ "description": "Compose la réponse et le journal d'une panne du stockage de session."
24818
+ },
24169
24819
  "MongooseOrm": {
24170
24820
  "name": "MongooseOrm",
24171
24821
  "kind": "class",
@@ -26922,6 +27572,77 @@
26922
27572
  "decorators": [],
26923
27573
  "description": "Encodeur composite de **migration d'algorithme** — accepte les hashs legacy à la vérification, ne produit que des hashs au format courant. Une base existante (ex. bcrypt) ne peut pas être convertie…"
26924
27574
  },
27575
+ "COMMON_PASSWORD_HASHES_BASE64": {
27576
+ "name": "COMMON_PASSWORD_HASHES_BASE64",
27577
+ "kind": "const",
27578
+ "file": "src/packages/@nodefony/user/nodefony/src/password/commonPasswordHashes.ts",
27579
+ "exported": true,
27580
+ "module": "@nodefony/user",
27581
+ "description": "Empreintes des mots de passe les plus courants — **fichier GÉNÉRÉ, ne pas éditer**. Regénérer : `node scripts/generate-password-blocklist.mjs <fichier-source>` Contenu : les 4 premiers octets du SH…"
27582
+ },
27583
+ "COMMON_PASSWORD_HASH_COUNT": {
27584
+ "name": "COMMON_PASSWORD_HASH_COUNT",
27585
+ "kind": "const",
27586
+ "file": "src/packages/@nodefony/user/nodefony/src/password/commonPasswordHashes.ts",
27587
+ "exported": true,
27588
+ "module": "@nodefony/user",
27589
+ "description": "Nombre d'empreintes — sert de contrôle au décodage."
27590
+ },
27591
+ "truncatedPasswordHash": {
27592
+ "name": "truncatedPasswordHash",
27593
+ "kind": "function",
27594
+ "file": "src/packages/@nodefony/user/nodefony/src/password/passwordHash.ts",
27595
+ "exported": true,
27596
+ "module": "@nodefony/user",
27597
+ "description": "Les 4 premiers octets du SHA-1, en entier non signé."
27598
+ },
27599
+ "PasswordPolicy": {
27600
+ "name": "PasswordPolicy",
27601
+ "kind": "class",
27602
+ "file": "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts",
27603
+ "exported": true,
27604
+ "module": "@nodefony/user",
27605
+ "extends": null,
27606
+ "implements": [
27607
+ "IPasswordBlocklist"
27608
+ ],
27609
+ "decorators": [],
27610
+ "description": "Politique par défaut : six règles, de la moins chère à la plus chère. Implémente {@link IPasswordBlocklist} — donc remplaçable par l'application, et composable (une implémentation maison peut l'app…"
27611
+ },
27612
+ "IPasswordPolicyOptions": {
27613
+ "name": "IPasswordPolicyOptions",
27614
+ "kind": "interface",
27615
+ "file": "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts",
27616
+ "exported": true,
27617
+ "module": "@nodefony/user",
27618
+ "extends": null,
27619
+ "description": "Réglages d'une politique — tout est optionnel, les défauts sont sains."
27620
+ },
27621
+ "DEFAULT_PASSWORD_POLICY": {
27622
+ "name": "DEFAULT_PASSWORD_POLICY",
27623
+ "kind": "const",
27624
+ "file": "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts",
27625
+ "exported": true,
27626
+ "module": "@nodefony/user",
27627
+ "description": "Défauts de la politique — source unique, relue par les tests."
27628
+ },
27629
+ "ISeedFailureContext": {
27630
+ "name": "ISeedFailureContext",
27631
+ "kind": "interface",
27632
+ "file": "src/packages/@nodefony/user/nodefony/src/password/seedFailure.ts",
27633
+ "exported": true,
27634
+ "module": "@nodefony/user",
27635
+ "extends": null,
27636
+ "description": "Le message d'un **semis de compte qui a échoué** — celui que l'erreur, seule, ne peut pas écrire. Le problème est un partage d'information, pas un défaut de code. {@link WeakPasswordError} nomme la…"
27637
+ },
27638
+ "describeSeedFailure": {
27639
+ "name": "describeSeedFailure",
27640
+ "kind": "function",
27641
+ "file": "src/packages/@nodefony/user/nodefony/src/password/seedFailure.ts",
27642
+ "exported": true,
27643
+ "module": "@nodefony/user",
27644
+ "description": "Rédige le message d'un semis raté : QUEL compte, QUELLE règle, QUEL geste. Les trois sont indissociables. Un message qui nomme la règle sans le compte laisse chercher lequel ; un message qui nomme …"
27645
+ },
26925
27646
  "IMigrationTarget": {
26926
27647
  "name": "IMigrationTarget",
26927
27648
  "kind": "interface",
@@ -27492,6 +28213,7 @@
27492
28213
  "BootConfigurationError",
27493
28214
  "RpcError",
27494
28215
  "TimeoutError",
28216
+ "BlindCheckError",
27495
28217
  "ScaffoldDestinationError",
27496
28218
  "EntityFieldError",
27497
28219
  "AgentError",
@@ -27619,6 +28341,7 @@
27619
28341
  "Check",
27620
28342
  "Env",
27621
28343
  "GitHooks",
28344
+ "Image",
27622
28345
  "Inspect",
27623
28346
  "Install",
27624
28347
  "Licenses",
@@ -28090,6 +28813,9 @@
28090
28813
  "BcryptEncoder",
28091
28814
  "MigratingEncoder"
28092
28815
  ],
28816
+ "IPasswordBlocklist": [
28817
+ "PasswordPolicy"
28818
+ ],
28093
28819
  "IMigrationDriver": [
28094
28820
  "MysqlMigrationDriver",
28095
28821
  "PostgresMigrationDriver",
@@ -28222,6 +28948,7 @@
28222
28948
  "src/nodefony/src/kernel/commands/DoctorCommand.ts",
28223
28949
  "src/nodefony/src/kernel/commands/EnvCommand.ts",
28224
28950
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
28951
+ "src/nodefony/src/kernel/commands/ImageCommand.ts",
28225
28952
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
28226
28953
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
28227
28954
  "src/nodefony/src/kernel/commands/LicensesCommand.ts",
@@ -28701,6 +29428,12 @@
28701
29428
  "src/nodefony/src/Event.ts",
28702
29429
  "src/nodefony/src/service/dev/DevSupervisor.ts"
28703
29430
  ],
29431
+ "randomUuidV7": [
29432
+ "src/nodefony/src/Nodefony.ts"
29433
+ ],
29434
+ "registerPackageInstance": [
29435
+ "src/nodefony/src/Nodefony.ts"
29436
+ ],
28704
29437
  "IService": [
28705
29438
  "src/nodefony/src/Service.ts",
28706
29439
  "src/nodefony/src/types/IKernel.ts",
@@ -28724,6 +29457,10 @@
28724
29457
  "src/nodefony/src/types/IContainer.ts",
28725
29458
  "src/nodefony/src/types/IService.ts"
28726
29459
  ],
29460
+ "isPackageDuplicated": [
29461
+ "src/nodefony/src/Service.ts",
29462
+ "src/nodefony/src/kernel/Kernel.ts"
29463
+ ],
28727
29464
  "EventDefaultInterface": [
28728
29465
  "src/nodefony/src/Service.ts",
28729
29466
  "src/nodefony/src/types/IService.ts"
@@ -30288,6 +31025,9 @@
30288
31025
  "resolveLocalCli": [
30289
31026
  "src/nodefony/src/bin/nodefony.ts"
30290
31027
  ],
31028
+ "alignArgvWithDelegate": [
31029
+ "src/nodefony/src/bin/nodefony.ts"
31030
+ ],
30291
31031
  "DEBUG_ENV": [
30292
31032
  "src/nodefony/src/bin/nodefony.ts"
30293
31033
  ],
@@ -30350,6 +31090,7 @@
30350
31090
  "src/nodefony/src/cli/env.ts",
30351
31091
  "src/nodefony/src/cli/gitHooks.ts",
30352
31092
  "src/nodefony/src/cli/symbols.ts",
31093
+ "src/nodefony/src/cli/image/index.ts",
30353
31094
  "src/nodefony/src/service/dev/devStatusReport.ts"
30354
31095
  ],
30355
31096
  "printUsageError": [
@@ -30360,7 +31101,8 @@
30360
31101
  "src/nodefony/src/cli/create.ts",
30361
31102
  "src/nodefony/src/cli/env.ts",
30362
31103
  "src/nodefony/src/cli/gitHooks.ts",
30363
- "src/nodefony/src/cli/symbols.ts"
31104
+ "src/nodefony/src/cli/symbols.ts",
31105
+ "src/nodefony/src/cli/image/index.ts"
30364
31106
  ],
30365
31107
  "IUsagePage": [
30366
31108
  "src/nodefony/src/cli/aiMcp.ts",
@@ -30371,6 +31113,8 @@
30371
31113
  "src/nodefony/src/cli/env.ts",
30372
31114
  "src/nodefony/src/cli/gitHooks.ts",
30373
31115
  "src/nodefony/src/cli/symbols.ts",
31116
+ "src/nodefony/src/cli/image/index.ts",
31117
+ "src/nodefony/src/cli/scaffold/help.ts",
30374
31118
  "src/nodefony/src/service/dev/devStatusReport.ts"
30375
31119
  ],
30376
31120
  "writeAgentPointers": [
@@ -30385,19 +31129,23 @@
30385
31129
  "src/nodefony/src/cli/env.ts",
30386
31130
  "src/nodefony/src/cli/gitHooks.ts",
30387
31131
  "src/nodefony/src/cli/symbols.ts",
31132
+ "src/nodefony/src/kernel/BootConfigurationError.ts",
30388
31133
  "src/nodefony/src/kernel/CliKernel.ts",
30389
31134
  "src/nodefony/src/kernel/Kernel.ts",
31135
+ "src/nodefony/src/cli/image/index.ts",
30390
31136
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
30391
31137
  "src/nodefony/src/kernel/commands/LicensesCommand.ts",
30392
31138
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
30393
31139
  "src/nodefony/src/kernel/commands/runtimeLauncher.ts",
30394
31140
  "src/nodefony/src/service/dev/detachedStart.ts",
31141
+ "src/nodefony/src/service/dev/devStatusReport.ts",
30395
31142
  "src/nodefony/src/service/dev/DevSupervisor.ts"
30396
31143
  ],
30397
31144
  "chargePrompts": [
30398
31145
  "src/nodefony/src/cli/aiMcp.ts",
30399
31146
  "src/nodefony/src/cli/create.ts",
30400
31147
  "src/nodefony/src/command/Command.ts",
31148
+ "src/nodefony/src/cli/scaffold/interactive.ts",
30401
31149
  "src/packages/@nodefony/security/nodefony/command/security-token.ts"
30402
31150
  ],
30403
31151
  "ADMIN_SCOPE_READ": [
@@ -30502,6 +31250,7 @@
30502
31250
  "src/nodefony/src/cli/env.ts",
30503
31251
  "src/nodefony/src/cli/gitHooks.ts",
30504
31252
  "src/nodefony/src/cli/symbols.ts",
31253
+ "src/nodefony/src/cli/image/index.ts",
30505
31254
  "src/nodefony/src/kernel/checks/runDoctor.ts"
30506
31255
  ],
30507
31256
  "buildCard": [
@@ -30522,6 +31271,12 @@
30522
31271
  "OPTION_SUGGESTIONS": [
30523
31272
  "src/nodefony/src/cli/completion.ts"
30524
31273
  ],
31274
+ "usageCatalog": [
31275
+ "src/nodefony/src/cli/create.ts"
31276
+ ],
31277
+ "usagePageFor": [
31278
+ "src/nodefony/src/cli/create.ts"
31279
+ ],
30525
31280
  "portableSpawn": [
30526
31281
  "src/nodefony/src/cli/create.ts",
30527
31282
  "src/nodefony/src/cli/licenses.ts",
@@ -30529,34 +31284,17 @@
30529
31284
  "src/nodefony/src/kernel/commands/MenuCommand.ts",
30530
31285
  "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts"
30531
31286
  ],
30532
- "getScaffoldSpec": [
30533
- "src/nodefony/src/cli/create.ts",
30534
- "src/nodefony/src/cli/scaffold/engine.ts",
30535
- "src/packages/@nodefony/studio/nodefony/controller/StudioCreateController.ts"
30536
- ],
30537
- "COMMAND_PHASE_CHOICES": [
30538
- "src/nodefony/src/cli/create.ts"
30539
- ],
30540
- "CONTROLLER_KIND_CHOICES": [
30541
- "src/nodefony/src/cli/create.ts",
30542
- "src/nodefony/src/cli/scaffold/engine.ts"
30543
- ],
30544
- "DATABASE_CHOICES": [
30545
- "src/nodefony/src/cli/create.ts"
30546
- ],
30547
- "ENTITY_ID_CHOICES": [
30548
- "src/nodefony/src/cli/create.ts"
30549
- ],
30550
31287
  "FRONTEND_CHOICES": [
30551
31288
  "src/nodefony/src/cli/create.ts",
30552
- "src/nodefony/src/kernel/commands/CreateCommand.ts"
30553
- ],
30554
- "MODULE_CONTROLLER_CHOICES": [
30555
- "src/nodefony/src/cli/create.ts"
31289
+ "src/nodefony/src/cli/scaffold/engine.ts",
31290
+ "src/nodefony/src/kernel/commands/CreateCommand.ts",
31291
+ "src/packages/@nodefony/frontend/nodefony/service/FrontendService.ts"
30556
31292
  ],
30557
- "PRESET_CHOICES": [
31293
+ "getScaffoldSpec": [
30558
31294
  "src/nodefony/src/cli/create.ts",
30559
- "src/nodefony/src/kernel/commands/CreateCommand.ts"
31295
+ "src/nodefony/src/cli/scaffold/engine.ts",
31296
+ "src/nodefony/src/cli/scaffold/help.ts",
31297
+ "src/packages/@nodefony/studio/nodefony/controller/StudioCreateController.ts"
30560
31298
  ],
30561
31299
  "findPackageRoot": [
30562
31300
  "src/nodefony/src/cli/create.ts"
@@ -30640,6 +31378,9 @@
30640
31378
  "src/nodefony/src/cli/create.ts",
30641
31379
  "src/nodefony/src/kernel/commands/DoctorCommand.ts"
30642
31380
  ],
31381
+ "configInconsistencies": [
31382
+ "src/nodefony/src/cli/env.ts"
31383
+ ],
30643
31384
  "envFileOrder": [
30644
31385
  "src/nodefony/src/cli/env.ts",
30645
31386
  "src/nodefony/src/cli/scaffold/engine.ts"
@@ -30918,6 +31659,7 @@
30918
31659
  "src/nodefony/src/kernel/commands/DoctorCommand.ts",
30919
31660
  "src/nodefony/src/kernel/commands/EnvCommand.ts",
30920
31661
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
31662
+ "src/nodefony/src/kernel/commands/ImageCommand.ts",
30921
31663
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
30922
31664
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
30923
31665
  "src/nodefony/src/kernel/commands/LicensesCommand.ts",
@@ -31025,10 +31767,14 @@
31025
31767
  "src/nodefony/src/finder/FileResult.ts",
31026
31768
  "src/nodefony/src/finder/Finder.ts"
31027
31769
  ],
31770
+ "CONFIG_DESCRIPTOR_KEY": [
31771
+ "src/nodefony/src/kernel/bootConfigDiagnosis.ts"
31772
+ ],
31028
31773
  "toImportSpecifier": [
31029
31774
  "src/nodefony/src/kernel/CliKernel.ts",
31030
31775
  "src/nodefony/src/kernel/Kernel.ts",
31031
- "src/nodefony/src/kernel/Module.ts"
31776
+ "src/nodefony/src/kernel/Module.ts",
31777
+ "src/nodefony/src/service/cluster/topology.ts"
31032
31778
  ],
31033
31779
  "CliDefaultOptions": [
31034
31780
  "src/nodefony/src/kernel/CliKernel.ts"
@@ -31166,6 +31912,13 @@
31166
31912
  "src/nodefony/src/kernel/CliKernel.ts",
31167
31913
  "src/nodefony/src/kernel/commands/SymbolsCommand.ts"
31168
31914
  ],
31915
+ "Image": [
31916
+ "src/nodefony/src/kernel/CliKernel.ts"
31917
+ ],
31918
+ "runImageCheckCommand": [
31919
+ "src/nodefony/src/kernel/CliKernel.ts",
31920
+ "src/nodefony/src/kernel/commands/ImageCommand.ts"
31921
+ ],
31169
31922
  "runAiSyncCommand": [
31170
31923
  "src/nodefony/src/kernel/CliKernel.ts",
31171
31924
  "src/nodefony/src/kernel/commands/AiSyncCommand.ts"
@@ -31370,6 +32123,24 @@
31370
32123
  "src/packages/@nodefony/security/nodefony/config/defineModuleConfig.ts",
31371
32124
  "src/packages/@nodefony/user/nodefony/src/userContract.ts"
31372
32125
  ],
32126
+ "listPackageInstances": [
32127
+ "src/nodefony/src/kernel/Kernel.ts"
32128
+ ],
32129
+ "packageDualityReport": [
32130
+ "src/nodefony/src/kernel/Kernel.ts"
32131
+ ],
32132
+ "diagnoseEmptyManifest": [
32133
+ "src/nodefony/src/kernel/Kernel.ts"
32134
+ ],
32135
+ "isForeignDescriptor": [
32136
+ "src/nodefony/src/kernel/Kernel.ts"
32137
+ ],
32138
+ "foreignPackageWarning": [
32139
+ "src/nodefony/src/kernel/Kernel.ts"
32140
+ ],
32141
+ "AppConfigOrigin": [
32142
+ "src/nodefony/src/kernel/Kernel.ts"
32143
+ ],
31373
32144
  "IBootReport": [
31374
32145
  "src/nodefony/src/kernel/Kernel.ts",
31375
32146
  "src/nodefony/src/types/IKernel.ts",
@@ -31390,7 +32161,8 @@
31390
32161
  ],
31391
32162
  "IReadinessContributor": [
31392
32163
  "src/nodefony/src/kernel/Kernel.ts",
31393
- "src/nodefony/src/types/IKernel.ts"
32164
+ "src/nodefony/src/types/IKernel.ts",
32165
+ "src/nodefony/src/service/dev/BootReporter.ts"
31394
32166
  ],
31395
32167
  "clearReadinessState": [
31396
32168
  "src/nodefony/src/kernel/Kernel.ts"
@@ -31680,6 +32452,7 @@
31680
32452
  "src/nodefony/src/kernel/checks/runDoctor.ts",
31681
32453
  "src/nodefony/src/service/dev/detachedStart.ts",
31682
32454
  "src/nodefony/src/service/dev/devProjects.ts",
32455
+ "src/nodefony/src/service/dev/devStatusReport.ts",
31683
32456
  "src/nodefony/src/service/dev/devStop.ts",
31684
32457
  "src/nodefony/src/service/dev/DevSupervisor.ts"
31685
32458
  ],
@@ -32018,6 +32791,18 @@
32018
32791
  "RedisWebAuthnCredentialStore": [
32019
32792
  "src/packages/@nodefony/redis/nodefony/registerStores.ts"
32020
32793
  ],
32794
+ "detectSuspectImageFiles": [
32795
+ "src/nodefony/src/cli/image/index.ts"
32796
+ ],
32797
+ "BlindCheckError": [
32798
+ "src/nodefony/src/cli/image/index.ts"
32799
+ ],
32800
+ "imageContents": [
32801
+ "src/nodefony/src/cli/image/index.ts"
32802
+ ],
32803
+ "saveImage": [
32804
+ "src/nodefony/src/cli/image/index.ts"
32805
+ ],
32021
32806
  "pointeursInstructions": [
32022
32807
  "src/nodefony/src/cli/scaffold/engine.ts"
32023
32808
  ],
@@ -32036,6 +32821,12 @@
32036
32821
  "buildEntityCodegen": [
32037
32822
  "src/nodefony/src/cli/scaffold/engine.ts"
32038
32823
  ],
32824
+ "parseRowFieldNames": [
32825
+ "src/nodefony/src/cli/scaffold/engine.ts"
32826
+ ],
32827
+ "extractRowBlock": [
32828
+ "src/nodefony/src/cli/scaffold/engine.ts"
32829
+ ],
32039
32830
  "describeColumnTypes": [
32040
32831
  "src/nodefony/src/cli/scaffold/engine.ts"
32041
32832
  ],
@@ -32104,6 +32895,9 @@
32104
32895
  "src/nodefony/src/kernel/checks/surface.ts",
32105
32896
  "src/nodefony/src/kernel/checks/wiring.ts"
32106
32897
  ],
32898
+ "CONTROLLER_KIND_CHOICES": [
32899
+ "src/nodefony/src/cli/scaffold/engine.ts"
32900
+ ],
32107
32901
  "IScaffoldTypeSpec": [
32108
32902
  "src/nodefony/src/cli/scaffold/engine.ts",
32109
32903
  "src/nodefony/src/cli/scaffold/interactive.ts"
@@ -32126,9 +32920,27 @@
32126
32920
  "TPresetChoice": [
32127
32921
  "src/nodefony/src/cli/scaffold/engine.ts"
32128
32922
  ],
32923
+ "openSiblingRoutes": [
32924
+ "src/nodefony/src/cli/scaffold/engine.ts"
32925
+ ],
32926
+ "flagFor": [
32927
+ "src/nodefony/src/cli/scaffold/help.ts"
32928
+ ],
32929
+ "IScaffoldQuestion": [
32930
+ "src/nodefony/src/cli/scaffold/help.ts"
32931
+ ],
32932
+ "IUsageEntry": [
32933
+ "src/nodefony/src/cli/scaffold/help.ts"
32934
+ ],
32935
+ "IUsageSection": [
32936
+ "src/nodefony/src/cli/scaffold/help.ts"
32937
+ ],
32129
32938
  "anchorEventLoop": [
32130
32939
  "src/nodefony/src/cli/scaffold/interactive.ts"
32131
32940
  ],
32941
+ "IPrompts": [
32942
+ "src/nodefony/src/cli/scaffold/interactive.ts"
32943
+ ],
32132
32944
  "IScaffoldCaps": [
32133
32945
  "src/nodefony/src/cli/scaffold/interactive.ts"
32134
32946
  ],
@@ -32474,6 +33286,7 @@
32474
33286
  "src/nodefony/src/kernel/inspect/adminSubjects.ts",
32475
33287
  "src/modules/test/nodefony/admin/TestAdminApi.ts",
32476
33288
  "src/packages/@nodefony/framework/nodefony/controller/AdminApiController.ts",
33289
+ "src/packages/@nodefony/framework/nodefony/src/FrameworkAdminApi.ts",
32477
33290
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts",
32478
33291
  "src/packages/@nodefony/framework/nodefony/src/SyslogAdminApi.ts",
32479
33292
  "src/packages/@nodefony/http/nodefony/service/HttpAdminApi.ts",
@@ -32543,6 +33356,13 @@
32543
33356
  "src/nodefony/src/kernel/checks/surface.ts",
32544
33357
  "src/nodefony/src/kernel/checks/wiring.ts"
32545
33358
  ],
33359
+ "resolveEnvCascade": [
33360
+ "src/nodefony/src/kernel/checks/projectScope.ts"
33361
+ ],
33362
+ "checkSurface": [
33363
+ "src/nodefony/src/kernel/checks/projectScope.ts",
33364
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
33365
+ ],
32546
33366
  "buildProjectEnvReport": [
32547
33367
  "src/nodefony/src/kernel/checks/readiness.ts"
32548
33368
  ],
@@ -32634,9 +33454,6 @@
32634
33454
  "readLastBoots": [
32635
33455
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32636
33456
  ],
32637
- "resolveEnvCascade": [
32638
- "src/nodefony/src/kernel/checks/runDoctor.ts"
32639
- ],
32640
33457
  "IInfraProbe": [
32641
33458
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32642
33459
  ],
@@ -32661,7 +33478,10 @@
32661
33478
  "IFreshnessResult": [
32662
33479
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32663
33480
  ],
32664
- "checkSurface": [
33481
+ "appEnvironment": [
33482
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
33483
+ ],
33484
+ "wiringTargets": [
32665
33485
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32666
33486
  ],
32667
33487
  "ISurfaceResult": [
@@ -32682,6 +33502,9 @@
32682
33502
  "runVerifySteps": [
32683
33503
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32684
33504
  ],
33505
+ "verifyChainSteps": [
33506
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
33507
+ ],
32685
33508
  "DeepReporter": [
32686
33509
  "src/nodefony/src/kernel/checks/runDoctor.ts"
32687
33510
  ],
@@ -32717,6 +33540,9 @@
32717
33540
  "src/nodefony/src/kernel/checks/surface.ts",
32718
33541
  "src/nodefony/src/kernel/checks/wiring.ts"
32719
33542
  ],
33543
+ "ROUTE_PATH_RE": [
33544
+ "src/nodefony/src/kernel/checks/wiring.ts"
33545
+ ],
32720
33546
  "reservedFragmentFiles": [
32721
33547
  "src/nodefony/src/kernel/checks/wiring.ts"
32722
33548
  ],
@@ -32735,6 +33561,7 @@
32735
33561
  "src/nodefony/src/kernel/commands/DoctorCommand.ts",
32736
33562
  "src/nodefony/src/kernel/commands/EnvCommand.ts",
32737
33563
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
33564
+ "src/nodefony/src/kernel/commands/ImageCommand.ts",
32738
33565
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
32739
33566
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
32740
33567
  "src/nodefony/src/kernel/commands/LicensesCommand.ts",
@@ -32784,6 +33611,9 @@
32784
33611
  "CREATE_TYPES": [
32785
33612
  "src/nodefony/src/kernel/commands/CreateCommand.ts"
32786
33613
  ],
33614
+ "PRESET_CHOICES": [
33615
+ "src/nodefony/src/kernel/commands/CreateCommand.ts"
33616
+ ],
32787
33617
  "BootReporter": [
32788
33618
  "src/nodefony/src/kernel/commands/DevCommand.ts"
32789
33619
  ],
@@ -32971,6 +33801,10 @@
32971
33801
  "src/nodefony/src/service/dev/devStop.ts",
32972
33802
  "src/nodefony/src/service/dev/DevSupervisor.ts"
32973
33803
  ],
33804
+ "detectPortShift": [
33805
+ "src/nodefony/src/service/dev/detachedStart.ts",
33806
+ "src/nodefony/src/service/dev/devStatusReport.ts"
33807
+ ],
32974
33808
  "formatForeignRuntimes": [
32975
33809
  "src/nodefony/src/service/dev/detachedStart.ts",
32976
33810
  "src/nodefony/src/service/dev/devStatusReport.ts",
@@ -33040,6 +33874,9 @@
33040
33874
  "DiscoverOptions": [
33041
33875
  "src/nodefony/src/service/dev/devStatusReport.ts"
33042
33876
  ],
33877
+ "PortShift": [
33878
+ "src/nodefony/src/service/dev/devStatusReport.ts"
33879
+ ],
33043
33880
  "buildProjectTable": [
33044
33881
  "src/nodefony/src/service/dev/devStatusReport.ts",
33045
33882
  "src/nodefony/src/service/dev/devStop.ts"
@@ -33078,6 +33915,9 @@
33078
33915
  "missingWorkspaceDists": [
33079
33916
  "src/nodefony/src/service/dev/DevSupervisor.ts"
33080
33917
  ],
33918
+ "readyAnnouncement": [
33919
+ "src/nodefony/src/service/dev/DevSupervisor.ts"
33920
+ ],
33081
33921
  "identifyProcess": [
33082
33922
  "src/nodefony/src/service/dev/DevSupervisor.ts"
33083
33923
  ],
@@ -33881,6 +34721,9 @@
33881
34721
  "src/packages/@nodefony/drizzle/nodefony/command/orm-generate.ts",
33882
34722
  "src/packages/@nodefony/drizzle/nodefony/command/orm-migrate-baseline.ts"
33883
34723
  ],
34724
+ "repairRebuildCopy": [
34725
+ "src/packages/@nodefony/drizzle/nodefony/command/orm-generate.ts"
34726
+ ],
33884
34727
  "readJournal": [
33885
34728
  "src/packages/@nodefony/drizzle/nodefony/command/orm-generate.ts",
33886
34729
  "src/packages/@nodefony/drizzle/nodefony/command/orm-migrate-baseline.ts"
@@ -34003,6 +34846,19 @@
34003
34846
  "checkDataAdvice": [
34004
34847
  "src/packages/@nodefony/drizzle/nodefony/command/orm-migrate.ts"
34005
34848
  ],
34849
+ "readHistory": [
34850
+ "src/packages/@nodefony/drizzle/nodefony/command/orm-reset.ts",
34851
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/DrizzleMigrator.ts"
34852
+ ],
34853
+ "identityTablesAmong": [
34854
+ "src/packages/@nodefony/drizzle/nodefony/command/orm-reset.ts"
34855
+ ],
34856
+ "rowsWorthKeeping": [
34857
+ "src/packages/@nodefony/drizzle/nodefony/command/orm-reset.ts"
34858
+ ],
34859
+ "IIdentityTableFound": [
34860
+ "src/packages/@nodefony/drizzle/nodefony/command/orm-reset.ts"
34861
+ ],
34006
34862
  "resetAllowed": [
34007
34863
  "src/packages/@nodefony/drizzle/nodefony/command/orm-reset.ts",
34008
34864
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
@@ -35193,6 +36049,9 @@
35193
36049
  "writeRuntimeState": [
35194
36050
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
35195
36051
  ],
36052
+ "servedUrl": [
36053
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
36054
+ ],
35196
36055
  "buildTrustProxy": [
35197
36056
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
35198
36057
  ],
@@ -35670,6 +36529,11 @@
35670
36529
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
35671
36530
  "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
35672
36531
  ],
36532
+ "WeakPasswordError": [
36533
+ "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
36534
+ "src/packages/@nodefony/user/nodefony/service/UserService.ts",
36535
+ "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
36536
+ ],
35673
36537
  "USER_REVOKED_EVENT": [
35674
36538
  "src/packages/@nodefony/security/nodefony/command/security-user-password.ts",
35675
36539
  "src/packages/@nodefony/security/nodefony/src/admin/userRevocationCascade.ts"
@@ -36277,6 +37141,10 @@
36277
37141
  "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
36278
37142
  ],
36279
37143
  "IPasswordBlocklist": [
37144
+ "src/packages/@nodefony/user/nodefony/service/UserService.ts",
37145
+ "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts"
37146
+ ],
37147
+ "PasswordPolicy": [
36280
37148
  "src/packages/@nodefony/user/nodefony/service/UserService.ts"
36281
37149
  ],
36282
37150
  "IPasswordEncoder": [
@@ -36289,10 +37157,6 @@
36289
37157
  "IOAuthProvisionPolicy": [
36290
37158
  "src/packages/@nodefony/user/nodefony/service/UserService.ts"
36291
37159
  ],
36292
- "WeakPasswordError": [
36293
- "src/packages/@nodefony/user/nodefony/service/UserService.ts",
36294
- "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
36295
- ],
36296
37160
  "profileFromClaims": [
36297
37161
  "src/packages/@nodefony/user/nodefony/service/UserService.ts"
36298
37162
  ],
@@ -36400,9 +37264,6 @@
36400
37264
  "insertHistory": [
36401
37265
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/DrizzleMigrator.ts"
36402
37266
  ],
36403
- "readHistory": [
36404
- "src/packages/@nodefony/drizzle/nodefony/src/migrator/DrizzleMigrator.ts"
36405
- ],
36406
37267
  "MIGRATE_URL_ENV": [
36407
37268
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/DrizzleMigrator.ts",
36408
37269
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts",
@@ -36447,9 +37308,24 @@
36447
37308
  "ISchemaGap": [
36448
37309
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/explain.ts"
36449
37310
  ],
37311
+ "generationFailed": [
37312
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
37313
+ ],
37314
+ "generationNeedsAnswer": [
37315
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
37316
+ ],
36450
37317
  "generationToolMissing": [
36451
37318
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
36452
37319
  ],
37320
+ "introspectFailed": [
37321
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
37322
+ ],
37323
+ "droppedTables": [
37324
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
37325
+ ],
37326
+ "rebuiltTables": [
37327
+ "src/packages/@nodefony/drizzle/nodefony/src/migrator/kit.ts"
37328
+ ],
36453
37329
  "knownConnectors": [
36454
37330
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/refusals.ts"
36455
37331
  ],
@@ -36674,6 +37550,9 @@
36674
37550
  "RateLimitVerdict": [
36675
37551
  "src/packages/@nodefony/http/nodefony/src/rateLimit/MemoryRateLimitStore.ts"
36676
37552
  ],
37553
+ "isPortListening": [
37554
+ "src/packages/@nodefony/http/nodefony/src/servers/portBinder.ts"
37555
+ ],
36677
37556
  "CookieOptionsType": [
36678
37557
  "src/packages/@nodefony/http/nodefony/src/session/session.ts"
36679
37558
  ],
@@ -37055,6 +37934,9 @@
37055
37934
  "MemoryWebhookStore": [
37056
37935
  "src/packages/@nodefony/security/nodefony/src/webhook/webhookStoreRegistry.ts"
37057
37936
  ],
37937
+ "DEFAULT_PASSWORD_POLICY": [
37938
+ "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
37939
+ ],
37058
37940
  "listUserStores": [
37059
37941
  "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
37060
37942
  ],
@@ -37082,6 +37964,12 @@
37082
37964
  "MigratingEncoder": [
37083
37965
  "src/packages/@nodefony/user/nodefony/src/encoders/encoderFromConfig.ts"
37084
37966
  ],
37967
+ "IPasswordSubjectHint": [
37968
+ "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts"
37969
+ ],
37970
+ "truncatedPasswordHash": [
37971
+ "src/packages/@nodefony/user/nodefony/src/password/passwordPolicy.ts"
37972
+ ],
37085
37973
  "MysqlMigrationDriver": [
37086
37974
  "src/packages/@nodefony/drizzle/nodefony/src/migrator/drivers/index.ts"
37087
37975
  ],
@@ -37095,6 +37983,9 @@
37095
37983
  "src/packages/@nodefony/http/nodefony/src/context/http/HttpContext.ts",
37096
37984
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
37097
37985
  ],
37986
+ "describeSessionStoreFailure": [
37987
+ "src/packages/@nodefony/http/nodefony/src/context/http/HttpContext.ts"
37988
+ ],
37098
37989
  "Cookies": [
37099
37990
  "src/packages/@nodefony/http/nodefony/src/context/http/Request.ts"
37100
37991
  ],