{"version":3,"file":"index.cjs","sources":["../../src/types/enums.ts","../../src/utils/isObjectOrUndefined.ts","../../src/matchers/equals.ts","../../src/matchers/notEquals.ts","../../src/matchers/exists.ts","../../src/matchers/notexists.ts","../../src/utils/isNumber.ts","../../src/matchers/greaterThan.ts","../../src/matchers/greaterThanEquals.ts","../../src/matchers/lessThan.ts","../../src/matchers/lessThanEquals.ts","../../src/matchers/contains.ts","../../src/matchers/notContains.ts","../../src/matchers/startsWith.ts","../../src/matchers/endsWith.ts","../../src/matchers/index.ts","../../src/utils/isUndefined.ts","../../src/historical.ts","../../src/model.ts","../../src/parser.ts","../../src/executors/constants.ts","../../src/executors/default/default-rules-executor.ts","../../src/executors/target/validator.ts","../../src/executors/target/identity-extractor.ts","../../src/executors/target/id-factory.ts","../../src/utils/isDefined.ts","../../src/utils/memoize.ts","../../src/utils/hashing.ts","../../src/executors/target/context-factory.ts","../../src/executors/target/target-rules-executor.ts","../../src/executors/index.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ConditionType","MATCHER","GROUP","HISTORICAL","MatcherType","EQUALS","NOT_EQUALS","EXISTS","NOT_EXISTS","GREATER_THAN","GREATER_THAN_OR_EQUAL_TO","LESS_THAN","LESS_THAN_OR_EQUAL_TO","CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH","LogicType","AND","OR","SearchType","ANY","ORDERED","MOST_RECENT","isObjectOrUndefined","value","createEquals","matches","context","key","values","contextValue","String","toLowerCase","i","length","createNotEquals","createExists","createNotExists","isNumber","createGreaterThan","needle","createGreaterThanEquals","createLessThan","createLessThanEquals","createContains","indexOf","createNotContains","createStartsWith","startsWith","createEndsWith","endsWith","MATCHERS","getMatcher","isUndefined","IAM_ID","EVENT_ID","ID","IAM_EVENT_TYPE","EVENT_TYPE","TYPE","VALID_EVENT_TYPES","VALID_EVENT_IDS","checkForHistoricalMatcher","eventCount","matcherKey","detectKeyName","properties","Error","normalizeEvent","originalEvent","event","structuredClone","forEach","keyName","normalizedKeyName","queryAndCountAnyEvent","events","options","from","to","Infinity","reduce","countTotal","eventHash","generateEventHash","contextEvent","timestamps","filter","t","queryAndCountOrderedEvent","previousEventTimestamp","sameSequence","every","contextEventFirstTimestamp","isOrdered","Number","queryAndCountMostRecentEvent","mostRecent","index","mostRecentTimestamp","pop","timestamp","evaluateAnd","conditions","result","evaluate","evaluateOr","createRules","version","rules","metadata","createRule","condition","consequences","execute","toString","createCondition","type","definition","createConsequence","id","detail","createGroupDefinition","logic","createMatcherDefinition","matcher","createHistoricalDefinition","searchType","parseMatcherDefinition","parseGroupDefinition","map","parseCondition","parseHistoricalDefinition","matchers","definitions","parseConsequence","consequence","parseRule","rule","parsedCondition","parsedConsequences","parseMetadata","undefined","provider","providerData","Object","assign","parseRules","ruleset","parsedRules","parsedMetadata","TARGET_PROVIDER","DEFAULT_PROVIDER","createDefaultRulesExecutor","arr","validateMetadata","identityTemplate","buckets","NAMESPACE","extractIdentity","xdm","identityMap","identities","Array","isArray","KEY_PATTERN","IDENTITY_PATTERN","createId","identity","replace","isDefined","memoize","func","keyResolverFunc","memoizedValues","memoized","funcArgs","mul32","m","n","nlo","nhi","hashUnencodedCharsRaw","stringValue","seed","k1","len","c1","c2","h1","roundedEnd","charCodeAt","hashUnencodedChars","join","MAX_PERCENTAGE","createAllocation","signedNumericHashValue","hashFixedBucket","Math","abs","allocationValue","round","createAllocationMemoized","createContext","allocation","groupRules","push","evaluateRules","createTargetRulesExecutor","rulesNoKey","rulesWithKeys","consequencesNoKey","rulesKeys","keys","consequencesWithKeys","rulesForKey","contextForKey","createExecutor","RulesEngine"],"mappings":"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"}