atlas-pipeline-mcp 1.0.17 โ†’ 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +54 -1
  2. package/dist/benchmark.d.ts +12 -0
  3. package/dist/benchmark.d.ts.map +1 -0
  4. package/dist/benchmark.js +183 -0
  5. package/dist/benchmark.js.map +1 -0
  6. package/dist/mcp.d.ts +14 -0
  7. package/dist/mcp.d.ts.map +1 -1
  8. package/dist/mcp.js +297 -8
  9. package/dist/mcp.js.map +1 -1
  10. package/dist/pipeline.d.ts +13 -3
  11. package/dist/pipeline.d.ts.map +1 -1
  12. package/dist/pipeline.js +36 -5
  13. package/dist/pipeline.js.map +1 -1
  14. package/dist/providers/llm-provider.d.ts +11 -5
  15. package/dist/providers/llm-provider.d.ts.map +1 -1
  16. package/dist/providers/llm-provider.js +32 -6
  17. package/dist/providers/llm-provider.js.map +1 -1
  18. package/dist/tools/debug.d.ts +101 -0
  19. package/dist/tools/debug.d.ts.map +1 -0
  20. package/dist/tools/debug.js +712 -0
  21. package/dist/tools/debug.js.map +1 -0
  22. package/dist/tools/docs.d.ts +94 -0
  23. package/dist/tools/docs.d.ts.map +1 -0
  24. package/dist/tools/docs.js +508 -0
  25. package/dist/tools/docs.js.map +1 -0
  26. package/dist/tools/explain.d.ts +82 -0
  27. package/dist/tools/explain.d.ts.map +1 -0
  28. package/dist/tools/explain.js +543 -0
  29. package/dist/tools/explain.js.map +1 -0
  30. package/dist/tools/security.d.ts +45 -0
  31. package/dist/tools/security.d.ts.map +1 -0
  32. package/dist/tools/security.js +417 -0
  33. package/dist/tools/security.js.map +1 -0
  34. package/dist/tools/testgen.d.ts +52 -0
  35. package/dist/tools/testgen.d.ts.map +1 -0
  36. package/dist/tools/testgen.js +413 -0
  37. package/dist/tools/testgen.js.map +1 -0
  38. package/dist/tools/think.d.ts +223 -0
  39. package/dist/tools/think.d.ts.map +1 -0
  40. package/dist/tools/think.js +529 -0
  41. package/dist/tools/think.js.map +1 -0
  42. package/dist/types.d.ts +10 -2
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +17 -4
  45. package/dist/types.js.map +1 -1
  46. package/dist/utils.d.ts +86 -1
  47. package/dist/utils.d.ts.map +1 -1
  48. package/dist/utils.js +158 -1
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +3 -2
package/README.md CHANGED
@@ -9,12 +9,37 @@ Atlas is an MCP server that gives your IDE "Agentic Superpowers". Instead of jus
9
9
 
10
10
  ---
11
11
 
12
+ ## ๐Ÿš€ What's New in v1.0.19
13
+
14
+ **Performance Optimizations:**
15
+ - โšก **LRU Cache** - Intelligent caching for LLM responses and pipeline results
16
+ - ๐Ÿ”„ **Request Deduplication** - Prevents duplicate concurrent API calls
17
+ - ๐Ÿ“Š **Metrics Collection** - Built-in performance monitoring with P50/P95/P99 stats
18
+ - ๐Ÿ”’ **Circuit Breaker** - Resilient provider connections with automatic recovery
19
+ - ๐Ÿงน **Session Management** - Automatic cleanup of stale thinking sessions
20
+ - ๐Ÿš€ **Parallel Execution** - Independent pipeline stages run concurrently
21
+
22
+ **All 15 Powerful Tools:**
23
+ - ๐Ÿ”’ **atlas_security** - Scan code for vulnerabilities (SQL injection, XSS, secrets, etc.)
24
+ - ๐Ÿงช **atlas_test** - Auto-generate comprehensive test cases
25
+ - ๐Ÿ“š **atlas_docs** - Generate documentation (JSDoc, TSDoc, PyDoc)
26
+ - ๐Ÿ’ก **atlas_explain** - Explain code with complexity analysis & design patterns
27
+ - ๐Ÿ› **atlas_debug** - Debug errors with root cause analysis & fix suggestions
28
+ - ๐Ÿง  **atlas_think** - Advanced sequential reasoning with branching & verification
29
+
30
+ ---
31
+
12
32
  ## Key Features
13
33
 
14
34
  - **Zero Config**: No API keys required. It uses your IDE's built-in AI (Copilot/Cursor) for analysis.
15
35
  - **Agentic Workflow**: Breaks down specific tasks into a DAG (Directed Acyclic Graph) of subtasks.
16
36
  - **Optimization Loop**: Generates variants, critiques them, and produces a final optimized solution.
17
37
  - **Context Aware**: Deeply analyzes project structure, file dependencies, and git history.
38
+ - **Security Scanner**: Detects vulnerabilities with CWE IDs and OWASP categories.
39
+ - **Test Generator**: Creates unit/integration tests for Jest, Vitest, Pytest, Mocha.
40
+ - **Smart Debugging**: Analyzes errors, parses stack traces, suggests fixes.
41
+ - **Sequential Thinking**: Advanced reasoning with branching, revision, and hypothesis verification.
42
+ - **High Performance**: LRU caching, request deduplication, and parallel execution.
18
43
 
19
44
  ---
20
45
 
@@ -39,6 +64,28 @@ Restart your editor. You should see the Atlas server connected in your MCP setti
39
64
 
40
65
  ---
41
66
 
67
+ ## All Available Tools (15 Total)
68
+
69
+ | Tool | Description |
70
+ | :--- | :--- |
71
+ | `atlas_pipeline` | Full agentic pipeline: Intent โ†’ Context โ†’ Decompose โ†’ Variants โ†’ Critique โ†’ Optimize |
72
+ | `atlas_intent` | Analyze user intent from natural language |
73
+ | `atlas_context` | Gather project context, dependencies, and structure |
74
+ | `atlas_git` | Analyze Git history, branches, and file changes |
75
+ | `atlas_decompose` | Break down complex tasks into subtasks (DAG) |
76
+ | `atlas_variants` | Generate multiple solution approaches |
77
+ | `atlas_critique` | Review code for quality, security, best practices |
78
+ | `atlas_optimize` | Optimize code based on feedback |
79
+ | `atlas_security` | Scan for security vulnerabilities (CWE, OWASP) |
80
+ | `atlas_test` | Generate comprehensive test cases |
81
+ | `atlas_docs` | Generate documentation (JSDoc/TSDoc/PyDoc) |
82
+ | `atlas_explain` | Explain code with complexity & pattern analysis |
83
+ | `atlas_debug` | Debug errors with root cause analysis |
84
+ | `atlas_think` | Advanced sequential reasoning with branching |
85
+ | `atlas_providers` | Check LLM provider status |
86
+
87
+ ---
88
+
42
89
  ## How to Use (Cheat Sheet)
43
90
 
44
91
  Once installed, simply chat with your AI Assistant (Copilot Chat or Cursor Chat). The server automatically activates based on your intent.
@@ -50,6 +97,12 @@ Once installed, simply chat with your AI Assistant (Copilot Chat or Cursor Chat)
50
97
  | **Explore ideas** | "Generate **3 variants** for this button component." | `atlas_variants` |
51
98
  | **Review Code** | "**Critique** this code for security issues." | `atlas_critique` |
52
99
  | **Polish Code** | "**Optimize** this function based on best practices." | `atlas_optimize` |
100
+ | **Security Scan** | "**Scan this code for security vulnerabilities**." | `atlas_security` |
101
+ | **Generate Tests** | "**Generate tests** for this authentication module." | `atlas_test` |
102
+ | **Add Documentation** | "**Document** this API with examples." | `atlas_docs` |
103
+ | **Understand Code** | "**Explain** how this algorithm works." | `atlas_explain` |
104
+ | **Debug Error** | "**Debug** this TypeError, here's the stack trace..." | `atlas_debug` |
105
+ | **Complex Reasoning** | "**Think through** how to design this system." | `atlas_think` |
53
106
  | **Project Context** | "Analyze the **project context** and dependencies." | `atlas_context` |
54
107
 
55
108
  ---
@@ -83,4 +136,4 @@ We welcome contributions to improve the Atlas pipeline.
83
136
 
84
137
  ---
85
138
 
86
- *Built by Antigravity*
139
+ *Built by Nishant Unavane*
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Atlas Server - Performance Benchmarks
3
+ *
4
+ * Benchmarks for testing optimization effectiveness.
5
+ * Run with: npx tsx src/benchmark.ts
6
+ *
7
+ * @module benchmark
8
+ * @author Nishant Unavane
9
+ * @version 1.0.0
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Atlas Server - Performance Benchmarks
3
+ *
4
+ * Benchmarks for testing optimization effectiveness.
5
+ * Run with: npx tsx src/benchmark.ts
6
+ *
7
+ * @module benchmark
8
+ * @author Nishant Unavane
9
+ * @version 1.0.0
10
+ */
11
+ import { LRUCache, CircuitBreaker, RequestDeduplicator, MetricsCollector, memoizeAsync, parallelMap, hashString, generateCacheKey, retry, globalMetrics, } from './utils.js';
12
+ async function benchmark(name, fn, iterations = 1000) {
13
+ const times = [];
14
+ // Warmup
15
+ for (let i = 0; i < Math.min(10, iterations / 10); i++) {
16
+ await fn();
17
+ }
18
+ // Actual benchmark
19
+ for (let i = 0; i < iterations; i++) {
20
+ const start = performance.now();
21
+ await fn();
22
+ times.push(performance.now() - start);
23
+ }
24
+ const totalMs = times.reduce((a, b) => a + b, 0);
25
+ const avgMs = totalMs / iterations;
26
+ const minMs = Math.min(...times);
27
+ const maxMs = Math.max(...times);
28
+ return {
29
+ name,
30
+ iterations,
31
+ totalMs,
32
+ avgMs,
33
+ minMs,
34
+ maxMs,
35
+ opsPerSecond: 1000 / avgMs,
36
+ };
37
+ }
38
+ function printResult(result) {
39
+ console.log(`\n๐Ÿ“Š ${result.name}`);
40
+ console.log(` Iterations: ${result.iterations}`);
41
+ console.log(` Avg: ${result.avgMs.toFixed(3)}ms`);
42
+ console.log(` Min: ${result.minMs.toFixed(3)}ms`);
43
+ console.log(` Max: ${result.maxMs.toFixed(3)}ms`);
44
+ console.log(` Ops/sec: ${result.opsPerSecond.toFixed(0)}`);
45
+ }
46
+ // ============================================================================
47
+ // Benchmarks
48
+ // ============================================================================
49
+ async function benchmarkLRUCache() {
50
+ const cache = new LRUCache(1000, 60000);
51
+ let i = 0;
52
+ return benchmark('LRU Cache (set + get)', () => {
53
+ const key = `key-${i++ % 100}`;
54
+ cache.set(key, i);
55
+ cache.get(key);
56
+ }, 10000);
57
+ }
58
+ async function benchmarkHashString() {
59
+ const testStrings = [
60
+ 'short string',
61
+ 'medium length string with some content here',
62
+ 'a very long string that contains a lot of text and would be typical of a code snippet or prompt'.repeat(10),
63
+ ];
64
+ let i = 0;
65
+ return benchmark('String Hashing', () => {
66
+ hashString(testStrings[i++ % testStrings.length]);
67
+ }, 10000);
68
+ }
69
+ async function benchmarkGenerateCacheKey() {
70
+ const testData = [
71
+ { provider: 'ollama', prompt: 'Test prompt', temp: 0.7 },
72
+ { provider: 'openai', prompt: 'Another test', temp: 0.3, model: 'gpt-4' },
73
+ { complex: { nested: { data: [1, 2, 3] } } },
74
+ ];
75
+ let i = 0;
76
+ return benchmark('Generate Cache Key', () => {
77
+ generateCacheKey('provider', testData[i++ % testData.length], Date.now());
78
+ }, 10000);
79
+ }
80
+ async function benchmarkCircuitBreaker() {
81
+ const cb = new CircuitBreaker({ failureThreshold: 5, resetTimeoutMs: 1000, halfOpenSuccesses: 2 });
82
+ return benchmark('Circuit Breaker Execute', async () => {
83
+ await cb.execute(async () => 'success');
84
+ }, 1000);
85
+ }
86
+ async function benchmarkRequestDeduplicator() {
87
+ const dedup = new RequestDeduplicator();
88
+ let i = 0;
89
+ return benchmark('Request Deduplicator', async () => {
90
+ // Alternate between new keys and repeated keys
91
+ const key = `key-${Math.floor(i++ / 2) % 10}`;
92
+ await dedup.execute(key, async () => 'result');
93
+ }, 1000);
94
+ }
95
+ async function benchmarkMetricsCollector() {
96
+ const metrics = new MetricsCollector(10000);
97
+ let i = 0;
98
+ return benchmark('Metrics Collector (record)', () => {
99
+ metrics.record({
100
+ name: `metric-${i++ % 10}`,
101
+ durationMs: Math.random() * 100,
102
+ success: Math.random() > 0.1,
103
+ });
104
+ }, 10000);
105
+ }
106
+ async function benchmarkMetricsCollectorStats() {
107
+ const metrics = new MetricsCollector(10000);
108
+ // Fill with data
109
+ for (let i = 0; i < 1000; i++) {
110
+ metrics.record({
111
+ name: `metric-${i % 10}`,
112
+ durationMs: Math.random() * 100,
113
+ success: Math.random() > 0.1,
114
+ });
115
+ }
116
+ return benchmark('Metrics Collector (getStats)', () => {
117
+ metrics.getStats('metric-5');
118
+ }, 1000);
119
+ }
120
+ async function benchmarkMemoizeAsync() {
121
+ let callCount = 0;
122
+ const slowFn = memoizeAsync(async (...args) => {
123
+ callCount++;
124
+ const x = args[0];
125
+ return x * 2;
126
+ }, { ttlMs: 60000, maxCacheSize: 100 });
127
+ let i = 0;
128
+ return benchmark('Memoized Async Function', async () => {
129
+ await slowFn(i++ % 20); // 20 unique keys, will hit cache
130
+ }, 1000);
131
+ }
132
+ async function benchmarkParallelMap() {
133
+ const items = Array.from({ length: 10 }, (_, i) => i);
134
+ return benchmark('Parallel Map (10 items, concurrency 3)', async () => {
135
+ await parallelMap(items, async (item) => item * 2, { concurrency: 3 });
136
+ }, 100);
137
+ }
138
+ async function benchmarkRetry() {
139
+ let attempts = 0;
140
+ return benchmark('Retry (success on 1st attempt)', async () => {
141
+ await retry(async () => {
142
+ attempts++;
143
+ return 'success';
144
+ }, { maxAttempts: 3, initialDelayMs: 1, maxDelayMs: 10, backoffMultiplier: 2 });
145
+ }, 100);
146
+ }
147
+ // ============================================================================
148
+ // Main
149
+ // ============================================================================
150
+ async function main() {
151
+ console.log('๐Ÿš€ Atlas Server Performance Benchmarks');
152
+ console.log('='.repeat(50));
153
+ const results = [];
154
+ results.push(await benchmarkLRUCache());
155
+ results.push(await benchmarkHashString());
156
+ results.push(await benchmarkGenerateCacheKey());
157
+ results.push(await benchmarkCircuitBreaker());
158
+ results.push(await benchmarkRequestDeduplicator());
159
+ results.push(await benchmarkMetricsCollector());
160
+ results.push(await benchmarkMetricsCollectorStats());
161
+ results.push(await benchmarkMemoizeAsync());
162
+ results.push(await benchmarkParallelMap());
163
+ results.push(await benchmarkRetry());
164
+ console.log('\n' + '='.repeat(50));
165
+ console.log('๐Ÿ“ˆ Benchmark Results');
166
+ console.log('='.repeat(50));
167
+ for (const result of results) {
168
+ printResult(result);
169
+ }
170
+ // Summary
171
+ console.log('\n' + '='.repeat(50));
172
+ console.log('๐Ÿ“Š Summary');
173
+ console.log('='.repeat(50));
174
+ const fastest = results.reduce((a, b) => a.opsPerSecond > b.opsPerSecond ? a : b);
175
+ const slowest = results.reduce((a, b) => a.opsPerSecond < b.opsPerSecond ? a : b);
176
+ console.log(`\nโœ… Fastest: ${fastest.name} (${fastest.opsPerSecond.toFixed(0)} ops/sec)`);
177
+ console.log(`โš ๏ธ Slowest: ${slowest.name} (${slowest.opsPerSecond.toFixed(0)} ops/sec)`);
178
+ // Global metrics summary
179
+ console.log('\n๐Ÿ“Š Global Metrics:');
180
+ console.log(globalMetrics.getAllStats());
181
+ }
182
+ main().catch(console.error);
183
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts CHANGED
@@ -5,6 +5,12 @@
5
5
  * This server exposes Atlas tools via the MCP protocol for IDE integration.
6
6
  * Compatible with: Cursor, GitHub Copilot, Claude Desktop, Windsurf, etc.
7
7
  *
8
+ * Architecture:
9
+ * - Tool definitions are separated from handlers for maintainability
10
+ * - Lazy loading of tool handlers to improve startup time
11
+ * - Provider caching with TTL to reduce redundant API calls
12
+ * - Unified error handling with detailed error codes
13
+ *
8
14
  * Usage:
9
15
  * npx atlas-mcp-server
10
16
  * # or
@@ -16,6 +22,14 @@
16
22
  * OLLAMA_MODEL=auto (or specific model name)
17
23
  * OPENAI_API_KEY=sk-...
18
24
  * ANTHROPIC_API_KEY=sk-ant-...
25
+ *
26
+ * @module mcp
27
+ * @author Nishant Unavane
28
+ * @version 1.0.18
19
29
  */
20
30
  import 'dotenv/config';
31
+ /**
32
+ * Invalidate provider cache (useful after configuration changes)
33
+ */
34
+ export declare function invalidateProviderCache(): void;
21
35
  //# sourceMappingURL=mcp.d.ts.map
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,eAAe,CAAC;AAgDvB;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}