nodefony 10.0.0-beta.4 → 10.0.0-beta.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 (137) hide show
  1. package/.ai/symbols.json +1047 -210
  2. package/CHANGELOG.md +69 -0
  3. package/dist/bin/nodefony.js +279 -131
  4. package/dist/client/Service.js +4 -3
  5. package/dist/client/client/NodefonyKernel.js +1 -1
  6. package/dist/client/client/debugbar/DebugBar.js +953 -358
  7. package/dist/client/client/debugbar/feedView.js +117 -109
  8. package/dist/client/client/debugbar/model.js +38 -1
  9. package/dist/client/client/debugbar/network.js +175 -11
  10. package/dist/client/client/debugbar/profile.js +65 -14
  11. package/dist/client/client/debugbar/requests.js +105 -0
  12. package/dist/client/client/index.js +1 -3
  13. package/dist/client/client/sse/NodefonySse.js +3 -4
  14. package/dist/client/client/sse/eventStream.js +22 -0
  15. package/dist/client/client/syslog/index.js +5 -0
  16. package/dist/client/debugbar.standalone.js +1921 -598
  17. package/dist/client/runtime/frameRequestId.js +29 -0
  18. package/dist/client/syslog/Pdu.js +34 -6
  19. package/dist/client/syslog/Syslog.js +158 -121
  20. package/dist/client/syslog/drivers/ILogDriver.js +50 -0
  21. package/dist/client/syslog/drivers/pduConsole.js +242 -0
  22. package/dist/client/types/src/Service.d.ts +2 -1
  23. package/dist/client/types/src/client/NodefonyKernel.d.ts +1 -1
  24. package/dist/client/types/src/client/debugbar/DebugBar.d.ts +238 -50
  25. package/dist/client/types/src/client/debugbar/feedView.d.ts +63 -37
  26. package/dist/client/types/src/client/debugbar/model.d.ts +24 -1
  27. package/dist/client/types/src/client/debugbar/network.d.ts +30 -23
  28. package/dist/client/types/src/client/debugbar/profile.d.ts +27 -48
  29. package/dist/client/types/src/client/debugbar/requests.d.ts +85 -0
  30. package/dist/client/types/src/client/index.d.ts +2 -5
  31. package/dist/client/types/src/client/realtime/NodefonySocket.d.ts +1 -1
  32. package/dist/client/types/src/client/sse/eventStream.d.ts +17 -0
  33. package/dist/client/types/src/client/syslog/index.d.ts +20 -0
  34. package/dist/client/types/src/config/defineEnv.d.ts +11 -1
  35. package/dist/client/types/src/runtime/frameRequestId.d.ts +27 -0
  36. package/dist/client/types/src/syslog/Pdu.d.ts +23 -1
  37. package/dist/client/types/src/syslog/Syslog.d.ts +47 -3
  38. package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +26 -0
  39. package/dist/client/types/src/syslog/drivers/pduConsole.d.ts +143 -0
  40. package/dist/client/types/src/types/IProfile.d.ts +205 -0
  41. package/dist/client/types/src/types/IService.d.ts +1 -1
  42. package/dist/client/types/src/types/ISyslog.d.ts +2 -2
  43. package/dist/node/Service.js +4 -3
  44. package/dist/node/cli/create.js +205 -20
  45. package/dist/node/cli/env.js +22 -7
  46. package/dist/node/cli/scaffold/engine.js +30 -12
  47. package/dist/node/cli/scaffold/help.js +21 -4
  48. package/dist/node/cli/scaffold/versions.js +1 -1
  49. package/dist/node/config/defaults.js +3 -1
  50. package/dist/node/config/defineEnv.js +9 -10
  51. package/dist/node/config/envExample.js +30 -4
  52. package/dist/node/config/reservedEnv.js +9 -0
  53. package/dist/node/config/schema.js +33 -6
  54. package/dist/node/index.js +12 -8
  55. package/dist/node/kernel/Kernel.js +7 -0
  56. package/dist/node/kernel/checks/freshness.js +1 -1
  57. package/dist/node/kernel/kernelLog.js +6 -0
  58. package/dist/node/package.js +1 -1
  59. package/dist/node/runtime/frameRequestId.js +39 -0
  60. package/dist/node/service/dev/detachedStart.js +5 -2
  61. package/dist/node/service/dev/devProcess.js +31 -2
  62. package/dist/node/syslog/Pdu.js +34 -6
  63. package/dist/node/syslog/Syslog.js +176 -122
  64. package/dist/node/syslog/drivers/ILogDriver.js +26 -1
  65. package/dist/node/syslog/drivers/LokiLogDriver.js +14 -7
  66. package/dist/node/syslog/drivers/OpenSearchLogDriver.js +5 -5
  67. package/dist/node/syslog/drivers/builtinLogDrivers.js +37 -6
  68. package/dist/node/syslog/drivers/endpoint.js +53 -0
  69. package/dist/node/syslog/drivers/filterPdus.js +46 -2
  70. package/dist/node/syslog/drivers/opensearchShared.js +89 -29
  71. package/dist/node/syslog/drivers/pduConsole.js +242 -0
  72. package/dist/node/syslog/transports/LokiTransport.js +8 -5
  73. package/dist/node/syslog/transports/OpenSearchTransport.js +23 -12
  74. package/dist/node/testing/index.js +1 -1
  75. package/dist/types/Service.d.ts +2 -1
  76. package/dist/types/cli/create.d.ts +83 -2
  77. package/dist/types/cli/env.d.ts +13 -0
  78. package/dist/types/cli/scaffold/engine.d.ts +24 -0
  79. package/dist/types/client/NodefonyKernel.d.ts +1 -1
  80. package/dist/types/client/debugbar/DebugBar.d.ts +238 -50
  81. package/dist/types/client/debugbar/feedView.d.ts +63 -37
  82. package/dist/types/client/debugbar/model.d.ts +24 -1
  83. package/dist/types/client/debugbar/network.d.ts +30 -23
  84. package/dist/types/client/debugbar/profile.d.ts +27 -48
  85. package/dist/types/client/debugbar/requests.d.ts +85 -0
  86. package/dist/types/client/index.d.ts +2 -5
  87. package/dist/types/client/realtime/NodefonySocket.d.ts +1 -1
  88. package/dist/types/client/sse/eventStream.d.ts +17 -0
  89. package/dist/types/client/syslog/index.d.ts +20 -0
  90. package/dist/types/config/defineEnv.d.ts +11 -1
  91. package/dist/types/config/envExample.d.ts +23 -0
  92. package/dist/types/config/index.d.ts +1 -1
  93. package/dist/types/config/reservedEnv.d.ts +9 -0
  94. package/dist/types/config/schema.d.ts +29 -3
  95. package/dist/types/config/types.d.ts +76 -9
  96. package/dist/types/index.d.ts +8 -3
  97. package/dist/types/kernel/Kernel.d.ts +12 -19
  98. package/dist/types/kernel/kernelLog.d.ts +6 -0
  99. package/dist/types/runtime/frameRequestId.d.ts +27 -0
  100. package/dist/types/service/dev/detachedStart.d.ts +1 -1
  101. package/dist/types/service/dev/devProcess.d.ts +17 -0
  102. package/dist/types/syslog/Pdu.d.ts +23 -1
  103. package/dist/types/syslog/Syslog.d.ts +47 -3
  104. package/dist/types/syslog/drivers/ILogDriver.d.ts +26 -0
  105. package/dist/types/syslog/drivers/LokiLogDriver.d.ts +13 -0
  106. package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +18 -0
  107. package/dist/types/syslog/drivers/endpoint.d.ts +26 -0
  108. package/dist/types/syslog/drivers/logDriverRegistry.d.ts +11 -19
  109. package/dist/types/syslog/drivers/opensearchShared.d.ts +23 -12
  110. package/dist/types/syslog/drivers/pduConsole.d.ts +143 -0
  111. package/dist/types/syslog/transports/LokiTransport.d.ts +5 -1
  112. package/dist/types/types/IProfile.d.ts +205 -0
  113. package/dist/types/types/IService.d.ts +1 -1
  114. package/dist/types/types/ISyslog.d.ts +2 -2
  115. package/docs/angular-services.md +20 -13
  116. package/docs/client.md +87 -11
  117. package/docs/debugbar.md +80 -30
  118. package/docs/index.md +1 -0
  119. package/docs/kernel.md +45 -2
  120. package/docs/react-hooks.md +18 -16
  121. package/docs/svelte-reactivite.md +23 -11
  122. package/docs/syslog.md +157 -36
  123. package/docs/testing.md +7 -0
  124. package/docs/vue-composables.md +35 -12
  125. package/man/nodefony.1 +1 -1
  126. package/package.json +5 -4
  127. package/templates/app/base/env.example.tpl +58 -9
  128. package/templates/app/base/env.ts.tpl +29 -2
  129. package/templates/app/base/nodefony.config.ts.tpl +22 -2
  130. package/templates/app/base/tests/e2e.setup.ts.tpl +42 -14
  131. package/templates/app/complete/docker/examples/dashboards/README.md.tpl +60 -0
  132. package/templates/app/complete/docker/examples/dashboards/grafana-nodefony-logs.json.tpl +891 -0
  133. package/templates/app/complete/docker/examples/dashboards/opensearch-nodefony-logs.ndjson.tpl +19 -0
  134. package/templates/app/complete/env.example.tpl +59 -9
  135. package/templates/app/complete/env.tpl +17 -4
  136. package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +1 -1
  137. package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +42 -42
package/.ai/symbols.json CHANGED
@@ -3,14 +3,14 @@
3
3
  "producer": "repository",
4
4
  "repoRoot": ".",
5
5
  "stats": {
6
- "files": 1004,
7
- "symbols": 4316,
6
+ "files": 1018,
7
+ "symbols": 4392,
8
8
  "classes": 364,
9
- "interfaces": 1179,
10
- "types": 466,
9
+ "interfaces": 1188,
10
+ "types": 484,
11
11
  "enums": 2,
12
- "functions": 1710,
13
- "constants": 595
12
+ "functions": 1754,
13
+ "constants": 600
14
14
  },
15
15
  "symbols": {
16
16
  "Cli": {
@@ -1542,6 +1542,14 @@
1542
1542
  "module": "@nodefony/core",
1543
1543
  "description": "Ce qu'une étape de post-génération a fait : rien, ou réussi, ou échoué."
1544
1544
  },
1545
+ "isCreateType": {
1546
+ "name": "isCreateType",
1547
+ "kind": "function",
1548
+ "file": "src/nodefony/src/cli/create.ts",
1549
+ "exported": true,
1550
+ "module": "@nodefony/core",
1551
+ "description": "Le mot est-il un type de `create` ? — une garde, pour que le type se VÉRIFIE au lieu de s'affirmer (`as TCreateType`)."
1552
+ },
1545
1553
  "parseCreateArgv": {
1546
1554
  "name": "parseCreateArgv",
1547
1555
  "kind": "function",
@@ -1566,6 +1574,22 @@
1566
1574
  "module": "@nodefony/core",
1567
1575
  "description": "Le code de sortie de `create`, décidé à part — parce qu'il se teste."
1568
1576
  },
1577
+ "tablesTouchedBySql": {
1578
+ "name": "tablesTouchedBySql",
1579
+ "kind": "function",
1580
+ "file": "src/nodefony/src/cli/create.ts",
1581
+ "exported": true,
1582
+ "module": "@nodefony/core",
1583
+ "description": "Les tables qu'une migration SQL crée, modifie, supprime ou indexe."
1584
+ },
1585
+ "runEntityMigration": {
1586
+ "name": "runEntityMigration",
1587
+ "kind": "function",
1588
+ "file": "src/nodefony/src/cli/create.ts",
1589
+ "exported": true,
1590
+ "module": "@nodefony/core",
1591
+ "description": "Écrit puis applique la migration de la table qu'une entité NEUVE vient de déclarer — le geste que `create entity` se contentait de conseiller."
1592
+ },
1569
1593
  "migrationFailureCause": {
1570
1594
  "name": "migrationFailureCause",
1571
1595
  "kind": "function",
@@ -1606,6 +1630,14 @@
1606
1630
  "module": "@nodefony/core",
1607
1631
  "description": "La commande tapée, complétée d'un nom d'exemple À SA PLACE — prête à coller."
1608
1632
  },
1633
+ "nameFromDirectory": {
1634
+ "name": "nameFromDirectory",
1635
+ "kind": "function",
1636
+ "file": "src/nodefony/src/cli/create.ts",
1637
+ "exported": true,
1638
+ "module": "@nodefony/core",
1639
+ "description": "Le nom d'application que porte un dossier, pour `create app .`."
1640
+ },
1609
1641
  "runCreateCommand": {
1610
1642
  "name": "runCreateCommand",
1611
1643
  "kind": "function",
@@ -1662,6 +1694,14 @@
1662
1694
  "module": "@nodefony/core",
1663
1695
  "description": "Compose le contenu de `.env.example` d'une application — PUR."
1664
1696
  },
1697
+ "moduleShortcutsCatalog": {
1698
+ "name": "moduleShortcutsCatalog",
1699
+ "kind": "function",
1700
+ "file": "src/nodefony/src/cli/env.ts",
1701
+ "exported": true,
1702
+ "module": "@nodefony/core",
1703
+ "description": "Les noms courts que déclarent les schémas des modules, au format du catalogue d'une application — la section « Module … » de la notice."
1704
+ },
1665
1705
  "readManifestEntries": {
1666
1706
  "name": "readManifestEntries",
1667
1707
  "kind": "function",
@@ -5553,7 +5593,7 @@
5553
5593
  "extends": null,
5554
5594
  "implements": [],
5555
5595
  "decorators": [],
5556
- "description": "Le journal fenêtré : un ascenseur, un intercalaire qui porte la hauteur totale, et un réservoir de lignes positionnées par `transform` (le seul changement qui ne relance pas la mise en page)."
5596
+ "description": "Le flux fenêtré : un ascenseur, un intercalaire qui porte la hauteur totale, et un réservoir de lignes positionnées par `transform` (le seul changement qui ne relance pas la mise en page)."
5557
5597
  },
5558
5598
  "IFeedViewHost": {
5559
5599
  "name": "IFeedViewHost",
@@ -5580,13 +5620,13 @@
5580
5620
  "module": "@nodefony/core",
5581
5621
  "description": "La vue est-elle en haut — là où arrivent les nouvelles, donc doit-elle suivre le flux ?"
5582
5622
  },
5583
- "LOG_ROW_H": {
5584
- "name": "LOG_ROW_H",
5623
+ "ROW_H": {
5624
+ "name": "ROW_H",
5585
5625
  "kind": "const",
5586
5626
  "file": "src/nodefony/src/client/debugbar/feedView.ts",
5587
5627
  "exported": true,
5588
5628
  "module": "@nodefony/core",
5589
- "description": "Hauteur d'une ligne, en pixels — fixe, c'est ce qui rend le fenêtrage exact."
5629
+ "description": "Hauteur d'une ligne, en pixels — fixe, c'est ce qui rend le fenêtrage exact. 24 : la cible minimale d'un pointeur (WCAG 2.5.8), une ligne étant cliquable."
5590
5630
  },
5591
5631
  "GaugeTier": {
5592
5632
  "name": "GaugeTier",
@@ -5755,6 +5795,15 @@
5755
5795
  "module": "@nodefony/core",
5756
5796
  "description": "Entrées conservées dans le journal. Le DOM n'en porte qu'une fenêtre (`feedView.ts`) : ce nombre coûte de la mémoire (quelques centaines de Ko), pas du rendu."
5757
5797
  },
5798
+ "INetStream": {
5799
+ "name": "INetStream",
5800
+ "kind": "interface",
5801
+ "file": "src/nodefony/src/client/debugbar/network.ts",
5802
+ "exported": true,
5803
+ "module": "@nodefony/core",
5804
+ "extends": null,
5805
+ "description": "Le cycle d'un flux longue durée tel que le navigateur le voit."
5806
+ },
5758
5807
  "NetEntry": {
5759
5808
  "name": "NetEntry",
5760
5809
  "kind": "interface",
@@ -5772,6 +5821,22 @@
5772
5821
  "module": "@nodefony/core",
5773
5822
  "extends": null
5774
5823
  },
5824
+ "NetKind": {
5825
+ "name": "NetKind",
5826
+ "kind": "type",
5827
+ "file": "src/nodefony/src/client/debugbar/network.ts",
5828
+ "exported": true,
5829
+ "module": "@nodefony/core",
5830
+ "description": "La nature d'un appel observé : `http` (fetch/XHR), `ws`, `sse`."
5831
+ },
5832
+ "toPath": {
5833
+ "name": "toPath",
5834
+ "kind": "function",
5835
+ "file": "src/nodefony/src/client/debugbar/network.ts",
5836
+ "exported": true,
5837
+ "module": "@nodefony/core",
5838
+ "description": "Extrait le path d'une URL (absolue ou relative), tolérant : ne lève jamais."
5839
+ },
5775
5840
  "installNetworkInterceptor": {
5776
5841
  "name": "installNetworkInterceptor",
5777
5842
  "kind": "function",
@@ -5790,41 +5855,49 @@
5790
5855
  "implements": [],
5791
5856
  "decorators": []
5792
5857
  },
5793
- "ProfilePhase": {
5794
- "name": "ProfilePhase",
5858
+ "WaterfallBar": {
5859
+ "name": "WaterfallBar",
5795
5860
  "kind": "interface",
5796
5861
  "file": "src/nodefony/src/client/debugbar/profile.ts",
5797
5862
  "exported": true,
5798
5863
  "module": "@nodefony/core",
5799
5864
  "extends": null,
5800
- "description": "Phase serveur projetée (miroir client de `@nodefony/http` `ProfilePhase`)."
5865
+ "description": "Une barre du waterfall (positions en % du span total)."
5866
+ },
5867
+ "ProfilePhase": {
5868
+ "name": "ProfilePhase",
5869
+ "kind": "type",
5870
+ "file": "src/nodefony/src/client/debugbar/profile.ts",
5871
+ "exported": true,
5872
+ "module": "@nodefony/core"
5801
5873
  },
5802
5874
  "ProfileQuery": {
5803
5875
  "name": "ProfileQuery",
5804
- "kind": "interface",
5876
+ "kind": "type",
5805
5877
  "file": "src/nodefony/src/client/debugbar/profile.ts",
5806
5878
  "exported": true,
5807
- "module": "@nodefony/core",
5808
- "extends": null,
5809
- "description": "Requête ORM (miroir client de `@nodefony/http` `ProfileQuery` — SEAM futur)."
5879
+ "module": "@nodefony/core"
5880
+ },
5881
+ "ProfileSecurity": {
5882
+ "name": "ProfileSecurity",
5883
+ "kind": "type",
5884
+ "file": "src/nodefony/src/client/debugbar/profile.ts",
5885
+ "exported": true,
5886
+ "module": "@nodefony/core"
5810
5887
  },
5811
5888
  "ProfileEntry": {
5812
5889
  "name": "ProfileEntry",
5813
- "kind": "interface",
5890
+ "kind": "type",
5814
5891
  "file": "src/nodefony/src/client/debugbar/profile.ts",
5815
5892
  "exported": true,
5816
- "module": "@nodefony/core",
5817
- "extends": null,
5818
- "description": "Profil serveur complet (miroir client de `@nodefony/http` `ProfileEntry`)."
5893
+ "module": "@nodefony/core"
5819
5894
  },
5820
- "WaterfallBar": {
5821
- "name": "WaterfallBar",
5822
- "kind": "interface",
5895
+ "ProfileSummary": {
5896
+ "name": "ProfileSummary",
5897
+ "kind": "type",
5823
5898
  "file": "src/nodefony/src/client/debugbar/profile.ts",
5824
5899
  "exported": true,
5825
- "module": "@nodefony/core",
5826
- "extends": null,
5827
- "description": "Une barre du waterfall (positions en % du span total)."
5900
+ "module": "@nodefony/core"
5828
5901
  },
5829
5902
  "ProfileState": {
5830
5903
  "name": "ProfileState",
@@ -5842,13 +5915,21 @@
5842
5915
  "module": "@nodefony/core",
5843
5916
  "description": "Mappe un nom de phase vers sa classe de couleur (défaut neutre)."
5844
5917
  },
5918
+ "isToolingCall": {
5919
+ "name": "isToolingCall",
5920
+ "kind": "function",
5921
+ "file": "src/nodefony/src/client/debugbar/profile.ts",
5922
+ "exported": true,
5923
+ "module": "@nodefony/core",
5924
+ "description": "Vrai si l'appel sert l'OUTILLAGE (la console, ses données, Vite, la socket de la barre) et non l'application : la règle du cœur, {@link isConsolePath} — la même que les Journaux et le profileur."
5925
+ },
5845
5926
  "isError": {
5846
5927
  "name": "isError",
5847
5928
  "kind": "function",
5848
5929
  "file": "src/nodefony/src/client/debugbar/profile.ts",
5849
5930
  "exported": true,
5850
5931
  "module": "@nodefony/core",
5851
- "description": "Vrai si une entrée est en erreur réseau ou status ≥ 400."
5932
+ "description": "Vrai si une entrée est en erreur : échec réseau, statut ≥ 400, ou WebSocket fermé sur un code anormal (`1006`, `1011`… — règle du cœur, {@link accessStatusFamily})."
5852
5933
  },
5853
5934
  "computeWaterfall": {
5854
5935
  "name": "computeWaterfall",
@@ -5858,6 +5939,97 @@
5858
5939
  "module": "@nodefony/core",
5859
5940
  "description": "Calcule le layout proportionnel des phases serveur (waterfall). Pur."
5860
5941
  },
5942
+ "IRequestItem": {
5943
+ "name": "IRequestItem",
5944
+ "kind": "interface",
5945
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5946
+ "exported": true,
5947
+ "module": "@nodefony/core",
5948
+ "extends": null,
5949
+ "description": "Une requête : vue par le navigateur, relue du serveur, ou les deux."
5950
+ },
5951
+ "IChildItem": {
5952
+ "name": "IChildItem",
5953
+ "kind": "interface",
5954
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5955
+ "exported": true,
5956
+ "module": "@nodefony/core",
5957
+ "extends": null,
5958
+ "description": "Une ligne serveur affichée sous sa requête, en retrait."
5959
+ },
5960
+ "IExpandOptions": {
5961
+ "name": "IExpandOptions",
5962
+ "kind": "interface",
5963
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5964
+ "exported": true,
5965
+ "module": "@nodefony/core",
5966
+ "extends": null,
5967
+ "description": "Ce qui déplie une requête et filtre ses lignes."
5968
+ },
5969
+ "FlowView": {
5970
+ "name": "FlowView",
5971
+ "kind": "type",
5972
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5973
+ "exported": true,
5974
+ "module": "@nodefony/core",
5975
+ "description": "Les trois vues de l'onglet."
5976
+ },
5977
+ "FlowItem": {
5978
+ "name": "FlowItem",
5979
+ "kind": "type",
5980
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5981
+ "exported": true,
5982
+ "module": "@nodefony/core",
5983
+ "description": "Ligne affichée. Une ligne serveur au premier niveau est l'objet du tampon lui-même."
5984
+ },
5985
+ "LinesState": {
5986
+ "name": "LinesState",
5987
+ "kind": "type",
5988
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5989
+ "exported": true,
5990
+ "module": "@nodefony/core",
5991
+ "description": "Les lignes relues d'une requête : chargées, en cours, ou en échec."
5992
+ },
5993
+ "flowKey": {
5994
+ "name": "flowKey",
5995
+ "kind": "function",
5996
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
5997
+ "exported": true,
5998
+ "module": "@nodefony/core",
5999
+ "description": "Clé stable d'une ligne affichée."
6000
+ },
6001
+ "recordToLine": {
6002
+ "name": "recordToLine",
6003
+ "kind": "function",
6004
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
6005
+ "exported": true,
6006
+ "module": "@nodefony/core",
6007
+ "description": "Une ligne serveur relue (`ILogRecord`) au format du flux. Rang `seq` : son `uid` — unique dans une réponse, et c'est tout ce que la clé exige."
6008
+ },
6009
+ "logMatchesQuery": {
6010
+ "name": "logMatchesQuery",
6011
+ "kind": "function",
6012
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
6013
+ "exported": true,
6014
+ "module": "@nodefony/core",
6015
+ "description": "Une ligne serveur passe-t-elle la recherche ? Texte, module, catégorie et requête."
6016
+ },
6017
+ "pageItems": {
6018
+ "name": "pageItems",
6019
+ "kind": "function",
6020
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
6021
+ "exported": true,
6022
+ "module": "@nodefony/core",
6023
+ "description": "Vue **Page** : les requêtes de la page, la plus récente en tête."
6024
+ },
6025
+ "serverItems": {
6026
+ "name": "serverItems",
6027
+ "kind": "function",
6028
+ "file": "src/nodefony/src/client/debugbar/requests.ts",
6029
+ "exported": true,
6030
+ "module": "@nodefony/core",
6031
+ "description": "Vue **Journaux** : la réponse groupée du serveur, telle quelle. Une ligne de groupe porte une requête (sa ligne d'accès, son compte) ; l'appel du navigateur de même `requestId` l'enrichit (durée vu…"
6032
+ },
5861
6033
  "generateId": {
5862
6034
  "name": "generateId",
5863
6035
  "kind": "function",
@@ -6750,6 +6922,22 @@
6750
6922
  "module": "@nodefony/core",
6751
6923
  "description": "Taille maximale d'un événement par défaut, en unités UTF-16 : 4 Mi."
6752
6924
  },
6925
+ "isEventStreamResponse": {
6926
+ "name": "isEventStreamResponse",
6927
+ "kind": "function",
6928
+ "file": "src/nodefony/src/client/sse/eventStream.ts",
6929
+ "exported": true,
6930
+ "module": "@nodefony/core",
6931
+ "description": "Cette réponse ouvre-t-elle un flux d'événements ? Un `200` dont le type, aux paramètres près (`; charset=utf-8`), est `text/event-stream` — §9.2.3 : tout autre statut, `204` compris, ou tout autre …"
6932
+ },
6933
+ "EVENT_STREAM": {
6934
+ "name": "EVENT_STREAM",
6935
+ "kind": "const",
6936
+ "file": "src/nodefony/src/client/sse/eventStream.ts",
6937
+ "exported": true,
6938
+ "module": "@nodefony/core",
6939
+ "description": "Le type MIME d'un flux d'événements serveur (WHATWG HTML §9.2)."
6940
+ },
6753
6941
  "SseSnapshot": {
6754
6942
  "name": "SseSnapshot",
6755
6943
  "kind": "interface",
@@ -7622,8 +7810,7 @@
7622
7810
  "kind": "function",
7623
7811
  "file": "src/nodefony/src/config/defineEnv.ts",
7624
7812
  "exported": true,
7625
- "module": "@nodefony/core",
7626
- "description": "Variable d'env BOOLEAN 12-factor : `1/true/yes/on` → true, `0/false/no/off` → false (insensible à la casse). Absente → `default` (défaut `false`). Valeur hors de ces ensembles → erreur au boot (typ…"
7813
+ "module": "@nodefony/core"
7627
7814
  },
7628
7815
  "envEnum": {
7629
7816
  "name": "envEnum",
@@ -7672,6 +7859,22 @@
7672
7859
  "module": "@nodefony/core",
7673
7860
  "description": "Lit + valide un catalogue de variables d'environnement, une fois, au boot."
7674
7861
  },
7862
+ "@nodefony/core:isEnvVarRequired": {
7863
+ "name": "isEnvVarRequired",
7864
+ "kind": "function",
7865
+ "file": "src/nodefony/src/config/envExample.ts",
7866
+ "exported": true,
7867
+ "module": "@nodefony/core",
7868
+ "description": "La variable est-elle exigée PARTOUT — sans défaut déclaré, ni marquée facultative ?"
7869
+ },
7870
+ "envVarDefaultText": {
7871
+ "name": "envVarDefaultText",
7872
+ "kind": "function",
7873
+ "file": "src/nodefony/src/config/envExample.ts",
7874
+ "exported": true,
7875
+ "module": "@nodefony/core",
7876
+ "description": "Ce qu'une variable vaut quand elle est absente, tel que la notice l'annonce."
7877
+ },
7675
7878
  "renderEnvExample": {
7676
7879
  "name": "renderEnvExample",
7677
7880
  "kind": "function",
@@ -8294,6 +8497,24 @@
8294
8497
  "extends": null,
8295
8498
  "description": "Destination prod queryable du log backplane (Loki / OpenSearch)."
8296
8499
  },
8500
+ "LokiDestinationConfig": {
8501
+ "name": "LokiDestinationConfig",
8502
+ "kind": "interface",
8503
+ "file": "src/nodefony/src/config/types.ts",
8504
+ "exported": true,
8505
+ "module": "@nodefony/core",
8506
+ "extends": "LogDestinationConfig",
8507
+ "description": "Destination Grafana Loki : une {@link LogDestinationConfig} plus son sélecteur."
8508
+ },
8509
+ "OpenSearchDestinationConfig": {
8510
+ "name": "OpenSearchDestinationConfig",
8511
+ "kind": "interface",
8512
+ "file": "src/nodefony/src/config/types.ts",
8513
+ "exported": true,
8514
+ "module": "@nodefony/core",
8515
+ "extends": "LogDestinationConfig",
8516
+ "description": "Destination OpenSearch : une {@link LogDestinationConfig} plus son index."
8517
+ },
8297
8518
  "LogConfig": {
8298
8519
  "name": "LogConfig",
8299
8520
  "kind": "interface",
@@ -12976,6 +13197,22 @@
12976
13197
  "module": "@nodefony/core",
12977
13198
  "description": "Mode retenu lorsque ni l'environnement ni la commande n'en désignent un."
12978
13199
  },
13200
+ "frameRequestId": {
13201
+ "name": "frameRequestId",
13202
+ "kind": "function",
13203
+ "file": "src/nodefony/src/runtime/frameRequestId.ts",
13204
+ "exported": true,
13205
+ "module": "@nodefony/core",
13206
+ "description": "L'identifiant de la `n`-ième frame d'une connexion."
13207
+ },
13208
+ "frameIndexOf": {
13209
+ "name": "frameIndexOf",
13210
+ "kind": "function",
13211
+ "file": "src/nodefony/src/runtime/frameRequestId.ts",
13212
+ "exported": true,
13213
+ "module": "@nodefony/core",
13214
+ "description": "Le rang de la frame si `id` en est une de `connection`, sinon `null` — un identifiant qui ne fait que COMMENCER comme la connexion n'en est pas une."
13215
+ },
12979
13216
  "identityHint": {
12980
13217
  "name": "identityHint",
12981
13218
  "kind": "function",
@@ -15349,6 +15586,14 @@
15349
15586
  "module": "@nodefony/core",
15350
15587
  "description": "Les ports que CE processus déclare par son environnement (`NF_PORT`, `NF_PORT_HTTPS`) — ceux qu'il écoutera, par opposition à ceux qu'un runtime déjà en marche a publiés."
15351
15588
  },
15589
+ "launchPorts": {
15590
+ "name": "launchPorts",
15591
+ "kind": "function",
15592
+ "file": "src/nodefony/src/service/dev/devProcess.ts",
15593
+ "exported": true,
15594
+ "module": "@nodefony/core",
15595
+ "description": "Ports qu'un NOUVEAU lancement va écouter, donc ceux à vérifier libres avant de le démarrer : ce qu'il DÉCLARE (`NF_PORT`, `NF_PORT_HTTPS`), sinon la même source que `status` et `stop` ({@link defau…"
15596
+ },
15352
15597
  "readSupervisorPid": {
15353
15598
  "name": "readSupervisorPid",
15354
15599
  "kind": "function",
@@ -16840,6 +17085,30 @@
16840
17085
  "module": "@nodefony/core",
16841
17086
  "description": "Un nom de sévérité RFC 5424."
16842
17087
  },
17088
+ "isSeverityName": {
17089
+ "name": "isSeverityName",
17090
+ "kind": "function",
17091
+ "file": "src/nodefony/src/syslog/Pdu.ts",
17092
+ "exported": true,
17093
+ "module": "@nodefony/core",
17094
+ "description": "Dit si une chaîne est un nom de sévérité RFC 5424 canonique."
17095
+ },
17096
+ "severityRank": {
17097
+ "name": "severityRank",
17098
+ "kind": "function",
17099
+ "file": "src/nodefony/src/syslog/Pdu.ts",
17100
+ "exported": true,
17101
+ "module": "@nodefony/core",
17102
+ "description": "Rang RFC 5424 d'un nom de sévérité canonique."
17103
+ },
17104
+ "invalidSeverity": {
17105
+ "name": "invalidSeverity",
17106
+ "kind": "function",
17107
+ "file": "src/nodefony/src/syslog/Pdu.ts",
17108
+ "exported": true,
17109
+ "module": "@nodefony/core",
17110
+ "description": "Lève l'erreur d'une sévérité hors échelle — un seul message, que la valeur arrive par le constructeur d'un `Pdu` ou par une pile relue."
17111
+ },
16843
17112
  "SEVERITY_NAMES": {
16844
17113
  "name": "SEVERITY_NAMES",
16845
17114
  "kind": "const",
@@ -16877,6 +17146,15 @@
16877
17146
  "module": "@nodefony/core",
16878
17147
  "extends": null
16879
17148
  },
17149
+ "ILogChannel": {
17150
+ "name": "ILogChannel",
17151
+ "kind": "interface",
17152
+ "file": "src/nodefony/src/syslog/Syslog.ts",
17153
+ "exported": true,
17154
+ "module": "@nodefony/core",
17155
+ "extends": null,
17156
+ "description": "Le canal de publication vu par le journal : le sous-ensemble du `Channel` de `node:diagnostics_channel` qu'il emploie. Structurel, pour que ce fichier n'importe pas `node:diagnostics_channel` (il s…"
17157
+ },
16880
17158
  "ConditionSetting": {
16881
17159
  "name": "ConditionSetting",
16882
17160
  "kind": "interface",
@@ -16916,6 +17194,14 @@
16916
17194
  "exported": true,
16917
17195
  "module": "@nodefony/core"
16918
17196
  },
17197
+ "setLogChannel": {
17198
+ "name": "setLogChannel",
17199
+ "kind": "function",
17200
+ "file": "src/nodefony/src/syslog/Syslog.ts",
17201
+ "exported": true,
17202
+ "module": "@nodefony/core",
17203
+ "description": "Branche le canal sur lequel le journal publie ses lignes acceptées. Appelé par le barrel Node avec `diagnostics_channel.channel(SYSLOG_LOG_CHANNEL)` ; jamais par le bundle navigateur, où le journal…"
17204
+ },
16919
17205
  "STDERR_LOG_SINK": {
16920
17206
  "name": "STDERR_LOG_SINK",
16921
17207
  "kind": "const",
@@ -16932,6 +17218,14 @@
16932
17218
  "module": "@nodefony/core",
16933
17219
  "description": "Sink `/dev/null` : noop total (bench — mesure du plafond sans I/O de log)."
16934
17220
  },
17221
+ "SYSLOG_LOG_CHANNEL": {
17222
+ "name": "SYSLOG_LOG_CHANNEL",
17223
+ "kind": "const",
17224
+ "file": "src/nodefony/src/syslog/Syslog.ts",
17225
+ "exported": true,
17226
+ "module": "@nodefony/core",
17227
+ "description": "Nom du canal `node:diagnostics_channel` sur lequel chaque ligne ACCEPTÉE du journal est publiée — forme `module.fonction` de la documentation de Node, comme `nodefony.http.request`. Le message est …"
17228
+ },
16935
17229
  "ClusterFileLogDriverOptions": {
16936
17230
  "name": "ClusterFileLogDriverOptions",
16937
17231
  "kind": "interface",
@@ -17076,6 +17370,14 @@
17076
17370
  "module": "@nodefony/core",
17077
17371
  "description": "Sérialise un Pdu en {@link ILogRecord} (forme wire). Source unique de la projection Pdu→wire : réutilisée par {@link filterPdus} (driver memory) ET par le producteur data-plane `syslog` (framework)…"
17078
17372
  },
17373
+ "stringifyLogRecord": {
17374
+ "name": "stringifyLogRecord",
17375
+ "kind": "function",
17376
+ "file": "src/nodefony/src/syslog/drivers/ILogDriver.ts",
17377
+ "exported": true,
17378
+ "module": "@nodefony/core",
17379
+ "description": "Sérialise une valeur de journal (enregistrement wire ou document dérivé) en JSON sur UNE ligne, sans perdre le message d'une `Error` du `payload`. Seule écriture de la ligne JSON : sortie standard …"
17380
+ },
17079
17381
  "LokiLogDriverOptions": {
17080
17382
  "name": "LokiLogDriverOptions",
17081
17383
  "kind": "interface",
@@ -17092,6 +17394,14 @@
17092
17394
  "module": "@nodefony/core",
17093
17395
  "description": "Driver `loki` du Log Backplane (LB.4) — relit les logs dans **Grafana Loki** via LogQL (`GET /loki/api/v1/query_range`). **Adaptateur, pas moteur** : Loki BORNE le rapatriement (sélecteur de labels…"
17094
17396
  },
17397
+ "DEFAULT_LOKI_APP_LABEL": {
17398
+ "name": "DEFAULT_LOKI_APP_LABEL",
17399
+ "kind": "const",
17400
+ "file": "src/nodefony/src/syslog/drivers/LokiLogDriver.ts",
17401
+ "exported": true,
17402
+ "module": "@nodefony/core",
17403
+ "description": "Valeur de l'étiquette `app` quand ni la config ni le nom de l'application ne la donnent."
17404
+ },
17095
17405
  "createMemoryLogDriver": {
17096
17406
  "name": "createMemoryLogDriver",
17097
17407
  "kind": "function",
@@ -17124,6 +17434,14 @@
17124
17434
  "module": "@nodefony/core",
17125
17435
  "description": "Résout le driver de relecture EFFECTIF depuis la valeur demandée, le mode de lancement et les destinations distantes déclarées. La sentinelle `\"auto\"` (défaut du framework) S'ADAPTE : 1. une destin…"
17126
17436
  },
17437
+ "resolveLogPush": {
17438
+ "name": "resolveLogPush",
17439
+ "kind": "function",
17440
+ "file": "src/nodefony/src/syslog/drivers/builtinLogDrivers.ts",
17441
+ "exported": true,
17442
+ "module": "@nodefony/core",
17443
+ "description": "L'application envoie-t-elle ELLE-MÊME ses journaux à une destination distante (Loki, OpenSearch) ? Un choix explicite (`write`) gagne toujours. Sans choix : oui en développement, NON en production."
17444
+ },
17127
17445
  "registerBuiltinLogDrivers": {
17128
17446
  "name": "registerBuiltinLogDrivers",
17129
17447
  "kind": "function",
@@ -17132,6 +17450,31 @@
17132
17450
  "module": "@nodefony/core",
17133
17451
  "description": "Enregistre les fabriques des drivers NATIFS du Log Backplane dans le {@link registerLogDriverFactory registre de fabriques}. Idempotent (appelé à chaque `initializeLog`, court-circuité après la 1ʳᵉ…"
17134
17452
  },
17453
+ "IResolvedEndpoint": {
17454
+ "name": "IResolvedEndpoint",
17455
+ "kind": "interface",
17456
+ "file": "src/nodefony/src/syslog/drivers/endpoint.ts",
17457
+ "exported": true,
17458
+ "module": "@nodefony/core",
17459
+ "extends": null,
17460
+ "description": "Une destination prête à joindre : base sans identifiants ni `/` final."
17461
+ },
17462
+ "basicAuthHeader": {
17463
+ "name": "basicAuthHeader",
17464
+ "kind": "function",
17465
+ "file": "src/nodefony/src/syslog/drivers/endpoint.ts",
17466
+ "exported": true,
17467
+ "module": "@nodefony/core",
17468
+ "description": "Construit l'en-tête `Authorization: Basic …` si un utilisateur est fourni — sinon objet vide (destination sans authentification)."
17469
+ },
17470
+ "resolveEndpoint": {
17471
+ "name": "resolveEndpoint",
17472
+ "kind": "function",
17473
+ "file": "src/nodefony/src/syslog/drivers/endpoint.ts",
17474
+ "exported": true,
17475
+ "module": "@nodefony/core",
17476
+ "description": "Sépare l'adresse de ses identifiants. Des identifiants EXPLICITES (`username`/`password` de la config) l'emportent sur ceux de l'URL."
17477
+ },
17135
17478
  "filterPdus": {
17136
17479
  "name": "filterPdus",
17137
17480
  "kind": "function",
@@ -17247,14 +17590,6 @@
17247
17590
  "module": "@nodefony/core",
17248
17591
  "description": "Réinitialise le registre (tests uniquement — isole l'état module-level entre cas). Hors tests, le registre vit pour la durée du process. Les FABRIQUES ne sont PAS effacées (elles sont enregistrées …"
17249
17592
  },
17250
- "basicAuthHeader": {
17251
- "name": "basicAuthHeader",
17252
- "kind": "function",
17253
- "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
17254
- "exported": true,
17255
- "module": "@nodefony/core",
17256
- "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`)."
17257
- },
17258
17593
  "toOpenSearchDocument": {
17259
17594
  "name": "toOpenSearchDocument",
17260
17595
  "kind": "function",
@@ -17271,13 +17606,29 @@
17271
17606
  "module": "@nodefony/core",
17272
17607
  "description": "Le modèle d'index qui DÉCLARE le type des champs, au lieu de le laisser deviner."
17273
17608
  },
17609
+ "auditPipelineName": {
17610
+ "name": "auditPipelineName",
17611
+ "kind": "function",
17612
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
17613
+ "exported": true,
17614
+ "module": "@nodefony/core",
17615
+ "description": "Nom du pipeline d'ingestion d'un index — un par index, comme son modèle."
17616
+ },
17617
+ "buildAuditPipeline": {
17618
+ "name": "buildAuditPipeline",
17619
+ "kind": "function",
17620
+ "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
17621
+ "exported": true,
17622
+ "module": "@nodefony/core",
17623
+ "description": "Pipeline d'ingestion qui RANGE la ligne d'accès de production : sa charge est l'enregistrement JSON du journal d'audit (`msgid: \"audit\"`, méthode, URL, statut, durée…), qu'OpenSearch ne sait pas ag…"
17624
+ },
17274
17625
  "DEFAULT_OPENSEARCH_INDEX": {
17275
17626
  "name": "DEFAULT_OPENSEARCH_INDEX",
17276
17627
  "kind": "const",
17277
17628
  "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
17278
17629
  "exported": true,
17279
17630
  "module": "@nodefony/core",
17280
- "description": "Index OpenSearch par défaut des logs Nodefony (write transport ↔ read driver)."
17631
+ "description": "Index OpenSearch par défaut (write transport ↔ read driver). Deux applications d'un même OpenSearch se séparent en déclarant chacune `log.opensearch.index`."
17281
17632
  },
17282
17633
  "OPENSEARCH_TIMESTAMP_FIELD": {
17283
17634
  "name": "OPENSEARCH_TIMESTAMP_FIELD",
@@ -17287,13 +17638,102 @@
17287
17638
  "module": "@nodefony/core",
17288
17639
  "description": "Le champ temporel que TOUT l'écosystème attend — Grafana, les tableaux de bord OpenSearch, les motifs d'index."
17289
17640
  },
17290
- "OPENSEARCH_TEMPLATE_NAME": {
17291
- "name": "OPENSEARCH_TEMPLATE_NAME",
17641
+ "IAccessLine": {
17642
+ "name": "IAccessLine",
17643
+ "kind": "interface",
17644
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17645
+ "exported": true,
17646
+ "module": "@nodefony/core",
17647
+ "extends": null,
17648
+ "description": "Une ligne d'accès lue : ce qu'il faut voir d'une requête d'un coup d'œil."
17649
+ },
17650
+ "AccessCandidate": {
17651
+ "name": "AccessCandidate",
17652
+ "kind": "type",
17653
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17654
+ "exported": true,
17655
+ "module": "@nodefony/core",
17656
+ "description": "Une ligne relue qu'on peut rapprocher : sa ligne d'accès, son heure, sa requête."
17657
+ },
17658
+ "isConsolePath": {
17659
+ "name": "isConsolePath",
17660
+ "kind": "function",
17661
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17662
+ "exported": true,
17663
+ "module": "@nodefony/core",
17664
+ "description": "Dit si un chemin est servi à la console d'administration elle-même — la seule règle de chemin du trafic de la console, que la ligne d'accès ({@link pduIsConsoleTraffic}) et la barre de débogage (qu…"
17665
+ },
17666
+ "isToolingRequestId": {
17667
+ "name": "isToolingRequestId",
17668
+ "kind": "function",
17669
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17670
+ "exported": true,
17671
+ "module": "@nodefony/core",
17672
+ "description": "Cette ligne (ou cette requête) vient-elle d'un appel de l'outillage, marqué par {@link TOOLING_REQUEST_ID_PREFIX} ? Pure et isomorphe."
17673
+ },
17674
+ "pduIsModuleExcluded": {
17675
+ "name": "pduIsModuleExcluded",
17676
+ "kind": "function",
17677
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17678
+ "exported": true,
17679
+ "module": "@nodefony/core",
17680
+ "description": "Dit si une ligne tombe sous l'exclusion d'un module (`excludeModule`) : même nom, sans tenir compte de la casse — sauf la ligne qui porte l'URL de la requête. Celle-ci appartient à l'application mê…"
17681
+ },
17682
+ "pduIsConsoleTraffic": {
17683
+ "name": "pduIsConsoleTraffic",
17684
+ "kind": "function",
17685
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17686
+ "exported": true,
17687
+ "module": "@nodefony/core",
17688
+ "description": "Dit si un Pdu est du trafic de la console d'administration — ce que l'exploitant ne cherche pas en lisant les journaux de son application : une ligne qui porte l'URL de la requête (ligne d'accès `m…"
17689
+ },
17690
+ "consoleRequestIds": {
17691
+ "name": "consoleRequestIds",
17692
+ "kind": "function",
17693
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17694
+ "exported": true,
17695
+ "module": "@nodefony/core",
17696
+ "description": "Les requêtes de la console présentes dans un lot de lignes : celles dont UNE ligne vise la console. Les autres lignes d'une requête ne portent que son `requestId` — c'est par lui qu'on les écarte a…"
17697
+ },
17698
+ "pduIsConsoleRequest": {
17699
+ "name": "pduIsConsoleRequest",
17700
+ "kind": "function",
17701
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17702
+ "exported": true,
17703
+ "module": "@nodefony/core",
17704
+ "description": "Dit si une ligne appartient au trafic de la console : elle-même (cf {@link pduIsConsoleTraffic}), une ligne d'un appel marqué par l'outillage ({@link isToolingRequestId}), ou une ligne d'une requêt…"
17705
+ },
17706
+ "accessStatusFamily": {
17707
+ "name": "accessStatusFamily",
17708
+ "kind": "function",
17709
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17710
+ "exported": true,
17711
+ "module": "@nodefony/core",
17712
+ "description": "La famille d'un statut d'accès, de 1 à 5 comme un statut HTTP — y compris pour un code de fermeture WebSocket (RFC 6455 §7.4), qui sinon passerait pour une erreur serveur à quatre chiffres."
17713
+ },
17714
+ "findAccessLine": {
17715
+ "name": "findAccessLine",
17716
+ "kind": "function",
17717
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17718
+ "exported": true,
17719
+ "module": "@nodefony/core",
17720
+ "description": "Retrouve la ligne d'accès d'une requête vue d'ailleurs — le navigateur, qui n'a pas toujours lu son `X-Request-Id` (document, WebSocket, `EventSource`) : même verbe, même chemin, et la plus proche …"
17721
+ },
17722
+ "parseAccessLine": {
17723
+ "name": "parseAccessLine",
17724
+ "kind": "function",
17725
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17726
+ "exported": true,
17727
+ "module": "@nodefony/core",
17728
+ "description": "Lit une ligne d'accès (`msgid \"req\"`) : verbe, statut, chemin, durée — la seule lecture de ce format, que les Journaux de la console et la barre de débogage partagent."
17729
+ },
17730
+ "TOOLING_REQUEST_ID_PREFIX": {
17731
+ "name": "TOOLING_REQUEST_ID_PREFIX",
17292
17732
  "kind": "const",
17293
- "file": "src/nodefony/src/syslog/drivers/opensearchShared.ts",
17733
+ "file": "src/nodefony/src/syslog/drivers/pduConsole.ts",
17294
17734
  "exported": true,
17295
17735
  "module": "@nodefony/core",
17296
- "description": "Nom du modèle d'index posé par le transport."
17736
+ "description": "Préfixe des requestId que l'outillage pose LUI-MÊME sur ses appels (la barre de débogage, par `X-Request-Id` — que le serveur adopte tel quel). Ses lignes se reconnaissent ainsi avant même que le s…"
17297
17737
  },
17298
17738
  "FlowStepMeta": {
17299
17739
  "name": "FlowStepMeta",
@@ -18000,6 +18440,114 @@
18000
18440
  "extends": null,
18001
18441
  "description": "Une **page** de résultats — la sortie unique de toute pagination Nodefony."
18002
18442
  },
18443
+ "IProfilePhase": {
18444
+ "name": "IProfilePhase",
18445
+ "kind": "interface",
18446
+ "file": "src/nodefony/src/types/IProfile.ts",
18447
+ "exported": true,
18448
+ "module": "@nodefony/core",
18449
+ "extends": null,
18450
+ "description": "Une phase du pipeline, projetée pour le transport (durée résolue)."
18451
+ },
18452
+ "IProfileQuery": {
18453
+ "name": "IProfileQuery",
18454
+ "kind": "interface",
18455
+ "file": "src/nodefony/src/types/IProfile.ts",
18456
+ "exported": true,
18457
+ "module": "@nodefony/core",
18458
+ "extends": null,
18459
+ "description": "Une requête SQL/NoSQL exécutée pendant la requête : les adaptateurs ORM la poussent dans le tampon de la requête (`RequestContext.pushQuery`), que le profileur relit au teardown. Absent hors dévelo…"
18460
+ },
18461
+ "IProfileSecurity": {
18462
+ "name": "IProfileSecurity",
18463
+ "kind": "interface",
18464
+ "file": "src/nodefony/src/types/IProfile.ts",
18465
+ "exported": true,
18466
+ "module": "@nodefony/core",
18467
+ "extends": null,
18468
+ "description": "Traversée du firewall par cette requête — **ce qui était possible** (la zone : son nom, si elle est protégée, quels authenticators elle accepte) croisé avec **ce qui s'est passé** (quel maillon a r…"
18469
+ },
18470
+ "IProfileEntry": {
18471
+ "name": "IProfileEntry",
18472
+ "kind": "interface",
18473
+ "file": "src/nodefony/src/types/IProfile.ts",
18474
+ "exported": true,
18475
+ "module": "@nodefony/core",
18476
+ "extends": null,
18477
+ "description": "Profil complet d'une requête (HTTP ou frame WS), servi par `/{requestId}`."
18478
+ },
18479
+ "IProfileSummary": {
18480
+ "name": "IProfileSummary",
18481
+ "kind": "interface",
18482
+ "file": "src/nodefony/src/types/IProfile.ts",
18483
+ "exported": true,
18484
+ "module": "@nodefony/core",
18485
+ "extends": null,
18486
+ "description": "Résumé léger d'un profil pour la liste `recent` (sans les phases)."
18487
+ },
18488
+ "IStatusBreakdown": {
18489
+ "name": "IStatusBreakdown",
18490
+ "kind": "interface",
18491
+ "file": "src/nodefony/src/types/IProfile.ts",
18492
+ "exported": true,
18493
+ "module": "@nodefony/core",
18494
+ "extends": null,
18495
+ "description": "Répartition des statuts HTTP d'une route."
18496
+ },
18497
+ "IPhaseTotal": {
18498
+ "name": "IPhaseTotal",
18499
+ "kind": "interface",
18500
+ "file": "src/nodefony/src/types/IProfile.ts",
18501
+ "exported": true,
18502
+ "module": "@nodefony/core",
18503
+ "extends": null,
18504
+ "description": "Temps cumulé d'une phase sur les requêtes d'une route."
18505
+ },
18506
+ "IRouteStats": {
18507
+ "name": "IRouteStats",
18508
+ "kind": "interface",
18509
+ "file": "src/nodefony/src/types/IProfile.ts",
18510
+ "exported": true,
18511
+ "module": "@nodefony/core",
18512
+ "extends": null,
18513
+ "description": "Statistiques d'une route sur la fenêtre agrégée."
18514
+ },
18515
+ "INPlusOne": {
18516
+ "name": "INPlusOne",
18517
+ "kind": "interface",
18518
+ "file": "src/nodefony/src/types/IProfile.ts",
18519
+ "exported": true,
18520
+ "module": "@nodefony/core",
18521
+ "extends": null,
18522
+ "description": "Un N+1 : la même forme SQL répétée dans une requête."
18523
+ },
18524
+ "ISqlShapeStats": {
18525
+ "name": "ISqlShapeStats",
18526
+ "kind": "interface",
18527
+ "file": "src/nodefony/src/types/IProfile.ts",
18528
+ "exported": true,
18529
+ "module": "@nodefony/core",
18530
+ "extends": null,
18531
+ "description": "Une forme SQL et son coût sur la fenêtre."
18532
+ },
18533
+ "IErrorSample": {
18534
+ "name": "IErrorSample",
18535
+ "kind": "interface",
18536
+ "file": "src/nodefony/src/types/IProfile.ts",
18537
+ "exported": true,
18538
+ "module": "@nodefony/core",
18539
+ "extends": null,
18540
+ "description": "Un exemple d'erreur, de quoi la retrouver dans le journal."
18541
+ },
18542
+ "IProfileReport": {
18543
+ "name": "IProfileReport",
18544
+ "kind": "interface",
18545
+ "file": "src/nodefony/src/types/IProfile.ts",
18546
+ "exported": true,
18547
+ "module": "@nodefony/core",
18548
+ "extends": null,
18549
+ "description": "Le rapport agrégé."
18550
+ },
18003
18551
  "IStartedServer": {
18004
18552
  "name": "IStartedServer",
18005
18553
  "kind": "interface",
@@ -24108,7 +24656,7 @@
24108
24656
  "extends": "Controller",
24109
24657
  "implements": [],
24110
24658
  "decorators": [],
24111
- "description": "Controller de ressource **souverain** (V4.2 — POC API souveraine, Phase 2) : la logique métier est écrite UNE fois dans le service de ressource, les actions de la sous-classe ne sont que des portes…"
24659
+ "description": "Controller de ressource **duplex** (V4.2 — une action, deux transports) : la logique métier est écrite UNE fois dans le service de ressource, les actions de la sous-classe ne sont que des portes (R…"
24112
24660
  },
24113
24661
  "IResourceReadOptions": {
24114
24662
  "name": "IResourceReadOptions",
@@ -25772,6 +26320,23 @@
25772
26320
  "extends": null,
25773
26321
  "description": "Unified per-request logger contract — HTTP + WebSocket."
25774
26322
  },
26323
+ "IRequestTrace": {
26324
+ "name": "IRequestTrace",
26325
+ "kind": "interface",
26326
+ "file": "src/packages/@nodefony/http/nodefony/interfaces/IRequestTrace.ts",
26327
+ "exported": true,
26328
+ "module": "@nodefony/http",
26329
+ "extends": null,
26330
+ "description": "Message publié sur le `TracingChannel` `nodefony.http.request`, le même objet de `start` à `asyncEnd` pour une requête donnée."
26331
+ },
26332
+ "RequestTraceProtocol": {
26333
+ "name": "RequestTraceProtocol",
26334
+ "kind": "type",
26335
+ "file": "src/packages/@nodefony/http/nodefony/interfaces/IRequestTrace.ts",
26336
+ "exported": true,
26337
+ "module": "@nodefony/http",
26338
+ "description": "Nature de l'opération tracée : une requête HTTP, ou le handshake d'une connexion WebSocket."
26339
+ },
25775
26340
  "IResponse": {
25776
26341
  "name": "IResponse",
25777
26342
  "kind": "interface",
@@ -26055,14 +26620,6 @@
26055
26620
  "module": "@nodefony/http",
26056
26621
  "extends": null
26057
26622
  },
26058
- "computeDurationMs": {
26059
- "name": "computeDurationMs",
26060
- "kind": "function",
26061
- "file": "src/packages/@nodefony/http/nodefony/service/audit-logger.ts",
26062
- "exported": true,
26063
- "module": "@nodefony/http",
26064
- "description": "Durée totale de la requête, de la première phase (`startMs`) à maintenant. `null` si le chronométrage est coupé (aucune phase enregistrée). Partagée par le journal d'audit et le journal lisible — u…"
26065
- },
26066
26623
  "severityFromStatus": {
26067
26624
  "name": "severityFromStatus",
26068
26625
  "kind": "function",
@@ -26071,6 +26628,13 @@
26071
26628
  "module": "@nodefony/http",
26072
26629
  "description": "Severity derived from HTTP status code — RFC 9110 categories. 1xx/2xx/3xx → INFO ; 4xx → WARNING ; 5xx → ERROR. Unknown/missing status → INFO."
26073
26630
  },
26631
+ "statusOf": {
26632
+ "name": "statusOf",
26633
+ "kind": "const",
26634
+ "file": "src/packages/@nodefony/http/nodefony/service/audit-logger.ts",
26635
+ "exported": true,
26636
+ "module": "@nodefony/http"
26637
+ },
26074
26638
  "Certificate": {
26075
26639
  "name": "Certificate",
26076
26640
  "kind": "class",
@@ -27318,6 +27882,54 @@
27318
27882
  "module": "@nodefony/http",
27319
27883
  "description": "Longueur maximale acceptée pour un `X-Request-Id` client. Borne anti-abus (log flooding / header oversize). 128 couvre largement un UUID (36), un nanoid, ou un `traceparent` (55)."
27320
27884
  },
27885
+ "RequestTraceRecord": {
27886
+ "name": "RequestTraceRecord",
27887
+ "kind": "type",
27888
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27889
+ "exported": true,
27890
+ "module": "@nodefony/http",
27891
+ "description": "Le message tel que Nodefony le remplit au fil de la requête : la vue modifiable d'{@link IRequestTrace}, qui reste en lecture seule pour l'abonné."
27892
+ },
27893
+ "hasRequestTraceSubscribers": {
27894
+ "name": "hasRequestTraceSubscribers",
27895
+ "kind": "function",
27896
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27897
+ "exported": true,
27898
+ "module": "@nodefony/http",
27899
+ "description": "Dit si quelqu'un écoute le canal — LA garde du chemin chaud : ~1,6 ns mesurées, aucune allocation. Lue une seule fois, au début de la requête : un abonné arrivé ensuite ne voit que les requêtes sui…"
27900
+ },
27901
+ "openRequestTrace": {
27902
+ "name": "openRequestTrace",
27903
+ "kind": "function",
27904
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27905
+ "exported": true,
27906
+ "module": "@nodefony/http",
27907
+ "description": "Crée le message de la requête et le range sur son contexte. À n'appeler que sous {@link hasRequestTraceSubscribers} : c'est la seule allocation du canal, et elle n'a lieu que si quelqu'un écoute."
27908
+ },
27909
+ "runTraced": {
27910
+ "name": "runTraced",
27911
+ "kind": "function",
27912
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27913
+ "exported": true,
27914
+ "module": "@nodefony/http",
27915
+ "description": "Exécute la partie synchrone du traitement sous `start.runStores` puis publie `end` — la séquence de `TracingChannel.tracePromise`. Les stores liés au canal (`bindStore`, ce que fait un agent APM) r…"
27916
+ },
27917
+ "closeRequestTrace": {
27918
+ "name": "closeRequestTrace",
27919
+ "kind": "function",
27920
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27921
+ "exported": true,
27922
+ "module": "@nodefony/http",
27923
+ "description": "Termine la trace de la requête : remplit les champs de résultat puis publie `error` (s'il y a une exception), `asyncStart` et `asyncEnd`. Idempotent — le premier appel gagne, les suivants ne font r…"
27924
+ },
27925
+ "REQUEST_TRACE_CHANNEL": {
27926
+ "name": "REQUEST_TRACE_CHANNEL",
27927
+ "kind": "const",
27928
+ "file": "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
27929
+ "exported": true,
27930
+ "module": "@nodefony/http",
27931
+ "description": "Nom du `TracingChannel` qui encadre chaque requête HTTP et chaque handshake WebSocket — forme `module.fonction` recommandée par la documentation de `node:diagnostics_channel` ; les sous-canaux sont…"
27932
+ },
27321
27933
  "responseEnded": {
27322
27934
  "name": "responseEnded",
27323
27935
  "kind": "function",
@@ -27326,6 +27938,22 @@
27326
27938
  "module": "@nodefony/http",
27327
27939
  "description": "La réponse a-t-elle été TERMINÉE par le serveur ? Règle UNIQUE, pour HTTP/1.1 comme pour HTTP/2 — l'écouteur `close` du noyau (client parti → 499) et le timeout par flux de `HttpContext` l'appellen…"
27328
27940
  },
27941
+ "TimingMode": {
27942
+ "name": "TimingMode",
27943
+ "kind": "type",
27944
+ "file": "src/packages/@nodefony/http/nodefony/src/context/timingMode.ts",
27945
+ "exported": true,
27946
+ "module": "@nodefony/http",
27947
+ "description": "Ce que le chronométrage mesure sur une requête :"
27948
+ },
27949
+ "resolveTimingMode": {
27950
+ "name": "resolveTimingMode",
27951
+ "kind": "function",
27952
+ "file": "src/packages/@nodefony/http/nodefony/src/context/timingMode.ts",
27953
+ "exported": true,
27954
+ "module": "@nodefony/http",
27955
+ "description": "Résout le mode de chronométrage d'une requête depuis `timing.enabled` et l'environnement — la SEULE règle, appelée par le constructeur du `Context`."
27956
+ },
27329
27957
  "IAlpnSource": {
27330
27958
  "name": "IAlpnSource",
27331
27959
  "kind": "interface",
@@ -27400,6 +28028,14 @@
27400
28028
  "module": "@nodefony/http",
27401
28029
  "description": "Résout l'adresse IP cliente RÉELLE à partir de la connexion socket et de la chaîne `X-Forwarded-For`, en dépouillant les proxies de confiance **de droite à gauche** (algorithme OWASP)."
27402
28030
  },
28031
+ "unsentResponseWarning": {
28032
+ "name": "unsentResponseWarning",
28033
+ "kind": "function",
28034
+ "file": "src/packages/@nodefony/http/nodefony/src/context/unsentResponse.ts",
28035
+ "exported": true,
28036
+ "module": "@nodefony/http",
28037
+ "description": "Rédige l'avertissement de développement d'une requête restée sans réponse : l'action a rendu une valeur que le framework ne sait pas envoyer, et la requête a attendu son délai d'expiration."
28038
+ },
27403
28039
  "WebsocketResponse": {
27404
28040
  "name": "WebsocketResponse",
27405
28041
  "kind": "class",
@@ -27687,51 +28323,6 @@
27687
28323
  "decorators": [],
27688
28324
  "description": "Collecteur des profils de requête, en un anneau par provenance ({@link profileLane}) : l'application, l'outillage, les assets relayés. Chacun évince ses propres profils — ouvrir la console ne chass…"
27689
28325
  },
27690
- "@nodefony/http:ProfilePhase": {
27691
- "name": "ProfilePhase",
27692
- "kind": "interface",
27693
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27694
- "exported": true,
27695
- "module": "@nodefony/http",
27696
- "extends": null,
27697
- "description": "Une phase du pipeline, projetée pour le transport (durée résolue)."
27698
- },
27699
- "@nodefony/http:ProfileQuery": {
27700
- "name": "ProfileQuery",
27701
- "kind": "interface",
27702
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27703
- "exported": true,
27704
- "module": "@nodefony/http",
27705
- "extends": null,
27706
- "description": "Une requête SQL/NoSQL exécutée pendant la requête HTTP (SEAM ORM — futur)."
27707
- },
27708
- "ProfileSecurity": {
27709
- "name": "ProfileSecurity",
27710
- "kind": "interface",
27711
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27712
- "exported": true,
27713
- "module": "@nodefony/http",
27714
- "extends": null,
27715
- "description": "Traversée du firewall par cette requête — **ce qui était possible** (la zone : son nom, si elle est protégée, quels authenticators elle accepte) croisé avec **ce qui s'est passé** (quel maillon a r…"
27716
- },
27717
- "@nodefony/http:ProfileEntry": {
27718
- "name": "ProfileEntry",
27719
- "kind": "interface",
27720
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27721
- "exported": true,
27722
- "module": "@nodefony/http",
27723
- "extends": null,
27724
- "description": "Profil complet d'une requête (HTTP ou message WS), exposé par `get`."
27725
- },
27726
- "ProfileSummary": {
27727
- "name": "ProfileSummary",
27728
- "kind": "interface",
27729
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27730
- "exported": true,
27731
- "module": "@nodefony/http",
27732
- "extends": null,
27733
- "description": "Résumé léger d'un profil pour la liste `recent` (sans les phases)."
27734
- },
27735
28326
  "IProfileBatch": {
27736
28327
  "name": "IProfileBatch",
27737
28328
  "kind": "interface",
@@ -27750,68 +28341,40 @@
27750
28341
  "extends": null,
27751
28342
  "description": "Ce qu'un lecteur extérieur (outil de l'agent de code, banc) attend du profileur : suivre les profils au fil de l'eau, ou en retrouver un par son identifiant. Contrat structurel — on le résout par N…"
27752
28343
  },
27753
- "IStatusBreakdown": {
27754
- "name": "IStatusBreakdown",
27755
- "kind": "interface",
27756
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
27757
- "exported": true,
27758
- "module": "@nodefony/http",
27759
- "extends": null,
27760
- "description": "Répartition des statuts HTTP d'une route."
27761
- },
27762
- "IPhaseTotal": {
27763
- "name": "IPhaseTotal",
27764
- "kind": "interface",
27765
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
27766
- "exported": true,
27767
- "module": "@nodefony/http",
27768
- "extends": null,
27769
- "description": "Temps cumulé d'une phase sur les requêtes d'une route."
27770
- },
27771
- "IRouteStats": {
27772
- "name": "IRouteStats",
27773
- "kind": "interface",
27774
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28344
+ "@nodefony/http:ProfilePhase": {
28345
+ "name": "ProfilePhase",
28346
+ "kind": "type",
28347
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27775
28348
  "exported": true,
27776
- "module": "@nodefony/http",
27777
- "extends": null,
27778
- "description": "Statistiques d'une route sur la fenêtre agrégée."
28349
+ "module": "@nodefony/http"
27779
28350
  },
27780
- "INPlusOne": {
27781
- "name": "INPlusOne",
27782
- "kind": "interface",
27783
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28351
+ "@nodefony/http:ProfileQuery": {
28352
+ "name": "ProfileQuery",
28353
+ "kind": "type",
28354
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27784
28355
  "exported": true,
27785
- "module": "@nodefony/http",
27786
- "extends": null,
27787
- "description": "Un N+1 : la même forme SQL répétée dans une requête."
28356
+ "module": "@nodefony/http"
27788
28357
  },
27789
- "ISqlShapeStats": {
27790
- "name": "ISqlShapeStats",
27791
- "kind": "interface",
27792
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28358
+ "@nodefony/http:ProfileSecurity": {
28359
+ "name": "ProfileSecurity",
28360
+ "kind": "type",
28361
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27793
28362
  "exported": true,
27794
- "module": "@nodefony/http",
27795
- "extends": null,
27796
- "description": "Une forme SQL et son coût sur la fenêtre."
28363
+ "module": "@nodefony/http"
27797
28364
  },
27798
- "IErrorSample": {
27799
- "name": "IErrorSample",
27800
- "kind": "interface",
27801
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28365
+ "@nodefony/http:ProfileEntry": {
28366
+ "name": "ProfileEntry",
28367
+ "kind": "type",
28368
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27802
28369
  "exported": true,
27803
- "module": "@nodefony/http",
27804
- "extends": null,
27805
- "description": "Un exemple d'erreur, de quoi la retrouver dans le journal."
28370
+ "module": "@nodefony/http"
27806
28371
  },
27807
- "IProfileReport": {
27808
- "name": "IProfileReport",
27809
- "kind": "interface",
27810
- "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28372
+ "@nodefony/http:ProfileSummary": {
28373
+ "name": "ProfileSummary",
28374
+ "kind": "type",
28375
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts",
27811
28376
  "exported": true,
27812
- "module": "@nodefony/http",
27813
- "extends": null,
27814
- "description": "Le rapport agrégé."
28377
+ "module": "@nodefony/http"
27815
28378
  },
27816
28379
  "IProfileAggregatorOptions": {
27817
28380
  "name": "IProfileAggregatorOptions",
@@ -27845,7 +28408,7 @@
27845
28408
  "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
27846
28409
  "exported": true,
27847
28410
  "module": "@nodefony/http",
27848
- "description": "Range un profil par provenance, d'après son URL. Seule règle du partage — les anneaux du profileur et le filtre de l'agrégation la lisent tous deux."
28411
+ "description": "Range un profil par provenance, d'après son URL. L'outillage est reconnu par la règle du cœur, `isConsolePath` — la même que les Journaux, la barre de débogage et le Studio : une connexion d'utilis…"
27849
28412
  },
27850
28413
  "isToolingUrl": {
27851
28414
  "name": "isToolingUrl",
@@ -27855,6 +28418,14 @@
27855
28418
  "module": "@nodefony/http",
27856
28419
  "description": "Le profil vient-il de l'outillage (routes `/nodefony/…` ou assets relayés) plutôt que de l'application."
27857
28420
  },
28421
+ "isProfiledUrl": {
28422
+ "name": "isProfiledUrl",
28423
+ "kind": "function",
28424
+ "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
28425
+ "exported": true,
28426
+ "module": "@nodefony/http",
28427
+ "description": "Une requête de cette URL se profile-t-elle ? L'application toujours ; l'outillage et les assets relayés seulement sur demande (`timing.tooling`) — on ne mesure pas la façon dont on mesure."
28428
+ },
27858
28429
  "sqlShape": {
27859
28430
  "name": "sqlShape",
27860
28431
  "kind": "function",
@@ -27933,7 +28504,7 @@
27933
28504
  "file": "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts",
27934
28505
  "exported": true,
27935
28506
  "module": "@nodefony/http",
27936
- "description": "Préfixe des routes de l'outillage (console, API d'administration, porte MCP)."
28507
+ "description": "Préfixe de l'espace réservé au framework."
27937
28508
  },
27938
28509
  "NO_ROUTE": {
27939
28510
  "name": "NO_ROUTE",
@@ -35588,6 +36159,40 @@
35588
36159
  "module": "@nodefony/security",
35589
36160
  "description": "Noms enregistrés (validation boot, introspection Studio, tests)."
35590
36161
  },
36162
+ "ITestIdentityOptions": {
36163
+ "name": "ITestIdentityOptions",
36164
+ "kind": "interface",
36165
+ "file": "src/packages/@nodefony/security/nodefony/testing/index.ts",
36166
+ "exported": true,
36167
+ "module": "@nodefony/security",
36168
+ "extends": null,
36169
+ "description": "L'identité d'essai : qui se connecte, avec quels droits."
36170
+ },
36171
+ "ITestFrameAuthorizerOptions": {
36172
+ "name": "ITestFrameAuthorizerOptions",
36173
+ "kind": "interface",
36174
+ "file": "src/packages/@nodefony/security/nodefony/testing/index.ts",
36175
+ "exported": true,
36176
+ "module": "@nodefony/security",
36177
+ "extends": null,
36178
+ "description": "Écarts au pare-feu d'essai."
36179
+ },
36180
+ "createTestIdentity": {
36181
+ "name": "createTestIdentity",
36182
+ "kind": "function",
36183
+ "file": "src/packages/@nodefony/security/nodefony/testing/index.ts",
36184
+ "exported": true,
36185
+ "module": "@nodefony/security",
36186
+ "description": "Une identité de connexion AUTHENTIFIÉE, telle que le pare-feu l'aurait posée au handshake."
36187
+ },
36188
+ "createTestFrameAuthorizer": {
36189
+ "name": "createTestFrameAuthorizer",
36190
+ "kind": "function",
36191
+ "file": "src/packages/@nodefony/security/nodefony/testing/index.ts",
36192
+ "exported": true,
36193
+ "module": "@nodefony/security",
36194
+ "description": "Le VRAI verrou de frame du pare-feu, pour le harnais temps réel."
36195
+ },
35591
36196
  "Studio": {
35592
36197
  "name": "Studio",
35593
36198
  "kind": "class",
@@ -36924,6 +37529,10 @@
36924
37529
  "EnvVarMeta": [
36925
37530
  "NamedEnvVarMeta"
36926
37531
  ],
37532
+ "LogDestinationConfig": [
37533
+ "LokiDestinationConfig",
37534
+ "OpenSearchDestinationConfig"
37535
+ ],
36927
37536
  "FileClass": [
36928
37537
  "File",
36929
37538
  "UploadedFile"
@@ -37596,6 +38205,7 @@
37596
38205
  "src/packages/@nodefony/http/index.ts",
37597
38206
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
37598
38207
  "src/packages/@nodefony/http/nodefony/src/context/http/HttpContext.ts",
38208
+ "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts",
37599
38209
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts",
37600
38210
  "src/packages/@nodefony/studio/nodefony/controller/StudioController.ts",
37601
38211
  "src/packages/@nodefony/studio/nodefony/controller/StudioCreateController.ts",
@@ -37898,6 +38508,7 @@
37898
38508
  "src/packages/@nodefony/framework/nodefony/src/Controller.ts",
37899
38509
  "src/packages/@nodefony/framework/nodefony/src/Resolver.ts",
37900
38510
  "src/packages/@nodefony/framework/nodefony/src/idempotency.ts",
38511
+ "src/packages/@nodefony/frontend/nodefony/src/template/TemplateHelper.ts",
37901
38512
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
37902
38513
  "src/packages/@nodefony/http/nodefony/service/sessions/sessions-service.ts",
37903
38514
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
@@ -38142,6 +38753,7 @@
38142
38753
  "src/packages/@nodefony/http/nodefony/service/servers/server-http.ts",
38143
38754
  "src/packages/@nodefony/http/nodefony/service/servers/server-https.ts",
38144
38755
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
38756
+ "src/packages/@nodefony/http/nodefony/src/context/http/HttpContext.ts",
38145
38757
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts",
38146
38758
  "src/packages/@nodefony/http/nodefony/src/errors/httpError.ts",
38147
38759
  "src/packages/@nodefony/redis/nodefony/src/keyNamespace.ts",
@@ -38290,6 +38902,9 @@
38290
38902
  "src/packages/@nodefony/http/nodefony/src/session/session.ts",
38291
38903
  "src/packages/@nodefony/realtime/nodefony/src/server/RealtimeController.ts"
38292
38904
  ],
38905
+ "IRequestTrace": [
38906
+ "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts"
38907
+ ],
38293
38908
  "Service": [
38294
38909
  "src/nodefony/src/Cli.ts",
38295
38910
  "src/nodefony/src/client/NodefonyKernel.ts",
@@ -38686,6 +39301,7 @@
38686
39301
  "src/nodefony/src/types/IService.ts",
38687
39302
  "src/nodefony/src/types/ISyslog.ts",
38688
39303
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts",
39304
+ "src/packages/@nodefony/framework/nodefony/src/Controller.ts",
38689
39305
  "src/packages/@nodefony/http/nodefony/service/upload/upload-service.ts",
38690
39306
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
38691
39307
  "src/packages/@nodefony/http/nodefony/src/context/http/Request.ts",
@@ -38708,6 +39324,7 @@
38708
39324
  "src/nodefony/src/types/IService.ts",
38709
39325
  "src/nodefony/src/types/ISyslog.ts",
38710
39326
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts",
39327
+ "src/packages/@nodefony/framework/nodefony/src/Controller.ts",
38711
39328
  "src/packages/@nodefony/http/nodefony/service/upload/upload-service.ts",
38712
39329
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
38713
39330
  "src/packages/@nodefony/http/nodefony/src/context/http/Request.ts",
@@ -38729,6 +39346,7 @@
38729
39346
  "src/nodefony/src/types/IService.ts",
38730
39347
  "src/nodefony/src/types/ISyslog.ts",
38731
39348
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts",
39349
+ "src/packages/@nodefony/framework/nodefony/src/Controller.ts",
38732
39350
  "src/packages/@nodefony/http/nodefony/service/upload/upload-service.ts",
38733
39351
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
38734
39352
  "src/packages/@nodefony/http/nodefony/src/context/http/Request.ts",
@@ -38755,6 +39373,7 @@
38755
39373
  "src/nodefony/src/types/IService.ts",
38756
39374
  "src/nodefony/src/types/ISyslog.ts",
38757
39375
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts",
39376
+ "src/packages/@nodefony/framework/nodefony/src/Controller.ts",
38758
39377
  "src/packages/@nodefony/http/nodefony/interfaces/IRequestLogger.ts",
38759
39378
  "src/packages/@nodefony/http/nodefony/service/audit-logger.ts",
38760
39379
  "src/packages/@nodefony/http/nodefony/service/upload/upload-service.ts",
@@ -38880,6 +39499,7 @@
38880
39499
  "src/packages/@nodefony/ai/nodefony/mcp/gate.ts",
38881
39500
  "src/packages/@nodefony/ai/nodefony/mcp/server.ts",
38882
39501
  "src/packages/@nodefony/framework/nodefony/src/Resolver.ts",
39502
+ "src/packages/@nodefony/frontend/nodefony/src/template/TemplateHelper.ts",
38883
39503
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseOrm.ts",
38884
39504
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseRepository.ts",
38885
39505
  "src/packages/@nodefony/security/nodefony/src/admin/WebhookAdminApi.ts",
@@ -39056,7 +39676,6 @@
39056
39676
  "src/nodefony/src/kernel/checks/runDoctor.ts",
39057
39677
  "src/nodefony/src/kernel/commands/runtimeLauncher.ts",
39058
39678
  "src/nodefony/src/service/dev/DevSupervisor.ts",
39059
- "src/nodefony/src/service/dev/detachedStart.ts",
39060
39679
  "src/nodefony/src/service/dev/devStatusReport.ts",
39061
39680
  "src/nodefony/src/service/dev/devStop.ts"
39062
39681
  ],
@@ -39142,10 +39761,7 @@
39142
39761
  ],
39143
39762
  "stripTrailingSlashes": [
39144
39763
  "src/nodefony/src/cli/aiMcpReport.ts",
39145
- "src/nodefony/src/syslog/drivers/LokiLogDriver.ts",
39146
- "src/nodefony/src/syslog/drivers/OpenSearchLogDriver.ts",
39147
- "src/nodefony/src/syslog/transports/LokiTransport.ts",
39148
- "src/nodefony/src/syslog/transports/OpenSearchTransport.ts",
39764
+ "src/nodefony/src/syslog/drivers/endpoint.ts",
39149
39765
  "src/packages/@nodefony/documentation/nodefony/service/DocumentationService.ts",
39150
39766
  "src/packages/@nodefony/framework/nodefony/service/router.ts",
39151
39767
  "src/packages/@nodefony/framework/nodefony/src/Route.ts",
@@ -39320,6 +39936,9 @@
39320
39936
  "src/nodefony/src/cli/create.ts",
39321
39937
  "src/packages/@nodefony/studio/nodefony/src/createSpec.ts"
39322
39938
  ],
39939
+ "toKebabCase": [
39940
+ "src/nodefony/src/cli/create.ts"
39941
+ ],
39323
39942
  "TScaffoldAnswers": [
39324
39943
  "src/nodefony/src/cli/create.ts",
39325
39944
  "src/nodefony/src/cli/scaffold/interactive.ts",
@@ -40186,6 +40805,7 @@
40186
40805
  ],
40187
40806
  "AUTH_ME_PATH": [
40188
40807
  "src/nodefony/src/client/auth/NodefonyLogin.ts",
40808
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40189
40809
  "src/nodefony/src/testing/index.ts"
40190
40810
  ],
40191
40811
  "MFA_METHOD_TOTP": [
@@ -40213,7 +40833,7 @@
40213
40833
  ],
40214
40834
  "FeedLog": [
40215
40835
  "src/nodefony/src/client/debugbar/DebugBar.ts",
40216
- "src/nodefony/src/client/debugbar/feedView.ts"
40836
+ "src/nodefony/src/client/debugbar/requests.ts"
40217
40837
  ],
40218
40838
  "StatsPayload": [
40219
40839
  "src/nodefony/src/client/debugbar/DebugBar.ts"
@@ -40243,6 +40863,62 @@
40243
40863
  "FeedView": [
40244
40864
  "src/nodefony/src/client/debugbar/DebugBar.ts"
40245
40865
  ],
40866
+ "flowKey": [
40867
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40868
+ ],
40869
+ "logMatchesQuery": [
40870
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40871
+ ],
40872
+ "pageItems": [
40873
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40874
+ ],
40875
+ "recordToLine": [
40876
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40877
+ ],
40878
+ "serverItems": [
40879
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40880
+ ],
40881
+ "FlowItem": [
40882
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40883
+ ],
40884
+ "FlowView": [
40885
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40886
+ ],
40887
+ "IRequestItem": [
40888
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40889
+ ],
40890
+ "LinesState": [
40891
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40892
+ ],
40893
+ "ILogRecord": [
40894
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40895
+ "src/nodefony/src/client/debugbar/requests.ts"
40896
+ ],
40897
+ "SEVERITY_NAMES": [
40898
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40899
+ "src/nodefony/src/client/index.ts",
40900
+ "src/packages/@nodefony/framework/nodefony/src/syslogFilters.ts"
40901
+ ],
40902
+ "accessStatusFamily": [
40903
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40904
+ "src/nodefony/src/client/debugbar/profile.ts",
40905
+ "src/packages/@nodefony/http/nodefony/service/pretty-request-logger.ts"
40906
+ ],
40907
+ "findAccessLine": [
40908
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40909
+ ],
40910
+ "isToolingRequestId": [
40911
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40912
+ "src/nodefony/src/client/debugbar/model.ts",
40913
+ "src/nodefony/src/client/debugbar/network.ts"
40914
+ ],
40915
+ "pduIsModuleExcluded": [
40916
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40917
+ "src/nodefony/src/syslog/drivers/filterPdus.ts"
40918
+ ],
40919
+ "TOOLING_REQUEST_ID_PREFIX": [
40920
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40921
+ ],
40246
40922
  "exposedKernels": [
40247
40923
  "src/nodefony/src/client/debugbar/DebugBar.ts"
40248
40924
  ],
@@ -40255,9 +40931,16 @@
40255
40931
  "installNetworkInterceptor": [
40256
40932
  "src/nodefony/src/client/debugbar/DebugBar.ts"
40257
40933
  ],
40934
+ "toPath": [
40935
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40936
+ ],
40937
+ "INetStream": [
40938
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40939
+ ],
40258
40940
  "NetEntry": [
40259
40941
  "src/nodefony/src/client/debugbar/DebugBar.ts",
40260
- "src/nodefony/src/client/debugbar/profile.ts"
40942
+ "src/nodefony/src/client/debugbar/profile.ts",
40943
+ "src/nodefony/src/client/debugbar/requests.ts"
40261
40944
  ],
40262
40945
  "NetworkModel": [
40263
40946
  "src/nodefony/src/client/debugbar/DebugBar.ts"
@@ -40268,11 +40951,22 @@
40268
40951
  "isError": [
40269
40952
  "src/nodefony/src/client/debugbar/DebugBar.ts"
40270
40953
  ],
40954
+ "isToolingCall": [
40955
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40956
+ "src/nodefony/src/client/debugbar/requests.ts"
40957
+ ],
40271
40958
  "ProfileEntry": [
40272
40959
  "src/nodefony/src/client/debugbar/DebugBar.ts",
40273
40960
  "src/packages/@nodefony/devkit/nodefony/mcp/profileRoute.ts",
40274
40961
  "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
40275
40962
  ],
40963
+ "ProfileSummary": [
40964
+ "src/nodefony/src/client/debugbar/DebugBar.ts"
40965
+ ],
40966
+ "frameIndexOf": [
40967
+ "src/nodefony/src/client/debugbar/DebugBar.ts",
40968
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
40969
+ ],
40276
40970
  "PLATFORM_CHANNELS": [
40277
40971
  "src/nodefony/src/client/debugbar/DebugBar.ts",
40278
40972
  "src/nodefony/src/client/realtime/observe.ts",
@@ -40295,14 +40989,47 @@
40295
40989
  "stripAnsi": [
40296
40990
  "src/nodefony/src/client/debugbar/model.ts"
40297
40991
  ],
40992
+ "pduIsConsoleTraffic": [
40993
+ "src/nodefony/src/client/debugbar/model.ts"
40994
+ ],
40995
+ "isEventStreamResponse": [
40996
+ "src/nodefony/src/client/debugbar/network.ts",
40997
+ "src/nodefony/src/client/sse/NodefonySse.ts"
40998
+ ],
40999
+ "isConsolePath": [
41000
+ "src/nodefony/src/client/debugbar/profile.ts",
41001
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
41002
+ ],
41003
+ "IProfileEntry": [
41004
+ "src/nodefony/src/client/debugbar/profile.ts",
41005
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
41006
+ ],
41007
+ "IProfilePhase": [
41008
+ "src/nodefony/src/client/debugbar/profile.ts",
41009
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
41010
+ ],
41011
+ "IProfileQuery": [
41012
+ "src/nodefony/src/client/debugbar/profile.ts",
41013
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
41014
+ ],
41015
+ "IProfileSecurity": [
41016
+ "src/nodefony/src/client/debugbar/profile.ts",
41017
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
41018
+ ],
41019
+ "IProfileSummary": [
41020
+ "src/nodefony/src/client/debugbar/profile.ts",
41021
+ "src/packages/@nodefony/http/nodefony/src/profiler/Profiler.ts"
41022
+ ],
41023
+ "parseAccessLine": [
41024
+ "src/nodefony/src/client/debugbar/requests.ts"
41025
+ ],
41026
+ "IAccessLine": [
41027
+ "src/nodefony/src/client/debugbar/requests.ts"
41028
+ ],
40298
41029
  "randomUuid": [
40299
41030
  "src/nodefony/src/client/index.ts",
40300
41031
  "src/nodefony/src/client/syslog/context.ts"
40301
41032
  ],
40302
- "SEVERITY_NAMES": [
40303
- "src/nodefony/src/client/index.ts",
40304
- "src/packages/@nodefony/framework/nodefony/src/syslogFilters.ts"
40305
- ],
40306
41033
  "BROWSER_ORIGIN": [
40307
41034
  "src/nodefony/src/client/index.ts",
40308
41035
  "src/packages/@nodefony/realtime/nodefony/src/server/syslogUplink.ts"
@@ -40398,18 +41125,6 @@
40398
41125
  "src/nodefony/src/client/index.ts",
40399
41126
  "src/nodefony/src/client/realtime/NodefonySocket.ts"
40400
41127
  ],
40401
- "pduProtocol": [
40402
- "src/nodefony/src/client/index.ts",
40403
- "src/nodefony/src/syslog/drivers/filterPdus.ts"
40404
- ],
40405
- "pduFlowStep": [
40406
- "src/nodefony/src/client/index.ts",
40407
- "src/nodefony/src/syslog/drivers/filterPdus.ts"
40408
- ],
40409
- "FLOW_STEPS": [
40410
- "src/nodefony/src/client/index.ts",
40411
- "src/packages/@nodefony/framework/nodefony/src/syslogFilters.ts"
40412
- ],
40413
41128
  "mountLoginPage": [
40414
41129
  "src/nodefony/src/client/login/index.ts",
40415
41130
  "src/packages/@nodefony/framework/index.ts"
@@ -40621,6 +41336,9 @@
40621
41336
  "Role": [
40622
41337
  "src/nodefony/src/client/roles/registry.ts"
40623
41338
  ],
41339
+ "EVENT_STREAM": [
41340
+ "src/nodefony/src/client/sse/NodefonySse.ts"
41341
+ ],
40624
41342
  "NodefonySseOptions": [
40625
41343
  "src/nodefony/src/client/sse/observe.ts"
40626
41344
  ],
@@ -40785,6 +41503,12 @@
40785
41503
  "src/nodefony/src/finder/FileResult.ts",
40786
41504
  "src/nodefony/src/finder/Finder.ts"
40787
41505
  ],
41506
+ "setLogChannel": [
41507
+ "src/nodefony/src/index.ts"
41508
+ ],
41509
+ "SYSLOG_LOG_CHANNEL": [
41510
+ "src/nodefony/src/index.ts"
41511
+ ],
40788
41512
  "toImportSpecifier": [
40789
41513
  "src/nodefony/src/kernel/CliKernel.ts",
40790
41514
  "src/nodefony/src/kernel/Kernel.ts",
@@ -41017,6 +41741,9 @@
41017
41741
  "src/packages/@nodefony/framework/nodefony/src/KernelAdminApi.ts",
41018
41742
  "src/packages/@nodefony/framework/nodefony/src/SyslogAdminApi.ts"
41019
41743
  ],
41744
+ "ILogConfigLike": [
41745
+ "src/nodefony/src/kernel/Kernel.ts"
41746
+ ],
41020
41747
  "isInKubernetes": [
41021
41748
  "src/nodefony/src/kernel/Kernel.ts"
41022
41749
  ],
@@ -42514,6 +43241,9 @@
42514
43241
  "detachedLogFile": [
42515
43242
  "src/nodefony/src/service/dev/detachedStart.ts"
42516
43243
  ],
43244
+ "launchPorts": [
43245
+ "src/nodefony/src/service/dev/detachedStart.ts"
43246
+ ],
42517
43247
  "discoverDevProcessesDetailed": [
42518
43248
  "src/nodefony/src/service/dev/detachedStart.ts",
42519
43249
  "src/nodefony/src/service/dev/devStatusReport.ts",
@@ -42665,10 +43395,30 @@
42665
43395
  "ModuleName": [
42666
43396
  "src/nodefony/src/syslog/Syslog.ts"
42667
43397
  ],
43398
+ "SeverityName": [
43399
+ "src/nodefony/src/syslog/Syslog.ts"
43400
+ ],
43401
+ "invalidSeverity": [
43402
+ "src/nodefony/src/syslog/Syslog.ts"
43403
+ ],
43404
+ "severityRank": [
43405
+ "src/nodefony/src/syslog/Syslog.ts"
43406
+ ],
42668
43407
  "ISyslog": [
42669
43408
  "src/nodefony/src/syslog/Syslog.ts",
42670
43409
  "src/packages/@nodefony/framework/nodefony/src/SyslogAdminApi.ts"
42671
43410
  ],
43411
+ "pduToRecord": [
43412
+ "src/nodefony/src/syslog/Syslog.ts",
43413
+ "src/nodefony/src/syslog/drivers/filterPdus.ts",
43414
+ "src/nodefony/src/syslog/transports/LokiTransport.ts",
43415
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
43416
+ ],
43417
+ "stringifyLogRecord": [
43418
+ "src/nodefony/src/syslog/Syslog.ts",
43419
+ "src/nodefony/src/syslog/transports/LokiTransport.ts",
43420
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
43421
+ ],
42672
43422
  "ILogDriver": [
42673
43423
  "src/nodefony/src/syslog/drivers/ClusterFileLogDriver.ts",
42674
43424
  "src/nodefony/src/syslog/drivers/FileLogDriver.ts",
@@ -42694,6 +43444,7 @@
42694
43444
  "src/nodefony/src/syslog/drivers/OpenSearchLogDriver.ts",
42695
43445
  "src/nodefony/src/syslog/drivers/filterPdus.ts",
42696
43446
  "src/nodefony/src/syslog/drivers/logDriverRegistry.ts",
43447
+ "src/nodefony/src/syslog/drivers/pduConsole.ts",
42697
43448
  "src/nodefony/src/syslog/drivers/pduFlow.ts",
42698
43449
  "src/nodefony/src/syslog/drivers/pduProtocol.ts"
42699
43450
  ],
@@ -42751,8 +43502,10 @@
42751
43502
  "src/nodefony/src/syslog/transports/LokiTransport.ts",
42752
43503
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42753
43504
  ],
42754
- "basicAuthHeader": [
43505
+ "resolveEndpoint": [
43506
+ "src/nodefony/src/syslog/drivers/LokiLogDriver.ts",
42755
43507
  "src/nodefony/src/syslog/drivers/OpenSearchLogDriver.ts",
43508
+ "src/nodefony/src/syslog/transports/LokiTransport.ts",
42756
43509
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42757
43510
  ],
42758
43511
  "DEFAULT_OPENSEARCH_INDEX": [
@@ -42789,20 +43542,49 @@
42789
43542
  "createLokiLogDriver": [
42790
43543
  "src/nodefony/src/syslog/drivers/builtinLogDrivers.ts"
42791
43544
  ],
43545
+ "DEFAULT_LOKI_APP_LABEL": [
43546
+ "src/nodefony/src/syslog/drivers/builtinLogDrivers.ts",
43547
+ "src/nodefony/src/syslog/transports/LokiTransport.ts"
43548
+ ],
42792
43549
  "createOpenSearchLogDriver": [
42793
43550
  "src/nodefony/src/syslog/drivers/builtinLogDrivers.ts"
42794
43551
  ],
42795
43552
  "registerLogDriverFactory": [
42796
43553
  "src/nodefony/src/syslog/drivers/builtinLogDrivers.ts"
42797
43554
  ],
42798
- "pduToRecord": [
42799
- "src/nodefony/src/syslog/drivers/filterPdus.ts",
42800
- "src/nodefony/src/syslog/transports/LokiTransport.ts",
42801
- "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42802
- ],
42803
43555
  "ILogQueryResult": [
42804
43556
  "src/nodefony/src/syslog/drivers/filterPdus.ts"
42805
43557
  ],
43558
+ "pduProtocol": [
43559
+ "src/nodefony/src/syslog/drivers/filterPdus.ts"
43560
+ ],
43561
+ "consoleRequestIds": [
43562
+ "src/nodefony/src/syslog/drivers/filterPdus.ts"
43563
+ ],
43564
+ "pduIsConsoleRequest": [
43565
+ "src/nodefony/src/syslog/drivers/filterPdus.ts"
43566
+ ],
43567
+ "pduFlowStep": [
43568
+ "src/nodefony/src/syslog/drivers/filterPdus.ts"
43569
+ ],
43570
+ "LokiDestinationConfig": [
43571
+ "src/nodefony/src/syslog/drivers/logDriverRegistry.ts"
43572
+ ],
43573
+ "OpenSearchDestinationConfig": [
43574
+ "src/nodefony/src/syslog/drivers/logDriverRegistry.ts"
43575
+ ],
43576
+ "AUTH_API_BASE": [
43577
+ "src/nodefony/src/syslog/drivers/pduConsole.ts",
43578
+ "src/packages/@nodefony/framework/nodefony/controller/SessionAuthController.ts"
43579
+ ],
43580
+ "OAUTH2_API_BASE": [
43581
+ "src/nodefony/src/syslog/drivers/pduConsole.ts",
43582
+ "src/packages/@nodefony/framework/nodefony/controller/OAuth2Controller.ts"
43583
+ ],
43584
+ "WEBAUTHN_API_BASE": [
43585
+ "src/nodefony/src/syslog/drivers/pduConsole.ts",
43586
+ "src/packages/@nodefony/framework/nodefony/controller/WebAuthnController.ts"
43587
+ ],
42806
43588
  "LogProtocol": [
42807
43589
  "src/nodefony/src/syslog/drivers/pduFlow.ts"
42808
43590
  ],
@@ -42820,10 +43602,13 @@
42820
43602
  "src/nodefony/src/syslog/transports/LokiTransport.ts",
42821
43603
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42822
43604
  ],
42823
- "buildIndexTemplate": [
43605
+ "auditPipelineName": [
43606
+ "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
43607
+ ],
43608
+ "buildAuditPipeline": [
42824
43609
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42825
43610
  ],
42826
- "OPENSEARCH_TEMPLATE_NAME": [
43611
+ "buildIndexTemplate": [
42827
43612
  "src/nodefony/src/syslog/transports/OpenSearchTransport.ts"
42828
43613
  ],
42829
43614
  "toOpenSearchDocument": [
@@ -43281,10 +44066,12 @@
43281
44066
  "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts"
43282
44067
  ],
43283
44068
  "IProfileReport": [
43284
- "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts"
44069
+ "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts",
44070
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
43285
44071
  ],
43286
44072
  "IRouteStats": [
43287
- "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts"
44073
+ "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts",
44074
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
43288
44075
  ],
43289
44076
  "EVENT_LOOP_RESOLUTION_MS": [
43290
44077
  "src/packages/@nodefony/devkit/nodefony/mcp/profileReport.ts",
@@ -43304,7 +44091,8 @@
43304
44091
  "src/packages/@nodefony/devkit/nodefony/mcp/profileRoute.ts"
43305
44092
  ],
43306
44093
  "aggregateProfiles": [
43307
- "src/packages/@nodefony/devkit/nodefony/mcp/profileRoute.ts"
44094
+ "src/packages/@nodefony/devkit/nodefony/mcp/profileRoute.ts",
44095
+ "src/packages/@nodefony/http/nodefony/service/ProfilerAdminApi.ts"
43308
44096
  ],
43309
44097
  "NOT_SERVING_MESSAGE": [
43310
44098
  "src/packages/@nodefony/devkit/nodefony/mcp/profileRoute.ts"
@@ -45559,9 +46347,6 @@
45559
46347
  "keepSuccess": [
45560
46348
  "src/packages/@nodefony/framework/nodefony/controller/LoginPageController.ts"
45561
46349
  ],
45562
- "OAUTH2_API_BASE": [
45563
- "src/packages/@nodefony/framework/nodefony/controller/OAuth2Controller.ts"
45564
- ],
45565
46350
  "OAUTH2_FAILED_REASON": [
45566
46351
  "src/packages/@nodefony/framework/nodefony/controller/OAuth2Controller.ts"
45567
46352
  ],
@@ -45571,12 +46356,6 @@
45571
46356
  "buildProtectedResourceMetadata": [
45572
46357
  "src/packages/@nodefony/framework/nodefony/controller/ProtectedResourceMetadataController.ts"
45573
46358
  ],
45574
- "AUTH_API_BASE": [
45575
- "src/packages/@nodefony/framework/nodefony/controller/SessionAuthController.ts"
45576
- ],
45577
- "WEBAUTHN_API_BASE": [
45578
- "src/packages/@nodefony/framework/nodefony/controller/WebAuthnController.ts"
45579
- ],
45580
46359
  "WEBAUTHN_STATUS_PATH": [
45581
46360
  "src/packages/@nodefony/framework/nodefony/controller/WebAuthnController.ts"
45582
46361
  ],
@@ -45663,6 +46442,7 @@
45663
46442
  "src/packages/@nodefony/framework/nodefony/interfaces/IResolver.ts",
45664
46443
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
45665
46444
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
46445
+ "src/packages/@nodefony/http/nodefony/src/context/unsentResponse.ts",
45666
46446
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts",
45667
46447
  "src/packages/@nodefony/http/nodefony/src/profiler/FrameProfile.ts"
45668
46448
  ],
@@ -45953,6 +46733,7 @@
45953
46733
  ],
45954
46734
  "SchemeType": [
45955
46735
  "src/packages/@nodefony/framework/nodefony/src/Route.ts",
46736
+ "src/packages/@nodefony/http/nodefony/interfaces/IRequestTrace.ts",
45956
46737
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
45957
46738
  "src/packages/@nodefony/http/nodefony/service/servers/server-h2c.ts",
45958
46739
  "src/packages/@nodefony/http/nodefony/service/servers/server-http.ts",
@@ -46030,6 +46811,9 @@
46030
46811
  "StandardSchemaResult": [
46031
46812
  "src/packages/@nodefony/framework/nodefony/src/routeSchema.ts"
46032
46813
  ],
46814
+ "FLOW_STEPS": [
46815
+ "src/packages/@nodefony/framework/nodefony/src/syslogFilters.ts"
46816
+ ],
46033
46817
  "defineFrontendConfig": [
46034
46818
  "src/packages/@nodefony/frontend/index.ts"
46035
46819
  ],
@@ -46294,7 +47078,8 @@
46294
47078
  "src/packages/@nodefony/http/nodefony/config/defineModuleConfig.ts"
46295
47079
  ],
46296
47080
  "HTTPMethodType": [
46297
- "src/packages/@nodefony/http/nodefony/interfaces/IContext.ts"
47081
+ "src/packages/@nodefony/http/nodefony/interfaces/IContext.ts",
47082
+ "src/packages/@nodefony/http/nodefony/interfaces/IRequestTrace.ts"
46298
47083
  ],
46299
47084
  "IHttpContext": [
46300
47085
  "src/packages/@nodefony/http/nodefony/interfaces/IErrorRenderer.ts",
@@ -46389,12 +47174,6 @@
46389
47174
  "src/packages/@nodefony/http/nodefony/service/request-logger.ts",
46390
47175
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
46391
47176
  ],
46392
- "PhaseTiming": [
46393
- "src/packages/@nodefony/http/nodefony/service/audit-logger.ts",
46394
- "src/packages/@nodefony/http/nodefony/service/pretty-request-logger.ts",
46395
- "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
46396
- "src/packages/@nodefony/http/nodefony/src/profiler/FrameProfile.ts"
46397
- ],
46398
47177
  "createSelfSignedCertificate": [
46399
47178
  "src/packages/@nodefony/http/nodefony/service/certificates.ts"
46400
47179
  ],
@@ -46476,10 +47255,29 @@
46476
47255
  "compileTrustedHosts": [
46477
47256
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
46478
47257
  ],
47258
+ "isProfiledUrl": [
47259
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
47260
+ ],
46479
47261
  "responseEnded": [
46480
47262
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
46481
47263
  "src/packages/@nodefony/http/nodefony/src/context/http/HttpContext.ts"
46482
47264
  ],
47265
+ "unsentResponseWarning": [
47266
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
47267
+ ],
47268
+ "closeRequestTrace": [
47269
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts",
47270
+ "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
47271
+ ],
47272
+ "hasRequestTraceSubscribers": [
47273
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
47274
+ ],
47275
+ "openRequestTrace": [
47276
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
47277
+ ],
47278
+ "runTraced": [
47279
+ "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
47280
+ ],
46483
47281
  "Statics": [
46484
47282
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
46485
47283
  ],
@@ -46510,13 +47308,13 @@
46510
47308
  "IHttpKernel": [
46511
47309
  "src/packages/@nodefony/http/nodefony/service/http-kernel.ts"
46512
47310
  ],
46513
- "computeDurationMs": [
46514
- "src/packages/@nodefony/http/nodefony/service/pretty-request-logger.ts"
46515
- ],
46516
47311
  "severityFromStatus": [
46517
47312
  "src/packages/@nodefony/http/nodefony/service/pretty-request-logger.ts",
46518
47313
  "src/packages/@nodefony/http/nodefony/service/request-logger.ts"
46519
47314
  ],
47315
+ "statusOf": [
47316
+ "src/packages/@nodefony/http/nodefony/service/pretty-request-logger.ts"
47317
+ ],
46520
47318
  "IProxyMount": [
46521
47319
  "src/packages/@nodefony/http/nodefony/service/reverse-proxy.ts",
46522
47320
  "src/packages/@nodefony/http/nodefony/src/proxy/forward.ts"
@@ -46672,6 +47470,12 @@
46672
47470
  "protocolNameOf": [
46673
47471
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
46674
47472
  ],
47473
+ "resolveTimingMode": [
47474
+ "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
47475
+ ],
47476
+ "RequestTraceRecord": [
47477
+ "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
47478
+ ],
46675
47479
  "cookiesParser": [
46676
47480
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
46677
47481
  ],
@@ -46687,6 +47491,10 @@
46687
47491
  "WebsocketSecure": [
46688
47492
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts"
46689
47493
  ],
47494
+ "PhaseTiming": [
47495
+ "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
47496
+ "src/packages/@nodefony/http/nodefony/src/profiler/FrameProfile.ts"
47497
+ ],
46690
47498
  "PhaseName": [
46691
47499
  "src/packages/@nodefony/http/nodefony/src/context/Context.ts",
46692
47500
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts",
@@ -46769,6 +47577,9 @@
46769
47577
  "MetaData": [
46770
47578
  "src/packages/@nodefony/http/nodefony/src/context/metaData.ts"
46771
47579
  ],
47580
+ "RequestTraceProtocol": [
47581
+ "src/packages/@nodefony/http/nodefony/src/context/requestTrace.ts"
47582
+ ],
46772
47583
  "decideSend": [
46773
47584
  "src/packages/@nodefony/http/nodefony/src/context/websocket/Response.ts",
46774
47585
  "src/packages/@nodefony/realtime/nodefony/src/transport/WsConnectionTransport.ts"
@@ -46783,6 +47594,9 @@
46783
47594
  "src/packages/@nodefony/http/nodefony/src/context/websocket/Response.ts",
46784
47595
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
46785
47596
  ],
47597
+ "frameRequestId": [
47598
+ "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
47599
+ ],
46786
47600
  "FrameProfile": [
46787
47601
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
46788
47602
  ],
@@ -46832,6 +47646,21 @@
46832
47646
  "MODULE_PROXY_PREFIXES": [
46833
47647
  "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
46834
47648
  ],
47649
+ "IStatusBreakdown": [
47650
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
47651
+ ],
47652
+ "IPhaseTotal": [
47653
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
47654
+ ],
47655
+ "INPlusOne": [
47656
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
47657
+ ],
47658
+ "ISqlShapeStats": [
47659
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
47660
+ ],
47661
+ "IErrorSample": [
47662
+ "src/packages/@nodefony/http/nodefony/src/profiler/aggregate.ts"
47663
+ ],
46835
47664
  "IRateLimitListQuery": [
46836
47665
  "src/packages/@nodefony/http/nodefony/src/rateLimit/MemoryRateLimitStore.ts"
46837
47666
  ],
@@ -47307,7 +48136,8 @@
47307
48136
  "src/packages/@nodefony/realtime/nodefony/testing/index.ts",
47308
48137
  "src/packages/@nodefony/security/nodefony/src/authenticator/FirewallRealtimeAuthenticator.ts",
47309
48138
  "src/packages/@nodefony/security/nodefony/src/realtime/UserRealtimeToken.ts",
47310
- "src/packages/@nodefony/security/nodefony/src/realtime/frameAuthorizer.ts"
48139
+ "src/packages/@nodefony/security/nodefony/src/realtime/frameAuthorizer.ts",
48140
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
47311
48141
  ],
47312
48142
  "ChannelSink": [
47313
48143
  "src/packages/@nodefony/realtime/nodefony/interfaces/IRealtimeConnectionState.ts",
@@ -47493,7 +48323,8 @@
47493
48323
  "FrameAuthorizer": [
47494
48324
  "src/packages/@nodefony/realtime/nodefony/src/service/RealtimeService.ts",
47495
48325
  "src/packages/@nodefony/realtime/nodefony/testing/index.ts",
47496
- "src/packages/@nodefony/security/nodefony/src/realtime/frameAuthorizer.ts"
48326
+ "src/packages/@nodefony/security/nodefony/src/realtime/frameAuthorizer.ts",
48327
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
47497
48328
  ],
47498
48329
  "applyDeclaredBroadcastPrefixes": [
47499
48330
  "src/packages/@nodefony/realtime/nodefony/src/service/RealtimeService.ts"
@@ -47996,7 +48827,8 @@
47996
48827
  "src/packages/@nodefony/security/nodefony/service/tokenService.ts",
47997
48828
  "src/packages/@nodefony/security/nodefony/src/rolesWithin.ts",
47998
48829
  "src/packages/@nodefony/security/nodefony/src/token/scopeGrants.ts",
47999
- "src/packages/@nodefony/security/nodefony/src/voter/RoleVoter.ts"
48830
+ "src/packages/@nodefony/security/nodefony/src/voter/RoleVoter.ts",
48831
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
48000
48832
  ],
48001
48833
  "recordAudit": [
48002
48834
  "src/packages/@nodefony/security/nodefony/service/apiKeys.ts",
@@ -48184,10 +49016,12 @@
48184
49016
  "src/packages/@nodefony/security/nodefony/service/firewall.ts"
48185
49017
  ],
48186
49018
  "buildFrameAuthorizer": [
48187
- "src/packages/@nodefony/security/nodefony/service/firewall.ts"
49019
+ "src/packages/@nodefony/security/nodefony/service/firewall.ts",
49020
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
48188
49021
  ],
48189
49022
  "DEFAULT_SYSTEM_RULES": [
48190
- "src/packages/@nodefony/security/nodefony/service/firewall.ts"
49023
+ "src/packages/@nodefony/security/nodefony/service/firewall.ts",
49024
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
48191
49025
  ],
48192
49026
  "buildSystemRules": [
48193
49027
  "src/packages/@nodefony/security/nodefony/service/firewall.ts"
@@ -48694,6 +49528,9 @@
48694
49528
  "MemoryWebhookStore": [
48695
49529
  "src/packages/@nodefony/security/nodefony/src/webhook/webhookStoreRegistry.ts"
48696
49530
  ],
49531
+ "IChannelPolicyResolver": [
49532
+ "src/packages/@nodefony/security/nodefony/testing/index.ts"
49533
+ ],
48697
49534
  "resolveUiDelivery": [
48698
49535
  "src/packages/@nodefony/studio/index.ts"
48699
49536
  ],