@multiplayer-app/ai-agent-node 0.1.0-beta.5 → 0.1.0-beta.51

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 (274) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/config.cjs +88 -37
  3. package/dist/cjs/config.cjs.map +1 -1
  4. package/dist/cjs/config.d.ts +57 -23
  5. package/dist/cjs/config.d.ts.map +1 -1
  6. package/dist/cjs/helpers/AIHelper.cjs +127 -65
  7. package/dist/cjs/helpers/AIHelper.cjs.map +1 -1
  8. package/dist/cjs/helpers/AIHelper.d.ts +22 -16
  9. package/dist/cjs/helpers/AIHelper.d.ts.map +1 -1
  10. package/dist/cjs/helpers/AIHelper.test.cjs +22 -15
  11. package/dist/cjs/helpers/AIHelper.test.cjs.map +1 -1
  12. package/dist/cjs/helpers/ConfigHelper.cjs +15 -6
  13. package/dist/cjs/helpers/ConfigHelper.cjs.map +1 -1
  14. package/dist/cjs/helpers/ConfigHelper.d.ts.map +1 -1
  15. package/dist/cjs/helpers/FileHelper.cjs +131 -151
  16. package/dist/cjs/helpers/FileHelper.cjs.map +1 -1
  17. package/dist/cjs/helpers/FileHelper.d.ts +19 -25
  18. package/dist/cjs/helpers/FileHelper.d.ts.map +1 -1
  19. package/dist/cjs/helpers/index.cjs +0 -1
  20. package/dist/cjs/helpers/index.cjs.map +1 -1
  21. package/dist/cjs/helpers/index.d.ts +0 -1
  22. package/dist/cjs/helpers/index.d.ts.map +1 -1
  23. package/dist/cjs/index.cjs +120 -28
  24. package/dist/cjs/index.cjs.map +1 -1
  25. package/dist/cjs/index.d.ts +43 -11
  26. package/dist/cjs/index.d.ts.map +1 -1
  27. package/dist/cjs/libs/index.cjs +0 -1
  28. package/dist/cjs/libs/index.cjs.map +1 -1
  29. package/dist/cjs/libs/index.d.ts +0 -1
  30. package/dist/cjs/libs/index.d.ts.map +1 -1
  31. package/dist/cjs/libs/s3/index.cjs +3 -39
  32. package/dist/cjs/libs/s3/index.cjs.map +1 -1
  33. package/dist/cjs/libs/s3/index.d.ts +1 -2
  34. package/dist/cjs/libs/s3/index.d.ts.map +1 -1
  35. package/dist/cjs/libs/s3/s3.lib.cjs +173 -186
  36. package/dist/cjs/libs/s3/s3.lib.cjs.map +1 -1
  37. package/dist/cjs/libs/s3/s3.lib.d.ts +29 -22
  38. package/dist/cjs/libs/s3/s3.lib.d.ts.map +1 -1
  39. package/dist/cjs/processors/ActivityProcessor.cjs +39 -0
  40. package/dist/cjs/processors/ActivityProcessor.cjs.map +1 -0
  41. package/dist/cjs/processors/ActivityProcessor.d.ts +32 -0
  42. package/dist/cjs/processors/ActivityProcessor.d.ts.map +1 -0
  43. package/dist/cjs/processors/ActivityProcessor.test.cjs +84 -0
  44. package/dist/cjs/processors/ActivityProcessor.test.cjs.map +1 -0
  45. package/dist/cjs/processors/ActivityProcessor.test.d.ts +2 -0
  46. package/dist/cjs/processors/ActivityProcessor.test.d.ts.map +1 -0
  47. package/dist/cjs/processors/AgentProcessor.cjs +46 -0
  48. package/dist/cjs/processors/AgentProcessor.cjs.map +1 -0
  49. package/dist/cjs/processors/AgentProcessor.d.ts +25 -0
  50. package/dist/cjs/processors/AgentProcessor.d.ts.map +1 -0
  51. package/dist/cjs/processors/AgentProcessor.test.cjs +103 -0
  52. package/dist/cjs/processors/AgentProcessor.test.cjs.map +1 -0
  53. package/dist/cjs/processors/AgentProcessor.test.d.ts +2 -0
  54. package/dist/cjs/processors/AgentProcessor.test.d.ts.map +1 -0
  55. package/dist/cjs/processors/ChatProcessor.cjs +355 -122
  56. package/dist/cjs/processors/ChatProcessor.cjs.map +1 -1
  57. package/dist/cjs/processors/ChatProcessor.d.ts +71 -11
  58. package/dist/cjs/processors/ChatProcessor.d.ts.map +1 -1
  59. package/dist/cjs/processors/ChatProcessor.test.cjs +762 -0
  60. package/dist/cjs/processors/ChatProcessor.test.cjs.map +1 -0
  61. package/dist/cjs/processors/ChatProcessor.test.d.ts +2 -0
  62. package/dist/cjs/processors/ChatProcessor.test.d.ts.map +1 -0
  63. package/dist/cjs/processors/index.cjs +2 -0
  64. package/dist/cjs/processors/index.cjs.map +1 -1
  65. package/dist/cjs/processors/index.d.ts +2 -0
  66. package/dist/cjs/processors/index.d.ts.map +1 -1
  67. package/dist/cjs/services/AIService.cjs +87 -21
  68. package/dist/cjs/services/AIService.cjs.map +1 -1
  69. package/dist/cjs/services/AIService.d.ts +19 -7
  70. package/dist/cjs/services/AIService.d.ts.map +1 -1
  71. package/dist/cjs/services/InternalEventsHandler.cjs +3 -3
  72. package/dist/cjs/services/InternalEventsHandler.cjs.map +1 -1
  73. package/dist/cjs/services/InternalEventsHandler.d.ts +3 -1
  74. package/dist/cjs/services/InternalEventsHandler.d.ts.map +1 -1
  75. package/dist/cjs/services/ModelFetcher.cjs +2 -8
  76. package/dist/cjs/services/ModelFetcher.cjs.map +1 -1
  77. package/dist/cjs/services/ModelFetcher.d.ts +2 -7
  78. package/dist/cjs/services/ModelFetcher.d.ts.map +1 -1
  79. package/dist/cjs/services/RedisService.cjs +20 -16
  80. package/dist/cjs/services/RedisService.cjs.map +1 -1
  81. package/dist/cjs/services/RedisService.d.ts +5 -2
  82. package/dist/cjs/services/RedisService.d.ts.map +1 -1
  83. package/dist/cjs/services/SocketService.cjs +8 -8
  84. package/dist/cjs/services/SocketService.cjs.map +1 -1
  85. package/dist/cjs/services/SocketService.d.ts +9 -6
  86. package/dist/cjs/services/SocketService.d.ts.map +1 -1
  87. package/dist/cjs/services/index.cjs +0 -1
  88. package/dist/cjs/services/index.cjs.map +1 -1
  89. package/dist/cjs/services/index.d.ts +0 -1
  90. package/dist/cjs/services/index.d.ts.map +1 -1
  91. package/dist/cjs/store/AgentStore.cjs +3 -4
  92. package/dist/cjs/store/AgentStore.cjs.map +1 -1
  93. package/dist/cjs/store/AgentStore.d.ts +2 -1
  94. package/dist/cjs/store/AgentStore.d.ts.map +1 -1
  95. package/dist/cjs/store/ConfigStore.cjs +7 -3
  96. package/dist/cjs/store/ConfigStore.cjs.map +1 -1
  97. package/dist/cjs/store/ConfigStore.d.ts +1 -0
  98. package/dist/cjs/store/ConfigStore.d.ts.map +1 -1
  99. package/dist/cjs/tools/generateChartTool.d.ts +2 -2
  100. package/dist/cjs/tools/proposeFormValuesTool.d.ts +2 -2
  101. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/dist/esm/config.d.ts +57 -23
  103. package/dist/esm/config.d.ts.map +1 -1
  104. package/dist/esm/config.js +88 -35
  105. package/dist/esm/config.js.map +1 -1
  106. package/dist/esm/helpers/AIHelper.d.ts +22 -16
  107. package/dist/esm/helpers/AIHelper.d.ts.map +1 -1
  108. package/dist/esm/helpers/AIHelper.js +134 -70
  109. package/dist/esm/helpers/AIHelper.js.map +1 -1
  110. package/dist/esm/helpers/AIHelper.test.js +22 -15
  111. package/dist/esm/helpers/AIHelper.test.js.map +1 -1
  112. package/dist/esm/helpers/ConfigHelper.d.ts.map +1 -1
  113. package/dist/esm/helpers/ConfigHelper.js +15 -6
  114. package/dist/esm/helpers/ConfigHelper.js.map +1 -1
  115. package/dist/esm/helpers/FileHelper.d.ts +19 -25
  116. package/dist/esm/helpers/FileHelper.d.ts.map +1 -1
  117. package/dist/esm/helpers/FileHelper.js +131 -146
  118. package/dist/esm/helpers/FileHelper.js.map +1 -1
  119. package/dist/esm/helpers/index.d.ts +0 -1
  120. package/dist/esm/helpers/index.d.ts.map +1 -1
  121. package/dist/esm/helpers/index.js +0 -1
  122. package/dist/esm/helpers/index.js.map +1 -1
  123. package/dist/esm/index.d.ts +43 -11
  124. package/dist/esm/index.d.ts.map +1 -1
  125. package/dist/esm/index.js +92 -11
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/libs/index.d.ts +0 -1
  128. package/dist/esm/libs/index.d.ts.map +1 -1
  129. package/dist/esm/libs/index.js +0 -1
  130. package/dist/esm/libs/index.js.map +1 -1
  131. package/dist/esm/libs/s3/index.d.ts +1 -2
  132. package/dist/esm/libs/s3/index.d.ts.map +1 -1
  133. package/dist/esm/libs/s3/index.js +1 -2
  134. package/dist/esm/libs/s3/index.js.map +1 -1
  135. package/dist/esm/libs/s3/s3.lib.d.ts +29 -22
  136. package/dist/esm/libs/s3/s3.lib.d.ts.map +1 -1
  137. package/dist/esm/libs/s3/s3.lib.js +177 -172
  138. package/dist/esm/libs/s3/s3.lib.js.map +1 -1
  139. package/dist/esm/processors/ActivityProcessor.d.ts +32 -0
  140. package/dist/esm/processors/ActivityProcessor.d.ts.map +1 -0
  141. package/dist/esm/processors/ActivityProcessor.js +36 -0
  142. package/dist/esm/processors/ActivityProcessor.js.map +1 -0
  143. package/dist/esm/processors/ActivityProcessor.test.d.ts +2 -0
  144. package/dist/esm/processors/ActivityProcessor.test.d.ts.map +1 -0
  145. package/dist/esm/processors/ActivityProcessor.test.js +82 -0
  146. package/dist/esm/processors/ActivityProcessor.test.js.map +1 -0
  147. package/dist/esm/processors/AgentProcessor.d.ts +25 -0
  148. package/dist/esm/processors/AgentProcessor.d.ts.map +1 -0
  149. package/dist/esm/processors/AgentProcessor.js +43 -0
  150. package/dist/esm/processors/AgentProcessor.js.map +1 -0
  151. package/dist/esm/processors/AgentProcessor.test.d.ts +2 -0
  152. package/dist/esm/processors/AgentProcessor.test.d.ts.map +1 -0
  153. package/dist/esm/processors/AgentProcessor.test.js +101 -0
  154. package/dist/esm/processors/AgentProcessor.test.js.map +1 -0
  155. package/dist/esm/processors/ChatProcessor.d.ts +71 -11
  156. package/dist/esm/processors/ChatProcessor.d.ts.map +1 -1
  157. package/dist/esm/processors/ChatProcessor.js +366 -126
  158. package/dist/esm/processors/ChatProcessor.js.map +1 -1
  159. package/dist/esm/processors/ChatProcessor.test.d.ts +2 -0
  160. package/dist/esm/processors/ChatProcessor.test.d.ts.map +1 -0
  161. package/dist/esm/processors/ChatProcessor.test.js +760 -0
  162. package/dist/esm/processors/ChatProcessor.test.js.map +1 -0
  163. package/dist/esm/processors/index.d.ts +2 -0
  164. package/dist/esm/processors/index.d.ts.map +1 -1
  165. package/dist/esm/processors/index.js +2 -0
  166. package/dist/esm/processors/index.js.map +1 -1
  167. package/dist/esm/services/AIService.d.ts +19 -7
  168. package/dist/esm/services/AIService.d.ts.map +1 -1
  169. package/dist/esm/services/AIService.js +91 -24
  170. package/dist/esm/services/AIService.js.map +1 -1
  171. package/dist/esm/services/InternalEventsHandler.d.ts +3 -1
  172. package/dist/esm/services/InternalEventsHandler.d.ts.map +1 -1
  173. package/dist/esm/services/InternalEventsHandler.js +4 -3
  174. package/dist/esm/services/InternalEventsHandler.js.map +1 -1
  175. package/dist/esm/services/ModelFetcher.d.ts +2 -7
  176. package/dist/esm/services/ModelFetcher.d.ts.map +1 -1
  177. package/dist/esm/services/ModelFetcher.js +2 -8
  178. package/dist/esm/services/ModelFetcher.js.map +1 -1
  179. package/dist/esm/services/RedisService.d.ts +5 -2
  180. package/dist/esm/services/RedisService.d.ts.map +1 -1
  181. package/dist/esm/services/RedisService.js +21 -14
  182. package/dist/esm/services/RedisService.js.map +1 -1
  183. package/dist/esm/services/SocketService.d.ts +9 -6
  184. package/dist/esm/services/SocketService.d.ts.map +1 -1
  185. package/dist/esm/services/SocketService.js +10 -6
  186. package/dist/esm/services/SocketService.js.map +1 -1
  187. package/dist/esm/services/index.d.ts +0 -1
  188. package/dist/esm/services/index.d.ts.map +1 -1
  189. package/dist/esm/services/index.js +0 -1
  190. package/dist/esm/services/index.js.map +1 -1
  191. package/dist/esm/store/AgentStore.d.ts +2 -1
  192. package/dist/esm/store/AgentStore.d.ts.map +1 -1
  193. package/dist/esm/store/AgentStore.js +4 -2
  194. package/dist/esm/store/AgentStore.js.map +1 -1
  195. package/dist/esm/store/ConfigStore.d.ts +1 -0
  196. package/dist/esm/store/ConfigStore.d.ts.map +1 -1
  197. package/dist/esm/store/ConfigStore.js +7 -3
  198. package/dist/esm/store/ConfigStore.js.map +1 -1
  199. package/dist/esm/tools/generateChartTool.d.ts +2 -2
  200. package/dist/esm/tools/proposeFormValuesTool.d.ts +2 -2
  201. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  202. package/package.json +12 -12
  203. package/dist/cjs/helpers/SetupHelper.cjs +0 -37
  204. package/dist/cjs/helpers/SetupHelper.cjs.map +0 -1
  205. package/dist/cjs/helpers/SetupHelper.d.ts +0 -5
  206. package/dist/cjs/helpers/SetupHelper.d.ts.map +0 -1
  207. package/dist/cjs/libs/kafka/config.cjs +0 -8
  208. package/dist/cjs/libs/kafka/config.cjs.map +0 -1
  209. package/dist/cjs/libs/kafka/config.d.ts +0 -5
  210. package/dist/cjs/libs/kafka/config.d.ts.map +0 -1
  211. package/dist/cjs/libs/kafka/consumer.cjs +0 -131
  212. package/dist/cjs/libs/kafka/consumer.cjs.map +0 -1
  213. package/dist/cjs/libs/kafka/consumer.d.ts +0 -16
  214. package/dist/cjs/libs/kafka/consumer.d.ts.map +0 -1
  215. package/dist/cjs/libs/kafka/index.cjs +0 -19
  216. package/dist/cjs/libs/kafka/index.cjs.map +0 -1
  217. package/dist/cjs/libs/kafka/index.d.ts +0 -3
  218. package/dist/cjs/libs/kafka/index.d.ts.map +0 -1
  219. package/dist/cjs/libs/kafka/kafka.cjs +0 -27
  220. package/dist/cjs/libs/kafka/kafka.cjs.map +0 -1
  221. package/dist/cjs/libs/kafka/kafka.d.ts +0 -3
  222. package/dist/cjs/libs/kafka/kafka.d.ts.map +0 -1
  223. package/dist/cjs/libs/kafka/producer.cjs +0 -48
  224. package/dist/cjs/libs/kafka/producer.cjs.map +0 -1
  225. package/dist/cjs/libs/kafka/producer.d.ts +0 -11
  226. package/dist/cjs/libs/kafka/producer.d.ts.map +0 -1
  227. package/dist/cjs/libs/logger/config.cjs +0 -8
  228. package/dist/cjs/libs/logger/config.cjs.map +0 -1
  229. package/dist/cjs/libs/logger/config.d.ts +0 -5
  230. package/dist/cjs/libs/logger/config.d.ts.map +0 -1
  231. package/dist/cjs/libs/s3/config.cjs +0 -10
  232. package/dist/cjs/libs/s3/config.cjs.map +0 -1
  233. package/dist/cjs/libs/s3/config.d.ts +0 -7
  234. package/dist/cjs/libs/s3/config.d.ts.map +0 -1
  235. package/dist/cjs/services/KafkaService.cjs +0 -122
  236. package/dist/cjs/services/KafkaService.cjs.map +0 -1
  237. package/dist/cjs/services/KafkaService.d.ts +0 -35
  238. package/dist/cjs/services/KafkaService.d.ts.map +0 -1
  239. package/dist/esm/helpers/SetupHelper.d.ts +0 -5
  240. package/dist/esm/helpers/SetupHelper.d.ts.map +0 -1
  241. package/dist/esm/helpers/SetupHelper.js +0 -32
  242. package/dist/esm/helpers/SetupHelper.js.map +0 -1
  243. package/dist/esm/libs/kafka/config.d.ts +0 -5
  244. package/dist/esm/libs/kafka/config.d.ts.map +0 -1
  245. package/dist/esm/libs/kafka/config.js +0 -5
  246. package/dist/esm/libs/kafka/config.js.map +0 -1
  247. package/dist/esm/libs/kafka/consumer.d.ts +0 -16
  248. package/dist/esm/libs/kafka/consumer.d.ts.map +0 -1
  249. package/dist/esm/libs/kafka/consumer.js +0 -125
  250. package/dist/esm/libs/kafka/consumer.js.map +0 -1
  251. package/dist/esm/libs/kafka/index.d.ts +0 -3
  252. package/dist/esm/libs/kafka/index.d.ts.map +0 -1
  253. package/dist/esm/libs/kafka/index.js +0 -3
  254. package/dist/esm/libs/kafka/index.js.map +0 -1
  255. package/dist/esm/libs/kafka/kafka.d.ts +0 -3
  256. package/dist/esm/libs/kafka/kafka.d.ts.map +0 -1
  257. package/dist/esm/libs/kafka/kafka.js +0 -24
  258. package/dist/esm/libs/kafka/kafka.js.map +0 -1
  259. package/dist/esm/libs/kafka/producer.d.ts +0 -11
  260. package/dist/esm/libs/kafka/producer.d.ts.map +0 -1
  261. package/dist/esm/libs/kafka/producer.js +0 -45
  262. package/dist/esm/libs/kafka/producer.js.map +0 -1
  263. package/dist/esm/libs/logger/config.d.ts +0 -5
  264. package/dist/esm/libs/logger/config.d.ts.map +0 -1
  265. package/dist/esm/libs/logger/config.js +0 -5
  266. package/dist/esm/libs/logger/config.js.map +0 -1
  267. package/dist/esm/libs/s3/config.d.ts +0 -7
  268. package/dist/esm/libs/s3/config.d.ts.map +0 -1
  269. package/dist/esm/libs/s3/config.js +0 -7
  270. package/dist/esm/libs/s3/config.js.map +0 -1
  271. package/dist/esm/services/KafkaService.d.ts +0 -35
  272. package/dist/esm/services/KafkaService.d.ts.map +0 -1
  273. package/dist/esm/services/KafkaService.js +0 -123
  274. package/dist/esm/services/KafkaService.js.map +0 -1
@@ -1,14 +1,46 @@
1
- export { kafkaService } from './services/KafkaService';
2
- export { redisService } from './services/RedisService';
3
- export { socketService } from './services/SocketService';
4
- export { agentStore, AgentProcessEventType } from './store/AgentStore';
1
+ export { createProposeFormValuesTool, proposeFormValuesToolName } from './tools/proposeFormValuesTool';
2
+ export type { Config } from './config';
5
3
  export type { AgentProcessEvent, AgentProcessListener, AgentProcess, AgentProcessEventPayload } from './store/AgentStore';
4
+ export type { AgentLogger } from './libs/logger';
6
5
  export { ConfigStore } from './store/ConfigStore';
7
- export { ModelStore } from './store/ModelStore';
8
- export { ArtifactStore } from './store/ArtifactStore';
9
- export { ChatProcessor, ModelsProcessor } from './processors';
10
- export { startServices, stopServices } from './helpers/SetupHelper';
11
- export { createProposeFormValuesTool, proposeFormValuesToolName } from './tools/proposeFormValuesTool';
12
- export { s3 } from './libs/s3';
13
- export { setLogger, getLogger, logger, type AgentLogger } from './libs/logger';
6
+ import { Config } from './config';
7
+ import { S3Lib } from './libs';
8
+ import { Middleware } from './services';
9
+ import { Server as HTTPServer } from 'http';
10
+ import { AgentChatRepository, AgentMessageRepository, ActivityRepository, AgentConfigRepository } from '@multiplayer-app/ai-agent-db';
11
+ import { ConfigStore } from './store';
12
+ import { type AgentLogger } from './libs/logger';
13
+ import { ArtifactStore } from './store';
14
+ import { ActivityProcessor, ChatProcessor, ModelsProcessor, AgentProcessor } from './processors';
15
+ export interface AIAgentServiceOptions {
16
+ chatRepository: AgentChatRepository;
17
+ messageRepository: AgentMessageRepository;
18
+ activityRepository: ActivityRepository;
19
+ agentConfigRepository: AgentConfigRepository;
20
+ setupAgents: (agentStore: ConfigStore) => void;
21
+ artifactStore?: ArtifactStore;
22
+ config?: Partial<Config>;
23
+ logger?: AgentLogger;
24
+ }
25
+ export declare class AIAgentService {
26
+ private readonly chatProcessor;
27
+ private readonly modelsProcessor;
28
+ private readonly activityProcessor;
29
+ private readonly agentProcessor;
30
+ private readonly s3;
31
+ private readonly socketService;
32
+ private readonly redisService;
33
+ private readonly agentStore;
34
+ constructor(options: AIAgentServiceOptions);
35
+ start(): Promise<[void, void, void]>;
36
+ stop(): Promise<[void]>;
37
+ getS3(): S3Lib;
38
+ stopAgentProcess(chatId: string): Promise<void>;
39
+ initSocketSupport(httpServer: HTTPServer, authorizationMiddleware?: Middleware): Promise<void>;
40
+ getChatProcessor(): ChatProcessor;
41
+ getModelProcessor(): ModelsProcessor;
42
+ getActivityProcessor(): ActivityProcessor;
43
+ getAgentProcessor(): AgentProcessor;
44
+ private fetchModels;
45
+ }
14
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1H,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAkB,MAAM,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAiB,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACtI,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAe,EAAa,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGjG,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,mBAAmB,CAAC;IACpC,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,OAAO,EAAE,qBAAqB;IA+B1C,KAAK;IAQL,IAAI;IAIJ,KAAK;IAIC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,uBAAuB,CAAC,EAAE,UAAU;IAI9E,gBAAgB;IAIhB,iBAAiB;IAIjB,oBAAoB;IAGpB,iBAAiB;YAIH,WAAW;CAU5B"}
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./kafka/index.cjs"), exports);
18
17
  __exportStar(require("./logger/index.cjs"), exports);
19
18
  __exportStar(require("./s3/index.cjs"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,uCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,uCAAqB"}
@@ -1,4 +1,3 @@
1
- export * from './kafka';
2
1
  export * from './logger';
3
2
  export * from './s3';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC"}
@@ -1,44 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.s3 = exports.ObjectCannedACL = void 0;
3
+ exports.S3Lib = exports.ObjectCannedACL = void 0;
40
4
  var client_s3_1 = require("@aws-sdk/client-s3");
41
5
  Object.defineProperty(exports, "ObjectCannedACL", { enumerable: true, get: function () { return client_s3_1.ObjectCannedACL; } });
42
- exports.s3 = __importStar(require("./s3.lib.cjs"));
43
- __exportStar(require("./config.cjs"), exports);
6
+ var s3_lib_1 = require("./s3.lib.cjs");
7
+ Object.defineProperty(exports, "S3Lib", { enumerable: true, get: function () { return s3_lib_1.S3Lib; } });
44
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libs/s3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAoD;AAA3C,4GAAA,eAAe,OAAA;AACxB,+CAA8B;AAC9B,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libs/s3/index.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAA3C,4GAAA,eAAe,OAAA;AACxB,mCAAgC;AAAvB,+FAAA,KAAK,OAAA"}
@@ -1,4 +1,3 @@
1
1
  export { ObjectCannedACL } from '@aws-sdk/client-s3';
2
- export * as s3 from './s3.lib';
3
- export * from './config';
2
+ export { S3Lib } from './s3.lib';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,UAAU,CAAA;AAC9B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA"}
@@ -3,218 +3,205 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ensureBucketExists = exports.deleteObjectsByPrefix = exports.deleteObject = exports.headObject = exports.listObjectsByPrefix = exports.getObject = exports.copyBetweenBuckets = exports.copy = exports.getDownloadUrl = exports.getPresignedDownloadUrl = exports.getPresignedUploadUrl = exports.streamUpload = exports.downloadFileAsByteArray = exports.downloadFileAsString = exports.downloadFile = exports.uploadFile = void 0;
6
+ exports.S3Lib = void 0;
7
7
  const client_s3_1 = require("@aws-sdk/client-s3");
8
8
  const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
9
9
  const util_create_request_1 = require("@aws-sdk/util-create-request");
10
10
  const util_format_url_1 = require("@aws-sdk/util-format-url");
11
11
  const lib_storage_1 = require("@aws-sdk/lib-storage");
12
12
  const stream_1 = __importDefault(require("stream"));
13
- const config_1 = require("./config.cjs");
14
13
  const logger_1 = __importDefault(require("../logger/index.cjs"));
15
- const S3Client = new client_s3_1.S3({
16
- ...config_1.S3_HOST ? {
17
- endpoint: config_1.S3_HOST,
18
- forcePathStyle: true,
19
- }
20
- : {},
21
- });
22
- const signer = new s3_request_presigner_1.S3RequestPresigner({
23
- ...S3Client.config,
24
- });
25
- const uploadFile = (Key, Bucket, Body, Expires) => {
26
- return S3Client.putObject({
27
- Key,
28
- Bucket,
29
- Body,
30
- Expires,
31
- });
32
- };
33
- exports.uploadFile = uploadFile;
34
- const downloadFile = (Key, Bucket) => {
35
- const command = new client_s3_1.GetObjectCommand({
36
- Bucket,
37
- Key,
38
- });
39
- return S3Client.send(command);
40
- };
41
- exports.downloadFile = downloadFile;
42
- const downloadFileAsString = async (Key, Bucket) => {
43
- try {
14
+ class S3Lib {
15
+ constructor(config) {
16
+ this.config = config;
17
+ this.client = new client_s3_1.S3({
18
+ ...this.config.host ? {
19
+ endpoint: this.config.host,
20
+ forcePathStyle: true,
21
+ }
22
+ : {},
23
+ });
24
+ this.signer = new s3_request_presigner_1.S3RequestPresigner({
25
+ ...this.client.config,
26
+ });
27
+ }
28
+ uploadFile(Key, Bucket, Body, Expires) {
29
+ return this.client.putObject({
30
+ Key,
31
+ Bucket,
32
+ Body,
33
+ Expires,
34
+ });
35
+ }
36
+ downloadFile(Key, Bucket) {
44
37
  const command = new client_s3_1.GetObjectCommand({
45
38
  Bucket,
46
39
  Key,
47
40
  });
48
- const response = await S3Client.send(command);
49
- return response.Body?.transformToString();
41
+ return this.client.send(command);
50
42
  }
51
- catch (err) {
52
- if (err?.name === 'NoSuchKey') {
53
- return undefined;
43
+ async downloadFileAsString(Key, Bucket) {
44
+ try {
45
+ const command = new client_s3_1.GetObjectCommand({
46
+ Bucket,
47
+ Key,
48
+ });
49
+ const response = await this.client.send(command);
50
+ return response.Body?.transformToString();
51
+ }
52
+ catch (err) {
53
+ if (err?.name === 'NoSuchKey') {
54
+ return undefined;
55
+ }
56
+ throw err;
54
57
  }
55
- throw err;
56
58
  }
57
- };
58
- exports.downloadFileAsString = downloadFileAsString;
59
- const downloadFileAsByteArray = async (Key, Bucket) => {
60
- try {
61
- const command = new client_s3_1.GetObjectCommand({
59
+ async downloadFileAsByteArray(Key, Bucket) {
60
+ try {
61
+ const command = new client_s3_1.GetObjectCommand({
62
+ Bucket,
63
+ Key,
64
+ });
65
+ const response = await this.client.send(command);
66
+ return response.Body?.transformToByteArray();
67
+ }
68
+ catch (err) {
69
+ if (err?.name === 'NoSuchKey') {
70
+ return undefined;
71
+ }
72
+ throw err;
73
+ }
74
+ }
75
+ streamUpload(Key, Bucket, ACL) {
76
+ const passThroughStream = new stream_1.default.PassThrough();
77
+ const options = {
78
+ client: this.client,
79
+ params: {
80
+ Bucket,
81
+ Key,
82
+ Body: passThroughStream,
83
+ },
84
+ leavePartsOnError: false,
85
+ };
86
+ if (ACL) {
87
+ options.params.ACL = ACL;
88
+ }
89
+ const upload = new lib_storage_1.Upload(options);
90
+ return {
91
+ writeStream: passThroughStream,
92
+ promise: upload.done(),
93
+ };
94
+ }
95
+ async getPresignedUploadUrl(Key, Bucket, expiresIn) {
96
+ const request = await (0, util_create_request_1.createRequest)(this.client, new client_s3_1.PutObjectCommand({ Key, Bucket }));
97
+ return (0, util_format_url_1.formatUrl)(await this.signer.presign(request, {
98
+ expiresIn: expiresIn || this.config.presignedUrlExpires || 120,
99
+ }));
100
+ }
101
+ async getPresignedDownloadUrl(Key, Bucket) {
102
+ const request = await (0, util_create_request_1.createRequest)(this.client, new client_s3_1.GetObjectCommand({ Key, Bucket }));
103
+ return (0, util_format_url_1.formatUrl)(await this.signer.presign(request, {
104
+ expiresIn: this.config.presignedUrlExpires || 120,
105
+ }));
106
+ }
107
+ getDownloadUrl(Key, Bucket) {
108
+ if (this.config.host) {
109
+ return `${this.config.host}/${Bucket}/${Key}`;
110
+ }
111
+ const regionString = this.config.region?.includes('us-east-1') ? '' : '-' + this.config.region;
112
+ return `https://${Bucket}.s3${regionString}.amazonaws.com/${Key}`;
113
+ }
114
+ copy(Bucket, KeyFrom, KeyTo) {
115
+ return this.client.copyObject({
116
+ CopySource: `/${Bucket}/${KeyFrom}`,
117
+ Bucket,
118
+ Key: KeyTo,
119
+ });
120
+ }
121
+ copyBetweenBuckets(BucketFrom, KeyFrom, BucketTo, KeyTo) {
122
+ return this.client.copyObject({
123
+ CopySource: `/${BucketFrom}/${KeyFrom}`,
124
+ Bucket: BucketTo,
125
+ Key: KeyTo,
126
+ });
127
+ }
128
+ async getObject(Bucket, Key) {
129
+ return this.client.getObject({
62
130
  Bucket,
63
131
  Key,
64
132
  });
65
- const response = await S3Client.send(command);
66
- return response.Body?.transformToByteArray();
67
133
  }
68
- catch (err) {
69
- if (err?.name === 'NoSuchKey') {
70
- return undefined;
71
- }
72
- throw err;
134
+ async listObjectsByPrefix(Bucket, Prefix) {
135
+ return this.client.send(new client_s3_1.ListObjectsV2Command({
136
+ Bucket,
137
+ Prefix,
138
+ }));
73
139
  }
74
- };
75
- exports.downloadFileAsByteArray = downloadFileAsByteArray;
76
- const streamUpload = (Key, Bucket, ACL) => {
77
- const passThroughStream = new stream_1.default.PassThrough();
78
- const options = {
79
- client: S3Client,
80
- params: {
140
+ async headObject(Bucket, Key) {
141
+ return this.client.headObject({
81
142
  Bucket,
82
143
  Key,
83
- Body: passThroughStream,
84
- },
85
- leavePartsOnError: false,
86
- };
87
- if (ACL) {
88
- options.params.ACL = ACL;
89
- }
90
- const upload = new lib_storage_1.Upload(options);
91
- return {
92
- writeStream: passThroughStream,
93
- promise: upload.done(),
94
- };
95
- };
96
- exports.streamUpload = streamUpload;
97
- const getPresignedUploadUrl = async (Key, Bucket, expiresIn) => {
98
- const request = await (0, util_create_request_1.createRequest)(S3Client, new client_s3_1.PutObjectCommand({ Key, Bucket }));
99
- const signedUrl = (0, util_format_url_1.formatUrl)(await signer.presign(request, {
100
- expiresIn: expiresIn || config_1.S3_PRESIGNED_URL_EXPIRES,
101
- }));
102
- return signedUrl;
103
- };
104
- exports.getPresignedUploadUrl = getPresignedUploadUrl;
105
- const getPresignedDownloadUrl = async (Key, Bucket) => {
106
- const request = await (0, util_create_request_1.createRequest)(S3Client, new client_s3_1.GetObjectCommand({ Key, Bucket }));
107
- const signedUrl = (0, util_format_url_1.formatUrl)(await signer.presign(request, {
108
- expiresIn: config_1.S3_PRESIGNED_URL_EXPIRES,
109
- }));
110
- return signedUrl;
111
- };
112
- exports.getPresignedDownloadUrl = getPresignedDownloadUrl;
113
- const getDownloadUrl = (Key, Bucket) => {
114
- if (config_1.S3_HOST) {
115
- return `${config_1.S3_HOST}/${Bucket}/${Key}`;
144
+ });
116
145
  }
117
- const regionString = config_1.AWS_REGION.includes('us-east-1') ? '' : '-' + config_1.AWS_REGION;
118
- return `https://${Bucket}.s3${regionString}.amazonaws.com/${Key}`;
119
- };
120
- exports.getDownloadUrl = getDownloadUrl;
121
- const copy = (Bucket, KeyFrom, KeyTo) => {
122
- return S3Client.copyObject({
123
- CopySource: `/${Bucket}/${KeyFrom}`,
124
- Bucket,
125
- Key: KeyTo,
126
- });
127
- };
128
- exports.copy = copy;
129
- const copyBetweenBuckets = (BucketFrom, KeyFrom, BucketTo, KeyTo) => {
130
- return S3Client.copyObject({
131
- CopySource: `/${BucketFrom}/${KeyFrom}`,
132
- Bucket: BucketTo,
133
- Key: KeyTo,
134
- });
135
- };
136
- exports.copyBetweenBuckets = copyBetweenBuckets;
137
- const getObject = async (Bucket, Key) => {
138
- return S3Client.getObject({
139
- Bucket,
140
- Key,
141
- });
142
- };
143
- exports.getObject = getObject;
144
- const listObjectsByPrefix = async (Bucket, Prefix) => {
145
- return S3Client.send(new client_s3_1.ListObjectsV2Command({
146
- Bucket,
147
- Prefix,
148
- }));
149
- };
150
- exports.listObjectsByPrefix = listObjectsByPrefix;
151
- const headObject = async (Bucket, Key) => {
152
- return S3Client.headObject({
153
- Bucket,
154
- Key,
155
- });
156
- };
157
- exports.headObject = headObject;
158
- const deleteObject = async (Bucket, Key) => {
159
- return S3Client.deleteObject({
160
- Bucket,
161
- Key,
162
- });
163
- };
164
- exports.deleteObject = deleteObject;
165
- const deleteObjectsByPrefix = async (Bucket, Prefix, ContinuationToken) => {
166
- const objects = await S3Client.listObjectsV2({ Bucket, Prefix, ContinuationToken });
167
- if (!objects.Contents?.length)
168
- return;
169
- const deleteParams = {
170
- Bucket,
171
- Delete: { Objects: [] },
172
- };
173
- objects.Contents.forEach(({ Key }) => {
174
- if (!Key)
175
- return;
176
- deleteParams.Delete.Objects.push({ Key });
177
- });
178
- logger_1.default.info(deleteParams, '[S3] Deleting objects');
179
- const deletedResp = await S3Client.deleteObjects(deleteParams);
180
- if (deletedResp.Errors?.length) {
181
- logger_1.default.error(deletedResp.Errors, '[S3] Error during deleteObjectsByPrefix');
146
+ async deleteObject(Bucket, Key) {
147
+ return this.client.deleteObject({
148
+ Bucket,
149
+ Key,
150
+ });
182
151
  }
183
- if (objects.IsTruncated) {
184
- await (0, exports.deleteObjectsByPrefix)(Bucket, Prefix, objects.NextContinuationToken);
152
+ async deleteObjectsByPrefix(Bucket, Prefix, ContinuationToken) {
153
+ const objects = await this.client.listObjectsV2({ Bucket, Prefix, ContinuationToken });
154
+ if (!objects.Contents?.length)
155
+ return;
156
+ const deleteParams = {
157
+ Bucket,
158
+ Delete: { Objects: [] },
159
+ };
160
+ objects.Contents.forEach(({ Key }) => {
161
+ if (!Key)
162
+ return;
163
+ deleteParams.Delete.Objects.push({ Key });
164
+ });
165
+ logger_1.default.info(deleteParams, '[S3] Deleting objects');
166
+ const deletedResp = await this.client.deleteObjects(deleteParams);
167
+ if (deletedResp.Errors?.length) {
168
+ logger_1.default.error(deletedResp.Errors, '[S3] Error during deleteObjectsByPrefix');
169
+ }
170
+ if (objects.IsTruncated) {
171
+ await this.deleteObjectsByPrefix(Bucket, Prefix, objects.NextContinuationToken);
172
+ }
185
173
  }
186
- };
187
- exports.deleteObjectsByPrefix = deleteObjectsByPrefix;
188
- /**
189
- * Ensures a bucket exists, creating it if it doesn't
190
- */
191
- const ensureBucketExists = async (Bucket) => {
192
- try {
193
- await S3Client.send(new client_s3_1.HeadBucketCommand({ Bucket }));
194
- // Bucket exists
195
- return;
196
- }
197
- catch (error) {
198
- // If bucket doesn't exist, create it
199
- if (error.$metadata?.httpStatusCode === 404) {
200
- try {
201
- await S3Client.send(new client_s3_1.CreateBucketCommand({ Bucket }));
202
- logger_1.default.info({ Bucket }, '[S3] Created bucket');
203
- }
204
- catch (createError) {
205
- // Ignore if bucket was created by another process
206
- if (createError.$metadata?.httpStatusCode !== 409) {
207
- logger_1.default.error({ Bucket, error: createError }, '[S3] Failed to create bucket');
208
- throw createError;
174
+ /**
175
+ * Ensures a bucket exists, creating it if it doesn't
176
+ */
177
+ async ensureBucketExists(Bucket) {
178
+ try {
179
+ await this.client.send(new client_s3_1.HeadBucketCommand({ Bucket }));
180
+ // Bucket exists
181
+ return;
182
+ }
183
+ catch (error) {
184
+ // If bucket doesn't exist, create it
185
+ if (error.$metadata?.httpStatusCode === 404) {
186
+ try {
187
+ await this.client.send(new client_s3_1.CreateBucketCommand({ Bucket }));
188
+ logger_1.default.info({ Bucket }, '[S3] Created bucket');
189
+ }
190
+ catch (createError) {
191
+ // Ignore if bucket was created by another process
192
+ if (createError.$metadata?.httpStatusCode !== 409) {
193
+ logger_1.default.error({ Bucket, error: createError }, '[S3] Failed to create bucket');
194
+ throw createError;
195
+ }
209
196
  }
210
197
  }
211
- }
212
- else {
213
- // Some other error (permissions, etc.)
214
- logger_1.default.error({ Bucket, error }, '[S3] Failed to check bucket existence');
215
- throw error;
198
+ else {
199
+ // Some other error (permissions, etc.)
200
+ logger_1.default.error({ Bucket, error }, '[S3] Failed to check bucket existence');
201
+ throw error;
202
+ }
216
203
  }
217
204
  }
218
- };
219
- exports.ensureBucketExists = ensureBucketExists;
205
+ }
206
+ exports.S3Lib = S3Lib;
220
207
  //# sourceMappingURL=s3.lib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.lib.js","sourceRoot":"","sources":["../../../../src/libs/s3/s3.lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.lib.js","sourceRoot":"","sources":["../../../../src/libs/s3/s3.lib.ts"],"names":[],"mappings":"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"}