repoburg 1.3.0 → 1.3.2

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.
Files changed (35) hide show
  1. package/CODEMAP.md +11 -4
  2. package/backend/dist/src/ai-actions/ai-actions.service.d.ts +1 -0
  3. package/backend/dist/src/ai-actions/ai-actions.service.js +12 -0
  4. package/backend/dist/src/ai-actions/ai-actions.service.js.map +1 -1
  5. package/backend/dist/src/core-entities/ai-action.entity.d.ts +1 -0
  6. package/backend/dist/src/core-entities/ai-action.entity.js +4 -0
  7. package/backend/dist/src/core-entities/ai-action.entity.js.map +1 -1
  8. package/backend/dist/src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.d.ts +6 -0
  9. package/backend/dist/src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.js +46 -0
  10. package/backend/dist/src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.js.map +1 -0
  11. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.d.ts +12 -0
  12. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +133 -0
  13. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -0
  14. package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js +4 -0
  15. package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js.map +1 -1
  16. package/backend/dist/src/llm-orchestration/hooks/invalid-tool-feedback.hook.d.ts +12 -0
  17. package/backend/dist/src/llm-orchestration/hooks/invalid-tool-feedback.hook.js +51 -0
  18. package/backend/dist/src/llm-orchestration/hooks/invalid-tool-feedback.hook.js.map +1 -0
  19. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.d.ts +5 -0
  20. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js +7 -2
  21. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js.map +1 -1
  22. package/backend/dist/src/llm-orchestration/llm-orchestration.module.js +4 -0
  23. package/backend/dist/src/llm-orchestration/llm-orchestration.module.js.map +1 -1
  24. package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js +8 -0
  25. package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js.map +1 -1
  26. package/backend/dist/src/llm-orchestration/parser/llm-output-parser.service.js +12 -3
  27. package/backend/dist/src/llm-orchestration/parser/llm-output-parser.service.js.map +1 -1
  28. package/backend/dist/src/llm-orchestration/parser/parsing.constants.d.ts +2 -0
  29. package/backend/dist/src/llm-orchestration/parser/parsing.constants.js +3 -1
  30. package/backend/dist/src/llm-orchestration/parser/parsing.constants.js.map +1 -1
  31. package/backend/dist/src/seeding/data/system-prompts/default_master-agent.d.ts +1 -1
  32. package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js +107 -4
  33. package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js.map +1 -1
  34. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  35. package/package.json +1 -1
package/CODEMAP.md CHANGED
@@ -36,8 +36,11 @@ The local server that contains the core application logic.
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
38
  - **`/llm-responses`**: Receives raw text responses from the LLM and hands them off to the `llm-orchestration` module for processing. Also includes an endpoint (`/sync-conversation`) to receive entire conversation histories from external tools like the userscript.
39
- - **`/llm-orchestration`**: The new core engine for processing an AI turn. It follows a pipeline model: parsing the LLM response, validating and executing each action via a dedicated handler (e.g., for `create_file` or `run_command`), and running post-execution hooks for cross-cutting concerns like triggering follow-up AI calls or notifying the frontend.
40
- - **`/ai-actions`**: Manages the individual actions (`create_file`, `run_command`) proposed by the AI. Its services also contain the file system logic for user-driven UI actions like applying or reverting changes.
39
+ - **`/llm-orchestration`**: The core engine for processing an AI turn. It follows a pipeline model: parsing the LLM response, validating and executing each action, and running post-execution hooks. It now features two self-correction mechanisms:
40
+ 1. **Invalid Tool Correction**: If the AI uses a non-existent tool name, the system executes all valid actions, then a high-priority hook sends a consolidated feedback message to the LLM, prompting it to correct the plan.
41
+ 2. **Action Validation Failure**: For valid tools with invalid arguments (like `quick_edit` with a non-unique search block), the individual action handler reports the failure back to the LLM for an automatic retry.
42
+ This module also includes hooks for triggering standard follow-up AI calls and notifying the frontend.
43
+ - **`/ai-actions`**: Manages the individual actions (`create_file`, `run_command`, `quick_edit`) proposed by the AI. Its services also contain the file system logic for user-driven UI actions like applying or reverting changes.
41
44
  - **`/execution-logs`**: Stores logs from action execution.
42
45
  - **`/interactive-chat`**: Orchestrates sending prompts to an LLM for both integrated and manual modes.
43
46
 
@@ -58,7 +61,7 @@ The local server that contains the core application logic.
58
61
  - **`/visual-editor`**: Provides an endpoint for the visual editor's injected client script to submit prompts and context, adapting them into standard session inputs.
59
62
  - **`/projects`**: Manages project-specific information.
60
63
  - **`/seeding`**: Seeds the database with default data (prompts, templates, variables) on startup.
61
- - **`/core-entities`**: Contains all TypeORM entity definitions for the database schema.
64
+ - **`/core-entities`**: Contains all TypeORM entity definitions for the database schema. The `AIAction` entity now includes a `plain` text field to store the explanation provided by a `final` action.
62
65
  - **`/utils`**: Shared utility functions and decorators (e.g., fuzzy search, tracing).
63
66
 
64
67
  ---
@@ -77,7 +80,7 @@ The main user interface for interacting with the Repoburg backend.
77
80
  - **`/app/components`**: Home to the application's React components, organized by feature:
78
81
  - **`/pages`**: Top-level components for each main view (e.g., `MainHomePage`, `SettingsPage`).
79
82
  - **`/editors`**: Specialized editor components for templates, prompts, and snippets.
80
- - **`/plan` & `/session`**: Components for displaying AI-generated plans and the conversation history.
83
+ - **`/plan` & `/session`**: Components for displaying AI-generated plans and the conversation history. `ActionItemContent.tsx` is the key component for rendering individual AI actions, including the new `quick_edit` (as a diff) and `final` (as formatted markdown) action types.
81
84
  - **`/common`**: Shared components like the command palette, markdown renderers, and the new `VariableToggleModal`.
82
85
  - **`/components/ui`**: The library of low-level, reusable UI components from shadcn/ui.
83
86
  - **`/lib/api`**: A collection of strongly-typed functions that handle all HTTP communication with the `backend` API, including the new `customVariable` client.
@@ -201,6 +204,10 @@ A lightweight proxy server that enables the in-context visual editing feature.
201
204
  - **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.
202
205
  - **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`.
203
206
 
207
+ ### Self-Correction Mechanisms
208
+ - **Action Validation Failure (`quick_edit`)**: The `quick_edit` tool includes a self-correction mechanism. If an edit fails due to a non-unique or missing code block, the handler generates a specific error message that is fed back to the LLM, prompting it to try the edit again with a more precise `search_block`.
209
+ - **Invalid Tool Name Correction**: If the AI's plan includes a tool that doesn't exist, the system executes all valid actions from the plan. It then sends a single feedback message to the LLM listing the invalid tools, prompting it to provide a corrected plan. This allows the AI to self-correct without halting the entire workflow.
210
+
204
211
  ### Visual Editor Workflow
205
212
  - **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.
206
213
  - **User's Browser <-> visual-editor-proxy**: The proxy serves the user's target application, but injects its own client-side script into the HTML.
@@ -21,6 +21,7 @@ export declare enum AIActionType {
21
21
  REQUEST_CONTEXT = "request_context",
22
22
  FINAL = "final",
23
23
  USE_MCP_TOOL = "use_mcp_tool",
24
+ QUICK_EDIT = "quick_edit",
24
25
  NEW_SESSION = "new_session"
25
26
  }
26
27
  export interface ActionResult {
@@ -44,6 +44,7 @@ var AIActionType;
44
44
  AIActionType["REQUEST_CONTEXT"] = "request_context";
45
45
  AIActionType["FINAL"] = "final";
46
46
  AIActionType["USE_MCP_TOOL"] = "use_mcp_tool";
47
+ AIActionType["QUICK_EDIT"] = "quick_edit";
47
48
  AIActionType["NEW_SESSION"] = "new_session";
48
49
  })(AIActionType || (exports.AIActionType = AIActionType = {}));
49
50
  let AIActionsService = AIActionsService_1 = class AIActionsService {
@@ -167,6 +168,17 @@ let AIActionsService = AIActionsService_1 = class AIActionsService {
167
168
  try {
168
169
  this.logger.log(`Attempting to revert action ID ${action.id}, type ${action.action_type}`);
169
170
  switch (action.action_type) {
171
+ case 'quick_edit':
172
+ if (!action.file_path) {
173
+ throw new Error('Missing file_path for quick_edit revert.');
174
+ }
175
+ if (action.original_content_for_revert === null) {
176
+ throw new Error('Invalid state: quick_edit action is missing original content for revert.');
177
+ }
178
+ await this.editFile(action.file_path, action.original_content_for_revert);
179
+ revertOutcomeMessage = `File "${action.file_path}" content reverted from quick_edit.`;
180
+ revertSucceeded = true;
181
+ break;
170
182
  case 'edit_file':
171
183
  if (!action.file_path)
172
184
  throw new Error('Missing file_path for edit_file revert.');
@@ -1 +1 @@
1
- {"version":3,"file":"ai-actions.service.js","sourceRoot":"","sources":["../../../src/ai-actions/ai-actions.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-actions.service.js","sourceRoot":"","sources":["../../../src/ai-actions/ai-actions.service.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,5 @@ export declare class AIAction extends BaseEntity {
19
19
  server_name: string | null;
20
20
  tool_name: string | null;
21
21
  arguments: string | null;
22
+ plain: string | null;
22
23
  }
@@ -89,6 +89,10 @@ __decorate([
89
89
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
90
90
  __metadata("design:type", String)
91
91
  ], AIAction.prototype, "arguments", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
94
+ __metadata("design:type", String)
95
+ ], AIAction.prototype, "plain", void 0);
92
96
  exports.AIAction = AIAction = __decorate([
93
97
  (0, typeorm_1.Entity)('ai_actions')
94
98
  ], AIAction);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-action.entity.js","sourceRoot":"","sources":["../../../src/core-entities/ai-action.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2E;AAC3E,+CAA2C;AAC3C,iEAAsD;AACtD,iEAAsD;AAG/C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAU;CA0DvC,CAAA;AA1DY,4BAAQ;AAInB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACR;AAOjB;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE;QACnD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACnB,mCAAY;8CAAC;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACL;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACvB;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACL;AAGpC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACX;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAClB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACnB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACV;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACV;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oDACD;AAG3B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;;+CACzC;AAI9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACd;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAChB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAChB;mBAzDd,QAAQ;IADpB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,QAAQ,CA0DpB"}
1
+ {"version":3,"file":"ai-action.entity.js","sourceRoot":"","sources":["../../../src/core-entities/ai-action.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2E;AAC3E,+CAA2C;AAC3C,iEAAsD;AACtD,iEAAsD;AAG/C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAU;CA8DvC,CAAA;AA9DY,4BAAQ;AAInB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACR;AAOjB;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE;QACnD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACnB,mCAAY;8CAAC;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACL;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACvB;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACL;AAGpC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACX;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAClB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACnB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACV;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACV;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oDACD;AAG3B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;;+CACzC;AAI9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACd;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAChB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAChB;AAIzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACpB;mBA7DV,QAAQ;IADpB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,QAAQ,CA8DpB"}
@@ -0,0 +1,6 @@
1
+ export declare class QuickEditArgsDto {
2
+ file_path: string;
3
+ action: 'insert_after' | 'insert_before' | 'replace' | 'delete_block';
4
+ search_block: string;
5
+ new_content?: string;
6
+ }
@@ -0,0 +1,46 @@
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.QuickEditArgsDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const sanitizer_decorator_1 = require("./sanitizer.decorator");
15
+ class QuickEditArgsDto {
16
+ }
17
+ exports.QuickEditArgsDto = QuickEditArgsDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)({ message: 'file_path must be a string.' }),
20
+ (0, class_validator_1.IsNotEmpty)({ message: 'file_path must not be empty.' }),
21
+ __metadata("design:type", String)
22
+ ], QuickEditArgsDto.prototype, "file_path", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsIn)(['insert_after', 'insert_before', 'replace', 'delete_block'], {
25
+ message: 'action must be one of: insert_after, insert_before, replace, delete_block.',
26
+ }),
27
+ __metadata("design:type", String)
28
+ ], QuickEditArgsDto.prototype, "action", void 0);
29
+ __decorate([
30
+ (0, sanitizer_decorator_1.SanitizeCodeBlock)(),
31
+ (0, class_validator_1.IsString)({ message: 'search_block must be a string.' }),
32
+ (0, class_validator_1.IsNotEmpty)({ message: 'search_block must not be empty.' }),
33
+ __metadata("design:type", String)
34
+ ], QuickEditArgsDto.prototype, "search_block", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.ValidateIf)((o) => o.action === 'insert_after' ||
37
+ o.action === 'insert_before' ||
38
+ o.action === 'replace'),
39
+ (0, class_validator_1.IsDefined)({
40
+ message: 'new_content is required for insert_after, insert_before, and replace actions.',
41
+ }),
42
+ (0, class_validator_1.IsString)({ message: 'new_content must be a string.' }),
43
+ (0, sanitizer_decorator_1.SanitizeCodeBlock)(),
44
+ __metadata("design:type", String)
45
+ ], QuickEditArgsDto.prototype, "new_content", void 0);
46
+ //# sourceMappingURL=quick-edit.args.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-edit.args.dto.js","sourceRoot":"","sources":["../../../../../src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AACzB,+DAA0D;AAE1D,MAAa,gBAAgB;CA6B5B;AA7BD,4CA6BC;AA1BC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;mDACtC;AAMlB;IAJC,IAAA,sBAAI,EAAC,CAAC,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE;QAClE,OAAO,EACL,4EAA4E;KAC/E,CAAC;;gDACoE;AAKtE;IAHC,IAAA,uCAAiB,GAAE;IACnB,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IACvD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;;sDACtC;AAcrB;IAZC,IAAA,4BAAU,EACT,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,cAAc;QAC3B,CAAC,CAAC,MAAM,KAAK,eAAe;QAC5B,CAAC,CAAC,MAAM,KAAK,SAAS,CACzB;IACA,IAAA,2BAAS,EAAC;QACT,OAAO,EACL,+EAA+E;KAClF,CAAC;IACD,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACtD,IAAA,uCAAiB,GAAE;;qDACC"}
@@ -0,0 +1,12 @@
1
+ import { ActionHandler } from './action-handler.interface';
2
+ import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
3
+ export declare class QuickEditHandler implements ActionHandler {
4
+ readonly toolName = "quick_edit";
5
+ private readonly logger;
6
+ private readonly projectRoot;
7
+ private resolveAndValidatePath;
8
+ private formatError;
9
+ execute(args: {
10
+ [key: string]: any;
11
+ }, context: PlanExecutionContext): Promise<ActionExecutionResult>;
12
+ }
@@ -0,0 +1,133 @@
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 QuickEditHandler_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.QuickEditHandler = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const fs = require("fs/promises");
13
+ const path = require("path");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const handler_validation_error_1 = require("../errors/handler-validation.error");
17
+ const quick_edit_args_dto_1 = require("./dto/quick-edit.args.dto");
18
+ let QuickEditHandler = QuickEditHandler_1 = class QuickEditHandler {
19
+ constructor() {
20
+ this.toolName = 'quick_edit';
21
+ this.logger = new common_1.Logger(QuickEditHandler_1.name);
22
+ this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
23
+ }
24
+ resolveAndValidatePath(unsafePath) {
25
+ const normalizedPath = path.normalize(unsafePath);
26
+ if (path.isAbsolute(normalizedPath)) {
27
+ throw new common_1.BadRequestException(`Absolute paths are not allowed: ${unsafePath}`);
28
+ }
29
+ const resolvedPath = path.resolve(this.projectRoot, normalizedPath);
30
+ if (!resolvedPath.startsWith(this.projectRoot)) {
31
+ throw new common_1.BadRequestException(`Path traversal is not allowed: ${unsafePath}`);
32
+ }
33
+ return resolvedPath;
34
+ }
35
+ formatError(filePath, reason, searchBlock) {
36
+ let reasonText;
37
+ switch (reason) {
38
+ case 'NOT_FOUND':
39
+ reasonText = 'The `search_block` was **not found**';
40
+ break;
41
+ case 'NOT_UNIQUE':
42
+ reasonText =
43
+ 'The `search_block` was **not unique** (it appeared multiple times)';
44
+ break;
45
+ case 'FILE_NOT_FOUND':
46
+ reasonText = 'The file itself could **not be found**';
47
+ break;
48
+ }
49
+ return `In file \`${filePath}\`, the action failed. Reason: ${reasonText}. The problematic search block was:\n\`\`\`\n${searchBlock}\n\`\`\`\nYou MUST request the file content again to get the latest version before retrying.`;
50
+ }
51
+ async execute(args, context) {
52
+ const validatedArgs = (0, class_transformer_1.plainToClass)(quick_edit_args_dto_1.QuickEditArgsDto, args);
53
+ const errors = await (0, class_validator_1.validate)(validatedArgs);
54
+ if (errors.length > 0) {
55
+ const errorMessages = errors
56
+ .map((err) => Object.values(err.constraints || {}).join(', '))
57
+ .join('; ');
58
+ throw new handler_validation_error_1.HandlerValidationError(errorMessages);
59
+ }
60
+ const { file_path, action, search_block, new_content } = validatedArgs;
61
+ const safePath = this.resolveAndValidatePath(file_path);
62
+ const originalContent = await fs
63
+ .readFile(safePath, 'utf8')
64
+ .catch((error) => {
65
+ if (error.code === 'ENOENT') {
66
+ return null;
67
+ }
68
+ throw error;
69
+ });
70
+ if (originalContent === null) {
71
+ const errorMessage = this.formatError(file_path, 'FILE_NOT_FOUND', search_block);
72
+ context.feedback.validationErrors.push({
73
+ tool_name: this.toolName,
74
+ error: errorMessage,
75
+ });
76
+ return {
77
+ status: 'FAILURE',
78
+ summary: `Quick edit on "${file_path}" failed: File not found.`,
79
+ error_message: errorMessage,
80
+ persisted_args: validatedArgs,
81
+ };
82
+ }
83
+ const parts = originalContent.split(search_block);
84
+ if (parts.length !== 2) {
85
+ const reason = parts.length === 1 ? 'NOT_FOUND' : 'NOT_UNIQUE';
86
+ const errorMessage = this.formatError(file_path, reason, search_block);
87
+ context.feedback.validationErrors.push({
88
+ tool_name: this.toolName,
89
+ error: errorMessage,
90
+ });
91
+ return {
92
+ status: 'FAILURE',
93
+ summary: `Quick edit on "${file_path}" failed: Search block issue (${reason}).`,
94
+ error_message: errorMessage,
95
+ persisted_args: validatedArgs,
96
+ };
97
+ }
98
+ let newFileContent;
99
+ const [before, after] = parts;
100
+ switch (action) {
101
+ case 'replace':
102
+ newFileContent = `${before}${new_content}${after}`;
103
+ break;
104
+ case 'insert_after':
105
+ newFileContent = `${before}${search_block}${new_content}${after}`;
106
+ break;
107
+ case 'insert_before':
108
+ newFileContent = `${before}${new_content}${search_block}${after}`;
109
+ break;
110
+ case 'delete_block':
111
+ newFileContent = `${before}${after}`;
112
+ break;
113
+ }
114
+ try {
115
+ await fs.writeFile(safePath, newFileContent, 'utf8');
116
+ return {
117
+ status: 'SUCCESS',
118
+ summary: `File "${file_path}" successfully modified with quick_edit.`,
119
+ persisted_args: { ...validatedArgs, content: newFileContent },
120
+ original_content_for_revert: originalContent,
121
+ };
122
+ }
123
+ catch (error) {
124
+ this.logger.error(`Failed to write file for quick_edit at ${file_path}: ${error.message}`);
125
+ throw new common_1.InternalServerErrorException(`Failed to quick_edit file "${file_path}": ${error.message}`);
126
+ }
127
+ }
128
+ };
129
+ exports.QuickEditHandler = QuickEditHandler;
130
+ exports.QuickEditHandler = QuickEditHandler = QuickEditHandler_1 = __decorate([
131
+ (0, common_1.Injectable)()
132
+ ], QuickEditHandler);
133
+ //# sourceMappingURL=quick-edit.handler.js.map
@@ -0,0 +1 @@
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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"}
@@ -32,6 +32,10 @@ let FollowUpPostExecutionHook = FollowUpPostExecutionHook_1 = class FollowUpPost
32
32
  this.logger = new common_1.Logger(FollowUpPostExecutionHook_1.name);
33
33
  }
34
34
  async run(sessionInput, context) {
35
+ if (context.flags.should_halt_hooks) {
36
+ this.logger.log('Follow-up hook skipped because hook chain was halted.');
37
+ return;
38
+ }
35
39
  if (context.feedback.validationErrors.length > 0) {
36
40
  await this.handleValidationFeedback(sessionInput, context);
37
41
  context.flags.follow_up_initiated = true;
@@ -1 +1 @@
1
- {"version":3,"file":"follow-up-post-execution.hook.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/hooks/follow-up-post-execution.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"follow-up-post-execution.hook.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/hooks/follow-up-post-execution.hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { PostExecutionHook } from './post-execution-hook.interface';
2
+ import { SessionInput } from '../../core-entities';
3
+ import { PlanExecutionContext } from '../llm-orchestration.interfaces';
4
+ import { ChatService } from '../../interactive-chat/chat.service';
5
+ import { ApplicationStateService } from '../../application-state/application-state.service';
6
+ export declare class InvalidToolFeedbackHook implements PostExecutionHook {
7
+ private readonly chatService;
8
+ private readonly applicationStateService;
9
+ private readonly logger;
10
+ constructor(chatService: ChatService, applicationStateService: ApplicationStateService);
11
+ run(sessionInput: SessionInput, executionContext: PlanExecutionContext): Promise<void>;
12
+ }
@@ -0,0 +1,51 @@
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 InvalidToolFeedbackHook_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.InvalidToolFeedbackHook = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const chat_service_1 = require("../../interactive-chat/chat.service");
19
+ const application_state_service_1 = require("../../application-state/application-state.service");
20
+ let InvalidToolFeedbackHook = InvalidToolFeedbackHook_1 = class InvalidToolFeedbackHook {
21
+ constructor(chatService, applicationStateService) {
22
+ this.chatService = chatService;
23
+ this.applicationStateService = applicationStateService;
24
+ this.logger = new common_1.Logger(InvalidToolFeedbackHook_1.name);
25
+ }
26
+ async run(sessionInput, executionContext) {
27
+ const invalidTools = executionContext.feedback.invalidToolErrors;
28
+ if (!invalidTools || invalidTools.length === 0) {
29
+ return;
30
+ }
31
+ this.logger.log(`Found ${invalidTools.length} invalid tool(s). Sending feedback to AI.`);
32
+ const toolNames = invalidTools.map((e) => `'${e.tool_name}'`).join(', ');
33
+ const feedbackMessage = `SYSTEM_FEEDBACK: The previous response included tools that are not valid. The following tool names could not be found: ${toolNames}. Please review the available tools and provide a corrected plan using only valid tool names. Do not apologize, just provide the corrected plan.`;
34
+ try {
35
+ const isManualFlow = await this.applicationStateService.getManualLlmEnabled();
36
+ await this.chatService.sendMessage(sessionInput.session_id, feedbackMessage, isManualFlow);
37
+ executionContext.flags.should_halt_hooks = true;
38
+ }
39
+ catch (error) {
40
+ this.logger.error(`Failed to send invalid tool feedback to AI for session ${sessionInput.session_id}`, error.stack);
41
+ }
42
+ }
43
+ };
44
+ exports.InvalidToolFeedbackHook = InvalidToolFeedbackHook;
45
+ exports.InvalidToolFeedbackHook = InvalidToolFeedbackHook = InvalidToolFeedbackHook_1 = __decorate([
46
+ (0, common_1.Injectable)(),
47
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => chat_service_1.ChatService))),
48
+ __metadata("design:paramtypes", [chat_service_1.ChatService,
49
+ application_state_service_1.ApplicationStateService])
50
+ ], InvalidToolFeedbackHook);
51
+ //# sourceMappingURL=invalid-tool-feedback.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-tool-feedback.hook.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/hooks/invalid-tool-feedback.hook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AAIxE,sEAAkE;AAClE,iGAA4F;AAGrF,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAGlC,YAEE,WAAyC,EACxB,uBAAgD;QADhD,gBAAW,GAAX,WAAW,CAAa;QACxB,4BAAuB,GAAvB,uBAAuB,CAAyB;QALlD,WAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAMhE,CAAC;IAEJ,KAAK,CAAC,GAAG,CACP,YAA0B,EAC1B,gBAAsC;QAEtC,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAEjE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,YAAY,CAAC,MAAM,2CAA2C,CACxE,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,MAAM,eAAe,GAAG,0HAA0H,SAAS,kJAAkJ,CAAC;QAE9S,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAChC,YAAY,CAAC,UAAU,EACvB,eAAe,EACf,YAAY,CACb,CAAC;YAEF,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,YAAY,CAAC,UAAU,EAAE,EACnF,KAAK,CAAC,KAAK,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA5CY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC,CAAA;qCACR,0BAAW;QACC,mDAAuB;GANxD,uBAAuB,CA4CnC"}
@@ -38,12 +38,17 @@ export declare class PlanExecutionContext {
38
38
  tool_name: string;
39
39
  error: string;
40
40
  }[];
41
+ invalidToolErrors: {
42
+ tool_name: string;
43
+ arguments: any;
44
+ }[];
41
45
  };
42
46
  flags: {
43
47
  should_halt: boolean;
44
48
  halt_reason?: 'CONTEXT_REQUESTED' | 'VALIDATION_FAILED' | 'NEW_SESSION';
45
49
  is_final: boolean;
46
50
  follow_up_initiated: boolean;
51
+ should_halt_hooks?: boolean;
47
52
  };
48
53
  followUpAction?: {
49
54
  type: 'AUTO_CONTEXT_FETCH' | 'NEW_SESSION';
@@ -5,8 +5,13 @@ class PlanExecutionContext {
5
5
  constructor() {
6
6
  this.originalParsedActions = [];
7
7
  this.outputs = { commands: [], mcp_tools: [] };
8
- this.feedback = { validationErrors: [] };
9
- this.flags = { should_halt: false, is_final: false, follow_up_initiated: false };
8
+ this.feedback = { validationErrors: [], invalidToolErrors: [] };
9
+ this.flags = {
10
+ should_halt: false,
11
+ is_final: false,
12
+ follow_up_initiated: false,
13
+ should_halt_hooks: false,
14
+ };
10
15
  }
11
16
  }
12
17
  exports.PlanExecutionContext = PlanExecutionContext;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-orchestration.interfaces.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-orchestration.interfaces.ts"],"names":[],"mappings":";;;AAqDA,MAAa,oBAAoB;IAAjC;QAEE,0BAAqB,GAAa,EAAE,CAAC;QAGrC,YAAO,GAGH,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAGpC,aAAQ,GAEJ,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QAG7B,UAAK,GAKD,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAO1E,CAAC;CAAA;AA5BD,oDA4BC"}
1
+ {"version":3,"file":"llm-orchestration.interfaces.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-orchestration.interfaces.ts"],"names":[],"mappings":";;;AAqDA,MAAa,oBAAoB;IAAjC;QAEE,0BAAqB,GAAa,EAAE,CAAC;QAGrC,YAAO,GAGH,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAGpC,aAAQ,GAGJ,EAAE,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;QAGpD,UAAK,GAMD;YACF,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;SACzB,CAAC;IAOJ,CAAC;CAAA;AAnCD,oDAmCC"}
@@ -31,10 +31,13 @@ const create_file_handler_1 = require("./action-handlers/create-file.handler");
31
31
  const edit_file_handler_1 = require("./action-handlers/edit-file.handler");
32
32
  const delete_file_handler_1 = require("./action-handlers/delete-file.handler");
33
33
  const execution_logs_module_1 = require("../execution-logs/execution-logs.module");
34
+ const quick_edit_handler_1 = require("./action-handlers/quick-edit.handler");
35
+ const invalid_tool_feedback_hook_1 = require("./hooks/invalid-tool-feedback.hook");
34
36
  const actionHandlers = [
35
37
  create_file_handler_1.CreateFileHandler,
36
38
  edit_file_handler_1.EditFileHandler,
37
39
  delete_file_handler_1.DeleteFileHandler,
40
+ quick_edit_handler_1.QuickEditHandler,
38
41
  run_command_handler_1.RunCommandHandler,
39
42
  use_mcp_tool_handler_1.UseMcpToolHandler,
40
43
  request_context_handler_1.RequestContextHandler,
@@ -42,6 +45,7 @@ const actionHandlers = [
42
45
  final_handler_1.FinalHandler,
43
46
  ];
44
47
  const postExecutionHooks = [
48
+ invalid_tool_feedback_hook_1.InvalidToolFeedbackHook,
45
49
  follow_up_post_execution_hook_1.FollowUpPostExecutionHook,
46
50
  yolo_mode_post_execution_hook_1.YoloModePostExecutionHook,
47
51
  frontend_notification_hook_1.FrontendNotificationHook,
@@ -1 +1 @@
1
- {"version":3,"file":"llm-orchestration.module.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-orchestration.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,oDAA0D;AAC1D,kFAA4E;AAC5E,6EAAuE;AACvE,yFAAkF;AAClF,yFAAkF;AAClF,4FAAuF;AACvF,iEAAwE;AACxE,mFAA8E;AAC9E,2DAAuD;AACvD,mFAA8E;AAC9E,iEAA6D;AAC7D,+EAA0E;AAC1E,iFAA2E;AAC3E,uFAAkF;AAClF,+EAA0E;AAC1E,mEAA+D;AAC/D,kDAA8C;AAE9C,mFAA8E;AAC9E,+EAA0E;AAC1E,2EAAsE;AACtE,+EAA0E;AAC1E,mFAA8E;AAG9E,MAAM,cAAc,GAAG;IACrB,uCAAiB;IACjB,mCAAe;IACf,uCAAiB;IACjB,uCAAiB;IACjB,wCAAiB;IACjB,+CAAqB;IACrB,uCAAiB;IACjB,4BAAY;CACb,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,yDAAyB;IACzB,yDAAyB;IACzB,qDAAwB;CACzB,CAAC;AAqCK,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IAlClC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAQ,EAAE,4BAAY,CAAC,CAAC;YAClD,iDAAsB;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;YACrC,4BAAY;YACZ,2CAAmB;YACnB,gCAAc;YACd,sBAAS;YACT,2CAAmB;SACpB;QACD,SAAS,EAAE;YACT,kDAAsB;YACtB,oDAAuB;YACvB,GAAG,cAAc;YACjB,GAAG,kBAAkB;YACrB;gBACE,OAAO,EAAE,yBAAyB;gBAClC,UAAU,EAAE,CAAC,GAAG,QAAyB,EAAE,EAAE;oBAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;oBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACvE,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,cAAc;aACvB;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B;SACF;QACD,OAAO,EAAE,CAAC,oDAAuB,CAAC;KACnC,CAAC;GACW,sBAAsB,CAAG"}
1
+ {"version":3,"file":"llm-orchestration.module.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-orchestration.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,oDAA0D;AAC1D,kFAA4E;AAC5E,6EAAuE;AACvE,yFAAkF;AAClF,yFAAkF;AAClF,4FAAuF;AACvF,iEAAwE;AACxE,mFAA8E;AAC9E,2DAAuD;AACvD,mFAA8E;AAC9E,iEAA6D;AAC7D,+EAA0E;AAC1E,iFAA2E;AAC3E,uFAAkF;AAClF,+EAA0E;AAC1E,mEAA+D;AAC/D,kDAA8C;AAE9C,mFAA8E;AAC9E,+EAA0E;AAC1E,2EAAsE;AACtE,+EAA0E;AAC1E,mFAA8E;AAC9E,6EAAwE;AACxE,mFAA6E;AAG7E,MAAM,cAAc,GAAG;IACrB,uCAAiB;IACjB,mCAAe;IACf,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,wCAAiB;IACjB,+CAAqB;IACrB,uCAAiB;IACjB,4BAAY;CACb,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,oDAAuB;IACvB,yDAAyB;IACzB,yDAAyB;IACzB,qDAAwB;CACzB,CAAC;AAqCK,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IAlClC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAQ,EAAE,4BAAY,CAAC,CAAC;YAClD,iDAAsB;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;YACrC,4BAAY;YACZ,2CAAmB;YACnB,gCAAc;YACd,sBAAS;YACT,2CAAmB;SACpB;QACD,SAAS,EAAE;YACT,kDAAsB;YACtB,oDAAuB;YACvB,GAAG,cAAc;YACjB,GAAG,kBAAkB;YACrB;gBACE,OAAO,EAAE,yBAAyB;gBAClC,UAAU,EAAE,CAAC,GAAG,QAAyB,EAAE,EAAE;oBAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;oBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACvE,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,cAAc;aACvB;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B;SACF;QACD,OAAO,EAAE,CAAC,oDAAuB,CAAC;KACnC,CAAC;GACW,sBAAsB,CAAG"}
@@ -48,6 +48,10 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
48
48
  let result;
49
49
  if (!handler) {
50
50
  this.logger.warn(`No handler found for tool: ${action.tool_name}. Skipping.`);
51
+ executionContext.feedback.invalidToolErrors.push({
52
+ tool_name: action.tool_name,
53
+ arguments: action.arguments,
54
+ });
51
55
  result = {
52
56
  status: 'FAILURE',
53
57
  summary: `Tool '${action.tool_name}' is not a valid tool.`,
@@ -123,6 +127,10 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
123
127
  catch (error) {
124
128
  this.logger.error(`Post-execution hook ${hook.constructor.name} failed: ${error.message}`, error.stack);
125
129
  }
130
+ if (executionContext.flags.should_halt_hooks) {
131
+ this.logger.log(`Hook chain halted by ${hook.constructor.name}. Skipping subsequent hooks.`);
132
+ break;
133
+ }
126
134
  }
127
135
  this.logger.log(`Orchestration finished for input ${sessionInput.id}.`);
128
136
  return this.sessionInputsRepository.save(sessionInput);
@@ -1 +1 @@
1
- {"version":3,"file":"llm-turn-processor.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-turn-processor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-turn-processor.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-turn-processor.service.ts"],"names":[],"mappings":"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"}