repoburg 1.3.18 → 1.3.20
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/backend/.env +2 -2
- package/backend/dist/src/custom-variables/dto/custom-variable.dto.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/execute-code.handler.js +2 -0
- package/backend/dist/src/llm-orchestration/action-handlers/execute-code.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/execute-shell.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/execute-shell.handler.js +16 -3
- package/backend/dist/src/llm-orchestration/action-handlers/execute-shell.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.d.ts +2 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js +24 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js +18 -1
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/backend/.env
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#REPOBURG_PROJECT_PATH='/Users/celalertug/WebstormProjects/hihiho'
|
|
2
|
-
|
|
2
|
+
REPOBURG_PROJECT_PATH='/Users/celalertug/github/webcoder'
|
|
3
3
|
#REPOBURG_PROJECT_PATH='/Users/celalertug/WebstormProjects/appdb'
|
|
4
4
|
#REPOBURG_PROJECT_PATH='/tmp/a/cleanappdev'
|
|
5
5
|
#REPOBURG_PROJECT_PATH='/Users/celalertug/everest/cleanappdev'
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#react project
|
|
9
9
|
#REPOBURG_PROJECT_PATH='/Users/celalertug/WebstormProjects/ttt1234'
|
|
10
|
-
REPOBURG_PROJECT_PATH=/Users/celalertug/Desktop/tmp/repoburg-preview-boilerplate-main
|
|
10
|
+
#REPOBURG_PROJECT_PATH=/Users/celalertug/Desktop/tmp/repoburg-preview-boilerplate-main
|
|
11
11
|
|
|
12
12
|
#modern football
|
|
13
13
|
#REPOBURG_PROJECT_PATH=/Users/celalertug/WebstormProjects/fm1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-variable.dto.js","sourceRoot":"","sources":["../../../../src/custom-variables/dto/custom-variable.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"custom-variable.dto.js","sourceRoot":"","sources":["../../../../src/custom-variables/dto/custom-variable.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AAEzB,MAAa,uBAAuB;CAoBnC;AApBD,0DAoBC;AAjBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACD;AAIZ;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACC;AAId;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;wDACK;AAIlB;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6DACU;AAIvB;IAFC,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;6DACS;AAGxB,MAAa,uBAAuB;CAsBnC;AAtBD,0DAsBC;AAlBC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;oDACA;AAKb;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;sDACE;AAIf;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;wDACK;AAIlB;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6DACU;AAIvB;IAFC,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;6DACS"}
|
|
@@ -37,6 +37,8 @@ console.log(files.join('\\n'));
|
|
|
37
37
|
Useful for testing logic, verifying algorithms, or inspecting the system programmatically without permanently creating files.
|
|
38
38
|
The code is executed using 'npx tsx', so you can use ES modules and standard Node.js APIs.
|
|
39
39
|
|
|
40
|
+
CRITICAL: The code MUST be TypeScript. NEVER generate Python, Bash, or any other language.
|
|
41
|
+
|
|
40
42
|
Parameters:
|
|
41
43
|
- "code": (string) The TypeScript code to execute.
|
|
42
44
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-code.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/execute-code.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAGpD,uEAAiE;AACjE,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAC/C,6BAA6B;AAGtB,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACI,aAAQ,GAAG,cAAc,CAAC;QAClB,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,gBAAW,GAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,YAAO,GAAW,IAAI,CAAC,IAAI,CAC1C,IAAI,CAAC,WAAW,EAChB,WAAW,EACX,MAAM,CACP,CAAC;
|
|
1
|
+
{"version":3,"file":"execute-code.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/execute-code.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAGpD,uEAAiE;AACjE,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAC/C,6BAA6B;AAGtB,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACI,aAAQ,GAAG,cAAc,CAAC;QAClB,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,gBAAW,GAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,YAAO,GAAW,IAAI,CAAC,IAAI,CAC1C,IAAI,CAAC,WAAW,EAChB,WAAW,EACX,MAAM,CACP,CAAC;IAyDJ,CAAC;IAvDC,aAAa;QACX,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,IAAI,EAAE;;;;CAIX;SACI,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;GACpB,IAAI,CAAC,QAAQ;;;;;;;;;;;EAWd,OAAO;;IAEL,IAAI,CAAC,QAAQ;CAChB,CAAC;QACE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAE5B,QAAa;QAEb,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,0CAAkB,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM;iBACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,iDAAsB,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAK/B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,iDAAiD;YAC1D,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACjC,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAlEY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAkE9B"}
|
|
@@ -16,12 +16,15 @@ const class_transformer_1 = require("class-transformer");
|
|
|
16
16
|
const class_validator_1 = require("class-validator");
|
|
17
17
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
18
18
|
const utils_1 = require("../../utils");
|
|
19
|
+
const fs = require("fs/promises");
|
|
20
|
+
const path = require("path");
|
|
19
21
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
20
22
|
let ExecuteShellHandler = ExecuteShellHandler_1 = class ExecuteShellHandler {
|
|
21
23
|
constructor() {
|
|
22
24
|
this.toolName = 'execute_shell';
|
|
23
25
|
this.logger = new common_1.Logger(ExecuteShellHandler_1.name);
|
|
24
26
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
27
|
+
this.tempDir = path.join(this.projectRoot, '.repoburg', 'temp');
|
|
25
28
|
}
|
|
26
29
|
getDefinition() {
|
|
27
30
|
const installExample = (0, utils_1.generateToolCall)({
|
|
@@ -74,23 +77,33 @@ ${scriptExample}
|
|
|
74
77
|
let summary;
|
|
75
78
|
let status = 'SUCCESS';
|
|
76
79
|
let errorMessage;
|
|
80
|
+
await fs.mkdir(this.tempDir, { recursive: true });
|
|
81
|
+
const scriptPath = path.join(this.tempDir, `exec-${Date.now()}-${Math.random().toString(36).substring(7)}.sh`);
|
|
77
82
|
try {
|
|
78
|
-
|
|
83
|
+
await fs.writeFile(scriptPath, command_string, { mode: 0o755 });
|
|
84
|
+
const shell = process.env.SHELL || '/bin/bash';
|
|
85
|
+
const command = `cd "${this.projectRoot}" && ${shell} -l "${scriptPath}"`;
|
|
86
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
79
87
|
cwd: this.projectRoot,
|
|
80
88
|
maxBuffer: 128 * 1024 * 1024,
|
|
81
89
|
timeout: 60000,
|
|
82
90
|
});
|
|
83
91
|
unifiedOutput = stdout || stderr || '(Command produced no output)';
|
|
84
|
-
summary = `Shell command
|
|
92
|
+
summary = `Shell command executed.`;
|
|
85
93
|
}
|
|
86
94
|
catch (error) {
|
|
87
95
|
const execError = error;
|
|
88
96
|
unifiedOutput = `COMMAND FAILED: ${execError.message}\n\nSTDOUT:\n${execError.stdout || 'N/A'}\n\nSTDERR:\n${execError.stderr || 'N/A'}`;
|
|
89
|
-
summary = `Shell command
|
|
97
|
+
summary = `Shell command failed.`;
|
|
90
98
|
status = 'FAILURE';
|
|
91
99
|
errorMessage = execError.message;
|
|
92
100
|
this.logger.error(`Error executing shell command: ${unifiedOutput}`);
|
|
93
101
|
}
|
|
102
|
+
finally {
|
|
103
|
+
await fs
|
|
104
|
+
.unlink(scriptPath)
|
|
105
|
+
.catch((err) => this.logger.warn(`Failed to cleanup temp file ${scriptPath}: ${err.message}`));
|
|
106
|
+
}
|
|
94
107
|
context.outputs.commands.push({
|
|
95
108
|
command: command_string,
|
|
96
109
|
output: unifiedOutput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-shell.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/execute-shell.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAMpD,iDAAqC;AACrC,+BAAiC;AACjC,yEAAmE;AACnE,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;
|
|
1
|
+
{"version":3,"file":"execute-shell.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/execute-shell.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export declare class PatchHandler implements ActionHandler {
|
|
|
7
7
|
getDefinition(): string;
|
|
8
8
|
private readonly grammarDir;
|
|
9
9
|
private resolveAndValidatePath;
|
|
10
|
+
private shouldUseFullReplacementStrategy;
|
|
11
|
+
private handleFullFileReplacement;
|
|
10
12
|
execute(args: {
|
|
11
13
|
[key: string]: any;
|
|
12
14
|
}, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
@@ -250,6 +250,27 @@ ${prependExample}
|
|
|
250
250
|
}
|
|
251
251
|
return resolvedPath;
|
|
252
252
|
}
|
|
253
|
+
shouldUseFullReplacementStrategy(patchCode) {
|
|
254
|
+
const beginMarkerRegex = new RegExp(`//\\s*${parsing_constants_1.SPECIAL_PATCH_BEGIN_FILE_MARKER}.*`);
|
|
255
|
+
const endMarkerRegex = new RegExp(`//\\s*${parsing_constants_1.SPECIAL_PATCH_END_FILE_MARKER}.*`);
|
|
256
|
+
return beginMarkerRegex.test(patchCode) && endMarkerRegex.test(patchCode);
|
|
257
|
+
}
|
|
258
|
+
async handleFullFileReplacement(filePath, safePath, patchCode, originalContent, validatedArgs) {
|
|
259
|
+
this.logger.log(`Both begin/end markers detected for ${filePath}. Executing full file replacement strategy.`);
|
|
260
|
+
const beginMarkerRegex = new RegExp(`//\\s*${parsing_constants_1.SPECIAL_PATCH_BEGIN_FILE_MARKER}.*`);
|
|
261
|
+
const endMarkerRegex = new RegExp(`//\\s*${parsing_constants_1.SPECIAL_PATCH_END_FILE_MARKER}.*`);
|
|
262
|
+
const newFileContent = patchCode
|
|
263
|
+
.replace(beginMarkerRegex, '')
|
|
264
|
+
.replace(endMarkerRegex, '')
|
|
265
|
+
.trim();
|
|
266
|
+
await fs.writeFile(safePath, newFileContent, 'utf8');
|
|
267
|
+
return {
|
|
268
|
+
status: 'SUCCESS',
|
|
269
|
+
summary: `File "${filePath}" completely overwritten (detected both start/end markers).`,
|
|
270
|
+
persisted_args: { ...validatedArgs, content: newFileContent },
|
|
271
|
+
original_content_for_revert: originalContent,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
253
274
|
async execute(args, context) {
|
|
254
275
|
const validatedArgs = (0, class_transformer_1.plainToClass)(patch_args_dto_1.PatchArgsDto, args);
|
|
255
276
|
const errors = await (0, class_validator_1.validate)(validatedArgs);
|
|
@@ -293,6 +314,9 @@ ${prependExample}
|
|
|
293
314
|
persisted_args: validatedArgs,
|
|
294
315
|
};
|
|
295
316
|
}
|
|
317
|
+
if (this.shouldUseFullReplacementStrategy(patch_code)) {
|
|
318
|
+
return this.handleFullFileReplacement(file_path, safePath, patch_code, originalContent, validatedArgs);
|
|
319
|
+
}
|
|
296
320
|
try {
|
|
297
321
|
const newFileContent = await (0, tokenpatch_1.applySnippetPatch)(originalContent, patch_code, applyPatchOptions);
|
|
298
322
|
await fs.writeFile(safePath, newFileContent, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/patch.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,kCAAkC;AAClC,2BAAgC;AAChC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,yDAAoD;AACpD,6DAAiE;AACjE,uCAA+C;AAC/C,mEAGqC;AAErC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAGjC,MAAM,UAAU,GAA2B;IACzC,KAAK,EAAE,6BAA6B;IACpC,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,6BAA6B;IACpC,MAAM,EAAE,sBAAsB;IAC9B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,yBAAyB;IAChC,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC;AAGK,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAAlB;QACI,aAAQ,GAAG,OAAO,CAAC;QACX,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAW,GAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAkMpC,eAAU,GAAG,CAAC,GAAG,EAAE;YAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YAClE,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAGD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAC9D,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,OAAO,OAAO,CAAC;YACjB,CAAC;YAID,OAAO,CAAC,IAAI,CACV,0DAA0D,QAAQ,QAAQ,OAAO,8CAA8C,CAChI,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"patch.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/patch.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare class RunCommandHandler implements ActionHandler {
|
|
|
4
4
|
readonly toolName = "run_command";
|
|
5
5
|
private readonly logger;
|
|
6
6
|
private readonly projectRoot;
|
|
7
|
+
private readonly tempDir;
|
|
7
8
|
private readonly ALLOWED_COMMANDS;
|
|
8
9
|
getDefinition(): string;
|
|
9
10
|
execute(args: {
|
|
@@ -16,12 +16,15 @@ const class_transformer_1 = require("class-transformer");
|
|
|
16
16
|
const class_validator_1 = require("class-validator");
|
|
17
17
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
18
18
|
const utils_1 = require("../../utils");
|
|
19
|
+
const fs = require("fs/promises");
|
|
20
|
+
const path = require("path");
|
|
19
21
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
20
22
|
let RunCommandHandler = RunCommandHandler_1 = class RunCommandHandler {
|
|
21
23
|
constructor() {
|
|
22
24
|
this.toolName = 'run_command';
|
|
23
25
|
this.logger = new common_1.Logger(RunCommandHandler_1.name);
|
|
24
26
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
27
|
+
this.tempDir = path.join(this.projectRoot, '.repoburg', 'temp');
|
|
25
28
|
this.ALLOWED_COMMANDS = ['ls', 'tree', 'rg'];
|
|
26
29
|
}
|
|
27
30
|
getDefinition() {
|
|
@@ -74,8 +77,17 @@ ${rgExample1}
|
|
|
74
77
|
let summary;
|
|
75
78
|
let status = 'SUCCESS';
|
|
76
79
|
let errorMessage;
|
|
80
|
+
await fs.mkdir(this.tempDir, { recursive: true });
|
|
81
|
+
const scriptPath = path.join(this.tempDir, `run-${Date.now()}-${Math.random().toString(36).substring(7)}.sh`);
|
|
77
82
|
try {
|
|
78
|
-
const
|
|
83
|
+
const scriptContent = `
|
|
84
|
+
cd "${this.projectRoot}"
|
|
85
|
+
${command_string}
|
|
86
|
+
`;
|
|
87
|
+
await fs.writeFile(scriptPath, scriptContent, { mode: 0o755 });
|
|
88
|
+
const shell = process.env.SHELL || '/bin/bash';
|
|
89
|
+
const command = `cd "${this.projectRoot}" && ${shell} -l "${scriptPath}"`;
|
|
90
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
79
91
|
cwd: this.projectRoot,
|
|
80
92
|
maxBuffer: 128 * 1024 * 1024,
|
|
81
93
|
timeout: 15000,
|
|
@@ -91,6 +103,11 @@ ${rgExample1}
|
|
|
91
103
|
errorMessage = execError.message;
|
|
92
104
|
this.logger.error(`Error executing command: ${unifiedOutput}`);
|
|
93
105
|
}
|
|
106
|
+
finally {
|
|
107
|
+
await fs
|
|
108
|
+
.unlink(scriptPath)
|
|
109
|
+
.catch((err) => this.logger.warn(`Failed to cleanup temp file ${scriptPath}: ${err.message}`));
|
|
110
|
+
}
|
|
94
111
|
context.outputs.commands.push({
|
|
95
112
|
command: command_string,
|
|
96
113
|
output: unifiedOutput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-command.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/run-command.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAMpD,iDAAqC;AACrC,+BAAiC;AACjC,qEAA+D;AAC/D,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;
|
|
1
|
+
{"version":3,"file":"run-command.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/run-command.handler.ts"],"names":[],"mappings":"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"}
|