@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,991 @@
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": "ValidateGraderRequest",
29
+ "kind": "struct",
30
+ "fields": [
31
+ {
32
+ "name": "grader",
33
+ "type": {
34
+ "kind": "ref",
35
+ "name": "ValidateGraderRequestGrader"
36
+ },
37
+ "required": true,
38
+ "description": "The grader used for the fine-tuning job."
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "name": "ValidateGraderRequestGrader",
44
+ "kind": "union",
45
+ "semantics": "oneOf",
46
+ "variants": [
47
+ {
48
+ "kind": "ref",
49
+ "name": "GraderStringCheck"
50
+ },
51
+ {
52
+ "kind": "ref",
53
+ "name": "GraderTextSimilarity"
54
+ },
55
+ {
56
+ "kind": "ref",
57
+ "name": "GraderPython"
58
+ },
59
+ {
60
+ "kind": "ref",
61
+ "name": "GraderScoreModel"
62
+ },
63
+ {
64
+ "kind": "ref",
65
+ "name": "GraderMulti"
66
+ }
67
+ ],
68
+ "description": "The grader used for the fine-tuning job."
69
+ },
70
+ {
71
+ "name": "GraderStringCheck",
72
+ "kind": "struct",
73
+ "fields": [
74
+ {
75
+ "name": "type",
76
+ "type": {
77
+ "kind": "scalar",
78
+ "scalar": "string",
79
+ "const": "string_check"
80
+ },
81
+ "required": true,
82
+ "description": "The object type, which is always `string_check`."
83
+ },
84
+ {
85
+ "name": "name",
86
+ "type": {
87
+ "kind": "scalar",
88
+ "scalar": "string"
89
+ },
90
+ "required": true,
91
+ "description": "The name of the grader."
92
+ },
93
+ {
94
+ "name": "input",
95
+ "type": {
96
+ "kind": "scalar",
97
+ "scalar": "string"
98
+ },
99
+ "required": true,
100
+ "description": "The input text. This may include template strings."
101
+ },
102
+ {
103
+ "name": "reference",
104
+ "type": {
105
+ "kind": "scalar",
106
+ "scalar": "string"
107
+ },
108
+ "required": true,
109
+ "description": "The reference text. This may include template strings."
110
+ },
111
+ {
112
+ "name": "operation",
113
+ "type": {
114
+ "kind": "ref",
115
+ "name": "GraderStringCheckOperation"
116
+ },
117
+ "required": true,
118
+ "description": "The string check operation to perform. One of `eq`, `ne`, `like`, or `ilike`."
119
+ }
120
+ ],
121
+ "description": "A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.\n"
122
+ },
123
+ {
124
+ "name": "GraderStringCheckOperation",
125
+ "kind": "enum",
126
+ "base": "string",
127
+ "values": [
128
+ {
129
+ "value": "eq"
130
+ },
131
+ {
132
+ "value": "ne"
133
+ },
134
+ {
135
+ "value": "like"
136
+ },
137
+ {
138
+ "value": "ilike"
139
+ }
140
+ ],
141
+ "description": "The string check operation to perform. One of `eq`, `ne`, `like`, or `ilike`."
142
+ },
143
+ {
144
+ "name": "GraderTextSimilarity",
145
+ "kind": "struct",
146
+ "fields": [
147
+ {
148
+ "name": "type",
149
+ "type": {
150
+ "kind": "scalar",
151
+ "scalar": "string",
152
+ "const": "text_similarity"
153
+ },
154
+ "required": true,
155
+ "default": "text_similarity",
156
+ "description": "The type of grader."
157
+ },
158
+ {
159
+ "name": "name",
160
+ "type": {
161
+ "kind": "scalar",
162
+ "scalar": "string"
163
+ },
164
+ "required": true,
165
+ "description": "The name of the grader."
166
+ },
167
+ {
168
+ "name": "input",
169
+ "type": {
170
+ "kind": "scalar",
171
+ "scalar": "string"
172
+ },
173
+ "required": true,
174
+ "description": "The text being graded."
175
+ },
176
+ {
177
+ "name": "reference",
178
+ "type": {
179
+ "kind": "scalar",
180
+ "scalar": "string"
181
+ },
182
+ "required": true,
183
+ "description": "The text being graded against."
184
+ },
185
+ {
186
+ "name": "evaluation_metric",
187
+ "type": {
188
+ "kind": "ref",
189
+ "name": "GraderTextSimilarityEvaluationMetric"
190
+ },
191
+ "required": true,
192
+ "description": "The evaluation metric to use. One of `cosine`, `fuzzy_match`, `bleu`, \n`gleu`, `meteor`, `rouge_1`, `rouge_2`, `rouge_3`, `rouge_4`, `rouge_5`, \nor `rouge_l`.\n"
193
+ }
194
+ ],
195
+ "description": "A TextSimilarityGrader object which grades text based on similarity metrics.\n"
196
+ },
197
+ {
198
+ "name": "GraderTextSimilarityEvaluationMetric",
199
+ "kind": "enum",
200
+ "base": "string",
201
+ "values": [
202
+ {
203
+ "value": "cosine"
204
+ },
205
+ {
206
+ "value": "fuzzy_match"
207
+ },
208
+ {
209
+ "value": "bleu"
210
+ },
211
+ {
212
+ "value": "gleu"
213
+ },
214
+ {
215
+ "value": "meteor"
216
+ },
217
+ {
218
+ "value": "rouge_1"
219
+ },
220
+ {
221
+ "value": "rouge_2"
222
+ },
223
+ {
224
+ "value": "rouge_3"
225
+ },
226
+ {
227
+ "value": "rouge_4"
228
+ },
229
+ {
230
+ "value": "rouge_5"
231
+ },
232
+ {
233
+ "value": "rouge_l"
234
+ }
235
+ ],
236
+ "description": "The evaluation metric to use. One of `cosine`, `fuzzy_match`, `bleu`, \n`gleu`, `meteor`, `rouge_1`, `rouge_2`, `rouge_3`, `rouge_4`, `rouge_5`, \nor `rouge_l`.\n"
237
+ },
238
+ {
239
+ "name": "GraderPython",
240
+ "kind": "struct",
241
+ "fields": [
242
+ {
243
+ "name": "type",
244
+ "type": {
245
+ "kind": "scalar",
246
+ "scalar": "string",
247
+ "const": "python"
248
+ },
249
+ "required": true,
250
+ "description": "The object type, which is always `python`."
251
+ },
252
+ {
253
+ "name": "name",
254
+ "type": {
255
+ "kind": "scalar",
256
+ "scalar": "string"
257
+ },
258
+ "required": true,
259
+ "description": "The name of the grader."
260
+ },
261
+ {
262
+ "name": "source",
263
+ "type": {
264
+ "kind": "scalar",
265
+ "scalar": "string"
266
+ },
267
+ "required": true,
268
+ "description": "The source code of the python script."
269
+ },
270
+ {
271
+ "name": "image_tag",
272
+ "type": {
273
+ "kind": "scalar",
274
+ "scalar": "string"
275
+ },
276
+ "required": false,
277
+ "description": "The image tag to use for the python script."
278
+ }
279
+ ],
280
+ "description": "A PythonGrader object that runs a python script on the input.\n"
281
+ },
282
+ {
283
+ "name": "GraderScoreModel",
284
+ "kind": "struct",
285
+ "fields": [
286
+ {
287
+ "name": "type",
288
+ "type": {
289
+ "kind": "scalar",
290
+ "scalar": "string",
291
+ "const": "score_model"
292
+ },
293
+ "required": true,
294
+ "description": "The object type, which is always `score_model`."
295
+ },
296
+ {
297
+ "name": "name",
298
+ "type": {
299
+ "kind": "scalar",
300
+ "scalar": "string"
301
+ },
302
+ "required": true,
303
+ "description": "The name of the grader."
304
+ },
305
+ {
306
+ "name": "model",
307
+ "type": {
308
+ "kind": "scalar",
309
+ "scalar": "string"
310
+ },
311
+ "required": true,
312
+ "description": "The model to use for the evaluation."
313
+ },
314
+ {
315
+ "name": "sampling_params",
316
+ "type": {
317
+ "kind": "ref",
318
+ "name": "GraderScoreModelSamplingParams"
319
+ },
320
+ "required": false,
321
+ "description": "The sampling parameters for the model."
322
+ },
323
+ {
324
+ "name": "input",
325
+ "type": {
326
+ "kind": "array",
327
+ "items": {
328
+ "kind": "ref",
329
+ "name": "EvalItem"
330
+ }
331
+ },
332
+ "required": true,
333
+ "description": "The input messages evaluated by the grader. Supports text, output text, input image, and input audio content blocks, and may include template strings.\n"
334
+ },
335
+ {
336
+ "name": "range",
337
+ "type": {
338
+ "kind": "array",
339
+ "items": {
340
+ "kind": "scalar",
341
+ "scalar": "number"
342
+ }
343
+ },
344
+ "required": false,
345
+ "description": "The range of the score. Defaults to `[0, 1]`."
346
+ }
347
+ ],
348
+ "description": "A ScoreModelGrader object that uses a model to assign a score to the input.\n"
349
+ },
350
+ {
351
+ "name": "GraderScoreModelSamplingParams",
352
+ "kind": "struct",
353
+ "fields": [
354
+ {
355
+ "name": "seed",
356
+ "type": {
357
+ "kind": "scalar",
358
+ "scalar": "integer",
359
+ "nullable": true
360
+ },
361
+ "required": false
362
+ },
363
+ {
364
+ "name": "top_p",
365
+ "type": {
366
+ "kind": "scalar",
367
+ "scalar": "number",
368
+ "nullable": true
369
+ },
370
+ "required": false
371
+ },
372
+ {
373
+ "name": "temperature",
374
+ "type": {
375
+ "kind": "scalar",
376
+ "scalar": "number",
377
+ "nullable": true
378
+ },
379
+ "required": false
380
+ },
381
+ {
382
+ "name": "max_completions_tokens",
383
+ "type": {
384
+ "kind": "scalar",
385
+ "scalar": "integer",
386
+ "nullable": true
387
+ },
388
+ "required": false
389
+ },
390
+ {
391
+ "name": "reasoning_effort",
392
+ "type": {
393
+ "kind": "ref",
394
+ "name": "ReasoningEffort"
395
+ },
396
+ "required": false
397
+ }
398
+ ],
399
+ "description": "The sampling parameters for the model."
400
+ },
401
+ {
402
+ "name": "ReasoningEffort",
403
+ "kind": "enum",
404
+ "base": "string",
405
+ "values": [
406
+ {
407
+ "value": "none"
408
+ },
409
+ {
410
+ "value": "minimal"
411
+ },
412
+ {
413
+ "value": "low"
414
+ },
415
+ {
416
+ "value": "medium"
417
+ },
418
+ {
419
+ "value": "high"
420
+ },
421
+ {
422
+ "value": "xhigh"
423
+ }
424
+ ],
425
+ "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"
426
+ },
427
+ {
428
+ "name": "EvalItem",
429
+ "kind": "struct",
430
+ "fields": [
431
+ {
432
+ "name": "role",
433
+ "type": {
434
+ "kind": "ref",
435
+ "name": "EvalItemRole"
436
+ },
437
+ "required": true,
438
+ "description": "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n"
439
+ },
440
+ {
441
+ "name": "content",
442
+ "type": {
443
+ "kind": "ref",
444
+ "name": "EvalItemContent"
445
+ },
446
+ "required": true
447
+ },
448
+ {
449
+ "name": "type",
450
+ "type": {
451
+ "kind": "scalar",
452
+ "scalar": "string",
453
+ "const": "message"
454
+ },
455
+ "required": false,
456
+ "description": "The type of the message input. Always `message`.\n"
457
+ }
458
+ ],
459
+ "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"
460
+ },
461
+ {
462
+ "name": "EvalItemRole",
463
+ "kind": "enum",
464
+ "base": "string",
465
+ "values": [
466
+ {
467
+ "value": "user"
468
+ },
469
+ {
470
+ "value": "assistant"
471
+ },
472
+ {
473
+ "value": "system"
474
+ },
475
+ {
476
+ "value": "developer"
477
+ }
478
+ ],
479
+ "description": "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n"
480
+ },
481
+ {
482
+ "name": "EvalItemContent",
483
+ "kind": "union",
484
+ "semantics": "oneOf",
485
+ "variants": [
486
+ {
487
+ "kind": "ref",
488
+ "name": "EvalItemContentItem"
489
+ },
490
+ {
491
+ "kind": "ref",
492
+ "name": "EvalItemContentArray"
493
+ }
494
+ ],
495
+ "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"
496
+ },
497
+ {
498
+ "name": "EvalItemContentItem",
499
+ "kind": "union",
500
+ "semantics": "oneOf",
501
+ "variants": [
502
+ {
503
+ "kind": "ref",
504
+ "name": "EvalItemContentText"
505
+ },
506
+ {
507
+ "kind": "ref",
508
+ "name": "InputTextContent"
509
+ },
510
+ {
511
+ "kind": "ref",
512
+ "name": "EvalItemContentOutputText"
513
+ },
514
+ {
515
+ "kind": "ref",
516
+ "name": "EvalItemInputImage"
517
+ },
518
+ {
519
+ "kind": "ref",
520
+ "name": "InputAudio"
521
+ }
522
+ ],
523
+ "description": "A single content item: input text, output text, input image, or input audio.\n"
524
+ },
525
+ {
526
+ "name": "EvalItemContentText",
527
+ "kind": "alias",
528
+ "of": {
529
+ "kind": "scalar",
530
+ "scalar": "string"
531
+ }
532
+ },
533
+ {
534
+ "name": "InputTextContent",
535
+ "kind": "struct",
536
+ "fields": [
537
+ {
538
+ "name": "type",
539
+ "type": {
540
+ "kind": "scalar",
541
+ "scalar": "string",
542
+ "const": "input_text"
543
+ },
544
+ "required": true,
545
+ "default": "input_text",
546
+ "description": "The type of the input item. Always `input_text`."
547
+ },
548
+ {
549
+ "name": "text",
550
+ "type": {
551
+ "kind": "scalar",
552
+ "scalar": "string"
553
+ },
554
+ "required": true,
555
+ "description": "The text input to the model."
556
+ }
557
+ ],
558
+ "description": "A text input to the model."
559
+ },
560
+ {
561
+ "name": "EvalItemContentOutputText",
562
+ "kind": "struct",
563
+ "fields": [
564
+ {
565
+ "name": "type",
566
+ "type": {
567
+ "kind": "scalar",
568
+ "scalar": "string",
569
+ "const": "output_text"
570
+ },
571
+ "required": true,
572
+ "description": "The type of the output text. Always `output_text`.\n"
573
+ },
574
+ {
575
+ "name": "text",
576
+ "type": {
577
+ "kind": "scalar",
578
+ "scalar": "string"
579
+ },
580
+ "required": true,
581
+ "description": "The text output from the model.\n"
582
+ }
583
+ ],
584
+ "description": "A text output from the model.\n"
585
+ },
586
+ {
587
+ "name": "EvalItemInputImage",
588
+ "kind": "struct",
589
+ "fields": [
590
+ {
591
+ "name": "type",
592
+ "type": {
593
+ "kind": "scalar",
594
+ "scalar": "string",
595
+ "const": "input_image"
596
+ },
597
+ "required": true,
598
+ "description": "The type of the image input. Always `input_image`.\n"
599
+ },
600
+ {
601
+ "name": "image_url",
602
+ "type": {
603
+ "kind": "scalar",
604
+ "scalar": "string",
605
+ "format": "uri"
606
+ },
607
+ "required": true,
608
+ "description": "The URL of the image input.\n"
609
+ },
610
+ {
611
+ "name": "detail",
612
+ "type": {
613
+ "kind": "scalar",
614
+ "scalar": "string"
615
+ },
616
+ "required": false,
617
+ "description": "The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`.\n"
618
+ }
619
+ ],
620
+ "description": "An image input block used within EvalItem content arrays."
621
+ },
622
+ {
623
+ "name": "InputAudio",
624
+ "kind": "struct",
625
+ "fields": [
626
+ {
627
+ "name": "type",
628
+ "type": {
629
+ "kind": "scalar",
630
+ "scalar": "string",
631
+ "const": "input_audio"
632
+ },
633
+ "required": true,
634
+ "description": "The type of the input item. Always `input_audio`.\n"
635
+ },
636
+ {
637
+ "name": "input_audio",
638
+ "type": {
639
+ "kind": "ref",
640
+ "name": "InputAudioInputAudio"
641
+ },
642
+ "required": true
643
+ }
644
+ ],
645
+ "description": "An audio input to the model.\n"
646
+ },
647
+ {
648
+ "name": "InputAudioInputAudio",
649
+ "kind": "struct",
650
+ "fields": [
651
+ {
652
+ "name": "data",
653
+ "type": {
654
+ "kind": "scalar",
655
+ "scalar": "string"
656
+ },
657
+ "required": true,
658
+ "description": "Base64-encoded audio data.\n"
659
+ },
660
+ {
661
+ "name": "format",
662
+ "type": {
663
+ "kind": "ref",
664
+ "name": "InputAudioInputAudioFormat"
665
+ },
666
+ "required": true,
667
+ "description": "The format of the audio data. Currently supported formats are `mp3` and\n`wav`.\n"
668
+ }
669
+ ]
670
+ },
671
+ {
672
+ "name": "InputAudioInputAudioFormat",
673
+ "kind": "enum",
674
+ "base": "string",
675
+ "values": [
676
+ {
677
+ "value": "mp3"
678
+ },
679
+ {
680
+ "value": "wav"
681
+ }
682
+ ],
683
+ "description": "The format of the audio data. Currently supported formats are `mp3` and\n`wav`.\n"
684
+ },
685
+ {
686
+ "name": "EvalItemContentArray",
687
+ "kind": "alias",
688
+ "of": {
689
+ "kind": "array",
690
+ "items": {
691
+ "kind": "ref",
692
+ "name": "EvalItemContentItem"
693
+ }
694
+ }
695
+ },
696
+ {
697
+ "name": "GraderMulti",
698
+ "kind": "struct",
699
+ "fields": [
700
+ {
701
+ "name": "type",
702
+ "type": {
703
+ "kind": "scalar",
704
+ "scalar": "string",
705
+ "const": "multi"
706
+ },
707
+ "required": true,
708
+ "default": "multi",
709
+ "description": "The object type, which is always `multi`."
710
+ },
711
+ {
712
+ "name": "name",
713
+ "type": {
714
+ "kind": "scalar",
715
+ "scalar": "string"
716
+ },
717
+ "required": true,
718
+ "description": "The name of the grader."
719
+ },
720
+ {
721
+ "name": "graders",
722
+ "type": {
723
+ "kind": "ref",
724
+ "name": "GraderMultiGraders"
725
+ },
726
+ "required": true
727
+ },
728
+ {
729
+ "name": "calculate_output",
730
+ "type": {
731
+ "kind": "scalar",
732
+ "scalar": "string"
733
+ },
734
+ "required": true,
735
+ "description": "A formula to calculate the output based on grader results."
736
+ }
737
+ ],
738
+ "description": "A MultiGrader object combines the output of multiple graders to produce a single score."
739
+ },
740
+ {
741
+ "name": "GraderMultiGraders",
742
+ "kind": "union",
743
+ "semantics": "oneOf",
744
+ "variants": [
745
+ {
746
+ "kind": "ref",
747
+ "name": "GraderStringCheck"
748
+ },
749
+ {
750
+ "kind": "ref",
751
+ "name": "GraderTextSimilarity"
752
+ },
753
+ {
754
+ "kind": "ref",
755
+ "name": "GraderPython"
756
+ },
757
+ {
758
+ "kind": "ref",
759
+ "name": "GraderScoreModel"
760
+ },
761
+ {
762
+ "kind": "ref",
763
+ "name": "GraderLabelModel"
764
+ }
765
+ ]
766
+ },
767
+ {
768
+ "name": "GraderLabelModel",
769
+ "kind": "struct",
770
+ "fields": [
771
+ {
772
+ "name": "type",
773
+ "type": {
774
+ "kind": "scalar",
775
+ "scalar": "string",
776
+ "const": "label_model"
777
+ },
778
+ "required": true,
779
+ "description": "The object type, which is always `label_model`."
780
+ },
781
+ {
782
+ "name": "name",
783
+ "type": {
784
+ "kind": "scalar",
785
+ "scalar": "string"
786
+ },
787
+ "required": true,
788
+ "description": "The name of the grader."
789
+ },
790
+ {
791
+ "name": "model",
792
+ "type": {
793
+ "kind": "scalar",
794
+ "scalar": "string"
795
+ },
796
+ "required": true,
797
+ "description": "The model to use for the evaluation. Must support structured outputs."
798
+ },
799
+ {
800
+ "name": "input",
801
+ "type": {
802
+ "kind": "array",
803
+ "items": {
804
+ "kind": "ref",
805
+ "name": "EvalItem"
806
+ }
807
+ },
808
+ "required": true
809
+ },
810
+ {
811
+ "name": "labels",
812
+ "type": {
813
+ "kind": "array",
814
+ "items": {
815
+ "kind": "scalar",
816
+ "scalar": "string"
817
+ }
818
+ },
819
+ "required": true,
820
+ "description": "The labels to assign to each item in the evaluation."
821
+ },
822
+ {
823
+ "name": "passing_labels",
824
+ "type": {
825
+ "kind": "array",
826
+ "items": {
827
+ "kind": "scalar",
828
+ "scalar": "string"
829
+ }
830
+ },
831
+ "required": true,
832
+ "description": "The labels that indicate a passing result. Must be a subset of labels."
833
+ }
834
+ ],
835
+ "description": "A LabelModelGrader object which uses a model to assign labels to each item\nin the evaluation.\n"
836
+ },
837
+ {
838
+ "name": "ValidateGraderResponse",
839
+ "kind": "struct",
840
+ "fields": [
841
+ {
842
+ "name": "grader",
843
+ "type": {
844
+ "kind": "ref",
845
+ "name": "ValidateGraderRequestGrader"
846
+ },
847
+ "required": false,
848
+ "description": "The grader used for the fine-tuning job."
849
+ }
850
+ ]
851
+ }
852
+ ],
853
+ "resources": [
854
+ {
855
+ "name": "fine-tuning",
856
+ "resources": [
857
+ {
858
+ "name": "alpha",
859
+ "resources": [
860
+ {
861
+ "name": "graders",
862
+ "resources": [
863
+ {
864
+ "name": "validate",
865
+ "methods": [
866
+ {
867
+ "action": "create",
868
+ "httpMethod": "post",
869
+ "path": "/fine_tuning/alpha/graders/validate",
870
+ "operationId": "validateGrader",
871
+ "description": "Validate a grader.\n",
872
+ "requestBody": {
873
+ "contentType": "application/json",
874
+ "type": {
875
+ "kind": "ref",
876
+ "name": "ValidateGraderRequest"
877
+ },
878
+ "required": true,
879
+ "encoding": "json"
880
+ },
881
+ "responses": [
882
+ {
883
+ "status": "200",
884
+ "description": "OK",
885
+ "contentType": "application/json",
886
+ "type": {
887
+ "kind": "ref",
888
+ "name": "ValidateGraderResponse"
889
+ }
890
+ }
891
+ ],
892
+ "primaryResponse": {
893
+ "kind": "ref",
894
+ "name": "ValidateGraderResponse"
895
+ }
896
+ }
897
+ ]
898
+ }
899
+ ]
900
+ }
901
+ ]
902
+ }
903
+ ]
904
+ }
905
+ ],
906
+ "sdk": {
907
+ "retry": {
908
+ "maxRetries": 2,
909
+ "retryableStatusCodes": [
910
+ 408,
911
+ 429,
912
+ 500,
913
+ 502,
914
+ 503,
915
+ 504
916
+ ],
917
+ "retryConnectionErrors": true,
918
+ "honorRetryAfterHeader": true,
919
+ "backoff": {
920
+ "initialDelayMs": 500,
921
+ "maxDelayMs": 8000,
922
+ "multiplier": 2,
923
+ "jitter": 0.25
924
+ }
925
+ },
926
+ "timeout": {
927
+ "defaultTimeoutMs": 60000
928
+ },
929
+ "errors": {
930
+ "statusCodeMap": {
931
+ "400": "BadRequest",
932
+ "401": "Unauthorized",
933
+ "403": "PermissionDenied",
934
+ "404": "NotFound",
935
+ "409": "Conflict",
936
+ "422": "UnprocessableEntity",
937
+ "429": "RateLimited"
938
+ },
939
+ "clientErrorKind": "API",
940
+ "serverErrorKind": "Internal"
941
+ },
942
+ "userAgent": {
943
+ "sdkIdentifierTemplate": "{package}-{language}/{version}",
944
+ "includeRuntimeVersion": false,
945
+ "aiAgentEnvVars": {
946
+ "CLAUDE_CODE": "claude-code",
947
+ "CURSOR_AGENT": "cursor",
948
+ "CLINE_ACTIVE": "cline",
949
+ "WINDSURF_ACTIVE": "windsurf",
950
+ "COPILOT_AGENT": "copilot"
951
+ }
952
+ },
953
+ "telemetry": {
954
+ "requestIdHeader": "X-Request-ID",
955
+ "headerName": "X-Client-Telemetry",
956
+ "enabledByDefault": false
957
+ },
958
+ "logging": {
959
+ "events": [
960
+ "request.start",
961
+ "request.success",
962
+ "request.retry",
963
+ "request.rate_limited",
964
+ "request.error",
965
+ "request.connection_error"
966
+ ]
967
+ },
968
+ "idempotency": {
969
+ "headerName": "Idempotency-Key",
970
+ "autoGenerateForPost": true
971
+ },
972
+ "pagination": {
973
+ "autoPageDelayMs": 0
974
+ },
975
+ "requestGuard": {
976
+ "optionKeys": [
977
+ "api_key",
978
+ "apiKey",
979
+ "idempotency_key",
980
+ "idempotencyKey",
981
+ "extra_headers",
982
+ "extraHeaders",
983
+ "max_retries",
984
+ "maxRetries",
985
+ "base_url",
986
+ "baseUrl",
987
+ "timeout"
988
+ ]
989
+ }
990
+ }
991
+ }