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.
Files changed (50) hide show
  1. package/README.md +11 -2
  2. package/dist/benchmark.d.ts +12 -0
  3. package/dist/benchmark.d.ts.map +1 -0
  4. package/dist/benchmark.js +183 -0
  5. package/dist/benchmark.js.map +1 -0
  6. package/dist/mcp.d.ts +14 -0
  7. package/dist/mcp.d.ts.map +1 -1
  8. package/dist/mcp.js +34 -8
  9. package/dist/mcp.js.map +1 -1
  10. package/dist/pipeline.d.ts +13 -3
  11. package/dist/pipeline.d.ts.map +1 -1
  12. package/dist/pipeline.js +36 -5
  13. package/dist/pipeline.js.map +1 -1
  14. package/dist/providers/llm-provider.d.ts +11 -5
  15. package/dist/providers/llm-provider.d.ts.map +1 -1
  16. package/dist/providers/llm-provider.js +32 -6
  17. package/dist/providers/llm-provider.js.map +1 -1
  18. package/dist/tools/context.d.ts +33 -7
  19. package/dist/tools/context.d.ts.map +1 -1
  20. package/dist/tools/context.js +167 -82
  21. package/dist/tools/context.js.map +1 -1
  22. package/dist/tools/git.d.ts +27 -4
  23. package/dist/tools/git.d.ts.map +1 -1
  24. package/dist/tools/git.js +156 -59
  25. package/dist/tools/git.js.map +1 -1
  26. package/dist/tools/resource-manager.d.ts +167 -0
  27. package/dist/tools/resource-manager.d.ts.map +1 -0
  28. package/dist/tools/resource-manager.js +352 -0
  29. package/dist/tools/resource-manager.js.map +1 -0
  30. package/dist/tools/test-utils.d.ts +170 -0
  31. package/dist/tools/test-utils.d.ts.map +1 -0
  32. package/dist/tools/test-utils.js +490 -0
  33. package/dist/tools/test-utils.js.map +1 -0
  34. package/dist/tools/think.d.ts +36 -0
  35. package/dist/tools/think.d.ts.map +1 -1
  36. package/dist/tools/think.js +98 -1
  37. package/dist/tools/think.js.map +1 -1
  38. package/dist/tools/validation.d.ts +237 -0
  39. package/dist/tools/validation.d.ts.map +1 -0
  40. package/dist/tools/validation.js +323 -0
  41. package/dist/tools/validation.js.map +1 -0
  42. package/dist/types.d.ts +10 -2
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +17 -4
  45. package/dist/types.js.map +1 -1
  46. package/dist/utils.d.ts +86 -1
  47. package/dist/utils.d.ts.map +1 -1
  48. package/dist/utils.js +158 -1
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +3 -2
@@ -10,26 +10,109 @@
10
10
  * - AI-enhanced reasoning when LLM available
11
11
  * - Thought summarization and compression
12
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
13
24
  */
14
25
  import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
15
- import { logger } from '../utils.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
+ };
16
42
  // ============================================================================
17
43
  // Thinking Server Class
18
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
+ */
19
51
  export class AdvancedThinkingServer {
20
52
  sessions = new Map();
21
53
  currentSession = null;
54
+ cleanupTimer = null;
22
55
  constructor() {
23
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();
24
105
  }
25
106
  /**
26
107
  * Start a new thinking session
27
108
  */
28
109
  startSession(problem, sessionId) {
29
110
  const id = sessionId ?? `session-${Date.now()}`;
111
+ const now = Date.now();
30
112
  const session = {
31
113
  id,
32
114
  startTime: new Date().toISOString(),
115
+ lastAccessTime: now,
33
116
  problem,
34
117
  thoughts: [],
35
118
  branches: {},
@@ -41,17 +124,31 @@ export class AdvancedThinkingServer {
41
124
  };
42
125
  this.sessions.set(id, session);
43
126
  this.currentSession = session;
127
+ globalMetrics.record({
128
+ name: 'think.session_started',
129
+ durationMs: 0,
130
+ success: true,
131
+ metadata: { sessionId: id },
132
+ });
44
133
  return id;
45
134
  }
135
+ /**
136
+ * Get session count for monitoring
137
+ */
138
+ getSessionCount() {
139
+ return this.sessions.size;
140
+ }
46
141
  /**
47
142
  * Process a thought and return the result
48
143
  */
49
144
  async processThought(input) {
145
+ const startTime = performance.now();
50
146
  // Get or create session
51
147
  if (!this.currentSession) {
52
148
  this.startSession(input.problemContext ?? 'General problem solving');
53
149
  }
54
150
  const session = this.currentSession;
151
+ session.lastAccessTime = Date.now(); // Update access time
55
152
  // Auto-adjust totalThoughts if needed
56
153
  if (input.thoughtNumber > input.totalThoughts) {
57
154
  input.totalThoughts = input.thoughtNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"think.js","sourceRoot":"","sources":["../../src/tools/think.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"think.js","sourceRoot":"","sources":["../../src/tools/think.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,237 @@
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
+ /** Safe string schema with length limits */
15
+ export declare const SafeStringSchema: z.ZodEffects<z.ZodString, string, string>;
16
+ /** Code string schema with specific limits */
17
+ export declare const CodeStringSchema: z.ZodString;
18
+ /** File path schema with security validation */
19
+ export declare const FilePathSchema: z.ZodEffects<z.ZodString, string, string>;
20
+ /** Optional file path */
21
+ export declare const OptionalFilePathSchema: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
22
+ /** Language identifier */
23
+ export declare const LanguageSchema: z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>;
24
+ /** Framework identifier */
25
+ export declare const FrameworkSchema: z.ZodEnum<["react", "vue", "angular", "svelte", "next", "nuxt", "express", "fastify", "nestjs", "django", "flask", "spring", "rails", "laravel", "other"]>;
26
+ export declare const DebugRequestSchema: z.ZodEffects<z.ZodObject<{
27
+ error: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
28
+ stackTrace: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
29
+ code: z.ZodOptional<z.ZodString>;
30
+ context: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
31
+ language: z.ZodOptional<z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>>;
32
+ framework: z.ZodOptional<z.ZodEnum<["react", "vue", "angular", "svelte", "next", "nuxt", "express", "fastify", "nestjs", "django", "flask", "spring", "rails", "laravel", "other"]>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ context?: string | undefined;
35
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
36
+ framework?: "other" | "next" | "react" | "vue" | "svelte" | "fastify" | "express" | "angular" | "django" | "flask" | "nuxt" | "nestjs" | "spring" | "rails" | "laravel" | undefined;
37
+ code?: string | undefined;
38
+ error?: string | undefined;
39
+ stackTrace?: string | undefined;
40
+ }, {
41
+ context?: string | undefined;
42
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
43
+ framework?: "other" | "next" | "react" | "vue" | "svelte" | "fastify" | "express" | "angular" | "django" | "flask" | "nuxt" | "nestjs" | "spring" | "rails" | "laravel" | undefined;
44
+ code?: string | undefined;
45
+ error?: string | undefined;
46
+ stackTrace?: string | undefined;
47
+ }>, {
48
+ context?: string | undefined;
49
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
50
+ framework?: "other" | "next" | "react" | "vue" | "svelte" | "fastify" | "express" | "angular" | "django" | "flask" | "nuxt" | "nestjs" | "spring" | "rails" | "laravel" | undefined;
51
+ code?: string | undefined;
52
+ error?: string | undefined;
53
+ stackTrace?: string | undefined;
54
+ }, {
55
+ context?: string | undefined;
56
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
57
+ framework?: "other" | "next" | "react" | "vue" | "svelte" | "fastify" | "express" | "angular" | "django" | "flask" | "nuxt" | "nestjs" | "spring" | "rails" | "laravel" | undefined;
58
+ code?: string | undefined;
59
+ error?: string | undefined;
60
+ stackTrace?: string | undefined;
61
+ }>;
62
+ export type ValidatedDebugRequest = z.infer<typeof DebugRequestSchema>;
63
+ export declare const DocumentationOptionsSchema: z.ZodObject<{
64
+ style: z.ZodOptional<z.ZodEnum<["jsdoc", "tsdoc", "pydoc", "godoc", "rustdoc", "auto"]>>;
65
+ format: z.ZodOptional<z.ZodEnum<["markdown", "html", "json", "plain"]>>;
66
+ includeExamples: z.ZodOptional<z.ZodBoolean>;
67
+ includeTypes: z.ZodOptional<z.ZodBoolean>;
68
+ verbose: z.ZodOptional<z.ZodBoolean>;
69
+ language: z.ZodOptional<z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
72
+ style?: "auto" | "jsdoc" | "tsdoc" | "pydoc" | "godoc" | "rustdoc" | undefined;
73
+ format?: "markdown" | "html" | "json" | "plain" | undefined;
74
+ includeExamples?: boolean | undefined;
75
+ includeTypes?: boolean | undefined;
76
+ verbose?: boolean | undefined;
77
+ }, {
78
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
79
+ style?: "auto" | "jsdoc" | "tsdoc" | "pydoc" | "godoc" | "rustdoc" | undefined;
80
+ format?: "markdown" | "html" | "json" | "plain" | undefined;
81
+ includeExamples?: boolean | undefined;
82
+ includeTypes?: boolean | undefined;
83
+ verbose?: boolean | undefined;
84
+ }>;
85
+ export type ValidatedDocumentationOptions = z.infer<typeof DocumentationOptionsSchema>;
86
+ export declare const ExplanationOptionsSchema: z.ZodObject<{
87
+ level: z.ZodOptional<z.ZodEnum<["beginner", "intermediate", "expert"]>>;
88
+ type: z.ZodOptional<z.ZodEnum<["overview", "detailed", "line-by-line", "algorithm"]>>;
89
+ language: z.ZodOptional<z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>>;
90
+ focusArea: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
91
+ includeComplexity: z.ZodOptional<z.ZodBoolean>;
92
+ includePatterns: z.ZodOptional<z.ZodBoolean>;
93
+ }, "strip", z.ZodTypeAny, {
94
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
95
+ type?: "overview" | "detailed" | "line-by-line" | "algorithm" | undefined;
96
+ level?: "beginner" | "intermediate" | "expert" | undefined;
97
+ focusArea?: string | undefined;
98
+ includeComplexity?: boolean | undefined;
99
+ includePatterns?: boolean | undefined;
100
+ }, {
101
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
102
+ type?: "overview" | "detailed" | "line-by-line" | "algorithm" | undefined;
103
+ level?: "beginner" | "intermediate" | "expert" | undefined;
104
+ focusArea?: string | undefined;
105
+ includeComplexity?: boolean | undefined;
106
+ includePatterns?: boolean | undefined;
107
+ }>;
108
+ export type ValidatedExplanationOptions = z.infer<typeof ExplanationOptionsSchema>;
109
+ export declare const TestGenerationOptionsSchema: z.ZodObject<{
110
+ language: z.ZodOptional<z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>>;
111
+ framework: z.ZodOptional<z.ZodEnum<["jest", "vitest", "mocha", "pytest", "unittest", "go_test", "rspec", "auto"]>>;
112
+ testType: z.ZodOptional<z.ZodEnum<["unit", "integration", "e2e", "snapshot", "property"]>>;
113
+ functionName: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
114
+ context: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ context?: string | undefined;
117
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
118
+ framework?: "auto" | "jest" | "vitest" | "mocha" | "pytest" | "unittest" | "go_test" | "rspec" | undefined;
119
+ testType?: "unit" | "integration" | "e2e" | "snapshot" | "property" | undefined;
120
+ functionName?: string | undefined;
121
+ }, {
122
+ context?: string | undefined;
123
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
124
+ framework?: "auto" | "jest" | "vitest" | "mocha" | "pytest" | "unittest" | "go_test" | "rspec" | undefined;
125
+ testType?: "unit" | "integration" | "e2e" | "snapshot" | "property" | undefined;
126
+ functionName?: string | undefined;
127
+ }>;
128
+ export type ValidatedTestGenerationOptions = z.infer<typeof TestGenerationOptionsSchema>;
129
+ export declare const SecurityScanOptionsSchema: z.ZodObject<{
130
+ language: z.ZodOptional<z.ZodEnum<["typescript", "javascript", "python", "rust", "go", "java", "c", "cpp", "csharp", "ruby", "php", "swift", "kotlin", "scala", "dart", "elixir", "haskell", "other"]>>;
131
+ severity: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low", "info", "all"]>>;
132
+ categories: z.ZodOptional<z.ZodArray<z.ZodEnum<["injection", "authentication", "authorization", "xss", "secrets", "cryptography", "configuration", "dependencies", "input_validation", "sensitive_data", "other"]>, "many">>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
135
+ severity?: "low" | "high" | "medium" | "critical" | "info" | "all" | undefined;
136
+ categories?: ("other" | "injection" | "authentication" | "authorization" | "xss" | "secrets" | "cryptography" | "configuration" | "dependencies" | "input_validation" | "sensitive_data")[] | undefined;
137
+ }, {
138
+ language?: "other" | "typescript" | "javascript" | "python" | "go" | "ruby" | "rust" | "java" | "c" | "cpp" | "csharp" | "php" | "swift" | "kotlin" | "scala" | "dart" | "elixir" | "haskell" | undefined;
139
+ severity?: "low" | "high" | "medium" | "critical" | "info" | "all" | undefined;
140
+ categories?: ("other" | "injection" | "authentication" | "authorization" | "xss" | "secrets" | "cryptography" | "configuration" | "dependencies" | "input_validation" | "sensitive_data")[] | undefined;
141
+ }>;
142
+ export type ValidatedSecurityScanOptions = z.infer<typeof SecurityScanOptionsSchema>;
143
+ /**
144
+ * Validate and sanitize input with comprehensive error reporting
145
+ *
146
+ * @template T - Zod schema type
147
+ * @param schema - Zod schema to validate against
148
+ * @param data - Data to validate
149
+ * @param context - Context for error messages
150
+ * @returns Validated data
151
+ * @throws {ValidationError} If validation fails
152
+ */
153
+ export declare function validateInput<T extends z.ZodType>(schema: T, data: unknown, context?: string): z.infer<T>;
154
+ /**
155
+ * Validate input and return result without throwing
156
+ *
157
+ * @template T - Zod schema type
158
+ * @param schema - Zod schema to validate against
159
+ * @param data - Data to validate
160
+ * @returns Validation result with data or errors
161
+ */
162
+ export declare function safeValidate<T extends z.ZodType>(schema: T, data: unknown): {
163
+ success: true;
164
+ data: z.infer<T>;
165
+ } | {
166
+ success: false;
167
+ errors: z.ZodIssue[];
168
+ };
169
+ /**
170
+ * Sanitize string to prevent injection attacks
171
+ *
172
+ * @param input - String to sanitize
173
+ * @param options - Sanitization options
174
+ * @returns Sanitized string
175
+ */
176
+ export declare function sanitizeString(input: string, options?: {
177
+ maxLength?: number;
178
+ allowHtml?: boolean;
179
+ allowSpecialChars?: boolean;
180
+ }): string;
181
+ /**
182
+ * Validate file path for security
183
+ *
184
+ * @param path - Path to validate
185
+ * @returns True if path is safe
186
+ */
187
+ export declare function isSecurePath(path: string): boolean;
188
+ /**
189
+ * Sanitize code input to prevent injection
190
+ *
191
+ * @param code - Code to sanitize
192
+ * @param maxSize - Maximum size in bytes
193
+ * @returns Sanitized code
194
+ */
195
+ export declare function sanitizeCode(code: string, maxSize?: number): string;
196
+ /**
197
+ * Custom validation error with detailed information
198
+ */
199
+ export declare class ValidationError extends Error {
200
+ readonly issues: z.ZodIssue[];
201
+ constructor(message: string, issues?: z.ZodIssue[]);
202
+ /** Get formatted error messages */
203
+ getFormattedErrors(): string[];
204
+ /** Convert to JSON for API responses */
205
+ toJSON(): Record<string, unknown>;
206
+ }
207
+ /**
208
+ * Simple in-memory rate limiter for tool calls
209
+ */
210
+ export declare class RateLimiter {
211
+ private readonly maxRequests;
212
+ private readonly windowMs;
213
+ private requests;
214
+ constructor(maxRequests?: number, windowMs?: number);
215
+ /**
216
+ * Check if request is allowed
217
+ *
218
+ * @param key - Unique identifier for the requester
219
+ * @returns True if allowed, false if rate limited
220
+ */
221
+ isAllowed(key: string): boolean;
222
+ /**
223
+ * Cleanup old entries to prevent memory leaks
224
+ */
225
+ private cleanup;
226
+ /**
227
+ * Clear all rate limit data
228
+ */
229
+ clear(): void;
230
+ /**
231
+ * Get current count for a key
232
+ */
233
+ getCount(key: string): number;
234
+ }
235
+ /** Global rate limiter instance */
236
+ export declare const globalRateLimiter: RateLimiter;
237
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"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"}