@xyd-js/opensdk-python 0.0.0-build-f0c10f6-20260703195526

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 (539) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE +21 -0
  3. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__create/input.json +325 -0
  4. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__create/output.py +26 -0
  5. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__delete/input.json +201 -0
  6. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__delete/output.py +28 -0
  7. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__list/input.json +400 -0
  8. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__list/output.py +29 -0
  9. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__retrieve/input.json +304 -0
  10. package/__fixtures__/-2.complex.openai/admin__organization__admin_api_keys__retrieve/output.py +28 -0
  11. package/__fixtures__/-2.complex.openai/admin__organization__audit_logs__list/input.json +2602 -0
  12. package/__fixtures__/-2.complex.openai/admin__organization__audit_logs__list/output.py +29 -0
  13. package/__fixtures__/-2.complex.openai/admin__organization__certificates__activate__create/input.json +308 -0
  14. package/__fixtures__/-2.complex.openai/admin__organization__certificates__activate__create/output.py +32 -0
  15. package/__fixtures__/-2.complex.openai/admin__organization__certificates__create/input.json +308 -0
  16. package/__fixtures__/-2.complex.openai/admin__organization__certificates__create/output.py +28 -0
  17. package/__fixtures__/-2.complex.openai/admin__organization__certificates__deactivate__create/input.json +308 -0
  18. package/__fixtures__/-2.complex.openai/admin__organization__certificates__deactivate__create/output.py +32 -0
  19. package/__fixtures__/-2.complex.openai/admin__organization__certificates__delete/input.json +196 -0
  20. package/__fixtures__/-2.complex.openai/admin__organization__certificates__delete/output.py +28 -0
  21. package/__fixtures__/-2.complex.openai/admin__organization__certificates__list/input.json +356 -0
  22. package/__fixtures__/-2.complex.openai/admin__organization__certificates__list/output.py +29 -0
  23. package/__fixtures__/-2.complex.openai/admin__organization__certificates__retrieve/input.json +300 -0
  24. package/__fixtures__/-2.complex.openai/admin__organization__certificates__retrieve/output.py +30 -0
  25. package/__fixtures__/-2.complex.openai/admin__organization__certificates__update/input.json +310 -0
  26. package/__fixtures__/-2.complex.openai/admin__organization__certificates__update/output.py +30 -0
  27. package/__fixtures__/-2.complex.openai/admin__organization__costs__list/input.json +1062 -0
  28. package/__fixtures__/-2.complex.openai/admin__organization__costs__list/output.py +29 -0
  29. package/__fixtures__/-2.complex.openai/admin__organization__groups__create/input.json +239 -0
  30. package/__fixtures__/-2.complex.openai/admin__organization__groups__create/output.py +26 -0
  31. package/__fixtures__/-2.complex.openai/admin__organization__groups__delete/input.json +206 -0
  32. package/__fixtures__/-2.complex.openai/admin__organization__groups__delete/output.py +28 -0
  33. package/__fixtures__/-2.complex.openai/admin__organization__groups__list/input.json +316 -0
  34. package/__fixtures__/-2.complex.openai/admin__organization__groups__list/output.py +29 -0
  35. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__create/input.json +364 -0
  36. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__create/output.py +34 -0
  37. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__delete/input.json +210 -0
  38. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__delete/output.py +36 -0
  39. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__list/input.json +398 -0
  40. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__list/output.py +37 -0
  41. package/__fixtures__/-2.complex.openai/admin__organization__groups__update/input.json +241 -0
  42. package/__fixtures__/-2.complex.openai/admin__organization__groups__update/output.py +28 -0
  43. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__create/input.json +237 -0
  44. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__create/output.py +34 -0
  45. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__delete/input.json +211 -0
  46. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__delete/output.py +36 -0
  47. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__list/input.json +314 -0
  48. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__list/output.py +37 -0
  49. package/__fixtures__/-2.complex.openai/admin__organization__invites__create/input.json +386 -0
  50. package/__fixtures__/-2.complex.openai/admin__organization__invites__create/output.py +28 -0
  51. package/__fixtures__/-2.complex.openai/admin__organization__invites__delete/input.json +203 -0
  52. package/__fixtures__/-2.complex.openai/admin__organization__invites__delete/output.py +28 -0
  53. package/__fixtures__/-2.complex.openai/admin__organization__invites__list/input.json +414 -0
  54. package/__fixtures__/-2.complex.openai/admin__organization__invites__list/output.py +29 -0
  55. package/__fixtures__/-2.complex.openai/admin__organization__invites__retrieve/input.json +337 -0
  56. package/__fixtures__/-2.complex.openai/admin__organization__invites__retrieve/output.py +28 -0
  57. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__delete/input.json +279 -0
  58. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__delete/output.py +36 -0
  59. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__list/input.json +475 -0
  60. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__list/output.py +37 -0
  61. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__retrieve/input.json +400 -0
  62. package/__fixtures__/-2.complex.openai/admin__organization__projects__api_keys__retrieve/output.py +36 -0
  63. package/__fixtures__/-2.complex.openai/admin__organization__projects__archive/input.json +247 -0
  64. package/__fixtures__/-2.complex.openai/admin__organization__projects__archive/output.py +28 -0
  65. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__activate__create/input.json +324 -0
  66. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__activate__create/output.py +40 -0
  67. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__deactivate__create/input.json +324 -0
  68. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__deactivate__create/output.py +40 -0
  69. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__list/input.json +372 -0
  70. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__list/output.py +37 -0
  71. package/__fixtures__/-2.complex.openai/admin__organization__projects__create/input.json +281 -0
  72. package/__fixtures__/-2.complex.openai/admin__organization__projects__create/output.py +28 -0
  73. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__create/input.json +274 -0
  74. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__create/output.py +34 -0
  75. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__delete/input.json +211 -0
  76. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__delete/output.py +36 -0
  77. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__list/input.json +342 -0
  78. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__list/output.py +37 -0
  79. package/__fixtures__/-2.complex.openai/admin__organization__projects__list/input.json +330 -0
  80. package/__fixtures__/-2.complex.openai/admin__organization__projects__list/output.py +29 -0
  81. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate_limits__list_rate_limits/input.json +358 -0
  82. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate_limits__list_rate_limits/output.py +37 -0
  83. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate_limits__update_rate_limit/input.json +407 -0
  84. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate_limits__update_rate_limit/output.py +38 -0
  85. package/__fixtures__/-2.complex.openai/admin__organization__projects__retrieve/input.json +247 -0
  86. package/__fixtures__/-2.complex.openai/admin__organization__projects__retrieve/output.py +28 -0
  87. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__create/input.json +372 -0
  88. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__create/output.py +34 -0
  89. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__delete/input.json +216 -0
  90. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__delete/output.py +36 -0
  91. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__list/input.json +391 -0
  92. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__list/output.py +37 -0
  93. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__retrieve/input.json +253 -0
  94. package/__fixtures__/-2.complex.openai/admin__organization__projects__service_accounts__retrieve/output.py +36 -0
  95. package/__fixtures__/-2.complex.openai/admin__organization__projects__update/input.json +356 -0
  96. package/__fixtures__/-2.complex.openai/admin__organization__projects__update/output.py +30 -0
  97. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__create/input.json +349 -0
  98. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__create/output.py +36 -0
  99. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__delete/input.json +279 -0
  100. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__delete/output.py +36 -0
  101. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__list/input.json +387 -0
  102. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__list/output.py +37 -0
  103. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__retrieve/input.json +250 -0
  104. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__retrieve/output.py +36 -0
  105. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__update/input.json +339 -0
  106. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__update/output.py +38 -0
  107. package/__fixtures__/-2.complex.openai/admin__organization__roles__create/input.json +283 -0
  108. package/__fixtures__/-2.complex.openai/admin__organization__roles__create/output.py +28 -0
  109. package/__fixtures__/-2.complex.openai/admin__organization__roles__delete/input.json +206 -0
  110. package/__fixtures__/-2.complex.openai/admin__organization__roles__delete/output.py +28 -0
  111. package/__fixtures__/-2.complex.openai/admin__organization__roles__list/input.json +338 -0
  112. package/__fixtures__/-2.complex.openai/admin__organization__roles__list/output.py +29 -0
  113. package/__fixtures__/-2.complex.openai/admin__organization__roles__update/input.json +296 -0
  114. package/__fixtures__/-2.complex.openai/admin__organization__roles__update/output.py +30 -0
  115. package/__fixtures__/-2.complex.openai/admin__organization__usage__audio_speeches__list/input.json +1108 -0
  116. package/__fixtures__/-2.complex.openai/admin__organization__usage__audio_speeches__list/output.py +35 -0
  117. package/__fixtures__/-2.complex.openai/admin__organization__usage__audio_transcriptions__list/input.json +1108 -0
  118. package/__fixtures__/-2.complex.openai/admin__organization__usage__audio_transcriptions__list/output.py +35 -0
  119. package/__fixtures__/-2.complex.openai/admin__organization__usage__code_interpreter_sessions__list/input.json +1054 -0
  120. package/__fixtures__/-2.complex.openai/admin__organization__usage__code_interpreter_sessions__list/output.py +35 -0
  121. package/__fixtures__/-2.complex.openai/admin__organization__usage__completions__list/input.json +1123 -0
  122. package/__fixtures__/-2.complex.openai/admin__organization__usage__completions__list/output.py +35 -0
  123. package/__fixtures__/-2.complex.openai/admin__organization__usage__embeddings__list/input.json +1108 -0
  124. package/__fixtures__/-2.complex.openai/admin__organization__usage__embeddings__list/output.py +35 -0
  125. package/__fixtures__/-2.complex.openai/admin__organization__usage__images__list/input.json +1176 -0
  126. package/__fixtures__/-2.complex.openai/admin__organization__usage__images__list/output.py +35 -0
  127. package/__fixtures__/-2.complex.openai/admin__organization__usage__moderations__list/input.json +1108 -0
  128. package/__fixtures__/-2.complex.openai/admin__organization__usage__moderations__list/output.py +35 -0
  129. package/__fixtures__/-2.complex.openai/admin__organization__usage__vector_stores__list/input.json +1054 -0
  130. package/__fixtures__/-2.complex.openai/admin__organization__usage__vector_stores__list/output.py +35 -0
  131. package/__fixtures__/-2.complex.openai/admin__organization__users__delete/input.json +202 -0
  132. package/__fixtures__/-2.complex.openai/admin__organization__users__delete/output.py +28 -0
  133. package/__fixtures__/-2.complex.openai/admin__organization__users__list/input.json +557 -0
  134. package/__fixtures__/-2.complex.openai/admin__organization__users__list/output.py +29 -0
  135. package/__fixtures__/-2.complex.openai/admin__organization__users__retrieve/input.json +472 -0
  136. package/__fixtures__/-2.complex.openai/admin__organization__users__retrieve/output.py +28 -0
  137. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__create/input.json +611 -0
  138. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__create/output.py +34 -0
  139. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__delete/input.json +210 -0
  140. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__delete/output.py +36 -0
  141. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__list/input.json +398 -0
  142. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__list/output.py +37 -0
  143. package/__fixtures__/-2.complex.openai/admin__organization__users__update/input.json +528 -0
  144. package/__fixtures__/-2.complex.openai/admin__organization__users__update/output.py +30 -0
  145. package/__fixtures__/-2.complex.openai/audio__speech__create/input.json +388 -0
  146. package/__fixtures__/-2.complex.openai/audio__speech__create/output.py +22 -0
  147. package/__fixtures__/-2.complex.openai/audio__transcriptions__create/input.json +999 -0
  148. package/__fixtures__/-2.complex.openai/audio__transcriptions__create/output.py +22 -0
  149. package/__fixtures__/-2.complex.openai/audio__translations__create/input.json +430 -0
  150. package/__fixtures__/-2.complex.openai/audio__translations__create/output.py +22 -0
  151. package/__fixtures__/-2.complex.openai/audio__voice_consents__create/input.json +244 -0
  152. package/__fixtures__/-2.complex.openai/audio__voice_consents__create/output.py +22 -0
  153. package/__fixtures__/-2.complex.openai/audio__voice_consents__delete/input.json +190 -0
  154. package/__fixtures__/-2.complex.openai/audio__voice_consents__delete/output.py +22 -0
  155. package/__fixtures__/-2.complex.openai/audio__voice_consents__list/input.json +285 -0
  156. package/__fixtures__/-2.complex.openai/audio__voice_consents__list/output.py +23 -0
  157. package/__fixtures__/-2.complex.openai/audio__voice_consents__retrieve/input.json +212 -0
  158. package/__fixtures__/-2.complex.openai/audio__voice_consents__retrieve/output.py +22 -0
  159. package/__fixtures__/-2.complex.openai/audio__voice_consents__update/input.json +236 -0
  160. package/__fixtures__/-2.complex.openai/audio__voice_consents__update/output.py +22 -0
  161. package/__fixtures__/-2.complex.openai/audio__voices__create/input.json +235 -0
  162. package/__fixtures__/-2.complex.openai/audio__voices__create/output.py +22 -0
  163. package/__fixtures__/-2.complex.openai/batches__cancel/input.json +594 -0
  164. package/__fixtures__/-2.complex.openai/batches__cancel/output.py +16 -0
  165. package/__fixtures__/-2.complex.openai/batches__create/input.json +701 -0
  166. package/__fixtures__/-2.complex.openai/batches__create/output.py +16 -0
  167. package/__fixtures__/-2.complex.openai/batches__list/input.json +665 -0
  168. package/__fixtures__/-2.complex.openai/batches__list/output.py +17 -0
  169. package/__fixtures__/-2.complex.openai/batches__retrieve/input.json +594 -0
  170. package/__fixtures__/-2.complex.openai/batches__retrieve/output.py +16 -0
  171. package/__fixtures__/-2.complex.openai/beta__assistants__create/input.json +1029 -0
  172. package/__fixtures__/-2.complex.openai/beta__assistants__create/output.py +22 -0
  173. package/__fixtures__/-2.complex.openai/beta__assistants__delete/input.json +190 -0
  174. package/__fixtures__/-2.complex.openai/beta__assistants__delete/output.py +22 -0
  175. package/__fixtures__/-2.complex.openai/beta__assistants__list/input.json +796 -0
  176. package/__fixtures__/-2.complex.openai/beta__assistants__list/output.py +23 -0
  177. package/__fixtures__/-2.complex.openai/beta__assistants__retrieve/input.json +694 -0
  178. package/__fixtures__/-2.complex.openai/beta__assistants__retrieve/output.py +22 -0
  179. package/__fixtures__/-2.complex.openai/beta__assistants__update/input.json +1045 -0
  180. package/__fixtures__/-2.complex.openai/beta__assistants__update/output.py +24 -0
  181. package/__fixtures__/-2.complex.openai/beta__chat_kit__sessions__cancel/input.json +482 -0
  182. package/__fixtures__/-2.complex.openai/beta__chat_kit__sessions__cancel/output.py +28 -0
  183. package/__fixtures__/-2.complex.openai/beta__chat_kit__sessions__create/input.json +738 -0
  184. package/__fixtures__/-2.complex.openai/beta__chat_kit__sessions__create/output.py +28 -0
  185. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__delete/input.json +200 -0
  186. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__delete/output.py +28 -0
  187. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__items__list/input.json +1218 -0
  188. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__items__list/output.py +37 -0
  189. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__list/input.json +444 -0
  190. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__list/output.py +29 -0
  191. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__retrieve/input.json +328 -0
  192. package/__fixtures__/-2.complex.openai/beta__chat_kit__threads__retrieve/output.py +28 -0
  193. package/__fixtures__/-2.complex.openai/beta__threads__create/input.json +665 -0
  194. package/__fixtures__/-2.complex.openai/beta__threads__create/output.py +22 -0
  195. package/__fixtures__/-2.complex.openai/beta__threads__delete/input.json +189 -0
  196. package/__fixtures__/-2.complex.openai/beta__threads__delete/output.py +22 -0
  197. package/__fixtures__/-2.complex.openai/beta__threads__messages__create/input.json +938 -0
  198. package/__fixtures__/-2.complex.openai/beta__threads__messages__create/output.py +30 -0
  199. package/__fixtures__/-2.complex.openai/beta__threads__messages__delete/input.json +203 -0
  200. package/__fixtures__/-2.complex.openai/beta__threads__messages__delete/output.py +30 -0
  201. package/__fixtures__/-2.complex.openai/beta__threads__messages__list/input.json +945 -0
  202. package/__fixtures__/-2.complex.openai/beta__threads__messages__list/output.py +31 -0
  203. package/__fixtures__/-2.complex.openai/beta__threads__messages__retrieve/input.json +832 -0
  204. package/__fixtures__/-2.complex.openai/beta__threads__messages__retrieve/output.py +30 -0
  205. package/__fixtures__/-2.complex.openai/beta__threads__messages__update/input.json +855 -0
  206. package/__fixtures__/-2.complex.openai/beta__threads__messages__update/output.py +32 -0
  207. package/__fixtures__/-2.complex.openai/beta__threads__new_and_run/input.json +1899 -0
  208. package/__fixtures__/-2.complex.openai/beta__threads__new_and_run/output.py +22 -0
  209. package/__fixtures__/-2.complex.openai/beta__threads__retrieve/input.json +283 -0
  210. package/__fixtures__/-2.complex.openai/beta__threads__retrieve/output.py +22 -0
  211. package/__fixtures__/-2.complex.openai/beta__threads__runs__cancel/input.json +1181 -0
  212. package/__fixtures__/-2.complex.openai/beta__threads__runs__cancel/output.py +30 -0
  213. package/__fixtures__/-2.complex.openai/beta__threads__runs__create/input.json +1851 -0
  214. package/__fixtures__/-2.complex.openai/beta__threads__runs__create/output.py +30 -0
  215. package/__fixtures__/-2.complex.openai/beta__threads__runs__list/input.json +1285 -0
  216. package/__fixtures__/-2.complex.openai/beta__threads__runs__list/output.py +31 -0
  217. package/__fixtures__/-2.complex.openai/beta__threads__runs__retrieve/input.json +1181 -0
  218. package/__fixtures__/-2.complex.openai/beta__threads__runs__retrieve/output.py +30 -0
  219. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__list/input.json +1066 -0
  220. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__list/output.py +39 -0
  221. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__retrieve/input.json +964 -0
  222. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__retrieve/output.py +40 -0
  223. package/__fixtures__/-2.complex.openai/beta__threads__runs__submit_tool_outputs__create/input.json +1246 -0
  224. package/__fixtures__/-2.complex.openai/beta__threads__runs__submit_tool_outputs__create/output.py +38 -0
  225. package/__fixtures__/-2.complex.openai/beta__threads__runs__update/input.json +1204 -0
  226. package/__fixtures__/-2.complex.openai/beta__threads__runs__update/output.py +32 -0
  227. package/__fixtures__/-2.complex.openai/beta__threads__update/input.json +315 -0
  228. package/__fixtures__/-2.complex.openai/beta__threads__update/output.py +24 -0
  229. package/__fixtures__/-2.complex.openai/chat__completions__create/input.json +3325 -0
  230. package/__fixtures__/-2.complex.openai/chat__completions__create/output.py +22 -0
  231. package/__fixtures__/-2.complex.openai/chat__completions__delete/input.json +192 -0
  232. package/__fixtures__/-2.complex.openai/chat__completions__delete/output.py +22 -0
  233. package/__fixtures__/-2.complex.openai/chat__completions__list/input.json +1069 -0
  234. package/__fixtures__/-2.complex.openai/chat__completions__list/output.py +23 -0
  235. package/__fixtures__/-2.complex.openai/chat__completions__messages__list/input.json +770 -0
  236. package/__fixtures__/-2.complex.openai/chat__completions__messages__list/output.py +31 -0
  237. package/__fixtures__/-2.complex.openai/chat__completions__retrieve/input.json +938 -0
  238. package/__fixtures__/-2.complex.openai/chat__completions__retrieve/output.py +22 -0
  239. package/__fixtures__/-2.complex.openai/chat__completions__update/input.json +973 -0
  240. package/__fixtures__/-2.complex.openai/chat__completions__update/output.py +22 -0
  241. package/__fixtures__/-2.complex.openai/completions__create/input.json +788 -0
  242. package/__fixtures__/-2.complex.openai/completions__create/output.py +16 -0
  243. package/__fixtures__/-2.complex.openai/containers__create/input.json +671 -0
  244. package/__fixtures__/-2.complex.openai/containers__create/output.py +16 -0
  245. package/__fixtures__/-2.complex.openai/containers__delete/input.json +142 -0
  246. package/__fixtures__/-2.complex.openai/containers__delete/output.py +16 -0
  247. package/__fixtures__/-2.complex.openai/containers__files__content/input.json +154 -0
  248. package/__fixtures__/-2.complex.openai/containers__files__content/output.py +24 -0
  249. package/__fixtures__/-2.complex.openai/containers__files__create/input.json +261 -0
  250. package/__fixtures__/-2.complex.openai/containers__files__create/output.py +24 -0
  251. package/__fixtures__/-2.complex.openai/containers__files__delete/input.json +154 -0
  252. package/__fixtures__/-2.complex.openai/containers__files__delete/output.py +24 -0
  253. package/__fixtures__/-2.complex.openai/containers__files__list/input.json +337 -0
  254. package/__fixtures__/-2.complex.openai/containers__files__list/output.py +25 -0
  255. package/__fixtures__/-2.complex.openai/containers__files__retrieve/input.json +235 -0
  256. package/__fixtures__/-2.complex.openai/containers__files__retrieve/output.py +24 -0
  257. package/__fixtures__/-2.complex.openai/containers__list/input.json +438 -0
  258. package/__fixtures__/-2.complex.openai/containers__list/output.py +17 -0
  259. package/__fixtures__/-2.complex.openai/containers__retrieve/input.json +329 -0
  260. package/__fixtures__/-2.complex.openai/containers__retrieve/output.py +16 -0
  261. package/__fixtures__/-2.complex.openai/conversations__create/input.json +6737 -0
  262. package/__fixtures__/-2.complex.openai/conversations__create/output.py +16 -0
  263. package/__fixtures__/-2.complex.openai/conversations__delete/input.json +186 -0
  264. package/__fixtures__/-2.complex.openai/conversations__delete/output.py +16 -0
  265. package/__fixtures__/-2.complex.openai/conversations__items__create/input.json +8352 -0
  266. package/__fixtures__/-2.complex.openai/conversations__items__create/output.py +25 -0
  267. package/__fixtures__/-2.complex.openai/conversations__items__delete/input.json +213 -0
  268. package/__fixtures__/-2.complex.openai/conversations__items__delete/output.py +24 -0
  269. package/__fixtures__/-2.complex.openai/conversations__items__list/input.json +6695 -0
  270. package/__fixtures__/-2.complex.openai/conversations__items__list/output.py +25 -0
  271. package/__fixtures__/-2.complex.openai/conversations__items__retrieve/input.json +6597 -0
  272. package/__fixtures__/-2.complex.openai/conversations__items__retrieve/output.py +26 -0
  273. package/__fixtures__/-2.complex.openai/conversations__retrieve/input.json +198 -0
  274. package/__fixtures__/-2.complex.openai/conversations__retrieve/output.py +16 -0
  275. package/__fixtures__/-2.complex.openai/conversations__update/input.json +233 -0
  276. package/__fixtures__/-2.complex.openai/conversations__update/output.py +16 -0
  277. package/__fixtures__/-2.complex.openai/embeddings__create/input.json +395 -0
  278. package/__fixtures__/-2.complex.openai/embeddings__create/output.py +16 -0
  279. package/__fixtures__/-2.complex.openai/evals__create/input.json +1424 -0
  280. package/__fixtures__/-2.complex.openai/evals__create/output.py +16 -0
  281. package/__fixtures__/-2.complex.openai/evals__delete/input.json +232 -0
  282. package/__fixtures__/-2.complex.openai/evals__delete/output.py +16 -0
  283. package/__fixtures__/-2.complex.openai/evals__list/input.json +1251 -0
  284. package/__fixtures__/-2.complex.openai/evals__list/output.py +17 -0
  285. package/__fixtures__/-2.complex.openai/evals__retrieve/input.json +1127 -0
  286. package/__fixtures__/-2.complex.openai/evals__retrieve/output.py +16 -0
  287. package/__fixtures__/-2.complex.openai/evals__runs__cancel/input.json +4445 -0
  288. package/__fixtures__/-2.complex.openai/evals__runs__cancel/output.py +24 -0
  289. package/__fixtures__/-2.complex.openai/evals__runs__create/input.json +4526 -0
  290. package/__fixtures__/-2.complex.openai/evals__runs__create/output.py +24 -0
  291. package/__fixtures__/-2.complex.openai/evals__runs__delete/input.json +246 -0
  292. package/__fixtures__/-2.complex.openai/evals__runs__delete/output.py +24 -0
  293. package/__fixtures__/-2.complex.openai/evals__runs__list/input.json +4579 -0
  294. package/__fixtures__/-2.complex.openai/evals__runs__list/output.py +25 -0
  295. package/__fixtures__/-2.complex.openai/evals__runs__output_items__list/input.json +685 -0
  296. package/__fixtures__/-2.complex.openai/evals__runs__output_items__list/output.py +33 -0
  297. package/__fixtures__/-2.complex.openai/evals__runs__output_items__retrieve/input.json +560 -0
  298. package/__fixtures__/-2.complex.openai/evals__runs__output_items__retrieve/output.py +32 -0
  299. package/__fixtures__/-2.complex.openai/evals__runs__retrieve/input.json +4445 -0
  300. package/__fixtures__/-2.complex.openai/evals__runs__retrieve/output.py +24 -0
  301. package/__fixtures__/-2.complex.openai/evals__update/input.json +1160 -0
  302. package/__fixtures__/-2.complex.openai/evals__update/output.py +18 -0
  303. package/__fixtures__/-2.complex.openai/files__content/input.json +151 -0
  304. package/__fixtures__/-2.complex.openai/files__content/output.py +16 -0
  305. package/__fixtures__/-2.complex.openai/files__create/input.json +379 -0
  306. package/__fixtures__/-2.complex.openai/files__create/output.py +16 -0
  307. package/__fixtures__/-2.complex.openai/files__delete/input.json +184 -0
  308. package/__fixtures__/-2.complex.openai/files__delete/output.py +16 -0
  309. package/__fixtures__/-2.complex.openai/files__list/input.json +397 -0
  310. package/__fixtures__/-2.complex.openai/files__list/output.py +17 -0
  311. package/__fixtures__/-2.complex.openai/files__retrieve/input.json +295 -0
  312. package/__fixtures__/-2.complex.openai/files__retrieve/output.py +16 -0
  313. package/__fixtures__/-2.complex.openai/fine_tuning__alpha__graders__run__create/input.json +1225 -0
  314. package/__fixtures__/-2.complex.openai/fine_tuning__alpha__graders__run__create/output.py +34 -0
  315. package/__fixtures__/-2.complex.openai/fine_tuning__alpha__graders__validate__create/input.json +991 -0
  316. package/__fixtures__/-2.complex.openai/fine_tuning__alpha__graders__validate__create/output.py +32 -0
  317. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__create/input.json +297 -0
  318. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__create/output.py +29 -0
  319. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__delete/input.json +208 -0
  320. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__delete/output.py +30 -0
  321. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__list/input.json +325 -0
  322. package/__fixtures__/-2.complex.openai/fine_tuning__checkpoints__permissions__list/output.py +31 -0
  323. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__cancel/input.json +1645 -0
  324. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__cancel/output.py +22 -0
  325. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__checkpoints__list/input.json +383 -0
  326. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__checkpoints__list/output.py +31 -0
  327. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__create/input.json +1887 -0
  328. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__create/output.py +22 -0
  329. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__list/input.json +1714 -0
  330. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__list/output.py +23 -0
  331. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__list_events/input.json +330 -0
  332. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__list_events/output.py +25 -0
  333. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__pause/input.json +1645 -0
  334. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__pause/output.py +22 -0
  335. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__resume/input.json +1645 -0
  336. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__resume/output.py +22 -0
  337. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__retrieve/input.json +1645 -0
  338. package/__fixtures__/-2.complex.openai/fine_tuning__jobs__retrieve/output.py +22 -0
  339. package/__fixtures__/-2.complex.openai/images__edits__create/input.json +744 -0
  340. package/__fixtures__/-2.complex.openai/images__edits__create/output.py +22 -0
  341. package/__fixtures__/-2.complex.openai/images__generations__create/input.json +789 -0
  342. package/__fixtures__/-2.complex.openai/images__generations__create/output.py +22 -0
  343. package/__fixtures__/-2.complex.openai/images__variations__create/input.json +550 -0
  344. package/__fixtures__/-2.complex.openai/images__variations__create/output.py +22 -0
  345. package/__fixtures__/-2.complex.openai/models__delete/input.json +184 -0
  346. package/__fixtures__/-2.complex.openai/models__delete/output.py +16 -0
  347. package/__fixtures__/-2.complex.openai/models__list/input.json +221 -0
  348. package/__fixtures__/-2.complex.openai/models__list/output.py +15 -0
  349. package/__fixtures__/-2.complex.openai/models__retrieve/input.json +199 -0
  350. package/__fixtures__/-2.complex.openai/models__retrieve/output.py +16 -0
  351. package/__fixtures__/-2.complex.openai/moderations__create/input.json +831 -0
  352. package/__fixtures__/-2.complex.openai/moderations__create/output.py +16 -0
  353. package/__fixtures__/-2.complex.openai/projects__groups__roles__create/input.json +368 -0
  354. package/__fixtures__/-2.complex.openai/projects__groups__roles__create/output.py +30 -0
  355. package/__fixtures__/-2.complex.openai/projects__groups__roles__delete/input.json +214 -0
  356. package/__fixtures__/-2.complex.openai/projects__groups__roles__delete/output.py +32 -0
  357. package/__fixtures__/-2.complex.openai/projects__groups__roles__list/input.json +402 -0
  358. package/__fixtures__/-2.complex.openai/projects__groups__roles__list/output.py +33 -0
  359. package/__fixtures__/-2.complex.openai/projects__roles__create/input.json +289 -0
  360. package/__fixtures__/-2.complex.openai/projects__roles__create/output.py +24 -0
  361. package/__fixtures__/-2.complex.openai/projects__roles__delete/input.json +210 -0
  362. package/__fixtures__/-2.complex.openai/projects__roles__delete/output.py +24 -0
  363. package/__fixtures__/-2.complex.openai/projects__roles__list/input.json +344 -0
  364. package/__fixtures__/-2.complex.openai/projects__roles__list/output.py +25 -0
  365. package/__fixtures__/-2.complex.openai/projects__roles__update/input.json +300 -0
  366. package/__fixtures__/-2.complex.openai/projects__roles__update/output.py +26 -0
  367. package/__fixtures__/-2.complex.openai/projects__users__roles__create/input.json +615 -0
  368. package/__fixtures__/-2.complex.openai/projects__users__roles__create/output.py +30 -0
  369. package/__fixtures__/-2.complex.openai/projects__users__roles__delete/input.json +214 -0
  370. package/__fixtures__/-2.complex.openai/projects__users__roles__delete/output.py +32 -0
  371. package/__fixtures__/-2.complex.openai/projects__users__roles__list/input.json +402 -0
  372. package/__fixtures__/-2.complex.openai/projects__users__roles__list/output.py +33 -0
  373. package/__fixtures__/-2.complex.openai/realtime__calls__accept/input.json +1768 -0
  374. package/__fixtures__/-2.complex.openai/realtime__calls__accept/output.py +24 -0
  375. package/__fixtures__/-2.complex.openai/realtime__calls__create/input.json +1790 -0
  376. package/__fixtures__/-2.complex.openai/realtime__calls__create/output.py +22 -0
  377. package/__fixtures__/-2.complex.openai/realtime__calls__hangup/input.json +147 -0
  378. package/__fixtures__/-2.complex.openai/realtime__calls__hangup/output.py +22 -0
  379. package/__fixtures__/-2.complex.openai/realtime__calls__refer/input.json +175 -0
  380. package/__fixtures__/-2.complex.openai/realtime__calls__refer/output.py +22 -0
  381. package/__fixtures__/-2.complex.openai/realtime__calls__reject/input.json +175 -0
  382. package/__fixtures__/-2.complex.openai/realtime__calls__reject/output.py +24 -0
  383. package/__fixtures__/-2.complex.openai/realtime__client_secrets__create/input.json +2407 -0
  384. package/__fixtures__/-2.complex.openai/realtime__client_secrets__create/output.py +22 -0
  385. package/__fixtures__/-2.complex.openai/realtime__sessions__create/input.json +1400 -0
  386. package/__fixtures__/-2.complex.openai/realtime__sessions__create/output.py +22 -0
  387. package/__fixtures__/-2.complex.openai/realtime__transcription_sessions__create/input.json +562 -0
  388. package/__fixtures__/-2.complex.openai/realtime__transcription_sessions__create/output.py +22 -0
  389. package/__fixtures__/-2.complex.openai/realtime__translations__client_secrets__create/input.json +498 -0
  390. package/__fixtures__/-2.complex.openai/realtime__translations__client_secrets__create/output.py +28 -0
  391. package/__fixtures__/-2.complex.openai/responses__cancel/input.json +9526 -0
  392. package/__fixtures__/-2.complex.openai/responses__cancel/output.py +16 -0
  393. package/__fixtures__/-2.complex.openai/responses__compact__create/input.json +8721 -0
  394. package/__fixtures__/-2.complex.openai/responses__compact__create/output.py +22 -0
  395. package/__fixtures__/-2.complex.openai/responses__create/input.json +9862 -0
  396. package/__fixtures__/-2.complex.openai/responses__create/output.py +16 -0
  397. package/__fixtures__/-2.complex.openai/responses__delete/input.json +194 -0
  398. package/__fixtures__/-2.complex.openai/responses__delete/output.py +16 -0
  399. package/__fixtures__/-2.complex.openai/responses__input_items__list/input.json +6686 -0
  400. package/__fixtures__/-2.complex.openai/responses__input_items__list/output.py +25 -0
  401. package/__fixtures__/-2.complex.openai/responses__input_tokens__count/input.json +7368 -0
  402. package/__fixtures__/-2.complex.openai/responses__input_tokens__count/output.py +22 -0
  403. package/__fixtures__/-2.complex.openai/responses__retrieve/input.json +9550 -0
  404. package/__fixtures__/-2.complex.openai/responses__retrieve/output.py +18 -0
  405. package/__fixtures__/-2.complex.openai/skills__content/input.json +152 -0
  406. package/__fixtures__/-2.complex.openai/skills__content/output.py +16 -0
  407. package/__fixtures__/-2.complex.openai/skills__create/input.json +258 -0
  408. package/__fixtures__/-2.complex.openai/skills__create/output.py +14 -0
  409. package/__fixtures__/-2.complex.openai/skills__delete/input.json +186 -0
  410. package/__fixtures__/-2.complex.openai/skills__delete/output.py +16 -0
  411. package/__fixtures__/-2.complex.openai/skills__list/input.json +323 -0
  412. package/__fixtures__/-2.complex.openai/skills__list/output.py +17 -0
  413. package/__fixtures__/-2.complex.openai/skills__retrieve/input.json +226 -0
  414. package/__fixtures__/-2.complex.openai/skills__retrieve/output.py +16 -0
  415. package/__fixtures__/-2.complex.openai/skills__update/input.json +251 -0
  416. package/__fixtures__/-2.complex.openai/skills__update/output.py +16 -0
  417. package/__fixtures__/-2.complex.openai/skills__versions__content/input.json +166 -0
  418. package/__fixtures__/-2.complex.openai/skills__versions__content/output.py +24 -0
  419. package/__fixtures__/-2.complex.openai/skills__versions__create/input.json +284 -0
  420. package/__fixtures__/-2.complex.openai/skills__versions__create/output.py +24 -0
  421. package/__fixtures__/-2.complex.openai/skills__versions__delete/input.json +209 -0
  422. package/__fixtures__/-2.complex.openai/skills__versions__delete/output.py +24 -0
  423. package/__fixtures__/-2.complex.openai/skills__versions__list/input.json +341 -0
  424. package/__fixtures__/-2.complex.openai/skills__versions__list/output.py +25 -0
  425. package/__fixtures__/-2.complex.openai/skills__versions__retrieve/input.json +240 -0
  426. package/__fixtures__/-2.complex.openai/skills__versions__retrieve/output.py +24 -0
  427. package/__fixtures__/-2.complex.openai/uploads__cancel/input.json +407 -0
  428. package/__fixtures__/-2.complex.openai/uploads__cancel/output.py +16 -0
  429. package/__fixtures__/-2.complex.openai/uploads__complete/input.json +443 -0
  430. package/__fixtures__/-2.complex.openai/uploads__complete/output.py +18 -0
  431. package/__fixtures__/-2.complex.openai/uploads__create/input.json +501 -0
  432. package/__fixtures__/-2.complex.openai/uploads__create/output.py +16 -0
  433. package/__fixtures__/-2.complex.openai/uploads__parts__create/input.json +229 -0
  434. package/__fixtures__/-2.complex.openai/uploads__parts__create/output.py +24 -0
  435. package/__fixtures__/-2.complex.openai/vector_stores__create/input.json +507 -0
  436. package/__fixtures__/-2.complex.openai/vector_stores__create/output.py +16 -0
  437. package/__fixtures__/-2.complex.openai/vector_stores__delete/input.json +184 -0
  438. package/__fixtures__/-2.complex.openai/vector_stores__delete/output.py +16 -0
  439. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__cancel/input.json +300 -0
  440. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__cancel/output.py +24 -0
  441. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__create/input.json +314 -0
  442. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__create/output.py +22 -0
  443. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__list_files/input.json +571 -0
  444. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__list_files/output.py +27 -0
  445. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__retrieve/input.json +302 -0
  446. package/__fixtures__/-2.complex.openai/vector_stores__file_batches__retrieve/output.py +24 -0
  447. package/__fixtures__/-2.complex.openai/vector_stores__files__content/input.json +249 -0
  448. package/__fixtures__/-2.complex.openai/vector_stores__files__content/output.py +25 -0
  449. package/__fixtures__/-2.complex.openai/vector_stores__files__create/input.json +527 -0
  450. package/__fixtures__/-2.complex.openai/vector_stores__files__create/output.py +24 -0
  451. package/__fixtures__/-2.complex.openai/vector_stores__files__delete/input.json +198 -0
  452. package/__fixtures__/-2.complex.openai/vector_stores__files__delete/output.py +24 -0
  453. package/__fixtures__/-2.complex.openai/vector_stores__files__list/input.json +562 -0
  454. package/__fixtures__/-2.complex.openai/vector_stores__files__list/output.py +25 -0
  455. package/__fixtures__/-2.complex.openai/vector_stores__files__retrieve/input.json +432 -0
  456. package/__fixtures__/-2.complex.openai/vector_stores__files__retrieve/output.py +24 -0
  457. package/__fixtures__/-2.complex.openai/vector_stores__files__update/input.json +455 -0
  458. package/__fixtures__/-2.complex.openai/vector_stores__files__update/output.py +24 -0
  459. package/__fixtures__/-2.complex.openai/vector_stores__list/input.json +468 -0
  460. package/__fixtures__/-2.complex.openai/vector_stores__list/output.py +17 -0
  461. package/__fixtures__/-2.complex.openai/vector_stores__retrieve/input.json +366 -0
  462. package/__fixtures__/-2.complex.openai/vector_stores__retrieve/output.py +16 -0
  463. package/__fixtures__/-2.complex.openai/vector_stores__search/input.json +637 -0
  464. package/__fixtures__/-2.complex.openai/vector_stores__search/output.py +19 -0
  465. package/__fixtures__/-2.complex.openai/vector_stores__update/input.json +409 -0
  466. package/__fixtures__/-2.complex.openai/vector_stores__update/output.py +18 -0
  467. package/__fixtures__/-2.complex.openai/videos__characters__create/input.json +216 -0
  468. package/__fixtures__/-2.complex.openai/videos__characters__create/output.py +22 -0
  469. package/__fixtures__/-2.complex.openai/videos__characters__retrieve/input.json +193 -0
  470. package/__fixtures__/-2.complex.openai/videos__characters__retrieve/output.py +22 -0
  471. package/__fixtures__/-2.complex.openai/videos__create/input.json +465 -0
  472. package/__fixtures__/-2.complex.openai/videos__create/output.py +16 -0
  473. package/__fixtures__/-2.complex.openai/videos__delete/input.json +190 -0
  474. package/__fixtures__/-2.complex.openai/videos__delete/output.py +16 -0
  475. package/__fixtures__/-2.complex.openai/videos__download_content/input.json +181 -0
  476. package/__fixtures__/-2.complex.openai/videos__download_content/output.py +18 -0
  477. package/__fixtures__/-2.complex.openai/videos__edits__create/input.json +422 -0
  478. package/__fixtures__/-2.complex.openai/videos__edits__create/output.py +20 -0
  479. package/__fixtures__/-2.complex.openai/videos__extensions__create/input.json +446 -0
  480. package/__fixtures__/-2.complex.openai/videos__extensions__create/output.py +20 -0
  481. package/__fixtures__/-2.complex.openai/videos__list/input.json +477 -0
  482. package/__fixtures__/-2.complex.openai/videos__list/output.py +17 -0
  483. package/__fixtures__/-2.complex.openai/videos__remix/input.json +405 -0
  484. package/__fixtures__/-2.complex.openai/videos__remix/output.py +16 -0
  485. package/__fixtures__/-2.complex.openai/videos__retrieve/input.json +380 -0
  486. package/__fixtures__/-2.complex.openai/videos__retrieve/output.py +16 -0
  487. package/__fixtures__/1.basic/input.json +249 -0
  488. package/__fixtures__/1.basic/output/petstore/__init__.py +6 -0
  489. package/__fixtures__/1.basic/output/petstore/_client.py +21 -0
  490. package/__fixtures__/1.basic/output/petstore/_pagination.py +42 -0
  491. package/__fixtures__/1.basic/output/petstore/_transport.py +391 -0
  492. package/__fixtures__/1.basic/output/petstore/models.py +33 -0
  493. package/__fixtures__/1.basic/output/petstore/resources.py +25 -0
  494. package/__fixtures__/1.basic/output/pyproject.toml +12 -0
  495. package/__fixtures__/1.basic/output/tests/conftest.py +16 -0
  496. package/__fixtures__/1.basic/output/tests/test_pets.py +36 -0
  497. package/__fixtures__/1.basic/output/tests/utils.py +28 -0
  498. package/__fixtures__/2.wire/input.json +351 -0
  499. package/__fixtures__/2.wire/output/pyproject.toml +12 -0
  500. package/__fixtures__/2.wire/output/tests/conftest.py +16 -0
  501. package/__fixtures__/2.wire/output/tests/test_items.py +18 -0
  502. package/__fixtures__/2.wire/output/tests/test_tokens.py +17 -0
  503. package/__fixtures__/2.wire/output/tests/test_uploads.py +27 -0
  504. package/__fixtures__/2.wire/output/tests/utils.py +28 -0
  505. package/__fixtures__/2.wire/output/wire_service/__init__.py +6 -0
  506. package/__fixtures__/2.wire/output/wire_service/_client.py +23 -0
  507. package/__fixtures__/2.wire/output/wire_service/_pagination.py +42 -0
  508. package/__fixtures__/2.wire/output/wire_service/_transport.py +391 -0
  509. package/__fixtures__/2.wire/output/wire_service/models.py +44 -0
  510. package/__fixtures__/2.wire/output/wire_service/resources.py +38 -0
  511. package/__tests__/docs.test.ts +115 -0
  512. package/__tests__/e2e/harness.ts +79 -0
  513. package/__tests__/e2e/openai.test.ts +14 -0
  514. package/__tests__/e2e/publish.test.ts +19 -0
  515. package/__tests__/opensdk-python.test.ts +134 -0
  516. package/__tests__/utils.ts +117 -0
  517. package/biome.json +25 -0
  518. package/dist/index.cjs +1274 -0
  519. package/dist/index.cjs.map +1 -0
  520. package/dist/index.d.cts +32 -0
  521. package/dist/index.d.ts +32 -0
  522. package/dist/index.js +1246 -0
  523. package/dist/index.js.map +1 -0
  524. package/index.ts +1 -0
  525. package/package.json +30 -0
  526. package/src/emitter.ts +95 -0
  527. package/src/example-py.ts +60 -0
  528. package/src/index.ts +4 -0
  529. package/src/method.ts +13 -0
  530. package/src/naming.ts +45 -0
  531. package/src/project.ts +446 -0
  532. package/src/publish.ts +22 -0
  533. package/src/pytype.ts +86 -0
  534. package/src/runtime.ts +551 -0
  535. package/src/tests-py.ts +197 -0
  536. package/src/types.ts +8 -0
  537. package/tsconfig.json +18 -0
  538. package/tsup.config.ts +19 -0
  539. package/vitest.config.ts +8 -0
@@ -0,0 +1,4579 @@
1
+ {
2
+ "opensdk": "1.0.0",
3
+ "info": {
4
+ "title": "openai",
5
+ "version": "2.3.0"
6
+ },
7
+ "servers": [
8
+ "https://api.openai.com/v1"
9
+ ],
10
+ "security": [
11
+ {
12
+ "type": "http",
13
+ "kind": "bearer",
14
+ "schemeName": "ApiKeyAuth",
15
+ "envVar": "OPENAI_API_KEY",
16
+ "scheme": "bearer"
17
+ },
18
+ {
19
+ "type": "http",
20
+ "kind": "bearer",
21
+ "schemeName": "AdminApiKeyAuth",
22
+ "envVar": "OPENAI_API_KEY",
23
+ "scheme": "bearer"
24
+ }
25
+ ],
26
+ "types": [
27
+ {
28
+ "name": "EvalsRunsListOrder",
29
+ "kind": "enum",
30
+ "base": "string",
31
+ "values": [
32
+ {
33
+ "value": "asc"
34
+ },
35
+ {
36
+ "value": "desc"
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "name": "EvalsRunsListStatus",
42
+ "kind": "enum",
43
+ "base": "string",
44
+ "values": [
45
+ {
46
+ "value": "queued"
47
+ },
48
+ {
49
+ "value": "in_progress"
50
+ },
51
+ {
52
+ "value": "completed"
53
+ },
54
+ {
55
+ "value": "canceled"
56
+ },
57
+ {
58
+ "value": "failed"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "name": "EvalRunList",
64
+ "kind": "struct",
65
+ "fields": [
66
+ {
67
+ "name": "object",
68
+ "type": {
69
+ "kind": "scalar",
70
+ "scalar": "string",
71
+ "const": "list"
72
+ },
73
+ "required": true,
74
+ "default": "list",
75
+ "description": "The type of this object. It is always set to \"list\".\n"
76
+ },
77
+ {
78
+ "name": "data",
79
+ "type": {
80
+ "kind": "array",
81
+ "items": {
82
+ "kind": "ref",
83
+ "name": "EvalRun"
84
+ }
85
+ },
86
+ "required": true,
87
+ "description": "An array of eval run objects.\n"
88
+ },
89
+ {
90
+ "name": "first_id",
91
+ "type": {
92
+ "kind": "scalar",
93
+ "scalar": "string"
94
+ },
95
+ "required": true,
96
+ "description": "The identifier of the first eval run in the data array."
97
+ },
98
+ {
99
+ "name": "last_id",
100
+ "type": {
101
+ "kind": "scalar",
102
+ "scalar": "string"
103
+ },
104
+ "required": true,
105
+ "description": "The identifier of the last eval run in the data array."
106
+ },
107
+ {
108
+ "name": "has_more",
109
+ "type": {
110
+ "kind": "scalar",
111
+ "scalar": "boolean"
112
+ },
113
+ "required": true,
114
+ "description": "Indicates whether there are more evals available."
115
+ }
116
+ ],
117
+ "description": "An object representing a list of runs for an evaluation.\n"
118
+ },
119
+ {
120
+ "name": "EvalRun",
121
+ "kind": "struct",
122
+ "fields": [
123
+ {
124
+ "name": "object",
125
+ "type": {
126
+ "kind": "scalar",
127
+ "scalar": "string",
128
+ "const": "eval.run"
129
+ },
130
+ "required": true,
131
+ "default": "eval.run",
132
+ "description": "The type of the object. Always \"eval.run\"."
133
+ },
134
+ {
135
+ "name": "id",
136
+ "type": {
137
+ "kind": "scalar",
138
+ "scalar": "string"
139
+ },
140
+ "required": true,
141
+ "description": "Unique identifier for the evaluation run."
142
+ },
143
+ {
144
+ "name": "eval_id",
145
+ "type": {
146
+ "kind": "scalar",
147
+ "scalar": "string"
148
+ },
149
+ "required": true,
150
+ "description": "The identifier of the associated evaluation."
151
+ },
152
+ {
153
+ "name": "status",
154
+ "type": {
155
+ "kind": "scalar",
156
+ "scalar": "string"
157
+ },
158
+ "required": true,
159
+ "description": "The status of the evaluation run."
160
+ },
161
+ {
162
+ "name": "model",
163
+ "type": {
164
+ "kind": "scalar",
165
+ "scalar": "string"
166
+ },
167
+ "required": true,
168
+ "description": "The model that is evaluated, if applicable."
169
+ },
170
+ {
171
+ "name": "name",
172
+ "type": {
173
+ "kind": "scalar",
174
+ "scalar": "string"
175
+ },
176
+ "required": true,
177
+ "description": "The name of the evaluation run."
178
+ },
179
+ {
180
+ "name": "created_at",
181
+ "type": {
182
+ "kind": "scalar",
183
+ "scalar": "integer",
184
+ "format": "unixtime"
185
+ },
186
+ "required": true,
187
+ "description": "Unix timestamp (in seconds) when the evaluation run was created."
188
+ },
189
+ {
190
+ "name": "report_url",
191
+ "type": {
192
+ "kind": "scalar",
193
+ "scalar": "string",
194
+ "format": "uri"
195
+ },
196
+ "required": true,
197
+ "description": "The URL to the rendered evaluation run report on the UI dashboard."
198
+ },
199
+ {
200
+ "name": "result_counts",
201
+ "type": {
202
+ "kind": "ref",
203
+ "name": "EvalRunResultCounts"
204
+ },
205
+ "required": true,
206
+ "description": "Counters summarizing the outcomes of the evaluation run."
207
+ },
208
+ {
209
+ "name": "per_model_usage",
210
+ "type": {
211
+ "kind": "array",
212
+ "items": {
213
+ "kind": "ref",
214
+ "name": "EvalRunPerModelUsageItem"
215
+ }
216
+ },
217
+ "required": true,
218
+ "description": "Usage statistics for each model during the evaluation run."
219
+ },
220
+ {
221
+ "name": "per_testing_criteria_results",
222
+ "type": {
223
+ "kind": "array",
224
+ "items": {
225
+ "kind": "ref",
226
+ "name": "EvalRunPerTestingCriteriaResultsItem"
227
+ }
228
+ },
229
+ "required": true,
230
+ "description": "Results per testing criteria applied during the evaluation run."
231
+ },
232
+ {
233
+ "name": "data_source",
234
+ "type": {
235
+ "kind": "ref",
236
+ "name": "EvalRunDataSource"
237
+ },
238
+ "required": true,
239
+ "description": "Information about the run's data source."
240
+ },
241
+ {
242
+ "name": "metadata",
243
+ "type": {
244
+ "kind": "ref",
245
+ "name": "Metadata"
246
+ },
247
+ "required": true
248
+ },
249
+ {
250
+ "name": "error",
251
+ "type": {
252
+ "kind": "ref",
253
+ "name": "EvalApiError"
254
+ },
255
+ "required": true
256
+ }
257
+ ],
258
+ "description": "A schema representing an evaluation run.\n"
259
+ },
260
+ {
261
+ "name": "EvalRunResultCounts",
262
+ "kind": "struct",
263
+ "fields": [
264
+ {
265
+ "name": "total",
266
+ "type": {
267
+ "kind": "scalar",
268
+ "scalar": "integer"
269
+ },
270
+ "required": true,
271
+ "description": "Total number of executed output items."
272
+ },
273
+ {
274
+ "name": "errored",
275
+ "type": {
276
+ "kind": "scalar",
277
+ "scalar": "integer"
278
+ },
279
+ "required": true,
280
+ "description": "Number of output items that resulted in an error."
281
+ },
282
+ {
283
+ "name": "failed",
284
+ "type": {
285
+ "kind": "scalar",
286
+ "scalar": "integer"
287
+ },
288
+ "required": true,
289
+ "description": "Number of output items that failed to pass the evaluation."
290
+ },
291
+ {
292
+ "name": "passed",
293
+ "type": {
294
+ "kind": "scalar",
295
+ "scalar": "integer"
296
+ },
297
+ "required": true,
298
+ "description": "Number of output items that passed the evaluation."
299
+ }
300
+ ],
301
+ "description": "Counters summarizing the outcomes of the evaluation run."
302
+ },
303
+ {
304
+ "name": "EvalRunPerModelUsageItem",
305
+ "kind": "struct",
306
+ "fields": [
307
+ {
308
+ "name": "model_name",
309
+ "type": {
310
+ "kind": "scalar",
311
+ "scalar": "string"
312
+ },
313
+ "required": true,
314
+ "description": "The name of the model."
315
+ },
316
+ {
317
+ "name": "invocation_count",
318
+ "type": {
319
+ "kind": "scalar",
320
+ "scalar": "integer"
321
+ },
322
+ "required": true,
323
+ "description": "The number of invocations."
324
+ },
325
+ {
326
+ "name": "prompt_tokens",
327
+ "type": {
328
+ "kind": "scalar",
329
+ "scalar": "integer"
330
+ },
331
+ "required": true,
332
+ "description": "The number of prompt tokens used."
333
+ },
334
+ {
335
+ "name": "completion_tokens",
336
+ "type": {
337
+ "kind": "scalar",
338
+ "scalar": "integer"
339
+ },
340
+ "required": true,
341
+ "description": "The number of completion tokens generated."
342
+ },
343
+ {
344
+ "name": "total_tokens",
345
+ "type": {
346
+ "kind": "scalar",
347
+ "scalar": "integer"
348
+ },
349
+ "required": true,
350
+ "description": "The total number of tokens used."
351
+ },
352
+ {
353
+ "name": "cached_tokens",
354
+ "type": {
355
+ "kind": "scalar",
356
+ "scalar": "integer"
357
+ },
358
+ "required": true,
359
+ "description": "The number of tokens retrieved from cache."
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ "name": "EvalRunPerTestingCriteriaResultsItem",
365
+ "kind": "struct",
366
+ "fields": [
367
+ {
368
+ "name": "testing_criteria",
369
+ "type": {
370
+ "kind": "scalar",
371
+ "scalar": "string"
372
+ },
373
+ "required": true,
374
+ "description": "A description of the testing criteria."
375
+ },
376
+ {
377
+ "name": "passed",
378
+ "type": {
379
+ "kind": "scalar",
380
+ "scalar": "integer"
381
+ },
382
+ "required": true,
383
+ "description": "Number of tests passed for this criteria."
384
+ },
385
+ {
386
+ "name": "failed",
387
+ "type": {
388
+ "kind": "scalar",
389
+ "scalar": "integer"
390
+ },
391
+ "required": true,
392
+ "description": "Number of tests failed for this criteria."
393
+ }
394
+ ]
395
+ },
396
+ {
397
+ "name": "EvalRunDataSource",
398
+ "kind": "union",
399
+ "semantics": "oneOf",
400
+ "variants": [
401
+ {
402
+ "kind": "ref",
403
+ "name": "CreateEvalJsonlRunDataSource"
404
+ },
405
+ {
406
+ "kind": "ref",
407
+ "name": "CreateEvalCompletionsRunDataSource"
408
+ },
409
+ {
410
+ "kind": "ref",
411
+ "name": "CreateEvalResponsesRunDataSource"
412
+ }
413
+ ],
414
+ "description": "Information about the run's data source."
415
+ },
416
+ {
417
+ "name": "CreateEvalJsonlRunDataSource",
418
+ "kind": "struct",
419
+ "fields": [
420
+ {
421
+ "name": "type",
422
+ "type": {
423
+ "kind": "scalar",
424
+ "scalar": "string",
425
+ "const": "jsonl"
426
+ },
427
+ "required": true,
428
+ "default": "jsonl",
429
+ "description": "The type of data source. Always `jsonl`."
430
+ },
431
+ {
432
+ "name": "source",
433
+ "type": {
434
+ "kind": "ref",
435
+ "name": "CreateEvalJsonlRunDataSourceSource"
436
+ },
437
+ "required": true,
438
+ "description": "Determines what populates the `item` namespace in the data source."
439
+ }
440
+ ],
441
+ "description": "A JsonlRunDataSource object with that specifies a JSONL file that matches the eval \n"
442
+ },
443
+ {
444
+ "name": "CreateEvalJsonlRunDataSourceSource",
445
+ "kind": "union",
446
+ "semantics": "oneOf",
447
+ "variants": [
448
+ {
449
+ "kind": "ref",
450
+ "name": "EvalJsonlFileContentSource"
451
+ },
452
+ {
453
+ "kind": "ref",
454
+ "name": "EvalJsonlFileIdSource"
455
+ }
456
+ ],
457
+ "description": "Determines what populates the `item` namespace in the data source."
458
+ },
459
+ {
460
+ "name": "EvalJsonlFileContentSource",
461
+ "kind": "struct",
462
+ "fields": [
463
+ {
464
+ "name": "type",
465
+ "type": {
466
+ "kind": "scalar",
467
+ "scalar": "string",
468
+ "const": "file_content"
469
+ },
470
+ "required": true,
471
+ "default": "file_content",
472
+ "description": "The type of jsonl source. Always `file_content`."
473
+ },
474
+ {
475
+ "name": "content",
476
+ "type": {
477
+ "kind": "array",
478
+ "items": {
479
+ "kind": "ref",
480
+ "name": "EvalJsonlFileContentSourceContentItem"
481
+ }
482
+ },
483
+ "required": true,
484
+ "description": "The content of the jsonl file."
485
+ }
486
+ ]
487
+ },
488
+ {
489
+ "name": "EvalJsonlFileContentSourceContentItem",
490
+ "kind": "struct",
491
+ "fields": [
492
+ {
493
+ "name": "item",
494
+ "type": {
495
+ "kind": "map",
496
+ "values": {
497
+ "kind": "any"
498
+ }
499
+ },
500
+ "required": true
501
+ },
502
+ {
503
+ "name": "sample",
504
+ "type": {
505
+ "kind": "map",
506
+ "values": {
507
+ "kind": "any"
508
+ }
509
+ },
510
+ "required": false
511
+ }
512
+ ]
513
+ },
514
+ {
515
+ "name": "EvalJsonlFileIdSource",
516
+ "kind": "struct",
517
+ "fields": [
518
+ {
519
+ "name": "type",
520
+ "type": {
521
+ "kind": "scalar",
522
+ "scalar": "string",
523
+ "const": "file_id"
524
+ },
525
+ "required": true,
526
+ "default": "file_id",
527
+ "description": "The type of jsonl source. Always `file_id`."
528
+ },
529
+ {
530
+ "name": "id",
531
+ "type": {
532
+ "kind": "scalar",
533
+ "scalar": "string"
534
+ },
535
+ "required": true,
536
+ "description": "The identifier of the file."
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "name": "CreateEvalCompletionsRunDataSource",
542
+ "kind": "struct",
543
+ "fields": [
544
+ {
545
+ "name": "type",
546
+ "type": {
547
+ "kind": "scalar",
548
+ "scalar": "string",
549
+ "const": "completions"
550
+ },
551
+ "required": true,
552
+ "default": "completions",
553
+ "description": "The type of run data source. Always `completions`."
554
+ },
555
+ {
556
+ "name": "input_messages",
557
+ "type": {
558
+ "kind": "ref",
559
+ "name": "CreateEvalCompletionsRunDataSourceInputMessages"
560
+ },
561
+ "required": false,
562
+ "description": "Used when sampling from a model. Dictates the structure of the messages passed into the model. Can either be a reference to a prebuilt trajectory (ie, `item.input_trajectory`), or a template with variable references to the `item` namespace."
563
+ },
564
+ {
565
+ "name": "sampling_params",
566
+ "type": {
567
+ "kind": "ref",
568
+ "name": "CreateEvalCompletionsRunDataSourceSamplingParams"
569
+ },
570
+ "required": false
571
+ },
572
+ {
573
+ "name": "model",
574
+ "type": {
575
+ "kind": "scalar",
576
+ "scalar": "string"
577
+ },
578
+ "required": false,
579
+ "description": "The name of the model to use for generating completions (e.g. \"o3-mini\")."
580
+ },
581
+ {
582
+ "name": "source",
583
+ "type": {
584
+ "kind": "ref",
585
+ "name": "CreateEvalCompletionsRunDataSourceSource"
586
+ },
587
+ "required": true,
588
+ "description": "Determines what populates the `item` namespace in this run's data source."
589
+ }
590
+ ],
591
+ "description": "A CompletionsRunDataSource object describing a model sampling configuration.\n"
592
+ },
593
+ {
594
+ "name": "CreateEvalCompletionsRunDataSourceInputMessages",
595
+ "kind": "union",
596
+ "semantics": "oneOf",
597
+ "variants": [
598
+ {
599
+ "kind": "ref",
600
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesTemplate"
601
+ },
602
+ {
603
+ "kind": "ref",
604
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesItemReference"
605
+ }
606
+ ],
607
+ "description": "Used when sampling from a model. Dictates the structure of the messages passed into the model. Can either be a reference to a prebuilt trajectory (ie, `item.input_trajectory`), or a template with variable references to the `item` namespace."
608
+ },
609
+ {
610
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesTemplate",
611
+ "kind": "struct",
612
+ "fields": [
613
+ {
614
+ "name": "type",
615
+ "type": {
616
+ "kind": "scalar",
617
+ "scalar": "string",
618
+ "const": "template"
619
+ },
620
+ "required": true,
621
+ "description": "The type of input messages. Always `template`."
622
+ },
623
+ {
624
+ "name": "template",
625
+ "type": {
626
+ "kind": "array",
627
+ "items": {
628
+ "kind": "ref",
629
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesTemplateTemplateItem"
630
+ }
631
+ },
632
+ "required": true,
633
+ "description": "A list of chat messages forming the prompt or context. May include variable references to the `item` namespace, ie {{item.name}}."
634
+ }
635
+ ]
636
+ },
637
+ {
638
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesTemplateTemplateItem",
639
+ "kind": "union",
640
+ "semantics": "oneOf",
641
+ "variants": [
642
+ {
643
+ "kind": "ref",
644
+ "name": "EasyInputMessage"
645
+ },
646
+ {
647
+ "kind": "ref",
648
+ "name": "EvalItem"
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "name": "EasyInputMessage",
654
+ "kind": "struct",
655
+ "fields": [
656
+ {
657
+ "name": "role",
658
+ "type": {
659
+ "kind": "ref",
660
+ "name": "EasyInputMessageRole"
661
+ },
662
+ "required": true,
663
+ "description": "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n"
664
+ },
665
+ {
666
+ "name": "content",
667
+ "type": {
668
+ "kind": "ref",
669
+ "name": "EasyInputMessageContent"
670
+ },
671
+ "required": true,
672
+ "description": "Text, image, or audio input to the model, used to generate a response.\nCan also contain previous assistant responses.\n"
673
+ },
674
+ {
675
+ "name": "phase",
676
+ "type": {
677
+ "kind": "ref",
678
+ "name": "MessagePhase",
679
+ "nullable": true
680
+ },
681
+ "required": false
682
+ },
683
+ {
684
+ "name": "type",
685
+ "type": {
686
+ "kind": "scalar",
687
+ "scalar": "string",
688
+ "const": "message"
689
+ },
690
+ "required": false,
691
+ "description": "The type of the message input. Always `message`.\n"
692
+ }
693
+ ],
694
+ "description": "A message input to the model with a role indicating instruction following\nhierarchy. Instructions given with the `developer` or `system` role take\nprecedence over instructions given with the `user` role. Messages with the\n`assistant` role are presumed to have been generated by the model in previous\ninteractions.\n"
695
+ },
696
+ {
697
+ "name": "EasyInputMessageRole",
698
+ "kind": "enum",
699
+ "base": "string",
700
+ "values": [
701
+ {
702
+ "value": "user"
703
+ },
704
+ {
705
+ "value": "assistant"
706
+ },
707
+ {
708
+ "value": "system"
709
+ },
710
+ {
711
+ "value": "developer"
712
+ }
713
+ ],
714
+ "description": "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n"
715
+ },
716
+ {
717
+ "name": "EasyInputMessageContent",
718
+ "kind": "union",
719
+ "semantics": "oneOf",
720
+ "variants": [
721
+ {
722
+ "kind": "scalar",
723
+ "scalar": "string"
724
+ },
725
+ {
726
+ "kind": "ref",
727
+ "name": "InputMessageContentList"
728
+ }
729
+ ],
730
+ "description": "Text, image, or audio input to the model, used to generate a response.\nCan also contain previous assistant responses.\n"
731
+ },
732
+ {
733
+ "name": "InputMessageContentList",
734
+ "kind": "alias",
735
+ "of": {
736
+ "kind": "array",
737
+ "items": {
738
+ "kind": "ref",
739
+ "name": "InputContent"
740
+ }
741
+ }
742
+ },
743
+ {
744
+ "name": "InputContent",
745
+ "kind": "union",
746
+ "semantics": "oneOf",
747
+ "variants": [
748
+ {
749
+ "kind": "ref",
750
+ "name": "InputTextContent"
751
+ },
752
+ {
753
+ "kind": "ref",
754
+ "name": "InputImageContent"
755
+ },
756
+ {
757
+ "kind": "ref",
758
+ "name": "InputFileContent"
759
+ }
760
+ ],
761
+ "discriminator": {
762
+ "propertyName": "type",
763
+ "mapping": {
764
+ "input_text": "InputTextContent",
765
+ "input_image": "InputImageContent",
766
+ "input_file": "InputFileContent"
767
+ }
768
+ }
769
+ },
770
+ {
771
+ "name": "InputTextContent",
772
+ "kind": "struct",
773
+ "fields": [
774
+ {
775
+ "name": "type",
776
+ "type": {
777
+ "kind": "scalar",
778
+ "scalar": "string",
779
+ "const": "input_text"
780
+ },
781
+ "required": true,
782
+ "default": "input_text",
783
+ "description": "The type of the input item. Always `input_text`."
784
+ },
785
+ {
786
+ "name": "text",
787
+ "type": {
788
+ "kind": "scalar",
789
+ "scalar": "string"
790
+ },
791
+ "required": true,
792
+ "description": "The text input to the model."
793
+ }
794
+ ],
795
+ "description": "A text input to the model."
796
+ },
797
+ {
798
+ "name": "InputImageContent",
799
+ "kind": "struct",
800
+ "fields": [
801
+ {
802
+ "name": "type",
803
+ "type": {
804
+ "kind": "scalar",
805
+ "scalar": "string",
806
+ "const": "input_image"
807
+ },
808
+ "required": true,
809
+ "default": "input_image",
810
+ "description": "The type of the input item. Always `input_image`."
811
+ },
812
+ {
813
+ "name": "image_url",
814
+ "type": {
815
+ "kind": "scalar",
816
+ "scalar": "string",
817
+ "format": "uri",
818
+ "nullable": true
819
+ },
820
+ "required": false
821
+ },
822
+ {
823
+ "name": "file_id",
824
+ "type": {
825
+ "kind": "scalar",
826
+ "scalar": "string",
827
+ "nullable": true
828
+ },
829
+ "required": false
830
+ },
831
+ {
832
+ "name": "detail",
833
+ "type": {
834
+ "kind": "ref",
835
+ "name": "ImageDetail"
836
+ },
837
+ "required": true
838
+ }
839
+ ],
840
+ "description": "An image input to the model. Learn about [image inputs](/docs/guides/vision)."
841
+ },
842
+ {
843
+ "name": "ImageDetail",
844
+ "kind": "enum",
845
+ "base": "string",
846
+ "values": [
847
+ {
848
+ "value": "low"
849
+ },
850
+ {
851
+ "value": "high"
852
+ },
853
+ {
854
+ "value": "auto"
855
+ },
856
+ {
857
+ "value": "original"
858
+ }
859
+ ]
860
+ },
861
+ {
862
+ "name": "InputFileContent",
863
+ "kind": "struct",
864
+ "fields": [
865
+ {
866
+ "name": "type",
867
+ "type": {
868
+ "kind": "scalar",
869
+ "scalar": "string",
870
+ "const": "input_file"
871
+ },
872
+ "required": true,
873
+ "default": "input_file",
874
+ "description": "The type of the input item. Always `input_file`."
875
+ },
876
+ {
877
+ "name": "file_id",
878
+ "type": {
879
+ "kind": "scalar",
880
+ "scalar": "string",
881
+ "nullable": true
882
+ },
883
+ "required": false
884
+ },
885
+ {
886
+ "name": "filename",
887
+ "type": {
888
+ "kind": "scalar",
889
+ "scalar": "string"
890
+ },
891
+ "required": false,
892
+ "description": "The name of the file to be sent to the model."
893
+ },
894
+ {
895
+ "name": "file_data",
896
+ "type": {
897
+ "kind": "scalar",
898
+ "scalar": "string"
899
+ },
900
+ "required": false,
901
+ "description": "The content of the file to be sent to the model.\n"
902
+ },
903
+ {
904
+ "name": "file_url",
905
+ "type": {
906
+ "kind": "scalar",
907
+ "scalar": "string",
908
+ "format": "uri"
909
+ },
910
+ "required": false,
911
+ "description": "The URL of the file to be sent to the model."
912
+ },
913
+ {
914
+ "name": "detail",
915
+ "type": {
916
+ "kind": "ref",
917
+ "name": "FileInputDetail"
918
+ },
919
+ "required": false
920
+ }
921
+ ],
922
+ "description": "A file input to the model."
923
+ },
924
+ {
925
+ "name": "FileInputDetail",
926
+ "kind": "enum",
927
+ "base": "string",
928
+ "values": [
929
+ {
930
+ "value": "low"
931
+ },
932
+ {
933
+ "value": "high"
934
+ }
935
+ ]
936
+ },
937
+ {
938
+ "name": "MessagePhase",
939
+ "kind": "enum",
940
+ "base": "string",
941
+ "values": [
942
+ {
943
+ "value": "commentary"
944
+ },
945
+ {
946
+ "value": "final_answer"
947
+ }
948
+ ],
949
+ "description": "Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`).\nFor models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend\nphase on all assistant messages — dropping it can degrade performance. Not used for user messages.\n"
950
+ },
951
+ {
952
+ "name": "EvalItem",
953
+ "kind": "struct",
954
+ "fields": [
955
+ {
956
+ "name": "role",
957
+ "type": {
958
+ "kind": "ref",
959
+ "name": "EasyInputMessageRole"
960
+ },
961
+ "required": true,
962
+ "description": "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n"
963
+ },
964
+ {
965
+ "name": "content",
966
+ "type": {
967
+ "kind": "ref",
968
+ "name": "EvalItemContent"
969
+ },
970
+ "required": true
971
+ },
972
+ {
973
+ "name": "type",
974
+ "type": {
975
+ "kind": "scalar",
976
+ "scalar": "string",
977
+ "const": "message"
978
+ },
979
+ "required": false,
980
+ "description": "The type of the message input. Always `message`.\n"
981
+ }
982
+ ],
983
+ "description": "A message input to the model with a role indicating instruction following\nhierarchy. Instructions given with the `developer` or `system` role take\nprecedence over instructions given with the `user` role. Messages with the\n`assistant` role are presumed to have been generated by the model in previous\ninteractions.\n"
984
+ },
985
+ {
986
+ "name": "EvalItemContent",
987
+ "kind": "union",
988
+ "semantics": "oneOf",
989
+ "variants": [
990
+ {
991
+ "kind": "ref",
992
+ "name": "EvalItemContentItem"
993
+ },
994
+ {
995
+ "kind": "ref",
996
+ "name": "EvalItemContentArray"
997
+ }
998
+ ],
999
+ "description": "Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.\n"
1000
+ },
1001
+ {
1002
+ "name": "EvalItemContentItem",
1003
+ "kind": "union",
1004
+ "semantics": "oneOf",
1005
+ "variants": [
1006
+ {
1007
+ "kind": "ref",
1008
+ "name": "EvalItemContentText"
1009
+ },
1010
+ {
1011
+ "kind": "ref",
1012
+ "name": "InputTextContent"
1013
+ },
1014
+ {
1015
+ "kind": "ref",
1016
+ "name": "EvalItemContentOutputText"
1017
+ },
1018
+ {
1019
+ "kind": "ref",
1020
+ "name": "EvalItemInputImage"
1021
+ },
1022
+ {
1023
+ "kind": "ref",
1024
+ "name": "InputAudio"
1025
+ }
1026
+ ],
1027
+ "description": "A single content item: input text, output text, input image, or input audio.\n"
1028
+ },
1029
+ {
1030
+ "name": "EvalItemContentText",
1031
+ "kind": "alias",
1032
+ "of": {
1033
+ "kind": "scalar",
1034
+ "scalar": "string"
1035
+ }
1036
+ },
1037
+ {
1038
+ "name": "EvalItemContentOutputText",
1039
+ "kind": "struct",
1040
+ "fields": [
1041
+ {
1042
+ "name": "type",
1043
+ "type": {
1044
+ "kind": "scalar",
1045
+ "scalar": "string",
1046
+ "const": "output_text"
1047
+ },
1048
+ "required": true,
1049
+ "description": "The type of the output text. Always `output_text`.\n"
1050
+ },
1051
+ {
1052
+ "name": "text",
1053
+ "type": {
1054
+ "kind": "scalar",
1055
+ "scalar": "string"
1056
+ },
1057
+ "required": true,
1058
+ "description": "The text output from the model.\n"
1059
+ }
1060
+ ],
1061
+ "description": "A text output from the model.\n"
1062
+ },
1063
+ {
1064
+ "name": "EvalItemInputImage",
1065
+ "kind": "struct",
1066
+ "fields": [
1067
+ {
1068
+ "name": "type",
1069
+ "type": {
1070
+ "kind": "scalar",
1071
+ "scalar": "string",
1072
+ "const": "input_image"
1073
+ },
1074
+ "required": true,
1075
+ "description": "The type of the image input. Always `input_image`.\n"
1076
+ },
1077
+ {
1078
+ "name": "image_url",
1079
+ "type": {
1080
+ "kind": "scalar",
1081
+ "scalar": "string",
1082
+ "format": "uri"
1083
+ },
1084
+ "required": true,
1085
+ "description": "The URL of the image input.\n"
1086
+ },
1087
+ {
1088
+ "name": "detail",
1089
+ "type": {
1090
+ "kind": "scalar",
1091
+ "scalar": "string"
1092
+ },
1093
+ "required": false,
1094
+ "description": "The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`.\n"
1095
+ }
1096
+ ],
1097
+ "description": "An image input block used within EvalItem content arrays."
1098
+ },
1099
+ {
1100
+ "name": "InputAudio",
1101
+ "kind": "struct",
1102
+ "fields": [
1103
+ {
1104
+ "name": "type",
1105
+ "type": {
1106
+ "kind": "scalar",
1107
+ "scalar": "string",
1108
+ "const": "input_audio"
1109
+ },
1110
+ "required": true,
1111
+ "description": "The type of the input item. Always `input_audio`.\n"
1112
+ },
1113
+ {
1114
+ "name": "input_audio",
1115
+ "type": {
1116
+ "kind": "ref",
1117
+ "name": "InputAudioInputAudio"
1118
+ },
1119
+ "required": true
1120
+ }
1121
+ ],
1122
+ "description": "An audio input to the model.\n"
1123
+ },
1124
+ {
1125
+ "name": "InputAudioInputAudio",
1126
+ "kind": "struct",
1127
+ "fields": [
1128
+ {
1129
+ "name": "data",
1130
+ "type": {
1131
+ "kind": "scalar",
1132
+ "scalar": "string"
1133
+ },
1134
+ "required": true,
1135
+ "description": "Base64-encoded audio data.\n"
1136
+ },
1137
+ {
1138
+ "name": "format",
1139
+ "type": {
1140
+ "kind": "ref",
1141
+ "name": "InputAudioInputAudioFormat"
1142
+ },
1143
+ "required": true,
1144
+ "description": "The format of the audio data. Currently supported formats are `mp3` and\n`wav`.\n"
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "name": "InputAudioInputAudioFormat",
1150
+ "kind": "enum",
1151
+ "base": "string",
1152
+ "values": [
1153
+ {
1154
+ "value": "mp3"
1155
+ },
1156
+ {
1157
+ "value": "wav"
1158
+ }
1159
+ ],
1160
+ "description": "The format of the audio data. Currently supported formats are `mp3` and\n`wav`.\n"
1161
+ },
1162
+ {
1163
+ "name": "EvalItemContentArray",
1164
+ "kind": "alias",
1165
+ "of": {
1166
+ "kind": "array",
1167
+ "items": {
1168
+ "kind": "ref",
1169
+ "name": "EvalItemContentItem"
1170
+ }
1171
+ }
1172
+ },
1173
+ {
1174
+ "name": "CreateEvalCompletionsRunDataSourceInputMessagesItemReference",
1175
+ "kind": "struct",
1176
+ "fields": [
1177
+ {
1178
+ "name": "type",
1179
+ "type": {
1180
+ "kind": "scalar",
1181
+ "scalar": "string",
1182
+ "const": "item_reference"
1183
+ },
1184
+ "required": true,
1185
+ "description": "The type of input messages. Always `item_reference`."
1186
+ },
1187
+ {
1188
+ "name": "item_reference",
1189
+ "type": {
1190
+ "kind": "scalar",
1191
+ "scalar": "string"
1192
+ },
1193
+ "required": true,
1194
+ "description": "A reference to a variable in the `item` namespace. Ie, \"item.input_trajectory\""
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "name": "CreateEvalCompletionsRunDataSourceSamplingParams",
1200
+ "kind": "struct",
1201
+ "fields": [
1202
+ {
1203
+ "name": "reasoning_effort",
1204
+ "type": {
1205
+ "kind": "ref",
1206
+ "name": "ReasoningEffort"
1207
+ },
1208
+ "required": false
1209
+ },
1210
+ {
1211
+ "name": "temperature",
1212
+ "type": {
1213
+ "kind": "scalar",
1214
+ "scalar": "number"
1215
+ },
1216
+ "required": false,
1217
+ "default": 1,
1218
+ "description": "A higher temperature increases randomness in the outputs."
1219
+ },
1220
+ {
1221
+ "name": "max_completion_tokens",
1222
+ "type": {
1223
+ "kind": "scalar",
1224
+ "scalar": "integer"
1225
+ },
1226
+ "required": false,
1227
+ "description": "The maximum number of tokens in the generated output."
1228
+ },
1229
+ {
1230
+ "name": "top_p",
1231
+ "type": {
1232
+ "kind": "scalar",
1233
+ "scalar": "number"
1234
+ },
1235
+ "required": false,
1236
+ "default": 1,
1237
+ "description": "An alternative to temperature for nucleus sampling; 1.0 includes all tokens."
1238
+ },
1239
+ {
1240
+ "name": "seed",
1241
+ "type": {
1242
+ "kind": "scalar",
1243
+ "scalar": "integer"
1244
+ },
1245
+ "required": false,
1246
+ "default": 42,
1247
+ "description": "A seed value to initialize the randomness, during sampling."
1248
+ },
1249
+ {
1250
+ "name": "response_format",
1251
+ "type": {
1252
+ "kind": "ref",
1253
+ "name": "CreateEvalCompletionsRunDataSourceSamplingParamsResponseFormat"
1254
+ },
1255
+ "required": false,
1256
+ "description": "An object specifying the format that the model must output.\n\nSetting to `{ \"type\": \"json_schema\", \"json_schema\": {...} }` enables\nStructured Outputs which ensures the model will match your supplied JSON\nschema. Learn more in the [Structured Outputs\nguide](/docs/guides/structured-outputs).\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n"
1257
+ },
1258
+ {
1259
+ "name": "tools",
1260
+ "type": {
1261
+ "kind": "array",
1262
+ "items": {
1263
+ "kind": "ref",
1264
+ "name": "ChatCompletionTool"
1265
+ }
1266
+ },
1267
+ "required": false,
1268
+ "description": "A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for. A max of 128 functions are supported.\n"
1269
+ }
1270
+ ]
1271
+ },
1272
+ {
1273
+ "name": "ReasoningEffort",
1274
+ "kind": "enum",
1275
+ "base": "string",
1276
+ "values": [
1277
+ {
1278
+ "value": "none"
1279
+ },
1280
+ {
1281
+ "value": "minimal"
1282
+ },
1283
+ {
1284
+ "value": "low"
1285
+ },
1286
+ {
1287
+ "value": "medium"
1288
+ },
1289
+ {
1290
+ "value": "high"
1291
+ },
1292
+ {
1293
+ "value": "xhigh"
1294
+ }
1295
+ ],
1296
+ "description": "Constrains effort on reasoning for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\nCurrently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing\nreasoning effort can result in faster responses and fewer tokens used\non reasoning in a response.\n\n- `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1.\n- All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`.\n- The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.\n- `xhigh` is supported for all models after `gpt-5.1-codex-max`.\n"
1297
+ },
1298
+ {
1299
+ "name": "CreateEvalCompletionsRunDataSourceSamplingParamsResponseFormat",
1300
+ "kind": "union",
1301
+ "semantics": "oneOf",
1302
+ "variants": [
1303
+ {
1304
+ "kind": "ref",
1305
+ "name": "ResponseFormatText"
1306
+ },
1307
+ {
1308
+ "kind": "ref",
1309
+ "name": "ResponseFormatJsonSchema"
1310
+ },
1311
+ {
1312
+ "kind": "ref",
1313
+ "name": "ResponseFormatJsonObject"
1314
+ }
1315
+ ],
1316
+ "description": "An object specifying the format that the model must output.\n\nSetting to `{ \"type\": \"json_schema\", \"json_schema\": {...} }` enables\nStructured Outputs which ensures the model will match your supplied JSON\nschema. Learn more in the [Structured Outputs\nguide](/docs/guides/structured-outputs).\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n"
1317
+ },
1318
+ {
1319
+ "name": "ResponseFormatText",
1320
+ "kind": "struct",
1321
+ "fields": [
1322
+ {
1323
+ "name": "type",
1324
+ "type": {
1325
+ "kind": "scalar",
1326
+ "scalar": "string",
1327
+ "const": "text"
1328
+ },
1329
+ "required": true,
1330
+ "description": "The type of response format being defined. Always `text`."
1331
+ }
1332
+ ],
1333
+ "description": "Default response format. Used to generate text responses.\n"
1334
+ },
1335
+ {
1336
+ "name": "ResponseFormatJsonSchema",
1337
+ "kind": "struct",
1338
+ "fields": [
1339
+ {
1340
+ "name": "type",
1341
+ "type": {
1342
+ "kind": "scalar",
1343
+ "scalar": "string",
1344
+ "const": "json_schema"
1345
+ },
1346
+ "required": true,
1347
+ "description": "The type of response format being defined. Always `json_schema`."
1348
+ },
1349
+ {
1350
+ "name": "json_schema",
1351
+ "type": {
1352
+ "kind": "ref",
1353
+ "name": "ResponseFormatJsonSchemaJsonSchema"
1354
+ },
1355
+ "required": true,
1356
+ "description": "Structured Outputs configuration options, including a JSON Schema.\n"
1357
+ }
1358
+ ],
1359
+ "description": "JSON Schema response format. Used to generate structured JSON responses.\nLearn more about [Structured Outputs](/docs/guides/structured-outputs).\n"
1360
+ },
1361
+ {
1362
+ "name": "ResponseFormatJsonSchemaJsonSchema",
1363
+ "kind": "struct",
1364
+ "fields": [
1365
+ {
1366
+ "name": "description",
1367
+ "type": {
1368
+ "kind": "scalar",
1369
+ "scalar": "string"
1370
+ },
1371
+ "required": false,
1372
+ "description": "A description of what the response format is for, used by the model to\ndetermine how to respond in the format.\n"
1373
+ },
1374
+ {
1375
+ "name": "name",
1376
+ "type": {
1377
+ "kind": "scalar",
1378
+ "scalar": "string"
1379
+ },
1380
+ "required": true,
1381
+ "description": "The name of the response format. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64.\n"
1382
+ },
1383
+ {
1384
+ "name": "schema",
1385
+ "type": {
1386
+ "kind": "ref",
1387
+ "name": "ResponseFormatJsonSchemaSchema"
1388
+ },
1389
+ "required": false
1390
+ },
1391
+ {
1392
+ "name": "strict",
1393
+ "type": {
1394
+ "kind": "scalar",
1395
+ "scalar": "boolean",
1396
+ "nullable": true
1397
+ },
1398
+ "required": false
1399
+ }
1400
+ ],
1401
+ "description": "Structured Outputs configuration options, including a JSON Schema.\n"
1402
+ },
1403
+ {
1404
+ "name": "ResponseFormatJsonSchemaSchema",
1405
+ "kind": "alias",
1406
+ "of": {
1407
+ "kind": "map",
1408
+ "values": {
1409
+ "kind": "any"
1410
+ }
1411
+ }
1412
+ },
1413
+ {
1414
+ "name": "ResponseFormatJsonObject",
1415
+ "kind": "struct",
1416
+ "fields": [
1417
+ {
1418
+ "name": "type",
1419
+ "type": {
1420
+ "kind": "scalar",
1421
+ "scalar": "string",
1422
+ "const": "json_object"
1423
+ },
1424
+ "required": true,
1425
+ "description": "The type of response format being defined. Always `json_object`."
1426
+ }
1427
+ ],
1428
+ "description": "JSON object response format. An older method of generating JSON responses.\nUsing `json_schema` is recommended for models that support it. Note that the\nmodel will not generate JSON without a system or user message instructing it\nto do so.\n"
1429
+ },
1430
+ {
1431
+ "name": "ChatCompletionTool",
1432
+ "kind": "struct",
1433
+ "fields": [
1434
+ {
1435
+ "name": "type",
1436
+ "type": {
1437
+ "kind": "scalar",
1438
+ "scalar": "string",
1439
+ "const": "function"
1440
+ },
1441
+ "required": true,
1442
+ "description": "The type of the tool. Currently, only `function` is supported."
1443
+ },
1444
+ {
1445
+ "name": "function",
1446
+ "type": {
1447
+ "kind": "ref",
1448
+ "name": "FunctionObject"
1449
+ },
1450
+ "required": true
1451
+ }
1452
+ ],
1453
+ "description": "A function tool that can be used to generate a response.\n"
1454
+ },
1455
+ {
1456
+ "name": "FunctionObject",
1457
+ "kind": "struct",
1458
+ "fields": [
1459
+ {
1460
+ "name": "description",
1461
+ "type": {
1462
+ "kind": "scalar",
1463
+ "scalar": "string"
1464
+ },
1465
+ "required": false,
1466
+ "description": "A description of what the function does, used by the model to choose when and how to call the function."
1467
+ },
1468
+ {
1469
+ "name": "name",
1470
+ "type": {
1471
+ "kind": "scalar",
1472
+ "scalar": "string"
1473
+ },
1474
+ "required": true,
1475
+ "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64."
1476
+ },
1477
+ {
1478
+ "name": "parameters",
1479
+ "type": {
1480
+ "kind": "ref",
1481
+ "name": "FunctionParameters"
1482
+ },
1483
+ "required": false
1484
+ },
1485
+ {
1486
+ "name": "strict",
1487
+ "type": {
1488
+ "kind": "scalar",
1489
+ "scalar": "boolean",
1490
+ "nullable": true
1491
+ },
1492
+ "required": false
1493
+ }
1494
+ ]
1495
+ },
1496
+ {
1497
+ "name": "FunctionParameters",
1498
+ "kind": "alias",
1499
+ "of": {
1500
+ "kind": "map",
1501
+ "values": {
1502
+ "kind": "any"
1503
+ }
1504
+ }
1505
+ },
1506
+ {
1507
+ "name": "CreateEvalCompletionsRunDataSourceSource",
1508
+ "kind": "union",
1509
+ "semantics": "oneOf",
1510
+ "variants": [
1511
+ {
1512
+ "kind": "ref",
1513
+ "name": "EvalJsonlFileContentSource"
1514
+ },
1515
+ {
1516
+ "kind": "ref",
1517
+ "name": "EvalJsonlFileIdSource"
1518
+ },
1519
+ {
1520
+ "kind": "ref",
1521
+ "name": "EvalStoredCompletionsSource"
1522
+ }
1523
+ ],
1524
+ "description": "Determines what populates the `item` namespace in this run's data source."
1525
+ },
1526
+ {
1527
+ "name": "EvalStoredCompletionsSource",
1528
+ "kind": "struct",
1529
+ "fields": [
1530
+ {
1531
+ "name": "type",
1532
+ "type": {
1533
+ "kind": "scalar",
1534
+ "scalar": "string",
1535
+ "const": "stored_completions"
1536
+ },
1537
+ "required": true,
1538
+ "default": "stored_completions",
1539
+ "description": "The type of source. Always `stored_completions`."
1540
+ },
1541
+ {
1542
+ "name": "metadata",
1543
+ "type": {
1544
+ "kind": "ref",
1545
+ "name": "Metadata"
1546
+ },
1547
+ "required": false
1548
+ },
1549
+ {
1550
+ "name": "model",
1551
+ "type": {
1552
+ "kind": "scalar",
1553
+ "scalar": "string",
1554
+ "nullable": true
1555
+ },
1556
+ "required": false
1557
+ },
1558
+ {
1559
+ "name": "created_after",
1560
+ "type": {
1561
+ "kind": "scalar",
1562
+ "scalar": "integer",
1563
+ "nullable": true
1564
+ },
1565
+ "required": false
1566
+ },
1567
+ {
1568
+ "name": "created_before",
1569
+ "type": {
1570
+ "kind": "scalar",
1571
+ "scalar": "integer",
1572
+ "nullable": true
1573
+ },
1574
+ "required": false
1575
+ },
1576
+ {
1577
+ "name": "limit",
1578
+ "type": {
1579
+ "kind": "scalar",
1580
+ "scalar": "integer",
1581
+ "nullable": true
1582
+ },
1583
+ "required": false
1584
+ }
1585
+ ],
1586
+ "description": "A StoredCompletionsRunDataSource configuration describing a set of filters\n"
1587
+ },
1588
+ {
1589
+ "name": "Metadata",
1590
+ "kind": "alias",
1591
+ "of": {
1592
+ "kind": "map",
1593
+ "values": {
1594
+ "kind": "scalar",
1595
+ "scalar": "string"
1596
+ },
1597
+ "nullable": true
1598
+ }
1599
+ },
1600
+ {
1601
+ "name": "CreateEvalResponsesRunDataSource",
1602
+ "kind": "struct",
1603
+ "fields": [
1604
+ {
1605
+ "name": "type",
1606
+ "type": {
1607
+ "kind": "scalar",
1608
+ "scalar": "string",
1609
+ "const": "responses"
1610
+ },
1611
+ "required": true,
1612
+ "default": "responses",
1613
+ "description": "The type of run data source. Always `responses`."
1614
+ },
1615
+ {
1616
+ "name": "input_messages",
1617
+ "type": {
1618
+ "kind": "ref",
1619
+ "name": "CreateEvalResponsesRunDataSourceInputMessages"
1620
+ },
1621
+ "required": false,
1622
+ "description": "Used when sampling from a model. Dictates the structure of the messages passed into the model. Can either be a reference to a prebuilt trajectory (ie, `item.input_trajectory`), or a template with variable references to the `item` namespace."
1623
+ },
1624
+ {
1625
+ "name": "sampling_params",
1626
+ "type": {
1627
+ "kind": "ref",
1628
+ "name": "CreateEvalResponsesRunDataSourceSamplingParams"
1629
+ },
1630
+ "required": false
1631
+ },
1632
+ {
1633
+ "name": "model",
1634
+ "type": {
1635
+ "kind": "scalar",
1636
+ "scalar": "string"
1637
+ },
1638
+ "required": false,
1639
+ "description": "The name of the model to use for generating completions (e.g. \"o3-mini\")."
1640
+ },
1641
+ {
1642
+ "name": "source",
1643
+ "type": {
1644
+ "kind": "ref",
1645
+ "name": "CreateEvalResponsesRunDataSourceSource"
1646
+ },
1647
+ "required": true,
1648
+ "description": "Determines what populates the `item` namespace in this run's data source."
1649
+ }
1650
+ ],
1651
+ "description": "A ResponsesRunDataSource object describing a model sampling configuration.\n"
1652
+ },
1653
+ {
1654
+ "name": "CreateEvalResponsesRunDataSourceInputMessages",
1655
+ "kind": "union",
1656
+ "semantics": "oneOf",
1657
+ "variants": [
1658
+ {
1659
+ "kind": "ref",
1660
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplate"
1661
+ },
1662
+ {
1663
+ "kind": "ref",
1664
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesItemReference"
1665
+ }
1666
+ ],
1667
+ "description": "Used when sampling from a model. Dictates the structure of the messages passed into the model. Can either be a reference to a prebuilt trajectory (ie, `item.input_trajectory`), or a template with variable references to the `item` namespace."
1668
+ },
1669
+ {
1670
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplate",
1671
+ "kind": "struct",
1672
+ "fields": [
1673
+ {
1674
+ "name": "type",
1675
+ "type": {
1676
+ "kind": "scalar",
1677
+ "scalar": "string",
1678
+ "const": "template"
1679
+ },
1680
+ "required": true,
1681
+ "description": "The type of input messages. Always `template`."
1682
+ },
1683
+ {
1684
+ "name": "template",
1685
+ "type": {
1686
+ "kind": "array",
1687
+ "items": {
1688
+ "kind": "ref",
1689
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplateTemplateItem"
1690
+ }
1691
+ },
1692
+ "required": true,
1693
+ "description": "A list of chat messages forming the prompt or context. May include variable references to the `item` namespace, ie {{item.name}}."
1694
+ }
1695
+ ]
1696
+ },
1697
+ {
1698
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplateTemplateItem",
1699
+ "kind": "union",
1700
+ "semantics": "oneOf",
1701
+ "variants": [
1702
+ {
1703
+ "kind": "ref",
1704
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplateTemplateItemChatMessage"
1705
+ },
1706
+ {
1707
+ "kind": "ref",
1708
+ "name": "EvalItem"
1709
+ }
1710
+ ]
1711
+ },
1712
+ {
1713
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesTemplateTemplateItemChatMessage",
1714
+ "kind": "struct",
1715
+ "fields": [
1716
+ {
1717
+ "name": "role",
1718
+ "type": {
1719
+ "kind": "scalar",
1720
+ "scalar": "string"
1721
+ },
1722
+ "required": true,
1723
+ "description": "The role of the message (e.g. \"system\", \"assistant\", \"user\")."
1724
+ },
1725
+ {
1726
+ "name": "content",
1727
+ "type": {
1728
+ "kind": "scalar",
1729
+ "scalar": "string"
1730
+ },
1731
+ "required": true,
1732
+ "description": "The content of the message."
1733
+ }
1734
+ ]
1735
+ },
1736
+ {
1737
+ "name": "CreateEvalResponsesRunDataSourceInputMessagesItemReference",
1738
+ "kind": "struct",
1739
+ "fields": [
1740
+ {
1741
+ "name": "type",
1742
+ "type": {
1743
+ "kind": "scalar",
1744
+ "scalar": "string",
1745
+ "const": "item_reference"
1746
+ },
1747
+ "required": true,
1748
+ "description": "The type of input messages. Always `item_reference`."
1749
+ },
1750
+ {
1751
+ "name": "item_reference",
1752
+ "type": {
1753
+ "kind": "scalar",
1754
+ "scalar": "string"
1755
+ },
1756
+ "required": true,
1757
+ "description": "A reference to a variable in the `item` namespace. Ie, \"item.name\""
1758
+ }
1759
+ ]
1760
+ },
1761
+ {
1762
+ "name": "CreateEvalResponsesRunDataSourceSamplingParams",
1763
+ "kind": "struct",
1764
+ "fields": [
1765
+ {
1766
+ "name": "reasoning_effort",
1767
+ "type": {
1768
+ "kind": "ref",
1769
+ "name": "ReasoningEffort"
1770
+ },
1771
+ "required": false
1772
+ },
1773
+ {
1774
+ "name": "temperature",
1775
+ "type": {
1776
+ "kind": "scalar",
1777
+ "scalar": "number"
1778
+ },
1779
+ "required": false,
1780
+ "default": 1,
1781
+ "description": "A higher temperature increases randomness in the outputs."
1782
+ },
1783
+ {
1784
+ "name": "max_completion_tokens",
1785
+ "type": {
1786
+ "kind": "scalar",
1787
+ "scalar": "integer"
1788
+ },
1789
+ "required": false,
1790
+ "description": "The maximum number of tokens in the generated output."
1791
+ },
1792
+ {
1793
+ "name": "top_p",
1794
+ "type": {
1795
+ "kind": "scalar",
1796
+ "scalar": "number"
1797
+ },
1798
+ "required": false,
1799
+ "default": 1,
1800
+ "description": "An alternative to temperature for nucleus sampling; 1.0 includes all tokens."
1801
+ },
1802
+ {
1803
+ "name": "seed",
1804
+ "type": {
1805
+ "kind": "scalar",
1806
+ "scalar": "integer"
1807
+ },
1808
+ "required": false,
1809
+ "default": 42,
1810
+ "description": "A seed value to initialize the randomness, during sampling."
1811
+ },
1812
+ {
1813
+ "name": "tools",
1814
+ "type": {
1815
+ "kind": "array",
1816
+ "items": {
1817
+ "kind": "ref",
1818
+ "name": "Tool"
1819
+ }
1820
+ },
1821
+ "required": false,
1822
+ "description": "An array of tools the model may call while generating a response. You\ncan specify which tool to use by setting the `tool_choice` parameter.\n\nThe two categories of tools you can provide the model are:\n\n- **Built-in tools**: Tools that are provided by OpenAI that extend the\n model's capabilities, like [web search](/docs/guides/tools-web-search)\n or [file search](/docs/guides/tools-file-search). Learn more about\n [built-in tools](/docs/guides/tools).\n- **Function calls (custom tools)**: Functions that are defined by you,\n enabling the model to call your own code. Learn more about\n [function calling](/docs/guides/function-calling).\n"
1823
+ },
1824
+ {
1825
+ "name": "text",
1826
+ "type": {
1827
+ "kind": "ref",
1828
+ "name": "CreateEvalResponsesRunDataSourceSamplingParamsText"
1829
+ },
1830
+ "required": false,
1831
+ "description": "Configuration options for a text response from the model. Can be plain\ntext or structured JSON data. Learn more:\n- [Text inputs and outputs](/docs/guides/text)\n- [Structured Outputs](/docs/guides/structured-outputs)\n"
1832
+ }
1833
+ ]
1834
+ },
1835
+ {
1836
+ "name": "Tool",
1837
+ "kind": "union",
1838
+ "semantics": "oneOf",
1839
+ "variants": [
1840
+ {
1841
+ "kind": "ref",
1842
+ "name": "FunctionTool"
1843
+ },
1844
+ {
1845
+ "kind": "ref",
1846
+ "name": "FileSearchTool"
1847
+ },
1848
+ {
1849
+ "kind": "ref",
1850
+ "name": "ComputerTool"
1851
+ },
1852
+ {
1853
+ "kind": "ref",
1854
+ "name": "ComputerUsePreviewTool"
1855
+ },
1856
+ {
1857
+ "kind": "ref",
1858
+ "name": "WebSearchTool"
1859
+ },
1860
+ {
1861
+ "kind": "ref",
1862
+ "name": "McpTool"
1863
+ },
1864
+ {
1865
+ "kind": "ref",
1866
+ "name": "CodeInterpreterTool"
1867
+ },
1868
+ {
1869
+ "kind": "ref",
1870
+ "name": "ImageGenTool"
1871
+ },
1872
+ {
1873
+ "kind": "ref",
1874
+ "name": "LocalShellToolParam"
1875
+ },
1876
+ {
1877
+ "kind": "ref",
1878
+ "name": "FunctionShellToolParam"
1879
+ },
1880
+ {
1881
+ "kind": "ref",
1882
+ "name": "CustomToolParam"
1883
+ },
1884
+ {
1885
+ "kind": "ref",
1886
+ "name": "NamespaceToolParam"
1887
+ },
1888
+ {
1889
+ "kind": "ref",
1890
+ "name": "ToolSearchToolParam"
1891
+ },
1892
+ {
1893
+ "kind": "ref",
1894
+ "name": "WebSearchPreviewTool"
1895
+ },
1896
+ {
1897
+ "kind": "ref",
1898
+ "name": "ApplyPatchToolParam"
1899
+ }
1900
+ ],
1901
+ "discriminator": {
1902
+ "propertyName": "type",
1903
+ "mapping": {
1904
+ "function": "FunctionTool",
1905
+ "file_search": "FileSearchTool",
1906
+ "computer": "ComputerTool",
1907
+ "computer_use_preview": "ComputerUsePreviewTool",
1908
+ "mcp": "McpTool",
1909
+ "code_interpreter": "CodeInterpreterTool",
1910
+ "image_generation": "ImageGenTool",
1911
+ "local_shell": "LocalShellToolParam",
1912
+ "shell": "FunctionShellToolParam",
1913
+ "custom": "CustomToolParam",
1914
+ "namespace": "NamespaceToolParam",
1915
+ "tool_search": "ToolSearchToolParam",
1916
+ "apply_patch": "ApplyPatchToolParam"
1917
+ }
1918
+ },
1919
+ "description": "A tool that can be used to generate a response.\n"
1920
+ },
1921
+ {
1922
+ "name": "FunctionTool",
1923
+ "kind": "struct",
1924
+ "fields": [
1925
+ {
1926
+ "name": "type",
1927
+ "type": {
1928
+ "kind": "scalar",
1929
+ "scalar": "string",
1930
+ "const": "function"
1931
+ },
1932
+ "required": true,
1933
+ "default": "function",
1934
+ "description": "The type of the function tool. Always `function`."
1935
+ },
1936
+ {
1937
+ "name": "name",
1938
+ "type": {
1939
+ "kind": "scalar",
1940
+ "scalar": "string"
1941
+ },
1942
+ "required": true,
1943
+ "description": "The name of the function to call."
1944
+ },
1945
+ {
1946
+ "name": "description",
1947
+ "type": {
1948
+ "kind": "scalar",
1949
+ "scalar": "string",
1950
+ "nullable": true
1951
+ },
1952
+ "required": false
1953
+ },
1954
+ {
1955
+ "name": "parameters",
1956
+ "type": {
1957
+ "kind": "map",
1958
+ "values": {
1959
+ "kind": "any"
1960
+ },
1961
+ "nullable": true
1962
+ },
1963
+ "required": true
1964
+ },
1965
+ {
1966
+ "name": "strict",
1967
+ "type": {
1968
+ "kind": "scalar",
1969
+ "scalar": "boolean",
1970
+ "nullable": true
1971
+ },
1972
+ "required": true
1973
+ },
1974
+ {
1975
+ "name": "defer_loading",
1976
+ "type": {
1977
+ "kind": "scalar",
1978
+ "scalar": "boolean"
1979
+ },
1980
+ "required": false,
1981
+ "description": "Whether this function is deferred and loaded via tool search."
1982
+ }
1983
+ ],
1984
+ "description": "Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling)."
1985
+ },
1986
+ {
1987
+ "name": "FileSearchTool",
1988
+ "kind": "struct",
1989
+ "fields": [
1990
+ {
1991
+ "name": "type",
1992
+ "type": {
1993
+ "kind": "scalar",
1994
+ "scalar": "string",
1995
+ "const": "file_search"
1996
+ },
1997
+ "required": true,
1998
+ "default": "file_search",
1999
+ "description": "The type of the file search tool. Always `file_search`."
2000
+ },
2001
+ {
2002
+ "name": "vector_store_ids",
2003
+ "type": {
2004
+ "kind": "array",
2005
+ "items": {
2006
+ "kind": "scalar",
2007
+ "scalar": "string"
2008
+ }
2009
+ },
2010
+ "required": true,
2011
+ "description": "The IDs of the vector stores to search."
2012
+ },
2013
+ {
2014
+ "name": "max_num_results",
2015
+ "type": {
2016
+ "kind": "scalar",
2017
+ "scalar": "integer"
2018
+ },
2019
+ "required": false,
2020
+ "description": "The maximum number of results to return. This number should be between 1 and 50 inclusive."
2021
+ },
2022
+ {
2023
+ "name": "ranking_options",
2024
+ "type": {
2025
+ "kind": "ref",
2026
+ "name": "RankingOptions"
2027
+ },
2028
+ "required": false
2029
+ },
2030
+ {
2031
+ "name": "filters",
2032
+ "type": {
2033
+ "kind": "ref",
2034
+ "name": "Filters",
2035
+ "nullable": true
2036
+ },
2037
+ "required": false
2038
+ }
2039
+ ],
2040
+ "description": "A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search)."
2041
+ },
2042
+ {
2043
+ "name": "RankingOptions",
2044
+ "kind": "struct",
2045
+ "fields": [
2046
+ {
2047
+ "name": "ranker",
2048
+ "type": {
2049
+ "kind": "ref",
2050
+ "name": "RankerVersionType"
2051
+ },
2052
+ "required": false
2053
+ },
2054
+ {
2055
+ "name": "score_threshold",
2056
+ "type": {
2057
+ "kind": "scalar",
2058
+ "scalar": "number"
2059
+ },
2060
+ "required": false,
2061
+ "description": "The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results."
2062
+ },
2063
+ {
2064
+ "name": "hybrid_search",
2065
+ "type": {
2066
+ "kind": "ref",
2067
+ "name": "HybridSearchOptions"
2068
+ },
2069
+ "required": false
2070
+ }
2071
+ ]
2072
+ },
2073
+ {
2074
+ "name": "RankerVersionType",
2075
+ "kind": "enum",
2076
+ "base": "string",
2077
+ "values": [
2078
+ {
2079
+ "value": "auto"
2080
+ },
2081
+ {
2082
+ "value": "default-2024-11-15"
2083
+ }
2084
+ ]
2085
+ },
2086
+ {
2087
+ "name": "HybridSearchOptions",
2088
+ "kind": "struct",
2089
+ "fields": [
2090
+ {
2091
+ "name": "embedding_weight",
2092
+ "type": {
2093
+ "kind": "scalar",
2094
+ "scalar": "number"
2095
+ },
2096
+ "required": true,
2097
+ "description": "The weight of the embedding in the reciprocal ranking fusion."
2098
+ },
2099
+ {
2100
+ "name": "text_weight",
2101
+ "type": {
2102
+ "kind": "scalar",
2103
+ "scalar": "number"
2104
+ },
2105
+ "required": true,
2106
+ "description": "The weight of the text in the reciprocal ranking fusion."
2107
+ }
2108
+ ]
2109
+ },
2110
+ {
2111
+ "name": "Filters",
2112
+ "kind": "union",
2113
+ "semantics": "anyOf",
2114
+ "variants": [
2115
+ {
2116
+ "kind": "ref",
2117
+ "name": "ComparisonFilter"
2118
+ },
2119
+ {
2120
+ "kind": "ref",
2121
+ "name": "CompoundFilter"
2122
+ }
2123
+ ]
2124
+ },
2125
+ {
2126
+ "name": "ComparisonFilter",
2127
+ "kind": "struct",
2128
+ "fields": [
2129
+ {
2130
+ "name": "type",
2131
+ "type": {
2132
+ "kind": "ref",
2133
+ "name": "ComparisonFilterType"
2134
+ },
2135
+ "required": true,
2136
+ "default": "eq",
2137
+ "description": "Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n- `eq`: equals\n- `ne`: not equal\n- `gt`: greater than\n- `gte`: greater than or equal\n- `lt`: less than\n- `lte`: less than or equal\n- `in`: in\n- `nin`: not in\n"
2138
+ },
2139
+ {
2140
+ "name": "key",
2141
+ "type": {
2142
+ "kind": "scalar",
2143
+ "scalar": "string"
2144
+ },
2145
+ "required": true,
2146
+ "description": "The key to compare against the value."
2147
+ },
2148
+ {
2149
+ "name": "value",
2150
+ "type": {
2151
+ "kind": "ref",
2152
+ "name": "ComparisonFilterValue"
2153
+ },
2154
+ "required": true,
2155
+ "description": "The value to compare against the attribute key; supports string, number, or boolean types."
2156
+ }
2157
+ ],
2158
+ "description": "A filter used to compare a specified attribute key to a given value using a defined comparison operation.\n"
2159
+ },
2160
+ {
2161
+ "name": "ComparisonFilterType",
2162
+ "kind": "enum",
2163
+ "base": "string",
2164
+ "values": [
2165
+ {
2166
+ "value": "eq"
2167
+ },
2168
+ {
2169
+ "value": "ne"
2170
+ },
2171
+ {
2172
+ "value": "gt"
2173
+ },
2174
+ {
2175
+ "value": "gte"
2176
+ },
2177
+ {
2178
+ "value": "lt"
2179
+ },
2180
+ {
2181
+ "value": "lte"
2182
+ },
2183
+ {
2184
+ "value": "in"
2185
+ },
2186
+ {
2187
+ "value": "nin"
2188
+ }
2189
+ ],
2190
+ "description": "Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n- `eq`: equals\n- `ne`: not equal\n- `gt`: greater than\n- `gte`: greater than or equal\n- `lt`: less than\n- `lte`: less than or equal\n- `in`: in\n- `nin`: not in\n"
2191
+ },
2192
+ {
2193
+ "name": "ComparisonFilterValue",
2194
+ "kind": "union",
2195
+ "semantics": "oneOf",
2196
+ "variants": [
2197
+ {
2198
+ "kind": "scalar",
2199
+ "scalar": "string"
2200
+ },
2201
+ {
2202
+ "kind": "scalar",
2203
+ "scalar": "number"
2204
+ },
2205
+ {
2206
+ "kind": "scalar",
2207
+ "scalar": "boolean"
2208
+ },
2209
+ {
2210
+ "kind": "array",
2211
+ "items": {
2212
+ "kind": "ref",
2213
+ "name": "ComparisonFilterValueArrayItem"
2214
+ }
2215
+ }
2216
+ ],
2217
+ "description": "The value to compare against the attribute key; supports string, number, or boolean types."
2218
+ },
2219
+ {
2220
+ "name": "ComparisonFilterValueArrayItem",
2221
+ "kind": "union",
2222
+ "semantics": "oneOf",
2223
+ "variants": [
2224
+ {
2225
+ "kind": "scalar",
2226
+ "scalar": "string"
2227
+ },
2228
+ {
2229
+ "kind": "scalar",
2230
+ "scalar": "number"
2231
+ }
2232
+ ]
2233
+ },
2234
+ {
2235
+ "name": "CompoundFilter",
2236
+ "kind": "struct",
2237
+ "fields": [
2238
+ {
2239
+ "name": "type",
2240
+ "type": {
2241
+ "kind": "ref",
2242
+ "name": "CompoundFilterType"
2243
+ },
2244
+ "required": true,
2245
+ "description": "Type of operation: `and` or `or`."
2246
+ },
2247
+ {
2248
+ "name": "filters",
2249
+ "type": {
2250
+ "kind": "array",
2251
+ "items": {
2252
+ "kind": "ref",
2253
+ "name": "CompoundFilterFiltersItem"
2254
+ }
2255
+ },
2256
+ "required": true,
2257
+ "description": "Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`."
2258
+ }
2259
+ ],
2260
+ "description": "Combine multiple filters using `and` or `or`."
2261
+ },
2262
+ {
2263
+ "name": "CompoundFilterType",
2264
+ "kind": "enum",
2265
+ "base": "string",
2266
+ "values": [
2267
+ {
2268
+ "value": "and"
2269
+ },
2270
+ {
2271
+ "value": "or"
2272
+ }
2273
+ ],
2274
+ "description": "Type of operation: `and` or `or`."
2275
+ },
2276
+ {
2277
+ "name": "CompoundFilterFiltersItem",
2278
+ "kind": "union",
2279
+ "semantics": "oneOf",
2280
+ "variants": [
2281
+ {
2282
+ "kind": "ref",
2283
+ "name": "ComparisonFilter"
2284
+ },
2285
+ {
2286
+ "kind": "any"
2287
+ }
2288
+ ],
2289
+ "discriminator": {
2290
+ "propertyName": "type"
2291
+ }
2292
+ },
2293
+ {
2294
+ "name": "ComputerTool",
2295
+ "kind": "struct",
2296
+ "fields": [
2297
+ {
2298
+ "name": "type",
2299
+ "type": {
2300
+ "kind": "scalar",
2301
+ "scalar": "string",
2302
+ "const": "computer"
2303
+ },
2304
+ "required": true,
2305
+ "default": "computer",
2306
+ "description": "The type of the computer tool. Always `computer`."
2307
+ }
2308
+ ],
2309
+ "description": "A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use)."
2310
+ },
2311
+ {
2312
+ "name": "ComputerUsePreviewTool",
2313
+ "kind": "struct",
2314
+ "fields": [
2315
+ {
2316
+ "name": "type",
2317
+ "type": {
2318
+ "kind": "scalar",
2319
+ "scalar": "string",
2320
+ "const": "computer_use_preview"
2321
+ },
2322
+ "required": true,
2323
+ "default": "computer_use_preview",
2324
+ "description": "The type of the computer use tool. Always `computer_use_preview`."
2325
+ },
2326
+ {
2327
+ "name": "environment",
2328
+ "type": {
2329
+ "kind": "ref",
2330
+ "name": "ComputerEnvironment"
2331
+ },
2332
+ "required": true
2333
+ },
2334
+ {
2335
+ "name": "display_width",
2336
+ "type": {
2337
+ "kind": "scalar",
2338
+ "scalar": "integer"
2339
+ },
2340
+ "required": true,
2341
+ "description": "The width of the computer display."
2342
+ },
2343
+ {
2344
+ "name": "display_height",
2345
+ "type": {
2346
+ "kind": "scalar",
2347
+ "scalar": "integer"
2348
+ },
2349
+ "required": true,
2350
+ "description": "The height of the computer display."
2351
+ }
2352
+ ],
2353
+ "description": "A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use)."
2354
+ },
2355
+ {
2356
+ "name": "ComputerEnvironment",
2357
+ "kind": "enum",
2358
+ "base": "string",
2359
+ "values": [
2360
+ {
2361
+ "value": "windows"
2362
+ },
2363
+ {
2364
+ "value": "mac"
2365
+ },
2366
+ {
2367
+ "value": "linux"
2368
+ },
2369
+ {
2370
+ "value": "ubuntu"
2371
+ },
2372
+ {
2373
+ "value": "browser"
2374
+ }
2375
+ ]
2376
+ },
2377
+ {
2378
+ "name": "WebSearchTool",
2379
+ "kind": "struct",
2380
+ "fields": [
2381
+ {
2382
+ "name": "type",
2383
+ "type": {
2384
+ "kind": "ref",
2385
+ "name": "WebSearchToolType"
2386
+ },
2387
+ "required": true,
2388
+ "default": "web_search",
2389
+ "description": "The type of the web search tool. One of `web_search` or `web_search_2025_08_26`."
2390
+ },
2391
+ {
2392
+ "name": "filters",
2393
+ "type": {
2394
+ "kind": "ref",
2395
+ "name": "WebSearchToolFilters",
2396
+ "nullable": true
2397
+ },
2398
+ "required": false
2399
+ },
2400
+ {
2401
+ "name": "user_location",
2402
+ "type": {
2403
+ "kind": "ref",
2404
+ "name": "WebSearchApproximateLocation"
2405
+ },
2406
+ "required": false
2407
+ },
2408
+ {
2409
+ "name": "search_context_size",
2410
+ "type": {
2411
+ "kind": "ref",
2412
+ "name": "WebSearchToolSearchContextSize"
2413
+ },
2414
+ "required": false,
2415
+ "default": "medium",
2416
+ "description": "High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default."
2417
+ }
2418
+ ],
2419
+ "description": "Search the Internet for sources related to the prompt. Learn more about the\n[web search tool](/docs/guides/tools-web-search).\n"
2420
+ },
2421
+ {
2422
+ "name": "WebSearchToolType",
2423
+ "kind": "enum",
2424
+ "base": "string",
2425
+ "values": [
2426
+ {
2427
+ "value": "web_search"
2428
+ },
2429
+ {
2430
+ "value": "web_search_2025_08_26"
2431
+ }
2432
+ ],
2433
+ "description": "The type of the web search tool. One of `web_search` or `web_search_2025_08_26`."
2434
+ },
2435
+ {
2436
+ "name": "WebSearchToolFilters",
2437
+ "kind": "struct",
2438
+ "fields": [
2439
+ {
2440
+ "name": "allowed_domains",
2441
+ "type": {
2442
+ "kind": "array",
2443
+ "items": {
2444
+ "kind": "scalar",
2445
+ "scalar": "string"
2446
+ },
2447
+ "nullable": true
2448
+ },
2449
+ "required": false
2450
+ }
2451
+ ],
2452
+ "description": "Filters for the search.\n"
2453
+ },
2454
+ {
2455
+ "name": "WebSearchApproximateLocation",
2456
+ "kind": "struct",
2457
+ "fields": [
2458
+ {
2459
+ "name": "type",
2460
+ "type": {
2461
+ "kind": "scalar",
2462
+ "scalar": "string",
2463
+ "const": "approximate"
2464
+ },
2465
+ "required": false,
2466
+ "default": "approximate",
2467
+ "description": "The type of location approximation. Always `approximate`."
2468
+ },
2469
+ {
2470
+ "name": "country",
2471
+ "type": {
2472
+ "kind": "scalar",
2473
+ "scalar": "string",
2474
+ "nullable": true
2475
+ },
2476
+ "required": false
2477
+ },
2478
+ {
2479
+ "name": "region",
2480
+ "type": {
2481
+ "kind": "scalar",
2482
+ "scalar": "string",
2483
+ "nullable": true
2484
+ },
2485
+ "required": false
2486
+ },
2487
+ {
2488
+ "name": "city",
2489
+ "type": {
2490
+ "kind": "scalar",
2491
+ "scalar": "string",
2492
+ "nullable": true
2493
+ },
2494
+ "required": false
2495
+ },
2496
+ {
2497
+ "name": "timezone",
2498
+ "type": {
2499
+ "kind": "scalar",
2500
+ "scalar": "string",
2501
+ "nullable": true
2502
+ },
2503
+ "required": false
2504
+ }
2505
+ ],
2506
+ "description": "The approximate location of the user.\n"
2507
+ },
2508
+ {
2509
+ "name": "WebSearchToolSearchContextSize",
2510
+ "kind": "enum",
2511
+ "base": "string",
2512
+ "values": [
2513
+ {
2514
+ "value": "low"
2515
+ },
2516
+ {
2517
+ "value": "medium"
2518
+ },
2519
+ {
2520
+ "value": "high"
2521
+ }
2522
+ ],
2523
+ "description": "High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default."
2524
+ },
2525
+ {
2526
+ "name": "McpTool",
2527
+ "kind": "struct",
2528
+ "fields": [
2529
+ {
2530
+ "name": "type",
2531
+ "type": {
2532
+ "kind": "scalar",
2533
+ "scalar": "string",
2534
+ "const": "mcp"
2535
+ },
2536
+ "required": true,
2537
+ "description": "The type of the MCP tool. Always `mcp`."
2538
+ },
2539
+ {
2540
+ "name": "server_label",
2541
+ "type": {
2542
+ "kind": "scalar",
2543
+ "scalar": "string"
2544
+ },
2545
+ "required": true,
2546
+ "description": "A label for this MCP server, used to identify it in tool calls.\n"
2547
+ },
2548
+ {
2549
+ "name": "server_url",
2550
+ "type": {
2551
+ "kind": "scalar",
2552
+ "scalar": "string",
2553
+ "format": "uri"
2554
+ },
2555
+ "required": false,
2556
+ "description": "The URL for the MCP server. One of `server_url` or `connector_id` must be\nprovided.\n"
2557
+ },
2558
+ {
2559
+ "name": "connector_id",
2560
+ "type": {
2561
+ "kind": "ref",
2562
+ "name": "McpToolConnectorId"
2563
+ },
2564
+ "required": false,
2565
+ "description": "Identifier for service connectors, like those available in ChatGPT. One of\n`server_url` or `connector_id` must be provided. Learn more about service\nconnectors [here](/docs/guides/tools-remote-mcp#connectors).\n\nCurrently supported `connector_id` values are:\n\n- Dropbox: `connector_dropbox`\n- Gmail: `connector_gmail`\n- Google Calendar: `connector_googlecalendar`\n- Google Drive: `connector_googledrive`\n- Microsoft Teams: `connector_microsoftteams`\n- Outlook Calendar: `connector_outlookcalendar`\n- Outlook Email: `connector_outlookemail`\n- SharePoint: `connector_sharepoint`\n"
2566
+ },
2567
+ {
2568
+ "name": "authorization",
2569
+ "type": {
2570
+ "kind": "scalar",
2571
+ "scalar": "string"
2572
+ },
2573
+ "required": false,
2574
+ "description": "An OAuth access token that can be used with a remote MCP server, either\nwith a custom MCP server URL or a service connector. Your application\nmust handle the OAuth authorization flow and provide the token here.\n"
2575
+ },
2576
+ {
2577
+ "name": "server_description",
2578
+ "type": {
2579
+ "kind": "scalar",
2580
+ "scalar": "string"
2581
+ },
2582
+ "required": false,
2583
+ "description": "Optional description of the MCP server, used to provide more context.\n"
2584
+ },
2585
+ {
2586
+ "name": "headers",
2587
+ "type": {
2588
+ "kind": "map",
2589
+ "values": {
2590
+ "kind": "scalar",
2591
+ "scalar": "string"
2592
+ },
2593
+ "nullable": true
2594
+ },
2595
+ "required": false
2596
+ },
2597
+ {
2598
+ "name": "allowed_tools",
2599
+ "type": {
2600
+ "kind": "ref",
2601
+ "name": "McpToolAllowedTools",
2602
+ "nullable": true
2603
+ },
2604
+ "required": false
2605
+ },
2606
+ {
2607
+ "name": "require_approval",
2608
+ "type": {
2609
+ "kind": "ref",
2610
+ "name": "McpToolRequireApproval",
2611
+ "nullable": true
2612
+ },
2613
+ "required": false
2614
+ },
2615
+ {
2616
+ "name": "defer_loading",
2617
+ "type": {
2618
+ "kind": "scalar",
2619
+ "scalar": "boolean"
2620
+ },
2621
+ "required": false,
2622
+ "description": "Whether this MCP tool is deferred and discovered via tool search.\n"
2623
+ }
2624
+ ],
2625
+ "description": "Give the model access to additional tools via remote Model Context Protocol\n(MCP) servers. [Learn more about MCP](/docs/guides/tools-remote-mcp).\n"
2626
+ },
2627
+ {
2628
+ "name": "McpToolConnectorId",
2629
+ "kind": "enum",
2630
+ "base": "string",
2631
+ "values": [
2632
+ {
2633
+ "value": "connector_dropbox"
2634
+ },
2635
+ {
2636
+ "value": "connector_gmail"
2637
+ },
2638
+ {
2639
+ "value": "connector_googlecalendar"
2640
+ },
2641
+ {
2642
+ "value": "connector_googledrive"
2643
+ },
2644
+ {
2645
+ "value": "connector_microsoftteams"
2646
+ },
2647
+ {
2648
+ "value": "connector_outlookcalendar"
2649
+ },
2650
+ {
2651
+ "value": "connector_outlookemail"
2652
+ },
2653
+ {
2654
+ "value": "connector_sharepoint"
2655
+ }
2656
+ ],
2657
+ "description": "Identifier for service connectors, like those available in ChatGPT. One of\n`server_url` or `connector_id` must be provided. Learn more about service\nconnectors [here](/docs/guides/tools-remote-mcp#connectors).\n\nCurrently supported `connector_id` values are:\n\n- Dropbox: `connector_dropbox`\n- Gmail: `connector_gmail`\n- Google Calendar: `connector_googlecalendar`\n- Google Drive: `connector_googledrive`\n- Microsoft Teams: `connector_microsoftteams`\n- Outlook Calendar: `connector_outlookcalendar`\n- Outlook Email: `connector_outlookemail`\n- SharePoint: `connector_sharepoint`\n"
2658
+ },
2659
+ {
2660
+ "name": "McpToolAllowedTools",
2661
+ "kind": "union",
2662
+ "semantics": "oneOf",
2663
+ "variants": [
2664
+ {
2665
+ "kind": "array",
2666
+ "items": {
2667
+ "kind": "scalar",
2668
+ "scalar": "string"
2669
+ }
2670
+ },
2671
+ {
2672
+ "kind": "ref",
2673
+ "name": "McpToolFilter"
2674
+ }
2675
+ ],
2676
+ "description": "List of allowed tool names or a filter object.\n"
2677
+ },
2678
+ {
2679
+ "name": "McpToolFilter",
2680
+ "kind": "struct",
2681
+ "fields": [
2682
+ {
2683
+ "name": "tool_names",
2684
+ "type": {
2685
+ "kind": "array",
2686
+ "items": {
2687
+ "kind": "scalar",
2688
+ "scalar": "string"
2689
+ }
2690
+ },
2691
+ "required": false,
2692
+ "description": "List of allowed tool names."
2693
+ },
2694
+ {
2695
+ "name": "read_only",
2696
+ "type": {
2697
+ "kind": "scalar",
2698
+ "scalar": "boolean"
2699
+ },
2700
+ "required": false,
2701
+ "description": "Indicates whether or not a tool modifies data or is read-only. If an\nMCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),\nit will match this filter.\n"
2702
+ }
2703
+ ],
2704
+ "description": "A filter object to specify which tools are allowed.\n"
2705
+ },
2706
+ {
2707
+ "name": "McpToolRequireApproval",
2708
+ "kind": "union",
2709
+ "semantics": "oneOf",
2710
+ "variants": [
2711
+ {
2712
+ "kind": "ref",
2713
+ "name": "McpToolRequireApprovalMcpToolApprovalFilter"
2714
+ },
2715
+ {
2716
+ "kind": "ref",
2717
+ "name": "McpToolRequireApprovalMcpToolApprovalSetting"
2718
+ }
2719
+ ],
2720
+ "description": "Specify which of the MCP server's tools require approval."
2721
+ },
2722
+ {
2723
+ "name": "McpToolRequireApprovalMcpToolApprovalFilter",
2724
+ "kind": "struct",
2725
+ "fields": [
2726
+ {
2727
+ "name": "always",
2728
+ "type": {
2729
+ "kind": "ref",
2730
+ "name": "McpToolFilter"
2731
+ },
2732
+ "required": false
2733
+ },
2734
+ {
2735
+ "name": "never",
2736
+ "type": {
2737
+ "kind": "ref",
2738
+ "name": "McpToolFilter"
2739
+ },
2740
+ "required": false
2741
+ }
2742
+ ],
2743
+ "description": "Specify which of the MCP server's tools require approval. Can be\n`always`, `never`, or a filter object associated with tools\nthat require approval.\n"
2744
+ },
2745
+ {
2746
+ "name": "McpToolRequireApprovalMcpToolApprovalSetting",
2747
+ "kind": "enum",
2748
+ "base": "string",
2749
+ "values": [
2750
+ {
2751
+ "value": "always"
2752
+ },
2753
+ {
2754
+ "value": "never"
2755
+ }
2756
+ ],
2757
+ "description": "Specify a single approval policy for all tools. One of `always` or\n`never`. When set to `always`, all tools will require approval. When\nset to `never`, all tools will not require approval.\n"
2758
+ },
2759
+ {
2760
+ "name": "CodeInterpreterTool",
2761
+ "kind": "struct",
2762
+ "fields": [
2763
+ {
2764
+ "name": "type",
2765
+ "type": {
2766
+ "kind": "scalar",
2767
+ "scalar": "string",
2768
+ "const": "code_interpreter"
2769
+ },
2770
+ "required": true,
2771
+ "description": "The type of the code interpreter tool. Always `code_interpreter`.\n"
2772
+ },
2773
+ {
2774
+ "name": "container",
2775
+ "type": {
2776
+ "kind": "ref",
2777
+ "name": "CodeInterpreterToolContainer"
2778
+ },
2779
+ "required": true,
2780
+ "description": "The code interpreter container. Can be a container ID or an object that\nspecifies uploaded file IDs to make available to your code, along with an\noptional `memory_limit` setting.\n"
2781
+ }
2782
+ ],
2783
+ "description": "A tool that runs Python code to help generate a response to a prompt.\n"
2784
+ },
2785
+ {
2786
+ "name": "CodeInterpreterToolContainer",
2787
+ "kind": "union",
2788
+ "semantics": "oneOf",
2789
+ "variants": [
2790
+ {
2791
+ "kind": "scalar",
2792
+ "scalar": "string"
2793
+ },
2794
+ {
2795
+ "kind": "ref",
2796
+ "name": "AutoCodeInterpreterToolParam"
2797
+ }
2798
+ ],
2799
+ "description": "The code interpreter container. Can be a container ID or an object that\nspecifies uploaded file IDs to make available to your code, along with an\noptional `memory_limit` setting.\n"
2800
+ },
2801
+ {
2802
+ "name": "AutoCodeInterpreterToolParam",
2803
+ "kind": "struct",
2804
+ "fields": [
2805
+ {
2806
+ "name": "type",
2807
+ "type": {
2808
+ "kind": "scalar",
2809
+ "scalar": "string",
2810
+ "const": "auto"
2811
+ },
2812
+ "required": true,
2813
+ "default": "auto",
2814
+ "description": "Always `auto`."
2815
+ },
2816
+ {
2817
+ "name": "file_ids",
2818
+ "type": {
2819
+ "kind": "array",
2820
+ "items": {
2821
+ "kind": "scalar",
2822
+ "scalar": "string"
2823
+ }
2824
+ },
2825
+ "required": false,
2826
+ "description": "An optional list of uploaded files to make available to your code."
2827
+ },
2828
+ {
2829
+ "name": "memory_limit",
2830
+ "type": {
2831
+ "kind": "ref",
2832
+ "name": "ContainerMemoryLimit",
2833
+ "nullable": true
2834
+ },
2835
+ "required": false
2836
+ },
2837
+ {
2838
+ "name": "network_policy",
2839
+ "type": {
2840
+ "kind": "ref",
2841
+ "name": "AutoCodeInterpreterToolParamNetworkPolicy"
2842
+ },
2843
+ "required": false,
2844
+ "description": "Network access policy for the container."
2845
+ }
2846
+ ],
2847
+ "description": "Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on."
2848
+ },
2849
+ {
2850
+ "name": "ContainerMemoryLimit",
2851
+ "kind": "enum",
2852
+ "base": "string",
2853
+ "values": [
2854
+ {
2855
+ "value": "1g"
2856
+ },
2857
+ {
2858
+ "value": "4g"
2859
+ },
2860
+ {
2861
+ "value": "16g"
2862
+ },
2863
+ {
2864
+ "value": "64g"
2865
+ }
2866
+ ]
2867
+ },
2868
+ {
2869
+ "name": "AutoCodeInterpreterToolParamNetworkPolicy",
2870
+ "kind": "union",
2871
+ "semantics": "oneOf",
2872
+ "variants": [
2873
+ {
2874
+ "kind": "ref",
2875
+ "name": "ContainerNetworkPolicyDisabledParam"
2876
+ },
2877
+ {
2878
+ "kind": "ref",
2879
+ "name": "ContainerNetworkPolicyAllowlistParam"
2880
+ }
2881
+ ],
2882
+ "discriminator": {
2883
+ "propertyName": "type",
2884
+ "mapping": {
2885
+ "disabled": "ContainerNetworkPolicyDisabledParam",
2886
+ "allowlist": "ContainerNetworkPolicyAllowlistParam"
2887
+ }
2888
+ },
2889
+ "description": "Network access policy for the container."
2890
+ },
2891
+ {
2892
+ "name": "ContainerNetworkPolicyDisabledParam",
2893
+ "kind": "struct",
2894
+ "fields": [
2895
+ {
2896
+ "name": "type",
2897
+ "type": {
2898
+ "kind": "scalar",
2899
+ "scalar": "string",
2900
+ "const": "disabled"
2901
+ },
2902
+ "required": true,
2903
+ "default": "disabled",
2904
+ "description": "Disable outbound network access. Always `disabled`."
2905
+ }
2906
+ ]
2907
+ },
2908
+ {
2909
+ "name": "ContainerNetworkPolicyAllowlistParam",
2910
+ "kind": "struct",
2911
+ "fields": [
2912
+ {
2913
+ "name": "type",
2914
+ "type": {
2915
+ "kind": "scalar",
2916
+ "scalar": "string",
2917
+ "const": "allowlist"
2918
+ },
2919
+ "required": true,
2920
+ "default": "allowlist",
2921
+ "description": "Allow outbound network access only to specified domains. Always `allowlist`."
2922
+ },
2923
+ {
2924
+ "name": "allowed_domains",
2925
+ "type": {
2926
+ "kind": "array",
2927
+ "items": {
2928
+ "kind": "scalar",
2929
+ "scalar": "string"
2930
+ }
2931
+ },
2932
+ "required": true,
2933
+ "description": "A list of allowed domains when type is `allowlist`."
2934
+ },
2935
+ {
2936
+ "name": "domain_secrets",
2937
+ "type": {
2938
+ "kind": "array",
2939
+ "items": {
2940
+ "kind": "ref",
2941
+ "name": "ContainerNetworkPolicyDomainSecretParam"
2942
+ }
2943
+ },
2944
+ "required": false,
2945
+ "description": "Optional domain-scoped secrets for allowlisted domains."
2946
+ }
2947
+ ]
2948
+ },
2949
+ {
2950
+ "name": "ContainerNetworkPolicyDomainSecretParam",
2951
+ "kind": "struct",
2952
+ "fields": [
2953
+ {
2954
+ "name": "domain",
2955
+ "type": {
2956
+ "kind": "scalar",
2957
+ "scalar": "string"
2958
+ },
2959
+ "required": true,
2960
+ "description": "The domain associated with the secret."
2961
+ },
2962
+ {
2963
+ "name": "name",
2964
+ "type": {
2965
+ "kind": "scalar",
2966
+ "scalar": "string"
2967
+ },
2968
+ "required": true,
2969
+ "description": "The name of the secret to inject for the domain."
2970
+ },
2971
+ {
2972
+ "name": "value",
2973
+ "type": {
2974
+ "kind": "scalar",
2975
+ "scalar": "string"
2976
+ },
2977
+ "required": true,
2978
+ "description": "The secret value to inject for the domain."
2979
+ }
2980
+ ]
2981
+ },
2982
+ {
2983
+ "name": "ImageGenTool",
2984
+ "kind": "struct",
2985
+ "fields": [
2986
+ {
2987
+ "name": "type",
2988
+ "type": {
2989
+ "kind": "scalar",
2990
+ "scalar": "string",
2991
+ "const": "image_generation"
2992
+ },
2993
+ "required": true,
2994
+ "description": "The type of the image generation tool. Always `image_generation`.\n"
2995
+ },
2996
+ {
2997
+ "name": "model",
2998
+ "type": {
2999
+ "kind": "ref",
3000
+ "name": "ImageGenToolModel"
3001
+ },
3002
+ "required": false
3003
+ },
3004
+ {
3005
+ "name": "quality",
3006
+ "type": {
3007
+ "kind": "ref",
3008
+ "name": "ImageGenToolQuality"
3009
+ },
3010
+ "required": false,
3011
+ "default": "auto",
3012
+ "description": "The quality of the generated image. One of `low`, `medium`, `high`,\nor `auto`. Default: `auto`.\n"
3013
+ },
3014
+ {
3015
+ "name": "size",
3016
+ "type": {
3017
+ "kind": "ref",
3018
+ "name": "ImageGenToolSize"
3019
+ },
3020
+ "required": false,
3021
+ "default": "auto",
3022
+ "description": "The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width and height must both be divisible by 16 and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above `2560x1440` are experimental, and the maximum supported resolution is `3840x2160`. The requested size must also satisfy the model's current pixel and edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models; `auto` is supported for models that allow automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or `1024x1792`."
3023
+ },
3024
+ {
3025
+ "name": "output_format",
3026
+ "type": {
3027
+ "kind": "ref",
3028
+ "name": "ImageGenToolOutputFormat"
3029
+ },
3030
+ "required": false,
3031
+ "default": "png",
3032
+ "description": "The output format of the generated image. One of `png`, `webp`, or\n`jpeg`. Default: `png`.\n"
3033
+ },
3034
+ {
3035
+ "name": "output_compression",
3036
+ "type": {
3037
+ "kind": "scalar",
3038
+ "scalar": "integer"
3039
+ },
3040
+ "required": false,
3041
+ "default": 100,
3042
+ "description": "Compression level for the output image. Default: 100.\n"
3043
+ },
3044
+ {
3045
+ "name": "moderation",
3046
+ "type": {
3047
+ "kind": "ref",
3048
+ "name": "ImageGenToolModeration"
3049
+ },
3050
+ "required": false,
3051
+ "default": "auto",
3052
+ "description": "Moderation level for the generated image. Default: `auto`.\n"
3053
+ },
3054
+ {
3055
+ "name": "background",
3056
+ "type": {
3057
+ "kind": "ref",
3058
+ "name": "ImageGenToolBackground"
3059
+ },
3060
+ "required": false,
3061
+ "default": "auto",
3062
+ "description": "Background type for the generated image. One of `transparent`,\n`opaque`, or `auto`. Default: `auto`.\n"
3063
+ },
3064
+ {
3065
+ "name": "input_fidelity",
3066
+ "type": {
3067
+ "kind": "ref",
3068
+ "name": "InputFidelity",
3069
+ "nullable": true
3070
+ },
3071
+ "required": false
3072
+ },
3073
+ {
3074
+ "name": "input_image_mask",
3075
+ "type": {
3076
+ "kind": "ref",
3077
+ "name": "ImageGenToolInputImageMask"
3078
+ },
3079
+ "required": false,
3080
+ "description": "Optional mask for inpainting. Contains `image_url`\n(string, optional) and `file_id` (string, optional).\n"
3081
+ },
3082
+ {
3083
+ "name": "partial_images",
3084
+ "type": {
3085
+ "kind": "scalar",
3086
+ "scalar": "integer"
3087
+ },
3088
+ "required": false,
3089
+ "default": 0,
3090
+ "description": "Number of partial images to generate in streaming mode, from 0 (default value) to 3.\n"
3091
+ },
3092
+ {
3093
+ "name": "action",
3094
+ "type": {
3095
+ "kind": "ref",
3096
+ "name": "ImageGenActionEnum"
3097
+ },
3098
+ "required": false
3099
+ }
3100
+ ],
3101
+ "description": "A tool that generates images using the GPT image models.\n"
3102
+ },
3103
+ {
3104
+ "name": "ImageGenToolModel",
3105
+ "kind": "union",
3106
+ "semantics": "anyOf",
3107
+ "variants": [
3108
+ {
3109
+ "kind": "scalar",
3110
+ "scalar": "string"
3111
+ },
3112
+ {
3113
+ "kind": "ref",
3114
+ "name": "ImageGenToolModelString"
3115
+ }
3116
+ ]
3117
+ },
3118
+ {
3119
+ "name": "ImageGenToolModelString",
3120
+ "kind": "enum",
3121
+ "base": "string",
3122
+ "values": [
3123
+ {
3124
+ "value": "gpt-image-1"
3125
+ },
3126
+ {
3127
+ "value": "gpt-image-1-mini"
3128
+ },
3129
+ {
3130
+ "value": "gpt-image-1.5"
3131
+ }
3132
+ ],
3133
+ "description": "The image generation model to use. Default: `gpt-image-1`.\n"
3134
+ },
3135
+ {
3136
+ "name": "ImageGenToolQuality",
3137
+ "kind": "enum",
3138
+ "base": "string",
3139
+ "values": [
3140
+ {
3141
+ "value": "low"
3142
+ },
3143
+ {
3144
+ "value": "medium"
3145
+ },
3146
+ {
3147
+ "value": "high"
3148
+ },
3149
+ {
3150
+ "value": "auto"
3151
+ }
3152
+ ],
3153
+ "description": "The quality of the generated image. One of `low`, `medium`, `high`,\nor `auto`. Default: `auto`.\n"
3154
+ },
3155
+ {
3156
+ "name": "ImageGenToolSize",
3157
+ "kind": "union",
3158
+ "semantics": "anyOf",
3159
+ "variants": [
3160
+ {
3161
+ "kind": "scalar",
3162
+ "scalar": "string"
3163
+ },
3164
+ {
3165
+ "kind": "ref",
3166
+ "name": "ImageGenToolSizeString"
3167
+ }
3168
+ ],
3169
+ "description": "The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width and height must both be divisible by 16 and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above `2560x1440` are experimental, and the maximum supported resolution is `3840x2160`. The requested size must also satisfy the model's current pixel and edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models; `auto` is supported for models that allow automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or `1024x1792`."
3170
+ },
3171
+ {
3172
+ "name": "ImageGenToolSizeString",
3173
+ "kind": "enum",
3174
+ "base": "string",
3175
+ "values": [
3176
+ {
3177
+ "value": "1024x1024"
3178
+ },
3179
+ {
3180
+ "value": "1024x1536"
3181
+ },
3182
+ {
3183
+ "value": "1536x1024"
3184
+ },
3185
+ {
3186
+ "value": "auto"
3187
+ }
3188
+ ]
3189
+ },
3190
+ {
3191
+ "name": "ImageGenToolOutputFormat",
3192
+ "kind": "enum",
3193
+ "base": "string",
3194
+ "values": [
3195
+ {
3196
+ "value": "png"
3197
+ },
3198
+ {
3199
+ "value": "webp"
3200
+ },
3201
+ {
3202
+ "value": "jpeg"
3203
+ }
3204
+ ],
3205
+ "description": "The output format of the generated image. One of `png`, `webp`, or\n`jpeg`. Default: `png`.\n"
3206
+ },
3207
+ {
3208
+ "name": "ImageGenToolModeration",
3209
+ "kind": "enum",
3210
+ "base": "string",
3211
+ "values": [
3212
+ {
3213
+ "value": "auto"
3214
+ },
3215
+ {
3216
+ "value": "low"
3217
+ }
3218
+ ],
3219
+ "description": "Moderation level for the generated image. Default: `auto`.\n"
3220
+ },
3221
+ {
3222
+ "name": "ImageGenToolBackground",
3223
+ "kind": "enum",
3224
+ "base": "string",
3225
+ "values": [
3226
+ {
3227
+ "value": "transparent"
3228
+ },
3229
+ {
3230
+ "value": "opaque"
3231
+ },
3232
+ {
3233
+ "value": "auto"
3234
+ }
3235
+ ],
3236
+ "description": "Background type for the generated image. One of `transparent`,\n`opaque`, or `auto`. Default: `auto`.\n"
3237
+ },
3238
+ {
3239
+ "name": "InputFidelity",
3240
+ "kind": "enum",
3241
+ "base": "string",
3242
+ "values": [
3243
+ {
3244
+ "value": "high"
3245
+ },
3246
+ {
3247
+ "value": "low"
3248
+ }
3249
+ ],
3250
+ "description": "Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1` and `gpt-image-1.5` and later models, unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`."
3251
+ },
3252
+ {
3253
+ "name": "ImageGenToolInputImageMask",
3254
+ "kind": "struct",
3255
+ "fields": [
3256
+ {
3257
+ "name": "image_url",
3258
+ "type": {
3259
+ "kind": "scalar",
3260
+ "scalar": "string"
3261
+ },
3262
+ "required": false,
3263
+ "description": "Base64-encoded mask image.\n"
3264
+ },
3265
+ {
3266
+ "name": "file_id",
3267
+ "type": {
3268
+ "kind": "scalar",
3269
+ "scalar": "string"
3270
+ },
3271
+ "required": false,
3272
+ "description": "File ID for the mask image.\n"
3273
+ }
3274
+ ],
3275
+ "description": "Optional mask for inpainting. Contains `image_url`\n(string, optional) and `file_id` (string, optional).\n"
3276
+ },
3277
+ {
3278
+ "name": "ImageGenActionEnum",
3279
+ "kind": "enum",
3280
+ "base": "string",
3281
+ "values": [
3282
+ {
3283
+ "value": "generate"
3284
+ },
3285
+ {
3286
+ "value": "edit"
3287
+ },
3288
+ {
3289
+ "value": "auto"
3290
+ }
3291
+ ]
3292
+ },
3293
+ {
3294
+ "name": "LocalShellToolParam",
3295
+ "kind": "struct",
3296
+ "fields": [
3297
+ {
3298
+ "name": "type",
3299
+ "type": {
3300
+ "kind": "scalar",
3301
+ "scalar": "string",
3302
+ "const": "local_shell"
3303
+ },
3304
+ "required": true,
3305
+ "default": "local_shell",
3306
+ "description": "The type of the local shell tool. Always `local_shell`."
3307
+ }
3308
+ ],
3309
+ "description": "A tool that allows the model to execute shell commands in a local environment."
3310
+ },
3311
+ {
3312
+ "name": "FunctionShellToolParam",
3313
+ "kind": "struct",
3314
+ "fields": [
3315
+ {
3316
+ "name": "type",
3317
+ "type": {
3318
+ "kind": "scalar",
3319
+ "scalar": "string",
3320
+ "const": "shell"
3321
+ },
3322
+ "required": true,
3323
+ "default": "shell",
3324
+ "description": "The type of the shell tool. Always `shell`."
3325
+ },
3326
+ {
3327
+ "name": "environment",
3328
+ "type": {
3329
+ "kind": "ref",
3330
+ "name": "FunctionShellToolParamEnvironment",
3331
+ "nullable": true
3332
+ },
3333
+ "required": false
3334
+ }
3335
+ ],
3336
+ "description": "A tool that allows the model to execute shell commands."
3337
+ },
3338
+ {
3339
+ "name": "FunctionShellToolParamEnvironment",
3340
+ "kind": "union",
3341
+ "semantics": "oneOf",
3342
+ "variants": [
3343
+ {
3344
+ "kind": "ref",
3345
+ "name": "ContainerAutoParam"
3346
+ },
3347
+ {
3348
+ "kind": "ref",
3349
+ "name": "LocalEnvironmentParam"
3350
+ },
3351
+ {
3352
+ "kind": "ref",
3353
+ "name": "ContainerReferenceParam"
3354
+ }
3355
+ ],
3356
+ "discriminator": {
3357
+ "propertyName": "type",
3358
+ "mapping": {
3359
+ "container_auto": "ContainerAutoParam",
3360
+ "local": "LocalEnvironmentParam",
3361
+ "container_reference": "ContainerReferenceParam"
3362
+ }
3363
+ }
3364
+ },
3365
+ {
3366
+ "name": "ContainerAutoParam",
3367
+ "kind": "struct",
3368
+ "fields": [
3369
+ {
3370
+ "name": "type",
3371
+ "type": {
3372
+ "kind": "scalar",
3373
+ "scalar": "string",
3374
+ "const": "container_auto"
3375
+ },
3376
+ "required": true,
3377
+ "default": "container_auto",
3378
+ "description": "Automatically creates a container for this request"
3379
+ },
3380
+ {
3381
+ "name": "file_ids",
3382
+ "type": {
3383
+ "kind": "array",
3384
+ "items": {
3385
+ "kind": "scalar",
3386
+ "scalar": "string"
3387
+ }
3388
+ },
3389
+ "required": false,
3390
+ "description": "An optional list of uploaded files to make available to your code."
3391
+ },
3392
+ {
3393
+ "name": "memory_limit",
3394
+ "type": {
3395
+ "kind": "ref",
3396
+ "name": "ContainerMemoryLimit",
3397
+ "nullable": true
3398
+ },
3399
+ "required": false
3400
+ },
3401
+ {
3402
+ "name": "network_policy",
3403
+ "type": {
3404
+ "kind": "ref",
3405
+ "name": "AutoCodeInterpreterToolParamNetworkPolicy"
3406
+ },
3407
+ "required": false,
3408
+ "description": "Network access policy for the container."
3409
+ },
3410
+ {
3411
+ "name": "skills",
3412
+ "type": {
3413
+ "kind": "array",
3414
+ "items": {
3415
+ "kind": "ref",
3416
+ "name": "ContainerAutoParamSkillsItem"
3417
+ }
3418
+ },
3419
+ "required": false,
3420
+ "description": "An optional list of skills referenced by id or inline data."
3421
+ }
3422
+ ]
3423
+ },
3424
+ {
3425
+ "name": "ContainerAutoParamSkillsItem",
3426
+ "kind": "union",
3427
+ "semantics": "oneOf",
3428
+ "variants": [
3429
+ {
3430
+ "kind": "ref",
3431
+ "name": "SkillReferenceParam"
3432
+ },
3433
+ {
3434
+ "kind": "ref",
3435
+ "name": "InlineSkillParam"
3436
+ }
3437
+ ],
3438
+ "discriminator": {
3439
+ "propertyName": "type",
3440
+ "mapping": {
3441
+ "skill_reference": "SkillReferenceParam",
3442
+ "inline": "InlineSkillParam"
3443
+ }
3444
+ }
3445
+ },
3446
+ {
3447
+ "name": "SkillReferenceParam",
3448
+ "kind": "struct",
3449
+ "fields": [
3450
+ {
3451
+ "name": "type",
3452
+ "type": {
3453
+ "kind": "scalar",
3454
+ "scalar": "string",
3455
+ "const": "skill_reference"
3456
+ },
3457
+ "required": true,
3458
+ "default": "skill_reference",
3459
+ "description": "References a skill created with the /v1/skills endpoint."
3460
+ },
3461
+ {
3462
+ "name": "skill_id",
3463
+ "type": {
3464
+ "kind": "scalar",
3465
+ "scalar": "string"
3466
+ },
3467
+ "required": true,
3468
+ "description": "The ID of the referenced skill."
3469
+ },
3470
+ {
3471
+ "name": "version",
3472
+ "type": {
3473
+ "kind": "scalar",
3474
+ "scalar": "string"
3475
+ },
3476
+ "required": false,
3477
+ "description": "Optional skill version. Use a positive integer or 'latest'. Omit for default."
3478
+ }
3479
+ ]
3480
+ },
3481
+ {
3482
+ "name": "InlineSkillParam",
3483
+ "kind": "struct",
3484
+ "fields": [
3485
+ {
3486
+ "name": "type",
3487
+ "type": {
3488
+ "kind": "scalar",
3489
+ "scalar": "string",
3490
+ "const": "inline"
3491
+ },
3492
+ "required": true,
3493
+ "default": "inline",
3494
+ "description": "Defines an inline skill for this request."
3495
+ },
3496
+ {
3497
+ "name": "name",
3498
+ "type": {
3499
+ "kind": "scalar",
3500
+ "scalar": "string"
3501
+ },
3502
+ "required": true,
3503
+ "description": "The name of the skill."
3504
+ },
3505
+ {
3506
+ "name": "description",
3507
+ "type": {
3508
+ "kind": "scalar",
3509
+ "scalar": "string"
3510
+ },
3511
+ "required": true,
3512
+ "description": "The description of the skill."
3513
+ },
3514
+ {
3515
+ "name": "source",
3516
+ "type": {
3517
+ "kind": "ref",
3518
+ "name": "InlineSkillSourceParam"
3519
+ },
3520
+ "required": true
3521
+ }
3522
+ ]
3523
+ },
3524
+ {
3525
+ "name": "InlineSkillSourceParam",
3526
+ "kind": "struct",
3527
+ "fields": [
3528
+ {
3529
+ "name": "type",
3530
+ "type": {
3531
+ "kind": "scalar",
3532
+ "scalar": "string",
3533
+ "const": "base64"
3534
+ },
3535
+ "required": true,
3536
+ "default": "base64",
3537
+ "description": "The type of the inline skill source. Must be `base64`."
3538
+ },
3539
+ {
3540
+ "name": "media_type",
3541
+ "type": {
3542
+ "kind": "scalar",
3543
+ "scalar": "string",
3544
+ "const": "application/zip"
3545
+ },
3546
+ "required": true,
3547
+ "default": "application/zip",
3548
+ "description": "The media type of the inline skill payload. Must be `application/zip`."
3549
+ },
3550
+ {
3551
+ "name": "data",
3552
+ "type": {
3553
+ "kind": "scalar",
3554
+ "scalar": "string"
3555
+ },
3556
+ "required": true,
3557
+ "description": "Base64-encoded skill zip bundle."
3558
+ }
3559
+ ],
3560
+ "description": "Inline skill payload"
3561
+ },
3562
+ {
3563
+ "name": "LocalEnvironmentParam",
3564
+ "kind": "struct",
3565
+ "fields": [
3566
+ {
3567
+ "name": "type",
3568
+ "type": {
3569
+ "kind": "scalar",
3570
+ "scalar": "string",
3571
+ "const": "local"
3572
+ },
3573
+ "required": true,
3574
+ "default": "local",
3575
+ "description": "Use a local computer environment."
3576
+ },
3577
+ {
3578
+ "name": "skills",
3579
+ "type": {
3580
+ "kind": "array",
3581
+ "items": {
3582
+ "kind": "ref",
3583
+ "name": "LocalSkillParam"
3584
+ }
3585
+ },
3586
+ "required": false,
3587
+ "description": "An optional list of skills."
3588
+ }
3589
+ ]
3590
+ },
3591
+ {
3592
+ "name": "LocalSkillParam",
3593
+ "kind": "struct",
3594
+ "fields": [
3595
+ {
3596
+ "name": "name",
3597
+ "type": {
3598
+ "kind": "scalar",
3599
+ "scalar": "string"
3600
+ },
3601
+ "required": true,
3602
+ "description": "The name of the skill."
3603
+ },
3604
+ {
3605
+ "name": "description",
3606
+ "type": {
3607
+ "kind": "scalar",
3608
+ "scalar": "string"
3609
+ },
3610
+ "required": true,
3611
+ "description": "The description of the skill."
3612
+ },
3613
+ {
3614
+ "name": "path",
3615
+ "type": {
3616
+ "kind": "scalar",
3617
+ "scalar": "string"
3618
+ },
3619
+ "required": true,
3620
+ "description": "The path to the directory containing the skill."
3621
+ }
3622
+ ]
3623
+ },
3624
+ {
3625
+ "name": "ContainerReferenceParam",
3626
+ "kind": "struct",
3627
+ "fields": [
3628
+ {
3629
+ "name": "type",
3630
+ "type": {
3631
+ "kind": "scalar",
3632
+ "scalar": "string",
3633
+ "const": "container_reference"
3634
+ },
3635
+ "required": true,
3636
+ "default": "container_reference",
3637
+ "description": "References a container created with the /v1/containers endpoint"
3638
+ },
3639
+ {
3640
+ "name": "container_id",
3641
+ "type": {
3642
+ "kind": "scalar",
3643
+ "scalar": "string"
3644
+ },
3645
+ "required": true,
3646
+ "description": "The ID of the referenced container."
3647
+ }
3648
+ ]
3649
+ },
3650
+ {
3651
+ "name": "CustomToolParam",
3652
+ "kind": "struct",
3653
+ "fields": [
3654
+ {
3655
+ "name": "type",
3656
+ "type": {
3657
+ "kind": "scalar",
3658
+ "scalar": "string",
3659
+ "const": "custom"
3660
+ },
3661
+ "required": true,
3662
+ "default": "custom",
3663
+ "description": "The type of the custom tool. Always `custom`."
3664
+ },
3665
+ {
3666
+ "name": "name",
3667
+ "type": {
3668
+ "kind": "scalar",
3669
+ "scalar": "string"
3670
+ },
3671
+ "required": true,
3672
+ "description": "The name of the custom tool, used to identify it in tool calls."
3673
+ },
3674
+ {
3675
+ "name": "description",
3676
+ "type": {
3677
+ "kind": "scalar",
3678
+ "scalar": "string"
3679
+ },
3680
+ "required": false,
3681
+ "description": "Optional description of the custom tool, used to provide more context."
3682
+ },
3683
+ {
3684
+ "name": "format",
3685
+ "type": {
3686
+ "kind": "ref",
3687
+ "name": "CustomToolParamFormat"
3688
+ },
3689
+ "required": false,
3690
+ "description": "The input format for the custom tool. Default is unconstrained text."
3691
+ },
3692
+ {
3693
+ "name": "defer_loading",
3694
+ "type": {
3695
+ "kind": "scalar",
3696
+ "scalar": "boolean"
3697
+ },
3698
+ "required": false,
3699
+ "description": "Whether this tool should be deferred and discovered via tool search."
3700
+ }
3701
+ ],
3702
+ "description": "A custom tool that processes input using a specified format. Learn more about [custom tools](/docs/guides/function-calling#custom-tools)"
3703
+ },
3704
+ {
3705
+ "name": "CustomToolParamFormat",
3706
+ "kind": "union",
3707
+ "semantics": "oneOf",
3708
+ "variants": [
3709
+ {
3710
+ "kind": "ref",
3711
+ "name": "CustomTextFormatParam"
3712
+ },
3713
+ {
3714
+ "kind": "ref",
3715
+ "name": "CustomGrammarFormatParam"
3716
+ }
3717
+ ],
3718
+ "discriminator": {
3719
+ "propertyName": "type",
3720
+ "mapping": {
3721
+ "text": "CustomTextFormatParam",
3722
+ "grammar": "CustomGrammarFormatParam"
3723
+ }
3724
+ },
3725
+ "description": "The input format for the custom tool. Default is unconstrained text."
3726
+ },
3727
+ {
3728
+ "name": "CustomTextFormatParam",
3729
+ "kind": "struct",
3730
+ "fields": [
3731
+ {
3732
+ "name": "type",
3733
+ "type": {
3734
+ "kind": "scalar",
3735
+ "scalar": "string",
3736
+ "const": "text"
3737
+ },
3738
+ "required": true,
3739
+ "default": "text",
3740
+ "description": "Unconstrained text format. Always `text`."
3741
+ }
3742
+ ],
3743
+ "description": "Unconstrained free-form text."
3744
+ },
3745
+ {
3746
+ "name": "CustomGrammarFormatParam",
3747
+ "kind": "struct",
3748
+ "fields": [
3749
+ {
3750
+ "name": "type",
3751
+ "type": {
3752
+ "kind": "scalar",
3753
+ "scalar": "string",
3754
+ "const": "grammar"
3755
+ },
3756
+ "required": true,
3757
+ "default": "grammar",
3758
+ "description": "Grammar format. Always `grammar`."
3759
+ },
3760
+ {
3761
+ "name": "syntax",
3762
+ "type": {
3763
+ "kind": "ref",
3764
+ "name": "GrammarSyntax1"
3765
+ },
3766
+ "required": true
3767
+ },
3768
+ {
3769
+ "name": "definition",
3770
+ "type": {
3771
+ "kind": "scalar",
3772
+ "scalar": "string"
3773
+ },
3774
+ "required": true,
3775
+ "description": "The grammar definition."
3776
+ }
3777
+ ],
3778
+ "description": "A grammar defined by the user."
3779
+ },
3780
+ {
3781
+ "name": "GrammarSyntax1",
3782
+ "kind": "enum",
3783
+ "base": "string",
3784
+ "values": [
3785
+ {
3786
+ "value": "lark"
3787
+ },
3788
+ {
3789
+ "value": "regex"
3790
+ }
3791
+ ]
3792
+ },
3793
+ {
3794
+ "name": "NamespaceToolParam",
3795
+ "kind": "struct",
3796
+ "fields": [
3797
+ {
3798
+ "name": "type",
3799
+ "type": {
3800
+ "kind": "scalar",
3801
+ "scalar": "string",
3802
+ "const": "namespace"
3803
+ },
3804
+ "required": true,
3805
+ "default": "namespace",
3806
+ "description": "The type of the tool. Always `namespace`."
3807
+ },
3808
+ {
3809
+ "name": "name",
3810
+ "type": {
3811
+ "kind": "scalar",
3812
+ "scalar": "string"
3813
+ },
3814
+ "required": true,
3815
+ "description": "The namespace name used in tool calls (for example, `crm`)."
3816
+ },
3817
+ {
3818
+ "name": "description",
3819
+ "type": {
3820
+ "kind": "scalar",
3821
+ "scalar": "string"
3822
+ },
3823
+ "required": true,
3824
+ "description": "A description of the namespace shown to the model."
3825
+ },
3826
+ {
3827
+ "name": "tools",
3828
+ "type": {
3829
+ "kind": "array",
3830
+ "items": {
3831
+ "kind": "ref",
3832
+ "name": "NamespaceToolParamToolsItem"
3833
+ }
3834
+ },
3835
+ "required": true,
3836
+ "description": "The function/custom tools available inside this namespace."
3837
+ }
3838
+ ],
3839
+ "description": "Groups function/custom tools under a shared namespace."
3840
+ },
3841
+ {
3842
+ "name": "NamespaceToolParamToolsItem",
3843
+ "kind": "union",
3844
+ "semantics": "oneOf",
3845
+ "variants": [
3846
+ {
3847
+ "kind": "ref",
3848
+ "name": "FunctionToolParam"
3849
+ },
3850
+ {
3851
+ "kind": "ref",
3852
+ "name": "CustomToolParam"
3853
+ }
3854
+ ],
3855
+ "discriminator": {
3856
+ "propertyName": "type",
3857
+ "mapping": {
3858
+ "function": "FunctionToolParam",
3859
+ "custom": "CustomToolParam"
3860
+ }
3861
+ },
3862
+ "description": "A function or custom tool that belongs to a namespace."
3863
+ },
3864
+ {
3865
+ "name": "FunctionToolParam",
3866
+ "kind": "struct",
3867
+ "fields": [
3868
+ {
3869
+ "name": "name",
3870
+ "type": {
3871
+ "kind": "scalar",
3872
+ "scalar": "string"
3873
+ },
3874
+ "required": true
3875
+ },
3876
+ {
3877
+ "name": "description",
3878
+ "type": {
3879
+ "kind": "scalar",
3880
+ "scalar": "string",
3881
+ "nullable": true
3882
+ },
3883
+ "required": false
3884
+ },
3885
+ {
3886
+ "name": "parameters",
3887
+ "type": {
3888
+ "kind": "ref",
3889
+ "name": "EmptyModelParam",
3890
+ "nullable": true
3891
+ },
3892
+ "required": false
3893
+ },
3894
+ {
3895
+ "name": "strict",
3896
+ "type": {
3897
+ "kind": "scalar",
3898
+ "scalar": "boolean",
3899
+ "nullable": true
3900
+ },
3901
+ "required": false
3902
+ },
3903
+ {
3904
+ "name": "type",
3905
+ "type": {
3906
+ "kind": "scalar",
3907
+ "scalar": "string",
3908
+ "const": "function"
3909
+ },
3910
+ "required": true,
3911
+ "default": "function"
3912
+ },
3913
+ {
3914
+ "name": "defer_loading",
3915
+ "type": {
3916
+ "kind": "scalar",
3917
+ "scalar": "boolean"
3918
+ },
3919
+ "required": false,
3920
+ "description": "Whether this function should be deferred and discovered via tool search."
3921
+ }
3922
+ ]
3923
+ },
3924
+ {
3925
+ "name": "EmptyModelParam",
3926
+ "kind": "alias",
3927
+ "of": {
3928
+ "kind": "map",
3929
+ "values": {
3930
+ "kind": "any"
3931
+ }
3932
+ }
3933
+ },
3934
+ {
3935
+ "name": "ToolSearchToolParam",
3936
+ "kind": "struct",
3937
+ "fields": [
3938
+ {
3939
+ "name": "type",
3940
+ "type": {
3941
+ "kind": "scalar",
3942
+ "scalar": "string",
3943
+ "const": "tool_search"
3944
+ },
3945
+ "required": true,
3946
+ "default": "tool_search",
3947
+ "description": "The type of the tool. Always `tool_search`."
3948
+ },
3949
+ {
3950
+ "name": "execution",
3951
+ "type": {
3952
+ "kind": "ref",
3953
+ "name": "ToolSearchExecutionType"
3954
+ },
3955
+ "required": false
3956
+ },
3957
+ {
3958
+ "name": "description",
3959
+ "type": {
3960
+ "kind": "scalar",
3961
+ "scalar": "string",
3962
+ "nullable": true
3963
+ },
3964
+ "required": false
3965
+ },
3966
+ {
3967
+ "name": "parameters",
3968
+ "type": {
3969
+ "kind": "ref",
3970
+ "name": "EmptyModelParam",
3971
+ "nullable": true
3972
+ },
3973
+ "required": false
3974
+ }
3975
+ ],
3976
+ "description": "Hosted or BYOT tool search configuration for deferred tools."
3977
+ },
3978
+ {
3979
+ "name": "ToolSearchExecutionType",
3980
+ "kind": "enum",
3981
+ "base": "string",
3982
+ "values": [
3983
+ {
3984
+ "value": "server"
3985
+ },
3986
+ {
3987
+ "value": "client"
3988
+ }
3989
+ ]
3990
+ },
3991
+ {
3992
+ "name": "WebSearchPreviewTool",
3993
+ "kind": "struct",
3994
+ "fields": [
3995
+ {
3996
+ "name": "type",
3997
+ "type": {
3998
+ "kind": "ref",
3999
+ "name": "WebSearchPreviewToolType"
4000
+ },
4001
+ "required": true,
4002
+ "default": "web_search_preview",
4003
+ "description": "The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`."
4004
+ },
4005
+ {
4006
+ "name": "user_location",
4007
+ "type": {
4008
+ "kind": "ref",
4009
+ "name": "ApproximateLocation",
4010
+ "nullable": true
4011
+ },
4012
+ "required": false
4013
+ },
4014
+ {
4015
+ "name": "search_context_size",
4016
+ "type": {
4017
+ "kind": "ref",
4018
+ "name": "SearchContextSize"
4019
+ },
4020
+ "required": false
4021
+ },
4022
+ {
4023
+ "name": "search_content_types",
4024
+ "type": {
4025
+ "kind": "array",
4026
+ "items": {
4027
+ "kind": "ref",
4028
+ "name": "SearchContentType"
4029
+ }
4030
+ },
4031
+ "required": false
4032
+ }
4033
+ ],
4034
+ "description": "This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search)."
4035
+ },
4036
+ {
4037
+ "name": "WebSearchPreviewToolType",
4038
+ "kind": "enum",
4039
+ "base": "string",
4040
+ "values": [
4041
+ {
4042
+ "value": "web_search_preview"
4043
+ },
4044
+ {
4045
+ "value": "web_search_preview_2025_03_11"
4046
+ }
4047
+ ],
4048
+ "description": "The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`."
4049
+ },
4050
+ {
4051
+ "name": "ApproximateLocation",
4052
+ "kind": "struct",
4053
+ "fields": [
4054
+ {
4055
+ "name": "type",
4056
+ "type": {
4057
+ "kind": "scalar",
4058
+ "scalar": "string",
4059
+ "const": "approximate"
4060
+ },
4061
+ "required": true,
4062
+ "default": "approximate",
4063
+ "description": "The type of location approximation. Always `approximate`."
4064
+ },
4065
+ {
4066
+ "name": "country",
4067
+ "type": {
4068
+ "kind": "scalar",
4069
+ "scalar": "string",
4070
+ "nullable": true
4071
+ },
4072
+ "required": false
4073
+ },
4074
+ {
4075
+ "name": "region",
4076
+ "type": {
4077
+ "kind": "scalar",
4078
+ "scalar": "string",
4079
+ "nullable": true
4080
+ },
4081
+ "required": false
4082
+ },
4083
+ {
4084
+ "name": "city",
4085
+ "type": {
4086
+ "kind": "scalar",
4087
+ "scalar": "string",
4088
+ "nullable": true
4089
+ },
4090
+ "required": false
4091
+ },
4092
+ {
4093
+ "name": "timezone",
4094
+ "type": {
4095
+ "kind": "scalar",
4096
+ "scalar": "string",
4097
+ "nullable": true
4098
+ },
4099
+ "required": false
4100
+ }
4101
+ ]
4102
+ },
4103
+ {
4104
+ "name": "SearchContextSize",
4105
+ "kind": "enum",
4106
+ "base": "string",
4107
+ "values": [
4108
+ {
4109
+ "value": "low"
4110
+ },
4111
+ {
4112
+ "value": "medium"
4113
+ },
4114
+ {
4115
+ "value": "high"
4116
+ }
4117
+ ]
4118
+ },
4119
+ {
4120
+ "name": "SearchContentType",
4121
+ "kind": "enum",
4122
+ "base": "string",
4123
+ "values": [
4124
+ {
4125
+ "value": "text"
4126
+ },
4127
+ {
4128
+ "value": "image"
4129
+ }
4130
+ ]
4131
+ },
4132
+ {
4133
+ "name": "ApplyPatchToolParam",
4134
+ "kind": "struct",
4135
+ "fields": [
4136
+ {
4137
+ "name": "type",
4138
+ "type": {
4139
+ "kind": "scalar",
4140
+ "scalar": "string",
4141
+ "const": "apply_patch"
4142
+ },
4143
+ "required": true,
4144
+ "default": "apply_patch",
4145
+ "description": "The type of the tool. Always `apply_patch`."
4146
+ }
4147
+ ],
4148
+ "description": "Allows the assistant to create, delete, or update files using unified diffs."
4149
+ },
4150
+ {
4151
+ "name": "CreateEvalResponsesRunDataSourceSamplingParamsText",
4152
+ "kind": "struct",
4153
+ "fields": [
4154
+ {
4155
+ "name": "format",
4156
+ "type": {
4157
+ "kind": "ref",
4158
+ "name": "TextResponseFormatConfiguration"
4159
+ },
4160
+ "required": false
4161
+ }
4162
+ ],
4163
+ "description": "Configuration options for a text response from the model. Can be plain\ntext or structured JSON data. Learn more:\n- [Text inputs and outputs](/docs/guides/text)\n- [Structured Outputs](/docs/guides/structured-outputs)\n"
4164
+ },
4165
+ {
4166
+ "name": "TextResponseFormatConfiguration",
4167
+ "kind": "union",
4168
+ "semantics": "oneOf",
4169
+ "variants": [
4170
+ {
4171
+ "kind": "ref",
4172
+ "name": "ResponseFormatText"
4173
+ },
4174
+ {
4175
+ "kind": "ref",
4176
+ "name": "TextResponseFormatJsonSchema"
4177
+ },
4178
+ {
4179
+ "kind": "ref",
4180
+ "name": "ResponseFormatJsonObject"
4181
+ }
4182
+ ],
4183
+ "description": "An object specifying the format that the model must output.\n\nConfiguring `{ \"type\": \"json_schema\" }` enables Structured Outputs, \nwhich ensures the model will match your supplied JSON schema. Learn more in the \n[Structured Outputs guide](/docs/guides/structured-outputs).\n\nThe default format is `{ \"type\": \"text\" }` with no additional options.\n\n**Not recommended for gpt-4o and newer models:**\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n"
4184
+ },
4185
+ {
4186
+ "name": "TextResponseFormatJsonSchema",
4187
+ "kind": "struct",
4188
+ "fields": [
4189
+ {
4190
+ "name": "type",
4191
+ "type": {
4192
+ "kind": "scalar",
4193
+ "scalar": "string",
4194
+ "const": "json_schema"
4195
+ },
4196
+ "required": true,
4197
+ "description": "The type of response format being defined. Always `json_schema`."
4198
+ },
4199
+ {
4200
+ "name": "description",
4201
+ "type": {
4202
+ "kind": "scalar",
4203
+ "scalar": "string"
4204
+ },
4205
+ "required": false,
4206
+ "description": "A description of what the response format is for, used by the model to\ndetermine how to respond in the format.\n"
4207
+ },
4208
+ {
4209
+ "name": "name",
4210
+ "type": {
4211
+ "kind": "scalar",
4212
+ "scalar": "string"
4213
+ },
4214
+ "required": true,
4215
+ "description": "The name of the response format. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64.\n"
4216
+ },
4217
+ {
4218
+ "name": "schema",
4219
+ "type": {
4220
+ "kind": "ref",
4221
+ "name": "ResponseFormatJsonSchemaSchema"
4222
+ },
4223
+ "required": true
4224
+ },
4225
+ {
4226
+ "name": "strict",
4227
+ "type": {
4228
+ "kind": "scalar",
4229
+ "scalar": "boolean",
4230
+ "nullable": true
4231
+ },
4232
+ "required": false
4233
+ }
4234
+ ],
4235
+ "description": "JSON Schema response format. Used to generate structured JSON responses.\nLearn more about [Structured Outputs](/docs/guides/structured-outputs).\n"
4236
+ },
4237
+ {
4238
+ "name": "CreateEvalResponsesRunDataSourceSource",
4239
+ "kind": "union",
4240
+ "semantics": "oneOf",
4241
+ "variants": [
4242
+ {
4243
+ "kind": "ref",
4244
+ "name": "EvalJsonlFileContentSource"
4245
+ },
4246
+ {
4247
+ "kind": "ref",
4248
+ "name": "EvalJsonlFileIdSource"
4249
+ },
4250
+ {
4251
+ "kind": "ref",
4252
+ "name": "EvalResponsesSource"
4253
+ }
4254
+ ],
4255
+ "description": "Determines what populates the `item` namespace in this run's data source."
4256
+ },
4257
+ {
4258
+ "name": "EvalResponsesSource",
4259
+ "kind": "struct",
4260
+ "fields": [
4261
+ {
4262
+ "name": "type",
4263
+ "type": {
4264
+ "kind": "scalar",
4265
+ "scalar": "string",
4266
+ "const": "responses"
4267
+ },
4268
+ "required": true,
4269
+ "description": "The type of run data source. Always `responses`."
4270
+ },
4271
+ {
4272
+ "name": "metadata",
4273
+ "type": {
4274
+ "kind": "map",
4275
+ "values": {
4276
+ "kind": "any"
4277
+ },
4278
+ "nullable": true
4279
+ },
4280
+ "required": false
4281
+ },
4282
+ {
4283
+ "name": "model",
4284
+ "type": {
4285
+ "kind": "scalar",
4286
+ "scalar": "string",
4287
+ "nullable": true
4288
+ },
4289
+ "required": false
4290
+ },
4291
+ {
4292
+ "name": "instructions_search",
4293
+ "type": {
4294
+ "kind": "scalar",
4295
+ "scalar": "string",
4296
+ "nullable": true
4297
+ },
4298
+ "required": false
4299
+ },
4300
+ {
4301
+ "name": "created_after",
4302
+ "type": {
4303
+ "kind": "scalar",
4304
+ "scalar": "integer",
4305
+ "nullable": true
4306
+ },
4307
+ "required": false
4308
+ },
4309
+ {
4310
+ "name": "created_before",
4311
+ "type": {
4312
+ "kind": "scalar",
4313
+ "scalar": "integer",
4314
+ "nullable": true
4315
+ },
4316
+ "required": false
4317
+ },
4318
+ {
4319
+ "name": "reasoning_effort",
4320
+ "type": {
4321
+ "kind": "ref",
4322
+ "name": "ReasoningEffort",
4323
+ "nullable": true
4324
+ },
4325
+ "required": false
4326
+ },
4327
+ {
4328
+ "name": "temperature",
4329
+ "type": {
4330
+ "kind": "scalar",
4331
+ "scalar": "number",
4332
+ "nullable": true
4333
+ },
4334
+ "required": false
4335
+ },
4336
+ {
4337
+ "name": "top_p",
4338
+ "type": {
4339
+ "kind": "scalar",
4340
+ "scalar": "number",
4341
+ "nullable": true
4342
+ },
4343
+ "required": false
4344
+ },
4345
+ {
4346
+ "name": "users",
4347
+ "type": {
4348
+ "kind": "array",
4349
+ "items": {
4350
+ "kind": "scalar",
4351
+ "scalar": "string"
4352
+ },
4353
+ "nullable": true
4354
+ },
4355
+ "required": false
4356
+ },
4357
+ {
4358
+ "name": "tools",
4359
+ "type": {
4360
+ "kind": "array",
4361
+ "items": {
4362
+ "kind": "scalar",
4363
+ "scalar": "string"
4364
+ },
4365
+ "nullable": true
4366
+ },
4367
+ "required": false
4368
+ }
4369
+ ],
4370
+ "description": "A EvalResponsesSource object describing a run data source configuration.\n"
4371
+ },
4372
+ {
4373
+ "name": "EvalApiError",
4374
+ "kind": "struct",
4375
+ "fields": [
4376
+ {
4377
+ "name": "code",
4378
+ "type": {
4379
+ "kind": "scalar",
4380
+ "scalar": "string"
4381
+ },
4382
+ "required": true,
4383
+ "description": "The error code."
4384
+ },
4385
+ {
4386
+ "name": "message",
4387
+ "type": {
4388
+ "kind": "scalar",
4389
+ "scalar": "string"
4390
+ },
4391
+ "required": true,
4392
+ "description": "The error message."
4393
+ }
4394
+ ],
4395
+ "description": "An object representing an error response from the Eval API.\n"
4396
+ }
4397
+ ],
4398
+ "resources": [
4399
+ {
4400
+ "name": "evals",
4401
+ "resources": [
4402
+ {
4403
+ "name": "runs",
4404
+ "methods": [
4405
+ {
4406
+ "action": "list",
4407
+ "httpMethod": "get",
4408
+ "path": "/evals/{eval_id}/runs",
4409
+ "operationId": "getEvalRuns",
4410
+ "description": "Get a list of runs for an evaluation.\n",
4411
+ "pathParams": [
4412
+ {
4413
+ "name": "eval_id",
4414
+ "type": {
4415
+ "kind": "scalar",
4416
+ "scalar": "string"
4417
+ },
4418
+ "required": true,
4419
+ "description": "The ID of the evaluation to retrieve runs for."
4420
+ }
4421
+ ],
4422
+ "queryParams": [
4423
+ {
4424
+ "name": "after",
4425
+ "type": {
4426
+ "kind": "scalar",
4427
+ "scalar": "string"
4428
+ },
4429
+ "required": false,
4430
+ "description": "Identifier for the last run from the previous pagination request."
4431
+ },
4432
+ {
4433
+ "name": "limit",
4434
+ "type": {
4435
+ "kind": "scalar",
4436
+ "scalar": "integer"
4437
+ },
4438
+ "required": false,
4439
+ "description": "Number of runs to retrieve.",
4440
+ "default": 20
4441
+ },
4442
+ {
4443
+ "name": "order",
4444
+ "type": {
4445
+ "kind": "ref",
4446
+ "name": "EvalsRunsListOrder"
4447
+ },
4448
+ "required": false,
4449
+ "description": "Sort order for runs by timestamp. Use `asc` for ascending order or `desc` for descending order. Defaults to `asc`.",
4450
+ "default": "asc"
4451
+ },
4452
+ {
4453
+ "name": "status",
4454
+ "type": {
4455
+ "kind": "ref",
4456
+ "name": "EvalsRunsListStatus"
4457
+ },
4458
+ "required": false,
4459
+ "description": "Filter runs by status. One of `queued` | `in_progress` | `failed` | `completed` | `canceled`."
4460
+ }
4461
+ ],
4462
+ "responses": [
4463
+ {
4464
+ "status": "200",
4465
+ "description": "A list of runs for the evaluation",
4466
+ "contentType": "application/json",
4467
+ "type": {
4468
+ "kind": "ref",
4469
+ "name": "EvalRunList"
4470
+ }
4471
+ }
4472
+ ],
4473
+ "primaryResponse": {
4474
+ "kind": "ref",
4475
+ "name": "EvalRunList"
4476
+ },
4477
+ "pagination": {
4478
+ "style": "cursor",
4479
+ "itemsField": "data",
4480
+ "nextField": "has_more",
4481
+ "itemType": {
4482
+ "kind": "ref",
4483
+ "name": "EvalRun"
4484
+ },
4485
+ "cursorParam": "after",
4486
+ "limitParam": "limit"
4487
+ }
4488
+ }
4489
+ ]
4490
+ }
4491
+ ]
4492
+ }
4493
+ ],
4494
+ "sdk": {
4495
+ "retry": {
4496
+ "maxRetries": 2,
4497
+ "retryableStatusCodes": [
4498
+ 408,
4499
+ 429,
4500
+ 500,
4501
+ 502,
4502
+ 503,
4503
+ 504
4504
+ ],
4505
+ "retryConnectionErrors": true,
4506
+ "honorRetryAfterHeader": true,
4507
+ "backoff": {
4508
+ "initialDelayMs": 500,
4509
+ "maxDelayMs": 8000,
4510
+ "multiplier": 2,
4511
+ "jitter": 0.25
4512
+ }
4513
+ },
4514
+ "timeout": {
4515
+ "defaultTimeoutMs": 60000
4516
+ },
4517
+ "errors": {
4518
+ "statusCodeMap": {
4519
+ "400": "BadRequest",
4520
+ "401": "Unauthorized",
4521
+ "403": "PermissionDenied",
4522
+ "404": "NotFound",
4523
+ "409": "Conflict",
4524
+ "422": "UnprocessableEntity",
4525
+ "429": "RateLimited"
4526
+ },
4527
+ "clientErrorKind": "API",
4528
+ "serverErrorKind": "Internal"
4529
+ },
4530
+ "userAgent": {
4531
+ "sdkIdentifierTemplate": "{package}-{language}/{version}",
4532
+ "includeRuntimeVersion": false,
4533
+ "aiAgentEnvVars": {
4534
+ "CLAUDE_CODE": "claude-code",
4535
+ "CURSOR_AGENT": "cursor",
4536
+ "CLINE_ACTIVE": "cline",
4537
+ "WINDSURF_ACTIVE": "windsurf",
4538
+ "COPILOT_AGENT": "copilot"
4539
+ }
4540
+ },
4541
+ "telemetry": {
4542
+ "requestIdHeader": "X-Request-ID",
4543
+ "headerName": "X-Client-Telemetry",
4544
+ "enabledByDefault": false
4545
+ },
4546
+ "logging": {
4547
+ "events": [
4548
+ "request.start",
4549
+ "request.success",
4550
+ "request.retry",
4551
+ "request.rate_limited",
4552
+ "request.error",
4553
+ "request.connection_error"
4554
+ ]
4555
+ },
4556
+ "idempotency": {
4557
+ "headerName": "Idempotency-Key",
4558
+ "autoGenerateForPost": true
4559
+ },
4560
+ "pagination": {
4561
+ "autoPageDelayMs": 0
4562
+ },
4563
+ "requestGuard": {
4564
+ "optionKeys": [
4565
+ "api_key",
4566
+ "apiKey",
4567
+ "idempotency_key",
4568
+ "idempotencyKey",
4569
+ "extra_headers",
4570
+ "extraHeaders",
4571
+ "max_retries",
4572
+ "maxRetries",
4573
+ "base_url",
4574
+ "baseUrl",
4575
+ "timeout"
4576
+ ]
4577
+ }
4578
+ }
4579
+ }