@mmnto/cli 1.14.8 → 1.14.10
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/commands/compile-templates.d.ts +28 -2
- package/dist/commands/compile-templates.d.ts.map +1 -1
- package/dist/commands/compile-templates.js +198 -7
- package/dist/commands/compile-templates.js.map +1 -1
- package/dist/commands/compile-templates.test.js +83 -1
- package/dist/commands/compile-templates.test.js.map +1 -1
- package/dist/commands/run-compiled-rules.d.ts.map +1 -1
- package/dist/commands/run-compiled-rules.js +9 -1
- package/dist/commands/run-compiled-rules.js.map +1 -1
- package/dist/commands/run-compiled-rules.test.js +4 -2
- package/dist/commands/run-compiled-rules.test.js.map +1 -1
- package/dist/orchestrators/orchestrator.d.ts +26 -0
- package/dist/orchestrators/orchestrator.d.ts.map +1 -1
- package/dist/orchestrators/orchestrator.js +40 -3
- package/dist/orchestrators/orchestrator.js.map +1 -1
- package/dist/orchestrators/shell-orchestrator.d.ts.map +1 -1
- package/dist/orchestrators/shell-orchestrator.js +41 -5
- package/dist/orchestrators/shell-orchestrator.js.map +1 -1
- package/dist/orchestrators/shell-orchestrator.test.js +103 -0
- package/dist/orchestrators/shell-orchestrator.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,3 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter node kinds that are safe to use as the outer target of an
|
|
3
|
+
* `inside:` / `has:` / `not:` combinator in a compound ast-grep rule.
|
|
4
|
+
*
|
|
5
|
+
* Why a named export: the allow-list has independent value beyond the
|
|
6
|
+
* compiler prompt. `totem doctor` will lint existing compiled rules for
|
|
7
|
+
* illegal `kind:` targets, and future rule-tester hints can surface the
|
|
8
|
+
* same list. Interpolating it into the prompt keeps the two consumers in
|
|
9
|
+
* sync — a single source of truth.
|
|
10
|
+
*
|
|
11
|
+
* Why these kinds: they cover the structural contexts that show up in
|
|
12
|
+
* real lessons (control flow, function and class bodies, module-level
|
|
13
|
+
* imports and exports). Sourced from the compound ast-grep spike
|
|
14
|
+
* findings at packages/core/spikes/compound-ast-grep/findings.md (gap
|
|
15
|
+
* G-3) plus the ADR-087 / Proposal 226 design doc.
|
|
16
|
+
*
|
|
17
|
+
* Why not `pattern:` as the outer target: the spike harness test 8
|
|
18
|
+
* pinned the empirical finding that an outer `inside: { pattern: 'for
|
|
19
|
+
* ($INIT; $COND; $STEP) { $$$ }' }` silently matches zero. The
|
|
20
|
+
* combinator target must be a single-node kind match for the match
|
|
21
|
+
* engine to pin the scope reliably. The prompt (below) forbids the
|
|
22
|
+
* pattern: shape for outer targets; this list enumerates the accepted
|
|
23
|
+
* kinds.
|
|
24
|
+
*/
|
|
25
|
+
export declare const KIND_ALLOW_LIST: readonly ["for_statement", "for_in_statement", "while_statement", "do_statement", "try_statement", "catch_clause", "function_declaration", "method_definition", "arrow_function", "class_declaration", "class_body", "import_statement", "export_statement", "if_statement", "switch_statement"];
|
|
26
|
+
export type KindAllowListEntry = (typeof KIND_ALLOW_LIST)[number];
|
|
27
|
+
export declare const COMPILER_SYSTEM_PROMPT: string;
|
|
28
|
+
export declare const PIPELINE3_COMPILER_PROMPT = "# Example-Based Rule Compiler \u2014 Pipeline 3\n\n## Identity\nYou are a deterministic rule compiler. Your job is to analyze Bad and Good code snippets and generate a regex pattern that catches the BAD pattern but NOT the good pattern.\n\n## Input\nYou will receive:\n1. A lesson heading describing the rule\n2. **Bad Code** \u2014 code that should trigger the rule (violations)\n3. **Good Code** \u2014 code that should NOT trigger (correct alternatives)\n4. The full lesson body for additional context\n\n## Strategy\n1. Identify the structural difference between Bad and Good code\n2. Find a regex pattern that matches the BAD lines but not the GOOD lines\n3. The pattern will be tested line-by-line against git diff additions\n4. Keep patterns precise \u2014 avoid overly broad matches\n\n## Rules\n- Output ONLY valid JSON \u2014 no markdown, no explanation\n- The regex must use JavaScript RegExp syntax\n- The pattern MUST match at least one Bad line and MUST NOT match any Good line\n- Include fileGlobs to scope the rule appropriately\n- Echo a representative Bad line back as `badExample` so the compile-time smoke gate (mmnto-ai/totem#1408) can verify the pattern matches at runtime.\n- **CRITICAL \u2014 Always use recursive glob patterns with `**/` prefix** (e.g., `**/*.ts`, `**/*.py`)\n- **CRITICAL \u2014 Supported glob syntax only:** `**/*.ext`, `dir/**/*.ext`, `!pattern` for negation. NO brace expansion.\n\n## Output Schema\n```json\n{\n \"compilable\": true,\n \"pattern\": \"regex pattern that catches Bad but not Good\",\n \"message\": \"human-readable violation message\",\n \"badExample\": \"one of the Bad lines, copied verbatim\",\n \"fileGlobs\": [\"**/*.ts\", \"!**/*.test.ts\"]\n}\n```\n\nOr if the difference cannot be expressed as a line-level regex:\n```json\n{\n \"compilable\": false,\n \"reason\": \"Explanation of why a regex cannot distinguish these snippets\"\n}\n```\n\nEvery compilable rule MUST include a non-empty `badExample` field. The compile pipeline's schema parse rejects output that omits it for `ast-grep` or `regex` engines, so the rule never reaches the smoke gate. Echoing a representative Bad line (or the snippet the rule was built from) is usually enough; the smoke gate runs the rule against this exact string at compile time and rejects the rule if it produces zero matches.\n";
|
|
3
29
|
//# sourceMappingURL=compile-templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-templates.d.ts","sourceRoot":"","sources":["../../src/commands/compile-templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"compile-templates.d.ts","sourceRoot":"","sources":["../../src/commands/compile-templates.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,kSAgBlB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAIlE,eAAO,MAAM,sBAAsB,QAuSlC,CAAC;AAIF,eAAO,MAAM,yBAAyB,4yEA+CrC,CAAC"}
|
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
// ─── Compound rule outer-combinator allow-list ──────
|
|
2
|
+
/**
|
|
3
|
+
* Tree-sitter node kinds that are safe to use as the outer target of an
|
|
4
|
+
* `inside:` / `has:` / `not:` combinator in a compound ast-grep rule.
|
|
5
|
+
*
|
|
6
|
+
* Why a named export: the allow-list has independent value beyond the
|
|
7
|
+
* compiler prompt. `totem doctor` will lint existing compiled rules for
|
|
8
|
+
* illegal `kind:` targets, and future rule-tester hints can surface the
|
|
9
|
+
* same list. Interpolating it into the prompt keeps the two consumers in
|
|
10
|
+
* sync — a single source of truth.
|
|
11
|
+
*
|
|
12
|
+
* Why these kinds: they cover the structural contexts that show up in
|
|
13
|
+
* real lessons (control flow, function and class bodies, module-level
|
|
14
|
+
* imports and exports). Sourced from the compound ast-grep spike
|
|
15
|
+
* findings at packages/core/spikes/compound-ast-grep/findings.md (gap
|
|
16
|
+
* G-3) plus the ADR-087 / Proposal 226 design doc.
|
|
17
|
+
*
|
|
18
|
+
* Why not `pattern:` as the outer target: the spike harness test 8
|
|
19
|
+
* pinned the empirical finding that an outer `inside: { pattern: 'for
|
|
20
|
+
* ($INIT; $COND; $STEP) { $$$ }' }` silently matches zero. The
|
|
21
|
+
* combinator target must be a single-node kind match for the match
|
|
22
|
+
* engine to pin the scope reliably. The prompt (below) forbids the
|
|
23
|
+
* pattern: shape for outer targets; this list enumerates the accepted
|
|
24
|
+
* kinds.
|
|
25
|
+
*/
|
|
26
|
+
export const KIND_ALLOW_LIST = [
|
|
27
|
+
'for_statement',
|
|
28
|
+
'for_in_statement',
|
|
29
|
+
'while_statement',
|
|
30
|
+
'do_statement',
|
|
31
|
+
'try_statement',
|
|
32
|
+
'catch_clause',
|
|
33
|
+
'function_declaration',
|
|
34
|
+
'method_definition',
|
|
35
|
+
'arrow_function',
|
|
36
|
+
'class_declaration',
|
|
37
|
+
'class_body',
|
|
38
|
+
'import_statement',
|
|
39
|
+
'export_statement',
|
|
40
|
+
'if_statement',
|
|
41
|
+
'switch_statement',
|
|
42
|
+
];
|
|
1
43
|
// ─── Compiler prompt ────────────────────────────────
|
|
2
44
|
export const COMPILER_SYSTEM_PROMPT = `# Lesson Compiler — Rule Extraction
|
|
3
45
|
|
|
@@ -16,6 +58,7 @@ You are a deterministic rule compiler. Your job is to read a single natural-lang
|
|
|
16
58
|
- Patterns should catch **violations** (code that breaks the lesson's rule), NOT conformance.
|
|
17
59
|
- For regex: use JavaScript RegExp syntax. Keep patterns precise — avoid \`.*\` between delimiters.
|
|
18
60
|
- If the lesson describes an architectural principle or conceptual guideline that cannot be expressed as any pattern, set \`compilable\` to \`false\`.
|
|
61
|
+
- Every compilable regex or ast-grep rule MUST include a \`badExample\` snippet (see Bad Example section below).
|
|
19
62
|
- **File scoping:** Include a \`fileGlobs\` array to limit where the rule runs. Scope rules as tightly as possible:
|
|
20
63
|
- **By file type:** \`["**/*.sh", "**/*.yml"]\` — for rules about shell or YAML syntax.
|
|
21
64
|
- **By package/directory:** \`["packages/mcp/**/*.ts"]\` — for rules about MCP-specific patterns in a monorepo.
|
|
@@ -37,6 +80,7 @@ You are a deterministic rule compiler. Your job is to read a single natural-lang
|
|
|
37
80
|
"compilable": true,
|
|
38
81
|
"pattern": "regex pattern here",
|
|
39
82
|
"message": "human-readable violation message",
|
|
83
|
+
"badExample": "code snippet that the pattern matches",
|
|
40
84
|
"fileGlobs": ["packages/mcp/**/*.ts", "!**/*.test.ts"]
|
|
41
85
|
}
|
|
42
86
|
\`\`\`
|
|
@@ -46,7 +90,8 @@ Or if the rule genuinely applies to all file types (rare — prefer scoping):
|
|
|
46
90
|
{
|
|
47
91
|
"compilable": true,
|
|
48
92
|
"pattern": "regex pattern here",
|
|
49
|
-
"message": "human-readable violation message"
|
|
93
|
+
"message": "human-readable violation message",
|
|
94
|
+
"badExample": "code snippet that the pattern matches"
|
|
50
95
|
}
|
|
51
96
|
\`\`\`
|
|
52
97
|
|
|
@@ -63,22 +108,22 @@ When setting \`"compilable": false\`, always include a \`"reason"\` field explai
|
|
|
63
108
|
## Examples
|
|
64
109
|
|
|
65
110
|
Lesson: "Use \`err\` (never \`error\`) in catch blocks"
|
|
66
|
-
Output: {"compilable": true, "pattern": "catch\\\\s*\\\\(\\\\s*error\\\\s*[\\\\):]", "message": "Use 'err' instead of 'error' in catch blocks (project convention)"}
|
|
111
|
+
Output: {"compilable": true, "pattern": "catch\\\\s*\\\\(\\\\s*error\\\\s*[\\\\):]", "message": "Use 'err' instead of 'error' in catch blocks (project convention)", "badExample": "try { doWork(); } catch (error) { log(error); }"}
|
|
67
112
|
|
|
68
113
|
Lesson: "LanceDB does NOT support GROUP BY aggregation"
|
|
69
114
|
Output: {"compilable": false, "reason": "Lesson describes a database limitation, not a detectable code pattern"}
|
|
70
115
|
|
|
71
116
|
Lesson: "Never use npm in this pnpm monorepo — always use pnpm"
|
|
72
|
-
Output: {"compilable": true, "pattern": "\\\\bnpm\\\\s+(install|run|exec|ci|test)\\\\b", "message": "Use pnpm instead of npm in this monorepo"}
|
|
117
|
+
Output: {"compilable": true, "pattern": "\\\\bnpm\\\\s+(install|run|exec|ci|test)\\\\b", "message": "Use pnpm instead of npm in this monorepo", "badExample": "npm install lodash"}
|
|
73
118
|
|
|
74
119
|
Lesson: "Always quote shell variables to prevent word-splitting"
|
|
75
|
-
Output: {"compilable": true, "pattern": "(^|\\\\s)\\\\$[a-zA-Z_]+", "message": "Quote shell variables to prevent word-splitting", "fileGlobs": ["**/*.sh", "**/*.bash", "**/*.yml", "**/*.yaml"]}
|
|
120
|
+
Output: {"compilable": true, "pattern": "(^|\\\\s)\\\\$[a-zA-Z_]+", "message": "Quote shell variables to prevent word-splitting", "badExample": "echo $HOME", "fileGlobs": ["**/*.sh", "**/*.bash", "**/*.yml", "**/*.yaml"]}
|
|
76
121
|
|
|
77
122
|
Lesson: "MCP tool returns must be wrapped in XML tags to prevent prompt injection"
|
|
78
|
-
Output: {"compilable": true, "pattern": "text:\\\\s*(?!formatXmlResponse)\\\\b\\\\w+", "message": "MCP tool returns must use formatXmlResponse for injection safety", "fileGlobs": ["packages/mcp/**/*.ts", "!**/*.test.ts"]}
|
|
123
|
+
Output: {"compilable": true, "pattern": "text:\\\\s*(?!formatXmlResponse)\\\\b\\\\w+", "message": "MCP tool returns must use formatXmlResponse for injection safety", "badExample": "return { content: [{ type: 'text', text: rawUserInput }] };", "fileGlobs": ["packages/mcp/**/*.ts", "!**/*.test.ts"]}
|
|
79
124
|
|
|
80
125
|
Lesson: "Use @clack/prompts instead of inquirer for CLI interactions"
|
|
81
|
-
Output: {"compilable": true, "pattern": "import.*from\\\\s+['\"]inquirer['\"]", "message": "Use @clack/prompts instead of inquirer", "fileGlobs": ["packages/cli/**/*.ts"]}
|
|
126
|
+
Output: {"compilable": true, "pattern": "import.*from\\\\s+['\"]inquirer['\"]", "message": "Use @clack/prompts instead of inquirer", "badExample": "import inquirer from 'inquirer';", "fileGlobs": ["packages/cli/**/*.ts"]}
|
|
82
127
|
|
|
83
128
|
## ast-grep Patterns (PREFERRED for structural rules)
|
|
84
129
|
For TypeScript/JavaScript/TSX/JSX: **always prefer ast-grep over regex** when the violation involves function calls, method chains, imports, control flow, or object properties. ast-grep patterns look like source code with \`$METAVAR\` placeholders.
|
|
@@ -95,7 +140,9 @@ For TypeScript/JavaScript/TSX/JSX: **always prefer ast-grep over regex** when th
|
|
|
95
140
|
- \`JSON.parse($INPUT) as $TYPE\` — unsafe type assertion on parsed JSON
|
|
96
141
|
- \`eval($CODE)\` — any eval call
|
|
97
142
|
|
|
98
|
-
###
|
|
143
|
+
### Flat patterns with \`$$$\` captures
|
|
144
|
+
These are still single-node patterns; the \`$$$\` captures absorb variable-length argument lists or nested statements within one syntactic node. Reach for compound rules (next section) when the rule needs to look outside the matched node.
|
|
145
|
+
|
|
99
146
|
- \`$OBJ.replace(process.cwd(), $REPLACEMENT)\` — string replace on cwd instead of path.relative
|
|
100
147
|
- \`new RegExp($SRC, $FLAGS + 'g')\` — blindly appending regex flags
|
|
101
148
|
- \`$ARR.forEach(async ($ITEM) => { $$$BODY })\` — async callback in forEach (drops promises)
|
|
@@ -116,12 +163,152 @@ Set \`"engine": "ast-grep"\` and provide an \`"astGrepPattern"\` field. Leave \`
|
|
|
116
163
|
"astGrepPattern": "$ARR.forEach(async ($ITEM) => { $$$BODY })",
|
|
117
164
|
"pattern": "",
|
|
118
165
|
"message": "Do not pass async functions to forEach — use for...of or Promise.all(arr.map(...))",
|
|
166
|
+
"badExample": "items.forEach(async (item) => { await process(item); });",
|
|
119
167
|
"fileGlobs": ["**/*.ts", "**/*.tsx"]
|
|
120
168
|
}
|
|
121
169
|
\`\`\`
|
|
122
170
|
|
|
123
171
|
IMPORTANT: ast-grep patterns must be single valid AST nodes. Only use for TypeScript/JavaScript/TSX/JSX files.
|
|
124
172
|
|
|
173
|
+
## Compound rules (structural combinators: \`inside\`, \`has\`, \`not\`)
|
|
174
|
+
|
|
175
|
+
Compound rules go beyond a single matched node. Reach for them when the lesson talks about *structural context*:
|
|
176
|
+
- "inside a loop" / "inside a try block"
|
|
177
|
+
- "empty catch" or "function with no return"
|
|
178
|
+
- "spawn calls outside of import statements"
|
|
179
|
+
|
|
180
|
+
Compound rules use the \`astGrepYamlRule\` field instead of \`astGrepPattern\`. The shape mirrors the ast-grep YAML rule format:
|
|
181
|
+
|
|
182
|
+
\`\`\`json
|
|
183
|
+
{
|
|
184
|
+
"engine": "ast-grep",
|
|
185
|
+
"astGrepYamlRule": {
|
|
186
|
+
"rule": {
|
|
187
|
+
"pattern": "matched-node-source",
|
|
188
|
+
"inside": { "kind": "outer-context-kind", "stopBy": "end" }
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
\`\`\`
|
|
193
|
+
|
|
194
|
+
### Outer combinator targets MUST use \`kind:\`
|
|
195
|
+
|
|
196
|
+
For the outer side of an \`inside\` / \`has\` / \`not\` combinator, target a single tree-sitter node \`kind\`. Pattern-shaped outer targets that span multiple statements (declaration, condition, update) silently match zero in the current ast-grep release.
|
|
197
|
+
|
|
198
|
+
**FORBIDDEN sharp edge** (matches zero, never warns):
|
|
199
|
+
\`\`\`json
|
|
200
|
+
{
|
|
201
|
+
"rule": {
|
|
202
|
+
"pattern": "const $VAR = $VAL",
|
|
203
|
+
"inside": { "pattern": "for ($A; $B; $C) { $$$ }", "stopBy": "end" }
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
\`\`\`
|
|
207
|
+
|
|
208
|
+
**Use instead:**
|
|
209
|
+
\`\`\`json
|
|
210
|
+
{
|
|
211
|
+
"rule": {
|
|
212
|
+
"pattern": "const $VAR = $VAL",
|
|
213
|
+
"inside": { "kind": "for_statement", "stopBy": "end" }
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
\`\`\`
|
|
217
|
+
|
|
218
|
+
The matched node (the part that gets flagged) can still use \`pattern:\`. The combinator target is the part that needs \`kind:\`.
|
|
219
|
+
|
|
220
|
+
### Allowed outer kinds
|
|
221
|
+
|
|
222
|
+
Use one of these tree-sitter node kinds when targeting the outer side of a combinator. Other kinds may work but were not validated in the spike, so prefer this list:
|
|
223
|
+
${KIND_ALLOW_LIST.map((k) => `- \`${k}\``).join('\n')}
|
|
224
|
+
|
|
225
|
+
If the lesson points at a context not on this list, escalate to a Tree-sitter S-expression query (engine \`ast\`) instead of guessing a kind.
|
|
226
|
+
|
|
227
|
+
### Compound example A: const declaration nested inside a for-loop
|
|
228
|
+
|
|
229
|
+
\`\`\`json
|
|
230
|
+
{
|
|
231
|
+
"compilable": true,
|
|
232
|
+
"engine": "ast-grep",
|
|
233
|
+
"pattern": "",
|
|
234
|
+
"astGrepYamlRule": {
|
|
235
|
+
"rule": {
|
|
236
|
+
"pattern": "const $VAR = $VAL",
|
|
237
|
+
"inside": { "kind": "for_statement", "stopBy": "end" }
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"message": "Hoist the const out of the loop or use let if the value really changes per iteration",
|
|
241
|
+
"badExample": "for (let i = 0; i < n; i++) { const x = i * 2; total += x; }",
|
|
242
|
+
"fileGlobs": ["**/*.ts", "**/*.tsx"]
|
|
243
|
+
}
|
|
244
|
+
\`\`\`
|
|
245
|
+
|
|
246
|
+
### Compound example B: object literal containing \`shell: true\` (uses \`has\`)
|
|
247
|
+
|
|
248
|
+
The rule says "match any object literal that has \`shell: true\` as a descendant property". The \`has\` combinator expresses the containment relationship cleanly, and \`stopBy: end\` walks the full subtree rather than stopping at the immediate neighbor.
|
|
249
|
+
|
|
250
|
+
\`\`\`json
|
|
251
|
+
{
|
|
252
|
+
"compilable": true,
|
|
253
|
+
"engine": "ast-grep",
|
|
254
|
+
"pattern": "",
|
|
255
|
+
"astGrepYamlRule": {
|
|
256
|
+
"rule": {
|
|
257
|
+
"kind": "object",
|
|
258
|
+
"has": {
|
|
259
|
+
"pattern": "shell: true",
|
|
260
|
+
"stopBy": "end"
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"message": "Shell execution requires explicit opt-in - prefer safeExec or cross-spawn for Windows shim resolution",
|
|
265
|
+
"badExample": "spawn(cmd, args, { shell: true });",
|
|
266
|
+
"fileGlobs": ["**/*.ts", "**/*.tsx"]
|
|
267
|
+
}
|
|
268
|
+
\`\`\`
|
|
269
|
+
|
|
270
|
+
Note: do NOT try to express "empty catch block" via \`not: { has: { any: [...kind list...] } }\`. The inverse-of-allow-list shape produces false positives for any statement kind you forgot to enumerate (TypeScript has ~15 statement kinds, including \`for_statement\`, \`while_statement\`, \`switch_statement\`, \`try_statement\`, \`class_declaration\`, etc.). If you need to detect an empty block, use \`nthChild\` or a \`pattern:\` match on literal braces instead, and verify the rule against a badExample that exercises the common non-empty shapes.
|
|
271
|
+
|
|
272
|
+
### Compound example C: JSON.parse() that is NOT wrapped in a try block
|
|
273
|
+
|
|
274
|
+
Rule says "match \`JSON.parse(\$INPUT)\` calls that are NOT descendants of a try_statement". The negative combinator is meaningful here because call expressions can legitimately appear both inside and outside a \`try\` block; flagging only the unwrapped calls catches the real anti-pattern.
|
|
275
|
+
|
|
276
|
+
\`\`\`json
|
|
277
|
+
{
|
|
278
|
+
"compilable": true,
|
|
279
|
+
"engine": "ast-grep",
|
|
280
|
+
"pattern": "",
|
|
281
|
+
"astGrepYamlRule": {
|
|
282
|
+
"rule": {
|
|
283
|
+
"pattern": "JSON.parse($INPUT)",
|
|
284
|
+
"not": {
|
|
285
|
+
"inside": { "kind": "try_statement", "stopBy": "end" }
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"message": "Wrap JSON.parse in try/catch - malformed input throws SyntaxError with unhelpful stack context",
|
|
290
|
+
"badExample": "const config = JSON.parse(raw);",
|
|
291
|
+
"fileGlobs": ["**/*.ts", "**/*.tsx"]
|
|
292
|
+
}
|
|
293
|
+
\`\`\`
|
|
294
|
+
|
|
295
|
+
Note: the \`not: inside:\` combinator is only meaningful when the matched node (the \`pattern:\` side) can actually appear as a descendant of the outer target. Matching a call_expression with \`not: inside: import_statement\` is vacuous because call_expressions cannot structurally live inside imports (imports only carry specifiers and identifiers). Check the tree-sitter grammar before reaching for \`not:\` to avoid teaching no-op filters.
|
|
296
|
+
|
|
297
|
+
When emitting a compound rule, set \`"astGrepPattern"\` and \`"pattern"\` to the empty string and put the structural tree under \`"astGrepYamlRule"\`. The two ast-grep fields are mutually exclusive: one or the other, never both.
|
|
298
|
+
|
|
299
|
+
## Bad Example (REQUIRED)
|
|
300
|
+
|
|
301
|
+
Every compilable regex or ast-grep rule MUST include a non-empty \`badExample\` field. The compile-time smoke gate runs the rule against this snippet using the same engine entry points the runtime uses; rules that fail to match their own bad example are rejected before they land in \`compiled-rules.json\`.
|
|
302
|
+
|
|
303
|
+
A good \`badExample\` is:
|
|
304
|
+
- **Short.** One to three lines is plenty. Multi-line is fine when the rule needs structural context (e.g., a try/catch for an empty-catch rule).
|
|
305
|
+
- **Realistic.** Looks like code a developer might actually write, not a synthetic test fixture.
|
|
306
|
+
- **Targeted.** Exercises exactly the violation the rule is meant to catch. Do not pad it with unrelated lines.
|
|
307
|
+
|
|
308
|
+
If you cannot produce a snippet that the rule would match, the rule is probably not well-formed; reconsider the pattern or set \`"compilable": false\` with an explanation.
|
|
309
|
+
|
|
310
|
+
The \`badExample\` field is exempt only for the \`ast\` engine (Tree-sitter S-expression queries), which the smoke gate does not yet evaluate. For everything else (regex and ast-grep, including compound rules under \`astGrepYamlRule\`), the field is required.
|
|
311
|
+
|
|
125
312
|
## Regex (fallback for non-structural patterns)
|
|
126
313
|
Use regex ONLY when the violation is a simple string/keyword match that does not involve code structure — e.g., matching import paths, literal URLs, comment patterns, or config values. The regex rules above still apply.
|
|
127
314
|
|
|
@@ -174,6 +361,7 @@ You will receive:
|
|
|
174
361
|
- The regex must use JavaScript RegExp syntax
|
|
175
362
|
- The pattern MUST match at least one Bad line and MUST NOT match any Good line
|
|
176
363
|
- Include fileGlobs to scope the rule appropriately
|
|
364
|
+
- Echo a representative Bad line back as \`badExample\` so the compile-time smoke gate (mmnto-ai/totem#1408) can verify the pattern matches at runtime.
|
|
177
365
|
- **CRITICAL — Always use recursive glob patterns with \`**/\` prefix** (e.g., \`**/*.ts\`, \`**/*.py\`)
|
|
178
366
|
- **CRITICAL — Supported glob syntax only:** \`**/*.ext\`, \`dir/**/*.ext\`, \`!pattern\` for negation. NO brace expansion.
|
|
179
367
|
|
|
@@ -183,6 +371,7 @@ You will receive:
|
|
|
183
371
|
"compilable": true,
|
|
184
372
|
"pattern": "regex pattern that catches Bad but not Good",
|
|
185
373
|
"message": "human-readable violation message",
|
|
374
|
+
"badExample": "one of the Bad lines, copied verbatim",
|
|
186
375
|
"fileGlobs": ["**/*.ts", "!**/*.test.ts"]
|
|
187
376
|
}
|
|
188
377
|
\`\`\`
|
|
@@ -194,5 +383,7 @@ Or if the difference cannot be expressed as a line-level regex:
|
|
|
194
383
|
"reason": "Explanation of why a regex cannot distinguish these snippets"
|
|
195
384
|
}
|
|
196
385
|
\`\`\`
|
|
386
|
+
|
|
387
|
+
Every compilable rule MUST include a non-empty \`badExample\` field. The compile pipeline's schema parse rejects output that omits it for \`ast-grep\` or \`regex\` engines, so the rule never reaches the smoke gate. Echoing a representative Bad line (or the snippet the rule was built from) is usually enough; the smoke gate runs the rule against this exact string at compile time and rejects the rule if it produces zero matches.
|
|
197
388
|
`;
|
|
198
389
|
//# sourceMappingURL=compile-templates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-templates.js","sourceRoot":"","sources":["../../src/commands/compile-templates.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAG
|
|
1
|
+
{"version":3,"file":"compile-templates.js","sourceRoot":"","sources":["../../src/commands/compile-templates.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,cAAc;IACd,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,kBAAkB;CACV,CAAC;AAIX,uDAAuD;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmLpC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHpD,CAAC;AAEF,uDAAuD;AAEvD,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CxC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { COMPILER_SYSTEM_PROMPT, PIPELINE3_COMPILER_PROMPT } from './compile-templates.js';
|
|
2
|
+
import { COMPILER_SYSTEM_PROMPT, KIND_ALLOW_LIST, PIPELINE3_COMPILER_PROMPT, } from './compile-templates.js';
|
|
3
3
|
describe('COMPILER_SYSTEM_PROMPT', () => {
|
|
4
4
|
it('includes Identity and Rules sections', () => {
|
|
5
5
|
expect(COMPILER_SYSTEM_PROMPT).toContain('## Identity');
|
|
@@ -12,6 +12,50 @@ describe('COMPILER_SYSTEM_PROMPT', () => {
|
|
|
12
12
|
expect(COMPILER_SYSTEM_PROMPT).toContain('**/');
|
|
13
13
|
expect(COMPILER_SYSTEM_PROMPT).toContain('Supported glob syntax only');
|
|
14
14
|
});
|
|
15
|
+
// ─── Compound rules (mmnto-ai/totem#1409) ──────────
|
|
16
|
+
it('contains a Compound rules section with structural combinators', () => {
|
|
17
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('Compound rules');
|
|
18
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('inside');
|
|
19
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('has');
|
|
20
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('not');
|
|
21
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('kind:');
|
|
22
|
+
});
|
|
23
|
+
it('renames the misleading Compound patterns heading to Flat patterns', () => {
|
|
24
|
+
// The pre-#1409 prompt had a section titled "Compound patterns (method
|
|
25
|
+
// calls with specific arguments)" whose examples were actually flat
|
|
26
|
+
// single-node patterns using $$$ captures. That mislabel taught the
|
|
27
|
+
// LLM to call flat rules "compound" and blurred the boundary. The
|
|
28
|
+
// rewrite uses the Flat patterns heading for those examples and
|
|
29
|
+
// reserves "Compound rules" for true structural combinators.
|
|
30
|
+
expect(COMPILER_SYSTEM_PROMPT).not.toContain('Compound patterns (method calls with specific arguments)');
|
|
31
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('Flat patterns');
|
|
32
|
+
});
|
|
33
|
+
it('interpolates at least three KIND_ALLOW_LIST entries verbatim', () => {
|
|
34
|
+
let hits = 0;
|
|
35
|
+
for (const kind of KIND_ALLOW_LIST) {
|
|
36
|
+
if (COMPILER_SYSTEM_PROMPT.includes(kind))
|
|
37
|
+
hits++;
|
|
38
|
+
}
|
|
39
|
+
expect(hits).toBeGreaterThanOrEqual(3);
|
|
40
|
+
});
|
|
41
|
+
it('forbids the inside-pattern sharp edge from the spike findings (G-3)', () => {
|
|
42
|
+
// The for-loop inside-pattern shape silently matches zero per
|
|
43
|
+
// compound.spike.test.ts:247. The prompt must steer Sonnet away.
|
|
44
|
+
expect(COMPILER_SYSTEM_PROMPT).toMatch(/for \(\$[A-Z]+; \$[A-Z]+; \$[A-Z]+\)/);
|
|
45
|
+
});
|
|
46
|
+
it('has a Bad Example section that flags the field as required', () => {
|
|
47
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('Bad Example (REQUIRED)');
|
|
48
|
+
expect(COMPILER_SYSTEM_PROMPT).toContain('badExample');
|
|
49
|
+
});
|
|
50
|
+
it('shows badExample in the ast-grep output schema example', () => {
|
|
51
|
+
// The LLM leans heavily on the literal output schema block, so the
|
|
52
|
+
// JSON template must visibly carry badExample for the field to land
|
|
53
|
+
// in real responses. Count occurrences of the literal "badExample"
|
|
54
|
+
// key in triple-quoted code blocks as a proxy for "shows up in the
|
|
55
|
+
// example JSON".
|
|
56
|
+
const occurrences = COMPILER_SYSTEM_PROMPT.match(/"badExample":/g) ?? [];
|
|
57
|
+
expect(occurrences.length).toBeGreaterThanOrEqual(3);
|
|
58
|
+
});
|
|
15
59
|
});
|
|
16
60
|
describe('PIPELINE3_COMPILER_PROMPT', () => {
|
|
17
61
|
it('includes Identity section', () => {
|
|
@@ -43,5 +87,43 @@ describe('PIPELINE3_COMPILER_PROMPT', () => {
|
|
|
43
87
|
it('identifies itself as Pipeline 3', () => {
|
|
44
88
|
expect(PIPELINE3_COMPILER_PROMPT).toContain('Pipeline 3');
|
|
45
89
|
});
|
|
90
|
+
// ─── badExample requirement (mmnto-ai/totem#1409) ──
|
|
91
|
+
it('teaches Pipeline 3 to emit a badExample field', () => {
|
|
92
|
+
expect(PIPELINE3_COMPILER_PROMPT).toContain('badExample');
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
// ─── KIND_ALLOW_LIST ────────────────────────────────
|
|
96
|
+
describe('KIND_ALLOW_LIST', () => {
|
|
97
|
+
it('is a non-empty readonly array of strings', () => {
|
|
98
|
+
expect(Array.isArray(KIND_ALLOW_LIST)).toBe(true);
|
|
99
|
+
expect(KIND_ALLOW_LIST.length).toBeGreaterThan(0);
|
|
100
|
+
for (const entry of KIND_ALLOW_LIST) {
|
|
101
|
+
expect(typeof entry).toBe('string');
|
|
102
|
+
expect(entry.length).toBeGreaterThan(0);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
it('contains the kinds from the compound spike allow-list (findings.md G-3)', () => {
|
|
106
|
+
// Lock the spike-derived minimum set so a future edit cannot silently
|
|
107
|
+
// drop one of the empirically-validated kinds. Spike reference:
|
|
108
|
+
// packages/core/spikes/compound-ast-grep/findings.md gap G-3.
|
|
109
|
+
const spikeMinimum = [
|
|
110
|
+
'for_statement',
|
|
111
|
+
'while_statement',
|
|
112
|
+
'try_statement',
|
|
113
|
+
'catch_clause',
|
|
114
|
+
'function_declaration',
|
|
115
|
+
'class_declaration',
|
|
116
|
+
'method_definition',
|
|
117
|
+
'import_statement',
|
|
118
|
+
'export_statement',
|
|
119
|
+
];
|
|
120
|
+
for (const kind of spikeMinimum) {
|
|
121
|
+
expect(KIND_ALLOW_LIST).toContain(kind);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
it('has no duplicate entries', () => {
|
|
125
|
+
const seen = new Set(KIND_ALLOW_LIST);
|
|
126
|
+
expect(seen.size).toBe(KIND_ALLOW_LIST.length);
|
|
127
|
+
});
|
|
46
128
|
});
|
|
47
129
|
//# sourceMappingURL=compile-templates.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-templates.test.js","sourceRoot":"","sources":["../../src/commands/compile-templates.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,
|
|
1
|
+
{"version":3,"file":"compile-templates.test.js","sourceRoot":"","sources":["../../src/commands/compile-templates.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-compiled-rules.d.ts","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"run-compiled-rules.d.ts","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAyXjC"}
|
|
@@ -75,7 +75,7 @@ export async function runCompiledRules(options) {
|
|
|
75
75
|
recordTrigger(metrics, hash);
|
|
76
76
|
recordContextHit(metrics, hash, context?.astContext);
|
|
77
77
|
}
|
|
78
|
-
else {
|
|
78
|
+
else if (event === 'suppress') {
|
|
79
79
|
recordSuppression(metrics, hash);
|
|
80
80
|
// Append to Trap Ledger (fire-and-forget)
|
|
81
81
|
if (context) {
|
|
@@ -90,6 +90,14 @@ export async function runCompiledRules(options) {
|
|
|
90
90
|
}, (msg) => log.dim(tag, msg));
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
+
else {
|
|
94
|
+
// mmnto/totem#1408: 'failure' event fires when a compiled rule's
|
|
95
|
+
// runtime findAll throws (per-rule try/catch in executeQuery). Log
|
|
96
|
+
// the hash and reason so the operator can see WHICH rule failed
|
|
97
|
+
// without crashing the batch. Metric recording (recordFailure) is
|
|
98
|
+
// a follow-up once `rule-metrics` gains a failure counter.
|
|
99
|
+
log.warn(tag, `rule ${hash} failed at runtime${context?.failureReason ? `: ${context.failureReason}` : ''}`);
|
|
100
|
+
}
|
|
93
101
|
};
|
|
94
102
|
const regexViolations = applyRulesToAdditions(rules, additions, ruleEventCallback);
|
|
95
103
|
// Run AST rules (async — reads files and runs Tree-sitter/ast-grep queries)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-compiled-rules.js","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-compiled-rules.js","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -883,8 +883,9 @@ describe('TOTEM_LITE graceful AST degradation', () => {
|
|
|
883
883
|
});
|
|
884
884
|
it('skips AST rules with warning when TOTEM_LITE=1 and AST engine fails', async () => {
|
|
885
885
|
process.env['TOTEM_LITE'] = '1';
|
|
886
|
-
const astRule = makeRule('
|
|
886
|
+
const astRule = makeRule('', 'no console', 'No console', {
|
|
887
887
|
engine: 'ast-grep',
|
|
888
|
+
astGrepPattern: 'console.log($$$)',
|
|
888
889
|
fileGlobs: ['**/*.ts'],
|
|
889
890
|
});
|
|
890
891
|
saveCompiledRules(path.join(tmpDir, TOTEM_DIR, 'compiled-rules.json'), [astRule]);
|
|
@@ -911,8 +912,9 @@ describe('TOTEM_LITE graceful AST degradation', () => {
|
|
|
911
912
|
});
|
|
912
913
|
it('re-throws AST errors when NOT in lite mode', async () => {
|
|
913
914
|
delete process.env['TOTEM_LITE'];
|
|
914
|
-
const astRule = makeRule('
|
|
915
|
+
const astRule = makeRule('', 'no console', 'No console', {
|
|
915
916
|
engine: 'ast-grep',
|
|
917
|
+
astGrepPattern: 'console.log($$$)',
|
|
916
918
|
fileGlobs: ['**/*.ts'],
|
|
917
919
|
});
|
|
918
920
|
saveCompiledRules(path.join(tmpDir, TOTEM_DIR, 'compiled-rules.json'), [astRule]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-compiled-rules.test.js","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-compiled-rules.test.js","sourceRoot":"","sources":["../../src/commands/run-compiled-rules.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,32 @@ export declare function parseModelString(value: string, defaultProvider: string)
|
|
|
74
74
|
provider: string;
|
|
75
75
|
model: string;
|
|
76
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Validate a model name string against shell-safety gates. Single source of
|
|
79
|
+
* truth for both `resolveOrchestrator` (config-load, raw provider:model
|
|
80
|
+
* input) and `invokeShellOrchestrator` (shell-interpolation, post-parse
|
|
81
|
+
* stripped model input).
|
|
82
|
+
*
|
|
83
|
+
* Two gates applied to the input string as-is:
|
|
84
|
+
* 1. **Leading-dash reject.** Blocks shell-option tricks like `--exec`.
|
|
85
|
+
* 2. **Allow-list regex.** `MODEL_NAME_RE` restricts to word chars,
|
|
86
|
+
* dots, slashes, colons, underscores, and hyphens — covers every
|
|
87
|
+
* model identifier used in practice (provider-qualified, namespace/
|
|
88
|
+
* model, ollama quantized tags).
|
|
89
|
+
*
|
|
90
|
+
* Gates 1 + 2 are safe to apply at ANY stage — raw `provider:model` strings
|
|
91
|
+
* and stripped model-portions both pass the same allow-list. The post-parse
|
|
92
|
+
* "model-portion not empty and not dash-prefixed" check (Gate 3) lives
|
|
93
|
+
* inline in `resolveOrchestrator` where the split happens, NOT in this
|
|
94
|
+
* shared helper — applying it to an already-stripped model causes a
|
|
95
|
+
* double-parse that falsely rejects valid names like `foo:-bar` that were
|
|
96
|
+
* safe pre-split (Shield catch on mmnto/totem#1429 GCA round 2).
|
|
97
|
+
*
|
|
98
|
+
* CR catch on mmnto/totem#1429 round 1: exporting only the regex created
|
|
99
|
+
* a drift vector where the shell path could diverge from the config path.
|
|
100
|
+
* This helper closes that vector for the checks that BOTH paths need.
|
|
101
|
+
*/
|
|
102
|
+
export declare function assertValidModelName(rawModel: string): void;
|
|
77
103
|
export interface ResolvedOrchestrator {
|
|
78
104
|
parsed: {
|
|
79
105
|
provider: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAIjC;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAUlD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CASrC;AAOD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,kBAAkB,GAC7B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAIjC;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAUlD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CASrC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,kBAAkB,GAC7B,oBAAoB,CAsCtB;AAyFD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CA6BjF"}
|
|
@@ -51,19 +51,56 @@ export function parseModelString(value, defaultProvider) {
|
|
|
51
51
|
// ─── Centralized model resolution (#248) ────────────
|
|
52
52
|
/** Characters allowed in model names — restricts shell metacharacters. */
|
|
53
53
|
const MODEL_NAME_RE = /^[\w./:_-]+$/;
|
|
54
|
+
/**
|
|
55
|
+
* Validate a model name string against shell-safety gates. Single source of
|
|
56
|
+
* truth for both `resolveOrchestrator` (config-load, raw provider:model
|
|
57
|
+
* input) and `invokeShellOrchestrator` (shell-interpolation, post-parse
|
|
58
|
+
* stripped model input).
|
|
59
|
+
*
|
|
60
|
+
* Two gates applied to the input string as-is:
|
|
61
|
+
* 1. **Leading-dash reject.** Blocks shell-option tricks like `--exec`.
|
|
62
|
+
* 2. **Allow-list regex.** `MODEL_NAME_RE` restricts to word chars,
|
|
63
|
+
* dots, slashes, colons, underscores, and hyphens — covers every
|
|
64
|
+
* model identifier used in practice (provider-qualified, namespace/
|
|
65
|
+
* model, ollama quantized tags).
|
|
66
|
+
*
|
|
67
|
+
* Gates 1 + 2 are safe to apply at ANY stage — raw `provider:model` strings
|
|
68
|
+
* and stripped model-portions both pass the same allow-list. The post-parse
|
|
69
|
+
* "model-portion not empty and not dash-prefixed" check (Gate 3) lives
|
|
70
|
+
* inline in `resolveOrchestrator` where the split happens, NOT in this
|
|
71
|
+
* shared helper — applying it to an already-stripped model causes a
|
|
72
|
+
* double-parse that falsely rejects valid names like `foo:-bar` that were
|
|
73
|
+
* safe pre-split (Shield catch on mmnto/totem#1429 GCA round 2).
|
|
74
|
+
*
|
|
75
|
+
* CR catch on mmnto/totem#1429 round 1: exporting only the regex created
|
|
76
|
+
* a drift vector where the shell path could diverge from the config path.
|
|
77
|
+
* This helper closes that vector for the checks that BOTH paths need.
|
|
78
|
+
*/
|
|
79
|
+
export function assertValidModelName(rawModel) {
|
|
80
|
+
if (rawModel.startsWith('-') || !MODEL_NAME_RE.test(rawModel)) {
|
|
81
|
+
throw new TotemConfigError(`Invalid model name '${rawModel}'. Model names may only contain word characters, dots, slashes, colons, underscores, and hyphens, and must not start with a dash.`, 'Check your orchestrator.model config value and remove any invalid characters.', 'CONFIG_INVALID');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
54
84
|
/**
|
|
55
85
|
* Parse and validate a model string, resolve cross-provider routing,
|
|
56
86
|
* and return the appropriate invoker. Centralizes the validation logic
|
|
57
87
|
* to guarantee symmetric validation across primary and fallback paths.
|
|
58
88
|
*/
|
|
59
89
|
export function resolveOrchestrator(rawModel, baseProvider, baseInvoke) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
90
|
+
// Shared gates 1 + 2 (regex + leading-dash). Symmetric with the check in
|
|
91
|
+
// `invokeShellOrchestrator` so any model accepted by one path is accepted
|
|
92
|
+
// by the other.
|
|
93
|
+
assertValidModelName(rawModel);
|
|
63
94
|
const parsed = parseModelString(rawModel, baseProvider);
|
|
64
95
|
if (parsed.provider === 'shell' && baseProvider !== 'shell') {
|
|
65
96
|
throw new TotemConfigError(`Cannot route to 'shell' provider from a '${baseProvider}' config. The shell provider requires a 'command' template in the orchestrator config.`, "Set provider: 'shell' and add a 'command' template in your orchestrator config.", 'CONFIG_INVALID');
|
|
66
97
|
}
|
|
98
|
+
// Gate 3 — post-parse model-portion check. Applied only here, not in the
|
|
99
|
+
// shared helper, because the helper is also called from the shell-invoke
|
|
100
|
+
// path where the model has already been through parseModelString once.
|
|
101
|
+
// Double-parsing an already-stripped model splits on any embedded `:` a
|
|
102
|
+
// second time and falsely rejects inputs that were safe pre-strip (Shield
|
|
103
|
+
// catch on mmnto/totem#1429).
|
|
67
104
|
if (!parsed.model || parsed.model.startsWith('-')) {
|
|
68
105
|
throw new TotemConfigError(`Invalid model name in '${rawModel}'. The model portion must not be empty or start with a hyphen.`, 'Provide a valid model name after the provider prefix, e.g. "gemini:gemini-2.5-flash-preview-05-20".', 'CONFIG_INVALID');
|
|
69
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAiElE,uDAAuD;AAEvD;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wDAAwD;AAExD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,QAAQ,IAAI,GAAG,IAAK,GAA+B,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,wDAAwD;AAExD,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEtF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,eAAuB;IAEvB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAK,eAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,uDAAuD;AAEvD,0EAA0E;AAC1E,MAAM,aAAa,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAuCvF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAwBjG;AAID,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAuJ7B"}
|
|
@@ -4,13 +4,27 @@ import * as fs from 'node:fs';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { log } from '../ui.js';
|
|
7
|
-
import { isQuotaError } from './orchestrator.js';
|
|
7
|
+
import { assertValidModelName, isQuotaError } from './orchestrator.js';
|
|
8
8
|
// ─── Constants ───────────────────────────────────────
|
|
9
9
|
const LLM_TIMEOUT_MS = 180_000;
|
|
10
10
|
const LLM_MAX_OUTPUT = 50 * 1024 * 1024; // 50 MB — safety cap on streamed output
|
|
11
11
|
const TEMP_ID_BYTES = 4;
|
|
12
12
|
/** execFileSync on Windows can't resolve executables without `shell: true`. */
|
|
13
13
|
const IS_WIN = process.platform === 'win32';
|
|
14
|
+
function quoteShellArg(value) {
|
|
15
|
+
// Windows quoting is genuinely ambiguous — `cmd.exe` has no universal
|
|
16
|
+
// quote-escape; `""` (doubling) works inside cmd's own quote state and
|
|
17
|
+
// `\"` works for the Microsoft C-runtime argv parser used by most target
|
|
18
|
+
// binaries. Neither is safe when an unchecked string contains BOTH `"`
|
|
19
|
+
// and shell metacharacters. The real defense is the upstream allow-list
|
|
20
|
+
// (`MODEL_NAME_RE` below, which rejects `"` outright). We emit `\"` here
|
|
21
|
+
// so the quoted output at least parses correctly under MSVCRT rules for
|
|
22
|
+
// the well-known tools we pipe to (gemini, claude, ollama). If a future
|
|
23
|
+
// caller passes an unchecked path, the right fix is to pre-validate or
|
|
24
|
+
// to stop using `shell: true` — not to defeat shell quoting entirely in
|
|
25
|
+
// this helper. See GCA + Shield discussion on mmnto/totem#1429.
|
|
26
|
+
return IS_WIN ? `"${value.replace(/"/g, '\\"')}"` : `'${value.replace(/'/g, "'\\''")}'`;
|
|
27
|
+
}
|
|
14
28
|
// ─── Gemini CLI JSON parsing ─────────────────────────
|
|
15
29
|
const GeminiModelStatsSchema = z.object({
|
|
16
30
|
tokens: z.object({ input: z.number(), candidates: z.number() }).optional(),
|
|
@@ -58,16 +72,38 @@ export async function invokeShellOrchestrator(opts) {
|
|
|
58
72
|
// shell CLI fallback. Caught by Shield AI on the first push attempt as
|
|
59
73
|
// part of the same cascade as the Gemini/OpenAI/Ollama fixes.
|
|
60
74
|
const { prompt, systemPrompt, command, model, cwd, tag, totemDir } = opts;
|
|
75
|
+
// Reject poisoned model names BEFORE we ever interpolate into a shell string.
|
|
76
|
+
// The {model} token used to be substituted raw, which turned a config-supplied
|
|
77
|
+
// string into a shell-injection sink. A malicious totem.config.ts could set
|
|
78
|
+
// `defaultModel: "gemini-1.5; rm -rf /"` and ride `shell: true` straight to
|
|
79
|
+
// arbitrary code execution. `assertValidModelName` is the single shared gate
|
|
80
|
+
// used here and in `resolveOrchestrator` so any model accepted by one path
|
|
81
|
+
// is accepted by the other (and vice versa). Covers regex allow-list +
|
|
82
|
+
// leading-dash reject + post-parse model-portion check (catches `gemini:`
|
|
83
|
+
// and `anthropic:-foo` which pass the flat regex but are unsafe). CR catch
|
|
84
|
+
// on mmnto/totem#1429.
|
|
85
|
+
assertValidModelName(model);
|
|
61
86
|
const fullPrompt = systemPrompt !== undefined && systemPrompt.length > 0 ? `${systemPrompt}\n\n${prompt}` : prompt;
|
|
62
87
|
const tmpName = `totem-${tag.toLowerCase()}-${crypto.randomBytes(TEMP_ID_BYTES).toString('hex')}.md`;
|
|
63
88
|
const tempDir = path.join(cwd, totemDir, 'temp');
|
|
64
89
|
fs.mkdirSync(tempDir, { recursive: true });
|
|
65
90
|
const tempPath = path.join(tempDir, tmpName);
|
|
66
91
|
fs.writeFileSync(tempPath, fullPrompt, { encoding: 'utf-8', mode: 0o600 });
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
92
|
+
// Defense in depth: even after the allow-list above rejects shell metacharacters,
|
|
93
|
+
// we still shell-quote the model token at interpolation. Matches the treatment
|
|
94
|
+
// {file} has always had. Two layers: validate, then escape.
|
|
95
|
+
//
|
|
96
|
+
// Use replacer FUNCTIONS instead of string replacements. `String.prototype.replace`
|
|
97
|
+
// interprets `$&`, `$'`, `$n`, etc. in a replacement STRING as back-references, so
|
|
98
|
+
// a `cwd` that happens to contain `$&` (e.g., a directory named `project$&`) would
|
|
99
|
+
// splice the regex match back in and corrupt the interpolated command. The
|
|
100
|
+
// function form bypasses that special-casing entirely. Shield catch on
|
|
101
|
+
// mmnto/totem#1429 GCA follow-up.
|
|
102
|
+
const quotedPath = quoteShellArg(tempPath);
|
|
103
|
+
const quotedModel = quoteShellArg(model);
|
|
104
|
+
const resolvedCmd = command
|
|
105
|
+
.replace(/\{file\}/g, () => quotedPath)
|
|
106
|
+
.replace(/\{model\}/g, () => quotedModel);
|
|
71
107
|
log.info(tag, 'Invoking orchestrator (this may take 15-60 seconds)...');
|
|
72
108
|
const startMs = Date.now();
|
|
73
109
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,6 +203,109 @@ describe('invokeShellOrchestrator', () => {
|
|
|
203
203
|
process.kill = originalKill;
|
|
204
204
|
vi.useRealTimers();
|
|
205
205
|
});
|
|
206
|
+
// ─── Model sanitization (shell-injection defense) ──
|
|
207
|
+
//
|
|
208
|
+
// Regression tests for the RCE found during the pre-1.15.0 deep review:
|
|
209
|
+
// the `{model}` token was interpolated raw into a string executed with
|
|
210
|
+
// `shell: true`, so a poisoned config value could run arbitrary shell
|
|
211
|
+
// commands. Fix is two layers: (1) the shared `MODEL_NAME_RE` allow-list
|
|
212
|
+
// (plus an explicit leading-dash reject) mirrors `resolveOrchestrator`
|
|
213
|
+
// exactly so validation is symmetric across all orchestrators, and
|
|
214
|
+
// (2) defense-in-depth shell-quoting of the token at interpolation.
|
|
215
|
+
describe('model sanitization', () => {
|
|
216
|
+
const EXPLOITS = [
|
|
217
|
+
['semicolon', 'gemini; echo pwned'],
|
|
218
|
+
['backtick', 'gemini`echo pwned`'],
|
|
219
|
+
['dollar-subshell', 'gemini$(echo pwned)'],
|
|
220
|
+
['pipe', 'gemini | echo pwned'],
|
|
221
|
+
['redirect', 'gemini > /tmp/pwned'],
|
|
222
|
+
['newline', 'gemini\necho pwned'],
|
|
223
|
+
['ampersand', 'gemini && echo pwned'],
|
|
224
|
+
['space', 'gemini pwned'],
|
|
225
|
+
['quote', "gemini'"],
|
|
226
|
+
['dquote', 'gemini"'],
|
|
227
|
+
['paren', 'gemini()'],
|
|
228
|
+
['leading-dash', '-rf'],
|
|
229
|
+
];
|
|
230
|
+
for (const [label, badModel] of EXPLOITS) {
|
|
231
|
+
it(`rejects model with ${label} and never spawns`, async () => {
|
|
232
|
+
await expect(invokeShellOrchestrator({
|
|
233
|
+
prompt: 'prompt',
|
|
234
|
+
command: 'llm --model {model} < {file}',
|
|
235
|
+
model: badModel,
|
|
236
|
+
cwd: tmpDir,
|
|
237
|
+
tag: 'Test',
|
|
238
|
+
totemDir,
|
|
239
|
+
})).rejects.toThrow(/Invalid model name/);
|
|
240
|
+
// Critical invariant: spawn MUST NOT have been called. The allow-list
|
|
241
|
+
// fires before we ever reach shell execution.
|
|
242
|
+
expect(mockedSpawn).not.toHaveBeenCalled();
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
const BENIGN = [
|
|
246
|
+
['simple', 'gemini-2.5-pro'],
|
|
247
|
+
['provider-qualified', 'anthropic:claude-sonnet-4-6'],
|
|
248
|
+
['namespaced-slash', 'ollama/gemma4'],
|
|
249
|
+
['dotted', 'claude.sonnet.4.6'],
|
|
250
|
+
['ollama-tag', 'gemma4:e4b'],
|
|
251
|
+
['alphanumeric-only', 'gpt5'],
|
|
252
|
+
['ollama-quantized', 'llama2:13b-chat-q4_0'],
|
|
253
|
+
['underscore', 'my_model_v2'],
|
|
254
|
+
];
|
|
255
|
+
for (const [label, goodModel] of BENIGN) {
|
|
256
|
+
it(`accepts benign model (${label})`, async () => {
|
|
257
|
+
emitSuccess('ok');
|
|
258
|
+
await invokeShellOrchestrator({
|
|
259
|
+
prompt: 'prompt',
|
|
260
|
+
command: 'llm --model {model} < {file}',
|
|
261
|
+
model: goodModel,
|
|
262
|
+
cwd: tmpDir,
|
|
263
|
+
tag: 'Test',
|
|
264
|
+
totemDir,
|
|
265
|
+
});
|
|
266
|
+
expect(mockedSpawn).toHaveBeenCalledOnce();
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
it('shell-quotes the model token even after allow-list passes (defense in depth)', async () => {
|
|
270
|
+
emitSuccess('ok');
|
|
271
|
+
await invokeShellOrchestrator({
|
|
272
|
+
prompt: 'prompt',
|
|
273
|
+
command: 'llm --model {model} < {file}',
|
|
274
|
+
model: 'gemini-2.5-pro',
|
|
275
|
+
cwd: tmpDir,
|
|
276
|
+
tag: 'Test',
|
|
277
|
+
totemDir,
|
|
278
|
+
});
|
|
279
|
+
const cmd = mockedSpawn.mock.calls[0][0];
|
|
280
|
+
// Expect the model to appear inside quotes (either ' on Unix or " on
|
|
281
|
+
// Windows). This prevents a future regression that removes the
|
|
282
|
+
// allow-list but leaves interpolation unquoted from re-opening the
|
|
283
|
+
// RCE hole.
|
|
284
|
+
const quoted = cmd.includes("'gemini-2.5-pro'") || cmd.includes('"gemini-2.5-pro"');
|
|
285
|
+
expect(quoted).toBe(true);
|
|
286
|
+
});
|
|
287
|
+
it('preserves `$&` and similar back-reference sequences in the resolved command (Shield catch, regression)', async () => {
|
|
288
|
+
// `String.prototype.replace` with a STRING replacement interprets `$&`,
|
|
289
|
+
// `$'`, `$`` , and `$1` as back-reference specials. A directory with `$&`
|
|
290
|
+
// in its name would silently corrupt the interpolated command. We use
|
|
291
|
+
// replacer FUNCTIONS to bypass that special-casing. This test pins the
|
|
292
|
+
// fix by creating a tempDir whose path contains `$&` and asserting the
|
|
293
|
+
// literal sequence appears in the resolved spawn command.
|
|
294
|
+
const weirdDir = path.join(tmpDir, 'project$&cwd');
|
|
295
|
+
fs.mkdirSync(path.join(weirdDir, totemDir, 'temp'), { recursive: true });
|
|
296
|
+
emitSuccess('ok');
|
|
297
|
+
await invokeShellOrchestrator({
|
|
298
|
+
prompt: 'prompt',
|
|
299
|
+
command: 'llm --model {model} < {file}',
|
|
300
|
+
model: 'gemini-2.5-pro',
|
|
301
|
+
cwd: weirdDir,
|
|
302
|
+
tag: 'Test',
|
|
303
|
+
totemDir,
|
|
304
|
+
});
|
|
305
|
+
const cmd = mockedSpawn.mock.calls[0][0];
|
|
306
|
+
expect(cmd).toContain('project$&cwd');
|
|
307
|
+
});
|
|
308
|
+
});
|
|
206
309
|
// ─── systemPrompt threading (mmnto/totem#1291 Phase 3 cascade fix) ──
|
|
207
310
|
describe('systemPrompt threading', { timeout: 15000 }, () => {
|
|
208
311
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-orchestrator.test.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-orchestrator.test.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmnto/cli",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.10",
|
|
4
4
|
"description": "CLI for Totem — AI persistent memory and context layer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"smol-toml": "^1.6.1",
|
|
25
25
|
"yaml": "^2.4.0",
|
|
26
26
|
"zod": "^3.24.0",
|
|
27
|
-
"@mmnto/totem": "1.14.
|
|
27
|
+
"@mmnto/totem": "1.14.10"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@anthropic-ai/sdk": "^0.78.0",
|