@zuens2020/back-agent-mcp 2.0.3 → 2.0.5
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/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9,15 +9,20 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
9
9
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
10
|
import { registerExecuteTaskTool } from './server/tools/execute-task.js';
|
|
11
11
|
import { registerTaskManagementTools } from './task-manager/task-tools.js';
|
|
12
|
-
import { logger, setLogLevel, LogLevel } from './utils/logger.js';
|
|
12
|
+
import { logger, setLogLevel, LogLevel, initLogFile } from './utils/logger.js';
|
|
13
|
+
import { createRequire } from 'module';
|
|
14
|
+
const require = createRequire(import.meta.url);
|
|
15
|
+
const packageJson = require('../package.json');
|
|
13
16
|
const SERVER_INFO = {
|
|
14
17
|
name: 'back-agent-mcp',
|
|
15
|
-
version:
|
|
18
|
+
version: packageJson.version,
|
|
16
19
|
};
|
|
17
20
|
/**
|
|
18
21
|
* Start the MCP server
|
|
19
22
|
*/
|
|
20
23
|
async function main() {
|
|
24
|
+
// Initialize log file if LOG_FILE is set
|
|
25
|
+
initLogFile();
|
|
21
26
|
// Set log level from environment variable if provided
|
|
22
27
|
const logLevel = process.env.LOG_LEVEL?.toUpperCase();
|
|
23
28
|
if (logLevel === 'DEBUG') {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* IMPORTANT: All logs must go to stderr to avoid interfering with
|
|
5
5
|
* the MCP stdio communication (which uses stdout for JSON-RPC messages).
|
|
6
|
+
*
|
|
7
|
+
* Logs are written to both stderr and optionally to a file.
|
|
6
8
|
*/
|
|
7
9
|
export declare enum LogLevel {
|
|
8
10
|
DEBUG = 0,
|
|
@@ -10,6 +12,11 @@ export declare enum LogLevel {
|
|
|
10
12
|
WARN = 2,
|
|
11
13
|
ERROR = 3
|
|
12
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Initialize file logging
|
|
17
|
+
* @param filePath Path to the log file. If relative, resolves from current working directory
|
|
18
|
+
*/
|
|
19
|
+
export declare function initLogFile(filePath?: string): void;
|
|
13
20
|
/**
|
|
14
21
|
* Set the current log level
|
|
15
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAKD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEjD;AA+CD,eAAO,MAAM,MAAM;qBACA,MAAM,WAAW,OAAO,EAAE;oBAC3B,MAAM,WAAW,OAAO,EAAE;oBAC1B,MAAM,WAAW,OAAO,EAAE;qBACzB,MAAM,WAAW,OAAO,EAAE;CAC5C,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* IMPORTANT: All logs must go to stderr to avoid interfering with
|
|
5
5
|
* the MCP stdio communication (which uses stdout for JSON-RPC messages).
|
|
6
|
+
*
|
|
7
|
+
* Logs are written to both stderr and optionally to a file.
|
|
6
8
|
*/
|
|
9
|
+
import { appendFileSync, existsSync, mkdirSync } from 'fs';
|
|
10
|
+
import { dirname, resolve } from 'path';
|
|
7
11
|
export var LogLevel;
|
|
8
12
|
(function (LogLevel) {
|
|
9
13
|
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
|
|
@@ -12,6 +16,28 @@ export var LogLevel;
|
|
|
12
16
|
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
13
17
|
})(LogLevel || (LogLevel = {}));
|
|
14
18
|
let currentLogLevel = LogLevel.INFO;
|
|
19
|
+
let logFilePath = null;
|
|
20
|
+
/**
|
|
21
|
+
* Initialize file logging
|
|
22
|
+
* @param filePath Path to the log file. If relative, resolves from current working directory
|
|
23
|
+
*/
|
|
24
|
+
export function initLogFile(filePath) {
|
|
25
|
+
const path = filePath || process.env.LOG_FILE;
|
|
26
|
+
if (!path) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Resolve relative paths from current working directory
|
|
30
|
+
logFilePath = resolve(process.cwd(), path);
|
|
31
|
+
// Create directory if it doesn't exist
|
|
32
|
+
const logDir = dirname(logFilePath);
|
|
33
|
+
if (!existsSync(logDir)) {
|
|
34
|
+
mkdirSync(logDir, { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
// Write startup marker
|
|
37
|
+
const separator = '='.repeat(60);
|
|
38
|
+
const startMsg = `${separator}\n[Back-Agent MCP] Logging started at ${new Date().toISOString()}\n${separator}\n`;
|
|
39
|
+
appendFileSync(logFilePath, startMsg);
|
|
40
|
+
}
|
|
15
41
|
/**
|
|
16
42
|
* Set the current log level
|
|
17
43
|
*/
|
|
@@ -24,6 +50,21 @@ export function setLogLevel(level) {
|
|
|
24
50
|
function getTimestamp() {
|
|
25
51
|
return new Date().toISOString();
|
|
26
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Write log message to file
|
|
55
|
+
*/
|
|
56
|
+
function writeToFile(message) {
|
|
57
|
+
if (!logFilePath) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
appendFileSync(logFilePath, message + '\n');
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// Silently fail to avoid infinite loop if logging fails
|
|
65
|
+
// The error will still be visible in stderr
|
|
66
|
+
}
|
|
67
|
+
}
|
|
27
68
|
/**
|
|
28
69
|
* Write log message to stderr
|
|
29
70
|
*/
|
|
@@ -39,6 +80,8 @@ function log(level, message, ...args) {
|
|
|
39
80
|
: `${prefix} ${message}`;
|
|
40
81
|
// Always write to stderr to avoid interfering with MCP stdio communication
|
|
41
82
|
console.error(output);
|
|
83
|
+
// Also write to file if enabled
|
|
84
|
+
writeToFile(output);
|
|
42
85
|
}
|
|
43
86
|
export const logger = {
|
|
44
87
|
debug: (message, ...args) => log(LogLevel.DEBUG, message, ...args),
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|