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 CHANGED
@@ -1,5 +1,5 @@
1
1
  #REPOBURG_PROJECT_PATH='/Users/celalertug/WebstormProjects/hihiho'
2
- #REPOBURG_PROJECT_PATH='/Users/celalertug/github/webcoder'
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,qDAAqF;AAErF,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"}
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;IAuDJ,CAAC;IArDC,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;;;;;;;;;EASd,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;AAhEY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAgE9B"}
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"}
@@ -4,6 +4,7 @@ export declare class ExecuteShellHandler implements ActionHandler {
4
4
  readonly toolName = "execute_shell";
5
5
  private readonly logger;
6
6
  private readonly projectRoot;
7
+ private readonly tempDir;
7
8
  getDefinition(): string;
8
9
  execute(args: {
9
10
  [key: string]: any;
@@ -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
- const { stdout, stderr } = await execAsync(command_string, {
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 "${command_string}" executed.`;
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 "${command_string}" failed.`;
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":"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"}
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;IAyGP,CAAC;IA5TC,aAAa;QACX,MAAM,cAAc,GAAG;;;;;;OAMpB,CAAC;QAEJ,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC;YACzC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,yBAAyB;YACpC,UAAU,EAAE;;;;;;;;;;;;;;;;OAgBX;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAA,wBAAgB,EAAC;YACxC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,yBAAyB;YACpC,UAAU,EAAE;;;;OAIX;SACF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC;YACrC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,8BAA8B;YACzC,UAAU,EAAE;;;;;;;;;;KAUb,iDAA6B;OAC3B;SACF,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAA,wBAAgB,EAAC;YACtC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE;KACb,mDAA+B;;;;;;;;;;;;;;;;OAgB7B;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;GACpB,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;WAcL,mDAA+B;WAC/B,iDAA6B;;;;;;;;;;;;EAYtC,cAAc;;;;;;;;;;;;;;;;;;;;;EAqBd,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAqBjB,gBAAgB;;;;+BAIa,iDAA6B;;;;;;;;;;;;EAY1D,aAAa;;;;+BAIgB,mDAA+B;;;;;;;;;;;;;;EAc5D,cAAc;;IAEZ,IAAI,CAAC,QAAQ;CAChB,CAAC;QACE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAuBO,sBAAsB,CAAC,UAAkB;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,mCAAmC,UAAU,EAAE,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,4BAAmB,CAC3B,kCAAkC,UAAU,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAC5B,OAA6B;QAE7B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,6BAAY,EAAE,IAAI,CAAC,CAAC;QACvD,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,SAAS,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,iBAAiB,GAAQ,EAAE,CAAC;QAEhC,IAAI,WAAW,IAAI,kBAAkB,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC5D,iBAAiB,GAAG,EAAE,WAAW,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YAEN,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,oCAAoC,aAAa,4BAA4B,CAC9E,CAAC;YACF,iBAAiB,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,EAAE;aAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC1B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,SAAS,SAAS,cAAc,CAAC;YACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,aAAa,SAAS,2BAA2B;gBAC1D,aAAa,EAAE,YAAY;gBAC3B,cAAc,EAAE,aAAa;aAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAiB,EAC5C,eAAe,EACf,UAAU,EACV,iBAAiB,CAClB,CAAC;YAEF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAErD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,SAAS,SAAS,qCAAqC;gBAChE,cAAc,EAAE,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE;gBAC7D,2BAA2B,EAAE,eAAe;aAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAC3D,CAAC;YACF,MAAM,YAAY,GAAG,8BAA8B,SAAS,MAAM,KAAK,CAAC,OAAO,mNAAmN,SAAS,0KAA0K,CAAC;YACtd,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,aAAa,SAAS,aAAa,KAAK,CAAC,OAAO,EAAE;gBAC3D,aAAa,EAAE,YAAY;gBAC3B,cAAc,EAAE,aAAa;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAlUY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAkUxB"}
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 { stdout, stderr } = await execAsync(command_string, {
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":"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"}
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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"}