kemdicode-mcp 1.15.2 → 1.15.4
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/README.md +53 -20
- package/dist/rl/index.d.ts +1 -0
- package/dist/rl/index.d.ts.map +1 -1
- package/dist/rl/index.js +2 -0
- package/dist/rl/index.js.map +1 -1
- package/dist/rl/middleware.d.ts +25 -0
- package/dist/rl/middleware.d.ts.map +1 -0
- package/dist/rl/middleware.js +181 -0
- package/dist/rl/middleware.js.map +1 -0
- package/dist/tools/loci/graph-query.tool.d.ts +2 -2
- package/dist/tools/recursive/invoke-batch.tool.d.ts.map +1 -1
- package/dist/tools/recursive/invoke-batch.tool.js +1 -1
- package/dist/tools/recursive/invoke-batch.tool.js.map +1 -1
- package/dist/tools/recursive/invoke-tool.tool.d.ts.map +1 -1
- package/dist/tools/recursive/invoke-tool.tool.js +1 -1
- package/dist/tools/recursive/invoke-tool.tool.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +6 -1
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/simple-tools.js +1 -1
- package/dist/tools/specialized/auto-fix-agent.tool.d.ts.map +1 -1
- package/dist/tools/specialized/auto-fix-agent.tool.js +9 -0
- package/dist/tools/specialized/auto-fix-agent.tool.js.map +1 -1
- package/dist/tools/specialized/auto-fix.tool.d.ts.map +1 -1
- package/dist/tools/specialized/auto-fix.tool.js +7 -0
- package/dist/tools/specialized/auto-fix.tool.js.map +1 -1
- package/dist/tools/specialized/fix-bug.tool.d.ts.map +1 -1
- package/dist/tools/specialized/fix-bug.tool.js +11 -1
- package/dist/tools/specialized/fix-bug.tool.js.map +1 -1
- package/dist/tools/specialized/refactor.tool.d.ts.map +1 -1
- package/dist/tools/specialized/refactor.tool.js +10 -1
- package/dist/tools/specialized/refactor.tool.js.map +1 -1
- package/dist/tools/specialized/write-tests.tool.d.ts.map +1 -1
- package/dist/tools/specialized/write-tests.tool.js +10 -1
- package/dist/tools/specialized/write-tests.tool.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://www.npmjs.com/package/kemdicode-mcp"><img src="https://img.shields.io/badge/npm-kemdicode--mcp-CB3837?style=flat-square&logo=npm&logoColor=white" alt="npm" /></a>
|
|
13
|
-
<a href="https://github.com/kemdi-pl/kemdicode-mcp/releases"><img src="https://img.shields.io/badge/version-1.15.
|
|
13
|
+
<a href="https://github.com/kemdi-pl/kemdicode-mcp/releases"><img src="https://img.shields.io/badge/version-1.15.4-blue?style=flat-square" alt="Version" /></a>
|
|
14
14
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-GPL--3.0-green?style=flat-square" alt="License" /></a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
| Capability | Description |
|
|
54
54
|
|:-----------|:------------|
|
|
55
55
|
| **100+ MCP Tools** | Code review, refactoring, testing, git, file management, AST editing, memory, kanban |
|
|
56
|
-
| **7 LLM Providers** | Native SDKs for OpenAI, Anthropic, Gemini + OpenAI-compatible for Groq, DeepSeek, Ollama, OpenRouter |
|
|
56
|
+
| **7 LLM Providers** | Native SDKs for OpenAI (GPT-5), Anthropic (Claude 4.5), Gemini (Gemini 3) + OpenAI-compatible for Groq, DeepSeek, Ollama, OpenRouter |
|
|
57
57
|
| **Multi-Agent** | Agents connect via HTTP, share context through Redis Pub/Sub, coordinate via kanban boards |
|
|
58
58
|
| **Parallel Multi-Model** | Send one prompt to N models simultaneously; CEO-and-Board consensus pattern |
|
|
59
|
-
| **Thinking Tokens** | Unified syntax across providers: `o:
|
|
59
|
+
| **Thinking Tokens** | Unified syntax across providers: `o:gpt-5:high` • `a:claude-sonnet-4-5:4k` • `g:gemini-3-pro:8k` |
|
|
60
60
|
| **Tree-sitter AST** | Language-aware navigation and symbol editing for 19 languages |
|
|
61
61
|
| **Project Memory** | Persistent per-project key-value store with TTL and tags |
|
|
62
62
|
| **Hot Reload** | Change provider, model, or config at runtime without restart |
|
|
@@ -136,7 +136,7 @@ Settings → Features → MCP:
|
|
|
136
136
|
"mcpServers": {
|
|
137
137
|
"kemdicode-mcp": {
|
|
138
138
|
"command": "bun",
|
|
139
|
-
"args": ["/path/to/kemdicode-mcp/dist/index.js", "-m", "gpt-
|
|
139
|
+
"args": ["/path/to/kemdicode-mcp/dist/index.js", "-m", "gpt-5"]
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -156,7 +156,7 @@ Add to `~/.kirocode/mcp.json`:
|
|
|
156
156
|
"command": "bun",
|
|
157
157
|
"args": [
|
|
158
158
|
"/path/to/kemdicode-mcp/dist/index.js",
|
|
159
|
-
"-m", "
|
|
159
|
+
"-m", "claude-sonnet-4-5",
|
|
160
160
|
"--redis-host", "127.0.0.1"
|
|
161
161
|
]
|
|
162
162
|
}
|
|
@@ -178,7 +178,7 @@ Add to VS Code settings (RooCode extension):
|
|
|
178
178
|
"command": "bun",
|
|
179
179
|
"args": [
|
|
180
180
|
"/path/to/kemdicode-mcp/dist/index.js",
|
|
181
|
-
"-m", "
|
|
181
|
+
"-m", "claude-sonnet-4-5",
|
|
182
182
|
"--redis-host", "127.0.0.1"
|
|
183
183
|
]
|
|
184
184
|
}
|
|
@@ -209,13 +209,18 @@ export OPENROUTER_API_KEY=sk-or-... # OpenRouter
|
|
|
209
209
|
Use `provider:model` (or the short alias) anywhere a model is accepted:
|
|
210
210
|
|
|
211
211
|
```
|
|
212
|
-
openai:gpt-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
212
|
+
openai:gpt-5 o:gpt-5 # Latest flagship model
|
|
213
|
+
openai:gpt-5.1-codex o:gpt-5.1-codex # Best for coding
|
|
214
|
+
openai:o3 o:o3 # Reasoning model
|
|
215
|
+
anthropic:claude-sonnet-4-5-20250929 a:claude-sonnet-4-5 # Best balance
|
|
216
|
+
anthropic:claude-opus-4-5-20251101 a:claude-opus-4-5 # Maximum intelligence
|
|
217
|
+
gemini:gemini-3-pro-preview g:gemini-3-pro # Most intelligent
|
|
218
|
+
gemini:gemini-3-flash-preview g:gemini-3-flash # Best price/performance
|
|
219
|
+
gemini:gemini-2.5-flash g:gemini-2.5-flash # Fast with thinking
|
|
220
|
+
groq:llama-3.3-70b q:llama-3.3-70b # Fast inference
|
|
221
|
+
deepseek:deepseek-chat d:deepseek-chat # Cost effective
|
|
222
|
+
ollama:llama3.3 l:llama3.3 # Local deployment
|
|
223
|
+
openrouter:gpt-5 r:gpt-5 # Aggregator access
|
|
219
224
|
```
|
|
220
225
|
|
|
221
226
|
### Thinking / Reasoning Tokens
|
|
@@ -224,9 +229,24 @@ Append a third segment to enable extended thinking:
|
|
|
224
229
|
|
|
225
230
|
| Provider | Syntax | Effect |
|
|
226
231
|
|:---------|:-------|:-------|
|
|
227
|
-
| OpenAI (
|
|
228
|
-
| Anthropic | `a:claude-sonnet-4-
|
|
229
|
-
| Gemini | `g:gemini-
|
|
232
|
+
| OpenAI (reasoning) | `o:gpt-5:high` | Sets `reasoning_effort` to low / medium / high |
|
|
233
|
+
| Anthropic | `a:claude-sonnet-4-5:4k` | Allocates 4 096 extended thinking tokens |
|
|
234
|
+
| Gemini | `g:gemini-3-pro:8k` | Allocates 8 192 thinking tokens |
|
|
235
|
+
| OpenAI Codex | `o:gpt-5.1-codex:high` | Maximum compute for coding tasks |
|
|
236
|
+
|
|
237
|
+
### Recommended Models (2025)
|
|
238
|
+
|
|
239
|
+
| Use Case | Recommended Model | Syntax | Why |
|
|
240
|
+
|:---------|:------------------|:-------|:----|
|
|
241
|
+
| **General coding** | Claude Sonnet 4.5 | `a:claude-sonnet-4-5` | Best balance of intelligence, speed, and cost |
|
|
242
|
+
| **Complex architecture** | Claude Opus 4.5 | `a:claude-opus-4-5:4k` | Maximum intelligence for complex reasoning |
|
|
243
|
+
| **Fast iterations** | GPT-5 | `o:gpt-5` | Fastest flagship model for rapid development |
|
|
244
|
+
| **Agentic coding** | GPT-5.1 Codex | `o:gpt-5.1-codex` | Optimized for long-horizon coding tasks |
|
|
245
|
+
| **Reasoning tasks** | GPT-5 (high) | `o:gpt-5:high` | Extended thinking for complex problems |
|
|
246
|
+
| **Multimodal** | Gemini 3 Pro | `g:gemini-3-pro` | Best for image/video understanding |
|
|
247
|
+
| **Cost-effective** | Gemini 3 Flash | `g:gemini-3-flash` | Best price-performance ratio |
|
|
248
|
+
| **Local/offline** | Llama 3.3 (Ollama) | `l:llama3.3` | Private, no API costs |
|
|
249
|
+
| **High throughput** | Groq Llama 3.3 | `q:llama-3.3-70b` | Fastest inference speeds |
|
|
230
250
|
|
|
231
251
|
### Runtime Configuration
|
|
232
252
|
|
|
@@ -235,7 +255,10 @@ Append a third segment to enable extended thinking:
|
|
|
235
255
|
ai-models --action list
|
|
236
256
|
|
|
237
257
|
# Switch model at runtime
|
|
238
|
-
ai-models --action select --model gpt-
|
|
258
|
+
ai-models --action select --model gpt-5
|
|
259
|
+
|
|
260
|
+
# Use specific model with thinking tokens
|
|
261
|
+
ai-models --action select --model claude-opus-4-5:4k
|
|
239
262
|
|
|
240
263
|
# Set custom API endpoint (e.g. NVIDIA NIM)
|
|
241
264
|
ai-config --action set --apiBaseUrl https://integrate.api.nvidia.com/v1
|
|
@@ -357,13 +380,23 @@ Send one prompt to N models in parallel, then let a CEO model synthesize:
|
|
|
357
380
|
```bash
|
|
358
381
|
# Compare responses
|
|
359
382
|
multi-prompt --prompt "Explain monads in simple terms" \
|
|
360
|
-
--models '["o:gpt-
|
|
383
|
+
--models '["o:gpt-5", "a:claude-sonnet-4-5", "g:gemini-3-pro"]'
|
|
384
|
+
|
|
385
|
+
# Compare reasoning capabilities
|
|
386
|
+
multi-prompt --prompt "Design a distributed caching strategy" \
|
|
387
|
+
--models '["o:gpt-5:high", "a:claude-opus-4-5:4k", "g:gemini-3-pro:8k"]'
|
|
361
388
|
|
|
362
389
|
# CEO-and-Board consensus
|
|
363
390
|
consensus-prompt \
|
|
364
391
|
--prompt "Redis vs PostgreSQL for sessions?" \
|
|
365
|
-
--boardModels '["o:gpt-
|
|
366
|
-
--ceoModel "a:claude-
|
|
392
|
+
--boardModels '["o:gpt-5", "a:claude-sonnet-4-5", "g:gemini-3-pro"]' \
|
|
393
|
+
--ceoModel "a:claude-opus-4-5:4k"
|
|
394
|
+
|
|
395
|
+
# Coding task with specialized models
|
|
396
|
+
consensus-prompt \
|
|
397
|
+
--prompt "Refactor this microservice architecture" \
|
|
398
|
+
--boardModels '["o:gpt-5.1-codex", "a:claude-sonnet-4-5", "o:gpt-5:high"]' \
|
|
399
|
+
--ceoModel "a:claude-opus-4-5:4k"
|
|
367
400
|
```
|
|
368
401
|
|
|
369
402
|
All board models run via `Promise.allSettled()` — individual failures never block the others.
|
package/dist/rl/index.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export { StateTracker, getStateTracker, resetStateTracker, type StateTrackerConf
|
|
|
27
27
|
export { calculatePotential, potentialDifference, calculateShapedReward, normalizeWeights, analyzePotential, suggestOptimalAction, } from './potential.js';
|
|
28
28
|
export { getIntrinsicReward, shapeReward, RewardTracker, getRewardTracker, resetRewardTracker, type RewardTrackerConfig, } from './rewards.js';
|
|
29
29
|
export { DopamineEmitter, getDopamineEmitter, resetDopamineEmitter, type DopamineEmitterConfig, } from './dopamine.js';
|
|
30
|
+
export { recordToolExecution } from './middleware.js';
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/rl/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/rl/index.js
CHANGED
|
@@ -24,4 +24,6 @@ export { calculatePotential, potentialDifference, calculateShapedReward, normali
|
|
|
24
24
|
export { getIntrinsicReward, shapeReward, RewardTracker, getRewardTracker, resetRewardTracker, } from './rewards.js';
|
|
25
25
|
// Dopamine
|
|
26
26
|
export { DopamineEmitter, getDopamineEmitter, resetDopamineEmitter, } from './dopamine.js';
|
|
27
|
+
// Middleware (tool execution integration)
|
|
28
|
+
export { recordToolExecution } from './middleware.js';
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
package/dist/rl/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyBH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,qBAAqB;AACrB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,cAAc,CAAC;AAEtB,WAAW;AACX,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyBH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,qBAAqB;AACrB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,cAAc,CAAC;AAEtB,WAAW;AACX,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,eAAe,CAAC;AAEvB,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Record RL data after tool execution.
|
|
20
|
+
*
|
|
21
|
+
* This is the main integration point — called from executeTool() in registry.ts.
|
|
22
|
+
* All work is async and non-blocking.
|
|
23
|
+
*/
|
|
24
|
+
export declare function recordToolExecution(toolName: string, args: Record<string, unknown>, success: boolean, durationMs: number): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/rl/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAiGH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* RL Middleware
|
|
20
|
+
*
|
|
21
|
+
* Integrates the RL system (state tracking, reward shaping, dopamine signals,
|
|
22
|
+
* sequence tracking) into the tool execution pipeline.
|
|
23
|
+
*
|
|
24
|
+
* All operations are fire-and-forget — they never block tool responses.
|
|
25
|
+
*/
|
|
26
|
+
import { getStateTracker } from './state-tracker.js';
|
|
27
|
+
import { getRewardTracker, getIntrinsicReward } from './rewards.js';
|
|
28
|
+
import { getDopamineEmitter } from './dopamine.js';
|
|
29
|
+
import { getSequenceTracker } from '../loci/sequence-tracker.js';
|
|
30
|
+
import { Logger } from '../utils/logger.js';
|
|
31
|
+
/**
|
|
32
|
+
* Tools that should NOT trigger RL tracking (prevents recursion)
|
|
33
|
+
*/
|
|
34
|
+
const RL_SKIP_TOOLS = new Set([
|
|
35
|
+
'rl-reward-stats',
|
|
36
|
+
'rl-dopamine-log',
|
|
37
|
+
'sequence-recommend',
|
|
38
|
+
'ping',
|
|
39
|
+
'Help',
|
|
40
|
+
'timeout-test',
|
|
41
|
+
]);
|
|
42
|
+
/**
|
|
43
|
+
* Whether RL tracking is enabled (requires Redis via StateTracker)
|
|
44
|
+
*/
|
|
45
|
+
let rlEnabled = false;
|
|
46
|
+
/**
|
|
47
|
+
* Initialize RL middleware — connects trackers to Redis.
|
|
48
|
+
* Called lazily on first tool execution.
|
|
49
|
+
*/
|
|
50
|
+
let initPromise = null;
|
|
51
|
+
async function ensureInitialized() {
|
|
52
|
+
if (rlEnabled)
|
|
53
|
+
return true;
|
|
54
|
+
if (!initPromise) {
|
|
55
|
+
initPromise = (async () => {
|
|
56
|
+
try {
|
|
57
|
+
const stateTracker = getStateTracker();
|
|
58
|
+
if (!stateTracker.isConnected()) {
|
|
59
|
+
await stateTracker.connect();
|
|
60
|
+
}
|
|
61
|
+
if (stateTracker.isConnected()) {
|
|
62
|
+
rlEnabled = true;
|
|
63
|
+
// Connect other trackers in background
|
|
64
|
+
const rewardTracker = getRewardTracker();
|
|
65
|
+
const dopamineEmitter = getDopamineEmitter();
|
|
66
|
+
const sequenceTracker = getSequenceTracker();
|
|
67
|
+
await Promise.allSettled([
|
|
68
|
+
rewardTracker.isConnected() ? Promise.resolve() : rewardTracker.connect(),
|
|
69
|
+
dopamineEmitter.isConnected() ? Promise.resolve() : dopamineEmitter.connect(),
|
|
70
|
+
sequenceTracker.isConnected() ? Promise.resolve() : sequenceTracker.connect(),
|
|
71
|
+
]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
Logger.debug(() => `[RL Middleware] Init failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
76
|
+
rlEnabled = false;
|
|
77
|
+
}
|
|
78
|
+
initPromise = null;
|
|
79
|
+
})();
|
|
80
|
+
}
|
|
81
|
+
await initPromise;
|
|
82
|
+
return rlEnabled;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Extract agentId from tool args (many tools pass it)
|
|
86
|
+
*/
|
|
87
|
+
function extractAgentId(args) {
|
|
88
|
+
return (args.agentId ||
|
|
89
|
+
args.createdBy ||
|
|
90
|
+
args.requestingAgentId ||
|
|
91
|
+
args.supervisorId ||
|
|
92
|
+
'default-agent');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Extract sessionId from tool args
|
|
96
|
+
*/
|
|
97
|
+
function extractSessionId(args) {
|
|
98
|
+
return args.sessionId || 'default-session';
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Record RL data after tool execution.
|
|
102
|
+
*
|
|
103
|
+
* This is the main integration point — called from executeTool() in registry.ts.
|
|
104
|
+
* All work is async and non-blocking.
|
|
105
|
+
*/
|
|
106
|
+
export async function recordToolExecution(toolName, args, success, durationMs) {
|
|
107
|
+
// Skip RL tools to prevent recursion
|
|
108
|
+
if (RL_SKIP_TOOLS.has(toolName))
|
|
109
|
+
return;
|
|
110
|
+
try {
|
|
111
|
+
const ready = await ensureInitialized();
|
|
112
|
+
if (!ready)
|
|
113
|
+
return;
|
|
114
|
+
const agentId = extractAgentId(args);
|
|
115
|
+
const sessionId = extractSessionId(args);
|
|
116
|
+
const isFast = durationMs < 1000;
|
|
117
|
+
// 1. Capture pre-state (initialize in Redis if new agent)
|
|
118
|
+
const stateTracker = getStateTracker();
|
|
119
|
+
const existingState = await stateTracker.getState(agentId);
|
|
120
|
+
let preState;
|
|
121
|
+
if (existingState) {
|
|
122
|
+
preState = { ...existingState, stateAge: Date.now() - existingState.timestamp, timestamp: Date.now() };
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
preState = await stateTracker.initializeState(agentId, sessionId);
|
|
126
|
+
}
|
|
127
|
+
// 2. Update state with tool result
|
|
128
|
+
const postState = await stateTracker.updateState(agentId, {
|
|
129
|
+
toolSuccess: success,
|
|
130
|
+
toolName,
|
|
131
|
+
taskProgressDelta: success ? 0.01 : 0, // Small progress per successful tool
|
|
132
|
+
hasError: !success,
|
|
133
|
+
});
|
|
134
|
+
if (!postState)
|
|
135
|
+
return;
|
|
136
|
+
// 3. Determine intrinsic reward
|
|
137
|
+
let rewardEvent;
|
|
138
|
+
if (success && isFast) {
|
|
139
|
+
rewardEvent = 'TOOL_FAST_SUCCESS';
|
|
140
|
+
}
|
|
141
|
+
else if (success) {
|
|
142
|
+
rewardEvent = 'TOOL_SUCCESS';
|
|
143
|
+
}
|
|
144
|
+
else if (postState.consecutiveErrors >= 2) {
|
|
145
|
+
rewardEvent = 'REPEATED_ERROR';
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
rewardEvent = 'TOOL_FAILURE';
|
|
149
|
+
}
|
|
150
|
+
const intrinsicReward = getIntrinsicReward(rewardEvent);
|
|
151
|
+
// 4. Record shaped reward
|
|
152
|
+
const rewardTracker = getRewardTracker();
|
|
153
|
+
if (rewardTracker.isConnected()) {
|
|
154
|
+
await rewardTracker.recordReward(toolName, preState, postState, intrinsicReward);
|
|
155
|
+
}
|
|
156
|
+
// 5. Emit dopamine signal
|
|
157
|
+
const dopamineEmitter = getDopamineEmitter();
|
|
158
|
+
if (dopamineEmitter.isConnected()) {
|
|
159
|
+
if (success) {
|
|
160
|
+
await dopamineEmitter.toolSuccess(agentId, toolName, durationMs);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
await dopamineEmitter.toolFailure(agentId, toolName);
|
|
164
|
+
}
|
|
165
|
+
// Extra signal for repeated errors
|
|
166
|
+
if (!success && postState.consecutiveErrors >= 2) {
|
|
167
|
+
await dopamineEmitter.repeatedError(agentId, toolName);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// 6. Record sequence for pattern learning
|
|
171
|
+
const sequenceTracker = getSequenceTracker();
|
|
172
|
+
if (sequenceTracker.isConnected()) {
|
|
173
|
+
await sequenceTracker.recordToolExecution(agentId, sessionId, toolName, success, durationMs);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
// Never let RL errors propagate — log and swallow
|
|
178
|
+
Logger.debug(() => `[RL Middleware] Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/rl/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,17 +31,17 @@ declare const schema: z.ZodObject<{
|
|
|
31
31
|
agent: "agent";
|
|
32
32
|
tool: "tool";
|
|
33
33
|
file: "file";
|
|
34
|
-
pattern: "pattern";
|
|
35
34
|
solution: "solution";
|
|
36
35
|
concept: "concept";
|
|
36
|
+
pattern: "pattern";
|
|
37
37
|
}>>;
|
|
38
38
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
39
39
|
labelContains: z.ZodOptional<z.ZodString>;
|
|
40
40
|
minWeight: z.ZodOptional<z.ZodNumber>;
|
|
41
41
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
42
42
|
sortBy: z.ZodDefault<z.ZodEnum<{
|
|
43
|
-
createdAt: "createdAt";
|
|
44
43
|
weight: "weight";
|
|
44
|
+
createdAt: "createdAt";
|
|
45
45
|
accessCount: "accessCount";
|
|
46
46
|
lastAccessedAt: "lastAccessedAt";
|
|
47
47
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-batch.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-batch.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke-batch.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-batch.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAmB7C,eAAO,MAAM,eAAe,EAAE,WAiE7B,CAAC"}
|
|
@@ -44,7 +44,7 @@ export const invokeBatchTool = {
|
|
|
44
44
|
description: 'Invoke multiple tools in a batch (parallel or sequential execution)',
|
|
45
45
|
zodSchema: schema,
|
|
46
46
|
execute: async (args) => {
|
|
47
|
-
const input = args;
|
|
47
|
+
const input = schema.parse(args);
|
|
48
48
|
if (!checkRateLimit('recursive-operations', { maxRequests: 50, windowMs: 60000 })) {
|
|
49
49
|
return JSON.stringify({
|
|
50
50
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-batch.tool.js","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-batch.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAChE,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC5F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC1F,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke-batch.tool.js","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-batch.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-tool.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-tool.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke-tool.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-tool.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAiB7C,eAAO,MAAM,cAAc,EAAE,WAkE5B,CAAC"}
|
|
@@ -43,7 +43,7 @@ export const invokeToolTool = {
|
|
|
43
43
|
description: 'Invoke another MCP tool from within an agent context (recursive tool usage)',
|
|
44
44
|
zodSchema: schema,
|
|
45
45
|
execute: async (args) => {
|
|
46
|
-
const input = args;
|
|
46
|
+
const input = schema.parse(args);
|
|
47
47
|
if (!checkRateLimit('recursive-operations', { maxRequests: 50, windowMs: 60000 })) {
|
|
48
48
|
return JSON.stringify({
|
|
49
49
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-tool.tool.js","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-tool.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEnF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACvE,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke-tool.tool.js","sourceRoot":"","sources":["../../../src/tools/recursive/invoke-tool.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -184,7 +184,7 @@ export declare const getToolByName: (name: string) => UnifiedTool | undefined;
|
|
|
184
184
|
*/
|
|
185
185
|
export declare enum InternalToolName {
|
|
186
186
|
PING = "ping",
|
|
187
|
-
HELP = "
|
|
187
|
+
HELP = "help",
|
|
188
188
|
TIMEOUT_TEST = "timeout-test",
|
|
189
189
|
GET_SHARED_CONTEXT = "get-shared-context",
|
|
190
190
|
AGENT_LIST = "agent-list",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,CAAC,EAAY,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -19,6 +19,7 @@ import { z, ZodError } from 'zod';
|
|
|
19
19
|
import { shareContext, isContextEnabled } from '../context/index.js';
|
|
20
20
|
import { Logger } from '../utils/logger.js';
|
|
21
21
|
import { McpError, InputValidationError, ToolExecutionError } from '../utils/errors.js';
|
|
22
|
+
import { recordToolExecution } from '../rl/middleware.js';
|
|
22
23
|
/**
|
|
23
24
|
* Sensitive argument keys that should be masked in logs
|
|
24
25
|
*/
|
|
@@ -231,7 +232,7 @@ export const getToolByName = (name) => registryManager.find(name);
|
|
|
231
232
|
export var InternalToolName;
|
|
232
233
|
(function (InternalToolName) {
|
|
233
234
|
InternalToolName["PING"] = "ping";
|
|
234
|
-
InternalToolName["HELP"] = "
|
|
235
|
+
InternalToolName["HELP"] = "help";
|
|
235
236
|
InternalToolName["TIMEOUT_TEST"] = "timeout-test";
|
|
236
237
|
InternalToolName["GET_SHARED_CONTEXT"] = "get-shared-context";
|
|
237
238
|
InternalToolName["AGENT_LIST"] = "agent-list";
|
|
@@ -371,10 +372,14 @@ export async function executeTool(name, args, onProgress) {
|
|
|
371
372
|
resultLength: result.length,
|
|
372
373
|
success: true,
|
|
373
374
|
});
|
|
375
|
+
// RL tracking (async, fire-and-forget — never blocks response)
|
|
376
|
+
recordToolExecution(name, args, true, duration).catch(() => { });
|
|
374
377
|
}
|
|
375
378
|
catch (error) {
|
|
376
379
|
isError = true;
|
|
377
380
|
const duration = Date.now() - startTime;
|
|
381
|
+
// RL tracking for failures (fire-and-forget)
|
|
382
|
+
recordToolExecution(name, args, false, duration).catch(() => { });
|
|
378
383
|
// Handle Zod validation errors
|
|
379
384
|
if (error instanceof ZodError) {
|
|
380
385
|
Logger.toolExecution('error', name, duration, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,eAAe;IACf,YAAY;IACZ,aAAa;IACb,KAAK;IACL,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,4CAA4C;IAC5C,OAAO,KAAK;SACT,OAAO,CAAC,kCAAkC,EAAE,qBAAqB,CAAC;SAClE,OAAO,CAAC,+BAA+B,EAAE,kBAAkB,CAAC;SAC5D,OAAO,CAAC,gCAAgC,EAAE,mBAAmB,CAAC;SAC9D,OAAO,CAAC,gCAAgC,EAAE,mBAAmB,CAAC;SAC9D,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;AACrE,CAAC;AAED,iDAAiD;AACjD,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAsF5B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAgC;IAEhC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,mBAAmB;IACN,KAAK,GAAkB,EAAE,CAAC;IAE3C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,IAAiB;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,0CAA0C,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF;AAED,uCAAuC;AACvC,MAAM,eAAe,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B,eAAe,CAAC,MAAM,EAAE,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAiB,EAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAElF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAA2B,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,iDAA6B,CAAA;IAC7B,6DAAyC,CAAA;IACzC,6CAAyB,CAAA;IACzB,qDAAiC,CAAA;IACjC,+CAA2B,CAAA;IAC3B,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,mDAA+B,CAAA;AACjC,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B;AAED,qDAAqD;AACrD,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,gBAAgB,CAAC,IAAI;IACrB,gBAAgB,CAAC,IAAI;IACrB,gBAAgB,CAAC,YAAY;IAC7B,gBAAgB,CAAC,kBAAkB,EAAE,0BAA0B;IAC/D,oCAAoC;IACpC,gBAAgB,CAAC,UAAU;IAC3B,gBAAgB,CAAC,cAAc;IAC/B,gBAAgB,CAAC,WAAW;IAC5B,gBAAgB,CAAC,WAAW;IAC5B,gBAAgB,CAAC,YAAY;IAC7B,gBAAgB,CAAC,aAAa;CAC/B,CAAC,CAAC;AAaH;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,kBAAkB,GACtB,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IACxE,MAAM,gBAAgB,GACpB,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC1F,OAAO,kBAAkB,IAAI,gBAAgB,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,wDAAwD;QACxD,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAChF,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;aACvE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;gBACtC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;aACnC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,MAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAAmB,EACnB,UAAqC;IAErC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE;YAC1D,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC7D,CAAC,CAAC;IAEL,4CAA4C;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7C,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,WAAW,EAAE,CAAC,CAAC,UAAU;KAC1B,CAAC,CAAC;IAEH,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAEvD,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,+DAA+D;QAC/D,mBAAmB,CAAC,IAAI,EAAE,IAA+B,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,6CAA6C;QAC7C,mBAAmB,CAAC,IAAI,EAAE,IAA+B,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE5F,+BAA+B;QAC/B,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;aAC5B,CAAC,CAAC;YACH,MAAM,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,wEAAwE;QACxE,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,KAAK,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,0BAA0B;QAC1B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,mDAAmD;IACnD,IAAI,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,YAAY,CAAC,IAAI,EAAE,IAA+B,EAAE,MAAM,EAAE;YAC1D,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACxB,sCAAsC;YACtC,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAEhE,yDAAyD;YACzD,MAAM,iBAAiB,GACrB,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAE9E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,8BAA8B,YAAY,EAAE,CAC/E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,KAAK,YAAY,EAAE,EAAE;oBACjE,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAA6B;IAC1E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,OAAO,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -26,7 +26,7 @@ export const pingTool = {
|
|
|
26
26
|
execute: async (args) => executeCommand('echo', [String(args.prompt || 'pong')]),
|
|
27
27
|
};
|
|
28
28
|
export const helpTool = {
|
|
29
|
-
name: '
|
|
29
|
+
name: 'help',
|
|
30
30
|
description: 'Show available tools and commands',
|
|
31
31
|
zodSchema: z.object({}),
|
|
32
32
|
execute: async () => 'Use: ask-ai, git-status, git-diff, search-code, and more. See README for full list.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix-agent.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix-agent.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-fix-agent.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix-agent.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA6B7C,eAAO,MAAM,gBAAgB,EAAE,WA+I9B,CAAC"}
|
|
@@ -23,6 +23,7 @@ import { getEnhancedContextString } from '../../utils/projectContext.enhanced.js
|
|
|
23
23
|
import { Logger } from '../../utils/logger.js';
|
|
24
24
|
import { config } from '../../config/index.js';
|
|
25
25
|
import { readFile } from 'node:fs/promises';
|
|
26
|
+
import { recordSuggestion } from '../../context/feedback-loop.js';
|
|
26
27
|
const FOCUS_MAP = {
|
|
27
28
|
security: 'SECURITY: SQL injection, XSS, CSRF, auth bypass, hardcoded secrets',
|
|
28
29
|
performance: 'PERFORMANCE: N+1 queries, missing cache, inefficient loops, memory leaks',
|
|
@@ -127,6 +128,14 @@ ${fileContents}
|
|
|
127
128
|
onProgress?.('Analysis and fixes complete.');
|
|
128
129
|
// Extract results
|
|
129
130
|
const output = result.finalOutput || 'No output from agent';
|
|
131
|
+
// Record suggestions for feedback tracking (only when fixes were applied)
|
|
132
|
+
if (!dryRun) {
|
|
133
|
+
for (const file of parsedFiles) {
|
|
134
|
+
recordSuggestion('auto-fix-agent', file, 'fix', `Auto-fix agent (${focus}, ${severity})`, output.slice(0, 500)).catch(() => {
|
|
135
|
+
/* ignore errors */
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
130
139
|
return JSON.stringify({
|
|
131
140
|
success: true,
|
|
132
141
|
mode: dryRun ? 'dry-run' : 'apply',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix-agent.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-fix-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix-agent.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-fix.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAmG7C,eAAO,MAAM,WAAW,EAAE,WAiMzB,CAAC"}
|
|
@@ -22,6 +22,7 @@ import { executeAI, parseFiles } from '../../ai/index.js';
|
|
|
22
22
|
import { getEnhancedContextString } from '../../utils/projectContext.enhanced.js';
|
|
23
23
|
import { Logger } from '../../utils/logger.js';
|
|
24
24
|
import { validatePath } from '../../utils/validation.js';
|
|
25
|
+
import { recordSuggestion } from '../../context/feedback-loop.js';
|
|
25
26
|
const FOCUS_MAP = {
|
|
26
27
|
security: 'SECURITY: SQL injection, XSS, CSRF, auth bypass, hardcoded secrets',
|
|
27
28
|
performance: 'PERFORMANCE: N+1 queries, missing cache, inefficient loops, memory leaks',
|
|
@@ -246,6 +247,12 @@ Begin analysis:`;
|
|
|
246
247
|
}
|
|
247
248
|
const successful = results.filter((r) => r.success);
|
|
248
249
|
const failed = results.filter((r) => !r.success);
|
|
250
|
+
// Record suggestions for feedback tracking
|
|
251
|
+
for (const result of successful) {
|
|
252
|
+
recordSuggestion('auto-fix', result.file, 'fix', result.description, `Severity: ${result.severity}`).catch(() => {
|
|
253
|
+
/* ignore errors */
|
|
254
|
+
});
|
|
255
|
+
}
|
|
249
256
|
return JSON.stringify({
|
|
250
257
|
success: failed.length === 0,
|
|
251
258
|
mode: 'apply',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAkB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-fix.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/auto-fix.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-bug.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/fix-bug.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"fix-bug.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/fix-bug.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C,eAAO,MAAM,UAAU,EAAE,WAgGxB,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { z } from 'zod';
|
|
19
19
|
import { executeAI, parseFiles } from '../../ai/index.js';
|
|
20
20
|
import { getEnhancedContextString } from '../../utils/projectContext.enhanced.js';
|
|
21
|
+
import { recordSuggestion } from '../../context/feedback-loop.js';
|
|
21
22
|
const schema = z.object({
|
|
22
23
|
files: z.string().describe('Files with the bug (use @path/file.php syntax)'),
|
|
23
24
|
description: z.string().describe('Bug description - what happens vs what should happen'),
|
|
@@ -101,7 +102,16 @@ public function test_bug_is_fixed(): void
|
|
|
101
102
|
|
|
102
103
|
Begin analysis:`;
|
|
103
104
|
onProgress?.(`Analyzing bug in: ${filesStr}`);
|
|
104
|
-
|
|
105
|
+
const result = await executeAI({ prompt, agent: 'plan', files: parseFiles(filesStr), onProgress });
|
|
106
|
+
// Record suggestions for feedback tracking
|
|
107
|
+
const parsedFiles = parseFiles(filesStr);
|
|
108
|
+
const descStr = String(description);
|
|
109
|
+
for (const file of parsedFiles) {
|
|
110
|
+
recordSuggestion('fix-bug', file, 'fix', `Bug fix: ${descStr.slice(0, 100)}${descStr.length > 100 ? '...' : ''}`, result.slice(0, 500)).catch(() => {
|
|
111
|
+
/* ignore errors */
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
105
115
|
},
|
|
106
116
|
};
|
|
107
117
|
//# sourceMappingURL=fix-bug.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-bug.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/fix-bug.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"fix-bug.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/fix-bug.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,sEAAsE;IACnF,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;IAChE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,wBAAwB,EAAE;;;;EAI9C,WAAW;;EAEX,KAAK,CAAC,CAAC,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;EAC9C,QAAQ,CAAC,CAAC,CAAC,yBAAyB,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE;;;EAG3D,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAqDM,CAAC;QAEb,UAAU,EAAE,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnG,2CAA2C;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,gBAAgB,CACd,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EACvE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACX,mBAAmB;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactor.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/refactor.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"refactor.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/refactor.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAgC7C,eAAO,MAAM,YAAY,EAAE,WAsF1B,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { z } from 'zod';
|
|
19
19
|
import { executeAI, parseFiles } from '../../ai/index.js';
|
|
20
20
|
import { getEnhancedContextString } from '../../utils/projectContext.enhanced.js';
|
|
21
|
+
import { recordSuggestion } from '../../context/feedback-loop.js';
|
|
21
22
|
const GOALS = {
|
|
22
23
|
readability: `**READABILITY** - Better naming, shorter methods (max 15-20 lines), early returns, clear conditions`,
|
|
23
24
|
performance: `**PERFORMANCE** - Optimize DB queries (eager loading, chunking), caching, reduce N+1, lazy collections`,
|
|
@@ -109,7 +110,15 @@ class NewService
|
|
|
109
110
|
|
|
110
111
|
Begin refactoring:`;
|
|
111
112
|
onProgress?.(`Refactoring (${goal}, ${scope}): ${filesStr}`);
|
|
112
|
-
|
|
113
|
+
const result = await executeAI({ prompt, agent: 'plan', files: parseFiles(filesStr), onProgress });
|
|
114
|
+
// Record suggestions for feedback tracking
|
|
115
|
+
const parsedFiles = parseFiles(filesStr);
|
|
116
|
+
for (const file of parsedFiles) {
|
|
117
|
+
recordSuggestion('refactor', file, 'refactor', `Refactoring (${goal}, ${scope})`, result.slice(0, 500)).catch(() => {
|
|
118
|
+
/* ignore errors */
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
113
122
|
},
|
|
114
123
|
};
|
|
115
124
|
//# sourceMappingURL=refactor.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactor.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/refactor.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"refactor.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/refactor.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,KAAK,GAA2B;IACpC,WAAW,EAAE,qGAAqG;IAClH,WAAW,EAAE,wGAAwG;IACrH,KAAK,EAAE;;;;;+CAKsC;IAC7C,kBAAkB,EAAE,wHAAwH;IAC5I,GAAG,EAAE,4GAA4G;CAClH,CAAC;AAEF,MAAM,MAAM,GAA2B;IACrC,OAAO,EAAE,yEAAyE;IAClF,QAAQ,EAAE,qGAAqG;IAC/G,UAAU,EAAE,qGAAqG;CAClH,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC3E,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;SACxE,OAAO,CAAC,aAAa,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CACzE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,2EAA2E;IACxF,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE;IACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,aAAa,EAAE,KAAK,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAE7F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,wBAAwB,EAAE;;;EAG9C,KAAK,CAAC,IAAc,CAAC;EACrB,MAAM,CAAC,KAAe,CAAC;;;EAGvB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgDS,CAAC;QAEhB,UAAU,EAAE,CAAC,gBAAgB,IAAI,KAAK,KAAK,MAAM,QAAQ,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnG,2CAA2C;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,gBAAgB,CACd,UAAU,EACV,IAAI,EACJ,UAAU,EACV,gBAAgB,IAAI,KAAK,KAAK,GAAG,EACjC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACX,mBAAmB;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-tests.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/write-tests.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"write-tests.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/specialized/write-tests.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAuB7C,eAAO,MAAM,cAAc,EAAE,WA+F5B,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { z } from 'zod';
|
|
19
19
|
import { executeAI, parseFiles } from '../../ai/index.js';
|
|
20
20
|
import { getEnhancedContextString } from '../../utils/projectContext.enhanced.js';
|
|
21
|
+
import { recordSuggestion } from '../../context/feedback-loop.js';
|
|
21
22
|
const TYPE_PROMPTS = {
|
|
22
23
|
unit: `**UNIT TESTS** - Test individual methods in isolation, mock dependencies, use PHPUnit assertions. Location: tests/Unit/`,
|
|
23
24
|
feature: `**FEATURE TESTS** - Test complete flows via HTTP, use actingAs() for auth, test response status/JSON. Location: tests/Feature/`,
|
|
@@ -109,7 +110,15 @@ class ExampleControllerTest extends TestCase
|
|
|
109
110
|
|
|
110
111
|
Begin generating tests:`;
|
|
111
112
|
onProgress?.(`Generating tests (${type}, ${coverage}): ${filesStr}`);
|
|
112
|
-
|
|
113
|
+
const result = await executeAI({ prompt, agent: 'plan', files: parseFiles(filesStr), onProgress });
|
|
114
|
+
// Record suggestions for feedback tracking
|
|
115
|
+
const parsedFiles = parseFiles(filesStr);
|
|
116
|
+
for (const file of parsedFiles) {
|
|
117
|
+
recordSuggestion('write-tests', file, 'test', `Test generation (${type}, ${coverage})`, result.slice(0, 500)).catch(() => {
|
|
118
|
+
/* ignore errors */
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
113
122
|
},
|
|
114
123
|
};
|
|
115
124
|
//# sourceMappingURL=write-tests.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-tests.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/write-tests.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"write-tests.tool.js","sourceRoot":"","sources":["../../../src/tools/specialized/write-tests.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,yHAAyH;IAC/H,OAAO,EAAE,gIAAgI;IACzI,IAAI,EAAE,6DAA6D;CACpE,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,YAAY,EAAE,sEAAsE;IACpF,YAAY,EAAE,iGAAiG;IAC/G,IAAI,EAAE,8GAA8G;CACrH,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kEAAkE;IAC/E,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE;IAC/D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAE7F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,wBAAwB,EAAE;;;EAG9C,YAAY,CAAC,IAAc,CAAC;EAC5B,gBAAgB,CAAC,QAAkB,CAAC;;;EAGpC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyDc,CAAC;QAErB,UAAU,EAAE,CAAC,qBAAqB,IAAI,KAAK,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnG,2CAA2C;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,gBAAgB,CACd,aAAa,EACb,IAAI,EACJ,MAAM,EACN,oBAAoB,IAAI,KAAK,QAAQ,GAAG,EACxC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACX,mBAAmB;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kemdicode-mcp",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.4",
|
|
4
4
|
"description": "Model Context Protocol (MCP) server with 100+ tools for code analysis, AI agents, git operations, multi-agent coordination, and kanban task management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|