nodefony 10.0.0-alpha.3 → 10.0.0-alpha.5

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 +825 -118
  2. package/LICENSE +201 -543
  3. package/README.md +1 -1
  4. package/dist/client/types/src/config/infra.d.ts +29 -1
  5. package/dist/node/cli/agentTargets.js +48 -3
  6. package/dist/node/cli/aiMcp.js +183 -21
  7. package/dist/node/cli/aiMcpReport.js +32 -6
  8. package/dist/node/cli/cardReport.js +2 -2
  9. package/dist/node/cli/create.js +129 -26
  10. package/dist/node/cli/execPortable.js +44 -1
  11. package/dist/node/cli/licenses.js +510 -0
  12. package/dist/node/cli/scaffold/engine.js +179 -15
  13. package/dist/node/cli/scaffold/spec.js +9 -1
  14. package/dist/node/cli/scaffold/versions.js +24 -23
  15. package/dist/node/cli/startMenu.js +66 -12
  16. package/dist/node/cli/tableReport.js +47 -16
  17. package/dist/node/command/Command.js +2 -2
  18. package/dist/node/config/configProvenance.js +68 -1
  19. package/dist/node/config/defaults.js +1 -0
  20. package/dist/node/config/defineEnv.js +35 -4
  21. package/dist/node/config/infra.js +62 -11
  22. package/dist/node/config/schema.js +18 -2
  23. package/dist/node/config/schemaCatalog.js +83 -0
  24. package/dist/node/index.js +8 -5
  25. package/dist/node/kernel/CliKernel.js +2 -0
  26. package/dist/node/kernel/Kernel.js +58 -8
  27. package/dist/node/kernel/Module.js +44 -0
  28. package/dist/node/kernel/checks/freshness.js +0 -1
  29. package/dist/node/kernel/checks/readiness.js +14 -17
  30. package/dist/node/kernel/checks/renderReport.js +3 -1
  31. package/dist/node/kernel/checks/runDoctor.js +100 -1
  32. package/dist/node/kernel/checks/sourceText.js +306 -3
  33. package/dist/node/kernel/checks/surface.js +6 -7
  34. package/dist/node/kernel/checks/wiring.js +30 -11
  35. package/dist/node/kernel/commands/AiMcpCommand.js +2 -0
  36. package/dist/node/kernel/commands/BuildCommand.js +4 -3
  37. package/dist/node/kernel/commands/CreateCommand.js +5 -2
  38. package/dist/node/kernel/commands/InspectCommand.js +2 -1
  39. package/dist/node/kernel/commands/LicensesCommand.js +78 -0
  40. package/dist/node/kernel/commands/MenuCommand.js +4 -3
  41. package/dist/node/kernel/inspect/adminSubjects.js +8 -0
  42. package/dist/node/kernel/lifecycleTags.js +30 -18
  43. package/dist/node/package.js +1 -1
  44. package/dist/node/runtime/identityHint.js +36 -0
  45. package/dist/node/service/dev/detachedStart.js +16 -1
  46. package/dist/node/syslog/drivers/opensearchShared.js +68 -1
  47. package/dist/node/syslog/transports/OpenSearchTransport.js +43 -3
  48. package/dist/types/cli/agentTargets.d.ts +50 -4
  49. package/dist/types/cli/aiMcp.d.ts +62 -23
  50. package/dist/types/cli/aiMcpReport.d.ts +47 -2
  51. package/dist/types/cli/create.d.ts +44 -4
  52. package/dist/types/cli/execPortable.d.ts +45 -0
  53. package/dist/types/cli/licenses.d.ts +239 -0
  54. package/dist/types/cli/scaffold/engine.d.ts +29 -1
  55. package/dist/types/cli/tableReport.d.ts +9 -0
  56. package/dist/types/config/configProvenance.d.ts +40 -0
  57. package/dist/types/config/defineEnv.d.ts +17 -2
  58. package/dist/types/config/index.d.ts +1 -1
  59. package/dist/types/config/infra.d.ts +29 -1
  60. package/dist/types/config/schemaCatalog.d.ts +62 -0
  61. package/dist/types/index.d.ts +11 -5
  62. package/dist/types/kernel/Kernel.d.ts +16 -0
  63. package/dist/types/kernel/Module.d.ts +20 -0
  64. package/dist/types/kernel/checks/readiness.d.ts +41 -1
  65. package/dist/types/kernel/checks/sourceText.d.ts +176 -14
  66. package/dist/types/kernel/checks/wiring.d.ts +1 -1
  67. package/dist/types/kernel/commands/AiMcpCommand.d.ts +2 -0
  68. package/dist/types/kernel/commands/LicensesCommand.d.ts +31 -0
  69. package/dist/types/kernel/inspect/adminSubjects.d.ts +20 -0
  70. package/dist/types/kernel/lifecycleTags.d.ts +27 -15
  71. package/dist/types/runtime/identityHint.d.ts +27 -0
  72. package/dist/types/syslog/drivers/opensearchShared.d.ts +49 -0
  73. package/docs/cli.md +9 -9
  74. package/docs/client.md +14 -8
  75. package/docs/kernel.md +18 -18
  76. package/docs/react-hooks.md +3 -3
  77. package/docs/request-context.md +5 -5
  78. package/docs/service.md +12 -12
  79. package/docs/syslog.md +3 -3
  80. package/man/nodefony.1 +4 -1
  81. package/package.json +16 -16
  82. package/templates/app/agents/AGENTS.md.tpl +140 -155
  83. package/templates/app/agents/client/angular.md +31 -0
  84. package/templates/app/agents/client/react.md +26 -0
  85. package/templates/app/agents/client/svelte.md +33 -0
  86. package/templates/app/agents/client/vue.md +25 -0
  87. package/templates/app/base/Dockerfile.tpl +197 -12
  88. package/templates/app/base/LICENSE.tpl +24 -0
  89. package/templates/app/base/README.md.tpl +77 -5
  90. package/templates/app/base/SECURITY.md.tpl +55 -0
  91. package/templates/app/base/dockerignore.tpl +81 -3
  92. package/templates/app/base/env.ts.tpl +20 -1
  93. package/templates/app/base/github/workflows/ci.yml.tpl +36 -3
  94. package/templates/app/base/gitignore.tpl +6 -0
  95. package/templates/app/base/gitlab-ci.yml.tpl +19 -3
  96. package/templates/app/base/index.ts.tpl +11 -1
  97. package/templates/app/base/nodefony/config/devkit.ts.tpl +56 -0
  98. package/templates/app/base/nodefony.config.ts.tpl +68 -186
  99. package/templates/app/base/package.json.tpl +11 -1
  100. package/templates/app/base/prettierignore.tpl +9 -0
  101. package/templates/app/base/tests/config.test.ts.tpl +20 -2
  102. package/templates/app/base/tests/e2e.setup.ts.tpl +70 -12
  103. package/templates/app/base/tests/e2e.test.ts.tpl +55 -4
  104. package/templates/app/base/tests/migrations.e2e.test.ts.tpl +33 -3
  105. package/templates/app/complete/compose.yaml.tpl +202 -3
  106. package/templates/app/complete/nodefony/config/security.ts.tpl +169 -0
  107. package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +22 -7
  108. package/templates/app/frontend/angular/frontend/src/accent.css.tpl +11 -0
  109. package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +6 -3
  110. package/templates/app/frontend/react/frontend/src/App.tsx.tpl +7 -4
  111. package/templates/app/frontend/react/frontend/src/accent.css.tpl +11 -0
  112. package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +9 -0
  113. package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +6 -3
  114. package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +11 -0
  115. package/templates/app/frontend/svelte/frontend/svelte.config.js.tpl +10 -0
  116. package/templates/app/frontend/vue/frontend/src/App.vue.tpl +6 -3
  117. package/templates/app/frontend/vue/frontend/src/accent.css.tpl +11 -0
  118. package/templates/command/nodefony/command/__NAME__.ts.tpl +17 -0
  119. package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +1 -2
  120. package/templates/dataservice/tests/__PASCAL__Service.test.ts.tpl +37 -0
  121. package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +21 -8
  122. package/templates/module/ai/AGENTS.md.tpl +4 -2
  123. package/templates/module/base/index.ts.tpl +9 -3
  124. package/templates/module/base/nodefony/config/config.ts.tpl +3 -3
  125. package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +3 -3
  126. package/templates/module/base/package.json.tpl +2 -0
  127. package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +3 -3
package/.ai/symbols.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "version": "2.0.0",
3
3
  "repoRoot": ".",
4
4
  "stats": {
5
- "files": 818,
6
- "symbols": 3939,
7
- "classes": 388,
8
- "interfaces": 1069,
9
- "types": 446,
5
+ "files": 825,
6
+ "symbols": 4027,
7
+ "classes": 391,
8
+ "interfaces": 1085,
9
+ "types": 447,
10
10
  "enums": 4,
11
- "functions": 1641,
12
- "constants": 391
11
+ "functions": 1697,
12
+ "constants": 403
13
13
  },
14
14
  "symbols": {
15
15
  "Cli": {
@@ -648,6 +648,15 @@
648
648
  "module": "@nodefony/core",
649
649
  "description": "Treeshake commun : les externes sont sans effet de bord (équivalent `no-external`) SAUF `reflect-metadata`, dont le side-effect doit survivre."
650
650
  },
651
+ "IAgentMcpFile": {
652
+ "name": "IAgentMcpFile",
653
+ "kind": "interface",
654
+ "file": "src/nodefony/src/cli/agentTargets.ts",
655
+ "exported": true,
656
+ "module": "@nodefony/core",
657
+ "extends": null,
658
+ "description": "Où et comment écrire la porte chez un agent de canal `fichier-agent`. ⭐ **Les trois champs existent parce que les deux grammaires constatées diffèrent sur les trois.** VS Code nomme sa racine `serv…"
659
+ },
651
660
  "IAgentTarget": {
652
661
  "name": "IAgentTarget",
653
662
  "kind": "interface",
@@ -666,8 +675,8 @@
666
675
  "extends": null,
667
676
  "description": "Ce qu'il faut savoir pour composer la déclaration chez un agent."
668
677
  },
669
- "VoieDeclaration": {
670
- "name": "VoieDeclaration",
678
+ "DeclarationChannel": {
679
+ "name": "DeclarationChannel",
671
680
  "kind": "type",
672
681
  "file": "src/nodefony/src/cli/agentTargets.ts",
673
682
  "exported": true,
@@ -803,6 +812,14 @@
803
812
  "module": "@nodefony/core",
804
813
  "description": "Déduit l'origine du serveur de développement. ⚠️ **Le port en clair est préféré au port TLS**, et ce n'est pas une négligence : en développement le certificat est auto-signé, et un client MCP qui l…"
805
814
  },
815
+ "chainedTokenNote": {
816
+ "name": "chainedTokenNote",
817
+ "kind": "function",
818
+ "file": "src/nodefony/src/cli/aiMcp.ts",
819
+ "exported": true,
820
+ "module": "@nodefony/core",
821
+ "description": "Ce qu'on dit quand `security:token`, enchaîné, n'a pas rendu 0 — ou `null` s'il a réussi. PURE : c'est la phrase que l'utilisateur lit à la place d'une stack trace. L'enfant a déjà dit POURQUOI (ba…"
822
+ },
806
823
  "tokenState": {
807
824
  "name": "tokenState",
808
825
  "kind": "function",
@@ -839,8 +856,15 @@
839
856
  "kind": "function",
840
857
  "file": "src/nodefony/src/cli/aiMcp.ts",
841
858
  "exported": true,
859
+ "module": "@nodefony/core"
860
+ },
861
+ "targetsToDeclare": {
862
+ "name": "targetsToDeclare",
863
+ "kind": "function",
864
+ "file": "src/nodefony/src/cli/aiMcp.ts",
865
+ "exported": true,
842
866
  "module": "@nodefony/core",
843
- "description": "Déclare (ou retire) la porte MCP chez chaque agent, **par SA propre CLI**. ⭐ La règle qui gouverne cette fonction : **on n'écrit pas le fichier de configuration d'un outil tiers.** Son format lui a…"
867
+ "description": "Les agents dont le compte rendu doit PARLER, quand `--agent` a été donné. PURE. `--agent none` veut dire « aucune CLI à lancer », pas « personne » : l'agent servi par le fichier de projet (Claude C…"
844
868
  },
845
869
  "renderDeclarations": {
846
870
  "name": "renderDeclarations",
@@ -882,7 +906,16 @@
882
906
  "exported": true,
883
907
  "module": "@nodefony/core",
884
908
  "extends": null,
885
- "description": "Le document `.mcp.json` dans son entier."
909
+ "description": "Un fichier de configuration MCP dans son entier — `.mcp.json` ou celui d'un agent qui tient le sien. ⚠️ **Les deux racines sont optionnelles parce qu'un document n'en porte jamais qu'UNE.** VS Code…"
910
+ },
911
+ "IMcpGrammar": {
912
+ "name": "IMcpGrammar",
913
+ "kind": "interface",
914
+ "file": "src/nodefony/src/cli/aiMcpReport.ts",
915
+ "exported": true,
916
+ "module": "@nodefony/core",
917
+ "extends": null,
918
+ "description": "Grammaire d'un fichier de configuration MCP. Injectée plutôt que déduite : c'est elle qui a valu l'existence du canal `fichier-agent` — deux outils qui parlent le même protocole n'écrivent pas le m…"
886
919
  },
887
920
  "IMcpConfigPlan": {
888
921
  "name": "IMcpConfigPlan",
@@ -901,6 +934,14 @@
901
934
  "module": "@nodefony/core",
902
935
  "description": "Ce que la commande a décidé de faire."
903
936
  },
937
+ "serversOf": {
938
+ "name": "serversOf",
939
+ "kind": "function",
940
+ "file": "src/nodefony/src/cli/aiMcpReport.ts",
941
+ "exported": true,
942
+ "module": "@nodefony/core",
943
+ "description": "Les serveurs déclarés dans un document, quelle que soit sa racine. Exposé pour qu'aucun appelant n'ait à deviner la clé : c'est le seul endroit où l'on sait que `servers` et `mcpServers` désignent …"
944
+ },
904
945
  "buildMcpUrl": {
905
946
  "name": "buildMcpUrl",
906
947
  "kind": "function",
@@ -957,6 +998,14 @@
957
998
  "module": "@nodefony/core",
958
999
  "description": "Nom de la variable d'environnement qui porte le jeton de la porte MCP. 🔴 C'est la VARIABLE qui s'écrit dans `.mcp.json`, jamais le jeton : ce fichier est un fichier de projet, suivi par git. Les c…"
959
1000
  },
1001
+ "MCP_GRAMMAR": {
1002
+ "name": "MCP_GRAMMAR",
1003
+ "kind": "const",
1004
+ "file": "src/nodefony/src/cli/aiMcpReport.ts",
1005
+ "exported": true,
1006
+ "module": "@nodefony/core",
1007
+ "description": "La grammaire de `.mcp.json` — celle que Claude Code lit, et notre défaut. `${VAR}` nu : c'est la forme historique du format, et elle diffère du `${env:VAR}` que VS Code et Cursor attendent."
1008
+ },
960
1009
  "readSkillHeader": {
961
1010
  "name": "readSkillHeader",
962
1011
  "kind": "function",
@@ -1380,6 +1429,14 @@
1380
1429
  "module": "@nodefony/core",
1381
1430
  "description": "Le code de sortie de `create`, décidé à part — parce qu'il se teste. Le défaut qu'il ferme : la commande affichait « npm run build a échoué » puis rendait **0**. L'application existait bien, c'est …"
1382
1431
  },
1432
+ "migrationFailureCause": {
1433
+ "name": "migrationFailureCause",
1434
+ "kind": "function",
1435
+ "file": "src/nodefony/src/cli/create.ts",
1436
+ "exported": true,
1437
+ "module": "@nodefony/core",
1438
+ "description": "Ce qu'on dit d'un `orm:generate` qui a échoué — PURE, à partir de ce que le processus a VRAIMENT écrit. 🔴 Un message inventé ici enverrait chercher la panne ailleurs, et un code nu (« code 70 ») n…"
1439
+ },
1383
1440
  "shouldAskForType": {
1384
1441
  "name": "shouldAskForType",
1385
1442
  "kind": "function",
@@ -1520,6 +1577,15 @@
1520
1577
  "module": "@nodefony/core",
1521
1578
  "description": "Construit le rapport d'environnement."
1522
1579
  },
1580
+ "IPortableSpawn": {
1581
+ "name": "IPortableSpawn",
1582
+ "kind": "interface",
1583
+ "file": "src/nodefony/src/cli/execPortable.ts",
1584
+ "exported": true,
1585
+ "module": "@nodefony/core",
1586
+ "extends": null,
1587
+ "description": "Ce qu'il faut donner à `spawn`/`spawnSync` pour lancer `command args…` sur ce système — SANS jamais confier des arguments à un shell. ## Le défaut que `needsShell` seul a laissé passer `spawnSync(\"…"
1588
+ },
1523
1589
  "needsShell": {
1524
1590
  "name": "needsShell",
1525
1591
  "kind": "function",
@@ -1528,6 +1594,14 @@
1528
1594
  "module": "@nodefony/core",
1529
1595
  "description": "Lancer un exécutable de l'écosystème npm, sur les trois systèmes. ## Le défaut, et pourquoi il ne se voit jamais sur un poste de développement Sous Windows, `npm`, `npx`, `prettier` et compagnie ne…"
1530
1596
  },
1597
+ "portableSpawn": {
1598
+ "name": "portableSpawn",
1599
+ "kind": "function",
1600
+ "file": "src/nodefony/src/cli/execPortable.ts",
1601
+ "exported": true,
1602
+ "module": "@nodefony/core",
1603
+ "description": "Compose la commande portable — voir {@link IPortableSpawn}. La plateforme, la grammaire de chemins et l'interpréteur sont INJECTÉS pour la même raison que dans {@link needsShell} : la branche Windo…"
1604
+ },
1531
1605
  "parseGitHooksArgv": {
1532
1606
  "name": "parseGitHooksArgv",
1533
1607
  "kind": "function",
@@ -1733,6 +1807,171 @@
1733
1807
  "module": "@nodefony/core",
1734
1808
  "description": "Le libellé de chaque intention DANS LE MENU interactif. 🔴 Une seule taxonomie, deux rendus. Le menu s'adresse à quelqu'un qui hésite (phrase, minuscules) et l'aide à quelqu'un qui balaie (titre, c…"
1735
1809
  },
1810
+ "LicenseInventoryError": {
1811
+ "name": "LicenseInventoryError",
1812
+ "kind": "class",
1813
+ "file": "src/nodefony/src/cli/licenses.ts",
1814
+ "exported": true,
1815
+ "module": "@nodefony/core",
1816
+ "extends": "Error",
1817
+ "implements": [],
1818
+ "decorators": [],
1819
+ "description": "Levée quand npm refuse d'inventorier l'arbre — porte le remède, pas une trace."
1820
+ },
1821
+ "ILicensedPackage": {
1822
+ "name": "ILicensedPackage",
1823
+ "kind": "interface",
1824
+ "file": "src/nodefony/src/cli/licenses.ts",
1825
+ "exported": true,
1826
+ "module": "@nodefony/core",
1827
+ "extends": null,
1828
+ "description": "Un paquet du relevé : ce qu'on redistribue, et sous quelle licence."
1829
+ },
1830
+ "ILicenseSurvey": {
1831
+ "name": "ILicenseSurvey",
1832
+ "kind": "interface",
1833
+ "file": "src/nodefony/src/cli/licenses.ts",
1834
+ "exported": true,
1835
+ "module": "@nodefony/core",
1836
+ "extends": null,
1837
+ "description": "Le relevé complet — ce que rendent {@link surveyLicenses} et le mode `--json`."
1838
+ },
1839
+ "refusalReason": {
1840
+ "name": "refusalReason",
1841
+ "kind": "function",
1842
+ "file": "src/nodefony/src/cli/licenses.ts",
1843
+ "exported": true,
1844
+ "module": "@nodefony/core",
1845
+ "description": "La raison d'un refus, quand la famille est connue. Le rapprochement se fait sur le PRÉFIXE de l'expression SPDX : `GPL-3.0`, `GPL-3.0-only` et `GPL-2.0-or-later` sont la même famille et appellent l…"
1846
+ },
1847
+ "duty": {
1848
+ "name": "duty",
1849
+ "kind": "function",
1850
+ "file": "src/nodefony/src/cli/licenses.ts",
1851
+ "exported": true,
1852
+ "module": "@nodefony/core",
1853
+ "description": "Ce qu'impose une licence relevée, ou le constat qu'elle n'a pas été examinée."
1854
+ },
1855
+ "accept": {
1856
+ "name": "accept",
1857
+ "kind": "function",
1858
+ "file": "src/nodefony/src/cli/licenses.ts",
1859
+ "exported": true,
1860
+ "module": "@nodefony/core",
1861
+ "description": "Décide si une licence déclarée est acceptable, et sous quel terme."
1862
+ },
1863
+ "normalizeLicense": {
1864
+ "name": "normalizeLicense",
1865
+ "kind": "function",
1866
+ "file": "src/nodefony/src/cli/licenses.ts",
1867
+ "exported": true,
1868
+ "module": "@nodefony/core",
1869
+ "description": "Rend le champ `license` d'un manifeste sous forme d'expression SPDX."
1870
+ },
1871
+ "templateRuntimeDeps": {
1872
+ "name": "templateRuntimeDeps",
1873
+ "kind": "function",
1874
+ "file": "src/nodefony/src/cli/licenses.ts",
1875
+ "exported": true,
1876
+ "module": "@nodefony/core",
1877
+ "description": "Les dépendances de production que le gabarit d'application peut poser. Le fichier est un modèle `eta` : ses clés sont lisibles telles quelles, ses valeurs non. On ne lit donc que les NOMS, dans le …"
1878
+ },
1879
+ "publishableWorkspaces": {
1880
+ "name": "publishableWorkspaces",
1881
+ "kind": "function",
1882
+ "file": "src/nodefony/src/cli/licenses.ts",
1883
+ "exported": true,
1884
+ "module": "@nodefony/core",
1885
+ "description": "Les paquets dont l'arbre de production doit être contrôlé. Dans le dépôt du framework, ce sont les espaces de travail qui partent sur npm — un espace `private` n'est jamais distribué, ses dépendanc…"
1886
+ },
1887
+ "peerPackages": {
1888
+ "name": "peerPackages",
1889
+ "kind": "function",
1890
+ "file": "src/nodefony/src/cli/licenses.ts",
1891
+ "exported": true,
1892
+ "module": "@nodefony/core",
1893
+ "description": "Les dépendances de pair déclarées par les paquets contrôlés, au premier niveau. Elles n'apparaissent dans AUCUN inventaire de npm — il ne les installe pas, l'utilisateur le fait. C'est justement po…"
1894
+ },
1895
+ "collect": {
1896
+ "name": "collect",
1897
+ "kind": "function",
1898
+ "file": "src/nodefony/src/cli/licenses.ts",
1899
+ "exported": true,
1900
+ "module": "@nodefony/core",
1901
+ "description": "Relève l'arbre de production et le réduit à `nom → licence`. La portée est la RACINE inspectée, sans restriction aux espaces de travail : `.prod` est un fait global de l'arbre (« ce paquet sert-il …"
1902
+ },
1903
+ "surveyLicenses": {
1904
+ "name": "surveyLicenses",
1905
+ "kind": "function",
1906
+ "file": "src/nodefony/src/cli/licenses.ts",
1907
+ "exported": true,
1908
+ "module": "@nodefony/core",
1909
+ "description": "Le relevé complet d'une racine — c'est l'unique porte d'entrée."
1910
+ },
1911
+ "renderReport": {
1912
+ "name": "renderReport",
1913
+ "kind": "function",
1914
+ "file": "src/nodefony/src/cli/licenses.ts",
1915
+ "exported": true,
1916
+ "module": "@nodefony/core",
1917
+ "description": "Le relevé rendu en texte, pour un humain qui lit un terminal."
1918
+ },
1919
+ "renderNotices": {
1920
+ "name": "renderNotices",
1921
+ "kind": "function",
1922
+ "file": "src/nodefony/src/cli/licenses.ts",
1923
+ "exported": true,
1924
+ "module": "@nodefony/core",
1925
+ "description": "Le relevé rendu en Markdown — le `THIRD-PARTY-NOTICES.md` d'une application. Les licences permissives (MIT, BSD, Apache-2.0) imposent toutes de conserver la notice de copyright et le texte de la li…"
1926
+ },
1927
+ "ALLOWED": {
1928
+ "name": "ALLOWED",
1929
+ "kind": "const",
1930
+ "file": "src/nodefony/src/cli/licenses.ts",
1931
+ "exported": true,
1932
+ "module": "@nodefony/core",
1933
+ "description": "Licences acceptées dans l'arbre de production, par famille. Cette liste est la DÉCISION du projet, pas un constat : une licence absente n'est pas « inconnue », elle est refusée tant que personne ne…"
1934
+ },
1935
+ "LICENSE_DUTY": {
1936
+ "name": "LICENSE_DUTY",
1937
+ "kind": "const",
1938
+ "file": "src/nodefony/src/cli/licenses.ts",
1939
+ "exported": true,
1940
+ "module": "@nodefony/core",
1941
+ "description": "Ce que chaque licence acceptée IMPOSE, en une ligne. Toutes celles de {@link ALLOWED} autorisent l'usage commercial, la modification et la redistribution dans un produit propriétaire — c'est ce qui…"
1942
+ },
1943
+ "LICENSE_REFUSAL": {
1944
+ "name": "LICENSE_REFUSAL",
1945
+ "kind": "const",
1946
+ "file": "src/nodefony/src/cli/licenses.ts",
1947
+ "exported": true,
1948
+ "module": "@nodefony/core",
1949
+ "description": "Les licences qu'on REFUSE, et la raison — celles qui arriveront un jour. Un refus qui dit seulement « hors liste » envoie chercher : l'utilisateur ouvre un texte de licence pour découvrir ce que le…"
1950
+ },
1951
+ "ALLOWED_EXPRESSIONS": {
1952
+ "name": "ALLOWED_EXPRESSIONS",
1953
+ "kind": "const",
1954
+ "file": "src/nodefony/src/cli/licenses.ts",
1955
+ "exported": true,
1956
+ "module": "@nodefony/core",
1957
+ "description": "Expressions SPDX composées que nous acceptons, avec le terme retenu. Une double licence laisse le CHOIX au redistributeur : `(BSD-3-Clause OR GPL-2.0)` est acceptable parce que nous retenons BSD-3-…"
1958
+ },
1959
+ "APP_TEMPLATE": {
1960
+ "name": "APP_TEMPLATE",
1961
+ "kind": "const",
1962
+ "file": "src/nodefony/src/cli/licenses.ts",
1963
+ "exported": true,
1964
+ "module": "@nodefony/core",
1965
+ "description": "Le gabarit d'application, dont les dépendances de production atteignent l'utilisateur sans passer par nos `package.json`. Contrôler une application une bonne fois serait une photo : elle se périmer…"
1966
+ },
1967
+ "NOTICES_FILE": {
1968
+ "name": "NOTICES_FILE",
1969
+ "kind": "const",
1970
+ "file": "src/nodefony/src/cli/licenses.ts",
1971
+ "exported": true,
1972
+ "module": "@nodefony/core",
1973
+ "description": "Le nom du relevé posé à la racine d'une application."
1974
+ },
1736
1975
  "escapeRoff": {
1737
1976
  "name": "escapeRoff",
1738
1977
  "kind": "function",
@@ -2595,6 +2834,15 @@
2595
2834
  "extends": null,
2596
2835
  "description": "Une clé `reserved` que l'app (ou l'env) a posée à une valeur non-défaut."
2597
2836
  },
2837
+ "IOverwrittenLeaf": {
2838
+ "name": "IOverwrittenLeaf",
2839
+ "kind": "interface",
2840
+ "file": "src/nodefony/src/config/configProvenance.ts",
2841
+ "exported": true,
2842
+ "module": "@nodefony/core",
2843
+ "extends": null,
2844
+ "description": "Une feuille de configuration que `override` remplace dans `base`."
2845
+ },
2598
2846
  "ConfigOrigin": {
2599
2847
  "name": "ConfigOrigin",
2600
2848
  "kind": "type",
@@ -2627,6 +2875,22 @@
2627
2875
  "module": "@nodefony/core",
2628
2876
  "description": "Trouve les clés `reserved` du JSON Schema d'un module que la config résolue a fait DÉVIER de leur défaut — i.e. qu'une application a posées en croyant régler un comportement, alors qu'elles sont in…"
2629
2877
  },
2878
+ "findOverwrittenLeaves": {
2879
+ "name": "findOverwrittenLeaves",
2880
+ "kind": "function",
2881
+ "file": "src/nodefony/src/config/configProvenance.ts",
2882
+ "exported": true,
2883
+ "module": "@nodefony/core",
2884
+ "description": "Les feuilles de `base` que `override` REMPLACE — jamais celles qu'il complète. Descend tant que les deux côtés sont des objets simples ; ailleurs, une clé présente des deux côtés avec deux valeurs …"
2885
+ },
2886
+ "aggregateProvenance": {
2887
+ "name": "aggregateProvenance",
2888
+ "kind": "function",
2889
+ "file": "src/nodefony/src/config/configProvenance.ts",
2890
+ "exported": true,
2891
+ "module": "@nodefony/core",
2892
+ "description": "L'origine d'une clé du CATALOGUE, agrégée depuis la provenance par feuille. `computeConfigProvenance` descend dans un objet dès que les deux côtés en sont un : pour un objet LIBRE (`areas`, `roleHi…"
2893
+ },
2630
2894
  "defaultAppConfig": {
2631
2895
  "name": "defaultAppConfig",
2632
2896
  "kind": "const",
@@ -2756,6 +3020,14 @@
2756
3020
  "module": "@nodefony/core",
2757
3021
  "description": "Les ÉTIQUETTES de l'environnement décrit par une source de variables. Deux notions cohabitent et ne se confondent pas : le MODE d'exécution (`NODE_ENV`, que Node et les outils lisent) et l'environn…"
2758
3022
  },
3023
+ "setRunServesTraffic": {
3024
+ "name": "setRunServesTraffic",
3025
+ "kind": "function",
3026
+ "file": "src/nodefony/src/config/defineEnv.ts",
3027
+ "exported": true,
3028
+ "module": "@nodefony/core",
3029
+ "description": "Déclare si le run en cours sert du trafic — appelé par le Kernel, et par lui seul."
3030
+ },
2759
3031
  "isEnvVarRequired": {
2760
3032
  "name": "isEnvVarRequired",
2761
3033
  "kind": "function",
@@ -3028,6 +3300,14 @@
3028
3300
  "module": "@nodefony/core",
3029
3301
  "description": "Résout les 3 infra déclarée depuis l'environnement. Fonction PURE (aucun kernel) : consommée par le Kernel (1 fois, mémoïsé), par le contexte `defineConfig` (`ctx.infra`) et par les builders de con…"
3030
3302
  },
3303
+ "durableStoreRemedy": {
3304
+ "name": "durableStoreRemedy",
3305
+ "kind": "function",
3306
+ "file": "src/nodefony/src/config/infra.ts",
3307
+ "exported": true,
3308
+ "module": "@nodefony/core",
3309
+ "description": "Le REMÈDE à nommer quand une brique durable se retrouve en mémoire. Une seule implémentation, parce qu'il y a deux causes et qu'en nommer une seule envoie corriger la mauvaise chose : conseiller « …"
3310
+ },
3031
3311
  "resolveAutoStore": {
3032
3312
  "name": "resolveAutoStore",
3033
3313
  "kind": "function",
@@ -3157,6 +3437,23 @@
3157
3437
  "module": "@nodefony/core",
3158
3438
  "description": "Schéma de la config app résolue. Exposé pour l'introspection (Studio : `z.toJSONSchema(appConfigSchema)` → panneau de config + formulaire éditable). Chaque champ porte un `.describe()` FR (rôle + d…"
3159
3439
  },
3440
+ "ISchemaLeaf": {
3441
+ "name": "ISchemaLeaf",
3442
+ "kind": "interface",
3443
+ "file": "src/nodefony/src/config/schemaCatalog.ts",
3444
+ "exported": true,
3445
+ "module": "@nodefony/core",
3446
+ "extends": null,
3447
+ "description": "Aplatissement d'un JSON Schema de configuration en CATALOGUE de réglages. ⭐ TL;DR : rend, pour un module, la liste des clés qu'on a le droit d'écrire dans `use(\"@nodefony/x\", { … })` — chemin point…"
3448
+ },
3449
+ "flattenConfigSchema": {
3450
+ "name": "flattenConfigSchema",
3451
+ "kind": "function",
3452
+ "file": "src/nodefony/src/config/schemaCatalog.ts",
3453
+ "exported": true,
3454
+ "module": "@nodefony/core",
3455
+ "description": "Aplatit un JSON Schema de module en catalogue de réglages assignables."
3456
+ },
3160
3457
  "ModuleEntryInput": {
3161
3458
  "name": "ModuleEntryInput",
3162
3459
  "kind": "interface",
@@ -3631,21 +3928,21 @@
3631
3928
  "module": "@nodefony/core",
3632
3929
  "description": "Pose `owner` + `critical` sur une fonction listener, **en place**, et la renvoie."
3633
3930
  },
3634
- "tagUnboundedListener": {
3635
- "name": "tagUnboundedListener",
3931
+ "tagCommandAction": {
3932
+ "name": "tagCommandAction",
3636
3933
  "kind": "function",
3637
3934
  "file": "src/nodefony/src/kernel/lifecycleTags.ts",
3638
3935
  "exported": true,
3639
3936
  "module": "@nodefony/core",
3640
- "description": "Marque un listener comme n'étant PAS soumis à la borne de temps du boot. 🔴 Vécu, et c'est le pire mode de panne qui soit : l'action d'une commande est câblée comme un écouteur de cycle de vie (`Co…"
3937
+ "description": "Marque un listener comme étant l'**action d'une commande** — le travail demandé — et non un hook de boot. Deux conséquences, qui découlent du même fait et ne se séparent pas : il échappe à la borne…"
3641
3938
  },
3642
- "isUnboundedListener": {
3643
- "name": "isUnboundedListener",
3939
+ "isCommandAction": {
3940
+ "name": "isCommandAction",
3644
3941
  "kind": "function",
3645
3942
  "file": "src/nodefony/src/kernel/lifecycleTags.ts",
3646
3943
  "exported": true,
3647
3944
  "module": "@nodefony/core",
3648
- "description": "Dit si un listener a été marqué par {@link tagUnboundedListener}. **Déballe le wrapper `once`** pour la même raison que {@link readListenerTags} : les actions de commande sont câblées via `kernel.o…"
3945
+ "description": "Dit si un listener a été marqué par {@link tagCommandAction}. **Déballe le wrapper `once`** pour la même raison que {@link readListenerTags} : les actions de commande sont câblées via `kernel.once(…"
3649
3946
  },
3650
3947
  "readListenerTags": {
3651
3948
  "name": "readListenerTags",
@@ -4849,6 +5146,14 @@
4849
5146
  "extends": null,
4850
5147
  "description": "Ordonnanceur de **maintenance périodique** (« garbage collection ») exécutée HORS du chemin d'une requête — pattern unifié du framework pour purger des entrées expirées d'un store (sessions, jetons…"
4851
5148
  },
5149
+ "identityHint": {
5150
+ "name": "identityHint",
5151
+ "kind": "function",
5152
+ "file": "src/nodefony/src/runtime/identityHint.ts",
5153
+ "exported": true,
5154
+ "module": "@nodefony/core",
5155
+ "description": "Le geste qui donne une IDENTITÉ dans cette application — ou `null`. Protéger une route est immédiat : un décorateur, et le générateur le pose. L'APPELER ensuite ne l'est pas, et c'est le trou qu'on…"
5156
+ },
4852
5157
  "ILoadEnvOptions": {
4853
5158
  "name": "ILoadEnvOptions",
4854
5159
  "kind": "interface",
@@ -8953,8 +9258,8 @@
8953
9258
  "extends": null,
8954
9259
  "description": "Ce que le contrôle a pu regarder — et ce qu'il n'a PAS pu."
8955
9260
  },
8956
- "IPortProbe": {
8957
- "name": "IPortProbe",
9261
+ "IInfraProbe": {
9262
+ "name": "IInfraProbe",
8958
9263
  "kind": "interface",
8959
9264
  "file": "src/nodefony/src/kernel/checks/readiness.ts",
8960
9265
  "exported": true,
@@ -8962,6 +9267,23 @@
8962
9267
  "extends": null,
8963
9268
  "description": "Le VERDICT d'une sonde de port, injecté — jamais mesuré ici. Une capacité se CONSTATE et se transmet ; la faire mesurer par la règle l'aurait rendue inéprouvable sans ouvrir de vrais ports, donc no…"
8964
9269
  },
9270
+ "IInfraTarget": {
9271
+ "name": "IInfraTarget",
9272
+ "kind": "interface",
9273
+ "file": "src/nodefony/src/kernel/checks/readiness.ts",
9274
+ "exported": true,
9275
+ "module": "@nodefony/core",
9276
+ "extends": null,
9277
+ "description": "Une infrastructure déclarée, telle que la sonde l'a lue."
9278
+ },
9279
+ "IPortProbe": {
9280
+ "name": "IPortProbe",
9281
+ "kind": "interface",
9282
+ "file": "src/nodefony/src/kernel/checks/readiness.ts",
9283
+ "exported": true,
9284
+ "module": "@nodefony/core",
9285
+ "extends": null
9286
+ },
8965
9287
  "ITrackedEnvProbe": {
8966
9288
  "name": "ITrackedEnvProbe",
8967
9289
  "kind": "interface",
@@ -9012,7 +9334,7 @@
9012
9334
  "module": "@nodefony/core",
9013
9335
  "description": "Regroupe les contrôles sautés qui partagent la MÊME raison. Hors d'une application, quatre familles sont sautées pour un seul et même motif. Les énumérer une par une répète quatre fois la même phra…"
9014
9336
  },
9015
- "renderReport": {
9337
+ "@nodefony/core:renderReport": {
9016
9338
  "name": "renderReport",
9017
9339
  "kind": "function",
9018
9340
  "file": "src/nodefony/src/kernel/checks/renderReport.ts",
@@ -9418,13 +9740,87 @@
9418
9740
  "module": "@nodefony/core",
9419
9741
  "description": "Rend le rapport de `doctor` alors que l'application vient d'échouer à démarrer. 🔴 C'est le cas POUR lequel la commande existe. `--live` sort du fast-path et demande un boot : sans ce chemin, une a…"
9420
9742
  },
9743
+ "IManifestReader": {
9744
+ "name": "IManifestReader",
9745
+ "kind": "interface",
9746
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9747
+ "exported": true,
9748
+ "module": "@nodefony/core",
9749
+ "extends": null,
9750
+ "description": "De quoi lire une arborescence — le disque, ou ce qu'un scaffold s'apprête à écrire. L'injection n'est pas un confort de test : le générateur travaille sur des fichiers EN ATTENTE (`ScaffoldWriter`,…"
9751
+ },
9752
+ "IManifestSource": {
9753
+ "name": "IManifestSource",
9754
+ "kind": "interface",
9755
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9756
+ "exported": true,
9757
+ "module": "@nodefony/core",
9758
+ "extends": null,
9759
+ "description": "Un fichier du manifeste, et son texte."
9760
+ },
9421
9761
  "withoutComments": {
9422
9762
  "name": "withoutComments",
9423
9763
  "kind": "function",
9424
9764
  "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9425
9765
  "exported": true,
9426
9766
  "module": "@nodefony/core",
9427
- "description": "Le texte d'une source, tel que les contrôles de `doctor` doivent le lire. 🔴 Cette règle était écrite TROIS fois — `surface`, `readiness`, `wiring` — et elle avait déjà divergé : deux copies coupai…"
9767
+ "description": "Le CODE d'une source : son texte privé de ses commentaires. Un contrôle qui lit le texte brut accuse la documentation qu'il croise. Le cas est vécu, et il n'est pas théorique : le contrôleur écrit …"
9768
+ },
9769
+ "isReservedFragmentName": {
9770
+ "name": "isReservedFragmentName",
9771
+ "kind": "function",
9772
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9773
+ "exported": true,
9774
+ "module": "@nodefony/core",
9775
+ "description": "Le nom appartient-il au chargement d'un MODULE, et non à un fragment ? `config.ts` et `*.config.ts` sont ce qu'un module importe lui-même (`nodefony create module` les produit) ; un fragment de man…"
9776
+ },
9777
+ "reservedFragmentFiles": {
9778
+ "name": "reservedFragmentFiles",
9779
+ "kind": "function",
9780
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9781
+ "exported": true,
9782
+ "module": "@nodefony/core",
9783
+ "description": "Les fichiers de `<app>/nodefony/config/` qui portent un nom RÉSERVÉ — hors sous-dossiers, dont `cluster/`, lu par chemin par le process maître. Un tel fichier est ignoré par tous les lecteurs du ma…"
9784
+ },
9785
+ "fragmentsWithoutSatisfies": {
9786
+ "name": "fragmentsWithoutSatisfies",
9787
+ "kind": "function",
9788
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9789
+ "exported": true,
9790
+ "module": "@nodefony/core",
9791
+ "description": "Les fragments qui rendent une configuration SANS `satisfies`. ## Pourquoi cette garde existe Écrite dans le manifeste, `use(\"@nodefony/http\", { … })` fait vérifier le littéral AU POINT D'APPEL : un…"
9792
+ },
9793
+ "readManifestSources": {
9794
+ "name": "readManifestSources",
9795
+ "kind": "function",
9796
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9797
+ "exported": true,
9798
+ "module": "@nodefony/core",
9799
+ "description": "Rend TOUS les textes qui composent le manifeste d'une application. ⭐ TL;DR : `nodefony.config.ts` d'abord, puis les fragments de `nodefony/config/*.ts`. Tout contrôle qui cherche un motif dans « la…"
9800
+ },
9801
+ "manifestFileWith": {
9802
+ "name": "manifestFileWith",
9803
+ "kind": "function",
9804
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9805
+ "exported": true,
9806
+ "module": "@nodefony/core",
9807
+ "description": "Le fichier du manifeste qui porte un motif — celui qu'un ÉCRIVAIN doit modifier. Lire suffit à concaténer les sources ; écrire non. Le générateur ancre `roleHierarchy` et lit `connectors` : le jour…"
9808
+ },
9809
+ "readManifestCode": {
9810
+ "name": "readManifestCode",
9811
+ "kind": "function",
9812
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9813
+ "exported": true,
9814
+ "module": "@nodefony/core",
9815
+ "description": "Le CODE du manifeste entier — racine puis fragments, commentaires retirés, concaténés — pour les lecteurs qui cherchent un motif sans avoir à savoir quel fichier le porte (`security:secrets`, l'éta…"
9816
+ },
9817
+ "diskManifestReader": {
9818
+ "name": "diskManifestReader",
9819
+ "kind": "const",
9820
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9821
+ "exported": true,
9822
+ "module": "@nodefony/core",
9823
+ "description": "LE lecteur du disque — l'implémentation unique que les contrôles, le scaffold hors simulation et les bancs passent à {@link readManifestSources}. Il était recopié trois fois (`surface`, `wiring`, u…"
9428
9824
  },
9429
9825
  "IOpening": {
9430
9826
  "name": "IOpening",
@@ -9749,6 +10145,17 @@
9749
10145
  "implements": [],
9750
10146
  "decorators": []
9751
10147
  },
10148
+ "Licenses": {
10149
+ "name": "Licenses",
10150
+ "kind": "class",
10151
+ "file": "src/nodefony/src/kernel/commands/LicensesCommand.ts",
10152
+ "exported": true,
10153
+ "module": "@nodefony/core",
10154
+ "extends": "Command",
10155
+ "implements": [],
10156
+ "decorators": [],
10157
+ "description": "Commande `nodefony licenses` — ce que l'application redistribue, et sous quelle licence. Les licences permissives (MIT, BSD, Apache-2.0) imposent toutes de conserver la notice de copyright et le te…"
10158
+ },
9752
10159
  "Menu": {
9753
10160
  "name": "Menu",
9754
10161
  "kind": "class",
@@ -11668,6 +12075,22 @@
11668
12075
  "module": "@nodefony/core",
11669
12076
  "description": "Construit l'en-tête `Authorization: Basic …` si un utilisateur est fourni — sinon objet vide (dev = plugin sécurité désactivé, HTTP sans auth). Node-only (`Buffer`)."
11670
12077
  },
12078
+ "toOpenSearchDocument": {
12079
+ "name": "toOpenSearchDocument",
12080
+ "kind": "function",
12081
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
12082
+ "exported": true,
12083
+ "module": "@nodefony/core",
12084
+ "description": "Le document indexé : l'enregistrement wire, plus `@timestamp` en ISO 8601. `timeStamp` (entier) est CONSERVÉ : c'est lui que le pilote de relecture du framework filtre et trie, et le retirer répare…"
12085
+ },
12086
+ "buildIndexTemplate": {
12087
+ "name": "buildIndexTemplate",
12088
+ "kind": "function",
12089
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
12090
+ "exported": true,
12091
+ "module": "@nodefony/core",
12092
+ "description": "Le modèle d'index qui DÉCLARE le type des champs, au lieu de le laisser deviner. Sans lui, le correctif du transport ne tient que sur les index qui existent déjà : un déploiement vierge crée son in…"
12093
+ },
11671
12094
  "DEFAULT_OPENSEARCH_INDEX": {
11672
12095
  "name": "DEFAULT_OPENSEARCH_INDEX",
11673
12096
  "kind": "const",
@@ -11676,6 +12099,22 @@
11676
12099
  "module": "@nodefony/core",
11677
12100
  "description": "Index OpenSearch par défaut des logs Nodefony (write transport ↔ read driver)."
11678
12101
  },
12102
+ "OPENSEARCH_TIMESTAMP_FIELD": {
12103
+ "name": "OPENSEARCH_TIMESTAMP_FIELD",
12104
+ "kind": "const",
12105
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
12106
+ "exported": true,
12107
+ "module": "@nodefony/core",
12108
+ "description": "Le champ temporel que TOUT l'écosystème attend — Grafana, les tableaux de bord OpenSearch, les motifs d'index. 🔴 Ce n'est pas une préférence de nommage, c'est une condition d'existence de la vue c…"
12109
+ },
12110
+ "OPENSEARCH_TEMPLATE_NAME": {
12111
+ "name": "OPENSEARCH_TEMPLATE_NAME",
12112
+ "kind": "const",
12113
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
12114
+ "exported": true,
12115
+ "module": "@nodefony/core",
12116
+ "description": "Nom du modèle d'index posé par le transport."
12117
+ },
11679
12118
  "FlowStepMeta": {
11680
12119
  "name": "FlowStepMeta",
11681
12120
  "kind": "interface",
@@ -12874,16 +13313,16 @@
12874
13313
  "implements": [],
12875
13314
  "decorators": []
12876
13315
  },
12877
- "DevkitConfigInput": {
12878
- "name": "DevkitConfigInput",
13316
+ "IDevkitConfigInput": {
13317
+ "name": "IDevkitConfigInput",
12879
13318
  "kind": "type",
12880
13319
  "file": "src/packages/@nodefony/devkit/nodefony/config/config.ts",
12881
13320
  "exported": true,
12882
13321
  "module": "@nodefony/devkit",
12883
13322
  "description": "Config telle que l'APP l'écrit dans `use()` — tous les champs optionnels."
12884
13323
  },
12885
- "DevkitConfig": {
12886
- "name": "DevkitConfig",
13324
+ "IDevkitConfig": {
13325
+ "name": "IDevkitConfig",
12887
13326
  "kind": "type",
12888
13327
  "file": "src/packages/@nodefony/devkit/nodefony/config/config.ts",
12889
13328
  "exported": true,
@@ -13002,16 +13441,16 @@
13002
13441
  ],
13003
13442
  "description": "Service principal du module — la logique vit ici, pas dans les controllers (un controller traduit du HTTP/WS ; un service, lui, est réutilisable par la CLI, un job, un autre module). Cycle : `const…"
13004
13443
  },
13005
- "DocumentationConfig": {
13006
- "name": "DocumentationConfig",
13444
+ "IDocumentationConfig": {
13445
+ "name": "IDocumentationConfig",
13007
13446
  "kind": "type",
13008
13447
  "file": "src/packages/@nodefony/documentation/nodefony/config/config.ts",
13009
13448
  "exported": true,
13010
13449
  "module": "@nodefony/documentation",
13011
13450
  "description": "Type de sortie (config normalisée + défauts appliqués)."
13012
13451
  },
13013
- "DocumentationConfigInput": {
13014
- "name": "DocumentationConfigInput",
13452
+ "IDocumentationConfigInput": {
13453
+ "name": "IDocumentationConfigInput",
13015
13454
  "kind": "type",
13016
13455
  "file": "src/packages/@nodefony/documentation/nodefony/config/config.ts",
13017
13456
  "exported": true,
@@ -13444,8 +13883,8 @@
13444
13883
  "module": "@nodefony/drizzle",
13445
13884
  "description": "Conduite face à une base qui a divergé du schéma déclaré."
13446
13885
  },
13447
- "DrizzleConfig": {
13448
- "name": "DrizzleConfig",
13886
+ "IDrizzleConfig": {
13887
+ "name": "IDrizzleConfig",
13449
13888
  "kind": "type",
13450
13889
  "file": "src/packages/@nodefony/drizzle/nodefony/config/config.ts",
13451
13890
  "exported": true,
@@ -14003,7 +14442,7 @@
14003
14442
  "module": "@nodefony/drizzle",
14004
14443
  "description": "Nom logique de l'entité (clé de lookup `getRepository`)."
14005
14444
  },
14006
- "IDrizzleConfig": {
14445
+ "@nodefony/drizzle:IDrizzleConfig": {
14007
14446
  "name": "IDrizzleConfig",
14008
14447
  "kind": "type",
14009
14448
  "file": "src/packages/@nodefony/drizzle/nodefony/interfaces/IDrizzleConfig.ts",
@@ -14383,16 +14822,16 @@
14383
14822
  "decorators": [],
14384
14823
  "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…"
14385
14824
  },
14386
- "FrameworkConfig": {
14387
- "name": "FrameworkConfig",
14825
+ "IFrameworkConfig": {
14826
+ "name": "IFrameworkConfig",
14388
14827
  "kind": "type",
14389
14828
  "file": "src/packages/@nodefony/framework/nodefony/config/config.ts",
14390
14829
  "exported": true,
14391
14830
  "module": "@nodefony/framework",
14392
14831
  "description": "Type de sortie (config normalisée + défauts appliqués)."
14393
14832
  },
14394
- "FrameworkConfigInput": {
14395
- "name": "FrameworkConfigInput",
14833
+ "IFrameworkConfigInput": {
14834
+ "name": "IFrameworkConfigInput",
14396
14835
  "kind": "type",
14397
14836
  "file": "src/packages/@nodefony/framework/nodefony/config/config.ts",
14398
14837
  "exported": true,
@@ -15863,6 +16302,15 @@
15863
16302
  "extends": null,
15864
16303
  "description": "Entrée config d'un module : valeurs redactées + schéma + provenance par champ."
15865
16304
  },
16305
+ "ISchemaCatalogRow": {
16306
+ "name": "ISchemaCatalogRow",
16307
+ "kind": "interface",
16308
+ "file": "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts",
16309
+ "exported": true,
16310
+ "module": "@nodefony/framework",
16311
+ "extends": null,
16312
+ "description": "Une clé assignable du catalogue de configuration — ce qu'on a le DROIT d'écrire, par opposition à {@link IConfigEntry} qui dit ce QUI EST écrit. Les noms de champs deviennent les en-têtes de colonn…"
16313
+ },
15866
16314
  "safeConfig": {
15867
16315
  "name": "safeConfig",
15868
16316
  "kind": "function",
@@ -16149,8 +16597,8 @@
16149
16597
  "decorators": [],
16150
16598
  "description": "`nodefony frontend:status` — lit l'état du superviseur Vite. Utilisé par Vision (Phase 10) pour afficher l'état du builder dans son tableau de bord admin."
16151
16599
  },
16152
- "FrontendConfig": {
16153
- "name": "FrontendConfig",
16600
+ "IFrontendConfig": {
16601
+ "name": "IFrontendConfig",
16154
16602
  "kind": "type",
16155
16603
  "file": "src/packages/@nodefony/frontend/nodefony/config/config.ts",
16156
16604
  "exported": true,
@@ -16455,6 +16903,14 @@
16455
16903
  "module": "@nodefony/frontend",
16456
16904
  "description": "Hôte utilisable par un NAVIGATEUR pour une adresse d'écoute donnée. `0.0.0.0`/`::` sont des adresses d'ÉCOUTE (toutes interfaces), pas des destinations : dérivées telles quelles dans une URL, elles…"
16457
16905
  },
16906
+ "isLoopbackHostname": {
16907
+ "name": "isLoopbackHostname",
16908
+ "kind": "function",
16909
+ "file": "src/packages/@nodefony/frontend/nodefony/src/remoteDev.ts",
16910
+ "exported": true,
16911
+ "module": "@nodefony/frontend",
16912
+ "description": "Le client est-il arrivé par la BOUCLE LOCALE de la machine qui sert ? Ce n'est pas une commodité : c'est un fait vérifiable qui prime sur toute déduction faite au démarrage. Une plateforme de dev d…"
16913
+ },
16458
16914
  "isValidOriginTemplate": {
16459
16915
  "name": "isValidOriginTemplate",
16460
16916
  "kind": "function",
@@ -16554,16 +17010,16 @@
16554
17010
  "decorators": [],
16555
17011
  "description": "Commande CLI `proxy:generate <nginx|haproxy>` — génère une configuration reverse-proxy DÉRIVÉE de l'introspection Nodefony (domaines de confiance, dossiers statiques servis, ports). Évite d'écrire …"
16556
17012
  },
16557
- "HttpConfig": {
16558
- "name": "HttpConfig",
17013
+ "IHttpConfig": {
17014
+ "name": "IHttpConfig",
16559
17015
  "kind": "type",
16560
17016
  "file": "src/packages/@nodefony/http/nodefony/config/config.ts",
16561
17017
  "exported": true,
16562
17018
  "module": "@nodefony/http",
16563
17019
  "description": "Type de sortie (config normalisée + défauts appliqués)."
16564
17020
  },
16565
- "HttpConfigInput": {
16566
- "name": "HttpConfigInput",
17021
+ "IHttpConfigInput": {
17022
+ "name": "IHttpConfigInput",
16567
17023
  "kind": "type",
16568
17024
  "file": "src/packages/@nodefony/http/nodefony/config/config.ts",
16569
17025
  "exported": true,
@@ -16767,22 +17223,6 @@
16767
17223
  "extends": null,
16768
17224
  "description": "Unified error rendering contract — HTTP + WebSocket. The default implementation preserves the legacy Nodefony JSON error shape: { code, message, error: HttpError.toJSON(), nodefony: { requestId, sc…"
16769
17225
  },
16770
- "IHttpConfig": {
16771
- "name": "IHttpConfig",
16772
- "kind": "type",
16773
- "file": "src/packages/@nodefony/http/nodefony/interfaces/IHttpConfig.ts",
16774
- "exported": true,
16775
- "module": "@nodefony/http",
16776
- "description": "Configuration validée de `@nodefony/http` (sortie du parse Zod + défauts kernel appliqués par le builder). Source de vérité = `../config/config.ts`."
16777
- },
16778
- "IHttpConfigInput": {
16779
- "name": "IHttpConfigInput",
16780
- "kind": "type",
16781
- "file": "src/packages/@nodefony/http/nodefony/interfaces/IHttpConfig.ts",
16782
- "exported": true,
16783
- "module": "@nodefony/http",
16784
- "description": "Configuration brute fournie par l'application (toutes sections optionnelles — les sections omises reçoivent leurs défauts). Entrée du builder {@link import(\"../config/defineModuleConfig\").defineHtt…"
16785
- },
16786
17226
  "IHttpKernel": {
16787
17227
  "name": "IHttpKernel",
16788
17228
  "kind": "interface",
@@ -17063,13 +17503,14 @@
17063
17503
  "decorators": [],
17064
17504
  "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…"
17065
17505
  },
17066
- "OpensslOptions": {
17067
- "name": "OpensslOptions",
17506
+ "SelfSignedOptions": {
17507
+ "name": "SelfSignedOptions",
17068
17508
  "kind": "interface",
17069
17509
  "file": "src/packages/@nodefony/http/nodefony/service/certificates.ts",
17070
17510
  "exported": true,
17071
17511
  "module": "@nodefony/http",
17072
- "extends": null
17512
+ "extends": null,
17513
+ "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…"
17073
17514
  },
17074
17515
  "CertificateDevOptions": {
17075
17516
  "name": "CertificateDevOptions",
@@ -17610,8 +18051,8 @@
17610
18051
  "module": "@nodefony/memory",
17611
18052
  "extends": null
17612
18053
  },
17613
- "MongooseConfig": {
17614
- "name": "MongooseConfig",
18054
+ "IMongooseConfig": {
18055
+ "name": "IMongooseConfig",
17615
18056
  "kind": "type",
17616
18057
  "file": "src/packages/@nodefony/mongoose/nodefony/config/config.ts",
17617
18058
  "exported": true,
@@ -17851,7 +18292,7 @@
17851
18292
  "module": "@nodefony/mongoose",
17852
18293
  "description": "Nom logique de l'entité (clé de lookup `getRepository`)."
17853
18294
  },
17854
- "IMongooseConfig": {
18295
+ "@nodefony/mongoose:IMongooseConfig": {
17855
18296
  "name": "IMongooseConfig",
17856
18297
  "kind": "type",
17857
18298
  "file": "src/packages/@nodefony/mongoose/nodefony/interfaces/IMongooseConfig.ts",
@@ -18854,8 +19295,8 @@
18854
19295
  ],
18855
19296
  "decorators": []
18856
19297
  },
18857
- "RealtimeConfig": {
18858
- "name": "RealtimeConfig",
19298
+ "IRealtimeSchemaConfig": {
19299
+ "name": "IRealtimeSchemaConfig",
18859
19300
  "kind": "type",
18860
19301
  "file": "src/packages/@nodefony/realtime/nodefony/config/config.ts",
18861
19302
  "exported": true,
@@ -19226,8 +19667,8 @@
19226
19667
  "module": "@nodefony/realtime",
19227
19668
  "description": "Monte un controller temps réel sur une fausse connexion et rend de quoi le piloter. La fabrique reçoit le contexte à passer au constructeur : c'est la seule chose que le harnais ne peut pas deviner…"
19228
19669
  },
19229
- "RedisConfig": {
19230
- "name": "RedisConfig",
19670
+ "IRedisConfig": {
19671
+ "name": "IRedisConfig",
19231
19672
  "kind": "type",
19232
19673
  "file": "src/packages/@nodefony/redis/nodefony/config/config.ts",
19233
19674
  "exported": true,
@@ -19257,7 +19698,7 @@
19257
19698
  "module": "@nodefony/redis",
19258
19699
  "description": "JSON Schema introspectable de la config Redis — destiné au formulaire d'édition Studio (futur) et à la documentation générée."
19259
19700
  },
19260
- "IRedisConfig": {
19701
+ "@nodefony/redis:IRedisConfig": {
19261
19702
  "name": "IRedisConfig",
19262
19703
  "kind": "type",
19263
19704
  "file": "src/packages/@nodefony/redis/nodefony/interfaces/IRedisConfig.ts",
@@ -19449,6 +19890,14 @@
19449
19890
  "decorators": [],
19450
19891
  "description": "`nodefony security:user:add [identifier]` — crée un compte utilisateur via le service applicatif `users` (hash Argon2id fait par `UserService.createUser`, jamais de mot de passe stocké en clair). I…"
19451
19892
  },
19893
+ "AUTH_LOGIN_PATH": {
19894
+ "name": "AUTH_LOGIN_PATH",
19895
+ "kind": "const",
19896
+ "file": "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
19897
+ "exported": true,
19898
+ "module": "@nodefony/security",
19899
+ "description": "La route qui échange un compte contre une SESSION — le geste qui manquait. Créer un compte ne sert à rien tant qu'on ne sait pas s'en servir : mesuré, 33 minutes d'un essai réel se sont passées ent…"
19900
+ },
19452
19901
  "SecurityUserDelete": {
19453
19902
  "name": "SecurityUserDelete",
19454
19903
  "kind": "class",
@@ -19471,6 +19920,17 @@
19471
19920
  "decorators": [],
19472
19921
  "description": "`nodefony security:user:list` — qui a un compte dans cette application. **Lister n'est pas une fuite, et c'était la question.** Cette commande s'exécute sur la machine qui possède déjà la base : el…"
19473
19922
  },
19923
+ "SecurityUserPassword": {
19924
+ "name": "SecurityUserPassword",
19925
+ "kind": "class",
19926
+ "file": "src/packages/@nodefony/security/nodefony/command/security-user-password.ts",
19927
+ "exported": true,
19928
+ "module": "@nodefony/security",
19929
+ "extends": "Command",
19930
+ "implements": [],
19931
+ "decorators": [],
19932
+ "description": "`nodefony security:user:password [identifiant]` — change le mot de passe d'un compte. Le geste d'exploitation qui manquait : `user:add`, `user:list` et `user:delete` existaient, mais un mot de pass…"
19933
+ },
19474
19934
  "ISecurityConfigInput": {
19475
19935
  "name": "ISecurityConfigInput",
19476
19936
  "kind": "type",
@@ -20234,6 +20694,15 @@
20234
20694
  "decorators": [],
20235
20695
  "description": "**Social login OAuth 2.0** (P6 J9) — orchestrateur du flux *Authorization Code*. Posture OAuth 2.1 (RFC 9700) : Authorization Code uniquement (jamais implicit / ROPC), **PKCE S256** quand le fourni…"
20236
20696
  },
20697
+ "IOAuthDisplayProvider": {
20698
+ "name": "IOAuthDisplayProvider",
20699
+ "kind": "interface",
20700
+ "file": "src/packages/@nodefony/security/nodefony/service/oauth2.ts",
20701
+ "exported": true,
20702
+ "module": "@nodefony/security",
20703
+ "extends": null,
20704
+ "description": "Un fournisseur tel que l'écran de connexion doit le présenter."
20705
+ },
20237
20706
  "IOAuthAuthorization": {
20238
20707
  "name": "IOAuthAuthorization",
20239
20708
  "kind": "interface",
@@ -20243,6 +20712,14 @@
20243
20712
  "extends": null,
20244
20713
  "description": "Données à porter en session entre `authorize` et `callback` (anti-replay)."
20245
20714
  },
20715
+ "oauthDisplayLabel": {
20716
+ "name": "oauthDisplayLabel",
20717
+ "kind": "function",
20718
+ "file": "src/packages/@nodefony/security/nodefony/service/oauth2.ts",
20719
+ "exported": true,
20720
+ "module": "@nodefony/security",
20721
+ "description": "Libellé affichable d'un fournisseur, quand sa configuration n'en donne pas. Un écran de connexion ne doit JAMAIS montrer un identifiant technique brut : `mon-idp-interne` sur un bouton ne dit rien …"
20722
+ },
20246
20723
  "SecurityHeaders": {
20247
20724
  "name": "SecurityHeaders",
20248
20725
  "kind": "class",
@@ -20436,6 +20913,37 @@
20436
20913
  "module": "@nodefony/security",
20437
20914
  "description": "Résout l'identité portée par une session (l'identifiant stocké dans le blob) en utilisateur VIVANT — re-fetch systématique auprès du provider. C'est LE choix structurant de la session BFF : la sess…"
20438
20915
  },
20916
+ "IStudioConfig": {
20917
+ "name": "IStudioConfig",
20918
+ "kind": "type",
20919
+ "file": "src/packages/@nodefony/studio/nodefony/config/config.ts",
20920
+ "exported": true,
20921
+ "module": "@nodefony/studio",
20922
+ "description": "Type de sortie (config normalisée + défauts appliqués)."
20923
+ },
20924
+ "studioConfigSchema": {
20925
+ "name": "studioConfigSchema",
20926
+ "kind": "const",
20927
+ "file": "src/packages/@nodefony/studio/nodefony/config/config.ts",
20928
+ "exported": true,
20929
+ "module": "@nodefony/studio"
20930
+ },
20931
+ "defineStudioConfig": {
20932
+ "name": "defineStudioConfig",
20933
+ "kind": "function",
20934
+ "file": "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts",
20935
+ "exported": true,
20936
+ "module": "@nodefony/studio",
20937
+ "description": "Builder type-safe de la configuration de `@nodefony/studio`. ⭐ TL;DR : MACHINERIE DE BOOT — on n'édite (presque) jamais ce fichier. Même pattern que `nodefony.config.ts` ↔ `defineConfig()` du core …"
20938
+ },
20939
+ "studioConfigJsonSchema": {
20940
+ "name": "studioConfigJsonSchema",
20941
+ "kind": "function",
20942
+ "file": "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts",
20943
+ "exported": true,
20944
+ "module": "@nodefony/studio",
20945
+ "description": "JSON Schema introspectable de la config Studio — destiné au formulaire d'édition Studio et à la documentation générée."
20946
+ },
20439
20947
  "StudioController": {
20440
20948
  "name": "StudioController",
20441
20949
  "kind": "class",
@@ -20475,6 +20983,22 @@
20475
20983
  ],
20476
20984
  "description": "StudioRealtimeController — endpoint WebSocket temps réel permanent de Studio. Route : `WS /nodefony/studio/api/realtime`. Protocole : **JSON-RPC 2.0**. Dérive de {@link RealtimeController} (framewo…"
20477
20985
  },
20986
+ "@nodefony/studio:IStudioConfig": {
20987
+ "name": "IStudioConfig",
20988
+ "kind": "type",
20989
+ "file": "src/packages/@nodefony/studio/nodefony/interfaces/IStudioConfig.ts",
20990
+ "exported": true,
20991
+ "module": "@nodefony/studio",
20992
+ "description": "Configuration normalisée et gelée de `@nodefony/studio` (sortie du builder `defineStudioConfig`, lue par le module et ses controllers). Type dérivé du schéma Zod — NE PAS redéclarer les champs à la…"
20993
+ },
20994
+ "IStudioConfigInput": {
20995
+ "name": "IStudioConfigInput",
20996
+ "kind": "type",
20997
+ "file": "src/packages/@nodefony/studio/nodefony/interfaces/IStudioConfig.ts",
20998
+ "exported": true,
20999
+ "module": "@nodefony/studio",
21000
+ "description": "Entrée du builder `defineStudioConfig` — tous les champs portant un défaut sont optionnels (l'app ne fournit que ce qu'elle surcharge). C'est CE type que le registre `NodefonyModuleConfig` enregist…"
21001
+ },
20478
21002
  "createClusterOrmTicker": {
20479
21003
  "name": "createClusterOrmTicker",
20480
21004
  "kind": "function",
@@ -22684,6 +23208,14 @@
22684
23208
  "decorators": [],
22685
23209
  "description": "Construit la config Vite finale à partir des entrées résolues et des presets. Le builder ne lance JAMAIS Vite — il fournit uniquement la config. Le démarrage est délégué au superviseur (child_proce…"
22686
23210
  },
23211
+ "resolveDedupe": {
23212
+ "name": "resolveDedupe",
23213
+ "kind": "function",
23214
+ "file": "src/packages/@nodefony/frontend/nodefony/src/builders/ViteBuilder.ts",
23215
+ "exported": true,
23216
+ "module": "@nodefony/frontend",
23217
+ "description": "Les paquets à dédupliquer pour un lot de préréglages — la règle, isolée. Pure et exportée pour DEUX raisons. Elle ne dépend que des préréglages utilisés : la faire passer par `buildViteConfig` obli…"
23218
+ },
22687
23219
  "FrontendError": {
22688
23220
  "name": "FrontendError",
22689
23221
  "kind": "class",
@@ -23085,8 +23617,8 @@
23085
23617
  "module": "@nodefony/http",
23086
23618
  "description": "Un pattern de domaine : string (exact ou `*`-wildcard) ou `RegExp` (libre)."
23087
23619
  },
23088
- "TrustedHostsConfig": {
23089
- "name": "TrustedHostsConfig",
23620
+ "ITrustedHostsConfig": {
23621
+ "name": "ITrustedHostsConfig",
23090
23622
  "kind": "type",
23091
23623
  "file": "src/packages/@nodefony/http/nodefony/src/context/domainMatcher.ts",
23092
23624
  "exported": true,
@@ -23117,6 +23649,14 @@
23117
23649
  "module": "@nodefony/http",
23118
23650
  "description": "Construit la liste `RegExp` de la barrière `trustedHosts` (kernel, avant routing). Toujours : le domaine canonique (`kernel.domain`). En development : + loopback (`localhost`/`127.0.0.1`/`[::1]`) p…"
23119
23651
  },
23652
+ "resolveTrustedHostNames": {
23653
+ "name": "resolveTrustedHostNames",
23654
+ "kind": "function",
23655
+ "file": "src/packages/@nodefony/http/nodefony/src/context/domainMatcher.ts",
23656
+ "exported": true,
23657
+ "module": "@nodefony/http",
23658
+ "description": "Rend les NOMS d'hôtes que la barrière `trustedHosts` accepte — la même politique que {@link compileTrustedHosts}, mais lisible par un humain ou par un générateur de configuration (`server_name` ngi…"
23659
+ },
23120
23660
  "isDomainAllowed": {
23121
23661
  "name": "isDomainAllowed",
23122
23662
  "kind": "function",
@@ -23412,6 +23952,15 @@
23412
23952
  "extends": null,
23413
23953
  "description": "Générateurs de configuration reverse-proxy (nginx / haproxy) DÉRIVÉE de l'introspection Nodefony — fonctions PURES (aucun accès kernel/fs), testables et sérialisables. Le câblage (lecture des servi…"
23414
23954
  },
23955
+ "ProxyTlsTermination": {
23956
+ "name": "ProxyTlsTermination",
23957
+ "kind": "interface",
23958
+ "file": "src/packages/@nodefony/http/nodefony/src/proxy/generateProxyConfig.ts",
23959
+ "exported": true,
23960
+ "module": "@nodefony/http",
23961
+ "extends": null,
23962
+ "description": "Terminaison TLS au frontal — **nginx uniquement**. Les chemins sont ceux vus par le PROXY à l'exécution, jamais ceux de la machine qui a généré la configuration : une clé privée n'entre pas dans un…"
23963
+ },
23415
23964
  "ProxyIntrospection": {
23416
23965
  "name": "ProxyIntrospection",
23417
23966
  "kind": "interface",
@@ -25298,6 +25847,14 @@
25298
25847
  "decorators": [],
25299
25848
  "description": "Keystore Ed25519 — implémentation de référence d'{@link IJwtKeystore}. Résout la clé de signature selon une **priorité** (jamais d'auto-génération en clair « par défaut » en prod) : 1. **env** — `c…"
25300
25849
  },
25850
+ "keystoreLeaksIntoImage": {
25851
+ "name": "keystoreLeaksIntoImage",
25852
+ "kind": "function",
25853
+ "file": "src/packages/@nodefony/security/nodefony/src/token/JwtKeystore.ts",
25854
+ "exported": true,
25855
+ "module": "@nodefony/security",
25856
+ "description": "Le trousseau va-t-il partir dans l'image de conteneur ? ⭐ **Pourquoi cet avertissement existe.** Le trousseau est une clé privée Ed25519. Elle ne sort pas de l'image aujourd'hui pour UNE seule rais…"
25857
+ },
25301
25858
  "IJwtRuntime": {
25302
25859
  "name": "IJwtRuntime",
25303
25860
  "kind": "interface",
@@ -26931,6 +27488,7 @@
26931
27488
  ],
26932
27489
  "Error": [
26933
27490
  "nodefonyError",
27491
+ "LicenseInventoryError",
26934
27492
  "BootConfigurationError",
26935
27493
  "RpcError",
26936
27494
  "TimeoutError",
@@ -27063,6 +27621,7 @@
27063
27621
  "GitHooks",
27064
27622
  "Inspect",
27065
27623
  "Install",
27624
+ "Licenses",
27066
27625
  "Menu",
27067
27626
  "Outdated",
27068
27627
  "Prod",
@@ -27083,7 +27642,8 @@
27083
27642
  "SecurityToken",
27084
27643
  "SecurityUserAdd",
27085
27644
  "SecurityUserDelete",
27086
- "SecurityUserList"
27645
+ "SecurityUserList",
27646
+ "SecurityUserPassword"
27087
27647
  ],
27088
27648
  "IClusterMessage": [
27089
27649
  "IClusterProbeCtl",
@@ -27664,6 +28224,7 @@
27664
28224
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
27665
28225
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
27666
28226
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
28227
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts",
27667
28228
  "src/nodefony/src/kernel/commands/MenuCommand.ts",
27668
28229
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
27669
28230
  "src/nodefony/src/kernel/commands/ProdCommand.ts",
@@ -27684,7 +28245,8 @@
27684
28245
  "src/packages/@nodefony/security/nodefony/command/security-token.ts",
27685
28246
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
27686
28247
  "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
27687
- "src/packages/@nodefony/security/nodefony/command/security-user-list.ts"
28248
+ "src/packages/@nodefony/security/nodefony/command/security-user-list.ts",
28249
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
27688
28250
  ],
27689
28251
  "ColorFn": [
27690
28252
  "src/nodefony/src/Cli.ts"
@@ -27983,6 +28545,7 @@
27983
28545
  "src/nodefony/src/kernel/commands/ClusterCommand.ts",
27984
28546
  "src/nodefony/src/kernel/commands/DevCommand.ts",
27985
28547
  "src/nodefony/src/kernel/commands/DoctorCommand.ts",
28548
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts",
27986
28549
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
27987
28550
  "src/nodefony/src/kernel/commands/ProdCommand.ts",
27988
28551
  "src/nodefony/src/kernel/commands/runtimeLauncher.ts",
@@ -28150,6 +28713,7 @@
28150
28713
  "src/nodefony/src/Service.ts",
28151
28714
  "src/nodefony/src/kernel/Kernel.ts",
28152
28715
  "src/nodefony/src/kernel/Module.ts",
28716
+ "src/nodefony/src/runtime/identityHint.ts",
28153
28717
  "src/nodefony/src/types/IModule.ts",
28154
28718
  "src/nodefony/src/types/IService.ts",
28155
28719
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts",
@@ -28505,7 +29069,7 @@
28505
29069
  "VueController": [
28506
29070
  "src/modules/test-frontend-vue/index.ts"
28507
29071
  ],
28508
- "DevkitConfigInput": [
29072
+ "IDevkitConfigInput": [
28509
29073
  "src/packages/@nodefony/devkit/index.ts",
28510
29074
  "src/packages/@nodefony/devkit/nodefony/config/defineModuleConfig.ts"
28511
29075
  ],
@@ -28532,12 +29096,12 @@
28532
29096
  "documentationConfigJsonSchema": [
28533
29097
  "src/packages/@nodefony/documentation/index.ts"
28534
29098
  ],
28535
- "DocumentationConfig": [
29099
+ "IDocumentationConfig": [
28536
29100
  "src/packages/@nodefony/documentation/index.ts",
28537
29101
  "src/packages/@nodefony/documentation/nodefony/config/defineModuleConfig.ts",
28538
29102
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts"
28539
29103
  ],
28540
- "DocumentationConfigInput": [
29104
+ "IDocumentationConfigInput": [
28541
29105
  "src/packages/@nodefony/documentation/index.ts"
28542
29106
  ],
28543
29107
  "DocumentationService": [
@@ -28638,6 +29202,28 @@
28638
29202
  "src/packages/@nodefony/security/nodefony/service/webhooks.ts",
28639
29203
  "src/packages/@nodefony/http/nodefony/service/sessions/sessions-service.ts"
28640
29204
  ],
29205
+ "runNeedsExternalServices": [
29206
+ "src/packages/@nodefony/framework/index.ts",
29207
+ "src/packages/@nodefony/redis/nodefony/registerStores.ts",
29208
+ "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
29209
+ "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts",
29210
+ "src/packages/@nodefony/redis/nodefony/service/redis.ts",
29211
+ "src/packages/@nodefony/security/nodefony/service/auditService.ts",
29212
+ "src/packages/@nodefony/security/nodefony/service/tokenService.ts",
29213
+ "src/packages/@nodefony/security/nodefony/service/totp.ts",
29214
+ "src/packages/@nodefony/security/nodefony/service/webAuthn.ts",
29215
+ "src/packages/@nodefony/security/nodefony/service/webhooks.ts",
29216
+ "src/packages/@nodefony/http/nodefony/service/sessions/sessions-service.ts"
29217
+ ],
29218
+ "durableStoreRemedy": [
29219
+ "src/packages/@nodefony/framework/index.ts",
29220
+ "src/packages/@nodefony/redis/nodefony/registerStores.ts",
29221
+ "src/packages/@nodefony/security/nodefony/service/auditService.ts",
29222
+ "src/packages/@nodefony/security/nodefony/service/tokenService.ts",
29223
+ "src/packages/@nodefony/security/nodefony/service/totp.ts",
29224
+ "src/packages/@nodefony/security/nodefony/service/webAuthn.ts",
29225
+ "src/packages/@nodefony/security/nodefony/service/webhooks.ts"
29226
+ ],
28641
29227
  "readStoreLocation": [
28642
29228
  "src/packages/@nodefony/framework/index.ts",
28643
29229
  "src/packages/@nodefony/security/nodefony/service/auditService.ts",
@@ -28666,11 +29252,11 @@
28666
29252
  "src/packages/@nodefony/framework/nodefony/src/FrameworkAdminApi.ts",
28667
29253
  "src/packages/@nodefony/studio/nodefony/controller/StudioRealtimeController.ts"
28668
29254
  ],
28669
- "FrameworkConfigInput": [
29255
+ "IFrameworkConfigInput": [
28670
29256
  "src/packages/@nodefony/framework/index.ts",
28671
29257
  "src/packages/@nodefony/framework/nodefony/config/defineModuleConfig.ts"
28672
29258
  ],
28673
- "FrameworkConfig": [
29259
+ "IFrameworkConfig": [
28674
29260
  "src/packages/@nodefony/framework/index.ts",
28675
29261
  "src/packages/@nodefony/framework/nodefony/config/defineModuleConfig.ts",
28676
29262
  "src/packages/@nodefony/framework/nodefony/src/idempotencyStoreRegistry.ts"
@@ -29200,7 +29786,7 @@
29200
29786
  "IFrontendConfigInput": [
29201
29787
  "src/packages/@nodefony/frontend/index.ts"
29202
29788
  ],
29203
- "FrontendConfig": [
29789
+ "IFrontendConfig": [
29204
29790
  "src/packages/@nodefony/frontend/index.ts",
29205
29791
  "src/packages/@nodefony/frontend/nodefony/config/defineModuleConfig.ts",
29206
29792
  "src/packages/@nodefony/frontend/nodefony/service/FrontendService.ts"
@@ -29635,6 +30221,9 @@
29635
30221
  "SecurityUserDelete": [
29636
30222
  "src/packages/@nodefony/security/index.ts"
29637
30223
  ],
30224
+ "SecurityUserPassword": [
30225
+ "src/packages/@nodefony/security/index.ts"
30226
+ ],
29638
30227
  "SecurityToken": [
29639
30228
  "src/packages/@nodefony/security/index.ts"
29640
30229
  ],
@@ -29668,9 +30257,20 @@
29668
30257
  "PrebuiltUi": [
29669
30258
  "src/packages/@nodefony/studio/index.ts"
29670
30259
  ],
29671
- "UiDeliveryMode": [
30260
+ "defineStudioConfig": [
30261
+ "src/packages/@nodefony/studio/index.ts"
30262
+ ],
30263
+ "studioConfigJsonSchema": [
29672
30264
  "src/packages/@nodefony/studio/index.ts"
29673
30265
  ],
30266
+ "IStudioConfig": [
30267
+ "src/packages/@nodefony/studio/index.ts",
30268
+ "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts"
30269
+ ],
30270
+ "IStudioConfigInput": [
30271
+ "src/packages/@nodefony/studio/index.ts",
30272
+ "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts"
30273
+ ],
29674
30274
  "StudioController": [
29675
30275
  "src/packages/@nodefony/studio/index.ts"
29676
30276
  ],
@@ -29788,6 +30388,7 @@
29788
30388
  "src/nodefony/src/kernel/CliKernel.ts",
29789
30389
  "src/nodefony/src/kernel/Kernel.ts",
29790
30390
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
30391
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts",
29791
30392
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
29792
30393
  "src/nodefony/src/kernel/commands/runtimeLauncher.ts",
29793
30394
  "src/nodefony/src/service/dev/detachedStart.ts",
@@ -29826,6 +30427,9 @@
29826
30427
  "renderMcpPlan": [
29827
30428
  "src/nodefony/src/cli/aiMcp.ts"
29828
30429
  ],
30430
+ "serversOf": [
30431
+ "src/nodefony/src/cli/aiMcp.ts"
30432
+ ],
29829
30433
  "IMcpConfigDocument": [
29830
30434
  "src/nodefony/src/cli/aiMcp.ts"
29831
30435
  ],
@@ -29857,6 +30461,9 @@
29857
30461
  "renderPlanShell": [
29858
30462
  "src/nodefony/src/cli/aiMcp.ts"
29859
30463
  ],
30464
+ "IAgentMcpFile": [
30465
+ "src/nodefony/src/cli/aiMcp.ts"
30466
+ ],
29860
30467
  "IAgentTarget": [
29861
30468
  "src/nodefony/src/cli/aiMcp.ts",
29862
30469
  "src/nodefony/src/cli/create.ts",
@@ -29915,8 +30522,9 @@
29915
30522
  "OPTION_SUGGESTIONS": [
29916
30523
  "src/nodefony/src/cli/completion.ts"
29917
30524
  ],
29918
- "needsShell": [
30525
+ "portableSpawn": [
29919
30526
  "src/nodefony/src/cli/create.ts",
30527
+ "src/nodefony/src/cli/licenses.ts",
29920
30528
  "src/nodefony/src/kernel/commands/BuildCommand.ts",
29921
30529
  "src/nodefony/src/kernel/commands/MenuCommand.ts",
29922
30530
  "src/packages/@nodefony/studio/nodefony/service/ScaffoldService.ts"
@@ -29940,13 +30548,15 @@
29940
30548
  "src/nodefony/src/cli/create.ts"
29941
30549
  ],
29942
30550
  "FRONTEND_CHOICES": [
29943
- "src/nodefony/src/cli/create.ts"
30551
+ "src/nodefony/src/cli/create.ts",
30552
+ "src/nodefony/src/kernel/commands/CreateCommand.ts"
29944
30553
  ],
29945
30554
  "MODULE_CONTROLLER_CHOICES": [
29946
30555
  "src/nodefony/src/cli/create.ts"
29947
30556
  ],
29948
30557
  "PRESET_CHOICES": [
29949
- "src/nodefony/src/cli/create.ts"
30558
+ "src/nodefony/src/cli/create.ts",
30559
+ "src/nodefony/src/kernel/commands/CreateCommand.ts"
29950
30560
  ],
29951
30561
  "findPackageRoot": [
29952
30562
  "src/nodefony/src/cli/create.ts"
@@ -29993,6 +30603,22 @@
29993
30603
  "syncSkillPointers": [
29994
30604
  "src/nodefony/src/cli/create.ts"
29995
30605
  ],
30606
+ "LicenseInventoryError": [
30607
+ "src/nodefony/src/cli/create.ts",
30608
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
30609
+ ],
30610
+ "NOTICES_FILE": [
30611
+ "src/nodefony/src/cli/create.ts",
30612
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
30613
+ ],
30614
+ "renderNotices": [
30615
+ "src/nodefony/src/cli/create.ts",
30616
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
30617
+ ],
30618
+ "surveyLicenses": [
30619
+ "src/nodefony/src/cli/create.ts",
30620
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
30621
+ ],
29996
30622
  "runAiMcpCommand": [
29997
30623
  "src/nodefony/src/cli/create.ts",
29998
30624
  "src/nodefony/src/kernel/CliKernel.ts",
@@ -30054,7 +30680,8 @@
30054
30680
  "pathLooksSecret": [
30055
30681
  "src/nodefony/src/cli/envReport.ts",
30056
30682
  "src/nodefony/src/config/defineConfig.ts",
30057
- "src/nodefony/src/kernel/Kernel.ts"
30683
+ "src/nodefony/src/kernel/Kernel.ts",
30684
+ "src/nodefony/src/kernel/Module.ts"
30058
30685
  ],
30059
30686
  "isEnvVarRequired": [
30060
30687
  "src/nodefony/src/cli/envReport.ts"
@@ -30293,6 +30920,7 @@
30293
30920
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
30294
30921
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
30295
30922
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
30923
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts",
30296
30924
  "src/nodefony/src/kernel/commands/MenuCommand.ts",
30297
30925
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
30298
30926
  "src/nodefony/src/kernel/commands/ProdCommand.ts",
@@ -30320,7 +30948,8 @@
30320
30948
  "src/packages/@nodefony/security/nodefony/command/security-token.ts",
30321
30949
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
30322
30950
  "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
30323
- "src/packages/@nodefony/security/nodefony/command/security-user-list.ts"
30951
+ "src/packages/@nodefony/security/nodefony/command/security-user-list.ts",
30952
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
30324
30953
  ],
30325
30954
  "Builder": [
30326
30955
  "src/nodefony/src/command/Command.ts"
@@ -30335,7 +30964,7 @@
30335
30964
  "src/nodefony/src/command/Command.ts",
30336
30965
  "src/nodefony/src/kernel/CliKernel.ts"
30337
30966
  ],
30338
- "tagUnboundedListener": [
30967
+ "tagCommandAction": [
30339
30968
  "src/nodefony/src/command/Command.ts"
30340
30969
  ],
30341
30970
  "ResolvedAppConfig": [
@@ -30435,6 +31064,9 @@
30435
31064
  "Outdated": [
30436
31065
  "src/nodefony/src/kernel/CliKernel.ts"
30437
31066
  ],
31067
+ "Licenses": [
31068
+ "src/nodefony/src/kernel/CliKernel.ts"
31069
+ ],
30438
31070
  "Status": [
30439
31071
  "src/nodefony/src/kernel/CliKernel.ts"
30440
31072
  ],
@@ -30668,12 +31300,17 @@
30668
31300
  "readAppEnvOverrideReport": [
30669
31301
  "src/nodefony/src/kernel/Kernel.ts"
30670
31302
  ],
30671
- "readResolvedPath": [
31303
+ "setRunServesTraffic": [
30672
31304
  "src/nodefony/src/kernel/Kernel.ts"
30673
31305
  ],
31306
+ "readResolvedPath": [
31307
+ "src/nodefony/src/kernel/Kernel.ts",
31308
+ "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
31309
+ ],
30674
31310
  "resolveInfra": [
30675
31311
  "src/nodefony/src/kernel/Kernel.ts",
30676
31312
  "src/nodefony/src/cli/scaffold/engine.ts",
31313
+ "src/nodefony/src/kernel/checks/runDoctor.ts",
30677
31314
  "src/packages/@nodefony/drizzle/nodefony/config/defineModuleConfig.ts",
30678
31315
  "src/packages/@nodefony/mongoose/nodefony/config/defineModuleConfig.ts",
30679
31316
  "src/packages/@nodefony/redis/nodefony/config/defineModuleConfig.ts"
@@ -30720,7 +31357,7 @@
30720
31357
  "TimeoutError": [
30721
31358
  "src/nodefony/src/kernel/Kernel.ts"
30722
31359
  ],
30723
- "isUnboundedListener": [
31360
+ "isCommandAction": [
30724
31361
  "src/nodefony/src/kernel/Kernel.ts"
30725
31362
  ],
30726
31363
  "readListenerTags": [
@@ -30781,6 +31418,9 @@
30781
31418
  "src/nodefony/src/kernel/Module.ts",
30782
31419
  "src/nodefony/src/types/IModule.ts"
30783
31420
  ],
31421
+ "findOverwrittenLeaves": [
31422
+ "src/nodefony/src/kernel/Module.ts"
31423
+ ],
30784
31424
  "tagListener": [
30785
31425
  "src/nodefony/src/kernel/Module.ts"
30786
31426
  ],
@@ -31453,6 +32093,17 @@
31453
32093
  "src/nodefony/src/cli/scaffold/engine.ts",
31454
32094
  "src/nodefony/src/cli/scaffold/format.ts"
31455
32095
  ],
32096
+ "manifestFileWith": [
32097
+ "src/nodefony/src/cli/scaffold/engine.ts",
32098
+ "src/packages/@nodefony/security/nodefony/command/security-secrets.ts"
32099
+ ],
32100
+ "withoutComments": [
32101
+ "src/nodefony/src/cli/scaffold/engine.ts",
32102
+ "src/nodefony/src/kernel/checks/freshness.ts",
32103
+ "src/nodefony/src/kernel/checks/readiness.ts",
32104
+ "src/nodefony/src/kernel/checks/surface.ts",
32105
+ "src/nodefony/src/kernel/checks/wiring.ts"
32106
+ ],
31456
32107
  "IScaffoldTypeSpec": [
31457
32108
  "src/nodefony/src/cli/scaffold/engine.ts",
31458
32109
  "src/nodefony/src/cli/scaffold/interactive.ts"
@@ -31862,12 +32513,6 @@
31862
32513
  "isTestFile": [
31863
32514
  "src/nodefony/src/kernel/checks/freshness.ts"
31864
32515
  ],
31865
- "withoutComments": [
31866
- "src/nodefony/src/kernel/checks/freshness.ts",
31867
- "src/nodefony/src/kernel/checks/readiness.ts",
31868
- "src/nodefony/src/kernel/checks/surface.ts",
31869
- "src/nodefony/src/kernel/checks/wiring.ts"
31870
- ],
31871
32516
  "IModuleGated": [
31872
32517
  "src/nodefony/src/kernel/checks/gating.ts",
31873
32518
  "src/nodefony/src/kernel/checks/live.ts"
@@ -31901,6 +32546,16 @@
31901
32546
  "buildProjectEnvReport": [
31902
32547
  "src/nodefony/src/kernel/checks/readiness.ts"
31903
32548
  ],
32549
+ "readManifestCode": [
32550
+ "src/nodefony/src/kernel/checks/readiness.ts",
32551
+ "src/packages/@nodefony/security/nodefony/command/security-secrets.ts"
32552
+ ],
32553
+ "diskManifestReader": [
32554
+ "src/nodefony/src/kernel/checks/readiness.ts",
32555
+ "src/nodefony/src/kernel/checks/surface.ts",
32556
+ "src/nodefony/src/kernel/checks/wiring.ts",
32557
+ "src/packages/@nodefony/security/nodefony/command/security-secrets.ts"
32558
+ ],
31904
32559
  "pluralize": [
31905
32560
  "src/nodefony/src/kernel/checks/renderReport.ts"
31906
32561
  ],
@@ -31982,6 +32637,12 @@
31982
32637
  "resolveEnvCascade": [
31983
32638
  "src/nodefony/src/kernel/checks/runDoctor.ts"
31984
32639
  ],
32640
+ "IInfraProbe": [
32641
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
32642
+ ],
32643
+ "IInfraTarget": [
32644
+ "src/nodefony/src/kernel/checks/runDoctor.ts"
32645
+ ],
31985
32646
  "checkReadiness": [
31986
32647
  "src/nodefony/src/kernel/checks/runDoctor.ts"
31987
32648
  ],
@@ -32049,7 +32710,18 @@
32049
32710
  "src/nodefony/src/service/dev/DevSupervisor.ts"
32050
32711
  ],
32051
32712
  "renderReport": [
32052
- "src/nodefony/src/kernel/checks/runDoctor.ts"
32713
+ "src/nodefony/src/kernel/checks/runDoctor.ts",
32714
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
32715
+ ],
32716
+ "readManifestSources": [
32717
+ "src/nodefony/src/kernel/checks/surface.ts",
32718
+ "src/nodefony/src/kernel/checks/wiring.ts"
32719
+ ],
32720
+ "reservedFragmentFiles": [
32721
+ "src/nodefony/src/kernel/checks/wiring.ts"
32722
+ ],
32723
+ "fragmentsWithoutSatisfies": [
32724
+ "src/nodefony/src/kernel/checks/wiring.ts"
32053
32725
  ],
32054
32726
  "OptionsCommandInterface": [
32055
32727
  "src/nodefony/src/kernel/commands/AiMcpCommand.ts",
@@ -32065,6 +32737,7 @@
32065
32737
  "src/nodefony/src/kernel/commands/GitHooksCommand.ts",
32066
32738
  "src/nodefony/src/kernel/commands/InspectCommand.ts",
32067
32739
  "src/nodefony/src/kernel/commands/InstallCommand.ts",
32740
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts",
32068
32741
  "src/nodefony/src/kernel/commands/MenuCommand.ts",
32069
32742
  "src/nodefony/src/kernel/commands/OutdatedCommand.ts",
32070
32743
  "src/nodefony/src/kernel/commands/ProdCommand.ts",
@@ -32090,7 +32763,8 @@
32090
32763
  "src/packages/@nodefony/security/nodefony/command/security-token.ts",
32091
32764
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
32092
32765
  "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
32093
- "src/packages/@nodefony/security/nodefony/command/security-user-list.ts"
32766
+ "src/packages/@nodefony/security/nodefony/command/security-user-list.ts",
32767
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
32094
32768
  ],
32095
32769
  "resolveTopology": [
32096
32770
  "src/nodefony/src/kernel/commands/ClusterCommand.ts",
@@ -32141,6 +32815,9 @@
32141
32815
  "TableRow": [
32142
32816
  "src/nodefony/src/kernel/commands/InspectCommand.ts"
32143
32817
  ],
32818
+ "ILicenseSurvey": [
32819
+ "src/nodefony/src/kernel/commands/LicensesCommand.ts"
32820
+ ],
32144
32821
  "buildStartMenu": [
32145
32822
  "src/nodefony/src/kernel/commands/MenuCommand.ts"
32146
32823
  ],
@@ -32548,6 +33225,15 @@
32548
33225
  "src/nodefony/src/syslog/transports/LokiTransport.ts",
32549
33226
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
32550
33227
  ],
33228
+ "buildIndexTemplate": [
33229
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
33230
+ ],
33231
+ "OPENSEARCH_TEMPLATE_NAME": [
33232
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
33233
+ ],
33234
+ "toOpenSearchDocument": [
33235
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
33236
+ ],
32551
33237
  "IEntity": [
32552
33238
  "src/modules/mediasoup/nodefony/entity/schema.ts",
32553
33239
  "src/packages/@nodefony/drizzle/nodefony/entity/auditEventEntity.ts",
@@ -32805,6 +33491,7 @@
32805
33491
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
32806
33492
  "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
32807
33493
  "src/packages/@nodefony/security/nodefony/command/security-user-list.ts",
33494
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts",
32808
33495
  "src/packages/@nodefony/user/nodefony/src/admin/UserAdminApi.ts"
32809
33496
  ],
32810
33497
  "recordInitializeRun": [
@@ -32832,7 +33519,7 @@
32832
33519
  "devkitConfigSchema": [
32833
33520
  "src/packages/@nodefony/devkit/nodefony/config/defineModuleConfig.ts"
32834
33521
  ],
32835
- "DevkitConfig": [
33522
+ "IDevkitConfig": [
32836
33523
  "src/packages/@nodefony/devkit/nodefony/config/defineModuleConfig.ts",
32837
33524
  "src/packages/@nodefony/devkit/nodefony/interfaces/IDevkitService.ts",
32838
33525
  "src/packages/@nodefony/devkit/nodefony/service/DevkitService.ts"
@@ -32847,7 +33534,8 @@
32847
33534
  "src/packages/@nodefony/mongoose/nodefony/config/defineModuleConfig.ts",
32848
33535
  "src/packages/@nodefony/realtime/nodefony/config/defineModuleConfig.ts",
32849
33536
  "src/packages/@nodefony/redis/nodefony/config/defineModuleConfig.ts",
32850
- "src/packages/@nodefony/security/nodefony/config/defineModuleConfig.ts"
33537
+ "src/packages/@nodefony/security/nodefony/config/defineModuleConfig.ts",
33538
+ "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts"
32851
33539
  ],
32852
33540
  "IDevkitService": [
32853
33541
  "src/packages/@nodefony/devkit/nodefony/controllers/DevkitController.ts",
@@ -33012,7 +33700,8 @@
33012
33700
  "src/packages/@nodefony/security/nodefony/command/security-token.ts",
33013
33701
  "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
33014
33702
  "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
33015
- "src/packages/@nodefony/security/nodefony/command/security-user-list.ts"
33703
+ "src/packages/@nodefony/security/nodefony/command/security-user-list.ts",
33704
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
33016
33705
  ],
33017
33706
  "DrizzleMigrator": [
33018
33707
  "src/packages/@nodefony/drizzle/nodefony/command/migrateShared.ts",
@@ -33433,10 +34122,6 @@
33433
34122
  "src/packages/@nodefony/drizzle/nodefony/migrations-schema/postgres.ts",
33434
34123
  "src/packages/@nodefony/drizzle/nodefony/migrations-schema/sqlite.ts"
33435
34124
  ],
33436
- "runNeedsExternalServices": [
33437
- "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33438
- "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts"
33439
- ],
33440
34125
  "queryFlowMonitor": [
33441
34126
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33442
34127
  "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts",
@@ -34146,9 +34831,15 @@
34146
34831
  "computeConfigProvenance": [
34147
34832
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
34148
34833
  ],
34834
+ "aggregateProvenance": [
34835
+ "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
34836
+ ],
34149
34837
  "extractJsonSchemaDefaults": [
34150
34838
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
34151
34839
  ],
34840
+ "flattenConfigSchema": [
34841
+ "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
34842
+ ],
34152
34843
  "extractMarkdownSection": [
34153
34844
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts"
34154
34845
  ],
@@ -34232,6 +34923,10 @@
34232
34923
  "src/packages/@nodefony/framework/nodefony/src/PlaygroundAdminApi.ts",
34233
34924
  "src/packages/@nodefony/framework/nodefony/src/scopeCatalog.ts"
34234
34925
  ],
34926
+ "identityHint": [
34927
+ "src/packages/@nodefony/framework/nodefony/src/Resolver.ts",
34928
+ "src/packages/@nodefony/realtime/nodefony/src/server/RealtimeController.ts"
34929
+ ],
34235
34930
  "IResolver": [
34236
34931
  "src/packages/@nodefony/framework/nodefony/src/Resolver.ts"
34237
34932
  ],
@@ -34362,6 +35057,10 @@
34362
35057
  "isValidOriginTemplate": [
34363
35058
  "src/packages/@nodefony/frontend/nodefony/service/FrontendService.ts"
34364
35059
  ],
35060
+ "isLoopbackHostname": [
35061
+ "src/packages/@nodefony/frontend/nodefony/service/FrontendService.ts",
35062
+ "src/packages/@nodefony/frontend/nodefony/src/template/TemplateHelper.ts"
35063
+ ],
34365
35064
  "PORT_PLACEHOLDER": [
34366
35065
  "src/packages/@nodefony/frontend/nodefony/service/FrontendService.ts",
34367
35066
  "src/packages/@nodefony/frontend/nodefony/service/ViteProcessSupervisor.ts"
@@ -34386,7 +35085,8 @@
34386
35085
  "src/packages/@nodefony/frontend/nodefony/service/ViteProcessSupervisor.ts"
34387
35086
  ],
34388
35087
  "planAssetPublish": [
34389
- "src/packages/@nodefony/http/nodefony/command/assetsPublishCommand.ts"
35088
+ "src/packages/@nodefony/http/nodefony/command/assetsPublishCommand.ts",
35089
+ "src/packages/@nodefony/http/nodefony/command/proxyGenerateCommand.ts"
34390
35090
  ],
34391
35091
  "AssetSource": [
34392
35092
  "src/packages/@nodefony/http/nodefony/command/assetsPublishCommand.ts"
@@ -34406,6 +35106,13 @@
34406
35106
  "ProxyIntrospection": [
34407
35107
  "src/packages/@nodefony/http/nodefony/command/proxyGenerateCommand.ts"
34408
35108
  ],
35109
+ "resolveTrustedHostNames": [
35110
+ "src/packages/@nodefony/http/nodefony/command/proxyGenerateCommand.ts"
35111
+ ],
35112
+ "ITrustedHostsConfig": [
35113
+ "src/packages/@nodefony/http/nodefony/command/proxyGenerateCommand.ts",
35114
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
35115
+ ],
34409
35116
  "httpConfigSchema": [
34410
35117
  "src/packages/@nodefony/http/nodefony/config/defineModuleConfig.ts"
34411
35118
  ],
@@ -34430,12 +35137,6 @@
34430
35137
  "src/packages/@nodefony/http/nodefony/service/request-logger.ts",
34431
35138
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
34432
35139
  ],
34433
- "HttpConfig": [
34434
- "src/packages/@nodefony/http/nodefony/interfaces/IHttpConfig.ts"
34435
- ],
34436
- "HttpConfigInput": [
34437
- "src/packages/@nodefony/http/nodefony/interfaces/IHttpConfig.ts"
34438
- ],
34439
35140
  "ServerType": [
34440
35141
  "src/packages/@nodefony/http/nodefony/interfaces/IHttpKernel.ts",
34441
35142
  "src/packages/@nodefony/http/nodefony/service/servers/server-http.ts",
@@ -34521,9 +35222,6 @@
34521
35222
  "compileTrustedHosts": [
34522
35223
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
34523
35224
  ],
34524
- "TrustedHostsConfig": [
34525
- "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
34526
- ],
34527
35225
  "Statics": [
34528
35226
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
34529
35227
  ],
@@ -34854,7 +35552,7 @@
34854
35552
  "realtimeConfigSchema": [
34855
35553
  "src/packages/@nodefony/realtime/nodefony/config/defineModuleConfig.ts"
34856
35554
  ],
34857
- "RealtimeConfig": [
35555
+ "IRealtimeSchemaConfig": [
34858
35556
  "src/packages/@nodefony/realtime/nodefony/config/defineModuleConfig.ts"
34859
35557
  ],
34860
35558
  "RpcActionHandler": [
@@ -34969,7 +35667,12 @@
34969
35667
  "src/packages/@nodefony/security/nodefony/command/security-token.ts"
34970
35668
  ],
34971
35669
  "askPasswordMasked": [
34972
- "src/packages/@nodefony/security/nodefony/command/security-user-add.ts"
35670
+ "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
35671
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts"
35672
+ ],
35673
+ "USER_REVOKED_EVENT": [
35674
+ "src/packages/@nodefony/security/nodefony/command/security-user-password.ts",
35675
+ "src/packages/@nodefony/security/nodefony/src/admin/userRevocationCascade.ts"
34973
35676
  ],
34974
35677
  "securityConfigSchema": [
34975
35678
  "src/packages/@nodefony/security/nodefony/config/defineModuleConfig.ts"
@@ -35457,6 +36160,13 @@
35457
36160
  "src/packages/@nodefony/security/nodefony/src/sessionIdentity.ts",
35458
36161
  "src/packages/@nodefony/user/nodefony/service/UserService.ts"
35459
36162
  ],
36163
+ "UiDeliveryMode": [
36164
+ "src/packages/@nodefony/studio/nodefony/config/config.ts"
36165
+ ],
36166
+ "studioConfigSchema": [
36167
+ "src/packages/@nodefony/studio/nodefony/config/defineModuleConfig.ts",
36168
+ "src/packages/@nodefony/studio/nodefony/interfaces/IStudioConfig.ts"
36169
+ ],
35460
36170
  "readStatsSnapshot": [
35461
36171
  "src/packages/@nodefony/studio/nodefony/controller/StudioController.ts"
35462
36172
  ],
@@ -36172,9 +36882,6 @@
36172
36882
  "webhookAdminEndpoints": [
36173
36883
  "src/packages/@nodefony/security/nodefony/src/admin/SecurityAdminApi.ts"
36174
36884
  ],
36175
- "USER_REVOKED_EVENT": [
36176
- "src/packages/@nodefony/security/nodefony/src/admin/userRevocationCascade.ts"
36177
- ],
36178
36885
  "IUserRevokedEvent": [
36179
36886
  "src/packages/@nodefony/security/nodefony/src/admin/userRevocationCascade.ts"
36180
36887
  ],