atlas-pipeline-mcp 1.0.18 โ†’ 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.
package/README.md CHANGED
@@ -9,9 +9,17 @@ 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.18
12
+ ## ๐Ÿš€ What's New in v1.0.19
13
13
 
14
- **6 Powerful New Tools:**
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:**
15
23
  - ๐Ÿ”’ **atlas_security** - Scan code for vulnerabilities (SQL injection, XSS, secrets, etc.)
16
24
  - ๐Ÿงช **atlas_test** - Auto-generate comprehensive test cases
17
25
  - ๐Ÿ“š **atlas_docs** - Generate documentation (JSDoc, TSDoc, PyDoc)
@@ -31,6 +39,7 @@ Atlas is an MCP server that gives your IDE "Agentic Superpowers". Instead of jus
31
39
  - **Test Generator**: Creates unit/integration tests for Jest, Vitest, Pytest, Mocha.
32
40
  - **Smart Debugging**: Analyzes errors, parses stack traces, suggests fixes.
33
41
  - **Sequential Thinking**: Advanced reasoning with branching, revision, and hypothesis verification.
42
+ - **High Performance**: LRU caching, request deduplication, and parallel execution.
34
43
 
35
44
  ---
36
45
 
@@ -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"}
package/dist/mcp.js 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,10 @@
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';
21
31
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
@@ -24,17 +34,33 @@ import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } f
24
34
  import { z } from 'zod';
25
35
  import { logger, createTimer, safeStringify } from './utils.js';
26
36
  import { getActiveProvider, checkProviders, isNoLLMMode, setMcpServerInstance } from './providers/index.js';
27
- // Provider cache to avoid repeated checks
28
- let cachedProvider = null;
29
- let providerCacheTime = 0;
30
- const PROVIDER_CACHE_TTL_MS = 60000; // 1 minute cache
37
+ // ============================================================================
38
+ // Provider Caching with LRU Cache Pattern
39
+ // ============================================================================
40
+ /** Provider cache TTL in milliseconds */
41
+ const PROVIDER_CACHE_TTL_MS = 60000;
42
+ /** Singleton provider cache */
43
+ let providerCache = null;
44
+ /**
45
+ * Get cached provider with TTL-based invalidation
46
+ * Reduces redundant provider checks during high-frequency tool calls
47
+ */
31
48
  async function getCachedProvider() {
32
49
  const now = Date.now();
33
- if (!cachedProvider || now - providerCacheTime > PROVIDER_CACHE_TTL_MS) {
34
- cachedProvider = await getActiveProvider();
35
- providerCacheTime = now;
50
+ // Return cached if still valid
51
+ if (providerCache && (now - providerCache.cachedAt) < PROVIDER_CACHE_TTL_MS) {
52
+ return providerCache.provider;
36
53
  }
37
- return cachedProvider;
54
+ // Refresh cache
55
+ const provider = await getActiveProvider();
56
+ providerCache = { provider, cachedAt: now };
57
+ return provider;
58
+ }
59
+ /**
60
+ * Invalidate provider cache (useful after configuration changes)
61
+ */
62
+ export function invalidateProviderCache() {
63
+ providerCache = null;
38
64
  }
39
65
  import { analyzeIntent } from './tools/intent.js';
40
66
  import { buildContext, analyzeProject } from './tools/context.js';
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,28 @@
1
1
  /**
2
2
  * Atlas Server - Multi-Stage Pipeline
3
3
  *
4
- * Orchestrates the complete AI pipeline:
4
+ * Orchestrates the complete AI pipeline with optimized parallel execution:
5
5
  * 1. Intent Analysis - Understand what the user wants
6
6
  * 2. Context Gathering - Collect relevant code and project info
7
- * 3. Git Context - Understand repository state
7
+ * 3. Git Context - Understand repository state (parallel with context)
8
8
  * 4. Task Decomposition - Break down into subtasks
9
9
  * 5. Variant Generation - Create multiple solutions
10
10
  * 6. Critique - Review and score variants
11
11
  * 7. Optimization - Refine the best solution
12
+ *
13
+ * Performance Features:
14
+ * - Parallel execution of independent stages
15
+ * - Request deduplication for concurrent pipeline calls
16
+ * - Comprehensive metrics collection
17
+ * - Graceful degradation on stage failures
18
+ *
19
+ * @module pipeline
20
+ * @author Nishant Unavane
21
+ * @version 2.1.0
12
22
  */
13
23
  import type { PipelineRequest, PipelineResponse } from './types.js';
14
24
  /**
15
- * Execute the complete multi-stage pipeline
25
+ * Execute the complete multi-stage pipeline with deduplication
16
26
  */
17
27
  export declare function executePipeline(request: PipelineRequest): Promise<PipelineResponse>;
18
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAQjB,MAAM,YAAY,CAAC;AAsBpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAqO3B;AAkBD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAyF3B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,GAC9F,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,eAAe,CAc5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAC7D,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAeA"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAQjB,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAiQD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAyF3B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,GAC9F,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,eAAe,CAc5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAC7D,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAeA"}
package/dist/pipeline.js CHANGED
@@ -1,14 +1,24 @@
1
1
  /**
2
2
  * Atlas Server - Multi-Stage Pipeline
3
3
  *
4
- * Orchestrates the complete AI pipeline:
4
+ * Orchestrates the complete AI pipeline with optimized parallel execution:
5
5
  * 1. Intent Analysis - Understand what the user wants
6
6
  * 2. Context Gathering - Collect relevant code and project info
7
- * 3. Git Context - Understand repository state
7
+ * 3. Git Context - Understand repository state (parallel with context)
8
8
  * 4. Task Decomposition - Break down into subtasks
9
9
  * 5. Variant Generation - Create multiple solutions
10
10
  * 6. Critique - Review and score variants
11
11
  * 7. Optimization - Refine the best solution
12
+ *
13
+ * Performance Features:
14
+ * - Parallel execution of independent stages
15
+ * - Request deduplication for concurrent pipeline calls
16
+ * - Comprehensive metrics collection
17
+ * - Graceful degradation on stage failures
18
+ *
19
+ * @module pipeline
20
+ * @author Nishant Unavane
21
+ * @version 2.1.0
12
22
  */
13
23
  import { analyzeIntent } from './tools/intent.js';
14
24
  import { buildContext } from './tools/context.js';
@@ -18,25 +28,46 @@ import { generateVariants } from './tools/variants.js';
18
28
  import { critiqueVariants } from './tools/critique.js';
19
29
  import { optimizeVariant } from './tools/optimize.js';
20
30
  import { getOllamaClient } from './tools/ollama.js';
21
- import { logger, executeStage, createPipelineError, nowISO, formatDuration, } from './utils.js';
31
+ import { logger, executeStage, createPipelineError, nowISO, formatDuration, generateId, globalMetrics, RequestDeduplicator, } from './utils.js';
32
+ // ============================================================================
33
+ // Pipeline Deduplication and Caching
34
+ // ============================================================================
35
+ /** Request deduplicator for concurrent identical pipeline requests */
36
+ const pipelineDeduplicator = new RequestDeduplicator();
37
+ /**
38
+ * Generate a unique key for a pipeline request
39
+ */
40
+ function generatePipelineKey(request) {
41
+ return `${request.query.substring(0, 100)}|${request.repoPath ?? 'no-repo'}`;
42
+ }
22
43
  // ============================================================================
23
44
  // Pipeline Execution
24
45
  // ============================================================================
25
46
  /**
26
- * Execute the complete multi-stage pipeline
47
+ * Execute the complete multi-stage pipeline with deduplication
27
48
  */
28
49
  export async function executePipeline(request) {
50
+ const pipelineKey = generatePipelineKey(request);
51
+ // Deduplicate concurrent identical requests
52
+ return pipelineDeduplicator.execute(pipelineKey, () => executePipelineInternal(request));
53
+ }
54
+ /**
55
+ * Internal pipeline execution (called after deduplication)
56
+ */
57
+ async function executePipelineInternal(request) {
29
58
  const startTime = performance.now();
30
59
  const startedAt = nowISO();
60
+ const pipelineId = generateId();
31
61
  const stages = [];
32
62
  logger.info({
63
+ pipelineId,
33
64
  queryLength: request.query.length,
34
65
  hasRepoPath: !!request.repoPath,
35
66
  sessionId: request.sessionId,
36
67
  }, 'Pipeline execution started');
37
68
  try {
38
69
  // Stage 1: Intent Analysis
39
- const { stageResult: intentResult, output: intent } = await executeStage('intent', () => analyzeIntent(request.query));
70
+ const { stageResult: intentResult, output: intent } = await globalMetrics.measure('pipeline.intent', () => executeStage('intent', () => analyzeIntent(request.query)), { pipelineId });
40
71
  stages.push(intentResult);
41
72
  if (!intentResult.success || !intent) {
42
73
  throw createPipelineError('INTENT_ANALYSIS_FAILED', 'Failed to analyze user intent', 'intent');
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}