openloops 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/dist/chunk-XRJFNASX.mjs +14 -0
  2. package/dist/common/clients/index.d.ts +3 -0
  3. package/dist/common/clients/index.js +26 -0
  4. package/dist/common/clients/index.mjs +3 -0
  5. package/dist/common/clients/llm-client.d.ts +30 -0
  6. package/dist/common/clients/llm-client.js +159 -0
  7. package/dist/common/clients/llm-client.mjs +126 -0
  8. package/dist/common/clients/sentry-client.d.ts +10 -0
  9. package/dist/common/clients/sentry-client.js +87 -0
  10. package/dist/common/clients/sentry-client.mjs +53 -0
  11. package/dist/common/clients/serper-client.d.ts +66 -0
  12. package/dist/common/clients/serper-client.js +74 -0
  13. package/dist/common/clients/serper-client.mjs +41 -0
  14. package/dist/common/core/base.app.d.ts +12 -0
  15. package/dist/common/core/base.app.js +57 -0
  16. package/dist/common/core/base.app.mjs +34 -0
  17. package/dist/common/core/base.entity.d.ts +55 -0
  18. package/dist/common/core/base.entity.js +208 -0
  19. package/dist/common/core/base.entity.mjs +179 -0
  20. package/dist/common/core/base.use-case.d.ts +15 -0
  21. package/dist/common/core/base.use-case.js +30 -0
  22. package/dist/common/core/base.use-case.mjs +7 -0
  23. package/dist/common/core/index.d.ts +1 -0
  24. package/dist/common/core/index.js +1 -0
  25. package/dist/common/core/index.mjs +0 -0
  26. package/dist/common/core/utils/delete-empty-fields.d.ts +1 -0
  27. package/dist/common/core/utils/delete-empty-fields.js +66 -0
  28. package/dist/common/core/utils/delete-empty-fields.mjs +43 -0
  29. package/dist/common/core/utils/flatten-object.d.ts +1 -0
  30. package/dist/common/core/utils/flatten-object.js +45 -0
  31. package/dist/common/core/utils/flatten-object.mjs +22 -0
  32. package/dist/common/core/utils/index.d.ts +3 -0
  33. package/dist/common/core/utils/index.js +26 -0
  34. package/dist/common/core/utils/index.mjs +3 -0
  35. package/dist/common/core/utils/is-plain-object.d.ts +1 -0
  36. package/dist/common/core/utils/is-plain-object.js +32 -0
  37. package/dist/common/core/utils/is-plain-object.mjs +9 -0
  38. package/dist/common/decorators/admin-only/admin-only.d.ts +2 -0
  39. package/dist/common/decorators/admin-only/admin-only.js +52 -0
  40. package/dist/common/decorators/admin-only/admin-only.mjs +28 -0
  41. package/dist/common/decorators/admin-only/index.d.ts +1 -0
  42. package/dist/common/decorators/admin-only/index.js +22 -0
  43. package/dist/common/decorators/admin-only/index.mjs +1 -0
  44. package/dist/common/decorators/index.d.ts +3 -0
  45. package/dist/common/decorators/index.js +26 -0
  46. package/dist/common/decorators/index.mjs +3 -0
  47. package/dist/common/decorators/mask-in-logs/index.d.ts +1 -0
  48. package/dist/common/decorators/mask-in-logs/index.js +22 -0
  49. package/dist/common/decorators/mask-in-logs/index.mjs +1 -0
  50. package/dist/common/decorators/mask-in-logs/mask-in-logs.d.ts +2 -0
  51. package/dist/common/decorators/mask-in-logs/mask-in-logs.js +53 -0
  52. package/dist/common/decorators/mask-in-logs/mask-in-logs.mjs +29 -0
  53. package/dist/common/decorators/owner-only/index.d.ts +1 -0
  54. package/dist/common/decorators/owner-only/index.js +22 -0
  55. package/dist/common/decorators/owner-only/index.mjs +1 -0
  56. package/dist/common/decorators/owner-only/owner-only.d.ts +2 -0
  57. package/dist/common/decorators/owner-only/owner-only.js +52 -0
  58. package/dist/common/decorators/owner-only/owner-only.mjs +28 -0
  59. package/dist/common/error/http-error.d.ts +11 -0
  60. package/dist/common/error/http-error.js +37 -0
  61. package/dist/common/error/http-error.mjs +14 -0
  62. package/dist/common/error/index.d.ts +2 -0
  63. package/dist/common/error/index.js +24 -0
  64. package/dist/common/error/index.mjs +2 -0
  65. package/dist/common/error/reportError.d.ts +2 -0
  66. package/dist/common/error/reportError.js +51 -0
  67. package/dist/common/error/reportError.mjs +28 -0
  68. package/dist/common/helpers/extract-json-from-text.d.ts +1 -0
  69. package/dist/common/helpers/extract-json-from-text.js +63 -0
  70. package/dist/common/helpers/extract-json-from-text.mjs +40 -0
  71. package/dist/common/helpers/index.d.ts +2 -0
  72. package/dist/common/helpers/index.js +24 -0
  73. package/dist/common/helpers/index.mjs +2 -0
  74. package/dist/common/helpers/sanitize-string.d.ts +1 -0
  75. package/dist/common/helpers/sanitize-string.js +45 -0
  76. package/dist/common/helpers/sanitize-string.mjs +12 -0
  77. package/dist/common/logger/index.d.ts +1 -0
  78. package/dist/common/logger/index.js +22 -0
  79. package/dist/common/logger/index.mjs +1 -0
  80. package/dist/common/logger/pino.d.ts +12 -0
  81. package/dist/common/logger/pino.js +70 -0
  82. package/dist/common/logger/pino.mjs +36 -0
  83. package/dist/common/repositories/index.d.ts +2 -0
  84. package/dist/common/repositories/index.js +24 -0
  85. package/dist/common/repositories/index.mjs +2 -0
  86. package/dist/common/repositories/mongo-db.client.d.ts +11 -0
  87. package/dist/common/repositories/mongo-db.client.js +79 -0
  88. package/dist/common/repositories/mongo-db.client.mjs +57 -0
  89. package/dist/common/repositories/mongo-db.repository.d.ts +87 -0
  90. package/dist/common/repositories/mongo-db.repository.js +219 -0
  91. package/dist/common/repositories/mongo-db.repository.mjs +196 -0
  92. package/dist/common/utils/secret-manager.d.ts +15 -0
  93. package/dist/common/utils/secret-manager.js +105 -0
  94. package/dist/common/utils/secret-manager.mjs +71 -0
  95. package/dist/index.d.ts +1 -10
  96. package/dist/index.js +22 -7
  97. package/dist/index.mjs +1 -1
  98. package/dist/services/agent/core/agent-loop.d.ts +38 -0
  99. package/dist/services/agent/core/agent-loop.js +29 -0
  100. package/dist/services/agent/core/agent-loop.mjs +6 -0
  101. package/dist/services/agent/core/agent-state.d.ts +42 -0
  102. package/dist/services/agent/core/agent-state.js +102 -0
  103. package/dist/services/agent/core/agent-state.mjs +78 -0
  104. package/dist/services/agent/core/agent.d.ts +70 -0
  105. package/dist/services/agent/core/agent.js +351 -0
  106. package/dist/services/agent/core/agent.mjs +327 -0
  107. package/dist/services/agent/core/index.d.ts +3 -122
  108. package/dist/services/agent/core/index.js +26 -7
  109. package/dist/services/agent/core/index.mjs +3 -1
  110. package/dist/services/agent/loops/index.d.ts +2 -116
  111. package/dist/services/agent/loops/index.js +24 -10
  112. package/dist/services/agent/loops/index.mjs +2 -4
  113. package/dist/services/agent/loops/plan-execute/index.d.ts +1 -0
  114. package/dist/services/agent/loops/plan-execute/index.js +22 -0
  115. package/dist/services/agent/loops/plan-execute/index.mjs +1 -0
  116. package/dist/services/agent/loops/plan-execute/plan-execute-loop.d.ts +27 -0
  117. package/dist/services/agent/loops/plan-execute/plan-execute-loop.js +242 -0
  118. package/dist/services/agent/loops/plan-execute/plan-execute-loop.mjs +226 -0
  119. package/dist/services/agent/loops/shared/index.d.ts +1 -0
  120. package/dist/services/agent/loops/shared/index.js +22 -0
  121. package/dist/services/agent/loops/shared/index.mjs +1 -0
  122. package/dist/services/agent/loops/shared/skills/action-planner.d.ts +35 -0
  123. package/dist/services/agent/loops/shared/skills/action-planner.js +68 -0
  124. package/dist/services/agent/loops/shared/skills/action-planner.mjs +45 -0
  125. package/dist/services/agent/loops/shared/skills/confirmation-gate.d.ts +9 -0
  126. package/dist/services/agent/loops/shared/skills/confirmation-gate.js +53 -0
  127. package/dist/services/agent/loops/shared/skills/confirmation-gate.mjs +30 -0
  128. package/dist/services/agent/loops/shared/skills/fast-responder.d.ts +9 -0
  129. package/dist/services/agent/loops/shared/skills/fast-responder.js +70 -0
  130. package/dist/services/agent/loops/shared/skills/fast-responder.mjs +47 -0
  131. package/dist/services/agent/loops/shared/skills/final-responder.d.ts +7 -0
  132. package/dist/services/agent/loops/shared/skills/final-responder.js +57 -0
  133. package/dist/services/agent/loops/shared/skills/final-responder.mjs +34 -0
  134. package/dist/services/agent/loops/shared/skills/index.d.ts +6 -0
  135. package/dist/services/agent/loops/shared/skills/index.js +32 -0
  136. package/dist/services/agent/loops/shared/skills/index.mjs +6 -0
  137. package/dist/services/agent/loops/shared/skills/state-observer.d.ts +10 -0
  138. package/dist/services/agent/loops/shared/skills/state-observer.js +57 -0
  139. package/dist/services/agent/loops/shared/skills/state-observer.mjs +34 -0
  140. package/dist/services/agent/loops/shared/skills/strategy-engine.d.ts +15 -0
  141. package/dist/services/agent/loops/shared/skills/strategy-engine.js +60 -0
  142. package/dist/services/agent/loops/shared/skills/strategy-engine.mjs +37 -0
  143. package/dist/services/agent/modules/chats/entities/agent-action.entity.d.ts +58 -0
  144. package/dist/services/agent/modules/chats/entities/agent-action.entity.js +151 -0
  145. package/dist/services/agent/modules/chats/entities/agent-action.entity.mjs +128 -0
  146. package/dist/services/agent/modules/chats/entities/agent-task.entity.d.ts +59 -0
  147. package/dist/services/agent/modules/chats/entities/agent-task.entity.js +231 -0
  148. package/dist/services/agent/modules/chats/entities/agent-task.entity.mjs +207 -0
  149. package/dist/services/agent/modules/chats/entities/chat-context.entity.d.ts +39 -0
  150. package/dist/services/agent/modules/chats/entities/chat-context.entity.js +70 -0
  151. package/dist/services/agent/modules/chats/entities/chat-context.entity.mjs +47 -0
  152. package/dist/services/agent/modules/chats/entities/chat-message.entity.d.ts +16 -0
  153. package/dist/services/agent/modules/chats/entities/chat-message.entity.js +58 -0
  154. package/dist/services/agent/modules/chats/entities/chat-message.entity.mjs +35 -0
  155. package/dist/services/agent/modules/chats/entities/chat-settings.entity.d.ts +17 -0
  156. package/dist/services/agent/modules/chats/entities/chat-settings.entity.js +63 -0
  157. package/dist/services/agent/modules/chats/entities/chat-settings.entity.mjs +40 -0
  158. package/dist/services/agent/modules/chats/entities/chat.entity.d.ts +50 -0
  159. package/dist/services/agent/modules/chats/entities/chat.entity.js +163 -0
  160. package/dist/services/agent/modules/chats/entities/chat.entity.mjs +140 -0
  161. package/dist/services/agent/modules/chats/entities/index.d.ts +1 -0
  162. package/dist/services/agent/modules/chats/entities/index.js +22 -0
  163. package/dist/services/agent/modules/chats/entities/index.mjs +1 -0
  164. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.d.ts +14 -0
  165. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js +56 -0
  166. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.mjs +27 -0
  167. package/dist/services/agent/modules/chats/lambdas/create-chat/index.d.ts +1 -0
  168. package/dist/services/agent/modules/chats/lambdas/create-chat/index.js +22 -0
  169. package/dist/services/agent/modules/chats/lambdas/create-chat/index.mjs +1 -0
  170. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.d.ts +15 -0
  171. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js +61 -0
  172. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.mjs +32 -0
  173. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.d.ts +1 -0
  174. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js +22 -0
  175. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.mjs +1 -0
  176. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.d.ts +14 -0
  177. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js +52 -0
  178. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.mjs +23 -0
  179. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.d.ts +1 -0
  180. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js +22 -0
  181. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.mjs +1 -0
  182. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.d.ts +1 -0
  183. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js +22 -0
  184. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.mjs +1 -0
  185. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.d.ts +14 -0
  186. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js +64 -0
  187. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.mjs +35 -0
  188. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.d.ts +1 -0
  189. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js +22 -0
  190. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.mjs +1 -0
  191. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.d.ts +16 -0
  192. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js +52 -0
  193. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.mjs +23 -0
  194. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.d.ts +1 -0
  195. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js +22 -0
  196. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.mjs +1 -0
  197. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.d.ts +16 -0
  198. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js +59 -0
  199. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.mjs +30 -0
  200. package/dist/services/agent/modules/chats/lambdas/update-chat/index.d.ts +1 -0
  201. package/dist/services/agent/modules/chats/lambdas/update-chat/index.js +22 -0
  202. package/dist/services/agent/modules/chats/lambdas/update-chat/index.mjs +1 -0
  203. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.d.ts +15 -0
  204. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js +64 -0
  205. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.mjs +35 -0
  206. package/dist/services/agent/modules/chats/repositories/chat.repository.d.ts +10 -0
  207. package/dist/services/agent/modules/chats/repositories/chat.repository.js +67 -0
  208. package/dist/services/agent/modules/chats/repositories/chat.repository.mjs +38 -0
  209. package/dist/services/agent/modules/chats/repositories/index.d.ts +1 -0
  210. package/dist/services/agent/modules/chats/repositories/index.js +22 -0
  211. package/dist/services/agent/modules/chats/repositories/index.mjs +1 -0
  212. package/dist/services/agent/modules/llmcalls/entities/index.d.ts +1 -0
  213. package/dist/services/agent/modules/llmcalls/entities/index.js +22 -0
  214. package/dist/services/agent/modules/llmcalls/entities/index.mjs +1 -0
  215. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.d.ts +23 -0
  216. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js +71 -0
  217. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.mjs +48 -0
  218. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.d.ts +14 -0
  219. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js +56 -0
  220. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.mjs +27 -0
  221. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.d.ts +1 -0
  222. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js +22 -0
  223. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.mjs +1 -0
  224. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.d.ts +15 -0
  225. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js +61 -0
  226. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.mjs +32 -0
  227. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.d.ts +1 -0
  228. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js +22 -0
  229. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.mjs +1 -0
  230. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.d.ts +21 -0
  231. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js +123 -0
  232. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.mjs +94 -0
  233. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.d.ts +1 -0
  234. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js +22 -0
  235. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.mjs +1 -0
  236. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.d.ts +14 -0
  237. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js +52 -0
  238. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.mjs +23 -0
  239. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.d.ts +1 -0
  240. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js +22 -0
  241. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.mjs +1 -0
  242. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.d.ts +1 -0
  243. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js +22 -0
  244. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.mjs +1 -0
  245. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.d.ts +16 -0
  246. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js +52 -0
  247. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.mjs +23 -0
  248. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.d.ts +1 -0
  249. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js +22 -0
  250. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.mjs +1 -0
  251. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.d.ts +15 -0
  252. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js +62 -0
  253. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.mjs +33 -0
  254. package/dist/services/agent/modules/llmcalls/repositories/index.d.ts +1 -0
  255. package/dist/services/agent/modules/llmcalls/repositories/index.js +22 -0
  256. package/dist/services/agent/modules/llmcalls/repositories/index.mjs +1 -0
  257. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.d.ts +10 -0
  258. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js +67 -0
  259. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.mjs +38 -0
  260. package/dist/services/agent/modules/mcp-servers/entities/index.d.ts +1 -0
  261. package/dist/services/agent/modules/mcp-servers/entities/index.js +22 -0
  262. package/dist/services/agent/modules/mcp-servers/entities/index.mjs +1 -0
  263. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.d.ts +23 -0
  264. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js +79 -0
  265. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.mjs +56 -0
  266. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.d.ts +14 -0
  267. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js +56 -0
  268. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.mjs +27 -0
  269. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.d.ts +1 -0
  270. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js +22 -0
  271. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.mjs +1 -0
  272. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.d.ts +15 -0
  273. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js +61 -0
  274. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.mjs +32 -0
  275. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.d.ts +1 -0
  276. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js +22 -0
  277. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.mjs +1 -0
  278. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.d.ts +14 -0
  279. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js +52 -0
  280. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.mjs +23 -0
  281. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.d.ts +1 -0
  282. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js +22 -0
  283. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.mjs +1 -0
  284. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.d.ts +1 -0
  285. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js +22 -0
  286. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.mjs +1 -0
  287. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.d.ts +16 -0
  288. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js +59 -0
  289. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.mjs +30 -0
  290. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.d.ts +1 -0
  291. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js +22 -0
  292. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.mjs +1 -0
  293. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.d.ts +15 -0
  294. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js +61 -0
  295. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.mjs +32 -0
  296. package/dist/services/agent/modules/mcp-servers/repositories/index.d.ts +1 -0
  297. package/dist/services/agent/modules/mcp-servers/repositories/index.js +22 -0
  298. package/dist/services/agent/modules/mcp-servers/repositories/index.mjs +1 -0
  299. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.d.ts +10 -0
  300. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js +67 -0
  301. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.mjs +38 -0
  302. package/dist/services/agent/skills/index.d.ts +2 -14
  303. package/dist/services/agent/skills/index.js +24 -7
  304. package/dist/services/agent/skills/index.mjs +2 -1
  305. package/dist/services/agent/skills/shared/index.d.ts +1 -0
  306. package/dist/services/agent/skills/shared/index.js +22 -0
  307. package/dist/services/agent/skills/shared/index.mjs +1 -0
  308. package/dist/services/agent/skills/shared/shared-rules.d.ts +4 -0
  309. package/dist/services/agent/skills/shared/shared-rules.js +37 -0
  310. package/dist/services/agent/skills/shared/shared-rules.mjs +11 -0
  311. package/dist/services/agent/skills/skill-runner.d.ts +31 -0
  312. package/dist/services/agent/skills/skill-runner.js +121 -0
  313. package/dist/services/agent/skills/skill-runner.mjs +92 -0
  314. package/dist/services/agent/skills/skill.d.ts +33 -0
  315. package/dist/services/agent/skills/skill.js +128 -0
  316. package/dist/services/agent/skills/skill.mjs +105 -0
  317. package/dist/services/agent/tools/core/call-ai/call-ai.skill.d.ts +6 -0
  318. package/dist/services/agent/tools/core/call-ai/call-ai.skill.js +54 -0
  319. package/dist/services/agent/tools/core/call-ai/call-ai.skill.mjs +31 -0
  320. package/dist/services/agent/tools/core/call-ai/call-ai.tool.d.ts +2 -0
  321. package/dist/services/agent/tools/core/call-ai/call-ai.tool.js +68 -0
  322. package/dist/services/agent/tools/core/call-ai/call-ai.tool.mjs +45 -0
  323. package/dist/services/agent/tools/core/call-ai/index.d.ts +1 -0
  324. package/dist/services/agent/tools/core/call-ai/index.js +22 -0
  325. package/dist/services/agent/tools/core/call-ai/index.mjs +1 -0
  326. package/dist/services/agent/tools/core/index.d.ts +2 -0
  327. package/dist/services/agent/tools/core/index.js +24 -0
  328. package/dist/services/agent/tools/core/index.mjs +2 -0
  329. package/dist/services/agent/tools/core/web-search/index.d.ts +1 -0
  330. package/dist/services/agent/tools/core/web-search/index.js +22 -0
  331. package/dist/services/agent/tools/core/web-search/index.mjs +1 -0
  332. package/dist/services/agent/tools/core/web-search/web-search.tool.d.ts +2 -0
  333. package/dist/services/agent/tools/core/web-search/web-search.tool.js +51 -0
  334. package/dist/services/agent/tools/core/web-search/web-search.tool.mjs +30 -0
  335. package/dist/services/agent/tools/index.d.ts +2 -12
  336. package/dist/services/agent/tools/index.js +24 -7
  337. package/dist/services/agent/tools/index.mjs +2 -1
  338. package/dist/{tool-DMR_ZdjP.d.ts → services/agent/tools/tool.d.ts} +7 -9
  339. package/dist/services/agent/tools/tool.js +57 -0
  340. package/dist/services/agent/tools/tool.mjs +34 -0
  341. package/dist/services/agent/utils/rank-tools-by-keywords.d.ts +12 -0
  342. package/dist/services/agent/utils/rank-tools-by-keywords.js +65 -0
  343. package/dist/services/agent/utils/rank-tools-by-keywords.mjs +42 -0
  344. package/dist/services/app/core/app.d.ts +14 -0
  345. package/dist/services/app/core/app.js +60 -0
  346. package/dist/services/app/core/app.mjs +47 -0
  347. package/dist/{current-session-DC-SF7rl.d.mts → services/app/core/current-session.d.ts} +4 -5
  348. package/dist/services/app/core/current-session.js +124 -0
  349. package/dist/services/app/core/current-session.mjs +104 -0
  350. package/dist/services/app/core/current-user.d.ts +16 -0
  351. package/dist/services/app/core/current-user.js +84 -0
  352. package/dist/services/app/core/current-user.mjs +61 -0
  353. package/dist/services/app/core/index.d.ts +3 -60
  354. package/dist/services/app/core/index.js +26 -7
  355. package/dist/services/app/core/index.mjs +3 -1
  356. package/dist/services/app/modules/authentication/lambdas/login/index.d.ts +1 -0
  357. package/dist/services/app/modules/authentication/lambdas/login/index.js +22 -0
  358. package/dist/services/app/modules/authentication/lambdas/login/index.mjs +1 -0
  359. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.d.ts +21 -0
  360. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js +89 -0
  361. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.mjs +50 -0
  362. package/dist/services/app/modules/users/entities/index.d.ts +1 -0
  363. package/dist/services/app/modules/users/entities/index.js +22 -0
  364. package/dist/services/app/modules/users/entities/index.mjs +1 -0
  365. package/dist/services/app/modules/users/entities/user-acquisition.d.ts +12 -0
  366. package/dist/services/app/modules/users/entities/user-acquisition.js +55 -0
  367. package/dist/services/app/modules/users/entities/user-acquisition.mjs +26 -0
  368. package/dist/services/app/modules/users/entities/user-country.d.ts +11 -0
  369. package/dist/services/app/modules/users/entities/user-country.js +44 -0
  370. package/dist/services/app/modules/users/entities/user-country.mjs +21 -0
  371. package/dist/services/app/modules/users/entities/user-currency.d.ts +13 -0
  372. package/dist/services/app/modules/users/entities/user-currency.js +44 -0
  373. package/dist/services/app/modules/users/entities/user-currency.mjs +21 -0
  374. package/dist/services/app/modules/users/entities/user-email.value-object.d.ts +6 -0
  375. package/dist/services/app/modules/users/entities/user-email.value-object.js +43 -0
  376. package/dist/services/app/modules/users/entities/user-email.value-object.mjs +20 -0
  377. package/dist/services/app/modules/users/entities/user-language.d.ts +11 -0
  378. package/dist/services/app/modules/users/entities/user-language.js +44 -0
  379. package/dist/services/app/modules/users/entities/user-language.mjs +21 -0
  380. package/dist/services/app/modules/users/entities/user-marketing.d.ts +9 -0
  381. package/dist/services/app/modules/users/entities/user-marketing.js +53 -0
  382. package/dist/services/app/modules/users/entities/user-marketing.mjs +24 -0
  383. package/dist/services/app/modules/users/entities/user-notification-preferences.d.ts +11 -0
  384. package/dist/services/app/modules/users/entities/user-notification-preferences.js +41 -0
  385. package/dist/services/app/modules/users/entities/user-notification-preferences.mjs +18 -0
  386. package/dist/services/app/modules/users/entities/user-password.value-object.d.ts +8 -0
  387. package/dist/services/app/modules/users/entities/user-password.value-object.js +69 -0
  388. package/dist/services/app/modules/users/entities/user-password.value-object.mjs +36 -0
  389. package/dist/services/app/modules/users/entities/user-permissions.d.ts +21 -0
  390. package/dist/services/app/modules/users/entities/user-permissions.js +59 -0
  391. package/dist/services/app/modules/users/entities/user-permissions.mjs +36 -0
  392. package/dist/services/app/modules/users/entities/user-preferences.d.ts +25 -0
  393. package/dist/services/app/modules/users/entities/user-preferences.js +69 -0
  394. package/dist/services/app/modules/users/entities/user-preferences.mjs +46 -0
  395. package/dist/services/app/modules/users/entities/user-report-preferences.d.ts +16 -0
  396. package/dist/services/app/modules/users/entities/user-report-preferences.js +56 -0
  397. package/dist/services/app/modules/users/entities/user-report-preferences.mjs +33 -0
  398. package/dist/services/app/modules/users/entities/user-report-schedule.d.ts +11 -0
  399. package/dist/services/app/modules/users/entities/user-report-schedule.js +41 -0
  400. package/dist/services/app/modules/users/entities/user-report-schedule.mjs +18 -0
  401. package/dist/services/app/modules/users/entities/user-timezone.d.ts +11 -0
  402. package/dist/services/app/modules/users/entities/user-timezone.js +44 -0
  403. package/dist/services/app/modules/users/entities/user-timezone.mjs +21 -0
  404. package/dist/services/app/modules/users/entities/user.entity.d.ts +41 -0
  405. package/dist/services/app/modules/users/entities/user.entity.js +133 -0
  406. package/dist/services/app/modules/users/entities/user.entity.mjs +103 -0
  407. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.d.ts +14 -0
  408. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js +58 -0
  409. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.mjs +29 -0
  410. package/dist/services/app/modules/users/lambdas/create-user/index.d.ts +1 -0
  411. package/dist/services/app/modules/users/lambdas/create-user/index.js +22 -0
  412. package/dist/services/app/modules/users/lambdas/create-user/index.mjs +1 -0
  413. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.d.ts +16 -0
  414. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js +61 -0
  415. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.mjs +32 -0
  416. package/dist/services/app/modules/users/lambdas/delete-user/index.d.ts +1 -0
  417. package/dist/services/app/modules/users/lambdas/delete-user/index.js +22 -0
  418. package/dist/services/app/modules/users/lambdas/delete-user/index.mjs +1 -0
  419. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.d.ts +14 -0
  420. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js +52 -0
  421. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.mjs +23 -0
  422. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.d.ts +1 -0
  423. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js +22 -0
  424. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.mjs +1 -0
  425. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.d.ts +1 -0
  426. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js +22 -0
  427. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.mjs +1 -0
  428. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.d.ts +16 -0
  429. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js +52 -0
  430. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.mjs +23 -0
  431. package/dist/services/app/modules/users/lambdas/update-user/index.d.ts +1 -0
  432. package/dist/services/app/modules/users/lambdas/update-user/index.js +22 -0
  433. package/dist/services/app/modules/users/lambdas/update-user/index.mjs +1 -0
  434. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.d.ts +15 -0
  435. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js +62 -0
  436. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.mjs +33 -0
  437. package/dist/services/app/modules/users/repositories/index.d.ts +1 -0
  438. package/dist/services/app/modules/users/repositories/index.js +22 -0
  439. package/dist/services/app/modules/users/repositories/index.mjs +1 -0
  440. package/dist/services/app/modules/users/repositories/user.repository.d.ts +12 -0
  441. package/dist/services/app/modules/users/repositories/user.repository.js +83 -0
  442. package/dist/services/app/modules/users/repositories/user.repository.mjs +54 -0
  443. package/package.json +1 -1
  444. package/dist/agent-loop-C41Y1CGp.d.mts +0 -60
  445. package/dist/agent-loop-ZH4GRi4A.d.ts +0 -60
  446. package/dist/base.use-case-8K6_Ods0.d.mts +0 -14
  447. package/dist/base.use-case-ChEb3nh6.d.ts +0 -14
  448. package/dist/chunk-6PCVBY5G.mjs +0 -1
  449. package/dist/chunk-7WJ3XXSP.mjs +0 -7
  450. package/dist/chunk-CCRMOWMO.mjs +0 -1
  451. package/dist/chunk-ISOEJA2L.mjs +0 -1
  452. package/dist/chunk-XXB52O7H.mjs +0 -1
  453. package/dist/current-session-DC-SF7rl.d.ts +0 -130
  454. package/dist/current-user-4BppBUBP.d.mts +0 -264
  455. package/dist/current-user-4BppBUBP.d.ts +0 -264
  456. package/dist/index.d.mts +0 -10
  457. package/dist/services/agent/core/index.d.mts +0 -122
  458. package/dist/services/agent/loops/index.d.mts +0 -116
  459. package/dist/services/agent/skills/index.d.mts +0 -14
  460. package/dist/services/agent/tools/index.d.mts +0 -12
  461. package/dist/services/app/core/index.d.mts +0 -60
  462. package/dist/skill-CtYQbG6-.d.ts +0 -308
  463. package/dist/skill-DXNkK5FG.d.mts +0 -308
  464. package/dist/tool-BaG2a8Np.d.mts +0 -42
@@ -0,0 +1,327 @@
1
+ import "../../../chunk-XRJFNASX.mjs";
2
+ import "reflect-metadata";
3
+ import { container } from "tsyringe";
4
+ import { Logger } from "@common/logger";
5
+ import { CreateChatUseCase } from "@services/agent/modules/chats/lambdas/create-chat/";
6
+ import { UpdateChatUseCase } from "@services/agent/modules/chats/lambdas/update-chat/";
7
+ import { ListChatsByUserUseCase } from "@services/agent/modules/chats/lambdas/list-chats-by-user";
8
+ import { ListMcpServersByUserUseCase } from "@services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user";
9
+ import { McpServer } from "@services/agent/modules/mcp-servers/entities";
10
+ import { CreateMcpServerUseCase } from "@services/agent/modules/mcp-servers/lambdas/create-mcpserver";
11
+ import { ChatRepository } from "@services/agent/modules/chats/repositories";
12
+ import { GetLLMUsageUseCase } from "@services/agent/modules/llmcalls/lambdas/get-llm-usage";
13
+ import { Chat } from "@services/agent/modules/chats/entities/chat.entity";
14
+ import { Tool } from "@services/agent/tools/tool";
15
+ import { webSearchTool, callAiTool } from "@services/agent/tools/core";
16
+ import { rankToolsByKeywords } from "@services/agent/utils/rank-tools-by-keywords";
17
+ import { AgentStatus } from "./agent-state";
18
+ const AGENT_ERROR_CODES = {
19
+ NODE_NOT_FOUND: "AGENT_NODE_NOT_FOUND"
20
+ };
21
+ const MAX_ITERATIONS = 50;
22
+ class Agent {
23
+ updateChatUseCase = container.resolve(UpdateChatUseCase);
24
+ chatRepository = container.resolve(ChatRepository);
25
+ logger = new Logger();
26
+ _loop;
27
+ _tools;
28
+ _mcps = [];
29
+ _preHooks = [];
30
+ _postHooks = [];
31
+ currentChat;
32
+ currentUser;
33
+ currentSession;
34
+ currentMessage = "";
35
+ answerId = "";
36
+ stopLoop = false;
37
+ stopRequested = false;
38
+ pendingNextNode;
39
+ static async getChat(chatId) {
40
+ const chatRepository = container.resolve(ChatRepository);
41
+ return chatRepository.findById(chatId);
42
+ }
43
+ static async interruptExecution(chatId, currentUser) {
44
+ const updateChatUseCase = container.resolve(UpdateChatUseCase);
45
+ const logger = new Logger();
46
+ logger.debug("[AGENT] Interrupt execution triggered");
47
+ await updateChatUseCase.execute({
48
+ id: chatId,
49
+ payload: { state: { stopRequested: true } },
50
+ currentUser
51
+ });
52
+ }
53
+ static async createChatSession(currentUser, loop) {
54
+ if (!currentUser) throw new Error("[AGENT] CurrentUser is required to create a new chat");
55
+ const createChatUseCase = container.resolve(CreateChatUseCase);
56
+ const newChat = Chat.withDefaults(loop?.name);
57
+ const { data } = await createChatUseCase.execute({
58
+ payload: newChat.toJSON(),
59
+ currentUser
60
+ });
61
+ if (!data) throw new Error("[AGENT] There was an error creating the chat");
62
+ return Chat.fromJSON(data);
63
+ }
64
+ static async listUserChats(options, currentUser) {
65
+ const listChatsByUserUseCase = container.resolve(ListChatsByUserUseCase);
66
+ const { page, limit } = options || {};
67
+ const { data } = await listChatsByUserUseCase.execute({
68
+ options: { page, limit },
69
+ currentUser
70
+ });
71
+ return data;
72
+ }
73
+ static async getLLMUsage(filters, currentUser) {
74
+ const getLLMUsageUseCase = container.resolve(GetLLMUsageUseCase);
75
+ const { data } = await getLLMUsageUseCase.execute({ filters, currentUser });
76
+ return data;
77
+ }
78
+ static async listUserMcpServers(options, currentUser) {
79
+ const listMcpServersByUserUseCase = container.resolve(ListMcpServersByUserUseCase);
80
+ const { page, limit } = options || {};
81
+ const { data } = await listMcpServersByUserUseCase.execute({
82
+ options: { page, limit },
83
+ currentUser
84
+ });
85
+ return data;
86
+ }
87
+ static async createMcpServer(payload, currentUser) {
88
+ if (!currentUser) throw new Error("[AGENT] CurrentUser is required to create a new mcp server");
89
+ const createMcpServerUseCase = container.resolve(CreateMcpServerUseCase);
90
+ const { data } = await createMcpServerUseCase.execute({
91
+ payload,
92
+ currentUser
93
+ });
94
+ if (!data) throw new Error("[AGENT] There was an error creating the mcp server");
95
+ return data;
96
+ }
97
+ constructor(agentOptions) {
98
+ if (!agentOptions?.loop) throw new Error("[AGENT] An AgentLoop instance is required");
99
+ this._loop = agentOptions.loop;
100
+ this._tools = agentOptions.tools ?? [];
101
+ this.currentChat = Chat.withDefaults(this._loop.name);
102
+ }
103
+ get tools() {
104
+ return this._tools;
105
+ }
106
+ get mcps() {
107
+ return this._mcps;
108
+ }
109
+ get notifyOnCompletion() {
110
+ return this.currentChat?.settings?.notifyOnCompletion;
111
+ }
112
+ get lastAssistantAnswer() {
113
+ return this.currentChat.lastAnswer;
114
+ }
115
+ async run(input, currentUser, currentSession) {
116
+ try {
117
+ const { chatId, message } = input || {};
118
+ this.logger.debug(input, "[AGENT] Agent started");
119
+ if (!message) throw new Error("[AGENT] Message is required");
120
+ if (!currentUser) throw new Error("[AGENT] CurrentUser is required");
121
+ this.stopLoop = false;
122
+ this.stopRequested = false;
123
+ this.pendingNextNode = void 0;
124
+ this.currentUser = currentUser;
125
+ this.currentSession = currentSession;
126
+ this.currentMessage = message;
127
+ this.answerId = new (require("mongodb")).ObjectId().toString();
128
+ await this.preRunner(chatId);
129
+ await this.runLoop();
130
+ await this.postRunner();
131
+ return { data: this.currentChat };
132
+ } catch (error) {
133
+ this.currentChat.state?.setStatus(AgentStatus.FAILED);
134
+ this.currentChat.state?.setCurrentActivity("stopped");
135
+ await this.saveChat();
136
+ await this.disconnectMcpServers();
137
+ }
138
+ }
139
+ stopAgent() {
140
+ this.stopLoop = true;
141
+ }
142
+ addTool(tool) {
143
+ this._tools.push(tool);
144
+ }
145
+ addHook(type, fn) {
146
+ if (type === "pre_execution") this._preHooks.push(fn);
147
+ if (type === "post_execution") this._postHooks.push(fn);
148
+ }
149
+ async preRunner(chatId) {
150
+ let chatData;
151
+ if (chatId) {
152
+ chatData = await this.chatRepository?.findById(chatId);
153
+ }
154
+ if (!chatData) {
155
+ this.logger.debug("[AGENT] Not existing chat found");
156
+ if (!this.currentUser) throw new Error("[AGENT] CurrentUser params is required");
157
+ this.currentChat = await Agent.createChatSession(this.currentUser, this._loop);
158
+ } else {
159
+ this.logger.debug("[AGENT] Existing chat found");
160
+ this.currentChat = Chat.fromJSON(chatData);
161
+ this.currentChat.state?.setStopRequested(false);
162
+ this.currentChat.switchLoop(this._loop.name);
163
+ }
164
+ this.currentChat.pushMessage({
165
+ role: "user",
166
+ content: this.currentMessage
167
+ });
168
+ this.currentChat.state?.setStatus(AgentStatus.PROCESSING);
169
+ this.currentChat.state?.setCurrentActivity("Starting...");
170
+ await this.saveChat({ resetStop: true });
171
+ await this.loadMcpServers();
172
+ for (const hook of this._preHooks) {
173
+ await hook();
174
+ }
175
+ }
176
+ async postRunner() {
177
+ for (const hook of this._postHooks) {
178
+ await hook();
179
+ }
180
+ this.currentChat.state?.setCurrentActivity("stopped");
181
+ await this.saveChat();
182
+ await this.disconnectMcpServers();
183
+ }
184
+ async loadMcpServers() {
185
+ if (!this.currentUser) return;
186
+ const servers = await Agent.listUserMcpServers({}, this.currentUser);
187
+ for (const props of servers ?? []) {
188
+ const mcpServer = McpServer.fromJSON(props);
189
+ try {
190
+ const mcpClient = await mcpServer.connect();
191
+ const { tools: mcpTools } = await mcpClient.listTools();
192
+ const tools = mcpTools.map((mcpTool) => Tool.fromMcp(mcpTool, mcpClient, { namespace: mcpServer.name ?? "mcp" }));
193
+ this._tools.push(...tools);
194
+ this._mcps.push(mcpServer);
195
+ } catch (error) {
196
+ this.logger.error({ error, mcpServer: mcpServer.name }, "[AGENT] Failed to connect MCP server");
197
+ }
198
+ }
199
+ }
200
+ async disconnectMcpServers() {
201
+ for (const mcpServer of this._mcps) {
202
+ await mcpServer.disconnect().catch((error) => {
203
+ this.logger.error({ error, mcpServer: mcpServer.name }, "[AGENT] Failed to disconnect MCP server");
204
+ });
205
+ }
206
+ this._mcps = [];
207
+ }
208
+ async saveChat(props) {
209
+ if (this.currentChat?._id) {
210
+ this.logger.debug("[AGENT] Updating chat...");
211
+ if (!props?.resetStop) {
212
+ this.logger.debug("[Agent] Removing stopRequested");
213
+ delete this.currentChat.state?.stopRequested;
214
+ }
215
+ await this.updateChatUseCase?.execute({
216
+ id: this.currentChat?._id.toString(),
217
+ payload: this.currentChat.toJSON(),
218
+ currentUser: this.currentUser
219
+ }) ?? {};
220
+ }
221
+ }
222
+ async checkInterruptionRequest() {
223
+ const chatId = this.currentChat?._id?.toString();
224
+ const chatData = chatId && await this.chatRepository.findById(chatId, { state: 1 });
225
+ if (chatData && chatData.state?.stopRequested) this.stopRequested = true;
226
+ }
227
+ async runLoop() {
228
+ this.logger.info("[AGENT] Agent Loop started");
229
+ let iterations = 0;
230
+ while (!this.stopLoop && iterations < MAX_ITERATIONS) {
231
+ iterations++;
232
+ await this.checkInterruptionRequest();
233
+ if (this.stopRequested) {
234
+ this.stopLoop = true;
235
+ this.currentChat.state?.setStatus(AgentStatus.IDLE);
236
+ this.resetNextNode();
237
+ this.currentChat.state?.setStopRequested(false);
238
+ break;
239
+ }
240
+ const activeTask = this.currentChat.activeTask;
241
+ const nodeName = activeTask?.nextNode ?? this.pendingNextNode ?? this.resolveNodeName(this._loop.initialNode);
242
+ const nodeFn = nodeName ? this._loop.nodes[nodeName] : void 0;
243
+ if (!nodeFn) {
244
+ this.logger.error({ nodeName, loop: this._loop.name }, "[AGENT] Node not found in current loop");
245
+ this.currentChat.state?.setStatus(AgentStatus.FAILED);
246
+ this.currentChat.state?.setLastError({
247
+ code: AGENT_ERROR_CODES.NODE_NOT_FOUND,
248
+ message: `Node "${nodeName}" is not implemented by loop "${this._loop.name}"`,
249
+ isRetryable: false,
250
+ timestamp: /* @__PURE__ */ new Date()
251
+ });
252
+ this.currentChat.addTrace({ node: nodeName ?? "", reasoning: "Node not found" });
253
+ this.stopLoop = true;
254
+ break;
255
+ }
256
+ await nodeFn.call(this._loop, this.buildRunContext());
257
+ await this.saveChat();
258
+ if (!this.currentChat.state || this.currentChat.state?.status === AgentStatus.IDLE || this.currentChat.state?.status === AgentStatus.FAILED || this.currentChat.state?.status === AgentStatus.AWAITING_USER_INPUT || this.currentChat.state?.status === AgentStatus.AWAITING_USER_CONFIRMATION) {
259
+ this.stopLoop = true;
260
+ break;
261
+ }
262
+ }
263
+ this.logger.info("[AGENT] Agent Loop stopped");
264
+ }
265
+ resetNextNode() {
266
+ const resolved = this.resolveNodeName(this._loop.initialNode);
267
+ const active = this.currentChat.activeTask;
268
+ if (active) active.setNextNode(resolved);
269
+ else this.pendingNextNode = resolved;
270
+ }
271
+ resolveNodeName(node) {
272
+ if (typeof node !== "function") return node;
273
+ return Object.entries(this._loop.nodes).find(([, fn]) => fn === node)?.[0];
274
+ }
275
+ searchTools(keywords, opts) {
276
+ this.logger.debug({ opts }, "[AGENT] Searching tools");
277
+ const page = opts?.page ?? 1;
278
+ const limit = opts?.limit ?? 5;
279
+ const matchedTools = rankToolsByKeywords(keywords, this._tools);
280
+ if (matchedTools.length <= 5 && !matchedTools.some((t) => t.toolName === webSearchTool.name)) {
281
+ matchedTools.push({ toolName: webSearchTool.name, score: 0.1, matchedKeywords: [], tool: webSearchTool });
282
+ }
283
+ if (matchedTools.length <= 5 && !matchedTools.some((t) => t.toolName === callAiTool.name)) {
284
+ matchedTools.push({ toolName: callAiTool.name, score: 0.1, matchedKeywords: [], tool: callAiTool });
285
+ }
286
+ const startIndex = (page - 1) * limit;
287
+ return matchedTools.slice(startIndex, startIndex + limit);
288
+ }
289
+ buildRunContext() {
290
+ const sessionId = this.currentChat._id?.toString() ?? "";
291
+ return {
292
+ task: this.currentChat.activeTask,
293
+ chat: this.currentChat,
294
+ currentUser: this.currentUser,
295
+ currentSession: this.currentSession,
296
+ currentMessage: this.currentMessage,
297
+ answerId: this.answerId,
298
+ tools: this._tools,
299
+ searchTools: this.searchTools.bind(this),
300
+ baseParams: {
301
+ currentUser: this.currentUser,
302
+ sessionId,
303
+ answerId: this.answerId
304
+ },
305
+ skillParams: {
306
+ sessionId,
307
+ answerId: this.answerId,
308
+ userMessage: this.currentMessage,
309
+ currentUser: this.currentUser,
310
+ currentSession: this.currentSession,
311
+ chat: this.currentChat
312
+ },
313
+ reply: (content) => this.currentChat.pushMessage({ _id: this.answerId, role: "assistant", content }),
314
+ setNextNode: (node) => {
315
+ const resolved = this.resolveNodeName(node);
316
+ const active = this.currentChat.activeTask;
317
+ if (active) active.setNextNode(resolved);
318
+ else this.pendingNextNode = resolved;
319
+ },
320
+ logger: this.logger
321
+ };
322
+ }
323
+ }
324
+ export {
325
+ AGENT_ERROR_CODES,
326
+ Agent
327
+ };
@@ -1,122 +1,3 @@
1
- import { A as AgentLoop } from '../../../agent-loop-ZH4GRi4A.js';
2
- export { a as AgentLoopNode, b as Author, R as RunContext } from '../../../agent-loop-ZH4GRi4A.js';
3
- import { c as ChatProps, C as Chat } from '../../../skill-CtYQbG6-.js';
4
- export { d as AgentError, e as AgentState, f as AgentStateProps, g as AgentStatus } from '../../../skill-CtYQbG6-.js';
5
- import { C as CurrentSession } from '../../../current-session-DC-SF7rl.js';
6
- import { B as BaseEntityProps, b as BaseEntity, C as CurrentUser } from '../../../current-user-4BppBUBP.js';
7
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
8
- import { B as BaseUseCaseParams, a as BaseUseCaseOutput } from '../../../base.use-case-ChEb3nh6.js';
9
- import { T as Tool } from '../../../tool-DMR_ZdjP.js';
10
- import 'bson';
11
- import '@modelcontextprotocol/sdk/types.js';
12
-
13
- interface QueryOptions {
14
- page?: number;
15
- limit?: number;
16
- offset?: number;
17
- sortBy?: {
18
- [key: string]: 1 | -1;
19
- };
20
- aggregate?: boolean;
21
- includeDeleted?: boolean;
22
- }
23
-
24
- type McpType = 'http';
25
- interface McpServerProps extends BaseEntityProps {
26
- name?: string;
27
- url?: string;
28
- type?: McpType;
29
- headers?: Record<string, string>;
30
- }
31
- declare class McpServer extends BaseEntity {
32
- private readonly props;
33
- name?: string | undefined;
34
- url?: string | undefined;
35
- type?: McpType | undefined;
36
- headers?: Record<string, string> | undefined;
37
- mcpClient?: Client;
38
- static fromJSON(props: McpServerProps): McpServer;
39
- constructor(props: McpServerProps, name?: string | undefined, url?: string | undefined, type?: McpType | undefined, headers?: Record<string, string> | undefined);
40
- toJSON(): McpServerProps;
41
- connect(): Promise<Client>;
42
- disconnect(): Promise<void>;
43
- }
44
-
45
- interface Params extends BaseUseCaseParams {
46
- filters: {
47
- sessionId?: string;
48
- messageId?: string;
49
- fromDate?: string;
50
- toDate?: string;
51
- };
52
- }
53
- interface Output extends BaseUseCaseOutput {
54
- data: {
55
- totalTokens?: number;
56
- tokensLimit?: number;
57
- };
58
- }
59
-
60
- declare const AGENT_ERROR_CODES: {
61
- readonly NODE_NOT_FOUND: "AGENT_NODE_NOT_FOUND";
62
- };
63
- interface AgentOptions {
64
- loop: AgentLoop;
65
- tools?: Tool[];
66
- }
67
- interface Input {
68
- message: string;
69
- chatId?: string;
70
- messageId?: string;
71
- isPrivateSession?: boolean;
72
- }
73
- type HookType = 'pre_execution' | 'post_execution';
74
- declare class Agent {
75
- private readonly updateChatUseCase;
76
- private readonly chatRepository;
77
- private readonly logger;
78
- private readonly _loop;
79
- private _tools;
80
- private _mcps;
81
- private _preHooks;
82
- private _postHooks;
83
- private currentChat;
84
- private currentUser?;
85
- private currentSession?;
86
- private currentMessage;
87
- private answerId;
88
- private stopLoop;
89
- private stopRequested;
90
- private pendingNextNode?;
91
- static getChat(chatId: string): Promise<ChatProps | null>;
92
- static interruptExecution(chatId: string, currentUser: CurrentUser): Promise<void>;
93
- static createChatSession(currentUser: CurrentUser, loop?: AgentLoop): Promise<Chat>;
94
- static listUserChats(options: QueryOptions, currentUser: CurrentUser): Promise<ChatProps[] | null>;
95
- static getLLMUsage(filters: Params['filters'], currentUser: CurrentUser): Promise<Output['data']>;
96
- static listUserMcpServers(options: QueryOptions, currentUser: CurrentUser): Promise<McpServerProps[] | null>;
97
- static createMcpServer(payload: McpServerProps, currentUser: CurrentUser): Promise<McpServerProps>;
98
- constructor(agentOptions: AgentOptions);
99
- get tools(): Tool[];
100
- get mcps(): McpServer[];
101
- get notifyOnCompletion(): boolean | undefined;
102
- get lastAssistantAnswer(): string | undefined;
103
- run(input: Input, currentUser: CurrentUser, currentSession?: CurrentSession): Promise<{
104
- data: Chat;
105
- } | undefined>;
106
- stopAgent(): void;
107
- addTool(tool: Tool): void;
108
- addHook(type: HookType, fn: Function): void;
109
- private preRunner;
110
- private postRunner;
111
- private loadMcpServers;
112
- private disconnectMcpServers;
113
- private saveChat;
114
- private checkInterruptionRequest;
115
- private runLoop;
116
- private resetNextNode;
117
- private resolveNodeName;
118
- private searchTools;
119
- private buildRunContext;
120
- }
121
-
122
- export { AGENT_ERROR_CODES, Agent, AgentLoop, type AgentOptions };
1
+ export * from './agent-loop';
2
+ export * from './agent-state';
3
+ export * from './agent';