briyah 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +31 -21
  2. package/dist/server/src/ai/LLM/anthropic.service.js +16 -8
  3. package/dist/server/src/ai/LLM/base-ai.service.js +5 -4
  4. package/dist/server/src/ai/LLM/deepseek.service.js +8 -6
  5. package/dist/server/src/ai/LLM/fal.service.js +15 -14
  6. package/dist/server/src/ai/LLM/googleai.service.js +10 -8
  7. package/dist/server/src/ai/LLM/grok.service.js +9 -7
  8. package/dist/server/src/ai/LLM/mock.service.js +7 -6
  9. package/dist/server/src/ai/LLM/openai.service.js +15 -13
  10. package/dist/server/src/ai/LLM/together.service.js +10 -8
  11. package/dist/server/src/ai/LLM/vertexai.service.js +10 -9
  12. package/dist/server/src/ai/agent-store.service.js +12 -11
  13. package/dist/server/src/ai/artifact.service.js +7 -6
  14. package/dist/server/src/ai/attached-file.service.js +8 -7
  15. package/dist/server/src/ai/published-agents.service.js +5 -4
  16. package/dist/server/src/app/balance.service.js +7 -6
  17. package/dist/server/src/app/stripe.controller.js +12 -11
  18. package/dist/server/src/app/stripe.service.js +20 -19
  19. package/dist/server/src/app/transaction.service.js +6 -5
  20. package/dist/server/src/app/user-service-manager.js +6 -5
  21. package/dist/server/src/app.controller.js +95 -94
  22. package/dist/server/src/app.service.js +31 -30
  23. package/dist/server/src/auth/auth.controller.js +21 -20
  24. package/dist/server/src/auth/jwt-auth.guard.js +4 -3
  25. package/dist/server/src/auth/rate-limit.service.d.ts +0 -1
  26. package/dist/server/src/auth/rate-limit.service.js +6 -7
  27. package/dist/server/src/auth/twilio.service.js +4 -3
  28. package/dist/server/src/auth/users.service.js +5 -4
  29. package/dist/server/src/common/logger.d.ts +21 -0
  30. package/dist/server/src/common/logger.js +83 -0
  31. package/dist/server/src/room/artifact-store.service.d.ts +0 -1
  32. package/dist/server/src/room/artifact-store.service.js +16 -17
  33. package/dist/server/src/room/published-rooms.service.js +3 -2
  34. package/dist/server/src/room/room-store.service.js +17 -16
  35. package/dist/server/src/room/room.js +14 -13
  36. package/dist/server/src/sdk/briyah-config.d.ts +7 -0
  37. package/dist/server/src/sdk/briyah-config.js +1 -0
  38. package/dist/server/src/sdk/briyah.js +13 -4
  39. package/dist/server/src/sdk/index.d.ts +2 -1
  40. package/dist/server/src/story/story-progress.service.js +2 -1
  41. package/dist/server/src/story/story-store.service.js +28 -27
  42. package/dist/server/src/story/story.service.js +113 -112
  43. package/docs/.nojekyll +1 -0
  44. package/docs/assets/hierarchy.js +1 -0
  45. package/docs/assets/highlight.css +106 -0
  46. package/docs/assets/icons.js +18 -0
  47. package/docs/assets/icons.svg +1 -0
  48. package/docs/assets/main.js +60 -0
  49. package/docs/assets/navigation.js +1 -0
  50. package/docs/assets/search.js +1 -0
  51. package/docs/assets/style.css +1633 -0
  52. package/docs/classes/Agent.html +87 -0
  53. package/docs/classes/Briyah.html +64 -0
  54. package/docs/classes/BriyahConfigService.html +12 -0
  55. package/docs/classes/Room.html +119 -0
  56. package/docs/enums/MessageAction.html +13 -0
  57. package/docs/hierarchy.html +1 -0
  58. package/docs/index.html +136 -0
  59. package/docs/interfaces/AgentInfo.html +17 -0
  60. package/docs/interfaces/AgentMessagesResponse.html +5 -0
  61. package/docs/interfaces/AppService.html +680 -0
  62. package/docs/interfaces/ArtifactMetadata.html +8 -0
  63. package/docs/interfaces/AttachDocumentResponse.html +3 -0
  64. package/docs/interfaces/BriyahConfigOptions.html +16 -0
  65. package/docs/interfaces/ChapterInfo.html +3 -0
  66. package/docs/interfaces/Character.html +7 -0
  67. package/docs/interfaces/CreateAgentResponse.html +2 -0
  68. package/docs/interfaces/CreateRoomResponse.html +3 -0
  69. package/docs/interfaces/CreateStoryResponse.html +2 -0
  70. package/docs/interfaces/FileList.html +2 -0
  71. package/docs/interfaces/LoggingOptions.html +9 -0
  72. package/docs/interfaces/Message.html +6 -0
  73. package/docs/interfaces/ModelInfo.html +5 -0
  74. package/docs/interfaces/PreparedPromptResponse.html +3 -0
  75. package/docs/interfaces/ProcessTextResponse.html +7 -0
  76. package/docs/interfaces/PromptFile.html +3 -0
  77. package/docs/interfaces/PromptFileContent.html +3 -0
  78. package/docs/interfaces/PromptFilesResponse.html +2 -0
  79. package/docs/interfaces/PromptFolder.html +3 -0
  80. package/docs/interfaces/PromptFoldersResponse.html +2 -0
  81. package/docs/interfaces/RoomDetails.html +9 -0
  82. package/docs/interfaces/RoomInfo.html +5 -0
  83. package/docs/interfaces/RoomMessagesResponse.html +3 -0
  84. package/docs/interfaces/StoryIdea.html +5 -0
  85. package/docs/interfaces/StoryInfo.html +21 -0
  86. package/docs/interfaces/StoryState.html +9 -0
  87. package/docs/modules.html +1 -0
  88. package/docs/types/PromptScope.html +1 -0
  89. package/package.json +6 -3
  90. package/data/common/config/story_ideas.txt +0 -6
@@ -16,6 +16,7 @@ const base_ai_service_1 = require("./base-ai.service");
16
16
  const openai_2 = require("openai");
17
17
  const model_prices_1 = require("../model_prices");
18
18
  const errors_1 = require("../../common/errors");
19
+ const logger_1 = require("../../common/logger");
19
20
  let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService {
20
21
  openai;
21
22
  constructor() {
@@ -35,9 +36,10 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
35
36
  options.organization = process.env.OPENAI_ORGANIZATION_ID;
36
37
  }
37
38
  this.openai = new openai_2.OpenAI(options);
39
+ logger_1.logger.debug('OpenAI service initialized successfully');
38
40
  }
39
41
  catch (error) {
40
- console.error('Error initializing OpenAI service:', error);
42
+ logger_1.logger.error('Error initializing OpenAI service:', error);
41
43
  this._isAvailable = false;
42
44
  }
43
45
  }
@@ -67,10 +69,10 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
67
69
  if (agent.vectorStore) {
68
70
  try {
69
71
  await this.openai.vectorStores.delete(agent.vectorStore.id);
70
- console.log(`Deleted vector store for agent ${agent.id}`);
72
+ logger_1.logger.log(`Deleted vector store for agent ${agent.id}`);
71
73
  }
72
74
  catch (error) {
73
- console.error(`Error deleting vector store for agent ${agent.id}:`, error);
75
+ logger_1.logger.error(`Error deleting vector store for agent ${agent.id}:`, error);
74
76
  }
75
77
  }
76
78
  for (const metadata of agent.attachedFiles) {
@@ -78,10 +80,10 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
78
80
  metadata.serviceMetadata?.resourceId) {
79
81
  try {
80
82
  await this.openai.files.delete(metadata.serviceMetadata.resourceId);
81
- console.log(`Deleted OpenAI file ${metadata.serviceMetadata.resourceId} for agent ${agent.id}`);
83
+ logger_1.logger.log(`Deleted OpenAI file ${metadata.serviceMetadata.resourceId} for agent ${agent.id}`);
82
84
  }
83
85
  catch (error) {
84
- console.error(`Error deleting OpenAI file ${metadata.serviceMetadata.resourceId}:`, error);
86
+ logger_1.logger.error(`Error deleting OpenAI file ${metadata.serviceMetadata.resourceId}:`, error);
85
87
  }
86
88
  }
87
89
  }
@@ -185,7 +187,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
185
187
  }
186
188
  }
187
189
  catch (error) {
188
- console.error(error);
190
+ logger_1.logger.error(error);
189
191
  throw error;
190
192
  }
191
193
  if (saveResponse) {
@@ -292,7 +294,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
292
294
  const outputTokens = usage.output_tokens || 0;
293
295
  const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
294
296
  if (!modelInfo) {
295
- console.error(`No price info found for model ${agent.modelName}`);
297
+ logger_1.logger.error(`No price info found for model ${agent.modelName}`);
296
298
  return;
297
299
  }
298
300
  const uncachedCost = uncachedInputTokens * modelInfo.input_cost_per_token;
@@ -305,9 +307,9 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
305
307
  agent.totalOutputTokens += outputTokens;
306
308
  agent.totalCost += cost;
307
309
  agent.totalMarkup += markup;
308
- console.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
310
+ logger_1.logger.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
309
311
  if (cachedTokens > 0) {
310
- console.log(`Cache metrics for ${agent.agentName}: cached=${cachedTokens}, uncached=${uncachedInputTokens}`);
312
+ logger_1.logger.log(`Cache metrics for ${agent.agentName}: cached=${cachedTokens}, uncached=${uncachedInputTokens}`);
311
313
  }
312
314
  if (agent.balanceService && cost > 0) {
313
315
  agent.balanceService.decrementBalance(cost, markup);
@@ -316,7 +318,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
316
318
  computeImageCost(agent, usage) {
317
319
  const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
318
320
  if (!modelInfo) {
319
- console.error(`No price info found for model ${agent.modelName}`);
321
+ logger_1.logger.error(`No price info found for model ${agent.modelName}`);
320
322
  return;
321
323
  }
322
324
  const inputImageTokens = usage.input_tokens_details?.image_tokens || 0;
@@ -361,7 +363,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
361
363
  const cost = inputCost + outputCost + markup;
362
364
  agent.totalCost += cost;
363
365
  agent.totalMarkup += markup;
364
- console.log(`Cost for image generation: ${cost} (markup: ${markup.toFixed(4)})`);
366
+ logger_1.logger.log(`Cost for image generation: ${cost} (markup: ${markup.toFixed(4)})`);
365
367
  if (agent.balanceService && cost > 0) {
366
368
  agent.balanceService.decrementBalance(cost, markup);
367
369
  }
@@ -404,8 +406,8 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
404
406
  return { artifactId };
405
407
  }
406
408
  catch (error) {
407
- console.error('Error generating image:', error);
408
- console.log(prompt);
409
+ logger_1.logger.error('Error generating image:', error);
410
+ logger_1.logger.log(prompt);
409
411
  return { error };
410
412
  }
411
413
  }
@@ -18,6 +18,7 @@ const together_ai_1 = __importDefault(require("together-ai"));
18
18
  const base_ai_service_1 = require("./base-ai.service");
19
19
  const model_prices_1 = require("../model_prices");
20
20
  const errors_1 = require("../../common/errors");
21
+ const logger_1 = require("../../common/logger");
21
22
  let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAiService {
22
23
  togetherClient;
23
24
  constructor() {
@@ -33,9 +34,10 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
33
34
  timeout: 600000,
34
35
  maxRetries: 3,
35
36
  });
37
+ logger_1.logger.debug('TogetherAI service initialized successfully');
36
38
  }
37
39
  catch (error) {
38
- console.error('Error initializing Together AI service:', error);
40
+ logger_1.logger.error('Error initializing Together AI service:', error);
39
41
  this._isAvailable = false;
40
42
  }
41
43
  }
@@ -141,7 +143,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
141
143
  }
142
144
  }
143
145
  catch (error) {
144
- console.error('Error calling Together AI:', error);
146
+ logger_1.logger.error('Error calling Together AI:', error);
145
147
  throw error;
146
148
  }
147
149
  if (saveResponse) {
@@ -161,7 +163,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
161
163
  modelInfo = (0, model_prices_1.getModelPrices)()[`together_ai/${agent.modelName}`];
162
164
  }
163
165
  if (!modelInfo) {
164
- console.error(`No price info found for model ${agent.modelName} or together_ai/${agent.modelName}`);
166
+ logger_1.logger.error(`No price info found for model ${agent.modelName} or together_ai/${agent.modelName}`);
165
167
  return;
166
168
  }
167
169
  const inputCost = promptTokens * modelInfo.input_cost_per_token;
@@ -172,7 +174,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
172
174
  agent.totalOutputTokens += completionTokens;
173
175
  agent.totalCost += cost;
174
176
  agent.totalMarkup += markup;
175
- console.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
177
+ logger_1.logger.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
176
178
  if (agent.balanceService && cost > 0) {
177
179
  agent.balanceService.decrementBalance(cost, markup);
178
180
  }
@@ -180,7 +182,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
180
182
  computeImageCost(agent, usage) {
181
183
  const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
182
184
  if (!modelInfo) {
183
- console.error(`No price info found for model ${agent.modelName}`);
185
+ logger_1.logger.error(`No price info found for model ${agent.modelName}`);
184
186
  return;
185
187
  }
186
188
  const inputImageTokens = usage.input_tokens_details?.image_tokens || 0;
@@ -225,7 +227,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
225
227
  const cost = inputCost + outputCost + markup;
226
228
  agent.totalCost += cost;
227
229
  agent.totalMarkup += markup;
228
- console.log(`Cost for image generation: ${cost} (markup: ${markup.toFixed(4)})`);
230
+ logger_1.logger.log(`Cost for image generation: ${cost} (markup: ${markup.toFixed(4)})`);
229
231
  if (agent.balanceService && cost > 0) {
230
232
  agent.balanceService.decrementBalance(cost, markup);
231
233
  }
@@ -271,8 +273,8 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
271
273
  return { artifactId };
272
274
  }
273
275
  catch (error) {
274
- console.error('Error generating image:', error.error?.message || error.message);
275
- console.log(prompt);
276
+ logger_1.logger.error('Error generating image:', error.error?.message || error.message);
277
+ logger_1.logger.log(prompt);
276
278
  return { error };
277
279
  }
278
280
  }
@@ -17,13 +17,13 @@ const crypto_1 = require("crypto");
17
17
  const base_ai_service_1 = require("./base-ai.service");
18
18
  const model_prices_1 = require("../model_prices");
19
19
  const errors_1 = require("../../common/errors");
20
+ const logger_1 = require("../../common/logger");
20
21
  let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiService {
21
22
  vertexAI = null;
22
23
  constructor() {
23
24
  super();
24
25
  try {
25
26
  if (!process.env.GOOGLE_PROJECT_ID || !process.env.GOOGLE_CLOUD_LOCATION) {
26
- console.warn('GOOGLE_PROJECT_ID and GOOGLE_CLOUD_LOCATION environment variables are required for Vertex AI service. Service will not be available.');
27
27
  this._isAvailable = false;
28
28
  return;
29
29
  }
@@ -31,9 +31,10 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
31
31
  project: process.env.GOOGLE_PROJECT_ID,
32
32
  location: process.env.GOOGLE_CLOUD_LOCATION,
33
33
  });
34
+ logger_1.logger.debug('Vertex AI service initialized successfully');
34
35
  }
35
36
  catch (error) {
36
- console.error('Error initializing Vertex AI service:', error);
37
+ logger_1.logger.error('Error initializing Vertex AI service:', error);
37
38
  this._isAvailable = false;
38
39
  }
39
40
  }
@@ -89,7 +90,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
89
90
  await file.save(Buffer.from(fileContents), {
90
91
  metadata: { contentType: 'application/octet-stream' },
91
92
  });
92
- console.log(`Successfully uploaded ${fileName} to ${bucketName}`);
93
+ logger_1.logger.log(`Successfully uploaded ${fileName} to ${bucketName}`);
93
94
  return `gs://${bucketName}/${fileName}`;
94
95
  }
95
96
  addToConversationHistory(agent, message, fromSelf = false) {
@@ -186,7 +187,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
186
187
  resp = await generativeModel.generateContent({ contents: messages });
187
188
  }
188
189
  catch (error) {
189
- console.error(error);
190
+ logger_1.logger.error(error);
190
191
  return error.message;
191
192
  }
192
193
  let responseText = resp.response.candidates[0].content.parts[0].text;
@@ -212,7 +213,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
212
213
  const outputTokens = usage.candidatesTokenCount || 0;
213
214
  const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
214
215
  if (!modelInfo) {
215
- console.error(`No price info found for model ${agent.modelName}`);
216
+ logger_1.logger.error(`No price info found for model ${agent.modelName}`);
216
217
  return;
217
218
  }
218
219
  const inputCost = inputTokens * modelInfo.input_cost_per_token;
@@ -223,7 +224,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
223
224
  agent.totalOutputTokens += outputTokens;
224
225
  agent.totalCost += cost;
225
226
  agent.totalMarkup += markup;
226
- console.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
227
+ logger_1.logger.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
227
228
  if (agent.balanceService && cost > 0) {
228
229
  agent.balanceService.decrementBalance(cost, markup);
229
230
  }
@@ -242,7 +243,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
242
243
  let gsUri;
243
244
  if (existingMetadata?.serviceMetadata?.uri) {
244
245
  gsUri = existingMetadata.serviceMetadata.uri;
245
- console.log(`Using existing Google Cloud Storage file: ${gsUri}`);
246
+ logger_1.logger.log(`Using existing Google Cloud Storage file: ${gsUri}`);
246
247
  }
247
248
  else {
248
249
  gsUri = await this.uploadFile(fileData);
@@ -303,11 +304,11 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
303
304
  const bucket = storage.bucket(bucketName);
304
305
  const file = bucket.file(fileName);
305
306
  await file.delete();
306
- console.log(`Deleted Google Cloud Storage file ${uri} for agent ${agent.id}`);
307
+ logger_1.logger.log(`Deleted Google Cloud Storage file ${uri} for agent ${agent.id}`);
307
308
  }
308
309
  }
309
310
  catch (error) {
310
- console.error(`Error deleting Google Cloud Storage file ${metadata.serviceMetadata.uri}:`, error);
311
+ logger_1.logger.error(`Error deleting Google Cloud Storage file ${metadata.serviceMetadata.uri}:`, error);
311
312
  }
312
313
  }
313
314
  }
@@ -53,6 +53,7 @@ const artifact_service_1 = require("./artifact.service");
53
53
  const configuration_service_1 = require("../config/configuration.service");
54
54
  const attached_file_service_1 = require("./attached-file.service");
55
55
  const balance_service_1 = require("../app/balance.service");
56
+ const logger_1 = require("../common/logger");
56
57
  let AgentStoreService = class AgentStoreService {
57
58
  aiFactoryService;
58
59
  configService;
@@ -103,7 +104,7 @@ let AgentStoreService = class AgentStoreService {
103
104
  agent.aiService.finishAgent(agent);
104
105
  }
105
106
  catch (error) {
106
- console.error(`Error finishing agent ${id}:`, error);
107
+ logger_1.logger.error(`Error finishing agent ${id}:`, error);
107
108
  }
108
109
  }
109
110
  this.attachedFileService.deleteAllFiles(agent.id);
@@ -212,20 +213,20 @@ let AgentStoreService = class AgentStoreService {
212
213
  await fs.promises.access(storageDir);
213
214
  }
214
215
  catch {
215
- console.log(`Agent storage directory not found: ${storageDir}`);
216
+ logger_1.logger.log(`Agent storage directory not found: ${storageDir}`);
216
217
  await fs.promises.mkdir(storageDir, { recursive: true });
217
218
  return;
218
219
  }
219
220
  const allFiles = await fs.promises.readdir(storageDir);
220
221
  const files = allFiles.filter((file) => file.endsWith('.json'));
221
- console.log(`Loading ${files.length} agents from ${storageDir}`);
222
+ logger_1.logger.log(`Loading ${files.length} agents from ${storageDir}`);
222
223
  for (const file of files) {
223
224
  try {
224
225
  const filePath = path.join(storageDir, file);
225
226
  const fileContent = await fs.promises.readFile(filePath, 'utf-8');
226
227
  const config = JSON.parse(fileContent);
227
228
  if (this.agents.has(config.id)) {
228
- console.log(`Agent ${config.agentName} (${config.id}) already loaded, skipping`);
229
+ logger_1.logger.log(`Agent ${config.agentName} (${config.id}) already loaded, skipping`);
229
230
  continue;
230
231
  }
231
232
  const aiService = this.aiFactoryService.createAiService(config.serviceName);
@@ -264,21 +265,21 @@ let AgentStoreService = class AgentStoreService {
264
265
  const fileData = this.attachedFileService.getFile(agent.id, metadata.fileId);
265
266
  if (fileData && metadata.serviceMetadata && agent.fullContextFiles) {
266
267
  metadata.serviceMetadata.fileData = Array.from(fileData);
267
- console.log(`Restored fileData for ${metadata.fileName} (fullContextFiles=true)`);
268
+ logger_1.logger.log(`Restored fileData for ${metadata.fileName} (fullContextFiles=true)`);
268
269
  }
269
270
  }
270
271
  if (config.attachedArtifacts && config.attachedArtifacts.length > 0) {
271
272
  agent.attachedArtifacts = config.attachedArtifacts;
272
273
  }
273
- console.log(`Loaded agent: ${config.agentName} (${config.id}) with ${agent.history.length} history items`);
274
+ logger_1.logger.log(`Loaded agent: ${config.agentName} (${config.id}) with ${agent.history.length} history items`);
274
275
  }
275
276
  catch (error) {
276
- console.error(`Error loading agent from file ${file}:`, error);
277
+ logger_1.logger.error(`Error loading agent from file ${file}:`, error);
277
278
  }
278
279
  }
279
280
  }
280
281
  catch (error) {
281
- console.error(`Error loading agents from directory ${storageDir}:`, error);
282
+ logger_1.logger.error(`Error loading agents from directory ${storageDir}:`, error);
282
283
  }
283
284
  }
284
285
  saveAgentToFile(agent, storageDir) {
@@ -331,7 +332,7 @@ let AgentStoreService = class AgentStoreService {
331
332
  fs.writeFileSync(filePath, JSON.stringify(config, null, 2), 'utf-8');
332
333
  }
333
334
  catch (error) {
334
- console.error(`Error saving agent ${agent.id} to file:`, error);
335
+ logger_1.logger.error(`Error saving agent ${agent.id} to file:`, error);
335
336
  }
336
337
  }
337
338
  deleteAgentFile(agentId, storageDir) {
@@ -339,11 +340,11 @@ let AgentStoreService = class AgentStoreService {
339
340
  const filePath = path.join(storageDir, `${agentId}.json`);
340
341
  if (fs.existsSync(filePath)) {
341
342
  fs.unlinkSync(filePath);
342
- console.log(`Deleted agent file: ${filePath}`);
343
+ logger_1.logger.log(`Deleted agent file: ${filePath}`);
343
344
  }
344
345
  }
345
346
  catch (error) {
346
- console.error(`Error deleting agent file ${agentId}:`, error);
347
+ logger_1.logger.error(`Error deleting agent file ${agentId}:`, error);
347
348
  }
348
349
  }
349
350
  };
@@ -48,6 +48,7 @@ const fs = __importStar(require("fs"));
48
48
  const path = __importStar(require("path"));
49
49
  const crypto_1 = require("crypto");
50
50
  const configuration_service_1 = require("../config/configuration.service");
51
+ const logger_1 = require("../common/logger");
51
52
  let ArtifactService = class ArtifactService {
52
53
  configService;
53
54
  artifactsDir;
@@ -77,7 +78,7 @@ let ArtifactService = class ArtifactService {
77
78
  return JSON.parse(content);
78
79
  }
79
80
  catch (error) {
80
- console.error('Error loading artifact metadata:', error);
81
+ logger_1.logger.error('Error loading artifact metadata:', error);
81
82
  return {};
82
83
  }
83
84
  }
@@ -130,7 +131,7 @@ let ArtifactService = class ArtifactService {
130
131
  }
131
132
  }
132
133
  catch (error) {
133
- console.error(`Error reading artifact ${artifactId}:`, error);
134
+ logger_1.logger.error(`Error reading artifact ${artifactId}:`, error);
134
135
  return null;
135
136
  }
136
137
  }
@@ -157,7 +158,7 @@ let ArtifactService = class ArtifactService {
157
158
  return true;
158
159
  }
159
160
  catch (error) {
160
- console.error(`Error updating artifact ${artifactId}:`, error);
161
+ logger_1.logger.error(`Error updating artifact ${artifactId}:`, error);
161
162
  return false;
162
163
  }
163
164
  }
@@ -172,7 +173,7 @@ let ArtifactService = class ArtifactService {
172
173
  return true;
173
174
  }
174
175
  catch (error) {
175
- console.error(`Error renaming artifact ${artifactId}:`, error);
176
+ logger_1.logger.error(`Error renaming artifact ${artifactId}:`, error);
176
177
  return false;
177
178
  }
178
179
  }
@@ -187,7 +188,7 @@ let ArtifactService = class ArtifactService {
187
188
  return true;
188
189
  }
189
190
  catch (error) {
190
- console.error(`Error updating artifact description ${artifactId}:`, error);
191
+ logger_1.logger.error(`Error updating artifact description ${artifactId}:`, error);
191
192
  return false;
192
193
  }
193
194
  }
@@ -208,7 +209,7 @@ let ArtifactService = class ArtifactService {
208
209
  return true;
209
210
  }
210
211
  catch (error) {
211
- console.error(`Error deleting artifact ${artifactId}:`, error);
212
+ logger_1.logger.error(`Error deleting artifact ${artifactId}:`, error);
212
213
  return false;
213
214
  }
214
215
  }
@@ -48,6 +48,7 @@ const fs = __importStar(require("fs"));
48
48
  const path = __importStar(require("path"));
49
49
  const crypto_1 = require("crypto");
50
50
  const configuration_service_1 = require("../config/configuration.service");
51
+ const logger_1 = require("../common/logger");
51
52
  let AttachedFileService = class AttachedFileService {
52
53
  configService;
53
54
  attachedFilesDir;
@@ -64,7 +65,7 @@ let AttachedFileService = class AttachedFileService {
64
65
  storeFile(ownerId, fileName, fileData, additionalMetadata = {}) {
65
66
  const existingMetadata = this.getFileMetadataByName(ownerId, fileName);
66
67
  if (existingMetadata) {
67
- console.log(`File "${fileName}" already exists for owner ${ownerId}, returning existing fileId: ${existingMetadata.fileId}`);
68
+ logger_1.logger.log(`File "${fileName}" already exists for owner ${ownerId}, returning existing fileId: ${existingMetadata.fileId}`);
68
69
  if (Object.keys(additionalMetadata).length > 0) {
69
70
  this.updateFileMetadata(ownerId, existingMetadata.fileId, additionalMetadata);
70
71
  }
@@ -84,7 +85,7 @@ let AttachedFileService = class AttachedFileService {
84
85
  metadataMap = JSON.parse(fs.readFileSync(metadataPath, 'utf8'));
85
86
  }
86
87
  catch (error) {
87
- console.error('Error loading file metadata:', error);
88
+ logger_1.logger.error('Error loading file metadata:', error);
88
89
  }
89
90
  }
90
91
  const metadata = {
@@ -134,7 +135,7 @@ let AttachedFileService = class AttachedFileService {
134
135
  return true;
135
136
  }
136
137
  catch (error) {
137
- console.error('Error updating file metadata:', error);
138
+ logger_1.logger.error('Error updating file metadata:', error);
138
139
  return false;
139
140
  }
140
141
  }
@@ -148,7 +149,7 @@ let AttachedFileService = class AttachedFileService {
148
149
  return metadataMap[fileId] || null;
149
150
  }
150
151
  catch (error) {
151
- console.error('Error getting file metadata:', error);
152
+ logger_1.logger.error('Error getting file metadata:', error);
152
153
  return null;
153
154
  }
154
155
  }
@@ -166,7 +167,7 @@ let AttachedFileService = class AttachedFileService {
166
167
  }
167
168
  }
168
169
  catch (error) {
169
- console.error('Error getting file metadata by name:', error);
170
+ logger_1.logger.error('Error getting file metadata by name:', error);
170
171
  }
171
172
  return null;
172
173
  }
@@ -184,7 +185,7 @@ let AttachedFileService = class AttachedFileService {
184
185
  return Object.values(metadataMap);
185
186
  }
186
187
  catch (error) {
187
- console.error('Error listing file metadata:', error);
188
+ logger_1.logger.error('Error listing file metadata:', error);
188
189
  return [];
189
190
  }
190
191
  }
@@ -208,7 +209,7 @@ let AttachedFileService = class AttachedFileService {
208
209
  }
209
210
  }
210
211
  catch (error) {
211
- console.error('Error updating file metadata:', error);
212
+ logger_1.logger.error('Error updating file metadata:', error);
212
213
  }
213
214
  }
214
215
  return true;
@@ -46,6 +46,7 @@ exports.PublishedAgentsService = void 0;
46
46
  const common_1 = require("@nestjs/common");
47
47
  const fs = __importStar(require("fs"));
48
48
  const path = __importStar(require("path"));
49
+ const logger_1 = require("../common/logger");
49
50
  let PublishedAgentsService = class PublishedAgentsService {
50
51
  mapping = new Map();
51
52
  mappingFile;
@@ -77,7 +78,7 @@ let PublishedAgentsService = class PublishedAgentsService {
77
78
  load() {
78
79
  try {
79
80
  if (!fs.existsSync(this.mappingFile)) {
80
- console.log('[PublishedAgentsService] No published agents file found, starting fresh');
81
+ logger_1.logger.log('[PublishedAgentsService] No published agents file found, starting fresh');
81
82
  this.mapping = new Map();
82
83
  this.save();
83
84
  return;
@@ -92,8 +93,8 @@ let PublishedAgentsService = class PublishedAgentsService {
92
93
  }
93
94
  }
94
95
  catch (error) {
95
- console.error('[PublishedAgentsService] Error loading published agents:', error);
96
- console.log('[PublishedAgentsService] Starting with empty mapping');
96
+ logger_1.logger.error('[PublishedAgentsService] Error loading published agents:', error);
97
+ logger_1.logger.log('[PublishedAgentsService] Starting with empty mapping');
97
98
  this.mapping = new Map();
98
99
  this.save();
99
100
  }
@@ -107,7 +108,7 @@ let PublishedAgentsService = class PublishedAgentsService {
107
108
  fs.writeFileSync(this.mappingFile, JSON.stringify(data, null, 2), 'utf-8');
108
109
  }
109
110
  catch (error) {
110
- console.error('[PublishedAgentsService] Error saving published agents:', error);
111
+ logger_1.logger.error('[PublishedAgentsService] Error saving published agents:', error);
111
112
  }
112
113
  }
113
114
  };
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.BalanceService = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const logger_1 = require("../common/logger");
39
40
  class BalanceService {
40
41
  userId;
41
42
  configService;
@@ -71,14 +72,14 @@ class BalanceService {
71
72
  const balanceStr = fs.readFileSync(this.balanceFilePath, 'utf-8').trim();
72
73
  const balance = parseFloat(balanceStr);
73
74
  if (isNaN(balance)) {
74
- console.error(`Balance file corrupted for user ${this.userId}, resetting to starting balance`);
75
+ logger_1.logger.error(`Balance file corrupted for user ${this.userId}, resetting to starting balance`);
75
76
  this.saveBalance(this.startingBalance);
76
77
  return this.startingBalance;
77
78
  }
78
79
  return balance;
79
80
  }
80
81
  catch (error) {
81
- console.error(`Error reading balance for user ${this.userId}:`, error);
82
+ logger_1.logger.error(`Error reading balance for user ${this.userId}:`, error);
82
83
  return this.startingBalance;
83
84
  }
84
85
  }
@@ -91,14 +92,14 @@ class BalanceService {
91
92
  const markupStr = fs.readFileSync(this.markupFilePath, 'utf-8').trim();
92
93
  const markup = parseFloat(markupStr);
93
94
  if (isNaN(markup)) {
94
- console.error(`Markup file corrupted, resetting to 0`);
95
+ logger_1.logger.error(`Markup file corrupted, resetting to 0`);
95
96
  this.saveMarkup(0);
96
97
  return 0;
97
98
  }
98
99
  return markup;
99
100
  }
100
101
  catch (error) {
101
- console.error(`Error reading markup:`, error);
102
+ logger_1.logger.error(`Error reading markup:`, error);
102
103
  return 0;
103
104
  }
104
105
  }
@@ -137,7 +138,7 @@ class BalanceService {
137
138
  }
138
139
  }
139
140
  catch (error) {
140
- console.error(`Error saving balance for user ${this.userId}:`, error);
141
+ logger_1.logger.error(`Error saving balance for user ${this.userId}:`, error);
141
142
  throw error;
142
143
  }
143
144
  }
@@ -150,7 +151,7 @@ class BalanceService {
150
151
  fs.writeFileSync(this.markupFilePath, markup.toString(), 'utf-8');
151
152
  }
152
153
  catch (error) {
153
- console.error(`Error saving markup:`, error);
154
+ logger_1.logger.error(`Error saving markup:`, error);
154
155
  throw error;
155
156
  }
156
157
  }
@@ -18,6 +18,7 @@ const stripe_service_1 = require("./stripe.service");
18
18
  const user_service_manager_1 = require("./user-service-manager");
19
19
  const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
20
20
  const public_decorator_1 = require("../auth/public.decorator");
21
+ const logger_1 = require("../common/logger");
21
22
  let StripeController = class StripeController {
22
23
  stripeService;
23
24
  userServiceManager;
@@ -45,26 +46,26 @@ let StripeController = class StripeController {
45
46
  return this.stripeService.getStripeConfig();
46
47
  }
47
48
  async handleWebhook(req, signature) {
48
- console.log('[Stripe Webhook] Received webhook request');
49
+ logger_1.logger.log('[Stripe Webhook] Received webhook request');
49
50
  if (!signature) {
50
- console.error('[Stripe Webhook] Missing stripe-signature header');
51
+ logger_1.logger.error('[Stripe Webhook] Missing stripe-signature header');
51
52
  throw new common_1.BadRequestException('Missing stripe-signature header');
52
53
  }
53
54
  const rawBody = req.rawBody;
54
55
  if (!rawBody) {
55
- console.error('[Stripe Webhook] Missing request body');
56
+ logger_1.logger.error('[Stripe Webhook] Missing request body');
56
57
  throw new common_1.BadRequestException('Missing request body');
57
58
  }
58
- console.log('[Stripe Webhook] Verifying webhook signature...');
59
+ logger_1.logger.log('[Stripe Webhook] Verifying webhook signature...');
59
60
  const event = this.stripeService.verifyWebhookSignature(rawBody, signature);
60
- console.log(`[Stripe Webhook] Event type: ${event.type}, Event ID: ${event.id}`);
61
+ logger_1.logger.log(`[Stripe Webhook] Event type: ${event.type}, Event ID: ${event.id}`);
61
62
  switch (event.type) {
62
63
  case 'payment_intent.succeeded': {
63
- console.log('[Stripe Webhook] Matched payment_intent.succeeded case');
64
+ logger_1.logger.log('[Stripe Webhook] Matched payment_intent.succeeded case');
64
65
  const paymentIntent = event.data.object;
65
66
  const userId = paymentIntent.metadata.userId;
66
67
  if (!userId) {
67
- console.error('Payment Intent missing userId in metadata');
68
+ logger_1.logger.error('Payment Intent missing userId in metadata');
68
69
  return { received: true };
69
70
  }
70
71
  const appService = this.userServiceManager.getAppService(userId);
@@ -72,11 +73,11 @@ let StripeController = class StripeController {
72
73
  break;
73
74
  }
74
75
  case 'payment_intent.payment_failed': {
75
- console.log('[Stripe Webhook] Matched payment_intent.payment_failed case');
76
+ logger_1.logger.log('[Stripe Webhook] Matched payment_intent.payment_failed case');
76
77
  const paymentIntent = event.data.object;
77
78
  const userId = paymentIntent.metadata.userId;
78
79
  if (!userId) {
79
- console.error('[Stripe Webhook] Payment Intent missing userId in metadata');
80
+ logger_1.logger.error('[Stripe Webhook] Payment Intent missing userId in metadata');
80
81
  return { received: true };
81
82
  }
82
83
  const appService = this.userServiceManager.getAppService(userId);
@@ -84,9 +85,9 @@ let StripeController = class StripeController {
84
85
  break;
85
86
  }
86
87
  default:
87
- console.log(`[Stripe Webhook] Unhandled event type: ${event.type}`);
88
+ logger_1.logger.log(`[Stripe Webhook] Unhandled event type: ${event.type}`);
88
89
  }
89
- console.log('[Stripe Webhook] Webhook processed successfully');
90
+ logger_1.logger.log('[Stripe Webhook] Webhook processed successfully');
90
91
  return { received: true };
91
92
  }
92
93
  async getTransactionHistory(req, limit, offset) {