repoburg 1.3.69 → 1.3.71

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 (98) hide show
  1. package/backend/.env +2 -2
  2. package/backend/.eslintrc.js +5 -0
  3. package/backend/dist/src/application-state/application-state.controller.d.ts +5 -0
  4. package/backend/dist/src/application-state/application-state.controller.js +22 -0
  5. package/backend/dist/src/application-state/application-state.controller.js.map +1 -1
  6. package/backend/dist/src/application-state/application-state.service.d.ts +2 -0
  7. package/backend/dist/src/application-state/application-state.service.js +11 -0
  8. package/backend/dist/src/application-state/application-state.service.js.map +1 -1
  9. package/backend/dist/src/application-state/dto/set-history-compression-enabled.dto.d.ts +3 -0
  10. package/backend/dist/src/application-state/dto/set-history-compression-enabled.dto.js +21 -0
  11. package/backend/dist/src/application-state/dto/set-history-compression-enabled.dto.js.map +1 -0
  12. package/backend/dist/src/core-entities/ai-action.entity.d.ts +1 -0
  13. package/backend/dist/src/core-entities/ai-action.entity.js +4 -0
  14. package/backend/dist/src/core-entities/ai-action.entity.js.map +1 -1
  15. package/backend/dist/src/interactive-chat/chat.module.js +2 -1
  16. package/backend/dist/src/interactive-chat/chat.module.js.map +1 -1
  17. package/backend/dist/src/interactive-chat/chat.service.d.ts +5 -1
  18. package/backend/dist/src/interactive-chat/chat.service.js +42 -4
  19. package/backend/dist/src/interactive-chat/chat.service.js.map +1 -1
  20. package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.d.ts +1 -1
  21. package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js +14 -11
  22. package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js.map +1 -1
  23. package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.d.ts +1 -1
  24. package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js +15 -10
  25. package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js.map +1 -1
  26. package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js +15 -2
  27. package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js.map +1 -1
  28. package/backend/dist/src/llm-orchestration/action-handlers/execute-code.handler.js +8 -3
  29. package/backend/dist/src/llm-orchestration/action-handlers/execute-code.handler.js.map +1 -1
  30. package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js +8 -2
  31. package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js.map +1 -1
  32. package/backend/dist/src/llm-orchestration/action-handlers/get-session-history.handler.js +0 -5
  33. package/backend/dist/src/llm-orchestration/action-handlers/get-session-history.handler.js.map +1 -1
  34. package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js +41 -16
  35. package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js.map +1 -1
  36. package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.d.ts +1 -1
  37. package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.js +1 -7
  38. package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.js.map +1 -1
  39. package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.d.ts +2 -2
  40. package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js +10 -10
  41. package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js.map +1 -1
  42. package/backend/dist/src/llm-orchestration/action-handlers/overwrite-file.handler.d.ts +1 -1
  43. package/backend/dist/src/llm-orchestration/action-handlers/overwrite-file.handler.js +13 -7
  44. package/backend/dist/src/llm-orchestration/action-handlers/overwrite-file.handler.js.map +1 -1
  45. package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.d.ts +1 -1
  46. package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js +19 -15
  47. package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js.map +1 -1
  48. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.d.ts +1 -1
  49. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +16 -19
  50. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -1
  51. package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.d.ts +8 -2
  52. package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js +75 -17
  53. package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js.map +1 -1
  54. package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.d.ts +4 -1
  55. package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js +34 -10
  56. package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js.map +1 -1
  57. package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.d.ts +1 -1
  58. package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js +8 -7
  59. package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js.map +1 -1
  60. package/backend/dist/src/llm-orchestration/action-handlers/write-todo.handler.js +11 -2
  61. package/backend/dist/src/llm-orchestration/action-handlers/write-todo.handler.js.map +1 -1
  62. package/backend/dist/src/llm-orchestration/history-compression.service.d.ts +12 -0
  63. package/backend/dist/src/llm-orchestration/history-compression.service.js +128 -0
  64. package/backend/dist/src/llm-orchestration/history-compression.service.js.map +1 -0
  65. package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.d.ts +1 -16
  66. package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js +14 -155
  67. package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js.map +1 -1
  68. package/backend/dist/src/llm-orchestration/hooks/invalid-tool-feedback.hook.js +14 -0
  69. package/backend/dist/src/llm-orchestration/hooks/invalid-tool-feedback.hook.js.map +1 -1
  70. package/backend/dist/src/llm-orchestration/hooks/yolo-mode-post-execution.hook.js +4 -2
  71. package/backend/dist/src/llm-orchestration/hooks/yolo-mode-post-execution.hook.js.map +1 -1
  72. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.d.ts +0 -28
  73. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js +0 -11
  74. package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js.map +1 -1
  75. package/backend/dist/src/llm-orchestration/llm-orchestration.module.js +5 -0
  76. package/backend/dist/src/llm-orchestration/llm-orchestration.module.js.map +1 -1
  77. package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js +20 -25
  78. package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js.map +1 -1
  79. package/backend/dist/src/llm-provider/alibaba-llm.provider.js +17 -8
  80. package/backend/dist/src/llm-provider/alibaba-llm.provider.js.map +1 -1
  81. package/backend/dist/src/llm-provider/llm-provider.interface.d.ts +1 -1
  82. package/backend/dist/src/llm-provider/openrouter-llm.provider.js +7 -0
  83. package/backend/dist/src/llm-provider/openrouter-llm.provider.js.map +1 -1
  84. package/backend/dist/src/llm-provider/zai-llm.provider.js +7 -0
  85. package/backend/dist/src/llm-provider/zai-llm.provider.js.map +1 -1
  86. package/backend/dist/src/seeding/data/tool-hooks/eslint-hook.d.ts +1 -1
  87. package/backend/dist/src/seeding/data/tool-hooks/eslint-hook.js +23 -10
  88. package/backend/dist/src/seeding/data/tool-hooks/eslint-hook.js.map +1 -1
  89. package/backend/dist/src/session-inputs/dto/session-input.dto.d.ts +1 -0
  90. package/backend/dist/src/session-inputs/dto/session-input.dto.js +5 -0
  91. package/backend/dist/src/session-inputs/dto/session-input.dto.js.map +1 -1
  92. package/backend/dist/src/session-inputs/session-inputs.service.d.ts +1 -1
  93. package/backend/dist/src/session-inputs/session-inputs.service.js +10 -0
  94. package/backend/dist/src/session-inputs/session-inputs.service.js.map +1 -1
  95. package/backend/dist/src/tool-hooks/tool-hooks.service.js +0 -5
  96. package/backend/dist/src/tool-hooks/tool-hooks.service.js.map +1 -1
  97. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  98. package/package.json +1 -1
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
+ };
8
11
  var RunCommandHandler_1;
9
12
  Object.defineProperty(exports, "__esModule", { value: true });
10
13
  exports.RunCommandHandler = void 0;
@@ -14,13 +17,15 @@ const util_1 = require("util");
14
17
  const run_command_args_dto_1 = require("./dto/run-command.args.dto");
15
18
  const class_transformer_1 = require("class-transformer");
16
19
  const class_validator_1 = require("class-validator");
17
- const handler_validation_error_1 = require("../errors/handler-validation.error");
18
20
  const utils_1 = require("../../utils");
19
21
  const fs = require("fs/promises");
20
22
  const path = require("path");
23
+ const application_state_service_1 = require("../../application-state/application-state.service");
24
+ const gpt_tokenizer_1 = require("gpt-tokenizer");
21
25
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
22
26
  let RunCommandHandler = RunCommandHandler_1 = class RunCommandHandler {
23
- constructor() {
27
+ constructor(applicationStateService) {
28
+ this.applicationStateService = applicationStateService;
24
29
  this.toolName = 'run_command';
25
30
  this.logger = new common_1.Logger(RunCommandHandler_1.name);
26
31
  this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
@@ -86,14 +91,20 @@ let RunCommandHandler = RunCommandHandler_1 = class RunCommandHandler {
86
91
  `;
87
92
  return `\n${definition.trim()}\n`;
88
93
  }
89
- async execute(args, context) {
94
+ async execute(args, _context) {
90
95
  const validatedArgs = (0, class_transformer_1.plainToClass)(run_command_args_dto_1.RunCommandArgsDto, args);
91
96
  const errors = await (0, class_validator_1.validate)(validatedArgs);
92
97
  if (errors.length > 0) {
93
98
  const errorMessages = errors
94
99
  .map((err) => Object.values(err.constraints || {}).join(', '))
95
100
  .join('; ');
96
- throw new handler_validation_error_1.HandlerValidationError(errorMessages);
101
+ return {
102
+ status: 'FAILURE',
103
+ summary: `Invalid arguments for ${this.toolName}.`,
104
+ error_message: errorMessages,
105
+ persisted_args: args,
106
+ execution_log: { output: '', error_message: errorMessages },
107
+ };
97
108
  }
98
109
  const { command_string } = validatedArgs;
99
110
  let unifiedOutput;
@@ -131,21 +142,34 @@ ${command_string}
131
142
  .unlink(scriptPath)
132
143
  .catch((err) => this.logger.warn(`Failed to cleanup temp file ${scriptPath}: ${err.message}`));
133
144
  }
134
- context.outputs.commands.push({
135
- command: command_string,
136
- output: unifiedOutput,
137
- });
145
+ const tokenCount = (0, gpt_tokenizer_1.countTokens)(unifiedOutput);
146
+ const tokenLimit = await this.applicationStateService.getFollowupTokenLimit();
147
+ if (tokenCount > tokenLimit) {
148
+ const ratio = tokenLimit / tokenCount;
149
+ const truncatedLength = Math.floor(unifiedOutput.length * ratio);
150
+ const truncatedOutput = unifiedOutput.slice(0, truncatedLength);
151
+ const truncationWarning = `\n\n[OUTPUT TRUNCATED: ${tokenCount} tokens exceeds limit of ${tokenLimit}. Consider redirecting large outputs to a file and using request_context to read it.]`;
152
+ unifiedOutput = truncatedOutput + truncationWarning;
153
+ errorMessage =
154
+ (errorMessage || '') +
155
+ `Output truncated due to size limit (${tokenCount} > ${tokenLimit} tokens).`;
156
+ this.logger.warn(`Command output truncated: ${tokenCount} tokens exceeds limit of ${tokenLimit}`);
157
+ }
138
158
  return {
139
159
  status,
140
160
  summary: `${summary} Output captured.`,
141
161
  persisted_args: { command_string },
142
162
  error_message: errorMessage,
143
- execution_log: { output: unifiedOutput, error_message: errorMessage },
163
+ execution_log: {
164
+ output: unifiedOutput,
165
+ error_message: errorMessage || '',
166
+ },
144
167
  };
145
168
  }
146
169
  };
147
170
  exports.RunCommandHandler = RunCommandHandler;
148
171
  exports.RunCommandHandler = RunCommandHandler = RunCommandHandler_1 = __decorate([
149
- (0, common_1.Injectable)()
172
+ (0, common_1.Injectable)(),
173
+ __metadata("design:paramtypes", [application_state_service_1.ApplicationStateService])
150
174
  ], RunCommandHandler);
151
175
  //# sourceMappingURL=run-command.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/run-command.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/run-command.handler.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,5 @@ export declare class UseMcpToolHandler implements ActionHandler {
11
11
  getDefinition(useJsonFormat?: boolean): string;
12
12
  execute(args: {
13
13
  [key: string]: any;
14
- }, context: PlanExecutionContext): Promise<ActionExecutionResult>;
14
+ }, _context: PlanExecutionContext): Promise<ActionExecutionResult>;
15
15
  }
@@ -16,7 +16,6 @@ const mcp_service_1 = require("../../mcp/mcp.service");
16
16
  const use_mcp_tool_args_dto_1 = require("./dto/use-mcp-tool.args.dto");
17
17
  const class_transformer_1 = require("class-transformer");
18
18
  const class_validator_1 = require("class-validator");
19
- const handler_validation_error_1 = require("../errors/handler-validation.error");
20
19
  const utils_1 = require("../../utils");
21
20
  let UseMcpToolHandler = UseMcpToolHandler_1 = class UseMcpToolHandler {
22
21
  constructor(mcpService) {
@@ -83,22 +82,24 @@ let UseMcpToolHandler = UseMcpToolHandler_1 = class UseMcpToolHandler {
83
82
  `;
84
83
  return definition.trim();
85
84
  }
86
- async execute(args, context) {
85
+ async execute(args, _context) {
87
86
  const validatedArgs = (0, class_transformer_1.plainToClass)(use_mcp_tool_args_dto_1.UseMcpToolArgsDto, args);
88
87
  const errors = await (0, class_validator_1.validate)(validatedArgs);
89
88
  if (errors.length > 0) {
90
89
  const errorMessages = errors
91
90
  .map((err) => Object.values(err.constraints || {}).join(', '))
92
91
  .join('; ');
93
- throw new handler_validation_error_1.HandlerValidationError(errorMessages);
92
+ return {
93
+ status: 'FAILURE',
94
+ summary: `Invalid arguments for ${this.toolName}.`,
95
+ error_message: errorMessages,
96
+ persisted_args: args,
97
+ execution_log: { output: '', error_message: errorMessages },
98
+ };
94
99
  }
95
100
  const { server_name, mcp_tool_name, arguments: tool_args } = validatedArgs;
96
101
  const { stdout, stderr } = await this.mcpService.executeMcpTool(server_name, mcp_tool_name, tool_args);
97
102
  const unifiedOutput = stdout || stderr || '(Tool produced no output)';
98
- context.outputs.mcp_tools.push({
99
- tool_name: `${server_name}.${mcp_tool_name}`,
100
- output: unifiedOutput,
101
- });
102
103
  return {
103
104
  status: 'SUCCESS',
104
105
  summary: `MCP tool "${server_name}.${mcp_tool_name}" executed. Output captured.`,
@@ -1 +1 @@
1
- {"version":3,"file":"use-mcp-tool.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/use-mcp-tool.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-mcp-tool.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/use-mcp-tool.handler.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ const fs = require("fs/promises");
13
13
  const path = require("path");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
- const handler_validation_error_1 = require("../errors/handler-validation.error");
17
16
  const write_todo_args_dto_1 = require("./dto/write-todo.args.dto");
18
17
  const utils_1 = require("../../utils");
19
18
  let WriteTodoHandler = WriteTodoHandler_1 = class WriteTodoHandler {
@@ -111,7 +110,13 @@ let WriteTodoHandler = WriteTodoHandler_1 = class WriteTodoHandler {
111
110
  const errorMessages = errors
112
111
  .map((err) => Object.values(err.constraints || {}).join(', '))
113
112
  .join('; ');
114
- throw new handler_validation_error_1.HandlerValidationError(errorMessages);
113
+ return {
114
+ status: 'FAILURE',
115
+ summary: `Invalid arguments for ${this.toolName}.`,
116
+ error_message: errorMessages,
117
+ persisted_args: args,
118
+ execution_log: { output: '', error_message: errorMessages },
119
+ };
115
120
  }
116
121
  const { file_path, content } = validatedArgs;
117
122
  const safePath = this.resolveAndValidatePath(file_path);
@@ -124,6 +129,10 @@ let WriteTodoHandler = WriteTodoHandler_1 = class WriteTodoHandler {
124
129
  summary: `TODO file "${file_path}" updated.`,
125
130
  persisted_args: { file_path, content },
126
131
  original_content_for_revert: originalContent,
132
+ execution_log: {
133
+ output: `${file_path} has been updated.`,
134
+ error_message: '',
135
+ },
127
136
  };
128
137
  }
129
138
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"write-todo.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/write-todo.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-todo.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/write-todo.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAQ3C,mEAA6D;AAC7D,uCAAqE;AAG9D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAAtB;QACI,aAAQ,GAAG,YAAY,CAAC;QAChB,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,gBAAW,GAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IA0JvD,CAAC;IAxJC,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACrC,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4EAA4E;oBAC9E,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;oBACtD,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAQO,eAAe,CACrB,QAA6B,EAC7B,UAAmB,KAAK;QAExB,OAAO,OAAO;YACZ,CAAC,CAAC,IAAA,4BAAoB,EAAC,QAAQ,CAAC;YAChC,CAAC,CAAC,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,gBAAyB,KAAK;QAC1C,MAAM,cAAc,GAAG;;;;;;;;KAQtB,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAClC;YACE,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,SAAS,EAAE,kCAAkC;YAC7C,OAAO,EAAE,cAAc;SACxB,EACD,aAAa,CACd,CAAC;QAEF,MAAM,UAAU,GAAG;mBACJ,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;GAc7B,OAAO;;CAET,CAAC;QACE,OAAO,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;IACpC,CAAC;IAEO,sBAAsB,CAAC,UAAkB;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,mCAAmC,UAAU,EAAE,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,4BAAmB,CAC3B,kCAAkC,UAAU,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAgB;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAE5B,QAA8B;QAE9B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,sCAAgB,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM;iBACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,yBAAyB,IAAI,CAAC,QAAQ,GAAG;gBAClD,aAAa,EAAE,aAAa;gBAC5B,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;aAC5D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,cAAc,SAAS,YAAY;gBAC5C,cAAc,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;gBACtC,2BAA2B,EAAE,eAAe;gBAC5C,aAAa,EAAE;oBACb,MAAM,EAAE,GAAG,SAAS,oBAAoB;oBACxC,aAAa,EAAE,EAAE;iBAClB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gCAAgC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAC9D,CAAC;YACF,MAAM,IAAI,qCAA4B,CACpC,8BAA8B,SAAS,MAAM,KAAK,CAAC,OAAO,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA9JY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CA8J5B"}
@@ -0,0 +1,12 @@
1
+ import { LlmContent } from '../llm-provider/llm-provider.interface';
2
+ import { ApplicationStateService } from '../application-state/application-state.service';
3
+ export declare class HistoryCompressionService {
4
+ private readonly applicationStateService;
5
+ private readonly logger;
6
+ private readonly FILE_MARKER_REGEX;
7
+ constructor(applicationStateService: ApplicationStateService);
8
+ compress(history: LlmContent[]): Promise<LlmContent[]>;
9
+ private extractFilePaths;
10
+ private normalizePath;
11
+ private redactToolResult;
12
+ }
@@ -0,0 +1,128 @@
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 HistoryCompressionService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.HistoryCompressionService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const application_state_service_1 = require("../application-state/application-state.service");
16
+ let HistoryCompressionService = HistoryCompressionService_1 = class HistoryCompressionService {
17
+ constructor(applicationStateService) {
18
+ this.applicationStateService = applicationStateService;
19
+ this.logger = new common_1.Logger(HistoryCompressionService_1.name);
20
+ this.FILE_MARKER_REGEX = /\/\/ File: (\.?[^\n]+)/g;
21
+ }
22
+ async compress(history) {
23
+ const enabled = await this.applicationStateService.getHistoryCompressionEnabled();
24
+ if (!enabled) {
25
+ this.logger.debug('History compression is disabled');
26
+ return history;
27
+ }
28
+ if (history.length === 0) {
29
+ return history;
30
+ }
31
+ const toolCallToIndex = new Map();
32
+ const toolResultIndices = [];
33
+ for (let i = 0; i < history.length; i++) {
34
+ const turn = history[i];
35
+ if (turn.role === 'model' && turn.tool_calls) {
36
+ for (const tc of turn.tool_calls) {
37
+ if (tc.function?.name === 'request_context') {
38
+ toolCallToIndex.set(tc.id, i);
39
+ }
40
+ }
41
+ }
42
+ if (turn.role === 'tool' && turn.tool_call_id) {
43
+ toolResultIndices.push(i);
44
+ }
45
+ }
46
+ const fileToLatestIndex = new Map();
47
+ for (let i = history.length - 1; i >= 0; i--) {
48
+ const turn = history[i];
49
+ if (turn.role !== 'tool' || !turn.tool_call_id)
50
+ continue;
51
+ const modelTurnIndex = toolCallToIndex.get(turn.tool_call_id);
52
+ if (modelTurnIndex === undefined)
53
+ continue;
54
+ const text = turn.parts.map((p) => p.text).join('');
55
+ const filePaths = this.extractFilePaths(text);
56
+ for (const filePath of filePaths) {
57
+ const normalized = this.normalizePath(filePath);
58
+ if (!fileToLatestIndex.has(normalized)) {
59
+ fileToLatestIndex.set(normalized, i);
60
+ }
61
+ }
62
+ }
63
+ if (fileToLatestIndex.size === 0) {
64
+ return history;
65
+ }
66
+ const result = history.map((turn, index) => {
67
+ if (turn.role !== 'tool' || !turn.tool_call_id) {
68
+ return turn;
69
+ }
70
+ const modelTurnIndex = toolCallToIndex.get(turn.tool_call_id);
71
+ if (modelTurnIndex === undefined) {
72
+ return turn;
73
+ }
74
+ const text = turn.parts.map((p) => p.text).join('');
75
+ const filePaths = this.extractFilePaths(text);
76
+ if (filePaths.length === 0) {
77
+ return turn;
78
+ }
79
+ const filesToRedact = [];
80
+ for (const filePath of filePaths) {
81
+ const normalized = this.normalizePath(filePath);
82
+ const latestIndex = fileToLatestIndex.get(normalized);
83
+ if (latestIndex !== undefined && latestIndex > index) {
84
+ filesToRedact.push(filePath);
85
+ }
86
+ }
87
+ if (filesToRedact.length === 0) {
88
+ return turn;
89
+ }
90
+ return this.redactToolResult(turn, filesToRedact);
91
+ });
92
+ const redactedCount = result.filter((t, i) => t !== history[i] && t.role === 'tool').length;
93
+ if (redactedCount > 0) {
94
+ this.logger.log(`Compressed history: redacted ${redactedCount} older request_context result(s)`);
95
+ }
96
+ return result;
97
+ }
98
+ extractFilePaths(text) {
99
+ const paths = [];
100
+ let match;
101
+ this.FILE_MARKER_REGEX.lastIndex = 0;
102
+ while ((match = this.FILE_MARKER_REGEX.exec(text)) !== null) {
103
+ paths.push(match[1]);
104
+ }
105
+ return paths;
106
+ }
107
+ normalizePath(path) {
108
+ let normalized = path.replace(/^\.?\/*/, '');
109
+ normalized = normalized.replace(/\/+$/, '');
110
+ return normalized;
111
+ }
112
+ redactToolResult(turn, filesToRedact) {
113
+ const fileList = filesToRedact.length === 1
114
+ ? filesToRedact[0]
115
+ : `${filesToRedact.length} files`;
116
+ const redactionMessage = `[Content for ${fileList} redacted - see newer request_context]`;
117
+ return {
118
+ ...turn,
119
+ parts: [{ text: redactionMessage }],
120
+ };
121
+ }
122
+ };
123
+ exports.HistoryCompressionService = HistoryCompressionService;
124
+ exports.HistoryCompressionService = HistoryCompressionService = HistoryCompressionService_1 = __decorate([
125
+ (0, common_1.Injectable)(),
126
+ __metadata("design:paramtypes", [application_state_service_1.ApplicationStateService])
127
+ ], HistoryCompressionService);
128
+ //# sourceMappingURL=history-compression.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-compression.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/history-compression.service.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,10 @@
1
1
  import { PostExecutionHook } from './post-execution-hook.interface';
2
2
  import { PlanExecutionContext } from '../llm-orchestration.interfaces';
3
3
  import { SessionInput } from '../../core-entities';
4
- import { ChatService } from '../../interactive-chat/chat.service';
5
4
  import { SessionInputsService } from '../../session-inputs/session-inputs.service';
6
- import { EventsGateway } from '../../events/events.gateway';
7
- import { SystemPromptsService } from '../../system-prompts/system-prompts.service';
8
- import { SessionsService } from '../../sessions/sessions.service';
9
- import { ApplicationStateService } from '../../application-state/application-state.service';
10
5
  export declare class FollowUpPostExecutionHook implements PostExecutionHook {
11
- private readonly chatService;
12
6
  private readonly sessionInputsService;
13
- private readonly eventsGateway;
14
- private readonly systemPromptsService;
15
- private readonly sessionsService;
16
- private readonly applicationStateService;
17
7
  private readonly logger;
18
- constructor(chatService: ChatService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, systemPromptsService: SystemPromptsService, sessionsService: SessionsService, applicationStateService: ApplicationStateService);
8
+ constructor(sessionInputsService: SessionInputsService);
19
9
  run(sessionInput: SessionInput, context: PlanExecutionContext): Promise<void>;
20
- private handleValidationFeedback;
21
- private handleHaltedPlan;
22
- private handleAutoContextFetch;
23
- private handleNewSession;
24
- private handleCommandOutputs;
25
10
  }
@@ -15,21 +15,10 @@ var FollowUpPostExecutionHook_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.FollowUpPostExecutionHook = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
- const gpt_tokenizer_1 = require("gpt-tokenizer");
19
- const chat_service_1 = require("../../interactive-chat/chat.service");
20
18
  const session_inputs_service_1 = require("../../session-inputs/session-inputs.service");
21
- const events_gateway_1 = require("../../events/events.gateway");
22
- const system_prompts_service_1 = require("../../system-prompts/system-prompts.service");
23
- const sessions_service_1 = require("../../sessions/sessions.service");
24
- const application_state_service_1 = require("../../application-state/application-state.service");
25
19
  let FollowUpPostExecutionHook = FollowUpPostExecutionHook_1 = class FollowUpPostExecutionHook {
26
- constructor(chatService, sessionInputsService, eventsGateway, systemPromptsService, sessionsService, applicationStateService) {
27
- this.chatService = chatService;
20
+ constructor(sessionInputsService) {
28
21
  this.sessionInputsService = sessionInputsService;
29
- this.eventsGateway = eventsGateway;
30
- this.systemPromptsService = systemPromptsService;
31
- this.sessionsService = sessionsService;
32
- this.applicationStateService = applicationStateService;
33
22
  this.logger = new common_1.Logger(FollowUpPostExecutionHook_1.name);
34
23
  }
35
24
  async run(sessionInput, context) {
@@ -37,159 +26,29 @@ let FollowUpPostExecutionHook = FollowUpPostExecutionHook_1 = class FollowUpPost
37
26
  this.logger.log('Follow-up hook skipped because hook chain was halted.');
38
27
  return;
39
28
  }
40
- if (context.feedback.validationErrors.length > 0) {
41
- await this.handleValidationFeedback(sessionInput, context);
42
- context.flags.follow_up_initiated = true;
43
- return;
44
- }
45
- if (context.flags.should_halt && context.followUpAction) {
46
- await this.handleHaltedPlan(sessionInput, context);
47
- context.flags.follow_up_initiated = true;
48
- return;
49
- }
50
- if (context.outputs.commands.length > 0 ||
51
- context.outputs.mcp_tools.length > 0 ||
52
- context.outputs.sub_agents.length > 0 ||
53
- context.outputs.session_history.length > 0) {
54
- await this.handleCommandOutputs(sessionInput, context);
55
- context.flags.follow_up_initiated = true;
29
+ if (context.flags.is_final) {
30
+ this.logger.log('Plan marked as final. No follow-up will be initiated.');
56
31
  return;
57
32
  }
58
- this.logger.log('No follow-up action needed for this plan.');
59
- }
60
- async handleValidationFeedback(sessionInput, context) {
61
- const validationErrors = context.feedback.validationErrors;
62
- let feedbackMessage = `The plan could not be executed due to the following validation errors. Please correct your tool usage and regenerate the plan.\n\n`;
63
- for (const err of validationErrors) {
64
- feedbackMessage += `- Tool: \`${err.tool_name}\`\n - Error: ${err.error}\n`;
65
- }
66
- const tokenCount = (0, gpt_tokenizer_1.countTokens)(feedbackMessage);
67
- const followupLimit = await this.applicationStateService.getFollowupTokenLimit();
68
- if (tokenCount > followupLimit) {
69
- this.logger.warn(`Validation feedback exceeds token limit (${tokenCount} > ${followupLimit}). Replacing with error message.`);
70
- feedbackMessage = `The plan had multiple validation errors. Please retry with simpler tool usage.`;
71
- }
72
- this.logger.log('Triggering self-correction AI call due to validation errors.');
73
- const feedbackDto = {
74
- user_prompt: feedbackMessage,
75
- execution_strategy: sessionInput.execution_strategy,
76
- ad_hoc_context_definition: undefined,
77
- context_template_id: undefined,
78
- };
79
- await this.sessionInputsService.create(sessionInput.session_id, feedbackDto);
80
- }
81
- async handleHaltedPlan(sessionInput, context) {
82
- this.logger.log(`Handling halted plan with follow-up action: ${context.followUpAction.type}`);
83
- switch (context.followUpAction.type) {
84
- case 'AUTO_CONTEXT_FETCH':
85
- await this.handleAutoContextFetch(sessionInput, context.followUpAction.data);
86
- break;
87
- case 'NEW_SESSION':
88
- await this.handleNewSession(context.followUpAction.data);
89
- break;
90
- default:
91
- this.logger.warn(`Unknown follow-up action type: ${context.followUpAction.type}`);
92
- }
93
- }
94
- async handleAutoContextFetch(originalInput, data) {
95
- const session = await this.sessionsService.findOne(originalInput.session_id);
96
- const newDto = {
97
- user_prompt: '',
98
- execution_strategy: originalInput.execution_strategy,
99
- ad_hoc_context_definition: JSON.stringify(data),
100
- context_template_id: session.default_followup_context_template_id,
101
- };
102
- const generatedContext = await this.sessionInputsService.generateContextString(originalInput.session_id, newDto);
103
- const tokenCount = (0, gpt_tokenizer_1.countTokens)(generatedContext);
104
- const followupLimit = await this.applicationStateService.getFollowupTokenLimit();
105
- if (tokenCount > followupLimit) {
106
- this.logger.warn(`Auto context fetch exceeds token limit (${tokenCount} > ${followupLimit}). Sending feedback to AI.`);
107
- const feedbackDto = {
108
- user_prompt: `The context you requested is too large (${tokenCount} tokens, limit is ${followupLimit}). Please request a smaller context by specifying fewer files or folders, or ask the user to break this task into smaller steps.`,
109
- execution_strategy: originalInput.execution_strategy,
33
+ if (context.toolResults.length > 0) {
34
+ this.logger.log(`Triggering follow-up with ${context.toolResults.length} tool result(s)`);
35
+ await this.sessionInputsService.create(sessionInput.session_id, {
36
+ user_prompt: '',
37
+ execution_strategy: sessionInput.execution_strategy,
38
+ skip_persistence: true,
110
39
  ad_hoc_context_definition: undefined,
111
40
  context_template_id: undefined,
112
- };
113
- await this.sessionInputsService.create(originalInput.session_id, feedbackDto);
114
- return;
115
- }
116
- this.logger.log(`Auto Context Fetch is re-submitting for session ${originalInput.session_id}. Generated context: ${tokenCount} tokens.`);
117
- await this.sessionInputsService.create(originalInput.session_id, newDto);
118
- }
119
- async handleNewSession(data) {
120
- this.eventsGateway.sendToAll('external-new-session', {});
121
- const defaultSystemPrompt = await this.systemPromptsService.findDefault();
122
- if (defaultSystemPrompt?.prompt_content) {
123
- await new Promise((resolve) => setTimeout(resolve, 1000));
124
- this.eventsGateway.sendToAll('system-prompt-update', {
125
- systemPrompt: defaultSystemPrompt.prompt_content,
126
41
  });
42
+ context.flags.follow_up_initiated = true;
43
+ return;
127
44
  }
128
- const newSession = await this.sessionsService.create({
129
- session_title: 'Handover Session',
130
- });
131
- if (data.handover_string) {
132
- const executionStrategy = await this.applicationStateService.getExecutionStrategy();
133
- await new Promise((resolve) => setTimeout(resolve, 1000));
134
- this.sessionInputsService
135
- .create(newSession.id, {
136
- user_prompt: data.handover_string,
137
- execution_strategy: executionStrategy,
138
- context_template_id: newSession.default_initial_context_template_id,
139
- })
140
- .catch((err) => {
141
- this.logger.error(`Error creating initial session input from handover: ${err.message}`, err.stack);
142
- });
143
- }
144
- await new Promise((resolve) => setTimeout(resolve, 1000));
145
- this.eventsGateway.sendToAll('session-created', {
146
- sessionId: newSession.id,
147
- });
148
- }
149
- async handleCommandOutputs(sessionInput, context) {
150
- let followUpMessage = 'The previous plan produced the following outputs. Please analyze them and continue with the next logical step.\n\n';
151
- for (const cmd of context.outputs.commands) {
152
- followUpMessage += `--- Output from: \`run_command\` ---\n`;
153
- followUpMessage += `Command: ${cmd.command}\nOutput:\n${cmd.output}\n\n`;
154
- }
155
- for (const tool of context.outputs.mcp_tools) {
156
- followUpMessage += `--- Output from: \`use_mcp_tool\` ---\n`;
157
- followUpMessage += `Tool: ${tool.tool_name}\nOutput:\n${tool.output}\n\n`;
158
- }
159
- for (const agent of context.outputs.sub_agents) {
160
- followUpMessage += `--- Available Sub-Agent: ${agent.agent_name} ---\n`;
161
- followUpMessage += `${agent.output}\n\n`;
162
- }
163
- for (const history of context.outputs.session_history) {
164
- followUpMessage += `--- Output from: \`get_session_history\` ---\n`;
165
- followUpMessage += `Session ID: ${history.session_id}\nEntry Count: ${history.entry_count}\nOutput:\n${history.output}\n\n`;
166
- }
167
- const tokenCount = (0, gpt_tokenizer_1.countTokens)(followUpMessage);
168
- const followupLimit = await this.applicationStateService.getFollowupTokenLimit();
169
- if (tokenCount > followupLimit) {
170
- this.logger.warn(`Follow-up message exceeds token limit (${tokenCount} > ${followupLimit}). Replacing with error message.`);
171
- followUpMessage = `The previous plan produced very large outputs (${tokenCount} tokens, limit is ${followupLimit}). Please ask the user to request smaller outputs or split the task into smaller steps.`;
172
- }
173
- this.logger.log('Triggering follow-up AI call with consolidated outputs.');
174
- const feedbackDto = {
175
- user_prompt: followUpMessage,
176
- execution_strategy: sessionInput.execution_strategy,
177
- ad_hoc_context_definition: undefined,
178
- context_template_id: undefined,
179
- };
180
- await this.sessionInputsService.create(sessionInput.session_id, feedbackDto);
45
+ this.logger.log('No tool results - no follow-up needed.');
181
46
  }
182
47
  };
183
48
  exports.FollowUpPostExecutionHook = FollowUpPostExecutionHook;
184
49
  exports.FollowUpPostExecutionHook = FollowUpPostExecutionHook = FollowUpPostExecutionHook_1 = __decorate([
185
50
  (0, common_1.Injectable)(),
186
- __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => chat_service_1.ChatService))),
187
- __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => session_inputs_service_1.SessionInputsService))),
188
- __metadata("design:paramtypes", [chat_service_1.ChatService,
189
- session_inputs_service_1.SessionInputsService,
190
- events_gateway_1.EventsGateway,
191
- system_prompts_service_1.SystemPromptsService,
192
- sessions_service_1.SessionsService,
193
- application_state_service_1.ApplicationStateService])
51
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => session_inputs_service_1.SessionInputsService))),
52
+ __metadata("design:paramtypes", [session_inputs_service_1.SessionInputsService])
194
53
  ], FollowUpPostExecutionHook);
195
54
  //# sourceMappingURL=follow-up-post-execution.hook.js.map
@@ -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":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AAIxE,wFAAmF;AAG5E,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAGpC,YAEE,oBAA2D;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAJ5C,WAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAKlE,CAAC;IAEJ,KAAK,CAAC,GAAG,CACP,YAA0B,EAC1B,OAA6B;QAG7B,IAAI,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAGD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6BAA6B,OAAO,CAAC,WAAW,CAAC,MAAM,iBAAiB,CACzE,CAAC;YAEF,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE;gBAC9D,WAAW,EAAE,EAAE;gBACf,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;gBACnD,gBAAgB,EAAE,IAAI;gBACtB,yBAAyB,EAAE,SAAS;gBACpC,mBAAmB,EAAE,SAAS;aAC/B,CAAC,CAAC;YAEH,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA3CY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;qCACR,6CAAoB;GALlD,yBAAyB,CA2CrC"}