@prosopo/user-access-policy 3.10.10 → 3.11.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 (61) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +10 -9
  2. package/.turbo/turbo-build$colon$tsc.log +14 -14
  3. package/.turbo/turbo-build.log +11 -10
  4. package/CHANGELOG.md +20 -0
  5. package/dist/.export.d.ts +1 -0
  6. package/dist/.export.d.ts.map +1 -1
  7. package/dist/.export.js +3 -0
  8. package/dist/.export.js.map +1 -1
  9. package/dist/cjs/.export.cjs +3 -0
  10. package/dist/cjs/classifyOs.cjs +31 -0
  11. package/dist/cjs/mongoose/mongooseRuleSchema.cjs +2 -1
  12. package/dist/cjs/redis/reader/redisRulesReader.cjs +2 -0
  13. package/dist/cjs/redis/redisRuleIndex.cjs +2 -1
  14. package/dist/cjs/ruleInput/userScopeInput.cjs +5 -1
  15. package/dist/cjs/ruleRecord.cjs +2 -1
  16. package/dist/classifyOs.d.ts +4 -0
  17. package/dist/classifyOs.d.ts.map +1 -0
  18. package/dist/classifyOs.js +31 -0
  19. package/dist/classifyOs.js.map +1 -0
  20. package/dist/mongoose/mongooseRuleSchema.d.ts.map +1 -1
  21. package/dist/mongoose/mongooseRuleSchema.js +2 -1
  22. package/dist/mongoose/mongooseRuleSchema.js.map +1 -1
  23. package/dist/redis/reader/redisRulesReader.d.ts.map +1 -1
  24. package/dist/redis/reader/redisRulesReader.js +2 -0
  25. package/dist/redis/reader/redisRulesReader.js.map +1 -1
  26. package/dist/redis/redisRuleIndex.d.ts.map +1 -1
  27. package/dist/redis/redisRuleIndex.js +2 -1
  28. package/dist/redis/redisRuleIndex.js.map +1 -1
  29. package/dist/rule.d.ts +1 -0
  30. package/dist/rule.d.ts.map +1 -1
  31. package/dist/ruleInput/ruleInput.d.ts +6 -0
  32. package/dist/ruleInput/ruleInput.d.ts.map +1 -1
  33. package/dist/ruleInput/userScopeInput.d.ts +8 -0
  34. package/dist/ruleInput/userScopeInput.d.ts.map +1 -1
  35. package/dist/ruleInput/userScopeInput.js +5 -1
  36. package/dist/ruleInput/userScopeInput.js.map +1 -1
  37. package/dist/ruleRecord.d.ts +2 -2
  38. package/dist/ruleRecord.d.ts.map +1 -1
  39. package/dist/ruleRecord.js +2 -1
  40. package/dist/ruleRecord.js.map +1 -1
  41. package/dist/tests/classifyOs.unit.test.d.ts +2 -0
  42. package/dist/tests/classifyOs.unit.test.d.ts.map +1 -0
  43. package/dist/tests/classifyOs.unit.test.js +66 -0
  44. package/dist/tests/classifyOs.unit.test.js.map +1 -0
  45. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js +3 -3
  46. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js.map +1 -1
  47. package/dist/tests/transformRule.unit.test.js +1 -0
  48. package/dist/tests/transformRule.unit.test.js.map +1 -1
  49. package/package.json +4 -4
  50. package/src/.export.ts +2 -0
  51. package/src/classifyOs.ts +74 -0
  52. package/src/mongoose/mongooseRuleSchema.ts +1 -0
  53. package/src/redis/reader/redisRulesReader.ts +2 -0
  54. package/src/redis/redisRuleIndex.ts +1 -0
  55. package/src/rule.ts +6 -0
  56. package/src/ruleInput/userScopeInput.ts +4 -0
  57. package/src/ruleRecord.ts +1 -0
  58. package/src/tests/classifyOs.unit.test.ts +97 -0
  59. package/src/tests/redis/reader/redisRulesQuery.unit.test.ts +3 -3
  60. package/src/tests/transformRule.unit.test.ts +1 -0
  61. package/tsconfig.tsbuildinfo +1 -1
@@ -50,7 +50,7 @@ describe("getRulesRedisQuery", () => {
50
50
  const query = getRulesRedisQuery(filter, true);
51
51
 
52
52
  expect(query).toBe(
53
- "( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@userId) ismissing(@headersHash) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) )",
53
+ "( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@userId) ismissing(@headersHash) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) ismissing(@os) )",
54
54
  );
55
55
  });
56
56
 
@@ -126,7 +126,7 @@ describe("getRulesRedisQuery", () => {
126
126
  const query = getRulesRedisQuery(filter, true);
127
127
 
128
128
  expect(query).toBe(
129
- "( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) )",
129
+ "( ( @numericIp:[100 100] | ( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[100 +inf] ) ) @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) ismissing(@os) )",
130
130
  );
131
131
  });
132
132
 
@@ -146,7 +146,7 @@ describe("getRulesRedisQuery", () => {
146
146
  const query = getRulesRedisQuery(filter, true);
147
147
 
148
148
  expect(query).toBe(
149
- "( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[200 +inf] @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) )",
149
+ "( @numericIpMaskMin:[-inf 100] @numericIpMaskMax:[200 +inf] @ja4Hash:{ja4Hash} ismissing(@userAgentHash) ismissing(@headersHash) ismissing(@userId) ismissing(@headHash) ismissing(@coords) ismissing(@countryCode) ismissing(@asn) ismissing(@os) )",
150
150
  );
151
151
  });
152
152
 
@@ -115,6 +115,7 @@ describe("transformRule", () => {
115
115
  coords: "[[1,2]]",
116
116
  countryCode: "US",
117
117
  asn: 205016,
118
+ os: "macos",
118
119
  } satisfies AccessRule;
119
120
 
120
121
  it("should transform access rule record into rule", () => {