@claude-flow/cli 3.10.10 → 3.10.11

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.
Files changed (44) hide show
  1. package/dist/src/commands/hooks.d.ts.map +1 -1
  2. package/dist/src/commands/hooks.js +10 -8
  3. package/dist/src/commands/hooks.js.map +1 -1
  4. package/dist/src/commands/mcp.d.ts.map +1 -1
  5. package/dist/src/commands/mcp.js +14 -0
  6. package/dist/src/commands/mcp.js.map +1 -1
  7. package/dist/src/init/settings-generator.js +1 -1
  8. package/dist/src/init/statusline-generator.js +2 -2
  9. package/dist/src/mcp-tools/agent-execute-core.d.ts +2 -2
  10. package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
  11. package/dist/src/mcp-tools/agent-execute-core.js +8 -5
  12. package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
  13. package/dist/src/mcp-tools/agent-tools.js +14 -14
  14. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  15. package/dist/src/mcp-tools/hooks-tools.d.ts +1 -0
  16. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  17. package/dist/src/mcp-tools/hooks-tools.js +176 -7
  18. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  19. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  20. package/dist/src/mcp-tools/system-tools.js +5 -2
  21. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  22. package/dist/src/runtime/parent-death-watchdog.d.ts +42 -0
  23. package/dist/src/runtime/parent-death-watchdog.d.ts.map +1 -0
  24. package/dist/src/runtime/parent-death-watchdog.js +70 -0
  25. package/dist/src/runtime/parent-death-watchdog.js.map +1 -0
  26. package/dist/src/ruvector/codemods/engine.d.ts +45 -0
  27. package/dist/src/ruvector/codemods/engine.d.ts.map +1 -0
  28. package/dist/src/ruvector/codemods/engine.js +291 -0
  29. package/dist/src/ruvector/codemods/engine.js.map +1 -0
  30. package/dist/src/ruvector/codemods/scope-analysis.d.ts +29 -0
  31. package/dist/src/ruvector/codemods/scope-analysis.d.ts.map +1 -0
  32. package/dist/src/ruvector/codemods/scope-analysis.js +162 -0
  33. package/dist/src/ruvector/codemods/scope-analysis.js.map +1 -0
  34. package/dist/src/ruvector/enhanced-model-router.d.ts +29 -8
  35. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
  36. package/dist/src/ruvector/enhanced-model-router.js +104 -81
  37. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  38. package/dist/src/ruvector/q-learning-router.d.ts +14 -1
  39. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -1
  40. package/dist/src/ruvector/q-learning-router.js +36 -8
  41. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/scripts/benchmark-codemods.mjs +127 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-analysis.d.ts","sourceRoot":"","sources":["../../../../src/ruvector/codemods/scope-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAuD5B,MAAM,WAAW,oBAAoB;IACnC,2GAA2G;IAC3G,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,GAAG,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,oBAAoB,CAoFjF"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Scope-aware reassignment analysis for the `var-to-const` codemod (ADR-143).
3
+ *
4
+ * The naive version marks a `var` as reassigned if its name is assigned to
5
+ * *anywhere* in the file. That is correct but over-conservative: a `var x` in
6
+ * one function is forced to `let` just because an unrelated function also has
7
+ * an `x = …`. This module resolves each assignment to the binding it actually
8
+ * mutates (function-scope hoisting semantics), so a `var` becomes `const`
9
+ * unless *its own* binding is reassigned.
10
+ *
11
+ * Soundness: resolution only ever attributes a reassignment to a scope that
12
+ * actually hoists the name (i.e. genuinely declares that binding). It therefore
13
+ * never marks a truly-reassigned binding as un-reassigned — so a `var` is only
14
+ * promoted to `const` when it is provably never reassigned. Block-scoped
15
+ * shadowing (let/const) is ignored for resolution, which can only make us *more*
16
+ * conservative (fall back to `let`), never wrong.
17
+ *
18
+ * @module ruvector/codemods/scope-analysis
19
+ */
20
+ import ts from 'typescript';
21
+ /** A scope is a function-like node or the SourceFile (the var-hoist boundaries). */
22
+ function isScopeNode(node) {
23
+ return (ts.isSourceFile(node) ||
24
+ ts.isFunctionDeclaration(node) ||
25
+ ts.isFunctionExpression(node) ||
26
+ ts.isArrowFunction(node) ||
27
+ ts.isMethodDeclaration(node) ||
28
+ ts.isConstructorDeclaration(node) ||
29
+ ts.isGetAccessorDeclaration(node) ||
30
+ ts.isSetAccessorDeclaration(node));
31
+ }
32
+ function enclosingScope(node) {
33
+ let cur = node.parent;
34
+ while (cur && !isScopeNode(cur))
35
+ cur = cur.parent;
36
+ return cur ?? node.getSourceFile();
37
+ }
38
+ function parentScope(scope) {
39
+ if (ts.isSourceFile(scope))
40
+ return undefined;
41
+ return enclosingScope(scope);
42
+ }
43
+ function collectIdentifierNames(target, out) {
44
+ if (ts.isIdentifier(target)) {
45
+ out(target.text);
46
+ return;
47
+ }
48
+ // Destructuring assignment target (object/array literal on the LHS of `=`).
49
+ ts.forEachChild(target, (child) => collectIdentifierNames(child, out));
50
+ }
51
+ const ASSIGNMENT_OPERATORS = new Set([
52
+ ts.SyntaxKind.EqualsToken,
53
+ ts.SyntaxKind.PlusEqualsToken,
54
+ ts.SyntaxKind.MinusEqualsToken,
55
+ ts.SyntaxKind.AsteriskEqualsToken,
56
+ ts.SyntaxKind.AsteriskAsteriskEqualsToken,
57
+ ts.SyntaxKind.SlashEqualsToken,
58
+ ts.SyntaxKind.PercentEqualsToken,
59
+ ts.SyntaxKind.LessThanLessThanEqualsToken,
60
+ ts.SyntaxKind.GreaterThanGreaterThanEqualsToken,
61
+ ts.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,
62
+ ts.SyntaxKind.AmpersandEqualsToken,
63
+ ts.SyntaxKind.BarEqualsToken,
64
+ ts.SyntaxKind.CaretEqualsToken,
65
+ ts.SyntaxKind.BarBarEqualsToken,
66
+ ts.SyntaxKind.AmpersandAmpersandEqualsToken,
67
+ ts.SyntaxKind.QuestionQuestionEqualsToken,
68
+ ]);
69
+ /**
70
+ * Build a scope-aware resolver: which `var` bindings are actually reassigned.
71
+ */
72
+ export function buildReassignmentResolver(sf) {
73
+ // Names hoisted into each scope: var-declared names, function declarations,
74
+ // and parameters. (Collected per scope, not crossing nested function scopes.)
75
+ const hoisted = new Map();
76
+ const ensure = (scope) => {
77
+ let s = hoisted.get(scope);
78
+ if (!s) {
79
+ s = new Set();
80
+ hoisted.set(scope, s);
81
+ }
82
+ return s;
83
+ };
84
+ ensure(sf);
85
+ const addBinding = (name, scope) => {
86
+ if (ts.isIdentifier(name)) {
87
+ ensure(scope).add(name.text);
88
+ }
89
+ else {
90
+ for (const el of name.elements) {
91
+ if (ts.isBindingElement(el))
92
+ addBinding(el.name, scope);
93
+ }
94
+ }
95
+ };
96
+ // Pass 1 — record hoisted names per scope.
97
+ const collectHoisted = (node) => {
98
+ if (isScopeNode(node) && !ts.isSourceFile(node)) {
99
+ ensure(node);
100
+ // Parameters belong to the function's own scope.
101
+ const params = node.parameters;
102
+ if (params)
103
+ for (const p of params)
104
+ addBinding(p.name, node);
105
+ }
106
+ if (ts.isVariableDeclarationList(node) && !(node.flags & (ts.NodeFlags.Let | ts.NodeFlags.Const))) {
107
+ const scope = enclosingScope(node); // var hoists to the nearest function/source scope
108
+ for (const decl of node.declarations)
109
+ addBinding(decl.name, scope);
110
+ }
111
+ if (ts.isFunctionDeclaration(node) && node.name) {
112
+ ensure(enclosingScope(node)).add(node.name.text);
113
+ }
114
+ ts.forEachChild(node, collectHoisted);
115
+ };
116
+ collectHoisted(sf);
117
+ const resolveScope = (name, from) => {
118
+ let scope = from;
119
+ while (scope) {
120
+ if (hoisted.get(scope)?.has(name))
121
+ return scope;
122
+ scope = parentScope(scope);
123
+ }
124
+ return undefined;
125
+ };
126
+ // Pass 2 — attribute each reassignment to the binding (scope) it mutates.
127
+ const reassigned = new Set(); // key: `${scopeId}::${name}`
128
+ const scopeIds = new Map();
129
+ let nextId = 0;
130
+ const scopeId = (scope) => {
131
+ let id = scopeIds.get(scope);
132
+ if (id === undefined) {
133
+ id = nextId++;
134
+ scopeIds.set(scope, id);
135
+ }
136
+ return id;
137
+ };
138
+ const markReassigned = (name, at) => {
139
+ const declScope = resolveScope(name, enclosingScope(at));
140
+ if (declScope)
141
+ reassigned.add(`${scopeId(declScope)}::${name}`);
142
+ };
143
+ const collectReassignments = (node) => {
144
+ if (ts.isBinaryExpression(node) && ASSIGNMENT_OPERATORS.has(node.operatorToken.kind)) {
145
+ collectIdentifierNames(node.left, (n) => markReassigned(n, node));
146
+ }
147
+ else if ((ts.isPostfixUnaryExpression(node) || ts.isPrefixUnaryExpression(node)) &&
148
+ (node.operator === ts.SyntaxKind.PlusPlusToken || node.operator === ts.SyntaxKind.MinusMinusToken) &&
149
+ ts.isIdentifier(node.operand)) {
150
+ markReassigned(node.operand.text, node);
151
+ }
152
+ ts.forEachChild(node, collectReassignments);
153
+ };
154
+ collectReassignments(sf);
155
+ return {
156
+ isReassigned(name, declarationList) {
157
+ const declScope = enclosingScope(declarationList);
158
+ return reassigned.has(`${scopeId(declScope)}::${name}`);
159
+ },
160
+ };
161
+ }
162
+ //# sourceMappingURL=scope-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-analysis.js","sourceRoot":"","sources":["../../../../src/ruvector/codemods/scope-analysis.ts"],"names":[],"mappings":"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"}
@@ -28,12 +28,20 @@ export interface EditIntent {
28
28
  */
29
29
  export interface EnhancedRouteResult {
30
30
  tier: 1 | 2 | 3;
31
- handler: 'agent-booster' | 'haiku' | 'sonnet' | 'opus';
31
+ handler: 'codemod' | 'agent-booster' | 'haiku' | 'sonnet' | 'opus';
32
32
  model?: ClaudeModel;
33
33
  confidence: number;
34
34
  complexity?: number;
35
35
  reasoning: string;
36
+ /** The detected edit intent (Tier 1 only). */
37
+ codemodIntent?: EditIntent;
38
+ /**
39
+ * Back-compat alias for {@link codemodIntent}. Older callers read this field.
40
+ * @deprecated use {@link codemodIntent}
41
+ */
36
42
  agentBoosterIntent?: EditIntent;
43
+ /** true when a deterministic, $0 codemod can fully apply this edit (no LLM). */
44
+ deterministic?: boolean;
37
45
  canSkipLLM?: boolean;
38
46
  estimatedLatencyMs: number;
39
47
  estimatedCost: number;
@@ -93,8 +101,11 @@ export declare class EnhancedModelRouter {
93
101
  */
94
102
  private analyzeASTComplexity;
95
103
  /**
96
- * Execute task using the appropriate tier
97
- * Returns the result and routing information
104
+ * Execute task using the appropriate tier.
105
+ *
106
+ * For Tier-1 deterministic intents this applies the codemod directly (writing
107
+ * the file back when a path is given) — $0, no LLM. Otherwise it returns the
108
+ * routing result and the caller invokes the recommended model.
98
109
  */
99
110
  execute(task: string, context?: {
100
111
  filePath?: string;
@@ -102,14 +113,19 @@ export declare class EnhancedModelRouter {
102
113
  }): Promise<{
103
114
  result: string | {
104
115
  applied: boolean;
105
- confidence: number;
116
+ changed: boolean;
117
+ edits: number;
106
118
  };
107
119
  routeResult: EnhancedRouteResult;
108
120
  }>;
109
121
  /**
110
- * Try to apply edit using Agent Booster
122
+ * Apply a deterministic codemod to the intent's target file.
123
+ *
124
+ * This is the real Tier-1 execution path (ADR-143). It uses the in-process
125
+ * TypeScript-compiler codemod engine — no `agent-booster` import, no subprocess,
126
+ * no LLM. Writes the transformed source back to disk when it changes.
111
127
  */
112
- private tryAgentBooster;
128
+ private tryCodemod;
113
129
  /**
114
130
  * Get router statistics
115
131
  */
@@ -137,10 +153,15 @@ export declare function enhancedRouteToModel(task: string, context?: {
137
153
  filePath?: string;
138
154
  }): Promise<EnhancedRouteResult>;
139
155
  /**
140
- * Detect if a task can be handled by Agent Booster
156
+ * Detect if a task can be applied by a deterministic, $0 codemod (ADR-143).
157
+ * Only the deterministic intents qualify — others need a model.
141
158
  */
142
- export declare function canUseAgentBooster(task: string): {
159
+ export declare function canUseCodemod(task: string): {
143
160
  canUse: boolean;
144
161
  intent?: EditIntent;
145
162
  };
163
+ /**
164
+ * @deprecated Agent Booster never performed these transforms. Use {@link canUseCodemod}.
165
+ */
166
+ export declare const canUseAgentBooster: typeof canUseCodemod;
146
167
  //# sourceMappingURL=enhanced-model-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-model-router.d.ts","sourceRoot":"","sources":["../../../src/ruvector/enhanced-model-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-model-router.d.ts","sourceRoot":"","sources":["../../../src/ruvector/enhanced-model-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAkB,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AAiBjG;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnE,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,EAAE,MAAM,CAAC;IACxC,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,oBAAoB,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AA+JD;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,gBAAgB,CAAc;gBAE1B,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAyBvD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAyC7C;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgJxF;;;OAGG;YACW,oBAAoB;IAgClC;;;;;;OAMG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,WAAW,EAAE,mBAAmB,CAAC;KAClC,CAAC;IA2BF;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,QAAQ,IAAI;QACV,MAAM,EAAE,yBAAyB,CAAC;QAClC,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;KACtD;CAMF;AAQD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,mBAAmB,CAKrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,mBAAmB,CAErB;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAG9B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CASA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,sBAAgB,CAAC"}
@@ -8,9 +8,23 @@
8
8
  *
9
9
  * @module enhanced-model-router
10
10
  */
11
- import { existsSync, readFileSync } from 'fs';
12
- import { extname } from 'path';
11
+ import { existsSync, readFileSync, writeFileSync } from 'fs';
12
+ import { extname, isAbsolute, resolve as resolvePath } from 'path';
13
13
  import { getModelRouter } from './model-router.js';
14
+ import { applyCodemod, isDeterministicCodemod } from './codemods/engine.js';
15
+ /** Map a file path to the codemod engine's language, falling back to a hint. */
16
+ function codemodLanguageFor(filePath, fallback) {
17
+ const ext = extname(filePath).toLowerCase();
18
+ if (ext === '.tsx')
19
+ return 'tsx';
20
+ if (ext === '.jsx')
21
+ return 'jsx';
22
+ if (ext === '.ts' || ext === '.mts' || ext === '.cts')
23
+ return 'typescript';
24
+ if (ext === '.js' || ext === '.mjs' || ext === '.cjs')
25
+ return 'javascript';
26
+ return fallback === 'typescript' ? 'typescript' : 'javascript';
27
+ }
14
28
  // ============================================================================
15
29
  // Intent Detection Patterns
16
30
  // ============================================================================
@@ -261,20 +275,57 @@ export class EnhancedModelRouter {
261
275
  * Route a task to the optimal tier and handler
262
276
  */
263
277
  async route(task, context) {
264
- // Step 1: Try Agent Booster intent detection
278
+ // Step 1: Deterministic codemod detection (ADR-143).
279
+ // Only intents that a codemod can apply *deterministically and safely* skip
280
+ // the LLM. Intents that need inference (add-types, add-error-handling,
281
+ // async-await) are detected but fall through to model routing below.
265
282
  if (this.config.agentBoosterEnabled) {
266
283
  const intent = this.detectIntent(task);
267
- if (intent && intent.confidence >= this.config.agentBoosterConfidenceThreshold) {
268
- return {
269
- tier: 1,
270
- handler: 'agent-booster',
271
- confidence: intent.confidence,
272
- reasoning: `Agent Booster can handle "${intent.type}" with ${(intent.confidence * 100).toFixed(0)}% confidence`,
273
- agentBoosterIntent: intent,
274
- canSkipLLM: true,
275
- estimatedLatencyMs: 1,
276
- estimatedCost: 0,
277
- };
284
+ if (intent &&
285
+ intent.confidence >= this.config.agentBoosterConfidenceThreshold &&
286
+ isDeterministicCodemod(intent.type)) {
287
+ // Route-time dry-run (ADR-143 #3): when a target file is known, only
288
+ // claim Tier-1 if the codemod actually changes something. This avoids
289
+ // recommending [CODEMOD_AVAILABLE] for no-ops (e.g. "remove console" on
290
+ // a file with no console calls). With no file to check, recommend Tier-1
291
+ // best-effort — the executor (hooks_codemod) verifies before writing.
292
+ // Prefer the caller-provided path (authoritative, usually absolute) over
293
+ // the path heuristically extracted from the task text; resolve relatives.
294
+ const fpRaw = context?.filePath || intent.filePath;
295
+ const fp = fpRaw ? (isAbsolute(fpRaw) ? fpRaw : resolvePath(process.cwd(), fpRaw)) : undefined;
296
+ let tier1 = true;
297
+ let edits;
298
+ if (fp && existsSync(fp)) {
299
+ try {
300
+ const code = readFileSync(fp, 'utf-8');
301
+ const res = applyCodemod(intent.type, code, { language: codemodLanguageFor(fp, intent.language) });
302
+ if (res.success && res.changed) {
303
+ edits = res.edits;
304
+ }
305
+ else {
306
+ tier1 = false; // verified no-op / can't apply → fall through to model routing
307
+ }
308
+ }
309
+ catch {
310
+ // read error → leave best-effort Tier-1 (executor will verify)
311
+ }
312
+ }
313
+ if (tier1) {
314
+ const editsNote = edits !== undefined ? ` (${edits} edit${edits === 1 ? '' : 's'})` : '';
315
+ return {
316
+ tier: 1,
317
+ handler: 'codemod',
318
+ confidence: intent.confidence,
319
+ reasoning: `Deterministic codemod can apply "${intent.type}" with ${(intent.confidence * 100).toFixed(0)}% confidence — $0, no LLM${editsNote}`,
320
+ codemodIntent: intent,
321
+ agentBoosterIntent: intent,
322
+ deterministic: true,
323
+ canSkipLLM: true,
324
+ estimatedLatencyMs: 1,
325
+ estimatedCost: 0,
326
+ };
327
+ }
328
+ // verified no-op: fall through to model routing below
278
329
  }
279
330
  }
280
331
  // Step 2: Check for Tier 3 keywords (architecture, security, distributed)
@@ -386,89 +437,56 @@ export class EnhancedModelRouter {
386
437
  }
387
438
  }
388
439
  /**
389
- * Execute task using the appropriate tier
390
- * Returns the result and routing information
440
+ * Execute task using the appropriate tier.
441
+ *
442
+ * For Tier-1 deterministic intents this applies the codemod directly (writing
443
+ * the file back when a path is given) — $0, no LLM. Otherwise it returns the
444
+ * routing result and the caller invokes the recommended model.
391
445
  */
392
446
  async execute(task, context) {
393
447
  const routeResult = await this.route(task, context);
394
- if (routeResult.tier === 1 && routeResult.agentBoosterIntent) {
395
- // Try to execute with Agent Booster
396
- const abResult = await this.tryAgentBooster(routeResult.agentBoosterIntent, context);
397
- if (abResult.success) {
448
+ const intent = routeResult.codemodIntent ?? routeResult.agentBoosterIntent;
449
+ if (routeResult.tier === 1 && routeResult.deterministic && intent) {
450
+ const cm = this.tryCodemod(intent, context);
451
+ if (cm.success) {
398
452
  return {
399
- result: { applied: true, confidence: abResult.confidence },
453
+ result: { applied: true, changed: cm.changed, edits: cm.edits },
400
454
  routeResult,
401
455
  };
402
456
  }
403
- // Agent Booster failed, fall back to LLM
457
+ // Codemod could not apply (no file / parse issue) — fall back to a model.
404
458
  routeResult.tier = 2;
405
459
  routeResult.handler = 'sonnet';
406
460
  routeResult.model = 'sonnet';
461
+ routeResult.deterministic = false;
407
462
  routeResult.canSkipLLM = false;
408
- routeResult.reasoning += ' (Agent Booster fallback to LLM)';
463
+ routeResult.reasoning += ' (codemod fallback to LLM)';
409
464
  }
410
465
  // Return routing result - caller handles LLM invocation
411
466
  return { result: routeResult.reasoning, routeResult };
412
467
  }
413
468
  /**
414
- * Try to apply edit using Agent Booster
469
+ * Apply a deterministic codemod to the intent's target file.
470
+ *
471
+ * This is the real Tier-1 execution path (ADR-143). It uses the in-process
472
+ * TypeScript-compiler codemod engine — no `agent-booster` import, no subprocess,
473
+ * no LLM. Writes the transformed source back to disk when it changes.
415
474
  */
416
- async tryAgentBooster(intent, context) {
417
- try {
418
- const filePath = intent.filePath || context?.filePath;
419
- if (!filePath || !existsSync(filePath)) {
420
- return { success: false, confidence: 0 };
421
- }
422
- const originalCode = context?.originalCode || readFileSync(filePath, 'utf-8');
423
- const intentToInstruction = {
424
- 'var-to-const': 'Convert all var declarations to const',
425
- 'add-types': 'Add TypeScript type annotations',
426
- 'add-error-handling': 'Wrap in try/catch blocks',
427
- 'async-await': 'Convert to async/await',
428
- 'add-logging': 'Add console.log statements',
429
- 'remove-console': 'Remove all console.* statements',
430
- };
431
- const instruction = intentToInstruction[intent.type];
432
- const language = intent.language || 'javascript';
433
- // Try local agentic-flow agent-booster (v3 — no npx needed)
434
- // Note: agent-booster export declared but dist missing in alpha.1; use intelligence path as fallback
435
- const boosterModule = await import('agentic-flow/agent-booster')
436
- .catch(() => import(/* @vite-ignore */ 'agentic-flow/intelligence/agent-booster-enhanced'))
437
- .catch(() => null);
438
- if (boosterModule?.enhancedApply) {
439
- const result = await boosterModule.enhancedApply({
440
- code: originalCode,
441
- edit: instruction,
442
- language,
443
- });
444
- if (result && result.confidence >= this.config.agentBoosterConfidenceThreshold) {
445
- return { success: true, confidence: result.confidence, output: result.output };
446
- }
447
- return { success: false, confidence: result?.confidence ?? 0 };
448
- }
449
- // Fallback: shell out to npx agent-booster
450
- // Sanitize language to prevent command injection (whitelist only)
451
- const SAFE_LANGUAGES = ['javascript', 'typescript', 'python', 'rust', 'go', 'java', 'c', 'cpp', 'ruby', 'swift', 'kotlin'];
452
- const safeLang = SAFE_LANGUAGES.includes(language) ? language : 'javascript';
453
- const { execSync } = await import('child_process');
454
- const cmd = `npx --yes agent-booster@0.2.2 apply --language ${safeLang}`;
455
- const result = execSync(cmd, {
456
- encoding: 'utf-8',
457
- input: JSON.stringify({ code: originalCode, edit: instruction }),
458
- maxBuffer: 10 * 1024 * 1024,
459
- timeout: 5000,
460
- stdio: ['pipe', 'pipe', 'pipe'],
461
- });
462
- const parsed = JSON.parse(result);
463
- if (parsed.confidence >= this.config.agentBoosterConfidenceThreshold) {
464
- return { success: true, confidence: parsed.confidence, output: parsed.output };
465
- }
466
- return { success: false, confidence: parsed.confidence ?? 0 };
475
+ tryCodemod(intent, context) {
476
+ const filePath = intent.filePath || context?.filePath;
477
+ if (!filePath || !existsSync(filePath)) {
478
+ return { success: false, changed: false, edits: 0 };
467
479
  }
468
- catch {
469
- // Agent Booster not available or failed
470
- return { success: false, confidence: 0 };
480
+ const originalCode = context?.originalCode ?? readFileSync(filePath, 'utf-8');
481
+ const language = codemodLanguageFor(filePath, intent.language);
482
+ const result = applyCodemod(intent.type, originalCode, { language });
483
+ if (!result.success) {
484
+ return { success: false, changed: false, edits: 0 };
485
+ }
486
+ if (result.changed && !context?.originalCode) {
487
+ writeFileSync(filePath, result.output, 'utf-8');
471
488
  }
489
+ return { success: true, changed: result.changed, edits: result.edits };
472
490
  }
473
491
  /**
474
492
  * Get router statistics
@@ -516,14 +534,19 @@ export async function enhancedRouteToModel(task, context) {
516
534
  return router.route(task, context);
517
535
  }
518
536
  /**
519
- * Detect if a task can be handled by Agent Booster
537
+ * Detect if a task can be applied by a deterministic, $0 codemod (ADR-143).
538
+ * Only the deterministic intents qualify — others need a model.
520
539
  */
521
- export function canUseAgentBooster(task) {
540
+ export function canUseCodemod(task) {
522
541
  const router = getEnhancedModelRouter();
523
542
  const intent = router.detectIntent(task);
524
- if (intent && intent.confidence >= 0.7) {
543
+ if (intent && intent.confidence >= 0.7 && isDeterministicCodemod(intent.type)) {
525
544
  return { canUse: true, intent };
526
545
  }
527
546
  return { canUse: false };
528
547
  }
548
+ /**
549
+ * @deprecated Agent Booster never performed these transforms. Use {@link canUseCodemod}.
550
+ */
551
+ export const canUseAgentBooster = canUseCodemod;
529
552
  //# sourceMappingURL=enhanced-model-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-model-router.js","sourceRoot":"","sources":["../../../src/ruvector/enhanced-model-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-model-router.js","sourceRoot":"","sources":["../../../src/ruvector/enhanced-model-router.ts"],"names":[],"mappings":"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"}
@@ -182,6 +182,12 @@ export declare class QLearningRouter {
182
182
  * Legacy hash function (kept for backward compatibility)
183
183
  */
184
184
  private hashState;
185
+ /**
186
+ * Public state-key encoder (#2239). This is exactly what `route()` uses
187
+ * to look up Q-values, so testing it directly is testing the binding the
188
+ * Q-learner actually sees.
189
+ */
190
+ getStateKey(context: string): string;
185
191
  /**
186
192
  * Optimized state hashing using feature extraction
187
193
  * Creates a more semantic representation of the task context
@@ -194,7 +200,14 @@ export declare class QLearningRouter {
194
200
  private extractFeatures;
195
201
  /**
196
202
  * Convert feature vector to state key
197
- * Uses locality-sensitive hashing for similar contexts
203
+ * Uses locality-sensitive hashing for similar contexts.
204
+ *
205
+ * #2239 — the previous fold was `((hash << 4) ^ q[i]) & 0x7fffffff` over 16
206
+ * 4-bit groups: each group i landed at bit 4·(15−i), so groups 0–7 (= the
207
+ * entire keyword block, features 0–31) shifted past the 31-bit mask and were
208
+ * discarded. Keyword-distinct tasks collapsed to one Q-state. We now use a
209
+ * 32-bit FNV-1a hash, which mixes every quantized group losslessly into the
210
+ * state key. Encoder version bumped to 2; see PersistedModel.encoderVersion.
198
211
  */
199
212
  private featureVectorToKey;
200
213
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"q-learning-router.d.ts","sourceRoot":"","sources":["../../../src/ruvector/q-learning-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"q-learning-router.d.ts","sourceRoot":"","sources":["../../../src/ruvector/q-learning-router.ts"],"names":[],"mappings":"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"}