@authup/access 1.0.0-beta.27 → 1.0.0-beta.29

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 (107) hide show
  1. package/LICENSE +201 -201
  2. package/dist/index.mjs +758 -541
  3. package/dist/index.mjs.map +1 -1
  4. package/dist/permission/checker/index.d.ts +3 -0
  5. package/dist/permission/checker/index.d.ts.map +1 -0
  6. package/dist/permission/{module.d.ts → checker/module.d.ts} +8 -7
  7. package/dist/permission/checker/module.d.ts.map +1 -0
  8. package/dist/permission/checker/types.d.ts +26 -0
  9. package/dist/permission/checker/types.d.ts.map +1 -0
  10. package/dist/permission/error/index.d.ts +0 -1
  11. package/dist/permission/error/index.d.ts.map +1 -1
  12. package/dist/permission/error/module.d.ts +4 -5
  13. package/dist/permission/error/module.d.ts.map +1 -1
  14. package/dist/permission/index.d.ts +2 -2
  15. package/dist/permission/index.d.ts.map +1 -1
  16. package/dist/permission/repository/index.d.ts.map +1 -0
  17. package/dist/permission/repository/memory.d.ts +9 -0
  18. package/dist/permission/repository/memory.d.ts.map +1 -0
  19. package/dist/permission/{provider → repository}/types.d.ts +2 -2
  20. package/dist/permission/repository/types.d.ts.map +1 -0
  21. package/dist/permission/types.d.ts +1 -19
  22. package/dist/permission/types.d.ts.map +1 -1
  23. package/dist/policy/built-in/attribute-names/evaluator.d.ts +5 -8
  24. package/dist/policy/built-in/attribute-names/evaluator.d.ts.map +1 -1
  25. package/dist/policy/built-in/attributes/evaluator.d.ts +5 -9
  26. package/dist/policy/built-in/attributes/evaluator.d.ts.map +1 -1
  27. package/dist/policy/built-in/attributes/validator.d.ts.map +1 -1
  28. package/dist/policy/built-in/composite/evaluator.d.ts +3 -8
  29. package/dist/policy/built-in/composite/evaluator.d.ts.map +1 -1
  30. package/dist/policy/built-in/composite/validator.d.ts.map +1 -1
  31. package/dist/policy/built-in/date/evaluator.d.ts +3 -8
  32. package/dist/policy/built-in/date/evaluator.d.ts.map +1 -1
  33. package/dist/policy/built-in/identity/data/index.d.ts +2 -0
  34. package/dist/policy/built-in/identity/data/index.d.ts.map +1 -0
  35. package/dist/policy/built-in/identity/data/validator.d.ts +6 -0
  36. package/dist/policy/built-in/identity/data/validator.d.ts.map +1 -0
  37. package/dist/policy/built-in/identity/evaluator.d.ts +7 -8
  38. package/dist/policy/built-in/identity/evaluator.d.ts.map +1 -1
  39. package/dist/policy/built-in/identity/types.d.ts +22 -0
  40. package/dist/policy/built-in/identity/types.d.ts.map +1 -1
  41. package/dist/policy/built-in/permission-binding/module.d.ts +3 -8
  42. package/dist/policy/built-in/permission-binding/module.d.ts.map +1 -1
  43. package/dist/policy/built-in/realm-match/evaluator.d.ts +7 -8
  44. package/dist/policy/built-in/realm-match/evaluator.d.ts.map +1 -1
  45. package/dist/policy/built-in/time/evaluator.d.ts +3 -8
  46. package/dist/policy/built-in/time/evaluator.d.ts.map +1 -1
  47. package/dist/policy/constants.d.ts +12 -0
  48. package/dist/policy/constants.d.ts.map +1 -0
  49. package/dist/policy/data.d.ts +20 -0
  50. package/dist/policy/data.d.ts.map +1 -0
  51. package/dist/policy/engine/module.d.ts +9 -9
  52. package/dist/policy/engine/module.d.ts.map +1 -1
  53. package/dist/policy/engine/types.d.ts +6 -3
  54. package/dist/policy/engine/types.d.ts.map +1 -1
  55. package/dist/policy/error/module.d.ts +5 -2
  56. package/dist/policy/error/module.d.ts.map +1 -1
  57. package/dist/policy/evaluation/context/define.d.ts +3 -0
  58. package/dist/policy/evaluation/context/define.d.ts.map +1 -0
  59. package/dist/policy/evaluation/context/index.d.ts +3 -0
  60. package/dist/policy/evaluation/context/index.d.ts.map +1 -0
  61. package/dist/policy/evaluation/context/types.d.ts +11 -0
  62. package/dist/policy/evaluation/context/types.d.ts.map +1 -0
  63. package/dist/policy/evaluation/index.d.ts +3 -0
  64. package/dist/policy/evaluation/index.d.ts.map +1 -0
  65. package/dist/policy/evaluation/types.d.ts +14 -0
  66. package/dist/policy/evaluation/types.d.ts.map +1 -0
  67. package/dist/policy/index.d.ts +4 -1
  68. package/dist/policy/index.d.ts.map +1 -1
  69. package/dist/policy/issue/constants.d.ts +21 -0
  70. package/dist/policy/issue/constants.d.ts.map +1 -0
  71. package/dist/policy/issue/define.d.ts +4 -0
  72. package/dist/policy/issue/define.d.ts.map +1 -0
  73. package/dist/policy/issue/index.d.ts +4 -0
  74. package/dist/policy/issue/index.d.ts.map +1 -0
  75. package/dist/policy/issue/types.d.ts +5 -0
  76. package/dist/policy/issue/types.d.ts.map +1 -0
  77. package/dist/policy/types.d.ts +3 -41
  78. package/dist/policy/types.d.ts.map +1 -1
  79. package/package.json +19 -15
  80. package/dist/index.cjs +0 -1055
  81. package/dist/index.cjs.map +0 -1
  82. package/dist/permission/error/types.d.ts +0 -11
  83. package/dist/permission/error/types.d.ts.map +0 -1
  84. package/dist/permission/module.d.ts.map +0 -1
  85. package/dist/permission/provider/index.d.ts.map +0 -1
  86. package/dist/permission/provider/memory.d.ts +0 -9
  87. package/dist/permission/provider/memory.d.ts.map +0 -1
  88. package/dist/permission/provider/types.d.ts.map +0 -1
  89. package/dist/policy/evaluator/data/identity/index.d.ts +0 -2
  90. package/dist/policy/evaluator/data/identity/index.d.ts.map +0 -1
  91. package/dist/policy/evaluator/data/identity/validator.d.ts +0 -6
  92. package/dist/policy/evaluator/data/identity/validator.d.ts.map +0 -1
  93. package/dist/policy/evaluator/data/index.d.ts +0 -4
  94. package/dist/policy/evaluator/data/index.d.ts.map +0 -1
  95. package/dist/policy/evaluator/data/permission/index.d.ts +0 -2
  96. package/dist/policy/evaluator/data/permission/index.d.ts.map +0 -1
  97. package/dist/policy/evaluator/data/permission/validator.d.ts +0 -6
  98. package/dist/policy/evaluator/data/permission/validator.d.ts.map +0 -1
  99. package/dist/policy/evaluator/data/validator.d.ts +0 -6
  100. package/dist/policy/evaluator/data/validator.d.ts.map +0 -1
  101. package/dist/policy/evaluator/evaluate.d.ts +0 -4
  102. package/dist/policy/evaluator/evaluate.d.ts.map +0 -1
  103. package/dist/policy/evaluator/index.d.ts +0 -4
  104. package/dist/policy/evaluator/index.d.ts.map +0 -1
  105. package/dist/policy/evaluator/types.d.ts +0 -44
  106. package/dist/policy/evaluator/types.d.ts.map +0 -1
  107. /package/dist/permission/{provider → repository}/index.d.ts +0 -0
@@ -0,0 +1,14 @@
1
+ import type { Issue } from 'validup';
2
+ import type { PolicyEvaluationContext } from './context';
3
+ export type PolicyEvaluators = Record<string, IPolicyEvaluator>;
4
+ export type PolicyEvaluationResult = {
5
+ success: boolean;
6
+ issues?: Issue[];
7
+ };
8
+ export interface IPolicyEvaluator {
9
+ /**
10
+ * Execute the policy with specific data and a given context.
11
+ */
12
+ evaluate(value: Record<string, any>, context: PolicyEvaluationContext): Promise<PolicyEvaluationResult>;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/policy/evaluation/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;CACnB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC3G"}
@@ -1,7 +1,10 @@
1
1
  export * from './engine';
2
- export * from './evaluator';
2
+ export * from './evaluation';
3
3
  export * from './error';
4
+ export * from './issue';
4
5
  export * from './helpers';
5
6
  export * from './built-in';
6
7
  export * from './types';
8
+ export * from './constants.ts';
9
+ export * from './data.ts';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ export declare enum PolicyIssueSeverity {
2
+ WARNING = "warning",
3
+ ERROR = "error"
4
+ }
5
+ export declare enum PolicyIssueCode {
6
+ DATA_MISSING = "DATA_MISSING",
7
+ DATA_INVALID = "DATA_INVALID",
8
+ INVALID = "INVALID",
9
+ TYPE_UNKNOWN = "TYPE_UNKNOWN",
10
+ FIELD_MISSING = "FIELD_MISSING",
11
+ FIELD_INVALID = "FIELD_INVALID",
12
+ CHILD_INVALID = "CHILD_INVALID",
13
+ CHILD_EVALUATION_FAILED = "CHILD_EVALUATION_FAILED",
14
+ EVALUATION_DENIED = "EVALUATION_DENIED",
15
+ EVALUATOR_NOT_FOUND = "EVALUATOR_NOT_FOUND",
16
+ EVALUATOR_ERROR = "EVALUATOR_ERROR",
17
+ SKIPPED_EXCLUDED = "SKIPPED_EXCLUDED",
18
+ SKIPPED_NOT_INCLUDED = "SKIPPED_NOT_INCLUDED",
19
+ INTERNAL_ERROR = "INTERNAL_ERROR"
20
+ }
21
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/policy/issue/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,mBAAmB;IAC3B,OAAO,YAAY;IACnB,KAAK,UAAU;CAClB;AAED,oBAAY,eAAe;IAEvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAG7B,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAG/B,aAAa,kBAAkB;IAC/B,uBAAuB,4BAA4B;IAGnD,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IAGnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAG7C,cAAc,mBAAmB;CACpC"}
@@ -0,0 +1,4 @@
1
+ import type { PolicyIssueGroup, PolicyIssueItem } from './types.ts';
2
+ export declare function definePolicyIssueItem(input: Omit<PolicyIssueItem, 'type'>): PolicyIssueItem;
3
+ export declare function definePolicyIssueGroup(input: Omit<PolicyIssueGroup, 'type'>): PolicyIssueGroup;
4
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../src/policy/issue/define.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAI,eAAe,CAE5F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAI,gBAAgB,CAE/F"}
@@ -0,0 +1,4 @@
1
+ export * from './constants.ts';
2
+ export * from './define.ts';
3
+ export * from './types.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/policy/issue/index.ts"],"names":[],"mappings":"AAOA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IssueGroup, IssueItem } from 'validup';
2
+ export type PolicyIssueItem = IssueItem;
3
+ export type PolicyIssueGroup = IssueGroup;
4
+ export type PolicyIssue = PolicyIssueItem | PolicyIssueGroup;
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/policy/issue/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { PermissionItem } from '../permission';
2
1
  export interface PolicyBase {
3
2
  /**
4
3
  * Invert evaluation result of policy (true->false and false->true)
@@ -8,45 +7,8 @@ export interface PolicyBase {
8
7
  export type PolicyWithType<R extends Record<string, any> = Record<string, any>, T = string> = R & {
9
8
  type: T;
10
9
  };
11
- export type PolicyIdentity = {
12
- /**
13
- * user, client, robot
14
- */
10
+ export interface IPolicy {
15
11
  type: string;
16
- /**
17
- * UUID
18
- */
19
- id: string;
20
- /**
21
- * Client associated with identity.
22
- */
23
- clientId?: string | null;
24
- /**
25
- * Realm id associated with identity.
26
- */
27
- realmId?: string | null;
28
- /**
29
- * Realm name associated with identity.
30
- */
31
- realmName?: string | null;
32
- };
33
- export type PolicyInput = {
34
- /**
35
- * Permission for which the policy is evaluated.
36
- */
37
- permission?: PermissionItem;
38
- /**
39
- * Identity of the executing party.
40
- */
41
- identity?: PolicyIdentity;
42
- /**
43
- * Attributes
44
- */
45
- attributes?: Record<string, any>;
46
- /**
47
- * The dateTime to use for time & date policy.
48
- */
49
- dateTime?: Date | number | string;
50
- [key: string]: any;
51
- };
12
+ invert?: boolean;
13
+ }
52
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/policy/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,GAAG,MAAM,IACV,CAAC,GAAG;IACJ,IAAI,EAAE,CAAC,CAAA;CACV,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/policy/types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,GAAG,MAAM,IACV,CAAC,GAAG;IACJ,IAAI,EAAE,CAAC,CAAA;CACV,CAAC;AAEF,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB"}
package/package.json CHANGED
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "@authup/access",
3
- "version": "1.0.0-beta.27",
3
+ "type": "module",
4
+ "version": "1.0.0-beta.29",
4
5
  "description": "A library for evaluating permissions and policies.",
5
6
  "license": "Apache-2.0",
6
7
  "exports": {
7
8
  "./package.json": "./package.json",
8
9
  ".": {
9
10
  "types": "./dist/index.d.ts",
10
- "import": "./dist/index.mjs",
11
- "require": "./dist/index.cjs"
11
+ "import": "./dist/index.mjs"
12
12
  }
13
13
  },
14
- "main": "./dist/index.cjs",
15
14
  "module": "./dist/index.mjs",
16
15
  "types": "./dist/index.d.ts",
17
16
  "files": [
@@ -22,8 +21,11 @@
22
21
  "build:js": "rollup -c",
23
22
  "build": "rimraf ./dist && cross-env NODE_ENV=production npm run build:js && npm run build:types",
24
23
  "build:watch": "npm run build -- --watch",
25
- "test": "cross-env NODE_ENV=test jest --config ./test/jest.config.js --detectOpenHandles --runInBand --testTimeout=10000",
26
- "test:coverage": "npm run test -- --coverage"
24
+ "test": "cross-env NODE_ENV=test vitest run",
25
+ "test:coverage": "cross-env NODE_ENV=test vitest run --coverage"
26
+ },
27
+ "engines": {
28
+ "node": "^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0"
27
29
  },
28
30
  "keywords": [],
29
31
  "author": {
@@ -41,19 +43,21 @@
41
43
  },
42
44
  "homepage": "https://github.com/authup/authup#readme",
43
45
  "dependencies": {
44
- "@ucast/mongo2js": "^1.3.4",
45
- "@validup/adapter-zod": "^0.1.11",
46
- "pathtrace": "^1.1.0",
47
- "validup": "^0.1.9",
48
- "zod": "^4.0.5"
46
+ "@ucast/mongo2js": "^1.4.1",
47
+ "@validup/adapter-zod": "^0.2.4",
48
+ "pathtrace": "^2.1.0",
49
+ "validup": "^0.2.2",
50
+ "zod": "^4.3.6"
49
51
  },
50
52
  "devDependencies": {
51
- "@authup/errors": "^1.0.0-beta.27",
52
- "@authup/kit": "^1.0.0-beta.27"
53
+ "@authup/errors": "^1.0.0-beta.29",
54
+ "@authup/kit": "^1.0.0-beta.29",
55
+ "vitest": "^4.0.14",
56
+ "unplugin-swc": "^1.5.9"
53
57
  },
54
58
  "peerDependencies": {
55
- "@authup/errors": "^1.0.0-beta.27",
56
- "@authup/kit": "^1.0.0-beta.27"
59
+ "@authup/errors": "^1.0.0-beta.29",
60
+ "@authup/kit": "^1.0.0-beta.29"
57
61
  },
58
62
  "publishConfig": {
59
63
  "access": "public"