@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,451 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview MCP (Model Context Protocol) Utilities
4
+ *
5
+ * Utility functions for managing MCP servers, including creation, connection,
6
+ * and lifecycle management. This centralizes MCP server operations across the application.
7
+ *
8
+ * @author MeasureOne, Inc.
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MCPServerManager = void 0;
13
+ exports.create_and_connect_mcp_servers = create_and_connect_mcp_servers;
14
+ exports.create_and_connect_mcp_servers_array = create_and_connect_mcp_servers_array;
15
+ exports.get_mcp_server_manager = get_mcp_server_manager;
16
+ exports.get_mcp_servers_by_name_pattern = get_mcp_servers_by_name_pattern;
17
+ exports.get_mcp_server_by_name = get_mcp_server_by_name;
18
+ exports.get_all_mcp_tools = get_all_mcp_tools;
19
+ const logger_1 = require("./logger");
20
+ const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
21
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js");
22
+ const logger = (0, logger_1.create_compact_logger)('mcp-utils');
23
+ /**
24
+ * MCP Server Manager - Handles creation, connection, and lifecycle of MCP servers
25
+ */
26
+ class MCPServerManager {
27
+ constructor() {
28
+ this.connected_servers = new Map();
29
+ this.cached_tools = [];
30
+ this.initialization_promise = null;
31
+ }
32
+ /**
33
+ * Get singleton instance of MCP Server Manager
34
+ */
35
+ static get_instance() {
36
+ if (!MCPServerManager.instance) {
37
+ MCPServerManager.instance = new MCPServerManager();
38
+ }
39
+ return MCPServerManager.instance;
40
+ }
41
+ /**
42
+ * Get all available MCP tools from all connected servers (static method)
43
+ *
44
+ * @param configs - Array of MCP server configurations
45
+ * @returns Promise<MCPToolEntry[]> - Array of all available tools
46
+ */
47
+ static async get_all_mcp_tools(configs) {
48
+ const manager = MCPServerManager.get_instance();
49
+ // Ensure servers are initialized
50
+ await manager.create_and_connect_servers(configs);
51
+ // Return cached tools
52
+ return manager.cached_tools;
53
+ }
54
+ /**
55
+ * Create and connect MCP servers from configurations
56
+ *
57
+ * @param configs - Array of MCP server configurations
58
+ * @returns Promise<Map<string, Client>> - Map of connected MCP servers by name
59
+ */
60
+ static async create_and_connect_mcp_servers(configs) {
61
+ const manager = MCPServerManager.get_instance();
62
+ return await manager.create_and_connect_servers(configs);
63
+ }
64
+ /**
65
+ * Create and connect MCP servers (instance method)
66
+ *
67
+ * @param configs - Array of MCP server configurations
68
+ * @returns Promise<Map<string, Client>> - Map of connected MCP servers by name
69
+ */
70
+ async create_and_connect_servers(configs) {
71
+ if (this.initialization_promise) {
72
+ await this.initialization_promise;
73
+ return this.connected_servers;
74
+ }
75
+ this.initialization_promise = this._initialize_servers(configs);
76
+ await this.initialization_promise;
77
+ return this.connected_servers;
78
+ }
79
+ /**
80
+ * Internal method to initialize servers
81
+ * Only initializes stdio servers. HTTP servers are handled via server_url in tool definitions.
82
+ *
83
+ * @param configs - Array of MCP server configurations
84
+ */
85
+ async _initialize_servers(configs) {
86
+ logger.info(`🔌 Processing ${configs.length} MCP server configurations`);
87
+ const servers = new Map();
88
+ const http_servers = [];
89
+ for (const config of configs) {
90
+ // Check for HTTP mode - check both transport_mode and server_url
91
+ const transport_mode = config.transport_mode;
92
+ const server_url = config.server_url;
93
+ const is_http_mode = transport_mode === 'http' || !!server_url;
94
+ if (is_http_mode) {
95
+ // HTTP mode: skip stdio connection, server will be accessed via URL
96
+ logger.info(`🌐 MCP server ${config.name} configured for HTTP mode at ${server_url || 'unknown URL'}`);
97
+ http_servers.push(config.name);
98
+ continue;
99
+ }
100
+ // Stdio mode: create and connect server using MCP SDK
101
+ try {
102
+ if (!config.command || !config.args || !config.cwd) {
103
+ logger.warn(`⚠️ Skipping MCP server ${config.name}: missing required stdio configuration (command, args, cwd)`);
104
+ continue;
105
+ }
106
+ logger.info(`🔌 Creating stdio MCP server: ${config.name}`);
107
+ // Create StdioClientTransport with server parameters
108
+ const transport = new stdio_js_1.StdioClientTransport({
109
+ command: config.command,
110
+ args: config.args,
111
+ env: config.env
112
+ });
113
+ // Create MCP Client
114
+ const client = new index_js_1.Client({
115
+ name: `savant-${config.name}`,
116
+ version: '1.0.0'
117
+ });
118
+ // Connect the client to the server
119
+ await client.connect(transport);
120
+ logger.info(`🔌 MCP server ${config.name} connected successfully`);
121
+ servers.set(config.name, client);
122
+ logger.info(`✅ MCP server ${config.name} created and connected successfully`);
123
+ }
124
+ catch (error) {
125
+ logger.error(`Failed to create/connect MCP server ${config.name}: Server not found or connection failed`);
126
+ // Clean up any servers that were successfully created before this failure
127
+ if (servers.size > 0) {
128
+ logger.info(`Cleaning up ${servers.size} successfully created servers before exit`);
129
+ for (const [name, client] of servers) {
130
+ try {
131
+ await client.close();
132
+ logger.info(`Cleaned up server: ${name}`);
133
+ }
134
+ catch (cleanup_error) {
135
+ // Silent cleanup - don't log cleanup errors
136
+ }
137
+ }
138
+ }
139
+ throw new Error(`MCP server ${config.name} initialization failed`);
140
+ }
141
+ }
142
+ this.connected_servers = servers;
143
+ logger.info(`✅ MCP servers initialization completed: ${servers.size} stdio servers ready, ${http_servers.length} HTTP servers configured`);
144
+ // Cache tools from stdio servers only (HTTP servers are accessed directly)
145
+ if (servers.size > 0) {
146
+ await this._cache_all_tools();
147
+ }
148
+ }
149
+ /**
150
+ * Get currently connected MCP servers
151
+ *
152
+ * @returns Map<string, Client> - Map of connected MCP servers by name
153
+ */
154
+ get_connected_servers() {
155
+ return new Map(this.connected_servers);
156
+ }
157
+ /**
158
+ * Get all connected MCP servers as an array
159
+ *
160
+ * @returns Client[] - Array of connected MCP servers
161
+ */
162
+ get_connected_servers_array() {
163
+ return Array.from(this.connected_servers.values());
164
+ }
165
+ /**
166
+ * Get all connected MCP servers with their names
167
+ *
168
+ * @returns Array<{name: string, server: Client}> - Array of connected MCP servers with names
169
+ */
170
+ get_connected_servers_with_names() {
171
+ return Array.from(this.connected_servers.entries()).map(([name, server]) => ({ name, server }));
172
+ }
173
+ /**
174
+ * Get MCP server by exact name
175
+ *
176
+ * @param name - Exact name of the MCP server
177
+ * @returns Client | undefined - The MCP server or undefined if not found
178
+ */
179
+ get_server_by_name(name) {
180
+ return this.connected_servers.get(name);
181
+ }
182
+ /**
183
+ * Get MCP servers by name pattern
184
+ *
185
+ * @param name_pattern - Name pattern to filter by (e.g., 'embeddings', 'puppeteer')
186
+ * @returns Client[] - Filtered array of MCP servers
187
+ */
188
+ get_servers_by_name_pattern(name_pattern) {
189
+ const servers = [];
190
+ for (const [name, server] of this.connected_servers) {
191
+ if (name.includes(name_pattern)) {
192
+ servers.push(server);
193
+ }
194
+ }
195
+ return servers;
196
+ }
197
+ /**
198
+ * Get MCP servers by name pattern as a Map
199
+ *
200
+ * @param name_pattern - Name pattern to filter by (e.g., 'embeddings', 'puppeteer')
201
+ * @returns Map<string, Client> - Filtered map of MCP servers
202
+ */
203
+ get_servers_by_name_pattern_map(name_pattern) {
204
+ const filtered_servers = new Map();
205
+ for (const [name, server] of this.connected_servers) {
206
+ if (name.includes(name_pattern)) {
207
+ filtered_servers.set(name, server);
208
+ }
209
+ }
210
+ return filtered_servers;
211
+ }
212
+ /**
213
+ * Disconnect all MCP servers
214
+ */
215
+ async disconnect_all_servers() {
216
+ try {
217
+ logger.info(`🔌 Disconnecting ${this.connected_servers.size} MCP servers`);
218
+ for (const [name, client] of this.connected_servers) {
219
+ try {
220
+ await client.close();
221
+ logger.info(`🔌 MCP server ${name} - cleanup completed`);
222
+ }
223
+ catch (error) {
224
+ logger.error(`❌ Error during MCP server ${name} cleanup:`, error instanceof Error ? error : new Error(String(error)));
225
+ }
226
+ }
227
+ this.connected_servers = new Map();
228
+ this.initialization_promise = null;
229
+ logger.info(`✅ All MCP servers disconnected`);
230
+ }
231
+ catch (error) {
232
+ logger.error('❌ Failed to disconnect MCP servers:', error instanceof Error ? error : new Error(String(error)));
233
+ }
234
+ }
235
+ /**
236
+ * Check if MCP servers are initialized
237
+ *
238
+ * @returns boolean - True if servers are initialized
239
+ */
240
+ is_initialized() {
241
+ return this.connected_servers.size > 0;
242
+ }
243
+ /**
244
+ * Get server count
245
+ *
246
+ * @returns number - Number of connected servers
247
+ */
248
+ get_server_count() {
249
+ return this.connected_servers.size;
250
+ }
251
+ /**
252
+ * Get all server names
253
+ *
254
+ * @returns string[] - Array of server names
255
+ */
256
+ get_server_names() {
257
+ return Array.from(this.connected_servers.keys());
258
+ }
259
+ /**
260
+ * Get all cached MCP tools
261
+ *
262
+ * @returns MCPToolEntry[] - Array of cached tools
263
+ */
264
+ get_cached_tools() {
265
+ return [...this.cached_tools];
266
+ }
267
+ /**
268
+ * Get cached tools filtered by server name
269
+ *
270
+ * @param server_name - Optional server name to filter by
271
+ * @returns MCPToolEntry[] - Array of filtered tools
272
+ */
273
+ get_cached_tools_by_server(server_name) {
274
+ if (!server_name) {
275
+ return this.get_cached_tools();
276
+ }
277
+ return this.cached_tools.filter(tool => tool.server.includes(server_name));
278
+ }
279
+ /**
280
+ * Refresh the tools cache by re-fetching tools from all connected servers
281
+ *
282
+ * @returns Promise<void>
283
+ */
284
+ async refresh_tools_cache() {
285
+ logger.info(`🔄 Refreshing tools cache from ${this.connected_servers.size} MCP servers`);
286
+ await this._cache_all_tools();
287
+ }
288
+ /**
289
+ * Internal method to cache all tools from connected servers
290
+ */
291
+ async _cache_all_tools() {
292
+ logger.info(`🔧 Caching tools from ${this.connected_servers.size} MCP servers`);
293
+ this.cached_tools = [];
294
+ for (const [server_name, client] of this.connected_servers) {
295
+ try {
296
+ logger.info(`🔧 Getting tools from MCP server: ${server_name}`);
297
+ // Make the native MCP tools/list call
298
+ const tools_response = await client.listTools();
299
+ // Handle different response formats
300
+ let tools_array = [];
301
+ if (tools_response && Array.isArray(tools_response)) {
302
+ // Direct array response
303
+ tools_array = tools_response;
304
+ }
305
+ else if (tools_response && typeof tools_response === 'object' && tools_response.tools && Array.isArray(tools_response.tools)) {
306
+ // Response with tools property
307
+ tools_array = tools_response.tools;
308
+ }
309
+ else if (tools_response && typeof tools_response === 'object' && 'result' in tools_response && Array.isArray(tools_response.result)) {
310
+ // Response with result property
311
+ tools_array = tools_response.result;
312
+ }
313
+ if (tools_array.length > 0) {
314
+ logger.info(`🔧 Found ${tools_array.length} tools in server ${server_name}`);
315
+ for (const tool of tools_array) {
316
+ // Format the tool information
317
+ const formatted_tool = {
318
+ server: server_name,
319
+ name: tool.name,
320
+ description: tool.description || '',
321
+ inputSchema: tool.inputSchema,
322
+ parameters: this._extract_parameters_from_schema(tool.inputSchema),
323
+ tags: this._extract_tags_from_tool(tool)
324
+ };
325
+ this.cached_tools.push(formatted_tool);
326
+ }
327
+ }
328
+ else {
329
+ logger.warn(`🔧 No tools found in server ${server_name}`, {
330
+ tools_response_type: typeof tools_response,
331
+ tools_response_value: tools_response
332
+ });
333
+ }
334
+ }
335
+ catch (error) {
336
+ logger.warn(`🔧 Failed to get tools from MCP server ${server_name}:`, error instanceof Error ? error.message : String(error));
337
+ // Continue with other servers
338
+ }
339
+ }
340
+ logger.info(`🔧 Cached ${this.cached_tools.length} tools from ${this.connected_servers.size} MCP servers`);
341
+ }
342
+ /**
343
+ * Extract parameters from MCP tool input schema
344
+ */
345
+ _extract_parameters_from_schema(inputSchema) {
346
+ if (!inputSchema || !inputSchema.properties) {
347
+ return {};
348
+ }
349
+ const parameters = {};
350
+ const properties = inputSchema.properties;
351
+ const required = inputSchema.required || [];
352
+ for (const [paramName, paramSchema] of Object.entries(properties)) {
353
+ parameters[paramName] = {
354
+ type: paramSchema.type || 'string',
355
+ required: required.includes(paramName),
356
+ description: paramSchema.description || '',
357
+ ...paramSchema
358
+ };
359
+ }
360
+ return parameters;
361
+ }
362
+ /**
363
+ * Extract tags from tool information
364
+ */
365
+ _extract_tags_from_tool(tool) {
366
+ const tags = [];
367
+ // Add server-based tags
368
+ if (tool.name?.includes('puppeteer'))
369
+ tags.push('puppeteer', 'browser', 'automation');
370
+ if (tool.name?.includes('embeddings'))
371
+ tags.push('embeddings', 'knowledge', 'search');
372
+ if (tool.name?.includes('parser'))
373
+ tags.push('parser', 'extraction');
374
+ // Add operation-based tags
375
+ if (tool.name?.includes('navigate'))
376
+ tags.push('navigation');
377
+ if (tool.name?.includes('click'))
378
+ tags.push('interaction');
379
+ if (tool.name?.includes('extract'))
380
+ tags.push('extraction');
381
+ if (tool.name?.includes('launch'))
382
+ tags.push('initialization');
383
+ return [...new Set(tags)]; // Remove duplicates
384
+ }
385
+ }
386
+ exports.MCPServerManager = MCPServerManager;
387
+ /**
388
+ * Convenience function to create and connect MCP servers
389
+ *
390
+ * @param configs - Array of MCP server configurations
391
+ * @returns Promise<Map<string, Client>> - Map of connected MCP servers by name
392
+ */
393
+ async function create_and_connect_mcp_servers(configs) {
394
+ return await MCPServerManager.create_and_connect_mcp_servers(configs);
395
+ }
396
+ /**
397
+ * Convenience function to create and connect MCP servers as an array
398
+ *
399
+ * @param configs - Array of MCP server configurations
400
+ * @returns Promise<Client[]> - Array of connected MCP servers
401
+ */
402
+ async function create_and_connect_mcp_servers_array(configs) {
403
+ const serversMap = await MCPServerManager.create_and_connect_mcp_servers(configs);
404
+ return Array.from(serversMap.values());
405
+ }
406
+ /**
407
+ * Get the MCP server manager instance
408
+ *
409
+ * @returns MCPServerManager - Singleton instance
410
+ */
411
+ function get_mcp_server_manager() {
412
+ return MCPServerManager.get_instance();
413
+ }
414
+ /**
415
+ * Convenience function to get MCP servers by name pattern
416
+ *
417
+ * @param name_pattern - Name pattern to filter by (e.g., 'embeddings', 'puppeteer')
418
+ * @returns Promise<Client[]> - Array of filtered MCP servers
419
+ */
420
+ async function get_mcp_servers_by_name_pattern(name_pattern) {
421
+ const manager = MCPServerManager.get_instance();
422
+ if (!manager.is_initialized()) {
423
+ // Initialize with empty configs if not already initialized
424
+ await manager.create_and_connect_servers([]);
425
+ }
426
+ return manager.get_servers_by_name_pattern(name_pattern);
427
+ }
428
+ /**
429
+ * Convenience function to get a specific MCP server by name
430
+ *
431
+ * @param name - Exact name of the MCP server
432
+ * @returns Promise<Client | undefined> - The MCP server or undefined if not found
433
+ */
434
+ async function get_mcp_server_by_name(name) {
435
+ const manager = MCPServerManager.get_instance();
436
+ if (!manager.is_initialized()) {
437
+ // Initialize with empty configs if not already initialized
438
+ await manager.create_and_connect_servers([]);
439
+ }
440
+ return manager.get_server_by_name(name);
441
+ }
442
+ /**
443
+ * Convenience function to get all MCP tools from all servers
444
+ *
445
+ * @param configs - Array of MCP server configurations
446
+ * @returns Promise<MCPToolEntry[]> - Array of all available tools
447
+ */
448
+ async function get_all_mcp_tools(configs) {
449
+ return await MCPServerManager.get_all_mcp_tools(configs);
450
+ }
451
+ //# sourceMappingURL=mcp-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-utils.js","sourceRoot":"","sources":["../../../src/lib/utils/mcp-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @fileoverview Shared Sequelize Service and Configuration
3
+ *
4
+ * Comprehensive Sequelize ORM service with configuration management,
5
+ * connection pooling, performance monitoring, and singleton pattern.
6
+ * This service can be used across all microservices for consistent database access.
7
+ *
8
+ * @author MeasureOne, Inc.
9
+ * @version 1.0.0
10
+ */
11
+ import { Sequelize, Transaction } from "sequelize";
12
+ /**
13
+ * Database configuration interface for Sequelize
14
+ */
15
+ export interface SequelizeDatabaseConfig {
16
+ url: string;
17
+ provider: "sqlite" | "postgresql" | "mysql";
18
+ log_queries: boolean;
19
+ connection_timeout: number;
20
+ query_timeout: number;
21
+ pool: {
22
+ max: number;
23
+ min: number;
24
+ acquire: number;
25
+ idle: number;
26
+ };
27
+ }
28
+ /**
29
+ * Sequelize service configuration options
30
+ */
31
+ export interface SequelizeServiceOptions {
32
+ database_config: SequelizeDatabaseConfig;
33
+ setup_associations?: () => void;
34
+ enable_performance_monitoring?: boolean;
35
+ slow_query_threshold_ms?: number;
36
+ }
37
+ /**
38
+ * Database health check result
39
+ */
40
+ export interface DatabaseHealthResult {
41
+ status: "healthy" | "unhealthy";
42
+ timestamp: string;
43
+ details?: {
44
+ response_time_ms?: number;
45
+ dialect?: string;
46
+ database_name?: string;
47
+ error?: string;
48
+ };
49
+ }
50
+ /**
51
+ * Query statistics interface
52
+ */
53
+ export interface QueryStats {
54
+ dialect: string;
55
+ database_name: string;
56
+ is_connected: boolean;
57
+ total_queries?: number;
58
+ slow_queries?: number;
59
+ average_response_time?: number;
60
+ }
61
+ /**
62
+ * Shared Sequelize Service for all microservices
63
+ */
64
+ export declare class SequelizeService {
65
+ private static instances;
66
+ private sequelize;
67
+ private is_connected;
68
+ private service_name;
69
+ private options;
70
+ private query_stats;
71
+ private constructor();
72
+ /**
73
+ * Get singleton instance of SequelizeService for a specific service
74
+ */
75
+ static get_instance(service_name: string, options: SequelizeServiceOptions): SequelizeService;
76
+ /**
77
+ * Get Sequelize instance
78
+ */
79
+ get client(): Sequelize;
80
+ /**
81
+ * Check if database is connected
82
+ */
83
+ get connected(): boolean;
84
+ /**
85
+ * Get service name
86
+ */
87
+ get name(): string;
88
+ /**
89
+ * Create Sequelize instance with comprehensive configuration
90
+ */
91
+ private create_sequelize_instance;
92
+ /**
93
+ * Setup performance monitoring hooks
94
+ */
95
+ private setup_performance_monitoring;
96
+ /**
97
+ * Setup event handlers for database connection
98
+ */
99
+ private setup_event_handlers;
100
+ /**
101
+ * Connect to database
102
+ */
103
+ connect(): Promise<void>;
104
+ /**
105
+ * Disconnect from database
106
+ */
107
+ disconnect(): Promise<void>;
108
+ /**
109
+ * Check database health
110
+ */
111
+ health_check(): Promise<DatabaseHealthResult>;
112
+ /**
113
+ * Execute database transaction
114
+ */
115
+ transaction<T>(callback: (transaction: Transaction) => Promise<T>): Promise<T>;
116
+ /**
117
+ * Execute raw SQL query with logging
118
+ */
119
+ query(sql: string, options?: any): Promise<any>;
120
+ /**
121
+ * Get query statistics
122
+ */
123
+ get_query_stats(): QueryStats;
124
+ /**
125
+ * Setup model associations (call this after models are initialized)
126
+ */
127
+ setup_model_associations(): void;
128
+ /**
129
+ * Sync database schema (for development)
130
+ */
131
+ sync_schema(options?: any): Promise<void>;
132
+ /**
133
+ * Drop all tables (for testing)
134
+ */
135
+ drop_all_tables(): Promise<void>;
136
+ /**
137
+ * Get all active instances (for monitoring)
138
+ */
139
+ static get_all_instances(): Map<string, SequelizeService>;
140
+ /**
141
+ * Close all instances (for cleanup)
142
+ */
143
+ static close_all_instances(): Promise<void>;
144
+ }
145
+ /**
146
+ * Default database configuration factory
147
+ */
148
+ export declare function create_default_database_config(url: string, provider?: "sqlite" | "postgresql" | "mysql", log_queries?: boolean): SequelizeDatabaseConfig;
149
+ /**
150
+ * Create Sequelize service with default configuration
151
+ */
152
+ export declare function create_sequelize_service(service_name: string, database_url: string, options?: Partial<SequelizeServiceOptions>): SequelizeService;
153
+ //# sourceMappingURL=sequelize-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequelize-service.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/sequelize-service.ts"],"names":[],"mappings":"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"}