@aifabrix/miso-client 4.1.0 → 4.3.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/express/client-token-endpoint.d.ts +0 -12
  3. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  4. package/dist/express/client-token-endpoint.js +97 -218
  5. package/dist/express/client-token-endpoint.js.map +1 -1
  6. package/dist/express/error-handler.d.ts +1 -4
  7. package/dist/express/error-handler.d.ts.map +1 -1
  8. package/dist/express/error-handler.js +39 -84
  9. package/dist/express/error-handler.js.map +1 -1
  10. package/dist/express/error-response.d.ts.map +1 -1
  11. package/dist/express/error-response.js +2 -0
  12. package/dist/express/error-response.js.map +1 -1
  13. package/dist/express/error-types.d.ts +1 -3
  14. package/dist/express/error-types.d.ts.map +1 -1
  15. package/dist/express/error-types.js +17 -37
  16. package/dist/express/error-types.js.map +1 -1
  17. package/dist/express/logger-context.middleware.d.ts +7 -21
  18. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  19. package/dist/express/logger-context.middleware.js +25 -62
  20. package/dist/express/logger-context.middleware.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/services/auth.service.d.ts +18 -20
  26. package/dist/services/auth.service.d.ts.map +1 -1
  27. package/dist/services/auth.service.js +63 -38
  28. package/dist/services/auth.service.js.map +1 -1
  29. package/dist/services/permission.service.d.ts +8 -1
  30. package/dist/services/permission.service.d.ts.map +1 -1
  31. package/dist/services/permission.service.js +49 -60
  32. package/dist/services/permission.service.js.map +1 -1
  33. package/dist/services/role.service.d.ts +8 -1
  34. package/dist/services/role.service.d.ts.map +1 -1
  35. package/dist/services/role.service.js +44 -47
  36. package/dist/services/role.service.js.map +1 -1
  37. package/dist/types/config.types.d.ts +3 -0
  38. package/dist/types/config.types.d.ts.map +1 -1
  39. package/dist/types/config.types.js.map +1 -1
  40. package/dist/types/errors.types.d.ts +7 -0
  41. package/dist/types/errors.types.d.ts.map +1 -1
  42. package/dist/utils/client-token-manager.d.ts +68 -0
  43. package/dist/utils/client-token-manager.d.ts.map +1 -0
  44. package/dist/utils/client-token-manager.js +219 -0
  45. package/dist/utils/client-token-manager.js.map +1 -0
  46. package/dist/utils/config-loader.d.ts.map +1 -1
  47. package/dist/utils/config-loader.js +78 -97
  48. package/dist/utils/config-loader.js.map +1 -1
  49. package/dist/utils/data-client.d.ts +6 -0
  50. package/dist/utils/data-client.d.ts.map +1 -1
  51. package/dist/utils/data-client.js +40 -39
  52. package/dist/utils/data-client.js.map +1 -1
  53. package/dist/utils/errors.d.ts +4 -2
  54. package/dist/utils/errors.d.ts.map +1 -1
  55. package/dist/utils/errors.js +41 -61
  56. package/dist/utils/errors.js.map +1 -1
  57. package/dist/utils/http-client.d.ts +47 -2
  58. package/dist/utils/http-client.d.ts.map +1 -1
  59. package/dist/utils/http-client.js +47 -7
  60. package/dist/utils/http-client.js.map +1 -1
  61. package/dist/utils/http-error-handler.d.ts +9 -1
  62. package/dist/utils/http-error-handler.d.ts.map +1 -1
  63. package/dist/utils/http-error-handler.js +32 -1
  64. package/dist/utils/http-error-handler.js.map +1 -1
  65. package/dist/utils/internal-http-client.d.ts +63 -21
  66. package/dist/utils/internal-http-client.d.ts.map +1 -1
  67. package/dist/utils/internal-http-client.js +130 -277
  68. package/dist/utils/internal-http-client.js.map +1 -1
  69. package/package.json +1 -1
@@ -20,53 +20,32 @@ let customErrorLogger = null;
20
20
  function setErrorLogger(logger) {
21
21
  customErrorLogger = logger;
22
22
  }
23
- /**
24
- * Map error to appropriate HTTP status code
25
- */
23
+ /** Prisma error code to HTTP status mapping */
24
+ const PRISMA_ERROR_MAP = { P2002: 409, P2025: 404, P2003: 400 };
25
+ /** Error message patterns to HTTP status mapping */
26
+ const MESSAGE_PATTERN_MAP = [
27
+ { pattern: /not found/i, status: 404 },
28
+ { pattern: /already exists|duplicate/i, status: 409 },
29
+ { pattern: /validation|invalid/i, status: 400 },
30
+ { pattern: /unauthorized|authentication/i, status: 401 },
31
+ { pattern: /forbidden|permission/i, status: 403 },
32
+ ];
33
+ /** Map error to appropriate HTTP status code */
26
34
  function mapErrorToStatusCode(error) {
27
- // AppError uses its statusCode
28
- if (error instanceof error_types_1.AppError) {
35
+ if (error instanceof error_types_1.AppError)
29
36
  return error.statusCode;
30
- }
31
- // Prisma errors (duck typing - no import needed)
37
+ // Prisma errors
32
38
  if (error && typeof error === "object" && "code" in error) {
33
- const code = error.code;
34
- // Support Prisma error codes without importing Prisma
35
- if (code === "P2002") {
36
- // Unique constraint violation
37
- return 409;
38
- }
39
- if (code === "P2025") {
40
- // Record not found
41
- return 404;
42
- }
43
- if (code === "P2003") {
44
- // Foreign key constraint violation
45
- return 400;
46
- }
47
- }
48
- // Error message patterns
49
- const errorMessage = error instanceof Error ? error.message : String(error || "Unknown error");
50
- if (errorMessage.toLowerCase().includes("not found")) {
51
- return 404;
39
+ const status = PRISMA_ERROR_MAP[error.code];
40
+ if (status)
41
+ return status;
52
42
  }
53
- if (errorMessage.toLowerCase().includes("already exists") ||
54
- errorMessage.toLowerCase().includes("duplicate")) {
55
- return 409;
43
+ // Message pattern matching
44
+ const msg = error instanceof Error ? error.message : String(error || "");
45
+ for (const { pattern, status } of MESSAGE_PATTERN_MAP) {
46
+ if (pattern.test(msg))
47
+ return status;
56
48
  }
57
- if (errorMessage.toLowerCase().includes("validation") ||
58
- errorMessage.toLowerCase().includes("invalid")) {
59
- return 400;
60
- }
61
- if (errorMessage.toLowerCase().includes("unauthorized") ||
62
- errorMessage.toLowerCase().includes("authentication")) {
63
- return 401;
64
- }
65
- if (errorMessage.toLowerCase().includes("forbidden") ||
66
- errorMessage.toLowerCase().includes("permission")) {
67
- return 403;
68
- }
69
- // Default to 500
70
49
  return 500;
71
50
  }
72
51
  /**
@@ -100,65 +79,41 @@ function createErrorResponseFromError(error, statusCode, request, correlationId)
100
79
  }
101
80
  return (0, error_response_1.createErrorResponse)(error, statusCode, request, correlationId, validationErrors);
102
81
  }
103
- /**
104
- * Generic route error handler
105
- * Logs error and sends RFC 7807 compliant error response
106
- */
107
- async function handleRouteError(error, req, res, operation) {
108
- // Extract request context (includes correlation ID from headers)
109
- const requestContext = (0, request_context_1.extractRequestContext)(req);
110
- // Get correlation ID from request property, context, or generate one
111
- const correlationId = req.correlationId ||
112
- requestContext.correlationId ||
113
- generateCorrelationId();
114
- const statusCode = mapErrorToStatusCode(error);
115
- const errorMessage = extractErrorMessage(error);
116
- // Extract structured error info with endpoint and method context
117
- const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
118
- endpoint: req.originalUrl || req.path,
119
- method: req.method,
120
- correlationId,
121
- });
122
- // Log error using custom logger or stderr
123
- const operationName = operation || "unknown operation";
124
- const logMessage = `${operationName} failed: ${errorMessage}`;
125
- // Enhance console logging with structured format
82
+ /** Log error using custom logger or stderr */
83
+ async function logError(error, errorInfo, logMessage, req, correlationId, statusCode, operationName) {
126
84
  (0, console_logger_1.logErrorWithContext)(errorInfo, "[Express]");
127
85
  if (customErrorLogger) {
128
86
  try {
129
87
  await customErrorLogger.logError(logMessage, {
130
- req, // Include request object so logger can use withRequest()
131
- correlationId: errorInfo.correlationId || correlationId,
132
- operation: operationName,
133
- statusCode: errorInfo.statusCode || statusCode,
134
- url: req.originalUrl,
135
- method: req.method,
136
- errorMessage: errorInfo.message,
137
- errorName: errorInfo.errorName,
138
- errorType: errorInfo.errorType,
139
- stack: errorInfo.stackTrace,
88
+ req, correlationId: errorInfo.correlationId || correlationId, operation: operationName,
89
+ statusCode: errorInfo.statusCode || statusCode, url: req.originalUrl, method: req.method,
90
+ errorMessage: errorInfo.message, errorName: errorInfo.errorName, errorType: errorInfo.errorType, stack: errorInfo.stackTrace,
140
91
  });
141
92
  }
142
93
  catch (logError) {
143
- // If logging itself fails, fall back to stderr
144
94
  const logErr = logError instanceof Error ? logError : new Error(String(logError));
145
95
  process.stderr.write(`[ERROR] Failed to log error: ${logErr.message}\n`);
146
- process.stderr.write(`[ERROR] Original error: ${errorMessage}\n`);
96
+ process.stderr.write(`[ERROR] Original error: ${extractErrorMessage(error)}\n`);
147
97
  }
148
98
  }
149
99
  else {
150
- // Fallback to stderr if no logger configured
151
100
  process.stderr.write(`[ERROR] ${logMessage}\n`);
152
- if (error instanceof Error && error.stack) {
101
+ if (error instanceof Error && error.stack)
153
102
  process.stderr.write(`[ERROR] Stack: ${error.stack}\n`);
154
- }
155
103
  }
156
- // Create and send error response
104
+ }
105
+ /** Generic route error handler - logs error and sends RFC 7807 compliant response */
106
+ async function handleRouteError(error, req, res, operation) {
107
+ const requestContext = (0, request_context_1.extractRequestContext)(req);
108
+ const correlationId = req.correlationId || requestContext.correlationId || generateCorrelationId();
109
+ const statusCode = mapErrorToStatusCode(error);
110
+ const errorMessage = extractErrorMessage(error);
111
+ const operationName = operation || "unknown operation";
112
+ const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, { endpoint: req.originalUrl || req.path, method: req.method, correlationId });
113
+ await logError(error, errorInfo, `${operationName} failed: ${errorMessage}`, req, correlationId, statusCode, operationName);
157
114
  const errorResponse = createErrorResponseFromError(error, statusCode, req, correlationId);
158
- // If error is AppError with correlationId, use it
159
- if (error instanceof error_types_1.AppError && error.correlationId) {
115
+ if (error instanceof error_types_1.AppError && error.correlationId)
160
116
  errorResponse.correlationId = error.correlationId;
161
- }
162
117
  (0, error_response_1.sendErrorResponse)(res, errorResponse);
163
118
  }
164
119
  //# sourceMappingURL=error-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../src/express/error-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAkBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACnC,aAAa,CAqCf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,aAAa,GAC3B,IAAI,CAGN"}
1
+ {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../src/express/error-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAmBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAexD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACnC,aAAa,CAqCf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,aAAa,GAC3B,IAAI,CAGN"}
@@ -22,6 +22,7 @@ const ERROR_TYPE_URI_MAP = {
22
22
  429: "/Errors/TooManyRequests",
23
23
  500: "/Errors/InternalServerError",
24
24
  503: "/Errors/ServiceUnavailable",
25
+ 504: "/Errors/GatewayTimeout",
25
26
  };
26
27
  /**
27
28
  * Get error type URI for a given status code
@@ -44,6 +45,7 @@ function getErrorTitle(statusCode) {
44
45
  429: "Too Many Requests",
45
46
  500: "Internal Server Error",
46
47
  503: "Service Unavailable",
48
+ 504: "Gateway Timeout",
47
49
  };
48
50
  return titles[statusCode] || "Internal Server Error";
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.js","sourceRoot":"","sources":["../../src/express/error-response.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2DH,0CAEC;AAKD,sCAcC;AAKD,kDA2CC;AAKD,8CAMC;AAnGD;;GAEG;AACH,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,6BAA6B;IAClC,GAAG,EAAE,yBAAyB;IAC9B,GAAG,EAAE,6BAA6B;IAClC,GAAG,EAAE,4BAA4B;CAClC,CAAC;AAEF;;GAEG;AACH,SAAgB,eAAe,CAAC,UAAkB;IAChD,OAAO,kBAAkB,CAAC,UAAU,CAAC,IAAI,6BAA6B,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAA2B;QACrC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,qBAAqB;KAC3B,CAAC;IACF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAuB,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,KAAc,EACd,UAAkB,EAClB,OAAiB,EACjB,aAAsB,EACtB,gBAAoC;IAEpC,IAAI,YAAoB,CAAC;IACzB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,YAAY,GAAG,mBAAmB,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC;IACtD,CAAC;IAED,kFAAkF;IAClF,kDAAkD;IAClD,MAAM,kBAAkB,GACtB,aAAa;QACZ,OAAgD,EAAE,aAAa;QAC/D,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAY,CAAC;IAEnD,MAAM,aAAa,GAAkB;QACnC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;QACjC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;QAChC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,OAAO,EAAE,WAAW;KAC/B,CAAC;IAEF,oEAAoE;IACpE,IAAI,kBAAkB,EAAE,CAAC;QACvB,aAAa,CAAC,aAAa,GAAG,kBAAkB,CAAC;IACnD,CAAC;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,GAAa,EACb,aAA4B;IAE5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"error-response.js","sourceRoot":"","sources":["../../src/express/error-response.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4DH,0CAEC;AAKD,sCAeC;AAKD,kDA2CC;AAKD,8CAMC;AArGD;;GAEG;AACH,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,6BAA6B;IAClC,GAAG,EAAE,yBAAyB;IAC9B,GAAG,EAAE,6BAA6B;IAClC,GAAG,EAAE,4BAA4B;IACjC,GAAG,EAAE,wBAAwB;CAC9B,CAAC;AAEF;;GAEG;AACH,SAAgB,eAAe,CAAC,UAAkB;IAChD,OAAO,kBAAkB,CAAC,UAAU,CAAC,IAAI,6BAA6B,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAA2B;QACrC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,qBAAqB;QAC1B,GAAG,EAAE,iBAAiB;KACvB,CAAC;IACF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAuB,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,KAAc,EACd,UAAkB,EAClB,OAAiB,EACjB,aAAsB,EACtB,gBAAoC;IAEpC,IAAI,YAAoB,CAAC;IACzB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,YAAY,GAAG,mBAAmB,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC;IACtD,CAAC;IAED,kFAAkF;IAClF,kDAAkD;IAClD,MAAM,kBAAkB,GACtB,aAAa;QACZ,OAAgD,EAAE,aAAa;QAC/D,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAY,CAAC;IAEnD,MAAM,aAAa,GAAkB;QACnC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;QACjC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;QAChC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,OAAO,EAAE,WAAW;KAC/B,CAAC;IAEF,oEAAoE;IACpE,IAAI,kBAAkB,EAAE,CAAC;QACvB,aAAa,CAAC,aAAa,GAAG,kBAAkB,CAAC;IACnD,CAAC;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,GAAa,EACb,aAA4B;IAE5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvD,CAAC"}
@@ -28,9 +28,7 @@ export declare class AppError extends Error implements ApiError {
28
28
  readonly instance?: string;
29
29
  readonly correlationId?: string;
30
30
  constructor(message: string, statusCode?: number, isOperational?: boolean, validationErrors?: ValidationError[], errorType?: string, instance?: string, correlationId?: string);
31
- /**
32
- * Convert AppError to RFC 7807 ErrorResponse format
33
- */
31
+ /** Convert AppError to RFC 7807 ErrorResponse format */
34
32
  toErrorResponse(requestUrl?: string): {
35
33
  type: string;
36
34
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"error-types.d.ts","sourceRoot":"","sources":["../../src/express/error-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,qBAAa,QAAS,SAAQ,KAAM,YAAW,QAAQ;IACrD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,aAAa,EAAE,OAAO,CAAC;IACvC,SAAgB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrD,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;gBAGrC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAY,EACxB,aAAa,GAAE,OAAc,EAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,EACpC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM;IAaxB;;OAEG;IACH,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;KAC5B;CA+CF;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,EACrC,MAAM,CAAC,EACP,UAAU,MAAM,EAChB,gBAAgB,MAAM,KACrB,WAAW,CAAC,CAAC,CAgBf,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,gBAAgB,MAAM,KACrB,WAYF,CAAC"}
1
+ {"version":3,"file":"error-types.d.ts","sourceRoot":"","sources":["../../src/express/error-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACtC;AAiBD,qBAAa,QAAS,SAAQ,KAAM,YAAW,QAAQ;IACrD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,aAAa,EAAE,OAAO,CAAC;IACvC,SAAgB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrD,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;gBAGrC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,EAAE,aAAa,GAAE,OAAc,EACxE,gBAAgB,CAAC,EAAE,eAAe,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAYrG,wDAAwD;IACxD,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;QACpC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;KACvE;CAWF;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,EACrC,MAAM,CAAC,EACP,UAAU,MAAM,EAChB,gBAAgB,MAAM,KACrB,WAAW,CAAC,CAAC,CAgBf,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,gBAAgB,MAAM,KACrB,WAYF,CAAC"}
@@ -5,6 +5,19 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = void 0;
8
+ /** HTTP status to error type URI mapping */
9
+ const ERROR_TYPE_MAP = {
10
+ 400: "/Errors/BadRequest", 401: "/Errors/Unauthorized", 403: "/Errors/Forbidden",
11
+ 404: "/Errors/NotFound", 405: "/Errors/MethodNotAllowed", 409: "/Errors/Conflict",
12
+ 422: "/Errors/UnprocessableEntity", 429: "/Errors/TooManyRequests",
13
+ 500: "/Errors/InternalServerError", 503: "/Errors/ServiceUnavailable",
14
+ };
15
+ /** HTTP status to title mapping */
16
+ const ERROR_TITLE_MAP = {
17
+ 400: "Bad Request", 401: "Unauthorized", 403: "Forbidden", 404: "Not Found",
18
+ 405: "Method Not Allowed", 409: "Conflict", 422: "Unprocessable Entity",
19
+ 429: "Too Many Requests", 500: "Internal Server Error", 503: "Service Unavailable",
20
+ };
8
21
  class AppError extends Error {
9
22
  constructor(message, statusCode = 500, isOperational = true, validationErrors, errorType, instance, correlationId) {
10
23
  super(message);
@@ -16,49 +29,16 @@ class AppError extends Error {
16
29
  this.correlationId = correlationId;
17
30
  Error.captureStackTrace(this, this.constructor);
18
31
  }
19
- /**
20
- * Convert AppError to RFC 7807 ErrorResponse format
21
- */
32
+ /** Convert AppError to RFC 7807 ErrorResponse format */
22
33
  toErrorResponse(requestUrl) {
23
- // Use error type from error if available, otherwise generate from status code
24
- const typeMap = {
25
- 400: "/Errors/BadRequest",
26
- 401: "/Errors/Unauthorized",
27
- 403: "/Errors/Forbidden",
28
- 404: "/Errors/NotFound",
29
- 405: "/Errors/MethodNotAllowed",
30
- 409: "/Errors/Conflict",
31
- 422: "/Errors/UnprocessableEntity",
32
- 429: "/Errors/TooManyRequests",
33
- 500: "/Errors/InternalServerError",
34
- 503: "/Errors/ServiceUnavailable",
35
- };
36
- const titleMap = {
37
- 400: "Bad Request",
38
- 401: "Unauthorized",
39
- 403: "Forbidden",
40
- 404: "Not Found",
41
- 405: "Method Not Allowed",
42
- 409: "Conflict",
43
- 422: "Unprocessable Entity",
44
- 429: "Too Many Requests",
45
- 500: "Internal Server Error",
46
- 503: "Service Unavailable",
47
- };
48
- const type = this.errorType ||
49
- typeMap[this.statusCode] ||
50
- "/Errors/InternalServerError";
51
- const title = titleMap[this.statusCode] || "Internal Server Error";
52
34
  return {
53
- type,
54
- title,
35
+ type: this.errorType || ERROR_TYPE_MAP[this.statusCode] || "/Errors/InternalServerError",
36
+ title: ERROR_TITLE_MAP[this.statusCode] || "Internal Server Error",
55
37
  status: this.statusCode,
56
38
  detail: this.message,
57
39
  instance: this.instance || requestUrl,
58
40
  correlationId: this.correlationId,
59
- errors: this.validationErrors && this.validationErrors.length > 0
60
- ? this.validationErrors
61
- : undefined,
41
+ errors: this.validationErrors && this.validationErrors.length > 0 ? this.validationErrors : undefined,
62
42
  };
63
43
  }
64
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-types.js","sourceRoot":"","sources":["../../src/express/error-types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuBH,MAAa,QAAS,SAAQ,KAAK;IAQjC,YACE,OAAe,EACf,aAAqB,GAAG,EACxB,gBAAyB,IAAI,EAC7B,gBAAoC,EACpC,SAAkB,EAClB,QAAiB,EACjB,aAAsB;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAmB;QASjC,8EAA8E;QAC9E,MAAM,OAAO,GAA2B;YACtC,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,0BAA0B;YAC/B,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,6BAA6B;YAClC,GAAG,EAAE,yBAAyB;YAC9B,GAAG,EAAE,6BAA6B;YAClC,GAAG,EAAE,4BAA4B;SAClC,CAAC;QAEF,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,uBAAuB;YAC5B,GAAG,EAAE,qBAAqB;SAC3B,CAAC;QAEF,MAAM,IAAI,GACR,IAAI,CAAC,SAAS;YACd,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACxB,6BAA6B,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,uBAAuB,CAAC;QAEnE,OAAO;YACL,IAAI;YACJ,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EACJ,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACvB,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;CACF;AAtFD,4BAsFC;AAEM,MAAM,qBAAqB,GAAG,CACnC,IAAO,EACP,OAAgB,EAChB,aAAsB,EACN,EAAE;IAClB,MAAM,QAAQ,GAAmB;QAC/B,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,qBAAqB,yBAoBhC;AAEK,MAAM,mBAAmB,GAAG,CACjC,KAAa,EACb,aAAsB,EACT,EAAE;IACf,MAAM,QAAQ,GAAgB;QAC5B,OAAO,EAAE,KAAK;QACd,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B"}
1
+ {"version":3,"file":"error-types.js","sourceRoot":"","sources":["../../src/express/error-types.ts"],"names":[],"mappings":"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"}
@@ -13,34 +13,20 @@
13
13
  */
14
14
  import { Request, Response, NextFunction } from "express";
15
15
  /**
16
- * Express middleware to set logger context from request
17
- * Extracts context from Request object and sets it in AsyncLocalStorage
18
- * Context is automatically available to all code in the same async context
16
+ * Express middleware to set logger context from request.
17
+ * Extracts context from Request object and sets it in AsyncLocalStorage.
19
18
  *
20
- * ⚠️ SECURITY: This middleware runs SERVER-SIDE ONLY (Node.js Express server)
21
- * It extracts data from server-side Express Request objects, not from client-side code.
22
- *
23
- * ISO 27001 Compliance:
24
- * - Trustworthy fields (server-side): IP address, HTTP method, request path
25
- * - Validated fields: userId, sessionId (extracted from server-validated JWT tokens)
26
- * - Client-provided fields (for logging only): correlationId, userAgent
27
- * - Correlation IDs from headers are client-provided but standard for distributed tracing
28
- * - If no correlation ID provided, server generates a secure server-side ID
29
- * - These fields are used for logging/tracing only, NOT for security decisions
30
- *
31
- * Call this early in middleware chain (after auth middleware if you need JWT context)
19
+ * ⚠️ SECURITY: SERVER-SIDE ONLY middleware. ISO 27001 compliant:
20
+ * - Trustworthy: IP, method, path (from server request)
21
+ * - Validated: userId, sessionId (from server-validated JWT)
22
+ * - Client-provided (logging only): correlationId, userAgent
32
23
  *
33
24
  * @example
34
- * ```typescript
35
- * import { loggerContextMiddleware } from '@aifabrix/miso-client';
36
- *
37
25
  * app.use(loggerContextMiddleware);
38
- *
39
26
  * app.get('/api/users', async (req, res) => {
40
27
  * const logger = getLogger();
41
- * await logger.info('Users list accessed'); // Auto-extracts context from request
28
+ * await logger.info('Users list accessed'); // Auto-extracts context
42
29
  * });
43
- * ```
44
30
  */
45
31
  export declare function loggerContextMiddleware(req: Request, res: Response, next: NextFunction): void;
46
32
  //# sourceMappingURL=logger-context.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-context.middleware.d.ts","sourceRoot":"","sources":["../../src/express/logger-context.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAgB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CA6CN"}
1
+ {"version":3,"file":"logger-context.middleware.d.ts","sourceRoot":"","sources":["../../src/express/logger-context.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAyB1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAG7F"}
@@ -17,83 +17,46 @@ exports.loggerContextMiddleware = loggerContextMiddleware;
17
17
  const unified_logger_factory_1 = require("../services/logger/unified-logger.factory");
18
18
  const request_context_1 = require("../utils/request-context");
19
19
  const logger_context_1 = require("../services/logger/logger-context");
20
- /**
21
- * Generate server-side correlation ID
22
- * Used when client doesn't provide correlation ID in headers
23
- * ISO 27001 compliant: Server-generated, not client-provided
24
- */
20
+ /** Generate server-side correlation ID (ISO 27001 compliant) */
25
21
  function generateServerCorrelationId() {
26
- const timestamp = Date.now();
27
- const random = Math.random().toString(36).substring(2, 8);
28
- return `server-${timestamp}-${random}`;
22
+ return `server-${Date.now()}-${Math.random().toString(36).substring(2, 8)}`;
23
+ }
24
+ /** Build logger context from request and JWT data */
25
+ function buildLoggerContext(req) {
26
+ const requestContext = (0, request_context_1.extractRequestContext)(req);
27
+ const token = req.headers.authorization?.replace("Bearer ", "");
28
+ const jwtContext = token ? (0, logger_context_1.extractJwtContext)(token) : {};
29
+ const correlationId = requestContext.correlationId || generateServerCorrelationId();
30
+ return {
31
+ ipAddress: requestContext.ipAddress, method: requestContext.method, path: requestContext.path,
32
+ userId: requestContext.userId || jwtContext.userId, sessionId: requestContext.sessionId || jwtContext.sessionId,
33
+ applicationId: jwtContext.applicationId, userAgent: requestContext.userAgent,
34
+ correlationId, requestId: requestContext.requestId, token,
35
+ };
29
36
  }
30
37
  /**
31
- * Express middleware to set logger context from request
32
- * Extracts context from Request object and sets it in AsyncLocalStorage
33
- * Context is automatically available to all code in the same async context
38
+ * Express middleware to set logger context from request.
39
+ * Extracts context from Request object and sets it in AsyncLocalStorage.
34
40
  *
35
- * ⚠️ SECURITY: This middleware runs SERVER-SIDE ONLY (Node.js Express server)
36
- * It extracts data from server-side Express Request objects, not from client-side code.
37
- *
38
- * ISO 27001 Compliance:
39
- * - Trustworthy fields (server-side): IP address, HTTP method, request path
40
- * - Validated fields: userId, sessionId (extracted from server-validated JWT tokens)
41
- * - Client-provided fields (for logging only): correlationId, userAgent
42
- * - Correlation IDs from headers are client-provided but standard for distributed tracing
43
- * - If no correlation ID provided, server generates a secure server-side ID
44
- * - These fields are used for logging/tracing only, NOT for security decisions
45
- *
46
- * Call this early in middleware chain (after auth middleware if you need JWT context)
41
+ * ⚠️ SECURITY: SERVER-SIDE ONLY middleware. ISO 27001 compliant:
42
+ * - Trustworthy: IP, method, path (from server request)
43
+ * - Validated: userId, sessionId (from server-validated JWT)
44
+ * - Client-provided (logging only): correlationId, userAgent
47
45
  *
48
46
  * @example
49
- * ```typescript
50
- * import { loggerContextMiddleware } from '@aifabrix/miso-client';
51
- *
52
47
  * app.use(loggerContextMiddleware);
53
- *
54
48
  * app.get('/api/users', async (req, res) => {
55
49
  * const logger = getLogger();
56
- * await logger.info('Users list accessed'); // Auto-extracts context from request
50
+ * await logger.info('Users list accessed'); // Auto-extracts context
57
51
  * });
58
- * ```
59
52
  */
60
53
  function loggerContextMiddleware(req, res, next) {
61
54
  try {
62
- // Extract request context (IP, method, path, userAgent, correlationId, etc.)
63
- // NOTE: IP address, method, and path come from server-side Express Request object (trustworthy)
64
- const requestContext = (0, request_context_1.extractRequestContext)(req);
65
- // Extract JWT context if token is available
66
- // NOTE: JWT tokens are validated by server before extraction (trustworthy)
67
- const token = req.headers.authorization?.replace("Bearer ", "");
68
- const jwtContext = token ? (0, logger_context_1.extractJwtContext)(token) : {};
69
- // ISO 27001: Generate server-side correlation ID if client doesn't provide one
70
- // Client-provided correlation IDs are acceptable for distributed tracing but not for security
71
- // Server-generated IDs ensure traceability without relying on client input
72
- const correlationId = requestContext.correlationId || generateServerCorrelationId();
73
- // Set context in AsyncLocalStorage
74
- // This context will be available to all code in the same async context
75
- (0, unified_logger_factory_1.setLoggerContext)({
76
- // Server-trustworthy fields (from server-side Express Request)
77
- ipAddress: requestContext.ipAddress, // From req.ip or req.socket.remoteAddress (server-side)
78
- method: requestContext.method, // From req.method (server-side)
79
- path: requestContext.path, // From req.originalUrl or req.path (server-side)
80
- // Server-validated fields (from validated JWT tokens)
81
- userId: requestContext.userId || jwtContext.userId, // From validated JWT token
82
- sessionId: requestContext.sessionId || jwtContext.sessionId, // From validated JWT token
83
- applicationId: jwtContext.applicationId, // From validated JWT token
84
- // Client-provided fields (for logging/tracing only, not for security decisions)
85
- userAgent: requestContext.userAgent, // From User-Agent header (client-provided, standard for logging)
86
- correlationId: correlationId, // Server-generated if not provided (ISO 27001 compliant)
87
- requestId: requestContext.requestId, // From x-request-id header (client-provided, for tracing)
88
- // Store token for later extraction if needed (already validated by server)
89
- token: token,
90
- });
55
+ (0, unified_logger_factory_1.setLoggerContext)(buildLoggerContext(req));
91
56
  next();
92
57
  }
93
- catch (error) {
94
- // If context extraction fails, continue without context
95
- // Don't break the request flow
58
+ catch {
96
59
  next();
97
- }
60
+ } // Continue without context if extraction fails
98
61
  }
99
62
  //# sourceMappingURL=logger-context.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-context.middleware.js","sourceRoot":"","sources":["../../src/express/logger-context.middleware.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAgDH,0DAiDC;AA9FD,sFAA6E;AAC7E,8DAAiE;AACjE,sEAAsE;AAEtE;;;;GAIG;AACH,SAAS,2BAA2B;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,UAAU,SAAS,IAAI,MAAM,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,uBAAuB,CACrC,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,IAAI,CAAC;QACH,6EAA6E;QAC7E,gGAAgG;QAChG,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;QAElD,4CAA4C;QAC5C,2EAA2E;QAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,kCAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzD,+EAA+E;QAC/E,8FAA8F;QAC9F,2EAA2E;QAC3E,MAAM,aAAa,GACjB,cAAc,CAAC,aAAa,IAAI,2BAA2B,EAAE,CAAC;QAEhE,mCAAmC;QACnC,uEAAuE;QACvE,IAAA,yCAAgB,EAAC;YACf,+DAA+D;YAC/D,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,wDAAwD;YAC7F,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,gCAAgC;YAC/D,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,iDAAiD;YAE5E,sDAAsD;YACtD,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,2BAA2B;YAC/E,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,2BAA2B;YACxF,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,2BAA2B;YAEpE,gFAAgF;YAChF,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,iEAAiE;YACtG,aAAa,EAAE,aAAa,EAAE,yDAAyD;YACvF,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,0DAA0D;YAE/F,2EAA2E;YAC3E,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wDAAwD;QACxD,+BAA+B;QAC/B,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"logger-context.middleware.js","sourceRoot":"","sources":["../../src/express/logger-context.middleware.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AA2CH,0DAGC;AA3CD,sFAA6E;AAC7E,8DAAiE;AACjE,sEAAsE;AAEtE,gEAAgE;AAChE,SAAS,2BAA2B;IAClC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,qDAAqD;AACrD,SAAS,kBAAkB,CAAC,GAAY;IACtC,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,kCAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,IAAI,2BAA2B,EAAE,CAAC;IAEpF,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI;QAC7F,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS;QAC/G,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS;QAC5E,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,KAAK;KAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACrF,IAAI,CAAC;QAAC,IAAA,yCAAgB,EAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAC1D,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC;IAAC,CAAC,CAAC,+CAA+C;AACnE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -136,7 +136,8 @@ export * from "./types/pagination.types";
136
136
  export * from "./types/filter.types";
137
137
  export * from "./types/filter-schema.types";
138
138
  export * from "./types/sort.types";
139
- export type { ErrorResponse as ErrorResponseFromErrors, ErrorEnvelope, } from "./types/errors.types";
139
+ export type { ErrorResponse as ErrorResponseFromErrors, ErrorEnvelope, AuthErrorMethod, } from "./types/errors.types";
140
+ export { detectAuthMethodFromHeaders } from "./utils/http-error-handler";
140
141
  export { AuthService } from "./services/auth.service";
141
142
  export { RoleService } from "./services/role.service";
142
143
  export { PermissionService } from "./services/permission.service";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,8 +17,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getCachedDataClientConfig = exports.autoInitializeDataClient = exports.dataClient = exports.DataClient = exports.loggerContextMiddleware = exports.hasConfig = exports.createClientTokenEndpoint = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.EncryptionError = exports.EncryptionService = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.extractRequestContext = exports.extractLoggingContext = exports.validateUrl = exports.isBrowser = exports.resolveKeycloakUrl = exports.resolveControllerUrl = exports.extractClientTokenInfo = exports.getEnvironmentToken = exports.validateOrigin = exports.loadConfig = exports.mergeLoggerContext = exports.clearLoggerContext = exports.setLoggerContext = exports.getLogger = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.BrowserRoleService = exports.BrowserPermissionService = exports.PermissionService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
21
- exports.TokenValidationService = void 0;
20
+ exports.autoInitializeDataClient = exports.dataClient = exports.DataClient = exports.loggerContextMiddleware = exports.hasConfig = exports.createClientTokenEndpoint = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.EncryptionError = exports.EncryptionService = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.extractRequestContext = exports.extractLoggingContext = exports.validateUrl = exports.isBrowser = exports.resolveKeycloakUrl = exports.resolveControllerUrl = exports.extractClientTokenInfo = exports.getEnvironmentToken = exports.validateOrigin = exports.loadConfig = exports.mergeLoggerContext = exports.clearLoggerContext = exports.setLoggerContext = exports.getLogger = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.BrowserRoleService = exports.BrowserPermissionService = exports.PermissionService = exports.RoleService = exports.AuthService = exports.detectAuthMethodFromHeaders = exports.MisoClient = void 0;
21
+ exports.TokenValidationService = exports.getCachedDataClientConfig = void 0;
22
22
  const auth_service_1 = require("./services/auth.service");
23
23
  const role_service_1 = require("./services/role.service");
24
24
  const permission_service_1 = require("./services/permission.service");
@@ -285,6 +285,9 @@ __exportStar(require("./types/pagination.types"), exports);
285
285
  __exportStar(require("./types/filter.types"), exports);
286
286
  __exportStar(require("./types/filter-schema.types"), exports);
287
287
  __exportStar(require("./types/sort.types"), exports);
288
+ // Export detectAuthMethodFromHeaders helper for advanced usage
289
+ var http_error_handler_1 = require("./utils/http-error-handler");
290
+ Object.defineProperty(exports, "detectAuthMethodFromHeaders", { enumerable: true, get: function () { return http_error_handler_1.detectAuthMethodFromHeaders; } });
288
291
  // Export services for advanced usage
289
292
  var auth_service_2 = require("./services/auth.service");
290
293
  Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_service_2.AuthService; } });