@apify/actors-mcp-server 0.9.19-beta.2 → 0.9.19-beta.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/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +46 -20
- package/dist/mcp/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/logging.d.ts +4 -2
- package/dist/utils/logging.d.ts.map +1 -1
- package/dist/utils/logging.js +51 -10
- package/dist/utils/logging.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/logging.d.ts
CHANGED
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare function getHttpStatusCode(error: unknown): number | undefined;
|
|
6
6
|
/**
|
|
7
|
-
* Logs HTTP
|
|
8
|
-
*
|
|
7
|
+
* Logs HTTP or MCP errors at the appropriate level:
|
|
8
|
+
* - Client errors (HTTP < 500, or JSON-RPC client/transient codes) → softFail (no stack).
|
|
9
|
+
* - Server errors (HTTP >= 500, or JSON-RPC server codes) → exception (with stack).
|
|
10
|
+
* - Anything unclassifiable → error.
|
|
9
11
|
*
|
|
10
12
|
* @param error - The error object
|
|
11
13
|
* @param message - The log message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsBpE;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAgC9F;AASD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAU3D"}
|
package/dist/utils/logging.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
1
2
|
import log from '@apify/log';
|
|
2
3
|
/**
|
|
3
4
|
* Safely extract HTTP status code from errors.
|
|
@@ -24,8 +25,34 @@ export function getHttpStatusCode(error) {
|
|
|
24
25
|
return undefined;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
28
|
+
* Client/caller faults and transient transport conditions that shouldn't trigger error alerts.
|
|
29
|
+
* Anything else in the JSON-RPC reserved range (-32768..-32000) is treated as a server fault.
|
|
30
|
+
*/
|
|
31
|
+
const SOFT_MCP_ERROR_CODES = new Set([
|
|
32
|
+
ErrorCode.ParseError,
|
|
33
|
+
ErrorCode.InvalidRequest,
|
|
34
|
+
ErrorCode.MethodNotFound,
|
|
35
|
+
ErrorCode.InvalidParams,
|
|
36
|
+
ErrorCode.ConnectionClosed,
|
|
37
|
+
ErrorCode.RequestTimeout,
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Extract a JSON-RPC error code from an `McpError`-shaped object.
|
|
41
|
+
* Returns `undefined` if the `code` field is absent or outside the JSON-RPC reserved range.
|
|
42
|
+
*/
|
|
43
|
+
function getMcpErrorCode(error) {
|
|
44
|
+
if (typeof error !== 'object' || error === null || !('code' in error))
|
|
45
|
+
return undefined;
|
|
46
|
+
const { code } = error;
|
|
47
|
+
if (typeof code === 'number' && code >= -32768 && code <= -32000)
|
|
48
|
+
return code;
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Logs HTTP or MCP errors at the appropriate level:
|
|
53
|
+
* - Client errors (HTTP < 500, or JSON-RPC client/transient codes) → softFail (no stack).
|
|
54
|
+
* - Server errors (HTTP >= 500, or JSON-RPC server codes) → exception (with stack).
|
|
55
|
+
* - Anything unclassifiable → error.
|
|
29
56
|
*
|
|
30
57
|
* @param error - The error object
|
|
31
58
|
* @param message - The log message
|
|
@@ -33,20 +60,34 @@ export function getHttpStatusCode(error) {
|
|
|
33
60
|
*/
|
|
34
61
|
export function logHttpError(error, message, data) {
|
|
35
62
|
const statusCode = getHttpStatusCode(error);
|
|
36
|
-
const
|
|
63
|
+
const rawErrorMessage = error instanceof Error ? error.message : String(error);
|
|
64
|
+
// Mezmo (logDNA) promotes log entries to error level when message/keys contain "error".
|
|
65
|
+
// Sanitize for softFail paths (see CONTRIBUTING.md § Logging → Mezmo promotion rule).
|
|
66
|
+
const softErrMessage = rawErrorMessage.replace(/ error:/gi, ' failure:');
|
|
37
67
|
if (statusCode !== undefined && statusCode < 500) {
|
|
38
|
-
//
|
|
39
|
-
log.softFail(message, { errMessage:
|
|
68
|
+
// HTTP client errors (< 500) - softFail without stack trace
|
|
69
|
+
log.softFail(message, { errMessage: softErrMessage, statusCode, ...data });
|
|
70
|
+
return;
|
|
40
71
|
}
|
|
41
|
-
|
|
42
|
-
//
|
|
72
|
+
if (statusCode !== undefined && statusCode >= 500) {
|
|
73
|
+
// HTTP server errors (>= 500) - exception with full error (includes stack trace)
|
|
43
74
|
const errorObj = error instanceof Error ? error : new Error(String(error));
|
|
44
75
|
log.exception(errorObj, message, { statusCode, ...data });
|
|
76
|
+
return;
|
|
45
77
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
78
|
+
const mcpErrorCode = getMcpErrorCode(error);
|
|
79
|
+
if (mcpErrorCode !== undefined) {
|
|
80
|
+
if (SOFT_MCP_ERROR_CODES.has(mcpErrorCode)) {
|
|
81
|
+
log.softFail(message, { errMessage: softErrMessage, mcpErrorCode, ...data });
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const errorObj = error instanceof Error ? error : new Error(String(error));
|
|
85
|
+
log.exception(errorObj, message, { mcpErrorCode, ...data });
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
49
88
|
}
|
|
89
|
+
// No status code available - log as error
|
|
90
|
+
log.error(message, { error, ...data });
|
|
50
91
|
}
|
|
51
92
|
const SKYFIRE_PAY_ID_KEY = 'skyfire-pay-id';
|
|
52
93
|
const REDACTED_VALUE = '[REDACTED]';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uDAAuD;IACvD,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,UAAU,EAAE,GAAI,KAAkC,CAAC;QAC3D,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC1E,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,IAAI,EAAE,GAAI,KAA4B,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"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"}
|