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