@xyd-js/opencli2go 0.1.0-build.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__create/input.json +73 -0
  4. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__create/output.go +51 -0
  5. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__create/recorded.json +19 -0
  6. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__delete/input.json +61 -0
  7. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__delete/output.go +37 -0
  8. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__delete/recorded.json +15 -0
  9. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__list/input.json +97 -0
  10. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__list/output.go +59 -0
  11. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__list/recorded.json +14 -0
  12. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__retrieve/input.json +97 -0
  13. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__retrieve/output.go +59 -0
  14. package/__fixtures__/-2.complex.openai/admin__organization__admin-api-keys__retrieve/recorded.json +14 -0
  15. package/__fixtures__/-2.complex.openai/admin__organization__audit-logs__list/input.json +254 -0
  16. package/__fixtures__/-2.complex.openai/admin__organization__audit-logs__list/output.go +104 -0
  17. package/__fixtures__/-2.complex.openai/admin__organization__audit-logs__list/recorded.json +14 -0
  18. package/__fixtures__/-2.complex.openai/admin__organization__certificates__activate/input.json +90 -0
  19. package/__fixtures__/-2.complex.openai/admin__organization__certificates__activate/output.go +59 -0
  20. package/__fixtures__/-2.complex.openai/admin__organization__certificates__activate/recorded.json +19 -0
  21. package/__fixtures__/-2.complex.openai/admin__organization__certificates__create/input.json +90 -0
  22. package/__fixtures__/-2.complex.openai/admin__organization__certificates__create/output.go +59 -0
  23. package/__fixtures__/-2.complex.openai/admin__organization__certificates__create/recorded.json +19 -0
  24. package/__fixtures__/-2.complex.openai/admin__organization__certificates__deactivate/input.json +90 -0
  25. package/__fixtures__/-2.complex.openai/admin__organization__certificates__deactivate/output.go +59 -0
  26. package/__fixtures__/-2.complex.openai/admin__organization__certificates__deactivate/recorded.json +19 -0
  27. package/__fixtures__/-2.complex.openai/admin__organization__certificates__delete/input.json +62 -0
  28. package/__fixtures__/-2.complex.openai/admin__organization__certificates__delete/output.go +37 -0
  29. package/__fixtures__/-2.complex.openai/admin__organization__certificates__delete/recorded.json +15 -0
  30. package/__fixtures__/-2.complex.openai/admin__organization__certificates__list/input.json +100 -0
  31. package/__fixtures__/-2.complex.openai/admin__organization__certificates__list/output.go +62 -0
  32. package/__fixtures__/-2.complex.openai/admin__organization__certificates__list/recorded.json +14 -0
  33. package/__fixtures__/-2.complex.openai/admin__organization__certificates__retrieve/input.json +100 -0
  34. package/__fixtures__/-2.complex.openai/admin__organization__certificates__retrieve/output.go +62 -0
  35. package/__fixtures__/-2.complex.openai/admin__organization__certificates__retrieve/recorded.json +14 -0
  36. package/__fixtures__/-2.complex.openai/admin__organization__certificates__update/input.json +90 -0
  37. package/__fixtures__/-2.complex.openai/admin__organization__certificates__update/output.go +59 -0
  38. package/__fixtures__/-2.complex.openai/admin__organization__certificates__update/recorded.json +19 -0
  39. package/__fixtures__/-2.complex.openai/admin__organization__groups__create/input.json +74 -0
  40. package/__fixtures__/-2.complex.openai/admin__organization__groups__create/output.go +52 -0
  41. package/__fixtures__/-2.complex.openai/admin__organization__groups__create/recorded.json +19 -0
  42. package/__fixtures__/-2.complex.openai/admin__organization__groups__delete/input.json +62 -0
  43. package/__fixtures__/-2.complex.openai/admin__organization__groups__delete/output.go +37 -0
  44. package/__fixtures__/-2.complex.openai/admin__organization__groups__delete/recorded.json +15 -0
  45. package/__fixtures__/-2.complex.openai/admin__organization__groups__list/input.json +100 -0
  46. package/__fixtures__/-2.complex.openai/admin__organization__groups__list/output.go +62 -0
  47. package/__fixtures__/-2.complex.openai/admin__organization__groups__list/recorded.json +14 -0
  48. package/__fixtures__/-2.complex.openai/admin__organization__groups__retrieve/input.json +100 -0
  49. package/__fixtures__/-2.complex.openai/admin__organization__groups__retrieve/output.go +62 -0
  50. package/__fixtures__/-2.complex.openai/admin__organization__groups__retrieve/recorded.json +14 -0
  51. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__create/input.json +94 -0
  52. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__create/output.go +59 -0
  53. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__create/recorded.json +21 -0
  54. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__delete/input.json +78 -0
  55. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__delete/output.go +43 -0
  56. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__delete/recorded.json +17 -0
  57. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__list/input.json +118 -0
  58. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__list/output.go +68 -0
  59. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__list/recorded.json +16 -0
  60. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__retrieve/input.json +118 -0
  61. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__retrieve/output.go +68 -0
  62. package/__fixtures__/-2.complex.openai/admin__organization__groups__roles__retrieve/recorded.json +16 -0
  63. package/__fixtures__/-2.complex.openai/admin__organization__groups__update/input.json +74 -0
  64. package/__fixtures__/-2.complex.openai/admin__organization__groups__update/output.go +52 -0
  65. package/__fixtures__/-2.complex.openai/admin__organization__groups__update/recorded.json +19 -0
  66. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__create/input.json +94 -0
  67. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__create/output.go +59 -0
  68. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__create/recorded.json +21 -0
  69. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__delete/input.json +78 -0
  70. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__delete/output.go +43 -0
  71. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__delete/recorded.json +17 -0
  72. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__list/input.json +118 -0
  73. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__list/output.go +68 -0
  74. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__list/recorded.json +16 -0
  75. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__retrieve/input.json +118 -0
  76. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__retrieve/output.go +68 -0
  77. package/__fixtures__/-2.complex.openai/admin__organization__groups__users__retrieve/recorded.json +16 -0
  78. package/__fixtures__/-2.complex.openai/admin__organization__invites__create/input.json +115 -0
  79. package/__fixtures__/-2.complex.openai/admin__organization__invites__create/output.go +67 -0
  80. package/__fixtures__/-2.complex.openai/admin__organization__invites__create/recorded.json +22 -0
  81. package/__fixtures__/-2.complex.openai/admin__organization__invites__delete/input.json +62 -0
  82. package/__fixtures__/-2.complex.openai/admin__organization__invites__delete/output.go +37 -0
  83. package/__fixtures__/-2.complex.openai/admin__organization__invites__delete/recorded.json +15 -0
  84. package/__fixtures__/-2.complex.openai/admin__organization__invites__list/input.json +81 -0
  85. package/__fixtures__/-2.complex.openai/admin__organization__invites__list/output.go +55 -0
  86. package/__fixtures__/-2.complex.openai/admin__organization__invites__list/recorded.json +14 -0
  87. package/__fixtures__/-2.complex.openai/admin__organization__invites__retrieve/input.json +81 -0
  88. package/__fixtures__/-2.complex.openai/admin__organization__invites__retrieve/output.go +55 -0
  89. package/__fixtures__/-2.complex.openai/admin__organization__invites__retrieve/recorded.json +14 -0
  90. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__delete/input.json +78 -0
  91. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__delete/output.go +43 -0
  92. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__delete/recorded.json +17 -0
  93. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__list/input.json +99 -0
  94. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__list/output.go +61 -0
  95. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__list/recorded.json +16 -0
  96. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__retrieve/input.json +99 -0
  97. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__retrieve/output.go +61 -0
  98. package/__fixtures__/-2.complex.openai/admin__organization__projects__api-keys__retrieve/recorded.json +16 -0
  99. package/__fixtures__/-2.complex.openai/admin__organization__projects__archive/input.json +106 -0
  100. package/__fixtures__/-2.complex.openai/admin__organization__projects__archive/output.go +76 -0
  101. package/__fixtures__/-2.complex.openai/admin__organization__projects__archive/recorded.json +19 -0
  102. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__list/input.json +118 -0
  103. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__list/output.go +68 -0
  104. package/__fixtures__/-2.complex.openai/admin__organization__projects__certificates__list/recorded.json +16 -0
  105. package/__fixtures__/-2.complex.openai/admin__organization__projects__create/input.json +106 -0
  106. package/__fixtures__/-2.complex.openai/admin__organization__projects__create/output.go +76 -0
  107. package/__fixtures__/-2.complex.openai/admin__organization__projects__create/recorded.json +19 -0
  108. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__create/input.json +112 -0
  109. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__create/output.go +67 -0
  110. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__create/recorded.json +24 -0
  111. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__delete/input.json +78 -0
  112. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__delete/output.go +43 -0
  113. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__delete/recorded.json +17 -0
  114. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__list/input.json +118 -0
  115. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__list/output.go +68 -0
  116. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__list/recorded.json +16 -0
  117. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__retrieve/input.json +118 -0
  118. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__retrieve/output.go +68 -0
  119. package/__fixtures__/-2.complex.openai/admin__organization__projects__groups__retrieve/recorded.json +16 -0
  120. package/__fixtures__/-2.complex.openai/admin__organization__projects__list/input.json +91 -0
  121. package/__fixtures__/-2.complex.openai/admin__organization__projects__list/output.go +62 -0
  122. package/__fixtures__/-2.complex.openai/admin__organization__projects__list/recorded.json +14 -0
  123. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__list-rate-limits/input.json +114 -0
  124. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__list-rate-limits/output.go +68 -0
  125. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__list-rate-limits/recorded.json +16 -0
  126. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__update-rate-limit/input.json +183 -0
  127. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__update-rate-limit/output.go +94 -0
  128. package/__fixtures__/-2.complex.openai/admin__organization__projects__rate-limits__update-rate-limit/recorded.json +18 -0
  129. package/__fixtures__/-2.complex.openai/admin__organization__projects__retrieve/input.json +91 -0
  130. package/__fixtures__/-2.complex.openai/admin__organization__projects__retrieve/output.go +62 -0
  131. package/__fixtures__/-2.complex.openai/admin__organization__projects__retrieve/recorded.json +14 -0
  132. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__create/input.json +94 -0
  133. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__create/output.go +59 -0
  134. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__create/recorded.json +21 -0
  135. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__delete/input.json +78 -0
  136. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__delete/output.go +43 -0
  137. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__delete/recorded.json +17 -0
  138. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__list/input.json +99 -0
  139. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__list/output.go +61 -0
  140. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__list/recorded.json +16 -0
  141. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__retrieve/input.json +99 -0
  142. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__retrieve/output.go +61 -0
  143. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__retrieve/recorded.json +16 -0
  144. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__update/input.json +94 -0
  145. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__update/output.go +59 -0
  146. package/__fixtures__/-2.complex.openai/admin__organization__projects__service-accounts__update/recorded.json +21 -0
  147. package/__fixtures__/-2.complex.openai/admin__organization__projects__update/input.json +106 -0
  148. package/__fixtures__/-2.complex.openai/admin__organization__projects__update/output.go +76 -0
  149. package/__fixtures__/-2.complex.openai/admin__organization__projects__update/recorded.json +19 -0
  150. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__create/input.json +126 -0
  151. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__create/output.go +83 -0
  152. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__create/recorded.json +21 -0
  153. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__delete/input.json +78 -0
  154. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__delete/output.go +43 -0
  155. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__delete/recorded.json +17 -0
  156. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__list/input.json +99 -0
  157. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__list/output.go +61 -0
  158. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__list/recorded.json +16 -0
  159. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__retrieve/input.json +99 -0
  160. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__retrieve/output.go +61 -0
  161. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__retrieve/recorded.json +16 -0
  162. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__update/input.json +126 -0
  163. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__update/output.go +83 -0
  164. package/__fixtures__/-2.complex.openai/admin__organization__projects__users__update/recorded.json +21 -0
  165. package/__fixtures__/-2.complex.openai/admin__organization__roles__create/input.json +111 -0
  166. package/__fixtures__/-2.complex.openai/admin__organization__roles__create/output.go +72 -0
  167. package/__fixtures__/-2.complex.openai/admin__organization__roles__create/recorded.json +22 -0
  168. package/__fixtures__/-2.complex.openai/admin__organization__roles__delete/input.json +62 -0
  169. package/__fixtures__/-2.complex.openai/admin__organization__roles__delete/output.go +37 -0
  170. package/__fixtures__/-2.complex.openai/admin__organization__roles__delete/recorded.json +15 -0
  171. package/__fixtures__/-2.complex.openai/admin__organization__roles__list/input.json +100 -0
  172. package/__fixtures__/-2.complex.openai/admin__organization__roles__list/output.go +62 -0
  173. package/__fixtures__/-2.complex.openai/admin__organization__roles__list/recorded.json +14 -0
  174. package/__fixtures__/-2.complex.openai/admin__organization__roles__retrieve/input.json +100 -0
  175. package/__fixtures__/-2.complex.openai/admin__organization__roles__retrieve/output.go +62 -0
  176. package/__fixtures__/-2.complex.openai/admin__organization__roles__retrieve/recorded.json +14 -0
  177. package/__fixtures__/-2.complex.openai/admin__organization__roles__update/input.json +111 -0
  178. package/__fixtures__/-2.complex.openai/admin__organization__roles__update/output.go +72 -0
  179. package/__fixtures__/-2.complex.openai/admin__organization__roles__update/recorded.json +22 -0
  180. package/__fixtures__/-2.complex.openai/admin__organization__users__delete/input.json +62 -0
  181. package/__fixtures__/-2.complex.openai/admin__organization__users__delete/output.go +37 -0
  182. package/__fixtures__/-2.complex.openai/admin__organization__users__delete/recorded.json +15 -0
  183. package/__fixtures__/-2.complex.openai/admin__organization__users__list/input.json +99 -0
  184. package/__fixtures__/-2.complex.openai/admin__organization__users__list/output.go +62 -0
  185. package/__fixtures__/-2.complex.openai/admin__organization__users__list/recorded.json +14 -0
  186. package/__fixtures__/-2.complex.openai/admin__organization__users__retrieve/input.json +99 -0
  187. package/__fixtures__/-2.complex.openai/admin__organization__users__retrieve/output.go +62 -0
  188. package/__fixtures__/-2.complex.openai/admin__organization__users__retrieve/recorded.json +14 -0
  189. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__create/input.json +94 -0
  190. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__create/output.go +59 -0
  191. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__create/recorded.json +21 -0
  192. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__delete/input.json +78 -0
  193. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__delete/output.go +43 -0
  194. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__delete/recorded.json +17 -0
  195. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__list/input.json +118 -0
  196. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__list/output.go +68 -0
  197. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__list/recorded.json +16 -0
  198. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__retrieve/input.json +118 -0
  199. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__retrieve/output.go +68 -0
  200. package/__fixtures__/-2.complex.openai/admin__organization__users__roles__retrieve/recorded.json +16 -0
  201. package/__fixtures__/-2.complex.openai/admin__organization__users__update/input.json +135 -0
  202. package/__fixtures__/-2.complex.openai/admin__organization__users__update/output.go +94 -0
  203. package/__fixtures__/-2.complex.openai/admin__organization__users__update/recorded.json +16 -0
  204. package/__fixtures__/-2.complex.openai/audio__speech__create/input.json +186 -0
  205. package/__fixtures__/-2.complex.openai/audio__speech__create/output.go +106 -0
  206. package/__fixtures__/-2.complex.openai/audio__speech__create/recorded.json +25 -0
  207. package/__fixtures__/-2.complex.openai/audio__transcriptions__create/input.json +277 -0
  208. package/__fixtures__/-2.complex.openai/audio__transcriptions__create/output.go +143 -0
  209. package/__fixtures__/-2.complex.openai/audio__transcriptions__create/recorded.json +22 -0
  210. package/__fixtures__/-2.complex.openai/audio__translations__create/input.json +147 -0
  211. package/__fixtures__/-2.complex.openai/audio__translations__create/output.go +86 -0
  212. package/__fixtures__/-2.complex.openai/audio__translations__create/recorded.json +22 -0
  213. package/__fixtures__/-2.complex.openai/batches__cancel/input.json +149 -0
  214. package/__fixtures__/-2.complex.openai/batches__cancel/output.go +86 -0
  215. package/__fixtures__/-2.complex.openai/batches__cancel/recorded.json +24 -0
  216. package/__fixtures__/-2.complex.openai/batches__create/input.json +149 -0
  217. package/__fixtures__/-2.complex.openai/batches__create/output.go +86 -0
  218. package/__fixtures__/-2.complex.openai/batches__create/recorded.json +24 -0
  219. package/__fixtures__/-2.complex.openai/batches__list/input.json +76 -0
  220. package/__fixtures__/-2.complex.openai/batches__list/output.go +50 -0
  221. package/__fixtures__/-2.complex.openai/batches__list/recorded.json +13 -0
  222. package/__fixtures__/-2.complex.openai/batches__retrieve/input.json +76 -0
  223. package/__fixtures__/-2.complex.openai/batches__retrieve/output.go +50 -0
  224. package/__fixtures__/-2.complex.openai/batches__retrieve/recorded.json +13 -0
  225. package/__fixtures__/-2.complex.openai/beta__assistants__create/input.json +223 -0
  226. package/__fixtures__/-2.complex.openai/beta__assistants__create/output.go +158 -0
  227. package/__fixtures__/-2.complex.openai/beta__assistants__create/recorded.json +18 -0
  228. package/__fixtures__/-2.complex.openai/beta__assistants__delete/input.json +57 -0
  229. package/__fixtures__/-2.complex.openai/beta__assistants__delete/output.go +32 -0
  230. package/__fixtures__/-2.complex.openai/beta__assistants__delete/recorded.json +14 -0
  231. package/__fixtures__/-2.complex.openai/beta__assistants__list/input.json +110 -0
  232. package/__fixtures__/-2.complex.openai/beta__assistants__list/output.go +64 -0
  233. package/__fixtures__/-2.complex.openai/beta__assistants__list/recorded.json +13 -0
  234. package/__fixtures__/-2.complex.openai/beta__assistants__retrieve/input.json +110 -0
  235. package/__fixtures__/-2.complex.openai/beta__assistants__retrieve/output.go +64 -0
  236. package/__fixtures__/-2.complex.openai/beta__assistants__retrieve/recorded.json +13 -0
  237. package/__fixtures__/-2.complex.openai/beta__assistants__update/input.json +223 -0
  238. package/__fixtures__/-2.complex.openai/beta__assistants__update/output.go +158 -0
  239. package/__fixtures__/-2.complex.openai/beta__assistants__update/recorded.json +18 -0
  240. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__cancel/input.json +140 -0
  241. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__cancel/output.go +101 -0
  242. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__cancel/recorded.json +22 -0
  243. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__create/input.json +140 -0
  244. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__create/output.go +101 -0
  245. package/__fixtures__/-2.complex.openai/beta__chatkit__sessions__create/recorded.json +22 -0
  246. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__delete/input.json +62 -0
  247. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__delete/output.go +37 -0
  248. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__delete/recorded.json +15 -0
  249. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list/input.json +65 -0
  250. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list/output.go +40 -0
  251. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list/recorded.json +15 -0
  252. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list-items/input.json +65 -0
  253. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list-items/output.go +40 -0
  254. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__list-items/recorded.json +15 -0
  255. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__retrieve/input.json +65 -0
  256. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__retrieve/output.go +40 -0
  257. package/__fixtures__/-2.complex.openai/beta__chatkit__threads__retrieve/recorded.json +15 -0
  258. package/__fixtures__/-2.complex.openai/beta__threads__create/input.json +100 -0
  259. package/__fixtures__/-2.complex.openai/beta__threads__create/output.go +68 -0
  260. package/__fixtures__/-2.complex.openai/beta__threads__create/recorded.json +14 -0
  261. package/__fixtures__/-2.complex.openai/beta__threads__create-and-run/input.json +100 -0
  262. package/__fixtures__/-2.complex.openai/beta__threads__create-and-run/output.go +68 -0
  263. package/__fixtures__/-2.complex.openai/beta__threads__create-and-run/recorded.json +14 -0
  264. package/__fixtures__/-2.complex.openai/beta__threads__delete/input.json +57 -0
  265. package/__fixtures__/-2.complex.openai/beta__threads__delete/output.go +32 -0
  266. package/__fixtures__/-2.complex.openai/beta__threads__delete/recorded.json +14 -0
  267. package/__fixtures__/-2.complex.openai/beta__threads__messages__create/input.json +140 -0
  268. package/__fixtures__/-2.complex.openai/beta__threads__messages__create/output.go +88 -0
  269. package/__fixtures__/-2.complex.openai/beta__threads__messages__create/recorded.json +23 -0
  270. package/__fixtures__/-2.complex.openai/beta__threads__messages__delete/input.json +73 -0
  271. package/__fixtures__/-2.complex.openai/beta__threads__messages__delete/output.go +38 -0
  272. package/__fixtures__/-2.complex.openai/beta__threads__messages__delete/recorded.json +16 -0
  273. package/__fixtures__/-2.complex.openai/beta__threads__messages__list/input.json +143 -0
  274. package/__fixtures__/-2.complex.openai/beta__threads__messages__list/output.go +77 -0
  275. package/__fixtures__/-2.complex.openai/beta__threads__messages__list/recorded.json +15 -0
  276. package/__fixtures__/-2.complex.openai/beta__threads__messages__retrieve/input.json +143 -0
  277. package/__fixtures__/-2.complex.openai/beta__threads__messages__retrieve/output.go +77 -0
  278. package/__fixtures__/-2.complex.openai/beta__threads__messages__retrieve/recorded.json +15 -0
  279. package/__fixtures__/-2.complex.openai/beta__threads__messages__update/input.json +140 -0
  280. package/__fixtures__/-2.complex.openai/beta__threads__messages__update/output.go +88 -0
  281. package/__fixtures__/-2.complex.openai/beta__threads__messages__update/recorded.json +23 -0
  282. package/__fixtures__/-2.complex.openai/beta__threads__retrieve/input.json +60 -0
  283. package/__fixtures__/-2.complex.openai/beta__threads__retrieve/output.go +35 -0
  284. package/__fixtures__/-2.complex.openai/beta__threads__retrieve/recorded.json +14 -0
  285. package/__fixtures__/-2.complex.openai/beta__threads__runs__cancel/input.json +304 -0
  286. package/__fixtures__/-2.complex.openai/beta__threads__runs__cancel/output.go +189 -0
  287. package/__fixtures__/-2.complex.openai/beta__threads__runs__cancel/recorded.json +19 -0
  288. package/__fixtures__/-2.complex.openai/beta__threads__runs__create/input.json +304 -0
  289. package/__fixtures__/-2.complex.openai/beta__threads__runs__create/output.go +189 -0
  290. package/__fixtures__/-2.complex.openai/beta__threads__runs__create/recorded.json +19 -0
  291. package/__fixtures__/-2.complex.openai/beta__threads__runs__list/input.json +128 -0
  292. package/__fixtures__/-2.complex.openai/beta__threads__runs__list/output.go +70 -0
  293. package/__fixtures__/-2.complex.openai/beta__threads__runs__list/recorded.json +15 -0
  294. package/__fixtures__/-2.complex.openai/beta__threads__runs__retrieve/input.json +128 -0
  295. package/__fixtures__/-2.complex.openai/beta__threads__runs__retrieve/output.go +70 -0
  296. package/__fixtures__/-2.complex.openai/beta__threads__runs__retrieve/recorded.json +15 -0
  297. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__list/input.json +165 -0
  298. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__list/output.go +83 -0
  299. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__list/recorded.json +17 -0
  300. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__retrieve/input.json +165 -0
  301. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__retrieve/output.go +83 -0
  302. package/__fixtures__/-2.complex.openai/beta__threads__runs__steps__retrieve/recorded.json +17 -0
  303. package/__fixtures__/-2.complex.openai/beta__threads__runs__submit-tool-outputs/input.json +304 -0
  304. package/__fixtures__/-2.complex.openai/beta__threads__runs__submit-tool-outputs/output.go +189 -0
  305. package/__fixtures__/-2.complex.openai/beta__threads__runs__submit-tool-outputs/recorded.json +19 -0
  306. package/__fixtures__/-2.complex.openai/beta__threads__runs__update/input.json +304 -0
  307. package/__fixtures__/-2.complex.openai/beta__threads__runs__update/output.go +189 -0
  308. package/__fixtures__/-2.complex.openai/beta__threads__runs__update/recorded.json +19 -0
  309. package/__fixtures__/-2.complex.openai/beta__threads__update/input.json +100 -0
  310. package/__fixtures__/-2.complex.openai/beta__threads__update/output.go +68 -0
  311. package/__fixtures__/-2.complex.openai/beta__threads__update/recorded.json +14 -0
  312. package/__fixtures__/-2.complex.openai/chat__completions__create/input.json +600 -0
  313. package/__fixtures__/-2.complex.openai/chat__completions__create/output.go +372 -0
  314. package/__fixtures__/-2.complex.openai/chat__completions__create/recorded.json +22 -0
  315. package/__fixtures__/-2.complex.openai/chat__completions__delete/input.json +62 -0
  316. package/__fixtures__/-2.complex.openai/chat__completions__delete/output.go +37 -0
  317. package/__fixtures__/-2.complex.openai/chat__completions__delete/recorded.json +15 -0
  318. package/__fixtures__/-2.complex.openai/chat__completions__list/input.json +130 -0
  319. package/__fixtures__/-2.complex.openai/chat__completions__list/output.go +76 -0
  320. package/__fixtures__/-2.complex.openai/chat__completions__list/recorded.json +14 -0
  321. package/__fixtures__/-2.complex.openai/chat__completions__messages__list/input.json +118 -0
  322. package/__fixtures__/-2.complex.openai/chat__completions__messages__list/output.go +68 -0
  323. package/__fixtures__/-2.complex.openai/chat__completions__messages__list/recorded.json +16 -0
  324. package/__fixtures__/-2.complex.openai/chat__completions__retrieve/input.json +130 -0
  325. package/__fixtures__/-2.complex.openai/chat__completions__retrieve/output.go +76 -0
  326. package/__fixtures__/-2.complex.openai/chat__completions__retrieve/recorded.json +14 -0
  327. package/__fixtures__/-2.complex.openai/chat__completions__update/input.json +600 -0
  328. package/__fixtures__/-2.complex.openai/chat__completions__update/output.go +372 -0
  329. package/__fixtures__/-2.complex.openai/chat__completions__update/recorded.json +22 -0
  330. package/__fixtures__/-2.complex.openai/completions__create/input.json +332 -0
  331. package/__fixtures__/-2.complex.openai/completions__create/output.go +191 -0
  332. package/__fixtures__/-2.complex.openai/completions__create/recorded.json +21 -0
  333. package/__fixtures__/-2.complex.openai/containers__create/input.json +161 -0
  334. package/__fixtures__/-2.complex.openai/containers__create/output.go +92 -0
  335. package/__fixtures__/-2.complex.openai/containers__create/recorded.json +18 -0
  336. package/__fixtures__/-2.complex.openai/containers__delete/input.json +57 -0
  337. package/__fixtures__/-2.complex.openai/containers__delete/output.go +32 -0
  338. package/__fixtures__/-2.complex.openai/containers__delete/recorded.json +14 -0
  339. package/__fixtures__/-2.complex.openai/containers__files__content__retrieve/input.json +76 -0
  340. package/__fixtures__/-2.complex.openai/containers__files__content__retrieve/output.go +43 -0
  341. package/__fixtures__/-2.complex.openai/containers__files__content__retrieve/recorded.json +17 -0
  342. package/__fixtures__/-2.complex.openai/containers__files__create/input.json +102 -0
  343. package/__fixtures__/-2.complex.openai/containers__files__create/output.go +60 -0
  344. package/__fixtures__/-2.complex.openai/containers__files__create/recorded.json +16 -0
  345. package/__fixtures__/-2.complex.openai/containers__files__delete/input.json +71 -0
  346. package/__fixtures__/-2.complex.openai/containers__files__delete/output.go +38 -0
  347. package/__fixtures__/-2.complex.openai/containers__files__delete/recorded.json +16 -0
  348. package/__fixtures__/-2.complex.openai/containers__files__list/input.json +112 -0
  349. package/__fixtures__/-2.complex.openai/containers__files__list/output.go +63 -0
  350. package/__fixtures__/-2.complex.openai/containers__files__list/recorded.json +15 -0
  351. package/__fixtures__/-2.complex.openai/containers__files__retrieve/input.json +112 -0
  352. package/__fixtures__/-2.complex.openai/containers__files__retrieve/output.go +63 -0
  353. package/__fixtures__/-2.complex.openai/containers__files__retrieve/recorded.json +15 -0
  354. package/__fixtures__/-2.complex.openai/containers__list/input.json +110 -0
  355. package/__fixtures__/-2.complex.openai/containers__list/output.go +64 -0
  356. package/__fixtures__/-2.complex.openai/containers__list/recorded.json +13 -0
  357. package/__fixtures__/-2.complex.openai/containers__retrieve/input.json +110 -0
  358. package/__fixtures__/-2.complex.openai/containers__retrieve/output.go +64 -0
  359. package/__fixtures__/-2.complex.openai/containers__retrieve/recorded.json +13 -0
  360. package/__fixtures__/-2.complex.openai/conversations__create/input.json +81 -0
  361. package/__fixtures__/-2.complex.openai/conversations__create/output.go +61 -0
  362. package/__fixtures__/-2.complex.openai/conversations__create/recorded.json +14 -0
  363. package/__fixtures__/-2.complex.openai/conversations__delete/input.json +57 -0
  364. package/__fixtures__/-2.complex.openai/conversations__delete/output.go +32 -0
  365. package/__fixtures__/-2.complex.openai/conversations__delete/recorded.json +14 -0
  366. package/__fixtures__/-2.complex.openai/conversations__items__create/input.json +120 -0
  367. package/__fixtures__/-2.complex.openai/conversations__items__create/output.go +64 -0
  368. package/__fixtures__/-2.complex.openai/conversations__items__create/recorded.json +20 -0
  369. package/__fixtures__/-2.complex.openai/conversations__items__delete/input.json +73 -0
  370. package/__fixtures__/-2.complex.openai/conversations__items__delete/output.go +38 -0
  371. package/__fixtures__/-2.complex.openai/conversations__items__delete/recorded.json +16 -0
  372. package/__fixtures__/-2.complex.openai/conversations__items__list/input.json +141 -0
  373. package/__fixtures__/-2.complex.openai/conversations__items__list/output.go +70 -0
  374. package/__fixtures__/-2.complex.openai/conversations__items__list/recorded.json +15 -0
  375. package/__fixtures__/-2.complex.openai/conversations__items__retrieve/input.json +141 -0
  376. package/__fixtures__/-2.complex.openai/conversations__items__retrieve/output.go +70 -0
  377. package/__fixtures__/-2.complex.openai/conversations__items__retrieve/recorded.json +15 -0
  378. package/__fixtures__/-2.complex.openai/conversations__retrieve/input.json +60 -0
  379. package/__fixtures__/-2.complex.openai/conversations__retrieve/output.go +35 -0
  380. package/__fixtures__/-2.complex.openai/conversations__retrieve/recorded.json +14 -0
  381. package/__fixtures__/-2.complex.openai/conversations__update/input.json +81 -0
  382. package/__fixtures__/-2.complex.openai/conversations__update/output.go +61 -0
  383. package/__fixtures__/-2.complex.openai/conversations__update/recorded.json +14 -0
  384. package/__fixtures__/-2.complex.openai/embeddings__create/input.json +139 -0
  385. package/__fixtures__/-2.complex.openai/embeddings__create/output.go +86 -0
  386. package/__fixtures__/-2.complex.openai/embeddings__create/recorded.json +21 -0
  387. package/__fixtures__/-2.complex.openai/files__content/input.json +110 -0
  388. package/__fixtures__/-2.complex.openai/files__content/output.go +64 -0
  389. package/__fixtures__/-2.complex.openai/files__content/recorded.json +13 -0
  390. package/__fixtures__/-2.complex.openai/files__create/input.json +111 -0
  391. package/__fixtures__/-2.complex.openai/files__create/output.go +67 -0
  392. package/__fixtures__/-2.complex.openai/files__create/recorded.json +21 -0
  393. package/__fixtures__/-2.complex.openai/files__delete/input.json +57 -0
  394. package/__fixtures__/-2.complex.openai/files__delete/output.go +32 -0
  395. package/__fixtures__/-2.complex.openai/files__delete/recorded.json +14 -0
  396. package/__fixtures__/-2.complex.openai/files__list/input.json +110 -0
  397. package/__fixtures__/-2.complex.openai/files__list/output.go +64 -0
  398. package/__fixtures__/-2.complex.openai/files__list/recorded.json +13 -0
  399. package/__fixtures__/-2.complex.openai/files__retrieve/input.json +110 -0
  400. package/__fixtures__/-2.complex.openai/files__retrieve/output.go +64 -0
  401. package/__fixtures__/-2.complex.openai/files__retrieve/recorded.json +13 -0
  402. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__create/input.json +97 -0
  403. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__create/output.go +59 -0
  404. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__create/recorded.json +21 -0
  405. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__delete/input.json +78 -0
  406. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__delete/output.go +43 -0
  407. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__delete/recorded.json +17 -0
  408. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__retrieve/input.json +133 -0
  409. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__retrieve/output.go +75 -0
  410. package/__fixtures__/-2.complex.openai/fine-tuning__checkpoints__permissions__retrieve/recorded.json +16 -0
  411. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__cancel/input.json +206 -0
  412. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__cancel/output.go +128 -0
  413. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__cancel/recorded.json +22 -0
  414. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__checkpoints__list/input.json +99 -0
  415. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__checkpoints__list/output.go +61 -0
  416. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__checkpoints__list/recorded.json +16 -0
  417. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__create/input.json +206 -0
  418. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__create/output.go +128 -0
  419. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__create/recorded.json +22 -0
  420. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list/input.json +98 -0
  421. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list/output.go +62 -0
  422. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list/recorded.json +14 -0
  423. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list-events/input.json +98 -0
  424. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list-events/output.go +62 -0
  425. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__list-events/recorded.json +14 -0
  426. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__pause/input.json +206 -0
  427. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__pause/output.go +128 -0
  428. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__pause/recorded.json +22 -0
  429. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__resume/input.json +206 -0
  430. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__resume/output.go +128 -0
  431. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__resume/recorded.json +22 -0
  432. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__retrieve/input.json +98 -0
  433. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__retrieve/output.go +62 -0
  434. package/__fixtures__/-2.complex.openai/fine-tuning__jobs__retrieve/recorded.json +14 -0
  435. package/__fixtures__/-2.complex.openai/models__delete/input.json +57 -0
  436. package/__fixtures__/-2.complex.openai/models__delete/output.go +32 -0
  437. package/__fixtures__/-2.complex.openai/models__delete/recorded.json +14 -0
  438. package/__fixtures__/-2.complex.openai/models__list/input.json +42 -0
  439. package/__fixtures__/-2.complex.openai/models__list/output.go +30 -0
  440. package/__fixtures__/-2.complex.openai/models__list/recorded.json +13 -0
  441. package/__fixtures__/-2.complex.openai/models__retrieve/input.json +42 -0
  442. package/__fixtures__/-2.complex.openai/models__retrieve/output.go +30 -0
  443. package/__fixtures__/-2.complex.openai/models__retrieve/recorded.json +13 -0
  444. package/__fixtures__/-2.complex.openai/moderations__create/input.json +85 -0
  445. package/__fixtures__/-2.complex.openai/moderations__create/output.go +64 -0
  446. package/__fixtures__/-2.complex.openai/moderations__create/recorded.json +18 -0
  447. package/__fixtures__/-2.complex.openai/realtime__calls__accept/input.json +90 -0
  448. package/__fixtures__/-2.complex.openai/realtime__calls__accept/output.go +64 -0
  449. package/__fixtures__/-2.complex.openai/realtime__calls__accept/recorded.json +19 -0
  450. package/__fixtures__/-2.complex.openai/realtime__calls__hangup/input.json +90 -0
  451. package/__fixtures__/-2.complex.openai/realtime__calls__hangup/output.go +64 -0
  452. package/__fixtures__/-2.complex.openai/realtime__calls__hangup/recorded.json +19 -0
  453. package/__fixtures__/-2.complex.openai/realtime__calls__refer/input.json +90 -0
  454. package/__fixtures__/-2.complex.openai/realtime__calls__refer/output.go +64 -0
  455. package/__fixtures__/-2.complex.openai/realtime__calls__refer/recorded.json +19 -0
  456. package/__fixtures__/-2.complex.openai/realtime__calls__reject/input.json +90 -0
  457. package/__fixtures__/-2.complex.openai/realtime__calls__reject/output.go +64 -0
  458. package/__fixtures__/-2.complex.openai/realtime__calls__reject/recorded.json +19 -0
  459. package/__fixtures__/-2.complex.openai/realtime__client-secrets__create/input.json +88 -0
  460. package/__fixtures__/-2.complex.openai/realtime__client-secrets__create/output.go +68 -0
  461. package/__fixtures__/-2.complex.openai/realtime__client-secrets__create/recorded.json +15 -0
  462. package/__fixtures__/-2.complex.openai/responses__cancel/input.json +498 -0
  463. package/__fixtures__/-2.complex.openai/responses__cancel/output.go +342 -0
  464. package/__fixtures__/-2.complex.openai/responses__cancel/recorded.json +14 -0
  465. package/__fixtures__/-2.complex.openai/responses__compact/input.json +498 -0
  466. package/__fixtures__/-2.complex.openai/responses__compact/output.go +342 -0
  467. package/__fixtures__/-2.complex.openai/responses__compact/recorded.json +14 -0
  468. package/__fixtures__/-2.complex.openai/responses__create/input.json +498 -0
  469. package/__fixtures__/-2.complex.openai/responses__create/output.go +342 -0
  470. package/__fixtures__/-2.complex.openai/responses__create/recorded.json +14 -0
  471. package/__fixtures__/-2.complex.openai/responses__delete/input.json +57 -0
  472. package/__fixtures__/-2.complex.openai/responses__delete/output.go +32 -0
  473. package/__fixtures__/-2.complex.openai/responses__delete/recorded.json +14 -0
  474. package/__fixtures__/-2.complex.openai/responses__input-items__list/input.json +141 -0
  475. package/__fixtures__/-2.complex.openai/responses__input-items__list/output.go +70 -0
  476. package/__fixtures__/-2.complex.openai/responses__input-items__list/recorded.json +15 -0
  477. package/__fixtures__/-2.complex.openai/responses__input-tokens__count/input.json +226 -0
  478. package/__fixtures__/-2.complex.openai/responses__input-tokens__count/output.go +161 -0
  479. package/__fixtures__/-2.complex.openai/responses__input-tokens__count/recorded.json +15 -0
  480. package/__fixtures__/-2.complex.openai/responses__retrieve/input.json +125 -0
  481. package/__fixtures__/-2.complex.openai/responses__retrieve/output.go +68 -0
  482. package/__fixtures__/-2.complex.openai/responses__retrieve/recorded.json +14 -0
  483. package/__fixtures__/-2.complex.openai/skills__content__retrieve/input.json +62 -0
  484. package/__fixtures__/-2.complex.openai/skills__content__retrieve/output.go +37 -0
  485. package/__fixtures__/-2.complex.openai/skills__content__retrieve/recorded.json +15 -0
  486. package/__fixtures__/-2.complex.openai/skills__create/input.json +68 -0
  487. package/__fixtures__/-2.complex.openai/skills__create/output.go +51 -0
  488. package/__fixtures__/-2.complex.openai/skills__create/recorded.json +18 -0
  489. package/__fixtures__/-2.complex.openai/skills__delete/input.json +57 -0
  490. package/__fixtures__/-2.complex.openai/skills__delete/output.go +32 -0
  491. package/__fixtures__/-2.complex.openai/skills__delete/recorded.json +14 -0
  492. package/__fixtures__/-2.complex.openai/skills__list/input.json +95 -0
  493. package/__fixtures__/-2.complex.openai/skills__list/output.go +57 -0
  494. package/__fixtures__/-2.complex.openai/skills__list/recorded.json +13 -0
  495. package/__fixtures__/-2.complex.openai/skills__retrieve/input.json +95 -0
  496. package/__fixtures__/-2.complex.openai/skills__retrieve/output.go +57 -0
  497. package/__fixtures__/-2.complex.openai/skills__retrieve/recorded.json +13 -0
  498. package/__fixtures__/-2.complex.openai/skills__update/input.json +68 -0
  499. package/__fixtures__/-2.complex.openai/skills__update/output.go +51 -0
  500. package/__fixtures__/-2.complex.openai/skills__update/recorded.json +18 -0
  501. package/__fixtures__/-2.complex.openai/skills__versions__content__retrieve/input.json +78 -0
  502. package/__fixtures__/-2.complex.openai/skills__versions__content__retrieve/output.go +43 -0
  503. package/__fixtures__/-2.complex.openai/skills__versions__content__retrieve/recorded.json +17 -0
  504. package/__fixtures__/-2.complex.openai/skills__versions__create/input.json +99 -0
  505. package/__fixtures__/-2.complex.openai/skills__versions__create/output.go +65 -0
  506. package/__fixtures__/-2.complex.openai/skills__versions__create/recorded.json +20 -0
  507. package/__fixtures__/-2.complex.openai/skills__versions__delete/input.json +73 -0
  508. package/__fixtures__/-2.complex.openai/skills__versions__delete/output.go +38 -0
  509. package/__fixtures__/-2.complex.openai/skills__versions__delete/recorded.json +16 -0
  510. package/__fixtures__/-2.complex.openai/skills__versions__list/input.json +113 -0
  511. package/__fixtures__/-2.complex.openai/skills__versions__list/output.go +63 -0
  512. package/__fixtures__/-2.complex.openai/skills__versions__list/recorded.json +15 -0
  513. package/__fixtures__/-2.complex.openai/skills__versions__retrieve/input.json +113 -0
  514. package/__fixtures__/-2.complex.openai/skills__versions__retrieve/output.go +63 -0
  515. package/__fixtures__/-2.complex.openai/skills__versions__retrieve/recorded.json +15 -0
  516. package/__fixtures__/-2.complex.openai/uploads__cancel/input.json +145 -0
  517. package/__fixtures__/-2.complex.openai/uploads__cancel/output.go +83 -0
  518. package/__fixtures__/-2.complex.openai/uploads__cancel/recorded.json +27 -0
  519. package/__fixtures__/-2.complex.openai/uploads__complete/input.json +145 -0
  520. package/__fixtures__/-2.complex.openai/uploads__complete/output.go +83 -0
  521. package/__fixtures__/-2.complex.openai/uploads__complete/recorded.json +27 -0
  522. package/__fixtures__/-2.complex.openai/uploads__create/input.json +145 -0
  523. package/__fixtures__/-2.complex.openai/uploads__create/output.go +83 -0
  524. package/__fixtures__/-2.complex.openai/uploads__create/recorded.json +27 -0
  525. package/__fixtures__/-2.complex.openai/uploads__parts__create/input.json +89 -0
  526. package/__fixtures__/-2.complex.openai/uploads__parts__create/output.go +54 -0
  527. package/__fixtures__/-2.complex.openai/uploads__parts__create/recorded.json +20 -0
  528. package/__fixtures__/-2.complex.openai/vector-stores__create/input.json +149 -0
  529. package/__fixtures__/-2.complex.openai/vector-stores__create/output.go +95 -0
  530. package/__fixtures__/-2.complex.openai/vector-stores__create/recorded.json +14 -0
  531. package/__fixtures__/-2.complex.openai/vector-stores__delete/input.json +57 -0
  532. package/__fixtures__/-2.complex.openai/vector-stores__delete/output.go +32 -0
  533. package/__fixtures__/-2.complex.openai/vector-stores__delete/recorded.json +14 -0
  534. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__cancel/input.json +140 -0
  535. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__cancel/output.go +83 -0
  536. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__cancel/recorded.json +16 -0
  537. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__create/input.json +140 -0
  538. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__create/output.go +83 -0
  539. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__create/recorded.json +16 -0
  540. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__list-files/input.json +76 -0
  541. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__list-files/output.go +41 -0
  542. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__list-files/recorded.json +16 -0
  543. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__retrieve/input.json +76 -0
  544. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__retrieve/output.go +41 -0
  545. package/__fixtures__/-2.complex.openai/vector-stores__file-batches__retrieve/recorded.json +16 -0
  546. package/__fixtures__/-2.complex.openai/vector-stores__files__content/input.json +149 -0
  547. package/__fixtures__/-2.complex.openai/vector-stores__files__content/output.go +77 -0
  548. package/__fixtures__/-2.complex.openai/vector-stores__files__content/recorded.json +15 -0
  549. package/__fixtures__/-2.complex.openai/vector-stores__files__create/input.json +120 -0
  550. package/__fixtures__/-2.complex.openai/vector-stores__files__create/output.go +77 -0
  551. package/__fixtures__/-2.complex.openai/vector-stores__files__create/recorded.json +20 -0
  552. package/__fixtures__/-2.complex.openai/vector-stores__files__delete/input.json +73 -0
  553. package/__fixtures__/-2.complex.openai/vector-stores__files__delete/output.go +38 -0
  554. package/__fixtures__/-2.complex.openai/vector-stores__files__delete/recorded.json +16 -0
  555. package/__fixtures__/-2.complex.openai/vector-stores__files__list/input.json +149 -0
  556. package/__fixtures__/-2.complex.openai/vector-stores__files__list/output.go +77 -0
  557. package/__fixtures__/-2.complex.openai/vector-stores__files__list/recorded.json +15 -0
  558. package/__fixtures__/-2.complex.openai/vector-stores__files__retrieve/input.json +149 -0
  559. package/__fixtures__/-2.complex.openai/vector-stores__files__retrieve/output.go +77 -0
  560. package/__fixtures__/-2.complex.openai/vector-stores__files__retrieve/recorded.json +15 -0
  561. package/__fixtures__/-2.complex.openai/vector-stores__files__update/input.json +120 -0
  562. package/__fixtures__/-2.complex.openai/vector-stores__files__update/output.go +77 -0
  563. package/__fixtures__/-2.complex.openai/vector-stores__files__update/recorded.json +20 -0
  564. package/__fixtures__/-2.complex.openai/vector-stores__list/input.json +110 -0
  565. package/__fixtures__/-2.complex.openai/vector-stores__list/output.go +64 -0
  566. package/__fixtures__/-2.complex.openai/vector-stores__list/recorded.json +13 -0
  567. package/__fixtures__/-2.complex.openai/vector-stores__retrieve/input.json +110 -0
  568. package/__fixtures__/-2.complex.openai/vector-stores__retrieve/output.go +64 -0
  569. package/__fixtures__/-2.complex.openai/vector-stores__retrieve/recorded.json +13 -0
  570. package/__fixtures__/-2.complex.openai/vector-stores__search/input.json +149 -0
  571. package/__fixtures__/-2.complex.openai/vector-stores__search/output.go +95 -0
  572. package/__fixtures__/-2.complex.openai/vector-stores__search/recorded.json +14 -0
  573. package/__fixtures__/-2.complex.openai/vector-stores__update/input.json +149 -0
  574. package/__fixtures__/-2.complex.openai/vector-stores__update/output.go +95 -0
  575. package/__fixtures__/-2.complex.openai/vector-stores__update/recorded.json +14 -0
  576. package/__fixtures__/-2.complex.openai/videos__create/input.json +144 -0
  577. package/__fixtures__/-2.complex.openai/videos__create/output.go +85 -0
  578. package/__fixtures__/-2.complex.openai/videos__create/recorded.json +18 -0
  579. package/__fixtures__/-2.complex.openai/videos__create-character/input.json +144 -0
  580. package/__fixtures__/-2.complex.openai/videos__create-character/output.go +85 -0
  581. package/__fixtures__/-2.complex.openai/videos__create-character/recorded.json +18 -0
  582. package/__fixtures__/-2.complex.openai/videos__delete/input.json +57 -0
  583. package/__fixtures__/-2.complex.openai/videos__delete/output.go +32 -0
  584. package/__fixtures__/-2.complex.openai/videos__delete/recorded.json +14 -0
  585. package/__fixtures__/-2.complex.openai/videos__download-content/input.json +95 -0
  586. package/__fixtures__/-2.complex.openai/videos__download-content/output.go +57 -0
  587. package/__fixtures__/-2.complex.openai/videos__download-content/recorded.json +13 -0
  588. package/__fixtures__/-2.complex.openai/videos__edit/input.json +144 -0
  589. package/__fixtures__/-2.complex.openai/videos__edit/output.go +85 -0
  590. package/__fixtures__/-2.complex.openai/videos__edit/recorded.json +18 -0
  591. package/__fixtures__/-2.complex.openai/videos__extend/input.json +144 -0
  592. package/__fixtures__/-2.complex.openai/videos__extend/output.go +85 -0
  593. package/__fixtures__/-2.complex.openai/videos__extend/recorded.json +18 -0
  594. package/__fixtures__/-2.complex.openai/videos__get-character/input.json +95 -0
  595. package/__fixtures__/-2.complex.openai/videos__get-character/output.go +57 -0
  596. package/__fixtures__/-2.complex.openai/videos__get-character/recorded.json +13 -0
  597. package/__fixtures__/-2.complex.openai/videos__list/input.json +95 -0
  598. package/__fixtures__/-2.complex.openai/videos__list/output.go +57 -0
  599. package/__fixtures__/-2.complex.openai/videos__list/recorded.json +13 -0
  600. package/__fixtures__/-2.complex.openai/videos__remix/input.json +144 -0
  601. package/__fixtures__/-2.complex.openai/videos__remix/output.go +85 -0
  602. package/__fixtures__/-2.complex.openai/videos__remix/recorded.json +18 -0
  603. package/__fixtures__/-2.complex.openai/videos__retrieve/input.json +95 -0
  604. package/__fixtures__/-2.complex.openai/videos__retrieve/output.go +57 -0
  605. package/__fixtures__/-2.complex.openai/videos__retrieve/recorded.json +13 -0
  606. package/__fixtures__/1.basic/input.json +74 -0
  607. package/__fixtures__/1.basic/output/cmd/sample-api/main.go +24 -0
  608. package/__fixtures__/1.basic/output/go.mod +3 -0
  609. package/__fixtures__/1.basic/output/internal/runtime/config.go +23 -0
  610. package/__fixtures__/1.basic/output/internal/runtime/runtime.go +64 -0
  611. package/__fixtures__/1.basic/output/pkg/cmd/models.go +49 -0
  612. package/__fixtures__/2.crud/input.json +281 -0
  613. package/__fixtures__/2.crud/output/cmd/widgets-api/main.go +23 -0
  614. package/__fixtures__/2.crud/output/go.mod +3 -0
  615. package/__fixtures__/2.crud/output/internal/runtime/config.go +23 -0
  616. package/__fixtures__/2.crud/output/internal/runtime/runtime.go +64 -0
  617. package/__fixtures__/2.crud/output/pkg/cmd/widgets.go +178 -0
  618. package/__fixtures__/3.nested/input.json +196 -0
  619. package/__fixtures__/3.nested/output/cmd/stores-api/main.go +23 -0
  620. package/__fixtures__/3.nested/output/go.mod +3 -0
  621. package/__fixtures__/3.nested/output/internal/runtime/config.go +19 -0
  622. package/__fixtures__/3.nested/output/internal/runtime/runtime.go +64 -0
  623. package/__fixtures__/3.nested/output/pkg/cmd/stores.go +120 -0
  624. package/__fixtures__/4.body-flatten/input.json +153 -0
  625. package/__fixtures__/4.body-flatten/output/cmd/chat-api/main.go +23 -0
  626. package/__fixtures__/4.body-flatten/output/go.mod +3 -0
  627. package/__fixtures__/4.body-flatten/output/internal/runtime/config.go +23 -0
  628. package/__fixtures__/4.body-flatten/output/internal/runtime/runtime.go +64 -0
  629. package/__fixtures__/4.body-flatten/output/pkg/cmd/chat.go +90 -0
  630. package/__tests__/docs.test.ts +109 -0
  631. package/__tests__/e2e/harness.ts +304 -0
  632. package/__tests__/e2e/openai.test.ts +11 -0
  633. package/__tests__/opencli2go.test.ts +27 -0
  634. package/__tests__/utils.ts +80 -0
  635. package/biome.json +25 -0
  636. package/dist/index.cjs +630 -0
  637. package/dist/index.cjs.map +1 -0
  638. package/dist/index.d.cts +26 -0
  639. package/dist/index.d.ts +26 -0
  640. package/dist/index.js +592 -0
  641. package/dist/index.js.map +1 -0
  642. package/index.ts +1 -0
  643. package/package.json +27 -0
  644. package/src/command.ts +58 -0
  645. package/src/flags.ts +26 -0
  646. package/src/golit.ts +81 -0
  647. package/src/handler.ts +151 -0
  648. package/src/index.ts +3 -0
  649. package/src/main.ts +30 -0
  650. package/src/model.ts +147 -0
  651. package/src/naming.ts +44 -0
  652. package/src/project.ts +36 -0
  653. package/src/runtime.ts +134 -0
  654. package/src/types.ts +13 -0
  655. package/src/write.ts +10 -0
  656. package/tsconfig.json +18 -0
  657. package/tsup.config.ts +19 -0
  658. package/vitest.config.ts +8 -0
@@ -0,0 +1,153 @@
1
+ {
2
+ "opencli": "1.0.0",
3
+ "info": {
4
+ "title": "chat-api",
5
+ "version": "1.0.0"
6
+ },
7
+ "x-openapi": {
8
+ "servers": [
9
+ "https://api.chat.test/v1"
10
+ ],
11
+ "security": [
12
+ {
13
+ "type": "http",
14
+ "kind": "bearer",
15
+ "envVar": "CHAT_API_API_KEY",
16
+ "scheme": "bearer"
17
+ }
18
+ ]
19
+ },
20
+ "commands": [
21
+ {
22
+ "name": "chat",
23
+ "commands": [
24
+ {
25
+ "name": "completions",
26
+ "commands": [
27
+ {
28
+ "name": "create",
29
+ "description": "Creates a model response for the given chat conversation.",
30
+ "options": [
31
+ {
32
+ "name": "model",
33
+ "group": "body",
34
+ "required": true,
35
+ "description": "ID of the model to use.",
36
+ "arguments": [
37
+ {
38
+ "name": "string",
39
+ "acceptedValues": [
40
+ "gpt-4o",
41
+ "gpt-4o-mini",
42
+ "o3"
43
+ ]
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "name": "messages",
49
+ "group": "body",
50
+ "required": true,
51
+ "description": "A list of messages comprising the conversation.",
52
+ "arguments": [
53
+ {
54
+ "name": "json",
55
+ "arity": {
56
+ "minimum": 0
57
+ }
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "name": "temperature",
63
+ "group": "body",
64
+ "description": "Sampling temperature.",
65
+ "arguments": [
66
+ {
67
+ "name": "number"
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "name": "stop",
73
+ "group": "body",
74
+ "arguments": [
75
+ {
76
+ "name": "string",
77
+ "arity": {
78
+ "minimum": 0
79
+ }
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "name": "stream",
85
+ "group": "body"
86
+ },
87
+ {
88
+ "name": "response-format",
89
+ "group": "body",
90
+ "arguments": [
91
+ {
92
+ "name": "json"
93
+ }
94
+ ]
95
+ }
96
+ ],
97
+ "x-openapi": {
98
+ "method": "post",
99
+ "path": "/chat/completions",
100
+ "operationId": "createChatCompletion",
101
+ "contentType": "application/json",
102
+ "body": {
103
+ "style": "flatten",
104
+ "contentType": "application/json",
105
+ "properties": [
106
+ {
107
+ "name": "model",
108
+ "from": "option:model",
109
+ "jsonPath": "model",
110
+ "encoding": "string",
111
+ "required": true
112
+ },
113
+ {
114
+ "name": "messages",
115
+ "from": "option:messages",
116
+ "jsonPath": "messages",
117
+ "encoding": "array",
118
+ "required": true
119
+ },
120
+ {
121
+ "name": "temperature",
122
+ "from": "option:temperature",
123
+ "jsonPath": "temperature",
124
+ "encoding": "number"
125
+ },
126
+ {
127
+ "name": "stop",
128
+ "from": "option:stop",
129
+ "jsonPath": "stop",
130
+ "encoding": "array"
131
+ },
132
+ {
133
+ "name": "stream",
134
+ "from": "option:stream",
135
+ "jsonPath": "stream",
136
+ "encoding": "boolean"
137
+ },
138
+ {
139
+ "name": "response_format",
140
+ "from": "option:response-format",
141
+ "jsonPath": "response_format",
142
+ "encoding": "json"
143
+ }
144
+ ]
145
+ }
146
+ }
147
+ }
148
+ ]
149
+ }
150
+ ]
151
+ }
152
+ ]
153
+ }
@@ -0,0 +1,23 @@
1
+ package main
2
+
3
+ import (
4
+ "context"
5
+ "log"
6
+ "os"
7
+
8
+ "example.com/chat-api/pkg/cmd"
9
+ "github.com/urfave/cli/v3"
10
+ )
11
+
12
+ func main() {
13
+ app := &cli.Command{
14
+ Name: "chat-api",
15
+ Version: "1.0.0",
16
+ Commands: []*cli.Command{
17
+ cmd.NewChatCommand(),
18
+ },
19
+ }
20
+ if err := app.Run(context.Background(), os.Args); err != nil {
21
+ log.Fatal(err)
22
+ }
23
+ }
@@ -0,0 +1,3 @@
1
+ module example.com/chat-api
2
+
3
+ go 1.22
@@ -0,0 +1,23 @@
1
+ package runtime
2
+
3
+ import (
4
+ "net/http"
5
+ "os"
6
+ )
7
+
8
+ const defaultBaseURL = "https://api.chat.test/v1"
9
+
10
+ // BaseURL returns the API base URL, overridable via CHAT_API_BASE_URL.
11
+ func BaseURL() string {
12
+ if v := os.Getenv("CHAT_API_BASE_URL"); v != "" {
13
+ return v
14
+ }
15
+ return defaultBaseURL
16
+ }
17
+
18
+ // applyAuth attaches credentials read from the environment to the request.
19
+ func applyAuth(req *http.Request) {
20
+ if v := os.Getenv("CHAT_API_API_KEY"); v != "" {
21
+ req.Header.Set("Authorization", "Bearer "+v)
22
+ }
23
+ }
@@ -0,0 +1,64 @@
1
+ package runtime
2
+
3
+ import (
4
+ "bytes"
5
+ "context"
6
+ "fmt"
7
+ "io"
8
+ "net/http"
9
+ "net/url"
10
+ "strings"
11
+ )
12
+
13
+ // Request is a generic API request assembled by a generated command handler.
14
+ type Request struct {
15
+ Method string
16
+ Path string
17
+ Query url.Values
18
+ Headers http.Header
19
+ Body []byte
20
+ }
21
+
22
+ // Do executes the request against the configured base URL (applying auth) and
23
+ // prints the response body to stdout.
24
+ func Do(ctx context.Context, req Request) error {
25
+ endpoint := strings.TrimRight(BaseURL(), "/") + req.Path
26
+ if len(req.Query) > 0 {
27
+ endpoint += "?" + req.Query.Encode()
28
+ }
29
+
30
+ var body io.Reader
31
+ if len(req.Body) > 0 {
32
+ body = bytes.NewReader(req.Body)
33
+ }
34
+
35
+ httpReq, err := http.NewRequestWithContext(ctx, req.Method, endpoint, body)
36
+ if err != nil {
37
+ return err
38
+ }
39
+ for key, values := range req.Headers {
40
+ for _, value := range values {
41
+ httpReq.Header.Add(key, value)
42
+ }
43
+ }
44
+ if len(req.Body) > 0 && httpReq.Header.Get("Content-Type") == "" {
45
+ httpReq.Header.Set("Content-Type", "application/json")
46
+ }
47
+ applyAuth(httpReq)
48
+
49
+ resp, err := http.DefaultClient.Do(httpReq)
50
+ if err != nil {
51
+ return err
52
+ }
53
+ defer resp.Body.Close()
54
+
55
+ out, err := io.ReadAll(resp.Body)
56
+ if err != nil {
57
+ return err
58
+ }
59
+ fmt.Println(string(out))
60
+ if resp.StatusCode >= 400 {
61
+ return fmt.Errorf("request failed: %s", resp.Status)
62
+ }
63
+ return nil
64
+ }
@@ -0,0 +1,90 @@
1
+ package cmd
2
+
3
+ import (
4
+ "context"
5
+ "encoding/json"
6
+
7
+ "example.com/chat-api/internal/runtime"
8
+ "github.com/urfave/cli/v3"
9
+ )
10
+
11
+ func NewChatCommand() *cli.Command {
12
+ return &cli.Command{
13
+ Name: "chat",
14
+ Commands: []*cli.Command{
15
+ &cli.Command{
16
+ Name: "completions",
17
+ Commands: []*cli.Command{
18
+ &cli.Command{
19
+ Name: "create",
20
+ Usage: "Creates a model response for the given chat conversation.",
21
+ Flags: []cli.Flag{
22
+ &cli.StringFlag{
23
+ Name: "model",
24
+ Usage: "ID of the model to use.",
25
+ Required: true,
26
+ },
27
+ &cli.StringSliceFlag{
28
+ Name: "messages",
29
+ Usage: "A list of messages comprising the conversation.",
30
+ Required: true,
31
+ },
32
+ &cli.FloatFlag{
33
+ Name: "temperature",
34
+ Usage: "Sampling temperature.",
35
+ },
36
+ &cli.StringSliceFlag{
37
+ Name: "stop",
38
+ },
39
+ &cli.BoolFlag{
40
+ Name: "stream",
41
+ },
42
+ &cli.StringFlag{
43
+ Name: "response-format",
44
+ },
45
+ },
46
+ Action: handleChatCompletionsCreate,
47
+ },
48
+ },
49
+ },
50
+ },
51
+ }
52
+ }
53
+
54
+ func handleChatCompletionsCreate(ctx context.Context, cmd *cli.Command) error {
55
+ path := "/chat/completions"
56
+ body := map[string]any{}
57
+ if cmd.IsSet("model") {
58
+ body["model"] = cmd.String("model")
59
+ }
60
+ if cmd.IsSet("messages") {
61
+ body["messages"] = cmd.StringSlice("messages")
62
+ }
63
+ if cmd.IsSet("temperature") {
64
+ body["temperature"] = cmd.Float("temperature")
65
+ }
66
+ if cmd.IsSet("stop") {
67
+ body["stop"] = cmd.StringSlice("stop")
68
+ }
69
+ if cmd.IsSet("stream") {
70
+ body["stream"] = cmd.Bool("stream")
71
+ }
72
+ if cmd.IsSet("response-format") {
73
+ raw := cmd.String("response-format")
74
+ var v any
75
+ if err := json.Unmarshal([]byte(raw), &v); err != nil {
76
+ v = raw
77
+ }
78
+ body["response_format"] = v
79
+ }
80
+ bodyBytes, err := json.Marshal(body)
81
+ if err != nil {
82
+ return err
83
+ }
84
+ req := runtime.Request{
85
+ Method: "POST",
86
+ Path: path,
87
+ Body: bodyBytes,
88
+ }
89
+ return runtime.Do(ctx, req)
90
+ }
@@ -0,0 +1,109 @@
1
+ import { execSync } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+
6
+ import { beforeAll, describe, expect, it } from 'vitest';
7
+
8
+ import { opencli2go, writeProject } from '../index';
9
+
10
+ // Generation-only deps (used when O2G_BUILD_DOCS=1); the regen-guard test below
11
+ // is pure (opencli input.json → go).
12
+ import { deferencedOpenAPI } from '@xyd-js/openapi';
13
+ import { openapi2opencli } from '@xyd-js/openapi2opencli';
14
+
15
+ const O2G_FIX = path.join(__dirname, '../__fixtures__/-2.complex.openai');
16
+ // The openapi2opencli package owns the vendored spec + the per-method (method, path).
17
+ const A2O = path.join(__dirname, '../../xyd-openapi2opencli');
18
+ const SPEC = path.join(A2O, 'oracle/openai-openapi.yaml');
19
+ const A2O_FIX = path.join(A2O, '__fixtures__/-2.complex.openai');
20
+
21
+ const BUILD = process.env.O2G_BUILD_DOCS === '1';
22
+ const GO_SMOKE = process.env.O2G_GO_SMOKE === '1';
23
+
24
+ const cmdFileKey = (files: Record<string, string>) => Object.keys(files).find((k) => k.startsWith('pkg/cmd/'));
25
+
26
+ /** A minimal, self-contained OpenAPI doc for a single operation. */
27
+ function miniDoc(spec: any, method: string, p: string): any | null {
28
+ const op = spec.paths?.[p]?.[method];
29
+ if (!op) return null;
30
+ return {
31
+ openapi: spec.openapi || '3.0.3',
32
+ info: { title: 'openai', version: spec.info?.version || '1.0.0' },
33
+ servers: spec.servers,
34
+ security: spec.security,
35
+ components: spec.components ? { securitySchemes: spec.components.securitySchemes } : undefined,
36
+ paths: { [p]: { [method]: op } },
37
+ };
38
+ }
39
+
40
+ // ---- Generator (opt-in): per-method OpenCLI input + Go output ------------
41
+ describe.runIf(BUILD)('generate opencli → go fixtures (assumed-correct, for review)', () => {
42
+ it('build __fixtures__/-2.complex.openai/<method>/{input.json, output.go}', async () => {
43
+ const spec = await deferencedOpenAPI(SPEC);
44
+ if (!spec) throw new Error(`vendored spec not found at ${SPEC}`);
45
+
46
+ let n = 0;
47
+ for (const dir of fs.readdirSync(A2O_FIX)) {
48
+ const metaPath = path.join(A2O_FIX, dir, 'input.json');
49
+ if (!fs.existsSync(metaPath)) continue;
50
+ const meta = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
51
+ if (!meta.path || !meta.httpMethod) continue;
52
+
53
+ const doc = miniDoc(spec, meta.httpMethod, meta.path);
54
+ if (!doc) continue;
55
+
56
+ const opencli = openapi2opencli(doc, { cliName: 'openai' });
57
+ const files = opencli2go(opencli);
58
+ const key = cmdFileKey(files);
59
+ if (!key) continue;
60
+
61
+ const out = path.join(O2G_FIX, dir);
62
+ fs.mkdirSync(out, { recursive: true });
63
+ fs.writeFileSync(path.join(out, 'input.json'), `${JSON.stringify(opencli, null, 2)}\n`);
64
+ fs.writeFileSync(path.join(out, 'output.go'), files[key]);
65
+ n++;
66
+ }
67
+ expect(n).toBeGreaterThan(100);
68
+ }, 300000);
69
+ });
70
+
71
+ // ---- Regen guard (offline; pure opencli → go) ----------------------------
72
+ const fixtures = fs.existsSync(O2G_FIX)
73
+ ? fs.readdirSync(O2G_FIX).filter((d) => fs.existsSync(path.join(O2G_FIX, d, 'input.json')))
74
+ : [];
75
+
76
+ describe.skipIf(!fixtures.length || BUILD)('opencli2go docs (opencli → go, regen guard)', () => {
77
+ for (const dir of fixtures) {
78
+ it(dir, () => {
79
+ const opencli = JSON.parse(fs.readFileSync(path.join(O2G_FIX, dir, 'input.json'), 'utf8'));
80
+ const files = opencli2go(opencli);
81
+ const key = cmdFileKey(files);
82
+ expect(key, `no pkg/cmd file generated for ${dir}`).toBeTruthy();
83
+ const expected = fs.readFileSync(path.join(O2G_FIX, dir, 'output.go'), 'utf8');
84
+ expect(files[key as string]).toEqual(expected);
85
+ });
86
+ }
87
+ });
88
+
89
+ // ---- Optional: a sample of the generated projects compiles ---------------
90
+ describe.runIf(GO_SMOKE && fixtures.length > 0)('opencli2go docs (go build smoke, sample)', () => {
91
+ // Spread the sample across resources (alphabetical), not just the first few.
92
+ const step = Math.max(1, Math.floor(fixtures.length / 8));
93
+ const sample = fixtures.filter((_, i) => i % step === 0).slice(0, 8);
94
+ for (const dir of sample) {
95
+ it(`builds ${dir}`, async () => {
96
+ const opencli = JSON.parse(fs.readFileSync(path.join(O2G_FIX, dir, 'input.json'), 'utf8'));
97
+ const files = opencli2go(opencli);
98
+ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'o2g-docs-'));
99
+ try {
100
+ await writeProject(files, tmp);
101
+ execSync('go mod tidy', { cwd: tmp, stdio: 'pipe' });
102
+ execSync('go build ./...', { cwd: tmp, stdio: 'pipe' });
103
+ execSync('go vet ./...', { cwd: tmp, stdio: 'pipe' });
104
+ } finally {
105
+ fs.rmSync(tmp, { recursive: true, force: true });
106
+ }
107
+ }, 120000);
108
+ }
109
+ });