@jantstack/adonis-authz 1.0.2 → 2.0.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 (132) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +417 -46
  3. package/build/commands/authz_catalog_diff.d.ts +28 -0
  4. package/build/commands/authz_catalog_diff.d.ts.map +1 -0
  5. package/build/commands/authz_catalog_diff.js +67 -0
  6. package/build/commands/authz_catalog_diff.js.map +1 -0
  7. package/build/commands/authz_catalog_sync.d.ts +20 -0
  8. package/build/commands/authz_catalog_sync.d.ts.map +1 -0
  9. package/build/commands/authz_catalog_sync.js +58 -0
  10. package/build/commands/authz_catalog_sync.js.map +1 -0
  11. package/build/commands/main.d.ts +2 -0
  12. package/build/commands/main.d.ts.map +1 -1
  13. package/build/commands/main.js +2 -0
  14. package/build/commands/main.js.map +1 -1
  15. package/build/commands/openfga_import.d.ts +8 -2
  16. package/build/commands/openfga_import.d.ts.map +1 -1
  17. package/build/commands/openfga_import.js +29 -6
  18. package/build/commands/openfga_import.js.map +1 -1
  19. package/build/commands/openfga_provision.d.ts.map +1 -1
  20. package/build/commands/openfga_provision.js +2 -1
  21. package/build/commands/openfga_provision.js.map +1 -1
  22. package/build/index.d.ts +51 -5
  23. package/build/index.d.ts.map +1 -1
  24. package/build/index.js +43 -3
  25. package/build/index.js.map +1 -1
  26. package/build/src/catalog.d.ts +249 -2
  27. package/build/src/catalog.d.ts.map +1 -1
  28. package/build/src/catalog.js +709 -59
  29. package/build/src/catalog.js.map +1 -1
  30. package/build/src/catalog_cache.d.ts +300 -0
  31. package/build/src/catalog_cache.d.ts.map +1 -0
  32. package/build/src/catalog_cache.js +656 -0
  33. package/build/src/catalog_cache.js.map +1 -0
  34. package/build/src/clock.d.ts +24 -0
  35. package/build/src/clock.d.ts.map +1 -0
  36. package/build/src/clock.js +7 -0
  37. package/build/src/clock.js.map +1 -0
  38. package/build/src/define_config.d.ts +102 -6
  39. package/build/src/define_config.d.ts.map +1 -1
  40. package/build/src/define_config.js.map +1 -1
  41. package/build/src/drivers/backend_guard.d.ts +92 -0
  42. package/build/src/drivers/backend_guard.d.ts.map +1 -0
  43. package/build/src/drivers/backend_guard.js +221 -0
  44. package/build/src/drivers/backend_guard.js.map +1 -0
  45. package/build/src/drivers/database_driver.d.ts +242 -15
  46. package/build/src/drivers/database_driver.d.ts.map +1 -1
  47. package/build/src/drivers/database_driver.js +692 -127
  48. package/build/src/drivers/database_driver.js.map +1 -1
  49. package/build/src/drivers/openfga_driver.d.ts +341 -27
  50. package/build/src/drivers/openfga_driver.d.ts.map +1 -1
  51. package/build/src/drivers/openfga_driver.js +1052 -264
  52. package/build/src/drivers/openfga_driver.js.map +1 -1
  53. package/build/src/drivers/sql_expiry.d.ts +53 -0
  54. package/build/src/drivers/sql_expiry.d.ts.map +1 -0
  55. package/build/src/drivers/sql_expiry.js +66 -0
  56. package/build/src/drivers/sql_expiry.js.map +1 -0
  57. package/build/src/errors.d.ts +366 -0
  58. package/build/src/errors.d.ts.map +1 -0
  59. package/build/src/errors.js +387 -0
  60. package/build/src/errors.js.map +1 -0
  61. package/build/src/expiry.d.ts +27 -0
  62. package/build/src/expiry.d.ts.map +1 -0
  63. package/build/src/expiry.js +50 -0
  64. package/build/src/expiry.js.map +1 -0
  65. package/build/src/hierarchical_resolver.d.ts +56 -0
  66. package/build/src/hierarchical_resolver.d.ts.map +1 -0
  67. package/build/src/hierarchical_resolver.js +87 -0
  68. package/build/src/hierarchical_resolver.js.map +1 -0
  69. package/build/src/identity.d.ts +155 -0
  70. package/build/src/identity.d.ts.map +1 -0
  71. package/build/src/identity.js +359 -0
  72. package/build/src/identity.js.map +1 -0
  73. package/build/src/manager.d.ts +225 -7
  74. package/build/src/manager.d.ts.map +1 -1
  75. package/build/src/manager.js +1670 -23
  76. package/build/src/manager.js.map +1 -1
  77. package/build/src/memoize_ancestors.d.ts +23 -0
  78. package/build/src/memoize_ancestors.d.ts.map +1 -0
  79. package/build/src/memoize_ancestors.js +42 -0
  80. package/build/src/memoize_ancestors.js.map +1 -0
  81. package/build/src/middleware/app_access_middleware.d.ts +8 -6
  82. package/build/src/middleware/app_access_middleware.d.ts.map +1 -1
  83. package/build/src/middleware/app_access_middleware.js +10 -26
  84. package/build/src/middleware/app_access_middleware.js.map +1 -1
  85. package/build/src/models/authz_assignment.d.ts +5 -5
  86. package/build/src/models/authz_assignment.d.ts.map +1 -1
  87. package/build/src/models/authz_deny.d.ts +5 -5
  88. package/build/src/models/authz_deny.d.ts.map +1 -1
  89. package/build/src/models/authz_permission.d.ts +11 -5
  90. package/build/src/models/authz_permission.d.ts.map +1 -1
  91. package/build/src/models/authz_permission.js +4 -0
  92. package/build/src/models/authz_permission.js.map +1 -1
  93. package/build/src/models/authz_role.d.ts +13 -6
  94. package/build/src/models/authz_role.d.ts.map +1 -1
  95. package/build/src/models/authz_role.js +6 -1
  96. package/build/src/models/authz_role.js.map +1 -1
  97. package/build/src/models/authz_role_permission.d.ts +5 -5
  98. package/build/src/models/authz_role_permission.d.ts.map +1 -1
  99. package/build/src/openfga.d.ts +13 -0
  100. package/build/src/openfga.d.ts.map +1 -0
  101. package/build/src/openfga.js +12 -0
  102. package/build/src/openfga.js.map +1 -0
  103. package/build/src/sql_descendants.d.ts +51 -0
  104. package/build/src/sql_descendants.d.ts.map +1 -0
  105. package/build/src/sql_descendants.js +129 -0
  106. package/build/src/sql_descendants.js.map +1 -0
  107. package/build/src/testing/contract.d.ts +138 -7
  108. package/build/src/testing/contract.d.ts.map +1 -1
  109. package/build/src/testing/contract.js +2946 -24
  110. package/build/src/testing/contract.js.map +1 -1
  111. package/build/src/testing/main.d.ts +4 -2
  112. package/build/src/testing/main.d.ts.map +1 -1
  113. package/build/src/testing/main.js +2 -1
  114. package/build/src/testing/main.js.map +1 -1
  115. package/build/src/testing/scope_tree.d.ts +65 -0
  116. package/build/src/testing/scope_tree.d.ts.map +1 -0
  117. package/build/src/testing/scope_tree.js +145 -0
  118. package/build/src/testing/scope_tree.js.map +1 -0
  119. package/build/src/traits/authz_scopes.d.ts +30 -6
  120. package/build/src/traits/authz_scopes.d.ts.map +1 -1
  121. package/build/src/traits/authz_scopes.js +30 -18
  122. package/build/src/traits/authz_scopes.js.map +1 -1
  123. package/build/src/traits/has_uuid.d.ts +5 -5
  124. package/build/src/traits/has_uuid.d.ts.map +1 -1
  125. package/build/src/types.d.ts +530 -28
  126. package/build/src/types.d.ts.map +1 -1
  127. package/build/src/types.js +10 -4
  128. package/build/src/types.js.map +1 -1
  129. package/build/stubs/config/app_acl.stub +4 -2
  130. package/build/stubs/config/authorization.stub +66 -12
  131. package/build/stubs/migration.stub +57 -13
  132. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Cómo viaja `expires_at` entre el driver `database` y cada motor SQL
3
+ * (2.5-B · K2, auditor 🟠 2).
4
+ *
5
+ * El problema: en MySQL `expires_at` es `DATETIME(3)`, que NO guarda zona, y
6
+ * `mysql2` serializa y parsea los `Date` con el `TZ` del proceso (`timezone:
7
+ * 'local'`, su default). Un proceso en UTC escribía `12:00:00` para
8
+ * `12:00Z`; uno en Caracas leía ese `12:00:00` como `16:00Z`: la asignación
9
+ * caducaba 4 h tarde para él (y 9 h antes para uno en Tokio). Dentro de un
10
+ * solo proceso el ida y vuelta era exacto, que es lo único que el juez podía
11
+ * ver; el defecto solo aparece con dos procesos, que es el despliegue normal.
12
+ *
13
+ * La decisión: el driver NO depende de la config de la conexión. En MySQL
14
+ * escribe la caducidad como CADENA UTC explícita (`YYYY-MM-DD HH:mm:ss.SSS`),
15
+ * compara con `now` formateado igual y la LEE con `DATE_FORMAT(…)` (una
16
+ * cadena, que se parsea como UTC), así que `timezone`, `dateStrings` o el
17
+ * `TZ` del proceso no intervienen. En PostgreSQL la columna es
18
+ * `timestamptz(3)` (instante absoluto: el `Date` basta) y en SQLite un
19
+ * número; ahí el codec es la identidad. Lo fija `tests/expiry_timezone.spec`
20
+ * con procesos hijos reales en `TZ` distinta sobre la misma base.
21
+ */
22
+ export interface ExpiryCodec {
23
+ /** Valor con el que se ESCRIBE la columna (`insert`/`update`). */
24
+ toDb(expiresAt: Date | null): unknown;
25
+ /** Valor con el que se COMPARA (`expires_at > ?`) para un instante dado. */
26
+ bind(at: Date): unknown;
27
+ /** Expresión de SELECT que devuelve la columna de forma que `fromDb` la lea sin depender del cliente. */
28
+ select(column: string, alias?: string): unknown;
29
+ /** Lo que devuelve el SELECT de `select(...)` → `Date | null`. */
30
+ fromDb(value: unknown): Date | null;
31
+ }
32
+ /** Nombre del dialecto de una conexión de Lucid (`dialect.name`; fallback: el driver de knex). */
33
+ export declare function dialectOf(connection: any): string;
34
+ /**
35
+ * ¿Es SQLite? (3E · Q5) Lucid nombra su dialecto `better-sqlite3` —no
36
+ * empieza por `sqlite`—, así que un `startsWith('sqlite')` no reconocía el
37
+ * SQLite real de esta máquina ni el de CI. Donde eso decide una BARRERA (el
38
+ * cerrojo del catálogo, que SQLite no necesita porque ya serializa sus
39
+ * escrituras) el fallo es silencioso: solo era inocuo porque knex compila
40
+ * `forUpdate` a vacío en sqlite3.
41
+ */
42
+ export declare function isSqliteDialect(connection: any): boolean;
43
+ /** `2030-06-15T12:00:00.000Z` → `2030-06-15 12:00:00.000` (UTC, con milisegundos). */
44
+ export declare function formatUtcDatetime(at: Date): string;
45
+ /** `2030-06-15 12:00:00.000000` (UTC, hasta microsegundos) → `Date`, o `null` si no es una fecha. */
46
+ export declare function parseUtcDatetime(value: string): Date | null;
47
+ /**
48
+ * El codec para una conexión de Lucid (default: la primaria). Se decide por
49
+ * dialecto una vez por driver; MySQL es el único que necesita algo distinto
50
+ * de la identidad.
51
+ */
52
+ export declare function sqlExpiryCodec(connection?: any): ExpiryCodec;
53
+ //# sourceMappingURL=sql_expiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql_expiry.d.ts","sourceRoot":"","sources":["../../../src/drivers/sql_expiry.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAA;IACrC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAA;IACvB,yGAAyG;IACzG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/C,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;CACpC;AAID,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAGxD;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAElD;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAM3D;AA6BD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAE,GAAqB,GAAG,WAAW,CAE7E"}
@@ -0,0 +1,66 @@
1
+ import db from '@adonisjs/lucid/services/db';
2
+ import { AuthorizationInternalError } from '../errors.js';
3
+ import { toExpiryDate } from '../expiry.js';
4
+ const MYSQL_DIALECTS = new Set(['mysql', 'mysql2']);
5
+ /** Nombre del dialecto de una conexión de Lucid (`dialect.name`; fallback: el driver de knex). */
6
+ export function dialectOf(connection) {
7
+ return connection?.dialect?.name ?? connection?.client?.driverName ?? 'desconocido';
8
+ }
9
+ /**
10
+ * ¿Es SQLite? (3E · Q5) Lucid nombra su dialecto `better-sqlite3` —no
11
+ * empieza por `sqlite`—, así que un `startsWith('sqlite')` no reconocía el
12
+ * SQLite real de esta máquina ni el de CI. Donde eso decide una BARRERA (el
13
+ * cerrojo del catálogo, que SQLite no necesita porque ya serializa sus
14
+ * escrituras) el fallo es silencioso: solo era inocuo porque knex compila
15
+ * `forUpdate` a vacío en sqlite3.
16
+ */
17
+ export function isSqliteDialect(connection) {
18
+ const name = dialectOf(connection);
19
+ return name.startsWith('sqlite') || name === 'better-sqlite3';
20
+ }
21
+ /** `2030-06-15T12:00:00.000Z` → `2030-06-15 12:00:00.000` (UTC, con milisegundos). */
22
+ export function formatUtcDatetime(at) {
23
+ return at.toISOString().slice(0, 23).replace('T', ' ');
24
+ }
25
+ /** `2030-06-15 12:00:00.000000` (UTC, hasta microsegundos) → `Date`, o `null` si no es una fecha. */
26
+ export function parseUtcDatetime(value) {
27
+ const match = /^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})(?:\.(\d{1,6}))?$/.exec(value.trim());
28
+ if (!match)
29
+ return null;
30
+ const millis = (match[3] ?? '').padEnd(3, '0').slice(0, 3);
31
+ const date = new Date(`${match[1]}T${match[2]}.${millis}Z`);
32
+ return Number.isNaN(date.getTime()) ? null : date;
33
+ }
34
+ const identityCodec = {
35
+ toDb: (expiresAt) => expiresAt,
36
+ bind: (at) => at,
37
+ select: (column, alias) => (alias && alias !== column ? `${column} as ${alias}` : column),
38
+ fromDb: toExpiryDate,
39
+ };
40
+ function mysqlCodec(connection) {
41
+ const raw = (sql, bindings) => typeof connection?.raw === 'function' ? connection.raw(sql, bindings) : db.raw(sql, bindings);
42
+ return {
43
+ toDb: (expiresAt) => (expiresAt ? formatUtcDatetime(expiresAt) : null),
44
+ bind: (at) => formatUtcDatetime(at),
45
+ select: (column, alias) => raw(`DATE_FORMAT(??, '%Y-%m-%d %H:%i:%s.%f') as ??`, [column, alias ?? column.split('.').pop()]),
46
+ fromDb: (value) => {
47
+ if (value === null || value === undefined || value === '')
48
+ return null;
49
+ if (typeof value === 'string')
50
+ return parseUtcDatetime(value);
51
+ // Un `Date` aquí es que la lectura no pasó por `select(...)` y el
52
+ // cliente ya la interpretó con SU zona: eso es exactamente lo que este
53
+ // codec existe para impedir. Ruidoso, nunca una caducidad corrida.
54
+ throw new AuthorizationInternalError(`expires_at llegó como ${value instanceof Date ? 'Date' : typeof value} en MySQL: la lectura tiene que pasar por ExpiryCodec.select(...) (DATE_FORMAT) para no depender de la zona del cliente`);
55
+ },
56
+ };
57
+ }
58
+ /**
59
+ * El codec para una conexión de Lucid (default: la primaria). Se decide por
60
+ * dialecto una vez por driver; MySQL es el único que necesita algo distinto
61
+ * de la identidad.
62
+ */
63
+ export function sqlExpiryCodec(connection = db.connection()) {
64
+ return MYSQL_DIALECTS.has(dialectOf(connection)) ? mysqlCodec(connection) : identityCodec;
65
+ }
66
+ //# sourceMappingURL=sql_expiry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql_expiry.js","sourceRoot":"","sources":["../../../src/drivers/sql_expiry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,366 @@
1
+ import { Exception } from '@adonisjs/core/exceptions';
2
+ /**
3
+ * El backend de autorización no respondió.
4
+ *
5
+ * Es el tercer estado de una pregunta de permisos, y merece un tipo propio:
6
+ *
7
+ * no tienes permiso → `false`
8
+ * la pregunta no es válida → Exception 422 (permiso/rol inexistente)
9
+ * no se pudo preguntar → esto, 503
10
+ *
11
+ * Dos razones para envolver el error del driver en vez de dejarlo pasar:
12
+ *
13
+ * 1. **La abstracción no debe tener fugas.** Sin esto escapaba un `FgaError`
14
+ * del SDK de OpenFGA, así que distinguir "backend caído" obligaba a
15
+ * importar el SDK — acoplando el call-site al backend que este paquete
16
+ * existe para abstraer. Cambiar de driver habría obligado a cambiar los
17
+ * `catch`.
18
+ * 2. **Nadie debería escribir `try/catch` para estar a salvo.** Con `status`
19
+ * 503, el manejador de excepciones responde solo, y con el código correcto:
20
+ * no es que la aplicación esté rota (500), es que una dependencia no está
21
+ * disponible.
22
+ *
23
+ * Lo que NO se hace es capturar y devolver `false`. Denegar en silencio
24
+ * durante una caída deja a todos sin permisos sin decir por qué, y manda a
25
+ * buscar un rol mal configurado que no existe. Se deniega igual; lo que
26
+ * cambia es el diagnóstico.
27
+ */
28
+ export declare class AuthorizationBackendError extends Exception {
29
+ static status: number;
30
+ static code: string;
31
+ constructor(driver: string, operation: string, cause: unknown);
32
+ }
33
+ /**
34
+ * El backend respondió tarde: venció `timeoutMs`. Es un `AuthorizationBackendError`
35
+ * (503, se maneja igual) con código propio, porque para operaciones "no responde"
36
+ * y "responde lento" son incidentes distintos: el segundo suele ser saturación, no
37
+ * caída, y el remedio (subir el deadline, escalar el backend) es otro.
38
+ */
39
+ export declare class AuthorizationBackendTimeoutError extends AuthorizationBackendError {
40
+ static code: string;
41
+ constructor(driver: string, operation: string, timeoutMs: number, cause?: unknown);
42
+ }
43
+ /**
44
+ * El resolutor de ancestros del consumidor lanzó. Es una dependencia más de
45
+ * cada pregunta (el árbol de scopes), así que su caída se clasifica como la
46
+ * del backend: 503, nunca `false`, nunca el error crudo del consumidor.
47
+ */
48
+ export declare class ScopeResolverError extends Exception {
49
+ static status: number;
50
+ static code: string;
51
+ constructor(operation: string, cause: unknown);
52
+ }
53
+ /**
54
+ * Un componente de identidad (holder, scope, rol, permiso) no cumple el formato
55
+ * del motor. Es una pregunta inválida (422), no un "sin permiso": aceptarla
56
+ * fundiría identidades distintas en una (`user:undefined`, `{app, uuid}` que
57
+ * colapsa a la raíz) o produciría ids que otro backend no puede representar.
58
+ */
59
+ export declare class InvalidIdentityError extends Exception {
60
+ static status: number;
61
+ static code: string;
62
+ }
63
+ /**
64
+ * Un slug de rol/permiso no cumple la gramática del catálogo: formato,
65
+ * longitud, nombre reservado o familia de prefijos reservada. 422 porque es la
66
+ * pregunta la que está mal formada; el catálogo no se consulta.
67
+ */
68
+ export declare class InvalidSlugError extends Exception {
69
+ static status: number;
70
+ static code: string;
71
+ }
72
+ /**
73
+ * La configuración del consumidor es contradictoria (p. ej. `holderTypes` no
74
+ * inyectivo). 500: la aplicación está mal construida, no hay pregunta que
75
+ * responder hasta que se arregle.
76
+ */
77
+ export declare class AuthorizationConfigError extends Exception {
78
+ static status: number;
79
+ static code: string;
80
+ }
81
+ /**
82
+ * Invariante interno del motor violado (una escritura sin scopes, un batchCheck
83
+ * incompleto). 500: es un bug del paquete o de quien lo extiende, no del
84
+ * llamante ni del backend.
85
+ */
86
+ export declare class AuthorizationInternalError extends Exception {
87
+ static status: number;
88
+ static code: string;
89
+ }
90
+ /**
91
+ * El scope no existe para el consumidor (`resolveChain` devolvió `null`).
92
+ * En lectura el motor responde `false` sin más; en escritura es 422: conceder
93
+ * o denegar en un scope que nadie reconoce dejaría un hecho huérfano que
94
+ * ningún árbol volverá a alcanzar — o, peor, que resucitaría si el uuid se
95
+ * reutiliza (L0.3, N5).
96
+ */
97
+ export declare class UnknownScopeError extends Exception {
98
+ static status: number;
99
+ static code: string;
100
+ }
101
+ /**
102
+ * Se preguntó por un scope que no es la raíz y el driver no tiene resolutor
103
+ * de ancestros. Antes el paquete suplía un default plano ("todo cuelga de
104
+ * app") que convertía cualquier scope inventado en descendiente de la raíz.
105
+ * 422 y no 500: la raíz sigue funcionando; lo que no existe en este
106
+ * despliegue son los niveles intermedios.
107
+ */
108
+ export declare class NoScopeResolverError extends Exception {
109
+ static status: number;
110
+ static code: string;
111
+ }
112
+ /**
113
+ * Rol fuera del catálogo para ese nivel (pregunta inválida, 422). Con
114
+ * `scopeType` se buscó por `(slug, scopeType)`; sin él, por uuid (3B ·
115
+ * `purgeRole`, `updateScopedRole`, `deleteScopedRole`).
116
+ */
117
+ export declare class UnknownRoleError extends Exception {
118
+ static status: number;
119
+ static code: string;
120
+ constructor(slugOrUuid: string, scopeType?: string);
121
+ }
122
+ /**
123
+ * El rol existe pero es LOCAL a un scope que no está en la cadena del scope
124
+ * de la escritura (3B · B2): un rol de la organization A no existe en B ni
125
+ * en la raíz. 422 y nada escrito — es la barrera que impide asignar el rol
126
+ * de un tenant fuera de su contenedor. En lectura no hay error: el rol
127
+ * simplemente no concede ni es membresía fuera de su owner.
128
+ */
129
+ export declare class RoleNotVisibleError extends Exception {
130
+ static status: number;
131
+ static code: string;
132
+ }
133
+ /**
134
+ * En la cadena del scope de la pregunta hay MÁS DE UN rol visible con ese
135
+ * `(slug, nivel)` (3D · M1): dos locales de owners distintos que un
136
+ * `scopes.moved` juntó, o un local que tapa a un global. El slug ya no
137
+ * identifica un rol y elegir uno («el owner más cercano gana») convertía un
138
+ * homónimo en una escalada de privilegios (auditor V1/V2/V3): la ambigüedad
139
+ * es un ERROR, no una regla de resolución. Toda ruta que direccione por slug
140
+ * —`grant`, `revoke` por uuid, `hasRole`, `listSubjects`— falla CERRADA con
141
+ * 422 nombrando los uuids y sus owners; la forma sin ambigüedad posible es
142
+ * `{ uuid }` (`RoleQuery`). `authorize` no pasa por aquí: no direcciona por
143
+ * slug (lo asignado concede lo que su rol vincula, invariante 1).
144
+ */
145
+ export declare class AmbiguousRoleError extends Exception {
146
+ static status: number;
147
+ static code: string;
148
+ }
149
+ /**
150
+ * El `scopeType` de un rol local no es el nivel de su owner ni uno que
151
+ * cuelgue de él (3E · P1, auditor A1). Un rol de nivel SUPERIOR al owner no
152
+ * es visible en ninguna parte —no concede, no es membresía, nadie lo puede
153
+ * asignar— pero OCUPA ese `(slug, nivel)`: bloqueaba el `defineScopedRole`
154
+ * del dueño del árbol y, hasta 3E, el `syncAuthzCatalog` entero de la
155
+ * plataforma. Es squatting con forma de spec, como `permissions: []` (3D ·
156
+ * N3): 422. Los niveles que cuelgan del owner los declara el consumidor con
157
+ * `scopes.descendantsOf`; sin él solo se admite el nivel del owner.
158
+ */
159
+ export declare class RoleLevelAboveOwnerError extends Exception {
160
+ static status: number;
161
+ static code: string;
162
+ }
163
+ /**
164
+ * `updateScopedRole`/`deleteScopedRole` sobre un rol GLOBAL (3B · B3). Los
165
+ * roles del catálogo del config se cambian en el config y se sincronizan
166
+ * (`syncAuthzCatalog`); por la API de delegación son inmutables, o un
167
+ * administrador de tenant podría editar el catálogo de la plataforma.
168
+ */
169
+ export declare class RoleImmutableError extends Exception {
170
+ static status: number;
171
+ static code: string;
172
+ }
173
+ /**
174
+ * Un rol de nivel L no puede llevar (o ser asignado llevando) un permiso
175
+ * cuyo `assignableAt` no incluye L (3B · B5). Es un control de COMPOSICIÓN
176
+ * —`syncAuthzCatalog`, `defineScopedRole`, `updateScopedRole` y, por defensa
177
+ * en profundidad, `grant`—, nunca de evaluación: lo ya asignado sigue
178
+ * concediendo (invariante 1).
179
+ */
180
+ export declare class RoleNotAssignableAtError extends Exception {
181
+ static status: number;
182
+ static code: string;
183
+ }
184
+ /**
185
+ * `defineScopedRole`/`updateScopedRole` con un permiso que el actor no puede
186
+ * delegar (3B · B3): no está en `config.delegablePermissions` (lista blanca;
187
+ * vacía por defecto: nadie delega nada hasta declararla), no existe en el
188
+ * catálogo, o el actor no lo tiene EFECTIVO en el owner (no lo concede
189
+ * ningún rol suyo en la cadena, o lo tiene denegado — auditor C2: un deny
190
+ * no se lava componiendo un rol para un títere).
191
+ */
192
+ export declare class PermissionNotDelegableError extends Exception {
193
+ static status: number;
194
+ static code: string;
195
+ }
196
+ /**
197
+ * El `rank` de un rol local no cumple `0 < rank < min(rank del actor, rank
198
+ * máximo global)` (3B · B3), o el actor intenta tocar un rol de rango ≥ al
199
+ * suyo. Es policy de ESCRITURA (composición y delegación); el motor sigue sin
200
+ * evaluar `rank` en `authorize` (invariante 8).
201
+ */
202
+ export declare class RankExceededError extends Exception {
203
+ static status: number;
204
+ static code: string;
205
+ }
206
+ /**
207
+ * Dos catálogos de `config.catalogs` declaran el mismo rol `(slug, scopeType)`
208
+ * o el mismo permiso. La identidad de un rol es ese par: compartirla es
209
+ * compartir el rol, y el prune del segundo sync borraría los vínculos del
210
+ * primero en silencio (D3). Un rol pertenece a exactamente un catálogo; se
211
+ * rechaza antes de tocar la base, en el sync y en el diff.
212
+ */
213
+ export declare class CatalogConflictError extends Exception {
214
+ static status: number;
215
+ static code: string;
216
+ }
217
+ /** Permiso fuera del catálogo (pregunta inválida en `deny`/catálogo, 422). */
218
+ export declare class UnknownPermissionError extends Exception {
219
+ static status: number;
220
+ static code: string;
221
+ constructor(slug: string);
222
+ }
223
+ /**
224
+ * `appAccess({ role })` se retiró (L0.6). `hasRole` es una consulta de
225
+ * MEMBRESÍA y el deny no la gobierna: un middleware sobre ella era un punto de
226
+ * decisión indenegable (un holder con todos sus permisos denegados seguía
227
+ * pasando). 500: es la ruta la que está mal declarada, y debe saltar en el
228
+ * primer request de desarrollo, no en producción.
229
+ */
230
+ export declare class RoleIsNotAccessError extends Exception {
231
+ static status: number;
232
+ static code: string;
233
+ constructor(role: unknown);
234
+ }
235
+ /**
236
+ * Colgar `child` de `parent` cerraría un ciclo (el padre desciende del hijo,
237
+ * o son el mismo). FGA no detecta ciclos de `parent`: los evalúa, y un grant
238
+ * en cualquier nodo del ciclo concede en todos, raíz incluida (S2). La única
239
+ * barrera es el paquete, antes de escribir nada.
240
+ */
241
+ export declare class ScopeCycleError extends Exception {
242
+ static status: number;
243
+ static code: string;
244
+ }
245
+ /**
246
+ * `purgeScope` terminó y el backend todavía muestra hechos del scope. Un
247
+ * número parcial que no lanza deja grants huérfanos e indenegables (S6, B2);
248
+ * se lanza para que el consumidor NO confirme el borrado de su entidad.
249
+ */
250
+ export declare class PurgeIncompleteError extends Exception {
251
+ static status: number;
252
+ static code: string;
253
+ }
254
+ /**
255
+ * `openfga:import` sobre un store con tuplas y sin `--reconcile`. En FGA la
256
+ * condición no es parte de la clave: escribir "ignorando duplicados" sobre
257
+ * una tupla existente dejaba la caducidad vieja (o ninguna) y reportaba
258
+ * éxito (S7). 409: el estado del destino no es el que el comando espera.
259
+ */
260
+ export declare class StoreNotEmptyError extends Exception {
261
+ static status: number;
262
+ static code: string;
263
+ }
264
+ /**
265
+ * `config.requireActor: true` y una escritura llegó sin `actor` (2.1, B7).
266
+ * 422 antes de tocar el driver: una auditoría que exige saber quién ordenó
267
+ * cada cambio no puede tener huecos, y el hueco no se descubre después.
268
+ */
269
+ export declare class ActorRequiredError extends Exception {
270
+ static status: number;
271
+ static code: string;
272
+ }
273
+ /**
274
+ * `within` no está en la cadena del scope de la escritura (2.1, B1): el
275
+ * call-site declaró "dentro de MI tenant" y el scope pertenece a otro. 422 y
276
+ * nada escrito: es la barrera contra el administrador de A que concede en
277
+ * una unit de B pasando un uuid ajeno. Vale para las SEIS escrituras del
278
+ * manager (2D · F2): quitar un deny ajeno es conceder, revocar un rol ajeno
279
+ * es sabotear, y purgar o recolgar un scope ajeno es lo mismo.
280
+ */
281
+ export declare class NotWithinError extends Exception {
282
+ static status: number;
283
+ static code: string;
284
+ }
285
+ /**
286
+ * `config.requireWithin` (`true` o `'non-root'`) y una escritura llegó sin
287
+ * `within` (2.1, B1; las seis desde 2D · F2). 422 antes del driver: la
288
+ * contención opt-in (auditor E2) deja de serlo cuando el consumidor lo declara.
289
+ */
290
+ export declare class WithinRequiredError extends Exception {
291
+ static status: number;
292
+ static code: string;
293
+ }
294
+ /**
295
+ * `config.requireWithin: 'non-root'` y una escritura declaró `within: APP_SCOPE`
296
+ * (2.1, 2D · F2). La raíz contiene todo, así que como `within` no acota nada:
297
+ * era el comodín con el que un call-site de tenant satisfacía `requireWithin`
298
+ * sin decir de qué tenant es (auditor 9). 422 y nada escrito; la plataforma,
299
+ * que sí escribe en la raíz, usa `manager.driver()` o una config sin el flag.
300
+ */
301
+ export declare class WithinRootForbiddenError extends Exception {
302
+ static status: number;
303
+ static code: string;
304
+ }
305
+ /**
306
+ * Una enumeración de scopes superó su cota (2.1, B2/B3): `authorizedScopes`
307
+ * por encima de `maxScopes`, o un `descendantsOf` que devolvió más de
308
+ * `maxNodes`. 422 y NUNCA una lista parcial: un listado truncado en silencio
309
+ * es la forma más discreta de fail-open/fail-closed. El llamante acota la
310
+ * pregunta o sube la cota a sabiendas.
311
+ */
312
+ export declare class TooManyScopesError extends Exception {
313
+ static status: number;
314
+ static code: string;
315
+ }
316
+ /**
317
+ * `sqlDescendantsOf` sobre un dialecto sin observación (2.1, B2): hoy solo PG
318
+ * y SQLite corren la CTE en la suite; MySQL entra en 2.5 con harness propio.
319
+ * 500: config del consumidor, salta en la primera llamada.
320
+ */
321
+ export declare class UnsupportedDialectError extends Exception {
322
+ static status: number;
323
+ static code: string;
324
+ }
325
+ /**
326
+ * `hierarchicalScopeResolver` superó `maxDepth` (2.1, B4). Truncar la cadena
327
+ * perdería la raíz —y con ella cualquier deny en `app`—: fail-open. 500 y no
328
+ * 503: el árbol del consumidor es más profundo de lo declarado, no hay
329
+ * reintento que lo arregle.
330
+ */
331
+ export declare class ScopeTooDeepError extends Exception {
332
+ static status: number;
333
+ static code: string;
334
+ }
335
+ /**
336
+ * Una primitiva de 2.1 necesita un método OPCIONAL del puerto que el driver
337
+ * activo no implementa (2.1, B5): se nombra el método y se lanza. 500 porque
338
+ * es el despliegue el que está incompleto; nunca se simula la respuesta —un
339
+ * `[]` en `listDenies` sería "sin denies", fail-open.
340
+ */
341
+ export declare class UnsupportedOperationError extends Exception {
342
+ static status: number;
343
+ static code: string;
344
+ constructor(method: string, primitive: string, driver: string, hint?: string);
345
+ }
346
+ /**
347
+ * Una vista de `forRequest()` se usó para LEER después de `maxAgeMs` (2D ·
348
+ * F9, auditor 5). El memo de ancestros de la vista es correcto durante un
349
+ * request y peligroso guardado en un módulo: tras un `scopes.moved` serviría
350
+ * la cadena vieja para siempre (cruce de tenant). 500 y ruidoso: es un bug
351
+ * del consumidor (la vista sobrevivió a su request), no un "sin permiso".
352
+ */
353
+ export declare class ViewExpiredError extends Exception {
354
+ static status: number;
355
+ static code: string;
356
+ }
357
+ /**
358
+ * `authorizedScopes` sin `scopes.descendantsOf` en el config (2.1, B3). 500
359
+ * y nunca `none`: un "ningún scope" sin haber mirado el árbol sería un
360
+ * fail-closed mentiroso que el consumidor tomaría por respuesta.
361
+ */
362
+ export declare class NoDescendantsResolverError extends Exception {
363
+ static status: number;
364
+ static code: string;
365
+ }
366
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}