openai 6.45.0 → 6.46.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 (229) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/helpers/audio.d.mts.map +1 -1
  3. package/helpers/audio.d.ts.map +1 -1
  4. package/helpers/audio.js +16 -3
  5. package/helpers/audio.js.map +1 -1
  6. package/helpers/audio.mjs +17 -4
  7. package/helpers/audio.mjs.map +1 -1
  8. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  9. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  10. package/lib/AbstractChatCompletionRunner.js +14 -0
  11. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  12. package/lib/AbstractChatCompletionRunner.mjs +14 -0
  13. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  14. package/lib/AssistantStream.js +1 -1
  15. package/lib/AssistantStream.js.map +1 -1
  16. package/lib/AssistantStream.mjs +1 -1
  17. package/lib/AssistantStream.mjs.map +1 -1
  18. package/lib/ChatCompletionStream.d.mts.map +1 -1
  19. package/lib/ChatCompletionStream.d.ts.map +1 -1
  20. package/lib/ChatCompletionStream.js +7 -4
  21. package/lib/ChatCompletionStream.js.map +1 -1
  22. package/lib/ChatCompletionStream.mjs +7 -4
  23. package/lib/ChatCompletionStream.mjs.map +1 -1
  24. package/lib/responses/ResponseAccumulator.d.mts +6 -1
  25. package/lib/responses/ResponseAccumulator.d.mts.map +1 -1
  26. package/lib/responses/ResponseAccumulator.d.ts +6 -1
  27. package/lib/responses/ResponseAccumulator.d.ts.map +1 -1
  28. package/lib/responses/ResponseAccumulator.js +1 -0
  29. package/lib/responses/ResponseAccumulator.js.map +1 -1
  30. package/lib/responses/ResponseAccumulator.mjs +1 -0
  31. package/lib/responses/ResponseAccumulator.mjs.map +1 -1
  32. package/lib/responses/ResponseInputItems.d.mts.map +1 -1
  33. package/lib/responses/ResponseInputItems.d.ts.map +1 -1
  34. package/lib/responses/ResponseInputItems.js +2 -0
  35. package/lib/responses/ResponseInputItems.js.map +1 -1
  36. package/lib/responses/ResponseInputItems.mjs +2 -0
  37. package/lib/responses/ResponseInputItems.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/resources/beta/assistants.d.mts +12 -26
  40. package/resources/beta/assistants.d.mts.map +1 -1
  41. package/resources/beta/assistants.d.ts +12 -26
  42. package/resources/beta/assistants.d.ts.map +1 -1
  43. package/resources/beta/beta.d.mts +6 -1
  44. package/resources/beta/beta.d.mts.map +1 -1
  45. package/resources/beta/beta.d.ts +6 -1
  46. package/resources/beta/beta.d.ts.map +1 -1
  47. package/resources/beta/beta.js +4 -0
  48. package/resources/beta/beta.js.map +1 -1
  49. package/resources/beta/beta.mjs +4 -0
  50. package/resources/beta/beta.mjs.map +1 -1
  51. package/resources/beta/index.d.mts +1 -0
  52. package/resources/beta/index.d.mts.map +1 -1
  53. package/resources/beta/index.d.ts +1 -0
  54. package/resources/beta/index.d.ts.map +1 -1
  55. package/resources/beta/index.js +5 -3
  56. package/resources/beta/index.js.map +1 -1
  57. package/resources/beta/index.mjs +1 -0
  58. package/resources/beta/index.mjs.map +1 -1
  59. package/resources/beta/responses/index.d.mts +6 -0
  60. package/resources/beta/responses/index.d.mts.map +1 -0
  61. package/resources/beta/responses/index.d.ts +6 -0
  62. package/resources/beta/responses/index.d.ts.map +1 -0
  63. package/resources/beta/responses/index.js +11 -0
  64. package/resources/beta/responses/index.js.map +1 -0
  65. package/resources/beta/responses/index.mjs +5 -0
  66. package/resources/beta/responses/index.mjs.map +1 -0
  67. package/resources/beta/responses/input-items.d.mts +69 -0
  68. package/resources/beta/responses/input-items.d.mts.map +1 -0
  69. package/resources/beta/responses/input-items.d.ts +69 -0
  70. package/resources/beta/responses/input-items.d.ts.map +1 -0
  71. package/resources/beta/responses/input-items.js +37 -0
  72. package/resources/beta/responses/input-items.js.map +1 -0
  73. package/resources/beta/responses/input-items.mjs +33 -0
  74. package/resources/beta/responses/input-items.mjs.map +1 -0
  75. package/resources/beta/responses/input-tokens.d.mts +191 -0
  76. package/resources/beta/responses/input-tokens.d.mts.map +1 -0
  77. package/resources/beta/responses/input-tokens.d.ts +191 -0
  78. package/resources/beta/responses/input-tokens.d.ts.map +1 -0
  79. package/resources/beta/responses/input-tokens.js +34 -0
  80. package/resources/beta/responses/input-tokens.js.map +1 -0
  81. package/resources/beta/responses/input-tokens.mjs +30 -0
  82. package/resources/beta/responses/input-tokens.mjs.map +1 -0
  83. package/resources/beta/responses/internal-base.d.mts +71 -0
  84. package/resources/beta/responses/internal-base.d.mts.map +1 -0
  85. package/resources/beta/responses/internal-base.d.ts +71 -0
  86. package/resources/beta/responses/internal-base.d.ts.map +1 -0
  87. package/resources/beta/responses/internal-base.js +48 -0
  88. package/resources/beta/responses/internal-base.js.map +1 -0
  89. package/resources/beta/responses/internal-base.mjs +42 -0
  90. package/resources/beta/responses/internal-base.mjs.map +1 -0
  91. package/resources/beta/responses/responses.d.mts +9985 -0
  92. package/resources/beta/responses/responses.d.mts.map +1 -0
  93. package/resources/beta/responses/responses.d.ts +9985 -0
  94. package/resources/beta/responses/responses.d.ts.map +1 -0
  95. package/resources/beta/responses/responses.js +121 -0
  96. package/resources/beta/responses/responses.js.map +1 -0
  97. package/resources/beta/responses/responses.mjs +116 -0
  98. package/resources/beta/responses/responses.mjs.map +1 -0
  99. package/resources/beta/responses/ws-base.d.mts +106 -0
  100. package/resources/beta/responses/ws-base.d.mts.map +1 -0
  101. package/resources/beta/responses/ws-base.d.ts +106 -0
  102. package/resources/beta/responses/ws-base.d.ts.map +1 -0
  103. package/resources/beta/responses/ws-base.js +476 -0
  104. package/resources/beta/responses/ws-base.js.map +1 -0
  105. package/resources/beta/responses/ws-base.mjs +472 -0
  106. package/resources/beta/responses/ws-base.mjs.map +1 -0
  107. package/resources/beta/responses/ws.d.mts +13 -0
  108. package/resources/beta/responses/ws.d.mts.map +1 -0
  109. package/resources/beta/responses/ws.d.ts +13 -0
  110. package/resources/beta/responses/ws.d.ts.map +1 -0
  111. package/resources/beta/responses/ws.js +31 -0
  112. package/resources/beta/responses/ws.js.map +1 -0
  113. package/resources/beta/responses/ws.mjs +26 -0
  114. package/resources/beta/responses/ws.mjs.map +1 -0
  115. package/resources/beta/responses.d.mts +2 -0
  116. package/resources/beta/responses.d.mts.map +1 -0
  117. package/resources/beta/responses.d.ts +2 -0
  118. package/resources/beta/responses.d.ts.map +1 -0
  119. package/resources/beta/responses.js +6 -0
  120. package/resources/beta/responses.js.map +1 -0
  121. package/resources/beta/responses.mjs +3 -0
  122. package/resources/beta/responses.mjs.map +1 -0
  123. package/resources/beta/threads/runs/runs.d.mts +6 -13
  124. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  125. package/resources/beta/threads/runs/runs.d.ts +6 -13
  126. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  127. package/resources/beta/threads/runs/runs.js.map +1 -1
  128. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  129. package/resources/chat/completions/completions.d.mts +155 -14
  130. package/resources/chat/completions/completions.d.mts.map +1 -1
  131. package/resources/chat/completions/completions.d.ts +155 -14
  132. package/resources/chat/completions/completions.d.ts.map +1 -1
  133. package/resources/chat/completions/completions.js.map +1 -1
  134. package/resources/chat/completions/completions.mjs.map +1 -1
  135. package/resources/completions.d.mts +4 -0
  136. package/resources/completions.d.mts.map +1 -1
  137. package/resources/completions.d.ts +4 -0
  138. package/resources/completions.d.ts.map +1 -1
  139. package/resources/conversations/conversations.d.mts +19 -0
  140. package/resources/conversations/conversations.d.mts.map +1 -1
  141. package/resources/conversations/conversations.d.ts +19 -0
  142. package/resources/conversations/conversations.d.ts.map +1 -1
  143. package/resources/conversations/conversations.js.map +1 -1
  144. package/resources/conversations/conversations.mjs.map +1 -1
  145. package/resources/conversations/items.d.mts +45 -1
  146. package/resources/conversations/items.d.mts.map +1 -1
  147. package/resources/conversations/items.d.ts +45 -1
  148. package/resources/conversations/items.d.ts.map +1 -1
  149. package/resources/evals/runs/runs.d.mts +66 -143
  150. package/resources/evals/runs/runs.d.mts.map +1 -1
  151. package/resources/evals/runs/runs.d.ts +66 -143
  152. package/resources/evals/runs/runs.d.ts.map +1 -1
  153. package/resources/evals/runs/runs.js.map +1 -1
  154. package/resources/evals/runs/runs.mjs.map +1 -1
  155. package/resources/graders/grader-models.d.mts +6 -13
  156. package/resources/graders/grader-models.d.mts.map +1 -1
  157. package/resources/graders/grader-models.d.ts +6 -13
  158. package/resources/graders/grader-models.d.ts.map +1 -1
  159. package/resources/realtime/calls.d.mts +1 -1
  160. package/resources/realtime/calls.d.mts.map +1 -1
  161. package/resources/realtime/calls.d.ts +1 -1
  162. package/resources/realtime/calls.d.ts.map +1 -1
  163. package/resources/realtime/client-secrets.d.mts +5 -1
  164. package/resources/realtime/client-secrets.d.mts.map +1 -1
  165. package/resources/realtime/client-secrets.d.ts +5 -1
  166. package/resources/realtime/client-secrets.d.ts.map +1 -1
  167. package/resources/realtime/realtime.d.mts +9 -1
  168. package/resources/realtime/realtime.d.mts.map +1 -1
  169. package/resources/realtime/realtime.d.ts +9 -1
  170. package/resources/realtime/realtime.d.ts.map +1 -1
  171. package/resources/realtime/realtime.js.map +1 -1
  172. package/resources/realtime/realtime.mjs.map +1 -1
  173. package/resources/responses/input-tokens.d.mts +7 -1
  174. package/resources/responses/input-tokens.d.mts.map +1 -1
  175. package/resources/responses/input-tokens.d.ts +7 -1
  176. package/resources/responses/input-tokens.d.ts.map +1 -1
  177. package/resources/responses/responses.d.mts +816 -24
  178. package/resources/responses/responses.d.mts.map +1 -1
  179. package/resources/responses/responses.d.ts +816 -24
  180. package/resources/responses/responses.d.ts.map +1 -1
  181. package/resources/responses/responses.js +1 -1
  182. package/resources/responses/responses.js.map +1 -1
  183. package/resources/responses/responses.mjs +1 -1
  184. package/resources/responses/responses.mjs.map +1 -1
  185. package/resources/shared.d.mts +20 -28
  186. package/resources/shared.d.mts.map +1 -1
  187. package/resources/shared.d.ts +20 -28
  188. package/resources/shared.d.ts.map +1 -1
  189. package/resources/webhooks/webhooks.d.mts +54 -2
  190. package/resources/webhooks/webhooks.d.mts.map +1 -1
  191. package/resources/webhooks/webhooks.d.ts +54 -2
  192. package/resources/webhooks/webhooks.d.ts.map +1 -1
  193. package/src/helpers/audio.ts +18 -4
  194. package/src/lib/AbstractChatCompletionRunner.ts +15 -0
  195. package/src/lib/AssistantStream.ts +1 -1
  196. package/src/lib/ChatCompletionStream.ts +7 -4
  197. package/src/lib/responses/ResponseAccumulator.ts +10 -1
  198. package/src/lib/responses/ResponseInputItems.ts +2 -0
  199. package/src/resources/beta/assistants.ts +12 -26
  200. package/src/resources/beta/beta.ts +330 -2
  201. package/src/resources/beta/index.ts +163 -0
  202. package/src/resources/beta/responses/index.ts +169 -0
  203. package/src/resources/beta/responses/input-items.ts +105 -0
  204. package/src/resources/beta/responses/input-tokens.ts +245 -0
  205. package/src/resources/beta/responses/internal-base.ts +117 -0
  206. package/src/resources/beta/responses/responses.ts +12632 -0
  207. package/src/resources/beta/responses/ws-base.ts +615 -0
  208. package/src/resources/beta/responses/ws.ts +38 -0
  209. package/src/resources/beta/responses.ts +3 -0
  210. package/src/resources/beta/threads/runs/runs.ts +6 -13
  211. package/src/resources/chat/completions/completions.ts +171 -14
  212. package/src/resources/completions.ts +5 -0
  213. package/src/resources/conversations/conversations.ts +21 -0
  214. package/src/resources/conversations/items.ts +56 -0
  215. package/src/resources/evals/runs/runs.ts +66 -143
  216. package/src/resources/graders/grader-models.ts +6 -13
  217. package/src/resources/realtime/calls.ts +2 -0
  218. package/src/resources/realtime/client-secrets.ts +7 -0
  219. package/src/resources/realtime/realtime.ts +12 -0
  220. package/src/resources/responses/input-tokens.ts +8 -0
  221. package/src/resources/responses/responses.ts +950 -15
  222. package/src/resources/shared.ts +23 -27
  223. package/src/resources/webhooks/api.md +1 -0
  224. package/src/resources/webhooks/webhooks.ts +65 -1
  225. package/src/version.ts +1 -1
  226. package/version.d.mts +1 -1
  227. package/version.d.ts +1 -1
  228. package/version.js +1 -1
  229. package/version.mjs +1 -1
@@ -1129,6 +1129,13 @@ export namespace ChatCompletionContentPart {
1129
1129
  * The type of the content part. Always `file`.
1130
1130
  */
1131
1131
  type: 'file';
1132
+
1133
+ /**
1134
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1135
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1136
+ * token block.
1137
+ */
1138
+ prompt_cache_breakpoint?: File.PromptCacheBreakpoint;
1132
1139
  }
1133
1140
 
1134
1141
  export namespace File {
@@ -1149,6 +1156,18 @@ export namespace ChatCompletionContentPart {
1149
1156
  */
1150
1157
  filename?: string;
1151
1158
  }
1159
+
1160
+ /**
1161
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1162
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1163
+ * token block.
1164
+ */
1165
+ export interface PromptCacheBreakpoint {
1166
+ /**
1167
+ * The breakpoint mode. Always `explicit`.
1168
+ */
1169
+ mode: 'explicit';
1170
+ }
1152
1171
  }
1153
1172
  }
1154
1173
 
@@ -1162,6 +1181,13 @@ export interface ChatCompletionContentPartImage {
1162
1181
  * The type of the content part.
1163
1182
  */
1164
1183
  type: 'image_url';
1184
+
1185
+ /**
1186
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1187
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1188
+ * token block.
1189
+ */
1190
+ prompt_cache_breakpoint?: ChatCompletionContentPartImage.PromptCacheBreakpoint;
1165
1191
  }
1166
1192
 
1167
1193
  export namespace ChatCompletionContentPartImage {
@@ -1177,6 +1203,18 @@ export namespace ChatCompletionContentPartImage {
1177
1203
  */
1178
1204
  detail?: 'auto' | 'low' | 'high';
1179
1205
  }
1206
+
1207
+ /**
1208
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1209
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1210
+ * token block.
1211
+ */
1212
+ export interface PromptCacheBreakpoint {
1213
+ /**
1214
+ * The breakpoint mode. Always `explicit`.
1215
+ */
1216
+ mode: 'explicit';
1217
+ }
1180
1218
  }
1181
1219
 
1182
1220
  /**
@@ -1189,6 +1227,13 @@ export interface ChatCompletionContentPartInputAudio {
1189
1227
  * The type of the content part. Always `input_audio`.
1190
1228
  */
1191
1229
  type: 'input_audio';
1230
+
1231
+ /**
1232
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1233
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1234
+ * token block.
1235
+ */
1236
+ prompt_cache_breakpoint?: ChatCompletionContentPartInputAudio.PromptCacheBreakpoint;
1192
1237
  }
1193
1238
 
1194
1239
  export namespace ChatCompletionContentPartInputAudio {
@@ -1203,6 +1248,18 @@ export namespace ChatCompletionContentPartInputAudio {
1203
1248
  */
1204
1249
  format: 'wav' | 'mp3';
1205
1250
  }
1251
+
1252
+ /**
1253
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1254
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1255
+ * token block.
1256
+ */
1257
+ export interface PromptCacheBreakpoint {
1258
+ /**
1259
+ * The breakpoint mode. Always `explicit`.
1260
+ */
1261
+ mode: 'explicit';
1262
+ }
1206
1263
  }
1207
1264
 
1208
1265
  export interface ChatCompletionContentPartRefusal {
@@ -1231,6 +1288,27 @@ export interface ChatCompletionContentPartText {
1231
1288
  * The type of the content part.
1232
1289
  */
1233
1290
  type: 'text';
1291
+
1292
+ /**
1293
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1294
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1295
+ * token block.
1296
+ */
1297
+ prompt_cache_breakpoint?: ChatCompletionContentPartText.PromptCacheBreakpoint;
1298
+ }
1299
+
1300
+ export namespace ChatCompletionContentPartText {
1301
+ /**
1302
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
1303
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
1304
+ * token block.
1305
+ */
1306
+ export interface PromptCacheBreakpoint {
1307
+ /**
1308
+ * The breakpoint mode. Always `explicit`.
1309
+ */
1310
+ mode: 'explicit';
1311
+ }
1234
1312
  }
1235
1313
 
1236
1314
  /**
@@ -2046,11 +2124,29 @@ export interface ChatCompletionCreateParamsBase {
2046
2124
  prompt_cache_key?: string;
2047
2125
 
2048
2126
  /**
2127
+ * Options for prompt caching. Supported for `gpt-5.6` and later models. By
2128
+ * default, OpenAI automatically chooses one implicit cache breakpoint. You can add
2129
+ * explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
2130
+ * request can write up to four breakpoints. For cache matching, OpenAI considers
2131
+ * up to the latest 80 breakpoints in the conversation, without a content-block
2132
+ * lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
2133
+ * `ttl` defaults to `30m`, which is currently the only supported value. See the
2134
+ * [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
2135
+ * for current details.
2136
+ */
2137
+ prompt_cache_options?: ChatCompletionCreateParams.PromptCacheOptions;
2138
+
2139
+ /**
2140
+ * @deprecated Deprecated. Use `prompt_cache_options.ttl` instead.
2141
+ *
2049
2142
  * The retention policy for the prompt cache. Set to `24h` to enable extended
2050
2143
  * prompt caching, which keeps cached prefixes active for longer, up to a maximum
2051
2144
  * of 24 hours.
2052
2145
  * [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
2053
- * For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
2146
+ * This field expresses a maximum retention policy, while
2147
+ * `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
2148
+ * are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
2149
+ * models, only `24h` is supported.
2054
2150
  *
2055
2151
  * For older models that support both `in_memory` and `24h`, the default depends on
2056
2152
  * your organization's data retention policy:
@@ -2062,19 +2158,12 @@ export interface ChatCompletionCreateParamsBase {
2062
2158
  prompt_cache_retention?: 'in_memory' | '24h' | null;
2063
2159
 
2064
2160
  /**
2065
- * Constrains effort on reasoning for
2066
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
2067
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
2068
- * Reducing reasoning effort can result in faster responses and fewer tokens used
2069
- * on reasoning in a response.
2070
- *
2071
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
2072
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
2073
- * calls are supported for all reasoning values in gpt-5.1.
2074
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
2075
- * support `none`.
2076
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
2077
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
2161
+ * Constrains effort on reasoning for reasoning models. Currently supported values
2162
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
2163
+ * reasoning effort can result in faster responses and fewer tokens used on
2164
+ * reasoning in a response. Not all reasoning models support every value. See the
2165
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
2166
+ * model-specific support.
2078
2167
  */
2079
2168
  reasoning_effort?: Shared.ReasoningEffort | null;
2080
2169
 
@@ -2276,6 +2365,74 @@ export namespace ChatCompletionCreateParams {
2276
2365
  * 'omni-moderation-latest'.
2277
2366
  */
2278
2367
  model: string;
2368
+
2369
+ /**
2370
+ * The policy to apply to moderated response input and output.
2371
+ */
2372
+ policy?: Moderation.Policy | null;
2373
+ }
2374
+
2375
+ export namespace Moderation {
2376
+ /**
2377
+ * The policy to apply to moderated response input and output.
2378
+ */
2379
+ export interface Policy {
2380
+ /**
2381
+ * The moderation policy for the response input.
2382
+ */
2383
+ input?: Policy.Input | null;
2384
+
2385
+ /**
2386
+ * The moderation policy for the response output.
2387
+ */
2388
+ output?: Policy.Output | null;
2389
+ }
2390
+
2391
+ export namespace Policy {
2392
+ /**
2393
+ * The moderation policy for the response input.
2394
+ */
2395
+ export interface Input {
2396
+ mode: 'score' | 'block';
2397
+ }
2398
+
2399
+ /**
2400
+ * The moderation policy for the response output.
2401
+ */
2402
+ export interface Output {
2403
+ mode: 'score' | 'block';
2404
+ }
2405
+ }
2406
+ }
2407
+
2408
+ /**
2409
+ * Options for prompt caching. Supported for `gpt-5.6` and later models. By
2410
+ * default, OpenAI automatically chooses one implicit cache breakpoint. You can add
2411
+ * explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
2412
+ * request can write up to four breakpoints. For cache matching, OpenAI considers
2413
+ * up to the latest 80 breakpoints in the conversation, without a content-block
2414
+ * lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
2415
+ * `ttl` defaults to `30m`, which is currently the only supported value. See the
2416
+ * [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
2417
+ * for current details.
2418
+ */
2419
+ export interface PromptCacheOptions {
2420
+ /**
2421
+ * Controls whether OpenAI automatically creates an implicit cache breakpoint.
2422
+ * Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
2423
+ * and writes up to the latest three explicit breakpoints in the request. With
2424
+ * `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
2425
+ * latest four explicit breakpoints. If there are no explicit breakpoints, the
2426
+ * request does not use prompt caching.
2427
+ */
2428
+ mode?: 'implicit' | 'explicit';
2429
+
2430
+ /**
2431
+ * The minimum lifetime applied to every implicit and explicit cache breakpoint
2432
+ * written by the request. Defaults to `30m`, which is currently the only supported
2433
+ * value. The backend may retain cache entries for longer.
2434
+ */
2435
+ ttl?: '30m';
2279
2436
  }
2280
2437
 
2281
2438
  /**
@@ -185,6 +185,11 @@ export namespace CompletionUsage {
185
185
  */
186
186
  audio_tokens?: number;
187
187
 
188
+ /**
189
+ * The unadjusted number of prompt tokens written to cache.
190
+ */
191
+ cache_write_tokens?: number;
192
+
188
193
  /**
189
194
  * Cached tokens present in the prompt.
190
195
  */
@@ -95,6 +95,27 @@ export interface ComputerScreenshotContent {
95
95
  * to `computer_screenshot`.
96
96
  */
97
97
  type: 'computer_screenshot';
98
+
99
+ /**
100
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
101
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
102
+ * token block.
103
+ */
104
+ prompt_cache_breakpoint?: ComputerScreenshotContent.PromptCacheBreakpoint;
105
+ }
106
+
107
+ export namespace ComputerScreenshotContent {
108
+ /**
109
+ * Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
110
+ * from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
111
+ * token block.
112
+ */
113
+ export interface PromptCacheBreakpoint {
114
+ /**
115
+ * The breakpoint mode. Always `explicit`.
116
+ */
117
+ mode: 'explicit';
118
+ }
98
119
  }
99
120
 
100
121
  export interface Conversation {
@@ -100,6 +100,8 @@ export type ConversationItem =
100
100
  | ResponsesAPI.ResponseToolSearchOutputItem
101
101
  | ConversationItem.AdditionalTools
102
102
  | ResponsesAPI.ResponseReasoningItem
103
+ | ConversationItem.Program
104
+ | ConversationItem.ProgramOutput
103
105
  | ResponsesAPI.ResponseCompactionItem
104
106
  | ResponsesAPI.ResponseCodeInterpreterToolCall
105
107
  | ConversationItem.LocalShellCall
@@ -163,6 +165,60 @@ export namespace ConversationItem {
163
165
  type: 'additional_tools';
164
166
  }
165
167
 
168
+ export interface Program {
169
+ /**
170
+ * The unique ID of the program item.
171
+ */
172
+ id: string;
173
+
174
+ /**
175
+ * The stable call ID of the program item.
176
+ */
177
+ call_id: string;
178
+
179
+ /**
180
+ * The JavaScript source executed by programmatic tool calling.
181
+ */
182
+ code: string;
183
+
184
+ /**
185
+ * Opaque program replay fingerprint that must be round-tripped.
186
+ */
187
+ fingerprint: string;
188
+
189
+ /**
190
+ * The type of the item. Always `program`.
191
+ */
192
+ type: 'program';
193
+ }
194
+
195
+ export interface ProgramOutput {
196
+ /**
197
+ * The unique ID of the program output item.
198
+ */
199
+ id: string;
200
+
201
+ /**
202
+ * The call ID of the program item.
203
+ */
204
+ call_id: string;
205
+
206
+ /**
207
+ * The result produced by the program item.
208
+ */
209
+ result: string;
210
+
211
+ /**
212
+ * The terminal status of the program output item.
213
+ */
214
+ status: 'completed' | 'incomplete';
215
+
216
+ /**
217
+ * The type of the item. Always `program_output`.
218
+ */
219
+ type: 'program_output';
220
+ }
221
+
166
222
  /**
167
223
  * A tool call to run a command on the local shell.
168
224
  */
@@ -305,19 +305,12 @@ export namespace CreateEvalCompletionsRunDataSource {
305
305
  max_completion_tokens?: number;
306
306
 
307
307
  /**
308
- * Constrains effort on reasoning for
309
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
310
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
311
- * Reducing reasoning effort can result in faster responses and fewer tokens used
312
- * on reasoning in a response.
313
- *
314
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
315
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
316
- * calls are supported for all reasoning values in gpt-5.1.
317
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
318
- * support `none`.
319
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
320
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
308
+ * Constrains effort on reasoning for reasoning models. Currently supported values
309
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
310
+ * reasoning effort can result in faster responses and fewer tokens used on
311
+ * reasoning in a response. Not all reasoning models support every value. See the
312
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
313
+ * model-specific support.
321
314
  */
322
315
  reasoning_effort?: Shared.ReasoningEffort | null;
323
316
 
@@ -614,19 +607,12 @@ export namespace RunCreateResponse {
614
607
  model?: string | null;
615
608
 
616
609
  /**
617
- * Constrains effort on reasoning for
618
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
619
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
620
- * Reducing reasoning effort can result in faster responses and fewer tokens used
621
- * on reasoning in a response.
622
- *
623
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
624
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
625
- * calls are supported for all reasoning values in gpt-5.1.
626
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
627
- * support `none`.
628
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
629
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
610
+ * Constrains effort on reasoning for reasoning models. Currently supported values
611
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
612
+ * reasoning effort can result in faster responses and fewer tokens used on
613
+ * reasoning in a response. Not all reasoning models support every value. See the
614
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
615
+ * model-specific support.
630
616
  */
631
617
  reasoning_effort?: Shared.ReasoningEffort | null;
632
618
 
@@ -767,19 +753,12 @@ export namespace RunCreateResponse {
767
753
  max_completion_tokens?: number;
768
754
 
769
755
  /**
770
- * Constrains effort on reasoning for
771
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
772
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
773
- * Reducing reasoning effort can result in faster responses and fewer tokens used
774
- * on reasoning in a response.
775
- *
776
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
777
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
778
- * calls are supported for all reasoning values in gpt-5.1.
779
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
780
- * support `none`.
781
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
782
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
756
+ * Constrains effort on reasoning for reasoning models. Currently supported values
757
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
758
+ * reasoning effort can result in faster responses and fewer tokens used on
759
+ * reasoning in a response. Not all reasoning models support every value. See the
760
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
761
+ * model-specific support.
783
762
  */
784
763
  reasoning_effort?: Shared.ReasoningEffort | null;
785
764
 
@@ -1117,19 +1096,12 @@ export namespace RunRetrieveResponse {
1117
1096
  model?: string | null;
1118
1097
 
1119
1098
  /**
1120
- * Constrains effort on reasoning for
1121
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
1122
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
1123
- * Reducing reasoning effort can result in faster responses and fewer tokens used
1124
- * on reasoning in a response.
1125
- *
1126
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
1127
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
1128
- * calls are supported for all reasoning values in gpt-5.1.
1129
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1130
- * support `none`.
1131
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1132
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1099
+ * Constrains effort on reasoning for reasoning models. Currently supported values
1100
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1101
+ * reasoning effort can result in faster responses and fewer tokens used on
1102
+ * reasoning in a response. Not all reasoning models support every value. See the
1103
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1104
+ * model-specific support.
1133
1105
  */
1134
1106
  reasoning_effort?: Shared.ReasoningEffort | null;
1135
1107
 
@@ -1270,19 +1242,12 @@ export namespace RunRetrieveResponse {
1270
1242
  max_completion_tokens?: number;
1271
1243
 
1272
1244
  /**
1273
- * Constrains effort on reasoning for
1274
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
1275
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
1276
- * Reducing reasoning effort can result in faster responses and fewer tokens used
1277
- * on reasoning in a response.
1278
- *
1279
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
1280
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
1281
- * calls are supported for all reasoning values in gpt-5.1.
1282
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1283
- * support `none`.
1284
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1285
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1245
+ * Constrains effort on reasoning for reasoning models. Currently supported values
1246
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1247
+ * reasoning effort can result in faster responses and fewer tokens used on
1248
+ * reasoning in a response. Not all reasoning models support every value. See the
1249
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1250
+ * model-specific support.
1286
1251
  */
1287
1252
  reasoning_effort?: Shared.ReasoningEffort | null;
1288
1253
 
@@ -1617,19 +1582,12 @@ export namespace RunListResponse {
1617
1582
  model?: string | null;
1618
1583
 
1619
1584
  /**
1620
- * Constrains effort on reasoning for
1621
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
1622
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
1623
- * Reducing reasoning effort can result in faster responses and fewer tokens used
1624
- * on reasoning in a response.
1625
- *
1626
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
1627
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
1628
- * calls are supported for all reasoning values in gpt-5.1.
1629
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1630
- * support `none`.
1631
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1632
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1585
+ * Constrains effort on reasoning for reasoning models. Currently supported values
1586
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1587
+ * reasoning effort can result in faster responses and fewer tokens used on
1588
+ * reasoning in a response. Not all reasoning models support every value. See the
1589
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1590
+ * model-specific support.
1633
1591
  */
1634
1592
  reasoning_effort?: Shared.ReasoningEffort | null;
1635
1593
 
@@ -1770,19 +1728,12 @@ export namespace RunListResponse {
1770
1728
  max_completion_tokens?: number;
1771
1729
 
1772
1730
  /**
1773
- * Constrains effort on reasoning for
1774
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
1775
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
1776
- * Reducing reasoning effort can result in faster responses and fewer tokens used
1777
- * on reasoning in a response.
1778
- *
1779
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
1780
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
1781
- * calls are supported for all reasoning values in gpt-5.1.
1782
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1783
- * support `none`.
1784
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1785
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1731
+ * Constrains effort on reasoning for reasoning models. Currently supported values
1732
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1733
+ * reasoning effort can result in faster responses and fewer tokens used on
1734
+ * reasoning in a response. Not all reasoning models support every value. See the
1735
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1736
+ * model-specific support.
1786
1737
  */
1787
1738
  reasoning_effort?: Shared.ReasoningEffort | null;
1788
1739
 
@@ -2128,19 +2079,12 @@ export namespace RunCancelResponse {
2128
2079
  model?: string | null;
2129
2080
 
2130
2081
  /**
2131
- * Constrains effort on reasoning for
2132
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
2133
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
2134
- * Reducing reasoning effort can result in faster responses and fewer tokens used
2135
- * on reasoning in a response.
2136
- *
2137
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
2138
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
2139
- * calls are supported for all reasoning values in gpt-5.1.
2140
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
2141
- * support `none`.
2142
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
2143
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
2082
+ * Constrains effort on reasoning for reasoning models. Currently supported values
2083
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
2084
+ * reasoning effort can result in faster responses and fewer tokens used on
2085
+ * reasoning in a response. Not all reasoning models support every value. See the
2086
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
2087
+ * model-specific support.
2144
2088
  */
2145
2089
  reasoning_effort?: Shared.ReasoningEffort | null;
2146
2090
 
@@ -2281,19 +2225,12 @@ export namespace RunCancelResponse {
2281
2225
  max_completion_tokens?: number;
2282
2226
 
2283
2227
  /**
2284
- * Constrains effort on reasoning for
2285
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
2286
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
2287
- * Reducing reasoning effort can result in faster responses and fewer tokens used
2288
- * on reasoning in a response.
2289
- *
2290
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
2291
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
2292
- * calls are supported for all reasoning values in gpt-5.1.
2293
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
2294
- * support `none`.
2295
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
2296
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
2228
+ * Constrains effort on reasoning for reasoning models. Currently supported values
2229
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
2230
+ * reasoning effort can result in faster responses and fewer tokens used on
2231
+ * reasoning in a response. Not all reasoning models support every value. See the
2232
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
2233
+ * model-specific support.
2297
2234
  */
2298
2235
  reasoning_effort?: Shared.ReasoningEffort | null;
2299
2236
 
@@ -2578,19 +2515,12 @@ export namespace RunCreateParams {
2578
2515
  model?: string | null;
2579
2516
 
2580
2517
  /**
2581
- * Constrains effort on reasoning for
2582
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
2583
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
2584
- * Reducing reasoning effort can result in faster responses and fewer tokens used
2585
- * on reasoning in a response.
2586
- *
2587
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
2588
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
2589
- * calls are supported for all reasoning values in gpt-5.1.
2590
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
2591
- * support `none`.
2592
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
2593
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
2518
+ * Constrains effort on reasoning for reasoning models. Currently supported values
2519
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
2520
+ * reasoning effort can result in faster responses and fewer tokens used on
2521
+ * reasoning in a response. Not all reasoning models support every value. See the
2522
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
2523
+ * model-specific support.
2594
2524
  */
2595
2525
  reasoning_effort?: Shared.ReasoningEffort | null;
2596
2526
 
@@ -2731,19 +2661,12 @@ export namespace RunCreateParams {
2731
2661
  max_completion_tokens?: number;
2732
2662
 
2733
2663
  /**
2734
- * Constrains effort on reasoning for
2735
- * [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
2736
- * supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
2737
- * Reducing reasoning effort can result in faster responses and fewer tokens used
2738
- * on reasoning in a response.
2739
- *
2740
- * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
2741
- * reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
2742
- * calls are supported for all reasoning values in gpt-5.1.
2743
- * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
2744
- * support `none`.
2745
- * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
2746
- * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
2664
+ * Constrains effort on reasoning for reasoning models. Currently supported values
2665
+ * are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
2666
+ * reasoning effort can result in faster responses and fewer tokens used on
2667
+ * reasoning in a response. Not all reasoning models support every value. See the
2668
+ * [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
2669
+ * model-specific support.
2747
2670
  */
2748
2671
  reasoning_effort?: Shared.ReasoningEffort | null;
2749
2672