@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,426 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Unified Event Processor for OpenAI Agent Events
4
+ *
5
+ * This module provides a centralized event processor that handles all OpenAI Agent
6
+ * streaming events in one place, eliminating the scattered event handling logic
7
+ * that was previously split across multiple files.
8
+ *
9
+ * @author MeasureOne
10
+ * @version 1.0.0
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OpenAIEventProcessor = void 0;
14
+ const logger_1 = require("./utils/logger");
15
+ const logger = (0, logger_1.create_compact_logger)("event-processor");
16
+ /**
17
+ * Unified event processor for OpenAI Agent streaming events
18
+ * Processes events and directly writes formatted output to the client
19
+ */
20
+ class OpenAIEventProcessor {
21
+ constructor(streaming_utils) {
22
+ this.active_func_args_buf = {}; // key by call_id
23
+ this.accumulated_text = '';
24
+ this.content_buffer = '';
25
+ this.last_content = '';
26
+ this.last_content_at = 0;
27
+ this.last_stream_time = Date.now();
28
+ // Configuration
29
+ this.stream_interval_ms = 100; // Stream every 100ms or when buffer is full
30
+ this.min_chunk_size = 10; // Minimum characters before streaming
31
+ this.streaming_utils = streaming_utils;
32
+ }
33
+ /**
34
+ * Process any event - handles both raw_model_stream_event and other event types
35
+ */
36
+ process_event(type, data) {
37
+ try {
38
+ // Handle special events that don't go through the OpenAI event processing
39
+ if (type !== 'raw_model_stream_event') {
40
+ this.handle_special_event(type, data);
41
+ return;
42
+ }
43
+ // Handle raw_model_stream_event
44
+ const inner = this.get_inner_event(data);
45
+ const event_type = inner?.type;
46
+ // Guard: if we don't have an inner type, continue
47
+ if (!event_type) {
48
+ return;
49
+ }
50
+ // Handle different event types
51
+ this.handle_event_by_type(event_type, inner, data);
52
+ }
53
+ catch (error) {
54
+ logger.error("Error processing event:", error);
55
+ this.streaming_utils.write('error', { message: `Event processing error: ${String(error)}` });
56
+ this.streaming_utils.cleanup_connection();
57
+ }
58
+ }
59
+ /**
60
+ * Extract inner event from the raw_model_stream_event wrapper
61
+ */
62
+ get_inner_event(outer) {
63
+ if (outer?.type === "raw_model_stream_event") {
64
+ return outer?.data?.event ?? null;
65
+ }
66
+ return outer ?? null;
67
+ }
68
+ /**
69
+ * Extract text delta from various event formats
70
+ */
71
+ pick_text_delta(event) {
72
+ const inner = this.get_inner_event(event);
73
+ if (!inner)
74
+ return null;
75
+ // Primary assistant output tokens
76
+ if (inner.type === "response.text.delta" && typeof inner.delta === "string") {
77
+ return inner.delta;
78
+ }
79
+ // Optional refusal stream
80
+ if (inner.type === "response.refusal.delta" && typeof inner.delta === "string") {
81
+ return inner.delta;
82
+ }
83
+ // Handle raw_model_stream_event format
84
+ if (event?.type === "raw_model_stream_event") {
85
+ const ev1 = event?.data?.event;
86
+ if (ev1?.type === 'response.text.delta' && typeof ev1?.delta === 'string') {
87
+ return ev1.delta;
88
+ }
89
+ // Sometimes we get the event directly
90
+ const ev2 = event?.event;
91
+ if (ev2?.type === 'response.text.delta' && typeof ev2?.delta === 'string') {
92
+ return ev2.delta;
93
+ }
94
+ // Flattened forms
95
+ if (event?.type === 'response.text.delta' && typeof event?.delta === 'string') {
96
+ return event.delta;
97
+ }
98
+ if (event?.data?.type === 'response.text.delta' && typeof event?.data?.delta === 'string') {
99
+ return event.data.delta;
100
+ }
101
+ // OpenAI SDK sometimes wraps as { data: { type: 'model', event: { ... } }, type: 'raw_model_stream_event' }
102
+ if (typeof event?.data?.delta === 'string') {
103
+ return event.data.delta;
104
+ }
105
+ if (typeof event?.delta === 'string') {
106
+ return event.delta;
107
+ }
108
+ }
109
+ return null;
110
+ }
111
+ /**
112
+ * Handle events by their type
113
+ */
114
+ handle_event_by_type(event_type, inner, raw_event) {
115
+ // Handle text streaming first
116
+ const delta = this.pick_text_delta(raw_event);
117
+ if (delta) {
118
+ this.handle_text_delta(delta);
119
+ return;
120
+ }
121
+ // Handle specific event types
122
+ switch (event_type) {
123
+ case "response.tool_call.started":
124
+ this.handle_tool_call_started(inner);
125
+ break;
126
+ case "response.tool_call.delta":
127
+ this.handle_tool_call_delta(inner);
128
+ break;
129
+ case "response.tool_call.completed":
130
+ this.handle_tool_call_completed(inner);
131
+ break;
132
+ case "response.function_call_arguments.delta":
133
+ this.handle_function_call_arguments_delta(inner);
134
+ break;
135
+ case "response.function_call.completed":
136
+ this.handle_function_call_completed(inner);
137
+ break;
138
+ case "response.handoff.started":
139
+ this.handle_handoff_started(inner);
140
+ break;
141
+ case "response.handoff.completed":
142
+ this.handle_handoff_completed(inner);
143
+ break;
144
+ case "response.error":
145
+ this.handle_error(inner);
146
+ break;
147
+ case "response.completed":
148
+ this.handle_completed(inner);
149
+ break;
150
+ default:
151
+ // Forward unknown events for debugging (but filter out noise)
152
+ if (!this.is_internal_event(event_type)) {
153
+ logger.info(`📡 Default Stream event type: ${event_type} | sequence_number=${inner?.sequence_number} output_index=${inner?.output_index}`);
154
+ this.streaming_utils.write(event_type, inner);
155
+ }
156
+ break;
157
+ }
158
+ }
159
+ /**
160
+ * Handle text deltas with buffering and deduplication
161
+ */
162
+ handle_text_delta(text) {
163
+ if (!text)
164
+ return;
165
+ const now = Date.now();
166
+ // Drop obvious duplicates that can occur when both raw and flattened events fire
167
+ if (text === this.last_content && now - this.last_content_at < 100)
168
+ return;
169
+ this.last_content = text;
170
+ this.last_content_at = now;
171
+ // Accumulate text to detect complete thought JSON
172
+ this.accumulated_text += text;
173
+ // Try to parse the accumulated text as JSON directly
174
+ if (this.accumulated_text.trim().startsWith('{') && this.accumulated_text.includes('"type"')) {
175
+ try {
176
+ const parsed = JSON.parse(this.accumulated_text.trim());
177
+ if (parsed.type === 'thought' && parsed.data) {
178
+ logger.info(`📡 Converting thought JSON to thought event: ${parsed.data.step || parsed.data.detail}`);
179
+ this.streaming_utils.write('thought', parsed.data);
180
+ // Clear accumulated text since we processed it
181
+ this.accumulated_text = '';
182
+ return; // Don't emit this as regular content
183
+ }
184
+ }
185
+ catch (e) {
186
+ // Not complete JSON yet, continue accumulating
187
+ }
188
+ }
189
+ // Buffer regular content for meaningful chunks
190
+ this.content_buffer += text;
191
+ // Stream content when we have enough or enough time has passed
192
+ const should_stream = this.content_buffer.length >= this.min_chunk_size ||
193
+ (now - this.last_stream_time >= this.stream_interval_ms && this.content_buffer.length > 0);
194
+ if (should_stream) {
195
+ this.streaming_utils.write('content', { text: this.content_buffer });
196
+ this.content_buffer = '';
197
+ this.last_stream_time = now;
198
+ }
199
+ }
200
+ /**
201
+ * Handle tool call started event
202
+ */
203
+ handle_tool_call_started(inner) {
204
+ logger.info(`📡 Stream event type: tool_call`, 'started');
205
+ this.streaming_utils.write('tool_call', {
206
+ phase: "started",
207
+ call_id: inner.call_id,
208
+ name: inner.name ?? undefined
209
+ });
210
+ }
211
+ /**
212
+ * Handle tool call delta event
213
+ */
214
+ handle_tool_call_delta(inner) {
215
+ logger.info(`📡 Stream event type: tool_call`, 'delta');
216
+ this.streaming_utils.write('tool_call', {
217
+ phase: "delta",
218
+ call_id: inner.call_id,
219
+ delta: inner.delta ?? ""
220
+ });
221
+ }
222
+ /**
223
+ * Handle tool call completed event
224
+ */
225
+ handle_tool_call_completed(inner) {
226
+ // Try best-effort parse of streamed args if provided
227
+ let parsed_args = inner.arguments_json ?? null;
228
+ if (typeof parsed_args === "string") {
229
+ try {
230
+ parsed_args = JSON.parse(parsed_args);
231
+ }
232
+ catch {
233
+ /* noop */
234
+ }
235
+ }
236
+ logger.info(`📡 Stream event type: tool_call`, 'completed');
237
+ this.streaming_utils.write('tool_call', {
238
+ phase: "completed",
239
+ call_id: inner.call_id,
240
+ name: inner.name ?? undefined,
241
+ arguments: parsed_args
242
+ });
243
+ }
244
+ /**
245
+ * Handle function call arguments delta for accumulation
246
+ */
247
+ handle_function_call_arguments_delta(inner) {
248
+ const call_id = inner.call_id || inner.item_id || "default";
249
+ if (!this.active_func_args_buf[call_id]) {
250
+ this.active_func_args_buf[call_id] = "";
251
+ }
252
+ this.active_func_args_buf[call_id] += inner.delta ?? "";
253
+ // Surface an event for UI (optional)
254
+ this.streaming_utils.write('tool_call', {
255
+ phase: "delta",
256
+ name: inner.name,
257
+ call_id: call_id,
258
+ delta: inner.delta
259
+ });
260
+ }
261
+ /**
262
+ * Handle function call completion with native handoff bridging
263
+ */
264
+ handle_function_call_completed(inner) {
265
+ const call_id = inner.call_id || inner.item_id || "default";
266
+ const name = inner.name; // e.g., "transfer_to_ExecutorAgent"
267
+ const raw = this.active_func_args_buf[call_id] || "{}";
268
+ delete this.active_func_args_buf[call_id];
269
+ let args = {};
270
+ try {
271
+ args = raw.trim() ? JSON.parse(raw) : {};
272
+ }
273
+ catch (e) {
274
+ this.streaming_utils.write('error', {
275
+ message: "Failed to parse function args",
276
+ name,
277
+ raw
278
+ });
279
+ this.streaming_utils.cleanup_connection();
280
+ return;
281
+ }
282
+ // Emit structured tool_call -> tool_result for frontend telemetry
283
+ this.streaming_utils.write('tool_call', { name, args, call_id });
284
+ // Handle actual tool calls (not fake handoff tools)
285
+ logger.info(`📡 Stream event type: tool_result`, '');
286
+ this.streaming_utils.write('tool_result', { name, args, call_id });
287
+ }
288
+ /**
289
+ * Handle handoff started event
290
+ */
291
+ handle_handoff_started(inner) {
292
+ logger.info(`📡 Stream event type: handoff`);
293
+ this.streaming_utils.write('handoff', {
294
+ phase: "started",
295
+ from: inner.from ?? null,
296
+ to: inner.to ?? null,
297
+ reason: inner.reason ?? ""
298
+ });
299
+ }
300
+ /**
301
+ * Handle handoff completed event
302
+ */
303
+ handle_handoff_completed(inner) {
304
+ logger.info(`📡 Stream event type: handoff_complete`);
305
+ this.streaming_utils.write('handoff_complete', {
306
+ to: inner.to ?? null
307
+ });
308
+ }
309
+ /**
310
+ * Handle error event
311
+ */
312
+ handle_error(inner) {
313
+ this.streaming_utils.write('error', {
314
+ message: inner?.error?.message || "Unknown error"
315
+ });
316
+ this.streaming_utils.cleanup_connection();
317
+ }
318
+ /**
319
+ * Handle completion event
320
+ */
321
+ handle_completed(inner) {
322
+ const usage = inner?.response?.usage || inner?.usage;
323
+ if (usage) {
324
+ const usage_info = {
325
+ input_tokens: Number(usage.input_tokens ?? usage.input ?? 0),
326
+ output_tokens: Number(usage.output_tokens ?? usage.output ?? 0),
327
+ total_tokens: Number(usage.total_tokens ?? ((Number(usage.input_tokens ?? 0)) + (Number(usage.output_tokens ?? 0))))
328
+ };
329
+ this.streaming_utils.write('usage', usage_info);
330
+ }
331
+ }
332
+ /**
333
+ * Check if an event type is internal and should be filtered out
334
+ */
335
+ is_internal_event(event_type) {
336
+ const internal_events = [
337
+ 'response.created',
338
+ 'response.in_progress',
339
+ 'response.output_item.added',
340
+ 'response.content_part.added',
341
+ 'response.output_item.done',
342
+ 'response.content_part.done',
343
+ 'run_item_stream_event',
344
+ 'response.text.done',
345
+ 'response.function_call_arguments.done',
346
+ 'model'
347
+ ];
348
+ return internal_events.includes(event_type) ||
349
+ event_type.includes('tool_result') ||
350
+ event_type.includes('mcp') ||
351
+ event_type.includes('raw') ||
352
+ event_type.includes('response.tool_call') ||
353
+ event_type.includes('tool_call') ||
354
+ event_type.includes('response.tool_result') ||
355
+ event_type.includes('tool_result');
356
+ }
357
+ /**
358
+ * Flush any remaining content in the buffer
359
+ */
360
+ flush_content() {
361
+ if (this.content_buffer.length > 0) {
362
+ this.streaming_utils.write('content', { text: this.content_buffer });
363
+ this.content_buffer = '';
364
+ }
365
+ }
366
+ /**
367
+ * Handle special events that need custom processing
368
+ */
369
+ handle_special_event(type, data) {
370
+ switch (type) {
371
+ case 'agent_thinking':
372
+ this.streaming_utils.write('status', { message: 'Agent is thinking…' });
373
+ break;
374
+ case 'content':
375
+ logger.info(`📡 Stream event type: ${type}`);
376
+ this.streaming_utils.write('content', { text: data?.text || data?.content || '' });
377
+ break;
378
+ case 'handoff_start':
379
+ logger.info(`📡 Stream event type: ${type}`);
380
+ this.streaming_utils.write('handoff_start', data);
381
+ break;
382
+ case 'plan_normalized':
383
+ logger.info(`📡 Stream event type: ${type}`);
384
+ this.streaming_utils.write('plan_normalized', data);
385
+ break;
386
+ case 'message':
387
+ this.streaming_utils.write('message', data);
388
+ break;
389
+ case 'progress':
390
+ this.streaming_utils.write('progress', data);
391
+ break;
392
+ case 'status':
393
+ this.streaming_utils.write('status', data);
394
+ break;
395
+ case 'end':
396
+ this.flush_content(); // Flush any remaining content before ending
397
+ this.streaming_utils.write('end', data);
398
+ this.streaming_utils.cleanup_connection();
399
+ break;
400
+ case 'error':
401
+ this.flush_content(); // Flush any remaining content before error
402
+ this.streaming_utils.write('error', { message: String(data?.message || data) });
403
+ this.streaming_utils.cleanup_connection();
404
+ break;
405
+ default:
406
+ // Fallback for any other event types
407
+ logger.info(`📡 Default Stream event type: ${type} | sequence_number=${data?.sequence_number} output_index=${data?.output_index}`);
408
+ this.streaming_utils.write(type, data);
409
+ break;
410
+ }
411
+ }
412
+ /**
413
+ * Reset the processor state
414
+ */
415
+ reset() {
416
+ this.active_func_call_name = undefined;
417
+ this.active_func_args_buf = {};
418
+ this.accumulated_text = '';
419
+ this.content_buffer = '';
420
+ this.last_content = '';
421
+ this.last_content_at = 0;
422
+ this.last_stream_time = Date.now();
423
+ }
424
+ }
425
+ exports.OpenAIEventProcessor = OpenAIEventProcessor;
426
+ //# sourceMappingURL=open-ai-event-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-ai-event-processor.js","sourceRoot":"","sources":["../../src/lib/open-ai-event-processor.ts"],"names":[],"mappings":"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"}