@mate-academy/llm-gateway 8.8.2 → 8.8.3

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 (352) hide show
  1. package/dist/LLMError.d.ts +12 -0
  2. package/dist/LLMError.js +36 -0
  3. package/dist/LLMError.js.map +1 -0
  4. package/dist/LLMGateway.d.ts +30 -0
  5. package/dist/LLMGateway.js +56 -0
  6. package/dist/LLMGateway.js.map +1 -0
  7. package/dist/LLMGateway.typedefs.d.ts +5 -0
  8. package/dist/LLMGateway.typedefs.js +3 -0
  9. package/dist/LLMGateway.typedefs.js.map +1 -0
  10. package/dist/LLMService.constants.d.ts +26309 -0
  11. package/dist/LLMService.constants.js +35 -0
  12. package/dist/LLMService.constants.js.map +1 -0
  13. package/dist/LLMService.factory.d.ts +71 -0
  14. package/dist/LLMService.factory.js +102 -0
  15. package/dist/LLMService.factory.js.map +1 -0
  16. package/dist/LLMService.typedefs.d.ts +655 -0
  17. package/dist/LLMService.typedefs.js +72 -0
  18. package/dist/LLMService.typedefs.js.map +1 -0
  19. package/dist/advanced.d.ts +11 -0
  20. package/dist/advanced.js +32 -0
  21. package/dist/advanced.js.map +1 -0
  22. package/dist/client/LLMAgent.d.ts +76 -0
  23. package/dist/client/LLMAgent.js +36 -0
  24. package/dist/client/LLMAgent.js.map +1 -0
  25. package/dist/client/LLMClientEngine.d.ts +110 -0
  26. package/dist/client/LLMClientEngine.js +406 -0
  27. package/dist/client/LLMClientEngine.js.map +1 -0
  28. package/dist/client/agentRun.typedefs.d.ts +200 -0
  29. package/dist/client/agentRun.typedefs.js +25 -0
  30. package/dist/client/agentRun.typedefs.js.map +1 -0
  31. package/dist/client/agentRunner.d.ts +161 -0
  32. package/dist/client/agentRunner.js +517 -0
  33. package/dist/client/agentRunner.js.map +1 -0
  34. package/dist/client/codegen/fetchPromptRecords.d.ts +14 -0
  35. package/dist/client/codegen/fetchPromptRecords.js +90 -0
  36. package/dist/client/codegen/fetchPromptRecords.js.map +1 -0
  37. package/dist/client/codegen/generateSnapshot.d.ts +19 -0
  38. package/dist/client/codegen/generateSnapshot.js +28 -0
  39. package/dist/client/codegen/generateSnapshot.js.map +1 -0
  40. package/dist/client/codegen/index.d.ts +6 -0
  41. package/dist/client/codegen/index.js +23 -0
  42. package/dist/client/codegen/index.js.map +1 -0
  43. package/dist/client/codegen/promptCatalog.typedefs.d.ts +51 -0
  44. package/dist/client/codegen/promptCatalog.typedefs.js +3 -0
  45. package/dist/client/codegen/promptCatalog.typedefs.js.map +1 -0
  46. package/dist/client/codegen/promptName.d.ts +8 -0
  47. package/dist/client/codegen/promptName.js +21 -0
  48. package/dist/client/codegen/promptName.js.map +1 -0
  49. package/dist/client/codegen/renderSnapshot.constants.d.ts +7 -0
  50. package/dist/client/codegen/renderSnapshot.constants.js +16 -0
  51. package/dist/client/codegen/renderSnapshot.constants.js.map +1 -0
  52. package/dist/client/codegen/renderSnapshot.d.ts +9 -0
  53. package/dist/client/codegen/renderSnapshot.js +109 -0
  54. package/dist/client/codegen/renderSnapshot.js.map +1 -0
  55. package/dist/client/codegen/renderSnapshot.typedefs.d.ts +19 -0
  56. package/dist/client/codegen/renderSnapshot.typedefs.js +3 -0
  57. package/dist/client/codegen/renderSnapshot.typedefs.js.map +1 -0
  58. package/dist/client/coerceToolResult.d.ts +10 -0
  59. package/dist/client/coerceToolResult.js +38 -0
  60. package/dist/client/coerceToolResult.js.map +1 -0
  61. package/dist/client/createLLMClient.d.ts +10 -0
  62. package/dist/client/createLLMClient.js +47 -0
  63. package/dist/client/createLLMClient.js.map +1 -0
  64. package/dist/client/defineLLMPrompts.d.ts +34 -0
  65. package/dist/client/defineLLMPrompts.js +13 -0
  66. package/dist/client/defineLLMPrompts.js.map +1 -0
  67. package/dist/client/errors.d.ts +57 -0
  68. package/dist/client/errors.js +70 -0
  69. package/dist/client/errors.js.map +1 -0
  70. package/dist/client/index.d.ts +13 -0
  71. package/dist/client/index.js +30 -0
  72. package/dist/client/index.js.map +1 -0
  73. package/dist/client/llmClient.typedefs.d.ts +265 -0
  74. package/dist/client/llmClient.typedefs.js +11 -0
  75. package/dist/client/llmClient.typedefs.js.map +1 -0
  76. package/dist/client/llmConfig.schema.d.ts +53 -0
  77. package/dist/client/llmConfig.schema.js +49 -0
  78. package/dist/client/llmConfig.schema.js.map +1 -0
  79. package/dist/client/plainMessages.d.ts +12 -0
  80. package/dist/client/plainMessages.js +19 -0
  81. package/dist/client/plainMessages.js.map +1 -0
  82. package/dist/client/promptClientPort.typedefs.d.ts +60 -0
  83. package/dist/client/promptClientPort.typedefs.js +3 -0
  84. package/dist/client/promptClientPort.typedefs.js.map +1 -0
  85. package/dist/client/promptRegistry.runtime.d.ts +121 -0
  86. package/dist/client/promptRegistry.runtime.js +264 -0
  87. package/dist/client/promptRegistry.runtime.js.map +1 -0
  88. package/dist/client/promptSnapshot.typedefs.d.ts +55 -0
  89. package/dist/client/promptSnapshot.typedefs.js +3 -0
  90. package/dist/client/promptSnapshot.typedefs.js.map +1 -0
  91. package/dist/client/promptVariables.d.ts +7 -0
  92. package/dist/client/promptVariables.js +13 -0
  93. package/dist/client/promptVariables.js.map +1 -0
  94. package/dist/client/snapshotRuntime.d.ts +17 -0
  95. package/dist/client/snapshotRuntime.js +42 -0
  96. package/dist/client/snapshotRuntime.js.map +1 -0
  97. package/dist/client/snapshotRuntime.typedefs.d.ts +13 -0
  98. package/dist/client/snapshotRuntime.typedefs.js +3 -0
  99. package/dist/client/snapshotRuntime.typedefs.js.map +1 -0
  100. package/dist/client/validationGate.d.ts +24 -0
  101. package/dist/client/validationGate.js +54 -0
  102. package/dist/client/validationGate.js.map +1 -0
  103. package/dist/codegen.d.ts +6 -0
  104. package/dist/codegen.js +23 -0
  105. package/dist/codegen.js.map +1 -0
  106. package/dist/index.d.ts +10 -0
  107. package/dist/index.js +27 -0
  108. package/dist/index.js.map +1 -0
  109. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.d.ts +873 -0
  110. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js +269 -0
  111. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js.map +1 -0
  112. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.d.ts +24 -0
  113. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js +210 -0
  114. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js.map +1 -0
  115. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.d.ts +22 -0
  116. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js +20 -0
  117. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js.map +1 -0
  118. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAIService.factory.d.ts +6 -0
  119. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAIService.factory.js +18 -0
  120. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAIService.factory.js.map +1 -0
  121. package/dist/providers/GoogleGenerativeAI/index.d.ts +5 -0
  122. package/dist/providers/GoogleGenerativeAI/index.js +22 -0
  123. package/dist/providers/GoogleGenerativeAI/index.js.map +1 -0
  124. package/dist/providers/GoogleGenerativeAI/schemas/GoogleSchemaAdapter.d.ts +12 -0
  125. package/dist/providers/GoogleGenerativeAI/schemas/GoogleSchemaAdapter.js +72 -0
  126. package/dist/providers/GoogleGenerativeAI/schemas/GoogleSchemaAdapter.js.map +1 -0
  127. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +71 -0
  128. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +876 -0
  129. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -0
  130. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.d.ts +25 -0
  131. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +216 -0
  132. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -0
  133. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.d.ts +10 -0
  134. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +136 -0
  135. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -0
  136. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.d.ts +11 -0
  137. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js +97 -0
  138. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js.map +1 -0
  139. package/dist/providers/GoogleGenerativeAI/services/index.d.ts +4 -0
  140. package/dist/providers/GoogleGenerativeAI/services/index.js +21 -0
  141. package/dist/providers/GoogleGenerativeAI/services/index.js.map +1 -0
  142. package/dist/providers/LLMAPI/LLMAPI.constants.d.ts +35832 -0
  143. package/dist/providers/LLMAPI/LLMAPI.constants.js +8601 -0
  144. package/dist/providers/LLMAPI/LLMAPI.constants.js.map +1 -0
  145. package/dist/providers/LLMAPI/LLMAPI.entity.d.ts +6 -0
  146. package/dist/providers/LLMAPI/LLMAPI.entity.js +48 -0
  147. package/dist/providers/LLMAPI/LLMAPI.entity.js.map +1 -0
  148. package/dist/providers/LLMAPI/LLMAPI.typedefs.d.ts +516 -0
  149. package/dist/providers/LLMAPI/LLMAPI.typedefs.js +564 -0
  150. package/dist/providers/LLMAPI/LLMAPI.typedefs.js.map +1 -0
  151. package/dist/providers/LLMAPI/LLMAPI.voices.d.ts +376 -0
  152. package/dist/providers/LLMAPI/LLMAPI.voices.js +739 -0
  153. package/dist/providers/LLMAPI/LLMAPI.voices.js.map +1 -0
  154. package/dist/providers/LLMAPI/LLMAPIService.factory.d.ts +6 -0
  155. package/dist/providers/LLMAPI/LLMAPIService.factory.js +19 -0
  156. package/dist/providers/LLMAPI/LLMAPIService.factory.js.map +1 -0
  157. package/dist/providers/LLMAPI/index.d.ts +7 -0
  158. package/dist/providers/LLMAPI/index.js +24 -0
  159. package/dist/providers/LLMAPI/index.js.map +1 -0
  160. package/dist/providers/LLMAPI/schemas/LLMAPISchemaAdapter.d.ts +3 -0
  161. package/dist/providers/LLMAPI/schemas/LLMAPISchemaAdapter.js +8 -0
  162. package/dist/providers/LLMAPI/schemas/LLMAPISchemaAdapter.js.map +1 -0
  163. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +76 -0
  164. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +825 -0
  165. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -0
  166. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.d.ts +25 -0
  167. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +177 -0
  168. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -0
  169. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.d.ts +17 -0
  170. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.js +34 -0
  171. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.js.map +1 -0
  172. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.d.ts +20 -0
  173. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.js +36 -0
  174. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.js.map +1 -0
  175. package/dist/providers/LLMAPI/services/index.d.ts +4 -0
  176. package/dist/providers/LLMAPI/services/index.js +21 -0
  177. package/dist/providers/LLMAPI/services/index.js.map +1 -0
  178. package/dist/providers/LLMAPI/utilities/index.d.ts +4 -0
  179. package/dist/providers/LLMAPI/utilities/index.js +13 -0
  180. package/dist/providers/LLMAPI/utilities/index.js.map +1 -0
  181. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.d.ts +7 -0
  182. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js +35 -0
  183. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js.map +1 -0
  184. package/dist/providers/LLMAPI/utilities/stripThinkingTags.d.ts +1 -0
  185. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js +7 -0
  186. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js.map +1 -0
  187. package/dist/providers/LLMAPI/utilities/structuredOutput.d.ts +13 -0
  188. package/dist/providers/LLMAPI/utilities/structuredOutput.js +29 -0
  189. package/dist/providers/LLMAPI/utilities/structuredOutput.js.map +1 -0
  190. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.d.ts +10 -0
  191. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.js +21 -0
  192. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.js.map +1 -0
  193. package/dist/providers/OpenAI/OpenAI.constants.d.ts +1664 -0
  194. package/dist/providers/OpenAI/OpenAI.constants.js +310 -0
  195. package/dist/providers/OpenAI/OpenAI.constants.js.map +1 -0
  196. package/dist/providers/OpenAI/OpenAI.entity.d.ts +15 -0
  197. package/dist/providers/OpenAI/OpenAI.entity.js +162 -0
  198. package/dist/providers/OpenAI/OpenAI.entity.js.map +1 -0
  199. package/dist/providers/OpenAI/OpenAI.typedefs.d.ts +61 -0
  200. package/dist/providers/OpenAI/OpenAI.typedefs.js +39 -0
  201. package/dist/providers/OpenAI/OpenAI.typedefs.js.map +1 -0
  202. package/dist/providers/OpenAI/OpenAIService.factory.d.ts +6 -0
  203. package/dist/providers/OpenAI/OpenAIService.factory.js +18 -0
  204. package/dist/providers/OpenAI/OpenAIService.factory.js.map +1 -0
  205. package/dist/providers/OpenAI/index.d.ts +5 -0
  206. package/dist/providers/OpenAI/index.js +22 -0
  207. package/dist/providers/OpenAI/index.js.map +1 -0
  208. package/dist/providers/OpenAI/schemas/OpenAISchemaAdapter.d.ts +14 -0
  209. package/dist/providers/OpenAI/schemas/OpenAISchemaAdapter.js +87 -0
  210. package/dist/providers/OpenAI/schemas/OpenAISchemaAdapter.js.map +1 -0
  211. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +42 -0
  212. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +712 -0
  213. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -0
  214. package/dist/providers/OpenAI/services/OpenAICompletion.service.d.ts +7 -0
  215. package/dist/providers/OpenAI/services/OpenAICompletion.service.js +12 -0
  216. package/dist/providers/OpenAI/services/OpenAICompletion.service.js.map +1 -0
  217. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.d.ts +17 -0
  218. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js +40 -0
  219. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js.map +1 -0
  220. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.d.ts +13 -0
  221. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js +32 -0
  222. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js.map +1 -0
  223. package/dist/providers/OpenAI/services/buildFunctionCallOutput.d.ts +3 -0
  224. package/dist/providers/OpenAI/services/buildFunctionCallOutput.js +19 -0
  225. package/dist/providers/OpenAI/services/buildFunctionCallOutput.js.map +1 -0
  226. package/dist/providers/OpenAI/services/index.d.ts +4 -0
  227. package/dist/providers/OpenAI/services/index.js +21 -0
  228. package/dist/providers/OpenAI/services/index.js.map +1 -0
  229. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.d.ts +30 -0
  230. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js +233 -0
  231. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js.map +1 -0
  232. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.d.ts +22 -0
  233. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js +98 -0
  234. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js.map +1 -0
  235. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.d.ts +22 -0
  236. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js +67 -0
  237. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js.map +1 -0
  238. package/dist/providers/index.d.ts +3 -0
  239. package/dist/providers/index.js +20 -0
  240. package/dist/providers/index.js.map +1 -0
  241. package/dist/services/LLMAssistanceService.abstract.d.ts +39 -0
  242. package/dist/services/LLMAssistanceService.abstract.js +101 -0
  243. package/dist/services/LLMAssistanceService.abstract.js.map +1 -0
  244. package/dist/services/LLMBaseService.abstract.d.ts +161 -0
  245. package/dist/services/LLMBaseService.abstract.js +392 -0
  246. package/dist/services/LLMBaseService.abstract.js.map +1 -0
  247. package/dist/services/LLMCompletionService.abstract.d.ts +16 -0
  248. package/dist/services/LLMCompletionService.abstract.js +12 -0
  249. package/dist/services/LLMCompletionService.abstract.js.map +1 -0
  250. package/dist/services/LLMServicePurposeFactory.abstract.d.ts +12 -0
  251. package/dist/services/LLMServicePurposeFactory.abstract.js +7 -0
  252. package/dist/services/LLMServicePurposeFactory.abstract.js.map +1 -0
  253. package/dist/services/LLMSpeechToTextService.abstract.d.ts +8 -0
  254. package/dist/services/LLMSpeechToTextService.abstract.js +12 -0
  255. package/dist/services/LLMSpeechToTextService.abstract.js.map +1 -0
  256. package/dist/services/LLMTextToSpeechService.abstract.d.ts +8 -0
  257. package/dist/services/LLMTextToSpeechService.abstract.js +12 -0
  258. package/dist/services/LLMTextToSpeechService.abstract.js.map +1 -0
  259. package/dist/services/agentRounds/LLMAgentRounds.d.ts +32 -0
  260. package/dist/services/agentRounds/LLMAgentRounds.js +77 -0
  261. package/dist/services/agentRounds/LLMAgentRounds.js.map +1 -0
  262. package/dist/services/agentRounds/agentRounds.typedefs.d.ts +48 -0
  263. package/dist/services/agentRounds/agentRounds.typedefs.js +3 -0
  264. package/dist/services/agentRounds/agentRounds.typedefs.js.map +1 -0
  265. package/dist/services/agentRounds/index.d.ts +2 -0
  266. package/dist/services/agentRounds/index.js +19 -0
  267. package/dist/services/agentRounds/index.js.map +1 -0
  268. package/dist/services/chatState/CompletionsChatState.d.ts +35 -0
  269. package/dist/services/chatState/CompletionsChatState.js +118 -0
  270. package/dist/services/chatState/CompletionsChatState.js.map +1 -0
  271. package/dist/services/chatState/index.d.ts +1 -0
  272. package/dist/services/chatState/index.js +6 -0
  273. package/dist/services/chatState/index.js.map +1 -0
  274. package/dist/services/fileStorage/FileStorageToolExecutor.d.ts +15 -0
  275. package/dist/services/fileStorage/FileStorageToolExecutor.js +172 -0
  276. package/dist/services/fileStorage/FileStorageToolExecutor.js.map +1 -0
  277. package/dist/services/fileStorage/InMemoryFileStorage.d.ts +20 -0
  278. package/dist/services/fileStorage/InMemoryFileStorage.js +67 -0
  279. package/dist/services/fileStorage/InMemoryFileStorage.js.map +1 -0
  280. package/dist/services/fileStorage/fileStorageTools.d.ts +26 -0
  281. package/dist/services/fileStorage/fileStorageTools.js +68 -0
  282. package/dist/services/fileStorage/fileStorageTools.js.map +1 -0
  283. package/dist/services/fileStorage/index.d.ts +4 -0
  284. package/dist/services/fileStorage/index.js +11 -0
  285. package/dist/services/fileStorage/index.js.map +1 -0
  286. package/dist/services/index.d.ts +7 -0
  287. package/dist/services/index.js +24 -0
  288. package/dist/services/index.js.map +1 -0
  289. package/dist/utilities/calculateCosts.d.ts +4 -0
  290. package/dist/utilities/calculateCosts.js +56 -0
  291. package/dist/utilities/calculateCosts.js.map +1 -0
  292. package/dist/utilities/functional.utils.d.ts +1 -0
  293. package/dist/utilities/functional.utils.js +9 -0
  294. package/dist/utilities/functional.utils.js.map +1 -0
  295. package/dist/utilities/index.d.ts +9 -0
  296. package/dist/utilities/index.js +26 -0
  297. package/dist/utilities/index.js.map +1 -0
  298. package/dist/utilities/llmTracing/index.d.ts +3 -0
  299. package/dist/utilities/llmTracing/index.js +20 -0
  300. package/dist/utilities/llmTracing/index.js.map +1 -0
  301. package/dist/utilities/llmTracing/llmTracing.constants.d.ts +7 -0
  302. package/dist/utilities/llmTracing/llmTracing.constants.js +11 -0
  303. package/dist/utilities/llmTracing/llmTracing.constants.js.map +1 -0
  304. package/dist/utilities/llmTracing/llmTracing.typedefs.d.ts +126 -0
  305. package/dist/utilities/llmTracing/llmTracing.typedefs.js +3 -0
  306. package/dist/utilities/llmTracing/llmTracing.typedefs.js.map +1 -0
  307. package/dist/utilities/llmTracing/noopLLMTracing.d.ts +3 -0
  308. package/dist/utilities/llmTracing/noopLLMTracing.js +36 -0
  309. package/dist/utilities/llmTracing/noopLLMTracing.js.map +1 -0
  310. package/dist/utilities/logger/LLMLoggerInterface.d.ts +36 -0
  311. package/dist/utilities/logger/LLMLoggerInterface.js +3 -0
  312. package/dist/utilities/logger/LLMLoggerInterface.js.map +1 -0
  313. package/dist/utilities/logger/index.d.ts +1 -0
  314. package/dist/utilities/logger/index.js +18 -0
  315. package/dist/utilities/logger/index.js.map +1 -0
  316. package/dist/utilities/promptBuilder.d.ts +58 -0
  317. package/dist/utilities/promptBuilder.js +92 -0
  318. package/dist/utilities/promptBuilder.js.map +1 -0
  319. package/dist/utilities/reporter/LLMReporterInterface.d.ts +46 -0
  320. package/dist/utilities/reporter/LLMReporterInterface.js +3 -0
  321. package/dist/utilities/reporter/LLMReporterInterface.js.map +1 -0
  322. package/dist/utilities/reporter/index.d.ts +1 -0
  323. package/dist/utilities/reporter/index.js +18 -0
  324. package/dist/utilities/reporter/index.js.map +1 -0
  325. package/dist/utilities/schema/LLMSchema.d.ts +112 -0
  326. package/dist/utilities/schema/LLMSchema.js +223 -0
  327. package/dist/utilities/schema/LLMSchema.js.map +1 -0
  328. package/dist/utilities/schema/LLMSchema.typedefs.d.ts +55 -0
  329. package/dist/utilities/schema/LLMSchema.typedefs.js +3 -0
  330. package/dist/utilities/schema/LLMSchema.typedefs.js.map +1 -0
  331. package/dist/utilities/schema/SchemaAdapterRegistry.d.ts +26 -0
  332. package/dist/utilities/schema/SchemaAdapterRegistry.js +32 -0
  333. package/dist/utilities/schema/SchemaAdapterRegistry.js.map +1 -0
  334. package/dist/utilities/schema/index.d.ts +2 -0
  335. package/dist/utilities/schema/index.js +19 -0
  336. package/dist/utilities/schema/index.js.map +1 -0
  337. package/dist/utilities/serializeError.d.ts +9 -0
  338. package/dist/utilities/serializeError.js +69 -0
  339. package/dist/utilities/serializeError.js.map +1 -0
  340. package/dist/utilities/tokenizer.d.ts +4 -0
  341. package/dist/utilities/tokenizer.js +14 -0
  342. package/dist/utilities/tokenizer.js.map +1 -0
  343. package/dist/utilities/tools/LLMTool.d.ts +5 -0
  344. package/dist/utilities/tools/LLMTool.js +10 -0
  345. package/dist/utilities/tools/LLMTool.js.map +1 -0
  346. package/dist/utilities/tools/index.d.ts +2 -0
  347. package/dist/utilities/tools/index.js +8 -0
  348. package/dist/utilities/tools/index.js.map +1 -0
  349. package/dist/utilities/tools/normalizeToolResult.d.ts +15 -0
  350. package/dist/utilities/tools/normalizeToolResult.js +18 -0
  351. package/dist/utilities/tools/normalizeToolResult.js.map +1 -0
  352. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ import { type LLMModelUsage } from '../../LLMService.typedefs';
2
+ /**
3
+ * One model round of an agent tool loop, as its provider observed it.
4
+ *
5
+ * `input` is the provider-native message array the round was sent with. Each
6
+ * provider keeps its own representation, so a round carries whatever that
7
+ * provider actually assembled — system instructions included — rather than a
8
+ * shared message shape none of them speaks.
9
+ */
10
+ interface LLMAgentRoundBase {
11
+ input: unknown;
12
+ /**
13
+ * The round's own token usage. Providers that report usage per call fill it
14
+ * on every round; one that only totals a run leaves it unset until the last
15
+ * round, which then carries the run total.
16
+ */
17
+ usage?: LLMModelUsage;
18
+ /** Epoch milliseconds stamped immediately before the provider call. */
19
+ startedAt: number;
20
+ }
21
+ interface LLMSuccessfulAgentRound extends LLMAgentRoundBase {
22
+ output: unknown;
23
+ error?: never;
24
+ isError?: false;
25
+ }
26
+ interface LLMFailedAgentRound extends LLMAgentRoundBase {
27
+ output?: never;
28
+ error: unknown;
29
+ isError: true;
30
+ }
31
+ export type LLMAgentRound = LLMSuccessfulAgentRound | LLMFailedAgentRound;
32
+ /**
33
+ * What one round's response contributes to its generation. Produced by the
34
+ * provider because only the provider knows which part of its response is the
35
+ * assistant output and where that response reports its usage.
36
+ */
37
+ export interface LLMAgentRoundOutcome {
38
+ output: unknown;
39
+ usage?: LLMModelUsage;
40
+ }
41
+ export interface LLMAgentRoundSpec<ProviderResponse> {
42
+ input: unknown;
43
+ call: () => Promise<ProviderResponse>;
44
+ describeOutcome: (response: ProviderResponse) => LLMAgentRoundOutcome;
45
+ }
46
+ /** Emits the generation observation of a single agent round. */
47
+ export type LLMAgentRoundWriter = (round: LLMAgentRound) => void;
48
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=agentRounds.typedefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentRounds.typedefs.js","sourceRoot":"","sources":["../../../src/services/agentRounds/agentRounds.typedefs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './agentRounds.typedefs';
2
+ export * from './LLMAgentRounds';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./agentRounds.typedefs"), exports);
18
+ __exportStar(require("./LLMAgentRounds"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/agentRounds/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,mDAAiC"}
@@ -0,0 +1,35 @@
1
+ import type { ChatCompletionMessageParam, ChatCompletionMessageFunctionToolCall } from 'openai/resources/chat';
2
+ import type { ChatCompletionContentPart } from 'openai/resources/chat';
3
+ export type ChatCompletionToolCallExtraContent = {
4
+ google?: {
5
+ thought_signature?: string;
6
+ };
7
+ } & Record<string, unknown>;
8
+ export type ChatCompletionToolCallWithExtraContent = ChatCompletionMessageFunctionToolCall & {
9
+ extra_content?: ChatCompletionToolCallExtraContent;
10
+ };
11
+ interface ChatStateEntry {
12
+ instructions: string | undefined;
13
+ storageId: string | undefined;
14
+ messages: ChatCompletionMessageParam[];
15
+ }
16
+ export declare class CompletionsChatState {
17
+ private chats;
18
+ createChat(chatId: string, instructions?: string, storageId?: string, history?: ChatCompletionMessageParam[]): void;
19
+ getChat(chatId: string): ChatStateEntry | null;
20
+ appendUserMessage(chatId: string, content: ChatCompletionContentPart[]): void;
21
+ appendAssistantMessage(chatId: string, content: string): void;
22
+ appendToolCallMessages(chatId: string, toolCalls: ChatCompletionToolCallWithExtraContent[], reasoningContent?: string, content?: string): void;
23
+ appendToolResult(chatId: string, toolCallId: string, content: string): void;
24
+ getMessages(chatId: string): ChatCompletionMessageParam[];
25
+ /**
26
+ * Replaces every recorded thought_signature in the chat's assistant
27
+ * tool-call turns with the given marker. Recovery path for providers that
28
+ * reject a previously-issued signature on replay ("Corrupted thought
29
+ * signature"): downgrading to the documented validator-bypass marker lets
30
+ * the conversation continue without the rejected signatures.
31
+ */
32
+ replaceThoughtSignatures(chatId: string, marker: string): void;
33
+ deleteChat(chatId: string): void;
34
+ }
35
+ export {};
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompletionsChatState = void 0;
4
+ class CompletionsChatState {
5
+ chats = new Map();
6
+ createChat(chatId, instructions, storageId, history) {
7
+ const messages = [];
8
+ if (instructions) {
9
+ messages.push({
10
+ role: 'system',
11
+ content: instructions,
12
+ });
13
+ }
14
+ if (history) {
15
+ messages.push(...history);
16
+ }
17
+ this.chats.set(chatId, {
18
+ instructions,
19
+ storageId,
20
+ messages,
21
+ });
22
+ }
23
+ getChat(chatId) {
24
+ return this.chats.get(chatId) ?? null;
25
+ }
26
+ appendUserMessage(chatId, content) {
27
+ const chat = this.chats.get(chatId);
28
+ if (!chat) {
29
+ return;
30
+ }
31
+ chat.messages.push({
32
+ role: 'user',
33
+ content,
34
+ });
35
+ }
36
+ appendAssistantMessage(chatId, content) {
37
+ const chat = this.chats.get(chatId);
38
+ if (!chat) {
39
+ return;
40
+ }
41
+ chat.messages.push({
42
+ role: 'assistant',
43
+ content,
44
+ });
45
+ }
46
+ appendToolCallMessages(chatId, toolCalls, reasoningContent, content = '') {
47
+ const chat = this.chats.get(chatId);
48
+ if (!chat) {
49
+ return;
50
+ }
51
+ const message = {
52
+ role: 'assistant',
53
+ content,
54
+ tool_calls: toolCalls,
55
+ ...(reasoningContent !== undefined && {
56
+ reasoning_content: reasoningContent,
57
+ }),
58
+ };
59
+ chat.messages.push(message);
60
+ }
61
+ appendToolResult(chatId, toolCallId, content) {
62
+ const chat = this.chats.get(chatId);
63
+ if (!chat) {
64
+ return;
65
+ }
66
+ chat.messages.push({
67
+ role: 'tool',
68
+ tool_call_id: toolCallId,
69
+ content: content || 'No output.',
70
+ });
71
+ }
72
+ getMessages(chatId) {
73
+ const chat = this.chats.get(chatId);
74
+ if (!chat) {
75
+ return [];
76
+ }
77
+ return chat.messages;
78
+ }
79
+ /**
80
+ * Replaces every recorded thought_signature in the chat's assistant
81
+ * tool-call turns with the given marker. Recovery path for providers that
82
+ * reject a previously-issued signature on replay ("Corrupted thought
83
+ * signature"): downgrading to the documented validator-bypass marker lets
84
+ * the conversation continue without the rejected signatures.
85
+ */
86
+ replaceThoughtSignatures(chatId, marker) {
87
+ const chat = this.chats.get(chatId);
88
+ if (!chat) {
89
+ return;
90
+ }
91
+ chat.messages = chat.messages.map((message) => {
92
+ if (message.role !== 'assistant' || !Array.isArray(message.tool_calls)) {
93
+ return message;
94
+ }
95
+ const toolCalls = message.tool_calls;
96
+ return {
97
+ ...message,
98
+ tool_calls: toolCalls.map((toolCall) => (toolCall.extra_content?.google?.thought_signature
99
+ ? {
100
+ ...toolCall,
101
+ extra_content: {
102
+ ...toolCall.extra_content,
103
+ google: {
104
+ ...toolCall.extra_content.google,
105
+ thought_signature: marker,
106
+ },
107
+ },
108
+ }
109
+ : toolCall)),
110
+ };
111
+ });
112
+ }
113
+ deleteChat(chatId) {
114
+ this.chats.delete(chatId);
115
+ }
116
+ }
117
+ exports.CompletionsChatState = CompletionsChatState;
118
+ //# sourceMappingURL=CompletionsChatState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionsChatState.js","sourceRoot":"","sources":["../../../src/services/chatState/CompletionsChatState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { CompletionsChatState, type ChatCompletionToolCallExtraContent, type ChatCompletionToolCallWithExtraContent, } from './CompletionsChatState';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompletionsChatState = void 0;
4
+ var CompletionsChatState_1 = require("./CompletionsChatState");
5
+ Object.defineProperty(exports, "CompletionsChatState", { enumerable: true, get: function () { return CompletionsChatState_1.CompletionsChatState; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/chatState/index.ts"],"names":[],"mappings":";;;AAAA,+DAIgC;AAH9B,4HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { type InMemoryFileStorage } from './InMemoryFileStorage';
2
+ export declare class FileStorageToolExecutor {
3
+ private storage;
4
+ constructor(storage: InMemoryFileStorage);
5
+ execute(storageId: string, toolName: string, rawArguments: string): string;
6
+ private listFiles;
7
+ private searchFiles;
8
+ private mergeContextRanges;
9
+ private readFile;
10
+ private readFileLines;
11
+ private resolveLineRange;
12
+ private findFileByPath;
13
+ private fileNotFoundMessage;
14
+ private formatLinesWithNumbers;
15
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileStorageToolExecutor = void 0;
4
+ const fileStorageTools_1 = require("./fileStorageTools");
5
+ const MAX_OUTPUT_LENGTH = 50_000;
6
+ class FileStorageToolExecutor {
7
+ storage;
8
+ constructor(storage) {
9
+ this.storage = storage;
10
+ }
11
+ execute(storageId, toolName, rawArguments) {
12
+ switch (toolName) {
13
+ case fileStorageTools_1.FileStorageToolName.ListFiles:
14
+ return this.listFiles(storageId);
15
+ case fileStorageTools_1.FileStorageToolName.SearchFiles:
16
+ return this.searchFiles(storageId, JSON.parse(rawArguments));
17
+ case fileStorageTools_1.FileStorageToolName.ReadFile:
18
+ return this.readFile(storageId, JSON.parse(rawArguments));
19
+ case fileStorageTools_1.FileStorageToolName.ReadFileLines:
20
+ return this.readFileLines(storageId, JSON.parse(rawArguments));
21
+ default:
22
+ return `Unknown tool: '${toolName}'`;
23
+ }
24
+ }
25
+ listFiles(storageId) {
26
+ const files = this.storage.getStorageFiles(storageId);
27
+ if (files.length === 0) {
28
+ return 'No files in storage.';
29
+ }
30
+ return files
31
+ .map((file) => {
32
+ const lineCount = file.content.split('\n').length;
33
+ return `${file.name} (${file.path}) - ${lineCount} lines`;
34
+ })
35
+ .join('\n');
36
+ }
37
+ searchFiles(storageId, arguments_) {
38
+ const files = this.storage.getStorageFiles(storageId);
39
+ const contextLines = arguments_.context_lines ?? 3;
40
+ const lowerQuery = arguments_.query.toLowerCase();
41
+ const filteredFiles = arguments_.path
42
+ ? files.filter((file) => file.path.includes(arguments_.path))
43
+ : files;
44
+ const results = [];
45
+ for (const file of filteredFiles) {
46
+ if (!file.content.toLowerCase().includes(lowerQuery)) {
47
+ continue;
48
+ }
49
+ const lines = file.content.split('\n');
50
+ const matchingLineIndices = [];
51
+ for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
52
+ if (lines[lineIndex].toLowerCase().includes(lowerQuery)) {
53
+ matchingLineIndices.push(lineIndex);
54
+ }
55
+ }
56
+ if (matchingLineIndices.length === 0) {
57
+ continue;
58
+ }
59
+ const ranges = this.mergeContextRanges(matchingLineIndices, contextLines, lines.length);
60
+ for (const range of ranges) {
61
+ for (let lineIndex = range.start; lineIndex <= range.end; lineIndex++) {
62
+ results.push(`${file.path}:${lineIndex + 1}: ${lines[lineIndex]}`);
63
+ }
64
+ }
65
+ }
66
+ if (results.length === 0) {
67
+ return `No matches found for '${arguments_.query}'`;
68
+ }
69
+ const output = results.join('\n');
70
+ if (output.length > MAX_OUTPUT_LENGTH) {
71
+ return output.slice(0, MAX_OUTPUT_LENGTH)
72
+ + '\n... (output truncated)';
73
+ }
74
+ return output;
75
+ }
76
+ mergeContextRanges(matchingIndices, contextLines, totalLines) {
77
+ const ranges = [];
78
+ for (const matchIndex of matchingIndices) {
79
+ const start = Math.max(0, matchIndex - contextLines);
80
+ const end = Math.min(totalLines - 1, matchIndex + contextLines);
81
+ const lastRange = ranges[ranges.length - 1];
82
+ if (lastRange && start <= lastRange.end + 1) {
83
+ lastRange.end = end;
84
+ }
85
+ else {
86
+ ranges.push({ start, end });
87
+ }
88
+ }
89
+ return ranges;
90
+ }
91
+ readFile(storageId, arguments_) {
92
+ const file = this.findFileByPath(storageId, arguments_.path);
93
+ if (!file) {
94
+ return this.fileNotFoundMessage(storageId, arguments_.path);
95
+ }
96
+ const lines = file.content.split('\n');
97
+ return this.formatLinesWithNumbers(lines, 1);
98
+ }
99
+ readFileLines(storageId, arguments_) {
100
+ const file = this.findFileByPath(storageId, arguments_.path);
101
+ if (!file) {
102
+ return this.fileNotFoundMessage(storageId, arguments_.path);
103
+ }
104
+ const lines = file.content.split('\n');
105
+ const { startIndex, endIndex } = this.resolveLineRange(lines.length, arguments_.start_line, arguments_.end_line);
106
+ const selectedLines = lines.slice(startIndex, endIndex);
107
+ return this.formatLinesWithNumbers(selectedLines, startIndex + 1);
108
+ }
109
+ resolveLineRange(totalLines, startLine, endLine) {
110
+ if (startLine !== undefined && endLine !== undefined) {
111
+ return {
112
+ startIndex: Math.max(0, startLine - 1),
113
+ endIndex: Math.min(totalLines, endLine),
114
+ };
115
+ }
116
+ if (startLine !== undefined) {
117
+ return {
118
+ startIndex: Math.max(0, startLine - 1),
119
+ endIndex: totalLines,
120
+ };
121
+ }
122
+ if (endLine !== undefined && endLine < 0) {
123
+ return {
124
+ startIndex: Math.max(0, totalLines + endLine),
125
+ endIndex: totalLines,
126
+ };
127
+ }
128
+ if (endLine !== undefined) {
129
+ return {
130
+ startIndex: 0,
131
+ endIndex: Math.min(totalLines, endLine),
132
+ };
133
+ }
134
+ return {
135
+ startIndex: 0,
136
+ endIndex: totalLines,
137
+ };
138
+ }
139
+ findFileByPath(storageId, path) {
140
+ const files = this.storage.getStorageFiles(storageId);
141
+ const exactMatch = files.find((file) => file.path === path);
142
+ if (exactMatch) {
143
+ return exactMatch;
144
+ }
145
+ const endsWithMatch = files.find((file) => file.path.endsWith(path));
146
+ if (endsWithMatch) {
147
+ return endsWithMatch;
148
+ }
149
+ const includesMatch = files.find((file) => file.path.includes(path));
150
+ return includesMatch ?? null;
151
+ }
152
+ fileNotFoundMessage(storageId, path) {
153
+ const files = this.storage.getStorageFiles(storageId);
154
+ const availablePaths = files
155
+ .map((file) => file.path)
156
+ .join(', ');
157
+ return `File not found: '${path}'. Available files: ${availablePaths}`;
158
+ }
159
+ formatLinesWithNumbers(lines, startLineNumber) {
160
+ const lastLineNumber = startLineNumber + lines.length - 1;
161
+ const maxWidth = String(lastLineNumber).length;
162
+ return lines
163
+ .map((line, index) => {
164
+ const lineNumber = String(startLineNumber + index)
165
+ .padStart(maxWidth, ' ');
166
+ return `${lineNumber}: ${line}`;
167
+ })
168
+ .join('\n');
169
+ }
170
+ }
171
+ exports.FileStorageToolExecutor = FileStorageToolExecutor;
172
+ //# sourceMappingURL=FileStorageToolExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileStorageToolExecutor.js","sourceRoot":"","sources":["../../../src/services/fileStorage/FileStorageToolExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type LLMUploadFileMimeTypes } from '../../LLMService.typedefs';
2
+ interface StoredFile {
3
+ fileId: string;
4
+ name: string;
5
+ path: string;
6
+ mimeType: LLMUploadFileMimeTypes;
7
+ content: string;
8
+ }
9
+ export declare class InMemoryFileStorage {
10
+ private files;
11
+ private filesByPath;
12
+ private storages;
13
+ addFile(path: string, name: string, mimeType: LLMUploadFileMimeTypes): StoredFile;
14
+ getFileByPath(path: string): StoredFile | null;
15
+ removeFile(fileId: string): void;
16
+ createStorage(fileIds: string[]): string;
17
+ removeStorage(storageId: string): void;
18
+ getStorageFiles(storageId: string): StoredFile[];
19
+ }
20
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InMemoryFileStorage = void 0;
4
+ const fs_1 = require("fs");
5
+ const uuid_1 = require("uuid");
6
+ class InMemoryFileStorage {
7
+ files = new Map();
8
+ filesByPath = new Map();
9
+ storages = new Map();
10
+ addFile(path, name, mimeType) {
11
+ const existing = this.filesByPath.get(path);
12
+ if (existing) {
13
+ return existing;
14
+ }
15
+ const content = (0, fs_1.readFileSync)(path, 'utf-8');
16
+ const fileId = (0, uuid_1.v4)();
17
+ const storedFile = {
18
+ fileId,
19
+ name,
20
+ path,
21
+ mimeType,
22
+ content,
23
+ };
24
+ this.files.set(fileId, storedFile);
25
+ this.filesByPath.set(path, storedFile);
26
+ return storedFile;
27
+ }
28
+ getFileByPath(path) {
29
+ return this.filesByPath.get(path) ?? null;
30
+ }
31
+ removeFile(fileId) {
32
+ const file = this.files.get(fileId);
33
+ if (!file) {
34
+ return;
35
+ }
36
+ this.filesByPath.delete(file.path);
37
+ this.files.delete(fileId);
38
+ }
39
+ createStorage(fileIds) {
40
+ const storageId = (0, uuid_1.v4)();
41
+ this.storages.set(storageId, {
42
+ storageId,
43
+ fileIds,
44
+ });
45
+ return storageId;
46
+ }
47
+ removeStorage(storageId) {
48
+ const group = this.storages.get(storageId);
49
+ if (group) {
50
+ for (const fileId of group.fileIds) {
51
+ this.removeFile(fileId);
52
+ }
53
+ }
54
+ this.storages.delete(storageId);
55
+ }
56
+ getStorageFiles(storageId) {
57
+ const group = this.storages.get(storageId);
58
+ if (!group) {
59
+ return [];
60
+ }
61
+ return group.fileIds
62
+ .map((fileId) => this.files.get(fileId))
63
+ .filter((file) => file !== undefined);
64
+ }
65
+ }
66
+ exports.InMemoryFileStorage = InMemoryFileStorage;
67
+ //# sourceMappingURL=InMemoryFileStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryFileStorage.js","sourceRoot":"","sources":["../../../src/services/fileStorage/InMemoryFileStorage.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAAoC;AAgBpC,MAAa,mBAAmB;IACtB,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtC,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEvD,OAAO,CACL,IAAY,EACZ,IAAY,EACZ,QAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,SAAM,GAAE,CAAC;QAExB,MAAM,UAAU,GAAe;YAC7B,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,OAAiB;QAC7B,MAAM,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;QAE3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;YAC3B,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,KAAK,CAAC,OAAO;aACjB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AAlFD,kDAkFC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import type { ChatCompletionTool } from 'openai/resources/chat';
3
+ export declare enum FileStorageToolName {
4
+ ListFiles = "list_files",
5
+ SearchFiles = "search_files",
6
+ ReadFile = "read_file",
7
+ ReadFileLines = "read_file_lines"
8
+ }
9
+ declare const searchFilesParameters: z.ZodObject<{
10
+ query: z.ZodString;
11
+ path: z.ZodOptional<z.ZodString>;
12
+ context_lines: z.ZodOptional<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ declare const readFileParameters: z.ZodObject<{
15
+ path: z.ZodString;
16
+ }, z.core.$strip>;
17
+ declare const readFileLinesParameters: z.ZodObject<{
18
+ path: z.ZodString;
19
+ start_line: z.ZodOptional<z.ZodNumber>;
20
+ end_line: z.ZodOptional<z.ZodNumber>;
21
+ }, z.core.$strip>;
22
+ export type SearchFilesArgs = z.infer<typeof searchFilesParameters>;
23
+ export type ReadFileArgs = z.infer<typeof readFileParameters>;
24
+ export type ReadFileLinesArgs = z.infer<typeof readFileLinesParameters>;
25
+ export declare function getFileStorageToolsForChatCompletions(): ChatCompletionTool[];
26
+ export {};
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileStorageToolName = void 0;
4
+ exports.getFileStorageToolsForChatCompletions = getFileStorageToolsForChatCompletions;
5
+ const zod_1 = require("zod");
6
+ var FileStorageToolName;
7
+ (function (FileStorageToolName) {
8
+ FileStorageToolName["ListFiles"] = "list_files";
9
+ FileStorageToolName["SearchFiles"] = "search_files";
10
+ FileStorageToolName["ReadFile"] = "read_file";
11
+ FileStorageToolName["ReadFileLines"] = "read_file_lines";
12
+ })(FileStorageToolName || (exports.FileStorageToolName = FileStorageToolName = {}));
13
+ const listFilesParameters = zod_1.z.object({});
14
+ const searchFilesParameters = zod_1.z.object({
15
+ query: zod_1.z.string().describe('The search query string to find in file contents'),
16
+ path: zod_1.z.string().optional().describe('Optional file path filter to narrow the search scope'),
17
+ context_lines: zod_1.z.number().optional().describe('Number of context lines to show around each match (default: 3)'),
18
+ });
19
+ const readFileParameters = zod_1.z.object({
20
+ path: zod_1.z.string().describe('The path of the file to read'),
21
+ });
22
+ const readFileLinesParameters = zod_1.z.object({
23
+ path: zod_1.z.string().describe('The path of the file to read'),
24
+ start_line: zod_1.z.number().optional().describe('The 1-based starting line number to read from'),
25
+ end_line: zod_1.z.number().optional().describe('The 1-based ending line number to read to (inclusive). '
26
+ + 'Negative values read from end of file.'),
27
+ });
28
+ const FILE_STORAGE_TOOLS = [
29
+ {
30
+ name: FileStorageToolName.ListFiles,
31
+ description: 'List all files available in the file storage with their '
32
+ + 'names, paths, and line counts.',
33
+ parametersSchema: listFilesParameters,
34
+ },
35
+ {
36
+ name: FileStorageToolName.SearchFiles,
37
+ description: 'Search for a query string across all files in the storage. '
38
+ + 'Returns matching lines with surrounding context.',
39
+ parametersSchema: searchFilesParameters,
40
+ },
41
+ {
42
+ name: FileStorageToolName.ReadFile,
43
+ description: 'Read the entire contents of a file from the storage.',
44
+ parametersSchema: readFileParameters,
45
+ },
46
+ {
47
+ name: FileStorageToolName.ReadFileLines,
48
+ description: 'Read specific lines from a file in the storage. '
49
+ + 'Supports line ranges and reading from end of file.',
50
+ parametersSchema: readFileLinesParameters,
51
+ },
52
+ ];
53
+ const FILE_STORAGE_CHAT_COMPLETION_TOOLS = FILE_STORAGE_TOOLS
54
+ .map((tool) => ({
55
+ type: 'function',
56
+ function: {
57
+ name: tool.name,
58
+ description: tool.description,
59
+ parameters: zod_1.z.toJSONSchema(tool.parametersSchema, {
60
+ target: 'draft-7',
61
+ reused: 'inline',
62
+ }),
63
+ },
64
+ }));
65
+ function getFileStorageToolsForChatCompletions() {
66
+ return FILE_STORAGE_CHAT_COMPLETION_TOOLS;
67
+ }
68
+ //# sourceMappingURL=fileStorageTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileStorageTools.js","sourceRoot":"","sources":["../../../src/services/fileStorage/fileStorageTools.ts"],"names":[],"mappings":";;;AA0FA,sFAGC;AA7FD,6BAAwB;AAGxB,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,+CAAwB,CAAA;IACxB,mDAA4B,CAAA;IAC5B,6CAAsB,CAAA;IACtB,wDAAiC,CAAA;AACnC,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B;AAED,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEzC,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,kDAAkD,CACnD;IACD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,sDAAsD,CACvD;IACD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3C,gEAAgE,CACjE;CACF,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACvB,8BAA8B,CAC/B;CACF,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACvB,8BAA8B,CAC/B;IACD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxC,+CAA+C,CAChD;IACD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,yDAAyD;UACvD,wCAAwC,CAC3C;CACF,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG;IACzB;QACE,IAAI,EAAE,mBAAmB,CAAC,SAAS;QACnC,WAAW,EAAE,0DAA0D;cACnE,gCAAgC;QACpC,gBAAgB,EAAE,mBAAmB;KACtC;IACD;QACE,IAAI,EAAE,mBAAmB,CAAC,WAAW;QACrC,WAAW,EAAE,6DAA6D;cACtE,kDAAkD;QACtD,gBAAgB,EAAE,qBAAqB;KACxC;IACD;QACE,IAAI,EAAE,mBAAmB,CAAC,QAAQ;QAClC,WAAW,EAAE,sDAAsD;QACnE,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,IAAI,EAAE,mBAAmB,CAAC,aAAa;QACvC,WAAW,EAAE,kDAAkD;cAC3D,oDAAoD;QACxD,gBAAgB,EAAE,uBAAuB;KAC1C;CAKA,CAAC;AAEJ,MAAM,kCAAkC,GAAyB,kBAAkB;KAChF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,UAAmB;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,OAAC,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAChD,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,QAAQ;SACjB,CAAC;KACH;CACF,CAAC,CAAC,CAAC;AAEN,SAAgB,qCAAqC;IAEnD,OAAO,kCAAkC,CAAC;AAC5C,CAAC"}