openloops 0.1.8 → 0.1.10

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 (296) hide show
  1. package/dist/chunk-XRJFNASX.mjs +14 -0
  2. package/dist/common/clients/index.js +26 -0
  3. package/dist/common/clients/index.mjs +3 -0
  4. package/dist/common/clients/llm-client.js +159 -0
  5. package/dist/common/clients/llm-client.mjs +126 -0
  6. package/dist/common/clients/sentry-client.js +87 -0
  7. package/dist/common/clients/sentry-client.mjs +53 -0
  8. package/dist/common/clients/serper-client.js +74 -0
  9. package/dist/common/clients/serper-client.mjs +41 -0
  10. package/dist/common/core/base.app.js +57 -0
  11. package/dist/common/core/base.app.mjs +34 -0
  12. package/dist/common/core/base.entity.js +208 -0
  13. package/dist/common/core/base.entity.mjs +179 -0
  14. package/dist/common/core/base.use-case.js +30 -0
  15. package/dist/common/core/base.use-case.mjs +7 -0
  16. package/dist/common/core/index.js +1 -0
  17. package/dist/common/core/index.mjs +0 -0
  18. package/dist/common/core/utils/delete-empty-fields.js +66 -0
  19. package/dist/common/core/utils/delete-empty-fields.mjs +43 -0
  20. package/dist/common/core/utils/flatten-object.js +45 -0
  21. package/dist/common/core/utils/flatten-object.mjs +22 -0
  22. package/dist/common/core/utils/index.js +26 -0
  23. package/dist/common/core/utils/index.mjs +3 -0
  24. package/dist/common/core/utils/is-plain-object.js +32 -0
  25. package/dist/common/core/utils/is-plain-object.mjs +9 -0
  26. package/dist/common/decorators/admin-only/admin-only.js +52 -0
  27. package/dist/common/decorators/admin-only/admin-only.mjs +28 -0
  28. package/dist/common/decorators/admin-only/index.js +22 -0
  29. package/dist/common/decorators/admin-only/index.mjs +1 -0
  30. package/dist/common/decorators/index.js +26 -0
  31. package/dist/common/decorators/index.mjs +3 -0
  32. package/dist/common/decorators/mask-in-logs/index.js +22 -0
  33. package/dist/common/decorators/mask-in-logs/index.mjs +1 -0
  34. package/dist/common/decorators/mask-in-logs/mask-in-logs.js +53 -0
  35. package/dist/common/decorators/mask-in-logs/mask-in-logs.mjs +29 -0
  36. package/dist/common/decorators/owner-only/index.js +22 -0
  37. package/dist/common/decorators/owner-only/index.mjs +1 -0
  38. package/dist/common/decorators/owner-only/owner-only.js +52 -0
  39. package/dist/common/decorators/owner-only/owner-only.mjs +28 -0
  40. package/dist/common/error/http-error.js +37 -0
  41. package/dist/common/error/http-error.mjs +14 -0
  42. package/dist/common/error/index.js +24 -0
  43. package/dist/common/error/index.mjs +2 -0
  44. package/dist/common/error/reportError.js +51 -0
  45. package/dist/common/error/reportError.mjs +28 -0
  46. package/dist/common/helpers/extract-json-from-text.js +63 -0
  47. package/dist/common/helpers/extract-json-from-text.mjs +40 -0
  48. package/dist/common/helpers/index.js +24 -0
  49. package/dist/common/helpers/index.mjs +2 -0
  50. package/dist/common/helpers/sanitize-string.js +45 -0
  51. package/dist/common/helpers/sanitize-string.mjs +12 -0
  52. package/dist/common/logger/index.js +22 -0
  53. package/dist/common/logger/index.mjs +1 -0
  54. package/dist/common/logger/pino.js +70 -0
  55. package/dist/common/logger/pino.mjs +36 -0
  56. package/dist/common/repositories/index.js +24 -0
  57. package/dist/common/repositories/index.mjs +2 -0
  58. package/dist/common/repositories/mongo-db.client.js +79 -0
  59. package/dist/common/repositories/mongo-db.client.mjs +57 -0
  60. package/dist/common/repositories/mongo-db.repository.js +219 -0
  61. package/dist/common/repositories/mongo-db.repository.mjs +196 -0
  62. package/dist/common/utils/secret-manager.js +105 -0
  63. package/dist/common/utils/secret-manager.mjs +71 -0
  64. package/dist/index.js +22 -7
  65. package/dist/index.mjs +1 -7
  66. package/dist/services/agent/core/agent-loop.js +29 -0
  67. package/dist/services/agent/core/agent-loop.mjs +6 -0
  68. package/dist/services/agent/core/agent-state.js +102 -0
  69. package/dist/services/agent/core/agent-state.mjs +78 -0
  70. package/dist/services/agent/core/agent.js +351 -0
  71. package/dist/services/agent/core/agent.mjs +327 -0
  72. package/dist/services/agent/core/index.js +26 -0
  73. package/dist/services/agent/core/index.mjs +3 -0
  74. package/dist/services/agent/loops/index.js +24 -0
  75. package/dist/services/agent/loops/index.mjs +2 -0
  76. package/dist/services/agent/loops/plan-execute/index.js +22 -0
  77. package/dist/services/agent/loops/plan-execute/index.mjs +1 -0
  78. package/dist/services/agent/loops/plan-execute/plan-execute-loop.js +242 -0
  79. package/dist/services/agent/loops/plan-execute/plan-execute-loop.mjs +226 -0
  80. package/dist/services/agent/loops/shared/index.js +22 -0
  81. package/dist/services/agent/loops/shared/index.mjs +1 -0
  82. package/dist/services/agent/loops/shared/skills/action-planner.js +68 -0
  83. package/dist/services/agent/loops/shared/skills/action-planner.mjs +45 -0
  84. package/dist/services/agent/loops/shared/skills/confirmation-gate.js +53 -0
  85. package/dist/services/agent/loops/shared/skills/confirmation-gate.mjs +30 -0
  86. package/dist/services/agent/loops/shared/skills/fast-responder.js +70 -0
  87. package/dist/services/agent/loops/shared/skills/fast-responder.mjs +47 -0
  88. package/dist/services/agent/loops/shared/skills/final-responder.js +57 -0
  89. package/dist/services/agent/loops/shared/skills/final-responder.mjs +34 -0
  90. package/dist/services/agent/loops/shared/skills/index.js +32 -0
  91. package/dist/services/agent/loops/shared/skills/index.mjs +6 -0
  92. package/dist/services/agent/loops/shared/skills/state-observer.js +57 -0
  93. package/dist/services/agent/loops/shared/skills/state-observer.mjs +34 -0
  94. package/dist/services/agent/loops/shared/skills/strategy-engine.js +60 -0
  95. package/dist/services/agent/loops/shared/skills/strategy-engine.mjs +37 -0
  96. package/dist/services/agent/modules/chats/entities/agent-action.entity.js +151 -0
  97. package/dist/services/agent/modules/chats/entities/agent-action.entity.mjs +128 -0
  98. package/dist/services/agent/modules/chats/entities/agent-task.entity.js +231 -0
  99. package/dist/services/agent/modules/chats/entities/agent-task.entity.mjs +207 -0
  100. package/dist/services/agent/modules/chats/entities/chat-context.entity.js +70 -0
  101. package/dist/services/agent/modules/chats/entities/chat-context.entity.mjs +47 -0
  102. package/dist/services/agent/modules/chats/entities/chat-message.entity.js +58 -0
  103. package/dist/services/agent/modules/chats/entities/chat-message.entity.mjs +35 -0
  104. package/dist/services/agent/modules/chats/entities/chat-settings.entity.js +63 -0
  105. package/dist/services/agent/modules/chats/entities/chat-settings.entity.mjs +40 -0
  106. package/dist/services/agent/modules/chats/entities/chat.entity.js +163 -0
  107. package/dist/services/agent/modules/chats/entities/chat.entity.mjs +140 -0
  108. package/dist/services/agent/modules/chats/entities/index.js +22 -0
  109. package/dist/services/agent/modules/chats/entities/index.mjs +1 -0
  110. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js +56 -0
  111. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.mjs +27 -0
  112. package/dist/services/agent/modules/chats/lambdas/create-chat/index.js +22 -0
  113. package/dist/services/agent/modules/chats/lambdas/create-chat/index.mjs +1 -0
  114. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js +61 -0
  115. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.mjs +32 -0
  116. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js +22 -0
  117. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.mjs +1 -0
  118. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js +52 -0
  119. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.mjs +23 -0
  120. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js +22 -0
  121. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.mjs +1 -0
  122. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js +22 -0
  123. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.mjs +1 -0
  124. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js +64 -0
  125. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.mjs +35 -0
  126. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js +22 -0
  127. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.mjs +1 -0
  128. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js +52 -0
  129. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.mjs +23 -0
  130. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js +22 -0
  131. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.mjs +1 -0
  132. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js +59 -0
  133. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.mjs +30 -0
  134. package/dist/services/agent/modules/chats/lambdas/update-chat/index.js +22 -0
  135. package/dist/services/agent/modules/chats/lambdas/update-chat/index.mjs +1 -0
  136. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js +64 -0
  137. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.mjs +35 -0
  138. package/dist/services/agent/modules/chats/repositories/chat.repository.js +67 -0
  139. package/dist/services/agent/modules/chats/repositories/chat.repository.mjs +38 -0
  140. package/dist/services/agent/modules/chats/repositories/index.js +22 -0
  141. package/dist/services/agent/modules/chats/repositories/index.mjs +1 -0
  142. package/dist/services/agent/modules/llmcalls/entities/index.js +22 -0
  143. package/dist/services/agent/modules/llmcalls/entities/index.mjs +1 -0
  144. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js +71 -0
  145. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.mjs +48 -0
  146. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js +56 -0
  147. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.mjs +27 -0
  148. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js +22 -0
  149. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.mjs +1 -0
  150. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js +61 -0
  151. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.mjs +32 -0
  152. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js +22 -0
  153. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.mjs +1 -0
  154. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js +123 -0
  155. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.mjs +94 -0
  156. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js +22 -0
  157. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.mjs +1 -0
  158. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js +52 -0
  159. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.mjs +23 -0
  160. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js +22 -0
  161. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.mjs +1 -0
  162. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js +22 -0
  163. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.mjs +1 -0
  164. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js +52 -0
  165. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.mjs +23 -0
  166. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js +22 -0
  167. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.mjs +1 -0
  168. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js +62 -0
  169. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.mjs +33 -0
  170. package/dist/services/agent/modules/llmcalls/repositories/index.js +22 -0
  171. package/dist/services/agent/modules/llmcalls/repositories/index.mjs +1 -0
  172. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js +67 -0
  173. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.mjs +38 -0
  174. package/dist/services/agent/modules/mcp-servers/entities/index.js +22 -0
  175. package/dist/services/agent/modules/mcp-servers/entities/index.mjs +1 -0
  176. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js +79 -0
  177. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.mjs +56 -0
  178. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js +56 -0
  179. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.mjs +27 -0
  180. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js +22 -0
  181. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.mjs +1 -0
  182. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js +61 -0
  183. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.mjs +32 -0
  184. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js +22 -0
  185. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.mjs +1 -0
  186. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js +52 -0
  187. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.mjs +23 -0
  188. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js +22 -0
  189. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.mjs +1 -0
  190. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js +22 -0
  191. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.mjs +1 -0
  192. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js +59 -0
  193. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.mjs +30 -0
  194. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js +22 -0
  195. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.mjs +1 -0
  196. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js +61 -0
  197. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.mjs +32 -0
  198. package/dist/services/agent/modules/mcp-servers/repositories/index.js +22 -0
  199. package/dist/services/agent/modules/mcp-servers/repositories/index.mjs +1 -0
  200. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js +67 -0
  201. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.mjs +38 -0
  202. package/dist/services/agent/skills/index.js +24 -0
  203. package/dist/services/agent/skills/index.mjs +2 -0
  204. package/dist/services/agent/skills/shared/index.js +22 -0
  205. package/dist/services/agent/skills/shared/index.mjs +1 -0
  206. package/dist/services/agent/skills/shared/shared-rules.js +37 -0
  207. package/dist/services/agent/skills/shared/shared-rules.mjs +11 -0
  208. package/dist/services/agent/skills/skill-runner.js +121 -0
  209. package/dist/services/agent/skills/skill-runner.mjs +92 -0
  210. package/dist/services/agent/skills/skill.js +128 -0
  211. package/dist/services/agent/skills/skill.mjs +105 -0
  212. package/dist/services/agent/tools/core/call-ai/call-ai.skill.js +54 -0
  213. package/dist/services/agent/tools/core/call-ai/call-ai.skill.mjs +31 -0
  214. package/dist/services/agent/tools/core/call-ai/call-ai.tool.js +68 -0
  215. package/dist/services/agent/tools/core/call-ai/call-ai.tool.mjs +45 -0
  216. package/dist/services/agent/tools/core/call-ai/index.js +22 -0
  217. package/dist/services/agent/tools/core/call-ai/index.mjs +1 -0
  218. package/dist/services/agent/tools/core/index.js +24 -0
  219. package/dist/services/agent/tools/core/index.mjs +2 -0
  220. package/dist/services/agent/tools/core/web-search/index.js +22 -0
  221. package/dist/services/agent/tools/core/web-search/index.mjs +1 -0
  222. package/dist/services/agent/tools/core/web-search/web-search.tool.js +51 -0
  223. package/dist/services/agent/tools/core/web-search/web-search.tool.mjs +30 -0
  224. package/dist/services/agent/tools/index.js +24 -0
  225. package/dist/services/agent/tools/index.mjs +2 -0
  226. package/dist/services/agent/tools/tool.js +57 -0
  227. package/dist/services/agent/tools/tool.mjs +34 -0
  228. package/dist/services/agent/utils/rank-tools-by-keywords.js +65 -0
  229. package/dist/services/agent/utils/rank-tools-by-keywords.mjs +42 -0
  230. package/dist/services/app/core/app.js +60 -0
  231. package/dist/services/app/core/app.mjs +47 -0
  232. package/dist/services/app/core/current-session.js +124 -0
  233. package/dist/services/app/core/current-session.mjs +104 -0
  234. package/dist/services/app/core/current-user.js +84 -0
  235. package/dist/services/app/core/current-user.mjs +61 -0
  236. package/dist/services/app/core/index.js +26 -0
  237. package/dist/services/app/core/index.mjs +3 -0
  238. package/dist/services/app/modules/authentication/lambdas/login/index.js +22 -0
  239. package/dist/services/app/modules/authentication/lambdas/login/index.mjs +1 -0
  240. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js +89 -0
  241. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.mjs +50 -0
  242. package/dist/services/app/modules/users/entities/index.js +22 -0
  243. package/dist/services/app/modules/users/entities/index.mjs +1 -0
  244. package/dist/services/app/modules/users/entities/user-acquisition.js +55 -0
  245. package/dist/services/app/modules/users/entities/user-acquisition.mjs +26 -0
  246. package/dist/services/app/modules/users/entities/user-country.js +44 -0
  247. package/dist/services/app/modules/users/entities/user-country.mjs +21 -0
  248. package/dist/services/app/modules/users/entities/user-currency.js +44 -0
  249. package/dist/services/app/modules/users/entities/user-currency.mjs +21 -0
  250. package/dist/services/app/modules/users/entities/user-email.value-object.js +43 -0
  251. package/dist/services/app/modules/users/entities/user-email.value-object.mjs +20 -0
  252. package/dist/services/app/modules/users/entities/user-language.js +44 -0
  253. package/dist/services/app/modules/users/entities/user-language.mjs +21 -0
  254. package/dist/services/app/modules/users/entities/user-marketing.js +53 -0
  255. package/dist/services/app/modules/users/entities/user-marketing.mjs +24 -0
  256. package/dist/services/app/modules/users/entities/user-notification-preferences.js +41 -0
  257. package/dist/services/app/modules/users/entities/user-notification-preferences.mjs +18 -0
  258. package/dist/services/app/modules/users/entities/user-password.value-object.js +69 -0
  259. package/dist/services/app/modules/users/entities/user-password.value-object.mjs +36 -0
  260. package/dist/services/app/modules/users/entities/user-permissions.js +59 -0
  261. package/dist/services/app/modules/users/entities/user-permissions.mjs +36 -0
  262. package/dist/services/app/modules/users/entities/user-preferences.js +69 -0
  263. package/dist/services/app/modules/users/entities/user-preferences.mjs +46 -0
  264. package/dist/services/app/modules/users/entities/user-report-preferences.js +56 -0
  265. package/dist/services/app/modules/users/entities/user-report-preferences.mjs +33 -0
  266. package/dist/services/app/modules/users/entities/user-report-schedule.js +41 -0
  267. package/dist/services/app/modules/users/entities/user-report-schedule.mjs +18 -0
  268. package/dist/services/app/modules/users/entities/user-timezone.js +44 -0
  269. package/dist/services/app/modules/users/entities/user-timezone.mjs +21 -0
  270. package/dist/services/app/modules/users/entities/user.entity.js +133 -0
  271. package/dist/services/app/modules/users/entities/user.entity.mjs +103 -0
  272. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js +58 -0
  273. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.mjs +29 -0
  274. package/dist/services/app/modules/users/lambdas/create-user/index.js +22 -0
  275. package/dist/services/app/modules/users/lambdas/create-user/index.mjs +1 -0
  276. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js +61 -0
  277. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.mjs +32 -0
  278. package/dist/services/app/modules/users/lambdas/delete-user/index.js +22 -0
  279. package/dist/services/app/modules/users/lambdas/delete-user/index.mjs +1 -0
  280. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js +52 -0
  281. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.mjs +23 -0
  282. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js +22 -0
  283. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.mjs +1 -0
  284. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js +22 -0
  285. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.mjs +1 -0
  286. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js +52 -0
  287. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.mjs +23 -0
  288. package/dist/services/app/modules/users/lambdas/update-user/index.js +22 -0
  289. package/dist/services/app/modules/users/lambdas/update-user/index.mjs +1 -0
  290. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js +62 -0
  291. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.mjs +33 -0
  292. package/dist/services/app/modules/users/repositories/index.js +22 -0
  293. package/dist/services/app/modules/users/repositories/index.mjs +1 -0
  294. package/dist/services/app/modules/users/repositories/user.repository.js +83 -0
  295. package/dist/services/app/modules/users/repositories/user.repository.mjs +54 -0
  296. package/package.json +2 -2
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result) __defProp(target, key, result);
9
+ return result;
10
+ };
11
+
12
+ export {
13
+ __decorateClass
14
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var clients_exports = {};
17
+ module.exports = __toCommonJS(clients_exports);
18
+ __reExport(clients_exports, require("./llm-client"), module.exports);
19
+ __reExport(clients_exports, require("./sentry-client"), module.exports);
20
+ __reExport(clients_exports, require("./serper-client"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./llm-client"),
24
+ ...require("./sentry-client"),
25
+ ...require("./serper-client")
26
+ });
@@ -0,0 +1,3 @@
1
+ export * from "./llm-client";
2
+ export * from "./sentry-client";
3
+ export * from "./serper-client";
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var llm_client_exports = {};
30
+ __export(llm_client_exports, {
31
+ LLMClient: () => LLMClient
32
+ });
33
+ module.exports = __toCommonJS(llm_client_exports);
34
+ var import_reflect_metadata = require("reflect-metadata");
35
+ var import_tsyringe = require("tsyringe");
36
+ var import_langfuse = require("langfuse");
37
+ var import_secret_manager = require("@common/utils/secret-manager");
38
+ var import_logger = require("@common/logger");
39
+ var import_helpers = require("@common/helpers");
40
+ var import_create_llmcall = require("@services/agent/modules/llmcalls/lambdas/create-llmcall");
41
+ class LLMClient {
42
+ logger = new import_logger.Logger();
43
+ langfuse;
44
+ constructor() {
45
+ process.env.OPENAI_API_KEY = import_secret_manager.secretManager.get("OPENAI_API_KEY");
46
+ this.langfuse = new import_langfuse.Langfuse({
47
+ publicKey: import_secret_manager.secretManager.get("LANGFUSE_PUBLIC_KEY"),
48
+ secretKey: import_secret_manager.secretManager.get("LANGFUSE_SECRET_KEY"),
49
+ baseUrl: process.env.LANGFUSE_BASE_URL
50
+ });
51
+ }
52
+ async complete(params) {
53
+ const { getModel, complete } = await import("@mariozechner/pi-ai");
54
+ const {
55
+ taskName,
56
+ sessionId,
57
+ answerId,
58
+ currentUser,
59
+ systemPrompt,
60
+ messages,
61
+ provider = "openai",
62
+ modelName = "gpt-4o-mini",
63
+ temperature = 0.7
64
+ } = params ?? {};
65
+ const model = getModel(provider, modelName);
66
+ const context = {
67
+ systemPrompt,
68
+ messages
69
+ };
70
+ this.logger.debug({
71
+ taskName,
72
+ context: {
73
+ ...context,
74
+ messages: this.formatMessagesForLog(messages)
75
+ }
76
+ }, "[LLM Service] context");
77
+ const trace = this.langfuse.trace({
78
+ sessionId,
79
+ name: taskName,
80
+ userId: currentUser?.userId,
81
+ metadata: {
82
+ taskName,
83
+ email: currentUser?.email,
84
+ sessionId
85
+ }
86
+ });
87
+ const generation = trace.generation({
88
+ name: "llm-completion",
89
+ model: modelName,
90
+ modelParameters: { temperature, provider },
91
+ input: context
92
+ });
93
+ try {
94
+ const response = await complete(model, context, {
95
+ temperature
96
+ });
97
+ generation.end({
98
+ output: response,
99
+ usage: response.usage ? {
100
+ promptTokens: response.usage.input,
101
+ completionTokens: response.usage.output,
102
+ totalTokens: response.usage.totalTokens
103
+ } : void 0
104
+ });
105
+ await this.langfuse.flushAsync();
106
+ this.logger.debug({
107
+ taskName,
108
+ response: {
109
+ ...response,
110
+ content: this.formatContentForLog(response?.content)
111
+ }
112
+ }, "[LLM Service] Response");
113
+ await this.postResponse({ taskName, sessionId, answerId, currentUser, response });
114
+ return response;
115
+ } catch (error) {
116
+ generation.end({
117
+ level: "ERROR",
118
+ statusMessage: error.message
119
+ });
120
+ await this.langfuse.flushAsync();
121
+ throw error;
122
+ }
123
+ }
124
+ async postResponse(params) {
125
+ const { taskName, sessionId, answerId, currentUser, response } = params ?? {};
126
+ const createLLMCallUseCase = import_tsyringe.container.resolve(import_create_llmcall.CreateLLMCallUseCase);
127
+ await createLLMCallUseCase.execute({
128
+ payload: {
129
+ taskName,
130
+ sessionId,
131
+ answerId,
132
+ response,
133
+ costInUsd: response?.usage?.cost?.total
134
+ },
135
+ currentUser
136
+ });
137
+ }
138
+ formatContentForLog(records) {
139
+ return records?.map((record) => {
140
+ const text = record?.text;
141
+ const extracted = (0, import_helpers.extractJSON)(text);
142
+ const isJson = Object.keys(extracted).length > 0;
143
+ return {
144
+ ...record,
145
+ text: isJson ? extracted : text
146
+ };
147
+ });
148
+ }
149
+ formatMessagesForLog(messages) {
150
+ return messages.map((message) => ({
151
+ ...message,
152
+ content: this.formatContentForLog(message?.content) ?? message?.content
153
+ }));
154
+ }
155
+ }
156
+ // Annotate the CommonJS export names for ESM import in node:
157
+ 0 && (module.exports = {
158
+ LLMClient
159
+ });
@@ -0,0 +1,126 @@
1
+ import "../../chunk-XRJFNASX.mjs";
2
+ import "reflect-metadata";
3
+ import { container } from "tsyringe";
4
+ import { Langfuse } from "langfuse";
5
+ import { secretManager } from "@common/utils/secret-manager";
6
+ import { Logger } from "@common/logger";
7
+ import { extractJSON } from "@common/helpers";
8
+ import { CreateLLMCallUseCase } from "@services/agent/modules/llmcalls/lambdas/create-llmcall";
9
+ class LLMClient {
10
+ logger = new Logger();
11
+ langfuse;
12
+ constructor() {
13
+ process.env.OPENAI_API_KEY = secretManager.get("OPENAI_API_KEY");
14
+ this.langfuse = new Langfuse({
15
+ publicKey: secretManager.get("LANGFUSE_PUBLIC_KEY"),
16
+ secretKey: secretManager.get("LANGFUSE_SECRET_KEY"),
17
+ baseUrl: process.env.LANGFUSE_BASE_URL
18
+ });
19
+ }
20
+ async complete(params) {
21
+ const { getModel, complete } = await import("@mariozechner/pi-ai");
22
+ const {
23
+ taskName,
24
+ sessionId,
25
+ answerId,
26
+ currentUser,
27
+ systemPrompt,
28
+ messages,
29
+ provider = "openai",
30
+ modelName = "gpt-4o-mini",
31
+ temperature = 0.7
32
+ } = params ?? {};
33
+ const model = getModel(provider, modelName);
34
+ const context = {
35
+ systemPrompt,
36
+ messages
37
+ };
38
+ this.logger.debug({
39
+ taskName,
40
+ context: {
41
+ ...context,
42
+ messages: this.formatMessagesForLog(messages)
43
+ }
44
+ }, "[LLM Service] context");
45
+ const trace = this.langfuse.trace({
46
+ sessionId,
47
+ name: taskName,
48
+ userId: currentUser?.userId,
49
+ metadata: {
50
+ taskName,
51
+ email: currentUser?.email,
52
+ sessionId
53
+ }
54
+ });
55
+ const generation = trace.generation({
56
+ name: "llm-completion",
57
+ model: modelName,
58
+ modelParameters: { temperature, provider },
59
+ input: context
60
+ });
61
+ try {
62
+ const response = await complete(model, context, {
63
+ temperature
64
+ });
65
+ generation.end({
66
+ output: response,
67
+ usage: response.usage ? {
68
+ promptTokens: response.usage.input,
69
+ completionTokens: response.usage.output,
70
+ totalTokens: response.usage.totalTokens
71
+ } : void 0
72
+ });
73
+ await this.langfuse.flushAsync();
74
+ this.logger.debug({
75
+ taskName,
76
+ response: {
77
+ ...response,
78
+ content: this.formatContentForLog(response?.content)
79
+ }
80
+ }, "[LLM Service] Response");
81
+ await this.postResponse({ taskName, sessionId, answerId, currentUser, response });
82
+ return response;
83
+ } catch (error) {
84
+ generation.end({
85
+ level: "ERROR",
86
+ statusMessage: error.message
87
+ });
88
+ await this.langfuse.flushAsync();
89
+ throw error;
90
+ }
91
+ }
92
+ async postResponse(params) {
93
+ const { taskName, sessionId, answerId, currentUser, response } = params ?? {};
94
+ const createLLMCallUseCase = container.resolve(CreateLLMCallUseCase);
95
+ await createLLMCallUseCase.execute({
96
+ payload: {
97
+ taskName,
98
+ sessionId,
99
+ answerId,
100
+ response,
101
+ costInUsd: response?.usage?.cost?.total
102
+ },
103
+ currentUser
104
+ });
105
+ }
106
+ formatContentForLog(records) {
107
+ return records?.map((record) => {
108
+ const text = record?.text;
109
+ const extracted = extractJSON(text);
110
+ const isJson = Object.keys(extracted).length > 0;
111
+ return {
112
+ ...record,
113
+ text: isJson ? extracted : text
114
+ };
115
+ });
116
+ }
117
+ formatMessagesForLog(messages) {
118
+ return messages.map((message) => ({
119
+ ...message,
120
+ content: this.formatContentForLog(message?.content) ?? message?.content
121
+ }));
122
+ }
123
+ }
124
+ export {
125
+ LLMClient
126
+ };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var sentry_client_exports = {};
30
+ __export(sentry_client_exports, {
31
+ SentryClient: () => SentryClient,
32
+ sentryClient: () => sentryClient
33
+ });
34
+ module.exports = __toCommonJS(sentry_client_exports);
35
+ var Sentry = __toESM(require("@sentry/node"));
36
+ var import_logger = require("../logger");
37
+ var import_secret_manager = require("@common/utils/secret-manager");
38
+ class SentryClient {
39
+ static instance;
40
+ enabled;
41
+ static getInstance() {
42
+ if (!SentryClient.instance) {
43
+ SentryClient.instance = new SentryClient();
44
+ }
45
+ return SentryClient.instance;
46
+ }
47
+ constructor() {
48
+ const dsn = this.resolveDsn();
49
+ this.enabled = !!dsn;
50
+ if (!dsn) {
51
+ import_logger.logger.warn("[Sentry Client] Sentry DSN is not configured. Skipping error reporting.");
52
+ return;
53
+ }
54
+ Sentry.init({ dsn, environment: process.env.NODE_ENV || "production", tracesSampleRate: 0 });
55
+ import_logger.logger.debug("[Sentry Client] Sentry client initialized");
56
+ }
57
+ async captureError(error, contextData) {
58
+ if (!this.enabled) return;
59
+ Sentry.withScope((scope) => {
60
+ if (contextData) scope.setExtras(contextData);
61
+ Sentry.captureException(error);
62
+ });
63
+ try {
64
+ await Sentry.flush(2e3);
65
+ import_logger.logger.debug("[Sentry Client] Error reported to Sentry successfully");
66
+ } catch (e) {
67
+ import_logger.logger.error(e, "[Sentry Client] Failed to flush Sentry events");
68
+ }
69
+ }
70
+ setUser(userId) {
71
+ if (!this.enabled) return;
72
+ Sentry.setUser({ id: userId });
73
+ }
74
+ resolveDsn() {
75
+ try {
76
+ return import_secret_manager.secretManager.get("SENTRY_DSN");
77
+ } catch {
78
+ return void 0;
79
+ }
80
+ }
81
+ }
82
+ const sentryClient = SentryClient.getInstance();
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ SentryClient,
86
+ sentryClient
87
+ });
@@ -0,0 +1,53 @@
1
+ import "../../chunk-XRJFNASX.mjs";
2
+ import * as Sentry from "@sentry/node";
3
+ import { logger } from "../logger";
4
+ import { secretManager } from "@common/utils/secret-manager";
5
+ class SentryClient {
6
+ static instance;
7
+ enabled;
8
+ static getInstance() {
9
+ if (!SentryClient.instance) {
10
+ SentryClient.instance = new SentryClient();
11
+ }
12
+ return SentryClient.instance;
13
+ }
14
+ constructor() {
15
+ const dsn = this.resolveDsn();
16
+ this.enabled = !!dsn;
17
+ if (!dsn) {
18
+ logger.warn("[Sentry Client] Sentry DSN is not configured. Skipping error reporting.");
19
+ return;
20
+ }
21
+ Sentry.init({ dsn, environment: process.env.NODE_ENV || "production", tracesSampleRate: 0 });
22
+ logger.debug("[Sentry Client] Sentry client initialized");
23
+ }
24
+ async captureError(error, contextData) {
25
+ if (!this.enabled) return;
26
+ Sentry.withScope((scope) => {
27
+ if (contextData) scope.setExtras(contextData);
28
+ Sentry.captureException(error);
29
+ });
30
+ try {
31
+ await Sentry.flush(2e3);
32
+ logger.debug("[Sentry Client] Error reported to Sentry successfully");
33
+ } catch (e) {
34
+ logger.error(e, "[Sentry Client] Failed to flush Sentry events");
35
+ }
36
+ }
37
+ setUser(userId) {
38
+ if (!this.enabled) return;
39
+ Sentry.setUser({ id: userId });
40
+ }
41
+ resolveDsn() {
42
+ try {
43
+ return secretManager.get("SENTRY_DSN");
44
+ } catch {
45
+ return void 0;
46
+ }
47
+ }
48
+ }
49
+ const sentryClient = SentryClient.getInstance();
50
+ export {
51
+ SentryClient,
52
+ sentryClient
53
+ };
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var serper_client_exports = {};
30
+ __export(serper_client_exports, {
31
+ SerperClient: () => SerperClient
32
+ });
33
+ module.exports = __toCommonJS(serper_client_exports);
34
+ var import_axios = __toESM(require("axios"));
35
+ var import_logger = require("@common/logger");
36
+ var import_secret_manager = require("@common/utils/secret-manager");
37
+ class SerperClient {
38
+ logger = new import_logger.Logger();
39
+ async searchOnGoogle(params) {
40
+ const { query, type, page, num, countryCode, languageCode } = params;
41
+ const apiKey = import_secret_manager.secretManager.get("SERPER_API_KEY");
42
+ const inputData = {
43
+ q: query,
44
+ type,
45
+ page,
46
+ num,
47
+ ...countryCode ? { gl: countryCode } : {},
48
+ ...languageCode ? { hl: languageCode } : {},
49
+ engine: "google"
50
+ };
51
+ const config = {
52
+ method: "post",
53
+ maxBodyLength: Infinity,
54
+ url: "https://google.serper.dev/search",
55
+ headers: {
56
+ "X-API-KEY": apiKey,
57
+ "Content-Type": "application/json"
58
+ },
59
+ data: inputData
60
+ };
61
+ try {
62
+ this.logger.debug({ ...inputData }, "[Serper Client] Searching on internet...");
63
+ const { data } = await import_axios.default.request(config);
64
+ this.logger.debug({ ...data }, "[Serper Client] Search results");
65
+ return data;
66
+ } catch (error) {
67
+ this.logger.error(error);
68
+ }
69
+ }
70
+ }
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ SerperClient
74
+ });
@@ -0,0 +1,41 @@
1
+ import "../../chunk-XRJFNASX.mjs";
2
+ import axios from "axios";
3
+ import { Logger } from "@common/logger";
4
+ import { secretManager } from "@common/utils/secret-manager";
5
+ class SerperClient {
6
+ logger = new Logger();
7
+ async searchOnGoogle(params) {
8
+ const { query, type, page, num, countryCode, languageCode } = params;
9
+ const apiKey = secretManager.get("SERPER_API_KEY");
10
+ const inputData = {
11
+ q: query,
12
+ type,
13
+ page,
14
+ num,
15
+ ...countryCode ? { gl: countryCode } : {},
16
+ ...languageCode ? { hl: languageCode } : {},
17
+ engine: "google"
18
+ };
19
+ const config = {
20
+ method: "post",
21
+ maxBodyLength: Infinity,
22
+ url: "https://google.serper.dev/search",
23
+ headers: {
24
+ "X-API-KEY": apiKey,
25
+ "Content-Type": "application/json"
26
+ },
27
+ data: inputData
28
+ };
29
+ try {
30
+ this.logger.debug({ ...inputData }, "[Serper Client] Searching on internet...");
31
+ const { data } = await axios.request(config);
32
+ this.logger.debug({ ...data }, "[Serper Client] Search results");
33
+ return data;
34
+ } catch (error) {
35
+ this.logger.error(error);
36
+ }
37
+ }
38
+ }
39
+ export {
40
+ SerperClient
41
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var base_app_exports = {};
20
+ __export(base_app_exports, {
21
+ BaseApp: () => BaseApp
22
+ });
23
+ module.exports = __toCommonJS(base_app_exports);
24
+ var import_logger = require("@common/logger");
25
+ var import_error = require("@common/error");
26
+ var import_error2 = require("@common/error");
27
+ var import_secret_manager = require("@common/utils/secret-manager");
28
+ class BaseApp {
29
+ logger = new import_logger.Logger();
30
+ secretManager = import_secret_manager.secretManager;
31
+ reportError = import_error.reportError;
32
+ async onCatch(error) {
33
+ await (0, import_error.reportError)(error);
34
+ throw error;
35
+ }
36
+ throwHttpError(error) {
37
+ throw new import_error2.HttpError(error);
38
+ }
39
+ throwError401(currentSession) {
40
+ this.throwHttpError({
41
+ statusCode: 401,
42
+ errorMessage: "{{invalid_token}}: {{not_authenticated_error_details}}",
43
+ errorDetails: JSON.stringify(currentSession ?? {})
44
+ });
45
+ }
46
+ throwError403(currentSession) {
47
+ this.throwHttpError({
48
+ statusCode: 403,
49
+ errorMessage: "{{forbidden_error}}: {{forbidden_error_details}}",
50
+ errorDetails: JSON.stringify(currentSession ?? {})
51
+ });
52
+ }
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ BaseApp
57
+ });
@@ -0,0 +1,34 @@
1
+ import "../../chunk-XRJFNASX.mjs";
2
+ import { Logger } from "@common/logger";
3
+ import { reportError } from "@common/error";
4
+ import { HttpError } from "@common/error";
5
+ import { secretManager } from "@common/utils/secret-manager";
6
+ class BaseApp {
7
+ logger = new Logger();
8
+ secretManager = secretManager;
9
+ reportError = reportError;
10
+ async onCatch(error) {
11
+ await reportError(error);
12
+ throw error;
13
+ }
14
+ throwHttpError(error) {
15
+ throw new HttpError(error);
16
+ }
17
+ throwError401(currentSession) {
18
+ this.throwHttpError({
19
+ statusCode: 401,
20
+ errorMessage: "{{invalid_token}}: {{not_authenticated_error_details}}",
21
+ errorDetails: JSON.stringify(currentSession ?? {})
22
+ });
23
+ }
24
+ throwError403(currentSession) {
25
+ this.throwHttpError({
26
+ statusCode: 403,
27
+ errorMessage: "{{forbidden_error}}: {{forbidden_error_details}}",
28
+ errorDetails: JSON.stringify(currentSession ?? {})
29
+ });
30
+ }
31
+ }
32
+ export {
33
+ BaseApp
34
+ };