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,68 +0,0 @@
1
- import {
2
- type Completions,
3
- type ChatCompletionMessageParam,
4
- type ChatCompletionCreateParamsNonStreaming,
5
- } from "../resources/chat/completions";
6
- import { type RunnableFunctions, type BaseFunctionsArgs, RunnableTools } from './RunnableFunction';
7
- import {
8
- AbstractChatCompletionRunner,
9
- AbstractChatCompletionRunnerEvents,
10
- RunnerOptions,
11
- } from './AbstractChatCompletionRunner';
12
- import { isAssistantMessage } from './chatCompletionUtils';
13
-
14
- export interface ChatCompletionRunnerEvents extends AbstractChatCompletionRunnerEvents {
15
- content: (content: string) => void;
16
- }
17
-
18
- export type ChatCompletionFunctionRunnerParams<FunctionsArgs extends BaseFunctionsArgs> = Omit<
19
- ChatCompletionCreateParamsNonStreaming,
20
- 'functions'
21
- > & {
22
- functions: RunnableFunctions<FunctionsArgs>;
23
- };
24
-
25
- export type ChatCompletionToolRunnerParams<FunctionsArgs extends BaseFunctionsArgs> = Omit<
26
- ChatCompletionCreateParamsNonStreaming,
27
- 'tools'
28
- > & {
29
- tools: RunnableTools<FunctionsArgs>;
30
- };
31
-
32
- export class ChatCompletionRunner extends AbstractChatCompletionRunner<ChatCompletionRunnerEvents> {
33
- /** @deprecated - please use `runTools` instead. */
34
- static runFunctions(
35
- completions: Completions,
36
- params: ChatCompletionFunctionRunnerParams<any[]>,
37
- options?: RunnerOptions,
38
- ): ChatCompletionRunner {
39
- const runner = new ChatCompletionRunner();
40
- const opts = {
41
- ...options,
42
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'runFunctions' },
43
- };
44
- runner._run(() => runner._runFunctions(completions, params, opts));
45
- return runner;
46
- }
47
-
48
- static runTools(
49
- completions: Completions,
50
- params: ChatCompletionToolRunnerParams<any[]>,
51
- options?: RunnerOptions,
52
- ): ChatCompletionRunner {
53
- const runner = new ChatCompletionRunner();
54
- const opts = {
55
- ...options,
56
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'runTools' },
57
- };
58
- runner._run(() => runner._runTools(completions, params, opts));
59
- return runner;
60
- }
61
-
62
- override _addMessage(message: ChatCompletionMessageParam) {
63
- super._addMessage(message);
64
- if (isAssistantMessage(message) && message.content) {
65
- this._emit('content', message.content as string);
66
- }
67
- }
68
- }
@@ -1,494 +0,0 @@
1
- import * as Core from "../core";
2
- import { OpenAIError, APIUserAbortError } from "../error";
3
- import {
4
- Completions,
5
- type ChatCompletion,
6
- type ChatCompletionChunk,
7
- type ChatCompletionCreateParams,
8
- type ChatCompletionCreateParamsBase,
9
- } from "../resources/chat/completions";
10
- import {
11
- AbstractChatCompletionRunner,
12
- type AbstractChatCompletionRunnerEvents,
13
- } from './AbstractChatCompletionRunner';
14
- import { type ReadableStream } from "../_shims/index";
15
- import { Stream } from "../streaming";
16
-
17
- export interface ChatCompletionStreamEvents extends AbstractChatCompletionRunnerEvents {
18
- content: (contentDelta: string, contentSnapshot: string) => void;
19
- chunk: (chunk: ChatCompletionChunk, snapshot: ChatCompletionSnapshot) => void;
20
- }
21
-
22
- export type ChatCompletionStreamParams = Omit<ChatCompletionCreateParamsBase, 'stream'> & {
23
- stream?: true;
24
- };
25
-
26
- export class ChatCompletionStream
27
- extends AbstractChatCompletionRunner<ChatCompletionStreamEvents>
28
- implements AsyncIterable<ChatCompletionChunk>
29
- {
30
- #currentChatCompletionSnapshot: ChatCompletionSnapshot | undefined;
31
-
32
- get currentChatCompletionSnapshot(): ChatCompletionSnapshot | undefined {
33
- return this.#currentChatCompletionSnapshot;
34
- }
35
-
36
- /**
37
- * Intended for use on the frontend, consuming a stream produced with
38
- * `.toReadableStream()` on the backend.
39
- *
40
- * Note that messages sent to the model do not appear in `.on('message')`
41
- * in this context.
42
- */
43
- static fromReadableStream(stream: ReadableStream): ChatCompletionStream {
44
- const runner = new ChatCompletionStream();
45
- runner._run(() => runner._fromReadableStream(stream));
46
- return runner;
47
- }
48
-
49
- static createChatCompletion(
50
- completions: Completions,
51
- params: ChatCompletionStreamParams,
52
- options?: Core.RequestOptions,
53
- ): ChatCompletionStream {
54
- const runner = new ChatCompletionStream();
55
- runner._run(() =>
56
- runner._runChatCompletion(
57
- completions,
58
- { ...params, stream: true },
59
- { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } },
60
- ),
61
- );
62
- return runner;
63
- }
64
-
65
- #beginRequest() {
66
- if (this.ended) return;
67
- this.#currentChatCompletionSnapshot = undefined;
68
- }
69
- #addChunk(chunk: ChatCompletionChunk) {
70
- if (this.ended) return;
71
- const completion = this.#accumulateChatCompletion(chunk);
72
- this._emit('chunk', chunk, completion);
73
- const delta = chunk.choices[0]?.delta?.content;
74
- const snapshot = completion.choices[0]?.message;
75
- if (delta != null && snapshot?.role === 'assistant' && snapshot?.content) {
76
- this._emit('content', delta, snapshot.content);
77
- }
78
- }
79
- #endRequest(): ChatCompletion {
80
- if (this.ended) {
81
- throw new OpenAIError(`stream has ended, this shouldn't happen`);
82
- }
83
- const snapshot = this.#currentChatCompletionSnapshot;
84
- if (!snapshot) {
85
- throw new OpenAIError(`request ended without sending any chunks`);
86
- }
87
- this.#currentChatCompletionSnapshot = undefined;
88
- return finalizeChatCompletion(snapshot);
89
- }
90
-
91
- protected override async _createChatCompletion(
92
- completions: Completions,
93
- params: ChatCompletionCreateParams,
94
- options?: Core.RequestOptions,
95
- ): Promise<ChatCompletion> {
96
- const signal = options?.signal;
97
- if (signal) {
98
- if (signal.aborted) this.controller.abort();
99
- signal.addEventListener('abort', () => this.controller.abort());
100
- }
101
- this.#beginRequest();
102
- const stream = await completions.create(
103
- { ...params, stream: true },
104
- { ...options, signal: this.controller.signal },
105
- );
106
- this._connected();
107
- for await (const chunk of stream) {
108
- this.#addChunk(chunk);
109
- }
110
- if (stream.controller.signal?.aborted) {
111
- throw new APIUserAbortError();
112
- }
113
- return this._addChatCompletion(this.#endRequest());
114
- }
115
-
116
- protected async _fromReadableStream(
117
- readableStream: ReadableStream,
118
- options?: Core.RequestOptions,
119
- ): Promise<ChatCompletion> {
120
- const signal = options?.signal;
121
- if (signal) {
122
- if (signal.aborted) this.controller.abort();
123
- signal.addEventListener('abort', () => this.controller.abort());
124
- }
125
- this.#beginRequest();
126
- this._connected();
127
- const stream = Stream.fromReadableStream<ChatCompletionChunk>(readableStream, this.controller);
128
- let chatId;
129
- for await (const chunk of stream) {
130
- if (chatId && chatId !== chunk.id) {
131
- // A new request has been made.
132
- this._addChatCompletion(this.#endRequest());
133
- }
134
-
135
- this.#addChunk(chunk);
136
- chatId = chunk.id;
137
- }
138
- if (stream.controller.signal?.aborted) {
139
- throw new APIUserAbortError();
140
- }
141
- return this._addChatCompletion(this.#endRequest());
142
- }
143
-
144
- #accumulateChatCompletion(chunk: ChatCompletionChunk): ChatCompletionSnapshot {
145
- let snapshot = this.#currentChatCompletionSnapshot;
146
- const { choices, ...rest } = chunk;
147
- if (!snapshot) {
148
- snapshot = this.#currentChatCompletionSnapshot = {
149
- ...rest,
150
- choices: [],
151
- };
152
- } else {
153
- Object.assign(snapshot, rest);
154
- }
155
-
156
- for (const { delta, finish_reason, index, logprobs = null, ...other } of chunk.choices) {
157
- let choice = snapshot.choices[index];
158
- if (!choice) {
159
- choice = snapshot.choices[index] = { finish_reason, index, message: {}, logprobs, ...other };
160
- }
161
-
162
- if (logprobs) {
163
- if (!choice.logprobs) {
164
- choice.logprobs = Object.assign({}, logprobs);
165
- } else {
166
- const { content, ...rest } = logprobs;
167
- Object.assign(choice.logprobs, rest);
168
- if (content) {
169
- choice.logprobs.content ??= [];
170
- choice.logprobs.content.push(...content);
171
- }
172
- }
173
- }
174
-
175
- if (finish_reason) choice.finish_reason = finish_reason;
176
- Object.assign(choice, other);
177
-
178
- if (!delta) continue; // Shouldn't happen; just in case.
179
- const { content, function_call, role, tool_calls, ...rest } = delta;
180
- Object.assign(choice.message, rest);
181
-
182
- if (content) choice.message.content = (choice.message.content || '') + content;
183
- if (role) choice.message.role = role;
184
- if (function_call) {
185
- if (!choice.message.function_call) {
186
- choice.message.function_call = function_call;
187
- } else {
188
- if (function_call.name) choice.message.function_call.name = function_call.name;
189
- if (function_call.arguments) {
190
- choice.message.function_call.arguments ??= '';
191
- choice.message.function_call.arguments += function_call.arguments;
192
- }
193
- }
194
- }
195
- if (tool_calls) {
196
- if (!choice.message.tool_calls) choice.message.tool_calls = [];
197
- for (const { index, id, type, function: fn, ...rest } of tool_calls) {
198
- const tool_call = (choice.message.tool_calls[index] ??= {});
199
- Object.assign(tool_call, rest);
200
- if (id) tool_call.id = id;
201
- if (type) tool_call.type = type;
202
- if (fn) tool_call.function ??= { arguments: '' };
203
- if (fn?.name) tool_call.function!.name = fn.name;
204
- if (fn?.arguments) tool_call.function!.arguments += fn.arguments;
205
- }
206
- }
207
- }
208
- return snapshot;
209
- }
210
-
211
- [Symbol.asyncIterator](): AsyncIterator<ChatCompletionChunk> {
212
- const pushQueue: ChatCompletionChunk[] = [];
213
- const readQueue: {
214
- resolve: (chunk: ChatCompletionChunk | undefined) => void;
215
- reject: (err: unknown) => void;
216
- }[] = [];
217
- let done = false;
218
-
219
- this.on('chunk', (chunk) => {
220
- const reader = readQueue.shift();
221
- if (reader) {
222
- reader.resolve(chunk);
223
- } else {
224
- pushQueue.push(chunk);
225
- }
226
- });
227
-
228
- this.on('end', () => {
229
- done = true;
230
- for (const reader of readQueue) {
231
- reader.resolve(undefined);
232
- }
233
- readQueue.length = 0;
234
- });
235
-
236
- this.on('abort', (err) => {
237
- done = true;
238
- for (const reader of readQueue) {
239
- reader.reject(err);
240
- }
241
- readQueue.length = 0;
242
- });
243
-
244
- this.on('error', (err) => {
245
- done = true;
246
- for (const reader of readQueue) {
247
- reader.reject(err);
248
- }
249
- readQueue.length = 0;
250
- });
251
-
252
- return {
253
- next: async (): Promise<IteratorResult<ChatCompletionChunk>> => {
254
- if (!pushQueue.length) {
255
- if (done) {
256
- return { value: undefined, done: true };
257
- }
258
- return new Promise<ChatCompletionChunk | undefined>((resolve, reject) =>
259
- readQueue.push({ resolve, reject }),
260
- ).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
261
- }
262
- const chunk = pushQueue.shift()!;
263
- return { value: chunk, done: false };
264
- },
265
- return: async () => {
266
- this.abort();
267
- return { value: undefined, done: true };
268
- },
269
- };
270
- }
271
-
272
- toReadableStream(): ReadableStream {
273
- const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
274
- return stream.toReadableStream();
275
- }
276
- }
277
-
278
- function finalizeChatCompletion(snapshot: ChatCompletionSnapshot): ChatCompletion {
279
- const { id, choices, created, model, system_fingerprint, ...rest } = snapshot;
280
- return {
281
- ...rest,
282
- id,
283
- choices: choices.map(
284
- ({ message, finish_reason, index, logprobs, ...choiceRest }): ChatCompletion.Choice => {
285
- if (!finish_reason) throw new OpenAIError(`missing finish_reason for choice ${index}`);
286
- const { content = null, function_call, tool_calls, ...messageRest } = message;
287
- const role = message.role as 'assistant'; // this is what we expect; in theory it could be different which would make our types a slight lie but would be fine.
288
- if (!role) throw new OpenAIError(`missing role for choice ${index}`);
289
- if (function_call) {
290
- const { arguments: args, name } = function_call;
291
- if (args == null) throw new OpenAIError(`missing function_call.arguments for choice ${index}`);
292
- if (!name) throw new OpenAIError(`missing function_call.name for choice ${index}`);
293
- return {
294
- ...choiceRest,
295
- message: { content, function_call: { arguments: args, name }, role },
296
- finish_reason,
297
- index,
298
- logprobs,
299
- };
300
- }
301
- if (tool_calls) {
302
- return {
303
- ...choiceRest,
304
- index,
305
- finish_reason,
306
- logprobs,
307
- message: {
308
- ...messageRest,
309
- role,
310
- content,
311
- tool_calls: tool_calls.map((tool_call, i) => {
312
- const { function: fn, type, id, ...toolRest } = tool_call;
313
- const { arguments: args, name, ...fnRest } = fn || {};
314
- if (id == null)
315
- throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].id\n${str(snapshot)}`);
316
- if (type == null)
317
- throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].type\n${str(snapshot)}`);
318
- if (name == null)
319
- throw new OpenAIError(
320
- `missing choices[${index}].tool_calls[${i}].function.name\n${str(snapshot)}`,
321
- );
322
- if (args == null)
323
- throw new OpenAIError(
324
- `missing choices[${index}].tool_calls[${i}].function.arguments\n${str(snapshot)}`,
325
- );
326
-
327
- return { ...toolRest, id, type, function: { ...fnRest, name, arguments: args } };
328
- }),
329
- },
330
- };
331
- }
332
- return {
333
- ...choiceRest,
334
- message: { ...messageRest, content, role },
335
- finish_reason,
336
- index,
337
- logprobs,
338
- };
339
- },
340
- ),
341
- created,
342
- model,
343
- object: 'chat.completion',
344
- ...(system_fingerprint ? { system_fingerprint } : {}),
345
- };
346
- }
347
-
348
- function str(x: unknown) {
349
- return JSON.stringify(x);
350
- }
351
-
352
- /**
353
- * Represents a streamed chunk of a chat completion response returned by model,
354
- * based on the provided input.
355
- */
356
- export interface ChatCompletionSnapshot {
357
- /**
358
- * A unique identifier for the chat completion.
359
- */
360
- id: string;
361
-
362
- /**
363
- * A list of chat completion choices. Can be more than one if `n` is greater
364
- * than 1.
365
- */
366
- choices: Array<ChatCompletionSnapshot.Choice>;
367
-
368
- /**
369
- * The Unix timestamp (in seconds) of when the chat completion was created.
370
- */
371
- created: number;
372
-
373
- /**
374
- * The model to generate the completion.
375
- */
376
- model: string;
377
-
378
- // Note we do not include an "object" type on the snapshot,
379
- // because the object is not a valid "chat.completion" until finalized.
380
- // object: 'chat.completion';
381
-
382
- /**
383
- * This fingerprint represents the backend configuration that the model runs with.
384
- *
385
- * Can be used in conjunction with the `seed` request parameter to understand when
386
- * backend changes have been made that might impact determinism.
387
- */
388
- system_fingerprint?: string;
389
- }
390
-
391
- export namespace ChatCompletionSnapshot {
392
- export interface Choice {
393
- /**
394
- * A chat completion delta generated by streamed model responses.
395
- */
396
- message: Choice.Message;
397
-
398
- /**
399
- * The reason the model stopped generating tokens. This will be `stop` if the model
400
- * hit a natural stop point or a provided stop sequence, `length` if the maximum
401
- * number of tokens specified in the request was reached, `content_filter` if
402
- * content was omitted due to a flag from our content filters, or `function_call`
403
- * if the model called a function.
404
- */
405
- finish_reason: ChatCompletion.Choice['finish_reason'] | null;
406
-
407
- /**
408
- * Log probability information for the choice.
409
- */
410
- logprobs: ChatCompletion.Choice.Logprobs | null;
411
-
412
- /**
413
- * The index of the choice in the list of choices.
414
- */
415
- index: number;
416
- }
417
-
418
- export namespace Choice {
419
- /**
420
- * A chat completion delta generated by streamed model responses.
421
- */
422
- export interface Message {
423
- /**
424
- * The contents of the chunk message.
425
- */
426
- content?: string | null;
427
-
428
- /**
429
- * The name and arguments of a function that should be called, as generated by the
430
- * model.
431
- */
432
- function_call?: Message.FunctionCall;
433
-
434
- tool_calls?: Array<Message.ToolCall>;
435
-
436
- /**
437
- * The role of the author of this message.
438
- */
439
- role?: 'system' | 'user' | 'assistant' | 'function' | 'tool';
440
- }
441
-
442
- export namespace Message {
443
- export interface ToolCall {
444
- /**
445
- * The ID of the tool call.
446
- */
447
- id?: string;
448
-
449
- function?: ToolCall.Function;
450
-
451
- /**
452
- * The type of the tool.
453
- */
454
- type?: 'function';
455
- }
456
-
457
- export namespace ToolCall {
458
- export interface Function {
459
- /**
460
- * The arguments to call the function with, as generated by the model in JSON
461
- * format. Note that the model does not always generate valid JSON, and may
462
- * hallucinate parameters not defined by your function schema. Validate the
463
- * arguments in your code before calling your function.
464
- */
465
- arguments?: string;
466
-
467
- /**
468
- * The name of the function to call.
469
- */
470
- name?: string;
471
- }
472
- }
473
-
474
- /**
475
- * The name and arguments of a function that should be called, as generated by the
476
- * model.
477
- */
478
- export interface FunctionCall {
479
- /**
480
- * The arguments to call the function with, as generated by the model in JSON
481
- * format. Note that the model does not always generate valid JSON, and may
482
- * hallucinate parameters not defined by your function schema. Validate the
483
- * arguments in your code before calling your function.
484
- */
485
- arguments?: string;
486
-
487
- /**
488
- * The name of the function to call.
489
- */
490
- name?: string;
491
- }
492
- }
493
- }
494
- }
@@ -1,68 +0,0 @@
1
- import {
2
- Completions,
3
- type ChatCompletionChunk,
4
- type ChatCompletionCreateParamsStreaming,
5
- } from "../resources/chat/completions";
6
- import { RunnerOptions, type AbstractChatCompletionRunnerEvents } from './AbstractChatCompletionRunner';
7
- import { type ReadableStream } from "../_shims/index";
8
- import { RunnableTools, type BaseFunctionsArgs, type RunnableFunctions } from './RunnableFunction';
9
- import { ChatCompletionSnapshot, ChatCompletionStream } from './ChatCompletionStream';
10
-
11
- export interface ChatCompletionStreamEvents extends AbstractChatCompletionRunnerEvents {
12
- content: (contentDelta: string, contentSnapshot: string) => void;
13
- chunk: (chunk: ChatCompletionChunk, snapshot: ChatCompletionSnapshot) => void;
14
- }
15
-
16
- export type ChatCompletionStreamingFunctionRunnerParams<FunctionsArgs extends BaseFunctionsArgs> = Omit<
17
- ChatCompletionCreateParamsStreaming,
18
- 'functions'
19
- > & {
20
- functions: RunnableFunctions<FunctionsArgs>;
21
- };
22
-
23
- export type ChatCompletionStreamingToolRunnerParams<FunctionsArgs extends BaseFunctionsArgs> = Omit<
24
- ChatCompletionCreateParamsStreaming,
25
- 'tools'
26
- > & {
27
- tools: RunnableTools<FunctionsArgs>;
28
- };
29
-
30
- export class ChatCompletionStreamingRunner
31
- extends ChatCompletionStream
32
- implements AsyncIterable<ChatCompletionChunk>
33
- {
34
- static override fromReadableStream(stream: ReadableStream): ChatCompletionStreamingRunner {
35
- const runner = new ChatCompletionStreamingRunner();
36
- runner._run(() => runner._fromReadableStream(stream));
37
- return runner;
38
- }
39
-
40
- /** @deprecated - please use `runTools` instead. */
41
- static runFunctions<T extends (string | object)[]>(
42
- completions: Completions,
43
- params: ChatCompletionStreamingFunctionRunnerParams<T>,
44
- options?: RunnerOptions,
45
- ): ChatCompletionStreamingRunner {
46
- const runner = new ChatCompletionStreamingRunner();
47
- const opts = {
48
- ...options,
49
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'runFunctions' },
50
- };
51
- runner._run(() => runner._runFunctions(completions, params, opts));
52
- return runner;
53
- }
54
-
55
- static runTools<T extends (string | object)[]>(
56
- completions: Completions,
57
- params: ChatCompletionStreamingToolRunnerParams<T>,
58
- options?: RunnerOptions,
59
- ): ChatCompletionStreamingRunner {
60
- const runner = new ChatCompletionStreamingRunner();
61
- const opts = {
62
- ...options,
63
- headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'runTools' },
64
- };
65
- runner._run(() => runner._runTools(completions, params, opts));
66
- return runner;
67
- }
68
- }