mcp-wordpress 2.4.2 → 2.5.0
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 +114 -48
- package/dist/ajv-patch.js +34 -0
- package/dist/cache/CacheInvalidation.d.ts +3 -1
- package/dist/cache/CacheInvalidation.d.ts.map +1 -1
- package/dist/cache/CacheInvalidation.js +10 -4
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +3 -2
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +11 -3
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts +7 -6
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +8 -5
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +6 -5
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
- package/dist/cache/index.d.ts +3 -3
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts +23 -9
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js +4 -1
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/MockWordPressClient.d.ts +2 -1
- package/dist/client/MockWordPressClient.d.ts.map +1 -1
- package/dist/client/MockWordPressClient.js +3 -1
- package/dist/client/MockWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +17 -13
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +135 -30
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js +2 -3
- package/dist/client/auth.js.map +1 -1
- package/dist/client/managers/AuthenticationManager.d.ts +55 -2
- package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
- package/dist/client/managers/AuthenticationManager.js +269 -71
- package/dist/client/managers/AuthenticationManager.js.map +1 -1
- package/dist/client/managers/BaseManager.d.ts +3 -3
- package/dist/client/managers/BaseManager.d.ts.map +1 -1
- package/dist/client/managers/BaseManager.js +11 -5
- package/dist/client/managers/BaseManager.js.map +1 -1
- package/dist/client/managers/RequestManager.d.ts +2 -2
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +25 -12
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/config/Config.d.ts +155 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/Config.js +215 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ConfigurationSchema.d.ts +21 -21
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/config/ConfigurationSchema.js +19 -2
- package/dist/config/ConfigurationSchema.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts +2 -1
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +50 -41
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/docs/DocumentationGenerator.d.ts +9 -8
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
- package/dist/docs/DocumentationGenerator.js +10 -7
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
- package/dist/docs/MarkdownFormatter.js +3 -2
- package/dist/docs/MarkdownFormatter.js.map +1 -1
- package/dist/dxt-entry.cjs +81 -0
- package/dist/dxt-entry.js +15 -14
- package/dist/dxt-entry.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -21
- package/dist/index.js.map +1 -1
- package/dist/performance/MetricsCollector.d.ts +13 -7
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js +69 -27
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/performance/PerformanceAnalytics.d.ts +8 -2
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
- package/dist/performance/PerformanceAnalytics.js +17 -47
- package/dist/performance/PerformanceAnalytics.js.map +1 -1
- package/dist/performance/PerformanceMonitor.d.ts +2 -1
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
- package/dist/performance/PerformanceMonitor.js +12 -13
- package/dist/performance/PerformanceMonitor.js.map +1 -1
- package/dist/performance/index.d.ts +2 -2
- package/dist/performance/index.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.d.ts +1 -0
- package/dist/security/AISecurityScanner.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.js +22 -12
- package/dist/security/AISecurityScanner.js.map +1 -1
- package/dist/security/AutomatedRemediation.d.ts +4 -3
- package/dist/security/AutomatedRemediation.d.ts.map +1 -1
- package/dist/security/AutomatedRemediation.js +46 -15
- package/dist/security/AutomatedRemediation.js.map +1 -1
- package/dist/security/InputValidator.d.ts +13 -9
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +4 -2
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityCIPipeline.d.ts +1 -1
- package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
- package/dist/security/SecurityCIPipeline.js +38 -29
- package/dist/security/SecurityCIPipeline.js.map +1 -1
- package/dist/security/SecurityConfig.d.ts +3 -3
- package/dist/security/SecurityConfig.d.ts.map +1 -1
- package/dist/security/SecurityConfig.js +13 -9
- package/dist/security/SecurityConfig.js.map +1 -1
- package/dist/security/SecurityConfigManager.d.ts +2 -2
- package/dist/security/SecurityConfigManager.d.ts.map +1 -1
- package/dist/security/SecurityConfigManager.js +20 -15
- package/dist/security/SecurityConfigManager.js.map +1 -1
- package/dist/security/SecurityMonitoring.d.ts +2 -2
- package/dist/security/SecurityMonitoring.d.ts.map +1 -1
- package/dist/security/SecurityMonitoring.js +19 -17
- package/dist/security/SecurityMonitoring.js.map +1 -1
- package/dist/security/SecurityReviewer.d.ts.map +1 -1
- package/dist/security/SecurityReviewer.js +10 -7
- package/dist/security/SecurityReviewer.js.map +1 -1
- package/dist/security/index.d.ts +24 -23
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +52 -23
- package/dist/security/index.js.map +1 -1
- package/dist/server/ConnectionTester.d.ts +12 -4
- package/dist/server/ConnectionTester.d.ts.map +1 -1
- package/dist/server/ConnectionTester.js +96 -22
- package/dist/server/ConnectionTester.js.map +1 -1
- package/dist/server/ToolRegistry.d.ts +2 -2
- package/dist/server/ToolRegistry.d.ts.map +1 -1
- package/dist/server/ToolRegistry.js +10 -5
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/tools/BaseToolManager.d.ts +47 -11
- package/dist/tools/BaseToolManager.d.ts.map +1 -1
- package/dist/tools/BaseToolManager.js +168 -29
- package/dist/tools/BaseToolManager.js.map +1 -1
- package/dist/tools/auth.d.ts +16 -10
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +3 -2
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/cache.d.ts +30 -30
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js +1 -6
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/comments.d.ts +20 -20
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +16 -9
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/media.d.ts +18 -16
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +16 -15
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts +19 -17
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +16 -12
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance.d.ts +11 -1
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +67 -34
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts/PostHandlers.d.ts +46 -0
- package/dist/tools/posts/PostHandlers.d.ts.map +1 -0
- package/dist/tools/posts/PostHandlers.js +400 -0
- package/dist/tools/posts/PostHandlers.js.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts +37 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.js +236 -0
- package/dist/tools/posts/PostToolDefinitions.js.map +1 -0
- package/dist/tools/posts/index.d.ts +138 -0
- package/dist/tools/posts/index.d.ts.map +1 -0
- package/dist/tools/posts/index.js +163 -0
- package/dist/tools/posts/index.js.map +1 -0
- package/dist/tools/posts.d.ts +10 -246
- package/dist/tools/posts.d.ts.map +1 -1
- package/dist/tools/posts.js +11 -723
- package/dist/tools/posts.js.map +1 -1
- package/dist/tools/site.d.ts +19 -18
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js +14 -10
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts +23 -24
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js +24 -18
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts +20 -15
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +12 -8
- package/dist/tools/users.js.map +1 -1
- package/dist/types/client.d.ts +48 -41
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js +30 -5
- package/dist/types/client.js.map +1 -1
- package/dist/types/enhanced.d.ts +237 -0
- package/dist/types/enhanced.d.ts.map +1 -0
- package/dist/types/enhanced.js +49 -0
- package/dist/types/enhanced.js.map +1 -0
- package/dist/types/index.d.ts +15 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +12 -12
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/requests.d.ts +322 -0
- package/dist/types/requests.d.ts.map +1 -0
- package/dist/types/requests.js +8 -0
- package/dist/types/requests.js.map +1 -0
- package/dist/types/tools.d.ts +506 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +8 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/wordpress.d.ts +43 -15
- package/dist/types/wordpress.d.ts.map +1 -1
- package/dist/types/wordpress.js +8 -1
- package/dist/types/wordpress.js.map +1 -1
- package/dist/utils/debug.d.ts +19 -11
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +46 -10
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/enhancedError.d.ts +8 -8
- package/dist/utils/enhancedError.d.ts.map +1 -1
- package/dist/utils/enhancedError.js.map +1 -1
- package/dist/utils/error.d.ts +2 -4
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +42 -5
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/logger.d.ts +106 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +280 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/streaming.d.ts +9 -9
- package/dist/utils/streaming.d.ts.map +1 -1
- package/dist/utils/streaming.js +71 -52
- package/dist/utils/streaming.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +9 -7
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation/core.d.ts +21 -0
- package/dist/utils/validation/core.d.ts.map +1 -0
- package/dist/utils/validation/core.js +71 -0
- package/dist/utils/validation/core.js.map +1 -0
- package/dist/utils/validation/index.d.ts +25 -0
- package/dist/utils/validation/index.d.ts.map +1 -0
- package/dist/utils/validation/index.js +29 -0
- package/dist/utils/validation/index.js.map +1 -0
- package/dist/utils/validation/network.d.ts +19 -0
- package/dist/utils/validation/network.d.ts.map +1 -0
- package/dist/utils/validation/network.js +93 -0
- package/dist/utils/validation/network.js.map +1 -0
- package/dist/utils/validation/rateLimit.d.ts +21 -0
- package/dist/utils/validation/rateLimit.d.ts.map +1 -0
- package/dist/utils/validation/rateLimit.js +43 -0
- package/dist/utils/validation/rateLimit.js.map +1 -0
- package/dist/utils/validation/security.d.ts +29 -0
- package/dist/utils/validation/security.d.ts.map +1 -0
- package/dist/utils/validation/security.js +327 -0
- package/dist/utils/validation/security.js.map +1 -0
- package/dist/utils/validation/wordpress.d.ts +31 -0
- package/dist/utils/validation/wordpress.d.ts.map +1 -0
- package/dist/utils/validation/wordpress.js +146 -0
- package/dist/utils/validation/wordpress.js.map +1 -0
- package/dist/utils/validation.d.ts +13 -82
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +25 -343
- package/dist/utils/validation.js.map +1 -1
- package/docs/BADGE_UPDATES.md +132 -0
- package/docs/CI_CD_IMPROVEMENTS.md +191 -0
- package/docs/INCREMENTAL_COVERAGE.md +183 -0
- package/docs/api/README.md +3 -1
- package/docs/api/openapi.json +5 -1
- package/docs/api/summary.json +1 -1
- package/docs/api/tools/wp_create_post.md +12 -14
- package/docs/examples/claude-desktop-config.md +1 -1
- package/docs/examples/docker-production.md +100 -93
- package/docs/examples/multi-site-setup.md +5 -4
- package/docs/examples/single-site-setup.md +3 -4
- package/docs/examples/use-case-workflows.md +4 -5
- package/docs/integrations/claude-desktop.md +31 -31
- package/docs/integrations/cline.md +4 -4
- package/docs/integrations/vs-code.md +9 -8
- package/docs/user-guides/SMITHERY_SETUP.md +10 -10
- package/package.json +44 -25
- package/src/cache/CacheInvalidation.ts +12 -5
- package/src/cache/CacheManager.ts +18 -15
- package/src/cache/HttpCacheWrapper.ts +30 -59
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
- package/src/cache/index.ts +3 -14
- package/src/client/CachedWordPressClient.ts +32 -30
- package/src/client/MockWordPressClient.ts +4 -2
- package/src/client/api.ts +186 -64
- package/src/client/auth.ts +15 -40
- package/src/client/managers/AuthenticationManager.ts +337 -77
- package/src/client/managers/BaseManager.ts +18 -30
- package/src/client/managers/RequestManager.ts +39 -44
- package/src/config/Config.ts +308 -0
- package/src/config/ConfigurationSchema.ts +23 -2
- package/src/config/ServerConfiguration.ts +51 -47
- package/src/docs/DocumentationGenerator.ts +50 -39
- package/src/docs/MarkdownFormatter.ts +19 -29
- package/src/dxt-entry.cjs +26 -16
- package/src/dxt-entry.ts +17 -27
- package/src/index.ts +42 -28
- package/src/performance/MetricsCollector.ts +108 -86
- package/src/performance/PerformanceAnalytics.ts +69 -164
- package/src/performance/PerformanceMonitor.ts +32 -47
- package/src/performance/index.ts +2 -10
- package/src/security/AISecurityScanner.ts +22 -12
- package/src/security/AutomatedRemediation.ts +49 -18
- package/src/security/InputValidator.ts +9 -6
- package/src/security/SecurityCIPipeline.ts +53 -37
- package/src/security/SecurityConfig.ts +22 -22
- package/src/security/SecurityConfigManager.ts +23 -19
- package/src/security/SecurityMonitoring.ts +24 -21
- package/src/security/SecurityReviewer.ts +10 -7
- package/src/security/index.ts +64 -29
- package/src/server/ConnectionTester.ts +120 -31
- package/src/server/ToolRegistry.ts +31 -21
- package/src/tools/BaseToolManager.ts +286 -33
- package/src/tools/auth.ts +20 -8
- package/src/tools/cache.ts +5 -15
- package/src/tools/comments.ts +34 -48
- package/src/tools/media.ts +41 -53
- package/src/tools/pages.ts +32 -54
- package/src/tools/performance.ts +141 -176
- package/src/tools/posts/PostHandlers.ts +474 -0
- package/src/tools/posts/PostToolDefinitions.ts +250 -0
- package/src/tools/posts/index.ts +192 -0
- package/src/tools/posts.ts +24 -780
- package/src/tools/site.ts +34 -19
- package/src/tools/taxonomies.ts +41 -57
- package/src/tools/users.ts +28 -16
- package/src/types/client.ts +114 -138
- package/src/types/enhanced.ts +318 -0
- package/src/types/index.ts +51 -30
- package/src/types/mcp.ts +20 -42
- package/src/types/requests.ts +378 -0
- package/src/types/tools.ts +608 -0
- package/src/types/wordpress.ts +56 -34
- package/src/utils/debug.ts +77 -59
- package/src/utils/enhancedError.ts +8 -8
- package/src/utils/error.ts +53 -31
- package/src/utils/logger.ts +351 -0
- package/src/utils/streaming.ts +86 -68
- package/src/utils/toolWrapper.ts +10 -12
- package/src/utils/validation/core.ts +108 -0
- package/src/utils/validation/index.ts +36 -0
- package/src/utils/validation/network.ts +132 -0
- package/src/utils/validation/rateLimit.ts +54 -0
- package/src/utils/validation/security.ts +361 -0
- package/src/utils/validation/wordpress.ts +180 -0
- package/src/utils/validation.ts +47 -470
package/dist/utils/error.js
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Error handling utilities
|
|
3
3
|
*/
|
|
4
|
+
import { LoggerFactory } from "./logger.js";
|
|
5
|
+
import { config } from "../config/Config.js";
|
|
6
|
+
const logger = LoggerFactory.server().child({ component: "ErrorUtils" });
|
|
7
|
+
// Environment flag to control legacy console logging noise. Default enabled to preserve
|
|
8
|
+
// backward compatibility and existing test expectations. Set LEGACY_ERROR_LOGS=0 to disable
|
|
9
|
+
// the direct console.error side-channel (structured logger still emits).
|
|
10
|
+
const LEGACY_ERROR_LOGS_ENABLED = config().error.legacyLogsEnabled;
|
|
11
|
+
// Internal helper to avoid sprinkling conditionals
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
function legacyConsoleError(...args) {
|
|
14
|
+
if (LEGACY_ERROR_LOGS_ENABLED) {
|
|
15
|
+
console.error(...args);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// Test hook: exported only for instrumentation in unit tests (tree-shakeable)
|
|
19
|
+
// @__PURE__ This constant has no side effects and can be dropped in production builds
|
|
20
|
+
export const __errorUtilsLogger = logger;
|
|
4
21
|
export function getErrorMessage(error) {
|
|
5
22
|
if (error instanceof Error) {
|
|
6
23
|
return error.message;
|
|
@@ -17,18 +34,32 @@ export function isError(error) {
|
|
|
17
34
|
return error instanceof Error;
|
|
18
35
|
}
|
|
19
36
|
export function logAndReturn(error, defaultValue) {
|
|
20
|
-
|
|
37
|
+
const message = getErrorMessage(error);
|
|
38
|
+
// Legacy console logging (can be disabled via LEGACY_ERROR_LOGS=0)
|
|
39
|
+
legacyConsoleError("Error occurred:", message);
|
|
40
|
+
logger.warn("Error occurred - returning default value", {
|
|
41
|
+
error: message,
|
|
42
|
+
});
|
|
21
43
|
return defaultValue;
|
|
22
44
|
}
|
|
23
45
|
/**
|
|
24
46
|
* Enhanced error handler for consistent tool error handling
|
|
25
47
|
*/
|
|
26
48
|
export function handleToolError(error, operation, context) {
|
|
27
|
-
|
|
49
|
+
const message = getErrorMessage(error);
|
|
50
|
+
const errObj = error instanceof Error ? error : new Error(message);
|
|
51
|
+
// Legacy console logging (can be disabled via LEGACY_ERROR_LOGS=0)
|
|
52
|
+
legacyConsoleError(`Error in ${operation}:`, errObj);
|
|
28
53
|
if (context) {
|
|
29
|
-
|
|
54
|
+
legacyConsoleError("Context:", context);
|
|
55
|
+
}
|
|
56
|
+
logger.error(`Error in ${operation}`, {
|
|
57
|
+
error: message,
|
|
58
|
+
...(context && { context }),
|
|
59
|
+
});
|
|
60
|
+
if (error instanceof Error && error.stack) {
|
|
61
|
+
logger.debug("Error stack trace", { stack: error.stack });
|
|
30
62
|
}
|
|
31
|
-
const message = getErrorMessage(error);
|
|
32
63
|
// Provide more specific error messages based on error content
|
|
33
64
|
if (message.includes("ECONNREFUSED") || message.includes("ENOTFOUND")) {
|
|
34
65
|
throw new Error(`Connection failed during ${operation}. Please check your WordPress site URL and network connection.`);
|
|
@@ -48,7 +79,13 @@ export function handleToolError(error, operation, context) {
|
|
|
48
79
|
* Validates required parameters
|
|
49
80
|
*/
|
|
50
81
|
export function validateRequired(params, required) {
|
|
51
|
-
|
|
82
|
+
// Runtime guard: ensure params is a non-null object (tests expect throw on invalid input)
|
|
83
|
+
if (params === null || typeof params !== "object") {
|
|
84
|
+
throw new Error("Parameters must be an object");
|
|
85
|
+
}
|
|
86
|
+
// Only treat undefined or null as missing; accept legitimate falsy values: 0, false, ""
|
|
87
|
+
const obj = params;
|
|
88
|
+
const missing = required.filter((key) => obj[key] === undefined || obj[key] === null);
|
|
52
89
|
if (missing.length > 0) {
|
|
53
90
|
throw new Error(`Missing required parameters: ${missing.join(", ")}`);
|
|
54
91
|
}
|
package/dist/utils/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;AAEzE,wFAAwF;AACxF,4FAA4F;AAC5F,yEAAyE;AACzE,MAAM,yBAAyB,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAEnE,mDAAmD;AACnD,8DAA8D;AAC9D,SAAS,kBAAkB,CAAC,GAAG,IAAW;IACxC,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,KAAc,EAAE,YAAe;IAC7D,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,mEAAmE;IACnE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;QACtD,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,SAAiB,EAAE,OAAiC;IAClG,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,mEAAmE;IACnE,kBAAkB,CAAC,YAAY,SAAS,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACZ,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,EAAE,EAAE;QACpC,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,gEAAgE,CACtG,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,4CAA4C,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,uCAAuC,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyC,EAAE,QAAkB;IAC5F,0FAA0F;IAC1F,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,wFAAwF;IACxF,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,cAAwB;IAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mFAAmF,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,iCAAiC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Logging System
|
|
3
|
+
*
|
|
4
|
+
* Replaces scattered console.log usage with structured, configurable logging.
|
|
5
|
+
* Integrates with the centralized Config system for environment-aware behavior.
|
|
6
|
+
*/
|
|
7
|
+
export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal";
|
|
8
|
+
export type LogContext = Record<string, unknown>;
|
|
9
|
+
export interface LogEntry {
|
|
10
|
+
readonly timestamp: string;
|
|
11
|
+
readonly level: LogLevel;
|
|
12
|
+
readonly message: string;
|
|
13
|
+
readonly context?: LogContext | undefined;
|
|
14
|
+
readonly component?: string | undefined;
|
|
15
|
+
readonly requestId?: string | undefined;
|
|
16
|
+
readonly siteId?: string | undefined;
|
|
17
|
+
readonly userId?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface LoggerOptions {
|
|
20
|
+
readonly component?: string | undefined;
|
|
21
|
+
readonly context?: LogContext | undefined;
|
|
22
|
+
readonly siteId?: string | undefined;
|
|
23
|
+
readonly requestId?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Main Logger Class
|
|
27
|
+
*/
|
|
28
|
+
export declare class Logger {
|
|
29
|
+
private readonly options;
|
|
30
|
+
constructor(options?: LoggerOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Create child logger with additional context
|
|
33
|
+
*/
|
|
34
|
+
child(additionalOptions: LoggerOptions): Logger;
|
|
35
|
+
/**
|
|
36
|
+
* Log at specific level
|
|
37
|
+
*/
|
|
38
|
+
log(level: LogLevel, message: string, context?: LogContext): void;
|
|
39
|
+
trace(message: string, context?: LogContext): void;
|
|
40
|
+
debug(message: string, context?: LogContext): void;
|
|
41
|
+
info(message: string, context?: LogContext): void;
|
|
42
|
+
warn(message: string, context?: LogContext): void;
|
|
43
|
+
error(message: string, context?: LogContext): void;
|
|
44
|
+
error(error: Error, context?: LogContext): void;
|
|
45
|
+
fatal(message: string, context?: LogContext): void;
|
|
46
|
+
fatal(error: Error, context?: LogContext): void;
|
|
47
|
+
/**
|
|
48
|
+
* Time a function execution
|
|
49
|
+
*/
|
|
50
|
+
time<T>(message: string, fn: () => T): T;
|
|
51
|
+
time<T>(message: string, fn: () => Promise<T>): Promise<T>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Default logger instance
|
|
55
|
+
*/
|
|
56
|
+
export declare const logger: Logger;
|
|
57
|
+
/**
|
|
58
|
+
* Create component-specific logger
|
|
59
|
+
*/
|
|
60
|
+
export declare function createLogger(component: string, options?: Omit<LoggerOptions, "component">): Logger;
|
|
61
|
+
/**
|
|
62
|
+
* Create site-specific logger
|
|
63
|
+
*/
|
|
64
|
+
export declare function createSiteLogger(siteId: string, component?: string | undefined): Logger;
|
|
65
|
+
/**
|
|
66
|
+
* Create request-specific logger
|
|
67
|
+
*/
|
|
68
|
+
export declare function createRequestLogger(requestId: string, component?: string | undefined, siteId?: string | undefined): Logger;
|
|
69
|
+
/**
|
|
70
|
+
* Logger factory for common scenarios
|
|
71
|
+
*/
|
|
72
|
+
export declare const LoggerFactory: {
|
|
73
|
+
/**
|
|
74
|
+
* Create logger for WordPress API operations
|
|
75
|
+
*/
|
|
76
|
+
api: (siteId?: string | undefined) => Logger;
|
|
77
|
+
/**
|
|
78
|
+
* Create logger for cache operations
|
|
79
|
+
*/
|
|
80
|
+
cache: (siteId?: string | undefined) => Logger;
|
|
81
|
+
/**
|
|
82
|
+
* Create logger for tool operations
|
|
83
|
+
*/
|
|
84
|
+
tool: (toolName: string, siteId?: string | undefined) => Logger;
|
|
85
|
+
/**
|
|
86
|
+
* Create logger for authentication
|
|
87
|
+
*/
|
|
88
|
+
auth: (siteId?: string | undefined) => Logger;
|
|
89
|
+
/**
|
|
90
|
+
* Create logger for configuration
|
|
91
|
+
*/
|
|
92
|
+
config: () => Logger;
|
|
93
|
+
/**
|
|
94
|
+
* Create logger for security operations
|
|
95
|
+
*/
|
|
96
|
+
security: () => Logger;
|
|
97
|
+
/**
|
|
98
|
+
* Create logger for performance monitoring
|
|
99
|
+
*/
|
|
100
|
+
performance: () => Logger;
|
|
101
|
+
/**
|
|
102
|
+
* Create logger for server operations
|
|
103
|
+
*/
|
|
104
|
+
server: () => Logger;
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Logging System
|
|
3
|
+
*
|
|
4
|
+
* Replaces scattered console.log usage with structured, configurable logging.
|
|
5
|
+
* Integrates with the centralized Config system for environment-aware behavior.
|
|
6
|
+
*/
|
|
7
|
+
import { ConfigHelpers } from "../config/Config.js";
|
|
8
|
+
/**
|
|
9
|
+
* Log level priorities (higher number = more important)
|
|
10
|
+
*/
|
|
11
|
+
const LOG_LEVELS = {
|
|
12
|
+
trace: 0,
|
|
13
|
+
debug: 1,
|
|
14
|
+
info: 2,
|
|
15
|
+
warn: 3,
|
|
16
|
+
error: 4,
|
|
17
|
+
fatal: 5,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Get minimum log level from configuration
|
|
21
|
+
*/
|
|
22
|
+
function getMinLogLevel() {
|
|
23
|
+
const configInstance = ConfigHelpers.get();
|
|
24
|
+
const appConfig = configInstance.get();
|
|
25
|
+
const configLevel = appConfig.debug.logLevel.toLowerCase();
|
|
26
|
+
return LOG_LEVELS[configLevel] !== undefined ? configLevel : "info";
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if log level should be output
|
|
30
|
+
*/
|
|
31
|
+
function shouldLog(level) {
|
|
32
|
+
const minLevel = getMinLogLevel();
|
|
33
|
+
return LOG_LEVELS[level] >= LOG_LEVELS[minLevel];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Format log entry for output
|
|
37
|
+
*/
|
|
38
|
+
function formatLogEntry(entry) {
|
|
39
|
+
const timestamp = entry.timestamp;
|
|
40
|
+
const level = entry.level.toUpperCase().padEnd(5);
|
|
41
|
+
const component = entry.component ? `[${entry.component}]` : "";
|
|
42
|
+
const siteId = entry.siteId ? `{site:${entry.siteId}}` : "";
|
|
43
|
+
const requestId = entry.requestId ? `{req:${entry.requestId.slice(0, 8)}}` : "";
|
|
44
|
+
let message = `${timestamp} ${level} ${component}${siteId}${requestId} ${entry.message}`;
|
|
45
|
+
if (entry.context && Object.keys(entry.context).length > 0) {
|
|
46
|
+
const contextStr = JSON.stringify(entry.context);
|
|
47
|
+
message += ` ${contextStr}`;
|
|
48
|
+
}
|
|
49
|
+
return message;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Sanitize sensitive data from log context
|
|
53
|
+
*/
|
|
54
|
+
function sanitizeContext(context) {
|
|
55
|
+
const sanitized = {};
|
|
56
|
+
for (const [key, value] of Object.entries(context)) {
|
|
57
|
+
const keyLower = key.toLowerCase();
|
|
58
|
+
const isSensitive = keyLower.includes("password") ||
|
|
59
|
+
keyLower.includes("secret") ||
|
|
60
|
+
keyLower.includes("token") ||
|
|
61
|
+
keyLower.includes("key") ||
|
|
62
|
+
keyLower.includes("credential");
|
|
63
|
+
if (isSensitive) {
|
|
64
|
+
if (typeof value === "string") {
|
|
65
|
+
sanitized[key] = value.length > 0 ? `[REDACTED:${value.length}chars]` : "[EMPTY]";
|
|
66
|
+
}
|
|
67
|
+
else if (Array.isArray(value)) {
|
|
68
|
+
sanitized[key] = "[EMPTY]"; // Redact entire array for sensitive fields
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
sanitized[key] = value; // Keep non-string, non-array values as-is
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
sanitized[key] = value;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return sanitized;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Output log entry to appropriate destination
|
|
82
|
+
*/
|
|
83
|
+
function outputLog(entry) {
|
|
84
|
+
// In test environment, only log errors and fatals
|
|
85
|
+
if (ConfigHelpers.isTest() && LOG_LEVELS[entry.level] < LOG_LEVELS.error) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// In DXT mode, suppress most logging
|
|
89
|
+
if (ConfigHelpers.isDXT() && LOG_LEVELS[entry.level] < LOG_LEVELS.warn) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const formatted = formatLogEntry(entry);
|
|
93
|
+
// Use stderr for all log output to avoid STDIO interference
|
|
94
|
+
console.error(formatted);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Main Logger Class
|
|
98
|
+
*/
|
|
99
|
+
export class Logger {
|
|
100
|
+
options;
|
|
101
|
+
constructor(options = {}) {
|
|
102
|
+
this.options = options;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create child logger with additional context
|
|
106
|
+
*/
|
|
107
|
+
child(additionalOptions) {
|
|
108
|
+
return new Logger({
|
|
109
|
+
component: additionalOptions.component ?? this.options.component,
|
|
110
|
+
siteId: additionalOptions.siteId ?? this.options.siteId,
|
|
111
|
+
requestId: additionalOptions.requestId ?? this.options.requestId,
|
|
112
|
+
context: {
|
|
113
|
+
...this.options.context,
|
|
114
|
+
...additionalOptions.context,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Log at specific level
|
|
120
|
+
*/
|
|
121
|
+
log(level, message, context) {
|
|
122
|
+
if (!shouldLog(level)) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const mergedContext = context ? sanitizeContext({ ...this.options.context, ...context }) : this.options.context;
|
|
126
|
+
const entry = {
|
|
127
|
+
timestamp: new Date().toISOString(),
|
|
128
|
+
level,
|
|
129
|
+
message,
|
|
130
|
+
...(mergedContext && Object.keys(mergedContext).length > 0 && { context: mergedContext }),
|
|
131
|
+
...(this.options.component && { component: this.options.component }),
|
|
132
|
+
...(this.options.requestId && { requestId: this.options.requestId }),
|
|
133
|
+
...(this.options.siteId && { siteId: this.options.siteId }),
|
|
134
|
+
};
|
|
135
|
+
outputLog(entry);
|
|
136
|
+
}
|
|
137
|
+
// Convenience methods
|
|
138
|
+
trace(message, context) {
|
|
139
|
+
this.log("trace", message, context);
|
|
140
|
+
}
|
|
141
|
+
debug(message, context) {
|
|
142
|
+
this.log("debug", message, context);
|
|
143
|
+
}
|
|
144
|
+
info(message, context) {
|
|
145
|
+
this.log("info", message, context);
|
|
146
|
+
}
|
|
147
|
+
warn(message, context) {
|
|
148
|
+
this.log("warn", message, context);
|
|
149
|
+
}
|
|
150
|
+
error(messageOrError, context) {
|
|
151
|
+
if (messageOrError instanceof Error) {
|
|
152
|
+
this.log("error", messageOrError.message, {
|
|
153
|
+
...context,
|
|
154
|
+
errorName: messageOrError.name,
|
|
155
|
+
errorStack: messageOrError.stack,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this.log("error", messageOrError, context);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
fatal(messageOrError, context) {
|
|
163
|
+
if (messageOrError instanceof Error) {
|
|
164
|
+
this.log("fatal", messageOrError.message, {
|
|
165
|
+
...context,
|
|
166
|
+
errorName: messageOrError.name,
|
|
167
|
+
errorStack: messageOrError.stack,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
this.log("fatal", messageOrError, context);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
time(message, fn) {
|
|
175
|
+
const start = Date.now();
|
|
176
|
+
this.debug(`Starting: ${message}`);
|
|
177
|
+
try {
|
|
178
|
+
const result = fn();
|
|
179
|
+
// Check if result is a Promise by checking for then method
|
|
180
|
+
if (result && typeof result === "object" && "then" in result) {
|
|
181
|
+
// Cast to Promise<T> since we know it has a then method
|
|
182
|
+
const promiseResult = result;
|
|
183
|
+
return promiseResult
|
|
184
|
+
.then((value) => {
|
|
185
|
+
const duration = Date.now() - start;
|
|
186
|
+
this.debug(`Completed: ${message}`, { duration: `${duration}ms` });
|
|
187
|
+
return value;
|
|
188
|
+
})
|
|
189
|
+
.catch((error) => {
|
|
190
|
+
const duration = Date.now() - start;
|
|
191
|
+
this.error(`Failed: ${message}`, {
|
|
192
|
+
duration: `${duration}ms`,
|
|
193
|
+
error: error instanceof Error ? error.message : String(error),
|
|
194
|
+
});
|
|
195
|
+
throw error;
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const duration = Date.now() - start;
|
|
200
|
+
this.debug(`Completed: ${message}`, { duration: `${duration}ms` });
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
const duration = Date.now() - start;
|
|
206
|
+
this.error(`Failed: ${message}`, {
|
|
207
|
+
duration: `${duration}ms`,
|
|
208
|
+
error: error instanceof Error ? error.message : String(error),
|
|
209
|
+
});
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Default logger instance
|
|
216
|
+
*/
|
|
217
|
+
export const logger = new Logger();
|
|
218
|
+
/**
|
|
219
|
+
* Create component-specific logger
|
|
220
|
+
*/
|
|
221
|
+
export function createLogger(component, options = {}) {
|
|
222
|
+
return new Logger({ ...options, component });
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Create site-specific logger
|
|
226
|
+
*/
|
|
227
|
+
export function createSiteLogger(siteId, component) {
|
|
228
|
+
return new Logger({
|
|
229
|
+
siteId,
|
|
230
|
+
...(component && { component }),
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Create request-specific logger
|
|
235
|
+
*/
|
|
236
|
+
export function createRequestLogger(requestId, component, siteId) {
|
|
237
|
+
return new Logger({
|
|
238
|
+
requestId,
|
|
239
|
+
...(component && { component }),
|
|
240
|
+
...(siteId && { siteId }),
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Logger factory for common scenarios
|
|
245
|
+
*/
|
|
246
|
+
export const LoggerFactory = {
|
|
247
|
+
/**
|
|
248
|
+
* Create logger for WordPress API operations
|
|
249
|
+
*/
|
|
250
|
+
api: (siteId) => createLogger("API", siteId ? { siteId } : {}),
|
|
251
|
+
/**
|
|
252
|
+
* Create logger for cache operations
|
|
253
|
+
*/
|
|
254
|
+
cache: (siteId) => createLogger("CACHE", siteId ? { siteId } : {}),
|
|
255
|
+
/**
|
|
256
|
+
* Create logger for tool operations
|
|
257
|
+
*/
|
|
258
|
+
tool: (toolName, siteId) => createLogger(`TOOL:${toolName}`, siteId ? { siteId } : {}),
|
|
259
|
+
/**
|
|
260
|
+
* Create logger for authentication
|
|
261
|
+
*/
|
|
262
|
+
auth: (siteId) => createLogger("AUTH", siteId ? { siteId } : {}),
|
|
263
|
+
/**
|
|
264
|
+
* Create logger for configuration
|
|
265
|
+
*/
|
|
266
|
+
config: () => createLogger("CONFIG"),
|
|
267
|
+
/**
|
|
268
|
+
* Create logger for security operations
|
|
269
|
+
*/
|
|
270
|
+
security: () => createLogger("SECURITY"),
|
|
271
|
+
/**
|
|
272
|
+
* Create logger for performance monitoring
|
|
273
|
+
*/
|
|
274
|
+
performance: () => createLogger("PERF"),
|
|
275
|
+
/**
|
|
276
|
+
* Create logger for server operations
|
|
277
|
+
*/
|
|
278
|
+
server: () => createLogger("SERVER"),
|
|
279
|
+
};
|
|
280
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
export interface StreamingOptions {
|
|
6
6
|
batchSize?: number;
|
|
7
7
|
delay?: number;
|
|
8
|
-
transformItem?: (item:
|
|
9
|
-
filterItem?: (item:
|
|
8
|
+
transformItem?: (item: unknown) => unknown;
|
|
9
|
+
filterItem?: (item: unknown) => boolean;
|
|
10
10
|
}
|
|
11
11
|
export interface StreamingResult<T> {
|
|
12
12
|
data: T[];
|
|
@@ -43,28 +43,28 @@ export declare class WordPressDataStreamer {
|
|
|
43
43
|
/**
|
|
44
44
|
* Streams WordPress posts with author and taxonomy information
|
|
45
45
|
*/
|
|
46
|
-
static streamPosts(posts:
|
|
46
|
+
static streamPosts(posts: unknown[], options?: {
|
|
47
47
|
includeAuthor?: boolean;
|
|
48
48
|
includeCategories?: boolean;
|
|
49
49
|
includeTags?: boolean;
|
|
50
50
|
batchSize?: number;
|
|
51
|
-
}): AsyncGenerator<StreamingResult<
|
|
51
|
+
}): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
|
|
52
52
|
/**
|
|
53
53
|
* Streams WordPress users with role information
|
|
54
54
|
*/
|
|
55
|
-
static streamUsers(users:
|
|
55
|
+
static streamUsers(users: unknown[], options?: {
|
|
56
56
|
includeRoles?: boolean;
|
|
57
57
|
includeCapabilities?: boolean;
|
|
58
58
|
batchSize?: number;
|
|
59
|
-
}): AsyncGenerator<StreamingResult<
|
|
59
|
+
}): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
|
|
60
60
|
/**
|
|
61
61
|
* Streams WordPress comments with moderation status
|
|
62
62
|
*/
|
|
63
|
-
static streamComments(comments:
|
|
63
|
+
static streamComments(comments: unknown[], options?: {
|
|
64
64
|
includeAuthor?: boolean;
|
|
65
65
|
includePost?: boolean;
|
|
66
66
|
batchSize?: number;
|
|
67
|
-
}): AsyncGenerator<StreamingResult<
|
|
67
|
+
}): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Utility functions for streaming responses
|
|
@@ -73,7 +73,7 @@ export declare class StreamingUtils {
|
|
|
73
73
|
/**
|
|
74
74
|
* Formats streaming results for display
|
|
75
75
|
*/
|
|
76
|
-
static formatStreamingResponse(results: StreamingResult<
|
|
76
|
+
static formatStreamingResponse(results: StreamingResult<unknown>[], type?: "posts" | "users" | "comments" | "media"): string;
|
|
77
77
|
/**
|
|
78
78
|
* Implements progressive loading for large datasets
|
|
79
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"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"}
|