@measureoneinc/savant 1.0.0

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 (398) hide show
  1. package/README-SDK.md +148 -0
  2. package/dist/ai/agents/domain-identifier.agent.d.ts +34 -0
  3. package/dist/ai/agents/domain-identifier.agent.d.ts.map +1 -0
  4. package/dist/ai/agents/domain-identifier.agent.js +176 -0
  5. package/dist/ai/agents/domain-identifier.agent.js.map +1 -0
  6. package/dist/ai/agents/dynamic-agent.d.ts +105 -0
  7. package/dist/ai/agents/dynamic-agent.d.ts.map +1 -0
  8. package/dist/ai/agents/dynamic-agent.js +505 -0
  9. package/dist/ai/agents/dynamic-agent.js.map +1 -0
  10. package/dist/ai/agents/executor.agent.d.ts +25 -0
  11. package/dist/ai/agents/executor.agent.d.ts.map +1 -0
  12. package/dist/ai/agents/executor.agent.js +44 -0
  13. package/dist/ai/agents/executor.agent.js.map +1 -0
  14. package/dist/ai/agents/index.d.ts +17 -0
  15. package/dist/ai/agents/index.d.ts.map +1 -0
  16. package/dist/ai/agents/index.js +29 -0
  17. package/dist/ai/agents/index.js.map +1 -0
  18. package/dist/ai/agents/knowledge.agent.d.ts +25 -0
  19. package/dist/ai/agents/knowledge.agent.d.ts.map +1 -0
  20. package/dist/ai/agents/knowledge.agent.js +42 -0
  21. package/dist/ai/agents/knowledge.agent.js.map +1 -0
  22. package/dist/ai/agents/learning.agent.d.ts +63 -0
  23. package/dist/ai/agents/learning.agent.d.ts.map +1 -0
  24. package/dist/ai/agents/learning.agent.js +288 -0
  25. package/dist/ai/agents/learning.agent.js.map +1 -0
  26. package/dist/ai/agents/orchestrator.agent.d.ts +26 -0
  27. package/dist/ai/agents/orchestrator.agent.d.ts.map +1 -0
  28. package/dist/ai/agents/orchestrator.agent.js +42 -0
  29. package/dist/ai/agents/orchestrator.agent.js.map +1 -0
  30. package/dist/ai/agents/planner.agent.d.ts +25 -0
  31. package/dist/ai/agents/planner.agent.d.ts.map +1 -0
  32. package/dist/ai/agents/planner.agent.js +36 -0
  33. package/dist/ai/agents/planner.agent.js.map +1 -0
  34. package/dist/ai/agents/response-parser.d.ts +23 -0
  35. package/dist/ai/agents/response-parser.d.ts.map +1 -0
  36. package/dist/ai/agents/response-parser.js +313 -0
  37. package/dist/ai/agents/response-parser.js.map +1 -0
  38. package/dist/ai/agents/summarizer.agent.d.ts +38 -0
  39. package/dist/ai/agents/summarizer.agent.d.ts.map +1 -0
  40. package/dist/ai/agents/summarizer.agent.js +245 -0
  41. package/dist/ai/agents/summarizer.agent.js.map +1 -0
  42. package/dist/ai/instructions/domain-identifier.instructions.d.ts +10 -0
  43. package/dist/ai/instructions/domain-identifier.instructions.d.ts.map +1 -0
  44. package/dist/ai/instructions/domain-identifier.instructions.js +63 -0
  45. package/dist/ai/instructions/domain-identifier.instructions.js.map +1 -0
  46. package/dist/ai/instructions/executor.instructions.d.ts +11 -0
  47. package/dist/ai/instructions/executor.instructions.d.ts.map +1 -0
  48. package/dist/ai/instructions/executor.instructions.js +218 -0
  49. package/dist/ai/instructions/executor.instructions.js.map +1 -0
  50. package/dist/ai/instructions/knowledge.instructions.d.ts +11 -0
  51. package/dist/ai/instructions/knowledge.instructions.d.ts.map +1 -0
  52. package/dist/ai/instructions/knowledge.instructions.js +145 -0
  53. package/dist/ai/instructions/knowledge.instructions.js.map +1 -0
  54. package/dist/ai/instructions/learning.instructions.d.ts +11 -0
  55. package/dist/ai/instructions/learning.instructions.d.ts.map +1 -0
  56. package/dist/ai/instructions/learning.instructions.js +226 -0
  57. package/dist/ai/instructions/learning.instructions.js.map +1 -0
  58. package/dist/ai/instructions/orchestrator.instructions.d.ts +11 -0
  59. package/dist/ai/instructions/orchestrator.instructions.d.ts.map +1 -0
  60. package/dist/ai/instructions/orchestrator.instructions.js +148 -0
  61. package/dist/ai/instructions/orchestrator.instructions.js.map +1 -0
  62. package/dist/ai/instructions/planner.instructions.d.ts +12 -0
  63. package/dist/ai/instructions/planner.instructions.d.ts.map +1 -0
  64. package/dist/ai/instructions/planner.instructions.js +129 -0
  65. package/dist/ai/instructions/planner.instructions.js.map +1 -0
  66. package/dist/ai/instructions/summarizer.instructions.d.ts +11 -0
  67. package/dist/ai/instructions/summarizer.instructions.d.ts.map +1 -0
  68. package/dist/ai/instructions/summarizer.instructions.js +84 -0
  69. package/dist/ai/instructions/summarizer.instructions.js.map +1 -0
  70. package/dist/ai/learning/execution-learner.d.ts +79 -0
  71. package/dist/ai/learning/execution-learner.d.ts.map +1 -0
  72. package/dist/ai/learning/execution-learner.js +536 -0
  73. package/dist/ai/learning/execution-learner.js.map +1 -0
  74. package/dist/ai/response_handlers/base-handler.d.ts +73 -0
  75. package/dist/ai/response_handlers/base-handler.d.ts.map +1 -0
  76. package/dist/ai/response_handlers/base-handler.js +153 -0
  77. package/dist/ai/response_handlers/base-handler.js.map +1 -0
  78. package/dist/ai/response_handlers/direct-response-handler.d.ts +18 -0
  79. package/dist/ai/response_handlers/direct-response-handler.d.ts.map +1 -0
  80. package/dist/ai/response_handlers/direct-response-handler.js +86 -0
  81. package/dist/ai/response_handlers/direct-response-handler.js.map +1 -0
  82. package/dist/ai/response_handlers/error-handler.d.ts +13 -0
  83. package/dist/ai/response_handlers/error-handler.d.ts.map +1 -0
  84. package/dist/ai/response_handlers/error-handler.js +72 -0
  85. package/dist/ai/response_handlers/error-handler.js.map +1 -0
  86. package/dist/ai/response_handlers/handler-registry.d.ts +51 -0
  87. package/dist/ai/response_handlers/handler-registry.d.ts.map +1 -0
  88. package/dist/ai/response_handlers/handler-registry.js +268 -0
  89. package/dist/ai/response_handlers/handler-registry.js.map +1 -0
  90. package/dist/ai/response_handlers/index.d.ts +16 -0
  91. package/dist/ai/response_handlers/index.d.ts.map +1 -0
  92. package/dist/ai/response_handlers/index.js +29 -0
  93. package/dist/ai/response_handlers/index.js.map +1 -0
  94. package/dist/ai/response_handlers/message-handler.d.ts +23 -0
  95. package/dist/ai/response_handlers/message-handler.d.ts.map +1 -0
  96. package/dist/ai/response_handlers/message-handler.js +193 -0
  97. package/dist/ai/response_handlers/message-handler.js.map +1 -0
  98. package/dist/ai/response_handlers/plan-ready-handler.d.ts +26 -0
  99. package/dist/ai/response_handlers/plan-ready-handler.d.ts.map +1 -0
  100. package/dist/ai/response_handlers/plan-ready-handler.js +394 -0
  101. package/dist/ai/response_handlers/plan-ready-handler.js.map +1 -0
  102. package/dist/ai/response_handlers/request-input-handler.d.ts +14 -0
  103. package/dist/ai/response_handlers/request-input-handler.d.ts.map +1 -0
  104. package/dist/ai/response_handlers/request-input-handler.js +87 -0
  105. package/dist/ai/response_handlers/request-input-handler.js.map +1 -0
  106. package/dist/ai/response_handlers/request-plan-handler.d.ts +18 -0
  107. package/dist/ai/response_handlers/request-plan-handler.d.ts.map +1 -0
  108. package/dist/ai/response_handlers/request-plan-handler.js +143 -0
  109. package/dist/ai/response_handlers/request-plan-handler.js.map +1 -0
  110. package/dist/ai/response_handlers/step-complete-handler.d.ts +22 -0
  111. package/dist/ai/response_handlers/step-complete-handler.d.ts.map +1 -0
  112. package/dist/ai/response_handlers/step-complete-handler.js +307 -0
  113. package/dist/ai/response_handlers/step-complete-handler.js.map +1 -0
  114. package/dist/ai/response_handlers/unknown-handler.d.ts +12 -0
  115. package/dist/ai/response_handlers/unknown-handler.d.ts.map +1 -0
  116. package/dist/ai/response_handlers/unknown-handler.js +27 -0
  117. package/dist/ai/response_handlers/unknown-handler.js.map +1 -0
  118. package/dist/ai/response_handlers/user-input-handler.d.ts +20 -0
  119. package/dist/ai/response_handlers/user-input-handler.d.ts.map +1 -0
  120. package/dist/ai/response_handlers/user-input-handler.js +69 -0
  121. package/dist/ai/response_handlers/user-input-handler.js.map +1 -0
  122. package/dist/ai/tools/log-step.d.ts +29 -0
  123. package/dist/ai/tools/log-step.d.ts.map +1 -0
  124. package/dist/ai/tools/log-step.js +47 -0
  125. package/dist/ai/tools/log-step.js.map +1 -0
  126. package/dist/app.d.ts +15 -0
  127. package/dist/app.d.ts.map +1 -0
  128. package/dist/app.js +223 -0
  129. package/dist/app.js.map +1 -0
  130. package/dist/config/environment/local.d.ts +12 -0
  131. package/dist/config/environment/local.d.ts.map +1 -0
  132. package/dist/config/environment/local.js +124 -0
  133. package/dist/config/environment/local.js.map +1 -0
  134. package/dist/config/environment/production.d.ts +7 -0
  135. package/dist/config/environment/production.d.ts.map +1 -0
  136. package/dist/config/environment/production.js +105 -0
  137. package/dist/config/environment/production.js.map +1 -0
  138. package/dist/config/environment/test.d.ts +7 -0
  139. package/dist/config/environment/test.d.ts.map +1 -0
  140. package/dist/config/environment/test.js +97 -0
  141. package/dist/config/environment/test.js.map +1 -0
  142. package/dist/config/index.d.ts +219 -0
  143. package/dist/config/index.d.ts.map +1 -0
  144. package/dist/config/index.js +360 -0
  145. package/dist/config/index.js.map +1 -0
  146. package/dist/controllers/agent_request.controller.d.ts +43 -0
  147. package/dist/controllers/agent_request.controller.d.ts.map +1 -0
  148. package/dist/controllers/agent_request.controller.js +141 -0
  149. package/dist/controllers/agent_request.controller.js.map +1 -0
  150. package/dist/controllers/base.controller.d.ts +208 -0
  151. package/dist/controllers/base.controller.d.ts.map +1 -0
  152. package/dist/controllers/base.controller.js +378 -0
  153. package/dist/controllers/base.controller.js.map +1 -0
  154. package/dist/controllers/conversations.controller.d.ts +31 -0
  155. package/dist/controllers/conversations.controller.d.ts.map +1 -0
  156. package/dist/controllers/conversations.controller.js +138 -0
  157. package/dist/controllers/conversations.controller.js.map +1 -0
  158. package/dist/controllers/knowledge.controller.d.ts +63 -0
  159. package/dist/controllers/knowledge.controller.d.ts.map +1 -0
  160. package/dist/controllers/knowledge.controller.js +311 -0
  161. package/dist/controllers/knowledge.controller.js.map +1 -0
  162. package/dist/controllers/mcp.controller.d.ts +25 -0
  163. package/dist/controllers/mcp.controller.d.ts.map +1 -0
  164. package/dist/controllers/mcp.controller.js +93 -0
  165. package/dist/controllers/mcp.controller.js.map +1 -0
  166. package/dist/index.d.ts +12 -0
  167. package/dist/index.d.ts.map +1 -0
  168. package/dist/index.js +25 -0
  169. package/dist/index.js.map +1 -0
  170. package/dist/lib/app-constants.d.ts +231 -0
  171. package/dist/lib/app-constants.d.ts.map +1 -0
  172. package/dist/lib/app-constants.js +240 -0
  173. package/dist/lib/app-constants.js.map +1 -0
  174. package/dist/lib/controller-utils.d.ts +48 -0
  175. package/dist/lib/controller-utils.d.ts.map +1 -0
  176. package/dist/lib/controller-utils.js +70 -0
  177. package/dist/lib/controller-utils.js.map +1 -0
  178. package/dist/lib/exceptions/app-exceptions.d.ts +158 -0
  179. package/dist/lib/exceptions/app-exceptions.d.ts.map +1 -0
  180. package/dist/lib/exceptions/app-exceptions.js +287 -0
  181. package/dist/lib/exceptions/app-exceptions.js.map +1 -0
  182. package/dist/lib/middleware/upload.middleware.d.ts +13 -0
  183. package/dist/lib/middleware/upload.middleware.d.ts.map +1 -0
  184. package/dist/lib/middleware/upload.middleware.js +35 -0
  185. package/dist/lib/middleware/upload.middleware.js.map +1 -0
  186. package/dist/lib/middleware/validation.middleware.d.ts +29 -0
  187. package/dist/lib/middleware/validation.middleware.d.ts.map +1 -0
  188. package/dist/lib/middleware/validation.middleware.js +219 -0
  189. package/dist/lib/middleware/validation.middleware.js.map +1 -0
  190. package/dist/lib/model/validation-schema/submit-message.schema.d.ts +3 -0
  191. package/dist/lib/model/validation-schema/submit-message.schema.d.ts.map +1 -0
  192. package/dist/lib/model/validation-schema/submit-message.schema.js +40 -0
  193. package/dist/lib/model/validation-schema/submit-message.schema.js.map +1 -0
  194. package/dist/lib/model/validation-schema/update-knowledge.schema.d.ts +3 -0
  195. package/dist/lib/model/validation-schema/update-knowledge.schema.d.ts.map +1 -0
  196. package/dist/lib/model/validation-schema/update-knowledge.schema.js +35 -0
  197. package/dist/lib/model/validation-schema/update-knowledge.schema.js.map +1 -0
  198. package/dist/lib/open-ai-event-processor.d.ts +101 -0
  199. package/dist/lib/open-ai-event-processor.d.ts.map +1 -0
  200. package/dist/lib/open-ai-event-processor.js +426 -0
  201. package/dist/lib/open-ai-event-processor.js.map +1 -0
  202. package/dist/lib/schemas/ai-responses.schema.d.ts +617 -0
  203. package/dist/lib/schemas/ai-responses.schema.d.ts.map +1 -0
  204. package/dist/lib/schemas/ai-responses.schema.js +377 -0
  205. package/dist/lib/schemas/ai-responses.schema.js.map +1 -0
  206. package/dist/lib/schemas/common.schemas.d.ts +84 -0
  207. package/dist/lib/schemas/common.schemas.d.ts.map +1 -0
  208. package/dist/lib/schemas/common.schemas.js +87 -0
  209. package/dist/lib/schemas/common.schemas.js.map +1 -0
  210. package/dist/lib/schemas/conversation.schema.d.ts +28 -0
  211. package/dist/lib/schemas/conversation.schema.d.ts.map +1 -0
  212. package/dist/lib/schemas/conversation.schema.js +31 -0
  213. package/dist/lib/schemas/conversation.schema.js.map +1 -0
  214. package/dist/lib/schemas/http-client.schema.d.ts +39 -0
  215. package/dist/lib/schemas/http-client.schema.d.ts.map +1 -0
  216. package/dist/lib/schemas/http-client.schema.js +36 -0
  217. package/dist/lib/schemas/http-client.schema.js.map +1 -0
  218. package/dist/lib/schemas/index.d.ts +95 -0
  219. package/dist/lib/schemas/index.d.ts.map +1 -0
  220. package/dist/lib/schemas/index.js +32 -0
  221. package/dist/lib/schemas/index.js.map +1 -0
  222. package/dist/lib/schemas/knowledge.schema.d.ts +145 -0
  223. package/dist/lib/schemas/knowledge.schema.d.ts.map +1 -0
  224. package/dist/lib/schemas/knowledge.schema.js +81 -0
  225. package/dist/lib/schemas/knowledge.schema.js.map +1 -0
  226. package/dist/lib/schemas/orchestration.schema.d.ts +168 -0
  227. package/dist/lib/schemas/orchestration.schema.d.ts.map +1 -0
  228. package/dist/lib/schemas/orchestration.schema.js +133 -0
  229. package/dist/lib/schemas/orchestration.schema.js.map +1 -0
  230. package/dist/lib/schemas/plan.schema.d.ts +103 -0
  231. package/dist/lib/schemas/plan.schema.d.ts.map +1 -0
  232. package/dist/lib/schemas/plan.schema.js +58 -0
  233. package/dist/lib/schemas/plan.schema.js.map +1 -0
  234. package/dist/lib/sequelize-service.d.ts +23 -0
  235. package/dist/lib/sequelize-service.d.ts.map +1 -0
  236. package/dist/lib/sequelize-service.js +446 -0
  237. package/dist/lib/sequelize-service.js.map +1 -0
  238. package/dist/lib/source-hash.d.ts +39 -0
  239. package/dist/lib/source-hash.d.ts.map +1 -0
  240. package/dist/lib/source-hash.js +56 -0
  241. package/dist/lib/source-hash.js.map +1 -0
  242. package/dist/lib/stable-stringify.d.ts +32 -0
  243. package/dist/lib/stable-stringify.d.ts.map +1 -0
  244. package/dist/lib/stable-stringify.js +72 -0
  245. package/dist/lib/stable-stringify.js.map +1 -0
  246. package/dist/lib/streaming-utils.d.ts +60 -0
  247. package/dist/lib/streaming-utils.d.ts.map +1 -0
  248. package/dist/lib/streaming-utils.js +190 -0
  249. package/dist/lib/streaming-utils.js.map +1 -0
  250. package/dist/lib/utils/conversation-builder.d.ts +36 -0
  251. package/dist/lib/utils/conversation-builder.d.ts.map +1 -0
  252. package/dist/lib/utils/conversation-builder.js +132 -0
  253. package/dist/lib/utils/conversation-builder.js.map +1 -0
  254. package/dist/lib/utils/domain-matcher.d.ts +25 -0
  255. package/dist/lib/utils/domain-matcher.d.ts.map +1 -0
  256. package/dist/lib/utils/domain-matcher.js +42 -0
  257. package/dist/lib/utils/domain-matcher.js.map +1 -0
  258. package/dist/lib/utils/file-util.d.ts +157 -0
  259. package/dist/lib/utils/file-util.d.ts.map +1 -0
  260. package/dist/lib/utils/file-util.js +373 -0
  261. package/dist/lib/utils/file-util.js.map +1 -0
  262. package/dist/lib/utils/html-summarizer.d.ts +27 -0
  263. package/dist/lib/utils/html-summarizer.d.ts.map +1 -0
  264. package/dist/lib/utils/html-summarizer.js +189 -0
  265. package/dist/lib/utils/html-summarizer.js.map +1 -0
  266. package/dist/lib/utils/http-client.d.ts +108 -0
  267. package/dist/lib/utils/http-client.d.ts.map +1 -0
  268. package/dist/lib/utils/http-client.js +298 -0
  269. package/dist/lib/utils/http-client.js.map +1 -0
  270. package/dist/lib/utils/index.d.ts +12 -0
  271. package/dist/lib/utils/index.d.ts.map +1 -0
  272. package/dist/lib/utils/index.js +28 -0
  273. package/dist/lib/utils/index.js.map +1 -0
  274. package/dist/lib/utils/logger.d.ts +30 -0
  275. package/dist/lib/utils/logger.d.ts.map +1 -0
  276. package/dist/lib/utils/logger.js +88 -0
  277. package/dist/lib/utils/logger.js.map +1 -0
  278. package/dist/lib/utils/mcp-utils.d.ts +208 -0
  279. package/dist/lib/utils/mcp-utils.d.ts.map +1 -0
  280. package/dist/lib/utils/mcp-utils.js +451 -0
  281. package/dist/lib/utils/mcp-utils.js.map +1 -0
  282. package/dist/lib/utils/sequelize-service.d.ts +153 -0
  283. package/dist/lib/utils/sequelize-service.d.ts.map +1 -0
  284. package/dist/lib/utils/sequelize-service.js +339 -0
  285. package/dist/lib/utils/sequelize-service.js.map +1 -0
  286. package/dist/lib/utils/tool-call-extractor.d.ts +36 -0
  287. package/dist/lib/utils/tool-call-extractor.d.ts.map +1 -0
  288. package/dist/lib/utils/tool-call-extractor.js +121 -0
  289. package/dist/lib/utils/tool-call-extractor.js.map +1 -0
  290. package/dist/lib/utils/zod-to-json-schema.d.ts +17 -0
  291. package/dist/lib/utils/zod-to-json-schema.d.ts.map +1 -0
  292. package/dist/lib/utils/zod-to-json-schema.js +53 -0
  293. package/dist/lib/utils/zod-to-json-schema.js.map +1 -0
  294. package/dist/models/AgentRequest.d.ts +33 -0
  295. package/dist/models/AgentRequest.d.ts.map +1 -0
  296. package/dist/models/AgentRequest.js +49 -0
  297. package/dist/models/AgentRequest.js.map +1 -0
  298. package/dist/models/AgentRun.d.ts +44 -0
  299. package/dist/models/AgentRun.d.ts.map +1 -0
  300. package/dist/models/AgentRun.js +53 -0
  301. package/dist/models/AgentRun.js.map +1 -0
  302. package/dist/models/AuditLog.d.ts +37 -0
  303. package/dist/models/AuditLog.d.ts.map +1 -0
  304. package/dist/models/AuditLog.js +46 -0
  305. package/dist/models/AuditLog.js.map +1 -0
  306. package/dist/models/Conversation.d.ts +39 -0
  307. package/dist/models/Conversation.d.ts.map +1 -0
  308. package/dist/models/Conversation.js +49 -0
  309. package/dist/models/Conversation.js.map +1 -0
  310. package/dist/models/Embedding.d.ts +56 -0
  311. package/dist/models/Embedding.d.ts.map +1 -0
  312. package/dist/models/Embedding.js +36 -0
  313. package/dist/models/Embedding.js.map +1 -0
  314. package/dist/models/ExecutionPattern.d.ts +57 -0
  315. package/dist/models/ExecutionPattern.d.ts.map +1 -0
  316. package/dist/models/ExecutionPattern.js +61 -0
  317. package/dist/models/ExecutionPattern.js.map +1 -0
  318. package/dist/models/Knowledge.d.ts +49 -0
  319. package/dist/models/Knowledge.d.ts.map +1 -0
  320. package/dist/models/Knowledge.js +67 -0
  321. package/dist/models/Knowledge.js.map +1 -0
  322. package/dist/models/KnowledgeRevision.d.ts +35 -0
  323. package/dist/models/KnowledgeRevision.d.ts.map +1 -0
  324. package/dist/models/KnowledgeRevision.js +51 -0
  325. package/dist/models/KnowledgeRevision.js.map +1 -0
  326. package/dist/models/Plan.d.ts +34 -0
  327. package/dist/models/Plan.d.ts.map +1 -0
  328. package/dist/models/Plan.js +43 -0
  329. package/dist/models/Plan.js.map +1 -0
  330. package/dist/models/PlanStep.d.ts +56 -0
  331. package/dist/models/PlanStep.d.ts.map +1 -0
  332. package/dist/models/PlanStep.js +65 -0
  333. package/dist/models/PlanStep.js.map +1 -0
  334. package/dist/models/SourceData.d.ts +39 -0
  335. package/dist/models/SourceData.d.ts.map +1 -0
  336. package/dist/models/SourceData.js +18 -0
  337. package/dist/models/SourceData.js.map +1 -0
  338. package/dist/models/index.d.ts +36 -0
  339. package/dist/models/index.d.ts.map +1 -0
  340. package/dist/models/index.js +179 -0
  341. package/dist/models/index.js.map +1 -0
  342. package/dist/routes/agent.routes.d.ts +13 -0
  343. package/dist/routes/agent.routes.d.ts.map +1 -0
  344. package/dist/routes/agent.routes.js +27 -0
  345. package/dist/routes/agent.routes.js.map +1 -0
  346. package/dist/routes/agent_request.routes.d.ts +13 -0
  347. package/dist/routes/agent_request.routes.d.ts.map +1 -0
  348. package/dist/routes/agent_request.routes.js +65 -0
  349. package/dist/routes/agent_request.routes.js.map +1 -0
  350. package/dist/routes/knowledge.routes.d.ts +13 -0
  351. package/dist/routes/knowledge.routes.d.ts.map +1 -0
  352. package/dist/routes/knowledge.routes.js +91 -0
  353. package/dist/routes/knowledge.routes.js.map +1 -0
  354. package/dist/routes/mcp.routes.d.ts +14 -0
  355. package/dist/routes/mcp.routes.d.ts.map +1 -0
  356. package/dist/routes/mcp.routes.js +27 -0
  357. package/dist/routes/mcp.routes.js.map +1 -0
  358. package/dist/sdk/index.d.ts +13 -0
  359. package/dist/sdk/index.d.ts.map +1 -0
  360. package/dist/sdk/index.js +35 -0
  361. package/dist/sdk/index.js.map +1 -0
  362. package/dist/sdk/savant.sdk.d.ts +53 -0
  363. package/dist/sdk/savant.sdk.d.ts.map +1 -0
  364. package/dist/sdk/savant.sdk.js +120 -0
  365. package/dist/sdk/savant.sdk.js.map +1 -0
  366. package/dist/services/agent-request-service.d.ts +104 -0
  367. package/dist/services/agent-request-service.d.ts.map +1 -0
  368. package/dist/services/agent-request-service.js +319 -0
  369. package/dist/services/agent-request-service.js.map +1 -0
  370. package/dist/services/audit_log.service.d.ts +104 -0
  371. package/dist/services/audit_log.service.d.ts.map +1 -0
  372. package/dist/services/audit_log.service.js +339 -0
  373. package/dist/services/audit_log.service.js.map +1 -0
  374. package/dist/services/conversation.service.d.ts +90 -0
  375. package/dist/services/conversation.service.d.ts.map +1 -0
  376. package/dist/services/conversation.service.js +552 -0
  377. package/dist/services/conversation.service.js.map +1 -0
  378. package/dist/services/domain.service.d.ts +58 -0
  379. package/dist/services/domain.service.d.ts.map +1 -0
  380. package/dist/services/domain.service.js +244 -0
  381. package/dist/services/domain.service.js.map +1 -0
  382. package/dist/services/embedding.service.d.ts +132 -0
  383. package/dist/services/embedding.service.d.ts.map +1 -0
  384. package/dist/services/embedding.service.js +587 -0
  385. package/dist/services/embedding.service.js.map +1 -0
  386. package/dist/services/file_upload.service.d.ts +50 -0
  387. package/dist/services/file_upload.service.d.ts.map +1 -0
  388. package/dist/services/file_upload.service.js +172 -0
  389. package/dist/services/file_upload.service.js.map +1 -0
  390. package/dist/services/knowledge.service.d.ts +200 -0
  391. package/dist/services/knowledge.service.d.ts.map +1 -0
  392. package/dist/services/knowledge.service.js +784 -0
  393. package/dist/services/knowledge.service.js.map +1 -0
  394. package/dist/types/responses-api.types.d.ts +181 -0
  395. package/dist/types/responses-api.types.d.ts.map +1 -0
  396. package/dist/types/responses-api.types.js +12 -0
  397. package/dist/types/responses-api.types.js.map +1 -0
  398. package/package.json +145 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Savant SDK
4
+ *
5
+ * This class serves as an intermediate service layer and the main entry point for the Savant SDK.
6
+ * It encapsulates the core business logic for conversations and knowledge management,
7
+ * decoupling it from the Express controllers.
8
+ *
9
+ * @author MeasureOne, Inc.
10
+ * @version 1.0.0
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SavantSDK = void 0;
17
+ const conversation_service_1 = __importDefault(require("../services/conversation.service"));
18
+ const knowledge_service_1 = require("../services/knowledge.service");
19
+ const file_upload_service_1 = require("../services/file_upload.service");
20
+ const embedding_service_1 = require("../services/embedding.service");
21
+ const audit_log_service_1 = require("../services/audit_log.service");
22
+ const domain_service_1 = require("../services/domain.service");
23
+ const models_1 = require("../models");
24
+ const uuid_1 = require("uuid");
25
+ const logger_1 = require("../lib/utils/logger");
26
+ const logger = (0, logger_1.create_compact_logger)("savant:sdk");
27
+ class SavantSDK {
28
+ constructor() {
29
+ this.conversation_service = new conversation_service_1.default();
30
+ this.knowledge_service = new knowledge_service_1.KnowledgeService();
31
+ this.file_upload_service = new file_upload_service_1.FileUploadService();
32
+ this.embedding_service = new embedding_service_1.EmbeddingService();
33
+ this.audit_log_service = new audit_log_service_1.AuditLogService();
34
+ }
35
+ /**
36
+ * Submits a message to a conversation and streams the response.
37
+ * This encapsulates the logic previously in ConversationController.
38
+ */
39
+ async submit_message(params, streaming_utils) {
40
+ const run_id = (0, uuid_1.v4)();
41
+ streaming_utils.write('run_id', { run_id: run_id });
42
+ const cs = new conversation_service_1.default(streaming_utils);
43
+ await cs.submit_message(params, streaming_utils);
44
+ }
45
+ /**
46
+ * Creates a new knowledge entry from a set of file IDs.
47
+ * This encapsulates the complex logic from KnowledgeController.
48
+ */
49
+ async create_knowledge_from_files(params) {
50
+ const { application_id, requester_id, source_data, metadata, delivery_details } = params;
51
+ const embedding_model = metadata?.embedding_model || 'text-embedding-004';
52
+ const source_data_references = [];
53
+ const files_to_embed = [];
54
+ for (const source_item of source_data) {
55
+ if (source_item.id) {
56
+ const source_info = await this.file_upload_service.get_source_data(source_item.id);
57
+ source_data_references.push({
58
+ source_type: 'REFERENCE',
59
+ uri: `m1://${source_item.id}`,
60
+ mime_type: source_info.mime_type,
61
+ });
62
+ const file_content = await this.file_upload_service.read_file_content(source_item.id);
63
+ files_to_embed.push({ id: source_item.id, content: file_content });
64
+ }
65
+ }
66
+ if (files_to_embed.length === 0) {
67
+ throw new Error("No valid files provided for knowledge creation.");
68
+ }
69
+ const domain_service = (0, domain_service_1.get_domain_service)();
70
+ const identified_domain = await domain_service.identify_domain_from_content(files_to_embed[0].content);
71
+ const knowledge_data = {
72
+ application_id,
73
+ requester_id,
74
+ source_data: source_data_references[0],
75
+ status: "COMPLETED",
76
+ delivery_details: delivery_details ?? {},
77
+ ...(metadata && { metadata }),
78
+ };
79
+ const result = await this.knowledge_service.create_knowledge(knowledge_data);
80
+ const knowledge_with_revision = await this.knowledge_service.get_knowledge_by_id_with_revision(result.id);
81
+ const knowledge_revision_id = knowledge_with_revision.latest_revision_id;
82
+ if (!knowledge_revision_id) {
83
+ throw new Error('No revision found for newly created knowledge');
84
+ }
85
+ let total_embeddings = 0;
86
+ for (const file of files_to_embed) {
87
+ try {
88
+ logger.info('Creating embeddings for document', {
89
+ file_id: file.id,
90
+ knowledge_id: result.id,
91
+ domain: identified_domain
92
+ });
93
+ const embed_result = await this.embedding_service.create_embeddings_for_document(result.id, knowledge_revision_id, file.content, file.id, embedding_model, models_1.EmbeddingType.SEED, identified_domain);
94
+ total_embeddings += embed_result.embeddings_created;
95
+ }
96
+ catch (error) {
97
+ logger.error("Failed to process file for embeddings", {
98
+ file_id: file.id,
99
+ error: error instanceof Error ? error.message : String(error),
100
+ });
101
+ }
102
+ }
103
+ await this.audit_log_service.log_entity_created('knowledge', result.id, requester_id, {
104
+ auto_build: false,
105
+ application_id: application_id,
106
+ embeddings_created: total_embeddings,
107
+ source_files_count: source_data.length,
108
+ });
109
+ return { id: result.id, embeddings_created: total_embeddings };
110
+ }
111
+ /**
112
+ * Uploads a file and returns its ID.
113
+ */
114
+ async upload_file(file, application_id, requester_id) {
115
+ const result = await this.file_upload_service.save_file(file, application_id, requester_id);
116
+ return { file_id: result.file_id };
117
+ }
118
+ }
119
+ exports.SavantSDK = SavantSDK;
120
+ //# sourceMappingURL=savant.sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savant.sdk.js","sourceRoot":"","sources":["../../src/sdk/savant.sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @fileoverview Agent Request Service - Sequelize Version
3
+ *
4
+ * Service for managing AgentRequest and Agent entities.
5
+ * Handles all database operations using Sequelize.
6
+ *
7
+ * @author MeasureOne, Inc.
8
+ * @version 1.0.0
9
+ */
10
+ import { AgentRequest, PaginationInfo } from "../lib/schemas";
11
+ export declare class AgentRequestService {
12
+ private sequelize;
13
+ constructor();
14
+ /**
15
+ * Create a new agent request
16
+ */
17
+ create_agent_request(data: {
18
+ application_id: string;
19
+ type: 'CHAT' | 'TASK' | 'ANALYSIS' | 'PROCESSING';
20
+ policy?: any;
21
+ }): Promise<{
22
+ id: string;
23
+ conversation_id: string;
24
+ }>;
25
+ /**
26
+ * Get agent request by ID
27
+ */
28
+ get_agent_request_by_id(id: string): Promise<AgentRequest>;
29
+ /**
30
+ * Update agent request
31
+ */
32
+ update_agent_request(data: {
33
+ id: string;
34
+ application_id?: string;
35
+ type?: 'CHAT' | 'TASK' | 'ANALYSIS' | 'PROCESSING';
36
+ policy?: any;
37
+ }): Promise<{
38
+ id: string;
39
+ }>;
40
+ /**
41
+ * Delete agent request (soft delete)
42
+ */
43
+ delete_agent_request(id: string): Promise<{
44
+ id: string;
45
+ }>;
46
+ /**
47
+ * List agent requests with pagination and filtering
48
+ */
49
+ list_agent_requests(filters: {
50
+ page?: number;
51
+ limit?: number;
52
+ application_id?: string;
53
+ type?: string;
54
+ status?: string;
55
+ }): Promise<{
56
+ data: AgentRequest[];
57
+ pagination: PaginationInfo;
58
+ }>;
59
+ /**
60
+ * Create a new conversation for an agent request
61
+ */
62
+ create_conversation(agent_request_id: string): Promise<{
63
+ id: string;
64
+ }>;
65
+ /**
66
+ * Get conversation by ID
67
+ */
68
+ get_conversation_by_id(id: string): Promise<any>;
69
+ /**
70
+ * Get conversations with pagination and filtering
71
+ */
72
+ get_conversations(filters: {
73
+ page?: number;
74
+ limit?: number;
75
+ application_id?: string;
76
+ agent_type?: string;
77
+ }): Promise<{
78
+ data: any[];
79
+ pagination: PaginationInfo;
80
+ }>;
81
+ /**
82
+ * Delete conversation (soft delete by setting is_active to false)
83
+ */
84
+ delete_conversation(id: string): Promise<{
85
+ id: string;
86
+ }>;
87
+ /**
88
+ * Stop conversation (cancel all running agent runs)
89
+ */
90
+ stop_conversation(id: string): Promise<{
91
+ id: string;
92
+ }>;
93
+ /**
94
+ * Send message to conversation (create a new agent run)
95
+ */
96
+ send_message(data: {
97
+ conversation_id: string;
98
+ message: string;
99
+ context?: any;
100
+ }): Promise<{
101
+ id: string;
102
+ }>;
103
+ }
104
+ //# sourceMappingURL=agent-request-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-request-service.d.ts","sourceRoot":"","sources":["../../src/services/agent-request-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAO9D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAM;;IAUvB;;OAEG;IACG,oBAAoB,CAAC,IAAI,EAAE;QAC/B,cAAc,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;QAClD,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAoCpD;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBhE;;OAEG;IACG,oBAAoB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBrK;;OAEG;IACG,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB/D;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAAC,UAAU,EAAE,cAAc,CAAA;KAAE,CAAC;IA0CjE;;OAEG;IACG,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB5E;;OAEG;IACG,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0BtD;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE;QAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,UAAU,EAAE,cAAc,CAAA;KAAE,CAAC;IA6CxD;;OAEG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB9D;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB5D;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB/G"}
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Agent Request Service - Sequelize Version
4
+ *
5
+ * Service for managing AgentRequest and Agent entities.
6
+ * Handles all database operations using Sequelize.
7
+ *
8
+ * @author MeasureOne, Inc.
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AgentRequestService = void 0;
13
+ const logger_1 = require("../lib/utils/logger");
14
+ const sequelize_service_1 = require("../lib/sequelize-service");
15
+ const models_1 = require("../models");
16
+ const uuid_1 = require("uuid");
17
+ const logger = (0, logger_1.create_compact_logger)("agent-request-service");
18
+ class AgentRequestService {
19
+ constructor() {
20
+ this.sequelize = (0, sequelize_service_1.get_sequelize_service)();
21
+ }
22
+ // ============================================================================
23
+ // AGENT REQUEST OPERATIONS
24
+ // ============================================================================
25
+ /**
26
+ * Create a new agent request
27
+ */
28
+ async create_agent_request(data) {
29
+ try {
30
+ const agent_request = await models_1.AgentRequestModel.create({
31
+ id: `ar_${(0, uuid_1.v4)()}`,
32
+ application_id: data.application_id,
33
+ type: data.type,
34
+ policy: data.policy ? JSON.stringify(data.policy) : JSON.stringify({
35
+ rules: {},
36
+ permissions: {},
37
+ domain: {},
38
+ max_retries: 25,
39
+ timeout: 60000,
40
+ mcp_servers: [],
41
+ tools: []
42
+ }),
43
+ });
44
+ // Create a conversation for this agent request
45
+ const conversation_result = await this.create_conversation(agent_request.id);
46
+ logger.info("Agent request and conversation created", {
47
+ agent_request_id: agent_request.id,
48
+ conversation_id: conversation_result.id
49
+ });
50
+ return {
51
+ id: agent_request.id,
52
+ conversation_id: conversation_result.id
53
+ };
54
+ }
55
+ catch (error) {
56
+ logger.error("Failed to create agent request", error);
57
+ throw error;
58
+ }
59
+ }
60
+ /**
61
+ * Get agent request by ID
62
+ */
63
+ async get_agent_request_by_id(id) {
64
+ try {
65
+ const agent_request = await models_1.AgentRequestModel.findByPk(id);
66
+ if (!agent_request) {
67
+ throw new Error(`Agent request not found: ${id}`);
68
+ }
69
+ logger.info("Agent request retrieved", { id });
70
+ return agent_request.to_shared_type();
71
+ }
72
+ catch (error) {
73
+ logger.error("Failed to get agent request", error);
74
+ throw error;
75
+ }
76
+ }
77
+ /**
78
+ * Update agent request
79
+ */
80
+ async update_agent_request(data) {
81
+ try {
82
+ const agent_request = await models_1.AgentRequestModel.findByPk(data.id);
83
+ if (!agent_request) {
84
+ throw new Error(`Agent request not found: ${data.id}`);
85
+ }
86
+ if (data.application_id)
87
+ agent_request.application_id = data.application_id;
88
+ if (data.type)
89
+ agent_request.type = data.type;
90
+ if (data.policy !== undefined)
91
+ agent_request.policy = JSON.stringify(data.policy);
92
+ await agent_request.save();
93
+ logger.info("Agent request updated", { id: data.id });
94
+ return { id: agent_request.id };
95
+ }
96
+ catch (error) {
97
+ logger.error("Failed to update agent request", error);
98
+ throw error;
99
+ }
100
+ }
101
+ /**
102
+ * Delete agent request (soft delete)
103
+ */
104
+ async delete_agent_request(id) {
105
+ try {
106
+ const agent_request = await models_1.AgentRequestModel.findByPk(id);
107
+ if (!agent_request) {
108
+ throw new Error(`Agent request not found: ${id}`);
109
+ }
110
+ await agent_request.destroy(); // Sequelize handles soft delete with paranoid: true
111
+ logger.info("Agent request soft deleted", { id });
112
+ return { id };
113
+ }
114
+ catch (error) {
115
+ logger.error("Failed to delete agent request", error);
116
+ throw error;
117
+ }
118
+ }
119
+ /**
120
+ * List agent requests with pagination and filtering
121
+ */
122
+ async list_agent_requests(filters) {
123
+ try {
124
+ const { page = 1, limit = 20, application_id, type, status } = filters;
125
+ const offset = (page - 1) * limit;
126
+ const where = {};
127
+ if (application_id)
128
+ where.application_id = application_id;
129
+ if (type)
130
+ where.type = type;
131
+ if (status)
132
+ where.status = status;
133
+ const { count: total, rows: agent_requests } = await models_1.AgentRequestModel.findAndCountAll({
134
+ where,
135
+ offset,
136
+ limit,
137
+ order: [["created_at", "DESC"]],
138
+ paranoid: true, // Exclude soft-deleted records
139
+ });
140
+ const converted_requests = agent_requests.map((agent_request) => agent_request.to_shared_type());
141
+ const pagination = {
142
+ page,
143
+ limit,
144
+ offset,
145
+ total,
146
+ total_pages: Math.ceil(total / limit),
147
+ has_next: page < Math.ceil(total / limit),
148
+ has_prev: page > 1,
149
+ };
150
+ logger.info("Agent requests listed", { count: agent_requests.length, total });
151
+ return { data: converted_requests, pagination };
152
+ }
153
+ catch (error) {
154
+ logger.error("Failed to list agent requests", error);
155
+ throw error;
156
+ }
157
+ }
158
+ // ============================================================================
159
+ // AGENT OPERATIONS
160
+ // ============================================================================
161
+ /**
162
+ * Create a new conversation for an agent request
163
+ */
164
+ async create_conversation(agent_request_id) {
165
+ try {
166
+ const conversation = await models_1.ConversationModel.create({
167
+ id: `conv_${(0, uuid_1.v4)()}`,
168
+ agent_request_id: agent_request_id,
169
+ messages: JSON.stringify([]), // Start with empty messages array
170
+ });
171
+ logger.info("Conversation created", { id: conversation.id, agent_request_id });
172
+ return { id: conversation.id };
173
+ }
174
+ catch (error) {
175
+ logger.error("Failed to create conversation", error);
176
+ throw error;
177
+ }
178
+ }
179
+ /**
180
+ * Get conversation by ID
181
+ */
182
+ async get_conversation_by_id(id) {
183
+ try {
184
+ const conversation = await models_1.ConversationModel.findByPk(id, {
185
+ paranoid: true, // Exclude soft-deleted records
186
+ include: [
187
+ {
188
+ model: models_1.AgentRunModel,
189
+ as: "runs",
190
+ limit: 10,
191
+ order: [["created_at", "DESC"]],
192
+ },
193
+ ],
194
+ });
195
+ if (!conversation) {
196
+ throw new Error(`Conversation not found: ${id}`);
197
+ }
198
+ logger.info("Conversation retrieved", { id });
199
+ return conversation.to_shared_type();
200
+ }
201
+ catch (error) {
202
+ logger.error("Failed to get conversation", error);
203
+ throw error;
204
+ }
205
+ }
206
+ /**
207
+ * Get conversations with pagination and filtering
208
+ */
209
+ async get_conversations(filters) {
210
+ try {
211
+ const { page = 1, limit = 20, application_id, agent_type } = filters;
212
+ const offset = (page - 1) * limit;
213
+ const where = {};
214
+ if (application_id)
215
+ where.application_id = application_id;
216
+ if (agent_type)
217
+ where.agent_type = agent_type;
218
+ const { count: total, rows: conversations } = await models_1.ConversationModel.findAndCountAll({
219
+ where,
220
+ offset,
221
+ limit,
222
+ order: [["created_at", "DESC"]],
223
+ paranoid: true, // Exclude soft-deleted records
224
+ include: [
225
+ {
226
+ model: models_1.AgentRunModel,
227
+ as: "runs",
228
+ attributes: ["id"], // Just count, not full data
229
+ required: false,
230
+ },
231
+ ],
232
+ });
233
+ const converted_conversations = conversations.map((conversation) => conversation.to_shared_type());
234
+ const pagination = {
235
+ page,
236
+ limit,
237
+ offset,
238
+ total,
239
+ total_pages: Math.ceil(total / limit),
240
+ has_next: page < Math.ceil(total / limit),
241
+ has_prev: page > 1,
242
+ };
243
+ logger.info("Conversations listed", { count: conversations.length, total });
244
+ return { data: converted_conversations, pagination };
245
+ }
246
+ catch (error) {
247
+ logger.error("Failed to get conversations", error);
248
+ throw error;
249
+ }
250
+ }
251
+ /**
252
+ * Delete conversation (soft delete by setting is_active to false)
253
+ */
254
+ async delete_conversation(id) {
255
+ try {
256
+ const conversation = await models_1.ConversationModel.findByPk(id);
257
+ if (!conversation) {
258
+ throw new Error(`Conversation not found: ${id}`);
259
+ }
260
+ // Remove soft delete logic for Conversation
261
+ await conversation.destroy(); // Hard delete or rely on actual ORM configuration
262
+ logger.info("Conversation soft deleted", { id });
263
+ return { id };
264
+ }
265
+ catch (error) {
266
+ logger.error("Failed to delete conversation", error);
267
+ throw error;
268
+ }
269
+ }
270
+ /**
271
+ * Stop conversation (cancel all running agent runs)
272
+ */
273
+ async stop_conversation(id) {
274
+ try {
275
+ // Update all running agent runs to cancelled
276
+ await models_1.AgentRunModel.update({
277
+ status: "cancelled",
278
+ completed_at: new Date(),
279
+ }, {
280
+ where: {
281
+ conversation_id: id,
282
+ status: ["pending", "running"],
283
+ },
284
+ });
285
+ logger.info("Conversation stopped (all runs cancelled)", { id });
286
+ return { id };
287
+ }
288
+ catch (error) {
289
+ logger.error("Failed to stop conversation", error);
290
+ throw error;
291
+ }
292
+ }
293
+ /**
294
+ * Send message to conversation (create a new agent run)
295
+ */
296
+ async send_message(data) {
297
+ try {
298
+ const agent_run = await models_1.AgentRunModel.create({
299
+ id: `run_${(0, uuid_1.v4)()}`,
300
+ conversation_id: data.conversation_id,
301
+ run_id: `run_${(0, uuid_1.v4)()}`,
302
+ status: "pending",
303
+ input_data: JSON.stringify({ message: data.message, context: data.context }),
304
+ started_at: new Date(),
305
+ });
306
+ logger.info("Message sent to conversation (agent run created)", {
307
+ agent_id: data.conversation_id,
308
+ run_id: agent_run.id,
309
+ });
310
+ return { id: agent_run.id };
311
+ }
312
+ catch (error) {
313
+ logger.error("Failed to send message to conversation", error);
314
+ throw error;
315
+ }
316
+ }
317
+ }
318
+ exports.AgentRequestService = AgentRequestService;
319
+ //# sourceMappingURL=agent-request-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-request-service.js","sourceRoot":"","sources":["../../src/services/agent-request-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @fileoverview Audit Log Service - Sequelize Version
3
+ *
4
+ * Service for managing audit logs and tracking system events.
5
+ * Handles all database operations using Sequelize.
6
+ *
7
+ * @author MeasureOne, Inc.
8
+ * @version 1.0.0
9
+ */
10
+ import { AuditLog, PaginationInfo } from "../lib/schemas";
11
+ export declare class AuditLogService {
12
+ private sequelize;
13
+ constructor();
14
+ /**
15
+ * Create a new audit log entry
16
+ */
17
+ create_audit_log(data: Omit<AuditLog, "id" | "created_at">): Promise<{
18
+ id: string;
19
+ }>;
20
+ /**
21
+ * Get audit log by ID
22
+ */
23
+ get_audit_log_by_id(id: string): Promise<AuditLog>;
24
+ /**
25
+ * List audit logs with pagination and filtering
26
+ */
27
+ list_audit_logs(filters?: {
28
+ entity_type?: string;
29
+ entity_id?: string;
30
+ action?: string;
31
+ user_id?: string;
32
+ start_date?: string;
33
+ end_date?: string;
34
+ page?: number;
35
+ limit?: number;
36
+ }): Promise<{
37
+ data: AuditLog[];
38
+ pagination: PaginationInfo;
39
+ }>;
40
+ /**
41
+ * Get audit logs for a specific entity
42
+ */
43
+ get_audit_logs_by_entity(entity_type: string, entity_id: string, filters?: {
44
+ action?: string;
45
+ user_id?: string;
46
+ start_date?: string;
47
+ end_date?: string;
48
+ page?: number;
49
+ limit?: number;
50
+ }): Promise<{
51
+ data: AuditLog[];
52
+ pagination: PaginationInfo;
53
+ }>;
54
+ /**
55
+ * Get audit logs for a specific user
56
+ */
57
+ get_audit_logs_by_user(user_id: string, filters?: {
58
+ entity_type?: string;
59
+ action?: string;
60
+ start_date?: string;
61
+ end_date?: string;
62
+ page?: number;
63
+ limit?: number;
64
+ }): Promise<{
65
+ data: AuditLog[];
66
+ pagination: PaginationInfo;
67
+ }>;
68
+ /**
69
+ * Delete old audit logs (cleanup)
70
+ */
71
+ delete_old_audit_logs(retention_days?: number): Promise<{
72
+ deleted_count: number;
73
+ }>;
74
+ /**
75
+ * Get audit log statistics
76
+ */
77
+ get_audit_log_statistics(): Promise<{
78
+ total_logs: number;
79
+ logs_by_entity_type: Record<string, number>;
80
+ logs_by_action: Record<string, number>;
81
+ recent_activity: AuditLog[];
82
+ }>;
83
+ /**
84
+ * Log entity creation
85
+ */
86
+ log_entity_created(entity_type: string, entity_id: string, user_id?: string, metadata?: Record<string, any>): Promise<void>;
87
+ /**
88
+ * Log entity update
89
+ */
90
+ log_entity_updated(entity_type: string, entity_id: string, changes: Record<string, any>, user_id?: string, metadata?: Record<string, any>): Promise<void>;
91
+ /**
92
+ * Log entity deletion
93
+ */
94
+ log_entity_deleted(entity_type: string, entity_id: string, user_id?: string, metadata?: Record<string, any>): Promise<void>;
95
+ /**
96
+ * Log entity access
97
+ */
98
+ log_entity_accessed(entity_type: string, entity_id: string, user_id?: string, metadata?: Record<string, any>): Promise<void>;
99
+ /**
100
+ * Log custom action
101
+ */
102
+ log_custom_action(entity_type: string, entity_id: string, action: string, user_id?: string, changes?: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
103
+ }
104
+ //# sourceMappingURL=audit_log.service.d.ts.map