repoburg 1.2.7 → 1.2.8
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/CODEMAP.md +5 -4
- package/backend/dist/src/core-entities/session-input.entity.d.ts +4 -0
- package/backend/dist/src/core-entities/session-input.entity.js +20 -3
- package/backend/dist/src/core-entities/session-input.entity.js.map +1 -1
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.d.ts +2 -0
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js +10 -0
- package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js.map +1 -1
- package/backend/dist/src/llm-responses/dto/sync-conversation.dto.d.ts +13 -0
- package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js +60 -0
- package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js.map +1 -0
- package/backend/dist/src/llm-responses/llm-responses.controller.d.ts +5 -0
- package/backend/dist/src/llm-responses/llm-responses.controller.js +13 -0
- package/backend/dist/src/llm-responses/llm-responses.controller.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/llm-responses/llm-responses.service.d.ts +5 -2
- package/backend/dist/src/llm-responses/llm-responses.service.js +116 -5
- package/backend/dist/src/llm-responses/llm-responses.service.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 +4 -1
- 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
- package/visual-editor-proxy/.repoburg/data.sqlite +0 -0
package/CODEMAP.md
CHANGED
|
@@ -35,7 +35,7 @@ The local server that contains the core application logic.
|
|
|
35
35
|
- **`/session-inputs`**: Handles a single turn of interaction (prompt creation, context generation).
|
|
36
36
|
- **`/session-followup`**: Handles creating new sessions that inherit context from previous ones.
|
|
37
37
|
- **`/session-transfer`**: Manages the import and export of session data.
|
|
38
|
-
- **`/llm-responses`**: Receives and processes raw text responses from the LLM.
|
|
38
|
+
- **`/llm-responses`**: Receives and processes raw text responses from the LLM. Also includes an endpoint (`/sync-conversation`) to receive and process entire conversation histories from external tools like the userscript.
|
|
39
39
|
- **`/llm-response-parser`**: Parses raw LLM text into structured actions.
|
|
40
40
|
- **`/ai-actions`**: Manages the individual actions (`create_file`, `run_command`) proposed by the AI.
|
|
41
41
|
- **`/action-execution`**: Performs the file system operations or runs shell commands.
|
|
@@ -98,13 +98,14 @@ The userscript that bridges AI Studio with the local backend for the "manual mod
|
|
|
98
98
|
|
|
99
99
|
### ✨ Key Files (`userscripts/src`)
|
|
100
100
|
- **`index.ts`**: The main entry point. It initializes all features and connects to the `daemon` to find the active `backend` port.
|
|
101
|
+
- **`network-interceptor.ts`**: The core of the new sync feature. It monkey-patches `fetch` and `XMLHttpRequest` to intercept network traffic from AI Studio, enabling it to capture the full conversation state.
|
|
102
|
+
- **`conversation-parser.ts`**: A helper module to parse the raw, complex data from an intercepted request into a clean, structured `Conversation` object.
|
|
101
103
|
- **`webSocketHandler.ts`**: Manages the persistent WebSocket connection to the `backend`'s `/events` gateway to receive commands (e.g., prompts to paste).
|
|
102
|
-
- **`clipboardInterceptor.ts`**: Patches the browser's native clipboard APIs to reliably capture text copied from AI Studio. This is
|
|
104
|
+
- **`clipboardInterceptor.ts`**: Patches the browser's native clipboard APIs to reliably capture text copied from AI Studio. This is used for the manual "Copy & Submit" workflow.
|
|
103
105
|
- **`hotkeys.ts`**: Binds keyboard shortcuts (e.g., `Cmd+\`) to trigger actions.
|
|
104
106
|
- **Core Actions**:
|
|
105
107
|
- `copyAndSubmit.ts`: Implements the "Copy & Submit" workflow, which captures the AI's response and sends it to the `backend`.
|
|
106
108
|
- `pasteAndRun.ts`: Implements the "Paste & Run" workflow, which takes text (from clipboard or WebSocket) and pastes it into the AI Studio prompt input.
|
|
107
|
-
- `scrollAndCopy.ts`: A helper action that scrolls to the bottom of the AI response and copies it.
|
|
108
109
|
- **`settingsManager.ts` & `settingsUI.ts`**: Create and manage a settings panel injected directly into the AI Studio page.
|
|
109
110
|
|
|
110
111
|
---
|
|
@@ -198,7 +199,7 @@ A lightweight proxy server that enables the in-context visual editing feature.
|
|
|
198
199
|
### Core AI Workflow
|
|
199
200
|
- **Backend <-> Frontend**: The `frontend` makes API calls to a specific `backend` instance. It knows the correct port via the `bport` URL query parameter. Real-time updates are sent from backend to frontend via WebSocket.
|
|
200
201
|
- **Backend <-> Userscript**: In manual mode, the `backend` sends `llm-input-generated` events to the `userscript` via WebSocket, telling it to paste a new prompt into AI Studio.
|
|
201
|
-
- **Data from Userscript (HTTP)**: The `userscript` sends the
|
|
202
|
+
- **Data from Userscript (HTTP)**: The `userscript`'s network interceptor sends the entire parsed conversation to the `backend`'s `/llm-responses/sync-conversation` endpoint. The older `copyAndSubmit` function sends a single response to `/llm-responses/submit-external`.
|
|
202
203
|
|
|
203
204
|
### Visual Editor Workflow
|
|
204
205
|
- **CLI -> visual-editor-proxy**: The `repoburg start-live` command spawns the `visual-editor-proxy` process, passing the target application URL and the active backend port as environment variables.
|
|
@@ -16,4 +16,8 @@ export declare class SessionInput extends BaseEntity {
|
|
|
16
16
|
idempotency_key: string | null;
|
|
17
17
|
is_context_carrier: boolean;
|
|
18
18
|
aiActions: AIAction[];
|
|
19
|
+
thoughts: string | null;
|
|
20
|
+
role: string | null;
|
|
21
|
+
external_conversation_id: string | null;
|
|
22
|
+
external_turn_id: string | null;
|
|
19
23
|
}
|
|
@@ -31,7 +31,7 @@ __decorate([
|
|
|
31
31
|
__metadata("design:type", session_entity_1.Session)
|
|
32
32
|
], SessionInput.prototype, "session", void 0);
|
|
33
33
|
__decorate([
|
|
34
|
-
(0, typeorm_1.Column)({ type: 'text' }),
|
|
34
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
35
35
|
__metadata("design:type", String)
|
|
36
36
|
], SessionInput.prototype, "user_prompt", void 0);
|
|
37
37
|
__decorate([
|
|
@@ -51,11 +51,11 @@ __decorate([
|
|
|
51
51
|
__metadata("design:type", String)
|
|
52
52
|
], SessionInput.prototype, "ad_hoc_context_definition", void 0);
|
|
53
53
|
__decorate([
|
|
54
|
-
(0, typeorm_1.Column)({ type: 'text' }),
|
|
54
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
55
55
|
__metadata("design:type", String)
|
|
56
56
|
], SessionInput.prototype, "generated_context_string", void 0);
|
|
57
57
|
__decorate([
|
|
58
|
-
(0, typeorm_1.Column)({ type: 'text' }),
|
|
58
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
59
59
|
__metadata("design:type", String)
|
|
60
60
|
], SessionInput.prototype, "execution_strategy", void 0);
|
|
61
61
|
__decorate([
|
|
@@ -78,6 +78,23 @@ __decorate([
|
|
|
78
78
|
(0, typeorm_1.OneToMany)(() => ai_action_entity_1.AIAction, (aiAction) => aiAction.sessionInput),
|
|
79
79
|
__metadata("design:type", Array)
|
|
80
80
|
], SessionInput.prototype, "aiActions", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
83
|
+
__metadata("design:type", String)
|
|
84
|
+
], SessionInput.prototype, "thoughts", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
87
|
+
__metadata("design:type", String)
|
|
88
|
+
], SessionInput.prototype, "role", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, typeorm_1.Index)(),
|
|
91
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
92
|
+
__metadata("design:type", String)
|
|
93
|
+
], SessionInput.prototype, "external_conversation_id", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
96
|
+
__metadata("design:type", String)
|
|
97
|
+
], SessionInput.prototype, "external_turn_id", void 0);
|
|
81
98
|
exports.SessionInput = SessionInput = __decorate([
|
|
82
99
|
(0, typeorm_1.Entity)('session_inputs'),
|
|
83
100
|
(0, typeorm_1.Index)(['session_id', 'idempotency_key'], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-input.entity.js","sourceRoot":"","sources":["../../../src/core-entities/session-input.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AACjB,+CAA2C;AAC3C,qDAA2C;AAC3C,uEAA4D;AAC5D,yDAA8C;AAOvC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,wBAAU;
|
|
1
|
+
{"version":3,"file":"session-input.entity.js","sourceRoot":"","sources":["../../../src/core-entities/session-input.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,4 +52,14 @@ __decorate([
|
|
|
52
52
|
(0, class_validator_1.IsUrl)(),
|
|
53
53
|
__metadata("design:type", String)
|
|
54
54
|
], SubmitLlmResponseDto.prototype, "url", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
|
57
|
+
(0, class_validator_1.IsString)(),
|
|
58
|
+
__metadata("design:type", String)
|
|
59
|
+
], SubmitLlmResponseDto.prototype, "user_prompt", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.IsString)(),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], SubmitLlmResponseDto.prototype, "external_turn_id", void 0);
|
|
55
65
|
//# sourceMappingURL=submit-llm-response.dto.js.map
|
|
@@ -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,qDAQyB;AAEzB,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,MAAa,oBAAoB;
|
|
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;CAmChC;AAnCD,oDAmCC;AAhCC;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;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8DACe"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SyncConversationDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
class TurnDto {
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsString)(),
|
|
19
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], TurnDto.prototype, "id", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsIn)(['user', 'model']),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], TurnDto.prototype, "role", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], TurnDto.prototype, "content", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], TurnDto.prototype, "thoughts", void 0);
|
|
36
|
+
class SyncConversationDto {
|
|
37
|
+
}
|
|
38
|
+
exports.SyncConversationDto = SyncConversationDto;
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsOptional)(),
|
|
41
|
+
(0, class_validator_1.IsString)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], SyncConversationDto.prototype, "id", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_validator_1.IsString)(),
|
|
46
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], SyncConversationDto.prototype, "title", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, class_validator_1.IsString)(),
|
|
51
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], SyncConversationDto.prototype, "model", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, class_validator_1.IsArray)(),
|
|
56
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
57
|
+
(0, class_transformer_1.Type)(() => TurnDto),
|
|
58
|
+
__metadata("design:type", Array)
|
|
59
|
+
], SyncConversationDto.prototype, "turns", void 0);
|
|
60
|
+
//# sourceMappingURL=sync-conversation.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-conversation.dto.js","sourceRoot":"","sources":["../../../../src/llm-responses/dto/sync-conversation.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AACzB,yDAAyC;AAEzC,MAAM,OAAO;CAeZ;AAZC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mCACF;AAGX;IADC,IAAA,sBAAI,EAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;qCACD;AAIvB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACG;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yCACO;AAGpB,MAAa,mBAAmB;CAiB/B;AAjBD,kDAiBC;AAdC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACC;AAIZ;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACC;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACC;AAKd;IAHC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;kDACH"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { LlmResponsesService } from './llm-responses.service';
|
|
2
2
|
import { SubmitLlmResponseDto } from './dto/submit-llm-response.dto';
|
|
3
3
|
import { SessionInput } from '../core-entities';
|
|
4
|
+
import { SyncConversationDto } from './dto/sync-conversation.dto';
|
|
4
5
|
export declare class LlmResponsesController {
|
|
5
6
|
private readonly llmResponsesService;
|
|
6
7
|
constructor(llmResponsesService: LlmResponsesService);
|
|
7
8
|
submit(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
8
9
|
submitExternal(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
10
|
+
syncConversation(dto: SyncConversationDto): Promise<{
|
|
11
|
+
status: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
}>;
|
|
9
14
|
}
|
|
@@ -16,6 +16,7 @@ exports.LlmResponsesController = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const llm_responses_service_1 = require("./llm-responses.service");
|
|
18
18
|
const submit_llm_response_dto_1 = require("./dto/submit-llm-response.dto");
|
|
19
|
+
const sync_conversation_dto_1 = require("./dto/sync-conversation.dto");
|
|
19
20
|
let LlmResponsesController = class LlmResponsesController {
|
|
20
21
|
constructor(llmResponsesService) {
|
|
21
22
|
this.llmResponsesService = llmResponsesService;
|
|
@@ -26,6 +27,10 @@ let LlmResponsesController = class LlmResponsesController {
|
|
|
26
27
|
async submitExternal(dto) {
|
|
27
28
|
return this.llmResponsesService.submitExternal(dto);
|
|
28
29
|
}
|
|
30
|
+
async syncConversation(dto) {
|
|
31
|
+
const sessionId = await this.llmResponsesService.syncConversation(dto);
|
|
32
|
+
return { status: 'ok', sessionId };
|
|
33
|
+
}
|
|
29
34
|
};
|
|
30
35
|
exports.LlmResponsesController = LlmResponsesController;
|
|
31
36
|
__decorate([
|
|
@@ -44,6 +49,14 @@ __decorate([
|
|
|
44
49
|
__metadata("design:paramtypes", [submit_llm_response_dto_1.SubmitLlmResponseDto]),
|
|
45
50
|
__metadata("design:returntype", Promise)
|
|
46
51
|
], LlmResponsesController.prototype, "submitExternal", null);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, common_1.Post)('sync-conversation'),
|
|
54
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
55
|
+
__param(0, (0, common_1.Body)()),
|
|
56
|
+
__metadata("design:type", Function),
|
|
57
|
+
__metadata("design:paramtypes", [sync_conversation_dto_1.SyncConversationDto]),
|
|
58
|
+
__metadata("design:returntype", Promise)
|
|
59
|
+
], LlmResponsesController.prototype, "syncConversation", null);
|
|
47
60
|
exports.LlmResponsesController = LlmResponsesController = __decorate([
|
|
48
61
|
(0, common_1.Controller)('llm-responses'),
|
|
49
62
|
__metadata("design:paramtypes", [llm_responses_service_1.LlmResponsesService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-responses.controller.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8E;AAC9E,mEAA8D;AAC9D,2EAAqE;
|
|
1
|
+
{"version":3,"file":"llm-responses.controller.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8E;AAC9E,mEAA8D;AAC9D,2EAAqE;AAErE,uEAAkE;AAG3D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAInE,AAAN,KAAK,CAAC,MAAM,CAAS,GAAyB;QAC5C,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAIK,AAAN,KAAK,CAAC,cAAc,CACV,GAAyB;QAEjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAIK,AAAN,KAAK,CAAC,gBAAgB,CAAS,GAAwB;QAIrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AA1BY,wDAAsB;AAK3B;IAFL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACV,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,8CAAoB;;oDAE7C;AAIK;IAFL,IAAA,aAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IAErB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,8CAAoB;;4DAGlC;AAIK;IAFL,IAAA,aAAI,EAAC,mBAAmB,CAAC;IACzB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACA,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,2CAAmB;;8DAMtD;iCAzBU,sBAAsB;IADlC,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAEwB,2CAAmB;GAD1D,sBAAsB,CA0BlC"}
|
|
@@ -26,7 +26,7 @@ exports.LlmResponsesModule = LlmResponsesModule;
|
|
|
26
26
|
exports.LlmResponsesModule = LlmResponsesModule = __decorate([
|
|
27
27
|
(0, common_1.Module)({
|
|
28
28
|
imports: [
|
|
29
|
-
typeorm_1.TypeOrmModule.forFeature([core_entities_1.SessionInput]),
|
|
29
|
+
typeorm_1.TypeOrmModule.forFeature([core_entities_1.Session, core_entities_1.SessionInput]),
|
|
30
30
|
sessions_module_1.SessionsModule,
|
|
31
31
|
application_state_module_1.ApplicationStateModule,
|
|
32
32
|
(0, common_1.forwardRef)(() => session_inputs_module_1.SessionInputsModule),
|
|
@@ -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,
|
|
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;AAkBvE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAhB9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAO,EAAE,4BAAY,CAAC,CAAC;YACjD,gCAAc;YACd,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;SACpB;QACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
|
|
@@ -2,13 +2,15 @@ import { SessionsService } from '../sessions/sessions.service';
|
|
|
2
2
|
import { ApplicationStateService } from '../application-state/application-state.service';
|
|
3
3
|
import { SessionInputsService } from '../session-inputs/session-inputs.service';
|
|
4
4
|
import { SubmitLlmResponseDto } from './dto/submit-llm-response.dto';
|
|
5
|
-
import { SessionInput } from '../core-entities';
|
|
5
|
+
import { Session, SessionInput } from '../core-entities';
|
|
6
6
|
import { Repository } from 'typeorm';
|
|
7
7
|
import { EventsGateway } from '../events/events.gateway';
|
|
8
8
|
import { AIActionCreationService } from '../ai-actions/ai-action-creation.service';
|
|
9
9
|
import { ChatService } from '../interactive-chat/chat.service';
|
|
10
10
|
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
|
|
11
|
+
import { SyncConversationDto } from './dto/sync-conversation.dto';
|
|
11
12
|
export declare class LlmResponsesService {
|
|
13
|
+
private sessionsRepository;
|
|
12
14
|
private sessionInputsRepository;
|
|
13
15
|
private readonly systemPromptsService;
|
|
14
16
|
private readonly sessionsService;
|
|
@@ -18,7 +20,7 @@ export declare class LlmResponsesService {
|
|
|
18
20
|
private readonly aiActionCreationService;
|
|
19
21
|
private readonly chatService;
|
|
20
22
|
private readonly logger;
|
|
21
|
-
constructor(sessionInputsRepository: Repository<SessionInput>, systemPromptsService: SystemPromptsService, sessionsService: SessionsService, applicationStateService: ApplicationStateService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, aiActionCreationService: AIActionCreationService, chatService: ChatService);
|
|
23
|
+
constructor(sessionsRepository: Repository<Session>, sessionInputsRepository: Repository<SessionInput>, systemPromptsService: SystemPromptsService, sessionsService: SessionsService, applicationStateService: ApplicationStateService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, aiActionCreationService: AIActionCreationService, chatService: ChatService);
|
|
22
24
|
private extractAndUpdateSessionTitle;
|
|
23
25
|
submit(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
24
26
|
private createInputForExternalSubmission;
|
|
@@ -26,4 +28,5 @@ export declare class LlmResponsesService {
|
|
|
26
28
|
private handleAutoContextFetch;
|
|
27
29
|
private handleNewSessionAction;
|
|
28
30
|
submitExternal(dto: SubmitLlmResponseDto): Promise<SessionInput>;
|
|
31
|
+
syncConversation(dto: SyncConversationDto): Promise<string>;
|
|
29
32
|
}
|
|
@@ -30,7 +30,8 @@ const parsing_constants_1 = require("../llm-response-parser/parsing.constants");
|
|
|
30
30
|
const chat_service_1 = require("../interactive-chat/chat.service");
|
|
31
31
|
const system_prompts_service_1 = require("../system-prompts/system-prompts.service");
|
|
32
32
|
let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
33
|
-
constructor(sessionInputsRepository, systemPromptsService, sessionsService, applicationStateService, sessionInputsService, eventsGateway, aiActionCreationService, chatService) {
|
|
33
|
+
constructor(sessionsRepository, sessionInputsRepository, systemPromptsService, sessionsService, applicationStateService, sessionInputsService, eventsGateway, aiActionCreationService, chatService) {
|
|
34
|
+
this.sessionsRepository = sessionsRepository;
|
|
34
35
|
this.sessionInputsRepository = sessionInputsRepository;
|
|
35
36
|
this.systemPromptsService = systemPromptsService;
|
|
36
37
|
this.sessionsService = sessionsService;
|
|
@@ -74,6 +75,9 @@ let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
|
74
75
|
this.logger.log('Processing LLM response for external submission.');
|
|
75
76
|
sessionInput = await this.createInputForExternalSubmission(dto);
|
|
76
77
|
}
|
|
78
|
+
if (!sessionInput.execution_strategy && dto.execution_strategy) {
|
|
79
|
+
sessionInput.execution_strategy = dto.execution_strategy;
|
|
80
|
+
}
|
|
77
81
|
const cleanedLlmResponse = await this.extractAndUpdateSessionTitle(sessionInput.session_id, raw_llm_response);
|
|
78
82
|
sessionInput.raw_llm_response = cleanedLlmResponse;
|
|
79
83
|
const updatedSessionInput = await this.sessionInputsRepository.save(sessionInput);
|
|
@@ -124,10 +128,11 @@ let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
|
124
128
|
}
|
|
125
129
|
const newSessionInput = this.sessionInputsRepository.create({
|
|
126
130
|
session: { id: sessionId },
|
|
127
|
-
user_prompt: dto.
|
|
131
|
+
user_prompt: dto.user_prompt || 'Pasted LLM response directly.',
|
|
128
132
|
execution_strategy: dto.execution_strategy,
|
|
129
133
|
generated_context_string: '',
|
|
130
134
|
idempotency_key: dto.idempotency_key,
|
|
135
|
+
external_turn_id: dto.idempotency_key,
|
|
131
136
|
});
|
|
132
137
|
if (dto.url) {
|
|
133
138
|
await this.sessionsService.update(sessionId, { url: dto.url });
|
|
@@ -135,6 +140,8 @@ let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
|
135
140
|
return this.sessionInputsRepository.save(newSessionInput);
|
|
136
141
|
}
|
|
137
142
|
async processLlmResponse(sessionInput) {
|
|
143
|
+
if (!sessionInput.execution_strategy)
|
|
144
|
+
return [];
|
|
138
145
|
if (sessionInput.execution_strategy === 'review_first') {
|
|
139
146
|
return this.aiActionCreationService.createActionsFromLlmResponse(sessionInput, ai_actions_service_1.AIActionStatus.PROPOSED);
|
|
140
147
|
}
|
|
@@ -216,14 +223,118 @@ let LlmResponsesService = LlmResponsesService_1 = class LlmResponsesService {
|
|
|
216
223
|
const result = await this.submit(dto);
|
|
217
224
|
return result;
|
|
218
225
|
}
|
|
226
|
+
async syncConversation(dto) {
|
|
227
|
+
this.logger.log(`Syncing conversation. External ID: ${dto.id ?? 'N/A'}. Title: ${dto.title}`);
|
|
228
|
+
let session = await this.sessionsService.findActive();
|
|
229
|
+
if (!session) {
|
|
230
|
+
this.logger.log('No active session found. Creating a new one.');
|
|
231
|
+
session = await this.sessionsService.create({
|
|
232
|
+
session_title: dto.title,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
this.logger.log(`Syncing conversation into active session ${session.id}`);
|
|
237
|
+
if (session.session_title !== dto.title) {
|
|
238
|
+
await this.sessionsService.update(session.id, {
|
|
239
|
+
session_title: dto.title,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
const existingInputs = await this.sessionInputsRepository.findBy({
|
|
244
|
+
session_id: session.id,
|
|
245
|
+
});
|
|
246
|
+
const existingInputsMap = new Map(existingInputs.map((input) => [input.external_turn_id, input]));
|
|
247
|
+
const inputsToSave = [];
|
|
248
|
+
for (const turn of dto.turns) {
|
|
249
|
+
const existingInput = existingInputsMap.get(turn.id);
|
|
250
|
+
if (existingInput) {
|
|
251
|
+
let needsUpdate = false;
|
|
252
|
+
const newContent = turn.role === 'user' ? turn.content : existingInput.user_prompt;
|
|
253
|
+
const newResponse = turn.role === 'model' ? turn.content : existingInput.raw_llm_response;
|
|
254
|
+
const newThoughts = turn.role === 'model'
|
|
255
|
+
? (turn.thoughts ?? null)
|
|
256
|
+
: existingInput.thoughts;
|
|
257
|
+
if (existingInput.user_prompt !== newContent) {
|
|
258
|
+
existingInput.user_prompt = newContent;
|
|
259
|
+
needsUpdate = true;
|
|
260
|
+
}
|
|
261
|
+
if (existingInput.raw_llm_response !== newResponse) {
|
|
262
|
+
existingInput.raw_llm_response = newResponse;
|
|
263
|
+
needsUpdate = true;
|
|
264
|
+
}
|
|
265
|
+
if (existingInput.thoughts !== newThoughts) {
|
|
266
|
+
existingInput.thoughts = newThoughts;
|
|
267
|
+
needsUpdate = true;
|
|
268
|
+
}
|
|
269
|
+
if (dto.id && existingInput.external_conversation_id !== dto.id) {
|
|
270
|
+
existingInput.external_conversation_id = dto.id;
|
|
271
|
+
needsUpdate = true;
|
|
272
|
+
}
|
|
273
|
+
if (needsUpdate) {
|
|
274
|
+
inputsToSave.push(existingInput);
|
|
275
|
+
}
|
|
276
|
+
existingInputsMap.delete(turn.id);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
const newInput = this.sessionInputsRepository.create({
|
|
280
|
+
session_id: session.id,
|
|
281
|
+
role: turn.role,
|
|
282
|
+
user_prompt: turn.role === 'user' ? turn.content : null,
|
|
283
|
+
raw_llm_response: turn.role === 'model' ? turn.content : null,
|
|
284
|
+
thoughts: turn.role === 'model' ? (turn.thoughts ?? null) : null,
|
|
285
|
+
external_conversation_id: dto.id,
|
|
286
|
+
external_turn_id: turn.id,
|
|
287
|
+
});
|
|
288
|
+
inputsToSave.push(newInput);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
const idsToDelete = Array.from(existingInputsMap.values())
|
|
292
|
+
.map((i) => i.id)
|
|
293
|
+
.filter((id) => id);
|
|
294
|
+
if (inputsToSave.length > 0) {
|
|
295
|
+
await this.sessionInputsRepository.save(inputsToSave);
|
|
296
|
+
this.logger.log(`Saved ${inputsToSave.length} session inputs.`);
|
|
297
|
+
}
|
|
298
|
+
if (idsToDelete.length > 0) {
|
|
299
|
+
await this.sessionInputsRepository.delete(idsToDelete);
|
|
300
|
+
this.logger.log(`Deleted ${idsToDelete.length} session inputs.`);
|
|
301
|
+
}
|
|
302
|
+
const lastTurn = dto.turns.length > 0 ? dto.turns[dto.turns.length - 1] : null;
|
|
303
|
+
if (lastTurn && lastTurn.role === 'model') {
|
|
304
|
+
const lastModelTurn = lastTurn;
|
|
305
|
+
this.logger.log(`Found last model turn ${lastModelTurn.id}, processing for actions.`);
|
|
306
|
+
const lastModelInput = await this.sessionInputsRepository.findOneBy({
|
|
307
|
+
external_turn_id: lastModelTurn.id,
|
|
308
|
+
session_id: session.id,
|
|
309
|
+
});
|
|
310
|
+
if (lastModelInput) {
|
|
311
|
+
const executionStrategy = await this.applicationStateService.getExecutionStrategy();
|
|
312
|
+
await this.submit({
|
|
313
|
+
inputId: lastModelInput.id,
|
|
314
|
+
raw_llm_response: lastModelInput.raw_llm_response,
|
|
315
|
+
execution_strategy: executionStrategy,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
this.logger.warn(`Could not find the session input for the last model turn ${lastModelTurn.id} after sync.`);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
this.eventsGateway.sendToAll('refresh-ui', { sessionId: session.id });
|
|
324
|
+
}
|
|
325
|
+
this.logger.log(`Sync complete for session ${session.id}`);
|
|
326
|
+
return session.id;
|
|
327
|
+
}
|
|
219
328
|
};
|
|
220
329
|
exports.LlmResponsesService = LlmResponsesService;
|
|
221
330
|
exports.LlmResponsesService = LlmResponsesService = LlmResponsesService_1 = __decorate([
|
|
222
331
|
(0, common_1.Injectable)(),
|
|
223
|
-
__param(0, (0, typeorm_1.InjectRepository)(core_entities_1.
|
|
224
|
-
__param(
|
|
225
|
-
__param(
|
|
332
|
+
__param(0, (0, typeorm_1.InjectRepository)(core_entities_1.Session)),
|
|
333
|
+
__param(1, (0, typeorm_1.InjectRepository)(core_entities_1.SessionInput)),
|
|
334
|
+
__param(5, (0, common_1.Inject)((0, common_1.forwardRef)(() => session_inputs_service_1.SessionInputsService))),
|
|
335
|
+
__param(8, (0, common_1.Inject)((0, common_1.forwardRef)(() => chat_service_1.ChatService))),
|
|
226
336
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
337
|
+
typeorm_2.Repository,
|
|
227
338
|
system_prompts_service_1.SystemPromptsService,
|
|
228
339
|
sessions_service_1.SessionsService,
|
|
229
340
|
application_state_service_1.ApplicationStateService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-responses.service.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llm-responses.service.js","sourceRoot":"","sources":["../../../src/llm-responses/llm-responses.service.ts"],"names":[],"mappings":"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"}
|