@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,189 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview HTML Content Summarizer
4
+ *
5
+ * Utility to summarize or truncate large HTML content to prevent context window overflow.
6
+ * Extracts key information (links, buttons, forms, headings) while reducing token count.
7
+ *
8
+ * @author MeasureOne
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.summarize_html_content = summarize_html_content;
13
+ exports.process_tool_result_for_context = process_tool_result_for_context;
14
+ const logger_1 = require("./logger");
15
+ const logger = (0, logger_1.create_default_logger)("html-summarizer");
16
+ /**
17
+ * Maximum content length before summarization (in characters)
18
+ * ~50KB of HTML content is roughly 10-15K tokens
19
+ */
20
+ const MAX_CONTENT_LENGTH = 50000;
21
+ /**
22
+ * Maximum length for summarized content (in characters)
23
+ * ~10KB of summarized content is roughly 2-3K tokens
24
+ */
25
+ const MAX_SUMMARY_LENGTH = 10000;
26
+ /**
27
+ * Summarize large HTML content by extracting key elements
28
+ *
29
+ * @param html_content - Full HTML content
30
+ * @param url - Optional URL for context
31
+ * @param title - Optional page title for context
32
+ * @returns Summarized HTML content with key elements
33
+ */
34
+ function summarize_html_content(html_content, url, title) {
35
+ if (!html_content || html_content.length <= MAX_CONTENT_LENGTH) {
36
+ return html_content;
37
+ }
38
+ logger.info("Summarizing large HTML content", {
39
+ original_length: html_content.length,
40
+ url,
41
+ title
42
+ });
43
+ try {
44
+ // Extract key elements using regex (lightweight, no DOM parsing needed)
45
+ const summary_parts = [];
46
+ // Add metadata
47
+ if (url)
48
+ summary_parts.push(`URL: ${url}`);
49
+ if (title)
50
+ summary_parts.push(`Title: ${title}`);
51
+ // Extract links (a tags with href)
52
+ const link_pattern = /<a[^>]*href=["']([^"']+)["'][^>]*>(.*?)<\/a>/gi;
53
+ const links = [];
54
+ let link_match;
55
+ let link_count = 0;
56
+ while ((link_match = link_pattern.exec(html_content)) !== null && link_count < 50) {
57
+ const href = link_match[1];
58
+ const text = link_match[2].replace(/<[^>]+>/g, '').trim();
59
+ if (text && href && !href.startsWith('javascript:') && !href.startsWith('#')) {
60
+ links.push(`- [${text}](${href})`);
61
+ link_count++;
62
+ }
63
+ }
64
+ if (links.length > 0) {
65
+ summary_parts.push(`\nLinks (${links.length}):\n${links.slice(0, 30).join('\n')}`);
66
+ if (links.length > 30) {
67
+ summary_parts.push(`... and ${links.length - 30} more links`);
68
+ }
69
+ }
70
+ // Extract buttons (button tags and input[type="submit|button"])
71
+ const button_pattern = /<(button|input[^>]*type=["'](?:submit|button)["'][^>]*)>(.*?)<\/button>|<input[^>]*type=["'](?:submit|button)["'][^>]*\/?>/gi;
72
+ const buttons = [];
73
+ let button_match;
74
+ let button_count = 0;
75
+ while ((button_match = button_pattern.exec(html_content)) !== null && button_count < 30) {
76
+ const button_text = button_match[3]?.replace(/<[^>]+>/g, '').trim() ||
77
+ button_match[0].match(/value=["']([^"']+)["']/)?.[1] ||
78
+ button_match[0].match(/aria-label=["']([^"']+)["']/)?.[1] ||
79
+ '[Button]';
80
+ const button_id = button_match[0].match(/id=["']([^"']+)["']/)?.[1];
81
+ const button_class = button_match[0].match(/class=["']([^"']+)["']/)?.[1];
82
+ buttons.push(`- ${button_text}${button_id ? ` (id: ${button_id})` : ''}${button_class ? ` (class: ${button_class})` : ''}`);
83
+ button_count++;
84
+ }
85
+ if (buttons.length > 0) {
86
+ summary_parts.push(`\nButtons (${buttons.length}):\n${buttons.slice(0, 20).join('\n')}`);
87
+ if (buttons.length > 20) {
88
+ summary_parts.push(`... and ${buttons.length - 20} more buttons`);
89
+ }
90
+ }
91
+ // Extract form inputs (input, select, textarea)
92
+ const form_input_pattern = /<(input|select|textarea)[^>]*>/gi;
93
+ const form_inputs = [];
94
+ let input_match;
95
+ let input_count = 0;
96
+ while ((input_match = form_input_pattern.exec(html_content)) !== null && input_count < 30) {
97
+ const input_type = input_match[0].match(/type=["']([^"']+)["']/)?.[1] || 'text';
98
+ const input_name = input_match[0].match(/name=["']([^"']+)["']/)?.[1];
99
+ const input_id = input_match[0].match(/id=["']([^"']+)["']/)?.[1];
100
+ const input_placeholder = input_match[0].match(/placeholder=["']([^"']+)["']/)?.[1];
101
+ const label = input_placeholder || input_name || input_id || input_type;
102
+ form_inputs.push(`- ${label} (type: ${input_type})${input_id ? ` (id: ${input_id})` : ''}`);
103
+ input_count++;
104
+ }
105
+ if (form_inputs.length > 0) {
106
+ summary_parts.push(`\nForm Inputs (${form_inputs.length}):\n${form_inputs.slice(0, 20).join('\n')}`);
107
+ if (form_inputs.length > 20) {
108
+ summary_parts.push(`... and ${form_inputs.length - 20} more inputs`);
109
+ }
110
+ }
111
+ // Extract headings (h1-h6)
112
+ const heading_pattern = /<(h[1-6])[^>]*>(.*?)<\/h[1-6]>/gi;
113
+ const headings = [];
114
+ let heading_match;
115
+ while ((heading_match = heading_pattern.exec(html_content)) !== null && headings.length < 20) {
116
+ const level = heading_match[1];
117
+ const text = heading_match[2].replace(/<[^>]+>/g, '').trim();
118
+ if (text) {
119
+ headings.push(`${'#'.repeat(parseInt(level[1]))} ${text}`);
120
+ }
121
+ }
122
+ if (headings.length > 0) {
123
+ summary_parts.push(`\nHeadings:\n${headings.join('\n')}`);
124
+ }
125
+ // Extract text content (first 2000 chars of visible text)
126
+ const text_content = html_content
127
+ .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '')
128
+ .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '')
129
+ .replace(/<[^>]+>/g, ' ')
130
+ .replace(/\s+/g, ' ')
131
+ .trim()
132
+ .slice(0, 2000);
133
+ if (text_content) {
134
+ summary_parts.push(`\nText Content (first 2000 chars):\n${text_content}${text_content.length >= 2000 ? '...' : ''}`);
135
+ }
136
+ const summary = summary_parts.join('\n\n');
137
+ // Truncate if still too long
138
+ if (summary.length > MAX_SUMMARY_LENGTH) {
139
+ return summary.slice(0, MAX_SUMMARY_LENGTH) + '\n\n[Content truncated due to size]';
140
+ }
141
+ logger.info("HTML content summarized", {
142
+ original_length: html_content.length,
143
+ summary_length: summary.length,
144
+ reduction_percent: Math.round((1 - summary.length / html_content.length) * 100)
145
+ });
146
+ return summary;
147
+ }
148
+ catch (error) {
149
+ logger.error("Failed to summarize HTML content", { error });
150
+ // Fallback: truncate the original content
151
+ return html_content.slice(0, MAX_SUMMARY_LENGTH) + '\n\n[Content truncated due to size and summarization error]';
152
+ }
153
+ }
154
+ /**
155
+ * Check if a tool result contains large HTML content that should be summarized
156
+ *
157
+ * @param tool_result - Tool execution result
158
+ * @param tool_name - Name of the tool that was executed
159
+ * @returns Object with summarized result if needed, or original result
160
+ */
161
+ function process_tool_result_for_context(tool_result, tool_name) {
162
+ // Only process get_page_content results
163
+ if (tool_name !== 'get_page_content') {
164
+ return tool_result;
165
+ }
166
+ // Check if result has content field with HTML
167
+ if (!tool_result || typeof tool_result !== 'object') {
168
+ return tool_result;
169
+ }
170
+ const content = tool_result.content;
171
+ if (!content || typeof content !== 'string') {
172
+ return tool_result;
173
+ }
174
+ // If content is small enough, return as-is
175
+ if (content.length <= MAX_CONTENT_LENGTH) {
176
+ return tool_result;
177
+ }
178
+ // Summarize the HTML content
179
+ const summarized_content = summarize_html_content(content, tool_result.url, tool_result.title);
180
+ // Return result with summarized content
181
+ return {
182
+ ...tool_result,
183
+ content: summarized_content,
184
+ content_length: summarized_content.length,
185
+ original_content_length: content.length,
186
+ _summarized: true
187
+ };
188
+ }
189
+ //# sourceMappingURL=html-summarizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-summarizer.js","sourceRoot":"","sources":["../../../src/lib/utils/html-summarizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @fileoverview Shared HTTP Client Utility
3
+ *
4
+ * Standardized HTTP client with retry logic, error handling, and logging
5
+ * for all MeasureOne services.
6
+ *
7
+ * @author MeasureOne, Inc.
8
+ * @version 1.0.0
9
+ */
10
+ import { Logger } from './logger';
11
+ import { HttpClientConfig, HttpRequestOptions, HttpResponse } from '../schemas';
12
+ /**
13
+ * HTTP error with additional context
14
+ */
15
+ export declare class HttpClientError extends Error {
16
+ status_code?: number | undefined;
17
+ response_data?: any | undefined;
18
+ original_error?: Error | undefined;
19
+ constructor(message: string, status_code?: number | undefined, response_data?: any | undefined, original_error?: Error | undefined);
20
+ }
21
+ /**
22
+ * HTTP connection error
23
+ */
24
+ export declare class HttpConnectionError extends Error {
25
+ original_error?: Error | undefined;
26
+ constructor(message: string, original_error?: Error | undefined);
27
+ }
28
+ /**
29
+ * HTTP timeout error
30
+ */
31
+ export declare class HttpTimeoutError extends Error {
32
+ timeout_ms: number;
33
+ constructor(message: string, timeout_ms: number);
34
+ }
35
+ /**
36
+ * Extended HTTP client configuration
37
+ */
38
+ type ExtendedHttpClientConfig = HttpClientConfig & {
39
+ enable_logging?: boolean;
40
+ logger?: Logger;
41
+ };
42
+ /**
43
+ * Standardized HTTP client with retry logic and error handling
44
+ */
45
+ export declare class HttpClient {
46
+ private client;
47
+ private config;
48
+ private logger;
49
+ constructor(config?: ExtendedHttpClientConfig);
50
+ /**
51
+ * Setup request and response interceptors
52
+ */
53
+ private setup_interceptors;
54
+ /**
55
+ * Check if an error should trigger a retry
56
+ */
57
+ private should_retry;
58
+ /**
59
+ * Sleep for specified milliseconds
60
+ */
61
+ private sleep;
62
+ /**
63
+ * Make HTTP request with retry logic
64
+ */
65
+ private make_request;
66
+ /**
67
+ * GET request
68
+ */
69
+ get<T = any>(endpoint: string, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
70
+ /**
71
+ * POST request
72
+ */
73
+ post<T = any>(endpoint: string, data?: any, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
74
+ /**
75
+ * PUT request
76
+ */
77
+ put<T = any>(endpoint: string, data?: any, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
78
+ /**
79
+ * PATCH request
80
+ */
81
+ patch<T = any>(endpoint: string, data?: any, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
82
+ /**
83
+ * DELETE request
84
+ */
85
+ delete<T = any>(endpoint: string, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
86
+ /**
87
+ * HEAD request
88
+ */
89
+ head<T = any>(endpoint: string, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
90
+ /**
91
+ * Test connection to the base URL
92
+ */
93
+ test_connection(): Promise<{
94
+ success: boolean;
95
+ message: string;
96
+ response_time_ms?: number;
97
+ }>;
98
+ /**
99
+ * Update client configuration
100
+ */
101
+ configure(new_config: Partial<ExtendedHttpClientConfig>): void;
102
+ }
103
+ /**
104
+ * Create a new HTTP client instance
105
+ */
106
+ export declare const create_http_client: (config?: ExtendedHttpClientConfig) => HttpClient;
107
+ export {};
108
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Shared HTTP Client Utility
4
+ *
5
+ * Standardized HTTP client with retry logic, error handling, and logging
6
+ * for all MeasureOne services.
7
+ *
8
+ * @author MeasureOne, Inc.
9
+ * @version 1.0.0
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.create_http_client = exports.HttpClient = exports.HttpTimeoutError = exports.HttpConnectionError = exports.HttpClientError = void 0;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const logger_1 = require("./logger");
18
+ /**
19
+ * HTTP error with additional context
20
+ */
21
+ class HttpClientError extends Error {
22
+ constructor(message, status_code, response_data, original_error) {
23
+ super(message);
24
+ this.status_code = status_code;
25
+ this.response_data = response_data;
26
+ this.original_error = original_error;
27
+ this.name = 'HttpClientError';
28
+ }
29
+ }
30
+ exports.HttpClientError = HttpClientError;
31
+ /**
32
+ * HTTP connection error
33
+ */
34
+ class HttpConnectionError extends Error {
35
+ constructor(message, original_error) {
36
+ super(message);
37
+ this.original_error = original_error;
38
+ this.name = 'HttpConnectionError';
39
+ }
40
+ }
41
+ exports.HttpConnectionError = HttpConnectionError;
42
+ /**
43
+ * HTTP timeout error
44
+ */
45
+ class HttpTimeoutError extends Error {
46
+ constructor(message, timeout_ms) {
47
+ super(message);
48
+ this.timeout_ms = timeout_ms;
49
+ this.name = 'HttpTimeoutError';
50
+ }
51
+ }
52
+ exports.HttpTimeoutError = HttpTimeoutError;
53
+ /**
54
+ * Standardized HTTP client with retry logic and error handling
55
+ */
56
+ class HttpClient {
57
+ constructor(config = {}) {
58
+ this.config = {
59
+ base_url: config.base_url || '',
60
+ timeout: config.timeout || 30000,
61
+ headers: config.headers || {},
62
+ retry_attempts: config.retry_attempts || 3,
63
+ retry_delay: config.retry_delay || 1000,
64
+ enable_logging: config.enable_logging !== false,
65
+ logger: config.logger
66
+ };
67
+ this.logger = this.config.logger || (0, logger_1.create_default_logger)('http-client');
68
+ this.client = axios_1.default.create({
69
+ baseURL: this.config.base_url,
70
+ timeout: this.config.timeout,
71
+ headers: {
72
+ 'Content-Type': 'application/json',
73
+ ...this.config.headers
74
+ }
75
+ });
76
+ this.setup_interceptors();
77
+ }
78
+ /**
79
+ * Setup request and response interceptors
80
+ */
81
+ setup_interceptors() {
82
+ // Request interceptor for logging
83
+ this.client.interceptors.request.use((config) => {
84
+ if (this.config.enable_logging && this.logger) {
85
+ this.logger.debug('HTTP Request', {
86
+ method: config.method?.toUpperCase(),
87
+ url: config.url,
88
+ base_url: config.baseURL,
89
+ headers: config.headers,
90
+ timeout: config.timeout
91
+ });
92
+ }
93
+ return config;
94
+ }, (error) => {
95
+ if (this.config.enable_logging && this.logger) {
96
+ this.logger.error('HTTP Request Error', error);
97
+ }
98
+ return Promise.reject(error);
99
+ });
100
+ // Response interceptor for logging and error handling
101
+ this.client.interceptors.response.use((response) => {
102
+ if (this.config.enable_logging && this.logger) {
103
+ this.logger.debug('HTTP Response', {
104
+ status: response.status,
105
+ status_text: response.statusText,
106
+ url: response.config.url,
107
+ response_size: JSON.stringify(response.data).length
108
+ });
109
+ }
110
+ return response;
111
+ }, (error) => {
112
+ if (this.config.enable_logging && this.logger) {
113
+ this.logger.error('HTTP Response Error', {
114
+ status: error.response?.status,
115
+ status_text: error.response?.statusText,
116
+ url: error.config?.url,
117
+ message: error.message,
118
+ error: error instanceof Error ? error.message : error
119
+ });
120
+ }
121
+ return Promise.reject(error);
122
+ });
123
+ }
124
+ /**
125
+ * Check if an error should trigger a retry
126
+ */
127
+ should_retry(error, attempt) {
128
+ if (attempt >= this.config.retry_attempts) {
129
+ return false;
130
+ }
131
+ // Retry on network errors
132
+ if (error.code === 'ECONNRESET' || error.code === 'ENOTFOUND' || error.code === 'ECONNREFUSED') {
133
+ return true;
134
+ }
135
+ // Retry on timeout
136
+ if (error.code === 'ECONNABORTED') {
137
+ return true;
138
+ }
139
+ // Retry on 5xx server errors
140
+ if (error.response && error.response.status >= 500) {
141
+ return true;
142
+ }
143
+ // Retry on 429 (Too Many Requests)
144
+ if (error.response && error.response.status === 429) {
145
+ return true;
146
+ }
147
+ return false;
148
+ }
149
+ /**
150
+ * Sleep for specified milliseconds
151
+ */
152
+ sleep(ms) {
153
+ return new Promise(resolve => setTimeout(resolve, ms));
154
+ }
155
+ /**
156
+ * Make HTTP request with retry logic
157
+ */
158
+ async make_request(method, endpoint, data, options = {}) {
159
+ const start_time = Date.now();
160
+ let last_error;
161
+ for (let attempt = 1; attempt <= (options.retry_attempts || this.config.retry_attempts); attempt++) {
162
+ try {
163
+ const request_config = {
164
+ method: method.toLowerCase(),
165
+ url: endpoint,
166
+ data,
167
+ headers: { ...this.config.headers, ...options.headers },
168
+ timeout: options.timeout || this.config.timeout,
169
+ params: options.params
170
+ };
171
+ const response = await this.client.request(request_config);
172
+ const duration = Date.now() - start_time;
173
+ return {
174
+ data: response.data,
175
+ status: response.status,
176
+ status_text: response.statusText,
177
+ headers: response.headers,
178
+ request_duration_ms: duration
179
+ };
180
+ }
181
+ catch (error) {
182
+ const axios_error = error;
183
+ last_error = axios_error;
184
+ if (this.should_retry(axios_error, attempt)) {
185
+ const delay = this.config.retry_delay * attempt;
186
+ if (this.config.enable_logging && this.logger) {
187
+ this.logger.warn(`HTTP request failed, retrying in ${delay}ms`, {
188
+ attempt,
189
+ max_attempts: this.config.retry_attempts,
190
+ method,
191
+ endpoint,
192
+ error: axios_error.message
193
+ });
194
+ }
195
+ await this.sleep(delay);
196
+ continue;
197
+ }
198
+ // Convert axios error to our custom error types
199
+ if (axios_error.code === 'ECONNABORTED') {
200
+ throw new HttpTimeoutError(`Request timeout after ${options.timeout || this.config.timeout}ms`, options.timeout || this.config.timeout);
201
+ }
202
+ if (axios_error.code === 'ECONNRESET' || axios_error.code === 'ENOTFOUND' || axios_error.code === 'ECONNREFUSED') {
203
+ throw new HttpConnectionError(`Connection error: ${axios_error.message}`, axios_error);
204
+ }
205
+ throw new HttpClientError(axios_error.message, axios_error.response?.status, axios_error.response?.data, axios_error);
206
+ }
207
+ }
208
+ // This should never be reached, but just in case
209
+ throw new HttpClientError(`Request failed after ${this.config.retry_attempts} attempts`, last_error?.response?.status, last_error?.response?.data, last_error);
210
+ }
211
+ /**
212
+ * GET request
213
+ */
214
+ async get(endpoint, options) {
215
+ return this.make_request('GET', endpoint, undefined, options);
216
+ }
217
+ /**
218
+ * POST request
219
+ */
220
+ async post(endpoint, data, options) {
221
+ return this.make_request('POST', endpoint, data, options);
222
+ }
223
+ /**
224
+ * PUT request
225
+ */
226
+ async put(endpoint, data, options) {
227
+ return this.make_request('PUT', endpoint, data, options);
228
+ }
229
+ /**
230
+ * PATCH request
231
+ */
232
+ async patch(endpoint, data, options) {
233
+ return this.make_request('PATCH', endpoint, data, options);
234
+ }
235
+ /**
236
+ * DELETE request
237
+ */
238
+ async delete(endpoint, options) {
239
+ return this.make_request('DELETE', endpoint, undefined, options);
240
+ }
241
+ /**
242
+ * HEAD request
243
+ */
244
+ async head(endpoint, options) {
245
+ return this.make_request('HEAD', endpoint, undefined, options);
246
+ }
247
+ /**
248
+ * Test connection to the base URL
249
+ */
250
+ async test_connection() {
251
+ try {
252
+ const start_time = Date.now();
253
+ await this.get('/health', { timeout: 5000, retry_attempts: 1 });
254
+ const response_time = Date.now() - start_time;
255
+ return {
256
+ success: true,
257
+ message: 'Connection successful',
258
+ response_time_ms: response_time
259
+ };
260
+ }
261
+ catch (error) {
262
+ return {
263
+ success: false,
264
+ message: error instanceof Error ? error.message : 'Unknown connection error'
265
+ };
266
+ }
267
+ }
268
+ /**
269
+ * Update client configuration
270
+ */
271
+ configure(new_config) {
272
+ this.config = { ...this.config, ...new_config };
273
+ if (new_config.logger) {
274
+ this.logger = new_config.logger;
275
+ }
276
+ // Recreate axios instance if base configuration changed
277
+ if (new_config.base_url || new_config.timeout || new_config.headers) {
278
+ this.client = axios_1.default.create({
279
+ baseURL: this.config.base_url,
280
+ timeout: this.config.timeout,
281
+ headers: {
282
+ 'Content-Type': 'application/json',
283
+ ...this.config.headers
284
+ }
285
+ });
286
+ this.setup_interceptors();
287
+ }
288
+ }
289
+ }
290
+ exports.HttpClient = HttpClient;
291
+ /**
292
+ * Create a new HTTP client instance
293
+ */
294
+ const create_http_client = (config) => {
295
+ return new HttpClient(config);
296
+ };
297
+ exports.create_http_client = create_http_client;
298
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/lib/utils/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview Shared Utilities Index
3
+ *
4
+ * Exports all shared utility functions and services for use across microservices.
5
+ *
6
+ * @author MeasureOne, Inc.
7
+ * @version 1.0.0
8
+ */
9
+ export * from "./file-util";
10
+ export * from "./logger";
11
+ export * from "./sequelize-service";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}