@mmnto/totem 1.12.0 → 1.14.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.
- package/dist/compile-lesson.d.ts +25 -1
- package/dist/compile-lesson.d.ts.map +1 -1
- package/dist/compile-lesson.js +33 -9
- package/dist/compile-lesson.js.map +1 -1
- package/dist/compile-lesson.test.js +135 -5
- package/dist/compile-lesson.test.js.map +1 -1
- package/dist/compiler-schema.d.ts +86 -4
- package/dist/compiler-schema.d.ts.map +1 -1
- package/dist/compiler-schema.js +34 -2
- package/dist/compiler-schema.js.map +1 -1
- package/dist/compiler.d.ts +0 -4
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +30 -5
- package/dist/compiler.js.map +1 -1
- package/dist/compiler.test.js +128 -0
- package/dist/compiler.test.js.map +1 -1
- package/dist/config-schema.d.ts +440 -0
- package/dist/config-schema.d.ts.map +1 -1
- package/dist/config-schema.js +24 -0
- package/dist/config-schema.js.map +1 -1
- package/dist/config-schema.test.js +127 -0
- package/dist/config-schema.test.js.map +1 -1
- package/dist/drift-detector.d.ts +6 -2
- package/dist/drift-detector.d.ts.map +1 -1
- package/dist/drift-detector.js +34 -5
- package/dist/drift-detector.js.map +1 -1
- package/dist/drift-detector.test.js +77 -0
- package/dist/drift-detector.test.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/ingest/pipeline.js +1 -1
- package/dist/ingest/pipeline.js.map +1 -1
- package/dist/lesson-io.d.ts.map +1 -1
- package/dist/lesson-io.js +21 -3
- package/dist/lesson-io.js.map +1 -1
- package/dist/lesson-io.test.js +48 -0
- package/dist/lesson-io.test.js.map +1 -1
- package/dist/lesson-pattern.d.ts +22 -0
- package/dist/lesson-pattern.d.ts.map +1 -1
- package/dist/lesson-pattern.js +95 -7
- package/dist/lesson-pattern.js.map +1 -1
- package/dist/lesson-pattern.test.js +255 -1
- package/dist/lesson-pattern.test.js.map +1 -1
- package/dist/rule-engine.d.ts.map +1 -1
- package/dist/rule-engine.js +11 -9
- package/dist/rule-engine.js.map +1 -1
- package/dist/rule-metrics.d.ts +114 -2
- package/dist/rule-metrics.d.ts.map +1 -1
- package/dist/rule-metrics.js +24 -1
- package/dist/rule-metrics.js.map +1 -1
- package/dist/rule-metrics.test.js +60 -1
- package/dist/rule-metrics.test.js.map +1 -1
- package/dist/rule-tester.d.ts +8 -0
- package/dist/rule-tester.d.ts.map +1 -1
- package/dist/rule-tester.js +19 -1
- package/dist/rule-tester.js.map +1 -1
- package/dist/rule-tester.test.js +36 -1
- package/dist/rule-tester.test.js.map +1 -1
- package/dist/semantic-dedup.d.ts +12 -1
- package/dist/semantic-dedup.d.ts.map +1 -1
- package/dist/semantic-dedup.js +34 -4
- package/dist/semantic-dedup.js.map +1 -1
- package/dist/semantic-dedup.test.d.ts +2 -0
- package/dist/semantic-dedup.test.d.ts.map +1 -0
- package/dist/semantic-dedup.test.js +83 -0
- package/dist/semantic-dedup.test.js.map +1 -0
- package/dist/store/lance-search.d.ts +4 -4
- package/dist/store/lance-search.d.ts.map +1 -1
- package/dist/store/lance-search.js +27 -12
- package/dist/store/lance-search.js.map +1 -1
- package/dist/store/lance-search.test.js +109 -27
- package/dist/store/lance-search.test.js.map +1 -1
- package/dist/store/lance-store.d.ts +17 -2
- package/dist/store/lance-store.d.ts.map +1 -1
- package/dist/store/lance-store.js +20 -4
- package/dist/store/lance-store.js.map +1 -1
- package/dist/store/lance-store.test.js +1 -1
- package/dist/store/lance-store.test.js.map +1 -1
- package/dist/types.d.ts +49 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { extractAllFields, extractBadGoodSnippets, extractManualPattern, extractRuleExamples, stripInlineCode, } from './lesson-pattern.js';
|
|
2
|
+
import { extractAllFields, extractBadGoodSnippets, extractManualPattern, extractMultilineField, extractRuleExamples, stripInlineCode, } from './lesson-pattern.js';
|
|
3
3
|
describe('extractManualPattern', () => {
|
|
4
4
|
it('extracts all fields from a well-formed lesson body', () => {
|
|
5
5
|
const body = [
|
|
@@ -55,6 +55,251 @@ describe('extractManualPattern', () => {
|
|
|
55
55
|
const result = extractManualPattern(body);
|
|
56
56
|
expect(result?.fileGlobs).toBeUndefined();
|
|
57
57
|
});
|
|
58
|
+
it('strips backtick wrappers from Pattern field', () => {
|
|
59
|
+
const body = '**Pattern:** `process.kill($PID, 0)`\n**Engine:** ast-grep';
|
|
60
|
+
const result = extractManualPattern(body);
|
|
61
|
+
expect(result?.pattern).toBe('process.kill($PID, 0)');
|
|
62
|
+
});
|
|
63
|
+
it('extracts fields with no whitespace after the closing bold marker (#1282 GCA)', () => {
|
|
64
|
+
// Pre-fix, extractField required \s+ which silently rejected **Pattern:**foo
|
|
65
|
+
// (no space). The lesson would fall through to Pipeline 2 instead of taking
|
|
66
|
+
// the manual path. Caught by gemini-code-assist as a cross-helper consistency
|
|
67
|
+
// cascade — the same pattern lesson-400fed87 describes.
|
|
68
|
+
const body = '**Pattern:**process\\.env\\[\n**Engine:**regex\n**Severity:**warning';
|
|
69
|
+
const result = extractManualPattern(body);
|
|
70
|
+
expect(result).not.toBeNull();
|
|
71
|
+
expect(result?.pattern).toBe('process\\.env\\[');
|
|
72
|
+
expect(result?.engine).toBe('regex');
|
|
73
|
+
expect(result?.severity).toBe('warning');
|
|
74
|
+
});
|
|
75
|
+
it('treats empty field values as absent (#1282 GCA)', () => {
|
|
76
|
+
// **Pattern:** with no value should return null (not a Pipeline 1 lesson)
|
|
77
|
+
// rather than producing a rule with an empty pattern. Same fix as the
|
|
78
|
+
// extractMultilineField empty-value handling — empty after trim → undefined
|
|
79
|
+
// → caller's `!value` fallback fires.
|
|
80
|
+
const body = '**Pattern:**\n**Engine:** regex';
|
|
81
|
+
const result = extractManualPattern(body);
|
|
82
|
+
expect(result).toBeNull();
|
|
83
|
+
});
|
|
84
|
+
it('extracts all fields when the lesson uses the **Field**: form (#1282)', () => {
|
|
85
|
+
// Caught by Shield AI on PR #1282 as a partial-fix CRITICAL: extending
|
|
86
|
+
// extractMultilineField to support **Field**: without extending the shared
|
|
87
|
+
// extractField helper meant a lesson written entirely in alt-form would have
|
|
88
|
+
// extractManualPattern return null because Pattern wouldn't be found.
|
|
89
|
+
const body = [
|
|
90
|
+
'**Pattern**: console\\.log\\(',
|
|
91
|
+
'**Engine**: regex',
|
|
92
|
+
'**Scope**: src/**/*.ts',
|
|
93
|
+
'**Severity**: warning',
|
|
94
|
+
'**Message**: Use the structured logger instead of console output.',
|
|
95
|
+
].join('\n');
|
|
96
|
+
const result = extractManualPattern(body);
|
|
97
|
+
expect(result).not.toBeNull();
|
|
98
|
+
expect(result?.pattern).toBe('console\\.log\\(');
|
|
99
|
+
expect(result?.engine).toBe('regex');
|
|
100
|
+
expect(result?.fileGlobs).toEqual(['src/**/*.ts']);
|
|
101
|
+
expect(result?.severity).toBe('warning');
|
|
102
|
+
expect(result?.message).toBe('Use the structured logger instead of console output.');
|
|
103
|
+
});
|
|
104
|
+
it('extracts a single-line Message field (#1265)', () => {
|
|
105
|
+
const body = [
|
|
106
|
+
'**Pattern:** console\\.log\\(',
|
|
107
|
+
'**Engine:** regex',
|
|
108
|
+
'**Severity:** warning',
|
|
109
|
+
'**Message:** Use the structured logger instead of raw console output.',
|
|
110
|
+
].join('\n');
|
|
111
|
+
const result = extractManualPattern(body);
|
|
112
|
+
expect(result?.message).toBe('Use the structured logger instead of raw console output.');
|
|
113
|
+
});
|
|
114
|
+
it('extracts a multi-line Message field that spans paragraphs (#1265)', () => {
|
|
115
|
+
const body = [
|
|
116
|
+
'**Pattern:** componentDidCatch\\s*\\([^)]*\\)\\s*\\{\\s*\\}',
|
|
117
|
+
'**Engine:** regex',
|
|
118
|
+
'**Severity:** warning',
|
|
119
|
+
'**Message:** Hydration errors should not be caught silently.',
|
|
120
|
+
'',
|
|
121
|
+
'Log to Sentry before rendering fallback UI so you retain visibility',
|
|
122
|
+
'into the failure. Fix: add Sentry.captureException(error) before',
|
|
123
|
+
'returning the fallback component.',
|
|
124
|
+
].join('\n');
|
|
125
|
+
const result = extractManualPattern(body);
|
|
126
|
+
expect(result?.message).toContain('Hydration errors should not be caught silently.');
|
|
127
|
+
expect(result?.message).toContain('Sentry.captureException(error)');
|
|
128
|
+
expect(result?.message).toContain('returning the fallback component.');
|
|
129
|
+
});
|
|
130
|
+
it('Message field stops at the next bold field marker (#1265)', () => {
|
|
131
|
+
// Order independence: Message appears BEFORE Severity. Capture must terminate
|
|
132
|
+
// at the next **Field:** marker, not run into Severity's value.
|
|
133
|
+
const body = [
|
|
134
|
+
'**Pattern:** eval\\(',
|
|
135
|
+
'**Engine:** regex',
|
|
136
|
+
'**Message:** Never call eval on untrusted input.',
|
|
137
|
+
'It allows arbitrary code execution.',
|
|
138
|
+
'**Severity:** error',
|
|
139
|
+
'**Scope:** **/*.ts',
|
|
140
|
+
].join('\n');
|
|
141
|
+
const result = extractManualPattern(body);
|
|
142
|
+
expect(result?.message).toContain('Never call eval on untrusted input.');
|
|
143
|
+
expect(result?.message).toContain('It allows arbitrary code execution.');
|
|
144
|
+
expect(result?.message).not.toContain('error');
|
|
145
|
+
expect(result?.message).not.toContain('**/*.ts');
|
|
146
|
+
expect(result?.severity).toBe('error');
|
|
147
|
+
expect(result?.fileGlobs).toEqual(['**/*.ts']);
|
|
148
|
+
});
|
|
149
|
+
it('Message field is undefined when absent — backward compatible (#1265)', () => {
|
|
150
|
+
// Existing Pipeline 1 lessons that pre-date #1265 don't have a Message field.
|
|
151
|
+
// extractManualPattern must continue returning a valid result with message: undefined,
|
|
152
|
+
// and downstream buildManualRule will fall back to lesson.heading.
|
|
153
|
+
const body = [
|
|
154
|
+
'**Pattern:** process\\.env\\[',
|
|
155
|
+
'**Engine:** regex',
|
|
156
|
+
'**Severity:** warning',
|
|
157
|
+
].join('\n');
|
|
158
|
+
const result = extractManualPattern(body);
|
|
159
|
+
expect(result).not.toBeNull();
|
|
160
|
+
expect(result?.message).toBeUndefined();
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
describe('extractMultilineField (#1265)', () => {
|
|
164
|
+
it('returns single-line value when followed by EOF', () => {
|
|
165
|
+
const body = '**Message:** Single line message.';
|
|
166
|
+
expect(extractMultilineField(body, 'Message')).toBe('Single line message.');
|
|
167
|
+
});
|
|
168
|
+
it('captures multiple paragraphs until EOF', () => {
|
|
169
|
+
const body = [
|
|
170
|
+
'**Message:** First paragraph of the message.',
|
|
171
|
+
'',
|
|
172
|
+
'Second paragraph here.',
|
|
173
|
+
'',
|
|
174
|
+
'Third paragraph at the end.',
|
|
175
|
+
].join('\n');
|
|
176
|
+
const result = extractMultilineField(body, 'Message');
|
|
177
|
+
expect(result).toContain('First paragraph');
|
|
178
|
+
expect(result).toContain('Second paragraph');
|
|
179
|
+
expect(result).toContain('Third paragraph');
|
|
180
|
+
});
|
|
181
|
+
it('stops at the next bold field marker', () => {
|
|
182
|
+
const body = [
|
|
183
|
+
'**Message:** This is the message.',
|
|
184
|
+
'It has two lines.',
|
|
185
|
+
'**Severity:** warning',
|
|
186
|
+
'This should NOT be captured.',
|
|
187
|
+
].join('\n');
|
|
188
|
+
const result = extractMultilineField(body, 'Message');
|
|
189
|
+
expect(result).toContain('This is the message.');
|
|
190
|
+
expect(result).toContain('It has two lines.');
|
|
191
|
+
expect(result).not.toContain('warning');
|
|
192
|
+
expect(result).not.toContain('This should NOT be captured');
|
|
193
|
+
});
|
|
194
|
+
it('treats bare-colon prose as continuation, not a new field', () => {
|
|
195
|
+
// "Note:" or "Fix:" mid-prose should NOT terminate the Message capture.
|
|
196
|
+
// Only **bold-marker:** lines act as field terminators.
|
|
197
|
+
const body = [
|
|
198
|
+
'**Message:** Use the structured logger.',
|
|
199
|
+
'Note: this is important for debugging.',
|
|
200
|
+
'Fix: replace console.log with logger.info().',
|
|
201
|
+
'**Severity:** warning',
|
|
202
|
+
].join('\n');
|
|
203
|
+
const result = extractMultilineField(body, 'Message');
|
|
204
|
+
expect(result).toContain('Note: this is important');
|
|
205
|
+
expect(result).toContain('Fix: replace console.log');
|
|
206
|
+
expect(result).not.toContain('warning');
|
|
207
|
+
});
|
|
208
|
+
it('returns undefined when the field is absent', () => {
|
|
209
|
+
const body = '**Pattern:** foo\n**Engine:** regex';
|
|
210
|
+
expect(extractMultilineField(body, 'Message')).toBeUndefined();
|
|
211
|
+
});
|
|
212
|
+
it('returns undefined for an empty field value (so caller fallback fires)', () => {
|
|
213
|
+
// **Message:** with no body — must return undefined, not "", so the caller's
|
|
214
|
+
// `manual.message ?? lesson.heading` fallback works correctly. Caught by Shield AI
|
|
215
|
+
// during the combined PR review.
|
|
216
|
+
const body = [
|
|
217
|
+
'**Pattern:** foo',
|
|
218
|
+
'**Engine:** regex',
|
|
219
|
+
'**Message:**',
|
|
220
|
+
'**Severity:** warning',
|
|
221
|
+
].join('\n');
|
|
222
|
+
expect(extractMultilineField(body, 'Message')).toBeUndefined();
|
|
223
|
+
});
|
|
224
|
+
it('handles CRLF line endings (Windows-authored lessons)', () => {
|
|
225
|
+
// body.split('\n') would leave trailing \r on each line. The startRe (.*)$ capture
|
|
226
|
+
// (no /m flag) would silently fail because $ requires end-of-string and . doesn't
|
|
227
|
+
// match \r. This is the same class of bug as the em-dash silent skip in #1263 —
|
|
228
|
+
// a Windows-authored lesson would have its Message field invisibly dropped.
|
|
229
|
+
// Caught by Shield AI during the combined PR review.
|
|
230
|
+
const body = '**Pattern:** foo\r\n**Message:** Use err not error.\r\n**Severity:** warning';
|
|
231
|
+
expect(extractMultilineField(body, 'Message')).toBe('Use err not error.');
|
|
232
|
+
});
|
|
233
|
+
it('handles CRLF in multi-line message capture', () => {
|
|
234
|
+
const body = [
|
|
235
|
+
'**Pattern:** eval\\(',
|
|
236
|
+
'**Message:** Never call eval.',
|
|
237
|
+
'It allows arbitrary code execution.',
|
|
238
|
+
'**Severity:** error',
|
|
239
|
+
].join('\r\n');
|
|
240
|
+
const result = extractMultilineField(body, 'Message');
|
|
241
|
+
expect(result).toContain('Never call eval.');
|
|
242
|
+
expect(result).toContain('It allows arbitrary code execution.');
|
|
243
|
+
expect(result).not.toContain('error');
|
|
244
|
+
});
|
|
245
|
+
it('trims leading and trailing whitespace from captured value', () => {
|
|
246
|
+
const body = [
|
|
247
|
+
'**Message:** Leading spaces preserved on first line.',
|
|
248
|
+
'',
|
|
249
|
+
' Trailing whitespace on the body. ',
|
|
250
|
+
' ',
|
|
251
|
+
].join('\n');
|
|
252
|
+
const result = extractMultilineField(body, 'Message');
|
|
253
|
+
expect(result).toBe('Leading spaces preserved on first line.\n\n Trailing whitespace on the body.');
|
|
254
|
+
});
|
|
255
|
+
it('accepts the **Field**: form (asterisks before colon) for both start and terminator', () => {
|
|
256
|
+
// Caught by gemini-code-assist on PR #1282 as a high-priority finding. Both the
|
|
257
|
+
// start regex and the field-marker terminator must accept **Field**: in addition
|
|
258
|
+
// to **Field:** so authors can use either common markdown convention without
|
|
259
|
+
// having later fields incorrectly swallowed into the Message capture.
|
|
260
|
+
const body = [
|
|
261
|
+
'**Pattern**: foo',
|
|
262
|
+
'**Message**: This message uses the alt-form heading.',
|
|
263
|
+
'It spans multiple lines.',
|
|
264
|
+
'**Severity**: warning',
|
|
265
|
+
'This should NOT be captured.',
|
|
266
|
+
].join('\n');
|
|
267
|
+
const result = extractMultilineField(body, 'Message');
|
|
268
|
+
expect(result).toContain('This message uses the alt-form heading.');
|
|
269
|
+
expect(result).toContain('It spans multiple lines.');
|
|
270
|
+
expect(result).not.toContain('warning');
|
|
271
|
+
expect(result).not.toContain('This should NOT be captured');
|
|
272
|
+
});
|
|
273
|
+
it('terminates on the bold-open-only **Field: form (#1282 CR)', () => {
|
|
274
|
+
// CR caught the missing form during PR #1282. extractField already accepted
|
|
275
|
+
// **Pattern: foo (bold-open, plain colon) since the original code, but
|
|
276
|
+
// fieldMarkerRe didn't recognize it as a terminator. Result: a lesson written
|
|
277
|
+
// with bold-open-only fields would have Message capture run past the next
|
|
278
|
+
// intended field. Now all four forms terminate consistently.
|
|
279
|
+
const body = [
|
|
280
|
+
'**Message:** Use the structured logger.',
|
|
281
|
+
'It survives across log rotations.',
|
|
282
|
+
'**Severity: warning', // bold-open-only — should terminate
|
|
283
|
+
'This should NOT be captured.',
|
|
284
|
+
].join('\n');
|
|
285
|
+
const result = extractMultilineField(body, 'Message');
|
|
286
|
+
expect(result).toContain('Use the structured logger.');
|
|
287
|
+
expect(result).toContain('It survives across log rotations.');
|
|
288
|
+
expect(result).not.toContain('warning');
|
|
289
|
+
expect(result).not.toContain('This should NOT be captured');
|
|
290
|
+
});
|
|
291
|
+
it('handles mixed **Field:** and **Field**: forms in the same body', () => {
|
|
292
|
+
const body = [
|
|
293
|
+
'**Pattern:** foo', // canonical
|
|
294
|
+
'**Message**: First line.', // alt form
|
|
295
|
+
'Second line.',
|
|
296
|
+
'**Severity:** warning', // canonical terminator
|
|
297
|
+
].join('\n');
|
|
298
|
+
const result = extractMultilineField(body, 'Message');
|
|
299
|
+
expect(result).toContain('First line.');
|
|
300
|
+
expect(result).toContain('Second line.');
|
|
301
|
+
expect(result).not.toContain('warning');
|
|
302
|
+
});
|
|
58
303
|
});
|
|
59
304
|
describe('extractAllFields', () => {
|
|
60
305
|
it('returns all matching fields in order', () => {
|
|
@@ -72,6 +317,15 @@ describe('extractAllFields', () => {
|
|
|
72
317
|
const body = '**Example Hit:**\n**Example Hit:** valid';
|
|
73
318
|
expect(extractAllFields(body, 'Example Hit')).toEqual(['', 'valid']);
|
|
74
319
|
});
|
|
320
|
+
it('extracts the **Field**: form (asterisks before colon) (#1282)', () => {
|
|
321
|
+
// Mirrors the extractField + extractMultilineField fix for cross-helper consistency.
|
|
322
|
+
const body = '**Example Hit**: hit-alt-1\n**Example Hit:** hit-canonical\n**Example Hit**: hit-alt-2';
|
|
323
|
+
expect(extractAllFields(body, 'Example Hit')).toEqual([
|
|
324
|
+
'hit-alt-1',
|
|
325
|
+
'hit-canonical',
|
|
326
|
+
'hit-alt-2',
|
|
327
|
+
]);
|
|
328
|
+
});
|
|
75
329
|
});
|
|
76
330
|
describe('stripInlineCode', () => {
|
|
77
331
|
it('strips surrounding backticks', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-pattern.test.js","sourceRoot":"","sources":["../src/lesson-pattern.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lesson-pattern.test.js","sourceRoot":"","sources":["../src/lesson-pattern.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAK9B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAsDnE;AAqBD,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAcD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEtD;AAED,2CAA2C;AAC3C,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAkDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAavF;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,EAAE,YAAY,EAAE,EACzB,WAAW,CAAC,EAAE,iBAAiB,GAC9B,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAK9B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAsDnE;AAqBD,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAcD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEtD;AAED,2CAA2C;AAC3C,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAkDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAavF;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,EAAE,YAAY,EAAE,EACzB,WAAW,CAAC,EAAE,iBAAiB,GAC9B,SAAS,EAAE,CAyDb;AAID;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,EAAE,YAAY,EAAE,EACzB,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,iBAAiB,EAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,SAAS,EAAE,CAAC,CAyJtB;AAID;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,SAAS,EAAE,CAUb"}
|
package/dist/rule-engine.js
CHANGED
|
@@ -184,9 +184,6 @@ export function applyRulesToAdditions(rules, additions, onRuleEvent) {
|
|
|
184
184
|
continue;
|
|
185
185
|
}
|
|
186
186
|
for (const addition of additions) {
|
|
187
|
-
// Skip non-code lines when AST context is available
|
|
188
|
-
if (addition.astContext && addition.astContext !== 'code')
|
|
189
|
-
continue;
|
|
190
187
|
// Skip if rule has fileGlobs and this file doesn't match
|
|
191
188
|
if (rule.fileGlobs && rule.fileGlobs.length > 0) {
|
|
192
189
|
if (!fileMatchesGlobs(addition.file, rule.fileGlobs))
|
|
@@ -204,16 +201,21 @@ export function applyRulesToAdditions(rules, additions, onRuleEvent) {
|
|
|
204
201
|
continue;
|
|
205
202
|
}
|
|
206
203
|
if (re.test(addition.line)) {
|
|
204
|
+
// Record context telemetry for ALL matches (code, string, comment, regex)
|
|
207
205
|
onRuleEvent?.('trigger', rule.lessonHash, {
|
|
208
206
|
file: addition.file,
|
|
209
207
|
line: addition.lineNumber,
|
|
208
|
+
astContext: addition.astContext,
|
|
210
209
|
});
|
|
211
|
-
violations
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
210
|
+
// Only emit violations for code context (non-code matches are telemetry-only)
|
|
211
|
+
if (!addition.astContext || addition.astContext === 'code') {
|
|
212
|
+
violations.push({
|
|
213
|
+
rule,
|
|
214
|
+
file: addition.file,
|
|
215
|
+
line: addition.line,
|
|
216
|
+
lineNumber: addition.lineNumber,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
217
219
|
}
|
|
218
220
|
}
|
|
219
221
|
}
|
package/dist/rule-engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/rule-metrics.d.ts
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
declare const ContextCountsSchema: z.ZodObject<{
|
|
3
|
+
code: z.ZodNumber;
|
|
4
|
+
string: z.ZodNumber;
|
|
5
|
+
comment: z.ZodNumber;
|
|
6
|
+
regex: z.ZodNumber;
|
|
7
|
+
unknown: z.ZodNumber;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
string: number;
|
|
10
|
+
code: number;
|
|
11
|
+
unknown: number;
|
|
12
|
+
regex: number;
|
|
13
|
+
comment: number;
|
|
14
|
+
}, {
|
|
15
|
+
string: number;
|
|
16
|
+
code: number;
|
|
17
|
+
unknown: number;
|
|
18
|
+
regex: number;
|
|
19
|
+
comment: number;
|
|
20
|
+
}>;
|
|
21
|
+
export type ContextCounts = z.infer<typeof ContextCountsSchema>;
|
|
2
22
|
declare const RuleMetricSchema: z.ZodObject<{
|
|
3
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Number of times this rule's pattern matched an added line. Includes matches
|
|
25
|
+
* in non-code contexts (strings, comments) that are recorded as telemetry but
|
|
26
|
+
* do NOT produce violations. Use `contextCounts.code` for violation count.
|
|
27
|
+
*/
|
|
4
28
|
triggerCount: z.ZodNumber;
|
|
5
29
|
/** Number of times this rule was suppressed via totem-ignore */
|
|
6
30
|
suppressCount: z.ZodNumber;
|
|
@@ -8,23 +32,61 @@ declare const RuleMetricSchema: z.ZodObject<{
|
|
|
8
32
|
lastTriggeredAt: z.ZodNullable<z.ZodString>;
|
|
9
33
|
/** ISO timestamp of last suppression */
|
|
10
34
|
lastSuppressedAt: z.ZodNullable<z.ZodString>;
|
|
35
|
+
/** Tracks where regex rules fire: code, string, comment, regex, or unknown context */
|
|
36
|
+
contextCounts: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
code: z.ZodNumber;
|
|
38
|
+
string: z.ZodNumber;
|
|
39
|
+
comment: z.ZodNumber;
|
|
40
|
+
regex: z.ZodNumber;
|
|
41
|
+
unknown: z.ZodNumber;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
string: number;
|
|
44
|
+
code: number;
|
|
45
|
+
unknown: number;
|
|
46
|
+
regex: number;
|
|
47
|
+
comment: number;
|
|
48
|
+
}, {
|
|
49
|
+
string: number;
|
|
50
|
+
code: number;
|
|
51
|
+
unknown: number;
|
|
52
|
+
regex: number;
|
|
53
|
+
comment: number;
|
|
54
|
+
}>>;
|
|
11
55
|
}, "strip", z.ZodTypeAny, {
|
|
12
56
|
triggerCount: number;
|
|
13
57
|
suppressCount: number;
|
|
14
58
|
lastTriggeredAt: string | null;
|
|
15
59
|
lastSuppressedAt: string | null;
|
|
60
|
+
contextCounts?: {
|
|
61
|
+
string: number;
|
|
62
|
+
code: number;
|
|
63
|
+
unknown: number;
|
|
64
|
+
regex: number;
|
|
65
|
+
comment: number;
|
|
66
|
+
} | undefined;
|
|
16
67
|
}, {
|
|
17
68
|
triggerCount: number;
|
|
18
69
|
suppressCount: number;
|
|
19
70
|
lastTriggeredAt: string | null;
|
|
20
71
|
lastSuppressedAt: string | null;
|
|
72
|
+
contextCounts?: {
|
|
73
|
+
string: number;
|
|
74
|
+
code: number;
|
|
75
|
+
unknown: number;
|
|
76
|
+
regex: number;
|
|
77
|
+
comment: number;
|
|
78
|
+
} | undefined;
|
|
21
79
|
}>;
|
|
22
80
|
export type RuleMetric = z.infer<typeof RuleMetricSchema>;
|
|
23
81
|
declare const RuleMetricsFileSchema: z.ZodObject<{
|
|
24
82
|
version: z.ZodLiteral<1>;
|
|
25
83
|
/** Map of lessonHash → metrics */
|
|
26
84
|
rules: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
27
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Number of times this rule's pattern matched an added line. Includes matches
|
|
87
|
+
* in non-code contexts (strings, comments) that are recorded as telemetry but
|
|
88
|
+
* do NOT produce violations. Use `contextCounts.code` for violation count.
|
|
89
|
+
*/
|
|
28
90
|
triggerCount: z.ZodNumber;
|
|
29
91
|
/** Number of times this rule was suppressed via totem-ignore */
|
|
30
92
|
suppressCount: z.ZodNumber;
|
|
@@ -32,16 +94,50 @@ declare const RuleMetricsFileSchema: z.ZodObject<{
|
|
|
32
94
|
lastTriggeredAt: z.ZodNullable<z.ZodString>;
|
|
33
95
|
/** ISO timestamp of last suppression */
|
|
34
96
|
lastSuppressedAt: z.ZodNullable<z.ZodString>;
|
|
97
|
+
/** Tracks where regex rules fire: code, string, comment, regex, or unknown context */
|
|
98
|
+
contextCounts: z.ZodOptional<z.ZodObject<{
|
|
99
|
+
code: z.ZodNumber;
|
|
100
|
+
string: z.ZodNumber;
|
|
101
|
+
comment: z.ZodNumber;
|
|
102
|
+
regex: z.ZodNumber;
|
|
103
|
+
unknown: z.ZodNumber;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
string: number;
|
|
106
|
+
code: number;
|
|
107
|
+
unknown: number;
|
|
108
|
+
regex: number;
|
|
109
|
+
comment: number;
|
|
110
|
+
}, {
|
|
111
|
+
string: number;
|
|
112
|
+
code: number;
|
|
113
|
+
unknown: number;
|
|
114
|
+
regex: number;
|
|
115
|
+
comment: number;
|
|
116
|
+
}>>;
|
|
35
117
|
}, "strip", z.ZodTypeAny, {
|
|
36
118
|
triggerCount: number;
|
|
37
119
|
suppressCount: number;
|
|
38
120
|
lastTriggeredAt: string | null;
|
|
39
121
|
lastSuppressedAt: string | null;
|
|
122
|
+
contextCounts?: {
|
|
123
|
+
string: number;
|
|
124
|
+
code: number;
|
|
125
|
+
unknown: number;
|
|
126
|
+
regex: number;
|
|
127
|
+
comment: number;
|
|
128
|
+
} | undefined;
|
|
40
129
|
}, {
|
|
41
130
|
triggerCount: number;
|
|
42
131
|
suppressCount: number;
|
|
43
132
|
lastTriggeredAt: string | null;
|
|
44
133
|
lastSuppressedAt: string | null;
|
|
134
|
+
contextCounts?: {
|
|
135
|
+
string: number;
|
|
136
|
+
code: number;
|
|
137
|
+
unknown: number;
|
|
138
|
+
regex: number;
|
|
139
|
+
comment: number;
|
|
140
|
+
} | undefined;
|
|
45
141
|
}>>;
|
|
46
142
|
}, "strip", z.ZodTypeAny, {
|
|
47
143
|
version: 1;
|
|
@@ -50,6 +146,13 @@ declare const RuleMetricsFileSchema: z.ZodObject<{
|
|
|
50
146
|
suppressCount: number;
|
|
51
147
|
lastTriggeredAt: string | null;
|
|
52
148
|
lastSuppressedAt: string | null;
|
|
149
|
+
contextCounts?: {
|
|
150
|
+
string: number;
|
|
151
|
+
code: number;
|
|
152
|
+
unknown: number;
|
|
153
|
+
regex: number;
|
|
154
|
+
comment: number;
|
|
155
|
+
} | undefined;
|
|
53
156
|
}>;
|
|
54
157
|
}, {
|
|
55
158
|
version: 1;
|
|
@@ -58,6 +161,13 @@ declare const RuleMetricsFileSchema: z.ZodObject<{
|
|
|
58
161
|
suppressCount: number;
|
|
59
162
|
lastTriggeredAt: string | null;
|
|
60
163
|
lastSuppressedAt: string | null;
|
|
164
|
+
contextCounts?: {
|
|
165
|
+
string: number;
|
|
166
|
+
code: number;
|
|
167
|
+
unknown: number;
|
|
168
|
+
regex: number;
|
|
169
|
+
comment: number;
|
|
170
|
+
} | undefined;
|
|
61
171
|
}>;
|
|
62
172
|
}>;
|
|
63
173
|
export type RuleMetricsFile = z.infer<typeof RuleMetricsFileSchema>;
|
|
@@ -69,5 +179,7 @@ export declare function saveRuleMetrics(totemDir: string, metrics: RuleMetricsFi
|
|
|
69
179
|
export declare function recordTrigger(metrics: RuleMetricsFile, lessonHash: string): void;
|
|
70
180
|
/** Record a rule suppression (totem-ignore matched). */
|
|
71
181
|
export declare function recordSuppression(metrics: RuleMetricsFile, lessonHash: string): void;
|
|
182
|
+
/** Record the AST context where a rule fired. */
|
|
183
|
+
export declare function recordContextHit(metrics: RuleMetricsFile, lessonHash: string, context: 'code' | 'string' | 'comment' | 'regex' | undefined): void;
|
|
72
184
|
export {};
|
|
73
185
|
//# sourceMappingURL=rule-metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-metrics.d.ts","sourceRoot":"","sources":["../src/rule-metrics.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,gBAAgB;IACpB
|
|
1
|
+
{"version":3,"file":"rule-metrics.d.ts","sourceRoot":"","sources":["../src/rule-metrics.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,QAAA,MAAM,gBAAgB;IACpB;;;;OAIG;;IAEH,gEAAgE;;IAEhE,oCAAoC;;IAEpC,wCAAwC;;IAExC,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtF,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,QAAA,MAAM,qBAAqB;;IAEzB,kCAAkC;;QApBlC;;;;WAIG;;QAEH,gEAAgE;;QAEhE,oCAAoC;;QAEpC,wCAAwC;;QAExC,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtF,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAUpE,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,eAAe,CAcjG;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAKhF;AAID,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIhF;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIpF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAC3D,IAAI,CAQN"}
|