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,24 @@
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 core_exports = {};
17
+ module.exports = __toCommonJS(core_exports);
18
+ __reExport(core_exports, require("./web-search"), module.exports);
19
+ __reExport(core_exports, require("./call-ai"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./web-search"),
23
+ ...require("./call-ai")
24
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./web-search";
2
+ export * from "./call-ai";
@@ -0,0 +1,22 @@
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 web_search_exports = {};
17
+ module.exports = __toCommonJS(web_search_exports);
18
+ __reExport(web_search_exports, require("./web-search.tool"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./web-search.tool")
22
+ });
@@ -0,0 +1 @@
1
+ export * from "./web-search.tool";
@@ -0,0 +1,51 @@
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 web_search_tool_exports = {};
20
+ __export(web_search_tool_exports, {
21
+ webSearchTool: () => webSearchTool
22
+ });
23
+ module.exports = __toCommonJS(web_search_tool_exports);
24
+ var import_tool = require("../../tool");
25
+ var import_serper_client = require("@common/clients/serper-client");
26
+ const webSearchTool = new import_tool.Tool({
27
+ name: "web_search",
28
+ description: "Search on web",
29
+ destructive: false,
30
+ parameters: {
31
+ type: "object",
32
+ properties: {
33
+ query: {
34
+ type: "string",
35
+ description: "search query"
36
+ }
37
+ },
38
+ required: ["query"]
39
+ },
40
+ handler: async (params) => {
41
+ if (!params) throw new Error("[web_search] params is required");
42
+ const { currentUser, sessionId, answerId, ...rest } = params;
43
+ const serperClient = new import_serper_client.SerperClient();
44
+ const results = await serperClient.searchOnGoogle(rest);
45
+ return { data: results };
46
+ }
47
+ });
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ webSearchTool
51
+ });
@@ -0,0 +1,30 @@
1
+ import "../../../../../chunk-XRJFNASX.mjs";
2
+ import { Tool } from "../../tool";
3
+ import {
4
+ SerperClient
5
+ } from "@common/clients/serper-client";
6
+ const webSearchTool = new Tool({
7
+ name: "web_search",
8
+ description: "Search on web",
9
+ destructive: false,
10
+ parameters: {
11
+ type: "object",
12
+ properties: {
13
+ query: {
14
+ type: "string",
15
+ description: "search query"
16
+ }
17
+ },
18
+ required: ["query"]
19
+ },
20
+ handler: async (params) => {
21
+ if (!params) throw new Error("[web_search] params is required");
22
+ const { currentUser, sessionId, answerId, ...rest } = params;
23
+ const serperClient = new SerperClient();
24
+ const results = await serperClient.searchOnGoogle(rest);
25
+ return { data: results };
26
+ }
27
+ });
28
+ export {
29
+ webSearchTool
30
+ };
@@ -0,0 +1,24 @@
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 tools_exports = {};
17
+ module.exports = __toCommonJS(tools_exports);
18
+ __reExport(tools_exports, require("./core"), module.exports);
19
+ __reExport(tools_exports, require("./tool"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./core"),
23
+ ...require("./tool")
24
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./core";
2
+ export * from "./tool";
@@ -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 tool_exports = {};
20
+ __export(tool_exports, {
21
+ Tool: () => Tool
22
+ });
23
+ module.exports = __toCommonJS(tool_exports);
24
+ class Tool {
25
+ name;
26
+ description;
27
+ destructive;
28
+ parameters;
29
+ handler;
30
+ constructor(props) {
31
+ this.name = props.name;
32
+ this.description = props.description;
33
+ this.destructive = props.destructive ?? false;
34
+ this.parameters = props.parameters;
35
+ this.handler = props.handler;
36
+ }
37
+ async run(...args) {
38
+ return this.handler(...args);
39
+ }
40
+ static fromMcp(mcpTool, mcpClient, opts) {
41
+ return new Tool({
42
+ name: `${opts.namespace}__${mcpTool.name}`,
43
+ description: mcpTool.description ?? "",
44
+ destructive: mcpTool.annotations?.destructiveHint ?? false,
45
+ parameters: mcpTool.inputSchema,
46
+ handler: async (params = {}) => {
47
+ const { currentUser, sessionId, answerId, ...args } = params;
48
+ const result = await mcpClient.callTool({ name: mcpTool.name, arguments: args });
49
+ return { data: result };
50
+ }
51
+ });
52
+ }
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ Tool
57
+ });
@@ -0,0 +1,34 @@
1
+ import "../../../chunk-XRJFNASX.mjs";
2
+ class Tool {
3
+ name;
4
+ description;
5
+ destructive;
6
+ parameters;
7
+ handler;
8
+ constructor(props) {
9
+ this.name = props.name;
10
+ this.description = props.description;
11
+ this.destructive = props.destructive ?? false;
12
+ this.parameters = props.parameters;
13
+ this.handler = props.handler;
14
+ }
15
+ async run(...args) {
16
+ return this.handler(...args);
17
+ }
18
+ static fromMcp(mcpTool, mcpClient, opts) {
19
+ return new Tool({
20
+ name: `${opts.namespace}__${mcpTool.name}`,
21
+ description: mcpTool.description ?? "",
22
+ destructive: mcpTool.annotations?.destructiveHint ?? false,
23
+ parameters: mcpTool.inputSchema,
24
+ handler: async (params = {}) => {
25
+ const { currentUser, sessionId, answerId, ...args } = params;
26
+ const result = await mcpClient.callTool({ name: mcpTool.name, arguments: args });
27
+ return { data: result };
28
+ }
29
+ });
30
+ }
31
+ }
32
+ export {
33
+ Tool
34
+ };
@@ -0,0 +1,65 @@
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 rank_tools_by_keywords_exports = {};
20
+ __export(rank_tools_by_keywords_exports, {
21
+ rankToolsByKeywords: () => rankToolsByKeywords
22
+ });
23
+ module.exports = __toCommonJS(rank_tools_by_keywords_exports);
24
+ function escapeRegExp(text) {
25
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
26
+ }
27
+ function rankToolsByKeywords(keywords, tools, minScoreThreshold = 0.1) {
28
+ const NAME_WEIGHT_MULTIPLIER = 2.5;
29
+ const DESCRIPTION_WEIGHT_MULTIPLIER = 1;
30
+ const results = [];
31
+ for (const tool of tools) {
32
+ let totalScore = 0;
33
+ const matchedKeywordsSet = /* @__PURE__ */ new Set();
34
+ const normalizedName = tool.name.replace(/_/g, " ");
35
+ const normalizedDescription = tool.description || "";
36
+ for (const { keyword, weight } of keywords) {
37
+ if (!keyword || weight <= 0) continue;
38
+ const cleanKeyword = keyword.trim();
39
+ const escapedKeyword = escapeRegExp(cleanKeyword);
40
+ const regex = new RegExp(`\\b${escapedKeyword}\\b`, "gi");
41
+ const nameMatches = (normalizedName.match(regex) || []).length;
42
+ const descMatches = (normalizedDescription.match(regex) || []).length;
43
+ if (nameMatches > 0 || descMatches > 0) {
44
+ matchedKeywordsSet.add(cleanKeyword);
45
+ const nameScore = Math.sqrt(nameMatches) * NAME_WEIGHT_MULTIPLIER;
46
+ const descScore = Math.sqrt(descMatches) * DESCRIPTION_WEIGHT_MULTIPLIER;
47
+ const keywordContribution = (nameScore + descScore) * weight;
48
+ totalScore += keywordContribution;
49
+ }
50
+ }
51
+ if (totalScore >= minScoreThreshold) {
52
+ results.push({
53
+ toolName: tool.name,
54
+ score: Number(totalScore.toFixed(4)),
55
+ matchedKeywords: Array.from(matchedKeywordsSet),
56
+ tool
57
+ });
58
+ }
59
+ }
60
+ return results.sort((a, b) => b.score - a.score);
61
+ }
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ rankToolsByKeywords
65
+ });
@@ -0,0 +1,42 @@
1
+ import "../../../chunk-XRJFNASX.mjs";
2
+ function escapeRegExp(text) {
3
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4
+ }
5
+ function rankToolsByKeywords(keywords, tools, minScoreThreshold = 0.1) {
6
+ const NAME_WEIGHT_MULTIPLIER = 2.5;
7
+ const DESCRIPTION_WEIGHT_MULTIPLIER = 1;
8
+ const results = [];
9
+ for (const tool of tools) {
10
+ let totalScore = 0;
11
+ const matchedKeywordsSet = /* @__PURE__ */ new Set();
12
+ const normalizedName = tool.name.replace(/_/g, " ");
13
+ const normalizedDescription = tool.description || "";
14
+ for (const { keyword, weight } of keywords) {
15
+ if (!keyword || weight <= 0) continue;
16
+ const cleanKeyword = keyword.trim();
17
+ const escapedKeyword = escapeRegExp(cleanKeyword);
18
+ const regex = new RegExp(`\\b${escapedKeyword}\\b`, "gi");
19
+ const nameMatches = (normalizedName.match(regex) || []).length;
20
+ const descMatches = (normalizedDescription.match(regex) || []).length;
21
+ if (nameMatches > 0 || descMatches > 0) {
22
+ matchedKeywordsSet.add(cleanKeyword);
23
+ const nameScore = Math.sqrt(nameMatches) * NAME_WEIGHT_MULTIPLIER;
24
+ const descScore = Math.sqrt(descMatches) * DESCRIPTION_WEIGHT_MULTIPLIER;
25
+ const keywordContribution = (nameScore + descScore) * weight;
26
+ totalScore += keywordContribution;
27
+ }
28
+ }
29
+ if (totalScore >= minScoreThreshold) {
30
+ results.push({
31
+ toolName: tool.name,
32
+ score: Number(totalScore.toFixed(4)),
33
+ matchedKeywords: Array.from(matchedKeywordsSet),
34
+ tool
35
+ });
36
+ }
37
+ }
38
+ return results.sort((a, b) => b.score - a.score);
39
+ }
40
+ export {
41
+ rankToolsByKeywords
42
+ };
@@ -0,0 +1,60 @@
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 app_exports = {};
20
+ __export(app_exports, {
21
+ App: () => App
22
+ });
23
+ module.exports = __toCommonJS(app_exports);
24
+ var import_reflect_metadata = require("reflect-metadata");
25
+ var import_tsyringe = require("tsyringe");
26
+ var import_create_user = require("../modules/users/lambdas/create-user");
27
+ var import_update_user = require("../modules/users/lambdas/update-user");
28
+ var import_delete_user = require("../modules/users/lambdas/delete-user");
29
+ var import_get_user_by_id = require("../modules/users/lambdas/get-user-by-id");
30
+ var import_login = require("../modules/authentication/lambdas/login");
31
+ class App {
32
+ static async createUser(params) {
33
+ const createUserUseCase = import_tsyringe.container.resolve(import_create_user.CreateUserUseCase);
34
+ return await createUserUseCase.execute(params);
35
+ }
36
+ static async updateUser(params) {
37
+ const updateUserUseCase = import_tsyringe.container.resolve(import_update_user.UpdateUserUseCase);
38
+ return await updateUserUseCase.execute(params);
39
+ }
40
+ static async deleteUser(params) {
41
+ const deleteUserUseCase = import_tsyringe.container.resolve(import_delete_user.DeleteUserUseCase);
42
+ return await deleteUserUseCase.execute(params);
43
+ }
44
+ static async getUser(params) {
45
+ const getUserByIdUseCase = import_tsyringe.container.resolve(import_get_user_by_id.GetUserByIdUseCase);
46
+ return await getUserByIdUseCase.execute(params);
47
+ }
48
+ static async getUserByExternalId(params) {
49
+ const getUserByIdUseCase = import_tsyringe.container.resolve(import_get_user_by_id.GetUserByIdUseCase);
50
+ return await getUserByIdUseCase.execute(params);
51
+ }
52
+ static async authenticateUser(params) {
53
+ const loginUseCase = import_tsyringe.container.resolve(import_login.LoginUseCase);
54
+ return await loginUseCase.execute(params);
55
+ }
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ App
60
+ });
@@ -0,0 +1,47 @@
1
+ import "../../../chunk-XRJFNASX.mjs";
2
+ import "reflect-metadata";
3
+ import { container } from "tsyringe";
4
+ import {
5
+ CreateUserUseCase
6
+ } from "../modules/users/lambdas/create-user";
7
+ import {
8
+ UpdateUserUseCase
9
+ } from "../modules/users/lambdas/update-user";
10
+ import {
11
+ DeleteUserUseCase
12
+ } from "../modules/users/lambdas/delete-user";
13
+ import {
14
+ GetUserByIdUseCase
15
+ } from "../modules/users/lambdas/get-user-by-id";
16
+ import {
17
+ LoginUseCase
18
+ } from "../modules/authentication/lambdas/login";
19
+ class App {
20
+ static async createUser(params) {
21
+ const createUserUseCase = container.resolve(CreateUserUseCase);
22
+ return await createUserUseCase.execute(params);
23
+ }
24
+ static async updateUser(params) {
25
+ const updateUserUseCase = container.resolve(UpdateUserUseCase);
26
+ return await updateUserUseCase.execute(params);
27
+ }
28
+ static async deleteUser(params) {
29
+ const deleteUserUseCase = container.resolve(DeleteUserUseCase);
30
+ return await deleteUserUseCase.execute(params);
31
+ }
32
+ static async getUser(params) {
33
+ const getUserByIdUseCase = container.resolve(GetUserByIdUseCase);
34
+ return await getUserByIdUseCase.execute(params);
35
+ }
36
+ static async getUserByExternalId(params) {
37
+ const getUserByIdUseCase = container.resolve(GetUserByIdUseCase);
38
+ return await getUserByIdUseCase.execute(params);
39
+ }
40
+ static async authenticateUser(params) {
41
+ const loginUseCase = container.resolve(LoginUseCase);
42
+ return await loginUseCase.execute(params);
43
+ }
44
+ }
45
+ export {
46
+ App
47
+ };
@@ -0,0 +1,124 @@
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 current_session_exports = {};
20
+ __export(current_session_exports, {
21
+ ClientEnvironment: () => ClientEnvironment,
22
+ CurrentSession: () => CurrentSession
23
+ });
24
+ module.exports = __toCommonJS(current_session_exports);
25
+ var import_countries_and_currencies_utils = require("countries-and-currencies-utils");
26
+ class CurrentSession {
27
+ constructor(clientType, environment, app, device, preferences, location, request) {
28
+ this.clientType = clientType;
29
+ this.environment = environment;
30
+ this.app = app;
31
+ this.device = device;
32
+ this.preferences = preferences;
33
+ this.location = location;
34
+ this.request = request;
35
+ }
36
+ clientType;
37
+ environment;
38
+ app;
39
+ device;
40
+ preferences;
41
+ location;
42
+ request;
43
+ get language() {
44
+ return this.preferences?.locale?.split("_")[0];
45
+ }
46
+ get timezoneOffset() {
47
+ return (0, import_countries_and_currencies_utils.getTimezoneOffset)(this.location?.timezone);
48
+ }
49
+ get currencyCode() {
50
+ const currentCountryData = (0, import_countries_and_currencies_utils.getCountryDataFromCountryCode)(this.location?.country);
51
+ return currentCountryData?.currency?.isoCode;
52
+ }
53
+ static fromJSON(json) {
54
+ return new CurrentSession(
55
+ json.clientType,
56
+ json.environment,
57
+ json.app,
58
+ json.device,
59
+ json.preferences,
60
+ json.location,
61
+ json.request
62
+ );
63
+ }
64
+ toJson() {
65
+ return {
66
+ clientType: this.clientType,
67
+ environment: this.environment,
68
+ app: this.app,
69
+ device: this.device,
70
+ preferences: this.preferences,
71
+ location: this.location,
72
+ request: this.request
73
+ };
74
+ }
75
+ static fromRequest(request) {
76
+ let xCurrentSessionHeaderObj = {};
77
+ try {
78
+ xCurrentSessionHeaderObj = JSON.parse(request.xCurrentSessionHeader || "{}");
79
+ } catch (error) {
80
+ xCurrentSessionHeaderObj = {};
81
+ }
82
+ const session = CurrentSession.fromJSON(xCurrentSessionHeaderObj);
83
+ session.request = {
84
+ ...session.request,
85
+ id: request.requestId,
86
+ path: request.path,
87
+ ipAddress: request.ipAddress,
88
+ userAgent: request.userAgent
89
+ };
90
+ session.location = session.location?.timezone ? {
91
+ ...session.location,
92
+ country: (0, import_countries_and_currencies_utils.getCountryISOCodeFromTimezone)(session.location?.timezone)
93
+ } : session.location;
94
+ return session;
95
+ }
96
+ }
97
+ var ClientType = /* @__PURE__ */ ((ClientType2) => {
98
+ ClientType2["WEB"] = "web";
99
+ ClientType2["MOBILE"] = "mobile";
100
+ ClientType2["DESKTOP"] = "desktop";
101
+ ClientType2["API"] = "api";
102
+ return ClientType2;
103
+ })(ClientType || {});
104
+ var ClientEnvironment = /* @__PURE__ */ ((ClientEnvironment2) => {
105
+ ClientEnvironment2["PRODUCTION"] = "production";
106
+ ClientEnvironment2["STAGING"] = "staging";
107
+ ClientEnvironment2["DEVELOPMENT"] = "development";
108
+ return ClientEnvironment2;
109
+ })(ClientEnvironment || {});
110
+ var DevicePlatform = /* @__PURE__ */ ((DevicePlatform2) => {
111
+ DevicePlatform2["SMARTPHONE"] = "smartphone";
112
+ DevicePlatform2["TABLET"] = "tablet";
113
+ DevicePlatform2["IPAD"] = "ipad";
114
+ DevicePlatform2["SMARTWATCH"] = "smartwatch";
115
+ DevicePlatform2["DESKTOP"] = "desktop";
116
+ DevicePlatform2["LAPTOP"] = "laptop";
117
+ DevicePlatform2["TV"] = "tv";
118
+ return DevicePlatform2;
119
+ })(DevicePlatform || {});
120
+ // Annotate the CommonJS export names for ESM import in node:
121
+ 0 && (module.exports = {
122
+ ClientEnvironment,
123
+ CurrentSession
124
+ });