repoburg 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/.env +2 -3
- package/backend/dist/src/ai-actions/ai-action-batch.service.d.ts +5 -3
- package/backend/dist/src/ai-actions/ai-action-batch.service.js +16 -11
- package/backend/dist/src/ai-actions/ai-action-batch.service.js.map +1 -1
- package/backend/dist/src/ai-actions/ai-action-creation.service.d.ts +5 -3
- package/backend/dist/src/ai-actions/ai-action-creation.service.js +23 -18
- package/backend/dist/src/ai-actions/ai-action-creation.service.js.map +1 -1
- package/backend/dist/src/ai-actions/ai-actions.module.js +6 -0
- package/backend/dist/src/ai-actions/ai-actions.module.js.map +1 -1
- package/backend/dist/src/app.module.js +2 -0
- package/backend/dist/src/app.module.js.map +1 -1
- package/backend/dist/src/application-state/application-state.controller.d.ts +10 -0
- package/backend/dist/src/application-state/application-state.controller.js +44 -0
- package/backend/dist/src/application-state/application-state.controller.js.map +1 -1
- package/backend/dist/src/application-state/application-state.service.d.ts +4 -0
- package/backend/dist/src/application-state/application-state.service.js +22 -0
- package/backend/dist/src/application-state/application-state.service.js.map +1 -1
- package/backend/dist/src/application-state/dto/set-execution-strategy.dto.d.ts +3 -0
- package/backend/dist/src/application-state/dto/set-execution-strategy.dto.js +21 -0
- package/backend/dist/src/application-state/dto/set-execution-strategy.dto.js.map +1 -0
- package/backend/dist/src/application-state/dto/set-manual-llm-enabled.dto.d.ts +3 -0
- package/backend/dist/src/application-state/dto/set-manual-llm-enabled.dto.js +21 -0
- package/backend/dist/src/application-state/dto/set-manual-llm-enabled.dto.js.map +1 -0
- package/backend/dist/src/interactive-chat/chat.module.d.ts +2 -0
- package/backend/dist/src/interactive-chat/chat.module.js +31 -0
- package/backend/dist/src/interactive-chat/chat.module.js.map +1 -0
- package/backend/dist/src/interactive-chat/chat.service.d.ts +18 -0
- package/backend/dist/src/interactive-chat/chat.service.js +96 -0
- package/backend/dist/src/interactive-chat/chat.service.js.map +1 -0
- package/backend/dist/src/llm-response-parser/llm-response-parser.service.js +1 -1
- package/backend/dist/src/llm-response-parser/llm-response-parser.service.js.map +1 -1
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.d.ts +3 -2
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js +9 -0
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js.map +1 -1
- package/backend/dist/src/llm-responses/llm-responses.module.js +4 -0
- package/backend/dist/src/llm-responses/llm-responses.module.js.map +1 -1
- package/backend/dist/src/llm-responses/llm-responses.service.d.ts +7 -1
- package/backend/dist/src/llm-responses/llm-responses.service.js +126 -100
- package/backend/dist/src/llm-responses/llm-responses.service.js.map +1 -1
- package/backend/dist/src/orchestration/orchestration.service.d.ts +3 -1
- package/backend/dist/src/orchestration/orchestration.service.js +10 -5
- package/backend/dist/src/orchestration/orchestration.service.js.map +1 -1
- package/backend/dist/src/session-inputs/dto/session-input.dto.d.ts +0 -7
- package/backend/dist/src/session-inputs/dto/session-input.dto.js +1 -25
- package/backend/dist/src/session-inputs/dto/session-input.dto.js.map +1 -1
- package/backend/dist/src/session-inputs/session-input-context.service.d.ts +2 -4
- package/backend/dist/src/session-inputs/session-input-context.service.js +2 -13
- package/backend/dist/src/session-inputs/session-input-context.service.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.controller.d.ts +1 -3
- package/backend/dist/src/session-inputs/session-inputs.controller.js +0 -25
- package/backend/dist/src/session-inputs/session-inputs.controller.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.module.js +5 -1
- package/backend/dist/src/session-inputs/session-inputs.module.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.service.d.ts +6 -9
- package/backend/dist/src/session-inputs/session-inputs.service.js +47 -237
- package/backend/dist/src/session-inputs/session-inputs.service.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/backend/package.json +2 -3
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.InteractiveChatModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const chat_service_1 = require("./chat.service");
|
|
12
|
+
const llm_provider_module_1 = require("../llm-provider/llm-provider.module");
|
|
13
|
+
const events_module_1 = require("../events/events.module");
|
|
14
|
+
const llm_responses_module_1 = require("../llm-responses/llm-responses.module");
|
|
15
|
+
const application_state_module_1 = require("../application-state/application-state.module");
|
|
16
|
+
let InteractiveChatModule = class InteractiveChatModule {
|
|
17
|
+
};
|
|
18
|
+
exports.InteractiveChatModule = InteractiveChatModule;
|
|
19
|
+
exports.InteractiveChatModule = InteractiveChatModule = __decorate([
|
|
20
|
+
(0, common_1.Module)({
|
|
21
|
+
imports: [
|
|
22
|
+
llm_provider_module_1.LlmProviderModule,
|
|
23
|
+
events_module_1.EventsModule,
|
|
24
|
+
(0, common_1.forwardRef)(() => llm_responses_module_1.LlmResponsesModule),
|
|
25
|
+
application_state_module_1.ApplicationStateModule,
|
|
26
|
+
],
|
|
27
|
+
providers: [chat_service_1.ChatService],
|
|
28
|
+
exports: [chat_service_1.ChatService],
|
|
29
|
+
})
|
|
30
|
+
], InteractiveChatModule);
|
|
31
|
+
//# sourceMappingURL=chat.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,iDAA6C;AAC7C,6EAAwE;AACxE,2DAAuD;AACvD,gFAA2E;AAC3E,4FAAuF;AAYhF,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAVjC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uCAAiB;YACjB,4BAAY;YACZ,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,iDAAsB;SACvB;QACD,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,qBAAqB,CAAG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LlmProvider, LlmContent } from '../llm-provider/llm-provider.interface';
|
|
2
|
+
import { EventsGateway } from '../events/events.gateway';
|
|
3
|
+
import { LlmResponsesService } from '../llm-responses/llm-responses.service';
|
|
4
|
+
import { ApplicationStateService } from '../application-state/application-state.service';
|
|
5
|
+
export declare class ChatService {
|
|
6
|
+
private readonly llmProvider;
|
|
7
|
+
private readonly eventsGateway;
|
|
8
|
+
private readonly llmResponsesService;
|
|
9
|
+
private readonly applicationStateService;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private chatStates;
|
|
12
|
+
constructor(llmProvider: LlmProvider, eventsGateway: EventsGateway, llmResponsesService: LlmResponsesService, applicationStateService: ApplicationStateService);
|
|
13
|
+
private getOrCreateState;
|
|
14
|
+
hasChat(sessionId: string): boolean;
|
|
15
|
+
setSystemInstruction(sessionId: string, instruction: string | null): void;
|
|
16
|
+
loadHistory(sessionId: string, history: LlmContent[]): void;
|
|
17
|
+
sendMessage(sessionId: string, message: string, isManual: boolean): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var ChatService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ChatService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const llm_provider_interface_1 = require("../llm-provider/llm-provider.interface");
|
|
19
|
+
const events_gateway_1 = require("../events/events.gateway");
|
|
20
|
+
const llm_responses_service_1 = require("../llm-responses/llm-responses.service");
|
|
21
|
+
const submit_llm_response_dto_1 = require("../llm-responses/dto/submit-llm-response.dto");
|
|
22
|
+
const application_state_service_1 = require("../application-state/application-state.service");
|
|
23
|
+
let ChatService = ChatService_1 = class ChatService {
|
|
24
|
+
constructor(llmProvider, eventsGateway, llmResponsesService, applicationStateService) {
|
|
25
|
+
this.llmProvider = llmProvider;
|
|
26
|
+
this.eventsGateway = eventsGateway;
|
|
27
|
+
this.llmResponsesService = llmResponsesService;
|
|
28
|
+
this.applicationStateService = applicationStateService;
|
|
29
|
+
this.logger = new common_1.Logger(ChatService_1.name);
|
|
30
|
+
this.chatStates = new Map();
|
|
31
|
+
}
|
|
32
|
+
getOrCreateState(sessionId) {
|
|
33
|
+
if (!this.chatStates.has(sessionId)) {
|
|
34
|
+
this.chatStates.set(sessionId, {
|
|
35
|
+
systemInstruction: null,
|
|
36
|
+
history: [],
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return this.chatStates.get(sessionId);
|
|
40
|
+
}
|
|
41
|
+
hasChat(sessionId) {
|
|
42
|
+
return this.chatStates.has(sessionId);
|
|
43
|
+
}
|
|
44
|
+
setSystemInstruction(sessionId, instruction) {
|
|
45
|
+
const state = this.getOrCreateState(sessionId);
|
|
46
|
+
state.systemInstruction = instruction;
|
|
47
|
+
this.logger.log(`System instruction set for session ${sessionId}`);
|
|
48
|
+
}
|
|
49
|
+
loadHistory(sessionId, history) {
|
|
50
|
+
const state = this.getOrCreateState(sessionId);
|
|
51
|
+
state.history = history;
|
|
52
|
+
this.logger.log(`History loaded for session ${sessionId} with ${history.length} turns.`);
|
|
53
|
+
}
|
|
54
|
+
async sendMessage(sessionId, message, isManual) {
|
|
55
|
+
const state = this.getOrCreateState(sessionId);
|
|
56
|
+
const historyForProvider = [...state.history];
|
|
57
|
+
state.history.push({ role: 'user', parts: [{ text: message }] });
|
|
58
|
+
if (isManual) {
|
|
59
|
+
this.eventsGateway.sendToAll('llm-input-generated', { prompt: message });
|
|
60
|
+
this.eventsGateway.sendToAll('refresh-ui', {});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const raw_llm_response = await this.llmProvider.generateContent({
|
|
65
|
+
prompt: message,
|
|
66
|
+
systemInstruction: state.systemInstruction || '',
|
|
67
|
+
history: historyForProvider,
|
|
68
|
+
});
|
|
69
|
+
state.history.push({
|
|
70
|
+
role: 'model',
|
|
71
|
+
parts: [{ text: raw_llm_response }],
|
|
72
|
+
});
|
|
73
|
+
const executionStrategy = await this.applicationStateService.getExecutionStrategy();
|
|
74
|
+
await this.llmResponsesService.submit({
|
|
75
|
+
session: submit_llm_response_dto_1.SessionType.ACTIVE,
|
|
76
|
+
execution_strategy: executionStrategy,
|
|
77
|
+
raw_llm_response: raw_llm_response,
|
|
78
|
+
});
|
|
79
|
+
this.eventsGateway.sendToAll('refresh-ui', {});
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
this.logger.error(`Error in sendMessage integrated flow for session ${sessionId}: ${error.message}`, error.stack);
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.ChatService = ChatService;
|
|
88
|
+
exports.ChatService = ChatService = ChatService_1 = __decorate([
|
|
89
|
+
(0, common_1.Injectable)(),
|
|
90
|
+
__param(0, (0, common_1.Inject)(llm_provider_interface_1.LLM_PROVIDER)),
|
|
91
|
+
__param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => llm_responses_service_1.LlmResponsesService))),
|
|
92
|
+
__metadata("design:paramtypes", [Object, events_gateway_1.EventsGateway,
|
|
93
|
+
llm_responses_service_1.LlmResponsesService,
|
|
94
|
+
application_state_service_1.ApplicationStateService])
|
|
95
|
+
], ChatService);
|
|
96
|
+
//# sourceMappingURL=chat.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ let LlmResponseParserService = LlmResponseParserService_1 = class LlmResponsePar
|
|
|
43
43
|
return ai_action_dto_1.AIActionType.FINAL;
|
|
44
44
|
default:
|
|
45
45
|
this.logger.warn(`Unsupported action type found: "${type}"`);
|
|
46
|
-
return
|
|
46
|
+
return ai_action_dto_1.AIActionType.FINAL;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
async parse(rawResponse) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-response-parser.service.js","sourceRoot":"","sources":["../../../src/llm-response-parser/llm-response-parser.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qDAA2C;AAC3C,uDAAgE;AAChE,0DAAsD;AACtD,2DAc6B;AAC7B,oCAAiC;AAG1B,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAA9B;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IA2NtE,CAAC;IAzNS,aAAa,CAAC,IAAY;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,aAAa;gBAChB,OAAO,4BAAY,CAAC,WAAW,CAAC;YAClC,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW;gBACd,OAAO,4BAAY,CAAC,SAAS,CAAC;YAChC,KAAK,QAAQ,CAAC;YACd,KAAK,aAAa;gBAChB,OAAO,4BAAY,CAAC,WAAW,CAAC;YAClC,KAAK,aAAa;gBAChB,OAAO,4BAAY,CAAC,WAAW,CAAC;YAClC,KAAK,iBAAiB;gBACpB,OAAO,4BAAY,CAAC,eAAe,CAAC;YACtC,KAAK,OAAO;gBACV,OAAO,4BAAY,CAAC,KAAK,CAAC;YAC5B;gBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,GAAG,CAAC,CAAC;gBAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"llm-response-parser.service.js","sourceRoot":"","sources":["../../../src/llm-response-parser/llm-response-parser.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ export declare enum SessionType {
|
|
|
4
4
|
}
|
|
5
5
|
export declare class SubmitLlmResponseDto {
|
|
6
6
|
raw_llm_response: string;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
inputId?: string;
|
|
8
|
+
execution_strategy?: string;
|
|
9
|
+
session?: SessionType;
|
|
9
10
|
idempotency_key?: string;
|
|
10
11
|
url?: string;
|
|
11
12
|
}
|
|
@@ -25,12 +25,21 @@ __decorate([
|
|
|
25
25
|
__metadata("design:type", String)
|
|
26
26
|
], SubmitLlmResponseDto.prototype, "raw_llm_response", void 0);
|
|
27
27
|
__decorate([
|
|
28
|
+
(0, class_validator_1.IsOptional)(),
|
|
29
|
+
(0, class_validator_1.IsUUID)(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], SubmitLlmResponseDto.prototype, "inputId", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
34
|
(0, class_validator_1.IsString)(),
|
|
29
35
|
(0, class_validator_1.IsNotEmpty)(),
|
|
36
|
+
(0, class_validator_1.ValidateIf)((o) => !o.inputId),
|
|
30
37
|
__metadata("design:type", String)
|
|
31
38
|
], SubmitLlmResponseDto.prototype, "execution_strategy", void 0);
|
|
32
39
|
__decorate([
|
|
40
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
41
|
(0, class_validator_1.IsEnum)(SessionType),
|
|
42
|
+
(0, class_validator_1.ValidateIf)((o) => !o.inputId),
|
|
34
43
|
__metadata("design:type", String)
|
|
35
44
|
], SubmitLlmResponseDto.prototype, "session", void 0);
|
|
36
45
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-llm-response.dto.js","sourceRoot":"","sources":["../../../../src/llm-responses/dto/submit-llm-response.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"submit-llm-response.dto.js","sourceRoot":"","sources":["../../../../src/llm-responses/dto/submit-llm-response.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAQyB;AAEzB,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,MAAa,oBAAoB;CA2BhC;AA3BD,oDA2BC;AAxBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8DACY;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;qDACQ;AAMjB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;;gEACF;AAK5B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,WAAW,CAAC;IACnB,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;;qDACR;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;6DACgB;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;iDACK"}
|
|
@@ -18,6 +18,8 @@ const core_entities_1 = require("../core-entities");
|
|
|
18
18
|
const events_module_1 = require("../events/events.module");
|
|
19
19
|
const workspace_module_1 = require("../workspace/workspace.module");
|
|
20
20
|
const orchestration_module_1 = require("../orchestration/orchestration.module");
|
|
21
|
+
const chat_module_1 = require("../interactive-chat/chat.module");
|
|
22
|
+
const ai_actions_module_1 = require("../ai-actions/ai-actions.module");
|
|
21
23
|
let LlmResponsesModule = class LlmResponsesModule {
|
|
22
24
|
};
|
|
23
25
|
exports.LlmResponsesModule = LlmResponsesModule;
|
|
@@ -31,6 +33,8 @@ exports.LlmResponsesModule = LlmResponsesModule = __decorate([
|
|
|
31
33
|
events_module_1.EventsModule,
|
|
32
34
|
workspace_module_1.WorkspaceModule,
|
|
33
35
|
(0, common_1.forwardRef)(() => orchestration_module_1.OrchestrationModule),
|
|
36
|
+
(0, common_1.forwardRef)(() => chat_module_1.InteractiveChatModule),
|
|
37
|
+
(0, common_1.forwardRef)(() => ai_actions_module_1.AIActionsModule),
|
|
34
38
|
],
|
|
35
39
|
controllers: [llm_responses_controller_1.LlmResponsesController],
|
|
36
40
|
providers: [llm_responses_service_1.LlmResponsesService],
|
|
@@ -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,oDAAgD;AAChD,2DAAuD;AACvD,oEAAgE;AAChE,gFAA4E;
|
|
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,oDAAgD;AAChD,2DAAuD;AACvD,oEAAgE;AAChE,gFAA4E;AAC5E,iEAAwE;AACxE,uEAAkE;AAkB3D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAhB9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,4BAAY,CAAC,CAAC;YACxC,gCAAc;YACd,iDAAsB;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;YACrC,4BAAY;YACZ,kCAAe;YACf,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0CAAmB,CAAC;YACrC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;SAClC;QACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
|
|
@@ -7,6 +7,7 @@ import { Repository } from 'typeorm';
|
|
|
7
7
|
import { EventsGateway } from '../events/events.gateway';
|
|
8
8
|
import { WorkspaceService } from '../workspace/workspace.service';
|
|
9
9
|
import { OrchestrationService } from '../orchestration/orchestration.service';
|
|
10
|
+
import { AIActionCreationService } from '../ai-actions/ai-action-creation.service';
|
|
10
11
|
export declare class LlmResponsesService {
|
|
11
12
|
private sessionInputsRepository;
|
|
12
13
|
private readonly sessionsService;
|
|
@@ -15,8 +16,13 @@ export declare class LlmResponsesService {
|
|
|
15
16
|
private readonly eventsGateway;
|
|
16
17
|
private readonly workspaceService;
|
|
17
18
|
private readonly orchestrationService;
|
|
19
|
+
private readonly aiActionCreationService;
|
|
18
20
|
private readonly logger;
|
|
19
|
-
constructor(sessionInputsRepository: Repository<SessionInput>, sessionsService: SessionsService, applicationStateService: ApplicationStateService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, workspaceService: WorkspaceService, orchestrationService: OrchestrationService);
|
|
21
|
+
constructor(sessionInputsRepository: Repository<SessionInput>, sessionsService: SessionsService, applicationStateService: ApplicationStateService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, workspaceService: WorkspaceService, orchestrationService: OrchestrationService, aiActionCreationService: AIActionCreationService);
|
|
22
|
+
private extractAndUpdateSessionTitle;
|
|
20
23
|
submit(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
24
|
+
private createInputForExternalSubmission;
|
|
25
|
+
private processLlmResponse;
|
|
26
|
+
private handleAutoContextFetch;
|
|
21
27
|
submitExternal(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
22
28
|
}
|
|
@@ -26,9 +26,11 @@ const events_gateway_1 = require("../events/events.gateway");
|
|
|
26
26
|
const workspace_service_1 = require("../workspace/workspace.service");
|
|
27
27
|
const ai_action_dto_1 = require("../llm-response-parser/dto/ai-action.dto");
|
|
28
28
|
const orchestration_service_1 = require("../orchestration/orchestration.service");
|
|
29
|
-
const
|
|
29
|
+
const ai_action_creation_service_1 = require("../ai-actions/ai-action-creation.service");
|
|
30
|
+
const ai_actions_service_1 = require("../ai-actions/ai-actions.service");
|
|
31
|
+
const parsing_constants_1 = require("../llm-response-parser/parsing.constants");
|
|
30
32
|
let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
31
|
-
constructor(sessionInputsRepository, sessionsService, applicationStateService, sessionInputsService, eventsGateway, workspaceService, orchestrationService) {
|
|
33
|
+
constructor(sessionInputsRepository, sessionsService, applicationStateService, sessionInputsService, eventsGateway, workspaceService, orchestrationService, aiActionCreationService) {
|
|
32
34
|
this.sessionInputsRepository = sessionInputsRepository;
|
|
33
35
|
this.sessionsService = sessionsService;
|
|
34
36
|
this.applicationStateService = applicationStateService;
|
|
@@ -36,126 +38,148 @@ let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
|
36
38
|
this.eventsGateway = eventsGateway;
|
|
37
39
|
this.workspaceService = workspaceService;
|
|
38
40
|
this.orchestrationService = orchestrationService;
|
|
41
|
+
this.aiActionCreationService = aiActionCreationService;
|
|
39
42
|
this.logger = new common_1.Logger(LlmResponsesService_1.name);
|
|
40
43
|
}
|
|
41
|
-
async
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
const processedInput = await this.sessionInputsService.submitLlmOutput(activeRun.sessionId, activeRun.waitingOnInputId, { raw_llm_response: dto.raw_llm_response });
|
|
53
|
-
this.logger.log(`[Submit] submitLlmOutput completed for input ${processedInput.id}. Resuming orchestration.`);
|
|
54
|
-
await this.orchestrationService.resumeFromInput(activeRun.waitingOnInputId);
|
|
55
|
-
return processedInput;
|
|
44
|
+
async extractAndUpdateSessionTitle(sessionId, rawResponse) {
|
|
45
|
+
const startIndex = rawResponse.indexOf(parsing_constants_1.TITLE_START_TAG);
|
|
46
|
+
const endIndex = rawResponse.indexOf(parsing_constants_1.TITLE_END_TAG);
|
|
47
|
+
if (startIndex !== -1 && endIndex !== -1 && endIndex > startIndex) {
|
|
48
|
+
const title = rawResponse
|
|
49
|
+
.substring(startIndex + parsing_constants_1.TITLE_START_TAG.length, endIndex)
|
|
50
|
+
.trim();
|
|
51
|
+
if (title) {
|
|
52
|
+
this.logger.log(`Extracted session title: "${title}" for session ID ${sessionId}`);
|
|
53
|
+
await this.sessionsService.update(sessionId, { session_title: title });
|
|
56
54
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
const cleanedResponse = rawResponse.substring(0, startIndex) +
|
|
56
|
+
rawResponse.substring(endIndex + parsing_constants_1.TITLE_END_TAG.length);
|
|
57
|
+
return cleanedResponse.trim();
|
|
58
|
+
}
|
|
59
|
+
return rawResponse;
|
|
60
|
+
}
|
|
61
|
+
async submit(dto) {
|
|
62
|
+
const { inputId, raw_llm_response } = dto;
|
|
63
|
+
let sessionInput;
|
|
64
|
+
if (inputId) {
|
|
65
|
+
this.logger.log(`Processing LLM response for existing input ${inputId}`);
|
|
66
|
+
sessionInput = await this.sessionInputsRepository.findOneBy({
|
|
67
|
+
id: inputId,
|
|
68
|
+
});
|
|
69
|
+
if (!sessionInput) {
|
|
70
|
+
throw new common_1.NotFoundException(`SessionInput with ID "${inputId}" not found.`);
|
|
61
71
|
}
|
|
62
72
|
}
|
|
63
|
-
|
|
73
|
+
else {
|
|
74
|
+
this.logger.log('Processing LLM response for external submission.');
|
|
75
|
+
sessionInput = await this.createInputForExternalSubmission(dto);
|
|
76
|
+
}
|
|
77
|
+
const cleanedLlmResponse = await this.extractAndUpdateSessionTitle(sessionInput.session_id, raw_llm_response);
|
|
78
|
+
sessionInput.raw_llm_response = cleanedLlmResponse;
|
|
79
|
+
const updatedSessionInput = await this.sessionInputsRepository.save(sessionInput);
|
|
80
|
+
const processedActions = await this.processLlmResponse(updatedSessionInput);
|
|
81
|
+
updatedSessionInput.aiActions = processedActions;
|
|
82
|
+
const isRequestContext = processedActions.length === 1 &&
|
|
83
|
+
processedActions[0].action_type === ai_action_dto_1.AIActionType.REQUEST_CONTEXT;
|
|
84
|
+
const autoContextFetchEnabled = await this.applicationStateService.getAutoContextFetchEnabled();
|
|
85
|
+
if (isRequestContext && autoContextFetchEnabled) {
|
|
86
|
+
this.logger.log(`Auto Context Fetch triggered for input ${updatedSessionInput.id}`);
|
|
87
|
+
return this.handleAutoContextFetch(updatedSessionInput);
|
|
88
|
+
}
|
|
89
|
+
this.eventsGateway.sendToAll('plan-ready', {
|
|
90
|
+
sessionId: updatedSessionInput.session_id,
|
|
91
|
+
inputId: updatedSessionInput.id,
|
|
92
|
+
});
|
|
93
|
+
this.orchestrationService.resumeFromInput(updatedSessionInput.id);
|
|
94
|
+
return updatedSessionInput;
|
|
95
|
+
}
|
|
96
|
+
async createInputForExternalSubmission(dto) {
|
|
64
97
|
let sessionId = null;
|
|
65
98
|
if (dto.session === submit_llm_response_dto_1.SessionType.ACTIVE) {
|
|
66
99
|
sessionId = await this.applicationStateService.getActiveSessionId();
|
|
67
|
-
if (!sessionId) {
|
|
68
|
-
const latestSession = await this.sessionsService.findLatest();
|
|
69
|
-
if (!latestSession) {
|
|
70
|
-
throw new common_1.NotFoundException('No active or latest session found. Please start a session.');
|
|
71
|
-
}
|
|
72
|
-
sessionId = latestSession.id;
|
|
73
|
-
this.logger.log(`No active session found, falling back to latest session: ${sessionId}`);
|
|
74
|
-
}
|
|
75
100
|
}
|
|
76
|
-
|
|
101
|
+
if (!sessionId || dto.session === submit_llm_response_dto_1.SessionType.LATEST) {
|
|
77
102
|
const latestSession = await this.sessionsService.findLatest();
|
|
78
|
-
if (!latestSession)
|
|
79
|
-
throw new common_1.NotFoundException('No sessions found to
|
|
80
|
-
}
|
|
103
|
+
if (!latestSession)
|
|
104
|
+
throw new common_1.NotFoundException('No sessions found to submit response to.');
|
|
81
105
|
sessionId = latestSession.id;
|
|
82
106
|
}
|
|
83
|
-
if (!sessionId) {
|
|
84
|
-
throw new common_1.BadRequestException('Could not determine a target session.');
|
|
85
|
-
}
|
|
86
|
-
if (dto.url) {
|
|
87
|
-
this.logger.log(`Received URL "${dto.url}" for session ${sessionId}. Updating session.`);
|
|
88
|
-
await this.sessionsService.update(sessionId, { url: dto.url });
|
|
89
|
-
}
|
|
90
107
|
if (dto.idempotency_key) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
idempotency_key: dto.idempotency_key,
|
|
95
|
-
session_id: sessionId,
|
|
96
|
-
},
|
|
97
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
108
|
+
const existing = await this.sessionInputsRepository.findOne({
|
|
109
|
+
where: { session_id: sessionId, idempotency_key: dto.idempotency_key },
|
|
110
|
+
relations: ['aiActions'],
|
|
98
111
|
});
|
|
99
|
-
if (
|
|
100
|
-
this.logger.log(`Idempotency key hit for session ${sessionId}. Returning existing
|
|
101
|
-
return
|
|
112
|
+
if (existing) {
|
|
113
|
+
this.logger.log(`Idempotency key hit for session ${sessionId}. Returning existing input ${existing.id}.`);
|
|
114
|
+
return existing;
|
|
102
115
|
}
|
|
103
116
|
}
|
|
104
|
-
this.
|
|
105
|
-
|
|
106
|
-
|
|
117
|
+
const newSessionInput = this.sessionInputsRepository.create({
|
|
118
|
+
session: { id: sessionId },
|
|
119
|
+
user_prompt: dto.inputId || 'Pasted LLM response directly.',
|
|
107
120
|
execution_strategy: dto.execution_strategy,
|
|
121
|
+
generated_context_string: '',
|
|
108
122
|
idempotency_key: dto.idempotency_key,
|
|
109
123
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
requestContextInput.aiActions.length === 1 &&
|
|
113
|
-
requestContextInput.aiActions[0].action_type ===
|
|
114
|
-
ai_action_dto_1.AIActionType.REQUEST_CONTEXT;
|
|
115
|
-
if (autoContextFetchEnabled && isRequestContextAction) {
|
|
116
|
-
this.logger.log(`Auto Context Fetch triggered for session input ${requestContextInput.id}`);
|
|
117
|
-
const action = requestContextInput.aiActions[0];
|
|
118
|
-
const files = action.files
|
|
119
|
-
?.split(',')
|
|
120
|
-
.map((f) => f.trim())
|
|
121
|
-
.filter(Boolean) || [];
|
|
122
|
-
const folders = action.folders
|
|
123
|
-
?.split(',')
|
|
124
|
-
.map((f) => f.trim())
|
|
125
|
-
.filter(Boolean) || [];
|
|
126
|
-
const { valid, invalidPaths } = await this.workspaceService.validatePaths({ files, folders });
|
|
127
|
-
if (!valid) {
|
|
128
|
-
this.logger.warn(`Auto Context Fetch aborted due to invalid paths: ${invalidPaths.join(', ')}. Returning original context request.`);
|
|
129
|
-
return requestContextInput;
|
|
130
|
-
}
|
|
131
|
-
const previousInputs = await this.sessionInputsRepository.find({
|
|
132
|
-
where: { session_id: sessionId },
|
|
133
|
-
order: { created_at: 'DESC' },
|
|
134
|
-
take: 2,
|
|
135
|
-
});
|
|
136
|
-
const originalInput = previousInputs.find((i) => i.id !== requestContextInput.id);
|
|
137
|
-
if (!originalInput) {
|
|
138
|
-
this.logger.warn(`Auto Context Fetch could not find original user prompt for session ${sessionId}. Aborting.`);
|
|
139
|
-
return requestContextInput;
|
|
140
|
-
}
|
|
141
|
-
const session = await this.sessionsService.findOne(sessionId);
|
|
142
|
-
const newDto = {
|
|
143
|
-
user_prompt: originalInput.user_prompt,
|
|
144
|
-
execution_strategy: originalInput.execution_strategy,
|
|
145
|
-
ad_hoc_context_definition: JSON.stringify({ files, folders }),
|
|
146
|
-
context_template_id: session.default_followup_context_template_id,
|
|
147
|
-
};
|
|
148
|
-
this.logger.log(`Auto Context Fetch is re-submitting prompt for session ${sessionId}.`);
|
|
149
|
-
return this.sessionInputsService.create(sessionId, newDto);
|
|
124
|
+
if (dto.url) {
|
|
125
|
+
await this.sessionsService.update(sessionId, { url: dto.url });
|
|
150
126
|
}
|
|
151
|
-
return
|
|
127
|
+
return this.sessionInputsRepository.save(newSessionInput);
|
|
128
|
+
}
|
|
129
|
+
async processLlmResponse(sessionInput) {
|
|
130
|
+
if (sessionInput.execution_strategy === 'review_first') {
|
|
131
|
+
return this.aiActionCreationService.createActionsFromLlmResponse(sessionInput, ai_actions_service_1.AIActionStatus.PROPOSED);
|
|
132
|
+
}
|
|
133
|
+
else if (sessionInput.execution_strategy === 'apply_revert') {
|
|
134
|
+
return this.aiActionCreationService.createAndTentativelyApplyActions(sessionInput);
|
|
135
|
+
}
|
|
136
|
+
else if (sessionInput.execution_strategy === 'auto_apply') {
|
|
137
|
+
return this.aiActionCreationService.createAndAutoApplyActions(sessionInput);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
throw new common_1.BadRequestException(`Unsupported execution_strategy: ${sessionInput.execution_strategy}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async handleAutoContextFetch(requestContextInput) {
|
|
144
|
+
const action = requestContextInput.aiActions[0];
|
|
145
|
+
const files = action.files
|
|
146
|
+
?.split(',')
|
|
147
|
+
.map((f) => f.trim())
|
|
148
|
+
.filter(Boolean) || [];
|
|
149
|
+
const folders = action.folders
|
|
150
|
+
?.split(',')
|
|
151
|
+
.map((f) => f.trim())
|
|
152
|
+
.filter(Boolean) || [];
|
|
153
|
+
const { valid, invalidPaths } = await this.workspaceService.validatePaths({
|
|
154
|
+
files,
|
|
155
|
+
folders,
|
|
156
|
+
});
|
|
157
|
+
if (!valid) {
|
|
158
|
+
this.logger.warn(`Auto Context Fetch aborted due to invalid paths: ${invalidPaths.join(', ')}. Returning original context request.`);
|
|
159
|
+
return requestContextInput;
|
|
160
|
+
}
|
|
161
|
+
const previousInputs = await this.sessionInputsRepository.find({
|
|
162
|
+
where: { session_id: requestContextInput.session_id },
|
|
163
|
+
order: { created_at: 'DESC' },
|
|
164
|
+
take: 2,
|
|
165
|
+
});
|
|
166
|
+
const originalInput = previousInputs.find((i) => i.id !== requestContextInput.id);
|
|
167
|
+
if (!originalInput) {
|
|
168
|
+
this.logger.warn(`Auto Context Fetch could not find original user prompt for session ${requestContextInput.session_id}. Aborting.`);
|
|
169
|
+
return requestContextInput;
|
|
170
|
+
}
|
|
171
|
+
const session = await this.sessionsService.findOne(requestContextInput.session_id);
|
|
172
|
+
const newDto = {
|
|
173
|
+
user_prompt: originalInput.user_prompt,
|
|
174
|
+
execution_strategy: originalInput.execution_strategy,
|
|
175
|
+
ad_hoc_context_definition: JSON.stringify({ files, folders }),
|
|
176
|
+
context_template_id: session.default_followup_context_template_id,
|
|
177
|
+
};
|
|
178
|
+
this.logger.log(`Auto Context Fetch is re-submitting prompt for session ${requestContextInput.session_id}.`);
|
|
179
|
+
return this.sessionInputsService.create(requestContextInput.session_id, newDto);
|
|
152
180
|
}
|
|
153
181
|
async submitExternal(dto) {
|
|
154
182
|
const result = await this.submit(dto);
|
|
155
|
-
this.eventsGateway.sendToAll('external-submission-received', {
|
|
156
|
-
sessionId: result.session_id,
|
|
157
|
-
});
|
|
158
|
-
this.logger.log(`Sent 'external-submission-received' event for session ${result.session_id}`);
|
|
159
183
|
return result;
|
|
160
184
|
}
|
|
161
185
|
};
|
|
@@ -163,6 +187,7 @@ exports.LlmResponsesService = LlmResponsesService;
|
|
|
163
187
|
exports.LlmResponsesService = LlmResponsesService = LlmResponsesService_1 = __decorate([
|
|
164
188
|
(0, common_1.Injectable)(),
|
|
165
189
|
__param(0, (0, typeorm_1.InjectRepository)(core_entities_1.SessionInput)),
|
|
190
|
+
__param(3, (0, common_1.Inject)((0, common_1.forwardRef)(() => session_inputs_service_1.SessionInputsService))),
|
|
166
191
|
__param(6, (0, common_1.Inject)((0, common_1.forwardRef)(() => orchestration_service_1.OrchestrationService))),
|
|
167
192
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
168
193
|
sessions_service_1.SessionsService,
|
|
@@ -170,6 +195,7 @@ exports.LlmResponsesService = LlmResponsesService = LlmResponsesService_1 = __de
|
|
|
170
195
|
session_inputs_service_1.SessionInputsService,
|
|
171
196
|
events_gateway_1.EventsGateway,
|
|
172
197
|
workspace_service_1.WorkspaceService,
|
|
173
|
-
orchestration_service_1.OrchestrationService
|
|
198
|
+
orchestration_service_1.OrchestrationService,
|
|
199
|
+
ai_action_creation_service_1.AIActionCreationService])
|
|
174
200
|
], LlmResponsesService);
|
|
175
201
|
//# sourceMappingURL=llm-responses.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-responses.service.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,mEAA+D;AAC/D,8FAAyF;AACzF,qFAAgF;AAChF,2EAGuC;AACvC,
|
|
1
|
+
{"version":3,"file":"llm-responses.service.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.service.ts"],"names":[],"mappings":"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"}
|