@particle-academy/prism 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +155 -0
  3. package/dist/audio/pending-request.d.ts +37 -0
  4. package/dist/audio/pending-request.d.ts.map +1 -0
  5. package/dist/audio/pending-request.js +91 -0
  6. package/dist/audio/pending-request.js.map +1 -0
  7. package/dist/audio/request.d.ts +37 -0
  8. package/dist/audio/request.d.ts.map +1 -0
  9. package/dist/audio/request.js +50 -0
  10. package/dist/audio/request.js.map +1 -0
  11. package/dist/audio/response.d.ts +24 -0
  12. package/dist/audio/response.d.ts.map +1 -0
  13. package/dist/audio/response.js +36 -0
  14. package/dist/audio/response.js.map +1 -0
  15. package/dist/batch/batch-job.d.ts +91 -0
  16. package/dist/batch/batch-job.d.ts.map +1 -0
  17. package/dist/batch/batch-job.js +156 -0
  18. package/dist/batch/batch-job.js.map +1 -0
  19. package/dist/batch/pending-request.d.ts +29 -0
  20. package/dist/batch/pending-request.d.ts.map +1 -0
  21. package/dist/batch/pending-request.js +73 -0
  22. package/dist/batch/pending-request.js.map +1 -0
  23. package/dist/batch/request.d.ts +73 -0
  24. package/dist/batch/request.d.ts.map +1 -0
  25. package/dist/batch/request.js +79 -0
  26. package/dist/batch/request.js.map +1 -0
  27. package/dist/embeddings/pending-request.d.ts +38 -0
  28. package/dist/embeddings/pending-request.d.ts.map +1 -0
  29. package/dist/embeddings/pending-request.js +86 -0
  30. package/dist/embeddings/pending-request.js.map +1 -0
  31. package/dist/embeddings/request.d.ts +27 -0
  32. package/dist/embeddings/request.d.ts.map +1 -0
  33. package/dist/embeddings/request.js +38 -0
  34. package/dist/embeddings/request.js.map +1 -0
  35. package/dist/embeddings/response.d.ts +19 -0
  36. package/dist/embeddings/response.d.ts.map +1 -0
  37. package/dist/embeddings/response.js +21 -0
  38. package/dist/embeddings/response.js.map +1 -0
  39. package/dist/enums.d.ts +52 -0
  40. package/dist/enums.d.ts.map +1 -0
  41. package/dist/enums.js +69 -0
  42. package/dist/enums.js.map +1 -0
  43. package/dist/errors.d.ts +119 -0
  44. package/dist/errors.d.ts.map +1 -0
  45. package/dist/errors.js +115 -0
  46. package/dist/errors.js.map +1 -0
  47. package/dist/files/file-data.d.ts +53 -0
  48. package/dist/files/file-data.d.ts.map +1 -0
  49. package/dist/files/file-data.js +79 -0
  50. package/dist/files/file-data.js.map +1 -0
  51. package/dist/files/pending-request.d.ts +38 -0
  52. package/dist/files/pending-request.d.ts.map +1 -0
  53. package/dist/files/pending-request.js +96 -0
  54. package/dist/files/pending-request.js.map +1 -0
  55. package/dist/files/request.d.ts +77 -0
  56. package/dist/files/request.d.ts.map +1 -0
  57. package/dist/files/request.js +81 -0
  58. package/dist/files/request.js.map +1 -0
  59. package/dist/fim/pending-request.d.ts +31 -0
  60. package/dist/fim/pending-request.d.ts.map +1 -0
  61. package/dist/fim/pending-request.js +89 -0
  62. package/dist/fim/pending-request.js.map +1 -0
  63. package/dist/fim/request.d.ts +39 -0
  64. package/dist/fim/request.d.ts.map +1 -0
  65. package/dist/fim/request.js +65 -0
  66. package/dist/fim/request.js.map +1 -0
  67. package/dist/fim/response.d.ts +21 -0
  68. package/dist/fim/response.d.ts.map +1 -0
  69. package/dist/fim/response.js +30 -0
  70. package/dist/fim/response.js.map +1 -0
  71. package/dist/http/header-names.d.ts +36 -0
  72. package/dist/http/header-names.d.ts.map +1 -0
  73. package/dist/http/header-names.js +44 -0
  74. package/dist/http/header-names.js.map +1 -0
  75. package/dist/http/transport.d.ts +94 -0
  76. package/dist/http/transport.d.ts.map +1 -0
  77. package/dist/http/transport.js +131 -0
  78. package/dist/http/transport.js.map +1 -0
  79. package/dist/images/pending-request.d.ts +30 -0
  80. package/dist/images/pending-request.d.ts.map +1 -0
  81. package/dist/images/pending-request.js +66 -0
  82. package/dist/images/pending-request.js.map +1 -0
  83. package/dist/images/request.d.ts +19 -0
  84. package/dist/images/request.d.ts.map +1 -0
  85. package/dist/images/request.js +30 -0
  86. package/dist/images/request.js.map +1 -0
  87. package/dist/images/response.d.ts +29 -0
  88. package/dist/images/response.d.ts.map +1 -0
  89. package/dist/images/response.js +34 -0
  90. package/dist/images/response.js.map +1 -0
  91. package/dist/index.d.ts +108 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +84 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/internal/filters.d.ts +40 -0
  96. package/dist/internal/filters.d.ts.map +1 -0
  97. package/dist/internal/filters.js +83 -0
  98. package/dist/internal/filters.js.map +1 -0
  99. package/dist/json.d.ts +41 -0
  100. package/dist/json.d.ts.map +1 -0
  101. package/dist/json.js +75 -0
  102. package/dist/json.js.map +1 -0
  103. package/dist/moderation/pending-request.d.ts +24 -0
  104. package/dist/moderation/pending-request.d.ts.map +1 -0
  105. package/dist/moderation/pending-request.js +60 -0
  106. package/dist/moderation/pending-request.js.map +1 -0
  107. package/dist/moderation/request.d.ts +20 -0
  108. package/dist/moderation/request.d.ts.map +1 -0
  109. package/dist/moderation/request.js +31 -0
  110. package/dist/moderation/request.js.map +1 -0
  111. package/dist/moderation/response.d.ts +26 -0
  112. package/dist/moderation/response.d.ts.map +1 -0
  113. package/dist/moderation/response.js +34 -0
  114. package/dist/moderation/response.js.map +1 -0
  115. package/dist/prism.d.ts +43 -0
  116. package/dist/prism.d.ts.map +1 -0
  117. package/dist/prism.js +79 -0
  118. package/dist/prism.js.map +1 -0
  119. package/dist/providers/anthropic/anthropic.d.ts +67 -0
  120. package/dist/providers/anthropic/anthropic.d.ts.map +1 -0
  121. package/dist/providers/anthropic/anthropic.js +172 -0
  122. package/dist/providers/anthropic/anthropic.js.map +1 -0
  123. package/dist/providers/anthropic/build-request-body.d.ts +15 -0
  124. package/dist/providers/anthropic/build-request-body.d.ts.map +1 -0
  125. package/dist/providers/anthropic/build-request-body.js +51 -0
  126. package/dist/providers/anthropic/build-request-body.js.map +1 -0
  127. package/dist/providers/anthropic/maps/finish-reason-map.d.ts +14 -0
  128. package/dist/providers/anthropic/maps/finish-reason-map.d.ts.map +1 -0
  129. package/dist/providers/anthropic/maps/finish-reason-map.js +30 -0
  130. package/dist/providers/anthropic/maps/finish-reason-map.js.map +1 -0
  131. package/dist/providers/anthropic/maps/media-map.d.ts +25 -0
  132. package/dist/providers/anthropic/maps/media-map.d.ts.map +1 -0
  133. package/dist/providers/anthropic/maps/media-map.js +87 -0
  134. package/dist/providers/anthropic/maps/media-map.js.map +1 -0
  135. package/dist/providers/anthropic/maps/message-map.d.ts +31 -0
  136. package/dist/providers/anthropic/maps/message-map.d.ts.map +1 -0
  137. package/dist/providers/anthropic/maps/message-map.js +121 -0
  138. package/dist/providers/anthropic/maps/message-map.js.map +1 -0
  139. package/dist/providers/anthropic/maps/tool-choice-map.d.ts +11 -0
  140. package/dist/providers/anthropic/maps/tool-choice-map.d.ts.map +1 -0
  141. package/dist/providers/anthropic/maps/tool-choice-map.js +25 -0
  142. package/dist/providers/anthropic/maps/tool-choice-map.js.map +1 -0
  143. package/dist/providers/anthropic/maps/tool-map.d.ts +14 -0
  144. package/dist/providers/anthropic/maps/tool-map.d.ts.map +1 -0
  145. package/dist/providers/anthropic/maps/tool-map.js +22 -0
  146. package/dist/providers/anthropic/maps/tool-map.js.map +1 -0
  147. package/dist/providers/anthropic/parse-response.d.ts +21 -0
  148. package/dist/providers/anthropic/parse-response.d.ts.map +1 -0
  149. package/dist/providers/anthropic/parse-response.js +109 -0
  150. package/dist/providers/anthropic/parse-response.js.map +1 -0
  151. package/dist/providers/anthropic/rate-limits.d.ts +4 -0
  152. package/dist/providers/anthropic/rate-limits.d.ts.map +1 -0
  153. package/dist/providers/anthropic/rate-limits.js +47 -0
  154. package/dist/providers/anthropic/rate-limits.js.map +1 -0
  155. package/dist/providers/anthropic/stream-events.d.ts +27 -0
  156. package/dist/providers/anthropic/stream-events.d.ts.map +1 -0
  157. package/dist/providers/anthropic/stream-events.js +147 -0
  158. package/dist/providers/anthropic/stream-events.js.map +1 -0
  159. package/dist/providers/mistral/build-request-body.d.ts +32 -0
  160. package/dist/providers/mistral/build-request-body.d.ts.map +1 -0
  161. package/dist/providers/mistral/build-request-body.js +69 -0
  162. package/dist/providers/mistral/build-request-body.js.map +1 -0
  163. package/dist/providers/mistral/embeddings.d.ts +14 -0
  164. package/dist/providers/mistral/embeddings.d.ts.map +1 -0
  165. package/dist/providers/mistral/embeddings.js +41 -0
  166. package/dist/providers/mistral/embeddings.js.map +1 -0
  167. package/dist/providers/mistral/fim.d.ts +32 -0
  168. package/dist/providers/mistral/fim.d.ts.map +1 -0
  169. package/dist/providers/mistral/fim.js +70 -0
  170. package/dist/providers/mistral/fim.js.map +1 -0
  171. package/dist/providers/mistral/maps/finish-reason-map.d.ts +15 -0
  172. package/dist/providers/mistral/maps/finish-reason-map.d.ts.map +1 -0
  173. package/dist/providers/mistral/maps/finish-reason-map.js +32 -0
  174. package/dist/providers/mistral/maps/finish-reason-map.js.map +1 -0
  175. package/dist/providers/mistral/maps/media-map.d.ts +24 -0
  176. package/dist/providers/mistral/maps/media-map.d.ts.map +1 -0
  177. package/dist/providers/mistral/maps/media-map.js +41 -0
  178. package/dist/providers/mistral/maps/media-map.js.map +1 -0
  179. package/dist/providers/mistral/maps/message-map.d.ts +20 -0
  180. package/dist/providers/mistral/maps/message-map.d.ts.map +1 -0
  181. package/dist/providers/mistral/maps/message-map.js +83 -0
  182. package/dist/providers/mistral/maps/message-map.js.map +1 -0
  183. package/dist/providers/mistral/maps/tool-choice-map.d.ts +12 -0
  184. package/dist/providers/mistral/maps/tool-choice-map.d.ts.map +1 -0
  185. package/dist/providers/mistral/maps/tool-choice-map.js +25 -0
  186. package/dist/providers/mistral/maps/tool-choice-map.js.map +1 -0
  187. package/dist/providers/mistral/maps/tool-map.d.ts +15 -0
  188. package/dist/providers/mistral/maps/tool-map.d.ts.map +1 -0
  189. package/dist/providers/mistral/maps/tool-map.js +26 -0
  190. package/dist/providers/mistral/maps/tool-map.js.map +1 -0
  191. package/dist/providers/mistral/mistral.d.ts +90 -0
  192. package/dist/providers/mistral/mistral.d.ts.map +1 -0
  193. package/dist/providers/mistral/mistral.js +210 -0
  194. package/dist/providers/mistral/mistral.js.map +1 -0
  195. package/dist/providers/mistral/parse-response.d.ts +35 -0
  196. package/dist/providers/mistral/parse-response.d.ts.map +1 -0
  197. package/dist/providers/mistral/parse-response.js +114 -0
  198. package/dist/providers/mistral/parse-response.js.map +1 -0
  199. package/dist/providers/mistral/rate-limits.d.ts +24 -0
  200. package/dist/providers/mistral/rate-limits.d.ts.map +1 -0
  201. package/dist/providers/mistral/rate-limits.js +55 -0
  202. package/dist/providers/mistral/rate-limits.js.map +1 -0
  203. package/dist/providers/mistral/stream-events.d.ts +29 -0
  204. package/dist/providers/mistral/stream-events.d.ts.map +1 -0
  205. package/dist/providers/mistral/stream-events.js +142 -0
  206. package/dist/providers/mistral/stream-events.js.map +1 -0
  207. package/dist/providers/openai/audio.d.ts +16 -0
  208. package/dist/providers/openai/audio.d.ts.map +1 -0
  209. package/dist/providers/openai/audio.js +105 -0
  210. package/dist/providers/openai/audio.js.map +1 -0
  211. package/dist/providers/openai/batch.d.ts +29 -0
  212. package/dist/providers/openai/batch.d.ts.map +1 -0
  213. package/dist/providers/openai/batch.js +181 -0
  214. package/dist/providers/openai/batch.js.map +1 -0
  215. package/dist/providers/openai/build-request-body.d.ts +25 -0
  216. package/dist/providers/openai/build-request-body.d.ts.map +1 -0
  217. package/dist/providers/openai/build-request-body.js +66 -0
  218. package/dist/providers/openai/build-request-body.js.map +1 -0
  219. package/dist/providers/openai/build-structured-body.d.ts +16 -0
  220. package/dist/providers/openai/build-structured-body.d.ts.map +1 -0
  221. package/dist/providers/openai/build-structured-body.js +47 -0
  222. package/dist/providers/openai/build-structured-body.js.map +1 -0
  223. package/dist/providers/openai/embeddings.d.ts +6 -0
  224. package/dist/providers/openai/embeddings.d.ts.map +1 -0
  225. package/dist/providers/openai/embeddings.js +61 -0
  226. package/dist/providers/openai/embeddings.js.map +1 -0
  227. package/dist/providers/openai/files.d.ts +16 -0
  228. package/dist/providers/openai/files.d.ts.map +1 -0
  229. package/dist/providers/openai/files.js +80 -0
  230. package/dist/providers/openai/files.js.map +1 -0
  231. package/dist/providers/openai/images.d.ts +6 -0
  232. package/dist/providers/openai/images.d.ts.map +1 -0
  233. package/dist/providers/openai/images.js +55 -0
  234. package/dist/providers/openai/images.js.map +1 -0
  235. package/dist/providers/openai/maps/finish-reason-map.d.ts +21 -0
  236. package/dist/providers/openai/maps/finish-reason-map.d.ts.map +1 -0
  237. package/dist/providers/openai/maps/finish-reason-map.js +56 -0
  238. package/dist/providers/openai/maps/finish-reason-map.js.map +1 -0
  239. package/dist/providers/openai/maps/media-map.d.ts +25 -0
  240. package/dist/providers/openai/maps/media-map.d.ts.map +1 -0
  241. package/dist/providers/openai/maps/media-map.js +53 -0
  242. package/dist/providers/openai/maps/media-map.js.map +1 -0
  243. package/dist/providers/openai/maps/message-map.d.ts +21 -0
  244. package/dist/providers/openai/maps/message-map.d.ts.map +1 -0
  245. package/dist/providers/openai/maps/message-map.js +128 -0
  246. package/dist/providers/openai/maps/message-map.js.map +1 -0
  247. package/dist/providers/openai/maps/tool-choice-map.d.ts +14 -0
  248. package/dist/providers/openai/maps/tool-choice-map.d.ts.map +1 -0
  249. package/dist/providers/openai/maps/tool-choice-map.js +27 -0
  250. package/dist/providers/openai/maps/tool-choice-map.js.map +1 -0
  251. package/dist/providers/openai/maps/tool-map.d.ts +16 -0
  252. package/dist/providers/openai/maps/tool-map.d.ts.map +1 -0
  253. package/dist/providers/openai/maps/tool-map.js +34 -0
  254. package/dist/providers/openai/maps/tool-map.js.map +1 -0
  255. package/dist/providers/openai/moderation.d.ts +6 -0
  256. package/dist/providers/openai/moderation.d.ts.map +1 -0
  257. package/dist/providers/openai/moderation.js +26 -0
  258. package/dist/providers/openai/moderation.js.map +1 -0
  259. package/dist/providers/openai/openai.d.ts +103 -0
  260. package/dist/providers/openai/openai.d.ts.map +1 -0
  261. package/dist/providers/openai/openai.js +385 -0
  262. package/dist/providers/openai/openai.js.map +1 -0
  263. package/dist/providers/openai/parse-response.d.ts +21 -0
  264. package/dist/providers/openai/parse-response.d.ts.map +1 -0
  265. package/dist/providers/openai/parse-response.js +114 -0
  266. package/dist/providers/openai/parse-response.js.map +1 -0
  267. package/dist/providers/openai/rate-limits.d.ts +4 -0
  268. package/dist/providers/openai/rate-limits.d.ts.map +1 -0
  269. package/dist/providers/openai/rate-limits.js +47 -0
  270. package/dist/providers/openai/rate-limits.js.map +1 -0
  271. package/dist/providers/openai/stream-events.d.ts +13 -0
  272. package/dist/providers/openai/stream-events.d.ts.map +1 -0
  273. package/dist/providers/openai/stream-events.js +79 -0
  274. package/dist/providers/openai/stream-events.js.map +1 -0
  275. package/dist/providers/openai/structured-mode-resolver.d.ts +3 -0
  276. package/dist/providers/openai/structured-mode-resolver.d.ts.map +1 -0
  277. package/dist/providers/openai/structured-mode-resolver.js +41 -0
  278. package/dist/providers/openai/structured-mode-resolver.js.map +1 -0
  279. package/dist/providers/provider.d.ts +55 -0
  280. package/dist/providers/provider.d.ts.map +1 -0
  281. package/dist/providers/provider.js +73 -0
  282. package/dist/providers/provider.js.map +1 -0
  283. package/dist/providers/registry.d.ts +10 -0
  284. package/dist/providers/registry.d.ts.map +1 -0
  285. package/dist/providers/registry.js +27 -0
  286. package/dist/providers/registry.js.map +1 -0
  287. package/dist/providers/support/media.d.ts +16 -0
  288. package/dist/providers/support/media.d.ts.map +1 -0
  289. package/dist/providers/support/media.js +26 -0
  290. package/dist/providers/support/media.js.map +1 -0
  291. package/dist/schema/index.d.ts +114 -0
  292. package/dist/schema/index.d.ts.map +1 -0
  293. package/dist/schema/index.js +192 -0
  294. package/dist/schema/index.js.map +1 -0
  295. package/dist/streaming/events.d.ts +90 -0
  296. package/dist/streaming/events.d.ts.map +1 -0
  297. package/dist/streaming/events.js +152 -0
  298. package/dist/streaming/events.js.map +1 -0
  299. package/dist/streaming/sse.d.ts +17 -0
  300. package/dist/streaming/sse.d.ts.map +1 -0
  301. package/dist/streaming/sse.js +50 -0
  302. package/dist/streaming/sse.js.map +1 -0
  303. package/dist/structured/extract.d.ts +23 -0
  304. package/dist/structured/extract.d.ts.map +1 -0
  305. package/dist/structured/extract.js +43 -0
  306. package/dist/structured/extract.js.map +1 -0
  307. package/dist/structured/from-text.d.ts +16 -0
  308. package/dist/structured/from-text.d.ts.map +1 -0
  309. package/dist/structured/from-text.js +27 -0
  310. package/dist/structured/from-text.js.map +1 -0
  311. package/dist/structured/pending-request.d.ts +28 -0
  312. package/dist/structured/pending-request.d.ts.map +1 -0
  313. package/dist/structured/pending-request.js +48 -0
  314. package/dist/structured/pending-request.js.map +1 -0
  315. package/dist/structured/request.d.ts +28 -0
  316. package/dist/structured/request.d.ts.map +1 -0
  317. package/dist/structured/request.js +31 -0
  318. package/dist/structured/request.js.map +1 -0
  319. package/dist/structured/response.d.ts +44 -0
  320. package/dist/structured/response.d.ts.map +1 -0
  321. package/dist/structured/response.js +49 -0
  322. package/dist/structured/response.js.map +1 -0
  323. package/dist/text/pending-request.d.ts +77 -0
  324. package/dist/text/pending-request.d.ts.map +1 -0
  325. package/dist/text/pending-request.js +189 -0
  326. package/dist/text/pending-request.js.map +1 -0
  327. package/dist/text/request.d.ts +62 -0
  328. package/dist/text/request.d.ts.map +1 -0
  329. package/dist/text/request.js +117 -0
  330. package/dist/text/request.js.map +1 -0
  331. package/dist/text/response-builder.d.ts +16 -0
  332. package/dist/text/response-builder.d.ts.map +1 -0
  333. package/dist/text/response-builder.js +52 -0
  334. package/dist/text/response-builder.js.map +1 -0
  335. package/dist/text/response.d.ts +36 -0
  336. package/dist/text/response.d.ts.map +1 -0
  337. package/dist/text/response.js +40 -0
  338. package/dist/text/response.js.map +1 -0
  339. package/dist/text/step.d.ts +41 -0
  340. package/dist/text/step.d.ts.map +1 -0
  341. package/dist/text/step.js +46 -0
  342. package/dist/text/step.js.map +1 -0
  343. package/dist/tool.d.ts +34 -0
  344. package/dist/tool.d.ts.map +1 -0
  345. package/dist/tool.js +86 -0
  346. package/dist/tool.js.map +1 -0
  347. package/dist/value-objects/artifact.d.ts +14 -0
  348. package/dist/value-objects/artifact.d.ts.map +1 -0
  349. package/dist/value-objects/artifact.js +32 -0
  350. package/dist/value-objects/artifact.js.map +1 -0
  351. package/dist/value-objects/embedding.d.ts +24 -0
  352. package/dist/value-objects/embedding.d.ts.map +1 -0
  353. package/dist/value-objects/embedding.js +29 -0
  354. package/dist/value-objects/embedding.js.map +1 -0
  355. package/dist/value-objects/embeddings-usage.d.ts +16 -0
  356. package/dist/value-objects/embeddings-usage.d.ts.map +1 -0
  357. package/dist/value-objects/embeddings-usage.js +19 -0
  358. package/dist/value-objects/embeddings-usage.js.map +1 -0
  359. package/dist/value-objects/generated-audio.d.ts +20 -0
  360. package/dist/value-objects/generated-audio.d.ts.map +1 -0
  361. package/dist/value-objects/generated-audio.js +23 -0
  362. package/dist/value-objects/generated-audio.js.map +1 -0
  363. package/dist/value-objects/generated-image.d.ts +36 -0
  364. package/dist/value-objects/generated-image.d.ts.map +1 -0
  365. package/dist/value-objects/generated-image.js +35 -0
  366. package/dist/value-objects/generated-image.js.map +1 -0
  367. package/dist/value-objects/index.d.ts +13 -0
  368. package/dist/value-objects/index.d.ts.map +1 -0
  369. package/dist/value-objects/index.js +10 -0
  370. package/dist/value-objects/index.js.map +1 -0
  371. package/dist/value-objects/media/audio.d.ts +8 -0
  372. package/dist/value-objects/media/audio.d.ts.map +1 -0
  373. package/dist/value-objects/media/audio.js +9 -0
  374. package/dist/value-objects/media/audio.js.map +1 -0
  375. package/dist/value-objects/media/document.d.ts +44 -0
  376. package/dist/value-objects/media/document.d.ts.map +1 -0
  377. package/dist/value-objects/media/document.js +75 -0
  378. package/dist/value-objects/media/document.js.map +1 -0
  379. package/dist/value-objects/media/image.d.ts +13 -0
  380. package/dist/value-objects/media/image.d.ts.map +1 -0
  381. package/dist/value-objects/media/image.js +14 -0
  382. package/dist/value-objects/media/image.js.map +1 -0
  383. package/dist/value-objects/media/media.d.ts +119 -0
  384. package/dist/value-objects/media/media.d.ts.map +1 -0
  385. package/dist/value-objects/media/media.js +267 -0
  386. package/dist/value-objects/media/media.js.map +1 -0
  387. package/dist/value-objects/media/part.d.ts +25 -0
  388. package/dist/value-objects/media/part.d.ts.map +1 -0
  389. package/dist/value-objects/media/part.js +41 -0
  390. package/dist/value-objects/media/part.js.map +1 -0
  391. package/dist/value-objects/media/text.d.ts +24 -0
  392. package/dist/value-objects/media/text.d.ts.map +1 -0
  393. package/dist/value-objects/media/text.js +33 -0
  394. package/dist/value-objects/media/text.js.map +1 -0
  395. package/dist/value-objects/media/video.d.ts +7 -0
  396. package/dist/value-objects/media/video.d.ts.map +1 -0
  397. package/dist/value-objects/media/video.js +8 -0
  398. package/dist/value-objects/media/video.js.map +1 -0
  399. package/dist/value-objects/messages/assistant-message.d.ts +26 -0
  400. package/dist/value-objects/messages/assistant-message.d.ts.map +1 -0
  401. package/dist/value-objects/messages/assistant-message.js +37 -0
  402. package/dist/value-objects/messages/assistant-message.js.map +1 -0
  403. package/dist/value-objects/messages/index.d.ts +27 -0
  404. package/dist/value-objects/messages/index.d.ts.map +1 -0
  405. package/dist/value-objects/messages/index.js +32 -0
  406. package/dist/value-objects/messages/index.js.map +1 -0
  407. package/dist/value-objects/messages/system-message.d.ts +9 -0
  408. package/dist/value-objects/messages/system-message.d.ts.map +1 -0
  409. package/dist/value-objects/messages/system-message.js +17 -0
  410. package/dist/value-objects/messages/system-message.js.map +1 -0
  411. package/dist/value-objects/messages/tool-result-message.d.ts +14 -0
  412. package/dist/value-objects/messages/tool-result-message.d.ts.map +1 -0
  413. package/dist/value-objects/messages/tool-result-message.js +26 -0
  414. package/dist/value-objects/messages/tool-result-message.js.map +1 -0
  415. package/dist/value-objects/messages/user-message.d.ts +47 -0
  416. package/dist/value-objects/messages/user-message.d.ts.map +1 -0
  417. package/dist/value-objects/messages/user-message.js +87 -0
  418. package/dist/value-objects/messages/user-message.js.map +1 -0
  419. package/dist/value-objects/meta.d.ts +12 -0
  420. package/dist/value-objects/meta.d.ts.map +1 -0
  421. package/dist/value-objects/meta.js +28 -0
  422. package/dist/value-objects/meta.js.map +1 -0
  423. package/dist/value-objects/moderation-result.d.ts +20 -0
  424. package/dist/value-objects/moderation-result.d.ts.map +1 -0
  425. package/dist/value-objects/moderation-result.js +64 -0
  426. package/dist/value-objects/moderation-result.js.map +1 -0
  427. package/dist/value-objects/provider-rate-limit.d.ts +11 -0
  428. package/dist/value-objects/provider-rate-limit.d.ts.map +1 -0
  429. package/dist/value-objects/provider-rate-limit.js +34 -0
  430. package/dist/value-objects/provider-rate-limit.js.map +1 -0
  431. package/dist/value-objects/provider-tool.d.ts +19 -0
  432. package/dist/value-objects/provider-tool.d.ts.map +1 -0
  433. package/dist/value-objects/provider-tool.js +31 -0
  434. package/dist/value-objects/provider-tool.js.map +1 -0
  435. package/dist/value-objects/tool-call.d.ts +29 -0
  436. package/dist/value-objects/tool-call.d.ts.map +1 -0
  437. package/dist/value-objects/tool-call.js +112 -0
  438. package/dist/value-objects/tool-call.js.map +1 -0
  439. package/dist/value-objects/tool-result.d.ts +25 -0
  440. package/dist/value-objects/tool-result.d.ts.map +1 -0
  441. package/dist/value-objects/tool-result.js +45 -0
  442. package/dist/value-objects/tool-result.js.map +1 -0
  443. package/dist/value-objects/usage.d.ts +13 -0
  444. package/dist/value-objects/usage.d.ts.map +1 -0
  445. package/dist/value-objects/usage.js +31 -0
  446. package/dist/value-objects/usage.js.map +1 -0
  447. package/package.json +46 -0
@@ -0,0 +1,156 @@
1
+ /** Where a batch is in its lifecycle, as the provider names it. */
2
+ export var BatchStatus;
3
+ (function (BatchStatus) {
4
+ BatchStatus["Validating"] = "validating";
5
+ BatchStatus["InProgress"] = "in_progress";
6
+ BatchStatus["Finalizing"] = "finalizing";
7
+ BatchStatus["Completed"] = "completed";
8
+ BatchStatus["Failed"] = "failed";
9
+ BatchStatus["Cancelling"] = "cancelling";
10
+ BatchStatus["Cancelled"] = "cancelled";
11
+ BatchStatus["Expired"] = "expired";
12
+ })(BatchStatus || (BatchStatus = {}));
13
+ /** How one item inside a batch turned out. */
14
+ export var BatchResultStatus;
15
+ (function (BatchResultStatus) {
16
+ BatchResultStatus["Succeeded"] = "succeeded";
17
+ BatchResultStatus["Errored"] = "errored";
18
+ BatchResultStatus["Canceled"] = "canceled";
19
+ BatchResultStatus["Expired"] = "expired";
20
+ })(BatchResultStatus || (BatchResultStatus = {}));
21
+ /**
22
+ * How many requests are in each state.
23
+ *
24
+ * FIVE counts and a total, matching the reference — but OpenAI reports only
25
+ * three (`total`, `completed`, `failed`), so `canceled` and `expired` stay zero
26
+ * on that provider. They are not dropped, because a batch that was cancelled
27
+ * mid-flight is a real thing another provider does report.
28
+ */
29
+ export class BatchJobRequestCounts {
30
+ processing;
31
+ succeeded;
32
+ failed;
33
+ canceled;
34
+ expired;
35
+ total;
36
+ constructor(processing = 0, succeeded = 0, failed = 0, canceled = 0, expired = 0, total = 0) {
37
+ this.processing = processing;
38
+ this.succeeded = succeeded;
39
+ this.failed = failed;
40
+ this.canceled = canceled;
41
+ this.expired = expired;
42
+ this.total = total;
43
+ }
44
+ toObject() {
45
+ return {
46
+ processing: this.processing,
47
+ succeeded: this.succeeded,
48
+ failed: this.failed,
49
+ canceled: this.canceled,
50
+ expired: this.expired,
51
+ total: this.total,
52
+ };
53
+ }
54
+ }
55
+ /** A submitted batch: what it is, where it is, and what came of it. */
56
+ export class BatchJob {
57
+ id;
58
+ status;
59
+ requestCounts;
60
+ createdAt;
61
+ expiresAt;
62
+ endedAt;
63
+ resultsUrl;
64
+ inputFileId;
65
+ outputFileId;
66
+ errorFileId;
67
+ errors;
68
+ constructor(id, status, requestCounts,
69
+ /** ISO 8601, in UTC — see `parseBatchJob`. */
70
+ createdAt = null, expiresAt = null, endedAt = null, resultsUrl = null, inputFileId = null, outputFileId = null, errorFileId = null, errors = []) {
71
+ this.id = id;
72
+ this.status = status;
73
+ this.requestCounts = requestCounts;
74
+ this.createdAt = createdAt;
75
+ this.expiresAt = expiresAt;
76
+ this.endedAt = endedAt;
77
+ this.resultsUrl = resultsUrl;
78
+ this.inputFileId = inputFileId;
79
+ this.outputFileId = outputFileId;
80
+ this.errorFileId = errorFileId;
81
+ this.errors = errors;
82
+ }
83
+ toObject() {
84
+ return {
85
+ id: this.id,
86
+ status: this.status,
87
+ request_counts: this.requestCounts.toObject(),
88
+ created_at: this.createdAt,
89
+ expires_at: this.expiresAt,
90
+ ended_at: this.endedAt,
91
+ results_url: this.resultsUrl,
92
+ input_file_id: this.inputFileId,
93
+ output_file_id: this.outputFileId,
94
+ error_file_id: this.errorFileId,
95
+ errors: this.errors.map((error) => ({ ...error })),
96
+ };
97
+ }
98
+ }
99
+ /** One page of batches. */
100
+ export class BatchListResult {
101
+ data;
102
+ hasMore;
103
+ lastId;
104
+ constructor(data, hasMore = false, lastId = null) {
105
+ this.data = data;
106
+ this.hasMore = hasMore;
107
+ this.lastId = lastId;
108
+ }
109
+ toObject() {
110
+ return {
111
+ data: this.data.map((job) => job.toObject()),
112
+ has_more: this.hasMore,
113
+ last_id: this.lastId,
114
+ };
115
+ }
116
+ }
117
+ /**
118
+ * What one request in a batch produced.
119
+ *
120
+ * `text` and `usage` are null on a failure and `errorType`/`errorMessage` are
121
+ * null on a success — the four fields are read together with `status`, which is
122
+ * the field that says which pair means anything.
123
+ */
124
+ export class BatchResultItem {
125
+ customId;
126
+ status;
127
+ text;
128
+ usage;
129
+ messageId;
130
+ model;
131
+ errorType;
132
+ errorMessage;
133
+ constructor(customId, status, text = null, usage = null, messageId = null, model = null, errorType = null, errorMessage = null) {
134
+ this.customId = customId;
135
+ this.status = status;
136
+ this.text = text;
137
+ this.usage = usage;
138
+ this.messageId = messageId;
139
+ this.model = model;
140
+ this.errorType = errorType;
141
+ this.errorMessage = errorMessage;
142
+ }
143
+ toObject() {
144
+ return {
145
+ custom_id: this.customId,
146
+ status: this.status,
147
+ text: this.text,
148
+ usage: this.usage === null ? null : this.usage.toObject(),
149
+ message_id: this.messageId,
150
+ model: this.model,
151
+ error_type: this.errorType,
152
+ error_message: this.errorMessage,
153
+ };
154
+ }
155
+ }
156
+ //# sourceMappingURL=batch-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-job.js","sourceRoot":"","sources":["../../src/batch/batch-job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { JsonObject } from '../json.js';
2
+ import type { Provider } from '../providers/provider.js';
3
+ import type { BatchJob, BatchListResult, BatchResultItem } from './batch-job.js';
4
+ import { BatchRequest, type BatchRequestItem, CancelBatchRequest, GetBatchResultsRequest, ListBatchesRequest, RetrieveBatchRequest } from './request.js';
5
+ /**
6
+ * The builder for batch jobs.
7
+ *
8
+ * Five terminals, like `files`, and for the same reason: submitting a batch,
9
+ * polling one, listing them, reading results and cancelling are five operations
10
+ * on a queue rather than five renderings of one request.
11
+ */
12
+ export declare class BatchPendingRequest {
13
+ #private;
14
+ using(provider: string, providerConfig?: Record<string, unknown>): this;
15
+ withProviderOptions(options?: Readonly<JsonObject>): this;
16
+ withClientOptions(options: Record<string, unknown>): this;
17
+ provider(): Provider;
18
+ create(items?: readonly BatchRequestItem[] | null, inputFileId?: string | null): Promise<BatchJob>;
19
+ retrieve(batchId: string): Promise<BatchJob>;
20
+ list(limit?: number | null, afterId?: string | null, beforeId?: string | null): Promise<BatchListResult>;
21
+ getResults(batchId: string): Promise<readonly BatchResultItem[]>;
22
+ cancel(batchId: string): Promise<BatchJob>;
23
+ toCreateRequest(items?: readonly BatchRequestItem[] | null, inputFileId?: string | null): BatchRequest;
24
+ toRetrieveRequest(batchId: string): RetrieveBatchRequest;
25
+ toListRequest(limit?: number | null, afterId?: string | null, beforeId?: string | null): ListBatchesRequest;
26
+ toGetResultsRequest(batchId: string): GetBatchResultsRequest;
27
+ toCancelRequest(batchId: string): CancelBatchRequest;
28
+ }
29
+ //# sourceMappingURL=pending-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/batch/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,qBAAa,mBAAmB;;IAS9B,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAO3E,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMzD,QAAQ,IAAI,QAAQ;IAWd,MAAM,CACV,KAAK,GAAE,SAAS,gBAAgB,EAAE,GAAG,IAAW,EAChD,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,QAAQ,CAAC;IAId,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5C,IAAI,CACR,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,eAAe,CAAC;IAIrB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAIhE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhD,eAAe,CACb,KAAK,GAAE,SAAS,gBAAgB,EAAE,GAAG,IAAW,EAChD,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,YAAY;IAIf,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAIxD,aAAa,CACX,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,kBAAkB;IAIrB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAI5D,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;CAWrD"}
@@ -0,0 +1,73 @@
1
+ import { PrismError } from '../errors.js';
2
+ import { resolveProvider } from '../providers/registry.js';
3
+ import { BatchRequest, CancelBatchRequest, GetBatchResultsRequest, ListBatchesRequest, RetrieveBatchRequest, } from './request.js';
4
+ /**
5
+ * The builder for batch jobs.
6
+ *
7
+ * Five terminals, like `files`, and for the same reason: submitting a batch,
8
+ * polling one, listing them, reading results and cancelling are five operations
9
+ * on a queue rather than five renderings of one request.
10
+ */
11
+ export class BatchPendingRequest {
12
+ #provider = null;
13
+ #providerKey = '';
14
+ #providerOptions = {};
15
+ #clientOptions = {};
16
+ using(provider, providerConfig = {}) {
17
+ this.#providerKey = provider;
18
+ this.#provider = resolveProvider(provider, providerConfig);
19
+ return this;
20
+ }
21
+ withProviderOptions(options = {}) {
22
+ this.#providerOptions = { ...options };
23
+ return this;
24
+ }
25
+ withClientOptions(options) {
26
+ this.#clientOptions = { ...options };
27
+ return this;
28
+ }
29
+ provider() {
30
+ if (this.#provider === null) {
31
+ throw PrismError.unsupportedProviderAction('Sending a request', 'a pending request with no provider — call using() first');
32
+ }
33
+ return this.#provider;
34
+ }
35
+ async create(items = null, inputFileId = null) {
36
+ return this.provider().batch(this.toCreateRequest(items, inputFileId));
37
+ }
38
+ async retrieve(batchId) {
39
+ return this.provider().retrieveBatch(this.toRetrieveRequest(batchId));
40
+ }
41
+ async list(limit = null, afterId = null, beforeId = null) {
42
+ return this.provider().listBatches(this.toListRequest(limit, afterId, beforeId));
43
+ }
44
+ async getResults(batchId) {
45
+ return this.provider().getBatchResults(this.toGetResultsRequest(batchId));
46
+ }
47
+ async cancel(batchId) {
48
+ return this.provider().cancelBatch(this.toCancelRequest(batchId));
49
+ }
50
+ toCreateRequest(items = null, inputFileId = null) {
51
+ return new BatchRequest({ ...this.#base(), items, inputFileId });
52
+ }
53
+ toRetrieveRequest(batchId) {
54
+ return new RetrieveBatchRequest({ ...this.#base(), batchId });
55
+ }
56
+ toListRequest(limit = null, afterId = null, beforeId = null) {
57
+ return new ListBatchesRequest({ ...this.#base(), limit, afterId, beforeId });
58
+ }
59
+ toGetResultsRequest(batchId) {
60
+ return new GetBatchResultsRequest({ ...this.#base(), batchId });
61
+ }
62
+ toCancelRequest(batchId) {
63
+ return new CancelBatchRequest({ ...this.#base(), batchId });
64
+ }
65
+ #base() {
66
+ return {
67
+ providerKey: this.#providerKey,
68
+ clientOptions: this.#clientOptions,
69
+ providerOptions: this.#providerOptions,
70
+ };
71
+ }
72
+ }
73
+ //# sourceMappingURL=pending-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/batch/pending-request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { JsonObject, JsonValue } from '../json.js';
2
+ import type { TextRequest } from '../text/request.js';
3
+ interface BaseOptions {
4
+ providerKey: string;
5
+ clientOptions?: Readonly<Record<string, unknown>>;
6
+ providerOptions?: Readonly<JsonObject>;
7
+ }
8
+ declare abstract class BatchRequestBase {
9
+ #private;
10
+ constructor(options: BaseOptions);
11
+ providerKey(): string;
12
+ clientOptions(): Readonly<Record<string, unknown>>;
13
+ providerOptions(): JsonObject;
14
+ providerOptions(path: string): JsonValue | undefined;
15
+ }
16
+ /**
17
+ * One request inside a batch, and the id the caller will match it back by.
18
+ *
19
+ * `customId` is the caller's, not the provider's: results come back in whatever
20
+ * order the provider finished them, so this is the only thing tying a result to
21
+ * the request that produced it.
22
+ */
23
+ export declare class BatchRequestItem {
24
+ readonly customId: string;
25
+ readonly request: TextRequest;
26
+ constructor(customId: string, request: TextRequest);
27
+ }
28
+ export interface BatchRequestOptions extends BaseOptions {
29
+ items?: readonly BatchRequestItem[] | null;
30
+ inputFileId?: string | null;
31
+ }
32
+ /**
33
+ * A batch to create, described either way.
34
+ *
35
+ * `items` and `inputFileId` are alternatives, not a pair. Supplying items means
36
+ * the provider mapping builds a JSONL file and uploads it; supplying a file id
37
+ * means one was uploaded already. Which of the two is set is checked at send
38
+ * time rather than here, because it is a PROVIDER rule — a provider that
39
+ * accepted inline items would have nothing to complain about.
40
+ */
41
+ export declare class BatchRequest extends BatchRequestBase {
42
+ readonly items: readonly BatchRequestItem[] | null;
43
+ readonly inputFileId: string | null;
44
+ constructor(options: BatchRequestOptions);
45
+ }
46
+ export interface ListBatchesRequestOptions extends BaseOptions {
47
+ limit?: number | null;
48
+ afterId?: string | null;
49
+ beforeId?: string | null;
50
+ }
51
+ export declare class ListBatchesRequest extends BatchRequestBase {
52
+ readonly limit: number | null;
53
+ readonly afterId: string | null;
54
+ /** Carried and dropped by the OpenAI mapper, exactly as on `ListFilesRequest`. */
55
+ readonly beforeId: string | null;
56
+ constructor(options: ListBatchesRequestOptions);
57
+ }
58
+ export interface BatchIdRequestOptions extends BaseOptions {
59
+ batchId: string;
60
+ }
61
+ /** The three requests that are nothing but a batch id. */
62
+ declare class BatchIdRequest extends BatchRequestBase {
63
+ readonly batchId: string;
64
+ constructor(options: BatchIdRequestOptions);
65
+ }
66
+ export declare class RetrieveBatchRequest extends BatchIdRequest {
67
+ }
68
+ export declare class GetBatchResultsRequest extends BatchIdRequest {
69
+ }
70
+ export declare class CancelBatchRequest extends BatchIdRequest {
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/batch/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,uBAAe,gBAAgB;;gBAOjB,OAAO,EAAE,WAAW;IAMhC,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,eAAe,IAAI,UAAU;IAC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAIrD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW;CAEhC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEnD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;gBAExB,OAAO,EAAE,mBAAmB;CAKzC;AAED,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;gBAErB,OAAO,EAAE,yBAAyB;CAM/C;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0DAA0D;AAC1D,cAAM,cAAe,SAAQ,gBAAgB;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,qBAAqB;CAI3C;AAED,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAE3D,qBAAa,sBAAuB,SAAQ,cAAc;CAAG;AAE7D,qBAAa,kBAAmB,SAAQ,cAAc;CAAG"}
@@ -0,0 +1,79 @@
1
+ class BatchRequestBase {
2
+ #providerKey;
3
+ #clientOptions;
4
+ #providerOptions;
5
+ constructor(options) {
6
+ this.#providerKey = options.providerKey;
7
+ this.#clientOptions = options.clientOptions ?? {};
8
+ this.#providerOptions = { ...(options.providerOptions ?? {}) };
9
+ }
10
+ providerKey() {
11
+ return this.#providerKey;
12
+ }
13
+ clientOptions() {
14
+ return this.#clientOptions;
15
+ }
16
+ providerOptions(path) {
17
+ return path === undefined ? this.#providerOptions : this.#providerOptions[path];
18
+ }
19
+ }
20
+ /**
21
+ * One request inside a batch, and the id the caller will match it back by.
22
+ *
23
+ * `customId` is the caller's, not the provider's: results come back in whatever
24
+ * order the provider finished them, so this is the only thing tying a result to
25
+ * the request that produced it.
26
+ */
27
+ export class BatchRequestItem {
28
+ customId;
29
+ request;
30
+ constructor(customId, request) {
31
+ this.customId = customId;
32
+ this.request = request;
33
+ }
34
+ }
35
+ /**
36
+ * A batch to create, described either way.
37
+ *
38
+ * `items` and `inputFileId` are alternatives, not a pair. Supplying items means
39
+ * the provider mapping builds a JSONL file and uploads it; supplying a file id
40
+ * means one was uploaded already. Which of the two is set is checked at send
41
+ * time rather than here, because it is a PROVIDER rule — a provider that
42
+ * accepted inline items would have nothing to complain about.
43
+ */
44
+ export class BatchRequest extends BatchRequestBase {
45
+ items;
46
+ inputFileId;
47
+ constructor(options) {
48
+ super(options);
49
+ this.items = options.items ?? null;
50
+ this.inputFileId = options.inputFileId ?? null;
51
+ }
52
+ }
53
+ export class ListBatchesRequest extends BatchRequestBase {
54
+ limit;
55
+ afterId;
56
+ /** Carried and dropped by the OpenAI mapper, exactly as on `ListFilesRequest`. */
57
+ beforeId;
58
+ constructor(options) {
59
+ super(options);
60
+ this.limit = options.limit ?? null;
61
+ this.afterId = options.afterId ?? null;
62
+ this.beforeId = options.beforeId ?? null;
63
+ }
64
+ }
65
+ /** The three requests that are nothing but a batch id. */
66
+ class BatchIdRequest extends BatchRequestBase {
67
+ batchId;
68
+ constructor(options) {
69
+ super(options);
70
+ this.batchId = options.batchId;
71
+ }
72
+ }
73
+ export class RetrieveBatchRequest extends BatchIdRequest {
74
+ }
75
+ export class GetBatchResultsRequest extends BatchIdRequest {
76
+ }
77
+ export class CancelBatchRequest extends BatchIdRequest {
78
+ }
79
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/batch/request.ts"],"names":[],"mappings":"AASA,MAAe,gBAAgB;IACpB,YAAY,CAAS;IAErB,cAAc,CAAoC;IAElD,gBAAgB,CAAa;IAEtC,YAAY,OAAoB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAID,eAAe,CAAC,IAAa;QAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAEhB;IACA;IAFX,YACW,QAAgB,EAChB,OAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;CACL;AAOD;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IACvC,KAAK,CAAqC;IAE1C,WAAW,CAAgB;IAEpC,YAAY,OAA4B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IACjD,CAAC;CACF;AAQD,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC7C,KAAK,CAAgB;IAErB,OAAO,CAAgB;IAEhC,kFAAkF;IACzE,QAAQ,CAAgB;IAEjC,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC3C,CAAC;CACF;AAMD,0DAA0D;AAC1D,MAAM,cAAe,SAAQ,gBAAgB;IAClC,OAAO,CAAS;IAEzB,YAAY,OAA8B;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAAc;CAAG;AAE3D,MAAM,OAAO,sBAAuB,SAAQ,cAAc;CAAG;AAE7D,MAAM,OAAO,kBAAmB,SAAQ,cAAc;CAAG"}
@@ -0,0 +1,38 @@
1
+ import type { JsonObject } from '../json.js';
2
+ import type { Provider } from '../providers/provider.js';
3
+ import { EmbeddingsRequest } from './request.js';
4
+ import type { EmbeddingsResponse } from './response.js';
5
+ /**
6
+ * The fluent builder for embeddings.
7
+ *
8
+ * NOT a subclass of the text builder, unlike the structured one. An embeddings
9
+ * request has no system prompt, no tools, no temperature and no step budget —
10
+ * inheriting twenty methods that all throw or silently do nothing would be a
11
+ * larger lie than the small duplication of the four that apply.
12
+ */
13
+ export declare class EmbeddingsPendingRequest {
14
+ #private;
15
+ using(provider: string, model?: string, providerConfig?: Record<string, unknown>): this;
16
+ /** APPENDS, so several calls embed several inputs in one request. */
17
+ fromInput(input: string): this;
18
+ fromArray(inputs: readonly string[]): this;
19
+ /**
20
+ * The file's contents as one input.
21
+ *
22
+ * Read eagerly rather than at send time: a caller that mistypes a path should
23
+ * find out on the line that names it, not inside a provider call that has
24
+ * already been billed for the inputs that came before it.
25
+ */
26
+ fromFile(path: string): this;
27
+ withProviderOptions(options?: Readonly<JsonObject>): this;
28
+ withClientOptions(options: Record<string, unknown>): this;
29
+ provider(): Provider;
30
+ /**
31
+ * @throws PrismError code `no_embedding_input` when nothing was given. An
32
+ * embeddings call with no input is billable, returns an empty list, and
33
+ * reads to the caller as a provider that answered nothing.
34
+ */
35
+ toRequest(): EmbeddingsRequest;
36
+ asEmbeddings(): Promise<EmbeddingsResponse>;
37
+ }
38
+ //# sourceMappingURL=pending-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-request.d.ts","sourceRoot":"","sources":["../../src/embeddings/pending-request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,wBAAwB;;IAanC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAQvF,qEAAqE;IACrE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAM1C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU5B,mBAAmB,CAAC,OAAO,GAAE,QAAQ,CAAC,UAAU,CAAM,GAAG,IAAI;IAM7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMzD,QAAQ,IAAI,QAAQ;IAWpB;;;;OAIG;IACH,SAAS,IAAI,iBAAiB;IAcxB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAGlD"}
@@ -0,0 +1,86 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { PrismError } from '../errors.js';
3
+ import { resolveProvider } from '../providers/registry.js';
4
+ import { EmbeddingsRequest } from './request.js';
5
+ /**
6
+ * The fluent builder for embeddings.
7
+ *
8
+ * NOT a subclass of the text builder, unlike the structured one. An embeddings
9
+ * request has no system prompt, no tools, no temperature and no step budget —
10
+ * inheriting twenty methods that all throw or silently do nothing would be a
11
+ * larger lie than the small duplication of the four that apply.
12
+ */
13
+ export class EmbeddingsPendingRequest {
14
+ #provider = null;
15
+ #providerKey = '';
16
+ #model = '';
17
+ #inputs = [];
18
+ #providerOptions = {};
19
+ #clientOptions = {};
20
+ using(provider, model = '', providerConfig = {}) {
21
+ this.#providerKey = provider;
22
+ this.#model = model;
23
+ this.#provider = resolveProvider(provider, providerConfig);
24
+ return this;
25
+ }
26
+ /** APPENDS, so several calls embed several inputs in one request. */
27
+ fromInput(input) {
28
+ this.#inputs.push(input);
29
+ return this;
30
+ }
31
+ fromArray(inputs) {
32
+ this.#inputs.push(...inputs);
33
+ return this;
34
+ }
35
+ /**
36
+ * The file's contents as one input.
37
+ *
38
+ * Read eagerly rather than at send time: a caller that mistypes a path should
39
+ * find out on the line that names it, not inside a provider call that has
40
+ * already been billed for the inputs that came before it.
41
+ */
42
+ fromFile(path) {
43
+ try {
44
+ this.#inputs.push(readFileSync(path, 'utf8'));
45
+ }
46
+ catch (cause) {
47
+ throw PrismError.unreadableInputFile(path, cause);
48
+ }
49
+ return this;
50
+ }
51
+ withProviderOptions(options = {}) {
52
+ this.#providerOptions = { ...options };
53
+ return this;
54
+ }
55
+ withClientOptions(options) {
56
+ this.#clientOptions = { ...options };
57
+ return this;
58
+ }
59
+ provider() {
60
+ if (this.#provider === null) {
61
+ throw PrismError.unsupportedProviderAction('Sending a request', 'a pending request with no provider — call using() first');
62
+ }
63
+ return this.#provider;
64
+ }
65
+ /**
66
+ * @throws PrismError code `no_embedding_input` when nothing was given. An
67
+ * embeddings call with no input is billable, returns an empty list, and
68
+ * reads to the caller as a provider that answered nothing.
69
+ */
70
+ toRequest() {
71
+ if (this.#inputs.length === 0) {
72
+ throw PrismError.noEmbeddingInput();
73
+ }
74
+ return new EmbeddingsRequest({
75
+ model: this.#model,
76
+ providerKey: this.#providerKey,
77
+ inputs: [...this.#inputs],
78
+ clientOptions: this.#clientOptions,
79
+ providerOptions: this.#providerOptions,
80
+ });
81
+ }
82
+ async asEmbeddings() {
83
+ return this.provider().embeddings(this.toRequest());
84
+ }
85
+ }
86
+ //# sourceMappingURL=pending-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-request.js","sourceRoot":"","sources":["../../src/embeddings/pending-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IACnC,SAAS,GAAoB,IAAI,CAAC;IAElC,YAAY,GAAG,EAAE,CAAC;IAElB,MAAM,GAAG,EAAE,CAAC;IAEZ,OAAO,GAAa,EAAE,CAAC;IAEvB,gBAAgB,GAAe,EAAE,CAAC;IAElC,cAAc,GAA4B,EAAE,CAAC;IAE7C,KAAK,CAAC,QAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,iBAA0C,EAAE;QAC9E,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IACrE,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAyB;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAgC,EAAE;QACpD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,OAAgC;QAChD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,yBAAyB,CACxC,mBAAmB,EACnB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,eAAe,EAAE,IAAI,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { JsonObject, JsonValue } from '../json.js';
2
+ export interface EmbeddingsRequestOptions {
3
+ model: string;
4
+ providerKey: string;
5
+ inputs: readonly string[];
6
+ clientOptions?: Readonly<Record<string, unknown>>;
7
+ providerOptions?: Readonly<JsonObject>;
8
+ }
9
+ export declare class EmbeddingsRequest {
10
+ #private;
11
+ constructor(options: EmbeddingsRequestOptions);
12
+ model(): string;
13
+ providerKey(): string;
14
+ /**
15
+ * ALWAYS a list, even for one input.
16
+ *
17
+ * The reference accumulates every `fromInput` / `fromArray` / `fromFile` call
18
+ * into one list, so a single input is a list of one rather than a special
19
+ * case. Modelling it as `string | string[]` would push that branch into every
20
+ * provider.
21
+ */
22
+ inputs(): readonly string[];
23
+ clientOptions(): Readonly<Record<string, unknown>>;
24
+ providerOptions(): JsonObject;
25
+ providerOptions(path: string): JsonValue | undefined;
26
+ }
27
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/embeddings/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,qBAAa,iBAAiB;;gBAWhB,OAAO,EAAE,wBAAwB;IAQ7C,KAAK,IAAI,MAAM;IAIf,WAAW,IAAI,MAAM;IAIrB;;;;;;;OAOG;IACH,MAAM,IAAI,SAAS,MAAM,EAAE;IAI3B,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,eAAe,IAAI,UAAU;IAC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAIrD"}
@@ -0,0 +1,38 @@
1
+ export class EmbeddingsRequest {
2
+ #model;
3
+ #providerKey;
4
+ #inputs;
5
+ #clientOptions;
6
+ #providerOptions;
7
+ constructor(options) {
8
+ this.#model = options.model;
9
+ this.#providerKey = options.providerKey;
10
+ this.#inputs = options.inputs;
11
+ this.#clientOptions = options.clientOptions ?? {};
12
+ this.#providerOptions = { ...(options.providerOptions ?? {}) };
13
+ }
14
+ model() {
15
+ return this.#model;
16
+ }
17
+ providerKey() {
18
+ return this.#providerKey;
19
+ }
20
+ /**
21
+ * ALWAYS a list, even for one input.
22
+ *
23
+ * The reference accumulates every `fromInput` / `fromArray` / `fromFile` call
24
+ * into one list, so a single input is a list of one rather than a special
25
+ * case. Modelling it as `string | string[]` would push that branch into every
26
+ * provider.
27
+ */
28
+ inputs() {
29
+ return this.#inputs;
30
+ }
31
+ clientOptions() {
32
+ return this.#clientOptions;
33
+ }
34
+ providerOptions(path) {
35
+ return path === undefined ? this.#providerOptions : this.#providerOptions[path];
36
+ }
37
+ }
38
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/embeddings/request.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,iBAAiB;IACnB,MAAM,CAAS;IAEf,YAAY,CAAS;IAErB,OAAO,CAAoB;IAE3B,cAAc,CAAoC;IAE3D,gBAAgB,CAAa;IAE7B,YAAY,OAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAID,eAAe,CAAC,IAAa;QAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;CACF"}