psadk 1.1.33 → 1.1.34
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/build/main/lib/PSAgentLogger.d.ts +6 -5
- package/build/main/lib/PSAgentLogger.js +8 -8
- package/build/main/lib/tools/PSReadFileTool.d.ts +1 -0
- package/build/main/lib/tools/PSReadFileTool.js +15 -3
- package/build/main/lib/tools/PSWriteFileTool.d.ts +1 -0
- package/build/main/lib/tools/PSWriteFileTool.js +15 -2
- package/build/module/lib/PSAgentLogger.d.ts +6 -5
- package/build/module/lib/PSAgentLogger.js +8 -8
- package/build/module/lib/tools/PSReadFileTool.d.ts +1 -0
- package/build/module/lib/tools/PSReadFileTool.js +15 -3
- package/build/module/lib/tools/PSWriteFileTool.d.ts +1 -0
- package/build/module/lib/tools/PSWriteFileTool.js +15 -2
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type AgentLoggerType = 'debug' | 'info' | 'error' | 'warn' | 'done';
|
|
2
2
|
export declare class PSAgentLogger {
|
|
3
|
+
static id: number;
|
|
3
4
|
private logFn;
|
|
4
5
|
private readonly logFilePath;
|
|
5
6
|
private taskId?;
|
|
@@ -11,9 +12,9 @@ export declare class PSAgentLogger {
|
|
|
11
12
|
task?: string;
|
|
12
13
|
});
|
|
13
14
|
log(type: string, message: any, ...optionalParams: any[]): number;
|
|
14
|
-
debug(message: string, ...optionalParams: any[]):
|
|
15
|
-
info(message: string, ...optionalParams: any[]):
|
|
16
|
-
error(message: string, ...optionalParams: any[]):
|
|
17
|
-
warn(message: string, ...optionalParams: any[]):
|
|
18
|
-
done(message?: string, ...optionalParams: any[]):
|
|
15
|
+
debug(message: string, ...optionalParams: any[]): number;
|
|
16
|
+
info(message: string, ...optionalParams: any[]): number;
|
|
17
|
+
error(message: string, ...optionalParams: any[]): number;
|
|
18
|
+
warn(message: string, ...optionalParams: any[]): number;
|
|
19
|
+
done(message?: string, ...optionalParams: any[]): number;
|
|
19
20
|
}
|
|
@@ -8,7 +8,6 @@ exports.PSAgentLogger = void 0;
|
|
|
8
8
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
9
|
const node_perf_hooks_1 = require("node:perf_hooks");
|
|
10
10
|
const debuglogger_1 = __importDefault(require("./utils/debuglogger"));
|
|
11
|
-
let id = node_perf_hooks_1.performance.now();
|
|
12
11
|
class PSAgentLogger {
|
|
13
12
|
constructor(options) {
|
|
14
13
|
this.logFn = (0, debuglogger_1.default)('PSAI:');
|
|
@@ -20,7 +19,7 @@ class PSAgentLogger {
|
|
|
20
19
|
this.task = options === null || options === void 0 ? void 0 : options.task;
|
|
21
20
|
}
|
|
22
21
|
log(type, message, ...optionalParams) {
|
|
23
|
-
const logId = id++;
|
|
22
|
+
const logId = PSAgentLogger.id++;
|
|
24
23
|
if (this.logFilePath) {
|
|
25
24
|
const now = Date.now();
|
|
26
25
|
node_fs_1.default.appendFileSync(this.logFilePath, `data: ${JSON.stringify({
|
|
@@ -53,20 +52,21 @@ class PSAgentLogger {
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
debug(message, ...optionalParams) {
|
|
56
|
-
this.log('debug', message, ...optionalParams);
|
|
55
|
+
return this.log('debug', message, ...optionalParams);
|
|
57
56
|
}
|
|
58
57
|
info(message, ...optionalParams) {
|
|
59
|
-
this.log('info', message, ...optionalParams);
|
|
58
|
+
return this.log('info', message, ...optionalParams);
|
|
60
59
|
}
|
|
61
60
|
error(message, ...optionalParams) {
|
|
62
|
-
this.log('error', message, ...optionalParams);
|
|
61
|
+
return this.log('error', message, ...optionalParams);
|
|
63
62
|
}
|
|
64
63
|
warn(message, ...optionalParams) {
|
|
65
|
-
this.log('warn', message, ...optionalParams);
|
|
64
|
+
return this.log('warn', message, ...optionalParams);
|
|
66
65
|
}
|
|
67
66
|
done(message = '', ...optionalParams) {
|
|
68
|
-
this.log('done', message, ...optionalParams);
|
|
67
|
+
return this.log('done', message, ...optionalParams);
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
exports.PSAgentLogger = PSAgentLogger;
|
|
72
|
-
|
|
71
|
+
PSAgentLogger.id = node_perf_hooks_1.performance.now();
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudExvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvUFNBZ2VudExvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsc0RBQXlCO0FBQ3pCLHFEQUE4QztBQUU5QyxzRUFBOEM7QUFJOUMsTUFBYSxhQUFhO0lBTXhCLFlBQVksT0FLWDtRQVRPLFVBQUssR0FBRyxJQUFBLHFCQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFVbkMsSUFBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFBLHFCQUFXLEVBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVksRUFBRSxPQUFZLEVBQUUsR0FBRyxjQUFxQjtRQUN0RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLGlCQUFFLENBQUMsY0FBYyxDQUNmLElBQUksQ0FBQyxXQUFXLEVBQ2hCLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDdEIsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsRUFBRSxFQUFFLElBQUksS0FB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
|
|
@@ -39,14 +39,26 @@ class PSReadFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
39
39
|
this.paths = [];
|
|
40
40
|
this.paths = options.paths || [];
|
|
41
41
|
}
|
|
42
|
+
resolveFilePath(filePath) {
|
|
43
|
+
for (const basePath of this.paths) {
|
|
44
|
+
const rootPath = path_1.default.resolve(basePath);
|
|
45
|
+
const fullPath = path_1.default.resolve(basePath, filePath);
|
|
46
|
+
if (fs_1.default.existsSync(fullPath)) {
|
|
47
|
+
if (fullPath.startsWith(rootPath) || fullPath === rootPath) {
|
|
48
|
+
return fullPath;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
42
54
|
run(input, log) {
|
|
43
55
|
if (!input.path || typeof input.path !== 'string') {
|
|
44
56
|
throw new Error('Invalid file path provided.');
|
|
45
57
|
}
|
|
46
58
|
const logger = log || dlog;
|
|
47
59
|
return new Promise((resolve, reject) => {
|
|
48
|
-
const filePath =
|
|
49
|
-
if (!
|
|
60
|
+
const filePath = this.resolveFilePath(input.path);
|
|
61
|
+
if (!filePath) {
|
|
50
62
|
reject(new Error(`File not found at path: ${input.path}`));
|
|
51
63
|
return;
|
|
52
64
|
}
|
|
@@ -69,4 +81,4 @@ class PSReadFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
69
81
|
}
|
|
70
82
|
exports.PSReadFileTool = PSReadFileTool;
|
|
71
83
|
PSReadFileTool.toolName = 'read_file';
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNSZWFkRmlsZVRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTUmVhZEZpbGVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBRXhCLCtCQUEyQjtBQUczQixnREFBNkM7QUFDN0MsdUVBQStDO0FBQy9DLDhDQUFrRDtBQUVsRCxNQUFNLElBQUksR0FBRyxJQUFBLHFCQUFXLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUUvQyxNQUFhLGNBQWUsU0FBUSx5QkFBVztJQUc3QyxZQUFZLE9BQTZCO1FBQ3ZDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxjQUFjLENBQUMsUUFBUTtZQUM3QixXQUFXLEVBQ1QscUVBQXFFO1lBQ3ZFLElBQUksRUFBRSxLQUFLO1lBQ1gsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLG9CQUFvQixjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUNsRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxXQUFXLEVBQUUsTUFBQyxDQUFDLFlBQVksQ0FDekIsTUFBQztxQkFDRSxNQUFNLENBQUM7b0JBQ04sSUFBSSxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLEtBQUssRUFBRSxXQUFXO3dCQUNsQixXQUFXLEVBQ1QsK0ZBQStGO3FCQUNsRyxDQUFDO2lCQUNILENBQUM7cUJBQ0QsSUFBSSxDQUFDO29CQUNKLEtBQUssRUFBRSxHQUFHLGNBQWMsQ0FBQyxRQUFRLGVBQWU7b0JBQ2hELFdBQVcsRUFBRSx1Q0FBdUMsY0FBYyxDQUFDLFFBQVEsUUFBUTtpQkFDcEYsQ0FBQyxFQUNKLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUNoQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBNUJHLFVBQUss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
|
|
@@ -43,13 +43,26 @@ class PSWriteFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
43
43
|
this.paths = [];
|
|
44
44
|
this.paths = options.paths || [];
|
|
45
45
|
}
|
|
46
|
+
resolveFilePath(filePath) {
|
|
47
|
+
for (const basePath of this.paths) {
|
|
48
|
+
const rootPath = path_1.default.resolve(basePath);
|
|
49
|
+
const fullPath = path_1.default.resolve(basePath, filePath);
|
|
50
|
+
if (fullPath.startsWith(rootPath) || fullPath === rootPath) {
|
|
51
|
+
return fullPath;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
46
56
|
run(input, log) {
|
|
47
57
|
if (!input.path || typeof input.path !== 'string') {
|
|
48
58
|
throw new Error('Invalid file path provided.');
|
|
49
59
|
}
|
|
50
60
|
const logger = log || dlog;
|
|
51
61
|
return new Promise((resolve, reject) => {
|
|
52
|
-
const filePath =
|
|
62
|
+
const filePath = this.resolveFilePath(input.path);
|
|
63
|
+
if (!filePath) {
|
|
64
|
+
return reject(new Error(`Invalid path: ${input.path}`));
|
|
65
|
+
}
|
|
53
66
|
const content = input.content;
|
|
54
67
|
console.log('writing to file path:', filePath);
|
|
55
68
|
// if (!filePath.startsWith(run.srcDir))
|
|
@@ -82,4 +95,4 @@ class PSWriteFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
82
95
|
}
|
|
83
96
|
exports.PSWriteFileTool = PSWriteFileTool;
|
|
84
97
|
PSWriteFileTool.toolName = 'write_file';
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNXcml0ZUZpbGVUb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b29scy9QU1dyaXRlRmlsZVRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELDRDQUFvQjtBQUNwQixnREFBd0I7QUFFeEIsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyx1RUFBK0M7QUFDL0MsOENBQWdFO0FBRWhFLE1BQU0sSUFBSSxHQUFHLElBQUEscUJBQVcsRUFBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hELE1BQWEsZUFBZ0IsU0FBUSx5QkFBVztJQUc5QyxZQUFZLE9BQTZCO1FBQ3ZDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM5QixXQUFXLEVBQ1QsOERBQThEO1lBQ2hFLElBQUksRUFBRSxLQUFLO1lBQ1gsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLG9CQUFvQixlQUFlLENBQUMsUUFBUSxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxXQUFXLEVBQUUsTUFBQyxDQUFDLFlBQVksQ0FDekIsTUFBQztxQkFDRSxNQUFNLENBQUM7b0JBQ04sSUFBSSxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLEtBQUssRUFBRSxXQUFXO3dCQUNsQixXQUFXLEVBQ1QsdUZBQXVGO3FCQUMxRixDQUFDO29CQUNGLE9BQU8sRUFBRSxNQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUN2QixLQUFLLEVBQUUsY0FBYzt3QkFDckIsV0FBVyxFQUNULCtFQUErRTtxQkFDbEYsQ0FBQztpQkFDSCxDQUFDO3FCQUNELElBQUksQ0FBQztvQkFDSixLQUFLLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxlQUFlO29CQUNqRCxXQUFXLEVBQUUsdUNBQXVDLGVBQWUsQ0FBQyxRQUFRLFFBQVE7aUJBQ3JGLENBQUMsRUFDSixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FDaEI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQWpDRyxVQUFLLEdBQWEsRUFBRSxDQUFDO1FBa0MzQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTyxlQUFlLENBQUMsUUFBZ0I7UUFDdEMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsTUFBTSxRQUFRLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMzRCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLEdBQUcsQ0FDUixLQUEwQixFQUMxQixHQUFtQjtRQUVuQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLE9BQU8sTUFBTSxDQUNYLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDekMsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0Msd0NBQXdDO1lBQ3hDLDRFQUE0RTtZQUM1RSxJQUFJLENBQUM7Z0JBQ0gsb0JBQW9CO2dCQUNwQiwwQkFBMEI7Z0JBQzFCLGlEQUFpRDtnQkFDakQsb0JBQW9CO2dCQUNwQixNQUFNLFNBQVMsR0FBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUNULGNBQWMsSUFBQSx3QkFBYyxFQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxTQUFTLElBQUksQ0FDeEUsQ0FBQztnQkFDRixZQUFFLENBQUMsU0FBUyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDMUQsWUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBQSxzQkFBWSxFQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzRCwyREFBMkQ7Z0JBQzNELE9BQU8sT0FBTyxDQUFDO29CQUNiLE1BQU0sRUFBRSxTQUFTO2lCQUNsQixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxDQUNKLElBQUksS0FBSyxDQUNQLGlDQUFpQyxLQUFLLENBQUMsSUFBSSxZQUFZLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDdkUsQ0FDRixDQUFDO2dCQUNKLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQ0osSUFBSSxLQUFLLENBQ1AsaUNBQWlDLEtBQUssQ0FBQyxJQUFJLGtCQUFrQixDQUM5RCxDQUNGLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbkdILDBDQW9HQztBQW5Hd0Isd0JBQVEsR0FBRyxZQUFZLEFBQWYsQ0FBZ0IifQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type AgentLoggerType = 'debug' | 'info' | 'error' | 'warn' | 'done';
|
|
2
2
|
export declare class PSAgentLogger {
|
|
3
|
+
static id: number;
|
|
3
4
|
private logFn;
|
|
4
5
|
private readonly logFilePath;
|
|
5
6
|
private taskId?;
|
|
@@ -11,9 +12,9 @@ export declare class PSAgentLogger {
|
|
|
11
12
|
task?: string;
|
|
12
13
|
});
|
|
13
14
|
log(type: string, message: any, ...optionalParams: any[]): number;
|
|
14
|
-
debug(message: string, ...optionalParams: any[]):
|
|
15
|
-
info(message: string, ...optionalParams: any[]):
|
|
16
|
-
error(message: string, ...optionalParams: any[]):
|
|
17
|
-
warn(message: string, ...optionalParams: any[]):
|
|
18
|
-
done(message?: string, ...optionalParams: any[]):
|
|
15
|
+
debug(message: string, ...optionalParams: any[]): number;
|
|
16
|
+
info(message: string, ...optionalParams: any[]): number;
|
|
17
|
+
error(message: string, ...optionalParams: any[]): number;
|
|
18
|
+
warn(message: string, ...optionalParams: any[]): number;
|
|
19
|
+
done(message?: string, ...optionalParams: any[]): number;
|
|
19
20
|
}
|
|
@@ -8,8 +8,8 @@ exports.PSAgentLogger = void 0;
|
|
|
8
8
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
9
|
const node_perf_hooks_1 = require("node:perf_hooks");
|
|
10
10
|
const debuglogger_1 = __importDefault(require("./utils/debuglogger"));
|
|
11
|
-
let id = node_perf_hooks_1.performance.now();
|
|
12
11
|
class PSAgentLogger {
|
|
12
|
+
static id = node_perf_hooks_1.performance.now();
|
|
13
13
|
logFn = (0, debuglogger_1.default)('PSAI:');
|
|
14
14
|
logFilePath;
|
|
15
15
|
taskId;
|
|
@@ -23,7 +23,7 @@ class PSAgentLogger {
|
|
|
23
23
|
this.task = options?.task;
|
|
24
24
|
}
|
|
25
25
|
log(type, message, ...optionalParams) {
|
|
26
|
-
const logId = id++;
|
|
26
|
+
const logId = PSAgentLogger.id++;
|
|
27
27
|
if (this.logFilePath) {
|
|
28
28
|
const now = Date.now();
|
|
29
29
|
node_fs_1.default.appendFileSync(this.logFilePath, `data: ${JSON.stringify({
|
|
@@ -56,20 +56,20 @@ class PSAgentLogger {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
debug(message, ...optionalParams) {
|
|
59
|
-
this.log('debug', message, ...optionalParams);
|
|
59
|
+
return this.log('debug', message, ...optionalParams);
|
|
60
60
|
}
|
|
61
61
|
info(message, ...optionalParams) {
|
|
62
|
-
this.log('info', message, ...optionalParams);
|
|
62
|
+
return this.log('info', message, ...optionalParams);
|
|
63
63
|
}
|
|
64
64
|
error(message, ...optionalParams) {
|
|
65
|
-
this.log('error', message, ...optionalParams);
|
|
65
|
+
return this.log('error', message, ...optionalParams);
|
|
66
66
|
}
|
|
67
67
|
warn(message, ...optionalParams) {
|
|
68
|
-
this.log('warn', message, ...optionalParams);
|
|
68
|
+
return this.log('warn', message, ...optionalParams);
|
|
69
69
|
}
|
|
70
70
|
done(message = '', ...optionalParams) {
|
|
71
|
-
this.log('done', message, ...optionalParams);
|
|
71
|
+
return this.log('done', message, ...optionalParams);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
exports.PSAgentLogger = PSAgentLogger;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudExvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvUFNBZ2VudExvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsc0RBQXlCO0FBQ3pCLHFEQUE4QztBQUU5QyxzRUFBOEM7QUFJOUMsTUFBYSxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsNkJBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN0QixLQUFLLEdBQUcsSUFBQSxxQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BCLFdBQVcsQ0FBcUI7SUFDekMsTUFBTSxDQUFVO0lBQ2hCLElBQUksQ0FBVTtJQUN0QixZQUFZLE9BS1g7UUFDQyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEscUJBQVcsRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQVksRUFBRSxHQUFHLGNBQXFCO1FBQ3RELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsaUJBQUUsQ0FBQyxjQUFjLENBQ2YsSUFBSSxDQUFDLFdBQVcsRUFDaEIsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN0QixFQUFFLEVBQUUsS0FBSztnQkFDVCxFQUFFLEVBQUUsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO2dCQUM3QixJQUFJO2dCQUNKLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLE9BQU87Z0JBQ1AsTUFBTSxFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUU7YUFDOUIsQ0FBQyxNQUFNLEVBQ1IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQ3RCLENBQUM7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLEtBQUssQ0FBQztZQUNmLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztnQkFDakQsT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLEtBQUssQ0FBQztZQUNmO2dCQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7Z0JBQzNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQWUsRUFBRSxHQUFHLGNBQXFCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNNLElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBRyxjQUFxQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDTSxLQUFLLENBQUMsT0FBZSxFQUFFLEdBQUcsY0FBcUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ00sSUFBSSxDQUFDLE9BQWUsRUFBRSxHQUFHLGNBQXFCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNNLElBQUksQ0FBQyxVQUFrQixFQUFFLEVBQUUsR0FBRyxjQUFxQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7O0FBekVILHNDQTBFQyJ9
|
|
@@ -40,14 +40,26 @@ class PSReadFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
40
40
|
});
|
|
41
41
|
this.paths = options.paths || [];
|
|
42
42
|
}
|
|
43
|
+
resolveFilePath(filePath) {
|
|
44
|
+
for (const basePath of this.paths) {
|
|
45
|
+
const rootPath = path_1.default.resolve(basePath);
|
|
46
|
+
const fullPath = path_1.default.resolve(basePath, filePath);
|
|
47
|
+
if (fs_1.default.existsSync(fullPath)) {
|
|
48
|
+
if (fullPath.startsWith(rootPath) || fullPath === rootPath) {
|
|
49
|
+
return fullPath;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
43
55
|
run(input, log) {
|
|
44
56
|
if (!input.path || typeof input.path !== 'string') {
|
|
45
57
|
throw new Error('Invalid file path provided.');
|
|
46
58
|
}
|
|
47
59
|
const logger = log || dlog;
|
|
48
60
|
return new Promise((resolve, reject) => {
|
|
49
|
-
const filePath =
|
|
50
|
-
if (!
|
|
61
|
+
const filePath = this.resolveFilePath(input.path);
|
|
62
|
+
if (!filePath) {
|
|
51
63
|
reject(new Error(`File not found at path: ${input.path}`));
|
|
52
64
|
return;
|
|
53
65
|
}
|
|
@@ -69,4 +81,4 @@ class PSReadFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
69
81
|
}
|
|
70
82
|
}
|
|
71
83
|
exports.PSReadFileTool = PSReadFileTool;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNSZWFkRmlsZVRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTUmVhZEZpbGVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBRXhCLCtCQUEyQjtBQUczQixnREFBNkM7QUFDN0MsdUVBQStDO0FBQy9DLDhDQUFrRDtBQUVsRCxNQUFNLElBQUksR0FBRyxJQUFBLHFCQUFXLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUUvQyxNQUFhLGNBQWUsU0FBUSx5QkFBVztJQUN0QyxNQUFNLENBQVUsUUFBUSxHQUFHLFdBQVcsQ0FBQztJQUN0QyxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBQzdCLFlBQVksT0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLGNBQWMsQ0FBQyxRQUFRO1lBQzdCLFdBQVcsRUFDVCxxRUFBcUU7WUFDdkUsSUFBSSxFQUFFLEtBQUs7WUFDWCxlQUFlLEVBQUUsSUFBSTtZQUNyQixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsb0JBQW9CLGNBQWMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxNQUFDLENBQUMsWUFBWSxDQUN6QixNQUFDO3FCQUNFLE1BQU0sQ0FBQztvQkFDTixJQUFJLEVBQUUsTUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQzt3QkFDcEIsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLFdBQVcsRUFDVCwrRkFBK0Y7cUJBQ2xHLENBQUM7aUJBQ0gsQ0FBQztxQkFDRCxJQUFJLENBQUM7b0JBQ0osS0FBSyxFQUFFLEdBQUcsY0FBYyxDQUFDLFFBQVEsZUFBZTtvQkFDaEQsV0FBVyxFQUFFLHVDQUF1QyxjQUFjLENBQUMsUUFBUSxRQUFRO2lCQUNwRixDQUFDLEVBQ0os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
|
|
@@ -44,13 +44,26 @@ class PSWriteFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
44
44
|
});
|
|
45
45
|
this.paths = options.paths || [];
|
|
46
46
|
}
|
|
47
|
+
resolveFilePath(filePath) {
|
|
48
|
+
for (const basePath of this.paths) {
|
|
49
|
+
const rootPath = path_1.default.resolve(basePath);
|
|
50
|
+
const fullPath = path_1.default.resolve(basePath, filePath);
|
|
51
|
+
if (fullPath.startsWith(rootPath) || fullPath === rootPath) {
|
|
52
|
+
return fullPath;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
47
57
|
run(input, log) {
|
|
48
58
|
if (!input.path || typeof input.path !== 'string') {
|
|
49
59
|
throw new Error('Invalid file path provided.');
|
|
50
60
|
}
|
|
51
61
|
const logger = log || dlog;
|
|
52
62
|
return new Promise((resolve, reject) => {
|
|
53
|
-
const filePath =
|
|
63
|
+
const filePath = this.resolveFilePath(input.path);
|
|
64
|
+
if (!filePath) {
|
|
65
|
+
return reject(new Error(`Invalid path: ${input.path}`));
|
|
66
|
+
}
|
|
54
67
|
const content = input.content;
|
|
55
68
|
console.log('writing to file path:', filePath);
|
|
56
69
|
// if (!filePath.startsWith(run.srcDir))
|
|
@@ -82,4 +95,4 @@ class PSWriteFileTool extends PSAgentTool_1.PSAgentTool {
|
|
|
82
95
|
}
|
|
83
96
|
}
|
|
84
97
|
exports.PSWriteFileTool = PSWriteFileTool;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNXcml0ZUZpbGVUb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b29scy9QU1dyaXRlRmlsZVRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELDRDQUFvQjtBQUNwQixnREFBd0I7QUFFeEIsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyx1RUFBK0M7QUFDL0MsOENBQWdFO0FBRWhFLE1BQU0sSUFBSSxHQUFHLElBQUEscUJBQVcsRUFBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hELE1BQWEsZUFBZ0IsU0FBUSx5QkFBVztJQUN2QyxNQUFNLENBQVUsUUFBUSxHQUFHLFlBQVksQ0FBQztJQUN2QyxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBQzdCLFlBQVksT0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLGVBQWUsQ0FBQyxRQUFRO1lBQzlCLFdBQVcsRUFDVCw4REFBOEQ7WUFDaEUsSUFBSSxFQUFFLEtBQUs7WUFDWCxlQUFlLEVBQUUsSUFBSTtZQUNyQixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsb0JBQW9CLGVBQWUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25ELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxNQUFDLENBQUMsWUFBWSxDQUN6QixNQUFDO3FCQUNFLE1BQU0sQ0FBQztvQkFDTixJQUFJLEVBQUUsTUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQzt3QkFDcEIsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLFdBQVcsRUFDVCx1RkFBdUY7cUJBQzFGLENBQUM7b0JBQ0YsT0FBTyxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3ZCLEtBQUssRUFBRSxjQUFjO3dCQUNyQixXQUFXLEVBQ1QsK0VBQStFO3FCQUNsRixDQUFDO2lCQUNILENBQUM7cUJBQ0Qs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
|