@authup/access 1.0.0-beta.50 → 1.0.0-beta.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/index.d.mts +141 -18
  2. package/dist/index.d.mts.map +1 -1
  3. package/dist/index.mjs +252 -47
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/permission/evaluator/module.d.ts +2 -2
  6. package/dist/permission/evaluator/module.d.ts.map +1 -1
  7. package/dist/permission/evaluator/types.d.ts +1 -1
  8. package/dist/permission/evaluator/types.d.ts.map +1 -1
  9. package/dist/permission/helpers/aggregate.d.ts +10 -0
  10. package/dist/permission/helpers/aggregate.d.ts.map +1 -0
  11. package/dist/permission/helpers/equal.d.ts +6 -2
  12. package/dist/permission/helpers/equal.d.ts.map +1 -1
  13. package/dist/permission/helpers/grant.d.ts +9 -0
  14. package/dist/permission/helpers/grant.d.ts.map +1 -0
  15. package/dist/permission/helpers/index.d.ts +2 -1
  16. package/dist/permission/helpers/index.d.ts.map +1 -1
  17. package/dist/permission/index.d.ts +1 -0
  18. package/dist/permission/index.d.ts.map +1 -1
  19. package/dist/permission/provider/memory.d.ts +3 -3
  20. package/dist/permission/provider/memory.d.ts.map +1 -1
  21. package/dist/permission/provider/types.d.ts +2 -2
  22. package/dist/permission/provider/types.d.ts.map +1 -1
  23. package/dist/permission/realm-scope/constants.d.ts +20 -0
  24. package/dist/permission/realm-scope/constants.d.ts.map +1 -0
  25. package/dist/permission/realm-scope/helpers.d.ts +23 -0
  26. package/dist/permission/realm-scope/helpers.d.ts.map +1 -0
  27. package/dist/permission/realm-scope/index.d.ts +3 -0
  28. package/dist/permission/realm-scope/index.d.ts.map +1 -0
  29. package/dist/permission/types.d.ts +37 -0
  30. package/dist/permission/types.d.ts.map +1 -1
  31. package/dist/policy/built-in/constants.d.ts +0 -2
  32. package/dist/policy/built-in/constants.d.ts.map +1 -1
  33. package/dist/policy/built-in/realm-match/evaluator.d.ts.map +1 -1
  34. package/dist/policy/built-in/realm-match/types.d.ts +6 -3
  35. package/dist/policy/built-in/realm-match/types.d.ts.map +1 -1
  36. package/dist/policy/built-in/realm-match/validator.d.ts.map +1 -1
  37. package/dist/policy/index.d.ts +1 -0
  38. package/dist/policy/index.d.ts.map +1 -1
  39. package/dist/policy/input.d.ts +26 -0
  40. package/dist/policy/input.d.ts.map +1 -0
  41. package/package.json +6 -10
  42. package/dist/permission/helpers/merge.d.ts +0 -3
  43. package/dist/permission/helpers/merge.d.ts.map +0 -1
package/dist/index.d.mts CHANGED
@@ -2,7 +2,6 @@ import { AuthupError, AuthupErrorOptions } from "@authup/errors";
2
2
  import { DecisionStrategy } from "@authup/kit";
3
3
  import { Container, Issue, IssueGroup, IssueItem } from "validup";
4
4
  import { MongoQuery } from "@ucast/mongo2js";
5
-
6
5
  //#region src/policy/data.d.ts
7
6
  interface IPolicyData {
8
7
  set(key: string, value: unknown): void;
@@ -286,6 +285,50 @@ declare class PermissionBindingPolicyEvaluator implements IPolicyEvaluator {
286
285
  evaluate(value: Record<string, any>): Promise<PolicyEvaluationResult>;
287
286
  }
288
287
  //#endregion
288
+ //#region src/permission/realm-scope/constants.d.ts
289
+ /**
290
+ * Actor-relative realm reach of a permission grant.
291
+ *
292
+ * Total order (least -> most permissive): none < own < ownOrNull < any.
293
+ * A missing/unknown column coerces to `own` (fail-closed); `none` is only ever an
294
+ * explicit value (the grant reaches no realm at all).
295
+ */
296
+ declare enum RealmScope {
297
+ /** No reach — the grant matches no resource realm. */
298
+ NONE = "none",
299
+ /** Own realm only — resource realm must equal the actor's realm. */
300
+ OWN = "own",
301
+ /** Own realm or null/global resources (realm_id === null). */
302
+ OWN_OR_NULL = "ownOrNull",
303
+ /** Any realm, including null/global. */
304
+ ANY = "any"
305
+ }
306
+ /** Numeric restrictiveness order — internal to the fold/compare helpers. */
307
+ declare const REALM_SCOPE_ORDER: Record<`${RealmScope}`, number>;
308
+ //#endregion
309
+ //#region src/permission/realm-scope/helpers.d.ts
310
+ /**
311
+ * Coerce an arbitrary value to a RealmScope, defaulting to `own` for missing /
312
+ * null / unknown input (fail-closed). `none` is honoured only when explicit.
313
+ */
314
+ declare function normalizeRealmScope(value?: `${RealmScope}` | null): `${RealmScope}`;
315
+ /**
316
+ * Numeric comparison of two realm scopes by restrictiveness.
317
+ * Negative when `a` is more restrictive than `b`, positive when less.
318
+ */
319
+ declare function compareRealmScope(a?: `${RealmScope}` | null, b?: `${RealmScope}` | null): number;
320
+ /** Fold scopes to the MOST permissive (ordered max). Empty folds to `own`. */
321
+ declare function maxRealmScope(values: Array<`${RealmScope}` | null | undefined>): `${RealmScope}`;
322
+ /** Fold scopes to the MORE restrictive (ordered min) — used to CAP a grant. Empty folds to `own`. */
323
+ declare function minRealmScope(values: Array<`${RealmScope}` | null | undefined>): `${RealmScope}`;
324
+ /**
325
+ * Whether `scope` reaches the resource. The resource realm may be presented as a single
326
+ * id, `null` (global), or an array of realm ids — the array form (a resource that spans
327
+ * multiple realms) requires the scope to reach EVERY listed realm (unanimous, fail-closed),
328
+ * so any app/entity can express its realm via one or many keys under the canonical contract.
329
+ */
330
+ declare function realmScopeMatches(scope: `${RealmScope}` | null | undefined, resourceRealmId: string | string[] | null | undefined, identityRealmId: string | null | undefined, identityRealmName?: string | null): boolean;
331
+ //#endregion
289
332
  //#region src/policy/built-in/realm-match/types.d.ts
290
333
  interface RealmMatchPolicy extends BasePolicy {
291
334
  /**
@@ -307,10 +350,12 @@ interface RealmMatchPolicy extends BasePolicy {
307
350
  */
308
351
  attribute_null_match_all?: boolean;
309
352
  /**
310
- * Specifies whether the master realm of an identity should match all realm-id/name attributes, including null.
311
- * If true, the master realm can access any resource regardless of its realm value.
353
+ * Coarse, actor-relative realm reach (none/own/ownOrNull/any). When set, the evaluator
354
+ * runs in SCOPE MODE: it matches the resource realm read from the REALM_MATCH data key
355
+ * against the identity realm via `realmScopeMatches`, and ignores `attribute_name` /
356
+ * `attribute_null_match_all`. With no REALM_MATCH key present it neutral-passes.
312
357
  */
313
- identity_master_match_all?: boolean;
358
+ scope?: `${RealmScope}`;
314
359
  }
315
360
  //#endregion
316
361
  //#region src/policy/built-in/realm-match/validator.d.ts
@@ -420,8 +465,6 @@ declare const SystemPolicyName: {
420
465
  readonly IDENTITY: "system.identity";
421
466
  readonly PERMISSION_BINDING: "system.permission-binding";
422
467
  readonly REALM_MATCH: "system.realm-match";
423
- readonly REALM_BOUND: "system.realm-bound";
424
- readonly REALM_OR_GLOBAL: "system.realm-or-global";
425
468
  readonly CLIENT_NAMES_SELF_MANAGE: "system.client-names-self-manage";
426
469
  readonly ROBOT_NAMES_SELF_MANAGE: "system.robot-names-self-manage";
427
470
  readonly USER_NAMES_SELF_MANAGE: "system.user-names-self-manage";
@@ -437,10 +480,10 @@ type BuiltInPolicyTypeMapRaw<T extends Record<string, any> = Record<string, any>
437
480
  [BuiltInPolicyType.IDENTITY]: IdentityPolicy;
438
481
  [BuiltInPolicyType.PERMISSION_BINDING]: PermissionBindingPolicy;
439
482
  };
440
- type BuiltInPolicyTypeMap<T extends Record<string, any> = Record<string, any>> = { [K in keyof BuiltInPolicyTypeMapRaw<T> as `${K}`]: BuiltInPolicyTypeMapRaw<T>[K] };
483
+ type BuiltInPolicyTypeMap<T extends Record<string, any> = Record<string, any>> = { [K in keyof BuiltInPolicyTypeMapRaw<T> as `${K}`]: BuiltInPolicyTypeMapRaw<T>[K]; };
441
484
  type BuiltInPolicies<T extends Record<string, any> = Record<string, any>> = { [K in keyof BuiltInPolicyTypeMap<T>]: BuiltInPolicyTypeMap<T>[K] & {
442
485
  type: K;
443
- } }[keyof BuiltInPolicyTypeMap];
486
+ }; }[keyof BuiltInPolicyTypeMap];
444
487
  //#endregion
445
488
  //#region src/policy/built-in/define.d.ts
446
489
  declare function definePolicyWithType<K extends keyof BuiltInPolicyTypeMap, D extends BuiltInPolicyTypeMap<any>[K]>(type: K, data: D): PolicyWithType<D, K>;
@@ -457,6 +500,30 @@ declare const PolicyDefaultEvaluators: {
457
500
  readonly time: TimePolicyEvaluator;
458
501
  };
459
502
  //#endregion
503
+ //#region src/policy/input.d.ts
504
+ /**
505
+ * Typed seed for a permission evaluation's {@link PolicyData} bag.
506
+ *
507
+ * The well-known context keys are value-typed, so construction is discoverable and a
508
+ * wrong-typed value is a compile error. The trailing index signature keeps the bag **open** —
509
+ * a third-party evaluator may supply its own key without any change to this published type
510
+ * (the `access` evaluator set is deliberately extensible).
511
+ */
512
+ interface PolicyInput {
513
+ [BuiltInPolicyType.IDENTITY]?: IdentityPolicyData;
514
+ [BuiltInPolicyType.ATTRIBUTES]?: Record<string, any>;
515
+ [BuiltInPolicyType.REALM_MATCH]?: string | string[] | null;
516
+ [key: string]: any;
517
+ }
518
+ /**
519
+ * Build a {@link PolicyData} bag from a typed {@link PolicyInput} seed. Well-known keys
520
+ * (identity / attributes / realmMatch) are type-checked; unknown keys are accepted as-is.
521
+ *
522
+ * Prefer this over `new PolicyData({ ... })` at construction sites so the key vocabulary and
523
+ * per-key value types live in one place.
524
+ */
525
+ declare function definePolicyData(input?: PolicyInput): PolicyData;
526
+ //#endregion
460
527
  //#region src/permission/error/module.d.ts
461
528
  declare const PERMISSION_ERROR_INSTANCE: unique symbol;
462
529
  declare class PermissionError extends AuthupError {
@@ -479,20 +546,76 @@ type BasePermission = {
479
546
  realm_id?: string | null;
480
547
  decision_strategy?: `${DecisionStrategy}` | null;
481
548
  };
549
+ /**
550
+ * A raw permission grant: one permission with its policies and realm reach, as loaded from a
551
+ * role/identity junction. `aggregatePermissionPolicyBindings` groups these per permission into
552
+ * a `PermissionPolicyBindingAggregated` (the lossless disjunction of grants).
553
+ */
482
554
  type PermissionPolicyBinding = {
483
555
  permission: BasePermission;
484
556
  policies?: BasePolicy[];
557
+ /**
558
+ * Relative realm reach of this grant (none/own/ownOrNull/any). Absent coerces to the
559
+ * most restrictive `own` (fail-closed). NOT part of the binding identity key
560
+ * (see isPermissionPolicyBindingEqual).
561
+ */
562
+ realm_scope?: `${RealmScope}`;
563
+ };
564
+ /**
565
+ * One disjunction term of an aggregated binding: a single grant's realm reach paired with its
566
+ * own (single) policy. A disjunction-aware consumer ORs `realmScopeMatches(realm_scope) ∧ policy`
567
+ * across the grants of a permission.
568
+ */
569
+ type PermissionGrant = {
570
+ /** Relative realm reach (none/own/ownOrNull/any), normalized — fail-closed default `own`. */
571
+ realm_scope: `${RealmScope}`;
572
+ /**
573
+ * The grant's policy: the raw junction policy (its `id` preserved, for propagation) for a
574
+ * single-policy grant, a composite for a multi-policy (Layer-1) binding, or `undefined`
575
+ * when the grant carries no restriction.
576
+ */
577
+ policy?: BasePolicy;
578
+ };
579
+ /**
580
+ * A permission together with the actor's disjunction of grants for it. Output of
581
+ * `aggregatePermissionPolicyBindings` — the honest, lossless replacement for the collapsed
582
+ * `PermissionPolicyBinding` (no top-level realm_scope/policies; the access decision is the
583
+ * OR over `grants`).
584
+ */
585
+ type PermissionPolicyBindingAggregated = {
586
+ permission: BasePermission;
587
+ grants: PermissionGrant[];
485
588
  };
486
589
  //#endregion
590
+ //#region src/permission/helpers/aggregate.d.ts
591
+ /**
592
+ * Group raw permission-policy bindings by permission key into the actor's disjunction of
593
+ * `(realm_scope, policy)` grants per permission — with NO lossy collapse. Every consumer
594
+ * (the binding evaluator, isSuperset, junction propagation, the memory provider) evaluates the
595
+ * grant disjunction directly, so each grant's realm reach stays paired with the policy that
596
+ * gates it.
597
+ */
598
+ declare function aggregatePermissionPolicyBindings(input: PermissionPolicyBinding[]): PermissionPolicyBindingAggregated[];
599
+ //#endregion
487
600
  //#region src/permission/helpers/equal.d.ts
488
- declare function isPermissionPolicyBindingEqual(a: PermissionPolicyBinding, b: PermissionPolicyBinding): boolean;
601
+ declare function isPermissionPolicyBindingEqual(a: {
602
+ permission: BasePermission;
603
+ }, b: {
604
+ permission: BasePermission;
605
+ }): boolean;
606
+ //#endregion
607
+ //#region src/permission/helpers/grant.d.ts
608
+ /**
609
+ * Whether the actor's `parent` grant covers the target's `child` grant: it reaches at least as
610
+ * far (ordered none < own < ownOrNull < any) AND its policy provably covers the child's
611
+ * (see `policyDominates`). Used per grant by `isSuperset` over the aggregated disjunction —
612
+ * every child grant must be dominated by SOME parent grant.
613
+ */
614
+ declare function grantDominates(parent: PermissionGrant, child: PermissionGrant): boolean;
489
615
  //#endregion
490
616
  //#region src/permission/helpers/key.d.ts
491
617
  declare function buildPermissionKey(input: BasePermission): string;
492
618
  //#endregion
493
- //#region src/permission/helpers/merge.d.ts
494
- declare function mergePermissionPolicyBindings(input: PermissionPolicyBinding[]): PermissionPolicyBinding[];
495
- //#endregion
496
619
  //#region src/permission/provider/types.d.ts
497
620
  type PermissionGetOptions = {
498
621
  name: string;
@@ -500,14 +623,14 @@ type PermissionGetOptions = {
500
623
  realmId?: string | null;
501
624
  };
502
625
  interface IPermissionProvider {
503
- findOne(criteria: PermissionGetOptions): Promise<PermissionPolicyBinding | null>;
626
+ findOne(criteria: PermissionGetOptions): Promise<PermissionPolicyBindingAggregated | null>;
504
627
  }
505
628
  //#endregion
506
629
  //#region src/permission/provider/memory.d.ts
507
630
  declare class PermissionMemoryProvider implements IPermissionProvider {
508
- protected items: Record<string, PermissionPolicyBinding>;
631
+ protected items: Record<string, PermissionPolicyBindingAggregated>;
509
632
  constructor(items?: PermissionPolicyBinding[]);
510
- findOne(options: PermissionGetOptions): Promise<PermissionPolicyBinding | null>;
633
+ findOne(options: PermissionGetOptions): Promise<PermissionPolicyBindingAggregated | null>;
511
634
  setMany(input: PermissionPolicyBinding[]): void;
512
635
  }
513
636
  //#endregion
@@ -533,7 +656,7 @@ type PermissionEvaluationContext = {
533
656
  name: string | string[];
534
657
  realmId?: string | null;
535
658
  clientId?: string | null;
536
- input?: PolicyData;
659
+ data?: PolicyData;
537
660
  options?: PermissionEvaluationOptions;
538
661
  };
539
662
  //#endregion
@@ -547,12 +670,12 @@ declare class PermissionEvaluator implements IPermissionEvaluator {
547
670
  protected findOne(input: string, overrides?: {
548
671
  realmId?: string | null;
549
672
  clientId?: string | null;
550
- }): Promise<PermissionPolicyBinding | null>;
673
+ }): Promise<PermissionPolicyBindingAggregated | null>;
551
674
  evaluate(ctx: PermissionEvaluationContext): Promise<void>;
552
675
  evaluateOneOf(ctx: PermissionEvaluationContext): Promise<void>;
553
676
  preEvaluate(ctx: PermissionEvaluationContext): Promise<void>;
554
677
  preEvaluateOneOf(ctx: PermissionEvaluationContext): Promise<void>;
555
678
  }
556
679
  //#endregion
557
- export { AttributeNamesPolicy, AttributeNamesPolicyEvaluator, AttributeNamesPolicyValidator, AttributesPolicy, AttributesPolicyEvaluator, AttributesPolicyQuery, AttributesPolicyValidator, BasePermission, BasePolicy, BuiltInPolicies, BuiltInPolicyType, BuiltInPolicyTypeMap, CompositePolicy, CompositePolicyEvaluator, CompositePolicyValidator, DatePolicy, DatePolicyEvaluator, DatePolicyValidator, IPermissionEvaluator, IPermissionProvider, IPolicyData, IPolicyEngine, IPolicyEvaluator, IdentityPolicy, IdentityPolicyData, IdentityPolicyEvaluator, IdentityPolicyValidator, PERMISSION_ERROR_INSTANCE, POLICY_ERROR_INSTANCE, PermissionBindingPolicy, PermissionBindingPolicyEvaluator, PermissionBindingPolicyValidator, PermissionError, PermissionEvaluationContext, PermissionEvaluationOptions, PermissionEvaluator, PermissionEvaluatorOptions, PermissionGetOptions, PermissionMemoryProvider, PermissionPolicyBinding, PolicyData, PolicyDefaultEvaluators, PolicyEngine, PolicyError, PolicyEvaluationContext, PolicyEvaluationContextInput, PolicyEvaluationResult, PolicyEvaluators, PolicyIssue, PolicyIssueCode, PolicyIssueGroup, PolicyIssueItem, PolicyIssueSeverity, PolicyWithType, RealmMatchPolicy, RealmMatchPolicyEvaluator, RealmMatchPolicyValidator, SystemPolicyName, TimePolicy, TimePolicyEvaluator, TimePolicyInterval, TimePolicyValidator, buildPermissionKey, defineAttributesPolicy, definePolicyEvaluationContext, definePolicyIssueGroup, definePolicyIssueItem, definePolicyWithType, isCompositePolicy, isIntervalForDayOfMonth, isIntervalForDayOfWeek, isIntervalForDayOfYear, isPermissionError, isPermissionPolicyBindingEqual, isPolicyError, maybeInvertPolicyOutcome, mergePermissionPolicyBindings };
680
+ export { AttributeNamesPolicy, AttributeNamesPolicyEvaluator, AttributeNamesPolicyValidator, AttributesPolicy, AttributesPolicyEvaluator, AttributesPolicyQuery, AttributesPolicyValidator, BasePermission, BasePolicy, BuiltInPolicies, BuiltInPolicyType, BuiltInPolicyTypeMap, CompositePolicy, CompositePolicyEvaluator, CompositePolicyValidator, DatePolicy, DatePolicyEvaluator, DatePolicyValidator, IPermissionEvaluator, IPermissionProvider, IPolicyData, IPolicyEngine, IPolicyEvaluator, IdentityPolicy, IdentityPolicyData, IdentityPolicyEvaluator, IdentityPolicyValidator, PERMISSION_ERROR_INSTANCE, POLICY_ERROR_INSTANCE, PermissionBindingPolicy, PermissionBindingPolicyEvaluator, PermissionBindingPolicyValidator, PermissionError, PermissionEvaluationContext, PermissionEvaluationOptions, PermissionEvaluator, PermissionEvaluatorOptions, PermissionGetOptions, PermissionGrant, PermissionMemoryProvider, PermissionPolicyBinding, PermissionPolicyBindingAggregated, PolicyData, PolicyDefaultEvaluators, PolicyEngine, PolicyError, PolicyEvaluationContext, PolicyEvaluationContextInput, PolicyEvaluationResult, PolicyEvaluators, PolicyInput, PolicyIssue, PolicyIssueCode, PolicyIssueGroup, PolicyIssueItem, PolicyIssueSeverity, PolicyWithType, REALM_SCOPE_ORDER, RealmMatchPolicy, RealmMatchPolicyEvaluator, RealmMatchPolicyValidator, RealmScope, SystemPolicyName, TimePolicy, TimePolicyEvaluator, TimePolicyInterval, TimePolicyValidator, aggregatePermissionPolicyBindings, buildPermissionKey, compareRealmScope, defineAttributesPolicy, definePolicyData, definePolicyEvaluationContext, definePolicyIssueGroup, definePolicyIssueItem, definePolicyWithType, grantDominates, isCompositePolicy, isIntervalForDayOfMonth, isIntervalForDayOfWeek, isIntervalForDayOfYear, isPermissionError, isPermissionPolicyBindingEqual, isPolicyError, maxRealmScope, maybeInvertPolicyOutcome, minRealmScope, normalizeRealmScope, realmScopeMatches };
558
681
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/policy/data.ts","../src/policy/evaluation/context/types.ts","../src/policy/evaluation/context/define.ts","../src/policy/evaluation/types.ts","../src/policy/types.ts","../src/policy/engine/types.ts","../src/policy/engine/module.ts","../src/policy/issue/constants.ts","../src/policy/issue/types.ts","../src/policy/issue/define.ts","../src/policy/error/module.ts","../src/policy/error/check.ts","../src/policy/helpers/invert.ts","../src/policy/built-in/attribute-names/types.ts","../src/policy/built-in/attribute-names/validator.ts","../src/policy/built-in/attributes/types.ts","../src/policy/built-in/attributes/define.ts","../src/policy/built-in/attributes/validator.ts","../src/policy/built-in/attributes/evaluator.ts","../src/policy/built-in/attribute-names/evaluator.ts","../src/policy/built-in/composite/types.ts","../src/policy/built-in/composite/validator.ts","../src/policy/built-in/composite/evaluator.ts","../src/policy/built-in/composite/helper.ts","../src/policy/built-in/date/types.ts","../src/policy/built-in/date/validator.ts","../src/policy/built-in/date/evaluator.ts","../src/policy/built-in/identity/types.ts","../src/policy/built-in/identity/data/validator.ts","../src/policy/built-in/identity/validator.ts","../src/policy/built-in/identity/evaluator.ts","../src/policy/built-in/permission-binding/types.ts","../src/policy/built-in/permission-binding/validator.ts","../src/policy/built-in/permission-binding/module.ts","../src/policy/built-in/realm-match/types.ts","../src/policy/built-in/realm-match/validator.ts","../src/policy/built-in/realm-match/evaluator.ts","../src/policy/built-in/time/constants.ts","../src/policy/built-in/time/types.ts","../src/policy/built-in/time/validator.ts","../src/policy/built-in/time/evaluator.ts","../src/policy/built-in/time/helpers.ts","../src/policy/built-in/constants.ts","../src/policy/built-in/types.ts","../src/policy/built-in/define.ts","../src/policy/constants.ts","../src/permission/error/module.ts","../src/permission/error/check.ts","../src/permission/types.ts","../src/permission/helpers/equal.ts","../src/permission/helpers/key.ts","../src/permission/helpers/merge.ts","../src/permission/provider/types.ts","../src/permission/provider/memory.ts","../src/permission/evaluator/types.ts","../src/permission/evaluator/module.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/policy/data.ts","../src/policy/evaluation/context/types.ts","../src/policy/evaluation/context/define.ts","../src/policy/evaluation/types.ts","../src/policy/types.ts","../src/policy/engine/types.ts","../src/policy/engine/module.ts","../src/policy/issue/constants.ts","../src/policy/issue/types.ts","../src/policy/issue/define.ts","../src/policy/error/module.ts","../src/policy/error/check.ts","../src/policy/helpers/invert.ts","../src/policy/built-in/attribute-names/types.ts","../src/policy/built-in/attribute-names/validator.ts","../src/policy/built-in/attributes/types.ts","../src/policy/built-in/attributes/define.ts","../src/policy/built-in/attributes/validator.ts","../src/policy/built-in/attributes/evaluator.ts","../src/policy/built-in/attribute-names/evaluator.ts","../src/policy/built-in/composite/types.ts","../src/policy/built-in/composite/validator.ts","../src/policy/built-in/composite/evaluator.ts","../src/policy/built-in/composite/helper.ts","../src/policy/built-in/date/types.ts","../src/policy/built-in/date/validator.ts","../src/policy/built-in/date/evaluator.ts","../src/policy/built-in/identity/types.ts","../src/policy/built-in/identity/data/validator.ts","../src/policy/built-in/identity/validator.ts","../src/policy/built-in/identity/evaluator.ts","../src/policy/built-in/permission-binding/types.ts","../src/policy/built-in/permission-binding/validator.ts","../src/policy/built-in/permission-binding/module.ts","../src/permission/realm-scope/constants.ts","../src/permission/realm-scope/helpers.ts","../src/policy/built-in/realm-match/types.ts","../src/policy/built-in/realm-match/validator.ts","../src/policy/built-in/realm-match/evaluator.ts","../src/policy/built-in/time/constants.ts","../src/policy/built-in/time/types.ts","../src/policy/built-in/time/validator.ts","../src/policy/built-in/time/evaluator.ts","../src/policy/built-in/time/helpers.ts","../src/policy/built-in/constants.ts","../src/policy/built-in/types.ts","../src/policy/built-in/define.ts","../src/policy/constants.ts","../src/policy/input.ts","../src/permission/error/module.ts","../src/permission/error/check.ts","../src/permission/types.ts","../src/permission/helpers/aggregate.ts","../src/permission/helpers/equal.ts","../src/permission/helpers/grant.ts","../src/permission/helpers/key.ts","../src/permission/provider/types.ts","../src/permission/provider/memory.ts","../src/permission/evaluator/types.ts","../src/permission/evaluator/module.ts"],"mappings":"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"}