@mmnto/totem 1.22.0 → 1.24.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/ast-grep-query.d.ts +31 -0
- package/dist/ast-grep-query.d.ts.map +1 -1
- package/dist/ast-grep-query.js +45 -1
- package/dist/ast-grep-query.js.map +1 -1
- package/dist/compile-lesson.d.ts +25 -16
- package/dist/compile-lesson.d.ts.map +1 -1
- package/dist/compile-lesson.js +72 -34
- package/dist/compile-lesson.js.map +1 -1
- package/dist/compile-lesson.test.js +30 -0
- package/dist/compile-lesson.test.js.map +1 -1
- package/dist/compile-manifest.d.ts +14 -1
- package/dist/compile-manifest.d.ts.map +1 -1
- package/dist/compile-manifest.js +30 -1
- package/dist/compile-manifest.js.map +1 -1
- package/dist/compile-manifest.test.js +36 -1
- package/dist/compile-manifest.test.js.map +1 -1
- package/dist/compile-smoke-gate.d.ts.map +1 -1
- package/dist/compile-smoke-gate.js +25 -12
- package/dist/compile-smoke-gate.js.map +1 -1
- package/dist/compile-smoke-gate.test.js +39 -0
- package/dist/compile-smoke-gate.test.js.map +1 -1
- package/dist/compiler-schema.d.ts +44 -16
- package/dist/compiler-schema.d.ts.map +1 -1
- package/dist/compiler-schema.js +19 -3
- package/dist/compiler-schema.js.map +1 -1
- package/dist/compiler-schema.test.js +23 -1
- package/dist/compiler-schema.test.js.map +1 -1
- package/dist/compiler.d.ts +8 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +11 -2
- package/dist/compiler.js.map +1 -1
- package/dist/compiler.test.js +35 -0
- package/dist/compiler.test.js.map +1 -1
- package/dist/config-schema.d.ts +2 -2
- package/dist/config-schema.js +2 -2
- package/dist/first-lint-promote.d.ts +90 -0
- package/dist/first-lint-promote.d.ts.map +1 -0
- package/dist/first-lint-promote.js +103 -0
- package/dist/first-lint-promote.js.map +1 -0
- package/dist/first-lint-promote.test.d.ts +2 -0
- package/dist/first-lint-promote.test.d.ts.map +1 -0
- package/dist/first-lint-promote.test.js +242 -0
- package/dist/first-lint-promote.test.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/pack-discovery.d.ts +1 -1
- package/dist/pack-discovery.js +1 -1
- package/dist/pack-discovery.test.js +21 -21
- package/dist/pack-manifest-writer.d.ts +2 -2
- package/dist/pack-manifest-writer.js +3 -3
- package/dist/pack-manifest-writer.test.js +22 -22
- package/dist/pack-merge.d.ts +1 -1
- package/dist/pack-merge.js +1 -1
- package/dist/rule-engine.js +1 -1
- package/dist/verification-outcomes.d.ts +160 -0
- package/dist/verification-outcomes.d.ts.map +1 -0
- package/dist/verification-outcomes.js +149 -0
- package/dist/verification-outcomes.js.map +1 -0
- package/dist/verification-outcomes.test.d.ts +2 -0
- package/dist/verification-outcomes.test.d.ts.map +1 -0
- package/dist/verification-outcomes.test.js +228 -0
- package/dist/verification-outcomes.test.js.map +1 -0
- package/package.json +1 -1
package/dist/ast-grep-query.d.ts
CHANGED
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
import type { NapiConfig } from '@ast-grep/napi';
|
|
2
|
+
import { Lang } from '@ast-grep/napi';
|
|
2
3
|
/** ast-grep pattern: either a simple string or a full NapiConfig rule object */
|
|
3
4
|
export type AstGrepRule = string | NapiConfig;
|
|
4
5
|
export interface AstGrepMatch {
|
|
5
6
|
lineNumber: number;
|
|
6
7
|
lineText: string;
|
|
7
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Map a file extension to the ast-grep dispatch language label. Registry-
|
|
11
|
+
* backed via `extensionToLanguage` from ast-classifier.ts (mmnto-ai/totem#1653,
|
|
12
|
+
* #1654) — built-in extensions map to napi `Lang` enum values; pack-
|
|
13
|
+
* registered extensions map to their NapiLang custom string per
|
|
14
|
+
* ADR-097 § 10.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extensionToLang(ext: string): Lang | string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Trailing-extension capture for glob/path strings (`/foo/bar.rs` → `rs`).
|
|
19
|
+
* Exported so compile-smoke-gate.ts shares the single source of truth for
|
|
20
|
+
* extracting target extensions out of `fileGlobs` (mmnto-ai/totem#1654).
|
|
21
|
+
*/
|
|
22
|
+
export declare const TRAILING_EXT_RE: RegExp;
|
|
23
|
+
/**
|
|
24
|
+
* Resolve the ast-grep Lang dispatch list for a rule's `fileGlobs`. Used by
|
|
25
|
+
* the compile-time pattern validator (`validateAstGrepPattern`) to parse
|
|
26
|
+
* the pattern under the rule's actual target grammar instead of always
|
|
27
|
+
* defaulting to TSX (mmnto-ai/totem#1654).
|
|
28
|
+
*
|
|
29
|
+
* Returns the deduplicated list of registered Lang values mapped from each
|
|
30
|
+
* positive glob's trailing extension. Negation globs are skipped (they
|
|
31
|
+
* describe files the rule should NOT match). When no positive glob carries
|
|
32
|
+
* a registered extension — including the unscoped-rule case where
|
|
33
|
+
* `fileGlobs` is undefined or empty — falls back to `[Lang.Tsx]` to
|
|
34
|
+
* preserve the legacy permissive-default behavior. Lang.Tsx remains the
|
|
35
|
+
* "unscoped" parser because it is the broadest TS/JS superset and many
|
|
36
|
+
* pre-1.16 rules ship without globs.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveAstGrepLangs(fileGlobs?: readonly string[]): (Lang | string)[];
|
|
8
39
|
/**
|
|
9
40
|
* Per-rule failure sink. Invoked when `findAll` throws inside a batch. The
|
|
10
41
|
* index is the position of the failing query in the original input array so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-grep-query.d.ts","sourceRoot":"","sources":["../src/ast-grep-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ast-grep-query.d.ts","sourceRoot":"","sources":["../src/ast-grep-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAS,MAAM,gBAAgB,CAAC;AAO7C,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiCD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAItE;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAmBpF;AAID;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AAwChE;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,MAAM,EAAE,GACzB,YAAY,EAAE,CAUhB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EACjE,aAAa,CAAC,EAAE,aAAa,GAC5B,YAAY,EAAE,EAAE,CAkClB"}
|
package/dist/ast-grep-query.js
CHANGED
|
@@ -34,12 +34,56 @@ function supportedLanguageToNapiLang(lang) {
|
|
|
34
34
|
* registered extensions map to their NapiLang custom string per
|
|
35
35
|
* ADR-097 § 10.
|
|
36
36
|
*/
|
|
37
|
-
function extensionToLang(ext) {
|
|
37
|
+
export function extensionToLang(ext) {
|
|
38
38
|
const supported = extensionToLanguage(ext);
|
|
39
39
|
if (!supported)
|
|
40
40
|
return undefined;
|
|
41
41
|
return supportedLanguageToNapiLang(supported);
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Trailing-extension capture for glob/path strings (`/foo/bar.rs` → `rs`).
|
|
45
|
+
* Exported so compile-smoke-gate.ts shares the single source of truth for
|
|
46
|
+
* extracting target extensions out of `fileGlobs` (mmnto-ai/totem#1654).
|
|
47
|
+
*/
|
|
48
|
+
export const TRAILING_EXT_RE = /\.([a-zA-Z0-9]+)$/;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the ast-grep Lang dispatch list for a rule's `fileGlobs`. Used by
|
|
51
|
+
* the compile-time pattern validator (`validateAstGrepPattern`) to parse
|
|
52
|
+
* the pattern under the rule's actual target grammar instead of always
|
|
53
|
+
* defaulting to TSX (mmnto-ai/totem#1654).
|
|
54
|
+
*
|
|
55
|
+
* Returns the deduplicated list of registered Lang values mapped from each
|
|
56
|
+
* positive glob's trailing extension. Negation globs are skipped (they
|
|
57
|
+
* describe files the rule should NOT match). When no positive glob carries
|
|
58
|
+
* a registered extension — including the unscoped-rule case where
|
|
59
|
+
* `fileGlobs` is undefined or empty — falls back to `[Lang.Tsx]` to
|
|
60
|
+
* preserve the legacy permissive-default behavior. Lang.Tsx remains the
|
|
61
|
+
* "unscoped" parser because it is the broadest TS/JS superset and many
|
|
62
|
+
* pre-1.16 rules ship without globs.
|
|
63
|
+
*/
|
|
64
|
+
export function resolveAstGrepLangs(fileGlobs) {
|
|
65
|
+
if (!fileGlobs || fileGlobs.length === 0)
|
|
66
|
+
return [Lang.Tsx];
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
const langs = [];
|
|
69
|
+
for (const glob of fileGlobs) {
|
|
70
|
+
if (glob.startsWith('!'))
|
|
71
|
+
continue;
|
|
72
|
+
const match = glob.match(TRAILING_EXT_RE);
|
|
73
|
+
if (!match)
|
|
74
|
+
continue;
|
|
75
|
+
const ext = `.${match[1].toLowerCase()}`;
|
|
76
|
+
const lang = extensionToLang(ext);
|
|
77
|
+
if (lang === undefined)
|
|
78
|
+
continue;
|
|
79
|
+
const key = String(lang);
|
|
80
|
+
if (seen.has(key))
|
|
81
|
+
continue;
|
|
82
|
+
seen.add(key);
|
|
83
|
+
langs.push(lang);
|
|
84
|
+
}
|
|
85
|
+
return langs.length > 0 ? langs : [Lang.Tsx];
|
|
86
|
+
}
|
|
43
87
|
function executeQuery(root, rule, addedLineNumbers, lines) {
|
|
44
88
|
if (addedLineNumbers.length === 0)
|
|
45
89
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-grep-query.js","sourceRoot":"","sources":["../src/ast-grep-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAYlD,uDAAuD;AAEvD,MAAM,aAAa,GACjB,sGAAsG,CAAC;AAEzG,uDAAuD;AAEvD;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAAC,IAAY;IAC/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB;YACE,qEAAqE;YACrE,oEAAoE;YACpE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"ast-grep-query.js","sourceRoot":"","sources":["../src/ast-grep-query.ts"],"names":[],"mappings":"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"}
|
package/dist/compile-lesson.d.ts
CHANGED
|
@@ -151,7 +151,7 @@ export interface CompileLessonDeps {
|
|
|
151
151
|
* Decision 3 (Layer 3 zero-tolerance), security rules that fail the smoke
|
|
152
152
|
* gate are rejected outright with no retry. Reserved for callers that know
|
|
153
153
|
* the source pack context (e.g., compiling lessons from a pack scoped
|
|
154
|
-
* `@
|
|
154
|
+
* `@mmnto/pack-agent-security` or any pack whose manifest carries an
|
|
155
155
|
* immutable severity contract). Today's `totem lesson compile` at repo
|
|
156
156
|
* level does not set this; a future pack-build command will. Defaults to
|
|
157
157
|
* false; security zero-tolerance is gated on an affirmative caller assertion.
|
|
@@ -191,21 +191,30 @@ export interface CompileLessonDeps {
|
|
|
191
191
|
* patterns (statement boundaries outside braces/parens), and
|
|
192
192
|
* compound object patterns missing the required `rule` key.
|
|
193
193
|
* Gives fast, human-readable error messages for the common cases.
|
|
194
|
-
* 2. Parser-based check (#1339) — actually invoke ast-grep's rule
|
|
195
|
-
* compiler via `parse(
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
* semantic validation — e.g.
|
|
200
|
-
* (floating member call with no
|
|
201
|
-
* (bare catch clause that can only
|
|
194
|
+
* 2. Parser-based check (#1339, #1654) — actually invoke ast-grep's rule
|
|
195
|
+
* compiler via `parse(lang, '').root().findAll(pattern)` for every
|
|
196
|
+
* Lang resolved from the rule's `fileGlobs`. The pattern is accepted
|
|
197
|
+
* if it parses under any of those Langs; rejected with the last
|
|
198
|
+
* Lang's error message if all of them fail. This catches single-line
|
|
199
|
+
* patterns that look balanced but fail semantic validation — e.g.
|
|
200
|
+
* `.option("--no-$FLAG", $$$REST)` (floating member call with no
|
|
201
|
+
* receiver) or `catch($E) { $$$ }` (bare catch clause that can only
|
|
202
|
+
* exist inside a try statement) — and equally importantly, surfaces
|
|
203
|
+
* grammar-mismatch failures when a pattern would parse under TSX
|
|
204
|
+
* but not under the rule's actual target grammar (e.g. a Rust
|
|
205
|
+
* `ResMut<TacticalState>` pattern that TSX accepts as a JSX element
|
|
206
|
+
* but Rust rejects as a malformed type expression).
|
|
202
207
|
*
|
|
203
|
-
* Language choice:
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
208
|
+
* Language choice: when `fileGlobs` resolves to one or more registered
|
|
209
|
+
* languages (e.g., `**\/*.rs` → Rust, `**\/*.ts` → TypeScript), the pattern
|
|
210
|
+
* is validated under every such grammar and accepted if any one accepts
|
|
211
|
+
* it. When `fileGlobs` is absent or no glob carries a registered
|
|
212
|
+
* extension, falls back to `Lang.Tsx` — the most permissive parser
|
|
213
|
+
* available (superset of TypeScript plus JSX) — so unscoped pre-1.16
|
|
214
|
+
* rules retain their legacy validation behavior. Empty source (`''`)
|
|
215
|
+
* keeps the call cheap — ast-grep compiles the pattern into a rule
|
|
216
|
+
* before iterating any AST, so we see the rule-compile error even though
|
|
217
|
+
* there's nothing to match against.
|
|
209
218
|
*
|
|
210
219
|
* Lite-build safety: this function is only called from compile flows
|
|
211
220
|
* (buildCompiledRule / buildManualRule), which require an orchestrator
|
|
@@ -217,7 +226,7 @@ export interface CompileLessonDeps {
|
|
|
217
226
|
* failure) degrades conservatively to `valid: false` rather than
|
|
218
227
|
* crashing the compile command.
|
|
219
228
|
*/
|
|
220
|
-
export declare function validateAstGrepPattern(pattern: string | Record<string, unknown
|
|
229
|
+
export declare function validateAstGrepPattern(pattern: string | Record<string, unknown>, fileGlobs?: readonly string[]): RegexValidation;
|
|
221
230
|
/**
|
|
222
231
|
* Options controlling how `buildCompiledRule` validates its input before
|
|
223
232
|
* emitting a `CompiledRule`. The smoke gate is opt-in so Pipeline 1 (manual)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-lesson.d.ts","sourceRoot":"","sources":["../src/compile-lesson.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compile-lesson.d.ts","sourceRoot":"","sources":["../src/compile-lesson.ts"],"names":[],"mappings":"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"}
|
package/dist/compile-lesson.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import {
|
|
2
|
+
import { parse } from '@ast-grep/napi';
|
|
3
|
+
import { resolveAstGrepLangs } from './ast-grep-query.js';
|
|
3
4
|
import { runSmokeGate } from './compile-smoke-gate.js';
|
|
4
5
|
import { engineFields, sanitizeFileGlobs, validateRegex } from './compiler.js';
|
|
5
6
|
import { extractBadGoodSnippets, extractManualPattern, extractRuleExamples, isGlobSetEqual, parseDeclaredScope, parseDeclaredSeverity, } from './lesson-pattern.js';
|
|
@@ -18,21 +19,30 @@ function hashPattern(pattern) {
|
|
|
18
19
|
* patterns (statement boundaries outside braces/parens), and
|
|
19
20
|
* compound object patterns missing the required `rule` key.
|
|
20
21
|
* Gives fast, human-readable error messages for the common cases.
|
|
21
|
-
* 2. Parser-based check (#1339) — actually invoke ast-grep's rule
|
|
22
|
-
* compiler via `parse(
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* semantic validation — e.g.
|
|
27
|
-
* (floating member call with no
|
|
28
|
-
* (bare catch clause that can only
|
|
22
|
+
* 2. Parser-based check (#1339, #1654) — actually invoke ast-grep's rule
|
|
23
|
+
* compiler via `parse(lang, '').root().findAll(pattern)` for every
|
|
24
|
+
* Lang resolved from the rule's `fileGlobs`. The pattern is accepted
|
|
25
|
+
* if it parses under any of those Langs; rejected with the last
|
|
26
|
+
* Lang's error message if all of them fail. This catches single-line
|
|
27
|
+
* patterns that look balanced but fail semantic validation — e.g.
|
|
28
|
+
* `.option("--no-$FLAG", $$$REST)` (floating member call with no
|
|
29
|
+
* receiver) or `catch($E) { $$$ }` (bare catch clause that can only
|
|
30
|
+
* exist inside a try statement) — and equally importantly, surfaces
|
|
31
|
+
* grammar-mismatch failures when a pattern would parse under TSX
|
|
32
|
+
* but not under the rule's actual target grammar (e.g. a Rust
|
|
33
|
+
* `ResMut<TacticalState>` pattern that TSX accepts as a JSX element
|
|
34
|
+
* but Rust rejects as a malformed type expression).
|
|
29
35
|
*
|
|
30
|
-
* Language choice:
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
+
* Language choice: when `fileGlobs` resolves to one or more registered
|
|
37
|
+
* languages (e.g., `**\/*.rs` → Rust, `**\/*.ts` → TypeScript), the pattern
|
|
38
|
+
* is validated under every such grammar and accepted if any one accepts
|
|
39
|
+
* it. When `fileGlobs` is absent or no glob carries a registered
|
|
40
|
+
* extension, falls back to `Lang.Tsx` — the most permissive parser
|
|
41
|
+
* available (superset of TypeScript plus JSX) — so unscoped pre-1.16
|
|
42
|
+
* rules retain their legacy validation behavior. Empty source (`''`)
|
|
43
|
+
* keeps the call cheap — ast-grep compiles the pattern into a rule
|
|
44
|
+
* before iterating any AST, so we see the rule-compile error even though
|
|
45
|
+
* there's nothing to match against.
|
|
36
46
|
*
|
|
37
47
|
* Lite-build safety: this function is only called from compile flows
|
|
38
48
|
* (buildCompiledRule / buildManualRule), which require an orchestrator
|
|
@@ -44,7 +54,7 @@ function hashPattern(pattern) {
|
|
|
44
54
|
* failure) degrades conservatively to `valid: false` rather than
|
|
45
55
|
* crashing the compile command.
|
|
46
56
|
*/
|
|
47
|
-
export function validateAstGrepPattern(pattern) {
|
|
57
|
+
export function validateAstGrepPattern(pattern, fileGlobs) {
|
|
48
58
|
// ── Object pattern (NapiConfig / compound rule) ──
|
|
49
59
|
if (typeof pattern === 'object' && pattern !== null) {
|
|
50
60
|
if (!('rule' in pattern)) {
|
|
@@ -112,21 +122,38 @@ export function validateAstGrepPattern(pattern) {
|
|
|
112
122
|
};
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
|
-
// ── Parser-based check (#1339) ──
|
|
125
|
+
// ── Parser-based check (#1339, #1654) ──
|
|
116
126
|
// Hand the pattern to ast-grep's actual rule compiler. If ast-grep
|
|
117
|
-
// can't compile it into a single-rooted rule
|
|
118
|
-
// runtime error ("Multiple AST nodes
|
|
119
|
-
// detected", "
|
|
120
|
-
//
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
try
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
// can't compile it into a single-rooted rule under any of the rule's
|
|
128
|
+
// target Langs, we see the exact runtime error ("Multiple AST nodes
|
|
129
|
+
// are detected", "No AST root is detected", "rule is not configured
|
|
130
|
+
// correctly", etc.) at compile time instead. The pattern is accepted
|
|
131
|
+
// when any one Lang accepts it; rejected with the last failure's
|
|
132
|
+
// message when all Langs reject it.
|
|
133
|
+
// totem-context: try-each-Lang-then-collect-and-rethrow. The per-iteration
|
|
134
|
+
// catch is not silent degradation — `lastErr` is rethrown via the
|
|
135
|
+
// rejection-return below if every Lang fails, and the function returns
|
|
136
|
+
// `{ valid: true }` from inside the try the moment any Lang accepts the
|
|
137
|
+
// pattern. Pattern is the deliberate cross-grammar acceptance shape per
|
|
138
|
+
// mmnto-ai/totem#1654.
|
|
139
|
+
const langs = resolveAstGrepLangs(fileGlobs);
|
|
140
|
+
let lastErr = undefined;
|
|
141
|
+
for (const lang of langs) {
|
|
142
|
+
try {
|
|
143
|
+
const emptyRoot = parse(lang, '');
|
|
144
|
+
// findAll accepts both string patterns and NapiConfig objects.
|
|
145
|
+
emptyRoot.root().findAll(pattern);
|
|
146
|
+
return { valid: true };
|
|
147
|
+
// totem-context: see preamble — collect-and-rethrow per #1654 cross-grammar accept
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
lastErr = err; // totem-context: collected; rejection-return below uses it
|
|
151
|
+
}
|
|
127
152
|
}
|
|
128
|
-
|
|
129
|
-
|
|
153
|
+
// All Langs rejected — surface the last failure with the same
|
|
154
|
+
// first-line preservation logic the original single-Lang code used.
|
|
155
|
+
{
|
|
156
|
+
const raw = lastErr instanceof Error ? lastErr.message : String(lastErr ?? '');
|
|
130
157
|
// Keep the first LINE of the ast-grep error only — multi-line errors
|
|
131
158
|
// confuse downstream loggers. Do NOT slice on `.` — ast-grep error
|
|
132
159
|
// messages almost always embed the user's pattern source verbatim
|
|
@@ -156,7 +183,6 @@ export function validateAstGrepPattern(pattern) {
|
|
|
156
183
|
reason: `ast-grep rejected pattern: ${firstLine}`,
|
|
157
184
|
};
|
|
158
185
|
}
|
|
159
|
-
return { valid: true };
|
|
160
186
|
}
|
|
161
187
|
// ─── Self-suppression guard (#1177) ─────────────────
|
|
162
188
|
/** Patterns containing suppression markers can never fire — the engine suppresses those lines first. */
|
|
@@ -284,8 +310,13 @@ export function buildCompiledRule(parsed, lesson, existingByHash, options = {})
|
|
|
284
310
|
if (!astSource || !parsed.message) {
|
|
285
311
|
return reject('Missing astGrepPattern or astGrepYamlRule or message');
|
|
286
312
|
}
|
|
287
|
-
// Validate ast-grep pattern at compile time (#1062, #1339, #1407)
|
|
288
|
-
|
|
313
|
+
// Validate ast-grep pattern at compile time (#1062, #1339, #1407, #1654).
|
|
314
|
+
// `sanitizedGlobs` carries the rule's effective fileGlobs (post-scope-
|
|
315
|
+
// override) so the validator can pick the right Lang grammar — TSX
|
|
316
|
+
// for unscoped or TS/JS rules, Rust for `**\/*.rs`, etc. Without this,
|
|
317
|
+
// a Rust pattern parses under Lang.Tsx and accidentally either
|
|
318
|
+
// false-passes (TSX accepts a JSX-ish tree) or false-fails.
|
|
319
|
+
const astValidation = validateAstGrepPattern(astSource, sanitizedGlobs);
|
|
289
320
|
if (!astValidation.valid) {
|
|
290
321
|
return reject(`Invalid ast-grep pattern: ${astValidation.reason}`);
|
|
291
322
|
}
|
|
@@ -475,6 +506,14 @@ export function buildManualRule(lesson, existingByHash) {
|
|
|
475
506
|
const manual = extractManualPattern(lesson.body);
|
|
476
507
|
if (!manual)
|
|
477
508
|
return { rule: null };
|
|
509
|
+
// Hoist sanitization above ast-grep validation (CR review on PR #1775,
|
|
510
|
+
// outside-diff): brace-expanded globs like `**/*.{rs,tsx}` need
|
|
511
|
+
// `sanitizeFileGlobs` (brace-expansion → `['**/*.rs', '**/*.tsx']`)
|
|
512
|
+
// before `resolveAstGrepLangs` can map them to Lang values. Validating
|
|
513
|
+
// against raw `manual.fileGlobs` would silently fall back to `Lang.Tsx`
|
|
514
|
+
// on every brace-expanded scope and reintroduce the #1654 grammar
|
|
515
|
+
// mismatch on the manual-authoring path.
|
|
516
|
+
const sanitizedGlobs = manual.fileGlobs ? sanitizeFileGlobs(manual.fileGlobs) : undefined;
|
|
478
517
|
// Compound ast-grep path: the lesson authored a NapiConfig-shaped rule via
|
|
479
518
|
// a yaml fenced block under **Pattern:**. Route the parsed object through
|
|
480
519
|
// validateAstGrepPattern (which accepts both string and object shapes via
|
|
@@ -498,14 +537,13 @@ export function buildManualRule(lesson, existingByHash) {
|
|
|
498
537
|
rejectReason: 'Manual ast-grep lesson has neither a flat **Pattern:** value nor a `yaml`-tagged fenced block',
|
|
499
538
|
};
|
|
500
539
|
}
|
|
501
|
-
const validation = validateAstGrepPattern(astSource);
|
|
540
|
+
const validation = validateAstGrepPattern(astSource, sanitizedGlobs);
|
|
502
541
|
if (!validation.valid) {
|
|
503
542
|
return { rule: null, rejectReason: `Manual ast-grep pattern rejected: ${validation.reason}` };
|
|
504
543
|
}
|
|
505
544
|
}
|
|
506
545
|
const now = new Date().toISOString();
|
|
507
546
|
const existing = existingByHash.get(lesson.hash);
|
|
508
|
-
const sanitizedGlobs = manual.fileGlobs ? sanitizeFileGlobs(manual.fileGlobs) : undefined;
|
|
509
547
|
const engineFieldArgs = manual.engine === 'ast-grep' && astSource !== undefined ? astSource : manual.pattern;
|
|
510
548
|
return {
|
|
511
549
|
rule: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-lesson.js","sourceRoot":"","sources":["../src/compile-lesson.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile-lesson.js","sourceRoot":"","sources":["../src/compile-lesson.ts"],"names":[],"mappings":"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"}
|
|
@@ -686,6 +686,36 @@ describe('validateAstGrepPattern', () => {
|
|
|
686
686
|
});
|
|
687
687
|
expect(result.valid).toBe(true);
|
|
688
688
|
});
|
|
689
|
+
// ─── #1654: target-Lang threading via fileGlobs ────
|
|
690
|
+
it('falls back to Lang.Tsx when fileGlobs is undefined (#1654 regression: unscoped rules unchanged)', () => {
|
|
691
|
+
// Pre-#1654 behavior — the validator parsed every pattern under
|
|
692
|
+
// Lang.Tsx unconditionally. With #1654, omitting fileGlobs preserves
|
|
693
|
+
// that exact path so legacy unscoped rules don't shift validation
|
|
694
|
+
// semantics.
|
|
695
|
+
const result = validateAstGrepPattern('console.log($A)', undefined);
|
|
696
|
+
expect(result.valid).toBe(true);
|
|
697
|
+
});
|
|
698
|
+
it('falls back to Lang.Tsx when fileGlobs has no registered extensions', () => {
|
|
699
|
+
// A glob like `**/*.config` carries an extension but it's not
|
|
700
|
+
// registered in EXT_TO_LANG_REGISTRY. The validator must not crash;
|
|
701
|
+
// it falls back to Lang.Tsx rather than emitting a useless verdict.
|
|
702
|
+
const result = validateAstGrepPattern('console.log($A)', ['**/*.config']);
|
|
703
|
+
expect(result.valid).toBe(true);
|
|
704
|
+
});
|
|
705
|
+
it('threads TS-scoped fileGlobs through to Lang.TypeScript (round-trip baseline)', () => {
|
|
706
|
+
// A pattern that is valid TypeScript should stay valid when the
|
|
707
|
+
// validator routes through Lang.TypeScript via fileGlobs. Confirms
|
|
708
|
+
// the Lang dispatch path is wired without regressing TS rules.
|
|
709
|
+
const result = validateAstGrepPattern('const $X: string = $V', ['**/*.ts']);
|
|
710
|
+
expect(result.valid).toBe(true);
|
|
711
|
+
});
|
|
712
|
+
it('skips negation globs when resolving target Langs', () => {
|
|
713
|
+
// `!**/*.test.*` is exclusion syntax; including it in lang resolution
|
|
714
|
+
// would dilute the dispatch list with the negated extension. The
|
|
715
|
+
// resolver must drop these before mapping to Lang.
|
|
716
|
+
const result = validateAstGrepPattern('console.log($A)', ['**/*.ts', '!**/*.test.ts']);
|
|
717
|
+
expect(result.valid).toBe(true);
|
|
718
|
+
});
|
|
689
719
|
});
|
|
690
720
|
// ─── buildCompiledRule with ast-grep validation ────
|
|
691
721
|
describe('buildCompiledRule ast-grep validation (#1062)', () => {
|