openloops 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-XRJFNASX.mjs +14 -0
- package/dist/common/clients/index.js +26 -0
- package/dist/common/clients/index.mjs +3 -0
- package/dist/common/clients/llm-client.js +159 -0
- package/dist/common/clients/llm-client.mjs +126 -0
- package/dist/common/clients/sentry-client.js +87 -0
- package/dist/common/clients/sentry-client.mjs +53 -0
- package/dist/common/clients/serper-client.js +74 -0
- package/dist/common/clients/serper-client.mjs +41 -0
- package/dist/common/core/base.app.js +57 -0
- package/dist/common/core/base.app.mjs +34 -0
- package/dist/common/core/base.entity.js +208 -0
- package/dist/common/core/base.entity.mjs +179 -0
- package/dist/common/core/base.use-case.js +30 -0
- package/dist/common/core/base.use-case.mjs +7 -0
- package/dist/common/core/index.js +1 -0
- package/dist/common/core/index.mjs +0 -0
- package/dist/common/core/utils/delete-empty-fields.js +66 -0
- package/dist/common/core/utils/delete-empty-fields.mjs +43 -0
- package/dist/common/core/utils/flatten-object.js +45 -0
- package/dist/common/core/utils/flatten-object.mjs +22 -0
- package/dist/common/core/utils/index.js +26 -0
- package/dist/common/core/utils/index.mjs +3 -0
- package/dist/common/core/utils/is-plain-object.js +32 -0
- package/dist/common/core/utils/is-plain-object.mjs +9 -0
- package/dist/common/decorators/admin-only/admin-only.js +52 -0
- package/dist/common/decorators/admin-only/admin-only.mjs +28 -0
- package/dist/common/decorators/admin-only/index.js +22 -0
- package/dist/common/decorators/admin-only/index.mjs +1 -0
- package/dist/common/decorators/index.js +26 -0
- package/dist/common/decorators/index.mjs +3 -0
- package/dist/common/decorators/mask-in-logs/index.js +22 -0
- package/dist/common/decorators/mask-in-logs/index.mjs +1 -0
- package/dist/common/decorators/mask-in-logs/mask-in-logs.js +53 -0
- package/dist/common/decorators/mask-in-logs/mask-in-logs.mjs +29 -0
- package/dist/common/decorators/owner-only/index.js +22 -0
- package/dist/common/decorators/owner-only/index.mjs +1 -0
- package/dist/common/decorators/owner-only/owner-only.js +52 -0
- package/dist/common/decorators/owner-only/owner-only.mjs +28 -0
- package/dist/common/error/http-error.js +37 -0
- package/dist/common/error/http-error.mjs +14 -0
- package/dist/common/error/index.js +24 -0
- package/dist/common/error/index.mjs +2 -0
- package/dist/common/error/reportError.js +51 -0
- package/dist/common/error/reportError.mjs +28 -0
- package/dist/common/helpers/extract-json-from-text.js +63 -0
- package/dist/common/helpers/extract-json-from-text.mjs +40 -0
- package/dist/common/helpers/index.js +24 -0
- package/dist/common/helpers/index.mjs +2 -0
- package/dist/common/helpers/sanitize-string.js +45 -0
- package/dist/common/helpers/sanitize-string.mjs +12 -0
- package/dist/common/logger/index.js +22 -0
- package/dist/common/logger/index.mjs +1 -0
- package/dist/common/logger/pino.js +70 -0
- package/dist/common/logger/pino.mjs +36 -0
- package/dist/common/repositories/index.js +24 -0
- package/dist/common/repositories/index.mjs +2 -0
- package/dist/common/repositories/mongo-db.client.js +79 -0
- package/dist/common/repositories/mongo-db.client.mjs +57 -0
- package/dist/common/repositories/mongo-db.repository.js +219 -0
- package/dist/common/repositories/mongo-db.repository.mjs +196 -0
- package/dist/common/utils/secret-manager.js +105 -0
- package/dist/common/utils/secret-manager.mjs +71 -0
- package/dist/index.js +22 -7
- package/dist/index.mjs +1 -7
- package/dist/services/agent/core/agent-loop.js +29 -0
- package/dist/services/agent/core/agent-loop.mjs +6 -0
- package/dist/services/agent/core/agent-state.js +102 -0
- package/dist/services/agent/core/agent-state.mjs +78 -0
- package/dist/services/agent/core/agent.js +351 -0
- package/dist/services/agent/core/agent.mjs +327 -0
- package/dist/services/agent/core/index.js +26 -0
- package/dist/services/agent/core/index.mjs +3 -0
- package/dist/services/agent/loops/index.js +24 -0
- package/dist/services/agent/loops/index.mjs +2 -0
- package/dist/services/agent/loops/plan-execute/index.js +22 -0
- package/dist/services/agent/loops/plan-execute/index.mjs +1 -0
- package/dist/services/agent/loops/plan-execute/plan-execute-loop.js +242 -0
- package/dist/services/agent/loops/plan-execute/plan-execute-loop.mjs +226 -0
- package/dist/services/agent/loops/shared/index.js +22 -0
- package/dist/services/agent/loops/shared/index.mjs +1 -0
- package/dist/services/agent/loops/shared/skills/action-planner.js +68 -0
- package/dist/services/agent/loops/shared/skills/action-planner.mjs +45 -0
- package/dist/services/agent/loops/shared/skills/confirmation-gate.js +53 -0
- package/dist/services/agent/loops/shared/skills/confirmation-gate.mjs +30 -0
- package/dist/services/agent/loops/shared/skills/fast-responder.js +70 -0
- package/dist/services/agent/loops/shared/skills/fast-responder.mjs +47 -0
- package/dist/services/agent/loops/shared/skills/final-responder.js +57 -0
- package/dist/services/agent/loops/shared/skills/final-responder.mjs +34 -0
- package/dist/services/agent/loops/shared/skills/index.js +32 -0
- package/dist/services/agent/loops/shared/skills/index.mjs +6 -0
- package/dist/services/agent/loops/shared/skills/state-observer.js +57 -0
- package/dist/services/agent/loops/shared/skills/state-observer.mjs +34 -0
- package/dist/services/agent/loops/shared/skills/strategy-engine.js +60 -0
- package/dist/services/agent/loops/shared/skills/strategy-engine.mjs +37 -0
- package/dist/services/agent/modules/chats/entities/agent-action.entity.js +151 -0
- package/dist/services/agent/modules/chats/entities/agent-action.entity.mjs +128 -0
- package/dist/services/agent/modules/chats/entities/agent-task.entity.js +231 -0
- package/dist/services/agent/modules/chats/entities/agent-task.entity.mjs +207 -0
- package/dist/services/agent/modules/chats/entities/chat-context.entity.js +70 -0
- package/dist/services/agent/modules/chats/entities/chat-context.entity.mjs +47 -0
- package/dist/services/agent/modules/chats/entities/chat-message.entity.js +58 -0
- package/dist/services/agent/modules/chats/entities/chat-message.entity.mjs +35 -0
- package/dist/services/agent/modules/chats/entities/chat-settings.entity.js +63 -0
- package/dist/services/agent/modules/chats/entities/chat-settings.entity.mjs +40 -0
- package/dist/services/agent/modules/chats/entities/chat.entity.js +163 -0
- package/dist/services/agent/modules/chats/entities/chat.entity.mjs +140 -0
- package/dist/services/agent/modules/chats/entities/index.js +22 -0
- package/dist/services/agent/modules/chats/entities/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js +56 -0
- package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.mjs +27 -0
- package/dist/services/agent/modules/chats/lambdas/create-chat/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/create-chat/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js +61 -0
- package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.mjs +32 -0
- package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/delete-chat/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js +52 -0
- package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.mjs +23 -0
- package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js +64 -0
- package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.mjs +35 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js +52 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.mjs +23 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js +59 -0
- package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.mjs +30 -0
- package/dist/services/agent/modules/chats/lambdas/update-chat/index.js +22 -0
- package/dist/services/agent/modules/chats/lambdas/update-chat/index.mjs +1 -0
- package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js +64 -0
- package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.mjs +35 -0
- package/dist/services/agent/modules/chats/repositories/chat.repository.js +67 -0
- package/dist/services/agent/modules/chats/repositories/chat.repository.mjs +38 -0
- package/dist/services/agent/modules/chats/repositories/index.js +22 -0
- package/dist/services/agent/modules/chats/repositories/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/entities/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/entities/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js +71 -0
- package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.mjs +48 -0
- package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js +56 -0
- package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.mjs +27 -0
- package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js +61 -0
- package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.mjs +32 -0
- package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js +123 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.mjs +94 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js +52 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.mjs +23 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js +52 -0
- package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.mjs +23 -0
- package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js +62 -0
- package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.mjs +33 -0
- package/dist/services/agent/modules/llmcalls/repositories/index.js +22 -0
- package/dist/services/agent/modules/llmcalls/repositories/index.mjs +1 -0
- package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js +67 -0
- package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.mjs +38 -0
- package/dist/services/agent/modules/mcp-servers/entities/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/entities/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js +79 -0
- package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.mjs +56 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js +56 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.mjs +27 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js +61 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.mjs +32 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js +52 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.mjs +23 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js +59 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.mjs +30 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js +61 -0
- package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.mjs +32 -0
- package/dist/services/agent/modules/mcp-servers/repositories/index.js +22 -0
- package/dist/services/agent/modules/mcp-servers/repositories/index.mjs +1 -0
- package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js +67 -0
- package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.mjs +38 -0
- package/dist/services/agent/skills/index.js +24 -0
- package/dist/services/agent/skills/index.mjs +2 -0
- package/dist/services/agent/skills/shared/index.js +22 -0
- package/dist/services/agent/skills/shared/index.mjs +1 -0
- package/dist/services/agent/skills/shared/shared-rules.js +37 -0
- package/dist/services/agent/skills/shared/shared-rules.mjs +11 -0
- package/dist/services/agent/skills/skill-runner.js +121 -0
- package/dist/services/agent/skills/skill-runner.mjs +92 -0
- package/dist/services/agent/skills/skill.js +128 -0
- package/dist/services/agent/skills/skill.mjs +105 -0
- package/dist/services/agent/tools/core/call-ai/call-ai.skill.js +54 -0
- package/dist/services/agent/tools/core/call-ai/call-ai.skill.mjs +31 -0
- package/dist/services/agent/tools/core/call-ai/call-ai.tool.js +68 -0
- package/dist/services/agent/tools/core/call-ai/call-ai.tool.mjs +45 -0
- package/dist/services/agent/tools/core/call-ai/index.js +22 -0
- package/dist/services/agent/tools/core/call-ai/index.mjs +1 -0
- package/dist/services/agent/tools/core/index.js +24 -0
- package/dist/services/agent/tools/core/index.mjs +2 -0
- package/dist/services/agent/tools/core/web-search/index.js +22 -0
- package/dist/services/agent/tools/core/web-search/index.mjs +1 -0
- package/dist/services/agent/tools/core/web-search/web-search.tool.js +51 -0
- package/dist/services/agent/tools/core/web-search/web-search.tool.mjs +30 -0
- package/dist/services/agent/tools/index.js +24 -0
- package/dist/services/agent/tools/index.mjs +2 -0
- package/dist/services/agent/tools/tool.js +57 -0
- package/dist/services/agent/tools/tool.mjs +34 -0
- package/dist/services/agent/utils/rank-tools-by-keywords.js +65 -0
- package/dist/services/agent/utils/rank-tools-by-keywords.mjs +42 -0
- package/dist/services/app/core/app.js +60 -0
- package/dist/services/app/core/app.mjs +47 -0
- package/dist/services/app/core/current-session.js +124 -0
- package/dist/services/app/core/current-session.mjs +104 -0
- package/dist/services/app/core/current-user.js +84 -0
- package/dist/services/app/core/current-user.mjs +61 -0
- package/dist/services/app/core/index.js +26 -0
- package/dist/services/app/core/index.mjs +3 -0
- package/dist/services/app/modules/authentication/lambdas/login/index.js +22 -0
- package/dist/services/app/modules/authentication/lambdas/login/index.mjs +1 -0
- package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js +89 -0
- package/dist/services/app/modules/authentication/lambdas/login/login.use-case.mjs +50 -0
- package/dist/services/app/modules/users/entities/index.js +22 -0
- package/dist/services/app/modules/users/entities/index.mjs +1 -0
- package/dist/services/app/modules/users/entities/user-acquisition.js +55 -0
- package/dist/services/app/modules/users/entities/user-acquisition.mjs +26 -0
- package/dist/services/app/modules/users/entities/user-country.js +44 -0
- package/dist/services/app/modules/users/entities/user-country.mjs +21 -0
- package/dist/services/app/modules/users/entities/user-currency.js +44 -0
- package/dist/services/app/modules/users/entities/user-currency.mjs +21 -0
- package/dist/services/app/modules/users/entities/user-email.value-object.js +43 -0
- package/dist/services/app/modules/users/entities/user-email.value-object.mjs +20 -0
- package/dist/services/app/modules/users/entities/user-language.js +44 -0
- package/dist/services/app/modules/users/entities/user-language.mjs +21 -0
- package/dist/services/app/modules/users/entities/user-marketing.js +53 -0
- package/dist/services/app/modules/users/entities/user-marketing.mjs +24 -0
- package/dist/services/app/modules/users/entities/user-notification-preferences.js +41 -0
- package/dist/services/app/modules/users/entities/user-notification-preferences.mjs +18 -0
- package/dist/services/app/modules/users/entities/user-password.value-object.js +69 -0
- package/dist/services/app/modules/users/entities/user-password.value-object.mjs +36 -0
- package/dist/services/app/modules/users/entities/user-permissions.js +59 -0
- package/dist/services/app/modules/users/entities/user-permissions.mjs +36 -0
- package/dist/services/app/modules/users/entities/user-preferences.js +69 -0
- package/dist/services/app/modules/users/entities/user-preferences.mjs +46 -0
- package/dist/services/app/modules/users/entities/user-report-preferences.js +56 -0
- package/dist/services/app/modules/users/entities/user-report-preferences.mjs +33 -0
- package/dist/services/app/modules/users/entities/user-report-schedule.js +41 -0
- package/dist/services/app/modules/users/entities/user-report-schedule.mjs +18 -0
- package/dist/services/app/modules/users/entities/user-timezone.js +44 -0
- package/dist/services/app/modules/users/entities/user-timezone.mjs +21 -0
- package/dist/services/app/modules/users/entities/user.entity.js +133 -0
- package/dist/services/app/modules/users/entities/user.entity.mjs +103 -0
- package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js +58 -0
- package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.mjs +29 -0
- package/dist/services/app/modules/users/lambdas/create-user/index.js +22 -0
- package/dist/services/app/modules/users/lambdas/create-user/index.mjs +1 -0
- package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js +61 -0
- package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.mjs +32 -0
- package/dist/services/app/modules/users/lambdas/delete-user/index.js +22 -0
- package/dist/services/app/modules/users/lambdas/delete-user/index.mjs +1 -0
- package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js +52 -0
- package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.mjs +23 -0
- package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js +22 -0
- package/dist/services/app/modules/users/lambdas/get-user-by-id/index.mjs +1 -0
- package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js +22 -0
- package/dist/services/app/modules/users/lambdas/list-users-by-props/index.mjs +1 -0
- package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js +52 -0
- package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.mjs +23 -0
- package/dist/services/app/modules/users/lambdas/update-user/index.js +22 -0
- package/dist/services/app/modules/users/lambdas/update-user/index.mjs +1 -0
- package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js +62 -0
- package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.mjs +33 -0
- package/dist/services/app/modules/users/repositories/index.js +22 -0
- package/dist/services/app/modules/users/repositories/index.mjs +1 -0
- package/dist/services/app/modules/users/repositories/user.repository.js +83 -0
- package/dist/services/app/modules/users/repositories/user.repository.mjs +54 -0
- package/package.json +2 -2
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import "../../../../../chunk-XRJFNASX.mjs";
|
|
2
|
+
import { ObjectId } from "mongodb";
|
|
3
|
+
import { BaseEntity } from "@common/core/base.entity";
|
|
4
|
+
import { AgentAction } from "./agent-action.entity";
|
|
5
|
+
var TaskStatus = /* @__PURE__ */ ((TaskStatus2) => {
|
|
6
|
+
TaskStatus2["PENDING"] = "pending";
|
|
7
|
+
TaskStatus2["IN_PROGRESS"] = "in_progress";
|
|
8
|
+
TaskStatus2["AWAITING_USER"] = "awaiting_user";
|
|
9
|
+
TaskStatus2["COMPLETED"] = "completed";
|
|
10
|
+
TaskStatus2["PAUSED"] = "paused";
|
|
11
|
+
TaskStatus2["ABANDONED"] = "abandoned";
|
|
12
|
+
TaskStatus2["CANCELLED"] = "cancelled";
|
|
13
|
+
TaskStatus2["FAILED"] = "failed";
|
|
14
|
+
return TaskStatus2;
|
|
15
|
+
})(TaskStatus || {});
|
|
16
|
+
const STEP_REF = /^\{\{step_([\w-]+)\.output\}\}$/;
|
|
17
|
+
const STEP_REF_GLOBAL = /\{\{step_([\w-]+)\.output\}\}/g;
|
|
18
|
+
const CONTEXT_REF = /^\{\{context\.([\w.-]+)\}\}$/;
|
|
19
|
+
const CONTEXT_REF_GLOBAL = /\{\{context\.([\w.-]+)\}\}/g;
|
|
20
|
+
function stringifyValue(value) {
|
|
21
|
+
return typeof value === "object" ? JSON.stringify(value) : String(value);
|
|
22
|
+
}
|
|
23
|
+
class AgentTask extends BaseEntity {
|
|
24
|
+
constructor(props, status, goal, nextNode, threadId, previousTaskId, summary, loopName, actions = []) {
|
|
25
|
+
super(props);
|
|
26
|
+
this.props = props;
|
|
27
|
+
this.status = status;
|
|
28
|
+
this.goal = goal;
|
|
29
|
+
this.nextNode = nextNode;
|
|
30
|
+
this.threadId = threadId;
|
|
31
|
+
this.previousTaskId = previousTaskId;
|
|
32
|
+
this.summary = summary;
|
|
33
|
+
this.loopName = loopName;
|
|
34
|
+
this.actions = actions;
|
|
35
|
+
}
|
|
36
|
+
props;
|
|
37
|
+
status;
|
|
38
|
+
goal;
|
|
39
|
+
nextNode;
|
|
40
|
+
threadId;
|
|
41
|
+
previousTaskId;
|
|
42
|
+
summary;
|
|
43
|
+
loopName;
|
|
44
|
+
actions;
|
|
45
|
+
static factory(task) {
|
|
46
|
+
const taskId = task._id && ObjectId.isValid(task._id) ? new ObjectId(task._id) : new ObjectId();
|
|
47
|
+
return AgentTask.fromJSON({
|
|
48
|
+
...task,
|
|
49
|
+
_id: taskId,
|
|
50
|
+
status: task.status ?? "in_progress" /* IN_PROGRESS */
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
static fromJSON(props) {
|
|
54
|
+
return new AgentTask(
|
|
55
|
+
props,
|
|
56
|
+
props.status,
|
|
57
|
+
props.goal,
|
|
58
|
+
props.nextNode,
|
|
59
|
+
props.threadId,
|
|
60
|
+
props.previousTaskId,
|
|
61
|
+
props.summary,
|
|
62
|
+
props.loopName,
|
|
63
|
+
props.actions?.map((a) => AgentAction.factory(a)) ?? []
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
toJSON() {
|
|
67
|
+
return {
|
|
68
|
+
...super.toJSON(),
|
|
69
|
+
status: this.status,
|
|
70
|
+
goal: this.goal,
|
|
71
|
+
nextNode: this.nextNode,
|
|
72
|
+
threadId: this.threadId,
|
|
73
|
+
previousTaskId: this.previousTaskId,
|
|
74
|
+
summary: this.summary,
|
|
75
|
+
loopName: this.loopName,
|
|
76
|
+
actions: this.actions.map((a) => a.toJSON())
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
get id() {
|
|
80
|
+
return this._id.toString();
|
|
81
|
+
}
|
|
82
|
+
addAction(descriptor) {
|
|
83
|
+
const action = AgentAction.factory({
|
|
84
|
+
name: descriptor.name,
|
|
85
|
+
stepId: descriptor.stepId,
|
|
86
|
+
args: descriptor.args,
|
|
87
|
+
dependsOn: descriptor.dependsOn,
|
|
88
|
+
reasoning: descriptor.reasoning,
|
|
89
|
+
author: descriptor.author
|
|
90
|
+
});
|
|
91
|
+
this.actions.push(action);
|
|
92
|
+
return action;
|
|
93
|
+
}
|
|
94
|
+
getAction(ref) {
|
|
95
|
+
return this.actions.find((a) => a.id === ref || a.stepId === ref);
|
|
96
|
+
}
|
|
97
|
+
findLastByName(name) {
|
|
98
|
+
return this.actions.slice().reverse().find((a) => a.name === name);
|
|
99
|
+
}
|
|
100
|
+
/** Actions en `pending` cuyas dependencias (por stepId o id) ya están `completed` */
|
|
101
|
+
get readyActions() {
|
|
102
|
+
const completedRefs = new Set(
|
|
103
|
+
this.actions.filter((a) => a.status === "completed").flatMap((a) => [a.id, a.stepId].filter(Boolean))
|
|
104
|
+
);
|
|
105
|
+
return this.actions.filter((a) => a.isReady && a.dependenciesSatisfiedBy(completedRefs));
|
|
106
|
+
}
|
|
107
|
+
get failedActions() {
|
|
108
|
+
return this.actions.filter((a) => a.status === "failed");
|
|
109
|
+
}
|
|
110
|
+
get lastExecutedAction() {
|
|
111
|
+
return this.actions.slice().reverse().find((a) => a.isTerminal);
|
|
112
|
+
}
|
|
113
|
+
setNextNode(node) {
|
|
114
|
+
this.nextNode = node;
|
|
115
|
+
}
|
|
116
|
+
complete(summary) {
|
|
117
|
+
this.status = "completed" /* COMPLETED */;
|
|
118
|
+
if (summary) this.summary = summary;
|
|
119
|
+
this.nextNode = void 0;
|
|
120
|
+
}
|
|
121
|
+
fail() {
|
|
122
|
+
this.status = "failed" /* FAILED */;
|
|
123
|
+
this.nextNode = void 0;
|
|
124
|
+
}
|
|
125
|
+
cancel() {
|
|
126
|
+
this.status = "cancelled" /* CANCELLED */;
|
|
127
|
+
this.nextNode = void 0;
|
|
128
|
+
}
|
|
129
|
+
pause() {
|
|
130
|
+
if (this.status === "in_progress" /* IN_PROGRESS */ || this.status === "awaiting_user" /* AWAITING_USER */) {
|
|
131
|
+
this.status = "paused" /* PAUSED */;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
reopen() {
|
|
135
|
+
this.status = "in_progress" /* IN_PROGRESS */;
|
|
136
|
+
this.nextNode = void 0;
|
|
137
|
+
}
|
|
138
|
+
resolveArgs(action, context) {
|
|
139
|
+
return this.resolveValue(action.args, context);
|
|
140
|
+
}
|
|
141
|
+
resolveValue(value, context) {
|
|
142
|
+
if (typeof value === "string") {
|
|
143
|
+
const stepMatch = value.match(STEP_REF);
|
|
144
|
+
if (stepMatch) {
|
|
145
|
+
const target = this.findActionByRef(stepMatch[1]);
|
|
146
|
+
return target?.output !== void 0 ? target.output : value;
|
|
147
|
+
}
|
|
148
|
+
const contextMatch = value.match(CONTEXT_REF);
|
|
149
|
+
if (contextMatch) {
|
|
150
|
+
const resolved = this.readContextValue(contextMatch[1], context);
|
|
151
|
+
return resolved !== void 0 ? resolved : value;
|
|
152
|
+
}
|
|
153
|
+
return value.replace(STEP_REF_GLOBAL, (_, ref) => {
|
|
154
|
+
const target = this.findActionByRef(ref);
|
|
155
|
+
return target?.output !== void 0 ? stringifyValue(target.output) : "";
|
|
156
|
+
}).replace(CONTEXT_REF_GLOBAL, (_, name) => {
|
|
157
|
+
const resolved = this.readContextValue(name, context);
|
|
158
|
+
return resolved !== void 0 ? stringifyValue(resolved) : "";
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (Array.isArray(value)) {
|
|
162
|
+
return value.map((item) => this.resolveValue(item, context));
|
|
163
|
+
}
|
|
164
|
+
if (value !== null && typeof value === "object") {
|
|
165
|
+
const resolved = {};
|
|
166
|
+
for (const key of Object.keys(value)) {
|
|
167
|
+
resolved[key] = this.resolveValue(value[key], context);
|
|
168
|
+
}
|
|
169
|
+
return resolved;
|
|
170
|
+
}
|
|
171
|
+
return value;
|
|
172
|
+
}
|
|
173
|
+
findActionByRef(ref) {
|
|
174
|
+
return this.actions.find((a) => a.stepId === ref || a.id === ref);
|
|
175
|
+
}
|
|
176
|
+
readContextValue(name, context) {
|
|
177
|
+
const matches = context.selectContext({ taskId: this.id, name });
|
|
178
|
+
return matches?.[0]?.content;
|
|
179
|
+
}
|
|
180
|
+
/** Crea una action nueva y la corre de inmediato (estilo reactivo) */
|
|
181
|
+
async runTool(descriptor, tool, context, baseParams) {
|
|
182
|
+
const action = this.addAction(descriptor);
|
|
183
|
+
return this.executeToolAction(action, tool, context, baseParams);
|
|
184
|
+
}
|
|
185
|
+
/** Corre una action ya encolada (estilo por lotes: actionPlanner encola, esto ejecuta cuando está `ready`) */
|
|
186
|
+
async runReadyAction(actionRef, tool, context, baseParams) {
|
|
187
|
+
const action = this.getAction(actionRef);
|
|
188
|
+
if (!action) throw new Error(`[AgentTask] Action "${actionRef}" not found`);
|
|
189
|
+
return this.executeToolAction(action, tool, context, baseParams);
|
|
190
|
+
}
|
|
191
|
+
async executeToolAction(action, tool, context, baseParams) {
|
|
192
|
+
const resolvedArgs = this.resolveArgs(action, context);
|
|
193
|
+
const executed = await action.runTool(tool, resolvedArgs, baseParams);
|
|
194
|
+
if (executed.status === "completed" && executed.name) {
|
|
195
|
+
context.addContext({
|
|
196
|
+
taskId: this.id,
|
|
197
|
+
meta: { name: executed.name, type: "tool_output", shortDescription: `Output of ${executed.name}` },
|
|
198
|
+
content: executed.output
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
return executed;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export {
|
|
205
|
+
AgentTask,
|
|
206
|
+
TaskStatus
|
|
207
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chat_context_entity_exports = {};
|
|
20
|
+
__export(chat_context_entity_exports, {
|
|
21
|
+
ChatContext: () => ChatContext
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chat_context_entity_exports);
|
|
24
|
+
class ChatContext {
|
|
25
|
+
constructor(props, items) {
|
|
26
|
+
this.props = props;
|
|
27
|
+
this.items = items;
|
|
28
|
+
}
|
|
29
|
+
props;
|
|
30
|
+
items;
|
|
31
|
+
MEMORY_CONTEXT_MAX_CHARS = 1e4;
|
|
32
|
+
static fromJSON(props) {
|
|
33
|
+
return new ChatContext(
|
|
34
|
+
props,
|
|
35
|
+
props.items
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
get length() {
|
|
39
|
+
return this.items ? JSON.stringify(this.items).length : 0;
|
|
40
|
+
}
|
|
41
|
+
get allMeta() {
|
|
42
|
+
return this.items?.map((item) => item.meta);
|
|
43
|
+
}
|
|
44
|
+
toJSON() {
|
|
45
|
+
return {
|
|
46
|
+
items: this.items
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
addContext(contextRecord) {
|
|
50
|
+
this.items ??= [];
|
|
51
|
+
this.items.push(contextRecord);
|
|
52
|
+
}
|
|
53
|
+
selectContext(filters) {
|
|
54
|
+
return this.items?.filter((item) => {
|
|
55
|
+
return (filters.taskId === void 0 || item.taskId === filters.taskId) && (filters.name === void 0 || item.meta.name === filters.name);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
lastContext(filters) {
|
|
59
|
+
const matches = this.selectContext(filters);
|
|
60
|
+
return matches?.[matches.length - 1];
|
|
61
|
+
}
|
|
62
|
+
compress() {
|
|
63
|
+
}
|
|
64
|
+
pruneContext() {
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
+
0 && (module.exports = {
|
|
69
|
+
ChatContext
|
|
70
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import "../../../../../chunk-XRJFNASX.mjs";
|
|
2
|
+
class ChatContext {
|
|
3
|
+
constructor(props, items) {
|
|
4
|
+
this.props = props;
|
|
5
|
+
this.items = items;
|
|
6
|
+
}
|
|
7
|
+
props;
|
|
8
|
+
items;
|
|
9
|
+
MEMORY_CONTEXT_MAX_CHARS = 1e4;
|
|
10
|
+
static fromJSON(props) {
|
|
11
|
+
return new ChatContext(
|
|
12
|
+
props,
|
|
13
|
+
props.items
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
get length() {
|
|
17
|
+
return this.items ? JSON.stringify(this.items).length : 0;
|
|
18
|
+
}
|
|
19
|
+
get allMeta() {
|
|
20
|
+
return this.items?.map((item) => item.meta);
|
|
21
|
+
}
|
|
22
|
+
toJSON() {
|
|
23
|
+
return {
|
|
24
|
+
items: this.items
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
addContext(contextRecord) {
|
|
28
|
+
this.items ??= [];
|
|
29
|
+
this.items.push(contextRecord);
|
|
30
|
+
}
|
|
31
|
+
selectContext(filters) {
|
|
32
|
+
return this.items?.filter((item) => {
|
|
33
|
+
return (filters.taskId === void 0 || item.taskId === filters.taskId) && (filters.name === void 0 || item.meta.name === filters.name);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
lastContext(filters) {
|
|
37
|
+
const matches = this.selectContext(filters);
|
|
38
|
+
return matches?.[matches.length - 1];
|
|
39
|
+
}
|
|
40
|
+
compress() {
|
|
41
|
+
}
|
|
42
|
+
pruneContext() {
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
ChatContext
|
|
47
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chat_message_entity_exports = {};
|
|
20
|
+
__export(chat_message_entity_exports, {
|
|
21
|
+
ChatMessage: () => ChatMessage
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chat_message_entity_exports);
|
|
24
|
+
var import_mongodb = require("mongodb");
|
|
25
|
+
var import_base = require("@common/core/base.entity");
|
|
26
|
+
class ChatMessage extends import_base.BaseEntity {
|
|
27
|
+
constructor(props, role, content) {
|
|
28
|
+
super(props);
|
|
29
|
+
this.props = props;
|
|
30
|
+
this.role = role;
|
|
31
|
+
this.content = content;
|
|
32
|
+
}
|
|
33
|
+
props;
|
|
34
|
+
role;
|
|
35
|
+
content;
|
|
36
|
+
static factory(message) {
|
|
37
|
+
const messageId = message._id && import_mongodb.ObjectId.isValid(message._id) ? new import_mongodb.ObjectId(message._id) : new import_mongodb.ObjectId();
|
|
38
|
+
return ChatMessage.fromJSON({ ...message, _id: messageId });
|
|
39
|
+
}
|
|
40
|
+
static fromJSON(props) {
|
|
41
|
+
return new ChatMessage(
|
|
42
|
+
props,
|
|
43
|
+
props.role,
|
|
44
|
+
props.content
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
toJSON() {
|
|
48
|
+
return {
|
|
49
|
+
...super.toJSON(),
|
|
50
|
+
role: this.role,
|
|
51
|
+
content: this.content
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
ChatMessage
|
|
58
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "../../../../../chunk-XRJFNASX.mjs";
|
|
2
|
+
import { ObjectId } from "mongodb";
|
|
3
|
+
import { BaseEntity } from "@common/core/base.entity";
|
|
4
|
+
class ChatMessage extends BaseEntity {
|
|
5
|
+
constructor(props, role, content) {
|
|
6
|
+
super(props);
|
|
7
|
+
this.props = props;
|
|
8
|
+
this.role = role;
|
|
9
|
+
this.content = content;
|
|
10
|
+
}
|
|
11
|
+
props;
|
|
12
|
+
role;
|
|
13
|
+
content;
|
|
14
|
+
static factory(message) {
|
|
15
|
+
const messageId = message._id && ObjectId.isValid(message._id) ? new ObjectId(message._id) : new ObjectId();
|
|
16
|
+
return ChatMessage.fromJSON({ ...message, _id: messageId });
|
|
17
|
+
}
|
|
18
|
+
static fromJSON(props) {
|
|
19
|
+
return new ChatMessage(
|
|
20
|
+
props,
|
|
21
|
+
props.role,
|
|
22
|
+
props.content
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
toJSON() {
|
|
26
|
+
return {
|
|
27
|
+
...super.toJSON(),
|
|
28
|
+
role: this.role,
|
|
29
|
+
content: this.content
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
ChatMessage
|
|
35
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chat_settings_entity_exports = {};
|
|
20
|
+
__export(chat_settings_entity_exports, {
|
|
21
|
+
ChatSettings: () => ChatSettings
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chat_settings_entity_exports);
|
|
24
|
+
class ChatSettings {
|
|
25
|
+
constructor(props, notifyOnCompletion, modelName, loopName) {
|
|
26
|
+
this.props = props;
|
|
27
|
+
this.notifyOnCompletion = notifyOnCompletion;
|
|
28
|
+
this.modelName = modelName;
|
|
29
|
+
this.loopName = loopName;
|
|
30
|
+
}
|
|
31
|
+
props;
|
|
32
|
+
notifyOnCompletion;
|
|
33
|
+
modelName;
|
|
34
|
+
loopName;
|
|
35
|
+
static fromJSON(props) {
|
|
36
|
+
return new ChatSettings(
|
|
37
|
+
props,
|
|
38
|
+
props.notifyOnCompletion,
|
|
39
|
+
props.modelName,
|
|
40
|
+
props.loopName
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
toJSON() {
|
|
44
|
+
return {
|
|
45
|
+
notifyOnCompletion: this.notifyOnCompletion,
|
|
46
|
+
modelName: this.modelName,
|
|
47
|
+
loopName: this.loopName
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
setLoopName(loopName) {
|
|
51
|
+
this.loopName = loopName;
|
|
52
|
+
}
|
|
53
|
+
setModelName(modelName) {
|
|
54
|
+
this.modelName = modelName;
|
|
55
|
+
}
|
|
56
|
+
setNotifyOnCompletion(notifyOnCompletion) {
|
|
57
|
+
this.notifyOnCompletion = notifyOnCompletion;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
ChatSettings
|
|
63
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "../../../../../chunk-XRJFNASX.mjs";
|
|
2
|
+
class ChatSettings {
|
|
3
|
+
constructor(props, notifyOnCompletion, modelName, loopName) {
|
|
4
|
+
this.props = props;
|
|
5
|
+
this.notifyOnCompletion = notifyOnCompletion;
|
|
6
|
+
this.modelName = modelName;
|
|
7
|
+
this.loopName = loopName;
|
|
8
|
+
}
|
|
9
|
+
props;
|
|
10
|
+
notifyOnCompletion;
|
|
11
|
+
modelName;
|
|
12
|
+
loopName;
|
|
13
|
+
static fromJSON(props) {
|
|
14
|
+
return new ChatSettings(
|
|
15
|
+
props,
|
|
16
|
+
props.notifyOnCompletion,
|
|
17
|
+
props.modelName,
|
|
18
|
+
props.loopName
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
toJSON() {
|
|
22
|
+
return {
|
|
23
|
+
notifyOnCompletion: this.notifyOnCompletion,
|
|
24
|
+
modelName: this.modelName,
|
|
25
|
+
loopName: this.loopName
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
setLoopName(loopName) {
|
|
29
|
+
this.loopName = loopName;
|
|
30
|
+
}
|
|
31
|
+
setModelName(modelName) {
|
|
32
|
+
this.modelName = modelName;
|
|
33
|
+
}
|
|
34
|
+
setNotifyOnCompletion(notifyOnCompletion) {
|
|
35
|
+
this.notifyOnCompletion = notifyOnCompletion;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
ChatSettings
|
|
40
|
+
};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chat_entity_exports = {};
|
|
20
|
+
__export(chat_entity_exports, {
|
|
21
|
+
Chat: () => Chat
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chat_entity_exports);
|
|
24
|
+
var import_base = require("@common/core/base.entity");
|
|
25
|
+
var import_agent_state = require("@services/agent/core/agent-state");
|
|
26
|
+
var import_chat_message = require("./chat-message.entity");
|
|
27
|
+
var import_chat_settings = require("./chat-settings.entity");
|
|
28
|
+
var import_chat_context = require("./chat-context.entity");
|
|
29
|
+
var import_agent_task = require("./agent-task.entity");
|
|
30
|
+
class Chat extends import_base.BaseEntity {
|
|
31
|
+
constructor(props, state, settings, messages, context = import_chat_context.ChatContext.fromJSON({}), tasks = [], traces) {
|
|
32
|
+
super(props);
|
|
33
|
+
this.props = props;
|
|
34
|
+
this.state = state;
|
|
35
|
+
this.settings = settings;
|
|
36
|
+
this.messages = messages;
|
|
37
|
+
this.context = context;
|
|
38
|
+
this.tasks = tasks;
|
|
39
|
+
this.traces = traces;
|
|
40
|
+
}
|
|
41
|
+
props;
|
|
42
|
+
state;
|
|
43
|
+
settings;
|
|
44
|
+
messages;
|
|
45
|
+
context;
|
|
46
|
+
tasks;
|
|
47
|
+
traces;
|
|
48
|
+
static withDefaults(loopName) {
|
|
49
|
+
const agentState = new import_agent_state.AgentState();
|
|
50
|
+
agentState.cleanContext();
|
|
51
|
+
return Chat.fromJSON({
|
|
52
|
+
state: agentState.toJSON(),
|
|
53
|
+
settings: { loopName }
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
static fromJSON(props) {
|
|
57
|
+
return new Chat(
|
|
58
|
+
props,
|
|
59
|
+
props.state && import_agent_state.AgentState.fromJSON(props.state),
|
|
60
|
+
props.settings && import_chat_settings.ChatSettings.fromJSON(props.settings),
|
|
61
|
+
props.messages?.map((message) => import_chat_message.ChatMessage.factory(message)),
|
|
62
|
+
import_chat_context.ChatContext.fromJSON(props.context ?? {}),
|
|
63
|
+
props.tasks?.map((task) => import_agent_task.AgentTask.fromJSON(task)) ?? [],
|
|
64
|
+
props.traces
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
get lastAnswer() {
|
|
68
|
+
return this.messages?.slice().reverse().find((message) => message.role === "assistant")?.content;
|
|
69
|
+
}
|
|
70
|
+
get activeTask() {
|
|
71
|
+
if (!this.state?.activeTaskId) return void 0;
|
|
72
|
+
return this.tasks.find((t) => t.id === this.state?.activeTaskId);
|
|
73
|
+
}
|
|
74
|
+
toJSON() {
|
|
75
|
+
return {
|
|
76
|
+
...super.toJSON(),
|
|
77
|
+
state: this.state?.toJSON(),
|
|
78
|
+
settings: this.settings?.toJSON(),
|
|
79
|
+
messages: this.messages?.map((message) => message.toJSON()),
|
|
80
|
+
context: this.context.toJSON(),
|
|
81
|
+
tasks: this.tasks.map((task) => task.toJSON()),
|
|
82
|
+
traces: this.traces
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
pushMessage(message) {
|
|
86
|
+
this.messages ??= [];
|
|
87
|
+
this.messages.push(import_chat_message.ChatMessage.factory(message));
|
|
88
|
+
}
|
|
89
|
+
lastHistoryMessages(count = 6) {
|
|
90
|
+
return this.messages?.slice(-count, -1);
|
|
91
|
+
}
|
|
92
|
+
addTrace(entry) {
|
|
93
|
+
this.traces ??= [];
|
|
94
|
+
this.traces.push({
|
|
95
|
+
...entry,
|
|
96
|
+
taskId: entry.taskId ?? this.activeTask?.id,
|
|
97
|
+
timestamp: /* @__PURE__ */ new Date()
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
setAgentState(contextState) {
|
|
101
|
+
this.state = import_agent_state.AgentState.fromJSON(contextState);
|
|
102
|
+
}
|
|
103
|
+
getTask(taskId) {
|
|
104
|
+
return this.tasks.find((t) => t.id === taskId);
|
|
105
|
+
}
|
|
106
|
+
lastCompletedTask() {
|
|
107
|
+
return this.tasks.slice().reverse().find((t) => t.status === import_agent_task.TaskStatus.COMPLETED && t.loopName === this.settings?.loopName);
|
|
108
|
+
}
|
|
109
|
+
createTask(goal, opts) {
|
|
110
|
+
if (this.activeTask?.status === import_agent_task.TaskStatus.IN_PROGRESS) {
|
|
111
|
+
this.activeTask.pause();
|
|
112
|
+
}
|
|
113
|
+
const continuesFromTask = opts?.continuesFrom ? this.getTask(opts.continuesFrom) : void 0;
|
|
114
|
+
const newTask = import_agent_task.AgentTask.factory({
|
|
115
|
+
goal,
|
|
116
|
+
threadId: continuesFromTask?.threadId,
|
|
117
|
+
previousTaskId: opts?.continuesFrom,
|
|
118
|
+
loopName: this.settings?.loopName
|
|
119
|
+
});
|
|
120
|
+
newTask.threadId ??= newTask.id;
|
|
121
|
+
this.tasks.push(newTask);
|
|
122
|
+
this.state?.setActiveTaskId(newTask.id);
|
|
123
|
+
return newTask;
|
|
124
|
+
}
|
|
125
|
+
reopenTask(taskId) {
|
|
126
|
+
const task = this.getTask(taskId);
|
|
127
|
+
if (!task) return void 0;
|
|
128
|
+
task.reopen();
|
|
129
|
+
this.state?.setActiveTaskId(task.id);
|
|
130
|
+
return task;
|
|
131
|
+
}
|
|
132
|
+
completeTask(taskId, summary) {
|
|
133
|
+
const task = taskId ? this.getTask(taskId) : this.activeTask;
|
|
134
|
+
task?.complete(summary);
|
|
135
|
+
this.clearActiveTaskIdIfMatches(task);
|
|
136
|
+
}
|
|
137
|
+
failTask(taskId) {
|
|
138
|
+
const task = taskId ? this.getTask(taskId) : this.activeTask;
|
|
139
|
+
task?.fail();
|
|
140
|
+
this.clearActiveTaskIdIfMatches(task);
|
|
141
|
+
}
|
|
142
|
+
cancelTask(taskId) {
|
|
143
|
+
const task = taskId ? this.getTask(taskId) : this.activeTask;
|
|
144
|
+
task?.cancel();
|
|
145
|
+
this.clearActiveTaskIdIfMatches(task);
|
|
146
|
+
}
|
|
147
|
+
clearActiveTaskIdIfMatches(task) {
|
|
148
|
+
if (task?.id === this.state?.activeTaskId) {
|
|
149
|
+
this.state?.setActiveTaskId(void 0);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
switchLoop(loopName) {
|
|
153
|
+
if (this.settings?.loopName && this.settings.loopName !== loopName) {
|
|
154
|
+
this.activeTask?.pause();
|
|
155
|
+
this.state?.setActiveTaskId(void 0);
|
|
156
|
+
}
|
|
157
|
+
this.settings?.setLoopName(loopName);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
161
|
+
0 && (module.exports = {
|
|
162
|
+
Chat
|
|
163
|
+
});
|