@prosopo/user-access-policy 3.5.31 → 3.6.0

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 (148) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +69 -0
  2. package/.turbo/turbo-build$colon$tsc.log +38 -0
  3. package/.turbo/turbo-build.log +73 -0
  4. package/CHANGELOG.md +73 -0
  5. package/dist/.export.d.ts +6 -0
  6. package/dist/.export.d.ts.map +1 -0
  7. package/dist/.export.js.map +1 -0
  8. package/dist/api/.export.d.ts +7 -0
  9. package/dist/api/.export.d.ts.map +1 -0
  10. package/dist/api/.export.js.map +1 -0
  11. package/dist/api/accessRulesApiClient.d.ts +2 -0
  12. package/dist/api/accessRulesApiClient.d.ts.map +1 -0
  13. package/dist/api/accessRulesApiClient.js +2 -0
  14. package/dist/api/accessRulesApiClient.js.map +1 -0
  15. package/dist/api/delete/.export.d.ts +2 -0
  16. package/dist/api/delete/.export.d.ts.map +1 -0
  17. package/dist/api/delete/.export.js.map +1 -0
  18. package/dist/api/delete/deleteAllRules.d.ts +11 -0
  19. package/dist/api/delete/deleteAllRules.d.ts.map +1 -0
  20. package/dist/api/delete/deleteAllRules.js.map +1 -0
  21. package/dist/api/delete/deleteRuleGroups.d.ts +19 -0
  22. package/dist/api/delete/deleteRuleGroups.d.ts.map +1 -0
  23. package/dist/api/delete/deleteRuleGroups.js.map +1 -0
  24. package/dist/api/delete/deleteRules.d.ts +15 -0
  25. package/dist/api/delete/deleteRules.d.ts.map +1 -0
  26. package/dist/api/delete/deleteRules.js.map +1 -0
  27. package/dist/api/read/.export.d.ts +4 -0
  28. package/dist/api/read/.export.d.ts.map +1 -0
  29. package/dist/api/read/.export.js.map +1 -0
  30. package/dist/api/read/fetchRules.d.ts +53 -0
  31. package/dist/api/read/fetchRules.d.ts.map +1 -0
  32. package/dist/api/read/fetchRules.js.map +1 -0
  33. package/dist/api/read/findRuleIds.d.ts +28 -0
  34. package/dist/api/read/findRuleIds.d.ts.map +1 -0
  35. package/dist/api/read/findRuleIds.js.map +1 -0
  36. package/dist/api/read/getMissingIds.d.ts +28 -0
  37. package/dist/api/read/getMissingIds.d.ts.map +1 -0
  38. package/dist/api/read/getMissingIds.js.map +1 -0
  39. package/dist/api/ruleApiRoutes.d.ts +43 -0
  40. package/dist/api/ruleApiRoutes.d.ts.map +1 -0
  41. package/dist/api/ruleApiRoutes.js.map +1 -0
  42. package/dist/api/rulesApiClient.d.ts +20 -0
  43. package/dist/api/rulesApiClient.d.ts.map +1 -0
  44. package/dist/api/rulesApiClient.js.map +1 -0
  45. package/dist/api/write/.export.d.ts +2 -0
  46. package/dist/api/write/.export.d.ts.map +1 -0
  47. package/dist/api/write/.export.js.map +1 -0
  48. package/dist/api/write/insertRules.d.ts +29 -0
  49. package/dist/api/write/insertRules.d.ts.map +1 -0
  50. package/dist/api/write/insertRules.js +5 -3
  51. package/dist/api/write/insertRules.js.map +1 -0
  52. package/dist/api/write/rehashRules.d.ts +11 -0
  53. package/dist/api/write/rehashRules.d.ts.map +1 -0
  54. package/dist/api/write/rehashRules.js.map +1 -0
  55. package/dist/cjs/api/write/insertRules.cjs +4 -2
  56. package/dist/cjs/mongoose/mongooseRuleSchema.cjs +3 -1
  57. package/dist/cjs/redis/reader/redisRulesQuery.cjs +12 -1
  58. package/dist/cjs/redis/redisRuleIndex.cjs +4 -1
  59. package/dist/cjs/redis/redisRulesWriter.cjs +6 -0
  60. package/dist/cjs/ruleInput/policyInput.cjs +8 -0
  61. package/dist/cjs/ruleInput/userScopeInput.cjs +3 -1
  62. package/dist/cjs/ruleRecord.cjs +3 -1
  63. package/dist/mongoose/.export.d.ts +2 -0
  64. package/dist/mongoose/.export.d.ts.map +1 -0
  65. package/dist/mongoose/.export.js.map +1 -0
  66. package/dist/mongoose/mongooseRuleSchema.d.ts +4 -0
  67. package/dist/mongoose/mongooseRuleSchema.d.ts.map +1 -0
  68. package/dist/mongoose/mongooseRuleSchema.js +3 -1
  69. package/dist/mongoose/mongooseRuleSchema.js.map +1 -0
  70. package/dist/redis/.export.d.ts +3 -0
  71. package/dist/redis/.export.d.ts.map +1 -0
  72. package/dist/redis/.export.js.map +1 -0
  73. package/dist/redis/reader/redisAggregate.d.ts +4 -0
  74. package/dist/redis/reader/redisAggregate.d.ts.map +1 -0
  75. package/dist/redis/reader/redisAggregate.js.map +1 -0
  76. package/dist/redis/reader/redisRulesQuery.d.ts +4 -0
  77. package/dist/redis/reader/redisRulesQuery.d.ts.map +1 -0
  78. package/dist/redis/reader/redisRulesQuery.js +12 -1
  79. package/dist/redis/reader/redisRulesQuery.js.map +1 -0
  80. package/dist/redis/reader/redisRulesReader.d.ts +26 -0
  81. package/dist/redis/reader/redisRulesReader.d.ts.map +1 -0
  82. package/dist/redis/reader/redisRulesReader.js.map +1 -0
  83. package/dist/redis/redisClient.d.ts +11 -0
  84. package/dist/redis/redisClient.d.ts.map +1 -0
  85. package/dist/redis/redisClient.js.map +1 -0
  86. package/dist/redis/redisRuleIndex.d.ts +13 -0
  87. package/dist/redis/redisRuleIndex.d.ts.map +1 -0
  88. package/dist/redis/redisRuleIndex.js +4 -1
  89. package/dist/redis/redisRuleIndex.js.map +1 -0
  90. package/dist/redis/redisRulesStorage.d.ts +5 -0
  91. package/dist/redis/redisRulesStorage.d.ts.map +1 -0
  92. package/dist/redis/redisRulesStorage.js.map +1 -0
  93. package/dist/redis/redisRulesWriter.d.ts +22 -0
  94. package/dist/redis/redisRulesWriter.d.ts.map +1 -0
  95. package/dist/redis/redisRulesWriter.js +6 -0
  96. package/dist/redis/redisRulesWriter.js.map +1 -0
  97. package/dist/rule.d.ts +36 -0
  98. package/dist/rule.d.ts.map +1 -0
  99. package/dist/rule.js.map +1 -0
  100. package/dist/ruleInput/.export.d.ts +4 -0
  101. package/dist/ruleInput/.export.d.ts.map +1 -0
  102. package/dist/ruleInput/.export.js.map +1 -0
  103. package/dist/ruleInput/policyInput.d.ts +39 -0
  104. package/dist/ruleInput/policyInput.d.ts.map +1 -0
  105. package/dist/ruleInput/policyInput.js +9 -1
  106. package/dist/ruleInput/policyInput.js.map +1 -0
  107. package/dist/ruleInput/ruleInput.d.ts +157 -0
  108. package/dist/ruleInput/ruleInput.d.ts.map +1 -0
  109. package/dist/ruleInput/ruleInput.js.map +1 -0
  110. package/dist/ruleInput/userScopeInput.d.ts +109 -0
  111. package/dist/ruleInput/userScopeInput.d.ts.map +1 -0
  112. package/dist/ruleInput/userScopeInput.js +3 -1
  113. package/dist/ruleInput/userScopeInput.js.map +1 -0
  114. package/dist/ruleRecord.d.ts +18 -0
  115. package/dist/ruleRecord.d.ts.map +1 -0
  116. package/dist/ruleRecord.js +3 -1
  117. package/dist/ruleRecord.js.map +1 -0
  118. package/dist/rulesStorage.d.ts +30 -0
  119. package/dist/rulesStorage.d.ts.map +1 -0
  120. package/dist/rulesStorage.js.map +1 -0
  121. package/dist/tests/policyInput.unit.test.d.ts +2 -0
  122. package/dist/tests/policyInput.unit.test.d.ts.map +1 -0
  123. package/dist/tests/policyInput.unit.test.js +116 -0
  124. package/dist/tests/policyInput.unit.test.js.map +1 -0
  125. package/dist/tests/redis/reader/redisRulesQuery.unit.test.d.ts +2 -0
  126. package/dist/tests/redis/reader/redisRulesQuery.unit.test.d.ts.map +1 -0
  127. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js +160 -0
  128. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js.map +1 -0
  129. package/dist/tests/redis/redisRulesStorage.integration.test.d.ts +2 -0
  130. package/dist/tests/redis/redisRulesStorage.integration.test.d.ts.map +1 -0
  131. package/dist/tests/redis/redisRulesStorage.integration.test.js +706 -0
  132. package/dist/tests/redis/redisRulesStorage.integration.test.js.map +1 -0
  133. package/dist/tests/testLogger.d.ts +4 -0
  134. package/dist/tests/testLogger.d.ts.map +1 -0
  135. package/dist/tests/testLogger.js +22 -0
  136. package/dist/tests/testLogger.js.map +1 -0
  137. package/dist/tests/transformRule.unit.test.d.ts +2 -0
  138. package/dist/tests/transformRule.unit.test.d.ts.map +1 -0
  139. package/dist/tests/transformRule.unit.test.js +190 -0
  140. package/dist/tests/transformRule.unit.test.js.map +1 -0
  141. package/dist/transformRule.d.ts +7 -0
  142. package/dist/transformRule.d.ts.map +1 -0
  143. package/dist/transformRule.js.map +1 -0
  144. package/entries.ts +1 -1
  145. package/package.json +11 -10
  146. package/vite.cjs.config.ts +1 -1
  147. package/vite.esm.config.ts +1 -1
  148. package/vite.test.config.ts +1 -1
@@ -0,0 +1,160 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getRulesRedisQuery } from "#policy/redis/reader/redisRulesQuery.js";
3
+ import { FilterScopeMatch, } from "#policy/rulesStorage.js";
4
+ describe("getRulesRedisQuery", () => {
5
+ it("puts ismissing(x) for field x passed in as `undefined` when user scope match is exact", () => {
6
+ const filter = {
7
+ userScope: {
8
+ numericIp: BigInt(100),
9
+ ja4Hash: "ja4Hash",
10
+ userAgentHash: undefined,
11
+ },
12
+ userScopeMatch: FilterScopeMatch.Exact,
13
+ };
14
+ const query = getRulesRedisQuery(filter, false);
15
+ expect(query).toBe("( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) )");
16
+ });
17
+ it("puts ismissing(x) for field x passed in as `undefined` when user scope match is exact and for missing fields when matchingFieldsOnly is set", () => {
18
+ const filter = {
19
+ userScope: {
20
+ numericIp: BigInt(100),
21
+ ja4Hash: "ja4Hash",
22
+ userAgentHash: undefined,
23
+ },
24
+ userScopeMatch: FilterScopeMatch.Exact,
25
+ };
26
+ const query = getRulesRedisQuery(filter, true);
27
+ expect(query).toBe("( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@userId) ismissing(@headersHash) ismissing(@headHash) ismissing(@coords) )");
28
+ });
29
+ it("puts ismissing(x) for multiple fields passed in as `undefined` when user scope match is exact", () => {
30
+ const filter = {
31
+ userScope: {
32
+ numericIp: BigInt(100),
33
+ ja4Hash: "ja4Hash",
34
+ userAgentHash: undefined,
35
+ headersHash: undefined,
36
+ userId: undefined,
37
+ },
38
+ userScopeMatch: FilterScopeMatch.Exact,
39
+ };
40
+ const query = getRulesRedisQuery(filter, false);
41
+ expect(query).toBe("( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) )");
42
+ });
43
+ it("does not put ismissing(x) for multiple fields passed in as `undefined` when user scope match is greedy", () => {
44
+ const filter = {
45
+ userScope: {
46
+ numericIp: BigInt(100),
47
+ ja4Hash: "ja4Hash",
48
+ userAgentHash: undefined,
49
+ headersHash: undefined,
50
+ userId: undefined,
51
+ },
52
+ userScopeMatch: FilterScopeMatch.Greedy,
53
+ };
54
+ const query = getRulesRedisQuery(filter, false);
55
+ expect(query).toBe("( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) | @ja4Hash:{ja4Hash} )");
56
+ });
57
+ it("puts ismissing(x) for multiple fields passed in as `undefined` when user scope match is exact 2", () => {
58
+ const filter = {
59
+ userScope: {
60
+ numericIp: undefined,
61
+ ja4Hash: "ja4Hash",
62
+ userAgentHash: undefined,
63
+ headersHash: undefined,
64
+ userId: undefined,
65
+ },
66
+ userScopeMatch: FilterScopeMatch.Exact,
67
+ };
68
+ const query = getRulesRedisQuery(filter, false);
69
+ expect(query).toBe("( ismissing(@numericIp) ismissing(@numericIpMaskMin) ismissing(@numericIpMaskMax) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) )");
70
+ });
71
+ it("does not put ismissing(numericIpMaskMin) and does not put ismissing(numericIpMaskMax) when numericIp is passed in", () => {
72
+ const filter = {
73
+ userScope: {
74
+ numericIp: BigInt(100),
75
+ ja4Hash: "ja4Hash",
76
+ userAgentHash: undefined,
77
+ headersHash: undefined,
78
+ userId: undefined,
79
+ },
80
+ userScopeMatch: FilterScopeMatch.Exact,
81
+ };
82
+ const query = getRulesRedisQuery(filter, true);
83
+ expect(query).toBe("( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) )");
84
+ });
85
+ it("does not put ismissing(numericIp) when numericIpMaskMin and numericIpMaskMax are passed in", () => {
86
+ const filter = {
87
+ userScope: {
88
+ numericIpMaskMin: BigInt(100),
89
+ numericIpMaskMax: BigInt(200),
90
+ ja4Hash: "ja4Hash",
91
+ userAgentHash: undefined,
92
+ headersHash: undefined,
93
+ userId: undefined,
94
+ },
95
+ userScopeMatch: FilterScopeMatch.Exact,
96
+ };
97
+ const query = getRulesRedisQuery(filter, true);
98
+ expect(query).toBe("( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[200 +inf] @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) )");
99
+ });
100
+ it("includes headHash in query when provided", () => {
101
+ const filter = {
102
+ userScope: {
103
+ headHash: "abc123def456",
104
+ },
105
+ userScopeMatch: FilterScopeMatch.Exact,
106
+ };
107
+ const query = getRulesRedisQuery(filter, false);
108
+ expect(query).toBe("( @headHash:{abc123def456} )");
109
+ });
110
+ it("includes coords in query when provided with escaped special characters", () => {
111
+ const filter = {
112
+ userScope: {
113
+ coords: "[[[100,200]]]",
114
+ },
115
+ userScopeMatch: FilterScopeMatch.Exact,
116
+ };
117
+ const query = getRulesRedisQuery(filter, false);
118
+ expect(query).toContain("@coords:{\\[\\[\\[100\\,200\\]\\]\\]}");
119
+ });
120
+ it("includes both headHash and coords when both provided", () => {
121
+ const filter = {
122
+ userScope: {
123
+ headHash: "abc123def456",
124
+ coords: "[[[100,200]]]",
125
+ },
126
+ userScopeMatch: FilterScopeMatch.Exact,
127
+ };
128
+ const query = getRulesRedisQuery(filter, false);
129
+ expect(query).toContain("@headHash:{abc123def456}");
130
+ expect(query).toContain("@coords:{\\[\\[\\[100\\,200\\]\\]\\]}");
131
+ });
132
+ it("puts ismissing(headHash) and ismissing(coords) when not provided and matchingFieldsOnly is true", () => {
133
+ const filter = {
134
+ userScope: {
135
+ ja4Hash: "ja4Hash",
136
+ },
137
+ userScopeMatch: FilterScopeMatch.Exact,
138
+ };
139
+ const query = getRulesRedisQuery(filter, true);
140
+ expect(query).toContain("ismissing(@headHash)");
141
+ expect(query).toContain("ismissing(@coords)");
142
+ });
143
+ it("combines headHash with other fields correctly in exact match", () => {
144
+ const filter = {
145
+ userScope: {
146
+ numericIp: BigInt(100),
147
+ ja4Hash: "ja4Hash",
148
+ headHash: "abc123def456",
149
+ userAgentHash: undefined,
150
+ },
151
+ userScopeMatch: FilterScopeMatch.Exact,
152
+ };
153
+ const query = getRulesRedisQuery(filter, false);
154
+ expect(query).toContain("@numericIp:[100 100]");
155
+ expect(query).toContain("@ja4Hash:{ja4Hash}");
156
+ expect(query).toContain("@headHash:{abc123def456}");
157
+ expect(query).toContain("ismissing(@userAgentHash)");
158
+ });
159
+ });
160
+ //# sourceMappingURL=redisRulesQuery.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisRulesQuery.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/redis/reader/redisRulesQuery.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=redisRulesStorage.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisRulesStorage.integration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/redis/redisRulesStorage.integration.test.ts"],"names":[],"mappings":""}