@jantstack/adonis-authz 1.1.0 → 2.4.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.
- package/LICENSE +1 -1
- package/README.md +837 -51
- package/build/commands/authz_catalog_diff.d.ts +28 -0
- package/build/commands/authz_catalog_diff.d.ts.map +1 -0
- package/build/commands/authz_catalog_diff.js +67 -0
- package/build/commands/authz_catalog_diff.js.map +1 -0
- package/build/commands/authz_catalog_prune_orphans.d.ts +78 -0
- package/build/commands/authz_catalog_prune_orphans.d.ts.map +1 -0
- package/build/commands/authz_catalog_prune_orphans.js +136 -0
- package/build/commands/authz_catalog_prune_orphans.js.map +1 -0
- package/build/commands/authz_catalog_sync.d.ts +37 -0
- package/build/commands/authz_catalog_sync.d.ts.map +1 -0
- package/build/commands/authz_catalog_sync.js +81 -0
- package/build/commands/authz_catalog_sync.js.map +1 -0
- package/build/commands/authz_freeze.d.ts +44 -0
- package/build/commands/authz_freeze.d.ts.map +1 -0
- package/build/commands/authz_freeze.js +95 -0
- package/build/commands/authz_freeze.js.map +1 -0
- package/build/commands/authz_reconcile.d.ts +102 -0
- package/build/commands/authz_reconcile.d.ts.map +1 -0
- package/build/commands/authz_reconcile.js +294 -0
- package/build/commands/authz_reconcile.js.map +1 -0
- package/build/commands/authz_relations_reconcile.d.ts +73 -0
- package/build/commands/authz_relations_reconcile.d.ts.map +1 -0
- package/build/commands/authz_relations_reconcile.js +225 -0
- package/build/commands/authz_relations_reconcile.js.map +1 -0
- package/build/commands/authz_scopes_relay.d.ts +47 -0
- package/build/commands/authz_scopes_relay.d.ts.map +1 -0
- package/build/commands/authz_scopes_relay.js +141 -0
- package/build/commands/authz_scopes_relay.js.map +1 -0
- package/build/commands/authz_unfreeze.d.ts +37 -0
- package/build/commands/authz_unfreeze.d.ts.map +1 -0
- package/build/commands/authz_unfreeze.js +92 -0
- package/build/commands/authz_unfreeze.js.map +1 -0
- package/build/commands/main.d.ts +8 -1
- package/build/commands/main.d.ts.map +1 -1
- package/build/commands/main.js +8 -1
- package/build/commands/main.js.map +1 -1
- package/build/commands/openfga_provision.d.ts +46 -4
- package/build/commands/openfga_provision.d.ts.map +1 -1
- package/build/commands/openfga_provision.js +91 -7
- package/build/commands/openfga_provision.js.map +1 -1
- package/build/configure.d.ts +11 -0
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +37 -1
- package/build/configure.js.map +1 -1
- package/build/index.d.ts +75 -7
- package/build/index.d.ts.map +1 -1
- package/build/index.js +67 -5
- package/build/index.js.map +1 -1
- package/build/providers/authz_provider.d.ts +26 -2
- package/build/providers/authz_provider.d.ts.map +1 -1
- package/build/providers/authz_provider.js +48 -2
- package/build/providers/authz_provider.js.map +1 -1
- package/build/services/relations.d.ts +14 -0
- package/build/services/relations.d.ts.map +1 -0
- package/build/services/relations.js +17 -0
- package/build/services/relations.js.map +1 -0
- package/build/src/catalog/catalog.d.ts +289 -0
- package/build/src/catalog/catalog.d.ts.map +1 -0
- package/build/src/catalog/catalog.js +859 -0
- package/build/src/catalog/catalog.js.map +1 -0
- package/build/src/catalog/catalog_cache.d.ts +324 -0
- package/build/src/catalog/catalog_cache.d.ts.map +1 -0
- package/build/src/catalog/catalog_cache.js +666 -0
- package/build/src/catalog/catalog_cache.js.map +1 -0
- package/build/src/clock.d.ts +24 -0
- package/build/src/clock.d.ts.map +1 -0
- package/build/src/clock.js +7 -0
- package/build/src/clock.js.map +1 -0
- package/build/src/define_config.d.ts +201 -7
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js.map +1 -1
- package/build/src/drivers/database_driver.d.ts +324 -15
- package/build/src/drivers/database_driver.d.ts.map +1 -1
- package/build/src/drivers/database_driver.js +1107 -128
- package/build/src/drivers/database_driver.js.map +1 -1
- package/build/src/drivers/database_relations_driver.d.ts +75 -0
- package/build/src/drivers/database_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/database_relations_driver.js +450 -0
- package/build/src/drivers/database_relations_driver.js.map +1 -0
- package/build/src/drivers/openfga_driver.d.ts +963 -55
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +2693 -372
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/openfga_facts.d.ts +369 -0
- package/build/src/drivers/openfga_facts.d.ts.map +1 -0
- package/build/src/drivers/openfga_facts.js +813 -0
- package/build/src/drivers/openfga_facts.js.map +1 -0
- package/build/src/drivers/openfga_relations_driver.d.ts +120 -0
- package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/openfga_relations_driver.js +466 -0
- package/build/src/drivers/openfga_relations_driver.js.map +1 -0
- package/build/src/errors.d.ts +586 -0
- package/build/src/errors.d.ts.map +1 -1
- package/build/src/errors.js +583 -0
- package/build/src/errors.js.map +1 -1
- package/build/src/expiry.d.ts +27 -0
- package/build/src/expiry.d.ts.map +1 -0
- package/build/src/expiry.js +50 -0
- package/build/src/expiry.js.map +1 -0
- package/build/src/freeze.d.ts +120 -0
- package/build/src/freeze.d.ts.map +1 -0
- package/build/src/freeze.js +172 -0
- package/build/src/freeze.js.map +1 -0
- package/build/src/hierarchical_resolver.d.ts +56 -0
- package/build/src/hierarchical_resolver.d.ts.map +1 -0
- package/build/src/hierarchical_resolver.js +87 -0
- package/build/src/hierarchical_resolver.js.map +1 -0
- package/build/src/{middleware → http}/app_access_middleware.d.ts +8 -6
- package/build/src/http/app_access_middleware.d.ts.map +1 -0
- package/build/src/{middleware → http}/app_access_middleware.js +10 -26
- package/build/src/http/app_access_middleware.js.map +1 -0
- package/build/src/http/resource_access_middleware.d.ts +105 -0
- package/build/src/http/resource_access_middleware.d.ts.map +1 -0
- package/build/src/http/resource_access_middleware.js +81 -0
- package/build/src/http/resource_access_middleware.js.map +1 -0
- package/build/src/identity.d.ts +228 -0
- package/build/src/identity.d.ts.map +1 -0
- package/build/src/identity.js +457 -0
- package/build/src/identity.js.map +1 -0
- package/build/src/manager.d.ts +536 -7
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +2676 -23
- package/build/src/manager.js.map +1 -1
- package/build/src/memoize_ancestors.d.ts +23 -0
- package/build/src/memoize_ancestors.d.ts.map +1 -0
- package/build/src/memoize_ancestors.js +42 -0
- package/build/src/memoize_ancestors.js.map +1 -0
- package/build/src/models/authz_assignment.d.ts +11 -11
- package/build/src/models/authz_assignment.d.ts.map +1 -1
- package/build/src/models/authz_deny.d.ts +11 -11
- package/build/src/models/authz_deny.d.ts.map +1 -1
- package/build/src/models/authz_permission.d.ts +17 -11
- package/build/src/models/authz_permission.d.ts.map +1 -1
- package/build/src/models/authz_permission.js +4 -0
- package/build/src/models/authz_permission.js.map +1 -1
- package/build/src/models/authz_role.d.ts +19 -12
- package/build/src/models/authz_role.d.ts.map +1 -1
- package/build/src/models/authz_role.js +6 -1
- package/build/src/models/authz_role.js.map +1 -1
- package/build/src/models/authz_role_permission.d.ts +11 -11
- package/build/src/models/authz_role_permission.d.ts.map +1 -1
- package/build/src/openfga.d.ts +29 -0
- package/build/src/openfga.d.ts.map +1 -0
- package/build/src/openfga.js +26 -0
- package/build/src/openfga.js.map +1 -0
- package/build/src/reconcile.d.ts +37 -0
- package/build/src/reconcile.d.ts.map +1 -0
- package/build/src/reconcile.js +69 -0
- package/build/src/reconcile.js.map +1 -0
- package/build/src/relation_partition_trigger.d.ts +8 -0
- package/build/src/relation_partition_trigger.d.ts.map +1 -0
- package/build/src/relation_partition_trigger.js +85 -0
- package/build/src/relation_partition_trigger.js.map +1 -0
- package/build/src/relations/define_relations_config.d.ts +58 -0
- package/build/src/relations/define_relations_config.d.ts.map +1 -0
- package/build/src/relations/define_relations_config.js +144 -0
- package/build/src/relations/define_relations_config.js.map +1 -0
- package/build/src/relations/manager.d.ts +38 -0
- package/build/src/relations/manager.d.ts.map +1 -0
- package/build/src/relations/manager.js +156 -0
- package/build/src/relations/manager.js.map +1 -0
- package/build/src/relations/reconcile.d.ts +62 -0
- package/build/src/relations/reconcile.d.ts.map +1 -0
- package/build/src/relations/reconcile.js +138 -0
- package/build/src/relations/reconcile.js.map +1 -0
- package/build/src/relations_config_store.d.ts +22 -0
- package/build/src/relations_config_store.d.ts.map +1 -0
- package/build/src/relations_config_store.js +74 -0
- package/build/src/relations_config_store.js.map +1 -0
- package/build/src/scope_outbox.d.ts +69 -0
- package/build/src/scope_outbox.d.ts.map +1 -0
- package/build/src/scope_outbox.js +291 -0
- package/build/src/scope_outbox.js.map +1 -0
- package/build/src/shared/backend_guard.d.ts +106 -0
- package/build/src/shared/backend_guard.d.ts.map +1 -0
- package/build/src/shared/backend_guard.js +246 -0
- package/build/src/shared/backend_guard.js.map +1 -0
- package/build/src/shared/sql_expiry.d.ts +53 -0
- package/build/src/shared/sql_expiry.d.ts.map +1 -0
- package/build/src/shared/sql_expiry.js +66 -0
- package/build/src/shared/sql_expiry.js.map +1 -0
- package/build/src/sql_descendants.d.ts +97 -0
- package/build/src/sql_descendants.d.ts.map +1 -0
- package/build/src/sql_descendants.js +203 -0
- package/build/src/sql_descendants.js.map +1 -0
- package/build/src/testing/contract.d.ts +212 -7
- package/build/src/testing/contract.d.ts.map +1 -1
- package/build/src/testing/contract.js +3449 -24
- package/build/src/testing/contract.js.map +1 -1
- package/build/src/testing/main.d.ts +10 -2
- package/build/src/testing/main.d.ts.map +1 -1
- package/build/src/testing/main.js +5 -1
- package/build/src/testing/main.js.map +1 -1
- package/build/src/testing/migration_contract.d.ts +284 -0
- package/build/src/testing/migration_contract.d.ts.map +1 -0
- package/build/src/testing/migration_contract.js +586 -0
- package/build/src/testing/migration_contract.js.map +1 -0
- package/build/src/testing/relations_contract.d.ts +51 -0
- package/build/src/testing/relations_contract.d.ts.map +1 -0
- package/build/src/testing/relations_contract.js +654 -0
- package/build/src/testing/relations_contract.js.map +1 -0
- package/build/src/testing/relations_reconcile_contract.d.ts +24 -0
- package/build/src/testing/relations_reconcile_contract.d.ts.map +1 -0
- package/build/src/testing/relations_reconcile_contract.js +172 -0
- package/build/src/testing/relations_reconcile_contract.js.map +1 -0
- package/build/src/testing/scope_tree.d.ts +65 -0
- package/build/src/testing/scope_tree.d.ts.map +1 -0
- package/build/src/testing/scope_tree.js +145 -0
- package/build/src/testing/scope_tree.js.map +1 -0
- package/build/src/traits/authz_scopes.d.ts +30 -6
- package/build/src/traits/authz_scopes.d.ts.map +1 -1
- package/build/src/traits/authz_scopes.js +30 -18
- package/build/src/traits/authz_scopes.js.map +1 -1
- package/build/src/traits/has_uuid.d.ts +12 -12
- package/build/src/traits/has_uuid.d.ts.map +1 -1
- package/build/src/types.d.ts +1313 -28
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +20 -4
- package/build/src/types.js.map +1 -1
- package/build/stubs/config/app_acl.stub +4 -2
- package/build/stubs/config/authorization.stub +168 -14
- package/build/stubs/migration.stub +183 -13
- package/build/stubs/scopes_outbox_migration.stub +57 -0
- package/package.json +14 -7
- package/build/commands/openfga_import.d.ts +0 -28
- package/build/commands/openfga_import.d.ts.map +0 -1
- package/build/commands/openfga_import.js +0 -74
- package/build/commands/openfga_import.js.map +0 -1
- package/build/src/catalog.d.ts +0 -3
- package/build/src/catalog.d.ts.map +0 -1
- package/build/src/catalog.js +0 -103
- package/build/src/catalog.js.map +0 -1
- package/build/src/middleware/app_access_middleware.d.ts.map +0 -1
- package/build/src/middleware/app_access_middleware.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openfga_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_relations_driver.ts"],"names":[],"mappings":"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"}
|
package/build/src/errors.d.ts
CHANGED
|
@@ -30,4 +30,590 @@ export declare class AuthorizationBackendError extends Exception {
|
|
|
30
30
|
static code: string;
|
|
31
31
|
constructor(driver: string, operation: string, cause: unknown);
|
|
32
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
|
+
* Una escritura del driver `openfga` chocó una y otra vez con otra
|
|
256
|
+
* transacción sobre las MISMAS tuplas (3b-2f · R3). FGA responde
|
|
257
|
+
* `Aborted` (HTTP 409) cuando dos `Write` transaccionales tocan una tupla a
|
|
258
|
+
* la vez, y responde `write_failed_due_to_invalid_input` cuando la tupla ya
|
|
259
|
+
* existía: las dos dicen "otro escritor llegó antes", y el driver las trata
|
|
260
|
+
* releyendo y re-aplicando. Si tras varias vueltas el store sigue en
|
|
261
|
+
* conflicto, el llamante se entera con un **409** —el estado del destino no
|
|
262
|
+
* es el que esta escritura esperaba, y reintentar es lo correcto—, nunca con
|
|
263
|
+
* un 503 "el backend no respondió": respondió, y dijo exactamente qué pasa.
|
|
264
|
+
*/
|
|
265
|
+
export declare class WriteConflictError extends Exception {
|
|
266
|
+
static status: number;
|
|
267
|
+
static code: string;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* `config.requireActor: true` y una escritura llegó sin `actor` (2.1, B7).
|
|
271
|
+
* 422 antes de tocar el driver: una auditoría que exige saber quién ordenó
|
|
272
|
+
* cada cambio no puede tener huecos, y el hueco no se descubre después.
|
|
273
|
+
*/
|
|
274
|
+
export declare class ActorRequiredError extends Exception {
|
|
275
|
+
static status: number;
|
|
276
|
+
static code: string;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* `within` no está en la cadena del scope de la escritura (2.1, B1): el
|
|
280
|
+
* call-site declaró "dentro de MI tenant" y el scope pertenece a otro. 422 y
|
|
281
|
+
* nada escrito: es la barrera contra el administrador de A que concede en
|
|
282
|
+
* una unit de B pasando un uuid ajeno. Vale para las SEIS escrituras del
|
|
283
|
+
* manager (2D · F2): quitar un deny ajeno es conceder, revocar un rol ajeno
|
|
284
|
+
* es sabotear, y purgar o recolgar un scope ajeno es lo mismo.
|
|
285
|
+
*/
|
|
286
|
+
export declare class NotWithinError extends Exception {
|
|
287
|
+
static status: number;
|
|
288
|
+
static code: string;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* `config.requireWithin` (`true` o `'non-root'`) y una escritura llegó sin
|
|
292
|
+
* `within` (2.1, B1; las seis desde 2D · F2). 422 antes del driver: la
|
|
293
|
+
* contención opt-in (auditor E2) deja de serlo cuando el consumidor lo declara.
|
|
294
|
+
*/
|
|
295
|
+
export declare class WithinRequiredError extends Exception {
|
|
296
|
+
static status: number;
|
|
297
|
+
static code: string;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* `config.requireWithin: 'non-root'` y una escritura declaró `within: APP_SCOPE`
|
|
301
|
+
* (2.1, 2D · F2). La raíz contiene todo, así que como `within` no acota nada:
|
|
302
|
+
* era el comodín con el que un call-site de tenant satisfacía `requireWithin`
|
|
303
|
+
* sin decir de qué tenant es (auditor 9). 422 y nada escrito; la plataforma,
|
|
304
|
+
* que sí escribe en la raíz, usa `manager.driver()` o una config sin el flag.
|
|
305
|
+
*/
|
|
306
|
+
export declare class WithinRootForbiddenError extends Exception {
|
|
307
|
+
static status: number;
|
|
308
|
+
static code: string;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Una enumeración de scopes superó su cota (2.1, B2/B3): `authorizedScopes`
|
|
312
|
+
* por encima de `maxScopes`, o un `descendantsOf` que devolvió más de
|
|
313
|
+
* `maxNodes`. 422 y NUNCA una lista parcial: un listado truncado en silencio
|
|
314
|
+
* es la forma más discreta de fail-open/fail-closed. El llamante acota la
|
|
315
|
+
* pregunta o sube la cota a sabiendas.
|
|
316
|
+
*/
|
|
317
|
+
export declare class TooManyScopesError extends Exception {
|
|
318
|
+
static status: number;
|
|
319
|
+
static code: string;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* `sqlDescendantsOf` sobre un dialecto sin observación (2.1, B2): hoy solo PG
|
|
323
|
+
* y SQLite corren la CTE en la suite; MySQL entra en 2.5 con harness propio.
|
|
324
|
+
* 500: config del consumidor, salta en la primera llamada.
|
|
325
|
+
*/
|
|
326
|
+
export declare class UnsupportedDialectError extends Exception {
|
|
327
|
+
static status: number;
|
|
328
|
+
static code: string;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* `hierarchicalScopeResolver` superó `maxDepth` (2.1, B4). Truncar la cadena
|
|
332
|
+
* perdería la raíz —y con ella cualquier deny en `app`—: fail-open. 500 y no
|
|
333
|
+
* 503: el árbol del consumidor es más profundo de lo declarado, no hay
|
|
334
|
+
* reintento que lo arregle.
|
|
335
|
+
*/
|
|
336
|
+
export declare class ScopeTooDeepError extends Exception {
|
|
337
|
+
static status: number;
|
|
338
|
+
static code: string;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Una primitiva de 2.1 necesita un método OPCIONAL del puerto que el driver
|
|
342
|
+
* activo no implementa (2.1, B5): se nombra el método y se lanza. 500 porque
|
|
343
|
+
* es el despliegue el que está incompleto; nunca se simula la respuesta —un
|
|
344
|
+
* `[]` en `listDenies` sería "sin denies", fail-open.
|
|
345
|
+
*/
|
|
346
|
+
export declare class UnsupportedOperationError extends Exception {
|
|
347
|
+
static status: number;
|
|
348
|
+
static code: string;
|
|
349
|
+
constructor(method: string, primitive: string, driver: string, hint?: string);
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Una vista de `forRequest()` se usó para LEER después de `maxAgeMs` (2D ·
|
|
353
|
+
* F9, auditor 5). El memo de ancestros de la vista es correcto durante un
|
|
354
|
+
* request y peligroso guardado en un módulo: tras un `scopes.moved` serviría
|
|
355
|
+
* la cadena vieja para siempre (cruce de tenant). 500 y ruidoso: es un bug
|
|
356
|
+
* del consumidor (la vista sobrevivió a su request), no un "sin permiso".
|
|
357
|
+
*/
|
|
358
|
+
export declare class ViewExpiredError extends Exception {
|
|
359
|
+
static status: number;
|
|
360
|
+
static code: string;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* `authorizedScopes` sin `scopes.descendantsOf` en el config (2.1, B3). 500
|
|
364
|
+
* y nunca `none`: un "ningún scope" sin haber mirado el árbol sería un
|
|
365
|
+
* fail-closed mentiroso que el consumidor tomaría por respuesta.
|
|
366
|
+
*/
|
|
367
|
+
export declare class NoDescendantsResolverError extends Exception {
|
|
368
|
+
static status: number;
|
|
369
|
+
static code: string;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* `pruneOrphanRoles({ force: true })` iba a purgar una fracción del catálogo
|
|
373
|
+
* local que solo tiene sentido si el ÁRBOL se ha quedado ciego (3b-0b · AA2,
|
|
374
|
+
* auditor 3b-0): TODOS los owners distintos huérfanos, o más del 50 % de los
|
|
375
|
+
* roles locales. Esa es exactamente la firma de un `resolveChain` filtrado
|
|
376
|
+
* por el tenant de la petición —patrón normal en multi-tenant— o corriendo
|
|
377
|
+
* sin contexto (un comando, una réplica atrasada): devuelve `null` para
|
|
378
|
+
* todo, así que TODO rol local parece huérfano y una pasada con `--force` se
|
|
379
|
+
* lleva el catálogo local de todos los tenants. 500 y no 422 porque el
|
|
380
|
+
* error está en el despliegue, no en la pregunta; el barrido legítimo de una
|
|
381
|
+
* poda grande de verdad pasa con `allowMassPurge: true`
|
|
382
|
+
* (`--allow-mass-purge`), que es una decisión humana, no un default.
|
|
383
|
+
*/
|
|
384
|
+
export declare class MassPurgeRefusedError extends Exception {
|
|
385
|
+
static status: number;
|
|
386
|
+
static code: string;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Un `purgeRole` falló a mitad del barrido de `prune-orphans`.
|
|
390
|
+
*
|
|
391
|
+
* La purga NO es transaccional entre roles: cada `purgeRole` es atómico, pero
|
|
392
|
+
* si el tercero revienta, los dos primeros ya están borrados. El valor de
|
|
393
|
+
* retorno —que es donde vivía la lista— nunca llega a producirse, así que
|
|
394
|
+
* quien recoge el error necesita saber **qué se fue** y **qué queda**, o la
|
|
395
|
+
* frase del CHANGELOG es papel mojado (tester 3b-1 §6.2).
|
|
396
|
+
*
|
|
397
|
+
* Por eso este error lleva `purged` y `skipped` con la misma forma que el
|
|
398
|
+
* valor de retorno, y envuelve el error del driver como `cause` en vez de
|
|
399
|
+
* dejarlo escapar crudo: la abstracción no filtra.
|
|
400
|
+
*
|
|
401
|
+
* Recuperación: los `role_purged` ya notificados nombran lo mismo que
|
|
402
|
+
* `purged`, y la siguiente pasada recoge el resto (los huérfanos que quedan
|
|
403
|
+
* lo siguen siendo).
|
|
404
|
+
*/
|
|
405
|
+
export declare class PruneInterruptedError extends Exception {
|
|
406
|
+
readonly purged: ReadonlyArray<{
|
|
407
|
+
uuid: string;
|
|
408
|
+
slug: string;
|
|
409
|
+
scopeType: string;
|
|
410
|
+
owner: string;
|
|
411
|
+
}>;
|
|
412
|
+
readonly skipped: ReadonlyArray<{
|
|
413
|
+
role: {
|
|
414
|
+
uuid: string;
|
|
415
|
+
slug: string;
|
|
416
|
+
scopeType: string;
|
|
417
|
+
owner: string;
|
|
418
|
+
};
|
|
419
|
+
reason: string;
|
|
420
|
+
}>;
|
|
421
|
+
static status: number;
|
|
422
|
+
static code: string;
|
|
423
|
+
constructor(message: string, purged: ReadonlyArray<{
|
|
424
|
+
uuid: string;
|
|
425
|
+
slug: string;
|
|
426
|
+
scopeType: string;
|
|
427
|
+
owner: string;
|
|
428
|
+
}>, skipped: ReadonlyArray<{
|
|
429
|
+
role: {
|
|
430
|
+
uuid: string;
|
|
431
|
+
slug: string;
|
|
432
|
+
scopeType: string;
|
|
433
|
+
owner: string;
|
|
434
|
+
};
|
|
435
|
+
reason: string;
|
|
436
|
+
}>, options?: ErrorOptions);
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* `readLocalRoles()` (el barrido de `prune-orphans`) encontró más roles
|
|
440
|
+
* locales que su cota `maxLocalRoles` (3b-0b · AB2, auditor 3b-0 ⚪): la
|
|
441
|
+
* lectura es UNA consulta sin `LIMIT`, así que un catálogo local enorme la
|
|
442
|
+
* convierte en amplificación. 500 y nunca una lista parcial —truncar aquí
|
|
443
|
+
* sería decidir a ciegas qué se purga—: se sube la cota a sabiendas.
|
|
444
|
+
*/
|
|
445
|
+
export declare class TooManyLocalRolesError extends Exception {
|
|
446
|
+
static status: number;
|
|
447
|
+
static code: string;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* El catálogo no cabe en un authorization model de OpenFGA (3b-2a · A3): el
|
|
451
|
+
* modo `facts` publica cada permiso como cuatro relaciones del modelo y el
|
|
452
|
+
* servidor tiene un techo de 262.144 bytes. **Cuántos permisos son esos bytes
|
|
453
|
+
* depende de tu catálogo** (3b-4 · C3): ~450 con slugs realistas
|
|
454
|
+
* (`recurso:accion`) y tres holder types, 691 si los permisos se llaman
|
|
455
|
+
* `p0`…`pN`, 272 con slugs de 40 caracteres. La tabla y de qué depende están
|
|
456
|
+
* en `FACTS_MODEL_MAX_BYTES`; el mensaje del error dice los bytes REALES y
|
|
457
|
+
* cuántos permisos tenía el catálogo que se intentó publicar.
|
|
458
|
+
* Se comprueba en `syncAuthzCatalog` ANTES de escribir: si se escribiera
|
|
459
|
+
* primero, el catálogo quedaría en la base sin poder proyectarse nunca y el
|
|
460
|
+
* store sin poder regenerarse. 500 porque es config de despliegue —el techo
|
|
461
|
+
* del servidor es del pliego de infraestructura—, no una pregunta inválida.
|
|
462
|
+
*/
|
|
463
|
+
export declare class ModelTooLargeError extends Exception {
|
|
464
|
+
static status: number;
|
|
465
|
+
static code: string;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* La config de relaciones ReBAC (Fase 4) no se puede FUSIONAR en el modelo
|
|
469
|
+
* `facts`. Es 422 (pregunta inválida del que declara la config), no 500: un
|
|
470
|
+
* tipo de objeto de relaciones que duplica un tipo o una familia de
|
|
471
|
+
* relaciones reservados del modelo `facts` (`scope`/`role`/`role_binding`/
|
|
472
|
+
* `deny_binding`/`group`, o `can_<P>`/`permits_<P>`/`denied_<P>`/`assignee`/
|
|
473
|
+
* `parent`/`rooted`), o una relación cuyo nombre choca con un permiso del
|
|
474
|
+
* catálogo (F-04), invalidaría el modelo compartido. Lo detecta el GENERADOR y
|
|
475
|
+
* lanza el PAQUETE —nunca el 400 opaco del servidor—, porque en el store
|
|
476
|
+
* compartido los ids de `facts` y los de relaciones viven en el mismo espacio
|
|
477
|
+
* (⚪4 del auditor, cierre por construcción del 🔴).
|
|
478
|
+
*/
|
|
479
|
+
export declare class RelationConfigError extends Exception {
|
|
480
|
+
static status: number;
|
|
481
|
+
static code: string;
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* El árbol materializado del store no es un árbol (3b-2b, cruce 8). El
|
|
485
|
+
* paquete escribe UNA arista `scope:<hijo>#parent@scope:<padre>` por nodo y
|
|
486
|
+
* la sustituye entera en cada `moved`, así que encontrar dos padres para el
|
|
487
|
+
* mismo scope significa que alguien MÁS está escribiendo ahí. No se
|
|
488
|
+
* "arregla": con dos padres la herencia ya está trayendo hechos de otra rama
|
|
489
|
+
* y elegir uno de los dos sería adivinar cuál de las dos concesiones vivas es
|
|
490
|
+
* la buena. 500 y se denuncia; lo reconstruye `authz:reconcile`.
|
|
491
|
+
*/
|
|
492
|
+
export declare class ScopeTreeDriftError extends Exception {
|
|
493
|
+
static status: number;
|
|
494
|
+
static code: string;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* El motor está CONGELADO por una operación de plataforma (`authz:reconcile`
|
|
498
|
+
* o la ventana de cutover de `authz:freeze`).
|
|
499
|
+
*
|
|
500
|
+
* Desde 3b-7 el freeze es DURABLE (la fila `id = 2` de
|
|
501
|
+
* `authz_catalog_version`): mientras está vivo, las ESCRITURAS del manager
|
|
502
|
+
* (`grant`/`revoke`/`deny`/`removeDeny`, las tres `scopes.*`, la API de
|
|
503
|
+
* delegación, el barrido de huérfanos y el relay) responden con este 503 **en
|
|
504
|
+
* todos los procesos que comparten esas tablas**, y las LECTURAS siguen
|
|
505
|
+
* funcionando: una migración que copia hechos de un backend a otro no puede
|
|
506
|
+
* competir con quien los está escribiendo —lo que entre entre la lectura del
|
|
507
|
+
* origen y la escritura del destino se pierde sin que nadie lo cuente— y
|
|
508
|
+
* dejar de leer sería tirar la aplicación entera por una operación de
|
|
509
|
+
* plataforma.
|
|
510
|
+
*
|
|
511
|
+
* **503 y REINTENTABLE** (`retryable: true`): no es una pregunta inválida ni
|
|
512
|
+
* un fallo del backend, es una ventana de mantenimiento acotada (por el
|
|
513
|
+
* lease, o por el `authz:unfreeze` del operador). El llamante puede
|
|
514
|
+
* reintentar tal cual; un 409 diría «tu estado no es el que esperaba» y un
|
|
515
|
+
* 422 «no vuelvas a intentarlo», y ninguna de las dos es cierta aquí.
|
|
516
|
+
*/
|
|
517
|
+
export declare class AuthorizationFrozenError extends Exception {
|
|
518
|
+
static status: number;
|
|
519
|
+
static code: string;
|
|
520
|
+
/** Reintentar tal cual es lo correcto en cuanto termine la ventana. */
|
|
521
|
+
readonly retryable = true;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Ya hay un freeze VIVO de otro dueño (3b-7, auditor A1.3).
|
|
525
|
+
*
|
|
526
|
+
* `freeze()` no puede ser idempotente entre procesos: dos `authz:reconcile`
|
|
527
|
+
* simultáneos que compartieran la fila se levantarían la barrera el uno al
|
|
528
|
+
* otro al terminar el primero — dos pasadas pisándose con el README diciendo
|
|
529
|
+
* que no puede pasar. El segundo dueño recibe este 423 con el motivo y el
|
|
530
|
+
* holder del freeze vivo; la excepción a propósito es el freeze de OPERADOR,
|
|
531
|
+
* que `reconcile` reconoce como su propio contexto (el cutover, F6) en vez
|
|
532
|
+
* de chocar con él.
|
|
533
|
+
*/
|
|
534
|
+
export declare class FreezeHeldError extends Exception {
|
|
535
|
+
static status: number;
|
|
536
|
+
static code: string;
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* `authz:reconcile --prune` iba a borrar hechos del destino con un ORIGEN
|
|
540
|
+
* VACÍO (3b-3a; mismo patrón que `E_AUTHZ_MASS_PURGE_REFUSED`, 3b-0b · AA2).
|
|
541
|
+
*
|
|
542
|
+
* `--to=openfga` hace del store un espejo de `authz_assignments`/
|
|
543
|
+
* `authz_denies`, así que un origen sin una sola fila de hechos y un destino
|
|
544
|
+
* lleno significa casi siempre que **los hechos los está escribiendo el otro
|
|
545
|
+
* driver** (el store ES la fuente cuando `openfga` está activo) o que la
|
|
546
|
+
* conexión mira a la base equivocada. Con `--prune` eso se lleva por delante
|
|
547
|
+
* todo lo concedido, y sin manera de reconstruirlo. 500 antes de escribir
|
|
548
|
+
* nada, `allowMassDelete: true` (`--allow-mass-delete`) es la decisión
|
|
549
|
+
* humana, y `--dry-run` no lanza: lo marca en el reporte.
|
|
550
|
+
*/
|
|
551
|
+
export declare class MassReconcileRefusedError extends Exception {
|
|
552
|
+
static status: number;
|
|
553
|
+
static code: string;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* **El volcado del destino no cabe en la cota declarada** (3b-3b · B5).
|
|
557
|
+
*
|
|
558
|
+
* Reconciliar exige comparar contra el estado ENTERO del destino: sin esa
|
|
559
|
+
* foto no se puede saber qué sobra, y «lo que sobra» es la mitad del trabajo
|
|
560
|
+
* (las aristas que el consumidor ya no respalda, el nodo con dos padres, la
|
|
561
|
+
* basura de una versión anterior). El ORIGEN sí se lee por lotes con cursor;
|
|
562
|
+
* el destino no, y por eso hay una cota.
|
|
563
|
+
*
|
|
564
|
+
* Se declara en vez de esconderse: por encima de `maxTuples` la pasada se
|
|
565
|
+
* niega **antes de escribir nada**, con la cifra y la salida (subir la cota,
|
|
566
|
+
* o migrar por particiones, que hoy el paquete NO trae). Un OOM a mitad de
|
|
567
|
+
* migración deja el destino con las escrituras de MENOS que ya se aplicaron
|
|
568
|
+
* y sin reporte; esto no deja nada.
|
|
569
|
+
*/
|
|
570
|
+
export declare class ReconcileTooLargeError extends Exception {
|
|
571
|
+
static status: number;
|
|
572
|
+
static code: string;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* El driver se ha pedido en `hierarchy: 'facts'` —el árbol vive en el store
|
|
576
|
+
* de FGA— sin `scopes.outbox` y sin aceptar el riesgo por escrito (3b-2d,
|
|
577
|
+
* cruce 4 · S5). En ese montaje el paquete escribe la arista en FGA dentro
|
|
578
|
+
* de la transacción del consumidor y un `rollback` posterior NO la deshace:
|
|
579
|
+
* SQL dice un padre y FGA otro, FGA es quien decide, y la aplicación —que
|
|
580
|
+
* lista y audita contra SQL— no puede ver la escalada. No es un mal uso: el
|
|
581
|
+
* uso correcto fuga, sin crash, con un simple rollback.
|
|
582
|
+
*
|
|
583
|
+
* 500 y al construir, no al escribir: un puerto opcional que nadie declara
|
|
584
|
+
* no mitiga nada, y descubrirlo en la primera escritura de un tenant es
|
|
585
|
+
* tarde. `acceptScopeDriftRisk: true` es la salida explícita para quien
|
|
586
|
+
* mueve el árbol solo desde la plataforma y lo asume por escrito.
|
|
587
|
+
*/
|
|
588
|
+
export declare class ScopeDriftUnguardedError extends Exception {
|
|
589
|
+
static status: number;
|
|
590
|
+
static code: string;
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* **F-05, la frontera de ESCRITURA de relaciones (Fase 4, cierre del 🔴 del
|
|
594
|
+
* auditor).** `relate`/`unrelate` recibieron un `object.type` que NO está
|
|
595
|
+
* declarado en `defineRelationsConfig`. Es 422 ANTES de tocar el driver: en el
|
|
596
|
+
* store COMPARTIDO los tipos de `facts` (`role_binding`, `scope`, `role`)
|
|
597
|
+
* viven en el MISMO espacio de ids, y la composición
|
|
598
|
+
* `<type>:<scopeKey(partition)>|<id>` reproduce byte a byte el id de un
|
|
599
|
+
* `role_binding` real. Sin este corte, `relate(evil, assignee,
|
|
600
|
+
* {type:'role_binding', id:<roleUuid>}, S)` escribía la tupla del binding y
|
|
601
|
+
* `check(evil, can_<P>, S)` devolvía `true` (escalada a `roles.authorize`,
|
|
602
|
+
* medida por el auditor). Junto con ⚪4 (un tipo reservado no se puede
|
|
603
|
+
* declarar) la colisión deja de existir en vez de vigilarse.
|
|
604
|
+
*/
|
|
605
|
+
export declare class RelationTypeUnknownError extends Exception {
|
|
606
|
+
static status: number;
|
|
607
|
+
static code: string;
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* **F-05, cara de la RELACIÓN.** El `object.type` está declarado, pero la
|
|
611
|
+
* `relation` no es una de las suyas en `defineRelationsConfig`. Mismo 422
|
|
612
|
+
* antes de tocar el driver: una relación no declarada podría, en un futuro
|
|
613
|
+
* modelo, mapear a una relación propia de `facts`.
|
|
614
|
+
*/
|
|
615
|
+
export declare class RelationUnknownError extends Exception {
|
|
616
|
+
static status: number;
|
|
617
|
+
static code: string;
|
|
618
|
+
}
|
|
33
619
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACtD,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,IAAI,SAAgC;gBAE/B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAG9D"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|