repoburg 1.3.26 → 1.3.27

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.
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.InteractiveChatModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const chat_service_1 = require("./chat.service");
12
+ const streaming_controller_1 = require("./streaming.controller");
12
13
  const llm_provider_module_1 = require("../llm-provider/llm-provider.module");
13
14
  const events_module_1 = require("../events/events.module");
14
15
  const llm_responses_module_1 = require("../llm-responses/llm-responses.module");
@@ -30,6 +31,7 @@ exports.InteractiveChatModule = InteractiveChatModule = __decorate([
30
31
  (0, common_1.forwardRef)(() => sessions_module_1.SessionsModule),
31
32
  (0, common_1.forwardRef)(() => system_prompts_module_1.SystemPromptsModule),
32
33
  ],
34
+ controllers: [streaming_controller_1.StreamingController],
33
35
  providers: [chat_service_1.ChatService],
34
36
  exports: [chat_service_1.ChatService, InteractiveChatModule],
35
37
  })
@@ -1 +1 @@
1
- {"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,iDAA6C;AAC7C,6EAAwE;AACxE,2DAAuD;AACvD,gFAA2E;AAC3E,4FAAuF;AACvF,0EAAqE;AACrE,iEAA6D;AAC7D,mFAA8E;AAevE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAbjC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,uCAAiB,CAAC;YACnC,4BAAY;YACZ,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,iDAAsB;YACtB,qCAAgB;YAChB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;SACtC;QACD,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,EAAE,qBAAqB,CAAC;KAC9C,CAAC;GACW,qBAAqB,CAAG"}
1
+ {"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,iDAA6C;AAC7C,iEAA6D;AAC7D,6EAAwE;AACxE,2DAAuD;AACvD,gFAA2E;AAC3E,4FAAuF;AACvF,0EAAqE;AACrE,iEAA6D;AAC7D,mFAA8E;AAgBvE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAdjC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,uCAAiB,CAAC;YACnC,4BAAY;YACZ,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,iDAAsB;YACtB,qCAAgB;YAChB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;SACtC;QACD,WAAW,EAAE,CAAC,0CAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,EAAE,qBAAqB,CAAC;KAC9C,CAAC;GACW,qBAAqB,CAAG"}
@@ -22,4 +22,5 @@ export declare class ChatService {
22
22
  setSystemInstruction(sessionId: string, instruction: string | null): void;
23
23
  loadHistory(sessionId: string, history: LlmContent[]): void;
24
24
  sendMessage(sessionId: string, message: string, isManual: boolean): Promise<void>;
25
+ abortStreaming(sessionId: string): boolean;
25
26
  }
@@ -94,6 +94,8 @@ let ChatService = ChatService_1 = class ChatService {
94
94
  const isStreaming = session.model_id?.includes('/');
95
95
  if (isStreaming) {
96
96
  const pendingInput = await this.llmResponsesService.createPendingAiInput(sessionId, executionStrategy);
97
+ state.pendingInputId = pendingInput.id;
98
+ state.abortController = new AbortController();
97
99
  const onToken = (chunk, isFirst) => {
98
100
  this.eventsGateway.sendToAll('llm-stream-chunk', {
99
101
  sessionInputId: pendingInput.id,
@@ -105,25 +107,35 @@ let ChatService = ChatService_1 = class ChatService {
105
107
  if (session.reasoning_effort) {
106
108
  generationConfig.reasoning = { effort: session.reasoning_effort };
107
109
  }
108
- const llm_response = await this.llmProvider.generateContent({
109
- prompt: message,
110
- systemInstruction: finalSystemInstruction,
111
- history: historyForProvider,
112
- modelId: session.model_id,
113
- generationConfig,
114
- onToken,
115
- });
116
- state.history.push({
117
- role: 'model',
118
- parts: [{ text: llm_response.text }],
119
- });
120
- await this.llmResponsesService.finalizePendingAiInput(pendingInput.id, {
121
- raw_llm_response: llm_response.text,
122
- execution_strategy: executionStrategy,
123
- input_token_count: llm_response.usage?.inputTokens,
124
- output_token_count: llm_response.usage?.outputTokens,
125
- cached_token_count: llm_response.usage?.cachedTokens,
126
- });
110
+ try {
111
+ const llm_response = await this.llmProvider.generateContent({
112
+ prompt: message,
113
+ systemInstruction: finalSystemInstruction,
114
+ history: historyForProvider,
115
+ modelId: session.model_id,
116
+ generationConfig,
117
+ onToken,
118
+ abortController: state.abortController,
119
+ });
120
+ state.history.push({
121
+ role: 'model',
122
+ parts: [{ text: llm_response.text }],
123
+ });
124
+ await this.llmResponsesService.finalizePendingAiInput(pendingInput.id, {
125
+ raw_llm_response: llm_response.text,
126
+ execution_strategy: executionStrategy,
127
+ input_token_count: llm_response.usage?.inputTokens,
128
+ output_token_count: llm_response.usage?.outputTokens,
129
+ cached_token_count: llm_response.usage?.cachedTokens,
130
+ });
131
+ state.abortController = undefined;
132
+ state.pendingInputId = undefined;
133
+ }
134
+ catch (error) {
135
+ state.abortController = undefined;
136
+ state.pendingInputId = undefined;
137
+ throw error;
138
+ }
127
139
  this.eventsGateway.sendToAll('refresh-ui', {});
128
140
  }
129
141
  else {
@@ -158,6 +170,27 @@ let ChatService = ChatService_1 = class ChatService {
158
170
  throw error;
159
171
  }
160
172
  }
173
+ abortStreaming(sessionId) {
174
+ const state = this.chatStates.get(sessionId);
175
+ if (!state || !state.abortController) {
176
+ this.logger.warn(`No active stream to abort for session ${sessionId}`);
177
+ return false;
178
+ }
179
+ try {
180
+ state.abortController.abort();
181
+ this.logger.log(`Streaming aborted for session ${sessionId}`);
182
+ if (state.pendingInputId) {
183
+ }
184
+ state.abortController = undefined;
185
+ state.pendingInputId = undefined;
186
+ this.eventsGateway.sendToAll('refresh-ui', {});
187
+ return true;
188
+ }
189
+ catch (error) {
190
+ this.logger.error(`Failed to abort streaming for session ${sessionId}: ${error.message}`);
191
+ return false;
192
+ }
193
+ }
161
194
  };
162
195
  exports.ChatService = ChatService;
163
196
  exports.ChatService = ChatService = ChatService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ChatService } from './chat.service';
2
+ export declare class StreamingController {
3
+ private readonly chatService;
4
+ constructor(chatService: ChatService);
5
+ stopStreaming(sessionId: string): Promise<{
6
+ success: boolean;
7
+ aborted: boolean;
8
+ }>;
9
+ }
@@ -0,0 +1,40 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.StreamingController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const chat_service_1 = require("./chat.service");
18
+ let StreamingController = class StreamingController {
19
+ constructor(chatService) {
20
+ this.chatService = chatService;
21
+ }
22
+ async stopStreaming(sessionId) {
23
+ const aborted = this.chatService.abortStreaming(sessionId);
24
+ return { success: true, aborted };
25
+ }
26
+ };
27
+ exports.StreamingController = StreamingController;
28
+ __decorate([
29
+ (0, common_1.Post)(':sessionId/stop'),
30
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
31
+ __param(0, (0, common_1.Param)('sessionId', common_1.ParseUUIDPipe)),
32
+ __metadata("design:type", Function),
33
+ __metadata("design:paramtypes", [String]),
34
+ __metadata("design:returntype", Promise)
35
+ ], StreamingController.prototype, "stopStreaming", null);
36
+ exports.StreamingController = StreamingController = __decorate([
37
+ (0, common_1.Controller)('streaming'),
38
+ __metadata("design:paramtypes", [chat_service_1.ChatService])
39
+ ], StreamingController);
40
+ //# sourceMappingURL=streaming.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.controller.js","sourceRoot":"","sources":["../../../src/interactive-chat/streaming.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,iDAA6C;AAGtC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAInD,AAAN,KAAK,CAAC,aAAa,CACkB,SAAiB;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAXY,kDAAmB;AAKxB;IAFL,IAAA,aAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IAErB,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,sBAAa,CAAC,CAAA;;;;wDAInC;8BAVU,mBAAmB;IAD/B,IAAA,mBAAU,EAAC,WAAW,CAAC;qCAEoB,0BAAW;GAD1C,mBAAmB,CAW/B"}
@@ -30,6 +30,7 @@ export interface LlmProviderRequest {
30
30
  modelId?: string;
31
31
  generationConfig?: LlmGenerationConfig;
32
32
  onToken?: (token: string, isFirst: boolean) => void;
33
+ abortController?: AbortController;
33
34
  }
34
35
  export interface LlmModel {
35
36
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.interface.js","sourceRoot":"","sources":["../../../src/llm-provider/llm-provider.interface.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACf,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AA4CY,QAAA,YAAY,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"llm-provider.interface.js","sourceRoot":"","sources":["../../../src/llm-provider/llm-provider.interface.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACf,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AA6CY,QAAA,YAAY,GAAG,cAAc,CAAC"}
@@ -3,8 +3,10 @@ import { ApplicationStateService } from '../application-state/application-state.
3
3
  export declare class OpenRouterLlmProvider implements LlmProvider {
4
4
  private readonly applicationStateService;
5
5
  private readonly logger;
6
+ private activeStreams;
6
7
  constructor(applicationStateService: ApplicationStateService);
7
8
  private mapHistory;
8
9
  getModels(): Promise<LlmModel[]>;
9
10
  generateContent(request: LlmProviderRequest): Promise<LlmResponse>;
11
+ abortBySessionId(sessionId: string): boolean;
10
12
  }
@@ -17,6 +17,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
17
17
  constructor(applicationStateService) {
18
18
  this.applicationStateService = applicationStateService;
19
19
  this.logger = new common_1.Logger(OpenRouterLlmProvider_1.name);
20
+ this.activeStreams = new Map();
20
21
  }
21
22
  mapHistory(history) {
22
23
  return history.map((turn) => ({
@@ -53,8 +54,9 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
53
54
  if (!apiKey) {
54
55
  throw new Error('OpenRouter API Key is not configured in settings.');
55
56
  }
56
- const { prompt, systemInstruction, history, modelId, generationConfig, onToken, } = request;
57
+ const { prompt, systemInstruction, history, modelId, generationConfig, onToken, abortController, } = request;
57
58
  const model = modelId || 'openai/gpt-3.5-turbo';
59
+ const requestId = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
58
60
  const messages = [];
59
61
  if (systemInstruction) {
60
62
  messages.push({ role: 'system', content: systemInstruction });
@@ -94,6 +96,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
94
96
  'X-Title': 'Repoburg',
95
97
  },
96
98
  body: JSON.stringify(body),
99
+ signal: abortController?.signal,
97
100
  });
98
101
  if (!response.ok) {
99
102
  const errorText = await response.text();
@@ -108,52 +111,71 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
108
111
  `OpenRouter API error: ${response.statusText}`);
109
112
  }
110
113
  if (onToken && response.body) {
114
+ if (abortController) {
115
+ this.activeStreams.set(requestId, abortController);
116
+ }
111
117
  const reader = response.body.getReader();
112
118
  const decoder = new TextDecoder();
113
119
  let buffer = '';
114
120
  let accumulatedResponse = '';
115
121
  let isFirst = true;
116
122
  let usageData = null;
117
- while (true) {
118
- const { done, value } = await reader.read();
119
- if (done) {
120
- break;
121
- }
122
- buffer += decoder.decode(value, { stream: true });
123
- const lines = buffer.split('\n');
124
- buffer = lines.pop() || '';
125
- for (const line of lines) {
126
- if (line.startsWith('data: ')) {
127
- const dataStr = line.substring(6);
128
- if (dataStr.trim() === '[DONE]') {
129
- break;
130
- }
131
- try {
132
- const parsed = JSON.parse(dataStr);
133
- const chunk = parsed.choices?.[0]?.delta?.content;
134
- if (chunk) {
135
- accumulatedResponse += chunk;
136
- onToken(chunk, isFirst);
137
- if (isFirst) {
138
- isFirst = false;
123
+ try {
124
+ while (true) {
125
+ if (abortController?.signal?.aborted) {
126
+ this.logger.log(`Stream aborted for request ${requestId}`);
127
+ this.activeStreams.delete(requestId);
128
+ throw new DOMException('The operation was aborted', 'AbortError');
129
+ }
130
+ const { done, value } = await reader.read();
131
+ if (done) {
132
+ break;
133
+ }
134
+ buffer += decoder.decode(value, { stream: true });
135
+ const lines = buffer.split('\n');
136
+ buffer = lines.pop() || '';
137
+ for (const line of lines) {
138
+ if (line.startsWith('data: ')) {
139
+ const dataStr = line.substring(6);
140
+ if (dataStr.trim() === '[DONE]') {
141
+ break;
142
+ }
143
+ try {
144
+ const parsed = JSON.parse(dataStr);
145
+ const chunk = parsed.choices?.[0]?.delta?.content;
146
+ if (chunk) {
147
+ accumulatedResponse += chunk;
148
+ onToken(chunk, isFirst);
149
+ if (isFirst) {
150
+ isFirst = false;
151
+ }
152
+ }
153
+ if (parsed.usage && !usageData) {
154
+ usageData = {
155
+ prompt_tokens: parsed.usage.prompt_tokens,
156
+ completion_tokens: parsed.usage.completion_tokens,
157
+ cached_tokens: parsed.usage.prompt_tokens_details?.cached_tokens || 0,
158
+ };
139
159
  }
140
160
  }
141
- if (parsed.usage && !usageData) {
142
- usageData = {
143
- prompt_tokens: parsed.usage.prompt_tokens,
144
- completion_tokens: parsed.usage.completion_tokens,
145
- cached_tokens: parsed.usage.prompt_tokens_details?.cached_tokens || 0,
146
- };
161
+ catch (e) {
162
+ this.logger.warn(`Error parsing stream chunk: ${dataStr}`, e);
147
163
  }
148
164
  }
149
- catch (e) {
150
- this.logger.warn(`Error parsing stream chunk: ${dataStr}`, e);
151
- }
152
165
  }
153
166
  }
154
167
  }
168
+ catch (readError) {
169
+ if (abortController?.signal?.aborted) {
170
+ this.logger.log(`Stream read aborted for request ${requestId}`);
171
+ this.activeStreams.delete(requestId);
172
+ throw new DOMException('The operation was aborted', 'AbortError');
173
+ }
174
+ throw readError;
175
+ }
155
176
  if (usageData) {
156
177
  this.logger.log(`OpenRouter stream finished. Usage: ${usageData.prompt_tokens} prompt (${usageData.cached_tokens} cached), ${usageData.completion_tokens} completion tokens`);
178
+ this.activeStreams.delete(requestId);
157
179
  return {
158
180
  text: accumulatedResponse,
159
181
  usage: {
@@ -164,6 +186,7 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
164
186
  };
165
187
  }
166
188
  this.logger.warn('Usage data not returned from streaming response');
189
+ this.activeStreams.delete(requestId);
167
190
  return {
168
191
  text: accumulatedResponse,
169
192
  };
@@ -194,9 +217,24 @@ let OpenRouterLlmProvider = OpenRouterLlmProvider_1 = class OpenRouterLlmProvide
194
217
  }
195
218
  catch (error) {
196
219
  this.logger.error(`OpenRouter generation failed: ${error.message}`);
220
+ this.activeStreams.delete(requestId);
197
221
  throw error;
198
222
  }
199
223
  }
224
+ abortBySessionId(sessionId) {
225
+ for (const [reqId, controller] of this.activeStreams.entries()) {
226
+ try {
227
+ controller.abort();
228
+ this.activeStreams.delete(reqId);
229
+ this.logger.log(`Aborted stream: ${reqId}`);
230
+ return true;
231
+ }
232
+ catch (e) {
233
+ this.logger.warn(`Failed to abort stream ${reqId}: ${e.message}`);
234
+ }
235
+ }
236
+ return false;
237
+ }
200
238
  };
201
239
  exports.OpenRouterLlmProvider = OpenRouterLlmProvider;
202
240
  exports.OpenRouterLlmProvider = OpenRouterLlmProvider = OpenRouterLlmProvider_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-llm.provider.js","sourceRoot":"","sources":["../../../src/llm-provider/openrouter-llm.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-llm.provider.js","sourceRoot":"","sources":["../../../src/llm-provider/openrouter-llm.provider.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ exports.LlmResponsesModule = LlmResponsesModule = __decorate([
28
28
  (0, common_1.Module)({
29
29
  imports: [
30
30
  typeorm_1.TypeOrmModule.forFeature([core_entities_1.Session, core_entities_1.SessionInput]),
31
- sessions_module_1.SessionsModule,
31
+ (0, common_1.forwardRef)(() => sessions_module_1.SessionsModule),
32
32
  application_state_module_1.ApplicationStateModule,
33
33
  (0, common_1.forwardRef)(() => session_inputs_module_1.SessionInputsModule),
34
34
  events_module_1.EventsModule,
@@ -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,oDAAyD;AACzD,2DAAuD;AACvD,oEAAgE;AAChE,iEAAwE;AACxE,uEAAkE;AAClE,mFAA8E;AAC9E,4FAAuF;AAmBhF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAjB9B,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;YACnB,iDAAsB;SACvB;QACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
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;AAC9E,4FAAuF;AAmBhF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAjB9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAO,EAAE,4BAAY,CAAC,CAAC;YACjD,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,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;YACnB,iDAAsB;SACvB;QACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}