vintasend-managed-templates 1.0.0-alpha2 → 1.0.0-alpha3

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 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"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"}
package/dist/filters.js CHANGED
@@ -33,6 +33,21 @@ void _allFilterFieldsListed;
33
33
  export const TAG_FILTER_FIELDS = ['includesAllTags', 'includesAnyOfTags'];
34
34
  /** The filter fields whose value is a bare boolean. */
35
35
  export const FLAG_FILTER_FIELDS = ['mostRecentActiveVersion', 'isAbstract'];
36
+ /**
37
+ * The filter fields whose value is a string match rather than a token, a range or a flag — the
38
+ * only ones the `stringLookups.*` capabilities have anything to say about.
39
+ *
40
+ * `status` is deliberately absent. It is a string union, so it passes `typeof value === 'string'`
41
+ * and `isStringFilterLookup`, but it is matched as a token — `matchesStatus`, not `matchesString`
42
+ * — and no string-comparison capability constrains it. Gating on the field name rather than on the
43
+ * value's shape is what keeps the pruner agreeing with the evaluator.
44
+ */
45
+ const STRING_LOOKUP_FIELDS = [
46
+ 'name',
47
+ 'description',
48
+ 'key',
49
+ 'templateManagedBackend',
50
+ ];
36
51
  const LOGICAL_KEYS = ['and', 'or', 'not'];
37
52
  const STRING_LOOKUPS = ['exact', 'startsWith', 'endsWith', 'includes'];
38
53
  const NUMERIC_LOOKUPS = ['gt', 'gte', 'lt', 'lte'];
@@ -223,12 +238,14 @@ function pruneFields(fields, can) {
223
238
  continue;
224
239
  if (!can(`fields.${field}`))
225
240
  continue;
226
- if (isStringFilterLookup(value) && !supportedStringLookup(value, can))
227
- continue;
228
- // A bare string means exact and case-sensitive.
229
- if (typeof value === 'string' &&
230
- !(can('stringLookups.exact') && can('stringLookups.caseSensitive'))) {
231
- continue;
241
+ if (STRING_LOOKUP_FIELDS.includes(field)) {
242
+ if (isStringFilterLookup(value) && !supportedStringLookup(value, can))
243
+ continue;
244
+ // A bare string means exact and case-sensitive.
245
+ if (typeof value === 'string' &&
246
+ !(can('stringLookups.exact') && can('stringLookups.caseSensitive'))) {
247
+ continue;
248
+ }
232
249
  }
233
250
  kept[field] = value;
234
251
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vintasend-managed-templates",
3
- "version": "1.0.0-alpha2",
3
+ "version": "1.0.0-alpha3",
4
4
  "description": "Database-backed notification templates for VintaSend: versioning, a draft/active/inactive/archived lifecycle with an audit trail, tags, composition and filtering — on top of a storage seam you implement.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "url": "git+https://github.com/vintasoftware/vintasend-ts-managed-templates.git"
27
27
  },
28
28
  "dependencies": {
29
- "vintasend": "^1.0.0-alpha2"
29
+ "vintasend": "^1.0.0-alpha3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@biomejs/biome": "^2.5.10",