openloops 0.1.6 → 0.1.9

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 (493) hide show
  1. package/dist/agent-loop-C41Y1CGp.d.mts +60 -0
  2. package/dist/agent-loop-ZH4GRi4A.d.ts +60 -0
  3. package/dist/base.use-case-8K6_Ods0.d.mts +14 -0
  4. package/dist/base.use-case-ChEb3nh6.d.ts +14 -0
  5. package/dist/chunk-6PCVBY5G.mjs +1 -0
  6. package/dist/chunk-7WJ3XXSP.mjs +7 -0
  7. package/dist/chunk-CCRMOWMO.mjs +1 -0
  8. package/dist/chunk-ISOEJA2L.mjs +1 -0
  9. package/dist/chunk-XXB52O7H.mjs +1 -0
  10. package/dist/{services/app/core/current-session.d.ts → current-session-DC-SF7rl.d.mts} +5 -4
  11. package/dist/current-session-DC-SF7rl.d.ts +130 -0
  12. package/dist/current-user-4BppBUBP.d.mts +264 -0
  13. package/dist/current-user-4BppBUBP.d.ts +264 -0
  14. package/dist/index.d.mts +10 -0
  15. package/dist/index.d.ts +10 -1
  16. package/dist/index.js +7 -18
  17. package/dist/index.mjs +1 -0
  18. package/dist/services/agent/core/index.d.mts +122 -0
  19. package/dist/services/agent/core/index.d.ts +122 -3
  20. package/dist/services/agent/core/index.js +7 -20
  21. package/dist/services/agent/core/index.mjs +1 -0
  22. package/dist/services/agent/loops/index.d.mts +116 -0
  23. package/dist/services/agent/loops/index.d.ts +116 -2
  24. package/dist/services/agent/loops/index.js +10 -19
  25. package/dist/services/agent/loops/index.mjs +4 -0
  26. package/dist/services/agent/skills/index.d.mts +14 -0
  27. package/dist/services/agent/skills/index.d.ts +14 -2
  28. package/dist/services/agent/skills/index.js +7 -19
  29. package/dist/services/agent/skills/index.mjs +1 -0
  30. package/dist/services/agent/tools/index.d.mts +12 -0
  31. package/dist/services/agent/tools/index.d.ts +12 -2
  32. package/dist/services/agent/tools/index.js +7 -19
  33. package/dist/services/agent/tools/index.mjs +1 -0
  34. package/dist/services/app/core/index.d.mts +60 -0
  35. package/dist/services/app/core/index.d.ts +60 -3
  36. package/dist/services/app/core/index.js +7 -20
  37. package/dist/services/app/core/index.mjs +1 -0
  38. package/dist/skill-CtYQbG6-.d.ts +308 -0
  39. package/dist/skill-DXNkK5FG.d.mts +308 -0
  40. package/dist/tool-BaG2a8Np.d.mts +42 -0
  41. package/dist/{services/agent/tools/tool.d.ts → tool-DMR_ZdjP.d.ts} +9 -7
  42. package/package.json +7 -8
  43. package/dist/common/clients/index.d.ts +0 -3
  44. package/dist/common/clients/index.js +0 -20
  45. package/dist/common/clients/index.js.map +0 -1
  46. package/dist/common/clients/llm-client.d.ts +0 -30
  47. package/dist/common/clients/llm-client.js +0 -118
  48. package/dist/common/clients/llm-client.js.map +0 -1
  49. package/dist/common/clients/sentry-client.d.ts +0 -10
  50. package/dist/common/clients/sentry-client.js +0 -91
  51. package/dist/common/clients/sentry-client.js.map +0 -1
  52. package/dist/common/clients/serper-client.d.ts +0 -66
  53. package/dist/common/clients/serper-client.js +0 -46
  54. package/dist/common/clients/serper-client.js.map +0 -1
  55. package/dist/common/core/base.app.d.ts +0 -12
  56. package/dist/common/core/base.app.js +0 -35
  57. package/dist/common/core/base.app.js.map +0 -1
  58. package/dist/common/core/base.entity.d.ts +0 -55
  59. package/dist/common/core/base.entity.js +0 -210
  60. package/dist/common/core/base.entity.js.map +0 -1
  61. package/dist/common/core/base.use-case.d.ts +0 -15
  62. package/dist/common/core/base.use-case.js +0 -8
  63. package/dist/common/core/base.use-case.js.map +0 -1
  64. package/dist/common/core/index.d.ts +0 -1
  65. package/dist/common/core/index.js +0 -3
  66. package/dist/common/core/index.js.map +0 -1
  67. package/dist/common/core/utils/delete-empty-fields.d.ts +0 -1
  68. package/dist/common/core/utils/delete-empty-fields.js +0 -46
  69. package/dist/common/core/utils/delete-empty-fields.js.map +0 -1
  70. package/dist/common/core/utils/flatten-object.d.ts +0 -1
  71. package/dist/common/core/utils/flatten-object.js +0 -23
  72. package/dist/common/core/utils/flatten-object.js.map +0 -1
  73. package/dist/common/core/utils/index.d.ts +0 -3
  74. package/dist/common/core/utils/index.js +0 -20
  75. package/dist/common/core/utils/index.js.map +0 -1
  76. package/dist/common/core/utils/is-plain-object.d.ts +0 -1
  77. package/dist/common/core/utils/is-plain-object.js +0 -10
  78. package/dist/common/core/utils/is-plain-object.js.map +0 -1
  79. package/dist/common/decorators/admin-only/admin-only.d.ts +0 -2
  80. package/dist/common/decorators/admin-only/admin-only.js +0 -30
  81. package/dist/common/decorators/admin-only/admin-only.js.map +0 -1
  82. package/dist/common/decorators/admin-only/index.d.ts +0 -1
  83. package/dist/common/decorators/admin-only/index.js +0 -18
  84. package/dist/common/decorators/admin-only/index.js.map +0 -1
  85. package/dist/common/decorators/index.d.ts +0 -3
  86. package/dist/common/decorators/index.js +0 -20
  87. package/dist/common/decorators/index.js.map +0 -1
  88. package/dist/common/decorators/mask-in-logs/index.d.ts +0 -1
  89. package/dist/common/decorators/mask-in-logs/index.js +0 -18
  90. package/dist/common/decorators/mask-in-logs/index.js.map +0 -1
  91. package/dist/common/decorators/mask-in-logs/mask-in-logs.d.ts +0 -2
  92. package/dist/common/decorators/mask-in-logs/mask-in-logs.js +0 -32
  93. package/dist/common/decorators/mask-in-logs/mask-in-logs.js.map +0 -1
  94. package/dist/common/decorators/owner-only/index.d.ts +0 -1
  95. package/dist/common/decorators/owner-only/index.js +0 -18
  96. package/dist/common/decorators/owner-only/index.js.map +0 -1
  97. package/dist/common/decorators/owner-only/owner-only.d.ts +0 -2
  98. package/dist/common/decorators/owner-only/owner-only.js +0 -30
  99. package/dist/common/decorators/owner-only/owner-only.js.map +0 -1
  100. package/dist/common/error/http-error.d.ts +0 -11
  101. package/dist/common/error/http-error.js +0 -15
  102. package/dist/common/error/http-error.js.map +0 -1
  103. package/dist/common/error/index.d.ts +0 -2
  104. package/dist/common/error/index.js +0 -19
  105. package/dist/common/error/index.js.map +0 -1
  106. package/dist/common/error/reportError.d.ts +0 -2
  107. package/dist/common/error/reportError.js +0 -30
  108. package/dist/common/error/reportError.js.map +0 -1
  109. package/dist/common/helpers/countries-db.d.ts +0 -2718
  110. package/dist/common/helpers/countries-db.js +0 -2722
  111. package/dist/common/helpers/countries-db.js.map +0 -1
  112. package/dist/common/helpers/currencies-db.d.ts +0 -470
  113. package/dist/common/helpers/currencies-db.js +0 -474
  114. package/dist/common/helpers/currencies-db.js.map +0 -1
  115. package/dist/common/helpers/extract-json-from-text.d.ts +0 -1
  116. package/dist/common/helpers/extract-json-from-text.js +0 -45
  117. package/dist/common/helpers/extract-json-from-text.js.map +0 -1
  118. package/dist/common/helpers/get-country-data-from-country-code.d.ts +0 -16
  119. package/dist/common/helpers/get-country-data-from-country-code.js +0 -14
  120. package/dist/common/helpers/get-country-data-from-country-code.js.map +0 -1
  121. package/dist/common/helpers/get-country-from-timezone.d.ts +0 -1
  122. package/dist/common/helpers/get-country-from-timezone.js +0 -14
  123. package/dist/common/helpers/get-country-from-timezone.js.map +0 -1
  124. package/dist/common/helpers/get-country-name-from-country-code.d.ts +0 -1
  125. package/dist/common/helpers/get-country-name-from-country-code.js +0 -17
  126. package/dist/common/helpers/get-country-name-from-country-code.js.map +0 -1
  127. package/dist/common/helpers/get-currency-data.d.ts +0 -13
  128. package/dist/common/helpers/get-currency-data.js +0 -48
  129. package/dist/common/helpers/get-currency-data.js.map +0 -1
  130. package/dist/common/helpers/get-language-from-language-code.d.ts +0 -5
  131. package/dist/common/helpers/get-language-from-language-code.js +0 -23
  132. package/dist/common/helpers/get-language-from-language-code.js.map +0 -1
  133. package/dist/common/helpers/get-timezone-offset.d.ts +0 -1
  134. package/dist/common/helpers/get-timezone-offset.js +0 -12
  135. package/dist/common/helpers/get-timezone-offset.js.map +0 -1
  136. package/dist/common/helpers/index.d.ts +0 -8
  137. package/dist/common/helpers/index.js +0 -25
  138. package/dist/common/helpers/index.js.map +0 -1
  139. package/dist/common/helpers/sanitize-string.d.ts +0 -1
  140. package/dist/common/helpers/sanitize-string.js +0 -16
  141. package/dist/common/helpers/sanitize-string.js.map +0 -1
  142. package/dist/common/logger/index.d.ts +0 -1
  143. package/dist/common/logger/index.js +0 -18
  144. package/dist/common/logger/index.js.map +0 -1
  145. package/dist/common/logger/pino.d.ts +0 -12
  146. package/dist/common/logger/pino.js +0 -39
  147. package/dist/common/logger/pino.js.map +0 -1
  148. package/dist/common/repositories/index.d.ts +0 -2
  149. package/dist/common/repositories/index.js +0 -19
  150. package/dist/common/repositories/index.js.map +0 -1
  151. package/dist/common/repositories/mongo-db.client.d.ts +0 -11
  152. package/dist/common/repositories/mongo-db.client.js +0 -59
  153. package/dist/common/repositories/mongo-db.client.js.map +0 -1
  154. package/dist/common/repositories/mongo-db.repository.d.ts +0 -87
  155. package/dist/common/repositories/mongo-db.repository.js +0 -210
  156. package/dist/common/repositories/mongo-db.repository.js.map +0 -1
  157. package/dist/common/utils/secret-manager.d.ts +0 -15
  158. package/dist/common/utils/secret-manager.js +0 -77
  159. package/dist/common/utils/secret-manager.js.map +0 -1
  160. package/dist/index.js.map +0 -1
  161. package/dist/services/agent/core/agent-loop.d.ts +0 -38
  162. package/dist/services/agent/core/agent-loop.js +0 -7
  163. package/dist/services/agent/core/agent-loop.js.map +0 -1
  164. package/dist/services/agent/core/agent-state.d.ts +0 -42
  165. package/dist/services/agent/core/agent-state.js +0 -72
  166. package/dist/services/agent/core/agent-state.js.map +0 -1
  167. package/dist/services/agent/core/agent.d.ts +0 -70
  168. package/dist/services/agent/core/agent.js +0 -351
  169. package/dist/services/agent/core/agent.js.map +0 -1
  170. package/dist/services/agent/core/index.js.map +0 -1
  171. package/dist/services/agent/loops/index.js.map +0 -1
  172. package/dist/services/agent/loops/plan-execute/index.d.ts +0 -1
  173. package/dist/services/agent/loops/plan-execute/index.js +0 -18
  174. package/dist/services/agent/loops/plan-execute/index.js.map +0 -1
  175. package/dist/services/agent/loops/plan-execute/plan-execute-loop.d.ts +0 -27
  176. package/dist/services/agent/loops/plan-execute/plan-execute-loop.js +0 -228
  177. package/dist/services/agent/loops/plan-execute/plan-execute-loop.js.map +0 -1
  178. package/dist/services/agent/loops/shared/index.d.ts +0 -1
  179. package/dist/services/agent/loops/shared/index.js +0 -18
  180. package/dist/services/agent/loops/shared/index.js.map +0 -1
  181. package/dist/services/agent/loops/shared/skills/action-planner.d.ts +0 -35
  182. package/dist/services/agent/loops/shared/skills/action-planner.js +0 -44
  183. package/dist/services/agent/loops/shared/skills/action-planner.js.map +0 -1
  184. package/dist/services/agent/loops/shared/skills/confirmation-gate.d.ts +0 -9
  185. package/dist/services/agent/loops/shared/skills/confirmation-gate.js +0 -30
  186. package/dist/services/agent/loops/shared/skills/confirmation-gate.js.map +0 -1
  187. package/dist/services/agent/loops/shared/skills/fast-responder.d.ts +0 -9
  188. package/dist/services/agent/loops/shared/skills/fast-responder.js +0 -46
  189. package/dist/services/agent/loops/shared/skills/fast-responder.js.map +0 -1
  190. package/dist/services/agent/loops/shared/skills/final-responder.d.ts +0 -7
  191. package/dist/services/agent/loops/shared/skills/final-responder.js +0 -34
  192. package/dist/services/agent/loops/shared/skills/final-responder.js.map +0 -1
  193. package/dist/services/agent/loops/shared/skills/index.d.ts +0 -6
  194. package/dist/services/agent/loops/shared/skills/index.js +0 -23
  195. package/dist/services/agent/loops/shared/skills/index.js.map +0 -1
  196. package/dist/services/agent/loops/shared/skills/state-observer.d.ts +0 -10
  197. package/dist/services/agent/loops/shared/skills/state-observer.js +0 -34
  198. package/dist/services/agent/loops/shared/skills/state-observer.js.map +0 -1
  199. package/dist/services/agent/loops/shared/skills/strategy-engine.d.ts +0 -15
  200. package/dist/services/agent/loops/shared/skills/strategy-engine.js +0 -37
  201. package/dist/services/agent/loops/shared/skills/strategy-engine.js.map +0 -1
  202. package/dist/services/agent/modules/chats/entities/agent-action.entity.d.ts +0 -58
  203. package/dist/services/agent/modules/chats/entities/agent-action.entity.js +0 -117
  204. package/dist/services/agent/modules/chats/entities/agent-action.entity.js.map +0 -1
  205. package/dist/services/agent/modules/chats/entities/agent-task.entity.d.ts +0 -59
  206. package/dist/services/agent/modules/chats/entities/agent-task.entity.js +0 -200
  207. package/dist/services/agent/modules/chats/entities/agent-task.entity.js.map +0 -1
  208. package/dist/services/agent/modules/chats/entities/chat-context.entity.d.ts +0 -39
  209. package/dist/services/agent/modules/chats/entities/chat-context.entity.js +0 -46
  210. package/dist/services/agent/modules/chats/entities/chat-context.entity.js.map +0 -1
  211. package/dist/services/agent/modules/chats/entities/chat-message.entity.d.ts +0 -16
  212. package/dist/services/agent/modules/chats/entities/chat-message.entity.js +0 -34
  213. package/dist/services/agent/modules/chats/entities/chat-message.entity.js.map +0 -1
  214. package/dist/services/agent/modules/chats/entities/chat-settings.entity.d.ts +0 -17
  215. package/dist/services/agent/modules/chats/entities/chat-settings.entity.js +0 -36
  216. package/dist/services/agent/modules/chats/entities/chat-settings.entity.js.map +0 -1
  217. package/dist/services/agent/modules/chats/entities/chat.entity.d.ts +0 -50
  218. package/dist/services/agent/modules/chats/entities/chat.entity.js +0 -135
  219. package/dist/services/agent/modules/chats/entities/chat.entity.js.map +0 -1
  220. package/dist/services/agent/modules/chats/entities/index.d.ts +0 -1
  221. package/dist/services/agent/modules/chats/entities/index.js +0 -18
  222. package/dist/services/agent/modules/chats/entities/index.js.map +0 -1
  223. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.d.ts +0 -14
  224. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js +0 -37
  225. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js.map +0 -1
  226. package/dist/services/agent/modules/chats/lambdas/create-chat/index.d.ts +0 -1
  227. package/dist/services/agent/modules/chats/lambdas/create-chat/index.js +0 -18
  228. package/dist/services/agent/modules/chats/lambdas/create-chat/index.js.map +0 -1
  229. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.d.ts +0 -15
  230. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js +0 -44
  231. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js.map +0 -1
  232. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.d.ts +0 -1
  233. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js +0 -18
  234. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js.map +0 -1
  235. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.d.ts +0 -14
  236. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js +0 -33
  237. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js.map +0 -1
  238. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.d.ts +0 -1
  239. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js +0 -18
  240. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js.map +0 -1
  241. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.d.ts +0 -1
  242. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js +0 -18
  243. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js.map +0 -1
  244. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.d.ts +0 -14
  245. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js +0 -45
  246. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js.map +0 -1
  247. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.d.ts +0 -1
  248. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js +0 -18
  249. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js.map +0 -1
  250. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.d.ts +0 -16
  251. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js +0 -33
  252. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js.map +0 -1
  253. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.d.ts +0 -1
  254. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js +0 -18
  255. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js.map +0 -1
  256. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.d.ts +0 -16
  257. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js +0 -40
  258. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js.map +0 -1
  259. package/dist/services/agent/modules/chats/lambdas/update-chat/index.d.ts +0 -1
  260. package/dist/services/agent/modules/chats/lambdas/update-chat/index.js +0 -18
  261. package/dist/services/agent/modules/chats/lambdas/update-chat/index.js.map +0 -1
  262. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.d.ts +0 -15
  263. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js +0 -45
  264. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js.map +0 -1
  265. package/dist/services/agent/modules/chats/repositories/chat.repository.d.ts +0 -10
  266. package/dist/services/agent/modules/chats/repositories/chat.repository.js +0 -43
  267. package/dist/services/agent/modules/chats/repositories/chat.repository.js.map +0 -1
  268. package/dist/services/agent/modules/chats/repositories/index.d.ts +0 -1
  269. package/dist/services/agent/modules/chats/repositories/index.js +0 -18
  270. package/dist/services/agent/modules/chats/repositories/index.js.map +0 -1
  271. package/dist/services/agent/modules/llmcalls/entities/index.d.ts +0 -1
  272. package/dist/services/agent/modules/llmcalls/entities/index.js +0 -18
  273. package/dist/services/agent/modules/llmcalls/entities/index.js.map +0 -1
  274. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.d.ts +0 -23
  275. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js +0 -42
  276. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js.map +0 -1
  277. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.d.ts +0 -14
  278. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js +0 -37
  279. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js.map +0 -1
  280. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.d.ts +0 -1
  281. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js +0 -18
  282. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js.map +0 -1
  283. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.d.ts +0 -15
  284. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js +0 -44
  285. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js.map +0 -1
  286. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.d.ts +0 -1
  287. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js +0 -18
  288. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js.map +0 -1
  289. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.d.ts +0 -21
  290. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js +0 -104
  291. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js.map +0 -1
  292. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.d.ts +0 -1
  293. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js +0 -18
  294. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js.map +0 -1
  295. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.d.ts +0 -14
  296. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js +0 -33
  297. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js.map +0 -1
  298. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.d.ts +0 -1
  299. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js +0 -18
  300. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js.map +0 -1
  301. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.d.ts +0 -1
  302. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js +0 -18
  303. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js.map +0 -1
  304. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.d.ts +0 -16
  305. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js +0 -33
  306. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js.map +0 -1
  307. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.d.ts +0 -1
  308. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js +0 -18
  309. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js.map +0 -1
  310. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.d.ts +0 -15
  311. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js +0 -43
  312. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js.map +0 -1
  313. package/dist/services/agent/modules/llmcalls/repositories/index.d.ts +0 -1
  314. package/dist/services/agent/modules/llmcalls/repositories/index.js +0 -18
  315. package/dist/services/agent/modules/llmcalls/repositories/index.js.map +0 -1
  316. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.d.ts +0 -10
  317. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js +0 -43
  318. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js.map +0 -1
  319. package/dist/services/agent/modules/mcp-servers/entities/index.d.ts +0 -1
  320. package/dist/services/agent/modules/mcp-servers/entities/index.js +0 -18
  321. package/dist/services/agent/modules/mcp-servers/entities/index.js.map +0 -1
  322. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.d.ts +0 -23
  323. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js +0 -53
  324. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js.map +0 -1
  325. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.d.ts +0 -14
  326. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js +0 -37
  327. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js.map +0 -1
  328. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.d.ts +0 -1
  329. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js +0 -18
  330. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js.map +0 -1
  331. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.d.ts +0 -15
  332. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js +0 -44
  333. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js.map +0 -1
  334. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.d.ts +0 -1
  335. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js +0 -18
  336. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js.map +0 -1
  337. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.d.ts +0 -14
  338. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js +0 -33
  339. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js.map +0 -1
  340. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.d.ts +0 -1
  341. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js +0 -18
  342. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js.map +0 -1
  343. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.d.ts +0 -1
  344. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js +0 -18
  345. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js.map +0 -1
  346. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.d.ts +0 -16
  347. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js +0 -40
  348. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js.map +0 -1
  349. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.d.ts +0 -1
  350. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js +0 -18
  351. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js.map +0 -1
  352. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.d.ts +0 -15
  353. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js +0 -42
  354. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js.map +0 -1
  355. package/dist/services/agent/modules/mcp-servers/repositories/index.d.ts +0 -1
  356. package/dist/services/agent/modules/mcp-servers/repositories/index.js +0 -18
  357. package/dist/services/agent/modules/mcp-servers/repositories/index.js.map +0 -1
  358. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.d.ts +0 -10
  359. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js +0 -43
  360. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js.map +0 -1
  361. package/dist/services/agent/skills/index.js.map +0 -1
  362. package/dist/services/agent/skills/shared/index.d.ts +0 -1
  363. package/dist/services/agent/skills/shared/index.js +0 -18
  364. package/dist/services/agent/skills/shared/index.js.map +0 -1
  365. package/dist/services/agent/skills/shared/shared-rules.d.ts +0 -4
  366. package/dist/services/agent/skills/shared/shared-rules.js +0 -8
  367. package/dist/services/agent/skills/shared/shared-rules.js.map +0 -1
  368. package/dist/services/agent/skills/skill-runner.d.ts +0 -31
  369. package/dist/services/agent/skills/skill-runner.js +0 -105
  370. package/dist/services/agent/skills/skill-runner.js.map +0 -1
  371. package/dist/services/agent/skills/skill.d.ts +0 -33
  372. package/dist/services/agent/skills/skill.js +0 -110
  373. package/dist/services/agent/skills/skill.js.map +0 -1
  374. package/dist/services/agent/tools/core/call-ai/call-ai.skill.d.ts +0 -6
  375. package/dist/services/agent/tools/core/call-ai/call-ai.skill.js +0 -31
  376. package/dist/services/agent/tools/core/call-ai/call-ai.skill.js.map +0 -1
  377. package/dist/services/agent/tools/core/call-ai/call-ai.tool.d.ts +0 -2
  378. package/dist/services/agent/tools/core/call-ai/call-ai.tool.js +0 -47
  379. package/dist/services/agent/tools/core/call-ai/call-ai.tool.js.map +0 -1
  380. package/dist/services/agent/tools/core/call-ai/index.d.ts +0 -1
  381. package/dist/services/agent/tools/core/call-ai/index.js +0 -18
  382. package/dist/services/agent/tools/core/call-ai/index.js.map +0 -1
  383. package/dist/services/agent/tools/core/index.d.ts +0 -2
  384. package/dist/services/agent/tools/core/index.js +0 -19
  385. package/dist/services/agent/tools/core/index.js.map +0 -1
  386. package/dist/services/agent/tools/core/web-search/index.d.ts +0 -1
  387. package/dist/services/agent/tools/core/web-search/index.js +0 -18
  388. package/dist/services/agent/tools/core/web-search/index.js.map +0 -1
  389. package/dist/services/agent/tools/core/web-search/web-search.tool.d.ts +0 -2
  390. package/dist/services/agent/tools/core/web-search/web-search.tool.js +0 -29
  391. package/dist/services/agent/tools/core/web-search/web-search.tool.js.map +0 -1
  392. package/dist/services/agent/tools/index.js.map +0 -1
  393. package/dist/services/agent/tools/tool.js +0 -35
  394. package/dist/services/agent/tools/tool.js.map +0 -1
  395. package/dist/services/agent/utils/rank-tools-by-keywords.d.ts +0 -12
  396. package/dist/services/agent/utils/rank-tools-by-keywords.js +0 -43
  397. package/dist/services/agent/utils/rank-tools-by-keywords.js.map +0 -1
  398. package/dist/services/app/core/app.d.ts +0 -14
  399. package/dist/services/app/core/app.js +0 -38
  400. package/dist/services/app/core/app.js.map +0 -1
  401. package/dist/services/app/core/current-session.js +0 -95
  402. package/dist/services/app/core/current-session.js.map +0 -1
  403. package/dist/services/app/core/current-user.d.ts +0 -16
  404. package/dist/services/app/core/current-user.js +0 -61
  405. package/dist/services/app/core/current-user.js.map +0 -1
  406. package/dist/services/app/core/index.js.map +0 -1
  407. package/dist/services/app/modules/authentication/lambdas/login/index.d.ts +0 -1
  408. package/dist/services/app/modules/authentication/lambdas/login/index.js +0 -18
  409. package/dist/services/app/modules/authentication/lambdas/login/index.js.map +0 -1
  410. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.d.ts +0 -21
  411. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js +0 -64
  412. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js.map +0 -1
  413. package/dist/services/app/modules/users/entities/index.d.ts +0 -1
  414. package/dist/services/app/modules/users/entities/index.js +0 -18
  415. package/dist/services/app/modules/users/entities/index.js.map +0 -1
  416. package/dist/services/app/modules/users/entities/user-acquisition.d.ts +0 -12
  417. package/dist/services/app/modules/users/entities/user-acquisition.js +0 -34
  418. package/dist/services/app/modules/users/entities/user-acquisition.js.map +0 -1
  419. package/dist/services/app/modules/users/entities/user-country.d.ts +0 -11
  420. package/dist/services/app/modules/users/entities/user-country.js +0 -22
  421. package/dist/services/app/modules/users/entities/user-country.js.map +0 -1
  422. package/dist/services/app/modules/users/entities/user-currency.d.ts +0 -13
  423. package/dist/services/app/modules/users/entities/user-currency.js +0 -22
  424. package/dist/services/app/modules/users/entities/user-currency.js.map +0 -1
  425. package/dist/services/app/modules/users/entities/user-email.value-object.d.ts +0 -6
  426. package/dist/services/app/modules/users/entities/user-email.value-object.js +0 -22
  427. package/dist/services/app/modules/users/entities/user-email.value-object.js.map +0 -1
  428. package/dist/services/app/modules/users/entities/user-language.d.ts +0 -11
  429. package/dist/services/app/modules/users/entities/user-language.js +0 -22
  430. package/dist/services/app/modules/users/entities/user-language.js.map +0 -1
  431. package/dist/services/app/modules/users/entities/user-marketing.d.ts +0 -9
  432. package/dist/services/app/modules/users/entities/user-marketing.js +0 -32
  433. package/dist/services/app/modules/users/entities/user-marketing.js.map +0 -1
  434. package/dist/services/app/modules/users/entities/user-notification-preferences.d.ts +0 -11
  435. package/dist/services/app/modules/users/entities/user-notification-preferences.js +0 -19
  436. package/dist/services/app/modules/users/entities/user-notification-preferences.js.map +0 -1
  437. package/dist/services/app/modules/users/entities/user-password.value-object.d.ts +0 -8
  438. package/dist/services/app/modules/users/entities/user-password.value-object.js +0 -28
  439. package/dist/services/app/modules/users/entities/user-password.value-object.js.map +0 -1
  440. package/dist/services/app/modules/users/entities/user-permissions.d.ts +0 -21
  441. package/dist/services/app/modules/users/entities/user-permissions.js +0 -37
  442. package/dist/services/app/modules/users/entities/user-permissions.js.map +0 -1
  443. package/dist/services/app/modules/users/entities/user-preferences.d.ts +0 -25
  444. package/dist/services/app/modules/users/entities/user-preferences.js +0 -40
  445. package/dist/services/app/modules/users/entities/user-preferences.js.map +0 -1
  446. package/dist/services/app/modules/users/entities/user-report-preferences.d.ts +0 -16
  447. package/dist/services/app/modules/users/entities/user-report-preferences.js +0 -29
  448. package/dist/services/app/modules/users/entities/user-report-preferences.js.map +0 -1
  449. package/dist/services/app/modules/users/entities/user-report-schedule.d.ts +0 -11
  450. package/dist/services/app/modules/users/entities/user-report-schedule.js +0 -19
  451. package/dist/services/app/modules/users/entities/user-report-schedule.js.map +0 -1
  452. package/dist/services/app/modules/users/entities/user-timezone.d.ts +0 -11
  453. package/dist/services/app/modules/users/entities/user-timezone.js +0 -22
  454. package/dist/services/app/modules/users/entities/user-timezone.js.map +0 -1
  455. package/dist/services/app/modules/users/entities/user.entity.d.ts +0 -41
  456. package/dist/services/app/modules/users/entities/user.entity.js +0 -100
  457. package/dist/services/app/modules/users/entities/user.entity.js.map +0 -1
  458. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.d.ts +0 -14
  459. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js +0 -41
  460. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js.map +0 -1
  461. package/dist/services/app/modules/users/lambdas/create-user/index.d.ts +0 -1
  462. package/dist/services/app/modules/users/lambdas/create-user/index.js +0 -18
  463. package/dist/services/app/modules/users/lambdas/create-user/index.js.map +0 -1
  464. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.d.ts +0 -16
  465. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js +0 -44
  466. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js.map +0 -1
  467. package/dist/services/app/modules/users/lambdas/delete-user/index.d.ts +0 -1
  468. package/dist/services/app/modules/users/lambdas/delete-user/index.js +0 -18
  469. package/dist/services/app/modules/users/lambdas/delete-user/index.js.map +0 -1
  470. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.d.ts +0 -14
  471. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js +0 -33
  472. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js.map +0 -1
  473. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.d.ts +0 -1
  474. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js +0 -18
  475. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js.map +0 -1
  476. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.d.ts +0 -1
  477. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js +0 -18
  478. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js.map +0 -1
  479. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.d.ts +0 -16
  480. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js +0 -33
  481. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js.map +0 -1
  482. package/dist/services/app/modules/users/lambdas/update-user/index.d.ts +0 -1
  483. package/dist/services/app/modules/users/lambdas/update-user/index.js +0 -18
  484. package/dist/services/app/modules/users/lambdas/update-user/index.js.map +0 -1
  485. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.d.ts +0 -15
  486. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js +0 -43
  487. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js.map +0 -1
  488. package/dist/services/app/modules/users/repositories/index.d.ts +0 -1
  489. package/dist/services/app/modules/users/repositories/index.js +0 -18
  490. package/dist/services/app/modules/users/repositories/index.js.map +0 -1
  491. package/dist/services/app/modules/users/repositories/user.repository.d.ts +0 -12
  492. package/dist/services/app/modules/users/repositories/user.repository.js +0 -60
  493. package/dist/services/app/modules/users/repositories/user.repository.js.map +0 -1
@@ -1,20 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./app"), exports);
18
- __exportStar(require("./current-session"), exports);
19
- __exportStar(require("./current-user"), exports);
20
- //# sourceMappingURL=index.js.map
1
+ "use strict";var wr=Object.create;var wt=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var Sr=Object.getOwnPropertyNames;var Or=Object.getPrototypeOf,Nr=Object.prototype.hasOwnProperty;var Br=(e,t)=>{for(var r in t)wt(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Sr(t))!Nr.call(e,s)&&s!==r&&wt(e,s,{get:()=>t[s],enumerable:!(n=Se(t,s))||n.enumerable});return e};var Q=(e,t,r)=>(r=e!=null?wr(Or(e)):{},Oe(t||!e||!e.__esModule?wt(r,"default",{value:e,enumerable:!0}):r,e)),Er=e=>Oe(wt({},"__esModule",{value:!0}),e),O=(e,t,r,n)=>{for(var s=n>1?void 0:n?Se(t,r):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&wt(t,r,s),s};var bn={};Br(bn,{App:()=>pe,ClientEnvironment:()=>hr,CurrentSession:()=>ye,CurrentUser:()=>we});module.exports=Er(bn);var Bo=require("reflect-metadata"),nt=require("tsyringe");var or=require("tsyringe");var Sn=require("dotenv/config"),vt=Q(require("pino")),Ne=Q(require("pino-pretty")),Ir=(0,Ne.default)({colorize:!0}),St=class{IS_LOCAL=process.env.IS_LOCAL==="true"||process.env.NODE_ENV==="development";logger=this.IS_LOCAL?(0,vt.default)({level:"debug"},Ir):(0,vt.default)({level:"info"});log(t,r,n){typeof r=="string"&&(n=r,r=void 0),this.logger[t](r??{},n||"")}info(t,r){this.log("info",t,r)}warn(t,r){this.log("warn",t,r)}debug(t,r){this.log("debug",t,r)}error(t,r){this.log("error",t,r)}fatal(t,r){this.log("fatal",t,r)}},C=new St;var F=class{statusCode;errorMessage;errorDetails;constructor(t){this.statusCode=t.statusCode,this.errorMessage=t.errorMessage,this.errorDetails=t.errorDetails}};var V=Q(require("@sentry/node"));var In=require("dotenv/config"),Be=Q(require("cryptr"));var te=class e{static instance;cache=new Map;cryptr;static getInstance(){return e.instance||(e.instance=new e),e.instance}static encrypt(t){if(!t)throw new Error("[Secret manager] Value to encrypt cannot be empty");return`ENC:${e.getInstance().cryptr.encrypt(t)}`}constructor(){if(!process.env.SSUID)throw new Error("[Secret manager] SSUID environment variable is not set");this.cryptr=new Be.default(process.env.SSUID,{pbkdf2Iterations:1e3,saltLength:16})}get(t){let r=process.hrtime.bigint();if(this.cache.has(t)){let i=this.cache.get(t);return this.logElapsed(t,r,!0),i}let n=this.getEnvVar(t),s=this.decryptEnvVar(n);return this.cache.set(t,s),this.logElapsed(t,r,!1),s}getEnvVar(t){let r=process.env[t];if(!r)throw new Error(`[Secret manager] Environment variable ${t} is not set`);return r}decryptEnvVar(t){if(!t)throw new Error("[Secret manager] Encrypted value cannot be empty");if(!this.isStringEncrypted(t))return C.debug("[Secret Manager] Value is not encrypted"),t;let r=t.replace(/^ENC:/,"");return this.cryptr.decrypt(r)}isStringEncrypted(t){return t?t.startsWith("ENC:"):!1}logElapsed(t,r,n){let s=process.hrtime.bigint(),i=Number(s-r)/1e6,o=n?" (cached)":"";C.debug(`[Secret Manager] GET: ${t} | ${i.toFixed(3)} ms${o}`)}},K=te.getInstance();var ee=class e{static instance;enabled;static getInstance(){return e.instance||(e.instance=new e),e.instance}constructor(){let t=this.resolveDsn();if(this.enabled=!!t,!t){C.warn("[Sentry Client] Sentry DSN is not configured. Skipping error reporting.");return}V.init({dsn:t,environment:process.env.NODE_ENV||"production",tracesSampleRate:0}),C.debug("[Sentry Client] Sentry client initialized")}async captureError(t,r){if(this.enabled){V.withScope(n=>{r&&n.setExtras(r),V.captureException(t)});try{await V.flush(2e3),C.debug("[Sentry Client] Error reported to Sentry successfully")}catch(n){C.error(n,"[Sentry Client] Failed to flush Sentry events")}}}setUser(t){this.enabled&&V.setUser({id:t})}resolveDsn(){try{return K.get("SENTRY_DSN")}catch{return}}},Ee=ee.getInstance();var Ot=async(e,t)=>{e=typeof e=="string"?new Error(e):e;let r=(e instanceof F?e?.errorMessage:e?.message)||"Unknown error",n=(e instanceof F?e?.errorDetails:e?.stack)||"No stack trace available",s=e instanceof F?e?.statusCode:500;C.debug({error:t,message:r},"[Report Error] Reporting new error");let i=process.env.IS_LOCAL==="true"||process.env.NODE_ENV==="development";try{!i&&await Ee.captureError(e,{statusCode:s,errorMessage:r,errorDetails:n,...t})}catch(o){C.error({error:o},"[Report Error] Failed to report error to Sentry")}};var Ct=class{logger=new St;secretManager=K;reportError=Ot;async onCatch(t){throw await Ot(t),t}throwHttpError(t){throw new F(t)}throwError401(t){this.throwHttpError({statusCode:401,errorMessage:"{{invalid_token}}: {{not_authenticated_error_details}}",errorDetails:JSON.stringify(t??{})})}throwError403(t){this.throwHttpError({statusCode:403,errorMessage:"{{forbidden_error}}: {{forbidden_error_details}}",errorDetails:JSON.stringify(t??{})})}};var M=class extends Ct{};function W(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function re(e){if(Array.isArray(e))return e.map(re);if(W(e)){let t={};for(let r of Object.keys(e))t[r]=re(e[r]);return t}return e}function ne(e){let t=n=>{if(Array.isArray(n)){n.forEach(t);return}W(n)&&Object.keys(n).forEach(s=>{let i=n[s];Array.isArray(i)?t(i):W(i)?(t(i),Object.keys(i).length===0&&delete n[s]):i==null&&delete n[s]})},r=re(e);return t(r),r}function se(e,t="",r={}){if(!W(e))return{};for(let n in e)if(e.hasOwnProperty(n)){let s=t?`${t}.${n}`:n,i=e[n];W(i)?se(i,s,r):r[s]=i}return r}var Ie="maskInLogs";function Ue(e,t){Reflect.defineMetadata(Ie,!0,e,t)}var Ur=(e,t)=>Reflect.getMetadata(Ie,e,t);function Rt(e){if(e&&W(e)){let t={};for(let[r,n]of Object.entries(e))Ur(e,r)?t[r]="[HIDDEN]":Array.isArray(n)?t[r]=n.map(s=>Rt(s)):typeof n=="object"?t[r]=Rt(n):t[r]=n;return t}return e}var Tr="adminOnly";function L(e,t){Reflect.defineMetadata(Tr,!0,e,t)}var Ar="ownerOnly";function Te(e,t){Reflect.defineMetadata(Ar,!0,e,t)}var Is=require("reflect-metadata");var Fe=require("crypto"),Pr=(()=>{let e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype),Symbol.toStringTag).get;return t=>e.call(t)})();function Ve(e){return Pr(e)==="Uint8Array"}function Lr(e){return typeof e=="object"&&e!=null&&Symbol.toStringTag in e&&(e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer")}function Cr(e){return e instanceof RegExp||Object.prototype.toString.call(e)==="[object RegExp]"}function ke(e){return typeof e=="object"&&e!=null&&Symbol.toStringTag in e&&e[Symbol.toStringTag]==="Map"}function Rr(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function _(e,t){return JSON.stringify(e,(r,n)=>typeof n=="bigint"?{$numberLong:`${n}`}:ke(n)?Object.fromEntries(n):n)}function $r(e){if(e!=null&&typeof e=="object"&&"stylize"in e&&typeof e.stylize=="function")return e.stylize}var ue=6,He=Symbol.for("@@mdb.bson.version"),he=2147483647,ge=-2147483648,Ye=Math.pow(2,63)-1,We=-Math.pow(2,63),xr=Math.pow(2,53),Dr=-Math.pow(2,53);var qe=4,ps=Object.freeze({double:1,string:2,object:3,array:4,binData:5,undefined:6,objectId:7,bool:8,date:9,null:10,regex:11,dbPointer:12,javascript:13,symbol:14,javascriptWithScope:15,int:16,timestamp:17,long:18,decimal:19,minKey:-1,maxKey:127}),c=class extends Error{get bsonError(){return!0}get name(){return"BSONError"}constructor(t,r){super(t,r)}static isBSONError(t){return t!=null&&typeof t=="object"&&"bsonError"in t&&t.bsonError===!0&&"name"in t&&"message"in t&&"stack"in t}},fe=class extends c{get name(){return"BSONVersionError"}constructor(){super(`Unsupported BSON version, bson types must be from bson ${ue}.x.x`)}},$t=class extends c{get name(){return"BSONRuntimeError"}constructor(t){super(t)}},k=class extends c{get name(){return"BSONOffsetError"}constructor(t,r,n){super(`${t}. offset: ${r}`,n),this.offset=r}},Ae,Pe;function Ze(e,t,r,n){if(n){Ae??=new TextDecoder("utf8",{fatal:!0});try{return Ae.decode(e.subarray(t,r))}catch(s){throw new c("Invalid UTF-8 string in BSON document",{cause:s})}}return Pe??=new TextDecoder("utf8",{fatal:!1}),Pe.decode(e.subarray(t,r))}function Ke(e,t,r){if(e.length===0)return"";let n=r-t;if(n===0)return"";if(n>20)return null;if(n===1&&e[t]<128)return String.fromCharCode(e[t]);if(n===2&&e[t]<128&&e[t+1]<128)return String.fromCharCode(e[t])+String.fromCharCode(e[t+1]);if(n===3&&e[t]<128&&e[t+1]<128&&e[t+2]<128)return String.fromCharCode(e[t])+String.fromCharCode(e[t+1])+String.fromCharCode(e[t+2]);let s=[];for(let i=t;i<r;i++){let o=e[i];if(o>127)return null;s.push(o)}return String.fromCharCode(...s)}function _r(e,t,r){if(t.length===0)return 0;if(t.length>25||e.length-r<t.length)return null;for(let n=0,s=r;n<t.length;n++,s++){let i=t.charCodeAt(n);if(i>127)return null;e[s]=i}return t.length}var X={toLocalBufferType(e){if(Buffer.isBuffer(e))return e;if(ArrayBuffer.isView(e))return Buffer.from(e.buffer,e.byteOffset,e.byteLength);let t=e?.[Symbol.toStringTag]??Object.prototype.toString.call(e);if(t==="ArrayBuffer"||t==="SharedArrayBuffer"||t==="[object ArrayBuffer]"||t==="[object SharedArrayBuffer]")return Buffer.from(e);throw new c("Cannot create Buffer from the passed potentialBuffer.")},allocate(e){return Buffer.alloc(e)},allocateUnsafe(e){return Buffer.allocUnsafe(e)},equals(e,t){return X.toLocalBufferType(e).equals(t)},fromNumberArray(e){return Buffer.from(e)},fromBase64(e){return Buffer.from(e,"base64")},toBase64(e){return X.toLocalBufferType(e).toString("base64")},fromISO88591(e){return Buffer.from(e,"binary")},toISO88591(e){return X.toLocalBufferType(e).toString("binary")},fromHex(e){return Buffer.from(e,"hex")},toHex(e){return X.toLocalBufferType(e).toString("hex")},toUTF8(e,t,r,n){let s=r-t<=20?Ke(e,t,r):null;if(s!=null)return s;let i=X.toLocalBufferType(e).toString("utf8",t,r);if(n){for(let o=0;o<i.length;o++)if(i.charCodeAt(o)===65533){Ze(e,t,r,!0);break}}return i},utf8ByteLength(e){return Buffer.byteLength(e,"utf8")},encodeUTF8Into(e,t,r){let n=_r(e,t,r);return n??X.toLocalBufferType(e).write(t,r,void 0,"utf8")},randomBytes:Fe.randomBytes,swap32(e){return X.toLocalBufferType(e).swap32()}};function Mr(){let{navigator:e}=globalThis;return typeof e=="object"&&e.product==="ReactNative"}function zr(e){if(e<0)throw new RangeError(`The argument 'byteLength' is invalid. Received ${e}`);return It.fromNumberArray(Array.from({length:e},()=>Math.floor(Math.random()*256)))}var jr=(()=>{let{crypto:e}=globalThis;if(e!=null&&typeof e.getRandomValues=="function")return t=>e.getRandomValues(It.allocate(t));if(Mr()){let{console:t}=globalThis;t?.warn?.("BSON: For React Native please polyfill crypto.getRandomValues, e.g. using: https://www.npmjs.com/package/react-native-get-random-values.")}return zr})(),Le=/(\d|[a-f])/i,It={toLocalBufferType(e){let t=e?.[Symbol.toStringTag]??Object.prototype.toString.call(e);if(t==="Uint8Array")return e;if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));if(t==="ArrayBuffer"||t==="SharedArrayBuffer"||t==="[object ArrayBuffer]"||t==="[object SharedArrayBuffer]")return new Uint8Array(e);throw new c("Cannot make a Uint8Array from passed potentialBuffer.")},allocate(e){if(typeof e!="number")throw new TypeError(`The "size" argument must be of type number. Received ${String(e)}`);return new Uint8Array(e)},allocateUnsafe(e){return It.allocate(e)},equals(e,t){if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},fromNumberArray(e){return Uint8Array.from(e)},fromBase64(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))},toBase64(e){return btoa(It.toISO88591(e))},fromISO88591(e){return Uint8Array.from(e,t=>t.charCodeAt(0)&255)},toISO88591(e){return Array.from(Uint16Array.from(e),t=>String.fromCharCode(t)).join("")},fromHex(e){let t=e.length%2===0?e:e.slice(0,e.length-1),r=[];for(let n=0;n<t.length;n+=2){let s=t[n],i=t[n+1];if(!Le.test(s)||!Le.test(i))break;let o=Number.parseInt(`${s}${i}`,16);r.push(o)}return Uint8Array.from(r)},toHex(e){return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")},toUTF8(e,t,r,n){let s=r-t<=20?Ke(e,t,r):null;return s??Ze(e,t,r,n)},utf8ByteLength(e){return new TextEncoder().encode(e).byteLength},encodeUTF8Into(e,t,r){let n=new TextEncoder().encode(t);return e.set(n,r),n.byteLength},randomBytes:jr,swap32(e){if(e.length%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e.length;t+=4){let r=e[t],n=e[t+1],s=e[t+2],i=e[t+3];e[t]=i,e[t+1]=s,e[t+2]=n,e[t+3]=r}return e}},Jr=typeof Buffer=="function"&&Buffer.prototype?._isBuffer!==!0,u=Jr?X:It,$=class{get[He](){return ue}[Symbol.for("nodejs.util.inspect.custom")](t,r,n){return this.inspect(t,r,n)}},ct=new Float64Array(1),d=new Uint8Array(ct.buffer,0,8);ct[0]=-1;var ie=d[7]===0,tt={isBigEndian:ie,getNonnegativeInt32LE(e,t){if(e[t+3]>127)throw new RangeError(`Size cannot be negative at offset: ${t}`);return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},getInt32LE(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},getUint32LE(e,t){return e[t]+e[t+1]*256+e[t+2]*65536+e[t+3]*16777216},getUint32BE(e,t){return e[t+3]+e[t+2]*256+e[t+1]*65536+e[t]*16777216},getBigInt64LE(e,t){let r=BigInt(e[t+4]+e[t+5]*256+e[t+6]*65536+(e[t+7]<<24)),n=BigInt(e[t]+e[t+1]*256+e[t+2]*65536+e[t+3]*16777216);return(r<<BigInt(32))+n},getFloat64LE:ie?(e,t)=>(d[7]=e[t],d[6]=e[t+1],d[5]=e[t+2],d[4]=e[t+3],d[3]=e[t+4],d[2]=e[t+5],d[1]=e[t+6],d[0]=e[t+7],ct[0]):(e,t)=>(d[0]=e[t],d[1]=e[t+1],d[2]=e[t+2],d[3]=e[t+3],d[4]=e[t+4],d[5]=e[t+5],d[6]=e[t+6],d[7]=e[t+7],ct[0]),setInt32BE(e,t,r){return e[t+3]=r,r>>>=8,e[t+2]=r,r>>>=8,e[t+1]=r,r>>>=8,e[t]=r,4},setInt32LE(e,t,r){return e[t]=r,r>>>=8,e[t+1]=r,r>>>=8,e[t+2]=r,r>>>=8,e[t+3]=r,4},setBigInt64LE(e,t,r){let n=BigInt(4294967295),s=Number(r&n);e[t]=s,s>>=8,e[t+1]=s,s>>=8,e[t+2]=s,s>>=8,e[t+3]=s;let i=Number(r>>BigInt(32)&n);return e[t+4]=i,i>>=8,e[t+5]=i,i>>=8,e[t+6]=i,i>>=8,e[t+7]=i,8},setFloat64LE:ie?(e,t,r)=>(ct[0]=r,e[t]=d[7],e[t+1]=d[6],e[t+2]=d[5],e[t+3]=d[4],e[t+4]=d[3],e[t+5]=d[2],e[t+6]=d[1],e[t+7]=d[0],8):(e,t,r)=>(ct[0]=r,e[t]=d[0],e[t+1]=d[1],e[t+2]=d[2],e[t+3]=d[3],e[t+4]=d[4],e[t+5]=d[5],e[t+6]=d[6],e[t+7]=d[7],8)},B=class e extends ${get _bsontype(){return"Binary"}constructor(t,r){if(super(),t!=null&&typeof t=="string"&&!ArrayBuffer.isView(t)&&!Lr(t)&&!Array.isArray(t))throw new c("Binary can only be constructed from Uint8Array or number[]");this.sub_type=r??e.BSON_BINARY_SUBTYPE_DEFAULT,t==null?(this.buffer=u.allocate(e.BUFFER_SIZE),this.position=0):(this.buffer=Array.isArray(t)?u.fromNumberArray(t):u.toLocalBufferType(t),this.position=this.buffer.byteLength)}put(t){if(typeof t=="string"&&t.length!==1)throw new c("only accepts single character String");if(typeof t!="number"&&t.length!==1)throw new c("only accepts single character Uint8Array or Array");let r;if(typeof t=="string"?r=t.charCodeAt(0):typeof t=="number"?r=t:r=t[0],r<0||r>255)throw new c("only accepts number in a valid unsigned byte range 0-255");if(this.buffer.byteLength>this.position)this.buffer[this.position++]=r;else{let n=u.allocate(e.BUFFER_SIZE+this.buffer.length);n.set(this.buffer,0),this.buffer=n,this.buffer[this.position++]=r}}write(t,r){if(r=typeof r=="number"?r:this.position,this.buffer.byteLength<r+t.length){let n=u.allocate(this.buffer.byteLength+t.length);n.set(this.buffer,0),this.buffer=n}if(ArrayBuffer.isView(t))this.buffer.set(u.toLocalBufferType(t),r),this.position=r+t.byteLength>this.position?r+t.length:this.position;else if(typeof t=="string")throw new c("input cannot be string")}read(t,r){r=r&&r>0?r:this.position;let n=t+r;return this.buffer.subarray(t,n>this.position?this.position:n)}value(){return this.buffer.length===this.position?this.buffer:this.buffer.subarray(0,this.position)}length(){return this.position}toJSON(){return u.toBase64(this.buffer.subarray(0,this.position))}toString(t){return t==="hex"?u.toHex(this.buffer.subarray(0,this.position)):t==="base64"?u.toBase64(this.buffer.subarray(0,this.position)):t==="utf8"||t==="utf-8"?u.toUTF8(this.buffer,0,this.position,!1):u.toUTF8(this.buffer,0,this.position,!1)}toExtendedJSON(t){t=t||{},this.sub_type===e.SUBTYPE_VECTOR&&G(this);let r=u.toBase64(this.buffer),n=Number(this.sub_type).toString(16);return t.legacy?{$binary:r,$type:n.length===1?"0"+n:n}:{$binary:{base64:r,subType:n.length===1?"0"+n:n}}}toUUID(){if(this.sub_type===e.SUBTYPE_UUID)return new Et(this.buffer.subarray(0,this.position));throw new c(`Binary sub_type "${this.sub_type}" is not supported for converting to UUID. Only "${e.SUBTYPE_UUID}" is currently supported.`)}static createFromHexString(t,r){return new e(u.fromHex(t),r)}static createFromBase64(t,r){return new e(u.fromBase64(t),r)}static fromExtendedJSON(t,r){r=r||{};let n,s;if("$binary"in t?r.legacy&&typeof t.$binary=="string"&&"$type"in t?(s=t.$type?parseInt(t.$type,16):0,n=u.fromBase64(t.$binary)):typeof t.$binary!="string"&&(s=t.$binary.subType?parseInt(t.$binary.subType,16):0,n=u.fromBase64(t.$binary.base64)):"$uuid"in t&&(s=4,n=Et.bytesFromString(t.$uuid)),!n)throw new c(`Unexpected Binary Extended JSON format ${JSON.stringify(t)}`);return s===qe?new Et(n):new e(n,s)}inspect(t,r,n){n??=_;let s=u.toBase64(this.buffer.subarray(0,this.position)),i=n(s,r),o=n(this.sub_type,r);return`Binary.createFromBase64(${i}, ${o})`}toInt8Array(){if(this.sub_type!==e.SUBTYPE_VECTOR)throw new c("Binary sub_type is not Vector");if(this.buffer[0]!==e.VECTOR_TYPE.Int8)throw new c("Binary datatype field is not Int8");return G(this),new Int8Array(this.buffer.buffer.slice(this.buffer.byteOffset+2,this.buffer.byteOffset+this.position))}toFloat32Array(){if(this.sub_type!==e.SUBTYPE_VECTOR)throw new c("Binary sub_type is not Vector");if(this.buffer[0]!==e.VECTOR_TYPE.Float32)throw new c("Binary datatype field is not Float32");G(this);let t=new Uint8Array(this.buffer.buffer.slice(this.buffer.byteOffset+2,this.buffer.byteOffset+this.position));return tt.isBigEndian&&u.swap32(t),new Float32Array(t.buffer)}toPackedBits(){if(this.sub_type!==e.SUBTYPE_VECTOR)throw new c("Binary sub_type is not Vector");if(this.buffer[0]!==e.VECTOR_TYPE.PackedBit)throw new c("Binary datatype field is not packed bit");return G(this),new Uint8Array(this.buffer.buffer.slice(this.buffer.byteOffset+2,this.buffer.byteOffset+this.position))}toBits(){if(this.sub_type!==e.SUBTYPE_VECTOR)throw new c("Binary sub_type is not Vector");if(this.buffer[0]!==e.VECTOR_TYPE.PackedBit)throw new c("Binary datatype field is not packed bit");G(this);let r=(this.length()-2)*8-this.buffer[1],n=new Int8Array(r);for(let s=0;s<n.length;s++){let i=s/8|0,o=this.buffer[i+2],a=7-s%8,g=o>>a&1;n[s]=g}return n}static fromInt8Array(t){let r=u.allocate(t.byteLength+2);r[0]=e.VECTOR_TYPE.Int8,r[1]=0;let n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);r.set(n,2);let s=new this(r,this.SUBTYPE_VECTOR);return G(s),s}static fromFloat32Array(t){let r=u.allocate(t.byteLength+2);r[0]=e.VECTOR_TYPE.Float32,r[1]=0;let n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);r.set(n,2),tt.isBigEndian&&u.swap32(new Uint8Array(r.buffer,2));let s=new this(r,this.SUBTYPE_VECTOR);return G(s),s}static fromPackedBits(t,r=0){let n=u.allocate(t.byteLength+2);n[0]=e.VECTOR_TYPE.PackedBit,n[1]=r,n.set(t,2);let s=new this(n,this.SUBTYPE_VECTOR);return G(s),s}static fromBits(t){let r=t.length+7>>>3,n=new Uint8Array(r+2);n[0]=e.VECTOR_TYPE.PackedBit;let s=t.length%8;n[1]=s===0?0:8-s;for(let i=0;i<t.length;i++){let o=i>>>3,a=t[i];if(a!==0&&a!==1)throw new c(`Invalid bit value at ${i}: must be 0 or 1, found ${t[i]}`);if(a===0)continue;let g=7-i%8;n[o+2]|=a<<g}return new this(n,e.SUBTYPE_VECTOR)}};B.BSON_BINARY_SUBTYPE_DEFAULT=0;B.BUFFER_SIZE=256;B.SUBTYPE_DEFAULT=0;B.SUBTYPE_FUNCTION=1;B.SUBTYPE_BYTE_ARRAY=2;B.SUBTYPE_UUID_OLD=3;B.SUBTYPE_UUID=4;B.SUBTYPE_MD5=5;B.SUBTYPE_ENCRYPTED=6;B.SUBTYPE_COLUMN=7;B.SUBTYPE_SENSITIVE=8;B.SUBTYPE_VECTOR=9;B.SUBTYPE_USER_DEFINED=128;B.VECTOR_TYPE=Object.freeze({Int8:3,Float32:39,PackedBit:16});function G(e){if(e.sub_type!==B.SUBTYPE_VECTOR)return;let t=e.position,r=e.buffer[0],n=e.buffer[1];if((r===B.VECTOR_TYPE.Float32||r===B.VECTOR_TYPE.Int8)&&n!==0)throw new c("Invalid Vector: padding must be zero for int8 and float32 vectors");if(r===B.VECTOR_TYPE.Float32&&t!==0&&t-2!==0&&(t-2)%4!==0)throw new c("Invalid Vector: Float32 vector must contain a multiple of 4 bytes");if(r===B.VECTOR_TYPE.PackedBit&&n!==0&&t===2)throw new c("Invalid Vector: padding must be zero for packed bit vectors that are empty");if(r===B.VECTOR_TYPE.PackedBit&&n>7)throw new c(`Invalid Vector: padding must be a value between 0 and 7. found: ${n}`)}var oe=16,Fr=/^[0-9A-F]{32}$/i,Vr=/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,Et=class e extends B{constructor(t){let r;if(t==null)r=e.generate();else if(t instanceof e)r=u.toLocalBufferType(new Uint8Array(t.buffer));else if(ArrayBuffer.isView(t)&&t.byteLength===oe)r=u.toLocalBufferType(t);else if(typeof t=="string")r=e.bytesFromString(t);else throw new c("Argument passed in UUID constructor must be a UUID, a 16 byte Buffer or a 32/36 character hex string (dashes excluded/included, format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).");super(r,qe)}get id(){return this.buffer}set id(t){this.buffer=t}toHexString(t=!0){return t?[u.toHex(this.buffer.subarray(0,4)),u.toHex(this.buffer.subarray(4,6)),u.toHex(this.buffer.subarray(6,8)),u.toHex(this.buffer.subarray(8,10)),u.toHex(this.buffer.subarray(10,16))].join("-"):u.toHex(this.buffer)}toString(t){return t==="hex"?u.toHex(this.id):t==="base64"?u.toBase64(this.id):this.toHexString()}toJSON(){return this.toHexString()}equals(t){if(!t)return!1;if(t instanceof e)return u.equals(t.id,this.id);try{return u.equals(new e(t).id,this.id)}catch{return!1}}toBinary(){return new B(this.id,B.SUBTYPE_UUID)}static generate(){let t=u.randomBytes(oe);return t[6]=t[6]&15|64,t[8]=t[8]&63|128,t}static isValid(t){return t?typeof t=="string"?e.isValidUUIDString(t):Ve(t)?t.byteLength===oe:t._bsontype==="Binary"&&t.sub_type===this.SUBTYPE_UUID&&t.buffer.byteLength===16:!1}static createFromHexString(t){let r=e.bytesFromString(t);return new e(r)}static createFromBase64(t){return new e(u.fromBase64(t))}static bytesFromString(t){if(!e.isValidUUIDString(t))throw new c("UUID string representation must be 32 hex digits or canonical hyphenated representation");return u.fromHex(t.replace(/-/g,""))}static isValidUUIDString(t){return Fr.test(t)||Vr.test(t)}inspect(t,r,n){return n??=_,`new UUID(${n(this.toHexString(),r)})`}},Ut=class e extends ${get _bsontype(){return"Code"}constructor(t,r){super(),this.code=t.toString(),this.scope=r??null}toJSON(){return this.scope!=null?{code:this.code,scope:this.scope}:{code:this.code}}toExtendedJSON(){return this.scope?{$code:this.code,$scope:this.scope}:{$code:this.code}}static fromExtendedJSON(t){return new e(t.$code,t.$scope)}inspect(t,r,n){n??=_;let s=n(this.code,r),i=s.includes(`
2
+ `);this.scope!=null&&(s+=`,${i?`
3
+ `:" "}${n(this.scope,r)}`);let o=i&&this.scope===null;return`new Code(${i?`
4
+ `:""}${s}${o?`
5
+ `:""})`}};function kr(e){return e!=null&&typeof e=="object"&&"$id"in e&&e.$id!=null&&"$ref"in e&&typeof e.$ref=="string"&&(!("$db"in e)||"$db"in e&&typeof e.$db=="string")}var ft=class e extends ${get _bsontype(){return"DBRef"}constructor(t,r,n,s){super();let i=t.split(".");i.length===2&&(n=i.shift(),t=i.shift()),this.collection=t,this.oid=r,this.db=n,this.fields=s||{}}get namespace(){return this.collection}set namespace(t){this.collection=t}toJSON(){let t=Object.assign({$ref:this.collection,$id:this.oid},this.fields);return this.db!=null&&(t.$db=this.db),t}toExtendedJSON(t){t=t||{};let r={$ref:this.collection,$id:this.oid};return t.legacy||(this.db&&(r.$db=this.db),r=Object.assign(r,this.fields)),r}static fromExtendedJSON(t){let r=Object.assign({},t);return delete r.$ref,delete r.$id,delete r.$db,new e(t.$ref,t.$id,t.$db,r)}inspect(t,r,n){n??=_;let s=[n(this.namespace,r),n(this.oid,r),...this.db?[n(this.db,r)]:[],...Object.keys(this.fields).length>0?[n(this.fields,r)]:[]];return s[1]=n===_?`new ObjectId(${s[1]})`:s[1],`new DBRef(${s.join(", ")})`}};function Ge(e){if(e==="")return e;let t=0,r=e[t]==="-",n=e[t]==="+";(n||r)&&(t+=1);let s=!1;for(;t<e.length&&e[t]==="0";++t)s=!0;return s?`${r?"-":""}${e.length===t?"0":e.slice(t)}`:n?e.slice(1):e}function Hr(e,t){t=t??10;let r="0123456789abcdefghijklmnopqrstuvwxyz".slice(0,t);return new RegExp(`[^-+${r}]`,"i").test(e)?!1:e}var z;try{z=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}var Ce=65536,Yr=1<<24,lt=Ce*Ce,Xe=lt*lt,Wr=Xe/2,Re={},$e={},qr=20,Zr=/^(\+?0|(\+|-)?[1-9][0-9]*)$/,l=class e extends ${get _bsontype(){return"Long"}get __isLong__(){return!0}constructor(t=0,r,n){super();let s=typeof r=="boolean"?r:!!n,i=typeof r=="number"?r:0,o=typeof t=="string"?e.fromString(t,s):typeof t=="bigint"?e.fromBigInt(t,s):{low:t|0,high:i|0,unsigned:s};this.low=o.low,this.high=o.high,this.unsigned=o.unsigned}static fromBits(t,r,n){return new e(t,r,n)}static fromInt(t,r){let n,s,i;return r?(t>>>=0,(i=0<=t&&t<256)&&(s=$e[t],s)?s:(n=e.fromBits(t,(t|0)<0?-1:0,!0),i&&($e[t]=n),n)):(t|=0,(i=-128<=t&&t<128)&&(s=Re[t],s)?s:(n=e.fromBits(t,t<0?-1:0,!1),i&&(Re[t]=n),n))}static fromNumber(t,r){if(isNaN(t))return r?e.UZERO:e.ZERO;if(r){if(t<0)return e.UZERO;if(t>=Xe)return e.MAX_UNSIGNED_VALUE}else{if(t<=-9223372036854776e3)return e.MIN_VALUE;if(t+1>=Wr)return e.MAX_VALUE}return t<0?e.fromNumber(-t,r).neg():e.fromBits(t%lt|0,t/lt|0,r)}static fromBigInt(t,r){let n=BigInt(4294967295),s=BigInt(32);return new e(Number(t&n),Number(t>>s&n),r)}static _fromString(t,r,n){if(t.length===0)throw new c("empty string");if(n<2||36<n)throw new c("radix");let s;if((s=t.indexOf("-"))>0)throw new c("interior hyphen");if(s===0)return e._fromString(t.substring(1),r,n).neg();let i=e.fromNumber(Math.pow(n,8)),o=e.ZERO;for(let a=0;a<t.length;a+=8){let g=Math.min(8,t.length-a),p=parseInt(t.substring(a,a+g),n);if(g<8){let m=e.fromNumber(Math.pow(n,g));o=o.mul(m).add(e.fromNumber(p))}else o=o.mul(i),o=o.add(e.fromNumber(p))}return o.unsigned=r,o}static fromStringStrict(t,r,n){let s=!1;if(typeof r=="number"?(n=r,r=!1):s=!!r,n??=10,t.trim()!==t)throw new c(`Input: '${t}' contains leading and/or trailing whitespace`);if(!Hr(t,n))throw new c(`Input: '${t}' contains invalid characters for radix: ${n}`);let i=Ge(t),o=e._fromString(i,s,n);if(o.toString(n).toLowerCase()!==i.toLowerCase())throw new c(`Input: ${t} is not representable as ${o.unsigned?"an unsigned":"a signed"} 64-bit Long ${n!=null?`with radix: ${n}`:""}`);return o}static fromString(t,r,n){let s=!1;return typeof r=="number"?(n=r,r=!1):s=!!r,n??=10,t==="NaN"&&n<24||(t==="Infinity"||t==="+Infinity"||t==="-Infinity")&&n<35?e.ZERO:e._fromString(t,s,n)}static fromBytes(t,r,n){return n?e.fromBytesLE(t,r):e.fromBytesBE(t,r)}static fromBytesLE(t,r){return new e(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)}static fromBytesBE(t,r){return new e(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)}static isLong(t){return t!=null&&typeof t=="object"&&"__isLong__"in t&&t.__isLong__===!0}static fromValue(t,r){return typeof t=="number"?e.fromNumber(t,r):typeof t=="string"?e.fromString(t,r):e.fromBits(t.low,t.high,typeof r=="boolean"?r:t.unsigned)}add(t){e.isLong(t)||(t=e.fromValue(t));let r=this.high>>>16,n=this.high&65535,s=this.low>>>16,i=this.low&65535,o=t.high>>>16,a=t.high&65535,g=t.low>>>16,p=t.low&65535,m=0,h=0,y=0,E=0;return E+=i+p,y+=E>>>16,E&=65535,y+=s+g,h+=y>>>16,y&=65535,h+=n+a,m+=h>>>16,h&=65535,m+=r+o,m&=65535,e.fromBits(y<<16|E,m<<16|h,this.unsigned)}and(t){return e.isLong(t)||(t=e.fromValue(t)),e.fromBits(this.low&t.low,this.high&t.high,this.unsigned)}compare(t){if(e.isLong(t)||(t=e.fromValue(t)),this.eq(t))return 0;let r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1}comp(t){return this.compare(t)}divide(t){if(e.isLong(t)||(t=e.fromValue(t)),t.isZero())throw new c("division by zero");if(z){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;let i=(this.unsigned?z.div_u:z.div_s)(this.low,this.high,t.low,t.high);return e.fromBits(i,z.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?e.UZERO:e.ZERO;let r,n,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return e.UZERO;if(t.gt(this.shru(1)))return e.UONE;s=e.UZERO}else{if(this.eq(e.MIN_VALUE))return t.eq(e.ONE)||t.eq(e.NEG_ONE)?e.MIN_VALUE:t.eq(e.MIN_VALUE)?e.ONE:(r=this.shr(1).div(t).shl(1),r.eq(e.ZERO)?t.isNegative()?e.ONE:e.NEG_ONE:(n=this.sub(t.mul(r)),s=r.add(n.div(t)),s));if(t.eq(e.MIN_VALUE))return this.unsigned?e.UZERO:e.ZERO;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=e.ZERO}for(n=this;n.gte(t);){r=Math.max(1,Math.floor(n.toNumber()/t.toNumber()));let i=Math.ceil(Math.log(r)/Math.LN2),o=i<=48?1:Math.pow(2,i-48),a=e.fromNumber(r),g=a.mul(t);for(;g.isNegative()||g.gt(n);)r-=o,a=e.fromNumber(r,this.unsigned),g=a.mul(t);a.isZero()&&(a=e.ONE),s=s.add(a),n=n.sub(g)}return s}div(t){return this.divide(t)}equals(t){return e.isLong(t)||(t=e.fromValue(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low}eq(t){return this.equals(t)}getHighBits(){return this.high}getHighBitsUnsigned(){return this.high>>>0}getLowBits(){return this.low}getLowBitsUnsigned(){return this.low>>>0}getNumBitsAbs(){if(this.isNegative())return this.eq(e.MIN_VALUE)?64:this.neg().getNumBitsAbs();let t=this.high!==0?this.high:this.low,r;for(r=31;r>0&&(t&1<<r)===0;r--);return this.high!==0?r+33:r+1}greaterThan(t){return this.comp(t)>0}gt(t){return this.greaterThan(t)}greaterThanOrEqual(t){return this.comp(t)>=0}gte(t){return this.greaterThanOrEqual(t)}ge(t){return this.greaterThanOrEqual(t)}isEven(){return(this.low&1)===0}isNegative(){return!this.unsigned&&this.high<0}isOdd(){return(this.low&1)===1}isPositive(){return this.unsigned||this.high>=0}isZero(){return this.high===0&&this.low===0}lessThan(t){return this.comp(t)<0}lt(t){return this.lessThan(t)}lessThanOrEqual(t){return this.comp(t)<=0}lte(t){return this.lessThanOrEqual(t)}modulo(t){if(e.isLong(t)||(t=e.fromValue(t)),z){let r=(this.unsigned?z.rem_u:z.rem_s)(this.low,this.high,t.low,t.high);return e.fromBits(r,z.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))}mod(t){return this.modulo(t)}rem(t){return this.modulo(t)}multiply(t){if(this.isZero())return e.ZERO;if(e.isLong(t)||(t=e.fromValue(t)),z){let st=z.mul(this.low,this.high,t.low,t.high);return e.fromBits(st,z.get_high(),this.unsigned)}if(t.isZero())return e.ZERO;if(this.eq(e.MIN_VALUE))return t.isOdd()?e.MIN_VALUE:e.ZERO;if(t.eq(e.MIN_VALUE))return this.isOdd()?e.MIN_VALUE:e.ZERO;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(e.TWO_PWR_24)&&t.lt(e.TWO_PWR_24))return e.fromNumber(this.toNumber()*t.toNumber(),this.unsigned);let r=this.high>>>16,n=this.high&65535,s=this.low>>>16,i=this.low&65535,o=t.high>>>16,a=t.high&65535,g=t.low>>>16,p=t.low&65535,m=0,h=0,y=0,E=0;return E+=i*p,y+=E>>>16,E&=65535,y+=s*p,h+=y>>>16,y&=65535,y+=i*g,h+=y>>>16,y&=65535,h+=n*p,m+=h>>>16,h&=65535,h+=s*g,m+=h>>>16,h&=65535,h+=i*a,m+=h>>>16,h&=65535,m+=r*p+n*g+s*a+i*o,m&=65535,e.fromBits(y<<16|E,m<<16|h,this.unsigned)}mul(t){return this.multiply(t)}negate(){return!this.unsigned&&this.eq(e.MIN_VALUE)?e.MIN_VALUE:this.not().add(e.ONE)}neg(){return this.negate()}not(){return e.fromBits(~this.low,~this.high,this.unsigned)}notEquals(t){return!this.equals(t)}neq(t){return this.notEquals(t)}ne(t){return this.notEquals(t)}or(t){return e.isLong(t)||(t=e.fromValue(t)),e.fromBits(this.low|t.low,this.high|t.high,this.unsigned)}shiftLeft(t){return e.isLong(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?e.fromBits(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):e.fromBits(0,this.low<<t-32,this.unsigned)}shl(t){return this.shiftLeft(t)}shiftRight(t){return e.isLong(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?e.fromBits(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):e.fromBits(this.high>>t-32,this.high>=0?0:-1,this.unsigned)}shr(t){return this.shiftRight(t)}shiftRightUnsigned(t){if(e.isLong(t)&&(t=t.toInt()),t&=63,t===0)return this;{let r=this.high;if(t<32){let n=this.low;return e.fromBits(n>>>t|r<<32-t,r>>>t,this.unsigned)}else return t===32?e.fromBits(r,0,this.unsigned):e.fromBits(r>>>t-32,0,this.unsigned)}}shr_u(t){return this.shiftRightUnsigned(t)}shru(t){return this.shiftRightUnsigned(t)}subtract(t){return e.isLong(t)||(t=e.fromValue(t)),this.add(t.neg())}sub(t){return this.subtract(t)}toInt(){return this.unsigned?this.low>>>0:this.low}toNumber(){return this.unsigned?(this.high>>>0)*lt+(this.low>>>0):this.high*lt+(this.low>>>0)}toBigInt(){return BigInt(this.toString())}toBytes(t){return t?this.toBytesLE():this.toBytesBE()}toBytesLE(){let t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]}toBytesBE(){let t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]}toSigned(){return this.unsigned?e.fromBits(this.low,this.high,!1):this}toString(t){if(t=t||10,t<2||36<t)throw new c("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(e.MIN_VALUE)){let i=e.fromNumber(t),o=this.div(i),a=o.mul(i).sub(this);return o.toString(t)+a.toInt().toString(t)}else return"-"+this.neg().toString(t);let r=e.fromNumber(Math.pow(t,6),this.unsigned),n=this,s="";for(;;){let i=n.div(r),a=(n.sub(i.mul(r)).toInt()>>>0).toString(t);if(n=i,n.isZero())return a+s;for(;a.length<6;)a="0"+a;s=""+a+s}}toUnsigned(){return this.unsigned?this:e.fromBits(this.low,this.high,!0)}xor(t){return e.isLong(t)||(t=e.fromValue(t)),e.fromBits(this.low^t.low,this.high^t.high,this.unsigned)}eqz(){return this.isZero()}le(t){return this.lessThanOrEqual(t)}toExtendedJSON(t){return t&&t.relaxed?this.toNumber():{$numberLong:this.toString()}}static fromExtendedJSON(t,r){let{useBigInt64:n=!1,relaxed:s=!0}={...r};if(t.$numberLong.length>qr)throw new c("$numberLong string is too long");if(!Zr.test(t.$numberLong))throw new c(`$numberLong string "${t.$numberLong}" is in an invalid format`);if(n){let o=BigInt(t.$numberLong);return BigInt.asIntN(64,o)}let i=e.fromString(t.$numberLong);return s?i.toNumber():i}inspect(t,r,n){n??=_;let s=n(this.toString(),r),i=this.unsigned?`, ${n(this.unsigned,r)}`:"";return`new Long(${s}${i})`}};l.TWO_PWR_24=l.fromInt(Yr);l.MAX_UNSIGNED_VALUE=l.fromBits(-1,-1,!0);l.ZERO=l.fromInt(0);l.UZERO=l.fromInt(0,!0);l.ONE=l.fromInt(1);l.UONE=l.fromInt(1,!0);l.NEG_ONE=l.fromInt(-1);l.MAX_VALUE=l.fromBits(-1,2147483647,!1);l.MIN_VALUE=l.fromBits(0,-2147483648,!1);var Kr=/^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/,Gr=/^(\+|-)?(Infinity|inf)$/i,Xr=/^(\+|-)?NaN$/i,at=6111,Nt=-6176,xe=6176,De=34,ae=u.fromNumberArray([124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),_e=u.fromNumberArray([248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),Me=u.fromNumberArray([120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),Qr=/^([-+])?(\d+)?$/,vr=31,ze=16383,tn=30,en=31;function je(e){return!isNaN(parseInt(e,10))}function rn(e){let t=l.fromNumber(1e9),r=l.fromNumber(0);if(!e.parts[0]&&!e.parts[1]&&!e.parts[2]&&!e.parts[3])return{quotient:e,rem:r};for(let n=0;n<=3;n++)r=r.shiftLeft(32),r=r.add(new l(e.parts[n],0)),e.parts[n]=r.div(t).low,r=r.modulo(t);return{quotient:e,rem:r}}function nn(e,t){if(!e&&!t)return{high:l.fromNumber(0),low:l.fromNumber(0)};let r=e.shiftRightUnsigned(32),n=new l(e.getLowBits(),0),s=t.shiftRightUnsigned(32),i=new l(t.getLowBits(),0),o=r.multiply(s),a=r.multiply(i),g=n.multiply(s),p=n.multiply(i);return o=o.add(a.shiftRightUnsigned(32)),a=new l(a.getLowBits(),0).add(g).add(p.shiftRightUnsigned(32)),o=o.add(a.shiftRightUnsigned(32)),p=a.shiftLeft(32).add(new l(p.getLowBits(),0)),{high:o,low:p}}function sn(e,t){let r=e.high>>>0,n=t.high>>>0;if(r<n)return!0;if(r===n){let s=e.low>>>0,i=t.low>>>0;if(s<i)return!0}return!1}function j(e,t){throw new c(`"${e}" is not a valid Decimal128 string - ${t}`)}var xt=class e extends ${get _bsontype(){return"Decimal128"}constructor(t){if(super(),typeof t=="string")this.bytes=e.fromString(t).bytes;else if(t instanceof Uint8Array||Ve(t)){if(t.byteLength!==16)throw new c("Decimal128 must take a Buffer of 16 bytes");this.bytes=t}else throw new c("Decimal128 must take a Buffer or string")}static fromString(t){return e._fromString(t,{allowRounding:!1})}static fromStringWithRounding(t){return e._fromString(t,{allowRounding:!0})}static _fromString(t,r){let n=!1,s=!1,i=!1,o=!1,a=0,g=0,p=0,m=0,h=0,y=[0],E=0,st=0,w=0,I=0,x=new l(0,0),U=new l(0,0),H=0,f=0;if(t.length>=7e3)throw new c(""+t+" not a valid Decimal128 string");let R=t.match(Kr),dr=t.match(Gr),br=t.match(Xr);if(!R&&!dr&&!br||t.length===0)throw new c(""+t+" not a valid Decimal128 string");if(R){let N=R[2],it=R[4],ot=R[5],D=R[6];it&&D===void 0&&j(t,"missing exponent power"),it&&N===void 0&&j(t,"missing exponent base"),it===void 0&&(ot||D)&&j(t,"missing e before exponent")}if((t[f]==="+"||t[f]==="-")&&(s=!0,n=t[f++]==="-"),!je(t[f])&&t[f]!=="."){if(t[f]==="i"||t[f]==="I")return new e(n?_e:Me);if(t[f]==="N")return new e(ae)}for(;je(t[f])||t[f]===".";){if(t[f]==="."){i&&j(t,"contains multiple periods"),i=!0,f=f+1;continue}E<De&&(t[f]!=="0"||o)&&(o||(h=g),o=!0,y[st++]=parseInt(t[f],10),E=E+1),o&&(p=p+1),i&&(m=m+1),g=g+1,f=f+1}if(i&&!g)throw new c(""+t+" not a valid Decimal128 string");if(t[f]==="e"||t[f]==="E"){let N=t.substr(++f).match(Qr);if(!N||!N[2])return new e(ae);I=parseInt(N[0],10),f=f+N[0].length}if(t[f])return new e(ae);if(!E)y[0]=0,p=1,E=1,a=0;else if(w=E-1,a=p,a!==1)for(;t[h+a-1+Number(s)+Number(i)]==="0";)a=a-1;for(I<=m&&m>I+16384?I=Nt:I=I-m;I>at;){if(w=w+1,w>=De){if(a===0){I=at;break}j(t,"overflow")}I=I-1}if(r.allowRounding){for(;I<Nt||E<p;){if(w===0&&a<E){I=Nt,a=0;break}if(E<p?p=p-1:w=w-1,I<at)I=I+1;else{if(y.join("").match(/^0+$/)){I=at;break}j(t,"overflow")}}if(w+1<a){let N=g;i&&(h=h+1,N=N+1),s&&(h=h+1,N=N+1);let it=parseInt(t[h+w+1],10),ot=0;if(it>=5&&(ot=1,it===5)){ot=y[w]%2===1?1:0;for(let D=h+w+2;D<N;D++)if(parseInt(t[D],10)){ot=1;break}}if(ot){let D=w;for(;D>=0&&++y[D]>9;D--)if(y[D]=0,D===0)if(I<at)I=I+1,y[D]=1;else return new e(n?_e:Me)}}}else{for(;I<Nt||E<p;){if(w===0){if(a===0){I=Nt;break}j(t,"exponent underflow")}E<p?(t[p-1+Number(s)+Number(i)]!=="0"&&a!==0&&j(t,"inexact rounding"),p=p-1):(y[w]!==0&&j(t,"inexact rounding"),w=w-1),I<at?I=I+1:j(t,"overflow")}w+1<a&&(i&&(h=h+1),s&&(h=h+1),parseInt(t[h+w+1],10)!==0&&j(t,"inexact rounding"))}if(x=l.fromNumber(0),U=l.fromNumber(0),a===0)x=l.fromNumber(0),U=l.fromNumber(0);else if(w<17){let N=0;for(U=l.fromNumber(y[N++]),x=new l(0,0);N<=w;N++)U=U.multiply(l.fromNumber(10)),U=U.add(l.fromNumber(y[N]))}else{let N=0;for(x=l.fromNumber(y[N++]);N<=w-17;N++)x=x.multiply(l.fromNumber(10)),x=x.add(l.fromNumber(y[N]));for(U=l.fromNumber(y[N++]);N<=w;N++)U=U.multiply(l.fromNumber(10)),U=U.add(l.fromNumber(y[N]))}let Y=nn(x,l.fromString("100000000000000000"));Y.low=Y.low.add(U),sn(Y.low,U)&&(Y.high=Y.high.add(l.fromNumber(1))),H=I+xe;let S={low:l.fromNumber(0),high:l.fromNumber(0)};Y.high.shiftRightUnsigned(49).and(l.fromNumber(1)).equals(l.fromNumber(1))?(S.high=S.high.or(l.fromNumber(3).shiftLeft(61)),S.high=S.high.or(l.fromNumber(H).and(l.fromNumber(16383).shiftLeft(47))),S.high=S.high.or(Y.high.and(l.fromNumber(0x7fffffffffff)))):(S.high=S.high.or(l.fromNumber(H&16383).shiftLeft(49)),S.high=S.high.or(Y.high.and(l.fromNumber(562949953421311)))),S.low=Y.low,n&&(S.high=S.high.or(l.fromString("9223372036854775808")));let P=u.allocateUnsafe(16);return f=0,P[f++]=S.low.low&255,P[f++]=S.low.low>>8&255,P[f++]=S.low.low>>16&255,P[f++]=S.low.low>>24&255,P[f++]=S.low.high&255,P[f++]=S.low.high>>8&255,P[f++]=S.low.high>>16&255,P[f++]=S.low.high>>24&255,P[f++]=S.high.low&255,P[f++]=S.high.low>>8&255,P[f++]=S.high.low>>16&255,P[f++]=S.high.low>>24&255,P[f++]=S.high.high&255,P[f++]=S.high.high>>8&255,P[f++]=S.high.high>>16&255,P[f++]=S.high.high>>24&255,new e(P)}toString(){let t,r=0,n=new Array(36);for(let f=0;f<n.length;f++)n[f]=0;let s=0,i=!1,o,a={parts:[0,0,0,0]},g,p,m=[];s=0;let h=this.bytes,y=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,E=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,st=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,w=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24;s=0,{low:new l(y,E),high:new l(st,w)}.high.lessThan(l.ZERO)&&m.push("-");let x=w>>26&vr;if(x>>3===3){if(x===tn)return m.join("")+"Infinity";if(x===en)return"NaN";t=w>>15&ze,o=8+(w>>14&1)}else o=w>>14&7,t=w>>17&ze;let U=t-xe;if(a.parts[0]=(w&16383)+((o&15)<<14),a.parts[1]=st,a.parts[2]=E,a.parts[3]=y,a.parts[0]===0&&a.parts[1]===0&&a.parts[2]===0&&a.parts[3]===0)i=!0;else for(p=3;p>=0;p--){let f=0,R=rn(a);if(a=R.quotient,f=R.rem.low,!!f)for(g=8;g>=0;g--)n[p*9+g]=f%10,f=Math.floor(f/10)}if(i)r=1,n[s]=0;else for(r=36;!n[s];)r=r-1,s=s+1;let H=r-1+U;if(H>=34||H<=-7||U>0){if(r>34)return m.push("0"),U>0?m.push(`E+${U}`):U<0&&m.push(`E${U}`),m.join("");m.push(`${n[s++]}`),r=r-1,r&&m.push(".");for(let f=0;f<r;f++)m.push(`${n[s++]}`);m.push("E"),H>0?m.push(`+${H}`):m.push(`${H}`)}else if(U>=0)for(let f=0;f<r;f++)m.push(`${n[s++]}`);else{let f=r+U;if(f>0)for(let R=0;R<f;R++)m.push(`${n[s++]}`);else m.push("0");for(m.push(".");f++<0;)m.push("0");for(let R=0;R<r-Math.max(f-1,0);R++)m.push(`${n[s++]}`)}return m.join("")}toJSON(){return{$numberDecimal:this.toString()}}toExtendedJSON(){return{$numberDecimal:this.toString()}}static fromExtendedJSON(t){return e.fromString(t.$numberDecimal)}inspect(t,r,n){return n??=_,`new Decimal128(${n(this.toString(),r)})`}},Tt=class e extends ${get _bsontype(){return"Double"}constructor(t){super(),t instanceof Number&&(t=t.valueOf()),this.value=+t}static fromString(t){let r=Number(t);if(t==="NaN")return new e(NaN);if(t==="Infinity")return new e(1/0);if(t==="-Infinity")return new e(-1/0);if(!Number.isFinite(r))throw new c(`Input: ${t} is not representable as a Double`);if(t.trim()!==t)throw new c(`Input: '${t}' contains whitespace`);if(t==="")throw new c("Input is an empty string");if(/[^-0-9.+eE]/.test(t))throw new c(`Input: '${t}' is not in decimal or exponential notation`);return new e(r)}valueOf(){return this.value}toJSON(){return this.value}toString(t){return this.value.toString(t)}toExtendedJSON(t){return t&&(t.legacy||t.relaxed&&isFinite(this.value))?this.value:Object.is(Math.sign(this.value),-0)?{$numberDouble:"-0.0"}:{$numberDouble:Number.isInteger(this.value)?this.value.toFixed(1):this.value.toString()}}static fromExtendedJSON(t,r){let n=parseFloat(t.$numberDouble);return r&&r.relaxed?n:new e(n)}inspect(t,r,n){return n??=_,`new Double(${n(this.value,r)})`}},At=class e extends ${get _bsontype(){return"Int32"}constructor(t){super(),t instanceof Number&&(t=t.valueOf()),this.value=+t|0}static fromString(t){let r=Ge(t),n=Number(t);if(he<n)throw new c(`Input: '${t}' is larger than the maximum value for Int32`);if(ge>n)throw new c(`Input: '${t}' is smaller than the minimum value for Int32`);if(Number.isSafeInteger(n)){if(n.toString()!==r)throw new c(`Input: '${t}' is not a valid Int32 string`)}else throw new c(`Input: '${t}' is not a safe integer`);return new e(n)}valueOf(){return this.value}toString(t){return this.value.toString(t)}toJSON(){return this.value}toExtendedJSON(t){return t&&(t.relaxed||t.legacy)?this.value:{$numberInt:this.value.toString()}}static fromExtendedJSON(t,r){return r&&r.relaxed?parseInt(t.$numberInt,10):new e(t.$numberInt)}inspect(t,r,n){return n??=_,`new Int32(${n(this.value,r)})`}},Dt=class e extends ${get _bsontype(){return"MaxKey"}toExtendedJSON(){return{$maxKey:1}}static fromExtendedJSON(){return new e}inspect(){return"new MaxKey()"}},_t=class e extends ${get _bsontype(){return"MinKey"}toExtendedJSON(){return{$minKey:1}}static fromExtendedJSON(){return new e}inspect(){return"new MinKey()"}},v=null,Bt=new WeakMap,Z=class e extends ${get _bsontype(){return"ObjectId"}constructor(t){super();let r;if(typeof t=="object"&&t&&"id"in t){if(typeof t.id!="string"&&!ArrayBuffer.isView(t.id))throw new c("Argument passed in must have an id that is of type string or Buffer");"toHexString"in t&&typeof t.toHexString=="function"?r=u.fromHex(t.toHexString()):r=t.id}else r=t;if(r==null||typeof r=="number")this.buffer=e.generate(typeof r=="number"?r:void 0);else if(ArrayBuffer.isView(r)&&r.byteLength===12)this.buffer=u.toLocalBufferType(r);else if(typeof r=="string")if(e.validateHexString(r))this.buffer=u.fromHex(r),e.cacheHexString&&Bt.set(this,r);else throw new c("input must be a 24 character hex string, 12 byte Uint8Array, or an integer");else throw new c("Argument passed in does not match the accepted types")}get id(){return this.buffer}set id(t){this.buffer=t,e.cacheHexString&&Bt.set(this,u.toHex(t))}static validateHexString(t){if(t?.length!==24)return!1;for(let r=0;r<24;r++){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70))return!1}return!0}toHexString(){if(e.cacheHexString){let r=Bt.get(this);if(r)return r}let t=u.toHex(this.id);return e.cacheHexString&&Bt.set(this,t),t}static getInc(){return e.index=(e.index+1)%16777215}static generate(t){typeof t!="number"&&(t=Math.floor(Date.now()/1e3));let r=e.getInc(),n=u.allocateUnsafe(12);return tt.setInt32BE(n,0,t),v===null&&(v=u.randomBytes(5)),n[4]=v[0],n[5]=v[1],n[6]=v[2],n[7]=v[3],n[8]=v[4],n[11]=r&255,n[10]=r>>8&255,n[9]=r>>16&255,n}toString(t){return t==="base64"?u.toBase64(this.id):t==="hex"?this.toHexString():this.toHexString()}toJSON(){return this.toHexString()}static is(t){return t!=null&&typeof t=="object"&&"_bsontype"in t&&t._bsontype==="ObjectId"}equals(t){if(t==null)return!1;if(e.is(t))return this.buffer[11]===t.buffer[11]&&u.equals(this.buffer,t.buffer);if(typeof t=="string")return t.toLowerCase()===this.toHexString();if(typeof t=="object"&&typeof t.toHexString=="function"){let r=t.toHexString(),n=this.toHexString();return typeof r=="string"&&r.toLowerCase()===n}return!1}getTimestamp(){let t=new Date,r=tt.getUint32BE(this.buffer,0);return t.setTime(Math.floor(r)*1e3),t}static createPk(){return new e}serializeInto(t,r){return t[r]=this.buffer[0],t[r+1]=this.buffer[1],t[r+2]=this.buffer[2],t[r+3]=this.buffer[3],t[r+4]=this.buffer[4],t[r+5]=this.buffer[5],t[r+6]=this.buffer[6],t[r+7]=this.buffer[7],t[r+8]=this.buffer[8],t[r+9]=this.buffer[9],t[r+10]=this.buffer[10],t[r+11]=this.buffer[11],12}static createFromTime(t){let r=u.allocate(12);for(let n=11;n>=4;n--)r[n]=0;return tt.setInt32BE(r,0,t),new e(r)}static createFromHexString(t){if(t?.length!==24)throw new c("hex string must be 24 characters");return new e(u.fromHex(t))}static createFromBase64(t){if(t?.length!==16)throw new c("base64 string must be 16 characters");return new e(u.fromBase64(t))}static isValid(t){if(t==null)return!1;if(typeof t=="string")return e.validateHexString(t);try{return new e(t),!0}catch{return!1}}toExtendedJSON(){return this.toHexString?{$oid:this.toHexString()}:{$oid:this.toString("hex")}}static fromExtendedJSON(t){return new e(t.$oid)}isCached(){return e.cacheHexString&&Bt.has(this)}inspect(t,r,n){return n??=_,`new ObjectId(${n(this.toHexString(),r)})`}};Z.index=Math.floor(Math.random()*16777215);function on(e){return e.split("").sort().join("")}var ut=class e extends ${get _bsontype(){return"BSONRegExp"}constructor(t,r){if(super(),this.pattern=t,this.options=on(r??""),this.pattern.indexOf("\0")!==-1)throw new c(`BSON Regex patterns cannot contain null bytes, found: ${JSON.stringify(this.pattern)}`);if(this.options.indexOf("\0")!==-1)throw new c(`BSON Regex options cannot contain null bytes, found: ${JSON.stringify(this.options)}`);for(let n=0;n<this.options.length;n++)if(!(this.options[n]==="i"||this.options[n]==="m"||this.options[n]==="x"||this.options[n]==="l"||this.options[n]==="s"||this.options[n]==="u"))throw new c(`The regular expression option [${this.options[n]}] is not supported`)}static parseOptions(t){return t?t.split("").sort().join(""):""}toExtendedJSON(t){return t=t||{},t.legacy?{$regex:this.pattern,$options:this.options}:{$regularExpression:{pattern:this.pattern,options:this.options}}}static fromExtendedJSON(t){if("$regex"in t)if(typeof t.$regex!="string"){if(t.$regex._bsontype==="BSONRegExp")return t}else return new e(t.$regex,e.parseOptions(t.$options));if("$regularExpression"in t)return new e(t.$regularExpression.pattern,e.parseOptions(t.$regularExpression.options));throw new c(`Unexpected BSONRegExp EJSON object form: ${JSON.stringify(t)}`)}inspect(t,r,n){let s=$r(r)??(a=>a);n??=_;let i=s(n(this.pattern),"regexp"),o=s(n(this.options),"regexp");return`new BSONRegExp(${i}, ${o})`}},Mt=class e extends ${get _bsontype(){return"BSONSymbol"}constructor(t){super(),this.value=t}valueOf(){return this.value}toString(){return this.value}toJSON(){return this.value}toExtendedJSON(){return{$symbol:this.value}}static fromExtendedJSON(t){return new e(t.$symbol)}inspect(t,r,n){return n??=_,`new BSONSymbol(${n(this.value,r)})`}},an=l,Pt=class e extends an{get _bsontype(){return"Timestamp"}get i(){return this.low>>>0}get t(){return this.high>>>0}constructor(t){if(t==null)super(0,0,!0);else if(typeof t=="bigint")super(t,!0);else if(l.isLong(t))super(t.low,t.high,!0);else if(typeof t=="object"&&"t"in t&&"i"in t){if(typeof t.t!="number"&&(typeof t.t!="object"||t.t._bsontype!=="Int32"))throw new c("Timestamp constructed from { t, i } must provide t as a number");if(typeof t.i!="number"&&(typeof t.i!="object"||t.i._bsontype!=="Int32"))throw new c("Timestamp constructed from { t, i } must provide i as a number");let r=Number(t.t),n=Number(t.i);if(r<0||Number.isNaN(r))throw new c("Timestamp constructed from { t, i } must provide a positive t");if(n<0||Number.isNaN(n))throw new c("Timestamp constructed from { t, i } must provide a positive i");if(r>4294967295)throw new c("Timestamp constructed from { t, i } must provide t equal or less than uint32 max");if(n>4294967295)throw new c("Timestamp constructed from { t, i } must provide i equal or less than uint32 max");super(n,r,!0)}else throw new c("A Timestamp can only be constructed with: bigint, Long, or { t: number; i: number }")}toJSON(){return{$timestamp:this.toString()}}static fromInt(t){return new e(l.fromInt(t,!0))}static fromNumber(t){return new e(l.fromNumber(t,!0))}static fromBits(t,r){return new e({i:t,t:r})}static fromString(t,r){return new e(l.fromString(t,!0,r))}toExtendedJSON(){return{$timestamp:{t:this.t,i:this.i}}}static fromExtendedJSON(t){let r=l.isLong(t.$timestamp.i)?t.$timestamp.i.getLowBitsUnsigned():t.$timestamp.i,n=l.isLong(t.$timestamp.t)?t.$timestamp.t.getLowBitsUnsigned():t.$timestamp.t;return new e({t:n,i:r})}inspect(t,r,n){n??=_;let s=n(this.t,r),i=n(this.i,r);return`new Timestamp({ t: ${s}, i: ${i} })`}};Pt.MAX_VALUE=l.MAX_UNSIGNED_VALUE;var ys=l.fromNumber(xr),ds=l.fromNumber(Dr);function cn(e){return e!=null&&typeof e=="object"&&"_bsontype"in e&&typeof e._bsontype=="string"}var ln={$oid:Z,$binary:B,$uuid:B,$symbol:Mt,$numberInt:At,$numberDecimal:xt,$numberDouble:Tt,$numberLong:l,$minKey:_t,$maxKey:Dt,$regex:ut,$regularExpression:ut,$timestamp:Pt};function Qe(e,t={}){if(typeof e=="number"){let n=e<=he&&e>=ge,s=e<=Ye&&e>=We;if(t.relaxed||t.legacy)return e;if(Number.isInteger(e)&&!Object.is(e,-0)){if(n)return new At(e);if(s)return t.useBigInt64?BigInt(e):l.fromNumber(e)}return new Tt(e)}if(e==null||typeof e!="object")return e;if(e.$undefined)return null;let r=Object.keys(e).filter(n=>n.startsWith("$")&&e[n]!=null);for(let n=0;n<r.length;n++){let s=ln[r[n]];if(s)return s.fromExtendedJSON(e,t)}if(e.$date!=null){let n=e.$date,s=new Date;if(t.legacy)if(typeof n=="number")s.setTime(n);else if(typeof n=="string")s.setTime(Date.parse(n));else if(typeof n=="bigint")s.setTime(Number(n));else throw new $t(`Unrecognized type for EJSON date: ${typeof n}`);else if(typeof n=="string")s.setTime(Date.parse(n));else if(l.isLong(n))s.setTime(n.toNumber());else if(typeof n=="number"&&t.relaxed)s.setTime(n);else if(typeof n=="bigint")s.setTime(Number(n));else throw new $t(`Unrecognized type for EJSON date: ${typeof n}`);return s}if(e.$code!=null){let n=Object.assign({},e);return e.$scope&&(n.$scope=Qe(e.$scope)),Ut.fromExtendedJSON(e)}if(kr(e)||e.$dbPointer){let n=e.$ref?e:e.$dbPointer;if(n instanceof ft)return n;let s=Object.keys(n).filter(o=>o.startsWith("$")),i=!0;if(s.forEach(o=>{["$ref","$id","$db"].indexOf(o)===-1&&(i=!1)}),i)return ft.fromExtendedJSON(n)}return e}function fn(e,t){return e.map((r,n)=>{t.seenObjects.push({propertyName:`index ${n}`,obj:null});try{return q(r,t)}finally{t.seenObjects.pop()}})}function Je(e){let t=e.toISOString();return e.getUTCMilliseconds()!==0?t:t.slice(0,-5)+"Z"}function q(e,t){if(e instanceof Map||ke(e)){let r=Object.create(null);for(let[n,s]of e){if(typeof n!="string")throw new c("Can only serialize maps with string keys");r[n]=s}return q(r,t)}if((typeof e=="object"||typeof e=="function")&&e!==null){let r=t.seenObjects.findIndex(n=>n.obj===e);if(r!==-1){let n=t.seenObjects.map(m=>m.propertyName),s=n.slice(0,r).map(m=>`${m} -> `).join(""),i=n[r],o=" -> "+n.slice(r+1,n.length-1).map(m=>`${m} -> `).join(""),a=n[n.length-1],g=" ".repeat(s.length+i.length/2),p="-".repeat(o.length+(i.length+a.length)/2-1);throw new c(`Converting circular structure to EJSON:
6
+ ${s}${i}${o}${a}
7
+ ${g}\\${p}/`)}t.seenObjects[t.seenObjects.length-1].obj=e}if(Array.isArray(e))return fn(e,t);if(e===void 0)return null;if(e instanceof Date||Rr(e)){let r=e.getTime(),n=r>-1&&r<2534023188e5;return t.legacy?t.relaxed&&n?{$date:e.getTime()}:{$date:Je(e)}:t.relaxed&&n?{$date:Je(e)}:{$date:{$numberLong:e.getTime().toString()}}}if(typeof e=="number"&&(!t.relaxed||!isFinite(e))){if(Number.isInteger(e)&&!Object.is(e,-0)){if(e>=ge&&e<=he)return{$numberInt:e.toString()};if(e>=We&&e<=Ye)return{$numberLong:e.toString()}}return{$numberDouble:Object.is(e,-0)?"-0.0":e.toString()}}if(typeof e=="bigint")return t.relaxed?Number(BigInt.asIntN(64,e)):{$numberLong:BigInt.asIntN(64,e).toString()};if(e instanceof RegExp||Cr(e)){let r=e.flags;if(r===void 0){let s=e.toString().match(/[gimuy]*$/);s&&(r=s[0])}return new ut(e.source,r).toExtendedJSON(t)}return e!=null&&typeof e=="object"?hn(e,t):e}var un={Binary:e=>new B(e.value(),e.sub_type),Code:e=>new Ut(e.code,e.scope),DBRef:e=>new ft(e.collection||e.namespace,e.oid,e.db,e.fields),Decimal128:e=>new xt(e.bytes),Double:e=>new Tt(e.value),Int32:e=>new At(e.value),Long:e=>l.fromBits(e.low!=null?e.low:e.low_,e.low!=null?e.high:e.high_,e.low!=null?e.unsigned:e.unsigned_),MaxKey:()=>new Dt,MinKey:()=>new _t,ObjectId:e=>new Z(e),BSONRegExp:e=>new ut(e.pattern,e.options),BSONSymbol:e=>new Mt(e.value),Timestamp:e=>Pt.fromBits(e.low,e.high)};function hn(e,t){if(e==null||typeof e!="object")throw new c("not an object instance");let r=e._bsontype;if(typeof r>"u"){let n={};for(let s of Object.keys(e)){t.seenObjects.push({propertyName:s,obj:null});try{let i=q(e[s],t);s==="__proto__"?Object.defineProperty(n,s,{value:i,writable:!0,enumerable:!0,configurable:!0}):n[s]=i}finally{t.seenObjects.pop()}}return n}else{if(e!=null&&typeof e=="object"&&typeof e._bsontype=="string"&&e[He]!==ue)throw new fe;if(cn(e)){let n=e;if(typeof n.toExtendedJSON!="function"){let s=un[e._bsontype];if(!s)throw new c("Unrecognized or invalid _bsontype: "+e._bsontype);n=s(n)}return r==="Code"&&n.scope?n=new Ut(n.code,q(n.scope,t)):r==="DBRef"&&n.oid&&(n=new ft(q(n.collection,t),q(n.oid,t),q(n.db,t),q(n.fields,t))),n.toExtendedJSON(t)}else throw new c("_bsontype must be a string, but was: "+typeof r)}}function ve(e,t){let r={useBigInt64:t?.useBigInt64??!1,relaxed:t?.relaxed??!0,legacy:t?.legacy??!1};return JSON.parse(e,(n,s)=>{if(n.indexOf("\0")!==-1)throw new c(`BSON Document field names cannot contain null bytes, found: ${JSON.stringify(n)}`);return Qe(s,r)})}function tr(e,t,r,n){r!=null&&typeof r=="object"&&(n=r,r=0),t!=null&&typeof t=="object"&&!Array.isArray(t)&&(n=t,t=void 0,r=0);let s=Object.assign({relaxed:!0,legacy:!1},n,{seenObjects:[{propertyName:"(root)",obj:null}]}),i=q(e,s);return JSON.stringify(i,t,r)}function gn(e,t){return t=t||{},JSON.parse(tr(e,t))}function mn(e,t){return t=t||{},ve(JSON.stringify(e),t)}var Lt=Object.create(null);Lt.parse=ve;Lt.stringify=tr;Lt.serialize=gn;Lt.deserialize=mn;Object.freeze(Lt);var T={double:1,string:2,object:3,array:4,binData:5,undefined:6,objectId:7,bool:8,date:9,null:10,regex:11,dbPointer:12,javascript:13,symbol:14,javascriptWithScope:15,int:16,timestamp:17,long:18,decimal:19,minKey:255,maxKey:127};function ce(e,t){try{return tt.getNonnegativeInt32LE(e,t)}catch(r){throw new k("BSON size cannot be negative",t,{cause:r})}}function le(e,t){let r=t;for(;e[r]!==0;r++);if(r===e.length-1)throw new k("Null terminator not found",t);return r}function pn(e,t=0){if(t??=0,e.length<5)throw new k(`Input must be at least 5 bytes, got ${e.length} bytes`,t);let r=ce(e,t);if(r>e.length-t)throw new k(`Parsed documentSize (${r} bytes) does not match input length (${e.length} bytes)`,t);if(e[t+r-1]!==0)throw new k("BSON documents must end in 0x00",t+r);let n=[],s=t+4;for(;s<=r+t;){let i=e[s];if(s+=1,i===0){if(s-t!==r)throw new k("Invalid 0x00 type byte",s);break}let o=s,a=le(e,s)-o;s+=a+1;let g;if(i===T.double||i===T.long||i===T.date||i===T.timestamp)g=8;else if(i===T.int)g=4;else if(i===T.objectId)g=12;else if(i===T.decimal)g=16;else if(i===T.bool)g=1;else if(i===T.null||i===T.undefined||i===T.maxKey||i===T.minKey)g=0;else if(i===T.regex)g=le(e,le(e,s)+1)+1-s;else if(i===T.object||i===T.array||i===T.javascriptWithScope)g=ce(e,s);else if(i===T.string||i===T.binData||i===T.dbPointer||i===T.javascript||i===T.symbol)g=ce(e,s)+4,i===T.binData&&(g+=1),i===T.dbPointer&&(g+=12);else throw new k(`Invalid 0x${i.toString(16).padStart(2,"0")} type byte`,s);if(g>r)throw new k("value reports length larger than document",s);n.push([i,o,a,s,g]),s+=g}return n}var zt=Object.create(null);zt.parseToElements=pn;zt.ByteUtils=u;zt.NumberUtils=tt;Object.freeze(zt);var yn=1024*1024*17,bs=u.allocate(yn);var er=Q(require("sanitize-html"));function A(e=""){if(e)return(0,er.default)(e,{allowedTags:[],allowedAttributes:{}})}var b=class b{_id;__v;ownerId;createdAt;createdBy;updatedAt;updatedBy;deletedAt;deletedBy;deletedReason;archivedAt;archivedBy;sharedWith;toUnset;static toObjectId(t){if(t){if(t instanceof Z)return t;if(!Z.isValid(t))throw new Error(`Invalid ObjectId: ${t}`);return new Z(t)}}static toDate(t){if(!t)return;let r=new Date(t);if(isNaN(r.getTime()))throw new Error("{{value_must_be_a_date}}");return r}static toNumber(t){if(t!=null){if(typeof t!="number")throw new Error("{{value_must_be_a_number}}");return t}}static clean(t){return ne(t)}constructor(t){this._id=b.toObjectId(t._id),this.__v=b.toNumber(t.__v),this.ownerId=b.toObjectId(t.ownerId),this.createdAt=b.toDate(t.createdAt),this.createdBy=b.toObjectId(t.createdBy),this.updatedAt=b.toDate(t.updatedAt),this.updatedBy=b.toObjectId(t.updatedBy),this.deletedAt=b.toDate(t.deletedAt),this.deletedBy=b.toObjectId(t.deletedBy),this.deletedReason=A(t.deletedReason),this.archivedAt=b.toDate(t.archivedAt),this.archivedBy=b.toObjectId(t.archivedBy),this.sharedWith=t.sharedWith?.length?t.sharedWith.map(r=>b.toObjectId(r)):void 0}toJSON(){return{_id:this._id,__v:this.__v,ownerId:this.ownerId,createdAt:this.createdAt,createdBy:this.createdBy,updatedAt:this.updatedAt,updatedBy:this.updatedBy,deletedAt:this.deletedAt,deletedBy:this.deletedBy,deletedReason:this.deletedReason,archivedAt:this.archivedAt,archivedBy:this.archivedBy,sharedWith:this.sharedWith?.length?this.sharedWith.map(t=>t.toHexString()):void 0,toUnset:this.toUnset}}setDefaults(){}setId(t){this._id=b.toObjectId(t)}setOwner(t){t&&(this.ownerId=b.toObjectId(t.userId))}setCreatedBy(t){t&&(this.sanitize(t),this.createdAt=new Date,this.createdBy=b.toObjectId(t.userId),this.setDefaults())}setUpdatedBy(t){t&&(this.sanitize(t),this.updatedAt=new Date,this.updatedBy=b.toObjectId(t.userId))}setDeletedBy(t){t&&(this.sanitize(t),this.deletedAt=new Date,this.deletedBy=b.toObjectId(t.userId))}setArchivedBy(t){t&&(this.sanitize(t),this.archivedAt=new Date,this.archivedBy=b.toObjectId(t.userId))}toDocument(){return ne(this.toJSON())}toFlatDocument(){let{toUnset:t,...r}=this.toDocument();return{...se(r),toUnset:t}}stringify(){return JSON.stringify(Rt(this),null,2)}unset(t){let r=Array.from(new Set(t.map(n=>String(n))));if(!r||!Array.isArray(r))return{};this.toUnset=r.reduce((n,s)=>(n[s]="",n),{}),t.forEach(n=>{delete this[n]})}sanitize(t){if(!t?.isAdmin())for(let r in this)Reflect.getMetadata("adminOnly",this.constructor.prototype,r)&&delete this[r]}};O([L],b.prototype,"__v",2),O([L],b.prototype,"ownerId",2),O([L],b.prototype,"createdAt",2),O([L],b.prototype,"createdBy",2),O([L],b.prototype,"updatedAt",2),O([L],b.prototype,"updatedBy",2),O([L],b.prototype,"deletedAt",2),O([L],b.prototype,"deletedBy",2),O([L],b.prototype,"archivedAt",2),O([L],b.prototype,"archivedBy",2),O([Te],b.prototype,"sharedWith",2);var jt=b;var ir=require("countries-and-currencies-utils");var me=Q(require("bcryptjs")),ht=class{static SALT_ROUNDS=10;constructor(){}static validateFormat(t){return/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&.])[A-Za-z\d@$!%*?&.]{8,}$/.test(t)}static async create(t){if(t)return me.default.hash(t.trim(),this.SALT_ROUNDS)}static async compare(t,r){return me.default.compare(t,r)}static isHashed(t){return t.length===60&&t.startsWith("$2")}};var Jt=class{static EMAIL_REGEX=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;constructor(){}static validateFormat(t){return this.EMAIL_REGEX.test(t)}static create(t){if(!t)return;let r=typeof t=="string"?A(t.trim())?.toLowerCase():"";if(!this.validateFormat(r??""))throw new F({statusCode:400,errorMessage:"{{invalid_email_format}}",errorDetails:{email:t}});return r}};var Ft=class e{constructor(t,r){this.pushEnabled=t;this.emailEnabled=r}pushEnabled;emailEnabled;static fromJSON(t){return new e(t.pushEnabled,t.emailEnabled)}toJSON(){return{pushEnabled:this.pushEnabled,emailEnabled:this.emailEnabled}}};var et=class e{constructor(t,r){this.enabled=t;this.time=r}enabled;time;static fromJSON(t){return new e(t.enabled,t.time)}toJSON(){return{enabled:this.enabled,time:this.time}}};var Vt=class e{constructor(t,r,n,s){this.dailySummary=t;this.weeklySummary=r;this.monthlySummary=n;this.dailyReminder=s}dailySummary;weeklySummary;monthlySummary;dailyReminder;static fromJSON(t){return new e(t.dailySummary&&et.fromJSON(t.dailySummary),t.weeklySummary&&et.fromJSON(t.weeklySummary),t.monthlySummary&&et.fromJSON(t.monthlySummary),t.dailyReminder&&et.fromJSON(t.dailyReminder))}toJSON(){return{dailySummary:this.dailySummary?.toJSON(),weeklySummary:this.weeklySummary?.toJSON(),monthlySummary:this.monthlySummary?.toJSON(),dailyReminder:this.dailyReminder?.toJSON()}}};var rr=require("countries-and-currencies-utils");var kt=class e{constructor(t){this.isoCode=t}isoCode;get label(){return this.isoCode?(0,rr.getCountryNameFromCountryCode)(this.isoCode):void 0}static fromJSON(t){return new e(A(t.isoCode))}toJSON(){return{isoCode:this.isoCode,label:this.label}}};var Ht=class e{constructor(t,r,n){this.isoCode=t;this.label=r;this.symbol=n}isoCode;label;symbol;static fromJSON(t){return new e(A(t.isoCode),A(t.label),A(t.symbol))}toJSON(){return{isoCode:this.isoCode,label:this.label,symbol:this.symbol}}};var nr=require("countries-and-currencies-utils"),Yt=class e{constructor(t){this.ianaIdentifier=t}ianaIdentifier;static fromJSON(t){return new e(A(t.ianaIdentifier))}get offsetInMinutes(){return this.ianaIdentifier?(0,nr.getTimezoneOffset)(this.ianaIdentifier)??void 0:void 0}toJSON(){return{ianaIdentifier:this.ianaIdentifier,offsetInMinutes:this.offsetInMinutes}}};var sr=require("countries-and-currencies-utils"),Wt=class e{constructor(t){this.isoCode=t}isoCode;get label(){return this.isoCode?(0,sr.getLanguageFromLanguageCode)(this.isoCode)?.nativeName:void 0}static fromJSON(t){return new e(A(t.isoCode))}toJSON(){return{isoCode:this.isoCode,label:this.label}}};var qt=class e{constructor(t,r,n,s,i,o){this.notifications=t;this.reports=r;this.country=n;this.currency=s;this.timezone=i;this.language=o}notifications;reports;country;currency;timezone;language;static fromJSON(t){return new e(t.notifications&&Ft.fromJSON(t.notifications),t.reports&&Vt.fromJSON(t.reports),t.country&&kt.fromJSON(t.country),t.currency&&Ht.fromJSON(t.currency),t.timezone&&Yt.fromJSON(t.timezone),t.language&&Wt.fromJSON(t.language))}toJSON(){return{notifications:this.notifications?.toJSON(),reports:this.reports?.toJSON(),country:this.country?.toJSON(),currency:this.currency?.toJSON(),timezone:this.timezone?.toJSON(),language:this.language?.toJSON()}}};var Zt=class e{constructor(t,r,n,s,i,o,a){this.notifications=t;this.microphone=r;this.location=n;this.contacts=s;this.storage=i;this.camera=o;this.photos=a}notifications;microphone;location;contacts;storage;camera;photos;static fromJSON(t){return new e(t.notifications,t.microphone,t.location,t.contacts,t.storage,t.camera,t.photos)}toJSON(){return{notifications:this.notifications,microphone:this.microphone,location:this.location,contacts:this.contacts,storage:this.storage,camera:this.camera,photos:this.photos}}};var Gt=class Gt{platform;referrerCode;constructor(t,r){this.platform=t,this.referrerCode=r}static fromJSON(t){return new Gt(A(t.platform),A(t.referrerCode))}toJSON(){return{platform:this.platform,referrerCode:this.referrerCode}}};O([L],Gt.prototype,"referrerCode",2);var Kt=Gt;var Qt=class Qt{drawNumber;constructor(t){this.drawNumber=t}static fromJSON(t){return new Qt(A(t.drawNumber))}toJSON(){return{drawNumber:this.drawNumber}}};O([L],Qt.prototype,"drawNumber",2);var Xt=Qt;var gt=class gt extends jt{constructor(r,n,s,i,o,a,g,p,m,h){super(r);this.props=r;this.firstName=n;this.lastName=s;this.email=i;this.acquisition=g;this.marketing=p;this.preferences=m;this.permissions=h;this.password=o,this.role=a}props;firstName;lastName;email;acquisition;marketing;preferences;permissions;password;role;static fromJSON(r){return new gt(r,A(r.firstName),A(r.lastName),Jt.create(r.email),r.password,A(r.role),r.acquisition&&Kt.fromJSON(r.acquisition),r.marketing&&Xt.fromJSON(r.marketing),r.preferences&&qt.fromJSON(r.preferences),r.permissions&&Zt.fromJSON(r.permissions))}toJSON(){return{...super.toJSON(),firstName:this.firstName,lastName:this.lastName,email:this.email,password:this.password,role:this.role,acquisition:this.acquisition?.toJSON(),marketing:this.marketing?.toJSON(),preferences:this.preferences?.toJSON(),permissions:this.permissions?.toJSON()}}static async create(r){if(r.preferences?.currency?.isoCode){let s=await(0,ir.getCurrencyDataFromCurrencyCodeAsync)(r.preferences.currency.isoCode);r.preferences.currency.label=s?.label,r.preferences.currency.symbol=s?.symbol}r.password&&!ht.isHashed(r.password)&&(r.password=await ht.create(r.password));let n=gt.fromJSON(r);return n.role=n.role||"user",n}get fullName(){return`${this.firstName} ${this.lastName}`}async verifyPassword(r){return ht.compare(r,String(this.password))}};O([Ue],gt.prototype,"password",2),O([L],gt.prototype,"role",2);var J=gt;var mt=class extends M{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{payload:n,currentUser:s}=r;if(!n?.email)throw new Error("[Create User] email param is required");if(!n?.password)throw new Error("[Create User] password param is required");let i=await J.create({...n});i.setCreatedBy(s),await this.userRepository.create(i);let{password:o,...a}=i.toJSON();return{data:a}}};mt=O([(0,or.autoInjectable)()],mt);var ar=require("tsyringe");var pt=class extends M{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{payload:n,id:s,currentUser:i}=r;if(!n||Object.keys(n).length===0)throw new Error("Payload is required for updating user");let o=await J.create({...n,_id:s});o.setUpdatedBy(i),this.logger.info(`Updating user: ${o.stringify()}`);let a=await this.userRepository.update(o);if(!a)throw new Error("User not found or update failed");return{data:a}}};pt=O([(0,ar.autoInjectable)()],pt);var cr=require("tsyringe");var yt=class extends M{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{id:n,hardDelete:s,accountDeletionReason:i,currentUser:o}=r;if(!n)throw new Error("Missing id");if(s)return o?.isAdmin()||this.throwError403(),{data:{deletedCount:await this.userRepository.deleteById(n)}};let a=await J.fromJSON({_id:n,deletedReason:i});return a.setDeletedBy(o),{data:await this.userRepository.update(a)||{}}}};yt=O([(0,cr.autoInjectable)()],yt);var lr=require("tsyringe");var rt=class extends M{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{id:n}=r;return{data:await this.userRepository.findById(n)}}};rt=O([(0,lr.autoInjectable)()],rt);var fr=Q(require("jsonwebtoken")),ur=require("tsyringe");var dt=class extends M{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let n=this.secretManager.get("JWT_SECRET");if(!n)throw new Error("{{jwt_secret_not_found}}");let{payload:s}=r,{emailOrUsername:i,password:o}=s,a=await this.userRepository.findByEmailOrUsernameWithPassword(i);if(!a)return this.throwHttpError({statusCode:404,errorMessage:`{{user_not_found}}: ${i}`});if(await a.verifyPassword(o)!==!0)return this.throwHttpError({statusCode:401,errorMessage:"{{invalid_password}}"});let p=a.role==="admin"?"1h":"7d",m={userId:a._id?.toString(),email:a.email,firstName:a.firstName,lastName:a.lastName},h=fr.default.sign(m,n,{expiresIn:p}),{password:y,...E}=a.toJSON();return{data:{token:h,user:E}}}};dt=O([(0,ur.autoInjectable)()],dt);var pe=class{static async createUser(t){return await nt.container.resolve(mt).execute(t)}static async updateUser(t){return await nt.container.resolve(pt).execute(t)}static async deleteUser(t){return await nt.container.resolve(yt).execute(t)}static async getUser(t){return await nt.container.resolve(rt).execute(t)}static async getUserByExternalId(t){return await nt.container.resolve(rt).execute(t)}static async authenticateUser(t){return await nt.container.resolve(dt).execute(t)}};var bt=require("countries-and-currencies-utils"),ye=class e{constructor(t,r,n,s,i,o,a){this.clientType=t;this.environment=r;this.app=n;this.device=s;this.preferences=i;this.location=o;this.request=a}clientType;environment;app;device;preferences;location;request;get language(){return this.preferences?.locale?.split("_")[0]}get timezoneOffset(){return(0,bt.getTimezoneOffset)(this.location?.timezone)}get currencyCode(){return(0,bt.getCountryDataFromCountryCode)(this.location?.country)?.currency?.isoCode}static fromJSON(t){return new e(t.clientType,t.environment,t.app,t.device,t.preferences,t.location,t.request)}toJson(){return{clientType:this.clientType,environment:this.environment,app:this.app,device:this.device,preferences:this.preferences,location:this.location,request:this.request}}static fromRequest(t){let r={};try{r=JSON.parse(t.xCurrentSessionHeader||"{}")}catch{r={}}let n=e.fromJSON(r);return n.request={...n.request,id:t.requestId,path:t.path,ipAddress:t.ipAddress,userAgent:t.userAgent},n.location=n.location?.timezone?{...n.location,country:(0,bt.getCountryISOCodeFromTimezone)(n.location?.timezone)}:n.location,n}};var hr=(n=>(n.PRODUCTION="production",n.STAGING="staging",n.DEVELOPMENT="development",n))(hr||{});var pr=require("mongodb"),yr=require("countries-and-currencies-utils");var gr=require("mongodb");var be=class{client;logger=C;isConnected=!1;constructor(t,r){if(!t)throw new Error("[Mongo Client]: uri parameter is required");this.client=new gr.MongoClient(t,{...r,connectTimeoutMS:5e3,serverSelectionTimeoutMS:5e3}),this.logger.info("[Mongo Client] Client initialized")}async connect(){if(!this.client)throw new Error("[Mongo Client]: Client is not initialized");this.isConnected||(await this.client.connect(),this.isConnected=!0,this.logger.info("[Mongo Client]: Connected to MongoDB"))}async close(t){await this.client.close(t||!1),this.isConnected=!1}async db(t,r){try{await this.connect()}catch(n){throw this.logger.error("[Mongo Client]: Error connecting to MongoDB"),await Ot(`Error connecting to MongoDB: ${n.message}`,{error:n}),n}return this.client.db(t,r)}},de=new Map;function mr(e="OPENLOOPS_DB_URI"){if(!de.has(e)){let t=K.get(e);t&&de.set(e,new be(t,{}))}return de.get(e)}var we=class e extends J{_isPremium=!1;static async asyncFromDB(t){if(!t)return;let n=await mr().db(K.get("OPENLOOPS_DB_NAME")),s;try{s=await n.collection("users").findOne({_id:new pr.ObjectId(t)},{projection:{password:0}})}catch(i){throw C.error({userId:t,error:i},"[Current User] Error fetching user with ID"),i}if(!s){C.warn({userId:t},"[Current User] User not found in database");return}return e.fromJSON(s)}static fromJSON(t){let r=J.fromJSON(t);return Object.assign(new e(r.props),r)}get userId(){return this._id?.toString()}get language(){return this.preferences?.language?.isoCode}get hasPushNotificationsPermission(){return this.permissions?.notifications??!1}get timezoneOffset(){return(0,yr.getTimezoneOffset)(this.preferences?.timezone?.ianaIdentifier)}setIsPremium(t){this._isPremium=t}isAdmin(){return this.role==="admin"}isFreePlan(){return!this.isPremium}isPremium(){return this._isPremium}};0&&(module.exports={App,ClientEnvironment,CurrentSession,CurrentUser});
@@ -0,0 +1 @@
1
+ import{a as $}from"../../../chunk-XXB52O7H.mjs";import{b as u,d as D,e as q,f as F,h as p,i as G,j as f,l as i,m as H}from"../../../chunk-7WJ3XXSP.mjs";import"reflect-metadata";import{container as S}from"tsyringe";import{autoInjectable as ee}from"tsyringe";import{getCurrencyDataFromCurrencyCodeAsync as j}from"countries-and-currencies-utils";import V from"bcryptjs";var g=class{static SALT_ROUNDS=10;constructor(){}static validateFormat(e){return/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&.])[A-Za-z\d@$!%*?&.]{8,}$/.test(e)}static async create(e){if(e)return V.hash(e.trim(),this.SALT_ROUNDS)}static async compare(e,r){return V.compare(e,r)}static isHashed(e){return e.length===60&&e.startsWith("$2")}};var U=class{static EMAIL_REGEX=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;constructor(){}static validateFormat(e){return this.EMAIL_REGEX.test(e)}static create(e){if(!e)return;let r=typeof e=="string"?i(e.trim())?.toLowerCase():"";if(!this.validateFormat(r??""))throw new q({statusCode:400,errorMessage:"{{invalid_email_format}}",errorDetails:{email:e}});return r}};var C=class s{constructor(e,r){this.pushEnabled=e;this.emailEnabled=r}pushEnabled;emailEnabled;static fromJSON(e){return new s(e.pushEnabled,e.emailEnabled)}toJSON(){return{pushEnabled:this.pushEnabled,emailEnabled:this.emailEnabled}}};var l=class s{constructor(e,r){this.enabled=e;this.time=r}enabled;time;static fromJSON(e){return new s(e.enabled,e.time)}toJSON(){return{enabled:this.enabled,time:this.time}}};var N=class s{constructor(e,r,t,o){this.dailySummary=e;this.weeklySummary=r;this.monthlySummary=t;this.dailyReminder=o}dailySummary;weeklySummary;monthlySummary;dailyReminder;static fromJSON(e){return new s(e.dailySummary&&l.fromJSON(e.dailySummary),e.weeklySummary&&l.fromJSON(e.weeklySummary),e.monthlySummary&&l.fromJSON(e.monthlySummary),e.dailyReminder&&l.fromJSON(e.dailyReminder))}toJSON(){return{dailySummary:this.dailySummary?.toJSON(),weeklySummary:this.weeklySummary?.toJSON(),monthlySummary:this.monthlySummary?.toJSON(),dailyReminder:this.dailyReminder?.toJSON()}}};import{getCountryNameFromCountryCode as X}from"countries-and-currencies-utils";var w=class s{constructor(e){this.isoCode=e}isoCode;get label(){return this.isoCode?X(this.isoCode):void 0}static fromJSON(e){return new s(i(e.isoCode))}toJSON(){return{isoCode:this.isoCode,label:this.label}}};var x=class s{constructor(e,r,t){this.isoCode=e;this.label=r;this.symbol=t}isoCode;label;symbol;static fromJSON(e){return new s(i(e.isoCode),i(e.label),i(e.symbol))}toJSON(){return{isoCode:this.isoCode,label:this.label,symbol:this.symbol}}};import{getTimezoneOffset as Y}from"countries-and-currencies-utils";var R=class s{constructor(e){this.ianaIdentifier=e}ianaIdentifier;static fromJSON(e){return new s(i(e.ianaIdentifier))}get offsetInMinutes(){return this.ianaIdentifier?Y(this.ianaIdentifier)??void 0:void 0}toJSON(){return{ianaIdentifier:this.ianaIdentifier,offsetInMinutes:this.offsetInMinutes}}};import{getLanguageFromLanguageCode as Q}from"countries-and-currencies-utils";var J=class s{constructor(e){this.isoCode=e}isoCode;get label(){return this.isoCode?Q(this.isoCode)?.nativeName:void 0}static fromJSON(e){return new s(i(e.isoCode))}toJSON(){return{isoCode:this.isoCode,label:this.label}}};var E=class s{constructor(e,r,t,o,a,c){this.notifications=e;this.reports=r;this.country=t;this.currency=o;this.timezone=a;this.language=c}notifications;reports;country;currency;timezone;language;static fromJSON(e){return new s(e.notifications&&C.fromJSON(e.notifications),e.reports&&N.fromJSON(e.reports),e.country&&w.fromJSON(e.country),e.currency&&x.fromJSON(e.currency),e.timezone&&R.fromJSON(e.timezone),e.language&&J.fromJSON(e.language))}toJSON(){return{notifications:this.notifications?.toJSON(),reports:this.reports?.toJSON(),country:this.country?.toJSON(),currency:this.currency?.toJSON(),timezone:this.timezone?.toJSON(),language:this.language?.toJSON()}}};var B=class s{constructor(e,r,t,o,a,c,n){this.notifications=e;this.microphone=r;this.location=t;this.contacts=o;this.storage=a;this.camera=c;this.photos=n}notifications;microphone;location;contacts;storage;camera;photos;static fromJSON(e){return new s(e.notifications,e.microphone,e.location,e.contacts,e.storage,e.camera,e.photos)}toJSON(){return{notifications:this.notifications,microphone:this.microphone,location:this.location,contacts:this.contacts,storage:this.storage,camera:this.camera,photos:this.photos}}};var I=class I{platform;referrerCode;constructor(e,r){this.platform=e,this.referrerCode=r}static fromJSON(e){return new I(i(e.platform),i(e.referrerCode))}toJSON(){return{platform:this.platform,referrerCode:this.referrerCode}}};u([f],I.prototype,"referrerCode",2);var A=I;var v=class v{drawNumber;constructor(e){this.drawNumber=e}static fromJSON(e){return new v(i(e.drawNumber))}toJSON(){return{drawNumber:this.drawNumber}}};u([f],v.prototype,"drawNumber",2);var z=v;var P=class P extends H{constructor(r,t,o,a,c,n,M,T,k,L){super(r);this.props=r;this.firstName=t;this.lastName=o;this.email=a;this.acquisition=M;this.marketing=T;this.preferences=k;this.permissions=L;this.password=c,this.role=n}props;firstName;lastName;email;acquisition;marketing;preferences;permissions;password;role;static fromJSON(r){return new P(r,i(r.firstName),i(r.lastName),U.create(r.email),r.password,i(r.role),r.acquisition&&A.fromJSON(r.acquisition),r.marketing&&z.fromJSON(r.marketing),r.preferences&&E.fromJSON(r.preferences),r.permissions&&B.fromJSON(r.permissions))}toJSON(){return{...super.toJSON(),firstName:this.firstName,lastName:this.lastName,email:this.email,password:this.password,role:this.role,acquisition:this.acquisition?.toJSON(),marketing:this.marketing?.toJSON(),preferences:this.preferences?.toJSON(),permissions:this.permissions?.toJSON()}}static async create(r){if(r.preferences?.currency?.isoCode){let o=await j(r.preferences.currency.isoCode);r.preferences.currency.label=o?.label,r.preferences.currency.symbol=o?.symbol}r.password&&!g.isHashed(r.password)&&(r.password=await g.create(r.password));let t=P.fromJSON(r);return t.role=t.role||"user",t}get fullName(){return`${this.firstName} ${this.lastName}`}async verifyPassword(r){return g.compare(r,String(this.password))}};u([G],P.prototype,"password",2),u([f],P.prototype,"role",2);var m=P;var y=class extends p{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{payload:t,currentUser:o}=r;if(!t?.email)throw new Error("[Create User] email param is required");if(!t?.password)throw new Error("[Create User] password param is required");let a=await m.create({...t});a.setCreatedBy(o),await this.userRepository.create(a);let{password:c,...n}=a.toJSON();return{data:n}}};y=u([ee()],y);import{autoInjectable as re}from"tsyringe";var b=class extends p{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{payload:t,id:o,currentUser:a}=r;if(!t||Object.keys(t).length===0)throw new Error("Payload is required for updating user");let c=await m.create({...t,_id:o});c.setUpdatedBy(a),this.logger.info(`Updating user: ${c.stringify()}`);let n=await this.userRepository.update(c);if(!n)throw new Error("User not found or update failed");return{data:n}}};b=u([re()],b);import{autoInjectable as te}from"tsyringe";var h=class extends p{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{id:t,hardDelete:o,accountDeletionReason:a,currentUser:c}=r;if(!t)throw new Error("Missing id");if(o)return c?.isAdmin()||this.throwError403(),{data:{deletedCount:await this.userRepository.deleteById(t)}};let n=await m.fromJSON({_id:t,deletedReason:a});return n.setDeletedBy(c),{data:await this.userRepository.update(n)||{}}}};h=u([te()],h);import{autoInjectable as se}from"tsyringe";var d=class extends p{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let{id:t}=r;return{data:await this.userRepository.findById(t)}}};d=u([se()],d);import ie from"jsonwebtoken";import{autoInjectable as ne}from"tsyringe";var O=class extends p{constructor(r){super();this.userRepository=r}userRepository;async execute(r){let t=this.secretManager.get("JWT_SECRET");if(!t)throw new Error("{{jwt_secret_not_found}}");let{payload:o}=r,{emailOrUsername:a,password:c}=o,n=await this.userRepository.findByEmailOrUsernameWithPassword(a);if(!n)return this.throwHttpError({statusCode:404,errorMessage:`{{user_not_found}}: ${a}`});if(await n.verifyPassword(c)!==!0)return this.throwHttpError({statusCode:401,errorMessage:"{{invalid_password}}"});let T=n.role==="admin"?"1h":"7d",k={userId:n._id?.toString(),email:n.email,firstName:n.firstName,lastName:n.lastName},L=ie.sign(k,t,{expiresIn:T}),{password:de,...K}=n.toJSON();return{data:{token:L,user:K}}}};O=u([ne()],O);var W=class{static async createUser(e){return await S.resolve(y).execute(e)}static async updateUser(e){return await S.resolve(b).execute(e)}static async deleteUser(e){return await S.resolve(h).execute(e)}static async getUser(e){return await S.resolve(d).execute(e)}static async getUserByExternalId(e){return await S.resolve(d).execute(e)}static async authenticateUser(e){return await S.resolve(O).execute(e)}};import{getCountryDataFromCountryCode as ae,getCountryISOCodeFromTimezone as ue,getTimezoneOffset as ce}from"countries-and-currencies-utils";var _=class s{constructor(e,r,t,o,a,c,n){this.clientType=e;this.environment=r;this.app=t;this.device=o;this.preferences=a;this.location=c;this.request=n}clientType;environment;app;device;preferences;location;request;get language(){return this.preferences?.locale?.split("_")[0]}get timezoneOffset(){return ce(this.location?.timezone)}get currencyCode(){return ae(this.location?.country)?.currency?.isoCode}static fromJSON(e){return new s(e.clientType,e.environment,e.app,e.device,e.preferences,e.location,e.request)}toJson(){return{clientType:this.clientType,environment:this.environment,app:this.app,device:this.device,preferences:this.preferences,location:this.location,request:this.request}}static fromRequest(e){let r={};try{r=JSON.parse(e.xCurrentSessionHeader||"{}")}catch{r={}}let t=s.fromJSON(r);return t.request={...t.request,id:e.requestId,path:e.path,ipAddress:e.ipAddress,userAgent:e.userAgent},t.location=t.location?.timezone?{...t.location,country:ue(t.location?.timezone)}:t.location,t}};var me=(t=>(t.PRODUCTION="production",t.STAGING="staging",t.DEVELOPMENT="development",t))(me||{});import{ObjectId as pe}from"mongodb";import{getTimezoneOffset as le}from"countries-and-currencies-utils";var Z=class s extends m{_isPremium=!1;static async asyncFromDB(e){if(!e)return;let t=await $().db(F.get("OPENLOOPS_DB_NAME")),o;try{o=await t.collection("users").findOne({_id:new pe(e)},{projection:{password:0}})}catch(a){throw D.error({userId:e,error:a},"[Current User] Error fetching user with ID"),a}if(!o){D.warn({userId:e},"[Current User] User not found in database");return}return s.fromJSON(o)}static fromJSON(e){let r=m.fromJSON(e);return Object.assign(new s(r.props),r)}get userId(){return this._id?.toString()}get language(){return this.preferences?.language?.isoCode}get hasPushNotificationsPermission(){return this.permissions?.notifications??!1}get timezoneOffset(){return le(this.preferences?.timezone?.ianaIdentifier)}setIsPremium(e){this._isPremium=e}isAdmin(){return this.role==="admin"}isFreePlan(){return!this.isPremium}isPremium(){return this._isPremium}};export{W as App,me as ClientEnvironment,_ as CurrentSession,Z as CurrentUser};
@@ -0,0 +1,308 @@
1
+ import { C as CurrentSession } from './current-session-DC-SF7rl.js';
2
+ import { B as BaseEntityProps, b as BaseEntity, C as CurrentUser } from './current-user-4BppBUBP.js';
3
+ import { T as Tool, B as BaseParams } from './tool-DMR_ZdjP.js';
4
+
5
+ declare enum AgentStatus {
6
+ IDLE = "idle",
7
+ FAILED = "failed",
8
+ PROCESSING = "processing",
9
+ AWAITING_USER_INPUT = "awaiting_user_input",
10
+ AWAITING_USER_CONFIRMATION = "awaiting_user_confirmation"
11
+ }
12
+ interface AgentError {
13
+ code: string;
14
+ message: string;
15
+ isRetryable: boolean;
16
+ timestamp: Date;
17
+ }
18
+ type CurrentActivity = 'running' | 'stopped' | (string & {});
19
+ interface AgentStateProps {
20
+ status?: AgentStatus;
21
+ language?: string;
22
+ lastError?: AgentError;
23
+ activeTaskId?: string;
24
+ stopRequested?: boolean;
25
+ currentActivity?: CurrentActivity;
26
+ }
27
+ declare class AgentState {
28
+ status?: AgentStatus | undefined;
29
+ language?: string | undefined;
30
+ lastError?: AgentError | undefined;
31
+ activeTaskId?: string | undefined;
32
+ stopRequested?: boolean | undefined;
33
+ currentActivity?: CurrentActivity | undefined;
34
+ static fromJSON(props?: AgentStateProps): AgentState;
35
+ constructor(status?: AgentStatus | undefined, language?: string | undefined, lastError?: AgentError | undefined, activeTaskId?: string | undefined, stopRequested?: boolean | undefined, currentActivity?: CurrentActivity | undefined);
36
+ toJSON(): AgentStateProps;
37
+ setLanguage(language?: string): void;
38
+ setCurrentActivity(currentActivity: CurrentActivity): void;
39
+ setStatus(status: AgentStatus): void;
40
+ setActiveTaskId(taskId?: string): void;
41
+ setLastError(lastError?: AgentError): void;
42
+ setStopRequested(stopRequested?: boolean): void;
43
+ interruptExecution(): void;
44
+ cleanContext(): void;
45
+ }
46
+
47
+ type Roles = 'user' | 'assistant';
48
+ interface ChatMessageProps extends BaseEntityProps {
49
+ role?: Roles;
50
+ content?: string;
51
+ }
52
+ declare class ChatMessage extends BaseEntity {
53
+ private readonly props;
54
+ role?: Roles | undefined;
55
+ content?: string | undefined;
56
+ static factory(message: ChatMessageProps): ChatMessage;
57
+ static fromJSON(props: ChatMessageProps): ChatMessage;
58
+ constructor(props: ChatMessageProps, role?: Roles | undefined, content?: string | undefined);
59
+ toJSON(): ChatMessageProps;
60
+ }
61
+
62
+ interface ChatSettingsProps {
63
+ notifyOnCompletion?: boolean;
64
+ modelName?: string;
65
+ loopName?: string;
66
+ }
67
+ declare class ChatSettings {
68
+ private readonly props;
69
+ notifyOnCompletion?: boolean | undefined;
70
+ modelName?: string | undefined;
71
+ loopName?: string | undefined;
72
+ constructor(props: ChatSettingsProps, notifyOnCompletion?: boolean | undefined, modelName?: string | undefined, loopName?: string | undefined);
73
+ static fromJSON(props: ChatSettingsProps): ChatSettings;
74
+ toJSON(): ChatSettingsProps;
75
+ setLoopName(loopName: string): void;
76
+ setModelName(modelName: string): void;
77
+ setNotifyOnCompletion(notifyOnCompletion: boolean): void;
78
+ }
79
+
80
+ type ContextRecordType = 'message' | 'file' | 'entity' | 'tool_output' | 'artifact' | 'summary';
81
+ interface ContextRecord {
82
+ taskId: string;
83
+ meta: {
84
+ name: string;
85
+ type: ContextRecordType;
86
+ shortDescription: string;
87
+ };
88
+ content: any;
89
+ }
90
+ interface ChatContextProps {
91
+ items?: ContextRecord[];
92
+ }
93
+ declare class ChatContext {
94
+ private readonly props;
95
+ items?: ContextRecord[] | undefined;
96
+ private readonly MEMORY_CONTEXT_MAX_CHARS;
97
+ static fromJSON(props: ChatContextProps): ChatContext;
98
+ constructor(props: ChatContextProps, items?: ContextRecord[] | undefined);
99
+ get length(): number;
100
+ get allMeta(): {
101
+ name: string;
102
+ type: ContextRecordType;
103
+ shortDescription: string;
104
+ }[] | undefined;
105
+ toJSON(): ChatContextProps;
106
+ addContext(contextRecord: any): void;
107
+ selectContext(filters: {
108
+ taskId: string;
109
+ name: string;
110
+ }): ContextRecord[] | undefined;
111
+ lastContext(filters: {
112
+ taskId: string;
113
+ name: string;
114
+ }): ContextRecord | undefined;
115
+ compress(): void;
116
+ pruneContext(): void;
117
+ }
118
+
119
+ type ActionStatus = 'pending' | 'running' | 'completed' | 'failed';
120
+ interface ActionErrorProps {
121
+ message: string;
122
+ [key: string]: any;
123
+ }
124
+ interface AgentActionProps extends BaseEntityProps {
125
+ name?: string;
126
+ stepId?: string;
127
+ args?: Record<string, any>;
128
+ dependsOn?: string[];
129
+ status?: ActionStatus;
130
+ output?: any;
131
+ error?: ActionErrorProps;
132
+ reasoning?: string;
133
+ retries?: number;
134
+ author?: string;
135
+ startedAt?: Date;
136
+ completedAt?: Date;
137
+ }
138
+ declare class AgentAction extends BaseEntity {
139
+ private readonly props;
140
+ name?: string | undefined;
141
+ stepId?: string | undefined;
142
+ args?: Record<string, any> | undefined;
143
+ dependsOn?: string[] | undefined;
144
+ status?: ActionStatus | undefined;
145
+ output?: any | undefined;
146
+ error?: ActionErrorProps | undefined;
147
+ reasoning?: string | undefined;
148
+ retries?: number | undefined;
149
+ author?: string | undefined;
150
+ startedAt?: Date | undefined;
151
+ completedAt?: Date | undefined;
152
+ static factory(action: AgentActionProps): AgentAction;
153
+ static fromJSON(props: AgentActionProps): AgentAction;
154
+ constructor(props: AgentActionProps, name?: string | undefined, stepId?: string | undefined, args?: Record<string, any> | undefined, dependsOn?: string[] | undefined, status?: ActionStatus | undefined, output?: any | undefined, error?: ActionErrorProps | undefined, reasoning?: string | undefined, retries?: number | undefined, author?: string | undefined, startedAt?: Date | undefined, completedAt?: Date | undefined);
155
+ toJSON(): AgentActionProps;
156
+ get id(): string;
157
+ get isReady(): boolean;
158
+ get isTerminal(): boolean;
159
+ dependenciesSatisfiedBy(completedRefs: Set<string>): boolean;
160
+ markRunning(): void;
161
+ markCompleted(output: any): void;
162
+ markFailed(error: ActionErrorProps): void;
163
+ incrementRetries(): number;
164
+ resetForRetry(): void;
165
+ runTool(tool: Tool | undefined, args: Record<string, any>, baseParams: BaseParams): Promise<this>;
166
+ }
167
+ interface ActionDescriptor {
168
+ name: string;
169
+ stepId?: string;
170
+ args?: Record<string, any>;
171
+ dependsOn?: string[];
172
+ reasoning?: string;
173
+ author?: string;
174
+ }
175
+
176
+ declare enum TaskStatus {
177
+ PENDING = "pending",
178
+ IN_PROGRESS = "in_progress",
179
+ AWAITING_USER = "awaiting_user",
180
+ COMPLETED = "completed",
181
+ PAUSED = "paused",
182
+ ABANDONED = "abandoned",
183
+ CANCELLED = "cancelled",
184
+ FAILED = "failed"
185
+ }
186
+ interface AgentTaskProps extends BaseEntityProps {
187
+ status?: TaskStatus;
188
+ goal?: string;
189
+ nextNode?: string;
190
+ threadId?: string;
191
+ previousTaskId?: string;
192
+ summary?: string;
193
+ loopName?: string;
194
+ actions?: AgentActionProps[];
195
+ }
196
+ declare class AgentTask extends BaseEntity {
197
+ private readonly props;
198
+ status?: TaskStatus | undefined;
199
+ goal?: string | undefined;
200
+ nextNode?: string | undefined;
201
+ threadId?: string | undefined;
202
+ previousTaskId?: string | undefined;
203
+ summary?: string | undefined;
204
+ loopName?: string | undefined;
205
+ actions: AgentAction[];
206
+ static factory(task: AgentTaskProps): AgentTask;
207
+ static fromJSON(props: AgentTaskProps): AgentTask;
208
+ constructor(props: AgentTaskProps, status?: TaskStatus | undefined, goal?: string | undefined, nextNode?: string | undefined, threadId?: string | undefined, previousTaskId?: string | undefined, summary?: string | undefined, loopName?: string | undefined, actions?: AgentAction[]);
209
+ toJSON(): AgentTaskProps;
210
+ get id(): string;
211
+ addAction(descriptor: ActionDescriptor): AgentAction;
212
+ getAction(ref: string): AgentAction | undefined;
213
+ findLastByName(name: string): AgentAction | undefined;
214
+ get readyActions(): AgentAction[];
215
+ get failedActions(): AgentAction[];
216
+ get lastExecutedAction(): AgentAction | undefined;
217
+ setNextNode(node?: string): void;
218
+ complete(summary?: string): void;
219
+ fail(): void;
220
+ cancel(): void;
221
+ pause(): void;
222
+ reopen(): void;
223
+ resolveArgs(action: AgentAction, context: ChatContext): any;
224
+ private resolveValue;
225
+ private findActionByRef;
226
+ private readContextValue;
227
+ runTool(descriptor: ActionDescriptor, tool: Tool | undefined, context: ChatContext, baseParams: BaseParams): Promise<AgentAction>;
228
+ runReadyAction(actionRef: string, tool: Tool | undefined, context: ChatContext, baseParams: BaseParams): Promise<AgentAction>;
229
+ private executeToolAction;
230
+ }
231
+
232
+ interface ChatProps extends BaseEntityProps {
233
+ state?: AgentStateProps;
234
+ settings?: ChatSettingsProps;
235
+ messages?: ChatMessageProps[];
236
+ context?: ChatContextProps;
237
+ tasks?: AgentTaskProps[];
238
+ traces?: AgentTrace[];
239
+ }
240
+ interface AgentTrace {
241
+ node: string;
242
+ reasoning?: string;
243
+ taskId?: string;
244
+ timestamp?: Date | string;
245
+ }
246
+ declare class Chat extends BaseEntity {
247
+ private readonly props;
248
+ state?: AgentState | undefined;
249
+ settings?: ChatSettings | undefined;
250
+ messages?: ChatMessage[] | undefined;
251
+ context: ChatContext;
252
+ tasks: AgentTask[];
253
+ traces?: AgentTrace[] | undefined;
254
+ static withDefaults(loopName?: string): Chat;
255
+ static fromJSON(props: ChatProps): Chat;
256
+ constructor(props: ChatProps, state?: AgentState | undefined, settings?: ChatSettings | undefined, messages?: ChatMessage[] | undefined, context?: ChatContext, tasks?: AgentTask[], traces?: AgentTrace[] | undefined);
257
+ get lastAnswer(): string | undefined;
258
+ get activeTask(): AgentTask | undefined;
259
+ toJSON(): ChatProps;
260
+ pushMessage(message: ChatMessageProps): void;
261
+ lastHistoryMessages(count?: number): ChatMessage[] | undefined;
262
+ addTrace(entry: Omit<AgentTrace, 'timestamp'>): void;
263
+ setAgentState(contextState: AgentStateProps): void;
264
+ getTask(taskId: string): AgentTask | undefined;
265
+ lastCompletedTask(): AgentTask | undefined;
266
+ createTask(goal: string, opts?: {
267
+ continuesFrom?: string;
268
+ }): AgentTask;
269
+ reopenTask(taskId: string): AgentTask | undefined;
270
+ completeTask(taskId?: string, summary?: string): void;
271
+ failTask(taskId?: string): void;
272
+ cancelTask(taskId?: string): void;
273
+ private clearActiveTaskIdIfMatches;
274
+ switchLoop(loopName: string): void;
275
+ }
276
+
277
+ interface SkillProps {
278
+ name: string;
279
+ version?: string;
280
+ description?: string;
281
+ temperature?: number;
282
+ systemInstructions: Record<string, any>;
283
+ }
284
+ interface SkillRunOptions<TInput = Record<string, any>> {
285
+ sessionId: string;
286
+ answerId: string;
287
+ userMessage?: string;
288
+ currentUser?: CurrentUser;
289
+ currentSession?: CurrentSession;
290
+ contextInjection?: Record<string, any>;
291
+ input?: TInput;
292
+ chat?: Chat;
293
+ }
294
+ declare class Skill<TResponse = Record<string, any>> {
295
+ readonly name: string;
296
+ readonly version?: string;
297
+ readonly description?: string;
298
+ readonly temperature?: number;
299
+ readonly systemInstructions: Record<string, any>;
300
+ constructor(props: SkillProps);
301
+ run(options: SkillRunOptions): Promise<TResponse & {
302
+ responseId: string;
303
+ costInUsd: number;
304
+ }>;
305
+ private parseJsonResponse;
306
+ }
307
+
308
+ export { AgentTask as A, Chat as C, Skill as S, type SkillProps as a, type SkillRunOptions as b, type ChatProps as c, type AgentError as d, AgentState as e, type AgentStateProps as f, AgentStatus as g };