@alwaysmeticulous/session-filters 2.307.0 → 2.309.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.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3754007a-7c83-5315-b646-b29f289c9aff")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5fa89e0d-2aab-5317-93b5-f7b95538845a")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -71,43 +71,6 @@ const session_filters_1 = require("../session-filters");
71
71
  });
72
72
  (0, vitest_1.expect)(result.valid).toBe(false);
73
73
  });
74
- (0, vitest_1.it)("rejects regexes that do not compile", () => {
75
- const result = (0, session_filters_1.validateSessionFilter)({
76
- type: "session-start-url-matches-any-regex",
77
- regexes: ["valid", "(unclosed"],
78
- });
79
- (0, vitest_1.expect)(result).toMatchObject({ valid: false });
80
- if (result.valid) {
81
- throw new Error("expected invalid");
82
- }
83
- (0, vitest_1.expect)(result.error).toContain('"(unclosed"');
84
- (0, vitest_1.expect)(result.error).toContain("does not compile");
85
- });
86
- (0, vitest_1.it)("rejects regexes with features unsupported by the linear-time engine", () => {
87
- // Backreferences and lookaheads are backtracking features that RE2
88
- // (deliberately) does not support.
89
- const result = (0, session_filters_1.validateSessionFilter)({
90
- type: "session-start-url-matches-any-regex",
91
- regexes: ["(?=lookahead)"],
92
- });
93
- (0, vitest_1.expect)(result.valid).toBe(false);
94
- });
95
- });
96
- (0, vitest_1.describe)("compileSessionFilter", () => {
97
- const matcher = (0, session_filters_1.compileSessionFilter)({
98
- type: "session-start-url-matches-any-regex",
99
- regexes: ["/checkout/", "^https://app\\.example\\.com/settings"],
100
- });
101
- (0, vitest_1.it)("matches a start URL matching any of the regexes", () => {
102
- (0, vitest_1.expect)(matcher("https://shop.example.com/checkout/payment")).toBe(true);
103
- (0, vitest_1.expect)(matcher("https://app.example.com/settings/profile")).toBe(true);
104
- });
105
- (0, vitest_1.it)("does not match a start URL matching none of the regexes", () => {
106
- (0, vitest_1.expect)(matcher("https://app.example.com/dashboard")).toBe(false);
107
- });
108
- (0, vitest_1.it)("matches anywhere in the URL (unanchored) like the underlying engine", () => {
109
- (0, vitest_1.expect)(matcher("https://example.com/a/checkout/b")).toBe(true);
110
- });
111
74
  });
112
75
  //# sourceMappingURL=session-filters.spec.js.map
113
- //# debugId=3754007a-7c83-5315-b646-b29f289c9aff
76
+ //# debugId=5fa89e0d-2aab-5317-93b5-f7b95538845a
@@ -1 +1 @@
1
- {"version":3,"file":"session-filters.spec.js","sources":["../../src/__tests__/session-filters.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"3754007a-7c83-5315-b646-b29f289c9aff"}
1
+ {"version":3,"file":"session-filters.spec.js","sources":["../../src/__tests__/session-filters.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,mCAA8C;AAC9C,wDAG4B;AAE5B,IAAA,iBAAQ,EAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;YACnC,IAAI,EAAE,qCAAqC;YAC3C,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;SACxC,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACN,IAAI,EAAE,qCAAqC;gBAC3C,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;aACxC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,KAAK,CAAC,CAAC;YAC5C,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;YACnC,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,CAAC,GAAG,CAAC;SACf,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,KAAK,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;gBACnC,IAAI,EAAE,qCAAqC;gBAC3C,OAAO;aACR,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;YACnC,IAAI,EAAE,qCAAqC;YAC3C,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;gBACnC,IAAI,EAAE,qCAAqC;gBAC3C,OAAO;aACR,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC;YACnC,IAAI,EAAE,qCAAqC;YAC3C,OAAO,EAAE,KAAK,CAAC,IAAI,CACjB,EAAE,MAAM,EAAE,4CAA0B,GAAG,CAAC,EAAE,EAC1C,GAAG,EAAE,CAAC,GAAG,CACV;SACF,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"5fa89e0d-2aab-5317-93b5-f7b95538845a"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { compileSessionFilter, validateSessionFilter, MAX_SESSION_FILTER_REGEXES, MAX_SESSION_FILTER_REGEX_LENGTH, type SessionFilterValidationResult, } from "./session-filters";
1
+ export { validateSessionFilter, MAX_SESSION_FILTER_REGEXES, MAX_SESSION_FILTER_REGEX_LENGTH, type SessionFilterValidationResult, } from "./session-filters";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="107699b2-3be3-54f4-a9f0-5f35a54bab9d")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="960b6f87-63f8-5597-b300-6ba9500ed361")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = exports.validateSessionFilter = exports.compileSessionFilter = void 0;
5
+ exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = exports.validateSessionFilter = void 0;
6
6
  var session_filters_1 = require("./session-filters");
7
- Object.defineProperty(exports, "compileSessionFilter", { enumerable: true, get: function () { return session_filters_1.compileSessionFilter; } });
8
7
  Object.defineProperty(exports, "validateSessionFilter", { enumerable: true, get: function () { return session_filters_1.validateSessionFilter; } });
9
8
  Object.defineProperty(exports, "MAX_SESSION_FILTER_REGEXES", { enumerable: true, get: function () { return session_filters_1.MAX_SESSION_FILTER_REGEXES; } });
10
9
  Object.defineProperty(exports, "MAX_SESSION_FILTER_REGEX_LENGTH", { enumerable: true, get: function () { return session_filters_1.MAX_SESSION_FILTER_REGEX_LENGTH; } });
11
10
  //# sourceMappingURL=index.js.map
12
- //# debugId=107699b2-3be3-54f4-a9f0-5f35a54bab9d
11
+ //# debugId=960b6f87-63f8-5597-b300-6ba9500ed361
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAM2B;AALzB,uHAAA,oBAAoB,OAAA;AACpB,wHAAA,qBAAqB,OAAA;AACrB,6HAAA,0BAA0B,OAAA;AAC1B,kIAAA,+BAA+B,OAAA","debugId":"107699b2-3be3-54f4-a9f0-5f35a54bab9d"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAK2B;AAJzB,wHAAA,qBAAqB,OAAA;AACrB,6HAAA,0BAA0B,OAAA;AAC1B,kIAAA,+BAA+B,OAAA","debugId":"960b6f87-63f8-5597-b300-6ba9500ed361"}
@@ -9,20 +9,11 @@ export type SessionFilterValidationResult = {
9
9
  error: string;
10
10
  };
11
11
  /**
12
- * Validates an untrusted value as a {@link SessionFilter}, including checking
13
- * that every regex compiles with the same engine used for matching (Google's
14
- * RE2 — linear-time, no backreferences or lookaround; see
15
- * https://github.com/google/re2/wiki/Syntax).
12
+ * Validates an untrusted value as a {@link SessionFilter}, including structural
13
+ * validation of the filter object and basic constraints (length, count).
16
14
  *
17
- * Shared by the CLI (to reject bad filters before triggering a run) and the
18
- * backend (to reject bad filters at the API boundary), so validation semantics
19
- * cannot drift between the two.
15
+ * Does NOT validate that regexes compile regexes must use RE2 syntax, which
16
+ * is validated by the backend at the API boundary.
20
17
  */
21
18
  export declare const validateSessionFilter: (value: unknown) => SessionFilterValidationResult;
22
- /**
23
- * Compiles a {@link SessionFilter} into a predicate over a session's start
24
- * URL. Throws if any regex does not compile — call
25
- * {@link validateSessionFilter} first at the system boundary.
26
- */
27
- export declare const compileSessionFilter: (filter: SessionFilter) => ((sessionStartUrl: string) => boolean);
28
19
  //# sourceMappingURL=session-filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-filters.d.ts","sourceRoot":"","sources":["../src/session-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,MAAM,MAAM,6BAA6B,GACrC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACtC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb,6BAyEF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,WACvB,aAAa,KACpB,CAAC,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAIvC,CAAC"}
1
+ {"version":3,"file":"session-filters.d.ts","sourceRoot":"","sources":["../src/session-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,MAAM,MAAM,6BAA6B,GACrC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACtC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb,6BA+DF,CAAC"}
@@ -1,23 +1,16 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="49a3a874-4fed-557a-b3f4-f21b32fcdfcd")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a9dc907a-5816-5250-ae1a-7b3b75fd8269")}catch(e){}}();
3
3
 
4
- var __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
6
- };
7
4
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.compileSessionFilter = exports.validateSessionFilter = exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = void 0;
9
- const re2_1 = __importDefault(require("re2"));
5
+ exports.validateSessionFilter = exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = void 0;
10
6
  exports.MAX_SESSION_FILTER_REGEXES = 100;
11
7
  exports.MAX_SESSION_FILTER_REGEX_LENGTH = 1_000;
12
8
  /**
13
- * Validates an untrusted value as a {@link SessionFilter}, including checking
14
- * that every regex compiles with the same engine used for matching (Google's
15
- * RE2 — linear-time, no backreferences or lookaround; see
16
- * https://github.com/google/re2/wiki/Syntax).
9
+ * Validates an untrusted value as a {@link SessionFilter}, including structural
10
+ * validation of the filter object and basic constraints (length, count).
17
11
  *
18
- * Shared by the CLI (to reject bad filters before triggering a run) and the
19
- * backend (to reject bad filters at the API boundary), so validation semantics
20
- * cannot drift between the two.
12
+ * Does NOT validate that regexes compile regexes must use RE2 syntax, which
13
+ * is validated by the backend at the API boundary.
21
14
  */
22
15
  const validateSessionFilter = (value) => {
23
16
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
@@ -68,15 +61,6 @@ const validateSessionFilter = (value) => {
68
61
  error: `Session filter regexes must be at most ${exports.MAX_SESSION_FILTER_REGEX_LENGTH} characters long (got one of length ${regex.length}).`,
69
62
  };
70
63
  }
71
- try {
72
- new re2_1.default(regex);
73
- }
74
- catch (error) {
75
- return {
76
- valid: false,
77
- error: `Session filter regex ${JSON.stringify(regex)} does not compile: ${error instanceof Error ? error.message : String(error)}. Regexes use the RE2 syntax (https://github.com/google/re2/wiki/Syntax).`,
78
- };
79
- }
80
64
  }
81
65
  return {
82
66
  valid: true,
@@ -87,15 +71,5 @@ const validateSessionFilter = (value) => {
87
71
  };
88
72
  };
89
73
  exports.validateSessionFilter = validateSessionFilter;
90
- /**
91
- * Compiles a {@link SessionFilter} into a predicate over a session's start
92
- * URL. Throws if any regex does not compile — call
93
- * {@link validateSessionFilter} first at the system boundary.
94
- */
95
- const compileSessionFilter = (filter) => {
96
- const compiledRegexes = filter.regexes.map((regex) => new re2_1.default(regex));
97
- return (sessionStartUrl) => compiledRegexes.some((regex) => regex.test(sessionStartUrl));
98
- };
99
- exports.compileSessionFilter = compileSessionFilter;
100
74
  //# sourceMappingURL=session-filters.js.map
101
- //# debugId=49a3a874-4fed-557a-b3f4-f21b32fcdfcd
75
+ //# debugId=a9dc907a-5816-5250-ae1a-7b3b75fd8269
@@ -1 +1 @@
1
- {"version":3,"file":"session-filters.js","sources":["../src/session-filters.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"49a3a874-4fed-557a-b3f4-f21b32fcdfcd"}
1
+ {"version":3,"file":"session-filters.js","sources":["../src/session-filters.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAEa,QAAA,0BAA0B,GAAG,GAAG,CAAC;AACjC,QAAA,+BAA+B,GAAG,KAAK,CAAC;AAMrD;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CACnC,KAAc,EACiB,EAAE;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,IAAI,KAAK,qCAAqC,EAAE,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,+BAA+B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2DAA2D;SACtH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uDAAuD;SAC/D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EACH,kIAAkI;SACrI,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,kCAA0B,EAAE,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,iDAAiD,kCAA0B,iBAAiB,OAAO,CAAC,MAAM,IAAI;SACtH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,uDAAuD;aAC/D,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,iGAAiG;aACpG,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,uCAA+B,EAAE,CAAC;YACnD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,0CAA0C,uCAA+B,uCAAuC,KAAK,CAAC,MAAM,IAAI;aACxI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;YAC3C,OAAO,EAAE,OAAmB;SAC7B;KACF,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,qBAAqB,yBAiEhC","debugId":"a9dc907a-5816-5250-ae1a-7b3b75fd8269"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/session-filters",
3
- "version": "2.307.0",
3
+ "version": "2.309.0",
4
4
  "description": "Validation and matching for Meticulous session filters, shared between the CLI and the Meticulous backend",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -9,7 +9,6 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "re2": "1.24.0",
13
12
  "@alwaysmeticulous/api": "2.307.0"
14
13
  },
15
14
  "devDependencies": {