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
@@ -0,0 +1,529 @@
1
+ /**
2
+ * Atlas Server - Advanced Sequential Thinking Tool
3
+ *
4
+ * Enhanced reasoning capabilities beyond basic sequential thinking:
5
+ * - Dynamic thought branching with merge support
6
+ * - Hypothesis generation and verification
7
+ * - Confidence scoring and uncertainty tracking
8
+ * - Automatic insight extraction
9
+ * - Deadend detection and smart backtracking
10
+ * - AI-enhanced reasoning when LLM available
11
+ * - Thought summarization and compression
12
+ * - Memory of key conclusions
13
+ * - Session persistence with LRU eviction
14
+ *
15
+ * Performance Features:
16
+ * - Optimized session lookup with Map
17
+ * - Lazy AI enhancement (only when needed)
18
+ * - Efficient insight extraction using pre-compiled patterns
19
+ * - Memory-efficient session cleanup
20
+ *
21
+ * @module think
22
+ * @author Nishant Unavane
23
+ * @version 1.1.0
24
+ */
25
+ import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
26
+ import { logger, globalMetrics } from '../utils.js';
27
+ // ============================================================================
28
+ // Constants
29
+ // ============================================================================
30
+ /** Maximum sessions to keep in memory */
31
+ const MAX_SESSIONS = 50;
32
+ /** Session timeout in milliseconds (30 minutes) */
33
+ const SESSION_TIMEOUT_MS = 30 * 60 * 1000;
34
+ /** Pre-compiled insight extraction patterns for performance */
35
+ const INSIGHT_PATTERNS = {
36
+ realization: /(?:realize|understand|discover|notice|observe|see that|learn that|conclude that|find that)\s+(.{10,100})/gi,
37
+ important: /(?:important|key|crucial|essential|critical|significant)(?:\s+(?:point|thing|aspect|factor|insight))?\s*(?:is|:)\s*(.{10,100})/gi,
38
+ solution: /(?:solution|answer|fix|approach|strategy|method)\s+(?:is|would be|could be|might be)\s*(.{10,100})/gi,
39
+ because: /because\s+(.{10,80})/gi,
40
+ therefore: /therefore[,\s]+(.{10,80})/gi,
41
+ };
42
+ // ============================================================================
43
+ // Thinking Server Class
44
+ // ============================================================================
45
+ /**
46
+ * Advanced Thinking Server with optimized session management
47
+ * - LRU eviction for memory management
48
+ * - Efficient insight extraction
49
+ * - Lazy AI enhancement
50
+ */
51
+ export class AdvancedThinkingServer {
52
+ sessions = new Map();
53
+ currentSession = null;
54
+ cleanupTimer = null;
55
+ constructor() {
56
+ logger.debug('AdvancedThinkingServer initialized');
57
+ // Start periodic cleanup
58
+ this.startCleanupTimer();
59
+ }
60
+ /**
61
+ * Start periodic cleanup of stale sessions
62
+ */
63
+ startCleanupTimer() {
64
+ if (this.cleanupTimer)
65
+ return;
66
+ this.cleanupTimer = setInterval(() => {
67
+ this.cleanupStaleSessions();
68
+ }, SESSION_TIMEOUT_MS / 2);
69
+ }
70
+ /**
71
+ * Clean up sessions that haven't been accessed recently
72
+ */
73
+ cleanupStaleSessions() {
74
+ const now = Date.now();
75
+ const toDelete = [];
76
+ for (const [id, session] of this.sessions) {
77
+ if (now - session.lastAccessTime > SESSION_TIMEOUT_MS) {
78
+ toDelete.push(id);
79
+ }
80
+ }
81
+ for (const id of toDelete) {
82
+ this.sessions.delete(id);
83
+ logger.debug({ sessionId: id }, 'Cleaned up stale thinking session');
84
+ }
85
+ // Also enforce max sessions limit (LRU eviction)
86
+ if (this.sessions.size > MAX_SESSIONS) {
87
+ const sessionsArray = [...this.sessions.entries()]
88
+ .sort((a, b) => a[1].lastAccessTime - b[1].lastAccessTime);
89
+ const toEvict = sessionsArray.slice(0, this.sessions.size - MAX_SESSIONS);
90
+ for (const [id] of toEvict) {
91
+ this.sessions.delete(id);
92
+ logger.debug({ sessionId: id }, 'Evicted thinking session (LRU)');
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Shutdown and cleanup
98
+ */
99
+ shutdown() {
100
+ if (this.cleanupTimer) {
101
+ clearInterval(this.cleanupTimer);
102
+ this.cleanupTimer = null;
103
+ }
104
+ this.sessions.clear();
105
+ }
106
+ /**
107
+ * Start a new thinking session
108
+ */
109
+ startSession(problem, sessionId) {
110
+ const id = sessionId ?? `session-${Date.now()}`;
111
+ const now = Date.now();
112
+ const session = {
113
+ id,
114
+ startTime: new Date().toISOString(),
115
+ lastAccessTime: now,
116
+ problem,
117
+ thoughts: [],
118
+ branches: {},
119
+ currentBranch: null,
120
+ hypotheses: [],
121
+ keyInsights: [],
122
+ deadEnds: [],
123
+ overallConfidence: 0,
124
+ };
125
+ this.sessions.set(id, session);
126
+ this.currentSession = session;
127
+ globalMetrics.record({
128
+ name: 'think.session_started',
129
+ durationMs: 0,
130
+ success: true,
131
+ metadata: { sessionId: id },
132
+ });
133
+ return id;
134
+ }
135
+ /**
136
+ * Get session count for monitoring
137
+ */
138
+ getSessionCount() {
139
+ return this.sessions.size;
140
+ }
141
+ /**
142
+ * Process a thought and return the result
143
+ */
144
+ async processThought(input) {
145
+ const startTime = performance.now();
146
+ // Get or create session
147
+ if (!this.currentSession) {
148
+ this.startSession(input.problemContext ?? 'General problem solving');
149
+ }
150
+ const session = this.currentSession;
151
+ session.lastAccessTime = Date.now(); // Update access time
152
+ // Auto-adjust totalThoughts if needed
153
+ if (input.thoughtNumber > input.totalThoughts) {
154
+ input.totalThoughts = input.thoughtNumber;
155
+ }
156
+ // Create thought record
157
+ const thought = {
158
+ ...input,
159
+ timestamp: new Date().toISOString(),
160
+ extractedInsights: [],
161
+ confidenceHistory: [...(session.thoughts[session.thoughts.length - 1]?.confidenceHistory ?? []), input.confidence ?? 0.5],
162
+ };
163
+ // Extract insights from thought
164
+ thought.extractedInsights = this.extractInsights(input.thought);
165
+ // Handle branching
166
+ if (input.branchFromThought && input.branchId) {
167
+ this.handleBranching(session, thought, input.branchId, input.branchFromThought);
168
+ }
169
+ // Handle branch merging
170
+ if (input.mergeBranches && input.mergeBranches.length > 0) {
171
+ this.handleMerge(session, thought, input.mergeBranches);
172
+ }
173
+ // Handle hypothesis
174
+ if (input.thoughtType === 'hypothesis' && input.hypothesis) {
175
+ this.addHypothesis(session, input.hypothesis, input.thoughtNumber);
176
+ }
177
+ // Handle verification
178
+ if (input.thoughtType === 'verification' && input.verificationResult) {
179
+ this.updateHypothesisStatus(session, input.verificationResult, input.thoughtNumber);
180
+ }
181
+ // Handle dead end
182
+ if (input.isDeadEnd) {
183
+ this.recordDeadEnd(session, thought);
184
+ }
185
+ // Record key insight
186
+ if (input.keyInsight) {
187
+ session.keyInsights.push(input.keyInsight);
188
+ }
189
+ // Add thought to history
190
+ session.thoughts.push(thought);
191
+ // Update confidence
192
+ session.overallConfidence = this.calculateOverallConfidence(session);
193
+ // Get AI enhancement if available
194
+ let aiSuggestion;
195
+ let recommendedNextStep;
196
+ if (!isNoLLMMode() && input.nextThoughtNeeded) {
197
+ try {
198
+ const enhancement = await this.getAIEnhancement(session, thought);
199
+ aiSuggestion = enhancement.suggestion;
200
+ recommendedNextStep = enhancement.nextStep;
201
+ thought.aiEnhancement = enhancement.suggestion;
202
+ }
203
+ catch (error) {
204
+ logger.warn({ error }, 'AI enhancement failed');
205
+ }
206
+ }
207
+ // Generate conclusion if this is the final thought
208
+ let conclusion;
209
+ if (!input.nextThoughtNeeded) {
210
+ conclusion = this.generateConclusion(session);
211
+ session.conclusion = conclusion;
212
+ }
213
+ // Build result
214
+ const result = {
215
+ thoughtNumber: input.thoughtNumber,
216
+ totalThoughts: input.totalThoughts,
217
+ nextThoughtNeeded: input.nextThoughtNeeded,
218
+ currentBranch: session.currentBranch,
219
+ branches: Object.keys(session.branches),
220
+ thoughtHistoryLength: session.thoughts.length,
221
+ currentConfidence: session.overallConfidence,
222
+ activeHypotheses: session.hypotheses.filter(h => h.status === 'testing' || h.status === 'proposed').length,
223
+ keyInsightsCount: session.keyInsights.length,
224
+ deadEndsEncountered: session.deadEnds.length,
225
+ aiSuggestion,
226
+ recommendedNextStep,
227
+ progressSummary: this.generateProgressSummary(session, input.thoughtNumber),
228
+ conclusion,
229
+ };
230
+ return result;
231
+ }
232
+ /**
233
+ * Extract insights from thought text
234
+ */
235
+ extractInsights(thought) {
236
+ const insights = [];
237
+ // Look for key phrases that indicate insights
238
+ const insightPatterns = [
239
+ /(?:i realize|i notice|key point|important|crucial|this means|therefore|thus|hence|conclusion|insight)/gi,
240
+ /(?:the pattern is|this suggests|this indicates|this shows)/gi,
241
+ ];
242
+ const sentences = thought.split(/[.!?]+/).filter(s => s.trim());
243
+ for (const sentence of sentences) {
244
+ for (const pattern of insightPatterns) {
245
+ if (pattern.test(sentence)) {
246
+ insights.push(sentence.trim());
247
+ break;
248
+ }
249
+ }
250
+ }
251
+ return insights;
252
+ }
253
+ /**
254
+ * Handle branching logic
255
+ */
256
+ handleBranching(session, thought, branchId, fromThought) {
257
+ if (!session.branches[branchId]) {
258
+ session.branches[branchId] = {
259
+ id: branchId,
260
+ parentThought: fromThought,
261
+ thoughts: [],
262
+ status: 'active',
263
+ };
264
+ }
265
+ session.branches[branchId].thoughts.push(thought);
266
+ session.currentBranch = branchId;
267
+ }
268
+ /**
269
+ * Handle merging of branches
270
+ */
271
+ handleMerge(session, thought, branchIds) {
272
+ const mergedInsights = [];
273
+ for (const branchId of branchIds) {
274
+ const branch = session.branches[branchId];
275
+ if (branch) {
276
+ branch.status = 'merged';
277
+ // Collect insights from merged branches
278
+ for (const t of branch.thoughts) {
279
+ mergedInsights.push(...t.extractedInsights);
280
+ }
281
+ if (branch.conclusion) {
282
+ mergedInsights.push(branch.conclusion);
283
+ }
284
+ }
285
+ }
286
+ // Add merged insights to current thought
287
+ thought.extractedInsights.push(...mergedInsights);
288
+ session.currentBranch = null;
289
+ }
290
+ /**
291
+ * Add a new hypothesis
292
+ */
293
+ addHypothesis(session, statement, thoughtNumber) {
294
+ session.hypotheses.push({
295
+ id: `hyp-${session.hypotheses.length + 1}`,
296
+ statement,
297
+ proposedAt: thoughtNumber,
298
+ status: 'proposed',
299
+ evidence: [],
300
+ confidence: 0.5,
301
+ });
302
+ }
303
+ /**
304
+ * Update hypothesis status based on verification
305
+ */
306
+ updateHypothesisStatus(session, result, thoughtNumber) {
307
+ // Update the most recent hypothesis being tested
308
+ const testingHypothesis = [...session.hypotheses].reverse().find(h => h.status === 'testing' || h.status === 'proposed');
309
+ if (testingHypothesis) {
310
+ switch (result) {
311
+ case 'confirmed':
312
+ testingHypothesis.status = 'confirmed';
313
+ testingHypothesis.confidence = 0.9;
314
+ break;
315
+ case 'refuted':
316
+ testingHypothesis.status = 'refuted';
317
+ testingHypothesis.confidence = 0.1;
318
+ break;
319
+ case 'partial':
320
+ testingHypothesis.status = 'partial';
321
+ testingHypothesis.confidence = 0.6;
322
+ break;
323
+ default:
324
+ testingHypothesis.confidence = 0.5;
325
+ }
326
+ testingHypothesis.evidence.push({
327
+ thoughtNumber,
328
+ type: result === 'confirmed' ? 'supports' : result === 'refuted' ? 'refutes' : 'neutral',
329
+ description: `Verification at thought ${thoughtNumber}`,
330
+ weight: 1,
331
+ });
332
+ }
333
+ }
334
+ /**
335
+ * Record a dead end
336
+ */
337
+ recordDeadEnd(session, thought) {
338
+ // Find the best point to backtrack to
339
+ const backtrackTo = this.findBacktrackPoint(session, thought.thoughtNumber);
340
+ session.deadEnds.push({
341
+ thoughtNumber: thought.thoughtNumber,
342
+ reason: thought.thought,
343
+ lessonsLearned: thought.extractedInsights,
344
+ backtrackTo,
345
+ });
346
+ // Mark current branch as deadend if in a branch
347
+ if (session.currentBranch && session.branches[session.currentBranch]) {
348
+ session.branches[session.currentBranch].status = 'deadend';
349
+ }
350
+ }
351
+ /**
352
+ * Find the best point to backtrack to
353
+ */
354
+ findBacktrackPoint(session, currentThought) {
355
+ // Look for the last branching point or hypothesis
356
+ for (let i = session.thoughts.length - 1; i >= 0; i--) {
357
+ const t = session.thoughts[i];
358
+ if (t && (t.thoughtType === 'hypothesis' || t.branchFromThought)) {
359
+ return t.thoughtNumber;
360
+ }
361
+ }
362
+ return 1; // Backtrack to beginning if no better point found
363
+ }
364
+ /**
365
+ * Calculate overall confidence
366
+ */
367
+ calculateOverallConfidence(session) {
368
+ if (session.thoughts.length === 0)
369
+ return 0;
370
+ // Factors: hypothesis confirmation, dead ends, insight count
371
+ let confidence = 0.5;
372
+ // Boost for confirmed hypotheses
373
+ const confirmedCount = session.hypotheses.filter(h => h.status === 'confirmed').length;
374
+ confidence += confirmedCount * 0.1;
375
+ // Penalty for dead ends
376
+ confidence -= session.deadEnds.length * 0.05;
377
+ // Boost for insights
378
+ confidence += Math.min(session.keyInsights.length * 0.02, 0.2);
379
+ // Use latest thought confidence if available
380
+ const lastConfidence = session.thoughts[session.thoughts.length - 1]?.confidence;
381
+ if (lastConfidence !== undefined) {
382
+ confidence = (confidence + lastConfidence) / 2;
383
+ }
384
+ return Math.max(0, Math.min(1, confidence));
385
+ }
386
+ /**
387
+ * Get AI enhancement for the current thinking
388
+ */
389
+ async getAIEnhancement(session, currentThought) {
390
+ const provider = await getActiveProvider();
391
+ const recentThoughts = session.thoughts.slice(-5).map(t => t.thought).join('\n');
392
+ const hypotheses = session.hypotheses.map(h => `- ${h.statement} (${h.status})`).join('\n');
393
+ const insights = session.keyInsights.join('\n- ');
394
+ const prompt = `You are helping with step-by-step reasoning about: "${session.problem}"
395
+
396
+ Recent thoughts:
397
+ ${recentThoughts}
398
+
399
+ Current hypotheses:
400
+ ${hypotheses || 'None yet'}
401
+
402
+ Key insights so far:
403
+ ${insights || 'None yet'}
404
+
405
+ Current thought: ${currentThought.thought}
406
+ Current confidence: ${(session.overallConfidence * 100).toFixed(0)}%
407
+
408
+ Provide:
409
+ 1. A brief suggestion to improve the current reasoning (1-2 sentences)
410
+ 2. A recommended next step (1 sentence)
411
+
412
+ Format as JSON: {"suggestion": "...", "nextStep": "..."}`;
413
+ const response = await provider.completeJson(prompt, {
414
+ systemPrompt: 'You are a reasoning assistant. Be concise and helpful.',
415
+ temperature: 0.5,
416
+ maxTokens: 200,
417
+ });
418
+ return response.data ?? { suggestion: '', nextStep: '' };
419
+ }
420
+ /**
421
+ * Generate a progress summary
422
+ */
423
+ generateProgressSummary(session, thoughtNumber) {
424
+ const parts = [];
425
+ parts.push(`Thought ${thoughtNumber}/${session.thoughts.length > 0 ? Math.max(...session.thoughts.map(t => t.totalThoughts)) : '?'}`);
426
+ if (session.hypotheses.length > 0) {
427
+ const confirmed = session.hypotheses.filter(h => h.status === 'confirmed').length;
428
+ const testing = session.hypotheses.filter(h => h.status === 'testing' || h.status === 'proposed').length;
429
+ parts.push(`Hypotheses: ${confirmed} confirmed, ${testing} testing`);
430
+ }
431
+ if (session.keyInsights.length > 0) {
432
+ parts.push(`${session.keyInsights.length} key insights`);
433
+ }
434
+ if (session.deadEnds.length > 0) {
435
+ parts.push(`${session.deadEnds.length} dead ends avoided`);
436
+ }
437
+ if (Object.keys(session.branches).length > 0) {
438
+ parts.push(`${Object.keys(session.branches).length} branches explored`);
439
+ }
440
+ parts.push(`Confidence: ${(session.overallConfidence * 100).toFixed(0)}%`);
441
+ return parts.join(' | ');
442
+ }
443
+ /**
444
+ * Generate final conclusion
445
+ */
446
+ generateConclusion(session) {
447
+ // Find the most confident hypothesis
448
+ const confirmedHypotheses = session.hypotheses
449
+ .filter(h => h.status === 'confirmed')
450
+ .sort((a, b) => b.confidence - a.confidence);
451
+ // Collect supporting evidence
452
+ const supportingThoughts = session.thoughts
453
+ .filter(t => t.confidence && t.confidence > 0.7)
454
+ .map(t => t.thoughtNumber);
455
+ // Find alternative approaches that were considered
456
+ const alternatives = session.hypotheses
457
+ .filter(h => h.status === 'refuted' || h.status === 'partial')
458
+ .map(h => h.statement);
459
+ // Identify caveats
460
+ const caveats = [];
461
+ if (session.deadEnds.length > 0) {
462
+ caveats.push(`${session.deadEnds.length} approach(es) were found to be dead ends`);
463
+ }
464
+ if (session.overallConfidence < 0.7) {
465
+ caveats.push('Moderate uncertainty remains in this conclusion');
466
+ }
467
+ // Generate answer
468
+ let answer = '';
469
+ if (confirmedHypotheses.length > 0) {
470
+ answer = confirmedHypotheses.map(h => h.statement).join('. ');
471
+ }
472
+ else if (session.keyInsights.length > 0) {
473
+ answer = session.keyInsights.join('. ');
474
+ }
475
+ else {
476
+ const lastThought = session.thoughts[session.thoughts.length - 1];
477
+ answer = lastThought?.thought ?? 'No conclusion reached';
478
+ }
479
+ return {
480
+ answer,
481
+ confidence: session.overallConfidence,
482
+ supportingThoughts,
483
+ alternativeConsidered: alternatives,
484
+ caveats,
485
+ };
486
+ }
487
+ /**
488
+ * Get current session
489
+ */
490
+ getSession() {
491
+ return this.currentSession;
492
+ }
493
+ /**
494
+ * Reset the server
495
+ */
496
+ reset() {
497
+ this.sessions.clear();
498
+ this.currentSession = null;
499
+ }
500
+ }
501
+ // ============================================================================
502
+ // Singleton Instance
503
+ // ============================================================================
504
+ const thinkingServer = new AdvancedThinkingServer();
505
+ /**
506
+ * Process a thought using the advanced thinking server
507
+ */
508
+ export async function processThought(input) {
509
+ return thinkingServer.processThought(input);
510
+ }
511
+ /**
512
+ * Start a new thinking session
513
+ */
514
+ export function startSession(problem) {
515
+ return thinkingServer.startSession(problem);
516
+ }
517
+ /**
518
+ * Reset the thinking server
519
+ */
520
+ export function resetThinking() {
521
+ thinkingServer.reset();
522
+ }
523
+ /**
524
+ * Get the current session
525
+ */
526
+ export function getCurrentSession() {
527
+ return thinkingServer.getSession();
528
+ }
529
+ //# sourceMappingURL=think.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"think.js","sourceRoot":"","sources":["../../src/tools/think.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,9 +9,11 @@
9
9
  * - Strict readonly types where mutation is not expected
10
10
  * - Comprehensive Zod schemas for runtime validation
11
11
  * - Type guards for safe narrowing
12
+ * - Lazy schema compilation for performance
12
13
  *
13
14
  * @module types
14
- * @version 2.0.0
15
+ * @author Nishant Unavane
16
+ * @version 2.1.0
15
17
  */
16
18
  import { z } from 'zod';
17
19
  /** Brand type for creating nominal types */
@@ -29,12 +31,16 @@ export type SessionId = Brand<string, 'SessionId'>;
29
31
  export type Score = Brand<number, 'Score'>;
30
32
  /** Confidence value between 0 and 1 */
31
33
  export type Confidence = Brand<number, 'Confidence'>;
32
- /** Helper to create a Score (clamped 0-100) */
34
+ /** Helper to create a Score (clamped 0-100) - optimized with bitwise operations */
33
35
  export declare function createScore(value: number): Score;
34
36
  /** Helper to create a Confidence (clamped 0-1) */
35
37
  export declare function createConfidence(value: number): Confidence;
36
38
  /** Helper to create a SessionId */
37
39
  export declare function createSessionId(value: string): SessionId;
40
+ /** Helper to create a VariantId */
41
+ export declare function createVariantId(value: string): VariantId;
42
+ /** Helper to create a TaskId */
43
+ export declare function createTaskId(value: string): TaskId;
38
44
  /**
39
45
  * Represents the user's original request to the pipeline
40
46
  * @immutable - Should not be mutated after creation
@@ -52,6 +58,8 @@ export interface PipelineRequest {
52
58
  readonly timestamp?: string;
53
59
  /** Request priority (affects queue ordering) */
54
60
  readonly priority?: 'low' | 'normal' | 'high';
61
+ /** Enable caching for this request */
62
+ readonly enableCache?: boolean;
55
63
  }
56
64
  /**
57
65
  * The final output of the pipeline after all stages complete
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}