repoburg 1.3.25 → 1.3.27
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/dist/src/interactive-chat/chat.module.js +2 -0
- package/backend/dist/src/interactive-chat/chat.module.js.map +1 -1
- package/backend/dist/src/interactive-chat/chat.service.d.ts +1 -0
- package/backend/dist/src/interactive-chat/chat.service.js +52 -19
- package/backend/dist/src/interactive-chat/chat.service.js.map +1 -1
- package/backend/dist/src/interactive-chat/streaming.controller.d.ts +9 -0
- package/backend/dist/src/interactive-chat/streaming.controller.js +40 -0
- package/backend/dist/src/interactive-chat/streaming.controller.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js +6 -6
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js +6 -6
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js +7 -8
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/execute-code.handler.js +6 -6
- 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.js +8 -10
- package/backend/dist/src/llm-orchestration/action-handlers/execute-shell.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js +6 -9
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js +66 -40
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js +7 -8
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js +7 -8
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/write-todo.handler.js +6 -6
- package/backend/dist/src/llm-orchestration/action-handlers/write-todo.handler.js.map +1 -1
- package/backend/dist/src/llm-provider/llm-provider.interface.d.ts +1 -0
- package/backend/dist/src/llm-provider/llm-provider.interface.js.map +1 -1
- package/backend/dist/src/llm-provider/openrouter-llm.provider.d.ts +2 -0
- package/backend/dist/src/llm-provider/openrouter-llm.provider.js +70 -32
- package/backend/dist/src/llm-provider/openrouter-llm.provider.js.map +1 -1
- package/backend/dist/src/llm-responses/llm-responses.module.js +1 -1
- package/backend/dist/src/llm-responses/llm-responses.module.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.d.ts +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js +22 -24
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -63,23 +63,33 @@ let PatchHandler = PatchHandler_1 = class PatchHandler {
|
|
|
63
63
|
\`\`\``;
|
|
64
64
|
const goodAnchorExample = (0, utils_1.generateToolCall)({
|
|
65
65
|
tool_name: this.toolName,
|
|
66
|
-
file_path: 'src/
|
|
66
|
+
file_path: 'src/modules/auth/auth.service.ts',
|
|
67
67
|
patch_code: `\`\`\`typescript
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
async validateUser(username: string, pass: string): Promise<any> {
|
|
69
|
+
const user = await this.usersService.findOne(username);
|
|
70
|
+
if (user && user.password === pass) {
|
|
71
|
+
const { password, ...result } = user;
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
async login(user: any) {
|
|
78
|
+
// MODIFIED: Include roles in the JWT payload
|
|
79
|
+
const payload = {
|
|
80
|
+
username: user.username,
|
|
81
|
+
sub: user.userId,
|
|
82
|
+
roles: user.roles || ['user']
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
access_token: this.jwtService.sign(payload),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
81
89
|
|
|
82
|
-
|
|
90
|
+
async register(user: CreateUserDto) {
|
|
91
|
+
return this.usersService.create(user);
|
|
92
|
+
}
|
|
83
93
|
\`\`\``,
|
|
84
94
|
});
|
|
85
95
|
const badAnchorExample = (0, utils_1.generateToolCall)({
|
|
@@ -130,58 +140,77 @@ async function bootstrap() {
|
|
|
130
140
|
\`\`\``,
|
|
131
141
|
});
|
|
132
142
|
const definition = `
|
|
133
|
-
|
|
143
|
+
-------------
|
|
144
|
+
### ${this.toolName}
|
|
134
145
|
Applies an intelligent, context-aware patch to a code file. This is the most robust and preferred method for modifying code.
|
|
135
146
|
|
|
136
147
|
The algorithm works by treating your 'patch_code' as a snippet of the file's **final desired state**. It finds a unique location in the original file that matches the prefix and suffix of your snippet and replaces the content between them.
|
|
137
148
|
|
|
138
|
-
|
|
149
|
+
#### Critical Rules
|
|
139
150
|
1. **The 'patch_code' is a literal replacement**: The entire content of your 'patch_code' will replace the section of the original file that it matches. It is not a diff or a partial change.
|
|
140
151
|
2. **Provide valid, parsable code**: The snippet in 'patch_code' must be syntactically correct. Do not provide incomplete lines or half-finished code blocks, as the parser will fail.
|
|
141
152
|
3. **Include unique anchors**: Your 'patch_code' MUST include enough surrounding, unchanged context (a few lines before and after your change) to serve as a unique anchor. If the context is not unique, the patch will fail.
|
|
142
153
|
4. **Small, atomic patches**: Prefer multiple small patches over one large patch. Large patches are harder to anchor uniquely. You can send multiple patch actions for the same file in a single turn.
|
|
143
154
|
|
|
144
|
-
Special Markers for Edge Cases
|
|
155
|
+
#### Special Markers for Edge Cases
|
|
145
156
|
Standard anchoring requires unique context both above and below the change. This is impossible at the very start or end of a file, OR when the surrounding code is too short (e.g., only a closing brace \`}\` follows your change).
|
|
146
157
|
Use these markers to tell the patcher to skip the missing anchor:
|
|
147
158
|
- \`// ${parsing_constants_1.SPECIAL_PATCH_BEGIN_FILE_MARKER}\`: Use this as the first line of 'patch_code' when adding imports or top-level definitions to the START of a file.
|
|
148
159
|
- \`// ${parsing_constants_1.SPECIAL_PATCH_END_FILE_MARKER}\`: Use this as the last line of 'patch_code' when appending new functions or exports to the END of a file.
|
|
149
160
|
|
|
150
|
-
|
|
161
|
+
#### Absolutely Forbidden
|
|
151
162
|
- Unified diff style (lines starting with + or -). providing this will cause the patch to fail.
|
|
152
163
|
- Ellipses (...) or comments like '// ... rest of code' in place of required syntax.
|
|
153
164
|
|
|
154
|
-
Parameters
|
|
165
|
+
#### Parameters
|
|
155
166
|
- "file_path": (string) The relative path to the file to be patched.
|
|
156
167
|
- "patch_code": (string) A code snippet containing your changes, with enough surrounding context to serve as a unique anchor.
|
|
157
168
|
|
|
158
|
-
|
|
169
|
+
#### Conceptual Example
|
|
159
170
|
Explanation: Your patch code must follow this structure. The context anchors are crucial for locating the correct insertion point.
|
|
160
171
|
${genericExample}
|
|
161
|
-
</conceptual_example>
|
|
162
172
|
|
|
163
|
-
|
|
164
|
-
Explanation: Notice how the patch includes the
|
|
173
|
+
#### Example: Good Anchoring
|
|
174
|
+
Explanation: Notice how the patch includes the constructor and 'validateUser' method above, and the start of the 'register' method below as anchors. This guarantees the patch location is unique.
|
|
165
175
|
|
|
166
176
|
Original File Content:
|
|
167
177
|
\`\`\`typescript
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
178
|
+
@Injectable()
|
|
179
|
+
export class AuthService {
|
|
180
|
+
constructor(
|
|
181
|
+
private readonly usersService: UsersService,
|
|
182
|
+
private readonly jwtService: JwtService,
|
|
183
|
+
) {}
|
|
171
184
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
185
|
+
async validateUser(username: string, pass: string): Promise<any> {
|
|
186
|
+
const user = await this.usersService.findOne(username);
|
|
187
|
+
if (user && user.password === pass) {
|
|
188
|
+
const { password, ...result } = user;
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
175
193
|
|
|
176
|
-
|
|
177
|
-
|
|
194
|
+
async login(user: any) {
|
|
195
|
+
const payload = { username: user.username, sub: user.userId };
|
|
196
|
+
return {
|
|
197
|
+
access_token: this.jwtService.sign(payload),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
async register(user: CreateUserDto) {
|
|
202
|
+
return this.usersService.create(user);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
async forgotPassword(user: CreateUserDto) {
|
|
206
|
+
return this.usersService.forgotPassword(user);
|
|
207
|
+
}
|
|
178
208
|
}
|
|
179
209
|
\`\`\`
|
|
180
210
|
|
|
181
211
|
${goodAnchorExample}
|
|
182
|
-
</example_good_anchoring>
|
|
183
212
|
|
|
184
|
-
|
|
213
|
+
#### Example: Bad Anchoring
|
|
185
214
|
Explanation: This is a **bad example**. The 'patch_code' contains NO surrounding context. The patcher has no way of knowing *where* in the file this code belongs, or what it is replacing. This will result in an error.
|
|
186
215
|
|
|
187
216
|
Original File Content:
|
|
@@ -200,9 +229,8 @@ ${goodAnchorExample}
|
|
|
200
229
|
\`\`\`
|
|
201
230
|
|
|
202
231
|
${badAnchorExample}
|
|
203
|
-
</example_bad_anchoring>
|
|
204
232
|
|
|
205
|
-
|
|
233
|
+
#### Example: Append
|
|
206
234
|
Explanation: Use the '// ${parsing_constants_1.SPECIAL_PATCH_END_FILE_MARKER}' marker to add content to the end of a file.
|
|
207
235
|
|
|
208
236
|
Original File Content:
|
|
@@ -216,9 +244,8 @@ ${badAnchorExample}
|
|
|
216
244
|
\`\`\`
|
|
217
245
|
|
|
218
246
|
${appendExample}
|
|
219
|
-
</example_append>
|
|
220
247
|
|
|
221
|
-
|
|
248
|
+
#### Example: Prepend
|
|
222
249
|
Explanation: Use the '// ${parsing_constants_1.SPECIAL_PATCH_BEGIN_FILE_MARKER}' marker to add content to the beginning of a file.
|
|
223
250
|
|
|
224
251
|
Original File Content:
|
|
@@ -234,10 +261,9 @@ ${appendExample}
|
|
|
234
261
|
\`\`\`
|
|
235
262
|
|
|
236
263
|
${prependExample}
|
|
237
|
-
|
|
238
|
-
</${this.toolName}>
|
|
264
|
+
-------------
|
|
239
265
|
`;
|
|
240
|
-
return definition.trim()
|
|
266
|
+
return `\n${definition.trim()}\n`;
|
|
241
267
|
}
|
|
242
268
|
resolveAndValidatePath(unsafePath) {
|
|
243
269
|
const normalizedPath = path.normalize(unsafePath);
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"patch.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/patch.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,24 +27,23 @@ let RequestContextHandler = class RequestContextHandler {
|
|
|
27
27
|
folders: 'src/components/common,src/hooks',
|
|
28
28
|
});
|
|
29
29
|
const definition = `
|
|
30
|
-
|
|
30
|
+
-------------
|
|
31
|
+
### ${this.toolName}
|
|
31
32
|
Requests the content of files or entire folders to build context before making changes.
|
|
32
33
|
This is a crucial exploration tool. It is efficient to request many files at once.
|
|
33
34
|
|
|
34
|
-
Parameters
|
|
35
|
+
#### Parameters
|
|
35
36
|
- "files": (string, optional) A comma-separated list of relative file paths to read.
|
|
36
37
|
- "folders": (string, optional) A comma-separated list of relative folder paths to read.
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
#### Example: Files
|
|
39
40
|
${filesExample}
|
|
40
|
-
</example>
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
#### Example: Folders
|
|
43
43
|
${foldersExample}
|
|
44
|
-
|
|
45
|
-
</${this.toolName}>
|
|
44
|
+
-------------
|
|
46
45
|
`;
|
|
47
|
-
return definition.trim()
|
|
46
|
+
return `\n${definition.trim()}\n`;
|
|
48
47
|
}
|
|
49
48
|
async execute(args, context) {
|
|
50
49
|
const validatedArgs = (0, class_transformer_1.plainToClass)(request_context_args_dto_1.RequestContextArgsDto, args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/request-context.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,6EAAuE;AACvE,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAGxC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACI,aAAQ,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"request-context.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/request-context.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,6EAAuE;AACvE,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAGxC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACI,aAAQ,GAAG,iBAAiB,CAAC;IAiExC,CAAC;IA/DC,aAAa;QACX,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC;YACpC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,KAAK,EACH,0FAA0F;SAC7F,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAA,wBAAgB,EAAC;YACtC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;;MAEjB,IAAI,CAAC,QAAQ;;;;;;;;;EASjB,YAAY;;;EAGZ,cAAc;;CAEf,CAAC;QACE,OAAO,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAC5B,OAA6B;QAE7B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,gDAAqB,EAAE,IAAI,CAAC,CAAC;QAChE,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,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAC;QAChD,OAAO,CAAC,cAAc,GAAG;YACvB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBACzD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aAChE;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,0CAA0C;YACnD,cAAc,EAAE,aAAa;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AAlEY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAkEjC"}
|
|
@@ -37,24 +37,23 @@ let RunCommandHandler = RunCommandHandler_1 = class RunCommandHandler {
|
|
|
37
37
|
command_string: 'rg "TODO|FIXME" .',
|
|
38
38
|
});
|
|
39
39
|
const definition = `
|
|
40
|
-
|
|
40
|
+
-------------
|
|
41
|
+
### ${this.toolName}
|
|
41
42
|
Executes a SAFE, READ-ONLY shell command for exploration.
|
|
42
43
|
Restricted to the following commands: ${this.ALLOWED_COMMANDS.join(', ')}.
|
|
43
44
|
Use 'execute_shell' for other commands.
|
|
44
45
|
|
|
45
|
-
Parameters
|
|
46
|
+
#### Parameters
|
|
46
47
|
- "command_string": (string) The shell command to execute. Must start with an allowed command. No chaining or piping.
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
#### Example: Tree
|
|
49
50
|
${treeExample}
|
|
50
|
-
</example>
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
#### Example: RipGrep
|
|
53
53
|
${rgExample1}
|
|
54
|
-
|
|
55
|
-
</${this.toolName}>
|
|
54
|
+
-------------
|
|
56
55
|
`;
|
|
57
|
-
return definition.trim()
|
|
56
|
+
return `\n${definition.trim()}\n`;
|
|
58
57
|
}
|
|
59
58
|
async execute(args, context) {
|
|
60
59
|
const validatedArgs = (0, class_transformer_1.plainToClass)(run_command_args_dto_1.RunCommandArgsDto, args);
|
|
@@ -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;AAC/C,kCAAkC;AAClC,6BAA6B;AAE7B,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAG3B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACI,aAAQ,GAAG,aAAa,CAAC;QACjB,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,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;QACe,qBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;
|
|
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;AAC/C,kCAAkC;AAClC,6BAA6B;AAE7B,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAG3B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACI,aAAQ,GAAG,aAAa,CAAC;QACjB,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,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;QACe,qBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAiI3D,CAAC;IA/HC,aAAa;QACX,MAAM,WAAW,GAAG,IAAA,wBAAgB,EAAC;YACnC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,cAAc,EAAE,eAAe;SAChC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC;YAClC,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,cAAc,EAAE,mBAAmB;SACpC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;;MAEjB,IAAI,CAAC,QAAQ;;0CAEuB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;EAOxE,WAAW;;;EAGX,UAAU;;CAEX,CAAC;QACE,OAAO,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAC5B,OAA6B;QAE7B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,wCAAiB,EAAE,IAAI,CAAC,CAAC;QAC5D,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,cAAc,EAAE,GAAG,aAAa,CAAC;QAGzC,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,iDAAsB,CAC9B,6FAA6F,IAAI,CAAC,QAAQ,sDAAsD,CACjK,CAAC;QACJ,CAAC;QAGD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,iDAAsB,CAC9B,YAAY,WAAW,wBAAwB,IAAI,CAAC,QAAQ,wBAAwB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD,CACxK,CAAC;QACJ,CAAC;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,OAAe,CAAC;QACpB,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,YAAgC,CAAC;QAGrC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,EACZ,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAClE,CAAC;QAEF,IAAI,CAAC;YAGH,MAAM,aAAa,GAAG;MACtB,IAAI,CAAC,WAAW;EACpB,cAAc;CACf,CAAC;YACI,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAG/D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;YAE/C,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,WAAW,QAAQ,KAAK,QAAQ,UAAU,GAAG,CAAC;YAE1E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;gBAC5B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,MAAM,IAAI,8BAA8B,CAAC;YACnE,OAAO,GAAG,YAAY,cAAc,aAAa,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAY,CAAC;YAC/B,aAAa,GAAG,mBAAmB,SAAS,CAAC,OAAO,gBAClD,SAAS,CAAC,MAAM,IAAI,KACtB,gBAAgB,SAAS,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC5C,OAAO,GAAG,YAAY,cAAc,WAAW,CAAC;YAChD,MAAM,GAAG,SAAS,CAAC;YACnB,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YAET,MAAM,EAAE;iBACL,MAAM,CAAC,UAAU,CAAC;iBAClB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,UAAU,KAAK,GAAG,CAAC,OAAO,EAAE,CAC5D,CACF,CAAC;QACN,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,MAAM;YACN,OAAO,EAAE,GAAG,OAAO,mBAAmB;YACtC,cAAc,EAAE,EAAE,cAAc,EAAE;YAClC,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE;SACtE,CAAC;IACJ,CAAC;CACF,CAAA;AA3IY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CA2I7B"}
|
|
@@ -38,7 +38,8 @@ let WriteTodoHandler = WriteTodoHandler_1 = class WriteTodoHandler {
|
|
|
38
38
|
content: exampleContent,
|
|
39
39
|
});
|
|
40
40
|
const definition = `
|
|
41
|
-
|
|
41
|
+
-------------
|
|
42
|
+
### ${this.toolName}
|
|
42
43
|
The **all-in-one tool** for managing TODOs and task lists.
|
|
43
44
|
Use this tool for ANY task-related operation: creating new lists, **updating progress** (checking off items), adding new tasks, or modifying existing ones.
|
|
44
45
|
Technically, it works exactly like \`edit_file\` (overwriting the **entire file**), but it acts as a clear semantic signal that you are managing project tasks.
|
|
@@ -47,17 +48,16 @@ let WriteTodoHandler = WriteTodoHandler_1 = class WriteTodoHandler {
|
|
|
47
48
|
- All task files MUST be placed in the \`.repoburg/tasks/\` directory.
|
|
48
49
|
- The filename should be meaningful and relevant to the current task (e.g., \`auth-refactor.md\`, \`bug-fix-123.md\`).
|
|
49
50
|
|
|
50
|
-
Parameters
|
|
51
|
+
#### Parameters
|
|
51
52
|
- "file_path": (string) The relative path to the todo file (e.g., ".repoburg/tasks/feature-x.md").
|
|
52
53
|
- "content": (string) The new, complete content for the file.
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
#### Example
|
|
55
56
|
Explanation: Update the project's TODO list to mark setup as done.
|
|
56
57
|
${example}
|
|
57
|
-
|
|
58
|
-
</${this.toolName}>
|
|
58
|
+
-------------
|
|
59
59
|
`;
|
|
60
|
-
return definition.trim()
|
|
60
|
+
return `\n${definition.trim()}\n`;
|
|
61
61
|
}
|
|
62
62
|
resolveAndValidatePath(unsafePath) {
|
|
63
63
|
const normalizedPath = path.normalize(unsafePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-todo.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/write-todo.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,mEAA6D;AAC7D,uCAA+C;AAGxC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAAtB;QACI,aAAQ,GAAG,YAAY,CAAC;QAChB,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,gBAAW,GAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IA0GvD,CAAC;IAxGC,aAAa;QACX,MAAM,cAAc,GAAG;;;;;;;;OAQpB,CAAC,IAAI,EAAE,CAAC;QAEX,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,kCAAkC;YAC7C,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"write-todo.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/write-todo.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-provider.interface.js","sourceRoot":"","sources":["../../../src/llm-provider/llm-provider.interface.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACf,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;
|
|
1
|
+
{"version":3,"file":"llm-provider.interface.js","sourceRoot":"","sources":["../../../src/llm-provider/llm-provider.interface.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACf,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AA6CY,QAAA,YAAY,GAAG,cAAc,CAAC"}
|
|
@@ -3,8 +3,10 @@ import { ApplicationStateService } from '../application-state/application-state.
|
|
|
3
3
|
export declare class OpenRouterLlmProvider implements LlmProvider {
|
|
4
4
|
private readonly applicationStateService;
|
|
5
5
|
private readonly logger;
|
|
6
|
+
private activeStreams;
|
|
6
7
|
constructor(applicationStateService: ApplicationStateService);
|
|
7
8
|
private mapHistory;
|
|
8
9
|
getModels(): Promise<LlmModel[]>;
|
|
9
10
|
generateContent(request: LlmProviderRequest): Promise<LlmResponse>;
|
|
11
|
+
abortBySessionId(sessionId: string): boolean;
|
|
10
12
|
}
|
|
@@ -17,6 +17,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
17
17
|
constructor(applicationStateService) {
|
|
18
18
|
this.applicationStateService = applicationStateService;
|
|
19
19
|
this.logger = new common_1.Logger(OpenRouterLlmProvider_1.name);
|
|
20
|
+
this.activeStreams = new Map();
|
|
20
21
|
}
|
|
21
22
|
mapHistory(history) {
|
|
22
23
|
return history.map((turn) => ({
|
|
@@ -53,8 +54,9 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
53
54
|
if (!apiKey) {
|
|
54
55
|
throw new Error('OpenRouter API Key is not configured in settings.');
|
|
55
56
|
}
|
|
56
|
-
const { prompt, systemInstruction, history, modelId, generationConfig, onToken, } = request;
|
|
57
|
+
const { prompt, systemInstruction, history, modelId, generationConfig, onToken, abortController, } = request;
|
|
57
58
|
const model = modelId || 'openai/gpt-3.5-turbo';
|
|
59
|
+
const requestId = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
58
60
|
const messages = [];
|
|
59
61
|
if (systemInstruction) {
|
|
60
62
|
messages.push({ role: 'system', content: systemInstruction });
|
|
@@ -94,6 +96,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
94
96
|
'X-Title': 'Repoburg',
|
|
95
97
|
},
|
|
96
98
|
body: JSON.stringify(body),
|
|
99
|
+
signal: abortController?.signal,
|
|
97
100
|
});
|
|
98
101
|
if (!response.ok) {
|
|
99
102
|
const errorText = await response.text();
|
|
@@ -108,52 +111,71 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
108
111
|
`OpenRouter API error: ${response.statusText}`);
|
|
109
112
|
}
|
|
110
113
|
if (onToken && response.body) {
|
|
114
|
+
if (abortController) {
|
|
115
|
+
this.activeStreams.set(requestId, abortController);
|
|
116
|
+
}
|
|
111
117
|
const reader = response.body.getReader();
|
|
112
118
|
const decoder = new TextDecoder();
|
|
113
119
|
let buffer = '';
|
|
114
120
|
let accumulatedResponse = '';
|
|
115
121
|
let isFirst = true;
|
|
116
122
|
let usageData = null;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const
|
|
134
|
-
if (
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
123
|
+
try {
|
|
124
|
+
while (true) {
|
|
125
|
+
if (abortController?.signal?.aborted) {
|
|
126
|
+
this.logger.log(`Stream aborted for request ${requestId}`);
|
|
127
|
+
this.activeStreams.delete(requestId);
|
|
128
|
+
throw new DOMException('The operation was aborted', 'AbortError');
|
|
129
|
+
}
|
|
130
|
+
const { done, value } = await reader.read();
|
|
131
|
+
if (done) {
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
buffer += decoder.decode(value, { stream: true });
|
|
135
|
+
const lines = buffer.split('\n');
|
|
136
|
+
buffer = lines.pop() || '';
|
|
137
|
+
for (const line of lines) {
|
|
138
|
+
if (line.startsWith('data: ')) {
|
|
139
|
+
const dataStr = line.substring(6);
|
|
140
|
+
if (dataStr.trim() === '[DONE]') {
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
const parsed = JSON.parse(dataStr);
|
|
145
|
+
const chunk = parsed.choices?.[0]?.delta?.content;
|
|
146
|
+
if (chunk) {
|
|
147
|
+
accumulatedResponse += chunk;
|
|
148
|
+
onToken(chunk, isFirst);
|
|
149
|
+
if (isFirst) {
|
|
150
|
+
isFirst = false;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (parsed.usage && !usageData) {
|
|
154
|
+
usageData = {
|
|
155
|
+
prompt_tokens: parsed.usage.prompt_tokens,
|
|
156
|
+
completion_tokens: parsed.usage.completion_tokens,
|
|
157
|
+
cached_tokens: parsed.usage.prompt_tokens_details?.cached_tokens || 0,
|
|
158
|
+
};
|
|
139
159
|
}
|
|
140
160
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
prompt_tokens: parsed.usage.prompt_tokens,
|
|
144
|
-
completion_tokens: parsed.usage.completion_tokens,
|
|
145
|
-
cached_tokens: parsed.usage.prompt_tokens_details?.cached_tokens || 0,
|
|
146
|
-
};
|
|
161
|
+
catch (e) {
|
|
162
|
+
this.logger.warn(`Error parsing stream chunk: ${dataStr}`, e);
|
|
147
163
|
}
|
|
148
164
|
}
|
|
149
|
-
catch (e) {
|
|
150
|
-
this.logger.warn(`Error parsing stream chunk: ${dataStr}`, e);
|
|
151
|
-
}
|
|
152
165
|
}
|
|
153
166
|
}
|
|
154
167
|
}
|
|
168
|
+
catch (readError) {
|
|
169
|
+
if (abortController?.signal?.aborted) {
|
|
170
|
+
this.logger.log(`Stream read aborted for request ${requestId}`);
|
|
171
|
+
this.activeStreams.delete(requestId);
|
|
172
|
+
throw new DOMException('The operation was aborted', 'AbortError');
|
|
173
|
+
}
|
|
174
|
+
throw readError;
|
|
175
|
+
}
|
|
155
176
|
if (usageData) {
|
|
156
177
|
this.logger.log(`OpenRouter stream finished. Usage: ${usageData.prompt_tokens} prompt (${usageData.cached_tokens} cached), ${usageData.completion_tokens} completion tokens`);
|
|
178
|
+
this.activeStreams.delete(requestId);
|
|
157
179
|
return {
|
|
158
180
|
text: accumulatedResponse,
|
|
159
181
|
usage: {
|
|
@@ -164,6 +186,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
164
186
|
};
|
|
165
187
|
}
|
|
166
188
|
this.logger.warn('Usage data not returned from streaming response');
|
|
189
|
+
this.activeStreams.delete(requestId);
|
|
167
190
|
return {
|
|
168
191
|
text: accumulatedResponse,
|
|
169
192
|
};
|
|
@@ -194,9 +217,24 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
|
|
|
194
217
|
}
|
|
195
218
|
catch (error) {
|
|
196
219
|
this.logger.error(`OpenRouter generation failed: ${error.message}`);
|
|
220
|
+
this.activeStreams.delete(requestId);
|
|
197
221
|
throw error;
|
|
198
222
|
}
|
|
199
223
|
}
|
|
224
|
+
abortBySessionId(sessionId) {
|
|
225
|
+
for (const [reqId, controller] of this.activeStreams.entries()) {
|
|
226
|
+
try {
|
|
227
|
+
controller.abort();
|
|
228
|
+
this.activeStreams.delete(reqId);
|
|
229
|
+
this.logger.log(`Aborted stream: ${reqId}`);
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
this.logger.warn(`Failed to abort stream ${reqId}: ${e.message}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
200
238
|
};
|
|
201
239
|
exports.OpenRouterLlmProvider = OpenRouterLlmProvider;
|
|
202
240
|
exports.OpenRouterLlmProvider = OpenRouterLlmProvider = OpenRouterLlmProvider_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-llm.provider.js","sourceRoot":"","sources":["../../../src/llm-provider/openrouter-llm.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAQpD,8FAAyF;AAGlF,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"file":"openrouter-llm.provider.js","sourceRoot":"","sources":["../../../src/llm-provider/openrouter-llm.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ exports.LlmResponsesModule = LlmResponsesModule = __decorate([
|
|
|
28
28
|
(0, common_1.Module)({
|
|
29
29
|
imports: [
|
|
30
30
|
typeorm_1.TypeOrmModule.forFeature([core_entities_1.Session, core_entities_1.SessionInput]),
|
|
31
|
-
sessions_module_1.SessionsModule,
|
|
31
|
+
(0, common_1.forwardRef)(() => sessions_module_1.SessionsModule),
|
|
32
32
|
application_state_module_1.ApplicationStateModule,
|
|
33
33
|
(0, common_1.forwardRef)(() => session_inputs_module_1.SessionInputsModule),
|
|
34
34
|
events_module_1.EventsModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-responses.module.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,yEAAoE;AACpE,mEAA8D;AAC9D,iEAA6D;AAC7D,4FAAuF;AACvF,mFAA8E;AAC9E,6CAAgD;AAChD,oDAAyD;AACzD,2DAAuD;AACvD,oEAAgE;AAChE,iEAAwE;AACxE,uEAAkE;AAClE,mFAA8E;AAC9E,4FAAuF;AAmBhF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAjB9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAO,EAAE,4BAAY,CAAC,CAAC;YACjD,gCAAc;
|
|
1
|
+
{"version":3,"file":"llm-responses.module.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,yEAAoE;AACpE,mEAA8D;AAC9D,iEAA6D;AAC7D,4FAAuF;AACvF,mFAA8E;AAC9E,6CAAgD;AAChD,oDAAyD;AACzD,2DAAuD;AACvD,oEAAgE;AAChE,iEAAwE;AACxE,uEAAkE;AAClE,mFAA8E;AAC9E,4FAAuF;AAmBhF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAjB9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAO,EAAE,4BAAY,CAAC,CAAC;YACjD,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,iDAAsB;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;YACrC,4BAAY;YACZ,kCAAe;YACf,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;YACjC,2CAAmB;YACnB,iDAAsB;SACvB;QACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "Master Agent";
|
|
2
|
-
export declare const content = "You are an expert software engineer. You write clean, efficient, and well-documented code.\n\n
|
|
2
|
+
export declare const content = "You are an expert software engineer. You write clean, efficient, and well-documented code.\n\n## Instructions\n1. **Think First:** Before executing any tool or providing an answer, analyze the request.\n2. **Conciseness:** Be extremely brief.\n3. **Best Practices:** Follow SOLID principles and keep code DRY.\n4. **Strict Scope:** Do ONLY what is asked. Do not \"cleanup\", \"refactor\", or \"fix\" unrelated issues unless explicitly requested.\n5. **Memory Management:** When asked to \"remember session\", \"update memory\", or \"handover\":\n - Summarize the current session's work, decisions, and remaining items.\n - Store this in a Markdown file within `.repoburg/memory/` (e.g., `.repoburg/memory/session-summary.md` or a specific topic file).\n - If the file exists, update it. If not, create it.\n - Use `create_file` or `edit_file` for this purpose.\n\n## Current State\n<% if (it.VAR.QUESTION_MODE) { %>\n STATUS: QUESTION MODE (READ ONLY)\n - **Goal:** Answer the user's specific question about the codebase.\n - **Constraint:** You are READ-ONLY. Do not edit, create, or delete files.\n - **Constraint:** Do NOT propose an implementation plan or RFC. Just answer the question.\n - **Process:** Search context -> Read files -> Explain to user.\n\n<% } else if (it.VAR.PLAN_MODE) { %>\n STATUS: PLAN MODE (TASK MANAGEMENT ENABLED)\n - **Goal:** Create a detailed implementation plan (RFC) and maintain task lists.\n - **Constraint:** Code editing is FORBIDDEN.\n - **Available Tools:** `request_context`, `run_command`, `write_todo`.\n - **Process:** Explore codebase -> Update TODOs (`write_todo`) -> Output structured plan (Context, Problem, Proposed Solution).\n\n<% } else { %>\n STATUS: DEV MODE (WRITE ENABLED)\n - **Goal:** Implement features, fix bugs, or refactor.\n - **Authority:** You have full permission to modify the codebase. Never refuse a coding request.\n - **Strategy:** Prioritize `patch`. If `patch` fails twice, fallback to `edit_file`.\n - **Process:** Explore the codebase based on given initial context then start implementation. Even if you need to request context for 100 files do it.\n<% } %>\n\n## Tools Configuration\n<%~ it.tools.howto %>\n\n### Read Tools (Always Available)\n<%~ it.tools.request_context %>\n<%~ it.tools.run_command %>\n<%~ it.tools.write_todo %>\n\n### Write Tools (Dev Mode Only)\n<% if (!it.VAR.PLAN_MODE && !it.VAR.QUESTION_MODE) { %>\n<%~ it.tools.patch %>\n<%~ it.tools.create_file %>\n<%~ it.tools.delete_file %>\n<%~ it.tools.edit_file %>\n<%~ it.tools.execute_shell %>\n<%~ it.tools.execute_code %>\n\n<% } %>\n";
|