repoburg 1.3.39 → 1.3.41
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/llm-orchestration/action-handlers/matchers/base.matcher.d.ts +20 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/base.matcher.js +3 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/base.matcher.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/context-aware.matcher.d.ts +14 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/context-aware.matcher.js +174 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/context-aware.matcher.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/exact.matcher.d.ts +6 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/exact.matcher.js +61 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/exact.matcher.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/hybrid.matcher.d.ts +9 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/hybrid.matcher.js +57 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/hybrid.matcher.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/index.d.ts +5 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/index.js +22 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/index.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/normalized.matcher.d.ts +12 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/normalized.matcher.js +132 -0
- package/backend/dist/src/llm-orchestration/action-handlers/matchers/normalized.matcher.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.d.ts +3 -1
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +62 -21
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -1
- package/backend/dist/src/session-inputs/dto/session-input.dto.d.ts +6 -0
- package/backend/dist/src/session-inputs/dto/session-input.dto.js +24 -1
- package/backend/dist/src/session-inputs/dto/session-input.dto.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.controller.d.ts +2 -1
- package/backend/dist/src/session-inputs/session-inputs.controller.js +13 -0
- package/backend/dist/src/session-inputs/session-inputs.controller.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.service.d.ts +2 -1
- package/backend/dist/src/session-inputs/session-inputs.service.js +44 -0
- package/backend/dist/src/session-inputs/session-inputs.service.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -16,11 +16,13 @@ const class_validator_1 = require("class-validator");
|
|
|
16
16
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
17
17
|
const quick_edit_args_dto_1 = require("./dto/quick-edit.args.dto");
|
|
18
18
|
const utils_1 = require("../../utils");
|
|
19
|
+
const hybrid_matcher_1 = require("./matchers/hybrid.matcher");
|
|
19
20
|
let QuickEditHandler = QuickEditHandler_1 = class QuickEditHandler {
|
|
20
21
|
constructor() {
|
|
21
22
|
this.toolName = 'quick_edit';
|
|
22
23
|
this.logger = new common_1.Logger(QuickEditHandler_1.name);
|
|
23
24
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
25
|
+
this.hybridMatcher = new hybrid_matcher_1.HybridMatcher();
|
|
24
26
|
}
|
|
25
27
|
getMetadata() {
|
|
26
28
|
return {
|
|
@@ -141,21 +143,61 @@ function oldUnusedFunction() {
|
|
|
141
143
|
}
|
|
142
144
|
return normalized;
|
|
143
145
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
146
|
+
formatNotFoundMessage(filePath, searchBlock) {
|
|
147
|
+
return `In file \`${filePath}\`, the action failed. Reason: The file itself could **not be found**.
|
|
148
|
+
|
|
149
|
+
The search block you were looking for was:
|
|
150
|
+
\`\`\`
|
|
151
|
+
${searchBlock}
|
|
152
|
+
\`\`\`
|
|
153
|
+
|
|
154
|
+
**Next Steps:**
|
|
155
|
+
1. Use \`request_context\` to verify the file exists and get its current content
|
|
156
|
+
2. Ensure the file path is correct and relative to the project root
|
|
157
|
+
3. Check if the file was deleted or renamed`;
|
|
158
|
+
}
|
|
159
|
+
formatErrorWithCandidates(filePath, searchBlock, matchResult) {
|
|
160
|
+
if (!matchResult.candidates || matchResult.candidates.length === 0) {
|
|
161
|
+
return `In file \`${filePath}\`, the search block was **not found**.
|
|
162
|
+
|
|
163
|
+
The search block you were looking for was:
|
|
164
|
+
\`\`\`
|
|
165
|
+
${searchBlock}
|
|
166
|
+
\`\`\`
|
|
167
|
+
|
|
168
|
+
**Next Steps:**
|
|
169
|
+
1. Use \`request_context\` to read the file and get its current content
|
|
170
|
+
2. Look for similar code blocks and identify the correct one
|
|
171
|
+
3. Include more surrounding lines to make the search block more unique`;
|
|
172
|
+
}
|
|
173
|
+
let msg = `In file \`${filePath}\`, found **${matchResult.candidates.length} possible matches** for your search block.\n\n`;
|
|
174
|
+
msg += `The search block you provided was:\n\`\`\`\n${searchBlock}\n\`\`\`\n\n`;
|
|
175
|
+
if (matchResult.candidates.length === 1) {
|
|
176
|
+
msg += `**Candidate 1** (confidence: ${(matchResult.candidates[0].confidence * 100).toFixed(0)}%)\n`;
|
|
157
177
|
}
|
|
158
|
-
|
|
178
|
+
else {
|
|
179
|
+
msg += `**Candidates found:**\n\n`;
|
|
180
|
+
}
|
|
181
|
+
matchResult.candidates.forEach((c, i) => {
|
|
182
|
+
if (matchResult.candidates.length > 1) {
|
|
183
|
+
msg += `### Candidate ${i + 1}\n`;
|
|
184
|
+
}
|
|
185
|
+
msg += `**Location:** Lines ${c.startLine + 1}-${c.endLine + 1}\n`;
|
|
186
|
+
msg += `**Confidence:** ${(c.confidence * 100).toFixed(0)}%\n`;
|
|
187
|
+
if (c.beforeAnchor) {
|
|
188
|
+
msg += `**Line before:** \`${c.beforeAnchor.trim()}\`\n`;
|
|
189
|
+
}
|
|
190
|
+
if (c.afterAnchor) {
|
|
191
|
+
msg += `**Line after:** \`${c.afterAnchor.trim()}\`\n`;
|
|
192
|
+
}
|
|
193
|
+
msg += `\`\`\`\n${c.block}\n\`\`\`\n\n`;
|
|
194
|
+
});
|
|
195
|
+
msg += `**Next Steps:**\n`;
|
|
196
|
+
msg += `1. Choose the correct candidate from the list above\n`;
|
|
197
|
+
msg += `2. Include more surrounding lines in your \`search_block\` to uniquely identify it\n`;
|
|
198
|
+
msg += `3. Use \`request_context\` to verify the full file content if needed\n`;
|
|
199
|
+
msg += `4. If multiple candidates are identical, provide more context to disambiguate`;
|
|
200
|
+
return msg;
|
|
159
201
|
}
|
|
160
202
|
async execute(args, context) {
|
|
161
203
|
const normalizedArgs = this.normalizeArgs(args);
|
|
@@ -178,7 +220,7 @@ function oldUnusedFunction() {
|
|
|
178
220
|
throw error;
|
|
179
221
|
});
|
|
180
222
|
if (originalContent === null) {
|
|
181
|
-
const errorMessage = this.
|
|
223
|
+
const errorMessage = this.formatNotFoundMessage(file_path, search_block);
|
|
182
224
|
context.feedback.validationErrors.push({
|
|
183
225
|
tool_name: this.toolName,
|
|
184
226
|
error: errorMessage,
|
|
@@ -190,23 +232,22 @@ function oldUnusedFunction() {
|
|
|
190
232
|
persisted_args: validatedArgs,
|
|
191
233
|
};
|
|
192
234
|
}
|
|
193
|
-
const
|
|
194
|
-
if (
|
|
195
|
-
const
|
|
196
|
-
const errorMessage = this.formatError(file_path, reason, search_block);
|
|
235
|
+
const matchResult = this.hybridMatcher.findBestMatch(search_block, originalContent);
|
|
236
|
+
if (!matchResult.found || !matchResult.unique) {
|
|
237
|
+
const errorMessage = this.formatErrorWithCandidates(file_path, search_block, matchResult);
|
|
197
238
|
context.feedback.validationErrors.push({
|
|
198
239
|
tool_name: this.toolName,
|
|
199
240
|
error: errorMessage,
|
|
200
241
|
});
|
|
201
242
|
return {
|
|
202
243
|
status: 'FAILURE',
|
|
203
|
-
summary: `Quick edit on "${file_path}" failed:
|
|
244
|
+
summary: `Quick edit on "${file_path}" failed: Match issue.`,
|
|
204
245
|
error_message: errorMessage,
|
|
205
246
|
persisted_args: validatedArgs,
|
|
206
247
|
};
|
|
207
248
|
}
|
|
208
249
|
let newFileContent;
|
|
209
|
-
const
|
|
250
|
+
const { before, after } = matchResult;
|
|
210
251
|
switch (action) {
|
|
211
252
|
case 'replace':
|
|
212
253
|
newFileContent = `${before}${new_content}${after}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-edit.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/quick-edit.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAO3C,iFAA4E;AAC5E,mEAA6D;AAC7D,uCAAqE;
|
|
1
|
+
{"version":3,"file":"quick-edit.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/quick-edit.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,3 +5,9 @@ export declare class CreateSessionInputDto {
|
|
|
5
5
|
execution_strategy: string;
|
|
6
6
|
raw_llm_response?: string;
|
|
7
7
|
}
|
|
8
|
+
export declare class UpdateSessionInputDto {
|
|
9
|
+
user_prompt: string;
|
|
10
|
+
context_template_id?: string;
|
|
11
|
+
ad_hoc_context_definition?: string;
|
|
12
|
+
execution_strategy?: string;
|
|
13
|
+
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CreateSessionInputDto = void 0;
|
|
12
|
+
exports.UpdateSessionInputDto = exports.CreateSessionInputDto = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
class CreateSessionInputDto {
|
|
15
15
|
}
|
|
@@ -34,4 +34,27 @@ __decorate([
|
|
|
34
34
|
(0, class_validator_1.IsNotEmpty)(),
|
|
35
35
|
__metadata("design:type", String)
|
|
36
36
|
], CreateSessionInputDto.prototype, "execution_strategy", void 0);
|
|
37
|
+
class UpdateSessionInputDto {
|
|
38
|
+
}
|
|
39
|
+
exports.UpdateSessionInputDto = UpdateSessionInputDto;
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_validator_1.IsString)(),
|
|
42
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], UpdateSessionInputDto.prototype, "user_prompt", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, class_validator_1.IsOptional)(),
|
|
47
|
+
(0, class_validator_1.IsUUID)(),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], UpdateSessionInputDto.prototype, "context_template_id", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_validator_1.IsOptional)(),
|
|
52
|
+
(0, class_validator_1.IsString)(),
|
|
53
|
+
__metadata("design:type", String)
|
|
54
|
+
], UpdateSessionInputDto.prototype, "ad_hoc_context_definition", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
|
57
|
+
(0, class_validator_1.IsString)(),
|
|
58
|
+
__metadata("design:type", String)
|
|
59
|
+
], UpdateSessionInputDto.prototype, "execution_strategy", void 0);
|
|
37
60
|
//# sourceMappingURL=session-input.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-input.dto.js","sourceRoot":"","sources":["../../../../src/session-inputs/dto/session-input.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAE3E,MAAa,qBAAqB;CAuBjC;AAvBD,sDAuBC;AApBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACO;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACoB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACwB;AAInC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iEACc"}
|
|
1
|
+
{"version":3,"file":"session-input.dto.js","sourceRoot":"","sources":["../../../../src/session-inputs/dto/session-input.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAE3E,MAAa,qBAAqB;CAuBjC;AAvBD,sDAuBC;AApBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACO;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACoB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACwB;AAInC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iEACc;AAS7B,MAAa,qBAAqB;CAgBjC;AAhBD,sDAgBC;AAbC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACO;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACoB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACwB;AAInC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iEACiB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SessionInputsService } from './session-inputs.service';
|
|
2
|
-
import { CreateSessionInputDto } from './dto/session-input.dto';
|
|
2
|
+
import { CreateSessionInputDto, UpdateSessionInputDto } from './dto/session-input.dto';
|
|
3
3
|
import { SessionInput } from '../core-entities';
|
|
4
4
|
export declare class SessionInputsController {
|
|
5
5
|
private readonly sessionInputsService;
|
|
@@ -8,4 +8,5 @@ export declare class SessionInputsController {
|
|
|
8
8
|
findAll(sessionId: string): Promise<SessionInput[]>;
|
|
9
9
|
findOne(sessionId: string, inputId: string): Promise<SessionInput>;
|
|
10
10
|
remove(sessionId: string, inputId: string): Promise<void>;
|
|
11
|
+
retry(sessionId: string, inputId: string, updateSessionInputDto: UpdateSessionInputDto): Promise<SessionInput>;
|
|
11
12
|
}
|
|
@@ -32,6 +32,9 @@ let SessionInputsController = class SessionInputsController {
|
|
|
32
32
|
async remove(sessionId, inputId) {
|
|
33
33
|
return this.sessionInputsService.remove(sessionId, inputId);
|
|
34
34
|
}
|
|
35
|
+
async retry(sessionId, inputId, updateSessionInputDto) {
|
|
36
|
+
return this.sessionInputsService.retry(sessionId, inputId, updateSessionInputDto);
|
|
37
|
+
}
|
|
35
38
|
};
|
|
36
39
|
exports.SessionInputsController = SessionInputsController;
|
|
37
40
|
__decorate([
|
|
@@ -67,6 +70,16 @@ __decorate([
|
|
|
67
70
|
__metadata("design:paramtypes", [String, String]),
|
|
68
71
|
__metadata("design:returntype", Promise)
|
|
69
72
|
], SessionInputsController.prototype, "remove", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, common_1.Patch)(':inputId/retry'),
|
|
75
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
76
|
+
__param(0, (0, common_1.Param)('sessionId', common_1.ParseUUIDPipe)),
|
|
77
|
+
__param(1, (0, common_1.Param)('inputId', common_1.ParseUUIDPipe)),
|
|
78
|
+
__param(2, (0, common_1.Body)()),
|
|
79
|
+
__metadata("design:type", Function),
|
|
80
|
+
__metadata("design:paramtypes", [String, String, session_input_dto_1.UpdateSessionInputDto]),
|
|
81
|
+
__metadata("design:returntype", Promise)
|
|
82
|
+
], SessionInputsController.prototype, "retry", null);
|
|
70
83
|
exports.SessionInputsController = SessionInputsController = __decorate([
|
|
71
84
|
(0, common_1.Controller)('sessions/:sessionId/inputs'),
|
|
72
85
|
__metadata("design:paramtypes", [session_inputs_service_1.SessionInputsService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-inputs.controller.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"session-inputs.controller.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AACxB,qEAAgE;AAChE,+DAGiC;AAI1B,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAIrE,AAAN,KAAK,CAAC,MAAM,CACyB,SAAiB,EAC5C,qBAA4C;QAEpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CACwB,SAAiB;QAEpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CACwB,SAAiB,EACnB,OAAe;QAEhD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CACyB,SAAiB,EACnB,OAAe;QAEhD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAIK,AAAN,KAAK,CAAC,KAAK,CAC0B,SAAiB,EACnB,OAAe,EACxC,qBAA4C;QAEpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CACpC,SAAS,EACT,OAAO,EACP,qBAAqB,CACtB,CAAC;IACJ,CAAC;CACF,CAAA;AAjDY,0DAAuB;AAK5B;IAFL,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IAE1B,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;IACjC,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAwB,yCAAqB;;qDAGrD;AAGK;IADL,IAAA,YAAG,GAAE;IAEH,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;;;;sDAGnC;AAGK;IADL,IAAA,YAAG,EAAC,UAAU,CAAC;IAEb,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;IACjC,WAAA,IAAA,cAAK,EAAC,SAAS,EAAE,sBAAa,CAAC,CAAA;;;;sDAGjC;AAIK;IAFL,IAAA,eAAM,EAAC,UAAU,CAAC;IAClB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,UAAU,CAAC;IAE7B,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;IACjC,WAAA,IAAA,cAAK,EAAC,SAAS,EAAE,sBAAa,CAAC,CAAA;;;;qDAGjC;AAIK;IAFL,IAAA,cAAK,EAAC,gBAAgB,CAAC;IACvB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IAErB,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;IACjC,WAAA,IAAA,cAAK,EAAC,SAAS,EAAE,sBAAa,CAAC,CAAA;IAC/B,WAAA,IAAA,aAAI,GAAE,CAAA;;qDAAwB,yCAAqB;;oDAOrD;kCAhDU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,4BAA4B,CAAC;qCAEY,6CAAoB;GAD5D,uBAAuB,CAiDnC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
2
|
import { Session, SessionInput, ContextTemplate } from '../core-entities';
|
|
3
|
-
import { CreateSessionInputDto } from './dto/session-input.dto';
|
|
3
|
+
import { CreateSessionInputDto, UpdateSessionInputDto } from './dto/session-input.dto';
|
|
4
4
|
import { AIActionsService } from '../ai-actions/ai-actions.service';
|
|
5
5
|
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
|
|
6
6
|
import { SessionInputContextService } from './session-input-context.service';
|
|
@@ -25,4 +25,5 @@ export declare class SessionInputsService {
|
|
|
25
25
|
findAllBySessionId(sessionId: string): Promise<SessionInput[]>;
|
|
26
26
|
findOne(sessionId: string, inputId: string): Promise<SessionInput>;
|
|
27
27
|
remove(sessionId: string, inputId: string): Promise<void>;
|
|
28
|
+
retry(sessionId: string, inputId: string, updateSessionInputDto: UpdateSessionInputDto): Promise<SessionInput>;
|
|
28
29
|
}
|
|
@@ -158,6 +158,50 @@ let SessionInputsService = SessionInputsService_1 = class SessionInputsService {
|
|
|
158
158
|
await this.sessionInputsRepository.remove(sessionInput);
|
|
159
159
|
this.logger.log(`Deleted SessionInput ${inputId} from Session ${sessionId}.`);
|
|
160
160
|
}
|
|
161
|
+
async retry(sessionId, inputId, updateSessionInputDto) {
|
|
162
|
+
this.logger.log(`Retrying SessionInput ${inputId} for Session ${sessionId}.`);
|
|
163
|
+
const sessionInput = await this.sessionInputsRepository.findOne({
|
|
164
|
+
where: { id: inputId, session: { id: sessionId } },
|
|
165
|
+
relations: ['session', 'session.systemPrompt'],
|
|
166
|
+
});
|
|
167
|
+
if (!sessionInput) {
|
|
168
|
+
throw new common_1.NotFoundException(`SessionInput with ID "${inputId}" not found in Session "${sessionId}"`);
|
|
169
|
+
}
|
|
170
|
+
if (updateSessionInputDto.user_prompt) {
|
|
171
|
+
sessionInput.user_prompt = updateSessionInputDto.user_prompt;
|
|
172
|
+
}
|
|
173
|
+
let contextTemplate = null;
|
|
174
|
+
if (updateSessionInputDto.context_template_id) {
|
|
175
|
+
contextTemplate = await this.contextTemplatesRepository.findOneBy({
|
|
176
|
+
id: updateSessionInputDto.context_template_id,
|
|
177
|
+
});
|
|
178
|
+
sessionInput.contextTemplate = contextTemplate;
|
|
179
|
+
}
|
|
180
|
+
const generated_context_string = await this.sessionInputContextService.generateContext({
|
|
181
|
+
user_prompt: sessionInput.user_prompt,
|
|
182
|
+
context_template_id: contextTemplate?.id || sessionInput.context_template_id,
|
|
183
|
+
ad_hoc_context_definition: updateSessionInputDto.ad_hoc_context_definition ||
|
|
184
|
+
sessionInput.ad_hoc_context_definition,
|
|
185
|
+
execution_strategy: updateSessionInputDto.execution_strategy ||
|
|
186
|
+
sessionInput.execution_strategy,
|
|
187
|
+
}, contextTemplate, '');
|
|
188
|
+
sessionInput.generated_context_string = generated_context_string;
|
|
189
|
+
sessionInput.raw_llm_response = null;
|
|
190
|
+
sessionInput.llm_response_explanation = null;
|
|
191
|
+
sessionInput.tool_calls = null;
|
|
192
|
+
sessionInput.thoughts = null;
|
|
193
|
+
sessionInput.error_message = null;
|
|
194
|
+
sessionInput.updated_at = new Date();
|
|
195
|
+
const updatedSessionInput = await this.sessionInputsRepository.save(sessionInput);
|
|
196
|
+
await this.aiActionsService.deleteAllByInputId(inputId);
|
|
197
|
+
const isManualFlow = await this.applicationStateService.getManualLlmEnabled();
|
|
198
|
+
this.chatService
|
|
199
|
+
.sendMessage(sessionId, generated_context_string, isManualFlow)
|
|
200
|
+
.catch((err) => {
|
|
201
|
+
this.logger.error(`LLM retry failed for input ID ${updatedSessionInput.id}: ${err.message}`, err.stack);
|
|
202
|
+
});
|
|
203
|
+
return this.findOne(sessionId, updatedSessionInput.id);
|
|
204
|
+
}
|
|
161
205
|
};
|
|
162
206
|
exports.SessionInputsService = SessionInputsService;
|
|
163
207
|
exports.SessionInputsService = SessionInputsService = SessionInputsService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-inputs.service.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAMwB;AACxB,6CAAmD;AACnD,qCAAqC;AACrC,oDAK0B;
|
|
1
|
+
{"version":3,"file":"session-inputs.service.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.service.ts"],"names":[],"mappings":"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"}
|