@alwaysmeticulous/session-filters 2.308.0 → 2.310.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":"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","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;AAyB3D,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,6BA0EF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,WACvB,aAAa,KACpB,CAAC,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAKvC,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,27 +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]="70ea37cf-98b4-5dfc-81a1-bbe140d7b48e")}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
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.compileSessionFilter = exports.validateSessionFilter = exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = void 0;
6
- let cachedRE2;
7
- const getRE2 = () => {
8
- if (cachedRE2 === undefined) {
9
- // eslint-disable-next-line @typescript-eslint/no-require-imports
10
- cachedRE2 = require("re2");
11
- }
12
- return cachedRE2;
13
- };
5
+ exports.validateSessionFilter = exports.MAX_SESSION_FILTER_REGEX_LENGTH = exports.MAX_SESSION_FILTER_REGEXES = void 0;
14
6
  exports.MAX_SESSION_FILTER_REGEXES = 100;
15
7
  exports.MAX_SESSION_FILTER_REGEX_LENGTH = 1_000;
16
8
  /**
17
- * Validates an untrusted value as a {@link SessionFilter}, including checking
18
- * that every regex compiles with the same engine used for matching (Google's
19
- * RE2 — linear-time, no backreferences or lookaround; see
20
- * 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).
21
11
  *
22
- * Shared by the CLI (to reject bad filters before triggering a run) and the
23
- * backend (to reject bad filters at the API boundary), so validation semantics
24
- * 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.
25
14
  */
26
15
  const validateSessionFilter = (value) => {
27
16
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
@@ -72,16 +61,6 @@ const validateSessionFilter = (value) => {
72
61
  error: `Session filter regexes must be at most ${exports.MAX_SESSION_FILTER_REGEX_LENGTH} characters long (got one of length ${regex.length}).`,
73
62
  };
74
63
  }
75
- try {
76
- const RE2Ctor = getRE2();
77
- new RE2Ctor(regex);
78
- }
79
- catch (error) {
80
- return {
81
- valid: false,
82
- 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).`,
83
- };
84
- }
85
64
  }
86
65
  return {
87
66
  valid: true,
@@ -92,16 +71,5 @@ const validateSessionFilter = (value) => {
92
71
  };
93
72
  };
94
73
  exports.validateSessionFilter = validateSessionFilter;
95
- /**
96
- * Compiles a {@link SessionFilter} into a predicate over a session's start
97
- * URL. Throws if any regex does not compile — call
98
- * {@link validateSessionFilter} first at the system boundary.
99
- */
100
- const compileSessionFilter = (filter) => {
101
- const RE2Ctor = getRE2();
102
- const compiledRegexes = filter.regexes.map((regex) => new RE2Ctor(regex));
103
- return (sessionStartUrl) => compiledRegexes.some((regex) => regex.test(sessionStartUrl));
104
- };
105
- exports.compileSessionFilter = compileSessionFilter;
106
74
  //# sourceMappingURL=session-filters.js.map
107
- //# debugId=70ea37cf-98b4-5dfc-81a1-bbe140d7b48e
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":"70ea37cf-98b4-5dfc-81a1-bbe140d7b48e"}
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.308.0",
3
+ "version": "2.310.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,8 +9,7 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "re2": "1.24.0",
13
- "@alwaysmeticulous/api": "2.307.0"
12
+ "@alwaysmeticulous/api": "2.310.0"
14
13
  },
15
14
  "devDependencies": {
16
15
  "vitest": "^4.1.7"