repoburg 1.3.102 → 1.3.103

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
@@ -12,10 +12,11 @@
12
12
  # webcoder
13
13
  # REPOBURG_PROJECT_PATH=/Users/celalertug/github/webcoder
14
14
 
15
- REPOBURG_PROJECT_PATH=/Users/celalertug/tmp/randomproject
15
+ # REPOBURG_PROJECT_PATH=/Users/celalertug/tmp/randomproject
16
+ # REPOBURG_PROJECT_PATH=/Users/celalertug/repoburg-projects/rp29
16
17
 
17
18
  # appdev
18
- # REPOBURG_PROJECT_PATH=/Users/celalertug/everest/tmpappdev2
19
+ REPOBURG_PROJECT_PATH=/Users/celalertug/everest/tmpappdev2
19
20
  # REPOBURG_PROJECT_PATH=/Users/celalertug/everest/tmpappdev2-session2
20
21
 
21
22
 
@@ -4,11 +4,13 @@ export declare class HistoryCompressionService {
4
4
  private readonly applicationStateService;
5
5
  private readonly logger;
6
6
  private readonly FILE_MARKER_REGEX;
7
+ private readonly FILE_CONTENT_TOOLS;
7
8
  private readonly FILE_WRITE_TOOLS;
8
9
  constructor(applicationStateService: ApplicationStateService);
9
10
  compress(history: LlmContent[]): Promise<LlmContent[]>;
10
- private compressRequestContextResults;
11
- private compressFileWriteToolCalls;
11
+ private buildUnifiedFileIndex;
12
+ private redactBasedOnIndex;
13
+ private isFileContentTool;
12
14
  private isFileWriteTool;
13
15
  private extractFilePathFromToolCall;
14
16
  private redactToolCallContent;
@@ -18,6 +18,11 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
18
18
  this.applicationStateService = applicationStateService;
19
19
  this.logger = new common_1.Logger(HistoryCompressionService_1.name);
20
20
  this.FILE_MARKER_REGEX = /\/\/ File: (\.?[^\n]+)/g;
21
+ this.FILE_CONTENT_TOOLS = [
22
+ 'create_file',
23
+ 'overwrite_file',
24
+ 'delete_file',
25
+ ];
21
26
  this.FILE_WRITE_TOOLS = ['create_file', 'overwrite_file'];
22
27
  }
23
28
  async compress(history) {
@@ -29,130 +34,166 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
29
34
  if (history.length === 0) {
30
35
  return history;
31
36
  }
32
- let result = this.compressRequestContextResults(history);
33
- result = this.compressFileWriteToolCalls(result);
34
- return result;
37
+ const fileIndex = this.buildUnifiedFileIndex(history);
38
+ if (fileIndex.size === 0) {
39
+ return history;
40
+ }
41
+ return this.redactBasedOnIndex(history, fileIndex);
35
42
  }
36
- compressRequestContextResults(history) {
37
- const toolCallToIndex = new Map();
43
+ buildUnifiedFileIndex(history) {
44
+ const fileIndex = new Map();
45
+ const toolCallInfo = new Map();
38
46
  for (let i = 0; i < history.length; i++) {
39
47
  const turn = history[i];
40
48
  if (turn.role === 'model' && turn.tool_calls) {
41
49
  for (const tc of turn.tool_calls) {
42
- if (tc.function?.name === 'request_context') {
43
- toolCallToIndex.set(tc.id, i);
50
+ const toolName = tc.function?.name;
51
+ if (toolName === 'request_context' ||
52
+ this.isFileContentTool(toolName)) {
53
+ toolCallInfo.set(tc.id, { historyIndex: i, toolName });
44
54
  }
45
55
  }
46
56
  }
47
57
  }
48
- const fileToLatestIndex = new Map();
49
- for (let i = history.length - 1; i >= 0; i--) {
58
+ const toolResultIndex = new Map();
59
+ for (let i = 0; i < history.length; i++) {
50
60
  const turn = history[i];
51
- if (turn.role !== 'tool' || !turn.tool_call_id)
52
- continue;
53
- const modelTurnIndex = toolCallToIndex.get(turn.tool_call_id);
54
- if (modelTurnIndex === undefined)
55
- continue;
56
- const text = turn.parts.map((p) => p.text).join('');
57
- const filePaths = this.extractFilePaths(text);
58
- for (const filePath of filePaths) {
59
- const normalized = this.normalizePath(filePath);
60
- if (!fileToLatestIndex.has(normalized)) {
61
- fileToLatestIndex.set(normalized, i);
62
- }
61
+ if (turn.role === 'tool' && turn.tool_call_id) {
62
+ toolResultIndex.set(turn.tool_call_id, i);
63
63
  }
64
64
  }
65
- if (fileToLatestIndex.size === 0) {
66
- return history;
67
- }
68
- const result = history.map((turn, index) => {
69
- if (turn.role !== 'tool' || !turn.tool_call_id) {
70
- return turn;
71
- }
72
- const modelTurnIndex = toolCallToIndex.get(turn.tool_call_id);
73
- if (modelTurnIndex === undefined) {
74
- return turn;
75
- }
76
- const text = turn.parts.map((p) => p.text).join('');
77
- const filePaths = this.extractFilePaths(text);
78
- if (filePaths.length === 0) {
79
- return turn;
80
- }
81
- const filesToRedact = [];
82
- for (const filePath of filePaths) {
83
- const normalized = this.normalizePath(filePath);
84
- const latestIndex = fileToLatestIndex.get(normalized);
85
- if (latestIndex !== undefined && latestIndex > index) {
86
- filesToRedact.push(filePath);
65
+ for (let i = history.length - 1; i >= 0; i--) {
66
+ const turn = history[i];
67
+ if (turn.role === 'tool' && turn.tool_call_id) {
68
+ const info = toolCallInfo.get(turn.tool_call_id);
69
+ if (info && info.toolName === 'request_context') {
70
+ const text = turn.parts.map((p) => p.text).join('');
71
+ const filePaths = this.extractFilePaths(text);
72
+ for (const filePath of filePaths) {
73
+ const normalized = this.normalizePath(filePath);
74
+ if (!fileIndex.has(normalized)) {
75
+ fileIndex.set(normalized, {
76
+ latestIndex: i,
77
+ latestToolName: 'request_context',
78
+ });
79
+ }
80
+ }
87
81
  }
88
82
  }
89
- if (filesToRedact.length === 0) {
90
- return turn;
83
+ if (turn.role === 'model' && turn.tool_calls) {
84
+ for (let j = turn.tool_calls.length - 1; j >= 0; j--) {
85
+ const tc = turn.tool_calls[j];
86
+ const toolName = tc.function?.name;
87
+ if (this.isFileContentTool(toolName)) {
88
+ const filePath = this.extractFilePathFromToolCall(tc);
89
+ if (filePath) {
90
+ const normalized = this.normalizePath(filePath);
91
+ const effectiveIndex = toolResultIndex.get(tc.id) ?? i;
92
+ if (!fileIndex.has(normalized) ||
93
+ effectiveIndex > fileIndex.get(normalized).latestIndex) {
94
+ fileIndex.set(normalized, {
95
+ latestIndex: effectiveIndex,
96
+ latestToolName: toolName,
97
+ });
98
+ }
99
+ }
100
+ }
101
+ }
91
102
  }
92
- return this.redactToolResult(turn, filesToRedact);
93
- });
94
- const redactedCount = result.filter((t, i) => t !== history[i] && t.role === 'tool').length;
95
- if (redactedCount > 0) {
96
- this.logger.log(`Compressed history: redacted ${redactedCount} older request_context result(s)`);
97
103
  }
98
- return result;
104
+ return fileIndex;
99
105
  }
100
- compressFileWriteToolCalls(history) {
101
- const fileToLatestIndex = new Map();
102
- for (let i = history.length - 1; i >= 0; i--) {
106
+ redactBasedOnIndex(history, fileIndex) {
107
+ const toolCallToIndex = new Map();
108
+ for (let i = 0; i < history.length; i++) {
103
109
  const turn = history[i];
104
- if (turn.role !== 'model' || !turn.tool_calls)
105
- continue;
106
- for (const tc of turn.tool_calls) {
107
- if (this.isFileWriteTool(tc.function?.name)) {
108
- const filePath = this.extractFilePathFromToolCall(tc);
109
- if (filePath) {
110
- const normalized = this.normalizePath(filePath);
111
- if (!fileToLatestIndex.has(normalized)) {
112
- fileToLatestIndex.set(normalized, i);
113
- }
110
+ if (turn.role === 'model' && turn.tool_calls) {
111
+ for (const tc of turn.tool_calls) {
112
+ if (tc.function?.name === 'request_context') {
113
+ toolCallToIndex.set(tc.id, i);
114
114
  }
115
115
  }
116
116
  }
117
117
  }
118
- if (fileToLatestIndex.size === 0) {
119
- return history;
118
+ const toolResultIndex = new Map();
119
+ for (let i = 0; i < history.length; i++) {
120
+ const turn = history[i];
121
+ if (turn.role === 'tool' && turn.tool_call_id) {
122
+ toolResultIndex.set(turn.tool_call_id, i);
123
+ }
120
124
  }
125
+ let redactedResults = 0;
126
+ let redactedToolCalls = 0;
121
127
  const result = history.map((turn, index) => {
122
- if (turn.role !== 'model' || !turn.tool_calls) {
123
- return turn;
124
- }
125
- let hasRedaction = false;
126
- const newToolCalls = turn.tool_calls.map((tc) => {
127
- if (!this.isFileWriteTool(tc.function?.name)) {
128
- return tc;
128
+ if (turn.role === 'tool' && turn.tool_call_id) {
129
+ const modelTurnIndex = toolCallToIndex.get(turn.tool_call_id);
130
+ if (modelTurnIndex !== undefined) {
131
+ const text = turn.parts.map((p) => p.text).join('');
132
+ const filePaths = this.extractFilePaths(text);
133
+ if (filePaths.length > 0) {
134
+ const filesToRedact = [];
135
+ for (const filePath of filePaths) {
136
+ const normalized = this.normalizePath(filePath);
137
+ const versionInfo = fileIndex.get(normalized);
138
+ if (versionInfo && versionInfo.latestIndex > index) {
139
+ filesToRedact.push({
140
+ filePath,
141
+ latestToolName: versionInfo.latestToolName,
142
+ });
143
+ }
144
+ }
145
+ if (filesToRedact.length > 0) {
146
+ redactedResults++;
147
+ return this.redactToolResult(turn, filesToRedact);
148
+ }
149
+ }
129
150
  }
130
- const filePath = this.extractFilePathFromToolCall(tc);
131
- if (!filePath) {
151
+ }
152
+ if (turn.role === 'model' && turn.tool_calls) {
153
+ let hasRedaction = false;
154
+ const newToolCalls = turn.tool_calls.map((tc) => {
155
+ const toolName = tc.function?.name;
156
+ if (!this.isFileWriteTool(toolName)) {
157
+ return tc;
158
+ }
159
+ const filePath = this.extractFilePathFromToolCall(tc);
160
+ if (!filePath) {
161
+ return tc;
162
+ }
163
+ const normalized = this.normalizePath(filePath);
164
+ const versionInfo = fileIndex.get(normalized);
165
+ const effectiveIndex = toolResultIndex.get(tc.id) ?? index;
166
+ if (versionInfo && versionInfo.latestIndex > effectiveIndex) {
167
+ hasRedaction = true;
168
+ redactedToolCalls++;
169
+ return this.redactToolCallContent(tc, filePath, versionInfo.latestToolName);
170
+ }
132
171
  return tc;
172
+ });
173
+ if (hasRedaction) {
174
+ return {
175
+ ...turn,
176
+ tool_calls: newToolCalls,
177
+ };
133
178
  }
134
- const normalized = this.normalizePath(filePath);
135
- const latestIndex = fileToLatestIndex.get(normalized);
136
- if (latestIndex !== undefined && latestIndex > index) {
137
- hasRedaction = true;
138
- return this.redactToolCallContent(tc, filePath);
139
- }
140
- return tc;
141
- });
142
- if (!hasRedaction) {
143
- return turn;
144
179
  }
145
- return {
146
- ...turn,
147
- tool_calls: newToolCalls,
148
- };
180
+ return turn;
149
181
  });
150
- const redactedCount = result.filter((t, i) => t !== history[i] && t.role === 'model').length;
151
- if (redactedCount > 0) {
152
- this.logger.log(`Compressed history: redacted ${redactedCount} older file write tool call(s)`);
182
+ if (redactedResults > 0 || redactedToolCalls > 0) {
183
+ const parts = [];
184
+ if (redactedResults > 0) {
185
+ parts.push(`${redactedResults} older tool result(s)`);
186
+ }
187
+ if (redactedToolCalls > 0) {
188
+ parts.push(`${redactedToolCalls} older tool call(s)`);
189
+ }
190
+ this.logger.log(`Compressed history: redacted ${parts.join(' and ')}`);
153
191
  }
154
192
  return result;
155
193
  }
194
+ isFileContentTool(toolName) {
195
+ return !!toolName && this.FILE_CONTENT_TOOLS.includes(toolName);
196
+ }
156
197
  isFileWriteTool(toolName) {
157
198
  return !!toolName && this.FILE_WRITE_TOOLS.includes(toolName);
158
199
  }
@@ -171,7 +212,7 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
171
212
  }
172
213
  return parsedArgs.file_path || null;
173
214
  }
174
- redactToolCallContent(toolCall, filePath) {
215
+ redactToolCallContent(toolCall, filePath, latestToolName) {
175
216
  const args = toolCall.function?.arguments;
176
217
  let parsedArgs = args;
177
218
  if (typeof args === 'string') {
@@ -184,7 +225,7 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
184
225
  }
185
226
  const redactedArgs = {
186
227
  ...parsedArgs,
187
- content: `[Content for ${filePath} redacted - see newer ${toolCall.function.name} for this file]`,
228
+ content: `[Content for ${filePath} redacted - see newer ${latestToolName} for this file]`,
188
229
  };
189
230
  return {
190
231
  ...toolCall,
@@ -238,12 +279,17 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
238
279
  redactToolResult(turn, filesToRedact) {
239
280
  const text = turn.parts.map((p) => p.text).join('');
240
281
  const blocks = this.parseFileBlocks(text);
241
- const normalizedFilesToRedact = new Set(filesToRedact.map((f) => this.normalizePath(f)));
282
+ const redactionInfo = new Map();
283
+ for (const f of filesToRedact) {
284
+ redactionInfo.set(this.normalizePath(f.filePath), f.latestToolName);
285
+ }
286
+ const normalizedFilesToRedact = new Set(redactionInfo.keys());
242
287
  const resultParts = [];
243
288
  for (const block of blocks) {
244
289
  const normalizedBlockPath = this.normalizePath(block.filePath);
245
290
  if (normalizedFilesToRedact.has(normalizedBlockPath)) {
246
- resultParts.push(`[Content for ${block.filePath} redacted - see newer request_context]`);
291
+ const latestToolName = redactionInfo.get(normalizedBlockPath);
292
+ resultParts.push(`[Content for ${block.filePath} redacted - see newer ${latestToolName}]`);
247
293
  }
248
294
  else {
249
295
  resultParts.push(block.content);
@@ -251,13 +297,14 @@ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompr
251
297
  }
252
298
  if (resultParts.length === 0) {
253
299
  const fileList = filesToRedact.length === 1
254
- ? filesToRedact[0]
300
+ ? filesToRedact[0].filePath
255
301
  : `${filesToRedact.length} files`;
302
+ const latestToolName = filesToRedact[0].latestToolName;
256
303
  return {
257
304
  ...turn,
258
305
  parts: [
259
306
  {
260
- text: `[Content for ${fileList} redacted - see newer request_context]`,
307
+ text: `[Content for ${fileList} redacted - see newer ${latestToolName}]`,
261
308
  },
262
309
  ],
263
310
  };
@@ -1 +1 @@
1
- {"version":3,"file":"history-compression.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/history-compression.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-compression.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/history-compression.service.ts"],"names":[],"mappings":"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"}