@altopelago/aeos-core 0.9.0 → 0.9.2
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.
- package/LICENSE +21 -0
- package/dist/diag/codes.d.ts +4 -0
- package/dist/diag/codes.d.ts.map +1 -1
- package/dist/diag/codes.js +4 -0
- package/dist/diag/codes.js.map +1 -1
- package/dist/rules/numericForm.d.ts +1 -0
- package/dist/rules/numericForm.d.ts.map +1 -1
- package/dist/rules/numericForm.js +106 -18
- package/dist/rules/numericForm.js.map +1 -1
- package/dist/rules/presence.d.ts.map +1 -1
- package/dist/rules/presence.js +2 -0
- package/dist/rules/presence.js.map +1 -1
- package/dist/rules/referenceForm.d.ts.map +1 -1
- package/dist/rules/referenceForm.js +5 -1
- package/dist/rules/referenceForm.js.map +1 -1
- package/dist/rules/schemaIndex.d.ts.map +1 -1
- package/dist/rules/schemaIndex.js +234 -12
- package/dist/rules/schemaIndex.js.map +1 -1
- package/dist/rules/stringForm.d.ts +3 -2
- package/dist/rules/stringForm.d.ts.map +1 -1
- package/dist/rules/stringForm.js +35 -24
- package/dist/rules/stringForm.js.map +1 -1
- package/dist/rules/typeCheck.d.ts.map +1 -1
- package/dist/rules/typeCheck.js +22 -2
- package/dist/rules/typeCheck.js.map +1 -1
- package/dist/types/schema.d.ts +43 -4
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/types/schema.js +11 -0
- package/dist/types/schema.js.map +1 -1
- package/dist/validate.d.ts +3 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +710 -39
- package/dist/validate.js.map +1 -1
- package/package.json +28 -3
|
@@ -6,9 +6,149 @@
|
|
|
6
6
|
import { hasUnknownConstraintKeys } from '../types/schema.js';
|
|
7
7
|
import { createDiag, emitError } from '../diag/emit.js';
|
|
8
8
|
import { ErrorCodes } from '../diag/codes.js';
|
|
9
|
+
const MAX_SCHEMA_REGEX_LENGTH = 512;
|
|
10
|
+
const PORTABLE_REGEX_ESCAPES = new Set([
|
|
11
|
+
'0', 'b', 'B', 'd', 'D', 'f', 'n', 'r', 's', 'S', 't', 'v', 'w', 'W',
|
|
12
|
+
'\\', '^', '$', '.', '|', '?', '*', '+', '(', ')', '[', ']', '{', '}', '-',
|
|
13
|
+
]);
|
|
9
14
|
function isReferenceType(type) {
|
|
10
15
|
return type === 'CloneReference' || type === 'PointerReference';
|
|
11
16
|
}
|
|
17
|
+
function isRegexQuantifierStart(pattern, index) {
|
|
18
|
+
const char = pattern[index];
|
|
19
|
+
return char === '*' || char === '+' || char === '{';
|
|
20
|
+
}
|
|
21
|
+
function hasNestedQuantifiedGroup(pattern) {
|
|
22
|
+
const stack = [];
|
|
23
|
+
let escaped = false;
|
|
24
|
+
let inCharacterClass = false;
|
|
25
|
+
for (let i = 0; i < pattern.length; i += 1) {
|
|
26
|
+
const char = pattern[i];
|
|
27
|
+
if (escaped) {
|
|
28
|
+
escaped = false;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (char === '\\') {
|
|
32
|
+
escaped = true;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (char === '[') {
|
|
36
|
+
inCharacterClass = true;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (char === ']' && inCharacterClass) {
|
|
40
|
+
inCharacterClass = false;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (inCharacterClass) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (char === '(') {
|
|
47
|
+
stack.push({ hasInnerQuantifier: false });
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (char === ')') {
|
|
51
|
+
const group = stack.pop();
|
|
52
|
+
if (!group)
|
|
53
|
+
continue;
|
|
54
|
+
if (group.hasInnerQuantifier && isRegexQuantifierStart(pattern, i + 1)) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
const parent = stack.at(-1);
|
|
58
|
+
if (parent && isRegexQuantifierStart(pattern, i + 1)) {
|
|
59
|
+
parent.hasInnerQuantifier = true;
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const current = stack.at(-1);
|
|
64
|
+
if (current && isRegexQuantifierStart(pattern, i)) {
|
|
65
|
+
current.hasInnerQuantifier = true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
function validatePortablePatternSyntax(pattern) {
|
|
71
|
+
const stack = [];
|
|
72
|
+
let escaped = false;
|
|
73
|
+
let inCharacterClass = false;
|
|
74
|
+
for (let i = 0; i < pattern.length; i += 1) {
|
|
75
|
+
const char = pattern[i] ?? '';
|
|
76
|
+
if (escaped) {
|
|
77
|
+
if (/^[1-9]$/.test(char)) {
|
|
78
|
+
return 'backreferences are not part of the AEOS portable pattern profile';
|
|
79
|
+
}
|
|
80
|
+
if ((char === 'p' || char === 'P') && pattern[i + 1] === '{') {
|
|
81
|
+
return 'Unicode property escapes are not part of the AEOS portable pattern profile';
|
|
82
|
+
}
|
|
83
|
+
if (char === 'k' && pattern[i + 1] === '<') {
|
|
84
|
+
return 'named backreferences are not part of the AEOS portable pattern profile';
|
|
85
|
+
}
|
|
86
|
+
if (/^[A-Za-z0-9]$/.test(char) && !PORTABLE_REGEX_ESCAPES.has(char)) {
|
|
87
|
+
return `unsupported escape sequence \\${char}`;
|
|
88
|
+
}
|
|
89
|
+
escaped = false;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (char === '\\') {
|
|
93
|
+
escaped = true;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (inCharacterClass) {
|
|
97
|
+
if (char === ']') {
|
|
98
|
+
inCharacterClass = false;
|
|
99
|
+
}
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (char === '[') {
|
|
103
|
+
inCharacterClass = true;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (char === '(') {
|
|
107
|
+
if (pattern[i + 1] === '?') {
|
|
108
|
+
if (pattern[i + 2] !== ':') {
|
|
109
|
+
return 'lookaround, named groups, and inline regex flags are not part of the AEOS portable pattern profile';
|
|
110
|
+
}
|
|
111
|
+
i += 2;
|
|
112
|
+
}
|
|
113
|
+
stack.push('(');
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (char === ')') {
|
|
117
|
+
if (stack.pop() === undefined) {
|
|
118
|
+
return 'unmatched closing group';
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (escaped) {
|
|
123
|
+
return 'trailing escape';
|
|
124
|
+
}
|
|
125
|
+
if (inCharacterClass) {
|
|
126
|
+
return 'unterminated character class';
|
|
127
|
+
}
|
|
128
|
+
if (stack.length > 0) {
|
|
129
|
+
return 'unterminated group';
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
function regexConstraintProblem(value) {
|
|
134
|
+
if (value.length > MAX_SCHEMA_REGEX_LENGTH) {
|
|
135
|
+
return `regex exceeds ${MAX_SCHEMA_REGEX_LENGTH} characters`;
|
|
136
|
+
}
|
|
137
|
+
const portableProblem = validatePortablePatternSyntax(value);
|
|
138
|
+
if (portableProblem) {
|
|
139
|
+
return portableProblem;
|
|
140
|
+
}
|
|
141
|
+
if (hasNestedQuantifiedGroup(value)) {
|
|
142
|
+
return 'regex contains a nested quantified group';
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
new RegExp(value);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return 'regex is not valid ECMAScript syntax';
|
|
149
|
+
}
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
12
152
|
function validateReferenceConstraints(schema, rulePath, constraints, ctx) {
|
|
13
153
|
const reference = constraints.reference;
|
|
14
154
|
const referenceKind = constraints.reference_kind;
|
|
@@ -33,11 +173,9 @@ function validateReferenceConstraints(schema, rulePath, constraints, ctx) {
|
|
|
33
173
|
emitError(ctx, createDiag(rulePath, null, `Invalid reference_target_pattern constraint for path ${rulePath}: ${String(referenceTargetPattern)}`, ErrorCodes.INVALID_REFERENCE_CONSTRAINT));
|
|
34
174
|
return false;
|
|
35
175
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
catch {
|
|
40
|
-
emitError(ctx, createDiag(rulePath, null, `Invalid reference_target_pattern regex for path ${rulePath}: ${referenceTargetPattern}`, ErrorCodes.INVALID_REFERENCE_CONSTRAINT));
|
|
176
|
+
const regexProblem = regexConstraintProblem(referenceTargetPattern);
|
|
177
|
+
if (regexProblem) {
|
|
178
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid reference_target_pattern regex for path ${rulePath}: ${regexProblem}`, ErrorCodes.INVALID_REFERENCE_CONSTRAINT));
|
|
41
179
|
return false;
|
|
42
180
|
}
|
|
43
181
|
if (reference === 'forbid') {
|
|
@@ -71,6 +209,20 @@ function validateReferenceConstraints(schema, rulePath, constraints, ctx) {
|
|
|
71
209
|
}
|
|
72
210
|
return true;
|
|
73
211
|
}
|
|
212
|
+
function validateRegexConstraint(rulePath, key, value, ctx) {
|
|
213
|
+
if (value === undefined)
|
|
214
|
+
return true;
|
|
215
|
+
if (typeof value !== 'string') {
|
|
216
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid ${key} constraint for path ${rulePath}: ${String(value)}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
const regexProblem = regexConstraintProblem(value);
|
|
220
|
+
if (regexProblem) {
|
|
221
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid ${key} regex for path ${rulePath}: ${regexProblem}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
74
226
|
function validateConstraintTree(schema, rulePath, constraints, ctx) {
|
|
75
227
|
if (hasUnknownConstraintKeys(constraints)) {
|
|
76
228
|
emitError(ctx, createDiag(rulePath, null, `Unknown constraint key in rule for path: ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
@@ -79,6 +231,64 @@ function validateConstraintTree(schema, rulePath, constraints, ctx) {
|
|
|
79
231
|
if (!validateReferenceConstraints(schema, rulePath, constraints, ctx)) {
|
|
80
232
|
return false;
|
|
81
233
|
}
|
|
234
|
+
if (!validateRegexConstraint(rulePath, 'pattern', constraints.pattern, ctx)) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
for (const key of ['required', 'nullable', 'allow_infinity', 'allow_nan', 'resolve_reference_form', 'closed_attributes', 'allow_unspecified_radix']) {
|
|
238
|
+
const value = constraints[key];
|
|
239
|
+
if (value !== undefined && typeof value !== 'boolean') {
|
|
240
|
+
emitError(ctx, createDiag(rulePath, null, `${key} must be boolean for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
for (const key of ['type', 'null_value', 'sign', 'datatype']) {
|
|
245
|
+
const value = constraints[key];
|
|
246
|
+
if (value !== undefined && typeof value !== 'string') {
|
|
247
|
+
emitError(ctx, createDiag(rulePath, null, `${key} must be string for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (constraints.sign !== undefined && !['signed', 'unsigned'].includes(String(constraints.sign))) {
|
|
252
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid sign constraint for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
if (constraints.toggle_pair !== undefined && !['any', 'yes_no', 'on_off'].includes(String(constraints.toggle_pair))) {
|
|
256
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid toggle_pair constraint for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
if (constraints.null_values !== undefined && (!Array.isArray(constraints.null_values) || !constraints.null_values.every((value) => typeof value === 'string'))) {
|
|
260
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid null_values constraint for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
if (constraints.any_of !== undefined) {
|
|
264
|
+
if (!Array.isArray(constraints.any_of) || constraints.any_of.length === 0) {
|
|
265
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid any_of constraint for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
for (const [index, branch] of constraints.any_of.entries()) {
|
|
269
|
+
if (branch === null || typeof branch !== 'object' || Array.isArray(branch)) {
|
|
270
|
+
emitError(ctx, createDiag(`${rulePath}.any_of[${index}]`, null, `Invalid any_of branch for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
if (!validateConstraintTree(schema, `${rulePath}.any_of[${index}]`, branch, ctx)) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
for (const key of ['min_children', 'max_children', 'length_exact', 'radix', 'min_digits', 'max_digits', 'min_length', 'max_length']) {
|
|
279
|
+
const value = constraints[key];
|
|
280
|
+
if (value !== undefined && (typeof value !== 'number' || !Number.isInteger(value) || value < 0)) {
|
|
281
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid ${key} constraint for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
for (const key of ['min_value', 'max_value']) {
|
|
286
|
+
const value = constraints[key];
|
|
287
|
+
if (value !== undefined && typeof value !== 'string') {
|
|
288
|
+
emitError(ctx, createDiag(rulePath, null, `${key} must be string for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
82
292
|
const nestedAttributes = constraints.attributes;
|
|
83
293
|
if (nestedAttributes === undefined) {
|
|
84
294
|
return true;
|
|
@@ -118,18 +328,28 @@ export function buildRuleIndex(schema, ctx) {
|
|
|
118
328
|
if (schema.reference_policy !== undefined && !['allow', 'forbid'].includes(schema.reference_policy)) {
|
|
119
329
|
emitError(ctx, createDiag('$', null, `Invalid schema reference_policy: ${String(schema.reference_policy)}`, ErrorCodes.INVALID_REFERENCE_CONSTRAINT));
|
|
120
330
|
}
|
|
331
|
+
if (schema.attribute_policy !== undefined && !['inherit_world', 'forbid'].includes(schema.attribute_policy)) {
|
|
332
|
+
emitError(ctx, createDiag('$', null, `Invalid schema attribute_policy: ${String(schema.attribute_policy)}`, ErrorCodes.INVALID_SCHEMA_POLICY));
|
|
333
|
+
}
|
|
121
334
|
for (const rule of schema.rules) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
335
|
+
const hasPath = typeof rule.path === 'string' && rule.path.length > 0;
|
|
336
|
+
const hasSelector = typeof rule.selector === 'string' && rule.selector.length > 0;
|
|
337
|
+
const ruleKey = hasPath ? rule.path : hasSelector ? rule.selector : '<unknown>';
|
|
338
|
+
// Check for missing path/selector
|
|
339
|
+
if (!hasPath && !hasSelector) {
|
|
340
|
+
emitError(ctx, createDiag('<unknown>', null, 'Rule missing required "path" or "selector" field', ErrorCodes.RULE_MISSING_PATH));
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
if (hasPath && hasSelector) {
|
|
344
|
+
emitError(ctx, createDiag(ruleKey, null, `Rule must use either "path" or "selector", not both: ${ruleKey}`, ErrorCodes.RULE_MISSING_PATH));
|
|
125
345
|
continue;
|
|
126
346
|
}
|
|
127
347
|
// Check for duplicate rule paths
|
|
128
|
-
if (index.has(rule.path)) {
|
|
348
|
+
if (hasPath && index.has(rule.path)) {
|
|
129
349
|
emitError(ctx, createDiag(rule.path, null, `Duplicate rule for path: ${rule.path}`, ErrorCodes.DUPLICATE_RULE_PATH));
|
|
130
350
|
continue;
|
|
131
351
|
}
|
|
132
|
-
if (!validateConstraintTree(schema,
|
|
352
|
+
if (!validateConstraintTree(schema, ruleKey, rule.constraints, ctx)) {
|
|
133
353
|
continue;
|
|
134
354
|
}
|
|
135
355
|
// Enforce datatype allow-list if provided at schema level.
|
|
@@ -140,11 +360,13 @@ export function buildRuleIndex(schema, ctx) {
|
|
|
140
360
|
if (datatypeAllowlist && rule.constraints && typeof rule.constraints.datatype === 'string') {
|
|
141
361
|
const dt = rule.constraints.datatype;
|
|
142
362
|
if (!datatypeAllowlist.includes(dt)) {
|
|
143
|
-
emitError(ctx, createDiag(
|
|
363
|
+
emitError(ctx, createDiag(ruleKey, null, `Datatype '${dt}' not allowed by schema datatype_allowlist`, ErrorCodes.DATATYPE_ALLOWLIST_REJECT));
|
|
144
364
|
// continue; still index the rule so other checks can run
|
|
145
365
|
}
|
|
146
366
|
}
|
|
147
|
-
|
|
367
|
+
if (hasPath) {
|
|
368
|
+
index.set(rule.path, rule);
|
|
369
|
+
}
|
|
148
370
|
}
|
|
149
371
|
return index;
|
|
150
372
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaIndex.js","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemaIndex.js","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ interface StringValue {
|
|
|
14
14
|
value: string;
|
|
15
15
|
span: Span;
|
|
16
16
|
}
|
|
17
|
+
export declare function matchesPortablePattern(pattern: string | undefined, value: string): boolean;
|
|
17
18
|
/**
|
|
18
19
|
* Check string form constraints for events matching schema rules.
|
|
19
20
|
*
|
|
@@ -32,8 +33,8 @@ export declare function checkStringForm(ruleIndex: RuleIndex, events: ReadonlyMa
|
|
|
32
33
|
/**
|
|
33
34
|
* Check pattern constraints for events matching schema rules.
|
|
34
35
|
*
|
|
35
|
-
* For each event with a pattern constraint, verify the
|
|
36
|
-
* matches the regex pattern.
|
|
36
|
+
* For each event with a pattern constraint, verify the normalized literal
|
|
37
|
+
* value matches the regex pattern.
|
|
37
38
|
*
|
|
38
39
|
* AEOS v1 Decision: Patterns are ECMAScript regex strings. The pattern
|
|
39
40
|
* must match the entire string (anchored with ^...$). If the pattern
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringForm.d.ts","sourceRoot":"","sources":["../../src/rules/stringForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,GAAG,EAAE,WAAW,GACjB,IAAI,CAwCN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,GAAG,EAAE,WAAW,GACjB,IAAI,
|
|
1
|
+
{"version":3,"file":"stringForm.d.ts","sourceRoot":"","sources":["../../src/rules/stringForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACd;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAc1F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,GAAG,EAAE,WAAW,GACjB,IAAI,CAwCN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,GAAG,EAAE,WAAW,GACjB,IAAI,CAwBN"}
|
package/dist/rules/stringForm.js
CHANGED
|
@@ -5,6 +5,23 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { createDiag, emitError } from '../diag/emit.js';
|
|
7
7
|
import { ErrorCodes } from '../diag/codes.js';
|
|
8
|
+
export function matchesPortablePattern(pattern, value) {
|
|
9
|
+
if (pattern === undefined)
|
|
10
|
+
return true;
|
|
11
|
+
let regexPattern = pattern;
|
|
12
|
+
if (!regexPattern.startsWith('^')) {
|
|
13
|
+
regexPattern = '^' + regexPattern;
|
|
14
|
+
}
|
|
15
|
+
if (!regexPattern.endsWith('$')) {
|
|
16
|
+
regexPattern = regexPattern + '$';
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return new RegExp(regexPattern).test(value);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
8
25
|
/**
|
|
9
26
|
* Check string form constraints for events matching schema rules.
|
|
10
27
|
*
|
|
@@ -29,8 +46,8 @@ export function checkStringForm(ruleIndex, events, ctx) {
|
|
|
29
46
|
const event = events.get(path);
|
|
30
47
|
if (!event)
|
|
31
48
|
continue; // Missing path handled by presence check
|
|
32
|
-
//
|
|
33
|
-
if (event.type
|
|
49
|
+
// Length constraints apply to normalized string-like literal payloads.
|
|
50
|
+
if (!isStringLikeLiteral(event.type)) {
|
|
34
51
|
continue;
|
|
35
52
|
}
|
|
36
53
|
const length = event.value.length;
|
|
@@ -47,8 +64,8 @@ export function checkStringForm(ruleIndex, events, ctx) {
|
|
|
47
64
|
/**
|
|
48
65
|
* Check pattern constraints for events matching schema rules.
|
|
49
66
|
*
|
|
50
|
-
* For each event with a pattern constraint, verify the
|
|
51
|
-
* matches the regex pattern.
|
|
67
|
+
* For each event with a pattern constraint, verify the normalized literal
|
|
68
|
+
* value matches the regex pattern.
|
|
52
69
|
*
|
|
53
70
|
* AEOS v1 Decision: Patterns are ECMAScript regex strings. The pattern
|
|
54
71
|
* must match the entire string (anchored with ^...$). If the pattern
|
|
@@ -67,30 +84,24 @@ export function checkPatterns(ruleIndex, events, ctx) {
|
|
|
67
84
|
const event = events.get(path);
|
|
68
85
|
if (!event)
|
|
69
86
|
continue; // Missing path handled by presence check
|
|
70
|
-
|
|
71
|
-
if (event.type !== 'StringLiteral') {
|
|
87
|
+
if (!isStringLikeLiteral(event.type)) {
|
|
72
88
|
continue;
|
|
73
89
|
}
|
|
74
|
-
|
|
75
|
-
let regexPattern = pattern;
|
|
76
|
-
if (!regexPattern.startsWith('^')) {
|
|
77
|
-
regexPattern = '^' + regexPattern;
|
|
78
|
-
}
|
|
79
|
-
if (!regexPattern.endsWith('$')) {
|
|
80
|
-
regexPattern = regexPattern + '$';
|
|
81
|
-
}
|
|
82
|
-
let regex;
|
|
83
|
-
try {
|
|
84
|
-
regex = new RegExp(regexPattern);
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
// Invalid regex is a schema error, not a data error
|
|
88
|
-
// This should have been caught during schema validation
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
if (!regex.test(event.value)) {
|
|
90
|
+
if (!matchesPortablePattern(pattern, event.value)) {
|
|
92
91
|
emitError(ctx, createDiag(path, event.span, `Pattern mismatch: value does not match pattern "${pattern}"`, ErrorCodes.PATTERN_MISMATCH));
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
}
|
|
95
|
+
function isStringLikeLiteral(type) {
|
|
96
|
+
return type === 'StringLiteral'
|
|
97
|
+
|| type === 'SeparatorLiteral'
|
|
98
|
+
|| type === 'NullLiteral'
|
|
99
|
+
|| type === 'EncodingLiteral'
|
|
100
|
+
|| type === 'DateLiteral'
|
|
101
|
+
|| type === 'TimeLiteral'
|
|
102
|
+
|| type === 'DateTimeLiteral'
|
|
103
|
+
|| type === 'ZRUTDateTimeLiteral'
|
|
104
|
+
|| type === 'TrimtickLiteral'
|
|
105
|
+
|| type === 'TrimtickStringLiteral';
|
|
106
|
+
}
|
|
96
107
|
//# sourceMappingURL=stringForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringForm.js","sourceRoot":"","sources":["../../src/rules/stringForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC3B,SAAoB,EACpB,MAAwC,EACxC,GAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAkB,CAAC;QAEpE,kDAAkD;QAClD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAChF,SAAS;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yCAAyC;QAE/D,
|
|
1
|
+
{"version":3,"file":"stringForm.js","sourceRoot":"","sources":["../../src/rules/stringForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeCheck.d.ts","sourceRoot":"","sources":["../../src/rules/typeCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"typeCheck.d.ts","sourceRoot":"","sources":["../../src/rules/typeCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkClD;;GAEG;AACH,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,GAAG,EAAE,WAAW,GACjB,IAAI,CA0CN"}
|
package/dist/rules/typeCheck.js
CHANGED
|
@@ -18,6 +18,17 @@ const TYPE_ALIASES = {
|
|
|
18
18
|
'StringLiteral': ['StringLiteral'],
|
|
19
19
|
'BooleanLiteral': ['BooleanLiteral'],
|
|
20
20
|
'NullLiteral': ['NullLiteral'],
|
|
21
|
+
'ToggleLiteral': ['ToggleLiteral'],
|
|
22
|
+
'InfinityLiteral': ['InfinityLiteral'],
|
|
23
|
+
'NaNLiteral': ['NaNLiteral'],
|
|
24
|
+
'HexLiteral': ['HexLiteral'],
|
|
25
|
+
'RadixLiteral': ['RadixLiteral'],
|
|
26
|
+
'EncodingLiteral': ['EncodingLiteral'],
|
|
27
|
+
'SeparatorLiteral': ['SeparatorLiteral'],
|
|
28
|
+
'DateLiteral': ['DateLiteral'],
|
|
29
|
+
'TimeLiteral': ['TimeLiteral'],
|
|
30
|
+
'DateTimeLiteral': ['DateTimeLiteral'],
|
|
31
|
+
'ZRUTDateTimeLiteral': ['ZRUTDateTimeLiteral'],
|
|
21
32
|
'ObjectNode': ['ObjectNode'],
|
|
22
33
|
'ListNode': ['ListNode'],
|
|
23
34
|
'ListLiteral': ['ListNode', 'ListLiteral'],
|
|
@@ -56,7 +67,7 @@ export function checkTypes(ruleIndex, events, ctx) {
|
|
|
56
67
|
if (expectedType === undefined)
|
|
57
68
|
continue;
|
|
58
69
|
// Check if actual type satisfies expected type
|
|
59
|
-
if (!typeMatches(actualType, expectedType, event.raw)) {
|
|
70
|
+
if (!typeMatches(actualType, expectedType, event.raw, rule.constraints)) {
|
|
60
71
|
const parentPath = path.replace(/\[\d+\]$/, '');
|
|
61
72
|
const parentType = parentPath !== path ? events.get(parentPath)?.type : undefined;
|
|
62
73
|
emitError(ctx, createDiag(path, event.span, `Type mismatch: expected ${expectedType}, got ${actualType}`, /\[\d+\]$/.test(path) && parentType === 'TupleLiteral'
|
|
@@ -68,7 +79,13 @@ export function checkTypes(ruleIndex, events, ctx) {
|
|
|
68
79
|
/**
|
|
69
80
|
* Check if an actual type satisfies an expected type constraint.
|
|
70
81
|
*/
|
|
71
|
-
function typeMatches(actualType, expectedType, raw) {
|
|
82
|
+
function typeMatches(actualType, expectedType, raw, constraints) {
|
|
83
|
+
if (constraints?.nullable === true && actualType === 'NullLiteral')
|
|
84
|
+
return true;
|
|
85
|
+
if (constraints?.allow_infinity === true && actualType === 'InfinityLiteral' && isNumericExpectedType(expectedType))
|
|
86
|
+
return true;
|
|
87
|
+
if (constraints?.allow_nan === true && actualType === 'NaNLiteral' && isNumericExpectedType(expectedType))
|
|
88
|
+
return true;
|
|
72
89
|
// Direct match
|
|
73
90
|
if (actualType === expectedType)
|
|
74
91
|
return true;
|
|
@@ -86,6 +103,9 @@ function typeMatches(actualType, expectedType, raw) {
|
|
|
86
103
|
return true;
|
|
87
104
|
return false;
|
|
88
105
|
}
|
|
106
|
+
function isNumericExpectedType(expectedType) {
|
|
107
|
+
return expectedType === 'NumberLiteral' || expectedType === 'IntegerLiteral' || expectedType === 'FloatLiteral';
|
|
108
|
+
}
|
|
89
109
|
function isIntegerNumber(raw) {
|
|
90
110
|
if (typeof raw !== 'string')
|
|
91
111
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeCheck.js","sourceRoot":"","sources":["../../src/rules/typeCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C;;;;;;GAMG;AACH,MAAM,YAAY,GAA6B;IAC3C,8CAA8C;IAC9C,eAAe,EAAE,CAAC,eAAe,CAAC;IAClC,eAAe,EAAE,CAAC,eAAe,CAAC;IAClC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;IACpC,aAAa,EAAE,CAAC,aAAa,CAAC;IAC9B,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;IACxB,aAAa,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IAC1C,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;IACpC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;CAC3C,CAAC;AAWF;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACtB,SAAoB,EACpB,MAAuC,EACvC,GAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,MAAM,iBAAiB,GAAI,IAAI,CAAC,WAAmB,CAAC,OAAuC,CAAC;QAE5F,IAAI,YAAY,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS;YAAE,SAAS;QAE5E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yCAAyC;QAE/D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAE9B,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,iBAAiB,KAAK,MAAM;gBAC5C,CAAC,CAAC,CAAC,UAAU,KAAK,aAAa,IAAI,UAAU,KAAK,UAAU,CAAC;gBAC7D,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,qCAAqC,iBAAiB,SAAS,UAAU,EAAE,EAC3E,UAAU,CAAC,oBAAoB,CAClC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,YAAY,KAAK,SAAS;YAAE,SAAS;QAEzC,+CAA+C;QAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"typeCheck.js","sourceRoot":"","sources":["../../src/rules/typeCheck.ts"],"names":[],"mappings":"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"}
|