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.
- package/README.md +54 -1
- package/dist/benchmark.d.ts +12 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmark.js +183 -0
- package/dist/benchmark.js.map +1 -0
- package/dist/mcp.d.ts +14 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +297 -8
- package/dist/mcp.js.map +1 -1
- package/dist/pipeline.d.ts +13 -3
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +36 -5
- package/dist/pipeline.js.map +1 -1
- package/dist/providers/llm-provider.d.ts +11 -5
- package/dist/providers/llm-provider.d.ts.map +1 -1
- package/dist/providers/llm-provider.js +32 -6
- package/dist/providers/llm-provider.js.map +1 -1
- package/dist/tools/debug.d.ts +101 -0
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +712 -0
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/docs.d.ts +94 -0
- package/dist/tools/docs.d.ts.map +1 -0
- package/dist/tools/docs.js +508 -0
- package/dist/tools/docs.js.map +1 -0
- package/dist/tools/explain.d.ts +82 -0
- package/dist/tools/explain.d.ts.map +1 -0
- package/dist/tools/explain.js +543 -0
- package/dist/tools/explain.js.map +1 -0
- package/dist/tools/security.d.ts +45 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +417 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/testgen.d.ts +52 -0
- package/dist/tools/testgen.d.ts.map +1 -0
- package/dist/tools/testgen.js +413 -0
- package/dist/tools/testgen.js.map +1 -0
- package/dist/tools/think.d.ts +223 -0
- package/dist/tools/think.d.ts.map +1 -0
- package/dist/tools/think.js +529 -0
- package/dist/tools/think.js.map +1 -0
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -4
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +86 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +158 -1
- package/dist/utils.js.map +1 -1
- 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,yCAAyC;AACzC,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG;IACvB,WAAW,EAAE,4GAA4G;IACzH,SAAS,EAAE,kIAAkI;IAC7I,QAAQ,EAAE,sGAAsG;IAChH,OAAO,EAAE,wBAAwB;IACjC,SAAS,EAAE,6BAA6B;CAChC,CAAC;AA0IX,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACzB,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACnD,cAAc,GAA2B,IAAI,CAAC;IAC9C,YAAY,GAA0C,IAAI,CAAC;IAEnE;QACE,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,yBAAyB;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAE9B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,OAAO,CAAC,cAAc,GAAG,kBAAkB,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,mCAAmC,CAAC,CAAC;QACvE,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAE7D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;YAC1E,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,SAAkB;QAC9C,MAAM,EAAE,GAAG,SAAS,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAoB;YAC/B,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,cAAc,EAAE,GAAG;YACnB,OAAO;YACP,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,CAAC;SACrB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,aAAa,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;SAC5B,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAmB;QACtC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,IAAI,yBAAyB,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAe,CAAC;QACrC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,qBAAqB;QAE1D,sCAAsC;QACtC,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9C,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAkB;YAC7B,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,iBAAiB,EAAE,EAAE;YACrB,iBAAiB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,iBAAiB,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC;SAC1H,CAAC;QAEF,gCAAgC;QAChC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhE,mBAAmB;QACnB,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,wBAAwB;QACxB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,CAAC;QAED,sBAAsB;QACtB,IAAI,KAAK,CAAC,WAAW,KAAK,cAAc,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACrE,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACtF,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/B,oBAAoB;QACpB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAErE,kCAAkC;QAClC,IAAI,YAAgC,CAAC;QACrC,IAAI,mBAAuC,CAAC;QAE5C,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClE,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC;gBACtC,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC3C,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,UAAkC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,CAAC;QAED,eAAe;QACf,MAAM,MAAM,GAAmB;YAC7B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvC,oBAAoB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC7C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM;YAC1G,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;YAC5C,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC5C,YAAY;YACZ,mBAAmB;YACnB,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC;YAC3E,UAAU;SACX,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,8CAA8C;QAC9C,MAAM,eAAe,GAAG;YACtB,yGAAyG;YACzG,8DAA8D;SAC/D,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAwB,EAAE,OAAsB,EAAE,QAAgB,EAAE,WAAmB;QAC7G,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG;gBAC3B,EAAE,EAAE,QAAQ;gBACZ,aAAa,EAAE,WAAW;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,OAAwB,EAAE,OAAsB,EAAE,SAAmB;QACvF,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzB,wCAAwC;gBACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAwB,EAAE,SAAiB,EAAE,aAAqB;QACtF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACtB,EAAE,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,SAAS;YACT,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,OAAwB,EACxB,MAA4D,EAC5D,aAAqB;QAErB,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAEzH,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,WAAW;oBACd,iBAAiB,CAAC,MAAM,GAAG,WAAW,CAAC;oBACvC,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;oBACnC,MAAM;gBACR,KAAK,SAAS;oBACZ,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;oBACrC,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;oBACnC,MAAM;gBACR,KAAK,SAAS;oBACZ,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;oBACrC,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;oBACnC,MAAM;gBACR;oBACE,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;YACvC,CAAC;YAED,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9B,aAAa;gBACb,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACxF,WAAW,EAAE,2BAA2B,aAAa,EAAE;gBACvD,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAwB,EAAE,OAAsB;QACpE,sCAAsC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,cAAc,EAAE,OAAO,CAAC,iBAAiB;YACzC,WAAW;SACZ,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAE,CAAC,MAAM,GAAG,SAAS,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAwB,EAAE,cAAsB;QACzE,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,CAAC,aAAa,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,kDAAkD;IAC9D,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,OAAwB;QACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE5C,6DAA6D;QAC7D,IAAI,UAAU,GAAG,GAAG,CAAC;QAErB,iCAAiC;QACjC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACvF,UAAU,IAAI,cAAc,GAAG,GAAG,CAAC;QAEnC,wBAAwB;QACxB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAE7C,qBAAqB;QACrB,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAE/D,6CAA6C;QAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACjF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,UAAU,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAwB,EAAE,cAA6B;QACpF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAE3C,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,uDAAuD,OAAO,CAAC,OAAO;;;EAGvF,cAAc;;;EAGd,UAAU,IAAI,UAAU;;;EAGxB,QAAQ,IAAI,UAAU;;mBAEL,cAAc,CAAC,OAAO;sBACnB,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;yDAMT,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAA2C,MAAM,EAAE;YAC7F,YAAY,EAAE,wDAAwD;YACtE,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAAwB,EAAE,aAAqB;QAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,WAAW,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAEtI,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YAClF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,eAAe,OAAO,UAAU,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,eAAe,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAwB;QACjD,qCAAqC;QACrC,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAE7B,mDAAmD;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzB,mBAAmB;QACnB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,0CAA0C,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAClE,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,GAAG,WAAW,EAAE,OAAO,IAAI,uBAAuB,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,MAAM;YACN,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,kBAAkB;YAClB,qBAAqB,EAAE,YAAY;YACnC,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAmB;IACtD,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC,UAAU,EAAE,CAAC;AACrC,CAAC"}
|
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
|
-
* @
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|