modelmix 2.2.8 → 2.3.8

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 (542) hide show
  1. package/README.md +19 -6
  2. package/demo/demo.mjs +24 -16
  3. package/demo/lmstudio.mjs +1 -1
  4. package/demo/node_modules/.package-lock.json +0 -47
  5. package/demo/package-lock.json +1 -50
  6. package/demo/package.json +1 -3
  7. package/demo/prompt.md +25 -0
  8. package/demo/stream.mjs +3 -3
  9. package/index.js +88 -2
  10. package/package.json +4 -2
  11. package/demo/node_modules/debug/LICENSE +0 -20
  12. package/demo/node_modules/debug/README.md +0 -481
  13. package/demo/node_modules/debug/node_modules/ms/index.js +0 -162
  14. package/demo/node_modules/debug/node_modules/ms/license.md +0 -21
  15. package/demo/node_modules/debug/node_modules/ms/package.json +0 -37
  16. package/demo/node_modules/debug/node_modules/ms/readme.md +0 -60
  17. package/demo/node_modules/debug/package.json +0 -59
  18. package/demo/node_modules/debug/src/browser.js +0 -269
  19. package/demo/node_modules/debug/src/common.js +0 -274
  20. package/demo/node_modules/debug/src/index.js +0 -10
  21. package/demo/node_modules/debug/src/node.js +0 -263
  22. package/demo/node_modules/lemonlog/README.md +0 -133
  23. package/demo/node_modules/lemonlog/demo/demo.js +0 -31
  24. package/demo/node_modules/lemonlog/index.js +0 -94
  25. package/demo/node_modules/lemonlog/package.json +0 -31
  26. package/demo/node_modules/openai/CHANGELOG.md +0 -1176
  27. package/demo/node_modules/openai/LICENSE +0 -201
  28. package/demo/node_modules/openai/README.md +0 -616
  29. package/demo/node_modules/openai/_shims/MultipartBody.d.ts +0 -9
  30. package/demo/node_modules/openai/_shims/MultipartBody.d.ts.map +0 -1
  31. package/demo/node_modules/openai/_shims/MultipartBody.js +0 -16
  32. package/demo/node_modules/openai/_shims/MultipartBody.js.map +0 -1
  33. package/demo/node_modules/openai/_shims/MultipartBody.mjs +0 -12
  34. package/demo/node_modules/openai/_shims/MultipartBody.mjs.map +0 -1
  35. package/demo/node_modules/openai/_shims/README.md +0 -46
  36. package/demo/node_modules/openai/_shims/auto/runtime-bun.d.ts +0 -5
  37. package/demo/node_modules/openai/_shims/auto/runtime-bun.d.ts.map +0 -1
  38. package/demo/node_modules/openai/_shims/auto/runtime-bun.js +0 -21
  39. package/demo/node_modules/openai/_shims/auto/runtime-bun.js.map +0 -1
  40. package/demo/node_modules/openai/_shims/auto/runtime-bun.mjs +0 -2
  41. package/demo/node_modules/openai/_shims/auto/runtime-bun.mjs.map +0 -1
  42. package/demo/node_modules/openai/_shims/auto/runtime-node.d.ts +0 -5
  43. package/demo/node_modules/openai/_shims/auto/runtime-node.d.ts.map +0 -1
  44. package/demo/node_modules/openai/_shims/auto/runtime-node.js +0 -21
  45. package/demo/node_modules/openai/_shims/auto/runtime-node.js.map +0 -1
  46. package/demo/node_modules/openai/_shims/auto/runtime-node.mjs +0 -2
  47. package/demo/node_modules/openai/_shims/auto/runtime-node.mjs.map +0 -1
  48. package/demo/node_modules/openai/_shims/auto/runtime.d.ts +0 -5
  49. package/demo/node_modules/openai/_shims/auto/runtime.d.ts.map +0 -1
  50. package/demo/node_modules/openai/_shims/auto/runtime.js +0 -21
  51. package/demo/node_modules/openai/_shims/auto/runtime.js.map +0 -1
  52. package/demo/node_modules/openai/_shims/auto/runtime.mjs +0 -2
  53. package/demo/node_modules/openai/_shims/auto/runtime.mjs.map +0 -1
  54. package/demo/node_modules/openai/_shims/auto/types-node.d.ts +0 -5
  55. package/demo/node_modules/openai/_shims/auto/types-node.d.ts.map +0 -1
  56. package/demo/node_modules/openai/_shims/auto/types-node.js +0 -21
  57. package/demo/node_modules/openai/_shims/auto/types-node.js.map +0 -1
  58. package/demo/node_modules/openai/_shims/auto/types-node.mjs +0 -2
  59. package/demo/node_modules/openai/_shims/auto/types-node.mjs.map +0 -1
  60. package/demo/node_modules/openai/_shims/auto/types.d.ts +0 -101
  61. package/demo/node_modules/openai/_shims/auto/types.js +0 -3
  62. package/demo/node_modules/openai/_shims/auto/types.mjs +0 -3
  63. package/demo/node_modules/openai/_shims/bun-runtime.d.ts +0 -6
  64. package/demo/node_modules/openai/_shims/bun-runtime.d.ts.map +0 -1
  65. package/demo/node_modules/openai/_shims/bun-runtime.js +0 -14
  66. package/demo/node_modules/openai/_shims/bun-runtime.js.map +0 -1
  67. package/demo/node_modules/openai/_shims/bun-runtime.mjs +0 -10
  68. package/demo/node_modules/openai/_shims/bun-runtime.mjs.map +0 -1
  69. package/demo/node_modules/openai/_shims/index.d.ts +0 -81
  70. package/demo/node_modules/openai/_shims/index.js +0 -13
  71. package/demo/node_modules/openai/_shims/index.mjs +0 -7
  72. package/demo/node_modules/openai/_shims/manual-types.d.ts +0 -12
  73. package/demo/node_modules/openai/_shims/manual-types.js +0 -3
  74. package/demo/node_modules/openai/_shims/manual-types.mjs +0 -3
  75. package/demo/node_modules/openai/_shims/node-runtime.d.ts +0 -3
  76. package/demo/node_modules/openai/_shims/node-runtime.d.ts.map +0 -1
  77. package/demo/node_modules/openai/_shims/node-runtime.js +0 -90
  78. package/demo/node_modules/openai/_shims/node-runtime.js.map +0 -1
  79. package/demo/node_modules/openai/_shims/node-runtime.mjs +0 -56
  80. package/demo/node_modules/openai/_shims/node-runtime.mjs.map +0 -1
  81. package/demo/node_modules/openai/_shims/node-types.d.ts +0 -42
  82. package/demo/node_modules/openai/_shims/node-types.js +0 -3
  83. package/demo/node_modules/openai/_shims/node-types.mjs +0 -3
  84. package/demo/node_modules/openai/_shims/registry.d.ts +0 -37
  85. package/demo/node_modules/openai/_shims/registry.d.ts.map +0 -1
  86. package/demo/node_modules/openai/_shims/registry.js +0 -41
  87. package/demo/node_modules/openai/_shims/registry.js.map +0 -1
  88. package/demo/node_modules/openai/_shims/registry.mjs +0 -37
  89. package/demo/node_modules/openai/_shims/registry.mjs.map +0 -1
  90. package/demo/node_modules/openai/_shims/web-runtime.d.ts +0 -5
  91. package/demo/node_modules/openai/_shims/web-runtime.d.ts.map +0 -1
  92. package/demo/node_modules/openai/_shims/web-runtime.js +0 -78
  93. package/demo/node_modules/openai/_shims/web-runtime.js.map +0 -1
  94. package/demo/node_modules/openai/_shims/web-runtime.mjs +0 -71
  95. package/demo/node_modules/openai/_shims/web-runtime.mjs.map +0 -1
  96. package/demo/node_modules/openai/_shims/web-types.d.ts +0 -83
  97. package/demo/node_modules/openai/_shims/web-types.js +0 -3
  98. package/demo/node_modules/openai/_shims/web-types.mjs +0 -3
  99. package/demo/node_modules/openai/bin/cli +0 -49
  100. package/demo/node_modules/openai/core.d.ts +0 -239
  101. package/demo/node_modules/openai/core.d.ts.map +0 -1
  102. package/demo/node_modules/openai/core.js +0 -879
  103. package/demo/node_modules/openai/core.js.map +0 -1
  104. package/demo/node_modules/openai/core.mjs +0 -848
  105. package/demo/node_modules/openai/core.mjs.map +0 -1
  106. package/demo/node_modules/openai/error.d.ts +0 -57
  107. package/demo/node_modules/openai/error.d.ts.map +0 -1
  108. package/demo/node_modules/openai/error.js +0 -148
  109. package/demo/node_modules/openai/error.js.map +0 -1
  110. package/demo/node_modules/openai/error.mjs +0 -132
  111. package/demo/node_modules/openai/error.mjs.map +0 -1
  112. package/demo/node_modules/openai/index.d.mts +0 -267
  113. package/demo/node_modules/openai/index.d.ts +0 -267
  114. package/demo/node_modules/openai/index.d.ts.map +0 -1
  115. package/demo/node_modules/openai/index.js +0 -262
  116. package/demo/node_modules/openai/index.js.map +0 -1
  117. package/demo/node_modules/openai/index.mjs +0 -232
  118. package/demo/node_modules/openai/index.mjs.map +0 -1
  119. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.d.ts +0 -74
  120. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.d.ts.map +0 -1
  121. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.js +0 -246
  122. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.js.map +0 -1
  123. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.mjs +0 -242
  124. package/demo/node_modules/openai/lib/AbstractAssistantStreamRunner.mjs.map +0 -1
  125. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.d.ts +0 -114
  126. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.d.ts.map +0 -1
  127. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.js +0 -519
  128. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.js.map +0 -1
  129. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.mjs +0 -515
  130. package/demo/node_modules/openai/lib/AbstractChatCompletionRunner.mjs.map +0 -1
  131. package/demo/node_modules/openai/lib/AssistantStream.d.ts +0 -58
  132. package/demo/node_modules/openai/lib/AssistantStream.d.ts.map +0 -1
  133. package/demo/node_modules/openai/lib/AssistantStream.js +0 -548
  134. package/demo/node_modules/openai/lib/AssistantStream.js.map +0 -1
  135. package/demo/node_modules/openai/lib/AssistantStream.mjs +0 -521
  136. package/demo/node_modules/openai/lib/AssistantStream.mjs.map +0 -1
  137. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.d.ts +0 -2
  138. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.d.ts.map +0 -1
  139. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.js +0 -2177
  140. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.js.map +0 -1
  141. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.mjs +0 -2172
  142. package/demo/node_modules/openai/lib/ChatCompletionRunFunctions.test.mjs.map +0 -1
  143. package/demo/node_modules/openai/lib/ChatCompletionRunner.d.ts +0 -19
  144. package/demo/node_modules/openai/lib/ChatCompletionRunner.d.ts.map +0 -1
  145. package/demo/node_modules/openai/lib/ChatCompletionRunner.js +0 -34
  146. package/demo/node_modules/openai/lib/ChatCompletionRunner.js.map +0 -1
  147. package/demo/node_modules/openai/lib/ChatCompletionRunner.mjs +0 -30
  148. package/demo/node_modules/openai/lib/ChatCompletionRunner.mjs.map +0 -1
  149. package/demo/node_modules/openai/lib/ChatCompletionStream.d.ts +0 -149
  150. package/demo/node_modules/openai/lib/ChatCompletionStream.d.ts.map +0 -1
  151. package/demo/node_modules/openai/lib/ChatCompletionStream.js +0 -312
  152. package/demo/node_modules/openai/lib/ChatCompletionStream.js.map +0 -1
  153. package/demo/node_modules/openai/lib/ChatCompletionStream.mjs +0 -308
  154. package/demo/node_modules/openai/lib/ChatCompletionStream.mjs.map +0 -1
  155. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.d.ts +0 -22
  156. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.d.ts.map +0 -1
  157. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.js +0 -32
  158. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.js.map +0 -1
  159. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.mjs +0 -28
  160. package/demo/node_modules/openai/lib/ChatCompletionStreamingRunner.mjs.map +0 -1
  161. package/demo/node_modules/openai/lib/RunnableFunction.d.ts +0 -95
  162. package/demo/node_modules/openai/lib/RunnableFunction.d.ts.map +0 -1
  163. package/demo/node_modules/openai/lib/RunnableFunction.js +0 -35
  164. package/demo/node_modules/openai/lib/RunnableFunction.js.map +0 -1
  165. package/demo/node_modules/openai/lib/RunnableFunction.mjs +0 -29
  166. package/demo/node_modules/openai/lib/RunnableFunction.mjs.map +0 -1
  167. package/demo/node_modules/openai/lib/Util.d.ts +0 -5
  168. package/demo/node_modules/openai/lib/Util.d.ts.map +0 -1
  169. package/demo/node_modules/openai/lib/Util.js +0 -26
  170. package/demo/node_modules/openai/lib/Util.js.map +0 -1
  171. package/demo/node_modules/openai/lib/Util.mjs +0 -22
  172. package/demo/node_modules/openai/lib/Util.mjs.map +0 -1
  173. package/demo/node_modules/openai/lib/chatCompletionUtils.d.ts +0 -6
  174. package/demo/node_modules/openai/lib/chatCompletionUtils.d.ts.map +0 -1
  175. package/demo/node_modules/openai/lib/chatCompletionUtils.js +0 -20
  176. package/demo/node_modules/openai/lib/chatCompletionUtils.js.map +0 -1
  177. package/demo/node_modules/openai/lib/chatCompletionUtils.mjs +0 -13
  178. package/demo/node_modules/openai/lib/chatCompletionUtils.mjs.map +0 -1
  179. package/demo/node_modules/openai/lib/jsonschema.d.ts +0 -106
  180. package/demo/node_modules/openai/lib/jsonschema.d.ts.map +0 -1
  181. package/demo/node_modules/openai/lib/jsonschema.js +0 -11
  182. package/demo/node_modules/openai/lib/jsonschema.js.map +0 -1
  183. package/demo/node_modules/openai/lib/jsonschema.mjs +0 -10
  184. package/demo/node_modules/openai/lib/jsonschema.mjs.map +0 -1
  185. package/demo/node_modules/openai/package.json +0 -105
  186. package/demo/node_modules/openai/pagination.d.ts +0 -37
  187. package/demo/node_modules/openai/pagination.d.ts.map +0 -1
  188. package/demo/node_modules/openai/pagination.js +0 -64
  189. package/demo/node_modules/openai/pagination.js.map +0 -1
  190. package/demo/node_modules/openai/pagination.mjs +0 -59
  191. package/demo/node_modules/openai/pagination.mjs.map +0 -1
  192. package/demo/node_modules/openai/resource.d.ts +0 -6
  193. package/demo/node_modules/openai/resource.d.ts.map +0 -1
  194. package/demo/node_modules/openai/resource.js +0 -11
  195. package/demo/node_modules/openai/resource.js.map +0 -1
  196. package/demo/node_modules/openai/resource.mjs +0 -7
  197. package/demo/node_modules/openai/resource.mjs.map +0 -1
  198. package/demo/node_modules/openai/resources/audio/audio.d.ts +0 -20
  199. package/demo/node_modules/openai/resources/audio/audio.d.ts.map +0 -1
  200. package/demo/node_modules/openai/resources/audio/audio.js +0 -46
  201. package/demo/node_modules/openai/resources/audio/audio.js.map +0 -1
  202. package/demo/node_modules/openai/resources/audio/audio.mjs +0 -19
  203. package/demo/node_modules/openai/resources/audio/audio.mjs.map +0 -1
  204. package/demo/node_modules/openai/resources/audio/index.d.ts +0 -5
  205. package/demo/node_modules/openai/resources/audio/index.d.ts.map +0 -1
  206. package/demo/node_modules/openai/resources/audio/index.js +0 -13
  207. package/demo/node_modules/openai/resources/audio/index.js.map +0 -1
  208. package/demo/node_modules/openai/resources/audio/index.mjs +0 -6
  209. package/demo/node_modules/openai/resources/audio/index.mjs.map +0 -1
  210. package/demo/node_modules/openai/resources/audio/speech.d.ts +0 -42
  211. package/demo/node_modules/openai/resources/audio/speech.d.ts.map +0 -1
  212. package/demo/node_modules/openai/resources/audio/speech.js +0 -17
  213. package/demo/node_modules/openai/resources/audio/speech.js.map +0 -1
  214. package/demo/node_modules/openai/resources/audio/speech.mjs +0 -13
  215. package/demo/node_modules/openai/resources/audio/speech.mjs.map +0 -1
  216. package/demo/node_modules/openai/resources/audio/transcriptions.d.ts +0 -71
  217. package/demo/node_modules/openai/resources/audio/transcriptions.d.ts.map +0 -1
  218. package/demo/node_modules/openai/resources/audio/transcriptions.js +0 -18
  219. package/demo/node_modules/openai/resources/audio/transcriptions.js.map +0 -1
  220. package/demo/node_modules/openai/resources/audio/transcriptions.mjs +0 -14
  221. package/demo/node_modules/openai/resources/audio/transcriptions.mjs.map +0 -1
  222. package/demo/node_modules/openai/resources/audio/translations.d.ts +0 -50
  223. package/demo/node_modules/openai/resources/audio/translations.d.ts.map +0 -1
  224. package/demo/node_modules/openai/resources/audio/translations.js +0 -18
  225. package/demo/node_modules/openai/resources/audio/translations.js.map +0 -1
  226. package/demo/node_modules/openai/resources/audio/translations.mjs +0 -14
  227. package/demo/node_modules/openai/resources/audio/translations.mjs.map +0 -1
  228. package/demo/node_modules/openai/resources/batches.d.ts +0 -189
  229. package/demo/node_modules/openai/resources/batches.d.ts.map +0 -1
  230. package/demo/node_modules/openai/resources/batches.js +0 -65
  231. package/demo/node_modules/openai/resources/batches.js.map +0 -1
  232. package/demo/node_modules/openai/resources/batches.mjs +0 -37
  233. package/demo/node_modules/openai/resources/batches.mjs.map +0 -1
  234. package/demo/node_modules/openai/resources/beta/assistants.d.ts +0 -1048
  235. package/demo/node_modules/openai/resources/beta/assistants.d.ts.map +0 -1
  236. package/demo/node_modules/openai/resources/beta/assistants.js +0 -89
  237. package/demo/node_modules/openai/resources/beta/assistants.js.map +0 -1
  238. package/demo/node_modules/openai/resources/beta/assistants.mjs +0 -61
  239. package/demo/node_modules/openai/resources/beta/assistants.mjs.map +0 -1
  240. package/demo/node_modules/openai/resources/beta/beta.d.ts +0 -53
  241. package/demo/node_modules/openai/resources/beta/beta.d.ts.map +0 -1
  242. package/demo/node_modules/openai/resources/beta/beta.js +0 -51
  243. package/demo/node_modules/openai/resources/beta/beta.js.map +0 -1
  244. package/demo/node_modules/openai/resources/beta/beta.mjs +0 -24
  245. package/demo/node_modules/openai/resources/beta/beta.mjs.map +0 -1
  246. package/demo/node_modules/openai/resources/beta/chat/chat.d.ts +0 -9
  247. package/demo/node_modules/openai/resources/beta/chat/chat.d.ts.map +0 -1
  248. package/demo/node_modules/openai/resources/beta/chat/chat.js +0 -40
  249. package/demo/node_modules/openai/resources/beta/chat/chat.js.map +0 -1
  250. package/demo/node_modules/openai/resources/beta/chat/chat.mjs +0 -13
  251. package/demo/node_modules/openai/resources/beta/chat/chat.mjs.map +0 -1
  252. package/demo/node_modules/openai/resources/beta/chat/completions.d.ts +0 -37
  253. package/demo/node_modules/openai/resources/beta/chat/completions.d.ts.map +0 -1
  254. package/demo/node_modules/openai/resources/beta/chat/completions.js +0 -39
  255. package/demo/node_modules/openai/resources/beta/chat/completions.js.map +0 -1
  256. package/demo/node_modules/openai/resources/beta/chat/completions.mjs +0 -30
  257. package/demo/node_modules/openai/resources/beta/chat/completions.mjs.map +0 -1
  258. package/demo/node_modules/openai/resources/beta/chat/index.d.ts +0 -3
  259. package/demo/node_modules/openai/resources/beta/chat/index.d.ts.map +0 -1
  260. package/demo/node_modules/openai/resources/beta/chat/index.js +0 -9
  261. package/demo/node_modules/openai/resources/beta/chat/index.js.map +0 -1
  262. package/demo/node_modules/openai/resources/beta/chat/index.mjs +0 -4
  263. package/demo/node_modules/openai/resources/beta/chat/index.mjs.map +0 -1
  264. package/demo/node_modules/openai/resources/beta/index.d.ts +0 -6
  265. package/demo/node_modules/openai/resources/beta/index.d.ts.map +0 -1
  266. package/demo/node_modules/openai/resources/beta/index.js +0 -17
  267. package/demo/node_modules/openai/resources/beta/index.js.map +0 -1
  268. package/demo/node_modules/openai/resources/beta/index.mjs +0 -7
  269. package/demo/node_modules/openai/resources/beta/index.mjs.map +0 -1
  270. package/demo/node_modules/openai/resources/beta/threads/index.d.ts +0 -4
  271. package/demo/node_modules/openai/resources/beta/threads/index.d.ts.map +0 -1
  272. package/demo/node_modules/openai/resources/beta/threads/index.js +0 -13
  273. package/demo/node_modules/openai/resources/beta/threads/index.js.map +0 -1
  274. package/demo/node_modules/openai/resources/beta/threads/index.mjs +0 -5
  275. package/demo/node_modules/openai/resources/beta/threads/index.mjs.map +0 -1
  276. package/demo/node_modules/openai/resources/beta/threads/messages.d.ts +0 -552
  277. package/demo/node_modules/openai/resources/beta/threads/messages.d.ts.map +0 -1
  278. package/demo/node_modules/openai/resources/beta/threads/messages.js +0 -89
  279. package/demo/node_modules/openai/resources/beta/threads/messages.js.map +0 -1
  280. package/demo/node_modules/openai/resources/beta/threads/messages.mjs +0 -61
  281. package/demo/node_modules/openai/resources/beta/threads/messages.mjs.map +0 -1
  282. package/demo/node_modules/openai/resources/beta/threads/runs/index.d.ts +0 -3
  283. package/demo/node_modules/openai/resources/beta/threads/runs/index.d.ts.map +0 -1
  284. package/demo/node_modules/openai/resources/beta/threads/runs/index.js +0 -11
  285. package/demo/node_modules/openai/resources/beta/threads/runs/index.js.map +0 -1
  286. package/demo/node_modules/openai/resources/beta/threads/runs/index.mjs +0 -4
  287. package/demo/node_modules/openai/resources/beta/threads/runs/index.mjs.map +0 -1
  288. package/demo/node_modules/openai/resources/beta/threads/runs/runs.d.ts +0 -1194
  289. package/demo/node_modules/openai/resources/beta/threads/runs/runs.d.ts.map +0 -1
  290. package/demo/node_modules/openai/resources/beta/threads/runs/runs.js +0 -190
  291. package/demo/node_modules/openai/resources/beta/threads/runs/runs.js.map +0 -1
  292. package/demo/node_modules/openai/resources/beta/threads/runs/runs.mjs +0 -162
  293. package/demo/node_modules/openai/resources/beta/threads/runs/runs.mjs.map +0 -1
  294. package/demo/node_modules/openai/resources/beta/threads/runs/steps.d.ts +0 -520
  295. package/demo/node_modules/openai/resources/beta/threads/runs/steps.d.ts.map +0 -1
  296. package/demo/node_modules/openai/resources/beta/threads/runs/steps.js +0 -60
  297. package/demo/node_modules/openai/resources/beta/threads/runs/steps.js.map +0 -1
  298. package/demo/node_modules/openai/resources/beta/threads/runs/steps.mjs +0 -32
  299. package/demo/node_modules/openai/resources/beta/threads/runs/steps.mjs.map +0 -1
  300. package/demo/node_modules/openai/resources/beta/threads/threads.d.ts +0 -1240
  301. package/demo/node_modules/openai/resources/beta/threads/threads.d.ts.map +0 -1
  302. package/demo/node_modules/openai/resources/beta/threads/threads.js +0 -108
  303. package/demo/node_modules/openai/resources/beta/threads/threads.js.map +0 -1
  304. package/demo/node_modules/openai/resources/beta/threads/threads.mjs +0 -81
  305. package/demo/node_modules/openai/resources/beta/threads/threads.mjs.map +0 -1
  306. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.d.ts +0 -142
  307. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.d.ts.map +0 -1
  308. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.js +0 -129
  309. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.js.map +0 -1
  310. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.mjs +0 -125
  311. package/demo/node_modules/openai/resources/beta/vector-stores/file-batches.mjs.map +0 -1
  312. package/demo/node_modules/openai/resources/beta/vector-stores/files.d.ts +0 -154
  313. package/demo/node_modules/openai/resources/beta/vector-stores/files.d.ts.map +0 -1
  314. package/demo/node_modules/openai/resources/beta/vector-stores/files.js +0 -149
  315. package/demo/node_modules/openai/resources/beta/vector-stores/files.js.map +0 -1
  316. package/demo/node_modules/openai/resources/beta/vector-stores/files.mjs +0 -121
  317. package/demo/node_modules/openai/resources/beta/vector-stores/files.mjs.map +0 -1
  318. package/demo/node_modules/openai/resources/beta/vector-stores/index.d.ts +0 -4
  319. package/demo/node_modules/openai/resources/beta/vector-stores/index.d.ts.map +0 -1
  320. package/demo/node_modules/openai/resources/beta/vector-stores/index.js +0 -13
  321. package/demo/node_modules/openai/resources/beta/vector-stores/index.js.map +0 -1
  322. package/demo/node_modules/openai/resources/beta/vector-stores/index.mjs +0 -5
  323. package/demo/node_modules/openai/resources/beta/vector-stores/index.mjs.map +0 -1
  324. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.d.ts +0 -233
  325. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.d.ts.map +0 -1
  326. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.js +0 -99
  327. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.js.map +0 -1
  328. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.mjs +0 -71
  329. package/demo/node_modules/openai/resources/beta/vector-stores/vector-stores.mjs.map +0 -1
  330. package/demo/node_modules/openai/resources/chat/chat.d.ts +0 -42
  331. package/demo/node_modules/openai/resources/chat/chat.d.ts.map +0 -1
  332. package/demo/node_modules/openai/resources/chat/chat.js +0 -40
  333. package/demo/node_modules/openai/resources/chat/chat.js.map +0 -1
  334. package/demo/node_modules/openai/resources/chat/chat.mjs +0 -13
  335. package/demo/node_modules/openai/resources/chat/chat.mjs.map +0 -1
  336. package/demo/node_modules/openai/resources/chat/completions.d.ts +0 -845
  337. package/demo/node_modules/openai/resources/chat/completions.d.ts.map +0 -1
  338. package/demo/node_modules/openai/resources/chat/completions.js +0 -14
  339. package/demo/node_modules/openai/resources/chat/completions.js.map +0 -1
  340. package/demo/node_modules/openai/resources/chat/completions.mjs +0 -10
  341. package/demo/node_modules/openai/resources/chat/completions.mjs.map +0 -1
  342. package/demo/node_modules/openai/resources/chat/index.d.ts +0 -3
  343. package/demo/node_modules/openai/resources/chat/index.d.ts.map +0 -1
  344. package/demo/node_modules/openai/resources/chat/index.js +0 -9
  345. package/demo/node_modules/openai/resources/chat/index.js.map +0 -1
  346. package/demo/node_modules/openai/resources/chat/index.mjs +0 -4
  347. package/demo/node_modules/openai/resources/chat/index.mjs.map +0 -1
  348. package/demo/node_modules/openai/resources/completions.d.ts +0 -272
  349. package/demo/node_modules/openai/resources/completions.d.ts.map +0 -1
  350. package/demo/node_modules/openai/resources/completions.js +0 -14
  351. package/demo/node_modules/openai/resources/completions.js.map +0 -1
  352. package/demo/node_modules/openai/resources/completions.mjs +0 -10
  353. package/demo/node_modules/openai/resources/completions.mjs.map +0 -1
  354. package/demo/node_modules/openai/resources/embeddings.d.ts +0 -103
  355. package/demo/node_modules/openai/resources/embeddings.d.ts.map +0 -1
  356. package/demo/node_modules/openai/resources/embeddings.js +0 -17
  357. package/demo/node_modules/openai/resources/embeddings.js.map +0 -1
  358. package/demo/node_modules/openai/resources/embeddings.mjs +0 -13
  359. package/demo/node_modules/openai/resources/embeddings.mjs.map +0 -1
  360. package/demo/node_modules/openai/resources/files.d.ts +0 -140
  361. package/demo/node_modules/openai/resources/files.d.ts.map +0 -1
  362. package/demo/node_modules/openai/resources/files.js +0 -120
  363. package/demo/node_modules/openai/resources/files.js.map +0 -1
  364. package/demo/node_modules/openai/resources/files.mjs +0 -92
  365. package/demo/node_modules/openai/resources/files.mjs.map +0 -1
  366. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.d.ts +0 -19
  367. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.d.ts.map +0 -1
  368. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.js +0 -42
  369. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.js.map +0 -1
  370. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.mjs +0 -15
  371. package/demo/node_modules/openai/resources/fine-tuning/fine-tuning.mjs.map +0 -1
  372. package/demo/node_modules/openai/resources/fine-tuning/index.d.ts +0 -3
  373. package/demo/node_modules/openai/resources/fine-tuning/index.d.ts.map +0 -1
  374. package/demo/node_modules/openai/resources/fine-tuning/index.js +0 -11
  375. package/demo/node_modules/openai/resources/fine-tuning/index.js.map +0 -1
  376. package/demo/node_modules/openai/resources/fine-tuning/index.mjs +0 -4
  377. package/demo/node_modules/openai/resources/fine-tuning/index.mjs.map +0 -1
  378. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts +0 -69
  379. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts.map +0 -1
  380. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +0 -47
  381. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js.map +0 -1
  382. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.mjs +0 -19
  383. package/demo/node_modules/openai/resources/fine-tuning/jobs/checkpoints.mjs.map +0 -1
  384. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.d.ts +0 -3
  385. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.d.ts.map +0 -1
  386. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.js +0 -12
  387. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.js.map +0 -1
  388. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.mjs +0 -4
  389. package/demo/node_modules/openai/resources/fine-tuning/jobs/index.mjs.map +0 -1
  390. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts +0 -362
  391. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts.map +0 -1
  392. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.js +0 -93
  393. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.js.map +0 -1
  394. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.mjs +0 -64
  395. package/demo/node_modules/openai/resources/fine-tuning/jobs/jobs.mjs.map +0 -1
  396. package/demo/node_modules/openai/resources/images.d.ts +0 -174
  397. package/demo/node_modules/openai/resources/images.d.ts.map +0 -1
  398. package/demo/node_modules/openai/resources/images.js +0 -30
  399. package/demo/node_modules/openai/resources/images.js.map +0 -1
  400. package/demo/node_modules/openai/resources/images.mjs +0 -26
  401. package/demo/node_modules/openai/resources/images.mjs.map +0 -1
  402. package/demo/node_modules/openai/resources/index.d.ts +0 -13
  403. package/demo/node_modules/openai/resources/index.d.ts.map +0 -1
  404. package/demo/node_modules/openai/resources/index.js +0 -44
  405. package/demo/node_modules/openai/resources/index.js.map +0 -1
  406. package/demo/node_modules/openai/resources/index.mjs +0 -14
  407. package/demo/node_modules/openai/resources/index.mjs.map +0 -1
  408. package/demo/node_modules/openai/resources/models.d.ts +0 -58
  409. package/demo/node_modules/openai/resources/models.d.ts.map +0 -1
  410. package/demo/node_modules/openai/resources/models.js +0 -64
  411. package/demo/node_modules/openai/resources/models.js.map +0 -1
  412. package/demo/node_modules/openai/resources/models.mjs +0 -36
  413. package/demo/node_modules/openai/resources/models.mjs.map +0 -1
  414. package/demo/node_modules/openai/resources/moderations.d.ts +0 -176
  415. package/demo/node_modules/openai/resources/moderations.d.ts.map +0 -1
  416. package/demo/node_modules/openai/resources/moderations.js +0 -17
  417. package/demo/node_modules/openai/resources/moderations.js.map +0 -1
  418. package/demo/node_modules/openai/resources/moderations.mjs +0 -13
  419. package/demo/node_modules/openai/resources/moderations.mjs.map +0 -1
  420. package/demo/node_modules/openai/resources/shared.d.ts +0 -39
  421. package/demo/node_modules/openai/resources/shared.d.ts.map +0 -1
  422. package/demo/node_modules/openai/resources/shared.js +0 -4
  423. package/demo/node_modules/openai/resources/shared.js.map +0 -1
  424. package/demo/node_modules/openai/resources/shared.mjs +0 -3
  425. package/demo/node_modules/openai/resources/shared.mjs.map +0 -1
  426. package/demo/node_modules/openai/shims/node.d.ts +0 -29
  427. package/demo/node_modules/openai/shims/node.d.ts.map +0 -1
  428. package/demo/node_modules/openai/shims/node.js +0 -31
  429. package/demo/node_modules/openai/shims/node.js.map +0 -1
  430. package/demo/node_modules/openai/shims/node.mjs +0 -5
  431. package/demo/node_modules/openai/shims/node.mjs.map +0 -1
  432. package/demo/node_modules/openai/shims/web.d.ts +0 -26
  433. package/demo/node_modules/openai/shims/web.d.ts.map +0 -1
  434. package/demo/node_modules/openai/shims/web.js +0 -31
  435. package/demo/node_modules/openai/shims/web.js.map +0 -1
  436. package/demo/node_modules/openai/shims/web.mjs +0 -5
  437. package/demo/node_modules/openai/shims/web.mjs.map +0 -1
  438. package/demo/node_modules/openai/src/_shims/MultipartBody.ts +0 -9
  439. package/demo/node_modules/openai/src/_shims/README.md +0 -46
  440. package/demo/node_modules/openai/src/_shims/auto/runtime-bun.ts +0 -4
  441. package/demo/node_modules/openai/src/_shims/auto/runtime-node.ts +0 -4
  442. package/demo/node_modules/openai/src/_shims/auto/runtime.ts +0 -4
  443. package/demo/node_modules/openai/src/_shims/auto/types-node.ts +0 -4
  444. package/demo/node_modules/openai/src/_shims/auto/types.d.ts +0 -101
  445. package/demo/node_modules/openai/src/_shims/auto/types.js +0 -3
  446. package/demo/node_modules/openai/src/_shims/auto/types.mjs +0 -3
  447. package/demo/node_modules/openai/src/_shims/bun-runtime.ts +0 -14
  448. package/demo/node_modules/openai/src/_shims/index.d.ts +0 -81
  449. package/demo/node_modules/openai/src/_shims/index.js +0 -13
  450. package/demo/node_modules/openai/src/_shims/index.mjs +0 -7
  451. package/demo/node_modules/openai/src/_shims/manual-types.d.ts +0 -12
  452. package/demo/node_modules/openai/src/_shims/manual-types.js +0 -3
  453. package/demo/node_modules/openai/src/_shims/manual-types.mjs +0 -3
  454. package/demo/node_modules/openai/src/_shims/node-runtime.ts +0 -83
  455. package/demo/node_modules/openai/src/_shims/node-types.d.ts +0 -42
  456. package/demo/node_modules/openai/src/_shims/node-types.js +0 -3
  457. package/demo/node_modules/openai/src/_shims/node-types.mjs +0 -3
  458. package/demo/node_modules/openai/src/_shims/registry.ts +0 -65
  459. package/demo/node_modules/openai/src/_shims/web-runtime.ts +0 -103
  460. package/demo/node_modules/openai/src/_shims/web-types.d.ts +0 -83
  461. package/demo/node_modules/openai/src/_shims/web-types.js +0 -3
  462. package/demo/node_modules/openai/src/_shims/web-types.mjs +0 -3
  463. package/demo/node_modules/openai/src/core.ts +0 -1162
  464. package/demo/node_modules/openai/src/error.ts +0 -158
  465. package/demo/node_modules/openai/src/index.ts +0 -502
  466. package/demo/node_modules/openai/src/lib/.keep +0 -4
  467. package/demo/node_modules/openai/src/lib/AbstractAssistantStreamRunner.ts +0 -340
  468. package/demo/node_modules/openai/src/lib/AbstractChatCompletionRunner.ts +0 -682
  469. package/demo/node_modules/openai/src/lib/AssistantStream.ts +0 -723
  470. package/demo/node_modules/openai/src/lib/ChatCompletionRunFunctions.test.ts +0 -2328
  471. package/demo/node_modules/openai/src/lib/ChatCompletionRunner.ts +0 -68
  472. package/demo/node_modules/openai/src/lib/ChatCompletionStream.ts +0 -494
  473. package/demo/node_modules/openai/src/lib/ChatCompletionStreamingRunner.ts +0 -68
  474. package/demo/node_modules/openai/src/lib/RunnableFunction.ts +0 -134
  475. package/demo/node_modules/openai/src/lib/Util.ts +0 -23
  476. package/demo/node_modules/openai/src/lib/chatCompletionUtils.ts +0 -28
  477. package/demo/node_modules/openai/src/lib/jsonschema.ts +0 -148
  478. package/demo/node_modules/openai/src/pagination.ts +0 -98
  479. package/demo/node_modules/openai/src/resource.ts +0 -11
  480. package/demo/node_modules/openai/src/resources/audio/audio.ts +0 -23
  481. package/demo/node_modules/openai/src/resources/audio/index.ts +0 -6
  482. package/demo/node_modules/openai/src/resources/audio/speech.ts +0 -52
  483. package/demo/node_modules/openai/src/resources/audio/transcriptions.ts +0 -84
  484. package/demo/node_modules/openai/src/resources/audio/translations.ts +0 -61
  485. package/demo/node_modules/openai/src/resources/batches.ts +0 -252
  486. package/demo/node_modules/openai/src/resources/beta/assistants.ts +0 -1315
  487. package/demo/node_modules/openai/src/resources/beta/beta.ts +0 -56
  488. package/demo/node_modules/openai/src/resources/beta/chat/chat.ts +0 -12
  489. package/demo/node_modules/openai/src/resources/beta/chat/completions.ts +0 -106
  490. package/demo/node_modules/openai/src/resources/beta/chat/index.ts +0 -4
  491. package/demo/node_modules/openai/src/resources/beta/index.ts +0 -48
  492. package/demo/node_modules/openai/src/resources/beta/threads/index.ts +0 -72
  493. package/demo/node_modules/openai/src/resources/beta/threads/messages.ts +0 -706
  494. package/demo/node_modules/openai/src/resources/beta/threads/runs/index.ts +0 -44
  495. package/demo/node_modules/openai/src/resources/beta/threads/runs/runs.ts +0 -1627
  496. package/demo/node_modules/openai/src/resources/beta/threads/runs/steps.ts +0 -641
  497. package/demo/node_modules/openai/src/resources/beta/threads/threads.ts +0 -1536
  498. package/demo/node_modules/openai/src/resources/beta/vector-stores/file-batches.ts +0 -293
  499. package/demo/node_modules/openai/src/resources/beta/vector-stores/files.ts +0 -284
  500. package/demo/node_modules/openai/src/resources/beta/vector-stores/index.ts +0 -25
  501. package/demo/node_modules/openai/src/resources/beta/vector-stores/vector-stores.ts +0 -318
  502. package/demo/node_modules/openai/src/resources/chat/chat.ts +0 -67
  503. package/demo/node_modules/openai/src/resources/chat/completions.ts +0 -996
  504. package/demo/node_modules/openai/src/resources/chat/index.ts +0 -33
  505. package/demo/node_modules/openai/src/resources/completions.ts +0 -329
  506. package/demo/node_modules/openai/src/resources/embeddings.ts +0 -125
  507. package/demo/node_modules/openai/src/resources/files.ts +0 -214
  508. package/demo/node_modules/openai/src/resources/fine-tuning/fine-tuning.ts +0 -22
  509. package/demo/node_modules/openai/src/resources/fine-tuning/index.ts +0 -16
  510. package/demo/node_modules/openai/src/resources/fine-tuning/jobs/checkpoints.ts +0 -108
  511. package/demo/node_modules/openai/src/resources/fine-tuning/jobs/index.ts +0 -21
  512. package/demo/node_modules/openai/src/resources/fine-tuning/jobs/jobs.ts +0 -458
  513. package/demo/node_modules/openai/src/resources/images.ts +0 -215
  514. package/demo/node_modules/openai/src/resources/index.ts +0 -45
  515. package/demo/node_modules/openai/src/resources/models.ts +0 -76
  516. package/demo/node_modules/openai/src/resources/moderations.ts +0 -214
  517. package/demo/node_modules/openai/src/resources/shared.ts +0 -47
  518. package/demo/node_modules/openai/src/shims/node.ts +0 -50
  519. package/demo/node_modules/openai/src/shims/web.ts +0 -50
  520. package/demo/node_modules/openai/src/streaming.ts +0 -508
  521. package/demo/node_modules/openai/src/tsconfig.json +0 -11
  522. package/demo/node_modules/openai/src/uploads.ts +0 -248
  523. package/demo/node_modules/openai/src/version.ts +0 -1
  524. package/demo/node_modules/openai/streaming.d.ts +0 -41
  525. package/demo/node_modules/openai/streaming.d.ts.map +0 -1
  526. package/demo/node_modules/openai/streaming.js +0 -433
  527. package/demo/node_modules/openai/streaming.js.map +0 -1
  528. package/demo/node_modules/openai/streaming.mjs +0 -426
  529. package/demo/node_modules/openai/streaming.mjs.map +0 -1
  530. package/demo/node_modules/openai/uploads.d.ts +0 -75
  531. package/demo/node_modules/openai/uploads.d.ts.map +0 -1
  532. package/demo/node_modules/openai/uploads.js +0 -165
  533. package/demo/node_modules/openai/uploads.js.map +0 -1
  534. package/demo/node_modules/openai/uploads.mjs +0 -152
  535. package/demo/node_modules/openai/uploads.mjs.map +0 -1
  536. package/demo/node_modules/openai/version.d.ts +0 -2
  537. package/demo/node_modules/openai/version.d.ts.map +0 -1
  538. package/demo/node_modules/openai/version.js +0 -5
  539. package/demo/node_modules/openai/version.js.map +0 -1
  540. package/demo/node_modules/openai/version.mjs +0 -2
  541. package/demo/node_modules/openai/version.mjs.map +0 -1
  542. package/demo/watson.png +0 -0
@@ -1,723 +0,0 @@
1
- import {
2
- TextContentBlock,
3
- ImageFileContentBlock,
4
- Message,
5
- MessageContentDelta,
6
- Text,
7
- ImageFile,
8
- TextDelta,
9
- Messages,
10
- MessageContent,
11
- } from "../resources/beta/threads/messages";
12
- import * as Core from "../core";
13
- import { RequestOptions } from "../core";
14
- import {
15
- Run,
16
- RunCreateParamsBase,
17
- RunCreateParamsStreaming,
18
- Runs,
19
- RunSubmitToolOutputsParamsBase,
20
- RunSubmitToolOutputsParamsStreaming,
21
- } from "../resources/beta/threads/runs/runs";
22
- import {
23
- AbstractAssistantRunnerEvents,
24
- AbstractAssistantStreamRunner,
25
- } from './AbstractAssistantStreamRunner';
26
- import { type ReadableStream } from "../_shims/index";
27
- import { Stream } from "../streaming";
28
- import { APIUserAbortError, OpenAIError } from "../error";
29
- import {
30
- AssistantStreamEvent,
31
- MessageStreamEvent,
32
- RunStepStreamEvent,
33
- RunStreamEvent,
34
- } from "../resources/beta/assistants";
35
- import { RunStep, RunStepDelta, ToolCall, ToolCallDelta } from "../resources/beta/threads/runs/steps";
36
- import { ThreadCreateAndRunParamsBase, Threads } from "../resources/beta/threads/threads";
37
- import MessageDelta = Messages.MessageDelta;
38
-
39
- export interface AssistantStreamEvents extends AbstractAssistantRunnerEvents {
40
- //New event structure
41
- messageCreated: (message: Message) => void;
42
- messageDelta: (message: MessageDelta, snapshot: Message) => void;
43
- messageDone: (message: Message) => void;
44
-
45
- runStepCreated: (runStep: RunStep) => void;
46
- runStepDelta: (delta: RunStepDelta, snapshot: Runs.RunStep) => void;
47
- runStepDone: (runStep: Runs.RunStep, snapshot: Runs.RunStep) => void;
48
-
49
- toolCallCreated: (toolCall: ToolCall) => void;
50
- toolCallDelta: (delta: ToolCallDelta, snapshot: ToolCall) => void;
51
- toolCallDone: (toolCall: ToolCall) => void;
52
-
53
- textCreated: (content: Text) => void;
54
- textDelta: (delta: TextDelta, snapshot: Text) => void;
55
- textDone: (content: Text, snapshot: Message) => void;
56
-
57
- //No created or delta as this is not streamed
58
- imageFileDone: (content: ImageFile, snapshot: Message) => void;
59
-
60
- end: () => void;
61
-
62
- event: (event: AssistantStreamEvent) => void;
63
- }
64
-
65
- export type ThreadCreateAndRunParamsBaseStream = Omit<ThreadCreateAndRunParamsBase, 'stream'> & {
66
- stream?: true;
67
- };
68
-
69
- export type RunCreateParamsBaseStream = Omit<RunCreateParamsBase, 'stream'> & {
70
- stream?: true;
71
- };
72
-
73
- export type RunSubmitToolOutputsParamsStream = Omit<RunSubmitToolOutputsParamsBase, 'stream'> & {
74
- stream?: true;
75
- };
76
-
77
- export class AssistantStream
78
- extends AbstractAssistantStreamRunner<AssistantStreamEvents>
79
- implements AsyncIterable<AssistantStreamEvent>
80
- {
81
- //Track all events in a single list for reference
82
- #events: AssistantStreamEvent[] = [];
83
-
84
- //Used to accumulate deltas
85
- //We are accumulating many types so the value here is not strict
86
- #runStepSnapshots: { [id: string]: Runs.RunStep } = {};
87
- #messageSnapshots: { [id: string]: Message } = {};
88
- #messageSnapshot: Message | undefined;
89
- #finalRun: Run | undefined;
90
- #currentContentIndex: number | undefined;
91
- #currentContent: MessageContent | undefined;
92
- #currentToolCallIndex: number | undefined;
93
- #currentToolCall: ToolCall | undefined;
94
-
95
- //For current snapshot methods
96
- #currentEvent: AssistantStreamEvent | undefined;
97
- #currentRunSnapshot: Run | undefined;
98
- #currentRunStepSnapshot: Runs.RunStep | undefined;
99
-
100
- [Symbol.asyncIterator](): AsyncIterator<AssistantStreamEvent> {
101
- const pushQueue: AssistantStreamEvent[] = [];
102
- const readQueue: {
103
- resolve: (chunk: AssistantStreamEvent | undefined) => void;
104
- reject: (err: unknown) => void;
105
- }[] = [];
106
- let done = false;
107
-
108
- //Catch all for passing along all events
109
- this.on('event', (event) => {
110
- const reader = readQueue.shift();
111
- if (reader) {
112
- reader.resolve(event);
113
- } else {
114
- pushQueue.push(event);
115
- }
116
- });
117
-
118
- this.on('end', () => {
119
- done = true;
120
- for (const reader of readQueue) {
121
- reader.resolve(undefined);
122
- }
123
- readQueue.length = 0;
124
- });
125
-
126
- this.on('abort', (err) => {
127
- done = true;
128
- for (const reader of readQueue) {
129
- reader.reject(err);
130
- }
131
- readQueue.length = 0;
132
- });
133
-
134
- this.on('error', (err) => {
135
- done = true;
136
- for (const reader of readQueue) {
137
- reader.reject(err);
138
- }
139
- readQueue.length = 0;
140
- });
141
-
142
- return {
143
- next: async (): Promise<IteratorResult<AssistantStreamEvent>> => {
144
- if (!pushQueue.length) {
145
- if (done) {
146
- return { value: undefined, done: true };
147
- }
148
- return new Promise<AssistantStreamEvent | undefined>((resolve, reject) =>
149
- readQueue.push({ resolve, reject }),
150
- ).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
151
- }
152
- const chunk = pushQueue.shift()!;
153
- return { value: chunk, done: false };
154
- },
155
- return: async () => {
156
- this.abort();
157
- return { value: undefined, done: true };
158
- },
159
- };
160
- }
161
-
162
- static fromReadableStream(stream: ReadableStream): AssistantStream {
163
- const runner = new AssistantStream();
164
- runner._run(() => runner._fromReadableStream(stream));
165
- return runner;
166
- }
167
-
168
- protected async _fromReadableStream(
169
- readableStream: ReadableStream,
170
- options?: Core.RequestOptions,
171
- ): Promise<Run> {
172
- const signal = options?.signal;
173
- if (signal) {
174
- if (signal.aborted) this.controller.abort();
175
- signal.addEventListener('abort', () => this.controller.abort());
176
- }
177
- this._connected();
178
- const stream = Stream.fromReadableStream<AssistantStreamEvent>(readableStream, this.controller);
179
- for await (const event of stream) {
180
- this.#addEvent(event);
181
- }
182
- if (stream.controller.signal?.aborted) {
183
- throw new APIUserAbortError();
184
- }
185
- return this._addRun(this.#endRequest());
186
- }
187
-
188
- toReadableStream(): ReadableStream {
189
- const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
190
- return stream.toReadableStream();
191
- }
192
-
193
- static createToolAssistantStream(
194
- threadId: string,
195
- runId: string,
196
- runs: Runs,
197
- body: RunSubmitToolOutputsParamsStream,
198
- options: RequestOptions | undefined,
199
- ) {
200
- const runner = new AssistantStream();
201
- runner._run(() =>
202
- runner._runToolAssistantStream(threadId, runId, runs, body, {
203
- ...options,
204
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
205
- }),
206
- );
207
- return runner;
208
- }
209
-
210
- protected override async _createToolAssistantStream(
211
- run: Runs,
212
- threadId: string,
213
- runId: string,
214
- params: RunSubmitToolOutputsParamsStream,
215
- options?: Core.RequestOptions,
216
- ): Promise<Run> {
217
- const signal = options?.signal;
218
- if (signal) {
219
- if (signal.aborted) this.controller.abort();
220
- signal.addEventListener('abort', () => this.controller.abort());
221
- }
222
-
223
- const body: RunSubmitToolOutputsParamsStreaming = { ...params, stream: true };
224
- const stream = await run.submitToolOutputs(threadId, runId, body, {
225
- ...options,
226
- signal: this.controller.signal,
227
- });
228
-
229
- this._connected();
230
-
231
- for await (const event of stream) {
232
- this.#addEvent(event);
233
- }
234
- if (stream.controller.signal?.aborted) {
235
- throw new APIUserAbortError();
236
- }
237
-
238
- return this._addRun(this.#endRequest());
239
- }
240
-
241
- static createThreadAssistantStream(
242
- body: ThreadCreateAndRunParamsBaseStream,
243
- thread: Threads,
244
- options?: RequestOptions,
245
- ) {
246
- const runner = new AssistantStream();
247
- runner._run(() =>
248
- runner._threadAssistantStream(body, thread, {
249
- ...options,
250
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
251
- }),
252
- );
253
- return runner;
254
- }
255
-
256
- static createAssistantStream(
257
- threadId: string,
258
- runs: Runs,
259
- params: RunCreateParamsBaseStream,
260
- options?: RequestOptions,
261
- ) {
262
- const runner = new AssistantStream();
263
- runner._run(() =>
264
- runner._runAssistantStream(threadId, runs, params, {
265
- ...options,
266
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' },
267
- }),
268
- );
269
- return runner;
270
- }
271
-
272
- currentEvent(): AssistantStreamEvent | undefined {
273
- return this.#currentEvent;
274
- }
275
-
276
- currentRun(): Run | undefined {
277
- return this.#currentRunSnapshot;
278
- }
279
-
280
- currentMessageSnapshot(): Message | undefined {
281
- return this.#messageSnapshot;
282
- }
283
-
284
- currentRunStepSnapshot(): Runs.RunStep | undefined {
285
- return this.#currentRunStepSnapshot;
286
- }
287
-
288
- async finalRunSteps(): Promise<Runs.RunStep[]> {
289
- await this.done();
290
-
291
- return Object.values(this.#runStepSnapshots);
292
- }
293
-
294
- async finalMessages(): Promise<Message[]> {
295
- await this.done();
296
-
297
- return Object.values(this.#messageSnapshots);
298
- }
299
-
300
- async finalRun(): Promise<Run> {
301
- await this.done();
302
- if (!this.#finalRun) throw Error('Final run was not received.');
303
-
304
- return this.#finalRun;
305
- }
306
-
307
- protected override async _createThreadAssistantStream(
308
- thread: Threads,
309
- params: ThreadCreateAndRunParamsBase,
310
- options?: Core.RequestOptions,
311
- ): Promise<Run> {
312
- const signal = options?.signal;
313
- if (signal) {
314
- if (signal.aborted) this.controller.abort();
315
- signal.addEventListener('abort', () => this.controller.abort());
316
- }
317
-
318
- const body: RunCreateParamsStreaming = { ...params, stream: true };
319
- const stream = await thread.createAndRun(body, { ...options, signal: this.controller.signal });
320
-
321
- this._connected();
322
-
323
- for await (const event of stream) {
324
- this.#addEvent(event);
325
- }
326
- if (stream.controller.signal?.aborted) {
327
- throw new APIUserAbortError();
328
- }
329
-
330
- return this._addRun(this.#endRequest());
331
- }
332
-
333
- protected override async _createAssistantStream(
334
- run: Runs,
335
- threadId: string,
336
- params: RunCreateParamsBase,
337
- options?: Core.RequestOptions,
338
- ): Promise<Run> {
339
- const signal = options?.signal;
340
- if (signal) {
341
- if (signal.aborted) this.controller.abort();
342
- signal.addEventListener('abort', () => this.controller.abort());
343
- }
344
-
345
- const body: RunCreateParamsStreaming = { ...params, stream: true };
346
- const stream = await run.create(threadId, body, { ...options, signal: this.controller.signal });
347
-
348
- this._connected();
349
-
350
- for await (const event of stream) {
351
- this.#addEvent(event);
352
- }
353
- if (stream.controller.signal?.aborted) {
354
- throw new APIUserAbortError();
355
- }
356
-
357
- return this._addRun(this.#endRequest());
358
- }
359
-
360
- #addEvent(event: AssistantStreamEvent) {
361
- if (this.ended) return;
362
-
363
- this.#currentEvent = event;
364
-
365
- this.#handleEvent(event);
366
-
367
- switch (event.event) {
368
- case 'thread.created':
369
- //No action on this event.
370
- break;
371
-
372
- case 'thread.run.created':
373
- case 'thread.run.queued':
374
- case 'thread.run.in_progress':
375
- case 'thread.run.requires_action':
376
- case 'thread.run.completed':
377
- case 'thread.run.failed':
378
- case 'thread.run.cancelling':
379
- case 'thread.run.cancelled':
380
- case 'thread.run.expired':
381
- this.#handleRun(event);
382
- break;
383
-
384
- case 'thread.run.step.created':
385
- case 'thread.run.step.in_progress':
386
- case 'thread.run.step.delta':
387
- case 'thread.run.step.completed':
388
- case 'thread.run.step.failed':
389
- case 'thread.run.step.cancelled':
390
- case 'thread.run.step.expired':
391
- this.#handleRunStep(event);
392
- break;
393
-
394
- case 'thread.message.created':
395
- case 'thread.message.in_progress':
396
- case 'thread.message.delta':
397
- case 'thread.message.completed':
398
- case 'thread.message.incomplete':
399
- this.#handleMessage(event);
400
- break;
401
-
402
- case 'error':
403
- //This is included for completeness, but errors are processed in the SSE event processing so this should not occur
404
- throw new Error(
405
- 'Encountered an error event in event processing - errors should be processed earlier',
406
- );
407
- }
408
- }
409
-
410
- #endRequest(): Run {
411
- if (this.ended) {
412
- throw new OpenAIError(`stream has ended, this shouldn't happen`);
413
- }
414
-
415
- if (!this.#finalRun) throw Error('Final run has not been received');
416
-
417
- return this.#finalRun;
418
- }
419
-
420
- #handleMessage(event: MessageStreamEvent) {
421
- const [accumulatedMessage, newContent] = this.#accumulateMessage(event, this.#messageSnapshot);
422
- this.#messageSnapshot = accumulatedMessage;
423
- this.#messageSnapshots[accumulatedMessage.id] = accumulatedMessage;
424
-
425
- for (const content of newContent) {
426
- const snapshotContent = accumulatedMessage.content[content.index];
427
- if (snapshotContent?.type == 'text') {
428
- this._emit('textCreated', snapshotContent.text);
429
- }
430
- }
431
-
432
- switch (event.event) {
433
- case 'thread.message.created':
434
- this._emit('messageCreated', event.data);
435
- break;
436
-
437
- case 'thread.message.in_progress':
438
- break;
439
-
440
- case 'thread.message.delta':
441
- this._emit('messageDelta', event.data.delta, accumulatedMessage);
442
-
443
- if (event.data.delta.content) {
444
- for (const content of event.data.delta.content) {
445
- //If it is text delta, emit a text delta event
446
- if (content.type == 'text' && content.text) {
447
- let textDelta = content.text;
448
- let snapshot = accumulatedMessage.content[content.index];
449
- if (snapshot && snapshot.type == 'text') {
450
- this._emit('textDelta', textDelta, snapshot.text);
451
- } else {
452
- throw Error('The snapshot associated with this text delta is not text or missing');
453
- }
454
- }
455
-
456
- if (content.index != this.#currentContentIndex) {
457
- //See if we have in progress content
458
- if (this.#currentContent) {
459
- switch (this.#currentContent.type) {
460
- case 'text':
461
- this._emit('textDone', this.#currentContent.text, this.#messageSnapshot);
462
- break;
463
- case 'image_file':
464
- this._emit('imageFileDone', this.#currentContent.image_file, this.#messageSnapshot);
465
- break;
466
- }
467
- }
468
-
469
- this.#currentContentIndex = content.index;
470
- }
471
-
472
- this.#currentContent = accumulatedMessage.content[content.index];
473
- }
474
- }
475
-
476
- break;
477
-
478
- case 'thread.message.completed':
479
- case 'thread.message.incomplete':
480
- //We emit the latest content we were working on on completion (including incomplete)
481
- if (this.#currentContentIndex !== undefined) {
482
- const currentContent = event.data.content[this.#currentContentIndex];
483
- if (currentContent) {
484
- switch (currentContent.type) {
485
- case 'image_file':
486
- this._emit('imageFileDone', currentContent.image_file, this.#messageSnapshot);
487
- break;
488
- case 'text':
489
- this._emit('textDone', currentContent.text, this.#messageSnapshot);
490
- break;
491
- }
492
- }
493
- }
494
-
495
- if (this.#messageSnapshot) {
496
- this._emit('messageDone', event.data);
497
- }
498
-
499
- this.#messageSnapshot = undefined;
500
- }
501
- }
502
-
503
- #handleRunStep(event: RunStepStreamEvent) {
504
- const accumulatedRunStep = this.#accumulateRunStep(event);
505
- this.#currentRunStepSnapshot = accumulatedRunStep;
506
-
507
- switch (event.event) {
508
- case 'thread.run.step.created':
509
- this._emit('runStepCreated', event.data);
510
- break;
511
- case 'thread.run.step.delta':
512
- const delta = event.data.delta;
513
- if (
514
- delta.step_details &&
515
- delta.step_details.type == 'tool_calls' &&
516
- delta.step_details.tool_calls &&
517
- accumulatedRunStep.step_details.type == 'tool_calls'
518
- ) {
519
- for (const toolCall of delta.step_details.tool_calls) {
520
- if (toolCall.index == this.#currentToolCallIndex) {
521
- this._emit(
522
- 'toolCallDelta',
523
- toolCall,
524
- accumulatedRunStep.step_details.tool_calls[toolCall.index] as ToolCall,
525
- );
526
- } else {
527
- if (this.#currentToolCall) {
528
- this._emit('toolCallDone', this.#currentToolCall);
529
- }
530
-
531
- this.#currentToolCallIndex = toolCall.index;
532
- this.#currentToolCall = accumulatedRunStep.step_details.tool_calls[toolCall.index];
533
- if (this.#currentToolCall) this._emit('toolCallCreated', this.#currentToolCall);
534
- }
535
- }
536
- }
537
-
538
- this._emit('runStepDelta', event.data.delta, accumulatedRunStep);
539
- break;
540
- case 'thread.run.step.completed':
541
- case 'thread.run.step.failed':
542
- case 'thread.run.step.cancelled':
543
- case 'thread.run.step.expired':
544
- this.#currentRunStepSnapshot = undefined;
545
- const details = event.data.step_details;
546
- if (details.type == 'tool_calls') {
547
- if (this.#currentToolCall) {
548
- this._emit('toolCallDone', this.#currentToolCall as ToolCall);
549
- this.#currentToolCall = undefined;
550
- }
551
- }
552
- this._emit('runStepDone', event.data, accumulatedRunStep);
553
- break;
554
- case 'thread.run.step.in_progress':
555
- break;
556
- }
557
- }
558
-
559
- #handleEvent(event: AssistantStreamEvent) {
560
- this.#events.push(event);
561
- this._emit('event', event);
562
- }
563
-
564
- #accumulateRunStep(event: RunStepStreamEvent): Runs.RunStep {
565
- switch (event.event) {
566
- case 'thread.run.step.created':
567
- this.#runStepSnapshots[event.data.id] = event.data;
568
- return event.data;
569
-
570
- case 'thread.run.step.delta':
571
- let snapshot = this.#runStepSnapshots[event.data.id] as Runs.RunStep;
572
- if (!snapshot) {
573
- throw Error('Received a RunStepDelta before creation of a snapshot');
574
- }
575
-
576
- let data = event.data;
577
-
578
- if (data.delta) {
579
- const accumulated = AssistantStream.accumulateDelta(snapshot, data.delta) as Runs.RunStep;
580
- this.#runStepSnapshots[event.data.id] = accumulated;
581
- }
582
-
583
- return this.#runStepSnapshots[event.data.id] as Runs.RunStep;
584
-
585
- case 'thread.run.step.completed':
586
- case 'thread.run.step.failed':
587
- case 'thread.run.step.cancelled':
588
- case 'thread.run.step.expired':
589
- case 'thread.run.step.in_progress':
590
- this.#runStepSnapshots[event.data.id] = event.data;
591
- break;
592
- }
593
-
594
- if (this.#runStepSnapshots[event.data.id]) return this.#runStepSnapshots[event.data.id] as Runs.RunStep;
595
- throw new Error('No snapshot available');
596
- }
597
-
598
- #accumulateMessage(
599
- event: AssistantStreamEvent,
600
- snapshot: Message | undefined,
601
- ): [Message, MessageContentDelta[]] {
602
- let newContent: MessageContentDelta[] = [];
603
-
604
- switch (event.event) {
605
- case 'thread.message.created':
606
- //On creation the snapshot is just the initial message
607
- return [event.data, newContent];
608
-
609
- case 'thread.message.delta':
610
- if (!snapshot) {
611
- throw Error(
612
- 'Received a delta with no existing snapshot (there should be one from message creation)',
613
- );
614
- }
615
-
616
- let data = event.data;
617
-
618
- //If this delta does not have content, nothing to process
619
- if (data.delta.content) {
620
- for (const contentElement of data.delta.content) {
621
- if (contentElement.index in snapshot.content) {
622
- let currentContent = snapshot.content[contentElement.index];
623
- snapshot.content[contentElement.index] = this.#accumulateContent(
624
- contentElement,
625
- currentContent,
626
- );
627
- } else {
628
- snapshot.content[contentElement.index] = contentElement as MessageContent;
629
- // This is a new element
630
- newContent.push(contentElement);
631
- }
632
- }
633
- }
634
-
635
- return [snapshot, newContent];
636
-
637
- case 'thread.message.in_progress':
638
- case 'thread.message.completed':
639
- case 'thread.message.incomplete':
640
- //No changes on other thread events
641
- if (snapshot) {
642
- return [snapshot, newContent];
643
- } else {
644
- throw Error('Received thread message event with no existing snapshot');
645
- }
646
- }
647
- throw Error('Tried to accumulate a non-message event');
648
- }
649
-
650
- #accumulateContent(
651
- contentElement: MessageContentDelta,
652
- currentContent: MessageContent | undefined,
653
- ): TextContentBlock | ImageFileContentBlock {
654
- return AssistantStream.accumulateDelta(currentContent as unknown as Record<any, any>, contentElement) as
655
- | TextContentBlock
656
- | ImageFileContentBlock;
657
- }
658
-
659
- static accumulateDelta(acc: Record<string, any>, delta: Record<string, any>): Record<string, any> {
660
- for (const [key, deltaValue] of Object.entries(delta)) {
661
- if (!acc.hasOwnProperty(key)) {
662
- acc[key] = deltaValue;
663
- continue;
664
- }
665
-
666
- let accValue = acc[key];
667
- if (accValue === null || accValue === undefined) {
668
- acc[key] = deltaValue;
669
- continue;
670
- }
671
-
672
- // We don't accumulate these special properties
673
- if (key === 'index' || key === 'type') {
674
- acc[key] = deltaValue;
675
- continue;
676
- }
677
-
678
- // Type-specific accumulation logic
679
- if (typeof accValue === 'string' && typeof deltaValue === 'string') {
680
- accValue += deltaValue;
681
- } else if (typeof accValue === 'number' && typeof deltaValue === 'number') {
682
- accValue += deltaValue;
683
- } else if (Core.isObj(accValue) && Core.isObj(deltaValue)) {
684
- accValue = this.accumulateDelta(accValue as Record<string, any>, deltaValue as Record<string, any>);
685
- } else if (Array.isArray(accValue) && Array.isArray(deltaValue)) {
686
- if (accValue.every((x) => typeof x === 'string' || typeof x === 'number')) {
687
- accValue.push(...deltaValue); // Use spread syntax for efficient addition
688
- continue;
689
- }
690
- } else {
691
- throw Error(`Unhandled record type: ${key}, deltaValue: ${deltaValue}, accValue: ${accValue}`);
692
- }
693
- acc[key] = accValue;
694
- }
695
-
696
- return acc;
697
- }
698
-
699
- #handleRun(event: RunStreamEvent) {
700
- this.#currentRunSnapshot = event.data;
701
- switch (event.event) {
702
- case 'thread.run.created':
703
- break;
704
- case 'thread.run.queued':
705
- break;
706
- case 'thread.run.in_progress':
707
- break;
708
- case 'thread.run.requires_action':
709
- case 'thread.run.cancelled':
710
- case 'thread.run.failed':
711
- case 'thread.run.completed':
712
- case 'thread.run.expired':
713
- this.#finalRun = event.data;
714
- if (this.#currentToolCall) {
715
- this._emit('toolCallDone', this.#currentToolCall);
716
- this.#currentToolCall = undefined;
717
- }
718
- break;
719
- case 'thread.run.cancelling':
720
- break;
721
- }
722
- }
723
- }