@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,157 @@
1
+ /**
2
+ * @fileoverview Shared File Utility
3
+ *
4
+ * Common file operations and utilities for all MeasureOne services.
5
+ * Provides file validation, MIME type detection, and file manipulation.
6
+ *
7
+ * @author MeasureOne, Inc.
8
+ * @version 1.0.0
9
+ */
10
+ import { Logger } from './logger';
11
+ import { MimeType } from '../schemas';
12
+ /**
13
+ * Supported file formats
14
+ */
15
+ export declare enum SupportedFileFormat {
16
+ PDF = "pdf",
17
+ PNG = "png",
18
+ JPG = "jpg",
19
+ JPEG = "jpeg",
20
+ GIF = "gif",
21
+ BMP = "bmp",
22
+ TIFF = "tiff",
23
+ TXT = "txt",
24
+ JSON = "json",
25
+ XML = "xml",
26
+ HTML = "html",
27
+ CSV = "csv"
28
+ }
29
+ /**
30
+ * File validation result
31
+ */
32
+ export interface FileValidationResult {
33
+ is_valid: boolean;
34
+ file_exists: boolean;
35
+ is_readable: boolean;
36
+ file_size_bytes: number;
37
+ mime_type?: MimeType;
38
+ format?: SupportedFileFormat;
39
+ errors: string[];
40
+ }
41
+ /**
42
+ * File content options
43
+ */
44
+ export interface FileContentOptions {
45
+ file_path: string;
46
+ encoding?: BufferEncoding;
47
+ return_buffer?: boolean;
48
+ }
49
+ /**
50
+ * MIME type detection result
51
+ */
52
+ export interface MimeTypeResult {
53
+ mime_type: MimeType;
54
+ confidence: number;
55
+ format: SupportedFileFormat;
56
+ }
57
+ /**
58
+ * File statistics
59
+ */
60
+ export interface FileStats {
61
+ size_bytes: number;
62
+ created_at: Date;
63
+ modified_at: Date;
64
+ accessed_at: Date;
65
+ is_file: boolean;
66
+ is_directory: boolean;
67
+ permissions: {
68
+ readable: boolean;
69
+ writable: boolean;
70
+ executable: boolean;
71
+ };
72
+ }
73
+ /**
74
+ * File utility error
75
+ */
76
+ export declare class FileUtilError extends Error {
77
+ file_path?: string | undefined;
78
+ original_error?: Error | undefined;
79
+ constructor(message: string, file_path?: string | undefined, original_error?: Error | undefined);
80
+ }
81
+ /**
82
+ * File utility configuration
83
+ */
84
+ export interface FileUtilConfig {
85
+ base_path?: string;
86
+ max_file_size_mb?: number;
87
+ allowed_formats?: SupportedFileFormat[];
88
+ logger?: Logger;
89
+ }
90
+ /**
91
+ * Comprehensive file utility class
92
+ */
93
+ export declare class FileUtil {
94
+ private config;
95
+ private logger;
96
+ constructor(config?: FileUtilConfig);
97
+ /**
98
+ * Resolve file path relative to base path
99
+ */
100
+ get_file_path(uri: string): string;
101
+ /**
102
+ * Check if file exists
103
+ */
104
+ file_exists(file_path: string): Promise<boolean>;
105
+ /**
106
+ * Get file statistics
107
+ */
108
+ get_file_stats(file_path: string): Promise<FileStats>;
109
+ /**
110
+ * Validate file
111
+ */
112
+ validate_file(file_path: string): Promise<FileValidationResult>;
113
+ /**
114
+ * Get file content
115
+ */
116
+ get_file_content(options: FileContentOptions): Promise<Buffer | string>;
117
+ /**
118
+ * Detect MIME type from buffer
119
+ */
120
+ get_file_mime_type(file_buffer: Buffer): Promise<MimeTypeResult>;
121
+ /**
122
+ * Check if PDF is password protected
123
+ */
124
+ is_pdf_password_protected(file_buffer: Buffer): Promise<boolean>;
125
+ /**
126
+ * Convert file to base64
127
+ */
128
+ get_base64(file_path: string): Promise<string>;
129
+ /**
130
+ * Convert image to PNG format
131
+ */
132
+ convert_to_png(file_path: string, output_path?: string): Promise<string>;
133
+ /**
134
+ * Compute file size in bytes
135
+ */
136
+ compute_file_size(file_path: string): Promise<number>;
137
+ /**
138
+ * Get file name from path
139
+ */
140
+ get_file_name(file_path: string, include_extension?: boolean): string;
141
+ /**
142
+ * Validate URI format
143
+ */
144
+ validate_uri(uri: string): {
145
+ is_valid: boolean;
146
+ errors: string[];
147
+ };
148
+ /**
149
+ * Update configuration
150
+ */
151
+ configure(new_config: Partial<FileUtilConfig>): void;
152
+ }
153
+ /**
154
+ * Create a new file utility instance
155
+ */
156
+ export declare const create_file_util: (config?: FileUtilConfig) => FileUtil;
157
+ //# sourceMappingURL=file-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/file-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Shared File Utility
4
+ *
5
+ * Common file operations and utilities for all MeasureOne services.
6
+ * Provides file validation, MIME type detection, and file manipulation.
7
+ *
8
+ * @author MeasureOne, Inc.
9
+ * @version 1.0.0
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.create_file_util = exports.FileUtil = exports.FileUtilError = exports.SupportedFileFormat = void 0;
46
+ const pdf_lib_1 = require("pdf-lib");
47
+ const fs = __importStar(require("fs-extra"));
48
+ const path = __importStar(require("path"));
49
+ const Jimp = __importStar(require("jimp"));
50
+ /**
51
+ * Supported file formats
52
+ */
53
+ var SupportedFileFormat;
54
+ (function (SupportedFileFormat) {
55
+ SupportedFileFormat["PDF"] = "pdf";
56
+ SupportedFileFormat["PNG"] = "png";
57
+ SupportedFileFormat["JPG"] = "jpg";
58
+ SupportedFileFormat["JPEG"] = "jpeg";
59
+ SupportedFileFormat["GIF"] = "gif";
60
+ SupportedFileFormat["BMP"] = "bmp";
61
+ SupportedFileFormat["TIFF"] = "tiff";
62
+ SupportedFileFormat["TXT"] = "txt";
63
+ SupportedFileFormat["JSON"] = "json";
64
+ SupportedFileFormat["XML"] = "xml";
65
+ SupportedFileFormat["HTML"] = "html";
66
+ SupportedFileFormat["CSV"] = "csv";
67
+ })(SupportedFileFormat || (exports.SupportedFileFormat = SupportedFileFormat = {}));
68
+ /**
69
+ * File utility error
70
+ */
71
+ class FileUtilError extends Error {
72
+ constructor(message, file_path, original_error) {
73
+ super(message);
74
+ this.file_path = file_path;
75
+ this.original_error = original_error;
76
+ this.name = 'FileUtilError';
77
+ }
78
+ }
79
+ exports.FileUtilError = FileUtilError;
80
+ /**
81
+ * Comprehensive file utility class
82
+ */
83
+ class FileUtil {
84
+ constructor(config = {}) {
85
+ this.config = {
86
+ base_path: config.base_path || process.cwd(),
87
+ max_file_size_mb: config.max_file_size_mb || 100,
88
+ allowed_formats: config.allowed_formats || Object.values(SupportedFileFormat),
89
+ logger: config.logger || undefined
90
+ };
91
+ this.logger = this.config.logger;
92
+ }
93
+ /**
94
+ * Resolve file path relative to base path
95
+ */
96
+ get_file_path(uri) {
97
+ try {
98
+ // Handle absolute paths
99
+ if (path.isAbsolute(uri)) {
100
+ return uri;
101
+ }
102
+ // Handle relative paths
103
+ const resolved_path = path.resolve(this.config.base_path, uri);
104
+ // Security check: ensure resolved path is within base path
105
+ if (!resolved_path.startsWith(this.config.base_path)) {
106
+ throw new FileUtilError(`Path traversal detected: ${uri}`, uri);
107
+ }
108
+ return resolved_path;
109
+ }
110
+ catch (error) {
111
+ throw new FileUtilError(`Failed to resolve file path: ${uri}`, uri, error instanceof Error ? error : new Error(String(error)));
112
+ }
113
+ }
114
+ /**
115
+ * Check if file exists
116
+ */
117
+ async file_exists(file_path) {
118
+ try {
119
+ const resolved_path = this.get_file_path(file_path);
120
+ return await fs.pathExists(resolved_path);
121
+ }
122
+ catch (error) {
123
+ this.logger?.debug('File existence check failed', { file_path, error });
124
+ return false;
125
+ }
126
+ }
127
+ /**
128
+ * Get file statistics
129
+ */
130
+ async get_file_stats(file_path) {
131
+ try {
132
+ const resolved_path = this.get_file_path(file_path);
133
+ const stats = await fs.stat(resolved_path);
134
+ return {
135
+ size_bytes: stats.size,
136
+ created_at: stats.birthtime,
137
+ modified_at: stats.mtime,
138
+ accessed_at: stats.atime,
139
+ is_file: stats.isFile(),
140
+ is_directory: stats.isDirectory(),
141
+ permissions: {
142
+ readable: !!(stats.mode & parseInt('400', 8)),
143
+ writable: !!(stats.mode & parseInt('200', 8)),
144
+ executable: !!(stats.mode & parseInt('100', 8))
145
+ }
146
+ };
147
+ }
148
+ catch (error) {
149
+ throw new FileUtilError(`Failed to get file stats: ${file_path}`, file_path, error instanceof Error ? error : new Error(String(error)));
150
+ }
151
+ }
152
+ /**
153
+ * Validate file
154
+ */
155
+ async validate_file(file_path) {
156
+ const result = {
157
+ is_valid: false,
158
+ file_exists: false,
159
+ is_readable: false,
160
+ file_size_bytes: 0,
161
+ errors: []
162
+ };
163
+ try {
164
+ const resolved_path = this.get_file_path(file_path);
165
+ // Check if file exists
166
+ result.file_exists = await this.file_exists(resolved_path);
167
+ if (!result.file_exists) {
168
+ result.errors.push('File does not exist');
169
+ return result;
170
+ }
171
+ // Get file stats
172
+ const stats = await this.get_file_stats(resolved_path);
173
+ result.file_size_bytes = stats.size_bytes;
174
+ result.is_readable = stats.permissions.readable;
175
+ if (!result.is_readable) {
176
+ result.errors.push('File is not readable');
177
+ return result;
178
+ }
179
+ // Check file size
180
+ const max_size_bytes = this.config.max_file_size_mb * 1024 * 1024;
181
+ if (stats.size_bytes > max_size_bytes) {
182
+ result.errors.push(`File size (${stats.size_bytes} bytes) exceeds maximum allowed size (${max_size_bytes} bytes)`);
183
+ return result;
184
+ }
185
+ // Detect MIME type and format
186
+ try {
187
+ const buffer = await fs.readFile(resolved_path);
188
+ const mime_result = await this.get_file_mime_type(buffer);
189
+ result.mime_type = mime_result.mime_type;
190
+ result.format = mime_result.format;
191
+ // Check if format is allowed
192
+ if (!this.config.allowed_formats.includes(mime_result.format)) {
193
+ result.errors.push(`File format '${mime_result.format}' is not allowed`);
194
+ return result;
195
+ }
196
+ }
197
+ catch (error) {
198
+ result.errors.push(`Failed to detect file type: ${error instanceof Error ? error.message : String(error)}`);
199
+ return result;
200
+ }
201
+ result.is_valid = result.errors.length === 0;
202
+ return result;
203
+ }
204
+ catch (error) {
205
+ result.errors.push(`Validation failed: ${error instanceof Error ? error.message : String(error)}`);
206
+ return result;
207
+ }
208
+ }
209
+ /**
210
+ * Get file content
211
+ */
212
+ async get_file_content(options) {
213
+ try {
214
+ const resolved_path = this.get_file_path(options.file_path);
215
+ if (options.return_buffer) {
216
+ return await fs.readFile(resolved_path);
217
+ }
218
+ else {
219
+ return await fs.readFile(resolved_path, options.encoding || 'utf8');
220
+ }
221
+ }
222
+ catch (error) {
223
+ throw new FileUtilError(`Failed to read file content: ${options.file_path}`, options.file_path, error instanceof Error ? error : new Error(String(error)));
224
+ }
225
+ }
226
+ /**
227
+ * Detect MIME type from buffer
228
+ */
229
+ async get_file_mime_type(file_buffer) {
230
+ try {
231
+ // Basic MIME type detection based on file signatures
232
+ const signatures = [
233
+ { signature: [0x25, 0x50, 0x44, 0x46], mime_type: 'application/pdf', format: SupportedFileFormat.PDF },
234
+ { signature: [0x89, 0x50, 0x4E, 0x47], mime_type: 'image/png', format: SupportedFileFormat.PNG },
235
+ { signature: [0xFF, 0xD8, 0xFF], mime_type: 'image/jpeg', format: SupportedFileFormat.JPG },
236
+ { signature: [0x47, 0x49, 0x46, 0x38], mime_type: 'image/gif', format: SupportedFileFormat.GIF },
237
+ { signature: [0x42, 0x4D], mime_type: 'image/bmp', format: SupportedFileFormat.BMP }
238
+ ];
239
+ for (const sig of signatures) {
240
+ if (file_buffer.length >= sig.signature.length) {
241
+ const matches = sig.signature.every((byte, index) => file_buffer[index] === byte);
242
+ if (matches) {
243
+ return {
244
+ mime_type: sig.mime_type,
245
+ confidence: 0.9,
246
+ format: sig.format
247
+ };
248
+ }
249
+ }
250
+ }
251
+ // Default to text/plain for unknown types
252
+ return {
253
+ mime_type: 'text/plain',
254
+ confidence: 0.1,
255
+ format: SupportedFileFormat.TXT
256
+ };
257
+ }
258
+ catch (error) {
259
+ throw new FileUtilError('Failed to detect MIME type', undefined, error instanceof Error ? error : new Error(String(error)));
260
+ }
261
+ }
262
+ /**
263
+ * Check if PDF is password protected
264
+ */
265
+ async is_pdf_password_protected(file_buffer) {
266
+ try {
267
+ await pdf_lib_1.PDFDocument.load(file_buffer);
268
+ return false; // If we can load it without password, it's not protected
269
+ }
270
+ catch (error) {
271
+ const error_message = error instanceof Error ? error.message : String(error);
272
+ // Check if error indicates password protection
273
+ return error_message.includes('password') || error_message.includes('encrypted');
274
+ }
275
+ }
276
+ /**
277
+ * Convert file to base64
278
+ */
279
+ async get_base64(file_path) {
280
+ try {
281
+ const buffer = await this.get_file_content({ file_path, return_buffer: true });
282
+ return buffer.toString('base64');
283
+ }
284
+ catch (error) {
285
+ throw new FileUtilError(`Failed to convert file to base64: ${file_path}`, file_path, error instanceof Error ? error : new Error(String(error)));
286
+ }
287
+ }
288
+ /**
289
+ * Convert image to PNG format
290
+ */
291
+ async convert_to_png(file_path, output_path) {
292
+ try {
293
+ const resolved_input = this.get_file_path(file_path);
294
+ const resolved_output = output_path ?
295
+ this.get_file_path(output_path) :
296
+ resolved_input.replace(/\.[^/.]+$/, '.png');
297
+ const image = await Jimp.Jimp.read(resolved_input);
298
+ // Get PNG buffer and write using fs-extra
299
+ // Use 'image/png' as MIME type string
300
+ const buffer = await image.getBuffer('image/png');
301
+ await fs.writeFile(resolved_output, buffer);
302
+ return resolved_output;
303
+ }
304
+ catch (error) {
305
+ throw new FileUtilError(`Failed to convert image to PNG: ${file_path}`, file_path, error instanceof Error ? error : new Error(String(error)));
306
+ }
307
+ }
308
+ /**
309
+ * Compute file size in bytes
310
+ */
311
+ async compute_file_size(file_path) {
312
+ try {
313
+ const stats = await this.get_file_stats(file_path);
314
+ return stats.size_bytes;
315
+ }
316
+ catch (error) {
317
+ throw new FileUtilError(`Failed to compute file size: ${file_path}`, file_path, error instanceof Error ? error : new Error(String(error)));
318
+ }
319
+ }
320
+ /**
321
+ * Get file name from path
322
+ */
323
+ get_file_name(file_path, include_extension = true) {
324
+ const base_name = path.basename(file_path);
325
+ if (include_extension) {
326
+ return base_name;
327
+ }
328
+ else {
329
+ return path.parse(base_name).name;
330
+ }
331
+ }
332
+ /**
333
+ * Validate URI format
334
+ */
335
+ validate_uri(uri) {
336
+ const errors = [];
337
+ if (!uri || typeof uri !== 'string') {
338
+ errors.push('URI must be a non-empty string');
339
+ return { is_valid: false, errors };
340
+ }
341
+ if (uri.trim() !== uri) {
342
+ errors.push('URI cannot have leading or trailing whitespace');
343
+ }
344
+ if (uri.includes('..')) {
345
+ errors.push('URI cannot contain path traversal sequences (..)');
346
+ }
347
+ if (uri.includes('\0')) {
348
+ errors.push('URI cannot contain null bytes');
349
+ }
350
+ return {
351
+ is_valid: errors.length === 0,
352
+ errors
353
+ };
354
+ }
355
+ /**
356
+ * Update configuration
357
+ */
358
+ configure(new_config) {
359
+ this.config = { ...this.config, ...new_config };
360
+ if (new_config.logger) {
361
+ this.logger = new_config.logger;
362
+ }
363
+ }
364
+ }
365
+ exports.FileUtil = FileUtil;
366
+ /**
367
+ * Create a new file utility instance
368
+ */
369
+ const create_file_util = (config) => {
370
+ return new FileUtil(config);
371
+ };
372
+ exports.create_file_util = create_file_util;
373
+ //# sourceMappingURL=file-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-util.js","sourceRoot":"","sources":["../../../src/lib/utils/file-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAsC;AACtC,6CAA+B;AAC/B,2CAA6B;AAE7B,2CAA6B;AAI7B;;GAEG;AACH,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC3B,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,kCAAW,CAAA;AACf,CAAC,EAbW,mBAAmB,mCAAnB,mBAAmB,QAa9B;AAkDD;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAS,SAAkB,EAAS,cAAsB;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QADiB,cAAS,GAAT,SAAS,CAAS;QAAS,mBAAc,GAAd,cAAc,CAAQ;QAEjF,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AALD,sCAKC;AAYD;;GAEG;AACH,MAAa,QAAQ;IAIjB,YAAY,SAAyB,EAAE;QACnC,IAAI,CAAC,MAAM,GAAG;YACV,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE;YAC5C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG;YAChD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;SACrC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAW;QACrB,IAAI,CAAC;YACD,wBAAwB;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC;YACf,CAAC;YAED,wBAAwB;YACxB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE/D,2DAA2D;YAC3D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,aAAa,CAAC,4BAA4B,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,aAAa,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,gCAAgC,GAAG,EAAE,EACrC,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QAC/B,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QAClC,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE3C,OAAO;gBACH,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE;gBACvB,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;gBACjC,WAAW,EAAE;oBACT,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC7C,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC7C,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAClD;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,6BAA6B,SAAS,EAAE,EACxC,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACjC,MAAM,MAAM,GAAyB;YACjC,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAEpD,uBAAuB;YACvB,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,iBAAiB;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACvD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;YAEhD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,kBAAkB;YAClB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;YAClE,IAAI,KAAK,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,yCAAyC,cAAc,SAAS,CAAC,CAAC;gBACnH,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBACzC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAEnC,6BAA6B;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,kBAAkB,CAAC,CAAC;oBACzE,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5G,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;QAElB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA2B;QAC9C,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,gCAAgC,OAAO,CAAC,SAAS,EAAE,EACnD,OAAO,CAAC,SAAS,EACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QACxC,IAAI,CAAC;YACD,qDAAqD;YACrD,MAAM,UAAU,GAAmF;gBAC/F,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE;gBACtG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE;gBAChG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE;gBAC3F,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE;gBAChG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE;aACvF,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,WAAW,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;oBAClF,IAAI,OAAO,EAAE,CAAC;wBACV,OAAO;4BACH,SAAS,EAAE,GAAG,CAAC,SAAqB;4BACpC,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,GAAG,CAAC,MAAM;yBACrB,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,OAAO;gBACH,SAAS,EAAE,YAAY;gBACvB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,mBAAmB,CAAC,GAAG;aAClC,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,4BAA4B,EAC5B,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,WAAmB;QAC/C,IAAI,CAAC;YACD,MAAM,qBAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,CAAC,yDAAyD;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,+CAA+C;YAC/C,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAC9B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAW,CAAC;YACzF,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,qCAAqC,SAAS,EAAE,EAChD,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,WAAoB;QACxD,IAAI,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC;gBACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEhD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,0CAA0C;YAC1C,sCAAsC;YACtC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,WAAkB,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAE5C,OAAO,eAAe,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,mCAAmC,SAAS,EAAE,EAC9C,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACrC,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACnB,gCAAgC,SAAS,EAAE,EAC3C,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB,EAAE,oBAA6B,IAAI;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAW;QACpB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC7B,MAAM;SACT,CAAC;IACN,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAmC;QACzC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACpC,CAAC;IACL,CAAC;CACJ;AAhVD,4BAgVC;AAED;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAY,EAAE;IAClE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview HTML Content Summarizer
3
+ *
4
+ * Utility to summarize or truncate large HTML content to prevent context window overflow.
5
+ * Extracts key information (links, buttons, forms, headings) while reducing token count.
6
+ *
7
+ * @author MeasureOne
8
+ * @version 1.0.0
9
+ */
10
+ /**
11
+ * Summarize large HTML content by extracting key elements
12
+ *
13
+ * @param html_content - Full HTML content
14
+ * @param url - Optional URL for context
15
+ * @param title - Optional page title for context
16
+ * @returns Summarized HTML content with key elements
17
+ */
18
+ export declare function summarize_html_content(html_content: string, url?: string, title?: string): string;
19
+ /**
20
+ * Check if a tool result contains large HTML content that should be summarized
21
+ *
22
+ * @param tool_result - Tool execution result
23
+ * @param tool_name - Name of the tool that was executed
24
+ * @returns Object with summarized result if needed, or original result
25
+ */
26
+ export declare function process_tool_result_for_context(tool_result: any, tool_name: string): any;
27
+ //# sourceMappingURL=html-summarizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-summarizer.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/html-summarizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACf,MAAM,CAiIR;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,GAAG,EAChB,SAAS,EAAE,MAAM,GAClB,GAAG,CAoCL"}