From 422c1299e7706c1ae74047a343dda1538f6286ed Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Mon, 1 Jun 2026 20:24:55 -0400 Subject: [PATCH] test: Allow manual skill sync status tenant scoping --- .../src/models/plugins/tenantIsolation.coverage.spec.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/data-schemas/src/models/plugins/tenantIsolation.coverage.spec.ts b/packages/data-schemas/src/models/plugins/tenantIsolation.coverage.spec.ts index 13b7af41c2..61708666f1 100644 --- a/packages/data-schemas/src/models/plugins/tenantIsolation.coverage.spec.ts +++ b/packages/data-schemas/src/models/plugins/tenantIsolation.coverage.spec.ts @@ -11,10 +11,12 @@ const TENANT_ISOLATION_APPLIED = Symbol.for('librechat:tenantIsolation'); /** * Models that carry a `tenantId` field but intentionally do NOT use the * tenant-isolation plugin. SystemGrant scopes tenancy manually inside its - * methods (see models/systemGrant). Adding an entry here must be a deliberate, - * reviewed decision — that is the whole point of this guard. + * methods (see models/systemGrant). SkillSyncStatus stores both app-wide YAML + * status rows and tenant-scoped override rows, so its methods apply explicit + * tenant filters instead of ambient ALS scoping. Adding an entry here must be a + * deliberate, reviewed decision — that is the whole point of this guard. */ -const MANUAL_TENANT_SCOPING = new Set(['SystemGrant']); +const MANUAL_TENANT_SCOPING = new Set(['SystemGrant', 'SkillSyncStatus']); function isPluginApplied(schema: mongoose.Schema): boolean { return (schema as unknown as { [key: symbol]: boolean })[TENANT_ISOLATION_APPLIED] === true;