nodefony 10.0.0-alpha.2 → 10.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.ai/symbols.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "version": "2.0.0",
3
3
  "repoRoot": ".",
4
4
  "stats": {
5
- "files": 812,
6
- "symbols": 3900,
7
- "classes": 385,
8
- "interfaces": 1059,
9
- "types": 445,
5
+ "files": 818,
6
+ "symbols": 3939,
7
+ "classes": 388,
8
+ "interfaces": 1069,
9
+ "types": 446,
10
10
  "enums": 4,
11
- "functions": 1618,
12
- "constants": 389
11
+ "functions": 1641,
12
+ "constants": 391
13
13
  },
14
14
  "symbols": {
15
15
  "Cli": {
@@ -3551,6 +3551,14 @@
3551
3551
  "module": "@nodefony/core",
3552
3552
  "description": "Durée de vie effective d'un runtime en dérogation — fonction PURE."
3553
3553
  },
3554
+ "runNeedsExternalServices": {
3555
+ "name": "runNeedsExternalServices",
3556
+ "kind": "function",
3557
+ "file": "src/nodefony/src/kernel/Kernel.ts",
3558
+ "exported": true,
3559
+ "module": "@nodefony/core",
3560
+ "description": "Ce run a-t-il DÉCLARÉ avoir besoin de l'infrastructure de l'application ? Point d'appel UNIQUE de la question : les services qui ouvrent une connexion au boot (ORM SQL, ORM document) la posent tous…"
3561
+ },
3554
3562
  "FORCE_DEV_MODULES_ENV": {
3555
3563
  "name": "FORCE_DEV_MODULES_ENV",
3556
3564
  "kind": "const",
@@ -3598,6 +3606,14 @@
3598
3606
  "module": "@nodefony/core",
3599
3607
  "description": "Profil par défaut — équivaut à l'ancien `type = \"CONSOLE\"` (one-shot, sans serveur)."
3600
3608
  },
3609
+ "CONSOLE_DATA_RUN_PROFILE": {
3610
+ "name": "CONSOLE_DATA_RUN_PROFILE",
3611
+ "kind": "const",
3612
+ "file": "src/nodefony/src/kernel/Kernel.ts",
3613
+ "exported": true,
3614
+ "module": "@nodefony/core",
3615
+ "description": "Profil d'une commande console qui a besoin de l'infrastructure — `orm:migrate`, `security:user:add`, tout ce qui LIT ou ÉCRIT des données. Existe pour que le besoin s'écrive en un mot au lieu d'un …"
3616
+ },
3601
3617
  "IListenerTags": {
3602
3618
  "name": "IListenerTags",
3603
3619
  "kind": "interface",
@@ -8571,6 +8587,14 @@
8571
8587
  "module": "@nodefony/core",
8572
8588
  "description": "La version majeure exigée par `engines.node`, ou `null` si non déclarée."
8573
8589
  },
8590
+ "checkFrontendBuild": {
8591
+ "name": "checkFrontendBuild",
8592
+ "kind": "function",
8593
+ "file": "src/nodefony/src/kernel/checks/freshness.ts",
8594
+ "exported": true,
8595
+ "module": "@nodefony/core",
8596
+ "description": "Le frontend DÉCLARÉ est-il construit, et l'est-il APRÈS ses sources ? 🔴 Le contrôle de fraîcheur ne regardait que le `dist/` du backend. Une application dont le build frontend avait échoué — `publ…"
8597
+ },
8574
8598
  "checkFreshness": {
8575
8599
  "name": "checkFreshness",
8576
8600
  "kind": "function",
@@ -9394,6 +9418,14 @@
9394
9418
  "module": "@nodefony/core",
9395
9419
  "description": "Rend le rapport de `doctor` alors que l'application vient d'échouer à démarrer. 🔴 C'est le cas POUR lequel la commande existe. `--live` sort du fast-path et demande un boot : sans ce chemin, une a…"
9396
9420
  },
9421
+ "withoutComments": {
9422
+ "name": "withoutComments",
9423
+ "kind": "function",
9424
+ "file": "src/nodefony/src/kernel/checks/sourceText.ts",
9425
+ "exported": true,
9426
+ "module": "@nodefony/core",
9427
+ "description": "Le texte d'une source, tel que les contrôles de `doctor` doivent le lire. 🔴 Cette règle était écrite TROIS fois — `surface`, `readiness`, `wiring` — et elle avait déjà divergé : deux copies coupai…"
9428
+ },
9397
9429
  "IOpening": {
9398
9430
  "name": "IOpening",
9399
9431
  "kind": "interface",
@@ -14485,7 +14517,7 @@
14485
14517
  "exported": true,
14486
14518
  "module": "@nodefony/framework",
14487
14519
  "extends": null,
14488
- "description": "Vue MINIMALE du service `oauth2` (`@nodefony/security`) — couplage par NOM (framework ne dépend ni de security ni d'arctic). Contrat structurel imposé par cast (`this.get<…>`), aucune liaison de bu…"
14520
+ "description": "Vue MINIMALE du service `oauth2` (`@nodefony/security`) — couplage par NOM (framework ne dépend pas de security). Contrat structurel imposé par cast (`this.get<…>`), aucune liaison de build."
14489
14521
  },
14490
14522
  "IOAuth2Session": {
14491
14523
  "name": "IOAuth2Session",
@@ -18314,6 +18346,64 @@
18314
18346
  "module": "@nodefony/orm-core",
18315
18347
  "description": "**Santé ORM lean per-instance** — somme process-wide de tous les connecteurs enregistrés, destinée à voyager dans le report de sonde cluster (« ORM par worker »). C'est la fonction branchée par le …"
18316
18348
  },
18349
+ "withConnectDeadline": {
18350
+ "name": "withConnectDeadline",
18351
+ "kind": "function",
18352
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectDeadline.ts",
18353
+ "exported": true,
18354
+ "module": "@nodefony/orm-core",
18355
+ "description": "Borne l'attente d'une promesse, et rejette avec une cause NOMMÉE au-delà. Le message importe autant que la borne : « délai dépassé » sans sujet envoie chercher partout. Celui-ci dit ce qu'on attend…"
18356
+ },
18357
+ "CONNECT_TIMEOUT_MS": {
18358
+ "name": "CONNECT_TIMEOUT_MS",
18359
+ "kind": "const",
18360
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectDeadline.ts",
18361
+ "exported": true,
18362
+ "module": "@nodefony/orm-core",
18363
+ "description": "Le DÉLAI DE GARDE d'une connexion à une base — une commande n'attend jamais sans fin. 🔴 Le cas est vécu, et il ne ressemble pas à une panne : `nodefony inspect config` restait suspendu, sans un mo…"
18364
+ },
18365
+ "IConnectionDiagnosis": {
18366
+ "name": "IConnectionDiagnosis",
18367
+ "kind": "interface",
18368
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectionDiagnosis.ts",
18369
+ "exported": true,
18370
+ "module": "@nodefony/orm-core",
18371
+ "extends": null,
18372
+ "description": "Diagnostic rendu à l'appelant, qui compose le message final."
18373
+ },
18374
+ "IConnectionTarget": {
18375
+ "name": "IConnectionTarget",
18376
+ "kind": "interface",
18377
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectionDiagnosis.ts",
18378
+ "exported": true,
18379
+ "module": "@nodefony/orm-core",
18380
+ "extends": null,
18381
+ "description": "Adresse visée, telle qu'on peut la dire sans divulguer de secret."
18382
+ },
18383
+ "ConnectionVerdict": {
18384
+ "name": "ConnectionVerdict",
18385
+ "kind": "type",
18386
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectionDiagnosis.ts",
18387
+ "exported": true,
18388
+ "module": "@nodefony/orm-core",
18389
+ "description": "Diagnostic d'un échec de connexion à une base — **ce qui a été CONSTATÉ**, jamais seulement ce qu'on en déduit. Le message d'échec énumérait trois causes (infrastructure déclarée, base démarrée, en…"
18390
+ },
18391
+ "parseConnectionTarget": {
18392
+ "name": "parseConnectionTarget",
18393
+ "kind": "function",
18394
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectionDiagnosis.ts",
18395
+ "exported": true,
18396
+ "module": "@nodefony/orm-core",
18397
+ "description": "Extrait l'hôte et le port d'une URL de connexion, sans son secret."
18398
+ },
18399
+ "diagnoseConnectionFailure": {
18400
+ "name": "diagnoseConnectionFailure",
18401
+ "kind": "function",
18402
+ "file": "src/packages/@nodefony/orm-core/nodefony/src/connectionDiagnosis.ts",
18403
+ "exported": true,
18404
+ "module": "@nodefony/orm-core",
18405
+ "description": "Explique un échec de connexion en distinguant « personne n'écoute » de « quelqu'un a répondu et refuse »."
18406
+ },
18317
18407
  "IConnectionMonitorCore": {
18318
18408
  "name": "IConnectionMonitorCore",
18319
18409
  "kind": "interface",
@@ -19649,6 +19739,15 @@
19649
19739
  "extends": null,
19650
19740
  "description": "Source du matériel cryptographique de signature des JWT. Découple la SIGNATURE de toute persistance concrète : la clé peut venir de l'environnement (prod cloud), d'un fichier (dev/VPS) ou être éphé…"
19651
19741
  },
19742
+ "IIssuerPolicy": {
19743
+ "name": "IIssuerPolicy",
19744
+ "kind": "interface",
19745
+ "file": "src/packages/@nodefony/security/nodefony/contracts/IOAuthProvider.ts",
19746
+ "exported": true,
19747
+ "module": "@nodefony/security",
19748
+ "extends": null,
19749
+ "description": "Ce qu'on exige du paramètre `iss` renvoyé par le serveur d'autorisation (RFC 9207)."
19750
+ },
19652
19751
  "IOAuthProvider": {
19653
19752
  "name": "IOAuthProvider",
19654
19753
  "kind": "interface",
@@ -19656,7 +19755,7 @@
19656
19755
  "exported": true,
19657
19756
  "module": "@nodefony/security",
19658
19757
  "extends": null,
19659
- "description": "Adaptateur d'**un fournisseur OAuth/OIDC**, façade UNIFORME au-dessus d'une classe `arctic` — masque les divergences entre fournisseurs derrière un contrat stable consommé par `OAuth2Service` : - *…"
19758
+ "description": "Adaptateur d'**un fournisseur OAuth/OIDC**, façade UNIFORME au-dessus d'un client OAuth 2.0 — masque les divergences entre fournisseurs derrière un contrat stable consommé par `OAuth2Service` : - *…"
19660
19759
  },
19661
19760
  "ISecuredArea": {
19662
19761
  "name": "ISecuredArea",
@@ -20133,7 +20232,7 @@
20133
20232
  "extends": "Service",
20134
20233
  "implements": [],
20135
20234
  "decorators": [],
20136
- "description": "**Social login OAuth 2.0** (P6 J9) — orchestrateur du flux *Authorization Code* au-dessus d'`arctic`. Posture OAuth 2.1 (RFC 9700) : Authorization Code uniquement (jamais implicit / ROPC), **PKCE S…"
20235
+ "description": "**Social login OAuth 2.0** (P6 J9) — orchestrateur du flux *Authorization Code*. Posture OAuth 2.1 (RFC 9700) : Authorization Code uniquement (jamais implicit / ROPC), **PKCE S256** quand le fourni…"
20137
20236
  },
20138
20237
  "IOAuthAuthorization": {
20139
20238
  "name": "IOAuthAuthorization",
@@ -22485,8 +22584,7 @@
22485
22584
  "module": "@nodefony/drizzle",
22486
22585
  "extends": "Orm",
22487
22586
  "implements": [],
22488
- "decorators": [],
22489
- "description": "Adapter Drizzle (driver `better-sqlite3`) **branché sur `@nodefony/orm-core`** — 3ᵉ adapter du banc multi-ORM (P7.4), choix SQL #1 moderne. Particularité vs les autres ORM : Drizzle est **schema-as…"
22587
+ "decorators": []
22490
22588
  },
22491
22589
  "DrizzleOrmOptions": {
22492
22590
  "name": "DrizzleOrmOptions",
@@ -24102,8 +24200,8 @@
24102
24200
  "module": "@nodefony/realtime",
24103
24201
  "description": "Fabrique le provider PARTAGÉ d'un canal (listener/ticker qui pousse via `publish`). Appelée UNE fois, au 1ᵉʳ abonné. Renvoie son `dispose` (appelé au dernier désabonné) ou `null` si le canal est in…"
24104
24202
  },
24105
- "familleDuCanal": {
24106
- "name": "familleDuCanal",
24203
+ "channelFamily": {
24204
+ "name": "channelFamily",
24107
24205
  "kind": "function",
24108
24206
  "file": "src/packages/@nodefony/realtime/nodefony/src/server/RealtimeHub.ts",
24109
24207
  "exported": true,
@@ -24805,6 +24903,140 @@
24805
24903
  "module": "@nodefony/security",
24806
24904
  "description": "Valide qu'une URL sortante est sûre (anti-SSRF) : protocole autorisé, pas d'identifiants embarqués, hôte résolvable, et **toutes** les IP résolues publiques. Lève {@link SsrfError} (422) sinon."
24807
24905
  },
24906
+ "readJsonBounded": {
24907
+ "name": "readJsonBounded",
24908
+ "kind": "function",
24909
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/httpJson.ts",
24910
+ "exported": true,
24911
+ "module": "@nodefony/security",
24912
+ "description": "Lecture BORNÉE d'un corps JSON — la brique de transport commune aux trois appels sortants du social login (découverte, point de jeton, API d'un fournisseur non-OIDC). Elle existe parce qu'une borne…"
24913
+ },
24914
+ "readJsonObjectBounded": {
24915
+ "name": "readJsonObjectBounded",
24916
+ "kind": "function",
24917
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/httpJson.ts",
24918
+ "exported": true,
24919
+ "module": "@nodefony/security",
24920
+ "description": "Comme {@link readJsonBounded}, mais exige un OBJET — la forme de toute réponse normalisée par une RFC (document de métadonnées, réponse d'un point de jeton)."
24921
+ },
24922
+ "IDiscoveredAuthorizationServer": {
24923
+ "name": "IDiscoveredAuthorizationServer",
24924
+ "kind": "interface",
24925
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
24926
+ "exported": true,
24927
+ "module": "@nodefony/security",
24928
+ "extends": null,
24929
+ "description": "Points d'entrée retenus d'un serveur d'autorisation — le sous-ensemble dont le flux *Authorization Code* a besoin (RFC 8414 §2)."
24930
+ },
24931
+ "IDiscoveryOptions": {
24932
+ "name": "IDiscoveryOptions",
24933
+ "kind": "interface",
24934
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
24935
+ "exported": true,
24936
+ "module": "@nodefony/security",
24937
+ "extends": null,
24938
+ "description": "Réglages de la découverte — l'injection de `fetch` est la voie pour éprouver sans TLS."
24939
+ },
24940
+ "discoverAuthorizationServer": {
24941
+ "name": "discoverAuthorizationServer",
24942
+ "kind": "function",
24943
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
24944
+ "exported": true,
24945
+ "module": "@nodefony/security",
24946
+ "description": "Interroge un serveur d'autorisation et rend ses points d'entrée. Les URL candidates sont celles du cœur (`issuerMetadataUrls`, ordre normatif RFC 8414 §3.1 : insertion oauth → insertion oidc → ajou…"
24947
+ },
24948
+ "OAuth2RequestError": {
24949
+ "name": "OAuth2RequestError",
24950
+ "kind": "class",
24951
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
24952
+ "exported": true,
24953
+ "module": "@nodefony/security",
24954
+ "extends": "Error",
24955
+ "implements": [],
24956
+ "decorators": [],
24957
+ "description": "Refus du serveur d'autorisation au point de jeton (RFC 6749 §5.2). Porte le code `error` normalisé — la seule partie de la réponse sûre à journaliser."
24958
+ },
24959
+ "OAuth2Tokens": {
24960
+ "name": "OAuth2Tokens",
24961
+ "kind": "class",
24962
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
24963
+ "exported": true,
24964
+ "module": "@nodefony/security",
24965
+ "extends": null,
24966
+ "implements": [],
24967
+ "decorators": [],
24968
+ "description": "Jetons rendus par le point de jeton (RFC 6749 §5.1), enveloppés pour qu'un champ attendu mais absent lève une erreur NOMMÉE au lieu de propager un `undefined` jusqu'au décodage du profil."
24969
+ },
24970
+ "OAuth2Client": {
24971
+ "name": "OAuth2Client",
24972
+ "kind": "class",
24973
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
24974
+ "exported": true,
24975
+ "module": "@nodefony/security",
24976
+ "extends": null,
24977
+ "implements": [],
24978
+ "decorators": [],
24979
+ "description": "Client d'un serveur d'autorisation donné : construit l'URL d'autorisation puis échange le code contre des jetons. Un exemplaire porte les endpoints DÉJÀ résolus — par découverte de métadonnées ({@l…"
24980
+ },
24981
+ "IAuthorizationRequest": {
24982
+ "name": "IAuthorizationRequest",
24983
+ "kind": "interface",
24984
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
24985
+ "exported": true,
24986
+ "module": "@nodefony/security",
24987
+ "extends": null,
24988
+ "description": "Étape 1 — ce qu'on demande au point d'autorisation. La forme est un OBJET, et c'est tout l'enjeu : les paramètres normalisés qui manquent encore — `resource` (RFC 8707, exigé par le Model Context P…"
24989
+ },
24990
+ "ITokenRequest": {
24991
+ "name": "ITokenRequest",
24992
+ "kind": "interface",
24993
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
24994
+ "exported": true,
24995
+ "module": "@nodefony/security",
24996
+ "extends": null,
24997
+ "description": "Étape 2 — ce qu'on présente au point de jeton. Même raison d'être qu'{@link IAuthorizationRequest} : `resource` doit être répété ici (RFC 8707 §2.2), et rien ne pouvait s'ajouter à une signature po…"
24998
+ },
24999
+ "IOAuth2ClientOptions": {
25000
+ "name": "IOAuth2ClientOptions",
25001
+ "kind": "interface",
25002
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
25003
+ "exported": true,
25004
+ "module": "@nodefony/security",
25005
+ "extends": null,
25006
+ "description": "Points d'entrée d'un serveur d'autorisation et identité du client."
25007
+ },
25008
+ "OAuth2ClientAuthMethod": {
25009
+ "name": "OAuth2ClientAuthMethod",
25010
+ "kind": "type",
25011
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
25012
+ "exported": true,
25013
+ "module": "@nodefony/security",
25014
+ "description": "Comment le client s'authentifie au point de jeton (RFC 6749 §2.3, et le registre `token_endpoint_auth_method` d'OpenID Connect Discovery). 🔴 Elle se DÉCLARE, elle ne se déduit plus de la vacuité d…"
25015
+ },
25016
+ "generateState": {
25017
+ "name": "generateState",
25018
+ "kind": "function",
25019
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
25020
+ "exported": true,
25021
+ "module": "@nodefony/security",
25022
+ "description": "Tire un `state` anti-CSRF (RFC 6749 §10.12, RFC 9700 §4.7) — 256 bits issus du générateur cryptographique du système."
25023
+ },
25024
+ "generateCodeVerifier": {
25025
+ "name": "generateCodeVerifier",
25026
+ "kind": "function",
25027
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
25028
+ "exported": true,
25029
+ "module": "@nodefony/security",
25030
+ "description": "Tire un `code_verifier` PKCE (RFC 7636 §4.1) — 43 caractères de l'alphabet `unreserved`, porteurs de 256 bits d'entropie."
25031
+ },
25032
+ "createCodeChallenge": {
25033
+ "name": "createCodeChallenge",
25034
+ "kind": "function",
25035
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts",
25036
+ "exported": true,
25037
+ "module": "@nodefony/security",
25038
+ "description": "Calcule le `code_challenge` de la méthode **S256** (RFC 7636 §4.2) : `BASE64URL(SHA256(ASCII(code_verifier)))`."
25039
+ },
24808
25040
  "IOAuthProviderContext": {
24809
25041
  "name": "IOAuthProviderContext",
24810
25042
  "kind": "interface",
@@ -26602,7 +26834,7 @@
26602
26834
  "exported": true,
26603
26835
  "module": "@nodefony/security",
26604
26836
  "extends": null,
26605
- "description": "Client `arctic` minimal d'un fournisseur **OIDC avec PKCE** — surface structurelle commune à `Google`, `MicrosoftEntraId`, `Auth0`, `Okta`, `KeyCloak`... (une instance arctic de ces classes est ass…"
26837
+ "description": "Client d'un fournisseur **OIDC avec PKCE** — surface structurelle que {@link OAuth2Client} remplit, et qu'un test peut remplacer par un double sans réseau."
26606
26838
  },
26607
26839
  "IOidcProviderOptions": {
26608
26840
  "name": "IOidcProviderOptions",
@@ -26613,6 +26845,15 @@
26613
26845
  "extends": null,
26614
26846
  "description": "Paramètres d'un fournisseur OIDC générique."
26615
26847
  },
26848
+ "IDiscoveredOidcOptions": {
26849
+ "name": "IDiscoveredOidcOptions",
26850
+ "kind": "interface",
26851
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts",
26852
+ "exported": true,
26853
+ "module": "@nodefony/security",
26854
+ "extends": "IDiscoveryOptions",
26855
+ "description": "Réglages d'un fournisseur OIDC découvert."
26856
+ },
26616
26857
  "createOidcProvider": {
26617
26858
  "name": "createOidcProvider",
26618
26859
  "kind": "function",
@@ -26620,6 +26861,14 @@
26620
26861
  "exported": true,
26621
26862
  "module": "@nodefony/security",
26622
26863
  "description": "Fabrique un {@link IOAuthProvider} **générique OIDC** — couvre TOUT fournisseur OpenID Connect sans code spécifique : le profil se lit toujours pareil (claims standard `sub`/`email`/`email_verified…"
26864
+ },
26865
+ "createDiscoveredOidcProvider": {
26866
+ "name": "createDiscoveredOidcProvider",
26867
+ "kind": "function",
26868
+ "file": "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts",
26869
+ "exported": true,
26870
+ "module": "@nodefony/security",
26871
+ "description": "Construit un fournisseur OIDC **en demandant ses points d'entrée à l'émetteur** (RFC 8414 / OpenID Connect Discovery) — aucune URL n'est écrite en dur. C'est ce qui permet d'enregistrer n'importe q…"
26623
26872
  }
26624
26873
  },
26625
26874
  "relations": {
@@ -26698,7 +26947,8 @@
26698
26947
  "MigrationToolError",
26699
26948
  "MigrationLockTimeoutError",
26700
26949
  "MigrationVerdictError",
26701
- "FrontendError"
26950
+ "FrontendError",
26951
+ "OAuth2RequestError"
26702
26952
  ],
26703
26953
  "EventEmitter": [
26704
26954
  "Event"
@@ -27039,6 +27289,9 @@
27039
27289
  ],
27040
27290
  "Ws": [
27041
27291
  "IBackpressureSocket"
27292
+ ],
27293
+ "IDiscoveryOptions": [
27294
+ "IDiscoveredOidcOptions"
27042
27295
  ]
27043
27296
  },
27044
27297
  "implementedBy": {
@@ -29752,6 +30005,15 @@
29752
30005
  "src/nodefony/src/cli/create.ts",
29753
30006
  "src/nodefony/src/cli/gitHooks.ts"
29754
30007
  ],
30008
+ "collectDoctorReport": [
30009
+ "src/nodefony/src/cli/create.ts",
30010
+ "src/nodefony/src/mcp/tools.ts",
30011
+ "src/nodefony/src/kernel/commands/DoctorCommand.ts"
30012
+ ],
30013
+ "renderDoctorReport": [
30014
+ "src/nodefony/src/cli/create.ts",
30015
+ "src/nodefony/src/kernel/commands/DoctorCommand.ts"
30016
+ ],
29755
30017
  "envFileOrder": [
29756
30018
  "src/nodefony/src/cli/env.ts",
29757
30019
  "src/nodefony/src/cli/scaffold/engine.ts"
@@ -30636,10 +30898,6 @@
30636
30898
  "lookupSymbol": [
30637
30899
  "src/nodefony/src/mcp/tools.ts"
30638
30900
  ],
30639
- "collectDoctorReport": [
30640
- "src/nodefony/src/mcp/tools.ts",
30641
- "src/nodefony/src/kernel/commands/DoctorCommand.ts"
30642
- ],
30643
30901
  "countCheckFindings": [
30644
30902
  "src/nodefony/src/mcp/tools.ts"
30645
30903
  ],
@@ -31604,6 +31862,12 @@
31604
31862
  "isTestFile": [
31605
31863
  "src/nodefony/src/kernel/checks/freshness.ts"
31606
31864
  ],
31865
+ "withoutComments": [
31866
+ "src/nodefony/src/kernel/checks/freshness.ts",
31867
+ "src/nodefony/src/kernel/checks/readiness.ts",
31868
+ "src/nodefony/src/kernel/checks/surface.ts",
31869
+ "src/nodefony/src/kernel/checks/wiring.ts"
31870
+ ],
31607
31871
  "IModuleGated": [
31608
31872
  "src/nodefony/src/kernel/checks/gating.ts",
31609
31873
  "src/nodefony/src/kernel/checks/live.ts"
@@ -31855,9 +32119,6 @@
31855
32119
  "parseDoctorArgv": [
31856
32120
  "src/nodefony/src/kernel/commands/DoctorCommand.ts"
31857
32121
  ],
31858
- "renderDoctorReport": [
31859
- "src/nodefony/src/kernel/commands/DoctorCommand.ts"
31860
- ],
31861
32122
  "reporterProgression": [
31862
32123
  "src/nodefony/src/kernel/commands/DoctorCommand.ts"
31863
32124
  ],
@@ -32518,6 +32779,12 @@
32518
32779
  "registerOAuthProvider": [
32519
32780
  "src/modules/test/nodefony/secure/oauthTestProvider.ts"
32520
32781
  ],
32782
+ "OAuth2Tokens": [
32783
+ "src/modules/test/nodefony/secure/oauthTestProvider.ts",
32784
+ "src/packages/@nodefony/security/nodefony/contracts/IOAuthProvider.ts",
32785
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/github.ts",
32786
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
32787
+ ],
32521
32788
  "IOAuthProvider": [
32522
32789
  "src/modules/test/nodefony/secure/oauthTestProvider.ts",
32523
32790
  "src/packages/@nodefony/security/nodefony/service/oauth2.ts",
@@ -32740,6 +33007,13 @@
32740
33007
  "IDocSearchHit": [
32741
33008
  "src/packages/@nodefony/documentation/nodefony/src/search.ts"
32742
33009
  ],
33010
+ "CONSOLE_DATA_RUN_PROFILE": [
33011
+ "src/packages/@nodefony/drizzle/nodefony/command/migrateShared.ts",
33012
+ "src/packages/@nodefony/security/nodefony/command/security-token.ts",
33013
+ "src/packages/@nodefony/security/nodefony/command/security-user-add.ts",
33014
+ "src/packages/@nodefony/security/nodefony/command/security-user-delete.ts",
33015
+ "src/packages/@nodefony/security/nodefony/command/security-user-list.ts"
33016
+ ],
32743
33017
  "DrizzleMigrator": [
32744
33018
  "src/packages/@nodefony/drizzle/nodefony/command/migrateShared.ts",
32745
33019
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
@@ -33159,6 +33433,10 @@
33159
33433
  "src/packages/@nodefony/drizzle/nodefony/migrations-schema/postgres.ts",
33160
33434
  "src/packages/@nodefony/drizzle/nodefony/migrations-schema/sqlite.ts"
33161
33435
  ],
33436
+ "runNeedsExternalServices": [
33437
+ "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33438
+ "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts"
33439
+ ],
33162
33440
  "queryFlowMonitor": [
33163
33441
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33164
33442
  "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts",
@@ -33171,6 +33449,15 @@
33171
33449
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33172
33450
  "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts"
33173
33451
  ],
33452
+ "diagnoseConnectionFailure": [
33453
+ "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33454
+ "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts"
33455
+ ],
33456
+ "parseConnectionTarget": [
33457
+ "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts",
33458
+ "src/packages/@nodefony/mongoose/nodefony/service/MongooseService.ts",
33459
+ "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts"
33460
+ ],
33174
33461
  "defaultConnectorFilename": [
33175
33462
  "src/packages/@nodefony/drizzle/nodefony/service/DrizzleService.ts"
33176
33463
  ],
@@ -34765,6 +35052,14 @@
34765
35052
  "src/packages/@nodefony/security/nodefony/service/firewall.ts",
34766
35053
  "src/packages/@nodefony/security/nodefony/src/admin/SecurityAdminApi.ts"
34767
35054
  ],
35055
+ "IAuthorizationRequest": [
35056
+ "src/packages/@nodefony/security/nodefony/contracts/IOAuthProvider.ts",
35057
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
35058
+ ],
35059
+ "ITokenRequest": [
35060
+ "src/packages/@nodefony/security/nodefony/contracts/IOAuthProvider.ts",
35061
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
35062
+ ],
34768
35063
  "TotpAlgorithm": [
34769
35064
  "src/packages/@nodefony/security/nodefony/contracts/ITotpSecret.ts",
34770
35065
  "src/packages/@nodefony/security/nodefony/src/totp/totpOperations.ts"
@@ -34773,6 +35068,7 @@
34773
35068
  "src/packages/@nodefony/security/nodefony/service/accessTokenVerifier.ts",
34774
35069
  "src/packages/@nodefony/security/nodefony/service/tokenService.ts",
34775
35070
  "src/packages/@nodefony/security/nodefony/src/authenticator/ExternalJwtAuthenticator.ts",
35071
+ "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
34776
35072
  "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
34777
35073
  ],
34778
35074
  "IAccessPrincipal": [
@@ -35022,6 +35318,12 @@
35022
35318
  "listOAuthProviders": [
35023
35319
  "src/packages/@nodefony/security/nodefony/service/oauth2.ts"
35024
35320
  ],
35321
+ "generateCodeVerifier": [
35322
+ "src/packages/@nodefony/security/nodefony/service/oauth2.ts"
35323
+ ],
35324
+ "generateState": [
35325
+ "src/packages/@nodefony/security/nodefony/service/oauth2.ts"
35326
+ ],
35025
35327
  "refusedAdminScopes": [
35026
35328
  "src/packages/@nodefony/security/nodefony/service/tokenService.ts"
35027
35329
  ],
@@ -35470,6 +35772,12 @@
35470
35772
  "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts",
35471
35773
  "src/packages/@nodefony/mongoose/nodefony/src/orm-core/MongooseOrm.ts"
35472
35774
  ],
35775
+ "CONNECT_TIMEOUT_MS": [
35776
+ "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts"
35777
+ ],
35778
+ "withConnectDeadline": [
35779
+ "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts"
35780
+ ],
35473
35781
  "notConfigured": [
35474
35782
  "src/packages/@nodefony/drizzle/nodefony/src/orm-core/DrizzleOrm.ts"
35475
35783
  ],
@@ -35942,7 +36250,22 @@
35942
36250
  "SsrfError": [
35943
36251
  "src/packages/@nodefony/security/nodefony/src/net/ssrfGuard.ts"
35944
36252
  ],
35945
- "createOidcProvider": [
36253
+ "issuerMetadataUrls": [
36254
+ "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
36255
+ "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
36256
+ ],
36257
+ "validateIssuerMetadata": [
36258
+ "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
36259
+ "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
36260
+ ],
36261
+ "readJsonObjectBounded": [
36262
+ "src/packages/@nodefony/security/nodefony/src/oauth/metadata.ts",
36263
+ "src/packages/@nodefony/security/nodefony/src/oauth/oauth2Client.ts"
36264
+ ],
36265
+ "OAuth2ClientAuthMethod": [
36266
+ "src/packages/@nodefony/security/nodefony/src/oauth/oauthProviderRegistry.ts"
36267
+ ],
36268
+ "createDiscoveredOidcProvider": [
35946
36269
  "src/packages/@nodefony/security/nodefony/src/oauth/oauthProviderRegistry.ts"
35947
36270
  ],
35948
36271
  "createGithubProvider": [
@@ -35969,12 +36292,6 @@
35969
36292
  "extractScopes": [
35970
36293
  "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
35971
36294
  ],
35972
- "issuerMetadataUrls": [
35973
- "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
35974
- ],
35975
- "validateIssuerMetadata": [
35976
- "src/packages/@nodefony/security/nodefony/src/token/RemoteJwtVerifier.ts"
35977
- ],
35978
36295
  "TokenStatus": [
35979
36296
  "src/packages/@nodefony/security/nodefony/src/token/tokenStatus.ts"
35980
36297
  ],
@@ -36127,8 +36444,22 @@
36127
36444
  "formatWsLogContent": [
36128
36445
  "src/packages/@nodefony/http/nodefony/src/context/websocket/WebsocketContext.ts"
36129
36446
  ],
36130
- "IOAuthProviderContext": [
36447
+ "OAuth2Client": [
36448
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/github.ts",
36449
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
36450
+ ],
36451
+ "readJsonBounded": [
36131
36452
  "src/packages/@nodefony/security/nodefony/src/oauth/providers/github.ts"
36453
+ ],
36454
+ "IOAuthProviderContext": [
36455
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/github.ts",
36456
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
36457
+ ],
36458
+ "discoverAuthorizationServer": [
36459
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
36460
+ ],
36461
+ "IDiscoveryOptions": [
36462
+ "src/packages/@nodefony/security/nodefony/src/oauth/providers/oidc.ts"
36132
36463
  ]
36133
36464
  }
36134
36465
  }
@@ -5,6 +5,8 @@ interface IRunProfile {
5
5
  servers: boolean;
6
6
  lifetime: RunLifetime;
7
7
  interactive: boolean;
8
+ /** Ce run ouvre-t-il des connexions vers l'infrastructure (base, cache, courtier) ? */
9
+ externalServices: boolean;
8
10
  }
9
11
  export interface ICliKernel {
10
12
  commander: CommanderCommand | null;
@@ -13,6 +13,8 @@ interface IRunProfile {
13
13
  servers: boolean;
14
14
  lifetime: RunLifetime;
15
15
  interactive: boolean;
16
+ /** Ce run ouvre-t-il des connexions vers l'infrastructure (base, cache, courtier) ? */
17
+ externalServices: boolean;
16
18
  }
17
19
  type EventsType = Record<string, number>;
18
20
  type TrunkType = "javascript" | "typescript" | null;