@authup/access 1.0.0-beta.30 → 1.0.0-beta.32

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 (41) hide show
  1. package/LICENSE +201 -201
  2. package/dist/constants.d.ts +1 -14
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/index.mjs +125 -182
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/permission/checker/module.d.ts +14 -30
  7. package/dist/permission/checker/module.d.ts.map +1 -1
  8. package/dist/permission/checker/types.d.ts +13 -11
  9. package/dist/permission/checker/types.d.ts.map +1 -1
  10. package/dist/permission/helpers/equal.d.ts +1 -2
  11. package/dist/permission/helpers/equal.d.ts.map +1 -1
  12. package/dist/permission/helpers/key.d.ts +1 -2
  13. package/dist/permission/helpers/key.d.ts.map +1 -1
  14. package/dist/permission/helpers/merge.d.ts +1 -2
  15. package/dist/permission/helpers/merge.d.ts.map +1 -1
  16. package/dist/permission/index.d.ts +1 -1
  17. package/dist/permission/index.d.ts.map +1 -1
  18. package/dist/permission/provider/index.d.ts.map +1 -0
  19. package/dist/permission/provider/memory.d.ts +9 -0
  20. package/dist/permission/provider/memory.d.ts.map +1 -0
  21. package/dist/permission/provider/types.d.ts +10 -0
  22. package/dist/permission/provider/types.d.ts.map +1 -0
  23. package/dist/permission/types.d.ts +1 -7
  24. package/dist/permission/types.d.ts.map +1 -1
  25. package/dist/policy/built-in/attributes/evaluator.d.ts.map +1 -1
  26. package/dist/policy/built-in/composite/types.d.ts +1 -1
  27. package/dist/policy/built-in/composite/types.d.ts.map +1 -1
  28. package/dist/policy/built-in/constants.d.ts +8 -0
  29. package/dist/policy/built-in/constants.d.ts.map +1 -1
  30. package/dist/policy/built-in/realm-match/evaluator.d.ts.map +1 -1
  31. package/dist/policy/built-in/realm-match/types.d.ts +5 -5
  32. package/dist/policy/built-in/realm-match/types.d.ts.map +1 -1
  33. package/dist/policy/built-in/time/types.d.ts +3 -3
  34. package/dist/policy/built-in/time/types.d.ts.map +1 -1
  35. package/package.json +16 -6
  36. package/dist/permission/repository/index.d.ts.map +0 -1
  37. package/dist/permission/repository/memory.d.ts +0 -9
  38. package/dist/permission/repository/memory.d.ts.map +0 -1
  39. package/dist/permission/repository/types.d.ts +0 -10
  40. package/dist/permission/repository/types.d.ts.map +0 -1
  41. /package/dist/permission/{repository → provider}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/permission/checker/module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAUlD,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,eAAe,CAAC;AAGjF,OAAO,KAAK,EACR,cAAc,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE9G,qBAAa,iBAAkB,YAAW,kBAAkB;IACxD,SAAS,CAAC,QAAQ,EAAG,qBAAqB,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAG,aAAa,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAItB,OAAO,GAAE,wBAA6B;IAwBlD;;;;OAIG;cACa,OAAO,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkBvE;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,6BAA6B,GAAI,OAAO,CAAC,IAAI,CAAC;IAmG/D;;;;;;OAMG;IACG,UAAU,CAAC,GAAG,EAAE,6BAA6B,GAAI,OAAO,CAAC,IAAI,CAAC;IAY9D,QAAQ,CAAC,GAAG,EAAE,6BAA6B,GAAI,OAAO,CAAC,IAAI,CAAC;IAc5D,aAAa,CAAC,GAAG,EAAE,6BAA6B,GAAI,OAAO,CAAC,IAAI,CAAC;CAS1E"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/permission/checker/module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAmB,aAAa,EAAkB,MAAM,cAAc,CAAC;AAUnF,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,aAAa,CAAC;AAG7E,OAAO,KAAK,EACR,iBAAiB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEhH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC5D,SAAS,CAAC,QAAQ,EAAG,mBAAmB,CAAC;IAEzC,SAAS,CAAC,YAAY,EAAG,aAAa,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAItB,OAAO,GAAE,0BAA+B;cAwBpC,OAAO,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACjE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAsB/B,QAAQ,CAAC,GAAG,EAAE,2BAA2B,GAAI,OAAO,CAAC,IAAI,CAAC;IAgH1D,aAAa,CAAC,GAAG,EAAE,2BAA2B,GAAI,OAAO,CAAC,IAAI,CAAC;IAY/D,WAAW,CAAC,GAAG,EAAE,2BAA2B,GAAI,OAAO,CAAC,IAAI,CAAC;IAc7D,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,GAAI,OAAO,CAAC,IAAI,CAAC;CAS3E"}
@@ -1,26 +1,28 @@
1
1
  import type { DecisionStrategy } from '../../constants.ts';
2
2
  import type { IPolicyEngine, PolicyData } from '../../policy';
3
- import type { IPermissionRepository } from '../repository';
4
- export interface IPermissionChecker {
5
- check(ctx: PermissionCheckerCheckContext): Promise<void>;
6
- checkOneOf(ctx: PermissionCheckerCheckContext): Promise<void>;
7
- preCheck(ctx: PermissionCheckerCheckContext): Promise<void>;
8
- preCheckOneOf(ctx: PermissionCheckerCheckContext): Promise<void>;
3
+ import type { IPermissionProvider } from '../provider';
4
+ export interface IPermissionEvaluator {
5
+ evaluate(ctx: PermissionEvaluationContext): Promise<void>;
6
+ evaluateOneOf(ctx: PermissionEvaluationContext): Promise<void>;
7
+ preEvaluate(ctx: PermissionEvaluationContext): Promise<void>;
8
+ preEvaluateOneOf(ctx: PermissionEvaluationContext): Promise<void>;
9
9
  }
10
- export type PermissionCheckerOptions = {
11
- repository?: IPermissionRepository;
10
+ export type PermissionEvaluatorOptions = {
11
+ repository?: IPermissionProvider;
12
12
  policyEngine?: IPolicyEngine;
13
13
  realmId?: string | null;
14
14
  clientId?: string | null;
15
15
  };
16
- export type PermissionCheckerCheckOptions = {
16
+ export type PermissionEvaluationOptions = {
17
17
  decisionStrategy?: `${DecisionStrategy}`;
18
18
  policiesIncluded?: string[];
19
19
  policiesExcluded?: string[];
20
20
  };
21
- export type PermissionCheckerCheckContext = {
21
+ export type PermissionEvaluationContext = {
22
22
  name: string | string[];
23
+ realmId?: string | null;
24
+ clientId?: string | null;
23
25
  input?: PolicyData;
24
- options?: PermissionCheckerCheckOptions;
26
+ options?: PermissionEvaluationOptions;
25
27
  };
26
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permission/checker/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,UAAU,CAAC,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,QAAQ,CAAC,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,aAAa,CAAC,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnE;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,6BAA6B,CAAA;CAC1C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permission/checker/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,aAAa,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,WAAW,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,2BAA2B,CAAA;CACxC,CAAC"}
@@ -1,3 +1,2 @@
1
- import type { PermissionItem } from '../types';
2
- export declare function isPermissionItemEqual(a: PermissionItem, b: PermissionItem): boolean;
1
+ export { isPermissionBindingEqual } from '@authup/core-kit';
3
2
  //# sourceMappingURL=equal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/equal.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAcnF"}
1
+ {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/equal.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,2 @@
1
- import type { PermissionItem } from '../types';
2
- export declare function buildPermissionItemKey(input: PermissionItem): string;
1
+ export { buildPermissionBindingKey } from '@authup/core-kit';
3
2
  //# sourceMappingURL=key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/key.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,UAE3D"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/key.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,2 @@
1
- import type { PermissionItem } from '../types';
2
- export declare function mergePermissionItems(input: PermissionItem[]): PermissionItem[];
1
+ export { mergePermissionBindings } from '@authup/core-kit';
3
2
  //# sourceMappingURL=merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/merge.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAI,cAAc,EAAE,CAwC/E"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/permission/helpers/merge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export * from './error';
2
2
  export * from './helpers';
3
- export * from './repository';
3
+ export * from './provider';
4
4
  export * from './checker';
5
5
  export * from './types';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permission/provider/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PermissionBinding } from '../types';
2
+ import type { IPermissionProvider, PermissionGetOptions } from './types';
3
+ export declare class PermissionMemoryProvider implements IPermissionProvider {
4
+ protected items: Record<string, PermissionBinding>;
5
+ constructor(items?: PermissionBinding[]);
6
+ findOne(options: PermissionGetOptions): Promise<PermissionBinding | null>;
7
+ setMany(input: PermissionBinding[]): void;
8
+ }
9
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/permission/provider/memory.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEzE,qBAAa,wBAAyB,YAAW,mBAAmB;IAChE,SAAS,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM;gBAE7C,KAAK,GAAE,iBAAiB,EAAO;IAIrC,OAAO,CACT,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAapC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE;CAOrC"}
@@ -0,0 +1,10 @@
1
+ import type { PermissionBinding } from '../types';
2
+ export type PermissionGetOptions = {
3
+ name: string;
4
+ clientId?: string | null;
5
+ realmId?: string | null;
6
+ };
7
+ export interface IPermissionProvider {
8
+ findOne(criteria: PermissionGetOptions): Promise<PermissionBinding | null>;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permission/provider/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CAC/E"}
@@ -1,8 +1,2 @@
1
- import type { PolicyWithType } from '../policy';
2
- export type PermissionItem = {
3
- name: string;
4
- clientId?: string | null;
5
- realmId?: string | null;
6
- policy?: PolicyWithType;
7
- };
1
+ export type { PermissionBinding } from '@authup/core-kit';
8
2
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/permission/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/permission/types.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/evaluator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,qBAAa,yBAAyB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACrD,YAAW,gBAAgB;IACzB,SAAS,CAAC,SAAS,EAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;;IAM7C,UAAU,CAAC,GAAG,EAAE,uBAAuB,GAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkB5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2BzG,SAAS,CAAC,QAAQ,CACd,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE;CAiCjC"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/evaluator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,qBAAa,yBAAyB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACrD,YAAW,gBAAgB;IACzB,SAAS,CAAC,SAAS,EAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;;IAM7C,UAAU,CAAC,GAAG,EAAE,uBAAuB,GAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkB5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2BzG,SAAS,CAAC,QAAQ,CACd,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE;CAgCjC"}
@@ -4,7 +4,7 @@ export interface CompositePolicy extends PolicyBase {
4
4
  /**
5
5
  * How to decide if a policy evaluates to true.
6
6
  */
7
- decisionStrategy?: `${DecisionStrategy}`;
7
+ decision_strategy?: `${DecisionStrategy}`;
8
8
  /**
9
9
  * Child policies.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/composite/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C;;OAEG;IACH,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC;;OAEG;IACH,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/composite/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC1C;;OAEG;IACH,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC9B"}
@@ -32,4 +32,12 @@ export declare enum BuiltInPolicyType {
32
32
  */
33
33
  PERMISSION_BINDING = "permissionBinding"
34
34
  }
35
+ export declare const SystemPolicyName: {
36
+ readonly DEFAULT: "system.default";
37
+ readonly IDENTITY: "system.identity";
38
+ readonly PERMISSION_BINDING: "system.permission-binding";
39
+ readonly REALM_MATCH: "system.realm-match";
40
+ readonly REALM_BOUND: "system.realm-bound";
41
+ readonly REALM_OR_GLOBAL: "system.realm-or-global";
42
+ };
35
43
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,iBAAiB;IACzB;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,eAAe,mBAAmB;IAClC;;OAEG;IACH,UAAU,eAAe;IACzB;;OAEG;IACH,WAAW,eAAe;IAE1B;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,kBAAkB,sBAAsB;CAI3C"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,iBAAiB;IACzB;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,eAAe,mBAAmB;IAClC;;OAEG;IACH,UAAU,eAAe;IACzB;;OAEG;IACH,WAAW,eAAe;IAE1B;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,kBAAkB,sBAAsB;CAI3C;AAED,eAAO,MAAM,gBAAgB;;;;;;;CAOnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/evaluator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,qBAAa,yBAA0B,YAAW,gBAAgB;IAC9D,SAAS,CAAC,SAAS,EAAG,yBAAyB,CAAC;IAEhD,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAErD,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;;IAQpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAsI5G"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/evaluator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,qBAAa,yBAA0B,YAAW,gBAAgB;IAC9D,SAAS,CAAC,SAAS,EAAG,yBAAyB,CAAC;IAEhD,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAErD,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;;IAQpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA+I5G"}
@@ -4,25 +4,25 @@ export interface RealmMatchPolicy extends PolicyBase {
4
4
  /**
5
5
  * Determines how realm-id/name matches are handled.
6
6
  */
7
- decisionStrategy?: `${DecisionStrategy}`;
7
+ decision_strategy?: `${DecisionStrategy}`;
8
8
  /**
9
9
  * Specifies the name(s) of the realm-id/name attribute(s) used for matching.
10
10
  * Can be a single attribute name or an array of attribute names.
11
11
  */
12
- attributeName?: string | string[];
12
+ attribute_name?: string | string[];
13
13
  /**
14
14
  * Only match if the attribute is strict equal to the name.
15
15
  */
16
- attributeNameStrict?: boolean;
16
+ attribute_name_strict?: boolean;
17
17
  /**
18
18
  * Determines if resources with null realm-id/name value should match all identity realms.
19
19
  * If true, any identity realm can access resources with null realm-id/name values.
20
20
  */
21
- attributeNullMatchAll?: boolean;
21
+ attribute_null_match_all?: boolean;
22
22
  /**
23
23
  * Specifies whether the master realm of an identity should match all realm-id/name attributes, including null.
24
24
  * If true, the master realm can access any resource regardless of its realm value.
25
25
  */
26
- identityMasterMatchAll?: boolean;
26
+ identity_master_match_all?: boolean;
27
27
  }
28
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD;;OAEG;IACH,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD;;OAEG;IACH,iBAAiB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACtC"}
@@ -16,14 +16,14 @@ export interface TimePolicy extends PolicyBase {
16
16
  /**
17
17
  * 0 (Sunday) - 6 (Saturday)
18
18
  */
19
- dayOfWeek?: number;
19
+ day_of_week?: number;
20
20
  /**
21
21
  * 1 - 31
22
22
  */
23
- dayOfMonth?: number;
23
+ day_of_month?: number;
24
24
  /**
25
25
  * 1 - 365
26
26
  */
27
- dayOfYear?: number;
27
+ day_of_year?: number;
28
28
  }
29
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEnC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@authup/access",
3
3
  "type": "module",
4
- "version": "1.0.0-beta.30",
4
+ "version": "1.0.0-beta.32",
5
5
  "description": "A library for evaluating permissions and policies.",
6
6
  "license": "Apache-2.0",
7
7
  "exports": {
@@ -28,8 +28,16 @@
28
28
  "node": "^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0"
29
29
  },
30
30
  "keywords": [
31
+ "auth",
32
+ "authorization",
33
+ "permission",
31
34
  "policy",
32
- "permission"
35
+ "rbac",
36
+ "abac",
37
+ "access-control",
38
+ "policy-engine",
39
+ "permission-evaluator",
40
+ "decision-strategy"
33
41
  ],
34
42
  "author": {
35
43
  "name": "Peter Placzek",
@@ -53,14 +61,16 @@
53
61
  "zod": "^4.3.6"
54
62
  },
55
63
  "devDependencies": {
56
- "@authup/errors": "^1.0.0-beta.30",
57
- "@authup/kit": "^1.0.0-beta.30",
64
+ "@authup/core-kit": "^1.0.0-beta.32",
65
+ "@authup/errors": "^1.0.0-beta.32",
66
+ "@authup/kit": "^1.0.0-beta.32",
58
67
  "vitest": "^4.0.14",
59
68
  "unplugin-swc": "^1.5.9"
60
69
  },
61
70
  "peerDependencies": {
62
- "@authup/errors": "^1.0.0-beta.30",
63
- "@authup/kit": "^1.0.0-beta.30"
71
+ "@authup/core-kit": "^1.0.0-beta.32",
72
+ "@authup/errors": "^1.0.0-beta.32",
73
+ "@authup/kit": "^1.0.0-beta.32"
64
74
  },
65
75
  "publishConfig": {
66
76
  "access": "public"
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permission/repository/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { PermissionItem } from '../types';
2
- import type { IPermissionRepository, PermissionGetOptions } from './types';
3
- export declare class PermissionMemoryRepository implements IPermissionRepository {
4
- protected items: Record<string, PermissionItem>;
5
- constructor(items?: PermissionItem[]);
6
- findOne(options: PermissionGetOptions): Promise<PermissionItem | null>;
7
- setMany(input: PermissionItem[]): void;
8
- }
9
- //# sourceMappingURL=memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/permission/repository/memory.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE3E,qBAAa,0BAA2B,YAAW,qBAAqB;IACpE,SAAS,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM;gBAE1C,KAAK,GAAE,cAAc,EAAO;IAIlC,OAAO,CACT,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IASjC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE;CAOlC"}
@@ -1,10 +0,0 @@
1
- import type { PermissionItem } from '../types';
2
- export type PermissionGetOptions = {
3
- name: string;
4
- clientId?: string | null;
5
- realmId?: string | null;
6
- };
7
- export interface IPermissionRepository {
8
- findOne(criteria: PermissionGetOptions): Promise<PermissionItem | null>;
9
- }
10
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permission/repository/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC5E"}