@jantstack/adonis-authz 2.0.0-alpha.1 → 2.4.0-alpha.10
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/README.md +934 -40
- package/build/commands/authz_catalog_diff.d.ts.map +1 -1
- package/build/commands/authz_catalog_diff.js +1 -2
- package/build/commands/authz_catalog_diff.js.map +1 -1
- 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 +135 -0
- package/build/commands/authz_catalog_prune_orphans.js.map +1 -0
- package/build/commands/authz_catalog_sync.d.ts +17 -0
- package/build/commands/authz_catalog_sync.d.ts.map +1 -1
- package/build/commands/authz_catalog_sync.js +27 -4
- package/build/commands/authz_catalog_sync.js.map +1 -1
- 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 +94 -0
- package/build/commands/authz_freeze.js.map +1 -0
- package/build/commands/authz_reconcile.d.ts +111 -0
- package/build/commands/authz_reconcile.d.ts.map +1 -0
- package/build/commands/authz_reconcile.js +417 -0
- package/build/commands/authz_reconcile.js.map +1 -0
- package/build/commands/authz_relations_reconcile.d.ts +144 -0
- package/build/commands/authz_relations_reconcile.d.ts.map +1 -0
- package/build/commands/authz_relations_reconcile.js +438 -0
- package/build/commands/authz_relations_reconcile.js.map +1 -0
- package/build/commands/authz_scopes_relay.d.ts +97 -0
- package/build/commands/authz_scopes_relay.d.ts.map +1 -0
- package/build/commands/authz_scopes_relay.js +344 -0
- package/build/commands/authz_scopes_relay.js.map +1 -0
- package/build/commands/authz_scopes_requeue.d.ts +80 -0
- package/build/commands/authz_scopes_requeue.d.ts.map +1 -0
- package/build/commands/authz_scopes_requeue.js +230 -0
- package/build/commands/authz_scopes_requeue.js.map +1 -0
- package/build/commands/authz_unfreeze.d.ts +45 -0
- package/build/commands/authz_unfreeze.d.ts.map +1 -0
- package/build/commands/authz_unfreeze.js +157 -0
- package/build/commands/authz_unfreeze.js.map +1 -0
- package/build/commands/main.d.ts +16 -8
- package/build/commands/main.d.ts.map +1 -1
- package/build/commands/main.js +59 -6
- package/build/commands/main.js.map +1 -1
- package/build/commands/openfga_provision.d.ts +92 -4
- package/build/commands/openfga_provision.d.ts.map +1 -1
- package/build/commands/openfga_provision.js +155 -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 +50 -11
- package/build/index.d.ts.map +1 -1
- package/build/index.js +49 -7
- package/build/index.js.map +1 -1
- package/build/providers/authz_provider.d.ts +31 -2
- package/build/providers/authz_provider.d.ts.map +1 -1
- package/build/providers/authz_provider.js +65 -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.d.ts → catalog/catalog.d.ts} +41 -2
- package/build/src/catalog/catalog.d.ts.map +1 -0
- package/build/src/{catalog.js → catalog/catalog.js} +120 -14
- package/build/src/catalog/catalog.js.map +1 -0
- package/build/src/{catalog_cache.d.ts → catalog/catalog_cache.d.ts} +46 -22
- package/build/src/catalog/catalog_cache.d.ts.map +1 -0
- package/build/src/{catalog_cache.js → catalog/catalog_cache.js} +53 -43
- package/build/src/catalog/catalog_cache.js.map +1 -0
- package/build/src/define_config.d.ts +206 -3
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js +11 -0
- package/build/src/define_config.js.map +1 -1
- package/build/src/drivers/database_driver.d.ts +128 -7
- package/build/src/drivers/database_driver.d.ts.map +1 -1
- package/build/src/drivers/database_driver.js +510 -24
- package/build/src/drivers/database_driver.js.map +1 -1
- package/build/src/drivers/database_relations_driver.d.ts +140 -0
- package/build/src/drivers/database_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/database_relations_driver.js +748 -0
- package/build/src/drivers/database_relations_driver.js.map +1 -0
- package/build/src/drivers/openfga_driver.d.ts +777 -122
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +2228 -477
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/openfga_facts.d.ts +384 -0
- package/build/src/drivers/openfga_facts.d.ts.map +1 -0
- package/build/src/drivers/openfga_facts.js +836 -0
- package/build/src/drivers/openfga_facts.js.map +1 -0
- package/build/src/drivers/openfga_relations_driver.d.ts +186 -0
- package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/openfga_relations_driver.js +724 -0
- package/build/src/drivers/openfga_relations_driver.js.map +1 -0
- package/build/src/errors.d.ts +430 -6
- package/build/src/errors.d.ts.map +1 -1
- package/build/src/errors.js +453 -6
- package/build/src/errors.js.map +1 -1
- package/build/src/freeze.d.ts +200 -0
- package/build/src/freeze.d.ts.map +1 -0
- package/build/src/freeze.js +306 -0
- package/build/src/freeze.js.map +1 -0
- package/build/src/http/app_access_middleware.d.ts.map +1 -0
- 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 +74 -1
- package/build/src/identity.d.ts.map +1 -1
- package/build/src/identity.js +100 -2
- package/build/src/identity.js.map +1 -1
- package/build/src/manager.d.ts +549 -6
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +2243 -193
- package/build/src/manager.js.map +1 -1
- package/build/src/models/authz_assignment.d.ts +7 -7
- package/build/src/models/authz_assignment.d.ts.map +1 -1
- package/build/src/models/authz_deny.d.ts +7 -7
- package/build/src/models/authz_deny.d.ts.map +1 -1
- package/build/src/models/authz_permission.d.ts +7 -7
- package/build/src/models/authz_permission.d.ts.map +1 -1
- package/build/src/models/authz_role.d.ts +7 -7
- package/build/src/models/authz_role.d.ts.map +1 -1
- package/build/src/models/authz_role_permission.d.ts +7 -7
- package/build/src/models/authz_role_permission.d.ts.map +1 -1
- package/build/src/openfga.d.ts +18 -2
- package/build/src/openfga.d.ts.map +1 -1
- package/build/src/openfga.js +15 -1
- package/build/src/openfga.js.map +1 -1
- 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 +93 -0
- package/build/src/relation_partition_trigger.js.map +1 -0
- package/build/src/relations/define_relations_config.d.ts +109 -0
- package/build/src/relations/define_relations_config.d.ts.map +1 -0
- package/build/src/relations/define_relations_config.js +211 -0
- package/build/src/relations/define_relations_config.js.map +1 -0
- package/build/src/relations/manager.d.ts +138 -0
- package/build/src/relations/manager.d.ts.map +1 -0
- package/build/src/relations/manager.js +494 -0
- package/build/src/relations/manager.js.map +1 -0
- package/build/src/relations/reconcile.d.ts +137 -0
- package/build/src/relations/reconcile.d.ts.map +1 -0
- package/build/src/relations/reconcile.js +294 -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 +123 -0
- package/build/src/scope_outbox.d.ts.map +1 -0
- package/build/src/scope_outbox.js +532 -0
- package/build/src/scope_outbox.js.map +1 -0
- package/build/src/{drivers → shared}/backend_guard.d.ts +42 -0
- package/build/src/shared/backend_guard.d.ts.map +1 -0
- package/build/src/{drivers → shared}/backend_guard.js +78 -1
- package/build/src/shared/backend_guard.js.map +1 -0
- package/build/src/{drivers → shared}/sql_expiry.d.ts +2 -0
- package/build/src/shared/sql_expiry.d.ts.map +1 -0
- package/build/src/{drivers → shared}/sql_expiry.js +4 -0
- package/build/src/shared/sql_expiry.js.map +1 -0
- package/build/src/shared/transaction_guard.d.ts +53 -0
- package/build/src/shared/transaction_guard.d.ts.map +1 -0
- package/build/src/shared/transaction_guard.js +74 -0
- package/build/src/shared/transaction_guard.js.map +1 -0
- package/build/src/sql_descendants.d.ts +55 -1
- package/build/src/sql_descendants.d.ts.map +1 -1
- package/build/src/sql_descendants.js +75 -1
- package/build/src/sql_descendants.js.map +1 -1
- package/build/src/testing/contract.d.ts +129 -4
- package/build/src/testing/contract.d.ts.map +1 -1
- package/build/src/testing/contract.js +915 -177
- 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 +293 -0
- package/build/src/testing/migration_contract.d.ts.map +1 -0
- package/build/src/testing/migration_contract.js +589 -0
- package/build/src/testing/migration_contract.js.map +1 -0
- package/build/src/testing/relations_contract.d.ts +73 -0
- package/build/src/testing/relations_contract.d.ts.map +1 -0
- package/build/src/testing/relations_contract.js +1238 -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 +220 -0
- package/build/src/testing/relations_reconcile_contract.js.map +1 -0
- package/build/src/testing/scope_outbox_contract.d.ts +98 -0
- package/build/src/testing/scope_outbox_contract.d.ts.map +1 -0
- package/build/src/testing/scope_outbox_contract.js +677 -0
- package/build/src/testing/scope_outbox_contract.js.map +1 -0
- package/build/src/traits/authz_scopes.js +1 -1
- package/build/src/traits/authz_scopes.js.map +1 -1
- package/build/src/traits/has_uuid.d.ts +8 -8
- package/build/src/traits/has_uuid.d.ts.map +1 -1
- package/build/src/types.d.ts +1537 -84
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +65 -0
- package/build/src/types.js.map +1 -1
- package/build/stubs/config/authorization.stub +149 -5
- package/build/stubs/migration.stub +136 -0
- package/build/stubs/scopes_outbox_migration.stub +57 -0
- package/package.json +4 -2
- package/build/commands/openfga_import.d.ts +0 -34
- package/build/commands/openfga_import.d.ts.map +0 -1
- package/build/commands/openfga_import.js +0 -97
- package/build/commands/openfga_import.js.map +0 -1
- package/build/src/catalog.d.ts.map +0 -1
- package/build/src/catalog.js.map +0 -1
- package/build/src/catalog_cache.d.ts.map +0 -1
- package/build/src/catalog_cache.js.map +0 -1
- package/build/src/drivers/backend_guard.d.ts.map +0 -1
- package/build/src/drivers/backend_guard.js.map +0 -1
- package/build/src/drivers/sql_expiry.d.ts.map +0 -1
- package/build/src/drivers/sql_expiry.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
- /package/build/src/{middleware → http}/app_access_middleware.d.ts +0 -0
- /package/build/src/{middleware → http}/app_access_middleware.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openfga_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_relations_driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAiB1C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAEjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAC1G,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAGxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AACvC,wFAAwF;AACxF,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,wDAAwD;AACxD,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B;;;;GAIG;AACH,MAAM,cAAc,GAAG,MAAM,CAAA;AAC7B;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG;IAC9B,QAAQ,EAAE,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,MAAM,EAAE;CAC5E,CAAA;AACD,qFAAqF;AACrF,MAAM,sBAAsB,GAAG;IAC7B,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE;CAC1E,CAAA;AAuCD,MAAM,OAAO,sBAAsB;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACM,YAAY,GAAgC,MAAM,CAAC,MAAM,CAAC;QACjE,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,KAAK;QACtB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;QACrB,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,0EAA0E;QAC1E,mEAAmE;QACnE,uEAAuE;QACvE,uEAAuE;QACvE,yDAAyD;QACzD,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAA;IAEe,MAAM,CAAgB;IAC9B,OAAO,CAAiB;IACxB,QAAQ,CAA+B;IACvC,IAAI,CAAO;IACX,YAAY,CAAe;IAC3B,WAAW,CAAwB;IACnC,UAAU,CAAQ;IAClB,YAAY,CAA2B;IACvC,eAAe,CAAQ;IACvB,OAAO,CAAiC;IAExC,WAAW,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAA;IAE/C,YAAY,MAAuB,EAAE,OAAsC;QACzE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;QACvC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9G,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAA;QACzD,IAAI,CAAC,YAAY;YACf,OAAO,CAAC,WAAW,KAAK,kBAAkB;gBACxC,CAAC,CAAC,qBAAqB,CAAC,eAAe;gBACvC,CAAC,CAAC,qBAAqB,CAAC,iBAAiB,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,qBAAqB,IAAI,wBAAwB,CAAA;QAChF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,oBAAoB,EAAE,OAAO,CAAC,OAAO;YACrC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC7B,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAU;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAwB,CAAC,yDAAyD,OAAO,GAAG,GAAG,CAAC,CAAA;QAC5G,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAC/E;QAAC,IAA6C,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sIAAsI;IACtI,aAAa,CAAC,EAAQ;QACpB,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;IAC3C,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,CAAI,SAAiB,EAAE,EAAoB;QACrD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAS,EAAE;YACrC,qEAAqE;YACrE,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,YAAY,oBAAoB;gBAAE,OAAO,KAAK,CAAA;YAChG,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,gCAAgC,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YACrG,CAAC;YACD,OAAO,IAAI,yBAAyB,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QAC7E,CAAC,CAAA;QACD,IAAI,OAAmB,CAAA;QACvB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,EAAE,CAAA;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,YAAY,CACjB,OAAO,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,EACF,IAAI,CAAC,UAAU,EACf,GAAG,EAAE,CAAC,IAAI,gCAAgC,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAC5F,CAAA;IACH,CAAC;IAED,+EAA+E;IAE/E,mDAAmD;IACnD,SAAS,CAAC,UAAkB,EAAE,YAAoB,EAAE,UAAkB;QACpE,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,oEAAoE;QACpE,gBAAgB,CAAC,qBAAqB,UAAU,GAAG,EAAE,UAAU,CAAC,CAAA;QAChE,MAAM,EAAE,GAAG,GAAG,UAAU,IAAI,YAAY,IAAI,UAAU,EAAE,CAAA;QACxD,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAmB,EAAE,YAAoB;QACpD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,wEAAwE;YACxE,uEAAuE;YACvE,uCAAuC;YACvC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACnF,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,oBAAoB,CAC5B,gBAAgB,OAAO,CAAC,IAAI,4DAA4D;gBACtF,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,CAC7E,CAAA;QACH,CAAC;QACD,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAc;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;IAC3C,CAAC;IAED,iGAAiG;IACjG,cAAc,CAAC,IAAY;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;YACrC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACrC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAA;QAC3E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QACtE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;OASG;IACH;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,SAAiB,EAAE,OAA+C;QACnF,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;YAAE,OAAM;QAC9E,MAAM,yBAAyB,CAAC,mBAAmB,CAAC,aAAa,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IACvG,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAmB,EACnB,QAAgB,EAChB,MAAiB,EACjB,SAAmB,EACnB,OAA8B;QAE9B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1C,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;QACpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;QACvE,IAAI,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;YAAE,OAAM;QACvD,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE;YAC5G,CAAC,CAAC,GAAG,CAAA;QACP,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACpG,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,GAAuD;QAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAC9G,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAU,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,CACxF,CAAA;QACD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAmB,EACnB,QAAgB,EAChB,MAAiB,EACjB,SAAmB,EACnB,OAA8B;QAE9B,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC5C,8EAA8E;QAC9E,wDAAwD;QACxD,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACrD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;QACjC,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAC/F,CAAA;IACH,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;;;;OAYG;IACH,0EAA0E;IAC1E,KAAK,CAAC,KAAK,CAAC,OAAmB,EAAE,QAAgB,EAAE,MAAiB,EAAE,SAAmB;QACvF,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CACrG,CAAA;QACD,OAAO,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAA;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CACf,OAAmB,EACnB,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EACnB,KAAoB;QAEpB,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAA;QACpE,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAC3G,CAAA;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;QAClC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAA;QACpD,MAAM,OAAO,GAAgB,EAAE,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;gBAC1C,SAAQ;YACV,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY;gBAAE,SAAQ,CAAC,2BAA2B;YAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,MAAiB,EACjB,SAAmB,EACnB,KAAoB;QAEpB,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACrE,2EAA2E;QAC3E,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClF,MAAM,QAAQ,GAAiB,EAAE,CAAA;QACjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBAAE,SAAQ;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAA;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,yBAAyB,CACjC,WAAW,EACX,qCAAqC,EACrC,SAAS,EACT,kGAAkG;YAChG,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAmB,EAAE,KAAoB;QAChE,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAsB,EAAE,KAAoB;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,wBAAwB,CAChC,6HAA6H;gBAC3H,8BAA8B,CACjC,CAAA;QACH,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAA;IAC1D,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,MAAM,CAAC,UAAsB,EAAE,SAAiB;QACpD,2EAA2E;QAC3E,iFAAiF;QACjF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC9C,yEAAyE;YACzE,0CAA0C;YAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACxD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACjD,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAQ,CAAC,yDAAyD;YAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC1C,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO;gBACP,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACpD,SAAS;gBACT,SAAS,EAAE,GAAG,CAAC,UAAU;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;IAED,+EAA+E;IAE/E;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,MAAiB,EAAE,SAAmB,EAAE,OAAoC;QAC5F,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC/C,wFAAwF;QACxF,sEAAsE;QACtE,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAChE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAC5C,CAAA;QACD,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;YAChG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAmB,EAAE,SAAmB,EAAE,OAAoC;QAC/F,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAChD,qFAAqF;QACrF,IAAI,YAAY,CAAC,OAAO,CAAC;YAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjG,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;gBACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,CACvB,cAAc,EACd,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,EAC5B,UAAU,IAAI,QAAQ,IAAI,GAAG,EAC7B,QAAQ,CACT,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,KAAc,EAAE,QAA6B;QAC7D,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACvG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,kMAAkM;IAClM,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,MAA4D,EAC5D,IAAY,EACZ,QAA6B;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAA;YACjD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAC5E,sBAAsB,CACvB,CACF,CAAA;YACD,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC7B,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,oBAAoB,CAC5B,GAAG,SAAS,YAAY,OAAO,CAAC,MAAM,cAAc,IAAI,mBAAmB;gBACzE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACzF,0BAA0B,CAC7B,CAAA;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAE/E,6EAA6E;IAC7E,mBAAmB,CAAC,SAAmB;QACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,SAAiB,EACjB,MAA6D;QAE7D,MAAM,IAAI,GAA0B,EAAE,CAAA;QACtC,IAAI,iBAAqC,CAAA;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,GAAG,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvB,QAAQ,EAAE,cAAc;gBACxB,iBAAiB;gBACjB,WAAW,EAAE,IAAI,CAAC,YAAY;aAC/B,CAAC,CACH,CAAA;YACD,KAAK,IAAI,CAAC,CAAA;YACV,uEAAuE;YACvE,yEAAyE;YACzE,oDAAoD;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,EACnB,SAAS,EACT,IAAI,KAAK,CAAC,iCAAiC,KAAK,0CAA0C,CAAC,CAC5F,CAAA;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAQ,KAAK,EAAE,GAAG,CAAA;gBAC3B,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;oBACjD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;oBAC7D,SAAQ;gBACV,CAAC;gBACD,2EAA2E;gBAC3E,qEAAqE;gBACrE,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;iBAC9D,CAAC,CAAA;YACJ,CAAC;YACD,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,SAAS,CAAA;YAC5D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,EACnB,SAAS,EACT,IAAI,KAAK,CAAC,2CAA2C,KAAK,0BAA0B,CAAC,CACtF,CAAA;gBACH,CAAC;gBACD,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,EACnB,SAAS,EACT,IAAI,KAAK,CAAC,UAAU,cAAc,6BAA6B,CAAC,CACjE,CAAA;gBACH,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,QAAQ,iBAAiB,EAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,MAAc;QAChD,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,mDAAmD,SAAS,KAAK,MAAM,KAAK;YAC1E,uCAAuC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAC/E,CAAA;IACH,CAAC;CACF;AAED,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF"}
|
package/build/src/errors.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Exception } from '@adonisjs/core/exceptions';
|
|
2
|
+
import type { ScopeRequeueConflict } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* El backend de autorización no respondió.
|
|
4
5
|
*
|
|
@@ -77,7 +78,54 @@ export declare class InvalidSlugError extends Exception {
|
|
|
77
78
|
export declare class AuthorizationConfigError extends Exception {
|
|
78
79
|
static status: number;
|
|
79
80
|
static code: string;
|
|
80
|
-
|
|
81
|
+
/**
|
|
82
|
+
* **`assertWrite` devolvió una promesa** (2.4.0-alpha.3 · D3, hallazgo H2).
|
|
83
|
+
* `assertWrite(ref): void` es SÍNCRONO y puro a propósito (R-13), pero
|
|
84
|
+
* TypeScript no lo defiende: `assertWrite: async (ref) => { throw … }`
|
|
85
|
+
* compila —una función que devuelve `Promise<void>` es asignable a `void`—,
|
|
86
|
+
* y hasta alpha.3 la promesa se descartaba y la ESCRITURA ENTRABA (un gate
|
|
87
|
+
* de policy que no rechaza nada, en silencio). Se cierra fail-closed: 500
|
|
88
|
+
* ANTES de tocar el driver, nombrando la causa y la receta. La letra la
|
|
89
|
+
* fija `tests/relations_events_docs.spec.ts` byte a byte.
|
|
90
|
+
*/
|
|
91
|
+
static asyncAssertWrite(operation: string): AuthorizationConfigError;
|
|
92
|
+
/**
|
|
93
|
+
* **`assertWrite` devolvió un VEREDICTO** (2.4.0-alpha.3, cierre del 🟠 3 /
|
|
94
|
+
* 🟡 4 del auditor): `assertWrite: (ref) => allowed.has(ref.object.type)`
|
|
95
|
+
* compila bajo `--strict` (cualquier retorno es asignable a `void`) y hasta
|
|
96
|
+
* el cierre el `false` se IGNORABA y la escritura entraba — el mismo
|
|
97
|
+
* fail-open que H2, y más frecuente que el `async`. `assertWrite` no
|
|
98
|
+
* devuelve veredictos: LANZA o no lanza. Todo retorno distinto de
|
|
99
|
+
* `undefined` es 500 ANTES del driver — también un `true` (un veredicto
|
|
100
|
+
* positivo es el mismo error de modelo: quien lo escribió cree que el
|
|
101
|
+
* `false` deniega) y también una FUNCIÓN con `.then` (el thenable que no
|
|
102
|
+
* es `typeof 'object'` y esquivaba la guarda de H2).
|
|
103
|
+
*/
|
|
104
|
+
static assertWriteReturned(operation: string, result: unknown): AuthorizationConfigError;
|
|
105
|
+
}
|
|
106
|
+
/** Un thenable, sea objeto o FUNCIÓN con `.then` (la forma que esquivaba `typeof result === 'object'`). */
|
|
107
|
+
export declare function isThenable(value: unknown): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* **Marca de ESCRITURA PARCIAL** (invariante 13, `2.4.0-alpha.3`, cierre del
|
|
110
|
+
* 🟡 6 del auditor). Una escritura del puerto que NO es una sola sentencia ni
|
|
111
|
+
* un solo `Write` —la purga de `openfga`, que recorre ortografías × tipos con
|
|
112
|
+
* varios `Read`+`deleteTuples`— puede fallar DESPUÉS de haber borrado parte:
|
|
113
|
+
* ese fallo no es «esa escritura no ocurrió» (que es lo que un 503 no-timeout
|
|
114
|
+
* significa para una escritura atómica) sino «puede haber ocurrido», lo mismo
|
|
115
|
+
* que un deadline vencido. El driver marca el error con `markPartialWrite`
|
|
116
|
+
* antes de propagarlo, y el manager (`#write`) notifica `onRelationWrite` con
|
|
117
|
+
* `indeterminate: true` ANTES de propagar, exactamente como con
|
|
118
|
+
* `AuthorizationBackendTimeoutError`. La marca es una propiedad
|
|
119
|
+
* (`partialWrite: true`) y no una clase: el error que se propaga conserva su
|
|
120
|
+
* clase y su `code` (503 `E_AUTHZ_BACKEND_UNAVAILABLE`, 500
|
|
121
|
+
* `E_AUTHZ_PURGE_INCOMPLETE`…) — lo que cambia es solo la auditoría. Un driver
|
|
122
|
+
* de terceros cuya purga sea multi-request tiene el mismo deber.
|
|
123
|
+
*/
|
|
124
|
+
export declare function markPartialWrite<E extends object>(error: E): E & {
|
|
125
|
+
partialWrite: true;
|
|
126
|
+
};
|
|
127
|
+
/** ¿El error viene marcado como escritura parcial (`markPartialWrite`)? */
|
|
128
|
+
export declare function isPartialWrite(error: unknown): boolean;
|
|
81
129
|
/**
|
|
82
130
|
* Invariante interno del motor violado (una escritura sin scopes, un batchCheck
|
|
83
131
|
* incompleto). 500: es un bug del paquete o de quien lo extiende, no del
|
|
@@ -232,6 +280,23 @@ export declare class RoleIsNotAccessError extends Exception {
|
|
|
232
280
|
static code: string;
|
|
233
281
|
constructor(role: unknown);
|
|
234
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* `requeueScopeChanges` se NIEGA (2.4.0-alpha.5 · R2b): devolver la entrada
|
|
285
|
+
* aparcada a la cola reaplicaría un cambio ANTERIOR a otro ya APLICADO sobre
|
|
286
|
+
* la misma clave de scope — el árbol del store quedaría en un orden que
|
|
287
|
+
* nunca existió (auditor 🔴 2, medido: el `moved` viejo tras el nuevo deja
|
|
288
|
+
* el padre VIEJO con un solo padre, y nada lo delata). 500 y no 422: la
|
|
289
|
+
* pregunta está bien formada, es el estado de la cola el que la prohíbe; y
|
|
290
|
+
* nunca se reencola «lo que se pueda»: es todo o nada. `conflicts` es el
|
|
291
|
+
* diff —cada aparcada y las aplicadas posteriores que revertiría—; el
|
|
292
|
+
* comando lo imprime y solo `--force` (en el comando ace) lo salta.
|
|
293
|
+
*/
|
|
294
|
+
export declare class ScopeRequeueRefusedError extends Exception {
|
|
295
|
+
static status: number;
|
|
296
|
+
static code: string;
|
|
297
|
+
readonly conflicts: ScopeRequeueConflict[];
|
|
298
|
+
constructor(message: string, conflicts: ScopeRequeueConflict[]);
|
|
299
|
+
}
|
|
235
300
|
/**
|
|
236
301
|
* Colgar `child` de `parent` cerraría un ciclo (el padre desciende del hijo,
|
|
237
302
|
* o son el mismo). FGA no detecta ciclos de `parent`: los evalúa, y un grant
|
|
@@ -252,12 +317,17 @@ export declare class PurgeIncompleteError extends Exception {
|
|
|
252
317
|
static code: string;
|
|
253
318
|
}
|
|
254
319
|
/**
|
|
255
|
-
* `openfga
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
320
|
+
* Una escritura del driver `openfga` chocó una y otra vez con otra
|
|
321
|
+
* transacción sobre las MISMAS tuplas (3b-2f · R3). FGA responde
|
|
322
|
+
* `Aborted` (HTTP 409) cuando dos `Write` transaccionales tocan una tupla a
|
|
323
|
+
* la vez, y responde `write_failed_due_to_invalid_input` cuando la tupla ya
|
|
324
|
+
* existía: las dos dicen "otro escritor llegó antes", y el driver las trata
|
|
325
|
+
* releyendo y re-aplicando. Si tras varias vueltas el store sigue en
|
|
326
|
+
* conflicto, el llamante se entera con un **409** —el estado del destino no
|
|
327
|
+
* es el que esta escritura esperaba, y reintentar es lo correcto—, nunca con
|
|
328
|
+
* un 503 "el backend no respondió": respondió, y dijo exactamente qué pasa.
|
|
259
329
|
*/
|
|
260
|
-
export declare class
|
|
330
|
+
export declare class WriteConflictError extends Exception {
|
|
261
331
|
static status: number;
|
|
262
332
|
static code: string;
|
|
263
333
|
}
|
|
@@ -332,6 +402,39 @@ export declare class ScopeTooDeepError extends Exception {
|
|
|
332
402
|
static status: number;
|
|
333
403
|
static code: string;
|
|
334
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* `scopes.attached`/`scopes.moved` dejarían al hijo a más de `scopes.maxDepth`
|
|
407
|
+
* saltos de `app` (2.4.0-alpha.5 · R0; opt-in por config). 422 y no 500: la
|
|
408
|
+
* pregunta está bien formada, es el árbol el que no cabe en el techo que el
|
|
409
|
+
* dueño declaró — y se dice ANTES de escribir o encolar. Distinto de
|
|
410
|
+
* `E_AUTHZ_SCOPE_TOO_DEEP` (500): aquel es `hierarchicalScopeResolver` que no
|
|
411
|
+
* puede TERMINAR una cadena ya existente; este es una escritura que se niega.
|
|
412
|
+
*/
|
|
413
|
+
export declare class ScopeDepthLimitError extends Exception {
|
|
414
|
+
static status: number;
|
|
415
|
+
static code: string;
|
|
416
|
+
/**
|
|
417
|
+
* Para el OPERADOR, no para el tenant (2.4.0-alpha.8; panel relay 2,
|
|
418
|
+
* cuestión 7.2): el `message` de un 422 llega a quien hizo la petición, así
|
|
419
|
+
* que dice solo lo accionable para él (profundidad, `scopes.maxDepth`, «no
|
|
420
|
+
* se ha escrito ni encolado nada»). Por qué existe el techo —el modelo
|
|
421
|
+
* `facts` del driver `openfga` no resuelve de forma fiable más allá de
|
|
422
|
+
* `FACTS_MAX_RESOLVE_DEPTH`, y el mando del servidor es
|
|
423
|
+
* `OPENFGA_RESOLVE_NODE_LIMIT`— nombra el backend y va aquí, para el log.
|
|
424
|
+
*/
|
|
425
|
+
readonly details: {
|
|
426
|
+
depth: number;
|
|
427
|
+
maxDepth: number;
|
|
428
|
+
why: string;
|
|
429
|
+
server: string;
|
|
430
|
+
};
|
|
431
|
+
constructor(message: string, details: {
|
|
432
|
+
depth: number;
|
|
433
|
+
maxDepth: number;
|
|
434
|
+
why: string;
|
|
435
|
+
server: string;
|
|
436
|
+
});
|
|
437
|
+
}
|
|
335
438
|
/**
|
|
336
439
|
* Una primitiva de 2.1 necesita un método OPCIONAL del puerto que el driver
|
|
337
440
|
* activo no implementa (2.1, B5): se nombra el método y se lanza. 500 porque
|
|
@@ -342,6 +445,32 @@ export declare class UnsupportedOperationError extends Exception {
|
|
|
342
445
|
static status: number;
|
|
343
446
|
static code: string;
|
|
344
447
|
constructor(method: string, primitive: string, driver: string, hint?: string);
|
|
448
|
+
/**
|
|
449
|
+
* **Puerta 1 de `{ transaction }`** (L-2, panel `{trx}` (C)): la operación
|
|
450
|
+
* pidió escribir en la transacción del consumidor y el driver activo no
|
|
451
|
+
* declara `transactionalWrites: true`. 500 y no 422 por precedente
|
|
452
|
+
* (`membersOf`, `purgeRole`): no es una pregunta mal formada, es un
|
|
453
|
+
* despliegue que no casa con lo que se le pidió. La letra lleva la salida.
|
|
454
|
+
*/
|
|
455
|
+
static transactional(operation: string, driver: string, port: 'roles' | 'relations'): UnsupportedOperationError;
|
|
456
|
+
/**
|
|
457
|
+
* **El mismo rechazo, dicho por el DRIVER `openfga`** (L-5, defensa en
|
|
458
|
+
* profundidad como F-05 en L-0): `manager.driver()` es la salida documentada
|
|
459
|
+
* de las barreras y con `{ transaction }` entraría por aquí saltándose la
|
|
460
|
+
* puerta 1; el driver no puede intentar un `Write` que finja ir en la
|
|
461
|
+
* transacción del consumidor. Misma clase, mismo `code`, misma letra; la
|
|
462
|
+
* frase final dice que no hay salida por el driver — la alternativa que SÍ
|
|
463
|
+
* existe para el ÁRBOL es la outbox de scopes (encola en tu transacción);
|
|
464
|
+
* para HECHOS y relaciones no hay outbox (descartada por el panel `{trx}`:
|
|
465
|
+
* fail-open medido).
|
|
466
|
+
*/
|
|
467
|
+
static transactionalDriver(operation: string, driver: string, port: 'roles' | 'relations'): UnsupportedOperationError;
|
|
468
|
+
/**
|
|
469
|
+
* La API de delegación no admite `{ transaction }` (L-2, §1.4 del veredicto):
|
|
470
|
+
* escribe el catálogo por `withAuthzCatalogWrite`, que ES el serializador
|
|
471
|
+
* entre procesos (invariante 14); moverla al commit del consumidor lo anula.
|
|
472
|
+
*/
|
|
473
|
+
static transactionalCatalog(operation: string): UnsupportedOperationError;
|
|
345
474
|
}
|
|
346
475
|
/**
|
|
347
476
|
* Una vista de `forRequest()` se usó para LEER después de `maxAgeMs` (2D ·
|
|
@@ -363,4 +492,299 @@ export declare class NoDescendantsResolverError extends Exception {
|
|
|
363
492
|
static status: number;
|
|
364
493
|
static code: string;
|
|
365
494
|
}
|
|
495
|
+
/**
|
|
496
|
+
* `pruneOrphanRoles({ force: true })` iba a purgar una fracción del catálogo
|
|
497
|
+
* local que solo tiene sentido si el ÁRBOL se ha quedado ciego (3b-0b · AA2,
|
|
498
|
+
* auditor 3b-0): TODOS los owners distintos huérfanos, o más del 50 % de los
|
|
499
|
+
* roles locales. Esa es exactamente la firma de un `resolveChain` filtrado
|
|
500
|
+
* por el tenant de la petición —patrón normal en multi-tenant— o corriendo
|
|
501
|
+
* sin contexto (un comando, una réplica atrasada): devuelve `null` para
|
|
502
|
+
* todo, así que TODO rol local parece huérfano y una pasada con `--force` se
|
|
503
|
+
* lleva el catálogo local de todos los tenants. 500 y no 422 porque el
|
|
504
|
+
* error está en el despliegue, no en la pregunta; el barrido legítimo de una
|
|
505
|
+
* poda grande de verdad pasa con `allowMassPurge: true`
|
|
506
|
+
* (`--allow-mass-purge`), que es una decisión humana, no un default.
|
|
507
|
+
*/
|
|
508
|
+
export declare class MassPurgeRefusedError extends Exception {
|
|
509
|
+
static status: number;
|
|
510
|
+
static code: string;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Un `purgeRole` falló a mitad del barrido de `prune-orphans`.
|
|
514
|
+
*
|
|
515
|
+
* La purga NO es transaccional entre roles: cada `purgeRole` es atómico, pero
|
|
516
|
+
* si el tercero revienta, los dos primeros ya están borrados. El valor de
|
|
517
|
+
* retorno —que es donde vivía la lista— nunca llega a producirse, así que
|
|
518
|
+
* quien recoge el error necesita saber **qué se fue** y **qué queda**, o la
|
|
519
|
+
* frase del CHANGELOG es papel mojado (tester 3b-1 §6.2).
|
|
520
|
+
*
|
|
521
|
+
* Por eso este error lleva `purged` y `skipped` con la misma forma que el
|
|
522
|
+
* valor de retorno, y envuelve el error del driver como `cause` en vez de
|
|
523
|
+
* dejarlo escapar crudo: la abstracción no filtra.
|
|
524
|
+
*
|
|
525
|
+
* Recuperación: los `role_purged` ya notificados nombran lo mismo que
|
|
526
|
+
* `purged`, y la siguiente pasada recoge el resto (los huérfanos que quedan
|
|
527
|
+
* lo siguen siendo).
|
|
528
|
+
*/
|
|
529
|
+
export declare class PruneInterruptedError extends Exception {
|
|
530
|
+
readonly purged: ReadonlyArray<{
|
|
531
|
+
uuid: string;
|
|
532
|
+
slug: string;
|
|
533
|
+
scopeType: string;
|
|
534
|
+
owner: string;
|
|
535
|
+
}>;
|
|
536
|
+
readonly skipped: ReadonlyArray<{
|
|
537
|
+
role: {
|
|
538
|
+
uuid: string;
|
|
539
|
+
slug: string;
|
|
540
|
+
scopeType: string;
|
|
541
|
+
owner: string;
|
|
542
|
+
};
|
|
543
|
+
reason: string;
|
|
544
|
+
}>;
|
|
545
|
+
static status: number;
|
|
546
|
+
static code: string;
|
|
547
|
+
constructor(message: string, purged: ReadonlyArray<{
|
|
548
|
+
uuid: string;
|
|
549
|
+
slug: string;
|
|
550
|
+
scopeType: string;
|
|
551
|
+
owner: string;
|
|
552
|
+
}>, skipped: ReadonlyArray<{
|
|
553
|
+
role: {
|
|
554
|
+
uuid: string;
|
|
555
|
+
slug: string;
|
|
556
|
+
scopeType: string;
|
|
557
|
+
owner: string;
|
|
558
|
+
};
|
|
559
|
+
reason: string;
|
|
560
|
+
}>, options?: ErrorOptions);
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* `readLocalRoles()` (el barrido de `prune-orphans`) encontró más roles
|
|
564
|
+
* locales que su cota `maxLocalRoles` (3b-0b · AB2, auditor 3b-0 ⚪): la
|
|
565
|
+
* lectura es UNA consulta sin `LIMIT`, así que un catálogo local enorme la
|
|
566
|
+
* convierte en amplificación. 500 y nunca una lista parcial —truncar aquí
|
|
567
|
+
* sería decidir a ciegas qué se purga—: se sube la cota a sabiendas.
|
|
568
|
+
*/
|
|
569
|
+
export declare class TooManyLocalRolesError extends Exception {
|
|
570
|
+
static status: number;
|
|
571
|
+
static code: string;
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* El catálogo no cabe en un authorization model de OpenFGA (3b-2a · A3): el
|
|
575
|
+
* modo `facts` publica cada permiso como cuatro relaciones del modelo y el
|
|
576
|
+
* servidor tiene un techo de 262.144 bytes. **Cuántos permisos son esos bytes
|
|
577
|
+
* depende de tu catálogo** (3b-4 · C3): ~450 con slugs realistas
|
|
578
|
+
* (`recurso:accion`) y tres holder types, 691 si los permisos se llaman
|
|
579
|
+
* `p0`…`pN`, 272 con slugs de 40 caracteres. La tabla y de qué depende están
|
|
580
|
+
* en `FACTS_MODEL_MAX_BYTES`; el mensaje del error dice los bytes REALES y
|
|
581
|
+
* cuántos permisos tenía el catálogo que se intentó publicar.
|
|
582
|
+
* Se comprueba en `syncAuthzCatalog` ANTES de escribir: si se escribiera
|
|
583
|
+
* primero, el catálogo quedaría en la base sin poder proyectarse nunca y el
|
|
584
|
+
* store sin poder regenerarse. 500 porque es config de despliegue —el techo
|
|
585
|
+
* del servidor es del pliego de infraestructura—, no una pregunta inválida.
|
|
586
|
+
*/
|
|
587
|
+
export declare class ModelTooLargeError extends Exception {
|
|
588
|
+
static status: number;
|
|
589
|
+
static code: string;
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* La config de relaciones ReBAC (Fase 4) no se puede FUSIONAR en el modelo
|
|
593
|
+
* `facts`. Es 422 (pregunta inválida del que declara la config), no 500: un
|
|
594
|
+
* tipo de objeto de relaciones que duplica un tipo o una familia de
|
|
595
|
+
* relaciones reservados del modelo `facts` (`scope`/`role`/`role_binding`/
|
|
596
|
+
* `deny_binding`/`group`, o `can_<P>`/`permits_<P>`/`denied_<P>`/`assignee`/
|
|
597
|
+
* `parent`/`rooted`), o una relación cuyo nombre choca con un permiso del
|
|
598
|
+
* catálogo (F-04), invalidaría el modelo compartido. Lo detecta el GENERADOR y
|
|
599
|
+
* lanza el PAQUETE —nunca el 400 opaco del servidor—, porque en el store
|
|
600
|
+
* compartido los ids de `facts` y los de relaciones viven en el mismo espacio
|
|
601
|
+
* (⚪4 del auditor, cierre por construcción del 🔴).
|
|
602
|
+
*/
|
|
603
|
+
export declare class RelationConfigError extends Exception {
|
|
604
|
+
static status: number;
|
|
605
|
+
static code: string;
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* El árbol materializado del store no es un árbol (3b-2b, cruce 8). El
|
|
609
|
+
* paquete escribe UNA arista `scope:<hijo>#parent@scope:<padre>` por nodo y
|
|
610
|
+
* la sustituye entera en cada `moved`, así que encontrar dos padres para el
|
|
611
|
+
* mismo scope significa que alguien MÁS está escribiendo ahí. No se
|
|
612
|
+
* "arregla": con dos padres la herencia ya está trayendo hechos de otra rama
|
|
613
|
+
* y elegir uno de los dos sería adivinar cuál de las dos concesiones vivas es
|
|
614
|
+
* la buena. 500 y se denuncia; lo reconstruye `authz:reconcile`.
|
|
615
|
+
*/
|
|
616
|
+
export declare class ScopeTreeDriftError extends Exception {
|
|
617
|
+
static status: number;
|
|
618
|
+
static code: string;
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* El motor está CONGELADO por una operación de plataforma (`authz:reconcile`
|
|
622
|
+
* o la ventana de cutover de `authz:freeze`).
|
|
623
|
+
*
|
|
624
|
+
* Desde 3b-7 el freeze es DURABLE (la fila `id = 2` de
|
|
625
|
+
* `authz_catalog_version`): mientras está vivo, las ESCRITURAS del manager
|
|
626
|
+
* (`grant`/`revoke`/`deny`/`removeDeny`, las tres `scopes.*`, la API de
|
|
627
|
+
* delegación, el barrido de huérfanos y el relay) responden con este 503 **en
|
|
628
|
+
* todos los procesos que comparten esas tablas**, y las LECTURAS siguen
|
|
629
|
+
* funcionando: una migración que copia hechos de un backend a otro no puede
|
|
630
|
+
* competir con quien los está escribiendo —lo que entre entre la lectura del
|
|
631
|
+
* origen y la escritura del destino se pierde sin que nadie lo cuente— y
|
|
632
|
+
* dejar de leer sería tirar la aplicación entera por una operación de
|
|
633
|
+
* plataforma.
|
|
634
|
+
*
|
|
635
|
+
* **503 y REINTENTABLE** (`retryable: true`): no es una pregunta inválida ni
|
|
636
|
+
* un fallo del backend, es una ventana de mantenimiento acotada (por el
|
|
637
|
+
* lease, o por el `authz:unfreeze` del operador). El llamante puede
|
|
638
|
+
* reintentar tal cual; un 409 diría «tu estado no es el que esperaba» y un
|
|
639
|
+
* 422 «no vuelvas a intentarlo», y ninguna de las dos es cierta aquí.
|
|
640
|
+
*/
|
|
641
|
+
export declare class AuthorizationFrozenError extends Exception {
|
|
642
|
+
static status: number;
|
|
643
|
+
static code: string;
|
|
644
|
+
/** Reintentar tal cual es lo correcto en cuanto termine la ventana. */
|
|
645
|
+
readonly retryable = true;
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Ya hay un freeze VIVO de otro dueño (3b-7, auditor A1.3).
|
|
649
|
+
*
|
|
650
|
+
* `freeze()` no puede ser idempotente entre procesos: dos `authz:reconcile`
|
|
651
|
+
* simultáneos que compartieran la fila se levantarían la barrera el uno al
|
|
652
|
+
* otro al terminar el primero — dos pasadas pisándose con el README diciendo
|
|
653
|
+
* que no puede pasar. El segundo dueño recibe este 423 con el motivo y el
|
|
654
|
+
* holder del freeze vivo; la excepción a propósito es el freeze de OPERADOR,
|
|
655
|
+
* que `reconcile` reconoce como su propio contexto (el cutover, F6) en vez
|
|
656
|
+
* de chocar con él.
|
|
657
|
+
*/
|
|
658
|
+
export declare class FreezeHeldError extends Exception {
|
|
659
|
+
static status: number;
|
|
660
|
+
static code: string;
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* `authz:reconcile --prune` iba a borrar hechos del destino con un ORIGEN
|
|
664
|
+
* VACÍO (3b-3a; mismo patrón que `E_AUTHZ_MASS_PURGE_REFUSED`, 3b-0b · AA2).
|
|
665
|
+
*
|
|
666
|
+
* `--to=openfga` hace del store un espejo de `authz_assignments`/
|
|
667
|
+
* `authz_denies`, así que un origen sin una sola fila de hechos y un destino
|
|
668
|
+
* lleno significa casi siempre que **los hechos los está escribiendo el otro
|
|
669
|
+
* driver** (el store ES la fuente cuando `openfga` está activo) o que la
|
|
670
|
+
* conexión mira a la base equivocada. Con `--prune` eso se lleva por delante
|
|
671
|
+
* todo lo concedido, y sin manera de reconstruirlo. 500 antes de escribir
|
|
672
|
+
* nada, `allowMassDelete: true` (`--allow-mass-delete`) es la decisión
|
|
673
|
+
* humana, y `--dry-run` no lanza: lo marca en el reporte.
|
|
674
|
+
*/
|
|
675
|
+
export declare class MassReconcileRefusedError extends Exception {
|
|
676
|
+
static status: number;
|
|
677
|
+
static code: string;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Una operación iba a tomar el freeze y encontró la ventana del OPERADOR
|
|
681
|
+
* CADUCADA (2.4.0-alpha.10, S2 de la auditoría de sistema): motivo puesto,
|
|
682
|
+
* holder `operator:` y `untilMs` en el pasado. Hasta alpha.9 `acquireFreeze`
|
|
683
|
+
* pisaba esa fila en silencio —un lease vencido no bloquea la toma—, la pasada
|
|
684
|
+
* se certificaba con SU ventana de 15 s y al soltarla dejaba la fila a `NULL`:
|
|
685
|
+
* el último rastro de que la flota volvió a escribir a mitad del cutover lo
|
|
686
|
+
* borraba una pasada ajena, y `authz:unfreeze` decía «nada que levantar». 503
|
|
687
|
+
* antes de tomar nada; la salida es reconocerla con `authz:unfreeze` (que dice
|
|
688
|
+
* cuándo venció y limpia la fila) y reabrir la ventana con `authz:freeze`. La
|
|
689
|
+
* exclusión va DENTRO del `UPDATE` de `acquireFreezeOutcome` (cierre del
|
|
690
|
+
* auditor · R2): comprobar fuera y tomar después era un TOCTOU.
|
|
691
|
+
*/
|
|
692
|
+
export declare class OperatorWindowExpiredError extends Exception {
|
|
693
|
+
static status: number;
|
|
694
|
+
static code: string;
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* `authz:reconcile --to=<driver ACTIVO> --from=<otro>`: la DIRECCIÓN RANCIA
|
|
698
|
+
* (2.4.0-alpha.10, 🔴 4 del sexto informe de COGNITIV; decisión del dueño del
|
|
699
|
+
* 2026-09-13 (4)).
|
|
700
|
+
*
|
|
701
|
+
* La regla 3b-5 dice que con `--from` manda el operador — **salvo hacia el
|
|
702
|
+
* driver activo**. Si el motor ya sirve desde `to`, sus hechos se escriben
|
|
703
|
+
* ahí desde el cutover y el origen dejó de verlos: con `openfga` activo,
|
|
704
|
+
* `--from=database` lee `authz_*` congeladas y re-escribe en el store vivo los
|
|
705
|
+
* roles revocados después, con o sin `--prune` (y el seguro de borrado masivo
|
|
706
|
+
* no salta: el origen no está vacío). 500 en el MANAGER —la API es la puerta,
|
|
707
|
+
* no el comando— antes de construir el origen, leer nada o congelar;
|
|
708
|
+
* `allowStaleSource: true` (`--allow-stale-source`) es la decisión humana y
|
|
709
|
+
* `dryRun` no lanza: lo marca en `report.staleSource`. Simétrico al seguro de
|
|
710
|
+
* `E_AUTHZ_MASS_PURGE_REFUSED`. El gemelo de relaciones lo lanza
|
|
711
|
+
* `runRelationsReconcile` (la única vía pública desde el cierre del auditor),
|
|
712
|
+
* juzgando el driver RESUELTO por su factory: un alias del activo también se
|
|
713
|
+
* niega. Límite declarado: «activo» es el `config.default` del PROCESO que corre
|
|
714
|
+
* la pasada (sello durable del driver activo: roadmap 2.5).
|
|
715
|
+
*/
|
|
716
|
+
export declare class StaleSourceRefusedError extends Exception {
|
|
717
|
+
static status: number;
|
|
718
|
+
static code: string;
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* **El volcado del destino no cabe en la cota declarada** (3b-3b · B5).
|
|
722
|
+
*
|
|
723
|
+
* Reconciliar exige comparar contra el estado ENTERO del destino: sin esa
|
|
724
|
+
* foto no se puede saber qué sobra, y «lo que sobra» es la mitad del trabajo
|
|
725
|
+
* (las aristas que el consumidor ya no respalda, el nodo con dos padres, la
|
|
726
|
+
* basura de una versión anterior). El ORIGEN sí se lee por lotes con cursor;
|
|
727
|
+
* el destino no, y por eso hay una cota.
|
|
728
|
+
*
|
|
729
|
+
* Se declara en vez de esconderse: por encima de `maxTuples` la pasada se
|
|
730
|
+
* niega **antes de escribir nada**, con la cifra y la salida (subir la cota,
|
|
731
|
+
* o migrar por particiones, que hoy el paquete NO trae). Un OOM a mitad de
|
|
732
|
+
* migración deja el destino con las escrituras de MENOS que ya se aplicaron
|
|
733
|
+
* y sin reporte; esto no deja nada.
|
|
734
|
+
*/
|
|
735
|
+
export declare class ReconcileTooLargeError extends Exception {
|
|
736
|
+
static status: number;
|
|
737
|
+
static code: string;
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* El driver se ha pedido en `hierarchy: 'facts'` —el árbol vive en el store
|
|
741
|
+
* de FGA— sin `scopes.outbox` y sin aceptar el riesgo por escrito (3b-2d,
|
|
742
|
+
* cruce 4 · S5). En ese montaje el paquete escribe la arista en FGA dentro
|
|
743
|
+
* de la transacción del consumidor y un `rollback` posterior NO la deshace:
|
|
744
|
+
* SQL dice un padre y FGA otro, FGA es quien decide, y la aplicación —que
|
|
745
|
+
* lista y audita contra SQL— no puede ver la escalada. No es un mal uso: el
|
|
746
|
+
* uso correcto fuga, sin crash, con un simple rollback.
|
|
747
|
+
*
|
|
748
|
+
* 500 y al construir, no al escribir: un puerto opcional que nadie declara
|
|
749
|
+
* no mitiga nada, y descubrirlo en la primera escritura de un tenant es
|
|
750
|
+
* tarde. `acceptScopeDriftRisk: true` es la salida explícita para quien
|
|
751
|
+
* mueve el árbol solo desde la plataforma y lo asume por escrito.
|
|
752
|
+
*/
|
|
753
|
+
export declare class ScopeDriftUnguardedError extends Exception {
|
|
754
|
+
static status: number;
|
|
755
|
+
static code: string;
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* **F-05, la frontera de ESCRITURA de relaciones (Fase 4, cierre del 🔴 del
|
|
759
|
+
* auditor).** `relate`/`unrelate` recibieron un `object.type` que NO está
|
|
760
|
+
* declarado en `defineRelationsConfig`. Es 422 ANTES de tocar el driver: en el
|
|
761
|
+
* store COMPARTIDO los tipos de `facts` (`role_binding`, `scope`, `role`)
|
|
762
|
+
* viven en el MISMO espacio de ids, y la composición
|
|
763
|
+
* `<type>:<scopeKey(partition)>|<id>` reproduce byte a byte el id de un
|
|
764
|
+
* `role_binding` real. Sin este corte, `relate(evil, assignee,
|
|
765
|
+
* {type:'role_binding', id:<roleUuid>}, S)` escribía la tupla del binding y
|
|
766
|
+
* `check(evil, can_<P>, S)` devolvía `true` (escalada a `roles.authorize`,
|
|
767
|
+
* medida por el auditor). Junto con ⚪4 (un tipo reservado no se puede
|
|
768
|
+
* declarar) la colisión deja de existir en vez de vigilarse. **Desde L-0 el
|
|
769
|
+
* mismo 422 lo lanzan también los dos drivers** en `relate`/`unrelate`, antes
|
|
770
|
+
* de tocar el backend (`assertRelationDeclared`, una sola función): el
|
|
771
|
+
* manager cortaba, pero `manager.driver()` y `reconcileRelations` entran por
|
|
772
|
+
* el driver y la escalada seguía abierta por ahí (panel `{trx}`, 🔴 2).
|
|
773
|
+
*/
|
|
774
|
+
export declare class RelationTypeUnknownError extends Exception {
|
|
775
|
+
static status: number;
|
|
776
|
+
static code: string;
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* **F-05, cara de la RELACIÓN.** El `object.type` está declarado, pero la
|
|
780
|
+
* `relation` no es una de las suyas en `defineRelationsConfig`. Mismo 422
|
|
781
|
+
* antes de tocar el driver —y, desde L-0, también en el driver antes de tocar
|
|
782
|
+
* el backend—: una relación no declarada podría, en un futuro modelo, mapear a
|
|
783
|
+
* una relación propia de `facts` (hoy `document#assignee` en `openfga` salía
|
|
784
|
+
* como un 503 mal clasificado del servidor).
|
|
785
|
+
*/
|
|
786
|
+
export declare class RelationUnknownError extends Exception {
|
|
787
|
+
static status: number;
|
|
788
|
+
static code: string;
|
|
789
|
+
}
|
|
366
790
|
//# 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;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|