observability-toolkit 1.8.0 → 1.8.4
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 +81 -3
- package/dist/backends/index.d.ts +119 -0
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +57 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/index.test.d.ts +5 -0
- package/dist/backends/index.test.d.ts.map +1 -0
- package/dist/backends/index.test.js +156 -0
- package/dist/backends/index.test.js.map +1 -0
- package/dist/backends/local-jsonl-boolean-search.test.js +8 -27
- package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
- package/dist/backends/local-jsonl-logs.test.d.ts +2 -0
- package/dist/backends/local-jsonl-logs.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-logs.test.js +603 -0
- package/dist/backends/local-jsonl-logs.test.js.map +1 -0
- package/dist/backends/local-jsonl-traces.test.d.ts +2 -0
- package/dist/backends/local-jsonl-traces.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-traces.test.js +1723 -0
- package/dist/backends/local-jsonl-traces.test.js.map +1 -0
- package/dist/backends/local-jsonl.d.ts +4 -1
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +185 -1
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/local-jsonl.test.js +723 -46
- package/dist/backends/local-jsonl.test.js.map +1 -1
- package/dist/backends/signoz-api.d.ts +32 -0
- package/dist/backends/signoz-api.d.ts.map +1 -1
- package/dist/backends/signoz-api.js +231 -33
- package/dist/backends/signoz-api.js.map +1 -1
- package/dist/backends/signoz-api.test.js +410 -63
- package/dist/backends/signoz-api.test.js.map +1 -1
- package/dist/lib/constants.d.ts +59 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +252 -6
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/constants.test.js +357 -21
- package/dist/lib/constants.test.js.map +1 -1
- package/dist/lib/edge-cases.test.d.ts +11 -0
- package/dist/lib/edge-cases.test.d.ts.map +1 -0
- package/dist/lib/edge-cases.test.js +634 -0
- package/dist/lib/edge-cases.test.js.map +1 -0
- package/dist/lib/error-sanitizer.d.ts +57 -0
- package/dist/lib/error-sanitizer.d.ts.map +1 -0
- package/dist/lib/error-sanitizer.js +207 -0
- package/dist/lib/error-sanitizer.js.map +1 -0
- package/dist/lib/error-sanitizer.test.d.ts +8 -0
- package/dist/lib/error-sanitizer.test.d.ts.map +1 -0
- package/dist/lib/error-sanitizer.test.js +369 -0
- package/dist/lib/error-sanitizer.test.js.map +1 -0
- package/dist/lib/file-utils.d.ts +134 -0
- package/dist/lib/file-utils.d.ts.map +1 -1
- package/dist/lib/file-utils.js +395 -9
- package/dist/lib/file-utils.js.map +1 -1
- package/dist/lib/file-utils.test.js +444 -3
- package/dist/lib/file-utils.test.js.map +1 -1
- package/dist/lib/indexer.d.ts +9 -1
- package/dist/lib/indexer.d.ts.map +1 -1
- package/dist/lib/indexer.js +51 -2
- package/dist/lib/indexer.js.map +1 -1
- package/dist/lib/indexer.test.js +138 -20
- package/dist/lib/indexer.test.js.map +1 -1
- package/dist/lib/input-validator.d.ts +103 -0
- package/dist/lib/input-validator.d.ts.map +1 -0
- package/dist/lib/input-validator.js +250 -0
- package/dist/lib/input-validator.js.map +1 -0
- package/dist/lib/input-validator.test.d.ts +2 -0
- package/dist/lib/input-validator.test.d.ts.map +1 -0
- package/dist/lib/input-validator.test.js +287 -0
- package/dist/lib/input-validator.test.js.map +1 -0
- package/dist/lib/query-sanitizer.d.ts +143 -0
- package/dist/lib/query-sanitizer.d.ts.map +1 -0
- package/dist/lib/query-sanitizer.js +261 -0
- package/dist/lib/query-sanitizer.js.map +1 -0
- package/dist/lib/query-sanitizer.test.d.ts +5 -0
- package/dist/lib/query-sanitizer.test.d.ts.map +1 -0
- package/dist/lib/query-sanitizer.test.js +400 -0
- package/dist/lib/query-sanitizer.test.js.map +1 -0
- package/dist/lib/server-utils.d.ts +80 -0
- package/dist/lib/server-utils.d.ts.map +1 -0
- package/dist/lib/server-utils.js +141 -0
- package/dist/lib/server-utils.js.map +1 -0
- package/dist/lib/shared-schemas.d.ts +59 -0
- package/dist/lib/shared-schemas.d.ts.map +1 -0
- package/dist/lib/shared-schemas.js +58 -0
- package/dist/lib/shared-schemas.js.map +1 -0
- package/dist/lib/shared-schemas.test.d.ts +5 -0
- package/dist/lib/shared-schemas.test.d.ts.map +1 -0
- package/dist/lib/shared-schemas.test.js +106 -0
- package/dist/lib/shared-schemas.test.js.map +1 -0
- package/dist/lib/toon-encoder.d.ts +21 -0
- package/dist/lib/toon-encoder.d.ts.map +1 -0
- package/dist/lib/toon-encoder.js +46 -0
- package/dist/lib/toon-encoder.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +155 -81
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +363 -0
- package/dist/server.test.js.map +1 -1
- package/dist/test-helpers/env-utils.d.ts +65 -0
- package/dist/test-helpers/env-utils.d.ts.map +1 -0
- package/dist/test-helpers/env-utils.js +94 -0
- package/dist/test-helpers/env-utils.js.map +1 -0
- package/dist/test-helpers/file-utils.d.ts +93 -0
- package/dist/test-helpers/file-utils.d.ts.map +1 -0
- package/dist/test-helpers/file-utils.js +206 -0
- package/dist/test-helpers/file-utils.js.map +1 -0
- package/dist/test-helpers/index.d.ts +10 -0
- package/dist/test-helpers/index.d.ts.map +1 -0
- package/dist/test-helpers/index.js +28 -0
- package/dist/test-helpers/index.js.map +1 -0
- package/dist/test-helpers/mock-backends.d.ts +139 -0
- package/dist/test-helpers/mock-backends.d.ts.map +1 -0
- package/dist/test-helpers/mock-backends.js +227 -0
- package/dist/test-helpers/mock-backends.js.map +1 -0
- package/dist/test-helpers/mock-backends.test.d.ts +5 -0
- package/dist/test-helpers/mock-backends.test.d.ts.map +1 -0
- package/dist/test-helpers/mock-backends.test.js +368 -0
- package/dist/test-helpers/mock-backends.test.js.map +1 -0
- package/dist/test-helpers/schema-validators.d.ts +32 -0
- package/dist/test-helpers/schema-validators.d.ts.map +1 -0
- package/dist/test-helpers/schema-validators.js +125 -0
- package/dist/test-helpers/schema-validators.js.map +1 -0
- package/dist/test-helpers/test-data-builders.d.ts +223 -0
- package/dist/test-helpers/test-data-builders.d.ts.map +1 -0
- package/dist/test-helpers/test-data-builders.js +288 -0
- package/dist/test-helpers/test-data-builders.js.map +1 -0
- package/dist/test-helpers/test-data-builders.test.d.ts +2 -0
- package/dist/test-helpers/test-data-builders.test.d.ts.map +1 -0
- package/dist/test-helpers/test-data-builders.test.js +306 -0
- package/dist/test-helpers/test-data-builders.test.js.map +1 -0
- package/dist/test-helpers/tool-validators.d.ts +28 -0
- package/dist/test-helpers/tool-validators.d.ts.map +1 -0
- package/dist/test-helpers/tool-validators.js +56 -0
- package/dist/test-helpers/tool-validators.js.map +1 -0
- package/dist/tools/context-stats.d.ts +1 -0
- package/dist/tools/context-stats.d.ts.map +1 -1
- package/dist/tools/context-stats.js +9 -5
- package/dist/tools/context-stats.js.map +1 -1
- package/dist/tools/context-stats.test.js +24 -10
- package/dist/tools/context-stats.test.js.map +1 -1
- package/dist/tools/get-trace-url.js +2 -2
- package/dist/tools/get-trace-url.js.map +1 -1
- package/dist/tools/health-check.js +2 -2
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/query-evaluations.d.ts +186 -0
- package/dist/tools/query-evaluations.d.ts.map +1 -0
- package/dist/tools/query-evaluations.js +351 -0
- package/dist/tools/query-evaluations.js.map +1 -0
- package/dist/tools/query-evaluations.test.d.ts +5 -0
- package/dist/tools/query-evaluations.test.d.ts.map +1 -0
- package/dist/tools/query-evaluations.test.js +733 -0
- package/dist/tools/query-evaluations.test.js.map +1 -0
- package/dist/tools/query-llm-events.d.ts +24 -18
- package/dist/tools/query-llm-events.d.ts.map +1 -1
- package/dist/tools/query-llm-events.js +103 -60
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-llm-events.test.js +271 -9
- package/dist/tools/query-llm-events.test.js.map +1 -1
- package/dist/tools/query-logs.d.ts +28 -20
- package/dist/tools/query-logs.d.ts.map +1 -1
- package/dist/tools/query-logs.js +85 -61
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-logs.test.js +74 -145
- package/dist/tools/query-logs.test.js.map +1 -1
- package/dist/tools/query-metrics.d.ts +20 -20
- package/dist/tools/query-metrics.d.ts.map +1 -1
- package/dist/tools/query-metrics.js +109 -61
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-metrics.test.js +26 -61
- package/dist/tools/query-metrics.test.js.map +1 -1
- package/dist/tools/query-traces.d.ts +24 -22
- package/dist/tools/query-traces.d.ts.map +1 -1
- package/dist/tools/query-traces.js +95 -70
- package/dist/tools/query-traces.js.map +1 -1
- package/dist/tools/query-traces.test.js +294 -90
- package/dist/tools/query-traces.test.js.map +1 -1
- package/dist/tools/setup-claudeignore.js +7 -7
- package/dist/tools/setup-claudeignore.js.map +1 -1
- package/dist/tools/setup-claudeignore.test.js +4 -25
- package/dist/tools/setup-claudeignore.test.js.map +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-cases.test.js","sourceRoot":"","sources":["../../src/lib/edge-cases.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error message sanitization utilities for observability-toolkit MCP server
|
|
3
|
+
*
|
|
4
|
+
* Prevents information disclosure by:
|
|
5
|
+
* - Removing absolute file paths
|
|
6
|
+
* - Stripping stack traces in production
|
|
7
|
+
* - Providing generic messages for internal errors
|
|
8
|
+
*
|
|
9
|
+
* Security: HIGH severity - prevents leaking internal system details
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Sanitize an error message for safe user display
|
|
13
|
+
*
|
|
14
|
+
* @param error - Error object or string to sanitize
|
|
15
|
+
* @returns Sanitized error message safe for user display
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Input with file path
|
|
19
|
+
* sanitizeErrorMessage(new Error('ENOENT: no such file at /Users/john/.claude/config'))
|
|
20
|
+
* // Returns: "ENOENT: no such file at [path]"
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Validation error passes through
|
|
24
|
+
* sanitizeErrorMessage(new Error('Invalid limit: must be a positive number'))
|
|
25
|
+
* // Returns: "Invalid limit: must be a positive number"
|
|
26
|
+
*/
|
|
27
|
+
export declare function sanitizeErrorMessage(error: Error | string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Sanitize an error for MCP tool response
|
|
30
|
+
*
|
|
31
|
+
* In production:
|
|
32
|
+
* - Removes file paths
|
|
33
|
+
* - Removes stack traces
|
|
34
|
+
* - Returns only error message
|
|
35
|
+
*
|
|
36
|
+
* In development:
|
|
37
|
+
* - Removes file paths from message
|
|
38
|
+
* - Optionally includes sanitized stack trace
|
|
39
|
+
*
|
|
40
|
+
* @param error - Error object to sanitize
|
|
41
|
+
* @param includeStack - Whether to include stack in development (default: false)
|
|
42
|
+
* @returns Sanitized error text for MCP response
|
|
43
|
+
*/
|
|
44
|
+
export declare function sanitizeErrorForResponse(error: Error | unknown, includeStack?: boolean): string;
|
|
45
|
+
/**
|
|
46
|
+
* Sanitize a path string to remove sensitive information
|
|
47
|
+
* Used for error messages that include paths (like health check messages)
|
|
48
|
+
*
|
|
49
|
+
* @param path - Absolute path to sanitize
|
|
50
|
+
* @returns Relative or anonymized path
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* sanitizePath('/Users/john/.claude/telemetry')
|
|
54
|
+
* // Returns: "~/.claude/telemetry"
|
|
55
|
+
*/
|
|
56
|
+
export declare function sanitizePath(path: string): string;
|
|
57
|
+
//# sourceMappingURL=error-sanitizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-sanitizer.d.ts","sourceRoot":"","sources":["../../src/lib/error-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkHH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAuBlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,YAAY,UAAQ,GAAG,MAAM,CAoB7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBjD"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error message sanitization utilities for observability-toolkit MCP server
|
|
3
|
+
*
|
|
4
|
+
* Prevents information disclosure by:
|
|
5
|
+
* - Removing absolute file paths
|
|
6
|
+
* - Stripping stack traces in production
|
|
7
|
+
* - Providing generic messages for internal errors
|
|
8
|
+
*
|
|
9
|
+
* Security: HIGH severity - prevents leaking internal system details
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Check if we're in production mode
|
|
13
|
+
* Production hides more details for security
|
|
14
|
+
*
|
|
15
|
+
* Security: Defaults to production-safe behavior when NODE_ENV is not set.
|
|
16
|
+
* This prevents stack trace disclosure in environments like Docker or AWS Lambda
|
|
17
|
+
* where NODE_ENV may not be explicitly configured.
|
|
18
|
+
*/
|
|
19
|
+
function isProduction() {
|
|
20
|
+
const nodeEnv = process.env.NODE_ENV;
|
|
21
|
+
// Default to production-safe behavior if NODE_ENV is not set
|
|
22
|
+
// Only treat as development if explicitly set to 'development' or 'test'
|
|
23
|
+
if (!nodeEnv) {
|
|
24
|
+
return true; // Production-safe default
|
|
25
|
+
}
|
|
26
|
+
return nodeEnv !== 'development' && nodeEnv !== 'test';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Maximum input length for path sanitization
|
|
30
|
+
* Prevents ReDoS attacks by limiting string length before regex processing
|
|
31
|
+
*/
|
|
32
|
+
const MAX_SANITIZE_LENGTH = 100000;
|
|
33
|
+
/**
|
|
34
|
+
* Combined pattern for all sensitive paths (single O(n) pass)
|
|
35
|
+
* Matches:
|
|
36
|
+
* - Unix paths: /Users/..., /home/..., /var/..., /opt/..., /tmp/..., /etc/..., /usr/...
|
|
37
|
+
* - Windows paths: C:\..., D:\..., etc.
|
|
38
|
+
* - Home paths: ~/...
|
|
39
|
+
* - Node internal: node:internal/...:123:45
|
|
40
|
+
*
|
|
41
|
+
* Performance: Single regex with alternation replaces 4 separate passes
|
|
42
|
+
* Security: Input length is limited before regex processing to prevent ReDoS
|
|
43
|
+
*/
|
|
44
|
+
const SENSITIVE_PATH_PATTERN = new RegExp('(' +
|
|
45
|
+
'\\/(?:Users|home|var|opt|tmp|etc|usr)\\/[^\\s:\'"]+' + // Unix paths
|
|
46
|
+
'|[A-Za-z]:\\\\[^\\s:\'"]+' + // Windows paths
|
|
47
|
+
'|~\\/[^\\s:\'"]+' + // Home paths
|
|
48
|
+
'|node:[^\\s:\'"]+:\\d+:\\d+' + // Node internal
|
|
49
|
+
')', 'g' // Case-sensitive for paths (removed 'i' flag for performance)
|
|
50
|
+
);
|
|
51
|
+
/**
|
|
52
|
+
* Pattern to match stack trace lines
|
|
53
|
+
* Matches lines like "at Function.something (/path/to/file.js:123:45)"
|
|
54
|
+
*/
|
|
55
|
+
const STACK_TRACE_PATTERN = /^\s*at\s+.+\(.+:\d+:\d+\)$/gm;
|
|
56
|
+
/**
|
|
57
|
+
* Known safe error patterns that don't need sanitization
|
|
58
|
+
* These are user-facing validation errors with no sensitive info
|
|
59
|
+
*/
|
|
60
|
+
const SAFE_ERROR_PATTERNS = [
|
|
61
|
+
/^Invalid .+: must be/i,
|
|
62
|
+
/^Invalid .+ format/i,
|
|
63
|
+
/^Validation error/i,
|
|
64
|
+
/^Rate limit exceeded/i,
|
|
65
|
+
/^Unknown tool:/i,
|
|
66
|
+
/^No backend available/i,
|
|
67
|
+
/^metricName is required/i,
|
|
68
|
+
/^Circuit breaker open/i,
|
|
69
|
+
/^SigNoz .+ not configured/i,
|
|
70
|
+
/^Date range .+ exceeds maximum/i,
|
|
71
|
+
/^Pattern .+ exceeds maximum/i,
|
|
72
|
+
/^startDate .+ cannot be after/i,
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* Check if an error message is safe (doesn't contain sensitive info)
|
|
76
|
+
*/
|
|
77
|
+
function isSafeErrorMessage(message) {
|
|
78
|
+
return SAFE_ERROR_PATTERNS.some(pattern => pattern.test(message));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Remove file paths from a string (single O(n) pass)
|
|
82
|
+
* Security: Limits input length to prevent ReDoS attacks
|
|
83
|
+
*/
|
|
84
|
+
function removeFilePaths(text) {
|
|
85
|
+
// Security: Truncate excessively long inputs to prevent ReDoS
|
|
86
|
+
const wasTruncated = text.length > MAX_SANITIZE_LENGTH;
|
|
87
|
+
const safeText = wasTruncated
|
|
88
|
+
? text.slice(0, MAX_SANITIZE_LENGTH)
|
|
89
|
+
: text;
|
|
90
|
+
// Run regex on truncated text
|
|
91
|
+
const sanitized = safeText.replace(SENSITIVE_PATH_PATTERN, (match) => {
|
|
92
|
+
// Node internal paths get different placeholder
|
|
93
|
+
return match.startsWith('node:') ? '[internal]' : '[path]';
|
|
94
|
+
});
|
|
95
|
+
// Add truncation marker after regex processing to avoid regex matching it
|
|
96
|
+
return wasTruncated ? sanitized + '...[truncated]' : sanitized;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Remove stack traces from error text
|
|
100
|
+
*/
|
|
101
|
+
function removeStackTraces(text) {
|
|
102
|
+
// Remove "Stack trace:" header and following content
|
|
103
|
+
const stackIndex = text.indexOf('\n\nStack trace:\n');
|
|
104
|
+
if (stackIndex !== -1) {
|
|
105
|
+
return text.substring(0, stackIndex);
|
|
106
|
+
}
|
|
107
|
+
// Remove individual stack trace lines
|
|
108
|
+
return text.replace(STACK_TRACE_PATTERN, '');
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sanitize an error message for safe user display
|
|
112
|
+
*
|
|
113
|
+
* @param error - Error object or string to sanitize
|
|
114
|
+
* @returns Sanitized error message safe for user display
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* // Input with file path
|
|
118
|
+
* sanitizeErrorMessage(new Error('ENOENT: no such file at /Users/john/.claude/config'))
|
|
119
|
+
* // Returns: "ENOENT: no such file at [path]"
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* // Validation error passes through
|
|
123
|
+
* sanitizeErrorMessage(new Error('Invalid limit: must be a positive number'))
|
|
124
|
+
* // Returns: "Invalid limit: must be a positive number"
|
|
125
|
+
*/
|
|
126
|
+
export function sanitizeErrorMessage(error) {
|
|
127
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
128
|
+
// Safe errors pass through unchanged
|
|
129
|
+
if (isSafeErrorMessage(message)) {
|
|
130
|
+
return message;
|
|
131
|
+
}
|
|
132
|
+
// Remove sensitive paths
|
|
133
|
+
let sanitized = removeFilePaths(message);
|
|
134
|
+
// In production, be more aggressive with sanitization
|
|
135
|
+
if (isProduction()) {
|
|
136
|
+
sanitized = removeStackTraces(sanitized);
|
|
137
|
+
// If the message still looks suspicious (contains paths we might have missed),
|
|
138
|
+
// return a generic message
|
|
139
|
+
if (sanitized.includes('/') && !sanitized.includes('http')) {
|
|
140
|
+
return 'An internal error occurred. Please try again.';
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return sanitized;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Sanitize an error for MCP tool response
|
|
147
|
+
*
|
|
148
|
+
* In production:
|
|
149
|
+
* - Removes file paths
|
|
150
|
+
* - Removes stack traces
|
|
151
|
+
* - Returns only error message
|
|
152
|
+
*
|
|
153
|
+
* In development:
|
|
154
|
+
* - Removes file paths from message
|
|
155
|
+
* - Optionally includes sanitized stack trace
|
|
156
|
+
*
|
|
157
|
+
* @param error - Error object to sanitize
|
|
158
|
+
* @param includeStack - Whether to include stack in development (default: false)
|
|
159
|
+
* @returns Sanitized error text for MCP response
|
|
160
|
+
*/
|
|
161
|
+
export function sanitizeErrorForResponse(error, includeStack = false) {
|
|
162
|
+
if (!(error instanceof Error)) {
|
|
163
|
+
return sanitizeErrorMessage(String(error));
|
|
164
|
+
}
|
|
165
|
+
const sanitizedMessage = sanitizeErrorMessage(error.message);
|
|
166
|
+
// In production, never include stack traces
|
|
167
|
+
if (isProduction()) {
|
|
168
|
+
return `Error: ${sanitizedMessage}`;
|
|
169
|
+
}
|
|
170
|
+
// In development only, optionally include sanitized stack
|
|
171
|
+
// Security: Force production check to prevent stack disclosure when NODE_ENV is unset
|
|
172
|
+
if (includeStack && error.stack) {
|
|
173
|
+
const sanitizedStack = removeFilePaths(error.stack);
|
|
174
|
+
return `Error: ${sanitizedMessage}\n\nStack trace:\n${sanitizedStack}`;
|
|
175
|
+
}
|
|
176
|
+
return `Error: ${sanitizedMessage}`;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Sanitize a path string to remove sensitive information
|
|
180
|
+
* Used for error messages that include paths (like health check messages)
|
|
181
|
+
*
|
|
182
|
+
* @param path - Absolute path to sanitize
|
|
183
|
+
* @returns Relative or anonymized path
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* sanitizePath('/Users/john/.claude/telemetry')
|
|
187
|
+
* // Returns: "~/.claude/telemetry"
|
|
188
|
+
*/
|
|
189
|
+
export function sanitizePath(path) {
|
|
190
|
+
// Replace home directory with ~
|
|
191
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
192
|
+
if (homeDir && path.startsWith(homeDir)) {
|
|
193
|
+
return '~' + path.slice(homeDir.length);
|
|
194
|
+
}
|
|
195
|
+
// If path contains username, anonymize it
|
|
196
|
+
const match = path.match(/^\/(?:Users|home)\/[^/]+(\/.+)$/);
|
|
197
|
+
if (match) {
|
|
198
|
+
return '~' + match[1];
|
|
199
|
+
}
|
|
200
|
+
// For other paths, just return the basename and parent
|
|
201
|
+
const parts = path.split('/').filter(Boolean);
|
|
202
|
+
if (parts.length > 2) {
|
|
203
|
+
return '.../' + parts.slice(-2).join('/');
|
|
204
|
+
}
|
|
205
|
+
return path;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=error-sanitizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-sanitizer.js","sourceRoot":"","sources":["../../src/lib/error-sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-sanitizer.test.d.ts","sourceRoot":"","sources":["../../src/lib/error-sanitizer.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|