@jantstack/adonis-authz 2.4.0-alpha.8 → 2.5.0-alpha.1

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 (119) hide show
  1. package/README.md +300 -15
  2. package/build/commands/authz_catalog_diff.d.ts.map +1 -1
  3. package/build/commands/authz_catalog_diff.js +0 -1
  4. package/build/commands/authz_catalog_diff.js.map +1 -1
  5. package/build/commands/authz_catalog_prune_orphans.d.ts.map +1 -1
  6. package/build/commands/authz_catalog_prune_orphans.js +0 -1
  7. package/build/commands/authz_catalog_prune_orphans.js.map +1 -1
  8. package/build/commands/authz_freeze.d.ts.map +1 -1
  9. package/build/commands/authz_freeze.js +1 -2
  10. package/build/commands/authz_freeze.js.map +1 -1
  11. package/build/commands/authz_reconcile.d.ts +10 -3
  12. package/build/commands/authz_reconcile.d.ts.map +1 -1
  13. package/build/commands/authz_reconcile.js +168 -18
  14. package/build/commands/authz_reconcile.js.map +1 -1
  15. package/build/commands/authz_relations_reconcile.d.ts +66 -19
  16. package/build/commands/authz_relations_reconcile.d.ts.map +1 -1
  17. package/build/commands/authz_relations_reconcile.js +231 -44
  18. package/build/commands/authz_relations_reconcile.js.map +1 -1
  19. package/build/commands/authz_scopes_relay.d.ts.map +1 -1
  20. package/build/commands/authz_scopes_relay.js +82 -6
  21. package/build/commands/authz_scopes_relay.js.map +1 -1
  22. package/build/commands/authz_scopes_requeue.d.ts.map +1 -1
  23. package/build/commands/authz_scopes_requeue.js +0 -2
  24. package/build/commands/authz_scopes_requeue.js.map +1 -1
  25. package/build/commands/authz_unfreeze.d.ts +12 -4
  26. package/build/commands/authz_unfreeze.d.ts.map +1 -1
  27. package/build/commands/authz_unfreeze.js +74 -9
  28. package/build/commands/authz_unfreeze.js.map +1 -1
  29. package/build/index.d.ts +6 -4
  30. package/build/index.d.ts.map +1 -1
  31. package/build/index.js +5 -3
  32. package/build/index.js.map +1 -1
  33. package/build/providers/authz_provider.d.ts +1 -1
  34. package/build/providers/authz_provider.d.ts.map +1 -1
  35. package/build/providers/authz_provider.js +2 -1
  36. package/build/providers/authz_provider.js.map +1 -1
  37. package/build/src/define_config.d.ts +9 -0
  38. package/build/src/define_config.d.ts.map +1 -1
  39. package/build/src/define_config.js +11 -0
  40. package/build/src/define_config.js.map +1 -1
  41. package/build/src/drivers/database_driver.d.ts.map +1 -1
  42. package/build/src/drivers/database_driver.js +1 -0
  43. package/build/src/drivers/database_driver.js.map +1 -1
  44. package/build/src/drivers/database_relations_driver.d.ts +18 -6
  45. package/build/src/drivers/database_relations_driver.d.ts.map +1 -1
  46. package/build/src/drivers/database_relations_driver.js +91 -44
  47. package/build/src/drivers/database_relations_driver.js.map +1 -1
  48. package/build/src/drivers/openfga_driver.d.ts +62 -4
  49. package/build/src/drivers/openfga_driver.d.ts.map +1 -1
  50. package/build/src/drivers/openfga_driver.js +182 -28
  51. package/build/src/drivers/openfga_driver.js.map +1 -1
  52. package/build/src/drivers/openfga_relations_driver.d.ts +16 -4
  53. package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -1
  54. package/build/src/drivers/openfga_relations_driver.js +71 -34
  55. package/build/src/drivers/openfga_relations_driver.js.map +1 -1
  56. package/build/src/errors.d.ts +50 -0
  57. package/build/src/errors.d.ts.map +1 -1
  58. package/build/src/errors.js +50 -0
  59. package/build/src/errors.js.map +1 -1
  60. package/build/src/freeze.d.ts +63 -4
  61. package/build/src/freeze.d.ts.map +1 -1
  62. package/build/src/freeze.js +107 -18
  63. package/build/src/freeze.js.map +1 -1
  64. package/build/src/identity.d.ts +120 -9
  65. package/build/src/identity.d.ts.map +1 -1
  66. package/build/src/identity.js +164 -12
  67. package/build/src/identity.js.map +1 -1
  68. package/build/src/manager.d.ts +64 -2
  69. package/build/src/manager.d.ts.map +1 -1
  70. package/build/src/manager.js +271 -35
  71. package/build/src/manager.js.map +1 -1
  72. package/build/src/openfga.d.ts +1 -1
  73. package/build/src/openfga.d.ts.map +1 -1
  74. package/build/src/openfga.js +1 -1
  75. package/build/src/openfga.js.map +1 -1
  76. package/build/src/relations/check_many.d.ts +17 -0
  77. package/build/src/relations/check_many.d.ts.map +1 -0
  78. package/build/src/relations/check_many.js +57 -0
  79. package/build/src/relations/check_many.js.map +1 -0
  80. package/build/src/relations/manager.d.ts +20 -0
  81. package/build/src/relations/manager.d.ts.map +1 -1
  82. package/build/src/relations/manager.js +84 -13
  83. package/build/src/relations/manager.js.map +1 -1
  84. package/build/src/relations/reconcile.d.ts +67 -0
  85. package/build/src/relations/reconcile.d.ts.map +1 -1
  86. package/build/src/relations/reconcile.js +123 -30
  87. package/build/src/relations/reconcile.js.map +1 -1
  88. package/build/src/relations/tuple_key.d.ts +25 -0
  89. package/build/src/relations/tuple_key.d.ts.map +1 -0
  90. package/build/src/relations/tuple_key.js +60 -0
  91. package/build/src/relations/tuple_key.js.map +1 -0
  92. package/build/src/shared/backend_guard.d.ts +30 -11
  93. package/build/src/shared/backend_guard.d.ts.map +1 -1
  94. package/build/src/shared/backend_guard.js +45 -15
  95. package/build/src/shared/backend_guard.js.map +1 -1
  96. package/build/src/shared/sql_expiry.d.ts +2 -0
  97. package/build/src/shared/sql_expiry.d.ts.map +1 -1
  98. package/build/src/shared/sql_expiry.js +4 -0
  99. package/build/src/shared/sql_expiry.js.map +1 -1
  100. package/build/src/testing/main.d.ts +3 -1
  101. package/build/src/testing/main.d.ts.map +1 -1
  102. package/build/src/testing/main.js +2 -1
  103. package/build/src/testing/main.js.map +1 -1
  104. package/build/src/testing/migration_contract.d.ts +9 -0
  105. package/build/src/testing/migration_contract.d.ts.map +1 -1
  106. package/build/src/testing/migration_contract.js +5 -2
  107. package/build/src/testing/migration_contract.js.map +1 -1
  108. package/build/src/testing/relations_contract.d.ts +14 -0
  109. package/build/src/testing/relations_contract.d.ts.map +1 -1
  110. package/build/src/testing/relations_contract.js +297 -21
  111. package/build/src/testing/relations_contract.js.map +1 -1
  112. package/build/src/testing/test_clock.d.ts +15 -0
  113. package/build/src/testing/test_clock.d.ts.map +1 -0
  114. package/build/src/testing/test_clock.js +65 -0
  115. package/build/src/testing/test_clock.js.map +1 -0
  116. package/build/src/types.d.ts +148 -9
  117. package/build/src/types.d.ts.map +1 -1
  118. package/build/src/types.js.map +1 -1
  119. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"database_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/database_relations_driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/database_relations_driver.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,18 @@ export declare function parseBindingId(id: string): {
79
79
  * ningún resultado puede ser de un check que no se pidió.
80
80
  */
81
81
  export declare function correlateBatchResults(checks: ClientBatchCheckItem[], results: ClientBatchCheckSingleResponse[]): ClientBatchCheckSingleResponse[];
82
+ /**
83
+ * **`correlateBatchResults` + la regla «`error` por ítem ⇒ 503», en UN sitio**
84
+ * (⚪ A10 del auditor del lote A): un 200 con `error` en un check individual
85
+ * (`input_error`, `internal_error`…) es una caída PARCIAL del backend, no un
86
+ * «sin permiso»: se clasifica igual que un 5xx (invariante 5, D1) y nombra
87
+ * al driver y al check. Un resultado AUSENTE, duplicado o ajeno sigue siendo
88
+ * 500 `E_AUTHZ_INTERNAL` (lo decide `correlateBatchResults`): no es el
89
+ * backend caído, es una respuesta que no casa con la petición. Los DOS
90
+ * drivers de openfga (roles `batchCheckAll`, relaciones `checkMany`) pasan
91
+ * por aquí; hasta el cierre del lote A la regla estaba escrita dos veces.
92
+ */
93
+ export declare function alignBatchResults(driver: string, operation: string, checks: ClientBatchCheckItem[], results: ClientBatchCheckSingleResponse[]): ClientBatchCheckSingleResponse[];
82
94
  /**
83
95
  * Crea un store nuevo + escribe el authorization model **`facts` (c2r)**
84
96
  * derivado de los holders y de los PERMISOS del consumidor (3b-2k · K2:
@@ -946,7 +958,10 @@ export declare class OpenFgaAuthorizationDriver implements AuthorizationDriver {
946
958
  * es justo la decisión que no se estaba tomando.
947
959
  *
948
960
  * Consecuencia buscada: con el store como origen, `wanted` describe lo que
949
- * el store YA tiene, así que la pasada no escribe ni borra un solo hecho —y
961
+ * el store YA tiene, así que la pasada no escribe hechos —con `--prune` sí
962
+ * BORRA los que `wanted` ya no respalda: los de scopes que ya no resuelven,
963
+ * los caducados, los de roles/permisos retirados y los que sobran; alpha.10—
964
+ * y
950
965
  * sí rehace lo DERIVADO (marcador, catálogo, árbol) y aplica el barrido de
951
966
  * visibilidad del invariante 18 con el árbol y el catálogo de HOY, que es
952
967
  * la reparación que el invariante promete y no existía.
@@ -1007,9 +1022,19 @@ export declare class OpenFgaAuthorizationDriver implements AuthorizationDriver {
1007
1022
  /**
1008
1023
  * El store ENTERO, con la caducidad de cada tupla. Un `Read` sin filtro es
1009
1024
  * la única forma de ver lo que SOBRA —incluida la basura de una versión
1010
- * anterior, cuyos tipos el modelo de hoy ni declara (se lee y se borra, se
1011
- * comprobó contra el servidor)—: filtrando por objeto solo se ve lo que ya
1012
- * se sabe que existe. Paginado y acotado como todas las enumeraciones.
1025
+ * anterior de ESTE subsistema, cuyos tipos el modelo de hoy ni declara
1026
+ * (`deny_binding`: se lee y se borra, comprobado contra el servidor)—:
1027
+ * filtrando por objeto solo se ve lo que ya se sabe que existe, y filtrar
1028
+ * por TIPO es un 400 del servidor si no se nombra también el `user`
1029
+ * (medido, v1.19.0), que es justo lo que esta pasada busca.
1030
+ *
1031
+ * Leerlo entero **no** significa que sea suyo (2.4.0-alpha.9 · B): con
1032
+ * `openfga` el store es COMPARTIDO con `relations/`, así que lo que sale de
1033
+ * aquí se clasifica por TIPO de objeto (`familyOfTuple` /
1034
+ * `OWN_FACTS_OBJECT_TYPES`) y lo ajeno se cuenta en `report.foreign` sin
1035
+ * tocarlo, ni siquiera con `--prune`. Sí ocupa la cota `maxTuples`: la foto
1036
+ * es del store, no de esta pasada. Paginado y acotado como todas las
1037
+ * enumeraciones.
1013
1038
  */
1014
1039
  private readEveryTuple;
1015
1040
  /**
@@ -1036,4 +1061,37 @@ export declare class OpenFgaAuthorizationDriver implements AuthorizationDriver {
1036
1061
  */
1037
1062
  private readAllTuples;
1038
1063
  }
1064
+ /**
1065
+ * **Los CUATRO tipos de objeto que el reconcile de HECHOS gobierna**
1066
+ * (2.4.0-alpha.9 · B; 🔴 3 del quinto informe de COGNITIV, panel del store
1067
+ * compartido, decisión del dueño del 2026-09-11 (2)).
1068
+ *
1069
+ * Con `openfga` los dos subsistemas del paquete —hechos y `relations/`—
1070
+ * comparten store, y esta pasada tiene que leerlo ENTERO (`Read({})` es la
1071
+ * única forma de ver lo que sobra). Mientras `familyOfTuple` tuvo un
1072
+ * catch-all (`return 'facts'`), toda tupla de relaciones caía en `extra` y
1073
+ * `--prune` la BORRABA: 60 de 60 medidas por el consumidor —`group`
1074
+ * incluido, que es el tipo de usersets que el generador emite SIEMPRE— y la
1075
+ * pasada destructiva reportaba `clean = true` con exit 0, porque borraba
1076
+ * justo lo que causaba el `extra-fact`.
1077
+ *
1078
+ * Por eso la lista es EXPLÍCITA y congelada, y no un «lo demás es mío»:
1079
+ * - `scope`, `role` y `role_binding` son los tipos vivos del modelo (c2r);
1080
+ * - `deny_binding` es el deny del modo `resolver` de 2.2: el modelo de hoy
1081
+ * ni lo declara, pero `enumerateFacts` lo LEE y lo emite como deny
1082
+ * (3b-8 · A2), así que es PROPIO aunque ya no se pueda escribir — y su
1083
+ * barrido es la promesa publicada de que un store de la versión anterior
1084
+ * se limpia en una pasada (medido: escribirla es 400, borrarla es 200).
1085
+ *
1086
+ * **NO es `RESERVED_FACTS_TYPES`** (`src/identity.ts`), que incluye `group`:
1087
+ * son dos conjuntos con nombres parecidos y propósitos distintos —«nadie
1088
+ * puede declarar esto como tipo de relaciones» vs. «esto lo gobierna esta
1089
+ * pasada»— y reutilizar el primero reproduce el defecto para los usersets.
1090
+ *
1091
+ * **Regla**: un tipo NUEVO del modelo `facts` entra aquí en el MISMO commit
1092
+ * en que se declara (y en `RESERVED_FACTS_TYPES`, para que
1093
+ * `defineRelationsConfig` grite al arrancar en vez de que esta pasada borre
1094
+ * en silencio los datos de quien ya usaba ese nombre).
1095
+ */
1096
+ export declare const OWN_FACTS_OBJECT_TYPES: ReadonlySet<string>;
1039
1097
  //# sourceMappingURL=openfga_driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openfga_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openfga_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { assertCatalogUuid, assertIdentity, assertScope, chainKeysFrom, isCatalo
8
8
  import { resolveGrantExpiry, sameInstant, toExpiryDate } from '../expiry.js';
9
9
  import { assertKnownScope, canonicalScope, canonicalScopeTargets, guardSql, isAuthzError, isTimeoutLike, resolveChain, rootOnlyResolver, withDeadline, } from '../shared/backend_guard.js';
10
10
  import { CatalogCache, GLOBAL_OWNER_KEY, assertCatalogOptions, isRoleVisibleWith, withAuthzCatalogWrite } from '../catalog/catalog_cache.js';
11
- import { FACTS_ASSIGNEE_RELATION, FACTS_BINDING_RELATION, FACTS_BINDING_TYPE, FACTS_DENIED_PREFIX, FACTS_MAX_RESOLVE_DEPTH, FACTS_PARENT_RELATION, FACTS_PERMITS_PREFIX, FACTS_ROLE_RELATION, FACTS_ROLE_TYPE, FACTS_ROOTED_RELATION, FACTS_SCOPE_TYPE, assertFactsModelPublishable, assertHolderTypes, factsBindingObject, factsBindingTuples, factsCatalogTuples, factsDenyTuple, factsParentTuple, factsRelationsOf, factsRootTuples, factsScopeBindingTuple, factsScopeObject, factsTupleId, openFgaFactsModel, } from './openfga_facts.js';
11
+ import { FACTS_ASSIGNEE_RELATION, FACTS_BINDING_RELATION, FACTS_BINDING_TYPE, FACTS_DENIED_PREFIX, FACTS_GROUP_TYPE, FACTS_MAX_RESOLVE_DEPTH, FACTS_PARENT_RELATION, FACTS_PERMITS_PREFIX, FACTS_ROLE_RELATION, FACTS_ROLE_TYPE, FACTS_ROOTED_RELATION, FACTS_SCOPE_TYPE, assertFactsModelPublishable, assertHolderTypes, factsBindingObject, factsBindingTuples, factsCatalogTuples, factsDenyTuple, factsParentTuple, factsRelationsOf, factsRootTuples, factsScopeBindingTuple, factsScopeObject, factsTupleId, openFgaFactsModel, } from './openfga_facts.js';
12
12
  import { readCatalogProjectionSnapshot } from '../catalog/catalog.js';
13
13
  import { isSqliteDialect, sqlExpiryCodec } from '../shared/sql_expiry.js';
14
14
  import { isClock, systemClock } from '../clock.js';
@@ -116,6 +116,25 @@ export function correlateBatchResults(checks, results) {
116
116
  }
117
117
  return aligned;
118
118
  }
119
+ /**
120
+ * **`correlateBatchResults` + la regla «`error` por ítem ⇒ 503», en UN sitio**
121
+ * (⚪ A10 del auditor del lote A): un 200 con `error` en un check individual
122
+ * (`input_error`, `internal_error`…) es una caída PARCIAL del backend, no un
123
+ * «sin permiso»: se clasifica igual que un 5xx (invariante 5, D1) y nombra
124
+ * al driver y al check. Un resultado AUSENTE, duplicado o ajeno sigue siendo
125
+ * 500 `E_AUTHZ_INTERNAL` (lo decide `correlateBatchResults`): no es el
126
+ * backend caído, es una respuesta que no casa con la petición. Los DOS
127
+ * drivers de openfga (roles `batchCheckAll`, relaciones `checkMany`) pasan
128
+ * por aquí; hasta el cierre del lote A la regla estaba escrita dos veces.
129
+ */
130
+ export function alignBatchResults(driver, operation, checks, results) {
131
+ const aligned = correlateBatchResults(checks, results);
132
+ const failed = aligned.find((r) => r.error);
133
+ if (failed) {
134
+ throw new AuthorizationBackendError(driver, `${operation} (${failed.request?.relation} ${failed.request?.object})`, failed.error);
135
+ }
136
+ return aligned;
137
+ }
119
138
  /**
120
139
  * Crea un store nuevo + escribe el authorization model **`facts` (c2r)**
121
140
  * derivado de los holders y de los PERMISOS del consumidor (3b-2k · K2:
@@ -522,16 +541,11 @@ export class OpenFgaAuthorizationDriver {
522
541
  correlationId: String(index),
523
542
  }));
524
543
  const response = await this.client.batchCheck({ checks: withIds }, { consistency: this.consistency });
525
- const results = correlateBatchResults(withIds, response.result);
526
- // Un 200 con `error` en un check individual (`input_error`,
527
- // `internal_error`…) es una caída parcial del backend, no un "sin
528
- // permiso": se clasifica igual que un 5xx (invariante 5, D1). Antes la
529
- // fase de roles y `hasRole` lo colapsaban en `false`.
530
- const failed = results.find((r) => r.error);
531
- if (failed) {
532
- throw new AuthorizationBackendError('openfga', `batchCheck (${failed.request?.relation} ${failed.request?.object})`, failed.error);
533
- }
534
- return results;
544
+ // Un 200 con `error` en un check individual es una caída parcial del
545
+ // backend ⇒ 503; un resultado ausente/duplicado/ajeno ⇒ 500 (A10: la regla
546
+ // vive en `alignBatchResults`, compartida con el driver de relaciones).
547
+ // Antes la fase de roles y `hasRole` lo colapsaban en `false`.
548
+ return alignBatchResults('openfga', 'batchCheck', withIds, response.result);
535
549
  }
536
550
  // ── Catálogo local (compartido entre drivers), desde el memo (2A) ──────
537
551
  // Una carga por driver/proceso en vez de una o dos consultas SQL por
@@ -2007,6 +2021,33 @@ export class OpenFgaAuthorizationDriver {
2007
2021
  if (details.length < RECONCILE_MAX_DETAILS)
2008
2022
  details.push({ kind, reason, detail });
2009
2023
  };
2024
+ // **F-R1 (plan 2.5 · lote A; linaje L8, letra ≠ efecto)**: en la pasada de
2025
+ // MANTENIMIENTO el origen ES este store, así que un hecho que `wantAssignment`/
2026
+ // `wantDeny` DESCARTA (scope muerto, caducado, rol/permiso/holder retirado)
2027
+ // es una tupla que `--prune` va a BORRAR unas líneas más abajo (no está en
2028
+ // `wanted` ⇒ sobra ⇒ `deleted`). Contarlo en `skipped` decía «queda algo que
2029
+ // esta pasada no arregla sola» (exit 1) de una pasada que sí lo arregló.
2030
+ // El bucket clasifica el estado REAL: con `prune` y origen propio va a
2031
+ // `pruned[reason]` (y a `phases.facts.deleted`, donde ya estaba); sin
2032
+ // `prune` sigue en `skipped` con la receta («repite con --prune»); con otro
2033
+ // origen sigue en `skipped` (la fila del origen no la borra nadie).
2034
+ const pruned = {};
2035
+ const originIsSelf = source.factsOrigin?.self === true;
2036
+ // 🟡 A4 (auditor del lote A): lo podado va a `details` con `pruned: true`
2037
+ // —con `kind`, así que un DENY podado se distingue de una asignación—:
2038
+ // en `--dry-run` el verificador enseña QUÉ se va a borrar y en la pasada
2039
+ // real queda escrito qué se borró. Un resolutor «medio ciego» (null para
2040
+ // los scopes de UN tenant) poda sus denies con exit 0: sin la lista nadie
2041
+ // lo vería.
2042
+ const discard = (kind, reason, detail) => {
2043
+ if (prune && originIsSelf) {
2044
+ pruned[reason] = (pruned[reason] ?? 0) + 1;
2045
+ if (details.length < RECONCILE_MAX_DETAILS)
2046
+ details.push({ kind, reason, detail, pruned: true });
2047
+ }
2048
+ else
2049
+ note(kind, reason, detail);
2050
+ };
2010
2051
  const want = (tuple, family, validUntil = null) => {
2011
2052
  wanted.set(factsTupleId(tuple), { tuple, family, validUntil });
2012
2053
  };
@@ -2085,7 +2126,7 @@ export class OpenFgaAuthorizationDriver {
2085
2126
  name: AUTHZ_TABLES_ORIGIN,
2086
2127
  authzTables: true,
2087
2128
  };
2088
- const factsCtx = { note, usable, chainOf, want, forbidden };
2129
+ const factsCtx = { note, discard, usable, chainOf, want, forbidden };
2089
2130
  const facts = origin.authzTables
2090
2131
  ? await this.readSourceFacts(catalog, batchSize, now, factsCtx)
2091
2132
  : await this.readOriginFacts(source, batchSize, maxTuples, catalog, now, factsCtx);
@@ -2110,11 +2151,25 @@ export class OpenFgaAuthorizationDriver {
2110
2151
  const parents = new Map();
2111
2152
  /** Bindings que el store YA conoce (tienen `assignee`): ver `drift.roleVisibility`. */
2112
2153
  const storeBindings = new Set();
2154
+ /**
2155
+ * **Lo AJENO del store COMPARTIDO** (alpha.9 · B): tuplas cuyo tipo de
2156
+ * objeto no gobierna esta pasada. Se cuentan aparte —fuera de `skipped`,
2157
+ * fuera de `details` y fuera de `phases`— y salen del bucle ANTES de
2158
+ * cualquier `deletes.push` o `phases[...]`.
2159
+ */
2160
+ const foreignTypes = new Map();
2161
+ let foreignTuples = 0;
2113
2162
  for (const tuple of current) {
2114
2163
  const id = factsTupleId(tuple);
2164
+ const family = familyOfTuple(tuple);
2165
+ if (family === 'foreign') {
2166
+ foreignTuples += 1;
2167
+ const type = objectTypeOf(tuple.object);
2168
+ foreignTypes.set(type, (foreignTypes.get(type) ?? 0) + 1);
2169
+ continue;
2170
+ }
2115
2171
  if (tuple.relation === FACTS_ASSIGNEE_RELATION)
2116
2172
  storeBindings.add(tuple.object);
2117
- const family = familyOfTuple(tuple);
2118
2173
  if (tuple.relation === FACTS_PARENT_RELATION && tuple.object.startsWith(`${FACTS_SCOPE_TYPE}:`)) {
2119
2174
  parents.set(tuple.object, (parents.get(tuple.object) ?? 0) + 1);
2120
2175
  }
@@ -2196,9 +2251,12 @@ export class OpenFgaAuthorizationDriver {
2196
2251
  phases,
2197
2252
  skipped,
2198
2253
  details,
2254
+ ...(prune && originIsSelf ? { pruned } : {}),
2199
2255
  cycles,
2200
2256
  drift,
2201
2257
  massDelete,
2258
+ allowMassDelete: options.allowMassDelete === true,
2259
+ foreign: foreignReport(foreignTuples, foreignTypes, source.relationTypes),
2202
2260
  };
2203
2261
  }
2204
2262
  /**
@@ -2447,7 +2505,10 @@ export class OpenFgaAuthorizationDriver {
2447
2505
  * es justo la decisión que no se estaba tomando.
2448
2506
  *
2449
2507
  * Consecuencia buscada: con el store como origen, `wanted` describe lo que
2450
- * el store YA tiene, así que la pasada no escribe ni borra un solo hecho —y
2508
+ * el store YA tiene, así que la pasada no escribe hechos —con `--prune` sí
2509
+ * BORRA los que `wanted` ya no respalda: los de scopes que ya no resuelven,
2510
+ * los caducados, los de roles/permisos retirados y los que sobran; alpha.10—
2511
+ * y
2451
2512
  * sí rehace lo DERIVADO (marcador, catálogo, árbol) y aplica el barrido de
2452
2513
  * visibilidad del invariante 18 con el árbol y el catálogo de HOY, que es
2453
2514
  * la reparación que el invariante promete y no existía.
@@ -2493,7 +2554,7 @@ export class OpenFgaAuthorizationDriver {
2493
2554
  continue;
2494
2555
  }
2495
2556
  if (!fact.permission) {
2496
- ctx.note('deny', 'unknown-permission', fact.detail);
2557
+ ctx.discard('deny', 'unknown-permission', fact.detail);
2497
2558
  continue;
2498
2559
  }
2499
2560
  if (this.wantDeny(ctx, {
@@ -2525,18 +2586,18 @@ export class OpenFgaAuthorizationDriver {
2525
2586
  */
2526
2587
  wantAssignment(catalog, now, ctx, fact) {
2527
2588
  if (fact.expiresAt !== null && fact.expiresAt <= now) {
2528
- ctx.note('assignment', 'expired', fact.detail);
2589
+ ctx.discard('assignment', 'expired', fact.detail);
2529
2590
  return false;
2530
2591
  }
2531
2592
  const key = scopeKey(fact.scope);
2532
2593
  const chain = ctx.chainOf(key);
2533
2594
  if (chain === null) {
2534
- ctx.note('assignment', 'unknown-scope', fact.detail);
2595
+ ctx.discard('assignment', 'unknown-scope', fact.detail);
2535
2596
  return false;
2536
2597
  }
2537
2598
  const role = catalog.roleByUuid(fact.roleUuid);
2538
2599
  if (!role) {
2539
- ctx.note('assignment', 'unknown-role', fact.detail);
2600
+ ctx.discard('assignment', 'unknown-role', fact.detail);
2540
2601
  return false;
2541
2602
  }
2542
2603
  let user;
@@ -2544,7 +2605,7 @@ export class OpenFgaAuthorizationDriver {
2544
2605
  user = this.fgaSubject(fact.holder);
2545
2606
  }
2546
2607
  catch {
2547
- ctx.note('assignment', 'unknown-holder-type', fact.detail);
2608
+ ctx.discard('assignment', 'unknown-holder-type', fact.detail);
2548
2609
  return false;
2549
2610
  }
2550
2611
  const object = factsBindingObject(key, role.uuid);
@@ -2566,12 +2627,12 @@ export class OpenFgaAuthorizationDriver {
2566
2627
  /** Un DENY del origen (permiso ya como slug) traducido a `scope#denied_<P>`. */
2567
2628
  wantDeny(ctx, fact) {
2568
2629
  if (!ctx.usable(fact.permission)) {
2569
- ctx.note('deny', 'permission-not-in-model', fact.detail);
2630
+ ctx.discard('deny', 'permission-not-in-model', fact.detail);
2570
2631
  return false;
2571
2632
  }
2572
2633
  const key = scopeKey(fact.scope);
2573
2634
  if (ctx.chainOf(key) === null) {
2574
- ctx.note('deny', 'unknown-scope', fact.detail);
2635
+ ctx.discard('deny', 'unknown-scope', fact.detail);
2575
2636
  return false;
2576
2637
  }
2577
2638
  let user;
@@ -2579,7 +2640,7 @@ export class OpenFgaAuthorizationDriver {
2579
2640
  user = this.fgaSubject(fact.holder);
2580
2641
  }
2581
2642
  catch {
2582
- ctx.note('deny', 'unknown-holder-type', fact.detail);
2643
+ ctx.discard('deny', 'unknown-holder-type', fact.detail);
2583
2644
  return false;
2584
2645
  }
2585
2646
  ctx.want(factsDenyTuple(key, fact.permission, user), 'facts');
@@ -2750,9 +2811,19 @@ export class OpenFgaAuthorizationDriver {
2750
2811
  /**
2751
2812
  * El store ENTERO, con la caducidad de cada tupla. Un `Read` sin filtro es
2752
2813
  * la única forma de ver lo que SOBRA —incluida la basura de una versión
2753
- * anterior, cuyos tipos el modelo de hoy ni declara (se lee y se borra, se
2754
- * comprobó contra el servidor)—: filtrando por objeto solo se ve lo que ya
2755
- * se sabe que existe. Paginado y acotado como todas las enumeraciones.
2814
+ * anterior de ESTE subsistema, cuyos tipos el modelo de hoy ni declara
2815
+ * (`deny_binding`: se lee y se borra, comprobado contra el servidor)—:
2816
+ * filtrando por objeto solo se ve lo que ya se sabe que existe, y filtrar
2817
+ * por TIPO es un 400 del servidor si no se nombra también el `user`
2818
+ * (medido, v1.19.0), que es justo lo que esta pasada busca.
2819
+ *
2820
+ * Leerlo entero **no** significa que sea suyo (2.4.0-alpha.9 · B): con
2821
+ * `openfga` el store es COMPARTIDO con `relations/`, así que lo que sale de
2822
+ * aquí se clasifica por TIPO de objeto (`familyOfTuple` /
2823
+ * `OWN_FACTS_OBJECT_TYPES`) y lo ajeno se cuenta en `report.foreign` sin
2824
+ * tocarlo, ni siquiera con `--prune`. Sí ocupa la cota `maxTuples`: la foto
2825
+ * es del store, no de esta pasada. Paginado y acotado como todas las
2826
+ * enumeraciones.
2756
2827
  */
2757
2828
  async readEveryTuple(maxTuples) {
2758
2829
  const out = [];
@@ -2875,17 +2946,72 @@ export class OpenFgaAuthorizationDriver {
2875
2946
  /* ── `authz:reconcile` (3b-3a): piezas puras ────────────────────────────── */
2876
2947
  /** Tope de páginas de `scopes.enumerateEdges` (10 000 000 de nodos a 100). */
2877
2948
  const RECONCILE_MAX_PAGES = 100_000;
2949
+ /**
2950
+ * **Los CUATRO tipos de objeto que el reconcile de HECHOS gobierna**
2951
+ * (2.4.0-alpha.9 · B; 🔴 3 del quinto informe de COGNITIV, panel del store
2952
+ * compartido, decisión del dueño del 2026-09-11 (2)).
2953
+ *
2954
+ * Con `openfga` los dos subsistemas del paquete —hechos y `relations/`—
2955
+ * comparten store, y esta pasada tiene que leerlo ENTERO (`Read({})` es la
2956
+ * única forma de ver lo que sobra). Mientras `familyOfTuple` tuvo un
2957
+ * catch-all (`return 'facts'`), toda tupla de relaciones caía en `extra` y
2958
+ * `--prune` la BORRABA: 60 de 60 medidas por el consumidor —`group`
2959
+ * incluido, que es el tipo de usersets que el generador emite SIEMPRE— y la
2960
+ * pasada destructiva reportaba `clean = true` con exit 0, porque borraba
2961
+ * justo lo que causaba el `extra-fact`.
2962
+ *
2963
+ * Por eso la lista es EXPLÍCITA y congelada, y no un «lo demás es mío»:
2964
+ * - `scope`, `role` y `role_binding` son los tipos vivos del modelo (c2r);
2965
+ * - `deny_binding` es el deny del modo `resolver` de 2.2: el modelo de hoy
2966
+ * ni lo declara, pero `enumerateFacts` lo LEE y lo emite como deny
2967
+ * (3b-8 · A2), así que es PROPIO aunque ya no se pueda escribir — y su
2968
+ * barrido es la promesa publicada de que un store de la versión anterior
2969
+ * se limpia en una pasada (medido: escribirla es 400, borrarla es 200).
2970
+ *
2971
+ * **NO es `RESERVED_FACTS_TYPES`** (`src/identity.ts`), que incluye `group`:
2972
+ * son dos conjuntos con nombres parecidos y propósitos distintos —«nadie
2973
+ * puede declarar esto como tipo de relaciones» vs. «esto lo gobierna esta
2974
+ * pasada»— y reutilizar el primero reproduce el defecto para los usersets.
2975
+ *
2976
+ * **Regla**: un tipo NUEVO del modelo `facts` entra aquí en el MISMO commit
2977
+ * en que se declara (y en `RESERVED_FACTS_TYPES`, para que
2978
+ * `defineRelationsConfig` grite al arrancar en vez de que esta pasada borre
2979
+ * en silencio los datos de quien ya usaba ese nombre).
2980
+ */
2981
+ export const OWN_FACTS_OBJECT_TYPES = Object.freeze(new Set([FACTS_SCOPE_TYPE, FACTS_ROLE_TYPE, FACTS_BINDING_TYPE, LEGACY_DENY_BINDING_TYPE]));
2982
+ /**
2983
+ * El TIPO de objeto de una tupla (`scope:app` ⇒ `scope`). Con `indexOf`, no
2984
+ * `split`: el id lleva `|` y lo elige el consumidor en las tuplas de
2985
+ * relaciones, y esto decide un `delete`. Un objeto sin `:` no es de nadie.
2986
+ */
2987
+ function objectTypeOf(object) {
2988
+ const cut = object.indexOf(':');
2989
+ return cut < 0 ? '' : object.slice(0, cut);
2990
+ }
2878
2991
  /**
2879
2992
  * A qué FAMILIA pertenece una tupla del store, que es lo que decide si esta
2880
2993
  * pasada puede borrarla por su cuenta:
2994
+ * - `foreign` = **de otro subsistema** (store COMPARTIDO): su tipo de objeto
2995
+ * no está en `OWN_FACTS_OBJECT_TYPES`. Ni se borra, ni es `extra`, ni
2996
+ * entra en `skipped`; se cuenta aparte y se reporta. **Se decide SOLO con
2997
+ * la lista congelada**: nada de `relations.config`, del modelo publicado
2998
+ * ni de una tabla — una lectura que falle no puede volver a convertir una
2999
+ * tupla ajena en borrable (y el proceso que corre el reconcile es justo
3000
+ * el que puede no tener esa config);
2881
3001
  * - `root`, `catalog` y `tree` son ESPEJOS de datos locales (el `holderTypes`
2882
3002
  * del config, `authz_roles`/`authz_permissions`, `scopes.enumerateEdges`)
2883
3003
  * que nadie más escribe: lo que sobra se borra siempre;
2884
- * - todo lo demás son HECHOS —`assignee`, las dos aristas de (c2), los
2885
- * `denied_<P>` y cualquier tupla de un modelo anterior— y solo los borra
2886
- * `--prune`.
3004
+ * - el resto son HECHOS —`assignee`, las dos aristas de (c2), los
3005
+ * `denied_<P>` y la basura de un modelo anterior del PROPIO paquete— y
3006
+ * solo los borra `--prune`.
3007
+ *
3008
+ * El tipo de objeto se mira el PRIMERO, antes que la relación: una tupla
3009
+ * ajena que se llamara `rooted` no puede caer en una familia derivada, que
3010
+ * son las que se borran sin `--prune`.
2887
3011
  */
2888
3012
  function familyOfTuple(tuple) {
3013
+ if (!OWN_FACTS_OBJECT_TYPES.has(objectTypeOf(tuple.object)))
3014
+ return 'foreign';
2889
3015
  if (tuple.relation === FACTS_ROOTED_RELATION)
2890
3016
  return 'root';
2891
3017
  if (tuple.object.startsWith(`${FACTS_ROLE_TYPE}:`) && tuple.relation.startsWith(FACTS_PERMITS_PREFIX))
@@ -2894,6 +3020,34 @@ function familyOfTuple(tuple) {
2894
3020
  return 'tree';
2895
3021
  return 'facts';
2896
3022
  }
3023
+ /**
3024
+ * **El censo de lo AJENO** (alpha.9 · B · S3/S4), campo PROPIO del reporte:
3025
+ * fuera de `skipped` —ahí dentro `clean` era `false` para siempre en
3026
+ * cualquier despliegue con relaciones, que es el corolario del 🔴 3— y fuera
3027
+ * de `details` (tope 200: miles de ajenas expulsarían los `extra-fact`
3028
+ * reales, que son los que conceden). `phases` NO crece: es tipo publicado.
3029
+ *
3030
+ * `relationTypes` —los tipos declarados en `relations.config`, que pone el
3031
+ * MANAGER— solo parte el reporte en «ajena DECLARADA» y «no la reclama
3032
+ * nadie»: **la decisión de borrar ya está tomada** por la lista blanca
3033
+ * congelada y no mira esto. Sin esa lista todo va a `unknown`, que es la
3034
+ * verdad (este proceso no sabe de quién son) y nunca un permiso para borrar.
3035
+ * `group` cuenta como declarado: lo emite SIEMPRE el generador de relaciones,
3036
+ * el consumidor no lo declara.
3037
+ */
3038
+ function foreignReport(tuples, types, relationTypes) {
3039
+ const byType = {};
3040
+ for (const type of [...types.keys()].sort())
3041
+ byType[type] = types.get(type);
3042
+ if (relationTypes === undefined)
3043
+ return { tuples, types: byType, unknown: tuples };
3044
+ const declared = new Set([FACTS_GROUP_TYPE, ...relationTypes]);
3045
+ let relations = 0;
3046
+ for (const [type, count] of types)
3047
+ if (declared.has(type))
3048
+ relations += count;
3049
+ return { tuples, types: byType, relations, unknown: tuples - relations };
3050
+ }
2897
3051
  /** La clave sola: un `delete` de FGA no lleva condición. */
2898
3052
  function bareTuple(tuple) {
2899
3053
  return { user: tuple.user, relation: tuple.relation, object: tuple.object };