atlas-pipeline-mcp 1.0.18 → 1.0.20
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 +11 -2
- 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 +34 -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/context.d.ts +33 -7
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +167 -82
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/git.d.ts +27 -4
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +156 -59
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/resource-manager.d.ts +167 -0
- package/dist/tools/resource-manager.d.ts.map +1 -0
- package/dist/tools/resource-manager.js +352 -0
- package/dist/tools/resource-manager.js.map +1 -0
- package/dist/tools/test-utils.d.ts +170 -0
- package/dist/tools/test-utils.d.ts.map +1 -0
- package/dist/tools/test-utils.js +490 -0
- package/dist/tools/test-utils.js.map +1 -0
- package/dist/tools/think.d.ts +36 -0
- package/dist/tools/think.d.ts.map +1 -1
- package/dist/tools/think.js +98 -1
- package/dist/tools/think.js.map +1 -1
- package/dist/tools/validation.d.ts +237 -0
- package/dist/tools/validation.d.ts.map +1 -0
- package/dist/tools/validation.js +323 -0
- package/dist/tools/validation.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,323 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Server - Input Validation and Sanitization
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive validation layer for all tool inputs to ensure:
|
|
5
|
+
* - Type safety at runtime
|
|
6
|
+
* - Security against injection attacks
|
|
7
|
+
* - Proper error messages for debugging
|
|
8
|
+
* - Performance through caching
|
|
9
|
+
*
|
|
10
|
+
* @module validation
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import { logger } from '../utils.js';
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Security Constants
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/** Maximum safe string length (prevents DoS) */
|
|
19
|
+
const MAX_STRING_LENGTH = 1_000_000; // 1MB
|
|
20
|
+
/** Maximum code size to process */
|
|
21
|
+
const MAX_CODE_SIZE = 500_000; // 500KB
|
|
22
|
+
/** Maximum array length */
|
|
23
|
+
const MAX_ARRAY_LENGTH = 1000;
|
|
24
|
+
/** Regex patterns for security validation */
|
|
25
|
+
const SECURITY_PATTERNS = {
|
|
26
|
+
/** Path traversal attack patterns */
|
|
27
|
+
PATH_TRAVERSAL: /\.\.[\/\\]/,
|
|
28
|
+
/** SQL injection patterns */
|
|
29
|
+
SQL_INJECTION: /(union|select|insert|update|delete|drop|create|alter|exec|script|javascript|onerror|onload)/i,
|
|
30
|
+
/** Command injection patterns */
|
|
31
|
+
COMMAND_INJECTION: /[;&|`$(){}[\]<>]/,
|
|
32
|
+
/** Safe file path pattern */
|
|
33
|
+
SAFE_PATH: /^[a-zA-Z0-9._\-\/\\:]+$/,
|
|
34
|
+
};
|
|
35
|
+
// ============================================================================
|
|
36
|
+
// Base Schemas
|
|
37
|
+
// ============================================================================
|
|
38
|
+
/** Safe string schema with length limits */
|
|
39
|
+
export const SafeStringSchema = z
|
|
40
|
+
.string()
|
|
41
|
+
.max(MAX_STRING_LENGTH, 'String exceeds maximum length')
|
|
42
|
+
.transform((val) => val.trim());
|
|
43
|
+
/** Code string schema with specific limits */
|
|
44
|
+
export const CodeStringSchema = z
|
|
45
|
+
.string()
|
|
46
|
+
.max(MAX_CODE_SIZE, 'Code exceeds maximum size')
|
|
47
|
+
.min(1, 'Code cannot be empty');
|
|
48
|
+
/** File path schema with security validation */
|
|
49
|
+
export const FilePathSchema = z
|
|
50
|
+
.string()
|
|
51
|
+
.min(1, 'Path cannot be empty')
|
|
52
|
+
.max(1000, 'Path too long')
|
|
53
|
+
.refine((path) => !SECURITY_PATTERNS.PATH_TRAVERSAL.test(path), 'Path contains path traversal characters');
|
|
54
|
+
/** Optional file path */
|
|
55
|
+
export const OptionalFilePathSchema = FilePathSchema.optional();
|
|
56
|
+
/** Language identifier */
|
|
57
|
+
export const LanguageSchema = z.enum([
|
|
58
|
+
'typescript', 'javascript', 'python', 'rust', 'go', 'java',
|
|
59
|
+
'c', 'cpp', 'csharp', 'ruby', 'php', 'swift', 'kotlin',
|
|
60
|
+
'scala', 'dart', 'elixir', 'haskell', 'other'
|
|
61
|
+
]);
|
|
62
|
+
/** Framework identifier */
|
|
63
|
+
export const FrameworkSchema = z.enum([
|
|
64
|
+
'react', 'vue', 'angular', 'svelte', 'next', 'nuxt',
|
|
65
|
+
'express', 'fastify', 'nestjs', 'django', 'flask', 'spring',
|
|
66
|
+
'rails', 'laravel', 'other'
|
|
67
|
+
]);
|
|
68
|
+
// ============================================================================
|
|
69
|
+
// Debug Tool Validation
|
|
70
|
+
// ============================================================================
|
|
71
|
+
export const DebugRequestSchema = z.object({
|
|
72
|
+
error: SafeStringSchema.optional(),
|
|
73
|
+
stackTrace: SafeStringSchema.optional(),
|
|
74
|
+
code: CodeStringSchema.optional(),
|
|
75
|
+
context: SafeStringSchema.optional(),
|
|
76
|
+
language: LanguageSchema.optional(),
|
|
77
|
+
framework: FrameworkSchema.optional(),
|
|
78
|
+
}).refine((data) => data.error || data.stackTrace, 'Either error or stackTrace must be provided');
|
|
79
|
+
// ============================================================================
|
|
80
|
+
// Documentation Tool Validation
|
|
81
|
+
// ============================================================================
|
|
82
|
+
export const DocumentationOptionsSchema = z.object({
|
|
83
|
+
style: z.enum(['jsdoc', 'tsdoc', 'pydoc', 'godoc', 'rustdoc', 'auto']).optional(),
|
|
84
|
+
format: z.enum(['markdown', 'html', 'json', 'plain']).optional(),
|
|
85
|
+
includeExamples: z.boolean().optional(),
|
|
86
|
+
includeTypes: z.boolean().optional(),
|
|
87
|
+
verbose: z.boolean().optional(),
|
|
88
|
+
language: LanguageSchema.optional(),
|
|
89
|
+
});
|
|
90
|
+
// ============================================================================
|
|
91
|
+
// Explanation Tool Validation
|
|
92
|
+
// ============================================================================
|
|
93
|
+
export const ExplanationOptionsSchema = z.object({
|
|
94
|
+
level: z.enum(['beginner', 'intermediate', 'expert']).optional(),
|
|
95
|
+
type: z.enum(['overview', 'detailed', 'line-by-line', 'algorithm']).optional(),
|
|
96
|
+
language: LanguageSchema.optional(),
|
|
97
|
+
focusArea: SafeStringSchema.optional(),
|
|
98
|
+
includeComplexity: z.boolean().optional(),
|
|
99
|
+
includePatterns: z.boolean().optional(),
|
|
100
|
+
});
|
|
101
|
+
// ============================================================================
|
|
102
|
+
// Test Generation Validation
|
|
103
|
+
// ============================================================================
|
|
104
|
+
export const TestGenerationOptionsSchema = z.object({
|
|
105
|
+
language: LanguageSchema.optional(),
|
|
106
|
+
framework: z.enum(['jest', 'vitest', 'mocha', 'pytest', 'unittest', 'go_test', 'rspec', 'auto']).optional(),
|
|
107
|
+
testType: z.enum(['unit', 'integration', 'e2e', 'snapshot', 'property']).optional(),
|
|
108
|
+
functionName: SafeStringSchema.optional(),
|
|
109
|
+
context: SafeStringSchema.optional(),
|
|
110
|
+
});
|
|
111
|
+
// ============================================================================
|
|
112
|
+
// Security Scan Validation
|
|
113
|
+
// ============================================================================
|
|
114
|
+
export const SecurityScanOptionsSchema = z.object({
|
|
115
|
+
language: LanguageSchema.optional(),
|
|
116
|
+
severity: z.enum(['critical', 'high', 'medium', 'low', 'info', 'all']).optional(),
|
|
117
|
+
categories: z.array(z.enum([
|
|
118
|
+
'injection', 'authentication', 'authorization', 'xss', 'secrets',
|
|
119
|
+
'cryptography', 'configuration', 'dependencies', 'input_validation',
|
|
120
|
+
'sensitive_data', 'other'
|
|
121
|
+
])).max(MAX_ARRAY_LENGTH).optional(),
|
|
122
|
+
});
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// Validation Utilities
|
|
125
|
+
// ============================================================================
|
|
126
|
+
/**
|
|
127
|
+
* Validate and sanitize input with comprehensive error reporting
|
|
128
|
+
*
|
|
129
|
+
* @template T - Zod schema type
|
|
130
|
+
* @param schema - Zod schema to validate against
|
|
131
|
+
* @param data - Data to validate
|
|
132
|
+
* @param context - Context for error messages
|
|
133
|
+
* @returns Validated data
|
|
134
|
+
* @throws {ValidationError} If validation fails
|
|
135
|
+
*/
|
|
136
|
+
export function validateInput(schema, data, context = 'input') {
|
|
137
|
+
try {
|
|
138
|
+
return schema.parse(data);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (error instanceof z.ZodError) {
|
|
142
|
+
const issues = error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`).join(', ');
|
|
143
|
+
logger.error({ context, issues }, 'Validation failed');
|
|
144
|
+
throw new ValidationError(`Invalid ${context}: ${issues}`, error.issues);
|
|
145
|
+
}
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validate input and return result without throwing
|
|
151
|
+
*
|
|
152
|
+
* @template T - Zod schema type
|
|
153
|
+
* @param schema - Zod schema to validate against
|
|
154
|
+
* @param data - Data to validate
|
|
155
|
+
* @returns Validation result with data or errors
|
|
156
|
+
*/
|
|
157
|
+
export function safeValidate(schema, data) {
|
|
158
|
+
const result = schema.safeParse(data);
|
|
159
|
+
if (result.success) {
|
|
160
|
+
return { success: true, data: result.data };
|
|
161
|
+
}
|
|
162
|
+
return { success: false, errors: result.error.issues };
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Sanitize string to prevent injection attacks
|
|
166
|
+
*
|
|
167
|
+
* @param input - String to sanitize
|
|
168
|
+
* @param options - Sanitization options
|
|
169
|
+
* @returns Sanitized string
|
|
170
|
+
*/
|
|
171
|
+
export function sanitizeString(input, options = {}) {
|
|
172
|
+
const { maxLength = MAX_STRING_LENGTH, allowHtml = false, allowSpecialChars = true, } = options;
|
|
173
|
+
let sanitized = input.slice(0, maxLength).trim();
|
|
174
|
+
// Remove HTML if not allowed
|
|
175
|
+
if (!allowHtml) {
|
|
176
|
+
sanitized = sanitized
|
|
177
|
+
.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '')
|
|
178
|
+
.replace(/<[^>]+>/g, '');
|
|
179
|
+
}
|
|
180
|
+
// Remove dangerous characters if not allowed
|
|
181
|
+
if (!allowSpecialChars) {
|
|
182
|
+
sanitized = sanitized.replace(/[<>&'"]/g, '');
|
|
183
|
+
}
|
|
184
|
+
return sanitized;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Validate file path for security
|
|
188
|
+
*
|
|
189
|
+
* @param path - Path to validate
|
|
190
|
+
* @returns True if path is safe
|
|
191
|
+
*/
|
|
192
|
+
export function isSecurePath(path) {
|
|
193
|
+
if (!path || typeof path !== 'string')
|
|
194
|
+
return false;
|
|
195
|
+
// Check for path traversal
|
|
196
|
+
if (SECURITY_PATTERNS.PATH_TRAVERSAL.test(path))
|
|
197
|
+
return false;
|
|
198
|
+
// Check for command injection characters
|
|
199
|
+
if (SECURITY_PATTERNS.COMMAND_INJECTION.test(path))
|
|
200
|
+
return false;
|
|
201
|
+
// Check length
|
|
202
|
+
if (path.length > 1000)
|
|
203
|
+
return false;
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Sanitize code input to prevent injection
|
|
208
|
+
*
|
|
209
|
+
* @param code - Code to sanitize
|
|
210
|
+
* @param maxSize - Maximum size in bytes
|
|
211
|
+
* @returns Sanitized code
|
|
212
|
+
*/
|
|
213
|
+
export function sanitizeCode(code, maxSize = MAX_CODE_SIZE) {
|
|
214
|
+
if (!code || typeof code !== 'string') {
|
|
215
|
+
return '';
|
|
216
|
+
}
|
|
217
|
+
// Trim to max size
|
|
218
|
+
let sanitized = code.slice(0, maxSize);
|
|
219
|
+
// Remove null bytes (potential binary injection)
|
|
220
|
+
sanitized = sanitized.replace(/\0/g, '');
|
|
221
|
+
return sanitized;
|
|
222
|
+
}
|
|
223
|
+
// ============================================================================
|
|
224
|
+
// Custom Errors
|
|
225
|
+
// ============================================================================
|
|
226
|
+
/**
|
|
227
|
+
* Custom validation error with detailed information
|
|
228
|
+
*/
|
|
229
|
+
export class ValidationError extends Error {
|
|
230
|
+
issues;
|
|
231
|
+
constructor(message, issues = []) {
|
|
232
|
+
super(message);
|
|
233
|
+
this.issues = issues;
|
|
234
|
+
this.name = 'ValidationError';
|
|
235
|
+
Object.setPrototypeOf(this, ValidationError.prototype);
|
|
236
|
+
}
|
|
237
|
+
/** Get formatted error messages */
|
|
238
|
+
getFormattedErrors() {
|
|
239
|
+
return this.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`);
|
|
240
|
+
}
|
|
241
|
+
/** Convert to JSON for API responses */
|
|
242
|
+
toJSON() {
|
|
243
|
+
return {
|
|
244
|
+
name: this.name,
|
|
245
|
+
message: this.message,
|
|
246
|
+
issues: this.issues.map((issue) => ({
|
|
247
|
+
path: issue.path.join('.'),
|
|
248
|
+
message: issue.message,
|
|
249
|
+
code: issue.code,
|
|
250
|
+
})),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// ============================================================================
|
|
255
|
+
// Rate Limiting Support
|
|
256
|
+
// ============================================================================
|
|
257
|
+
/**
|
|
258
|
+
* Simple in-memory rate limiter for tool calls
|
|
259
|
+
*/
|
|
260
|
+
export class RateLimiter {
|
|
261
|
+
maxRequests;
|
|
262
|
+
windowMs;
|
|
263
|
+
requests = new Map();
|
|
264
|
+
constructor(maxRequests = 100, windowMs = 60000 // 1 minute
|
|
265
|
+
) {
|
|
266
|
+
this.maxRequests = maxRequests;
|
|
267
|
+
this.windowMs = windowMs;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Check if request is allowed
|
|
271
|
+
*
|
|
272
|
+
* @param key - Unique identifier for the requester
|
|
273
|
+
* @returns True if allowed, false if rate limited
|
|
274
|
+
*/
|
|
275
|
+
isAllowed(key) {
|
|
276
|
+
const now = Date.now();
|
|
277
|
+
const timestamps = this.requests.get(key) || [];
|
|
278
|
+
// Remove old timestamps outside the window
|
|
279
|
+
const validTimestamps = timestamps.filter((ts) => now - ts < this.windowMs);
|
|
280
|
+
if (validTimestamps.length >= this.maxRequests) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
validTimestamps.push(now);
|
|
284
|
+
this.requests.set(key, validTimestamps);
|
|
285
|
+
// Cleanup old entries periodically
|
|
286
|
+
if (this.requests.size > 1000) {
|
|
287
|
+
this.cleanup();
|
|
288
|
+
}
|
|
289
|
+
return true;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Cleanup old entries to prevent memory leaks
|
|
293
|
+
*/
|
|
294
|
+
cleanup() {
|
|
295
|
+
const now = Date.now();
|
|
296
|
+
for (const [key, timestamps] of this.requests) {
|
|
297
|
+
const validTimestamps = timestamps.filter((ts) => now - ts < this.windowMs);
|
|
298
|
+
if (validTimestamps.length === 0) {
|
|
299
|
+
this.requests.delete(key);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
this.requests.set(key, validTimestamps);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Clear all rate limit data
|
|
308
|
+
*/
|
|
309
|
+
clear() {
|
|
310
|
+
this.requests.clear();
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Get current count for a key
|
|
314
|
+
*/
|
|
315
|
+
getCount(key) {
|
|
316
|
+
const now = Date.now();
|
|
317
|
+
const timestamps = this.requests.get(key) || [];
|
|
318
|
+
return timestamps.filter((ts) => now - ts < this.windowMs).length;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/** Global rate limiter instance */
|
|
322
|
+
export const globalRateLimiter = new RateLimiter(100, 60000);
|
|
323
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,gDAAgD;AAChD,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,MAAM;AAE3C,mCAAmC;AACnC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,QAAQ;AAEvC,2BAA2B;AAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,6CAA6C;AAC7C,MAAM,iBAAiB,GAAG;IACxB,qCAAqC;IACrC,cAAc,EAAE,YAAY;IAC5B,6BAA6B;IAC7B,aAAa,EAAE,8FAA8F;IAC7G,iCAAiC;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,6BAA6B;IAC7B,SAAS,EAAE,yBAAyB;CAC5B,CAAC;AAEX,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;KACvD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAElC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,aAAa,EAAE,2BAA2B,CAAC;KAC/C,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAElC,gDAAgD;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;KAC9B,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;KAC1B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACtD,yCAAyC,CAC1C,CAAC;AAEJ,yBAAyB;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AAEhE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAC1D,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ;IACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO;CAC9C,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IACnD,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC3D,OAAO,EAAE,SAAS,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC,MAAM,CACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EACvC,6CAA6C,CAC9C,CAAC;AAIF,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9E,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3G,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnF,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS;QAChE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB;QACnE,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAS,EACT,IAAa,EACb,UAAkB,OAAO;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACvD,MAAM,IAAI,eAAe,CACvB,WAAW,OAAO,KAAK,MAAM,EAAE,EAC/B,KAAK,CAAC,MAAM,CACb,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAS,EACT,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,UAII,EAAE;IAEN,MAAM,EACJ,SAAS,GAAG,iBAAiB,EAC7B,SAAS,GAAG,KAAK,EACjB,iBAAiB,GAAG,IAAI,GACzB,GAAG,OAAO,CAAC;IAEZ,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjD,6BAA6B;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,SAAS;aAClB,OAAO,CAAC,qDAAqD,EAAE,EAAE,CAAC;aAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpD,2BAA2B;IAC3B,IAAI,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9D,yCAAyC;IACzC,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjE,eAAe;IACf,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,UAAkB,aAAa;IACxE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;IACnB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEvC,iDAAiD;IACjD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IAFlB,YACE,OAAe,EACC,SAAuB,EAAE;QAEzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAmB;QAGzC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,mCAAmC;IACnC,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,WAAW;IAIH;IACA;IAJX,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,YACmB,cAAsB,GAAG,EACzB,WAAmB,KAAK,CAAC,WAAW;;QADpC,gBAAW,GAAX,WAAW,CAAc;QACzB,aAAQ,GAAR,QAAQ,CAAgB;IACxC,CAAC;IAEJ;;;;;OAKG;IACH,SAAS,CAAC,GAAW;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhD,2CAA2C;QAC3C,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CACjC,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAExC,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CACjC,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAW;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACpE,CAAC;CACF;AAED,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,4CAA4C;AAC5C,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AACnC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAE/C,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEnD,gCAAgC;AAChC,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE7C,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEnD,8BAA8B;AAC9B,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAErD,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAIhD;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAG1D;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAExD;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAExD;AAED,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,SAAS,GACT,KAAK,GACL,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACtC,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,aAAa,GACb,aAAa,GACb,eAAe,GACf,SAAS,GACT,cAAc,GACd,kBAAkB,GAClB,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7E,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,6BAA6B;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,uCAAuC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACjD,oCAAoC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,0BAA0B;IAC1B,kBAAkB,EAAE,SAAS,EAAE,CAAC;IAChC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACnD,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,mCAAmC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2BAA2B;IAC3B,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,SAAS,GACT,eAAe,GACf,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gCAAgC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iCAAiC;IACjC,iBAAiB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC9C;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yBAAyB;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,gCAAgC;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,kCAAkC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;IACxD,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;IACnC,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,oBAAoB,EAAE,YAAY,EAAE,CAAC;IACrC,4BAA4B;IAC5B,YAAY,EAAE,kBAAkB,CAAC;IACjC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACtF,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnC;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAMD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAMH,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,kBAAkB;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB"}
|
package/dist/types.js
CHANGED
|
@@ -9,23 +9,36 @@
|
|
|
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
|
-
/** Helper to create a Score (clamped 0-100) */
|
|
19
|
+
/** Helper to create a Score (clamped 0-100) - optimized with bitwise operations */
|
|
18
20
|
export function createScore(value) {
|
|
19
|
-
|
|
21
|
+
// Use bitwise OR to convert to integer (faster than Math.round for positive numbers)
|
|
22
|
+
const clamped = value < 0 ? 0 : value > 100 ? 100 : (value + 0.5) | 0;
|
|
23
|
+
return clamped;
|
|
20
24
|
}
|
|
21
25
|
/** Helper to create a Confidence (clamped 0-1) */
|
|
22
26
|
export function createConfidence(value) {
|
|
23
|
-
|
|
27
|
+
// Clamp between 0 and 1
|
|
28
|
+
return (value < 0 ? 0 : value > 1 ? 1 : value);
|
|
24
29
|
}
|
|
25
30
|
/** Helper to create a SessionId */
|
|
26
31
|
export function createSessionId(value) {
|
|
27
32
|
return value;
|
|
28
33
|
}
|
|
34
|
+
/** Helper to create a VariantId */
|
|
35
|
+
export function createVariantId(value) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
/** Helper to create a TaskId */
|
|
39
|
+
export function createTaskId(value) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
29
42
|
// ============================================================================
|
|
30
43
|
// Zod Schemas for Validation
|
|
31
44
|
// ============================================================================
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,qFAAqF;IACrF,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACtE,OAAO,OAAgB,CAAC;AAC1B,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,wBAAwB;IACxB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAe,CAAC;AAC/D,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAkB,CAAC;AAC5B,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAkB,CAAC;AAC5B,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAe,CAAC;AACzB,CAAC;AAifD,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB,CAAC;CACH,CAAC,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -7,11 +7,14 @@
|
|
|
7
7
|
* - High-performance logging with MCP mode support
|
|
8
8
|
* - Circuit breaker pattern for resilient external calls
|
|
9
9
|
* - LRU cache with TTL for efficient memoization
|
|
10
|
+
* - Request deduplication for concurrent identical calls
|
|
10
11
|
* - Comprehensive retry logic with exponential backoff
|
|
11
12
|
* - Type-safe error handling utilities
|
|
13
|
+
* - Performance metrics collection
|
|
12
14
|
*
|
|
13
15
|
* @module utils
|
|
14
|
-
* @
|
|
16
|
+
* @author Nishant Unavane
|
|
17
|
+
* @version 2.1.0
|
|
15
18
|
*/
|
|
16
19
|
import pino from 'pino';
|
|
17
20
|
import type { PipelineError, StageName, StageResult } from './types.js';
|
|
@@ -222,5 +225,87 @@ export declare function memoizeAsync<T extends (...args: unknown[]) => Promise<u
|
|
|
222
225
|
cache: LRUCache<string, Awaited<ReturnType<T>>>;
|
|
223
226
|
clearCache: () => void;
|
|
224
227
|
};
|
|
228
|
+
/**
|
|
229
|
+
* Request deduplicator to prevent duplicate concurrent requests
|
|
230
|
+
* Useful for expensive operations that may be called multiple times simultaneously
|
|
231
|
+
*/
|
|
232
|
+
export declare class RequestDeduplicator<T> {
|
|
233
|
+
private pending;
|
|
234
|
+
/**
|
|
235
|
+
* Execute a function with deduplication
|
|
236
|
+
* If a request with the same key is already in progress, returns that promise
|
|
237
|
+
*/
|
|
238
|
+
execute(key: string, fn: () => Promise<T>): Promise<T>;
|
|
239
|
+
/** Check if a request is in progress */
|
|
240
|
+
isInProgress(key: string): boolean;
|
|
241
|
+
/** Get count of pending requests */
|
|
242
|
+
get pendingCount(): number;
|
|
243
|
+
/** Clear all pending requests (careful - may cause issues) */
|
|
244
|
+
clear(): void;
|
|
245
|
+
}
|
|
246
|
+
export interface MetricEntry {
|
|
247
|
+
name: string;
|
|
248
|
+
durationMs: number;
|
|
249
|
+
timestamp: number;
|
|
250
|
+
success: boolean;
|
|
251
|
+
metadata?: Record<string, unknown>;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Performance metrics collector for monitoring and optimization
|
|
255
|
+
* Collects timing data for operations and provides aggregated statistics
|
|
256
|
+
*/
|
|
257
|
+
export declare class MetricsCollector {
|
|
258
|
+
private metrics;
|
|
259
|
+
private readonly maxEntries;
|
|
260
|
+
constructor(maxEntries?: number);
|
|
261
|
+
/**
|
|
262
|
+
* Record a metric entry
|
|
263
|
+
*/
|
|
264
|
+
record(entry: Omit<MetricEntry, 'timestamp'>): void;
|
|
265
|
+
/**
|
|
266
|
+
* Measure execution time of an async function
|
|
267
|
+
*/
|
|
268
|
+
measure<T>(name: string, fn: () => Promise<T>, metadata?: Record<string, unknown>): Promise<T>;
|
|
269
|
+
/**
|
|
270
|
+
* Get statistics for a specific metric
|
|
271
|
+
*/
|
|
272
|
+
getStats(name: string): {
|
|
273
|
+
count: number;
|
|
274
|
+
avgDurationMs: number;
|
|
275
|
+
minDurationMs: number;
|
|
276
|
+
maxDurationMs: number;
|
|
277
|
+
successRate: number;
|
|
278
|
+
p50: number;
|
|
279
|
+
p95: number;
|
|
280
|
+
p99: number;
|
|
281
|
+
} | null;
|
|
282
|
+
/**
|
|
283
|
+
* Get all unique metric names
|
|
284
|
+
*/
|
|
285
|
+
getMetricNames(): string[];
|
|
286
|
+
/**
|
|
287
|
+
* Get all statistics
|
|
288
|
+
*/
|
|
289
|
+
getAllStats(): Record<string, ReturnType<MetricsCollector['getStats']>>;
|
|
290
|
+
/**
|
|
291
|
+
* Clear all metrics
|
|
292
|
+
*/
|
|
293
|
+
clear(): void;
|
|
294
|
+
/**
|
|
295
|
+
* Export metrics as JSON
|
|
296
|
+
*/
|
|
297
|
+
export(): MetricEntry[];
|
|
298
|
+
}
|
|
299
|
+
/** Global metrics collector singleton */
|
|
300
|
+
export declare const globalMetrics: MetricsCollector;
|
|
301
|
+
/**
|
|
302
|
+
* Fast string hash function for cache key generation
|
|
303
|
+
* Uses djb2 algorithm for good distribution
|
|
304
|
+
*/
|
|
305
|
+
export declare function hashString(str: string): string;
|
|
306
|
+
/**
|
|
307
|
+
* Generate a cache key from multiple values
|
|
308
|
+
*/
|
|
309
|
+
export declare function generateCacheKey(...values: unknown[]): string;
|
|
225
310
|
export {};
|
|
226
311
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AASxE,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAoBrC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAe,GAAG,IAAI,CAAC,MAAM,CAyBhE;AAED,0CAA0C;AAC1C,eAAO,MAAM,MAAM,6BAAmD,CAAC;AAMvE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI;IAAE,OAAO,EAAE,MAAM,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAM1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAetE;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD,OAAO,CAAC;IAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAyDrD;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,aAAa,CAOf;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtD;AAMD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAazF;AAMD,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AASD;;GAEG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAClC,OAAO,CAAC,CAAC,CAAC,CA0BZ;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAMD;;GAEG;AACH,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD;;;GAGG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,YAAY,CAAK;gBAGN,OAAO,GAAE;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAK3B;IAGG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBlD,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,SAAS;IAQjB,QAAQ,IAAI,YAAY;IAIxB,KAAK,IAAI,IAAI;CAKd;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAoBrD;AAMD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAKhF;AAMD;;GAEG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD;AAMD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EACV,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GACL,OAAO,CAAC,CAAC,EAAE,CAAC,CAyCd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACzE,EAAE,EAAE,CAAC,EACL,OAAO,EAAE,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAmB7D;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,KAAK,CAAkE;gBAG5D,OAAO,GAAE,MAAY,EACrB,KAAK,GAAE,MAAc;IAGxC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAgB1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAe3C,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIvB,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,QAAQ;IAwBhB,2BAA2B;IAC3B,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAG9C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAC7E,EAAE,EAAE,CAAC,EACL,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;CACvC,GACL,CAAC,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CA2CjF;AAMD;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC;IAChC,OAAO,CAAC,OAAO,CAAiC;IAEhD;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAe5D,wCAAwC;IACxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIlC,oCAAoC;IACpC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,8DAA8D;IAC9D,KAAK,IAAI,IAAI;CAGd;AAMD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,GAAE,MAAa;IAIrC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI;IAYnD;;OAEG;IACG,OAAO,CAAC,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,CAAC,CAAC;IAmBb;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,IAAI;IAmBR;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAQvE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,WAAW,EAAE;CAGxB;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,kBAA6B,CAAC;AAMxD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAE7D"}
|