@mistralai/mistralai 1.13.0 → 1.14.1

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 (586) hide show
  1. package/README.md +9 -3
  2. package/examples/src/async_audio_transcription_diarize.ts +17 -0
  3. package/examples/src/realtime_microphone.ts +163 -0
  4. package/examples/src/realtime_transcription.ts +225 -0
  5. package/extra/realtime/connection.d.ts +44 -0
  6. package/extra/realtime/connection.d.ts.map +1 -0
  7. package/extra/realtime/connection.js +299 -0
  8. package/extra/realtime/connection.js.map +1 -0
  9. package/extra/realtime/errors.d.ts +18 -0
  10. package/extra/realtime/errors.d.ts.map +1 -0
  11. package/extra/realtime/errors.js +21 -0
  12. package/extra/realtime/errors.js.map +1 -0
  13. package/extra/realtime/index.d.ts +15 -0
  14. package/extra/realtime/index.d.ts.map +1 -0
  15. package/extra/realtime/index.js +10 -0
  16. package/extra/realtime/index.js.map +1 -0
  17. package/extra/realtime/transcription.d.ts +17 -0
  18. package/extra/realtime/transcription.d.ts.map +1 -0
  19. package/extra/realtime/transcription.js +200 -0
  20. package/extra/realtime/transcription.js.map +1 -0
  21. package/extra/structChat.js.map +1 -1
  22. package/funcs/audioTranscriptionsComplete.js +6 -0
  23. package/funcs/audioTranscriptionsComplete.js.map +1 -1
  24. package/funcs/audioTranscriptionsStream.js +6 -0
  25. package/funcs/audioTranscriptionsStream.js.map +1 -1
  26. package/funcs/batchJobsList.js +1 -0
  27. package/funcs/batchJobsList.js.map +1 -1
  28. package/funcs/betaAgentsCreateVersionAlias.d.ts +19 -0
  29. package/funcs/betaAgentsCreateVersionAlias.d.ts.map +1 -0
  30. package/funcs/betaAgentsCreateVersionAlias.js +130 -0
  31. package/funcs/betaAgentsCreateVersionAlias.js.map +1 -0
  32. package/funcs/betaAgentsDeleteVersionAlias.d.ts +18 -0
  33. package/funcs/betaAgentsDeleteVersionAlias.d.ts.map +1 -0
  34. package/funcs/betaAgentsDeleteVersionAlias.js +128 -0
  35. package/funcs/betaAgentsDeleteVersionAlias.js.map +1 -0
  36. package/funcs/betaAgentsGet.d.ts +1 -1
  37. package/funcs/betaAgentsGet.js +1 -1
  38. package/funcs/betaAgentsGetVersion.js +1 -1
  39. package/funcs/betaAgentsGetVersion.js.map +1 -1
  40. package/funcs/betaAgentsList.js +1 -0
  41. package/funcs/betaAgentsList.js.map +1 -1
  42. package/funcs/betaAgentsListVersionAliases.d.ts +19 -0
  43. package/funcs/betaAgentsListVersionAliases.d.ts.map +1 -0
  44. package/funcs/betaAgentsListVersionAliases.js +126 -0
  45. package/funcs/betaAgentsListVersionAliases.js.map +1 -0
  46. package/funcs/filesList.js +1 -0
  47. package/funcs/filesList.js.map +1 -1
  48. package/jsr.json +1 -1
  49. package/lib/config.d.ts +2 -2
  50. package/lib/config.js +2 -2
  51. package/models/components/agent.d.ts +2 -8
  52. package/models/components/agent.d.ts.map +1 -1
  53. package/models/components/agent.js +4 -8
  54. package/models/components/agent.js.map +1 -1
  55. package/models/components/agentaliasresponse.d.ts +13 -0
  56. package/models/components/agentaliasresponse.d.ts.map +1 -0
  57. package/models/components/agentaliasresponse.js +59 -0
  58. package/models/components/agentaliasresponse.js.map +1 -0
  59. package/models/components/agentconversation.d.ts +5 -8
  60. package/models/components/agentconversation.d.ts.map +1 -1
  61. package/models/components/agentconversation.js +8 -7
  62. package/models/components/agentconversation.js.map +1 -1
  63. package/models/components/agentcreationrequest.d.ts +2 -0
  64. package/models/components/agentcreationrequest.d.ts.map +1 -1
  65. package/models/components/agentcreationrequest.js +2 -0
  66. package/models/components/agentcreationrequest.js.map +1 -1
  67. package/models/components/agenthandoffdoneevent.d.ts +1 -8
  68. package/models/components/agenthandoffdoneevent.d.ts.map +1 -1
  69. package/models/components/agenthandoffdoneevent.js +2 -7
  70. package/models/components/agenthandoffdoneevent.js.map +1 -1
  71. package/models/components/agenthandoffentry.d.ts +4 -21
  72. package/models/components/agenthandoffentry.d.ts.map +1 -1
  73. package/models/components/agenthandoffentry.js +5 -19
  74. package/models/components/agenthandoffentry.js.map +1 -1
  75. package/models/components/agenthandoffstartedevent.d.ts +1 -8
  76. package/models/components/agenthandoffstartedevent.d.ts.map +1 -1
  77. package/models/components/agenthandoffstartedevent.js +2 -7
  78. package/models/components/agenthandoffstartedevent.js.map +1 -1
  79. package/models/components/agentupdaterequest.d.ts +2 -0
  80. package/models/components/agentupdaterequest.d.ts.map +1 -1
  81. package/models/components/agentupdaterequest.js +2 -0
  82. package/models/components/agentupdaterequest.js.map +1 -1
  83. package/models/components/archiveftmodelout.d.ts +1 -8
  84. package/models/components/archiveftmodelout.d.ts.map +1 -1
  85. package/models/components/archiveftmodelout.js +2 -7
  86. package/models/components/archiveftmodelout.js.map +1 -1
  87. package/models/components/assistantmessage.d.ts +2 -11
  88. package/models/components/assistantmessage.d.ts.map +1 -1
  89. package/models/components/assistantmessage.js +3 -10
  90. package/models/components/assistantmessage.js.map +1 -1
  91. package/models/components/audiochunk.d.ts +2 -11
  92. package/models/components/audiochunk.d.ts.map +1 -1
  93. package/models/components/audiochunk.js +3 -10
  94. package/models/components/audiochunk.js.map +1 -1
  95. package/models/components/audiotranscriptionrequest.d.ts +4 -0
  96. package/models/components/audiotranscriptionrequest.d.ts.map +1 -1
  97. package/models/components/audiotranscriptionrequest.js +3 -0
  98. package/models/components/audiotranscriptionrequest.js.map +1 -1
  99. package/models/components/audiotranscriptionrequeststream.d.ts +4 -0
  100. package/models/components/audiotranscriptionrequeststream.d.ts.map +1 -1
  101. package/models/components/audiotranscriptionrequeststream.js +3 -0
  102. package/models/components/audiotranscriptionrequeststream.js.map +1 -1
  103. package/models/components/basemodelcard.d.ts +0 -7
  104. package/models/components/basemodelcard.d.ts.map +1 -1
  105. package/models/components/basemodelcard.js +1 -6
  106. package/models/components/basemodelcard.js.map +1 -1
  107. package/models/components/batchjobout.d.ts +1 -8
  108. package/models/components/batchjobout.d.ts.map +1 -1
  109. package/models/components/batchjobout.js +2 -7
  110. package/models/components/batchjobout.js.map +1 -1
  111. package/models/components/batchjobsout.d.ts +1 -8
  112. package/models/components/batchjobsout.d.ts.map +1 -1
  113. package/models/components/batchjobsout.js +2 -7
  114. package/models/components/batchjobsout.js.map +1 -1
  115. package/models/components/classifierdetailedjobout.d.ts +2 -17
  116. package/models/components/classifierdetailedjobout.d.ts.map +1 -1
  117. package/models/components/classifierdetailedjobout.js +3 -13
  118. package/models/components/classifierdetailedjobout.js.map +1 -1
  119. package/models/components/classifierftmodelout.d.ts +2 -15
  120. package/models/components/classifierftmodelout.d.ts.map +1 -1
  121. package/models/components/classifierftmodelout.js +3 -13
  122. package/models/components/classifierftmodelout.js.map +1 -1
  123. package/models/components/classifierjobout.d.ts +2 -29
  124. package/models/components/classifierjobout.d.ts.map +1 -1
  125. package/models/components/classifierjobout.js +3 -19
  126. package/models/components/classifierjobout.js.map +1 -1
  127. package/models/components/codeinterpretertool.d.ts +3 -0
  128. package/models/components/codeinterpretertool.d.ts.map +1 -1
  129. package/models/components/codeinterpretertool.js +12 -0
  130. package/models/components/codeinterpretertool.js.map +1 -1
  131. package/models/components/completiondetailedjobout.d.ts +2 -17
  132. package/models/components/completiondetailedjobout.d.ts.map +1 -1
  133. package/models/components/completiondetailedjobout.js +3 -13
  134. package/models/components/completiondetailedjobout.js.map +1 -1
  135. package/models/components/completionftmodelout.d.ts +2 -15
  136. package/models/components/completionftmodelout.d.ts.map +1 -1
  137. package/models/components/completionftmodelout.js +3 -14
  138. package/models/components/completionftmodelout.js.map +1 -1
  139. package/models/components/completionjobout.d.ts +2 -29
  140. package/models/components/completionjobout.d.ts.map +1 -1
  141. package/models/components/completionjobout.js +3 -20
  142. package/models/components/completionjobout.js.map +1 -1
  143. package/models/components/conversationappendrequest.d.ts +5 -2
  144. package/models/components/conversationappendrequest.d.ts.map +1 -1
  145. package/models/components/conversationappendrequest.js +5 -1
  146. package/models/components/conversationappendrequest.js.map +1 -1
  147. package/models/components/conversationappendstreamrequest.d.ts +5 -2
  148. package/models/components/conversationappendstreamrequest.d.ts.map +1 -1
  149. package/models/components/conversationappendstreamrequest.js +5 -1
  150. package/models/components/conversationappendstreamrequest.js.map +1 -1
  151. package/models/components/conversationhistory.d.ts +1 -8
  152. package/models/components/conversationhistory.d.ts.map +1 -1
  153. package/models/components/conversationhistory.js +2 -7
  154. package/models/components/conversationhistory.js.map +1 -1
  155. package/models/components/conversationmessages.d.ts +1 -8
  156. package/models/components/conversationmessages.d.ts.map +1 -1
  157. package/models/components/conversationmessages.js +2 -7
  158. package/models/components/conversationmessages.js.map +1 -1
  159. package/models/components/conversationrequest.d.ts +8 -2
  160. package/models/components/conversationrequest.d.ts.map +1 -1
  161. package/models/components/conversationrequest.js +8 -2
  162. package/models/components/conversationrequest.js.map +1 -1
  163. package/models/components/conversationresponse.d.ts +1 -8
  164. package/models/components/conversationresponse.d.ts.map +1 -1
  165. package/models/components/conversationresponse.js +2 -7
  166. package/models/components/conversationresponse.js.map +1 -1
  167. package/models/components/conversationrestartrequest.d.ts +13 -4
  168. package/models/components/conversationrestartrequest.d.ts.map +1 -1
  169. package/models/components/conversationrestartrequest.js +9 -3
  170. package/models/components/conversationrestartrequest.js.map +1 -1
  171. package/models/components/conversationrestartstreamrequest.d.ts +13 -4
  172. package/models/components/conversationrestartstreamrequest.d.ts.map +1 -1
  173. package/models/components/conversationrestartstreamrequest.js +9 -3
  174. package/models/components/conversationrestartstreamrequest.js.map +1 -1
  175. package/models/components/conversationstreamrequest.d.ts +8 -2
  176. package/models/components/conversationstreamrequest.d.ts.map +1 -1
  177. package/models/components/conversationstreamrequest.js +8 -2
  178. package/models/components/conversationstreamrequest.js.map +1 -1
  179. package/models/components/documentlibrarytool.d.ts +3 -0
  180. package/models/components/documentlibrarytool.d.ts.map +1 -1
  181. package/models/components/documentlibrarytool.js +5 -0
  182. package/models/components/documentlibrarytool.js.map +1 -1
  183. package/models/components/documentout.d.ts +1 -1
  184. package/models/components/documentout.d.ts.map +1 -1
  185. package/models/components/documentout.js +2 -2
  186. package/models/components/documentout.js.map +1 -1
  187. package/models/components/documenturlchunk.d.ts +2 -11
  188. package/models/components/documenturlchunk.d.ts.map +1 -1
  189. package/models/components/documenturlchunk.js +3 -10
  190. package/models/components/documenturlchunk.js.map +1 -1
  191. package/models/components/ftmodelcard.d.ts +0 -7
  192. package/models/components/ftmodelcard.d.ts.map +1 -1
  193. package/models/components/ftmodelcard.js +1 -6
  194. package/models/components/ftmodelcard.js.map +1 -1
  195. package/models/components/functioncallentry.d.ts +13 -17
  196. package/models/components/functioncallentry.d.ts.map +1 -1
  197. package/models/components/functioncallentry.js +15 -16
  198. package/models/components/functioncallentry.js.map +1 -1
  199. package/models/components/functioncallevent.d.ts +8 -5
  200. package/models/components/functioncallevent.d.ts.map +1 -1
  201. package/models/components/functioncallevent.js +9 -5
  202. package/models/components/functioncallevent.js.map +1 -1
  203. package/models/components/functionresultentry.d.ts +4 -21
  204. package/models/components/functionresultentry.d.ts.map +1 -1
  205. package/models/components/functionresultentry.js +5 -19
  206. package/models/components/functionresultentry.js.map +1 -1
  207. package/models/components/functiontool.d.ts +5 -5
  208. package/models/components/functiontool.d.ts.map +1 -1
  209. package/models/components/functiontool.js +6 -6
  210. package/models/components/functiontool.js.map +1 -1
  211. package/models/components/githubrepositoryin.d.ts +2 -9
  212. package/models/components/githubrepositoryin.d.ts.map +1 -1
  213. package/models/components/githubrepositoryin.js +2 -7
  214. package/models/components/githubrepositoryin.js.map +1 -1
  215. package/models/components/githubrepositoryout.d.ts +1 -8
  216. package/models/components/githubrepositoryout.d.ts.map +1 -1
  217. package/models/components/githubrepositoryout.js +2 -7
  218. package/models/components/githubrepositoryout.js.map +1 -1
  219. package/models/components/imagedetail.d.ts +13 -0
  220. package/models/components/imagedetail.d.ts.map +1 -0
  221. package/models/components/imagedetail.js +51 -0
  222. package/models/components/imagedetail.js.map +1 -0
  223. package/models/components/imagegenerationtool.d.ts +3 -0
  224. package/models/components/imagegenerationtool.d.ts.map +1 -1
  225. package/models/components/imagegenerationtool.js +12 -0
  226. package/models/components/imagegenerationtool.js.map +1 -1
  227. package/models/components/imageurl.d.ts +2 -1
  228. package/models/components/imageurl.d.ts.map +1 -1
  229. package/models/components/imageurl.js +3 -2
  230. package/models/components/imageurl.js.map +1 -1
  231. package/models/components/imageurlchunk.d.ts +2 -11
  232. package/models/components/imageurlchunk.d.ts.map +1 -1
  233. package/models/components/imageurlchunk.js +3 -10
  234. package/models/components/imageurlchunk.js.map +1 -1
  235. package/models/components/index.d.ts +14 -0
  236. package/models/components/index.d.ts.map +1 -1
  237. package/models/components/index.js +14 -0
  238. package/models/components/index.js.map +1 -1
  239. package/models/components/jobin.d.ts +0 -3
  240. package/models/components/jobin.d.ts.map +1 -1
  241. package/models/components/jobin.js.map +1 -1
  242. package/models/components/jobsout.d.ts +1 -8
  243. package/models/components/jobsout.d.ts.map +1 -1
  244. package/models/components/jobsout.js +2 -7
  245. package/models/components/jobsout.js.map +1 -1
  246. package/models/components/legacyjobmetadataout.d.ts +1 -8
  247. package/models/components/legacyjobmetadataout.d.ts.map +1 -1
  248. package/models/components/legacyjobmetadataout.js +2 -7
  249. package/models/components/legacyjobmetadataout.js.map +1 -1
  250. package/models/components/messageinputentry.d.ts +9 -25
  251. package/models/components/messageinputentry.d.ts.map +1 -1
  252. package/models/components/messageinputentry.js +10 -25
  253. package/models/components/messageinputentry.js.map +1 -1
  254. package/models/components/messageoutputentry.d.ts +6 -31
  255. package/models/components/messageoutputentry.d.ts.map +1 -1
  256. package/models/components/messageoutputentry.js +7 -28
  257. package/models/components/messageoutputentry.js.map +1 -1
  258. package/models/components/messageoutputevent.d.ts +2 -15
  259. package/models/components/messageoutputevent.d.ts.map +1 -1
  260. package/models/components/messageoutputevent.js +3 -13
  261. package/models/components/messageoutputevent.js.map +1 -1
  262. package/models/components/mistralpromptmode.d.ts +14 -0
  263. package/models/components/mistralpromptmode.d.ts.map +1 -1
  264. package/models/components/mistralpromptmode.js +7 -0
  265. package/models/components/mistralpromptmode.js.map +1 -1
  266. package/models/components/modelcapabilities.d.ts +1 -0
  267. package/models/components/modelcapabilities.d.ts.map +1 -1
  268. package/models/components/modelcapabilities.js +2 -0
  269. package/models/components/modelcapabilities.js.map +1 -1
  270. package/models/components/modelconversation.d.ts +1 -8
  271. package/models/components/modelconversation.d.ts.map +1 -1
  272. package/models/components/modelconversation.js +2 -7
  273. package/models/components/modelconversation.js.map +1 -1
  274. package/models/components/realtimetranscriptionerror.d.ts +20 -0
  275. package/models/components/realtimetranscriptionerror.d.ts.map +1 -0
  276. package/models/components/realtimetranscriptionerror.js +61 -0
  277. package/models/components/realtimetranscriptionerror.js.map +1 -0
  278. package/models/components/realtimetranscriptionerrordetail.d.ts +45 -0
  279. package/models/components/realtimetranscriptionerrordetail.d.ts.map +1 -0
  280. package/models/components/realtimetranscriptionerrordetail.js +72 -0
  281. package/models/components/realtimetranscriptionerrordetail.js.map +1 -0
  282. package/models/components/realtimetranscriptioninputaudioappend.d.ts +22 -0
  283. package/models/components/realtimetranscriptioninputaudioappend.d.ts.map +1 -0
  284. package/models/components/realtimetranscriptioninputaudioappend.js +60 -0
  285. package/models/components/realtimetranscriptioninputaudioappend.js.map +1 -0
  286. package/models/components/realtimetranscriptioninputaudioend.d.ts +17 -0
  287. package/models/components/realtimetranscriptioninputaudioend.d.ts.map +1 -0
  288. package/models/components/realtimetranscriptioninputaudioend.js +58 -0
  289. package/models/components/realtimetranscriptioninputaudioend.js.map +1 -0
  290. package/models/components/realtimetranscriptioninputaudioflush.d.ts +17 -0
  291. package/models/components/realtimetranscriptioninputaudioflush.d.ts.map +1 -0
  292. package/models/components/realtimetranscriptioninputaudioflush.js +58 -0
  293. package/models/components/realtimetranscriptioninputaudioflush.js.map +1 -0
  294. package/models/components/realtimetranscriptionsession.d.ts +24 -0
  295. package/models/components/realtimetranscriptionsession.d.ts.map +1 -0
  296. package/models/components/realtimetranscriptionsession.js +78 -0
  297. package/models/components/realtimetranscriptionsession.js.map +1 -0
  298. package/models/components/realtimetranscriptionsessioncreated.d.ts +20 -0
  299. package/models/components/realtimetranscriptionsessioncreated.d.ts.map +1 -0
  300. package/models/components/realtimetranscriptionsessioncreated.js +61 -0
  301. package/models/components/realtimetranscriptionsessioncreated.js.map +1 -0
  302. package/models/components/realtimetranscriptionsessionupdated.d.ts +20 -0
  303. package/models/components/realtimetranscriptionsessionupdated.d.ts.map +1 -0
  304. package/models/components/realtimetranscriptionsessionupdated.js +61 -0
  305. package/models/components/realtimetranscriptionsessionupdated.js.map +1 -0
  306. package/models/components/realtimetranscriptionsessionupdatemessage.d.ts +20 -0
  307. package/models/components/realtimetranscriptionsessionupdatemessage.d.ts.map +1 -0
  308. package/models/components/realtimetranscriptionsessionupdatemessage.js +61 -0
  309. package/models/components/realtimetranscriptionsessionupdatemessage.js.map +1 -0
  310. package/models/components/realtimetranscriptionsessionupdatepayload.d.ts +26 -0
  311. package/models/components/realtimetranscriptionsessionupdatepayload.d.ts.map +1 -0
  312. package/models/components/realtimetranscriptionsessionupdatepayload.js +72 -0
  313. package/models/components/realtimetranscriptionsessionupdatepayload.js.map +1 -0
  314. package/models/components/referencechunk.d.ts +2 -11
  315. package/models/components/referencechunk.d.ts.map +1 -1
  316. package/models/components/referencechunk.js +3 -10
  317. package/models/components/referencechunk.js.map +1 -1
  318. package/models/components/responsedoneevent.d.ts +1 -8
  319. package/models/components/responsedoneevent.d.ts.map +1 -1
  320. package/models/components/responsedoneevent.js +2 -7
  321. package/models/components/responsedoneevent.js.map +1 -1
  322. package/models/components/responseerrorevent.d.ts +1 -8
  323. package/models/components/responseerrorevent.d.ts.map +1 -1
  324. package/models/components/responseerrorevent.js +2 -7
  325. package/models/components/responseerrorevent.js.map +1 -1
  326. package/models/components/responsestartedevent.d.ts +1 -8
  327. package/models/components/responsestartedevent.d.ts.map +1 -1
  328. package/models/components/responsestartedevent.js +2 -7
  329. package/models/components/responsestartedevent.js.map +1 -1
  330. package/models/components/systemmessage.d.ts +2 -9
  331. package/models/components/systemmessage.d.ts.map +1 -1
  332. package/models/components/systemmessage.js +2 -7
  333. package/models/components/systemmessage.js.map +1 -1
  334. package/models/components/textchunk.d.ts +2 -11
  335. package/models/components/textchunk.d.ts.map +1 -1
  336. package/models/components/textchunk.js +3 -10
  337. package/models/components/textchunk.js.map +1 -1
  338. package/models/components/thinkchunk.d.ts +8 -20
  339. package/models/components/thinkchunk.d.ts.map +1 -1
  340. package/models/components/thinkchunk.js +10 -17
  341. package/models/components/thinkchunk.js.map +1 -1
  342. package/models/components/timestampgranularity.d.ts +1 -0
  343. package/models/components/timestampgranularity.d.ts.map +1 -1
  344. package/models/components/timestampgranularity.js +1 -0
  345. package/models/components/timestampgranularity.js.map +1 -1
  346. package/models/components/toolcallconfirmation.d.ts +22 -0
  347. package/models/components/toolcallconfirmation.d.ts.map +1 -0
  348. package/models/components/toolcallconfirmation.js +61 -0
  349. package/models/components/toolcallconfirmation.js.map +1 -0
  350. package/models/components/toolconfiguration.d.ts +21 -0
  351. package/models/components/toolconfiguration.d.ts.map +1 -0
  352. package/models/components/toolconfiguration.js +71 -0
  353. package/models/components/toolconfiguration.js.map +1 -0
  354. package/models/components/toolexecutiondeltaevent.d.ts +1 -8
  355. package/models/components/toolexecutiondeltaevent.d.ts.map +1 -1
  356. package/models/components/toolexecutiondeltaevent.js +2 -7
  357. package/models/components/toolexecutiondeltaevent.js.map +1 -1
  358. package/models/components/toolexecutiondoneevent.d.ts +1 -8
  359. package/models/components/toolexecutiondoneevent.d.ts.map +1 -1
  360. package/models/components/toolexecutiondoneevent.js +2 -7
  361. package/models/components/toolexecutiondoneevent.js.map +1 -1
  362. package/models/components/toolexecutionentry.d.ts +4 -21
  363. package/models/components/toolexecutionentry.d.ts.map +1 -1
  364. package/models/components/toolexecutionentry.js +5 -19
  365. package/models/components/toolexecutionentry.js.map +1 -1
  366. package/models/components/toolexecutionstartedevent.d.ts +1 -8
  367. package/models/components/toolexecutionstartedevent.d.ts.map +1 -1
  368. package/models/components/toolexecutionstartedevent.js +2 -7
  369. package/models/components/toolexecutionstartedevent.js.map +1 -1
  370. package/models/components/toolfilechunk.d.ts +2 -11
  371. package/models/components/toolfilechunk.d.ts.map +1 -1
  372. package/models/components/toolfilechunk.js +3 -10
  373. package/models/components/toolfilechunk.js.map +1 -1
  374. package/models/components/toolmessage.d.ts +2 -9
  375. package/models/components/toolmessage.d.ts.map +1 -1
  376. package/models/components/toolmessage.js +2 -7
  377. package/models/components/toolmessage.js.map +1 -1
  378. package/models/components/toolreferencechunk.d.ts +2 -11
  379. package/models/components/toolreferencechunk.d.ts.map +1 -1
  380. package/models/components/toolreferencechunk.js +3 -10
  381. package/models/components/toolreferencechunk.js.map +1 -1
  382. package/models/components/transcriptionsegmentchunk.d.ts +6 -11
  383. package/models/components/transcriptionsegmentchunk.d.ts.map +1 -1
  384. package/models/components/transcriptionsegmentchunk.js +13 -11
  385. package/models/components/transcriptionsegmentchunk.js.map +1 -1
  386. package/models/components/transcriptionstreamdone.d.ts +2 -11
  387. package/models/components/transcriptionstreamdone.d.ts.map +1 -1
  388. package/models/components/transcriptionstreamdone.js +3 -10
  389. package/models/components/transcriptionstreamdone.js.map +1 -1
  390. package/models/components/transcriptionstreamlanguage.d.ts +2 -11
  391. package/models/components/transcriptionstreamlanguage.d.ts.map +1 -1
  392. package/models/components/transcriptionstreamlanguage.js +3 -10
  393. package/models/components/transcriptionstreamlanguage.js.map +1 -1
  394. package/models/components/transcriptionstreamsegmentdelta.d.ts +2 -8
  395. package/models/components/transcriptionstreamsegmentdelta.d.ts.map +1 -1
  396. package/models/components/transcriptionstreamsegmentdelta.js +9 -8
  397. package/models/components/transcriptionstreamsegmentdelta.js.map +1 -1
  398. package/models/components/transcriptionstreamtextdelta.d.ts +2 -11
  399. package/models/components/transcriptionstreamtextdelta.d.ts.map +1 -1
  400. package/models/components/transcriptionstreamtextdelta.js +3 -10
  401. package/models/components/transcriptionstreamtextdelta.js.map +1 -1
  402. package/models/components/unarchiveftmodelout.d.ts +1 -8
  403. package/models/components/unarchiveftmodelout.d.ts.map +1 -1
  404. package/models/components/unarchiveftmodelout.js +2 -7
  405. package/models/components/unarchiveftmodelout.js.map +1 -1
  406. package/models/components/usermessage.d.ts +2 -9
  407. package/models/components/usermessage.d.ts.map +1 -1
  408. package/models/components/usermessage.js +2 -7
  409. package/models/components/usermessage.js.map +1 -1
  410. package/models/components/wandbintegration.d.ts +2 -9
  411. package/models/components/wandbintegration.d.ts.map +1 -1
  412. package/models/components/wandbintegration.js +2 -7
  413. package/models/components/wandbintegration.js.map +1 -1
  414. package/models/components/wandbintegrationout.d.ts +1 -8
  415. package/models/components/wandbintegrationout.d.ts.map +1 -1
  416. package/models/components/wandbintegrationout.js +2 -7
  417. package/models/components/wandbintegrationout.js.map +1 -1
  418. package/models/components/websearchpremiumtool.d.ts +3 -0
  419. package/models/components/websearchpremiumtool.d.ts.map +1 -1
  420. package/models/components/websearchpremiumtool.js +12 -0
  421. package/models/components/websearchpremiumtool.js.map +1 -1
  422. package/models/components/websearchtool.d.ts +3 -0
  423. package/models/components/websearchtool.d.ts.map +1 -1
  424. package/models/components/websearchtool.js +12 -0
  425. package/models/components/websearchtool.js.map +1 -1
  426. package/models/operations/agentsapiv1agentscreateorupdatealias.d.ts +16 -0
  427. package/models/operations/agentsapiv1agentscreateorupdatealias.d.ts.map +1 -0
  428. package/models/operations/agentsapiv1agentscreateorupdatealias.js +56 -0
  429. package/models/operations/agentsapiv1agentscreateorupdatealias.js.map +1 -0
  430. package/models/operations/agentsapiv1agentsdeletealias.d.ts +14 -0
  431. package/models/operations/agentsapiv1agentsdeletealias.d.ts.map +1 -0
  432. package/models/operations/agentsapiv1agentsdeletealias.js +55 -0
  433. package/models/operations/agentsapiv1agentsdeletealias.js.map +1 -0
  434. package/models/operations/agentsapiv1agentsget.d.ts +8 -2
  435. package/models/operations/agentsapiv1agentsget.d.ts.map +1 -1
  436. package/models/operations/agentsapiv1agentsget.js +8 -2
  437. package/models/operations/agentsapiv1agentsget.js.map +1 -1
  438. package/models/operations/agentsapiv1agentsgetversion.d.ts +2 -2
  439. package/models/operations/agentsapiv1agentsgetversion.js +1 -1
  440. package/models/operations/agentsapiv1agentsgetversion.js.map +1 -1
  441. package/models/operations/agentsapiv1agentslist.d.ts +8 -0
  442. package/models/operations/agentsapiv1agentslist.d.ts.map +1 -1
  443. package/models/operations/agentsapiv1agentslist.js +1 -0
  444. package/models/operations/agentsapiv1agentslist.js.map +1 -1
  445. package/models/operations/agentsapiv1agentslistversionaliases.d.ts +12 -0
  446. package/models/operations/agentsapiv1agentslistversionaliases.d.ts.map +1 -0
  447. package/models/operations/agentsapiv1agentslistversionaliases.js +54 -0
  448. package/models/operations/agentsapiv1agentslistversionaliases.js.map +1 -0
  449. package/models/operations/filesapirouteslistfiles.d.ts +2 -0
  450. package/models/operations/filesapirouteslistfiles.d.ts.map +1 -1
  451. package/models/operations/filesapirouteslistfiles.js +1 -0
  452. package/models/operations/filesapirouteslistfiles.js.map +1 -1
  453. package/models/operations/index.d.ts +3 -0
  454. package/models/operations/index.d.ts.map +1 -1
  455. package/models/operations/index.js +3 -0
  456. package/models/operations/index.js.map +1 -1
  457. package/models/operations/jobsapiroutesbatchgetbatchjobs.d.ts +10 -0
  458. package/models/operations/jobsapiroutesbatchgetbatchjobs.d.ts.map +1 -1
  459. package/models/operations/jobsapiroutesbatchgetbatchjobs.js +10 -1
  460. package/models/operations/jobsapiroutesbatchgetbatchjobs.js.map +1 -1
  461. package/package.json +4 -1
  462. package/sdk/mistralagents.d.ts +22 -1
  463. package/sdk/mistralagents.d.ts.map +1 -1
  464. package/sdk/mistralagents.js +31 -1
  465. package/sdk/mistralagents.js.map +1 -1
  466. package/src/extra/realtime/connection.ts +459 -0
  467. package/src/extra/realtime/errors.ts +32 -0
  468. package/src/extra/realtime/index.ts +32 -0
  469. package/src/extra/realtime/transcription.ts +291 -0
  470. package/src/extra/structChat.ts +2 -2
  471. package/src/funcs/audioTranscriptionsComplete.ts +6 -0
  472. package/src/funcs/audioTranscriptionsStream.ts +6 -0
  473. package/src/funcs/batchJobsList.ts +1 -0
  474. package/src/funcs/betaAgentsCreateVersionAlias.ts +184 -0
  475. package/src/funcs/betaAgentsDeleteVersionAlias.ts +184 -0
  476. package/src/funcs/betaAgentsGet.ts +1 -1
  477. package/src/funcs/betaAgentsGetVersion.ts +1 -1
  478. package/src/funcs/betaAgentsList.ts +1 -0
  479. package/src/funcs/betaAgentsListVersionAliases.ts +179 -0
  480. package/src/funcs/filesList.ts +1 -0
  481. package/src/lib/config.ts +2 -2
  482. package/src/models/components/agent.ts +5 -12
  483. package/src/models/components/agentaliasresponse.ts +43 -0
  484. package/src/models/components/agentconversation.ts +20 -14
  485. package/src/models/components/agentcreationrequest.ts +4 -0
  486. package/src/models/components/agenthandoffdoneevent.ts +2 -15
  487. package/src/models/components/agenthandoffentry.ts +8 -39
  488. package/src/models/components/agenthandoffstartedevent.ts +2 -17
  489. package/src/models/components/agentupdaterequest.ts +4 -0
  490. package/src/models/components/archiveftmodelout.ts +2 -15
  491. package/src/models/components/assistantmessage.ts +4 -19
  492. package/src/models/components/audiochunk.ts +4 -19
  493. package/src/models/components/audiotranscriptionrequest.ts +7 -0
  494. package/src/models/components/audiotranscriptionrequeststream.ts +7 -0
  495. package/src/models/components/basemodelcard.ts +0 -11
  496. package/src/models/components/batchjobout.ts +2 -13
  497. package/src/models/components/batchjobsout.ts +2 -13
  498. package/src/models/components/classifierdetailedjobout.ts +4 -31
  499. package/src/models/components/classifierftmodelout.ts +4 -29
  500. package/src/models/components/classifierjobout.ts +4 -41
  501. package/src/models/components/codeinterpretertool.ts +19 -0
  502. package/src/models/components/completiondetailedjobout.ts +4 -31
  503. package/src/models/components/completionftmodelout.ts +4 -26
  504. package/src/models/components/completionjobout.ts +4 -38
  505. package/src/models/components/conversationappendrequest.ts +13 -3
  506. package/src/models/components/conversationappendstreamrequest.ts +13 -3
  507. package/src/models/components/conversationhistory.ts +2 -17
  508. package/src/models/components/conversationmessages.ts +2 -17
  509. package/src/models/components/conversationrequest.ts +19 -3
  510. package/src/models/components/conversationresponse.ts +2 -17
  511. package/src/models/components/conversationrestartrequest.ts +32 -6
  512. package/src/models/components/conversationrestartstreamrequest.ts +35 -6
  513. package/src/models/components/conversationstreamrequest.ts +25 -3
  514. package/src/models/components/documentlibrarytool.ts +12 -0
  515. package/src/models/components/documentout.ts +3 -3
  516. package/src/models/components/documenturlchunk.ts +4 -19
  517. package/src/models/components/ftmodelcard.ts +0 -11
  518. package/src/models/components/functioncallentry.ts +25 -33
  519. package/src/models/components/functioncallevent.ts +17 -8
  520. package/src/models/components/functionresultentry.ts +8 -41
  521. package/src/models/components/functiontool.ts +10 -11
  522. package/src/models/components/githubrepositoryin.ts +3 -14
  523. package/src/models/components/githubrepositoryout.ts +2 -15
  524. package/src/models/components/imagedetail.ts +20 -0
  525. package/src/models/components/imagegenerationtool.ts +19 -0
  526. package/src/models/components/imageurl.ts +8 -3
  527. package/src/models/components/imageurlchunk.ts +4 -19
  528. package/src/models/components/index.ts +14 -0
  529. package/src/models/components/jobin.ts +0 -3
  530. package/src/models/components/jobsout.ts +2 -13
  531. package/src/models/components/legacyjobmetadataout.ts +2 -15
  532. package/src/models/components/messageinputentry.ts +18 -45
  533. package/src/models/components/messageoutputentry.ts +12 -57
  534. package/src/models/components/messageoutputevent.ts +4 -25
  535. package/src/models/components/mistralpromptmode.ts +14 -0
  536. package/src/models/components/modelcapabilities.ts +3 -0
  537. package/src/models/components/modelconversation.ts +2 -15
  538. package/src/models/components/realtimetranscriptionerror.ts +61 -0
  539. package/src/models/components/realtimetranscriptionerrordetail.ts +94 -0
  540. package/src/models/components/realtimetranscriptioninputaudioappend.ts +61 -0
  541. package/src/models/components/realtimetranscriptioninputaudioend.ts +54 -0
  542. package/src/models/components/realtimetranscriptioninputaudioflush.ts +54 -0
  543. package/src/models/components/realtimetranscriptionsession.ts +84 -0
  544. package/src/models/components/realtimetranscriptionsessioncreated.ts +64 -0
  545. package/src/models/components/realtimetranscriptionsessionupdated.ts +64 -0
  546. package/src/models/components/realtimetranscriptionsessionupdatemessage.ts +71 -0
  547. package/src/models/components/realtimetranscriptionsessionupdatepayload.ts +88 -0
  548. package/src/models/components/referencechunk.ts +4 -19
  549. package/src/models/components/responsedoneevent.ts +2 -13
  550. package/src/models/components/responseerrorevent.ts +2 -13
  551. package/src/models/components/responsestartedevent.ts +2 -15
  552. package/src/models/components/systemmessage.ts +3 -14
  553. package/src/models/components/textchunk.ts +4 -19
  554. package/src/models/components/thinkchunk.ts +23 -39
  555. package/src/models/components/timestampgranularity.ts +1 -0
  556. package/src/models/components/toolcallconfirmation.ts +50 -0
  557. package/src/models/components/toolconfiguration.ts +68 -0
  558. package/src/models/components/toolexecutiondeltaevent.ts +2 -17
  559. package/src/models/components/toolexecutiondoneevent.ts +2 -15
  560. package/src/models/components/toolexecutionentry.ts +8 -39
  561. package/src/models/components/toolexecutionstartedevent.ts +2 -17
  562. package/src/models/components/toolfilechunk.ts +4 -19
  563. package/src/models/components/toolmessage.ts +3 -14
  564. package/src/models/components/toolreferencechunk.ts +4 -19
  565. package/src/models/components/transcriptionsegmentchunk.ts +20 -19
  566. package/src/models/components/transcriptionstreamdone.ts +4 -25
  567. package/src/models/components/transcriptionstreamlanguage.ts +5 -24
  568. package/src/models/components/transcriptionstreamsegmentdelta.ts +10 -18
  569. package/src/models/components/transcriptionstreamtextdelta.ts +7 -24
  570. package/src/models/components/unarchiveftmodelout.ts +2 -15
  571. package/src/models/components/usermessage.ts +3 -14
  572. package/src/models/components/wandbintegration.ts +3 -14
  573. package/src/models/components/wandbintegrationout.ts +2 -15
  574. package/src/models/components/websearchpremiumtool.ts +19 -0
  575. package/src/models/components/websearchtool.ts +19 -0
  576. package/src/models/operations/agentsapiv1agentscreateorupdatealias.ts +46 -0
  577. package/src/models/operations/agentsapiv1agentsdeletealias.ts +41 -0
  578. package/src/models/operations/agentsapiv1agentsget.ts +19 -3
  579. package/src/models/operations/agentsapiv1agentsgetversion.ts +3 -3
  580. package/src/models/operations/agentsapiv1agentslist.ts +9 -0
  581. package/src/models/operations/agentsapiv1agentslistversionaliases.ts +40 -0
  582. package/src/models/operations/filesapirouteslistfiles.ts +3 -0
  583. package/src/models/operations/index.ts +3 -0
  584. package/src/models/operations/jobsapiroutesbatchgetbatchjobs.ts +15 -0
  585. package/src/sdk/mistralagents.ts +55 -1
  586. package/tests/extra/realtime.test.ts +389 -0
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+
8
+ export type AgentsApiV1AgentsListVersionAliasesRequest = {
9
+ agentId: string;
10
+ };
11
+
12
+ /** @internal */
13
+ export type AgentsApiV1AgentsListVersionAliasesRequest$Outbound = {
14
+ agent_id: string;
15
+ };
16
+
17
+ /** @internal */
18
+ export const AgentsApiV1AgentsListVersionAliasesRequest$outboundSchema:
19
+ z.ZodType<
20
+ AgentsApiV1AgentsListVersionAliasesRequest$Outbound,
21
+ z.ZodTypeDef,
22
+ AgentsApiV1AgentsListVersionAliasesRequest
23
+ > = z.object({
24
+ agentId: z.string(),
25
+ }).transform((v) => {
26
+ return remap$(v, {
27
+ agentId: "agent_id",
28
+ });
29
+ });
30
+
31
+ export function agentsApiV1AgentsListVersionAliasesRequestToJSON(
32
+ agentsApiV1AgentsListVersionAliasesRequest:
33
+ AgentsApiV1AgentsListVersionAliasesRequest,
34
+ ): string {
35
+ return JSON.stringify(
36
+ AgentsApiV1AgentsListVersionAliasesRequest$outboundSchema.parse(
37
+ agentsApiV1AgentsListVersionAliasesRequest,
38
+ ),
39
+ );
40
+ }
@@ -14,6 +14,7 @@ export type FilesApiRoutesListFilesRequest = {
14
14
  source?: Array<components.Source> | null | undefined;
15
15
  search?: string | null | undefined;
16
16
  purpose?: components.FilePurpose | null | undefined;
17
+ mimetypes?: Array<string> | null | undefined;
17
18
  };
18
19
 
19
20
  /** @internal */
@@ -25,6 +26,7 @@ export type FilesApiRoutesListFilesRequest$Outbound = {
25
26
  source?: Array<string> | null | undefined;
26
27
  search?: string | null | undefined;
27
28
  purpose?: string | null | undefined;
29
+ mimetypes?: Array<string> | null | undefined;
28
30
  };
29
31
 
30
32
  /** @internal */
@@ -41,6 +43,7 @@ export const FilesApiRoutesListFilesRequest$outboundSchema: z.ZodType<
41
43
  source: z.nullable(z.array(components.Source$outboundSchema)).optional(),
42
44
  search: z.nullable(z.string()).optional(),
43
45
  purpose: z.nullable(components.FilePurpose$outboundSchema).optional(),
46
+ mimetypes: z.nullable(z.array(z.string())).optional(),
44
47
  }).transform((v) => {
45
48
  return remap$(v, {
46
49
  pageSize: "page_size",
@@ -2,10 +2,13 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
+ export * from "./agentsapiv1agentscreateorupdatealias.js";
5
6
  export * from "./agentsapiv1agentsdelete.js";
7
+ export * from "./agentsapiv1agentsdeletealias.js";
6
8
  export * from "./agentsapiv1agentsget.js";
7
9
  export * from "./agentsapiv1agentsgetversion.js";
8
10
  export * from "./agentsapiv1agentslist.js";
11
+ export * from "./agentsapiv1agentslistversionaliases.js";
9
12
  export * from "./agentsapiv1agentslistversions.js";
10
13
  export * from "./agentsapiv1agentsupdate.js";
11
14
  export * from "./agentsapiv1agentsupdateversion.js";
@@ -4,8 +4,15 @@
4
4
 
5
5
  import * as z from "zod/v3";
6
6
  import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { ClosedEnum } from "../../types/enums.js";
7
8
  import * as components from "../components/index.js";
8
9
 
10
+ export const OrderBy = {
11
+ Created: "created",
12
+ MinusCreated: "-created",
13
+ } as const;
14
+ export type OrderBy = ClosedEnum<typeof OrderBy>;
15
+
9
16
  export type JobsApiRoutesBatchGetBatchJobsRequest = {
10
17
  page?: number | undefined;
11
18
  pageSize?: number | undefined;
@@ -15,8 +22,13 @@ export type JobsApiRoutesBatchGetBatchJobsRequest = {
15
22
  createdAfter?: Date | null | undefined;
16
23
  createdByMe?: boolean | undefined;
17
24
  status?: Array<components.BatchJobStatus> | null | undefined;
25
+ orderBy?: OrderBy | undefined;
18
26
  };
19
27
 
28
+ /** @internal */
29
+ export const OrderBy$outboundSchema: z.ZodNativeEnum<typeof OrderBy> = z
30
+ .nativeEnum(OrderBy);
31
+
20
32
  /** @internal */
21
33
  export type JobsApiRoutesBatchGetBatchJobsRequest$Outbound = {
22
34
  page: number;
@@ -27,6 +39,7 @@ export type JobsApiRoutesBatchGetBatchJobsRequest$Outbound = {
27
39
  created_after?: string | null | undefined;
28
40
  created_by_me: boolean;
29
41
  status?: Array<string> | null | undefined;
42
+ order_by: string;
30
43
  };
31
44
 
32
45
  /** @internal */
@@ -44,12 +57,14 @@ export const JobsApiRoutesBatchGetBatchJobsRequest$outboundSchema: z.ZodType<
44
57
  createdByMe: z.boolean().default(false),
45
58
  status: z.nullable(z.array(components.BatchJobStatus$outboundSchema))
46
59
  .optional(),
60
+ orderBy: OrderBy$outboundSchema.default("-created"),
47
61
  }).transform((v) => {
48
62
  return remap$(v, {
49
63
  pageSize: "page_size",
50
64
  agentId: "agent_id",
51
65
  createdAfter: "created_after",
52
66
  createdByMe: "created_by_me",
67
+ orderBy: "order_by",
53
68
  });
54
69
  });
55
70
 
@@ -3,10 +3,13 @@
3
3
  */
4
4
 
5
5
  import { betaAgentsCreate } from "../funcs/betaAgentsCreate.js";
6
+ import { betaAgentsCreateVersionAlias } from "../funcs/betaAgentsCreateVersionAlias.js";
6
7
  import { betaAgentsDelete } from "../funcs/betaAgentsDelete.js";
8
+ import { betaAgentsDeleteVersionAlias } from "../funcs/betaAgentsDeleteVersionAlias.js";
7
9
  import { betaAgentsGet } from "../funcs/betaAgentsGet.js";
8
10
  import { betaAgentsGetVersion } from "../funcs/betaAgentsGetVersion.js";
9
11
  import { betaAgentsList } from "../funcs/betaAgentsList.js";
12
+ import { betaAgentsListVersionAliases } from "../funcs/betaAgentsListVersionAliases.js";
10
13
  import { betaAgentsListVersions } from "../funcs/betaAgentsListVersions.js";
11
14
  import { betaAgentsUpdate } from "../funcs/betaAgentsUpdate.js";
12
15
  import { betaAgentsUpdateVersion } from "../funcs/betaAgentsUpdateVersion.js";
@@ -54,7 +57,7 @@ export class MistralAgents extends ClientSDK {
54
57
  * Retrieve an agent entity.
55
58
  *
56
59
  * @remarks
57
- * Given an agent retrieve an agent entity with its attributes.
60
+ * Given an agent, retrieve an agent entity with its attributes. The agent_version parameter can be an integer version number or a string alias.
58
61
  */
59
62
  async get(
60
63
  request: operations.AgentsApiV1AgentsGetRequest,
@@ -148,4 +151,55 @@ export class MistralAgents extends ClientSDK {
148
151
  options,
149
152
  ));
150
153
  }
154
+
155
+ /**
156
+ * Create or update an agent version alias.
157
+ *
158
+ * @remarks
159
+ * Create a new alias or update an existing alias to point to a specific version. Aliases are unique per agent and can be reassigned to different versions.
160
+ */
161
+ async createVersionAlias(
162
+ request: operations.AgentsApiV1AgentsCreateOrUpdateAliasRequest,
163
+ options?: RequestOptions,
164
+ ): Promise<components.AgentAliasResponse> {
165
+ return unwrapAsync(betaAgentsCreateVersionAlias(
166
+ this,
167
+ request,
168
+ options,
169
+ ));
170
+ }
171
+
172
+ /**
173
+ * List all aliases for an agent.
174
+ *
175
+ * @remarks
176
+ * Retrieve all version aliases for a specific agent.
177
+ */
178
+ async listVersionAliases(
179
+ request: operations.AgentsApiV1AgentsListVersionAliasesRequest,
180
+ options?: RequestOptions,
181
+ ): Promise<Array<components.AgentAliasResponse>> {
182
+ return unwrapAsync(betaAgentsListVersionAliases(
183
+ this,
184
+ request,
185
+ options,
186
+ ));
187
+ }
188
+
189
+ /**
190
+ * Delete an agent version alias.
191
+ *
192
+ * @remarks
193
+ * Delete an existing alias for an agent.
194
+ */
195
+ async deleteVersionAlias(
196
+ request: operations.AgentsApiV1AgentsDeleteAliasRequest,
197
+ options?: RequestOptions,
198
+ ): Promise<void> {
199
+ return unwrapAsync(betaAgentsDeleteVersionAlias(
200
+ this,
201
+ request,
202
+ options,
203
+ ));
204
+ }
151
205
  }
@@ -0,0 +1,389 @@
1
+ import type WebSocket from "ws";
2
+ import type { RealtimeTranscriptionSession } from "../../extra/realtime";
3
+ import { RealtimeTranscriptionWSError } from "../../extra/realtime/errors";
4
+
5
+ jest.mock("ws", () => {
6
+ class MockWebSocket {
7
+ readyState = 1;
8
+ sent: string[] = [];
9
+ closeArgs: { code?: number; reason?: string } | null = null;
10
+ private listeners = new Map<string, Set<(event: any) => void>>();
11
+
12
+ addEventListener(event: string, handler: (event: any) => void): void {
13
+ if (!this.listeners.has(event)) {
14
+ this.listeners.set(event, new Set());
15
+ }
16
+ this.listeners.get(event)?.add(handler);
17
+ }
18
+
19
+ removeEventListener(event: string, handler: (event: any) => void): void {
20
+ this.listeners.get(event)?.delete(handler);
21
+ }
22
+
23
+ send(data: string, cb?: (err?: Error) => void): void {
24
+ this.sent.push(data);
25
+ cb?.();
26
+ }
27
+
28
+ close(code?: number, reason?: string): void {
29
+ this.closeArgs = { code, reason };
30
+ this.readyState = 3;
31
+ this.emit("close", { code, reason });
32
+ }
33
+
34
+ emit(event: string, data: any): void {
35
+ for (const handler of this.listeners.get(event) ?? []) {
36
+ handler(data);
37
+ }
38
+ }
39
+
40
+ emitMessage(payload: unknown): void {
41
+ const data = typeof payload === "string" ? payload : JSON.stringify(payload);
42
+ this.emit("message", { data });
43
+ }
44
+ }
45
+
46
+ let lastSocket: MockWebSocket | undefined;
47
+
48
+ const WebSocket = jest.fn(() => {
49
+ lastSocket = new MockWebSocket();
50
+ return lastSocket;
51
+ });
52
+
53
+ return {
54
+ __esModule: true,
55
+ default: WebSocket,
56
+ MockWebSocket,
57
+ getLastSocket: () => lastSocket,
58
+ };
59
+ });
60
+
61
+ type MockWebSocketInstance = {
62
+ readyState: number;
63
+ sent: string[];
64
+ closeArgs: { code?: number; reason?: string } | null;
65
+ addEventListener(event: string, handler: (event: any) => void): void;
66
+ removeEventListener(event: string, handler: (event: any) => void): void;
67
+ send(data: string, cb?: (err?: Error) => void): void;
68
+ close(code?: number, reason?: string): void;
69
+ emit(event: string, data: any): void;
70
+ emitMessage(payload: unknown): void;
71
+ };
72
+
73
+ let AudioEncoding: typeof import("../../extra/realtime").AudioEncoding;
74
+ let RealtimeConnection: typeof import("../../extra/realtime").RealtimeConnection;
75
+ let RealtimeTranscription: typeof import("../../extra/realtime").RealtimeTranscription;
76
+
77
+ beforeAll(async () => {
78
+ const realtime = await import("../../extra/realtime");
79
+ AudioEncoding = realtime.AudioEncoding;
80
+ RealtimeConnection = realtime.RealtimeConnection;
81
+ RealtimeTranscription = realtime.RealtimeTranscription;
82
+ });
83
+
84
+ function getMockModule(): {
85
+ MockWebSocket: new () => MockWebSocketInstance;
86
+ getLastSocket: () => MockWebSocketInstance | undefined;
87
+ } {
88
+ return jest.requireMock("ws") as unknown as {
89
+ MockWebSocket: new () => MockWebSocketInstance;
90
+ getLastSocket: () => MockWebSocketInstance | undefined;
91
+ };
92
+ }
93
+
94
+ async function waitForSocket(
95
+ previous?: MockWebSocketInstance,
96
+ ): Promise<MockWebSocketInstance> {
97
+ const { getLastSocket } = getMockModule();
98
+ for (let i = 0; i < 10; i += 1) {
99
+ const ws = getLastSocket();
100
+ if (ws && ws !== previous) {
101
+ await new Promise((resolve) => setTimeout(resolve, 0));
102
+ return ws;
103
+ }
104
+ await new Promise((resolve) => setTimeout(resolve, 0));
105
+ }
106
+ throw new Error("WebSocket was not created");
107
+ }
108
+
109
+ function makeSession(): RealtimeTranscriptionSession {
110
+ return {
111
+ requestId: "ws-123456",
112
+ model: "voxtral-realtime",
113
+ audioFormat: {
114
+ encoding: AudioEncoding.PcmS16le,
115
+ sampleRate: 16000,
116
+ },
117
+ };
118
+ }
119
+
120
+ function makeSessionCreatedMessage() {
121
+ return {
122
+ type: "session.created",
123
+ session: {
124
+ request_id: "ws-123456",
125
+ model: "voxtral-realtime",
126
+ audio_format: {
127
+ encoding: "pcm_s16le",
128
+ sample_rate: 16000,
129
+ },
130
+ },
131
+ };
132
+ }
133
+
134
+ async function collectNext(
135
+ iterator: AsyncIterator<any>,
136
+ ws: MockWebSocketInstance,
137
+ payload: unknown,
138
+ ) {
139
+ const nextPromise = iterator.next();
140
+ ws.emitMessage(payload);
141
+ return await nextPromise;
142
+ }
143
+
144
+ describe("RealtimeConnection async iterator", () => {
145
+ it("yields UnknownRealtimeEvent for unknown types", async () => {
146
+ const { MockWebSocket } = getMockModule();
147
+ const ws = new MockWebSocket();
148
+ const connection = new RealtimeConnection(
149
+ ws as unknown as WebSocket,
150
+ makeSession(),
151
+ );
152
+
153
+ const iterator = connection[Symbol.asyncIterator]();
154
+ const result = await collectNext(iterator, ws, {
155
+ type: "transcription.surprise",
156
+ payload: "hello",
157
+ });
158
+
159
+ expect(result.done).toBe(false);
160
+ expect(result.value.type).toBe("transcription.surprise");
161
+ expect(result.value.raw).toEqual({
162
+ type: "transcription.surprise",
163
+ payload: "hello",
164
+ });
165
+
166
+ const donePromise = iterator.next();
167
+ ws.close();
168
+ await donePromise;
169
+ });
170
+
171
+ it("yields UnknownRealtimeEvent on schema parse failure", async () => {
172
+ const { MockWebSocket } = getMockModule();
173
+ const ws = new MockWebSocket();
174
+ const connection = new RealtimeConnection(
175
+ ws as unknown as WebSocket,
176
+ makeSession(),
177
+ );
178
+
179
+ const iterator = connection[Symbol.asyncIterator]();
180
+ const result = await collectNext(iterator, ws, {
181
+ type: "transcription.text.delta",
182
+ });
183
+
184
+ expect(result.done).toBe(false);
185
+ expect(result.value.type).toBe("transcription.text.delta");
186
+ expect(result.value.error).toBeInstanceOf(Error);
187
+
188
+ const donePromise = iterator.next();
189
+ ws.close();
190
+ await donePromise;
191
+ });
192
+ });
193
+
194
+ describe("RealtimeTranscription handshake", () => {
195
+ it("replays pre-session events", async () => {
196
+ const { getLastSocket } = getMockModule();
197
+ const client = new RealtimeTranscription({
198
+ apiKey: "test",
199
+ serverURL: "wss://example.com",
200
+ });
201
+
202
+ const previousSocket = getMockModule().getLastSocket();
203
+ const connectPromise = client.connect("voxtral-realtime");
204
+ const ws = await waitForSocket(previousSocket);
205
+
206
+ ws.emitMessage({
207
+ type: "transcription.text.delta",
208
+ text: "hello",
209
+ });
210
+ ws.emitMessage(makeSessionCreatedMessage());
211
+
212
+ const connection = await connectPromise;
213
+ const iterator = connection[Symbol.asyncIterator]();
214
+
215
+ const first = await iterator.next();
216
+ expect(first.value.type).toBe("transcription.text.delta");
217
+
218
+ const second = await iterator.next();
219
+ expect(second.value.type).toBe("session.created");
220
+
221
+ const donePromise = iterator.next();
222
+ ws.close();
223
+ await donePromise;
224
+ });
225
+
226
+ it("throws RealtimeTranscriptionWSError on server error", async () => {
227
+ const { getLastSocket } = getMockModule();
228
+ const client = new RealtimeTranscription({
229
+ apiKey: "test",
230
+ serverURL: "wss://example.com",
231
+ });
232
+
233
+ const previousSocket = getMockModule().getLastSocket();
234
+ const connectPromise = client.connect("voxtral-realtime");
235
+ const ws = await waitForSocket(previousSocket);
236
+
237
+ ws.emitMessage({
238
+ type: "error",
239
+ error: {
240
+ message: "bad request",
241
+ code: 400,
242
+ },
243
+ });
244
+
245
+ const error = await connectPromise.then(
246
+ () => new Error("Expected connection to fail"),
247
+ (err) => err as Error,
248
+ );
249
+ expect(error).toBeInstanceOf(RealtimeTranscriptionWSError);
250
+ expect(error).toMatchObject({
251
+ payload: {
252
+ type: "error",
253
+ error: {
254
+ message: "bad request",
255
+ code: 400,
256
+ },
257
+ },
258
+ code: 400,
259
+ });
260
+ });
261
+
262
+ it("preserves raw payload when error schema fails", async () => {
263
+ const { getLastSocket } = getMockModule();
264
+ const client = new RealtimeTranscription({
265
+ apiKey: "test",
266
+ serverURL: "wss://example.com",
267
+ });
268
+
269
+ const previousSocket = getMockModule().getLastSocket();
270
+ const connectPromise = client.connect("voxtral-realtime");
271
+ const ws = await waitForSocket(previousSocket);
272
+
273
+ const rawPayload = {
274
+ type: "error",
275
+ error: {
276
+ message: "missing code",
277
+ },
278
+ };
279
+ ws.emitMessage(rawPayload);
280
+
281
+ const error = await connectPromise.then(
282
+ () => new Error("Expected connection to fail"),
283
+ (err) => err as Error,
284
+ );
285
+ expect(error).toBeInstanceOf(RealtimeTranscriptionWSError);
286
+ expect(error).toMatchObject({ rawPayload });
287
+ });
288
+ });
289
+
290
+ describe("RealtimeTranscription.transcribeStream", () => {
291
+ it("stops on transcription.done and closes websocket", async () => {
292
+ const { getLastSocket } = getMockModule();
293
+ const client = new RealtimeTranscription({
294
+ apiKey: "test",
295
+ serverURL: "wss://example.com",
296
+ });
297
+
298
+ async function* audioStream() {
299
+ yield new Uint8Array([0, 1, 2, 3]);
300
+ yield new Uint8Array([4, 5, 6, 7]);
301
+ }
302
+
303
+ const previousSocket = getMockModule().getLastSocket();
304
+ const eventsPromise = (async () => {
305
+ const events = [] as Array<{ type: string }>;
306
+ for await (const event of client.transcribeStream(
307
+ audioStream(),
308
+ "voxtral-realtime",
309
+ {
310
+ audioFormat: {
311
+ encoding: AudioEncoding.PcmS16le,
312
+ sampleRate: 16000,
313
+ },
314
+ },
315
+ )) {
316
+ events.push(event as { type: string });
317
+ }
318
+ return events;
319
+ })();
320
+
321
+ const ws = await waitForSocket(previousSocket);
322
+
323
+ ws.emitMessage(makeSessionCreatedMessage());
324
+ await new Promise((resolve) => setTimeout(resolve, 0));
325
+ ws.emitMessage({
326
+ type: "transcription.text.delta",
327
+ text: "hello",
328
+ });
329
+ ws.emitMessage({
330
+ type: "transcription.done",
331
+ model: "voxtral-realtime",
332
+ text: "hello",
333
+ usage: { input_tokens: 0, output_tokens: 0 },
334
+ language: null,
335
+ });
336
+
337
+ const events = await eventsPromise;
338
+ expect(events.map((event) => event.type)).toContain("transcription.done");
339
+ const sentMessageTypes = ws.sent.map((message) => {
340
+ const parsed = JSON.parse(message) as { type?: string };
341
+ return parsed.type;
342
+ });
343
+ const flushIndex = sentMessageTypes.lastIndexOf("input_audio.flush");
344
+ const endIndex = sentMessageTypes.lastIndexOf("input_audio.end");
345
+ expect(flushIndex).toBeGreaterThan(-1);
346
+ expect(endIndex).toBeGreaterThan(flushIndex);
347
+ expect(ws.closeArgs?.code).toBe(1000);
348
+ });
349
+
350
+ it("stops on server error and closes websocket", async () => {
351
+ const { getLastSocket } = getMockModule();
352
+ const client = new RealtimeTranscription({
353
+ apiKey: "test",
354
+ serverURL: "wss://example.com",
355
+ });
356
+
357
+ async function* audioStream() {
358
+ yield new Uint8Array([1, 2, 3]);
359
+ }
360
+
361
+ const previousSocket = getMockModule().getLastSocket();
362
+ const eventsPromise = (async () => {
363
+ const events = [] as Array<{ type: string }>;
364
+ for await (const event of client.transcribeStream(
365
+ audioStream(),
366
+ "voxtral-realtime",
367
+ )) {
368
+ events.push(event as { type: string });
369
+ }
370
+ return events;
371
+ })();
372
+
373
+ const ws = await waitForSocket(previousSocket);
374
+
375
+ ws.emitMessage(makeSessionCreatedMessage());
376
+ await new Promise((resolve) => setTimeout(resolve, 0));
377
+ ws.emitMessage({
378
+ type: "error",
379
+ error: {
380
+ message: "bad request",
381
+ code: 400,
382
+ },
383
+ });
384
+
385
+ const events = await eventsPromise;
386
+ expect(events.map((event) => event.type)).toContain("error");
387
+ expect(ws.closeArgs?.code).toBe(1000);
388
+ });
389
+ });