kemdicode-mcp 1.15.3 → 1.15.5
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/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.js +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.5-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.
|
|
@@ -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",
|
package/dist/tools/registry.js
CHANGED
|
@@ -232,7 +232,7 @@ export const getToolByName = (name) => registryManager.find(name);
|
|
|
232
232
|
export var InternalToolName;
|
|
233
233
|
(function (InternalToolName) {
|
|
234
234
|
InternalToolName["PING"] = "ping";
|
|
235
|
-
InternalToolName["HELP"] = "
|
|
235
|
+
InternalToolName["HELP"] = "help";
|
|
236
236
|
InternalToolName["TIMEOUT_TEST"] = "timeout-test";
|
|
237
237
|
InternalToolName["GET_SHARED_CONTEXT"] = "get-shared-context";
|
|
238
238
|
InternalToolName["AGENT_LIST"] = "agent-list";
|
|
@@ -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":"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;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,SAAS,GAA2B;IACxC,QAAQ,EAAE,oEAAoE;IAC9E,WAAW,EAAE,0EAA0E;IACvF,OAAO,EAAE,kFAAkF;IAC3F,GAAG,EAAE,wDAAwD;CAC9D,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3E,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACzB,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/F,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,6GAA6G;IAC/G,SAAS,EAAE,MAAM;IAEjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,IAAmC,CAAC;QAClD,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAE9F,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,UAAU,EAAE,CAAC,mBAAmB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,QAAQ,EAAE,CAAC,CAAC;QAExF,uBAAuB;QACvB,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjD,YAAY,IAAI,eAAe,QAAQ,aAAa,OAAO,YAAY,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,IAAI,eAAe,QAAQ,yBAAyB,KAAK,IAAI,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,YAAY,EAAE,YAAY,IAAI,QAAQ,CAAC;QAErD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;YACnB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC;YAC3B,IAAI,EAAE,WAAW;YACjB,YAAY,EAAE,GAAG,wBAAwB,EAAE;;;;WAItC,MAAM,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,4CAA4C;;YAEnH,SAAS,CAAC,KAAK,CAAC;EAC1B,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,EAAE;;;EAGnG,YAAY;;;;;;;OAOP,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,gCAAgC;KAChF,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,uBAAuB;;;;;;qCAMnC;YAC/B,KAAK;YACL,KAAK,EAAE,MAAM;gBACX,CAAC,CAAC,EAAE,CAAC,2BAA2B;gBAChC,CAAC,CAAC;oBACE,cAAc,CAAC;wBACb,MAAM;wBACN,aAAa,EAAE,CAAC,OAAO;wBACvB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;4BACvC,IAAI,OAAO,EAAE,CAAC;gCACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4BAC3B,CAAC;4BACD,MAAM,EAAE,GACN,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB;gCAC9C,CAAC,CAAE,YAAY,CAAC,OAA4D;qCACvE,SAAS;gCACd,CAAC,CAAC,SAAS,CAAC;4BAChB,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;4BAChF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC3B,CAAC;qBACF,CAAC;iBACH;SACN,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,UAAU,EAAE,CAAC,6BAA6B,CAAC,CAAC;YAE5C,gBAAgB;YAChB,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,UAAU,EACV,wBAAwB,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,YAAY,KAAK,eAAe,QAAQ,EAAE,CAC5G,CAAC;YAEF,UAAU,EAAE,CAAC,8BAA8B,CAAC,CAAC;YAE7C,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,sBAAsB,CAAC;YAE5D,0EAA0E;YAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,gBAAgB,CACd,gBAAgB,EAChB,IAAI,EACJ,KAAK,EACL,mBAAmB,KAAK,KAAK,QAAQ,GAAG,EACxC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAC,KAAK,CAAC,GAAG,EAAE;wBACX,mBAAmB;oBACrB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gBAClC,KAAK;gBACL,QAAQ;gBACR,aAAa,EAAE,WAAW,CAAC,MAAM;gBACjC,KAAK;gBACL,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,MAAM;oBACb,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,wCAAwC;aAC7C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YAElD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -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.5",
|
|
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",
|