@azure/ai-projects 2.0.0-beta.5 → 2.0.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 (1041) hide show
  1. package/README.md +26 -29
  2. package/dist/browser/aiProjectClient.d.ts +11 -11
  3. package/dist/browser/aiProjectClient.d.ts.map +1 -1
  4. package/dist/browser/aiProjectClient.js +1 -1
  5. package/dist/browser/aiProjectClient.js.map +1 -1
  6. package/dist/browser/api/agents/index.d.ts +1 -1
  7. package/dist/browser/api/agents/index.d.ts.map +1 -1
  8. package/dist/browser/api/agents/index.js.map +1 -1
  9. package/dist/browser/api/agents/operations.d.ts +11 -11
  10. package/dist/browser/api/agents/operations.d.ts.map +1 -1
  11. package/dist/browser/api/agents/operations.js +2 -2
  12. package/dist/browser/api/agents/operations.js.map +1 -1
  13. package/dist/browser/api/agents/options.d.ts +5 -5
  14. package/dist/browser/api/agents/options.d.ts.map +1 -1
  15. package/dist/browser/api/agents/options.js.map +1 -1
  16. package/dist/browser/api/aiProjectContext.d.ts +2 -2
  17. package/dist/browser/api/aiProjectContext.d.ts.map +1 -1
  18. package/dist/browser/api/aiProjectContext.js +1 -1
  19. package/dist/browser/api/aiProjectContext.js.map +1 -1
  20. package/dist/browser/api/beta/evaluationTaxonomies/index.d.ts +1 -1
  21. package/dist/browser/api/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  22. package/dist/browser/api/beta/evaluationTaxonomies/index.js.map +1 -1
  23. package/dist/browser/api/beta/evaluationTaxonomies/operations.d.ts +5 -5
  24. package/dist/browser/api/beta/evaluationTaxonomies/operations.d.ts.map +1 -1
  25. package/dist/browser/api/beta/evaluationTaxonomies/operations.js +12 -3
  26. package/dist/browser/api/beta/evaluationTaxonomies/operations.js.map +1 -1
  27. package/dist/browser/api/beta/evaluationTaxonomies/options.d.ts +1 -1
  28. package/dist/browser/api/beta/evaluationTaxonomies/options.d.ts.map +1 -1
  29. package/dist/browser/api/beta/evaluationTaxonomies/options.js.map +1 -1
  30. package/dist/browser/api/beta/evaluators/index.d.ts +1 -1
  31. package/dist/browser/api/beta/evaluators/index.d.ts.map +1 -1
  32. package/dist/browser/api/beta/evaluators/index.js.map +1 -1
  33. package/dist/browser/api/beta/evaluators/operations.d.ts +5 -5
  34. package/dist/browser/api/beta/evaluators/operations.d.ts.map +1 -1
  35. package/dist/browser/api/beta/evaluators/operations.js +24 -6
  36. package/dist/browser/api/beta/evaluators/operations.js.map +1 -1
  37. package/dist/browser/api/beta/evaluators/options.d.ts +4 -4
  38. package/dist/browser/api/beta/evaluators/options.d.ts.map +1 -1
  39. package/dist/browser/api/beta/evaluators/options.js.map +1 -1
  40. package/dist/browser/api/beta/insights/index.d.ts +1 -1
  41. package/dist/browser/api/beta/insights/index.d.ts.map +1 -1
  42. package/dist/browser/api/beta/insights/index.js.map +1 -1
  43. package/dist/browser/api/beta/insights/operations.d.ts +5 -5
  44. package/dist/browser/api/beta/insights/operations.d.ts.map +1 -1
  45. package/dist/browser/api/beta/insights/operations.js +13 -4
  46. package/dist/browser/api/beta/insights/operations.js.map +1 -1
  47. package/dist/browser/api/beta/insights/options.d.ts +3 -3
  48. package/dist/browser/api/beta/insights/options.d.ts.map +1 -1
  49. package/dist/browser/api/beta/insights/options.js.map +1 -1
  50. package/dist/browser/api/beta/memoryStores/index.d.ts +1 -1
  51. package/dist/browser/api/beta/memoryStores/index.d.ts.map +1 -1
  52. package/dist/browser/api/beta/memoryStores/index.js.map +1 -1
  53. package/dist/browser/api/beta/memoryStores/operations.d.ts +6 -6
  54. package/dist/browser/api/beta/memoryStores/operations.d.ts.map +1 -1
  55. package/dist/browser/api/beta/memoryStores/operations.js +18 -6
  56. package/dist/browser/api/beta/memoryStores/operations.js.map +1 -1
  57. package/dist/browser/api/beta/memoryStores/options.d.ts +5 -5
  58. package/dist/browser/api/beta/memoryStores/options.d.ts.map +1 -1
  59. package/dist/browser/api/beta/memoryStores/options.js.map +1 -1
  60. package/dist/browser/api/beta/redTeams/index.d.ts +1 -1
  61. package/dist/browser/api/beta/redTeams/index.d.ts.map +1 -1
  62. package/dist/browser/api/beta/redTeams/index.js.map +1 -1
  63. package/dist/browser/api/beta/redTeams/operations.d.ts +5 -5
  64. package/dist/browser/api/beta/redTeams/operations.d.ts.map +1 -1
  65. package/dist/browser/api/beta/redTeams/operations.js +12 -3
  66. package/dist/browser/api/beta/redTeams/operations.js.map +1 -1
  67. package/dist/browser/api/beta/redTeams/options.d.ts +1 -1
  68. package/dist/browser/api/beta/redTeams/options.d.ts.map +1 -1
  69. package/dist/browser/api/beta/redTeams/options.js.map +1 -1
  70. package/dist/browser/api/beta/schedules/index.d.ts +1 -1
  71. package/dist/browser/api/beta/schedules/index.d.ts.map +1 -1
  72. package/dist/browser/api/beta/schedules/index.js.map +1 -1
  73. package/dist/browser/api/beta/schedules/operations.d.ts +5 -5
  74. package/dist/browser/api/beta/schedules/operations.d.ts.map +1 -1
  75. package/dist/browser/api/beta/schedules/operations.js +23 -5
  76. package/dist/browser/api/beta/schedules/operations.js.map +1 -1
  77. package/dist/browser/api/beta/schedules/options.d.ts +4 -4
  78. package/dist/browser/api/beta/schedules/options.d.ts.map +1 -1
  79. package/dist/browser/api/beta/schedules/options.js.map +1 -1
  80. package/dist/browser/api/connections/index.d.ts +1 -1
  81. package/dist/browser/api/connections/index.d.ts.map +1 -1
  82. package/dist/browser/api/connections/index.js.map +1 -1
  83. package/dist/browser/api/connections/operations.d.ts +8 -8
  84. package/dist/browser/api/connections/operations.d.ts.map +1 -1
  85. package/dist/browser/api/connections/operations.js +12 -12
  86. package/dist/browser/api/connections/operations.js.map +1 -1
  87. package/dist/browser/api/connections/options.d.ts +9 -2
  88. package/dist/browser/api/connections/options.d.ts.map +1 -1
  89. package/dist/browser/api/connections/options.js.map +1 -1
  90. package/dist/browser/api/datasets/index.d.ts +1 -1
  91. package/dist/browser/api/datasets/index.d.ts.map +1 -1
  92. package/dist/browser/api/datasets/index.js.map +1 -1
  93. package/dist/browser/api/datasets/operations.d.ts +5 -5
  94. package/dist/browser/api/datasets/operations.d.ts.map +1 -1
  95. package/dist/browser/api/datasets/operations.js +9 -3
  96. package/dist/browser/api/datasets/operations.js.map +1 -1
  97. package/dist/browser/api/datasets/options.d.ts +1 -1
  98. package/dist/browser/api/datasets/options.d.ts.map +1 -1
  99. package/dist/browser/api/datasets/options.js.map +1 -1
  100. package/dist/browser/api/deployments/index.d.ts +1 -1
  101. package/dist/browser/api/deployments/index.d.ts.map +1 -1
  102. package/dist/browser/api/deployments/index.js.map +1 -1
  103. package/dist/browser/api/deployments/operations.d.ts +5 -5
  104. package/dist/browser/api/deployments/operations.d.ts.map +1 -1
  105. package/dist/browser/api/deployments/operations.js +3 -3
  106. package/dist/browser/api/deployments/operations.js.map +1 -1
  107. package/dist/browser/api/deployments/options.d.ts +2 -2
  108. package/dist/browser/api/deployments/options.d.ts.map +1 -1
  109. package/dist/browser/api/deployments/options.js.map +1 -1
  110. package/dist/browser/api/evaluationRules/index.d.ts +1 -1
  111. package/dist/browser/api/evaluationRules/index.d.ts.map +1 -1
  112. package/dist/browser/api/evaluationRules/index.js.map +1 -1
  113. package/dist/browser/api/evaluationRules/operations.d.ts +5 -5
  114. package/dist/browser/api/evaluationRules/operations.d.ts.map +1 -1
  115. package/dist/browser/api/evaluationRules/operations.js +14 -3
  116. package/dist/browser/api/evaluationRules/operations.js.map +1 -1
  117. package/dist/browser/api/evaluationRules/options.d.ts +2 -2
  118. package/dist/browser/api/evaluationRules/options.d.ts.map +1 -1
  119. package/dist/browser/api/evaluationRules/options.js.map +1 -1
  120. package/dist/browser/api/index.d.ts +6 -5
  121. package/dist/browser/api/index.d.ts.map +1 -1
  122. package/dist/browser/api/index.js.map +1 -1
  123. package/dist/browser/api/indexes/index.d.ts +1 -1
  124. package/dist/browser/api/indexes/index.d.ts.map +1 -1
  125. package/dist/browser/api/indexes/index.js.map +1 -1
  126. package/dist/browser/api/indexes/operations.d.ts +5 -5
  127. package/dist/browser/api/indexes/operations.d.ts.map +1 -1
  128. package/dist/browser/api/indexes/operations.js +2 -2
  129. package/dist/browser/api/indexes/operations.js.map +1 -1
  130. package/dist/browser/api/indexes/options.d.ts +1 -1
  131. package/dist/browser/api/indexes/options.d.ts.map +1 -1
  132. package/dist/browser/api/indexes/options.js.map +1 -1
  133. package/dist/browser/api/telemetry/index.d.ts +1 -1
  134. package/dist/browser/api/telemetry/index.d.ts.map +1 -1
  135. package/dist/browser/api/telemetry/index.js.map +1 -1
  136. package/dist/browser/api/telemetry/operations.d.ts +2 -1
  137. package/dist/browser/api/telemetry/operations.d.ts.map +1 -1
  138. package/dist/browser/api/telemetry/operations.js +3 -3
  139. package/dist/browser/api/telemetry/operations.js.map +1 -1
  140. package/dist/browser/classic/agents/index.d.ts +7 -7
  141. package/dist/browser/classic/agents/index.d.ts.map +1 -1
  142. package/dist/browser/classic/agents/index.js.map +1 -1
  143. package/dist/browser/classic/beta/evaluationTaxonomies/index.d.ts +4 -4
  144. package/dist/browser/classic/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  145. package/dist/browser/classic/beta/evaluationTaxonomies/index.js.map +1 -1
  146. package/dist/browser/classic/beta/evaluators/index.d.ts +5 -5
  147. package/dist/browser/classic/beta/evaluators/index.d.ts.map +1 -1
  148. package/dist/browser/classic/beta/evaluators/index.js +1 -1
  149. package/dist/browser/classic/beta/evaluators/index.js.map +1 -1
  150. package/dist/browser/classic/beta/index.d.ts +13 -7
  151. package/dist/browser/classic/beta/index.d.ts.map +1 -1
  152. package/dist/browser/classic/beta/index.js +8 -2
  153. package/dist/browser/classic/beta/index.js.map +1 -1
  154. package/dist/browser/classic/beta/insights/index.d.ts +4 -4
  155. package/dist/browser/classic/beta/insights/index.d.ts.map +1 -1
  156. package/dist/browser/classic/beta/insights/index.js.map +1 -1
  157. package/dist/browser/classic/beta/memoryStores/index.d.ts +5 -5
  158. package/dist/browser/classic/beta/memoryStores/index.d.ts.map +1 -1
  159. package/dist/browser/classic/beta/memoryStores/index.js.map +1 -1
  160. package/dist/browser/classic/beta/redTeams/index.d.ts +4 -4
  161. package/dist/browser/classic/beta/redTeams/index.d.ts.map +1 -1
  162. package/dist/browser/classic/beta/redTeams/index.js.map +1 -1
  163. package/dist/browser/classic/beta/schedules/index.d.ts +4 -4
  164. package/dist/browser/classic/beta/schedules/index.d.ts.map +1 -1
  165. package/dist/browser/classic/beta/schedules/index.js.map +1 -1
  166. package/dist/browser/classic/connections/index.d.ts +6 -6
  167. package/dist/browser/classic/connections/index.d.ts.map +1 -1
  168. package/dist/browser/classic/connections/index.js +2 -2
  169. package/dist/browser/classic/connections/index.js.map +1 -1
  170. package/dist/browser/classic/datasets/index.d.ts +5 -5
  171. package/dist/browser/classic/datasets/index.d.ts.map +1 -1
  172. package/dist/browser/classic/datasets/index.js.map +1 -1
  173. package/dist/browser/classic/deployments/index.d.ts +4 -4
  174. package/dist/browser/classic/deployments/index.d.ts.map +1 -1
  175. package/dist/browser/classic/deployments/index.js.map +1 -1
  176. package/dist/browser/classic/evaluationRules/index.d.ts +4 -4
  177. package/dist/browser/classic/evaluationRules/index.d.ts.map +1 -1
  178. package/dist/browser/classic/evaluationRules/index.js.map +1 -1
  179. package/dist/browser/classic/index.d.ts +14 -14
  180. package/dist/browser/classic/index.d.ts.map +1 -1
  181. package/dist/browser/classic/index.js.map +1 -1
  182. package/dist/browser/classic/indexes/index.d.ts +4 -4
  183. package/dist/browser/classic/indexes/index.d.ts.map +1 -1
  184. package/dist/browser/classic/indexes/index.js.map +1 -1
  185. package/dist/browser/classic/telemetry/index.d.ts +2 -1
  186. package/dist/browser/classic/telemetry/index.d.ts.map +1 -1
  187. package/dist/browser/classic/telemetry/index.js +1 -3
  188. package/dist/browser/classic/telemetry/index.js.map +1 -1
  189. package/dist/browser/constants.d.ts +1 -1
  190. package/dist/browser/constants.d.ts.map +1 -1
  191. package/dist/browser/constants.js +1 -1
  192. package/dist/browser/constants.js.map +1 -1
  193. package/dist/browser/getCustomFetch.d.ts +1 -1
  194. package/dist/browser/getCustomFetch.d.ts.map +1 -0
  195. package/dist/browser/getCustomFetch.js +1 -1
  196. package/dist/browser/getCustomFetch.js.map +1 -0
  197. package/dist/browser/index.d.ts +18 -18
  198. package/dist/browser/index.d.ts.map +1 -1
  199. package/dist/browser/index.js +0 -2
  200. package/dist/browser/index.js.map +1 -1
  201. package/dist/browser/models/index.d.ts +1 -1
  202. package/dist/browser/models/index.d.ts.map +1 -1
  203. package/dist/browser/models/index.js +1 -1
  204. package/dist/browser/models/index.js.map +1 -1
  205. package/dist/browser/models/models.d.ts +259 -1032
  206. package/dist/browser/models/models.d.ts.map +1 -1
  207. package/dist/browser/models/models.js +368 -1041
  208. package/dist/browser/models/models.js.map +1 -1
  209. package/dist/browser/overwriteOpenAIClient.d.ts +1 -1
  210. package/dist/browser/overwriteOpenAIClient.d.ts.map +1 -1
  211. package/dist/browser/overwriteOpenAIClient.js.map +1 -1
  212. package/dist/browser/static-helpers/pagingHelpers.d.ts +4 -28
  213. package/dist/browser/static-helpers/pagingHelpers.d.ts.map +1 -1
  214. package/dist/browser/static-helpers/pagingHelpers.js +3 -2
  215. package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
  216. package/dist/browser/static-helpers/pollingHelpers.d.ts +4 -4
  217. package/dist/browser/static-helpers/pollingHelpers.d.ts.map +1 -1
  218. package/dist/browser/static-helpers/pollingHelpers.js +1 -1
  219. package/dist/browser/static-helpers/pollingHelpers.js.map +1 -1
  220. package/dist/commonjs/aiProjectClient.d.ts +11 -11
  221. package/dist/commonjs/aiProjectClient.d.ts.map +1 -1
  222. package/dist/commonjs/aiProjectClient.js +140 -137
  223. package/dist/commonjs/aiProjectClient.js.map +7 -1
  224. package/dist/commonjs/api/agents/index.d.ts +1 -1
  225. package/dist/commonjs/api/agents/index.d.ts.map +1 -1
  226. package/dist/commonjs/api/agents/index.js +49 -19
  227. package/dist/commonjs/api/agents/index.js.map +7 -1
  228. package/dist/commonjs/api/agents/operations.d.ts +11 -11
  229. package/dist/commonjs/api/agents/operations.d.ts.map +1 -1
  230. package/dist/commonjs/api/agents/operations.js +466 -357
  231. package/dist/commonjs/api/agents/operations.js.map +7 -1
  232. package/dist/commonjs/api/agents/options.d.ts +5 -5
  233. package/dist/commonjs/api/agents/options.d.ts.map +1 -1
  234. package/dist/commonjs/api/agents/options.js +15 -5
  235. package/dist/commonjs/api/agents/options.js.map +7 -1
  236. package/dist/commonjs/api/aiProjectContext.d.ts +2 -2
  237. package/dist/commonjs/api/aiProjectContext.d.ts.map +1 -1
  238. package/dist/commonjs/api/aiProjectContext.js +44 -26
  239. package/dist/commonjs/api/aiProjectContext.js.map +7 -1
  240. package/dist/commonjs/api/beta/evaluationTaxonomies/index.d.ts +1 -1
  241. package/dist/commonjs/api/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  242. package/dist/commonjs/api/beta/evaluationTaxonomies/index.js +35 -12
  243. package/dist/commonjs/api/beta/evaluationTaxonomies/index.js.map +7 -1
  244. package/dist/commonjs/api/beta/evaluationTaxonomies/operations.d.ts +5 -5
  245. package/dist/commonjs/api/beta/evaluationTaxonomies/operations.d.ts.map +1 -1
  246. package/dist/commonjs/api/beta/evaluationTaxonomies/operations.js +209 -151
  247. package/dist/commonjs/api/beta/evaluationTaxonomies/operations.js.map +7 -1
  248. package/dist/commonjs/api/beta/evaluationTaxonomies/options.d.ts +1 -1
  249. package/dist/commonjs/api/beta/evaluationTaxonomies/options.d.ts.map +1 -1
  250. package/dist/commonjs/api/beta/evaluationTaxonomies/options.js +15 -5
  251. package/dist/commonjs/api/beta/evaluationTaxonomies/options.js.map +7 -1
  252. package/dist/commonjs/api/beta/evaluators/index.d.ts +1 -1
  253. package/dist/commonjs/api/beta/evaluators/index.d.ts.map +1 -1
  254. package/dist/commonjs/api/beta/evaluators/index.js +37 -13
  255. package/dist/commonjs/api/beta/evaluators/index.js.map +7 -1
  256. package/dist/commonjs/api/beta/evaluators/operations.d.ts +5 -5
  257. package/dist/commonjs/api/beta/evaluators/operations.d.ts.map +1 -1
  258. package/dist/commonjs/api/beta/evaluators/operations.js +254 -169
  259. package/dist/commonjs/api/beta/evaluators/operations.js.map +7 -1
  260. package/dist/commonjs/api/beta/evaluators/options.d.ts +4 -4
  261. package/dist/commonjs/api/beta/evaluators/options.d.ts.map +1 -1
  262. package/dist/commonjs/api/beta/evaluators/options.js +15 -5
  263. package/dist/commonjs/api/beta/evaluators/options.js.map +7 -1
  264. package/dist/commonjs/api/beta/insights/index.d.ts +1 -1
  265. package/dist/commonjs/api/beta/insights/index.d.ts.map +1 -1
  266. package/dist/commonjs/api/beta/insights/index.js +31 -10
  267. package/dist/commonjs/api/beta/insights/index.js.map +7 -1
  268. package/dist/commonjs/api/beta/insights/operations.d.ts +5 -5
  269. package/dist/commonjs/api/beta/insights/operations.d.ts.map +1 -1
  270. package/dist/commonjs/api/beta/insights/operations.js +150 -108
  271. package/dist/commonjs/api/beta/insights/operations.js.map +7 -1
  272. package/dist/commonjs/api/beta/insights/options.d.ts +3 -3
  273. package/dist/commonjs/api/beta/insights/options.d.ts.map +1 -1
  274. package/dist/commonjs/api/beta/insights/options.js +15 -5
  275. package/dist/commonjs/api/beta/insights/options.js.map +7 -1
  276. package/dist/commonjs/api/beta/memoryStores/index.d.ts +1 -1
  277. package/dist/commonjs/api/beta/memoryStores/index.d.ts.map +1 -1
  278. package/dist/commonjs/api/beta/memoryStores/index.js +43 -16
  279. package/dist/commonjs/api/beta/memoryStores/index.js.map +7 -1
  280. package/dist/commonjs/api/beta/memoryStores/operations.d.ts +6 -6
  281. package/dist/commonjs/api/beta/memoryStores/operations.d.ts.map +1 -1
  282. package/dist/commonjs/api/beta/memoryStores/operations.js +388 -298
  283. package/dist/commonjs/api/beta/memoryStores/operations.js.map +7 -1
  284. package/dist/commonjs/api/beta/memoryStores/options.d.ts +5 -5
  285. package/dist/commonjs/api/beta/memoryStores/options.d.ts.map +1 -1
  286. package/dist/commonjs/api/beta/memoryStores/options.js +15 -5
  287. package/dist/commonjs/api/beta/memoryStores/options.js.map +7 -1
  288. package/dist/commonjs/api/beta/redTeams/index.d.ts +1 -1
  289. package/dist/commonjs/api/beta/redTeams/index.d.ts.map +1 -1
  290. package/dist/commonjs/api/beta/redTeams/index.js +31 -10
  291. package/dist/commonjs/api/beta/redTeams/index.js.map +7 -1
  292. package/dist/commonjs/api/beta/redTeams/operations.d.ts +5 -5
  293. package/dist/commonjs/api/beta/redTeams/operations.d.ts.map +1 -1
  294. package/dist/commonjs/api/beta/redTeams/operations.js +142 -94
  295. package/dist/commonjs/api/beta/redTeams/operations.js.map +7 -1
  296. package/dist/commonjs/api/beta/redTeams/options.d.ts +1 -1
  297. package/dist/commonjs/api/beta/redTeams/options.d.ts.map +1 -1
  298. package/dist/commonjs/api/beta/redTeams/options.js +15 -5
  299. package/dist/commonjs/api/beta/redTeams/options.js.map +7 -1
  300. package/dist/commonjs/api/beta/schedules/index.d.ts +1 -1
  301. package/dist/commonjs/api/beta/schedules/index.d.ts.map +1 -1
  302. package/dist/commonjs/api/beta/schedules/index.js +37 -13
  303. package/dist/commonjs/api/beta/schedules/index.js.map +7 -1
  304. package/dist/commonjs/api/beta/schedules/operations.d.ts +5 -5
  305. package/dist/commonjs/api/beta/schedules/operations.d.ts.map +1 -1
  306. package/dist/commonjs/api/beta/schedules/operations.js +258 -183
  307. package/dist/commonjs/api/beta/schedules/operations.js.map +7 -1
  308. package/dist/commonjs/api/beta/schedules/options.d.ts +4 -4
  309. package/dist/commonjs/api/beta/schedules/options.d.ts.map +1 -1
  310. package/dist/commonjs/api/beta/schedules/options.js +15 -5
  311. package/dist/commonjs/api/beta/schedules/options.js.map +7 -1
  312. package/dist/commonjs/api/connections/index.d.ts +1 -1
  313. package/dist/commonjs/api/connections/index.d.ts.map +1 -1
  314. package/dist/commonjs/api/connections/index.js +31 -10
  315. package/dist/commonjs/api/connections/index.js.map +7 -1
  316. package/dist/commonjs/api/connections/operations.d.ts +8 -8
  317. package/dist/commonjs/api/connections/operations.d.ts.map +1 -1
  318. package/dist/commonjs/api/connections/operations.js +146 -119
  319. package/dist/commonjs/api/connections/operations.js.map +7 -1
  320. package/dist/commonjs/api/connections/options.d.ts +9 -2
  321. package/dist/commonjs/api/connections/options.d.ts.map +1 -1
  322. package/dist/commonjs/api/connections/options.js +15 -5
  323. package/dist/commonjs/api/connections/options.js.map +7 -1
  324. package/dist/commonjs/api/datasets/index.d.ts +1 -1
  325. package/dist/commonjs/api/datasets/index.d.ts.map +1 -1
  326. package/dist/commonjs/api/datasets/index.js +39 -14
  327. package/dist/commonjs/api/datasets/index.js.map +7 -1
  328. package/dist/commonjs/api/datasets/operations.d.ts +5 -5
  329. package/dist/commonjs/api/datasets/operations.d.ts.map +1 -1
  330. package/dist/commonjs/api/datasets/operations.js +392 -296
  331. package/dist/commonjs/api/datasets/operations.js.map +7 -1
  332. package/dist/commonjs/api/datasets/options.d.ts +1 -1
  333. package/dist/commonjs/api/datasets/options.d.ts.map +1 -1
  334. package/dist/commonjs/api/datasets/options.js +15 -5
  335. package/dist/commonjs/api/datasets/options.js.map +7 -1
  336. package/dist/commonjs/api/deployments/index.d.ts +1 -1
  337. package/dist/commonjs/api/deployments/index.d.ts.map +1 -1
  338. package/dist/commonjs/api/deployments/index.js +29 -9
  339. package/dist/commonjs/api/deployments/index.js.map +7 -1
  340. package/dist/commonjs/api/deployments/operations.d.ts +5 -5
  341. package/dist/commonjs/api/deployments/operations.d.ts.map +1 -1
  342. package/dist/commonjs/api/deployments/operations.js +97 -64
  343. package/dist/commonjs/api/deployments/operations.js.map +7 -1
  344. package/dist/commonjs/api/deployments/options.d.ts +2 -2
  345. package/dist/commonjs/api/deployments/options.d.ts.map +1 -1
  346. package/dist/commonjs/api/deployments/options.js +15 -5
  347. package/dist/commonjs/api/deployments/options.js.map +7 -1
  348. package/dist/commonjs/api/evaluationRules/index.d.ts +1 -1
  349. package/dist/commonjs/api/evaluationRules/index.d.ts.map +1 -1
  350. package/dist/commonjs/api/evaluationRules/index.js +33 -11
  351. package/dist/commonjs/api/evaluationRules/index.js.map +7 -1
  352. package/dist/commonjs/api/evaluationRules/operations.d.ts +5 -5
  353. package/dist/commonjs/api/evaluationRules/operations.d.ts.map +1 -1
  354. package/dist/commonjs/api/evaluationRules/operations.js +169 -119
  355. package/dist/commonjs/api/evaluationRules/operations.js.map +7 -1
  356. package/dist/commonjs/api/evaluationRules/options.d.ts +2 -2
  357. package/dist/commonjs/api/evaluationRules/options.d.ts.map +1 -1
  358. package/dist/commonjs/api/evaluationRules/options.js +15 -5
  359. package/dist/commonjs/api/evaluationRules/options.js.map +7 -1
  360. package/dist/commonjs/api/index.d.ts +6 -5
  361. package/dist/commonjs/api/index.d.ts.map +1 -1
  362. package/dist/commonjs/api/index.js +27 -8
  363. package/dist/commonjs/api/index.js.map +7 -1
  364. package/dist/commonjs/api/indexes/index.d.ts +1 -1
  365. package/dist/commonjs/api/indexes/index.d.ts.map +1 -1
  366. package/dist/commonjs/api/indexes/index.js +35 -12
  367. package/dist/commonjs/api/indexes/index.js.map +7 -1
  368. package/dist/commonjs/api/indexes/operations.d.ts +5 -5
  369. package/dist/commonjs/api/indexes/operations.d.ts.map +1 -1
  370. package/dist/commonjs/api/indexes/operations.js +186 -125
  371. package/dist/commonjs/api/indexes/operations.js.map +7 -1
  372. package/dist/commonjs/api/indexes/options.d.ts +1 -1
  373. package/dist/commonjs/api/indexes/options.d.ts.map +1 -1
  374. package/dist/commonjs/api/indexes/options.js +15 -5
  375. package/dist/commonjs/api/indexes/options.js.map +7 -1
  376. package/dist/commonjs/api/telemetry/index.d.ts +1 -1
  377. package/dist/commonjs/api/telemetry/index.d.ts.map +1 -1
  378. package/dist/commonjs/api/telemetry/index.js +27 -8
  379. package/dist/commonjs/api/telemetry/index.js.map +7 -1
  380. package/dist/commonjs/api/telemetry/operations.d.ts +2 -1
  381. package/dist/commonjs/api/telemetry/operations.d.ts.map +1 -1
  382. package/dist/commonjs/api/telemetry/operations.js +69 -56
  383. package/dist/commonjs/api/telemetry/operations.js.map +7 -1
  384. package/dist/commonjs/classic/agents/index.d.ts +7 -7
  385. package/dist/commonjs/classic/agents/index.d.ts.map +1 -1
  386. package/dist/commonjs/classic/agents/index.js +89 -42
  387. package/dist/commonjs/classic/agents/index.js.map +7 -1
  388. package/dist/commonjs/classic/beta/evaluationTaxonomies/index.d.ts +4 -4
  389. package/dist/commonjs/classic/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  390. package/dist/commonjs/classic/beta/evaluationTaxonomies/index.js +37 -17
  391. package/dist/commonjs/classic/beta/evaluationTaxonomies/index.js.map +7 -1
  392. package/dist/commonjs/classic/beta/evaluators/index.d.ts +5 -5
  393. package/dist/commonjs/classic/beta/evaluators/index.d.ts.map +1 -1
  394. package/dist/commonjs/classic/beta/evaluators/index.js +38 -18
  395. package/dist/commonjs/classic/beta/evaluators/index.js.map +7 -1
  396. package/dist/commonjs/classic/beta/index.d.ts +13 -7
  397. package/dist/commonjs/classic/beta/index.d.ts.map +1 -1
  398. package/dist/commonjs/classic/beta/index.js +46 -20
  399. package/dist/commonjs/classic/beta/index.js.map +7 -1
  400. package/dist/commonjs/classic/beta/insights/index.d.ts +4 -4
  401. package/dist/commonjs/classic/beta/insights/index.d.ts.map +1 -1
  402. package/dist/commonjs/classic/beta/insights/index.js +35 -15
  403. package/dist/commonjs/classic/beta/insights/index.js.map +7 -1
  404. package/dist/commonjs/classic/beta/memoryStores/index.d.ts +5 -5
  405. package/dist/commonjs/classic/beta/memoryStores/index.d.ts.map +1 -1
  406. package/dist/commonjs/classic/beta/memoryStores/index.js +41 -21
  407. package/dist/commonjs/classic/beta/memoryStores/index.js.map +7 -1
  408. package/dist/commonjs/classic/beta/redTeams/index.d.ts +4 -4
  409. package/dist/commonjs/classic/beta/redTeams/index.d.ts.map +1 -1
  410. package/dist/commonjs/classic/beta/redTeams/index.js +35 -15
  411. package/dist/commonjs/classic/beta/redTeams/index.js.map +7 -1
  412. package/dist/commonjs/classic/beta/schedules/index.d.ts +4 -4
  413. package/dist/commonjs/classic/beta/schedules/index.d.ts.map +1 -1
  414. package/dist/commonjs/classic/beta/schedules/index.js +38 -18
  415. package/dist/commonjs/classic/beta/schedules/index.js.map +7 -1
  416. package/dist/commonjs/classic/connections/index.d.ts +6 -6
  417. package/dist/commonjs/classic/connections/index.d.ts.map +1 -1
  418. package/dist/commonjs/classic/connections/index.js +36 -16
  419. package/dist/commonjs/classic/connections/index.js.map +7 -1
  420. package/dist/commonjs/classic/datasets/index.d.ts +5 -5
  421. package/dist/commonjs/classic/datasets/index.d.ts.map +1 -1
  422. package/dist/commonjs/classic/datasets/index.js +41 -21
  423. package/dist/commonjs/classic/datasets/index.js.map +7 -1
  424. package/dist/commonjs/classic/deployments/index.d.ts +4 -4
  425. package/dist/commonjs/classic/deployments/index.d.ts.map +1 -1
  426. package/dist/commonjs/classic/deployments/index.js +34 -14
  427. package/dist/commonjs/classic/deployments/index.js.map +7 -1
  428. package/dist/commonjs/classic/evaluationRules/index.d.ts +4 -4
  429. package/dist/commonjs/classic/evaluationRules/index.d.ts.map +1 -1
  430. package/dist/commonjs/classic/evaluationRules/index.js +36 -16
  431. package/dist/commonjs/classic/evaluationRules/index.js.map +7 -1
  432. package/dist/commonjs/classic/index.d.ts +14 -14
  433. package/dist/commonjs/classic/index.d.ts.map +1 -1
  434. package/dist/commonjs/classic/index.js +15 -5
  435. package/dist/commonjs/classic/index.js.map +7 -1
  436. package/dist/commonjs/classic/indexes/index.d.ts +4 -4
  437. package/dist/commonjs/classic/indexes/index.d.ts.map +1 -1
  438. package/dist/commonjs/classic/indexes/index.js +37 -17
  439. package/dist/commonjs/classic/indexes/index.js.map +7 -1
  440. package/dist/commonjs/classic/telemetry/index.d.ts +2 -1
  441. package/dist/commonjs/classic/telemetry/index.d.ts.map +1 -1
  442. package/dist/commonjs/classic/telemetry/index.js +32 -12
  443. package/dist/commonjs/classic/telemetry/index.js.map +7 -1
  444. package/dist/commonjs/constants.d.ts +1 -1
  445. package/dist/commonjs/constants.d.ts.map +1 -1
  446. package/dist/commonjs/constants.js +30 -14
  447. package/dist/commonjs/constants.js.map +7 -1
  448. package/dist/commonjs/getCustomFetch.js +52 -43
  449. package/dist/commonjs/getCustomFetch.js.map +7 -1
  450. package/dist/commonjs/index.d.ts +18 -18
  451. package/dist/commonjs/index.d.ts.map +1 -1
  452. package/dist/commonjs/index.js +27 -12
  453. package/dist/commonjs/index.js.map +7 -1
  454. package/dist/commonjs/logger.js +28 -8
  455. package/dist/commonjs/logger.js.map +7 -1
  456. package/dist/commonjs/models/index.d.ts +1 -1
  457. package/dist/commonjs/models/index.d.ts.map +1 -1
  458. package/dist/commonjs/models/index.js +15 -8
  459. package/dist/commonjs/models/index.js.map +7 -1
  460. package/dist/commonjs/models/models.d.ts +259 -1032
  461. package/dist/commonjs/models/models.d.ts.map +1 -1
  462. package/dist/commonjs/models/models.js +3760 -4037
  463. package/dist/commonjs/models/models.js.map +7 -1
  464. package/dist/commonjs/overwriteOpenAIClient.d.ts +1 -1
  465. package/dist/commonjs/overwriteOpenAIClient.d.ts.map +1 -1
  466. package/dist/commonjs/overwriteOpenAIClient.js +35 -15
  467. package/dist/commonjs/overwriteOpenAIClient.js.map +7 -1
  468. package/dist/commonjs/static-helpers/pagingHelpers.d.ts +4 -28
  469. package/dist/commonjs/static-helpers/pagingHelpers.d.ts.map +1 -1
  470. package/dist/commonjs/static-helpers/pagingHelpers.js +123 -126
  471. package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -1
  472. package/dist/commonjs/static-helpers/pollingHelpers.d.ts +4 -4
  473. package/dist/commonjs/static-helpers/pollingHelpers.d.ts.map +1 -1
  474. package/dist/commonjs/static-helpers/pollingHelpers.js +92 -90
  475. package/dist/commonjs/static-helpers/pollingHelpers.js.map +7 -1
  476. package/dist/commonjs/static-helpers/serialization/serialize-record.js +38 -20
  477. package/dist/commonjs/static-helpers/serialization/serialize-record.js.map +7 -1
  478. package/dist/commonjs/static-helpers/urlTemplate.js +165 -172
  479. package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -1
  480. package/dist/commonjs/tsdoc-metadata.json +1 -1
  481. package/dist/commonjs/util.js +86 -88
  482. package/dist/commonjs/util.js.map +7 -1
  483. package/dist/esm/aiProjectClient.d.ts +11 -11
  484. package/dist/esm/aiProjectClient.d.ts.map +1 -1
  485. package/dist/esm/aiProjectClient.js +95 -120
  486. package/dist/esm/aiProjectClient.js.map +7 -1
  487. package/dist/esm/api/agents/index.d.ts +1 -1
  488. package/dist/esm/api/agents/index.d.ts.map +1 -1
  489. package/dist/esm/api/agents/index.js +28 -4
  490. package/dist/esm/api/agents/index.js.map +7 -1
  491. package/dist/esm/api/agents/operations.d.ts +11 -11
  492. package/dist/esm/api/agents/operations.d.ts.map +1 -1
  493. package/dist/esm/api/agents/operations.js +475 -377
  494. package/dist/esm/api/agents/operations.js.map +7 -1
  495. package/dist/esm/api/agents/options.d.ts +5 -5
  496. package/dist/esm/api/agents/options.d.ts.map +1 -1
  497. package/dist/esm/api/agents/options.js +0 -4
  498. package/dist/esm/api/agents/options.js.map +7 -1
  499. package/dist/esm/api/aiProjectContext.d.ts +2 -2
  500. package/dist/esm/api/aiProjectContext.d.ts.map +1 -1
  501. package/dist/esm/api/aiProjectContext.js +19 -21
  502. package/dist/esm/api/aiProjectContext.js.map +7 -1
  503. package/dist/esm/api/beta/evaluationTaxonomies/index.d.ts +1 -1
  504. package/dist/esm/api/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  505. package/dist/esm/api/beta/evaluationTaxonomies/index.js +8 -4
  506. package/dist/esm/api/beta/evaluationTaxonomies/index.js.map +7 -1
  507. package/dist/esm/api/beta/evaluationTaxonomies/operations.d.ts +5 -5
  508. package/dist/esm/api/beta/evaluationTaxonomies/operations.d.ts.map +1 -1
  509. package/dist/esm/api/beta/evaluationTaxonomies/operations.js +185 -143
  510. package/dist/esm/api/beta/evaluationTaxonomies/operations.js.map +7 -1
  511. package/dist/esm/api/beta/evaluationTaxonomies/options.d.ts +1 -1
  512. package/dist/esm/api/beta/evaluationTaxonomies/options.d.ts.map +1 -1
  513. package/dist/esm/api/beta/evaluationTaxonomies/options.js +0 -4
  514. package/dist/esm/api/beta/evaluationTaxonomies/options.js.map +7 -1
  515. package/dist/esm/api/beta/evaluators/index.d.ts +1 -1
  516. package/dist/esm/api/beta/evaluators/index.d.ts.map +1 -1
  517. package/dist/esm/api/beta/evaluators/index.js +16 -4
  518. package/dist/esm/api/beta/evaluators/index.js.map +7 -1
  519. package/dist/esm/api/beta/evaluators/operations.d.ts +5 -5
  520. package/dist/esm/api/beta/evaluators/operations.d.ts.map +1 -1
  521. package/dist/esm/api/beta/evaluators/operations.js +245 -176
  522. package/dist/esm/api/beta/evaluators/operations.js.map +7 -1
  523. package/dist/esm/api/beta/evaluators/options.d.ts +4 -4
  524. package/dist/esm/api/beta/evaluators/options.d.ts.map +1 -1
  525. package/dist/esm/api/beta/evaluators/options.js +0 -4
  526. package/dist/esm/api/beta/evaluators/options.js.map +7 -1
  527. package/dist/esm/api/beta/insights/index.d.ts +1 -1
  528. package/dist/esm/api/beta/insights/index.d.ts.map +1 -1
  529. package/dist/esm/api/beta/insights/index.js +6 -4
  530. package/dist/esm/api/beta/insights/index.js.map +7 -1
  531. package/dist/esm/api/beta/insights/operations.d.ts +5 -5
  532. package/dist/esm/api/beta/insights/operations.d.ts.map +1 -1
  533. package/dist/esm/api/beta/insights/operations.js +128 -102
  534. package/dist/esm/api/beta/insights/operations.js.map +7 -1
  535. package/dist/esm/api/beta/insights/options.d.ts +3 -3
  536. package/dist/esm/api/beta/insights/options.d.ts.map +1 -1
  537. package/dist/esm/api/beta/insights/options.js +0 -4
  538. package/dist/esm/api/beta/insights/options.js.map +7 -1
  539. package/dist/esm/api/beta/memoryStores/index.d.ts +1 -1
  540. package/dist/esm/api/beta/memoryStores/index.d.ts.map +1 -1
  541. package/dist/esm/api/beta/memoryStores/index.js +22 -4
  542. package/dist/esm/api/beta/memoryStores/index.js.map +7 -1
  543. package/dist/esm/api/beta/memoryStores/operations.d.ts +6 -6
  544. package/dist/esm/api/beta/memoryStores/operations.d.ts.map +1 -1
  545. package/dist/esm/api/beta/memoryStores/operations.js +365 -284
  546. package/dist/esm/api/beta/memoryStores/operations.js.map +7 -1
  547. package/dist/esm/api/beta/memoryStores/options.d.ts +5 -5
  548. package/dist/esm/api/beta/memoryStores/options.d.ts.map +1 -1
  549. package/dist/esm/api/beta/memoryStores/options.js +0 -4
  550. package/dist/esm/api/beta/memoryStores/options.js.map +7 -1
  551. package/dist/esm/api/beta/redTeams/index.d.ts +1 -1
  552. package/dist/esm/api/beta/redTeams/index.d.ts.map +1 -1
  553. package/dist/esm/api/beta/redTeams/index.js +6 -4
  554. package/dist/esm/api/beta/redTeams/index.js.map +7 -1
  555. package/dist/esm/api/beta/redTeams/operations.d.ts +5 -5
  556. package/dist/esm/api/beta/redTeams/operations.d.ts.map +1 -1
  557. package/dist/esm/api/beta/redTeams/operations.js +121 -88
  558. package/dist/esm/api/beta/redTeams/operations.js.map +7 -1
  559. package/dist/esm/api/beta/redTeams/options.d.ts +1 -1
  560. package/dist/esm/api/beta/redTeams/options.d.ts.map +1 -1
  561. package/dist/esm/api/beta/redTeams/options.js +0 -4
  562. package/dist/esm/api/beta/redTeams/options.js.map +7 -1
  563. package/dist/esm/api/beta/schedules/index.d.ts +1 -1
  564. package/dist/esm/api/beta/schedules/index.d.ts.map +1 -1
  565. package/dist/esm/api/beta/schedules/index.js +9 -4
  566. package/dist/esm/api/beta/schedules/index.js.map +7 -1
  567. package/dist/esm/api/beta/schedules/operations.d.ts +5 -5
  568. package/dist/esm/api/beta/schedules/operations.d.ts.map +1 -1
  569. package/dist/esm/api/beta/schedules/operations.js +250 -188
  570. package/dist/esm/api/beta/schedules/operations.js.map +7 -1
  571. package/dist/esm/api/beta/schedules/options.d.ts +4 -4
  572. package/dist/esm/api/beta/schedules/options.d.ts.map +1 -1
  573. package/dist/esm/api/beta/schedules/options.js +0 -4
  574. package/dist/esm/api/beta/schedules/options.js.map +7 -1
  575. package/dist/esm/api/connections/index.d.ts +1 -1
  576. package/dist/esm/api/connections/index.d.ts.map +1 -1
  577. package/dist/esm/api/connections/index.js +6 -4
  578. package/dist/esm/api/connections/index.js.map +7 -1
  579. package/dist/esm/api/connections/operations.d.ts +8 -8
  580. package/dist/esm/api/connections/operations.d.ts.map +1 -1
  581. package/dist/esm/api/connections/operations.js +119 -112
  582. package/dist/esm/api/connections/operations.js.map +7 -1
  583. package/dist/esm/api/connections/options.d.ts +9 -2
  584. package/dist/esm/api/connections/options.d.ts.map +1 -1
  585. package/dist/esm/api/connections/options.js +0 -4
  586. package/dist/esm/api/connections/options.js.map +7 -1
  587. package/dist/esm/api/datasets/index.d.ts +1 -1
  588. package/dist/esm/api/datasets/index.d.ts.map +1 -1
  589. package/dist/esm/api/datasets/index.js +18 -4
  590. package/dist/esm/api/datasets/index.js.map +7 -1
  591. package/dist/esm/api/datasets/operations.d.ts +5 -5
  592. package/dist/esm/api/datasets/operations.d.ts.map +1 -1
  593. package/dist/esm/api/datasets/operations.js +357 -283
  594. package/dist/esm/api/datasets/operations.js.map +7 -1
  595. package/dist/esm/api/datasets/options.d.ts +1 -1
  596. package/dist/esm/api/datasets/options.d.ts.map +1 -1
  597. package/dist/esm/api/datasets/options.js +0 -4
  598. package/dist/esm/api/datasets/options.js.map +7 -1
  599. package/dist/esm/api/deployments/index.d.ts +1 -1
  600. package/dist/esm/api/deployments/index.d.ts.map +1 -1
  601. package/dist/esm/api/deployments/index.js +5 -4
  602. package/dist/esm/api/deployments/index.js.map +7 -1
  603. package/dist/esm/api/deployments/operations.d.ts +5 -5
  604. package/dist/esm/api/deployments/operations.d.ts.map +1 -1
  605. package/dist/esm/api/deployments/operations.js +73 -60
  606. package/dist/esm/api/deployments/operations.js.map +7 -1
  607. package/dist/esm/api/deployments/options.d.ts +2 -2
  608. package/dist/esm/api/deployments/options.d.ts.map +1 -1
  609. package/dist/esm/api/deployments/options.js +0 -4
  610. package/dist/esm/api/deployments/options.js.map +7 -1
  611. package/dist/esm/api/evaluationRules/index.d.ts +1 -1
  612. package/dist/esm/api/evaluationRules/index.d.ts.map +1 -1
  613. package/dist/esm/api/evaluationRules/index.js +7 -4
  614. package/dist/esm/api/evaluationRules/index.js.map +7 -1
  615. package/dist/esm/api/evaluationRules/operations.d.ts +5 -5
  616. package/dist/esm/api/evaluationRules/operations.d.ts.map +1 -1
  617. package/dist/esm/api/evaluationRules/operations.js +146 -112
  618. package/dist/esm/api/evaluationRules/operations.js.map +7 -1
  619. package/dist/esm/api/evaluationRules/options.d.ts +2 -2
  620. package/dist/esm/api/evaluationRules/options.d.ts.map +1 -1
  621. package/dist/esm/api/evaluationRules/options.js +0 -4
  622. package/dist/esm/api/evaluationRules/options.js.map +7 -1
  623. package/dist/esm/api/index.d.ts +6 -5
  624. package/dist/esm/api/index.d.ts.map +1 -1
  625. package/dist/esm/api/index.js +4 -4
  626. package/dist/esm/api/index.js.map +7 -1
  627. package/dist/esm/api/indexes/index.d.ts +1 -1
  628. package/dist/esm/api/indexes/index.d.ts.map +1 -1
  629. package/dist/esm/api/indexes/index.js +8 -4
  630. package/dist/esm/api/indexes/index.js.map +7 -1
  631. package/dist/esm/api/indexes/operations.d.ts +5 -5
  632. package/dist/esm/api/indexes/operations.d.ts.map +1 -1
  633. package/dist/esm/api/indexes/operations.js +163 -118
  634. package/dist/esm/api/indexes/operations.js.map +7 -1
  635. package/dist/esm/api/indexes/options.d.ts +1 -1
  636. package/dist/esm/api/indexes/options.d.ts.map +1 -1
  637. package/dist/esm/api/indexes/options.js +0 -4
  638. package/dist/esm/api/indexes/options.js.map +7 -1
  639. package/dist/esm/api/telemetry/index.d.ts +1 -1
  640. package/dist/esm/api/telemetry/index.d.ts.map +1 -1
  641. package/dist/esm/api/telemetry/index.js +4 -4
  642. package/dist/esm/api/telemetry/index.js.map +7 -1
  643. package/dist/esm/api/telemetry/operations.d.ts +2 -1
  644. package/dist/esm/api/telemetry/operations.d.ts.map +1 -1
  645. package/dist/esm/api/telemetry/operations.js +46 -53
  646. package/dist/esm/api/telemetry/operations.js.map +7 -1
  647. package/dist/esm/classic/agents/index.d.ts +7 -7
  648. package/dist/esm/classic/agents/index.d.ts.map +1 -1
  649. package/dist/esm/classic/agents/index.js +80 -40
  650. package/dist/esm/classic/agents/index.js.map +7 -1
  651. package/dist/esm/classic/beta/evaluationTaxonomies/index.d.ts +4 -4
  652. package/dist/esm/classic/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  653. package/dist/esm/classic/beta/evaluationTaxonomies/index.js +21 -15
  654. package/dist/esm/classic/beta/evaluationTaxonomies/index.js.map +7 -1
  655. package/dist/esm/classic/beta/evaluators/index.d.ts +5 -5
  656. package/dist/esm/classic/beta/evaluators/index.d.ts.map +1 -1
  657. package/dist/esm/classic/beta/evaluators/index.js +23 -16
  658. package/dist/esm/classic/beta/evaluators/index.js.map +7 -1
  659. package/dist/esm/classic/beta/index.d.ts +13 -7
  660. package/dist/esm/classic/beta/index.d.ts.map +1 -1
  661. package/dist/esm/classic/beta/index.js +20 -14
  662. package/dist/esm/classic/beta/index.js.map +7 -1
  663. package/dist/esm/classic/beta/insights/index.d.ts +4 -4
  664. package/dist/esm/classic/beta/insights/index.d.ts.map +1 -1
  665. package/dist/esm/classic/beta/insights/index.js +12 -12
  666. package/dist/esm/classic/beta/insights/index.js.map +7 -1
  667. package/dist/esm/classic/beta/memoryStores/index.d.ts +5 -5
  668. package/dist/esm/classic/beta/memoryStores/index.d.ts.map +1 -1
  669. package/dist/esm/classic/beta/memoryStores/index.js +29 -19
  670. package/dist/esm/classic/beta/memoryStores/index.js.map +7 -1
  671. package/dist/esm/classic/beta/redTeams/index.d.ts +4 -4
  672. package/dist/esm/classic/beta/redTeams/index.d.ts.map +1 -1
  673. package/dist/esm/classic/beta/redTeams/index.js +12 -12
  674. package/dist/esm/classic/beta/redTeams/index.js.map +7 -1
  675. package/dist/esm/classic/beta/schedules/index.d.ts +4 -4
  676. package/dist/esm/classic/beta/schedules/index.d.ts.map +1 -1
  677. package/dist/esm/classic/beta/schedules/index.js +23 -16
  678. package/dist/esm/classic/beta/schedules/index.js.map +7 -1
  679. package/dist/esm/classic/connections/index.d.ts +6 -6
  680. package/dist/esm/classic/connections/index.d.ts.map +1 -1
  681. package/dist/esm/classic/connections/index.js +13 -13
  682. package/dist/esm/classic/connections/index.js.map +7 -1
  683. package/dist/esm/classic/datasets/index.d.ts +5 -5
  684. package/dist/esm/classic/datasets/index.d.ts.map +1 -1
  685. package/dist/esm/classic/datasets/index.js +29 -19
  686. package/dist/esm/classic/datasets/index.js.map +7 -1
  687. package/dist/esm/classic/deployments/index.d.ts +4 -4
  688. package/dist/esm/classic/deployments/index.d.ts.map +1 -1
  689. package/dist/esm/classic/deployments/index.js +11 -11
  690. package/dist/esm/classic/deployments/index.js.map +7 -1
  691. package/dist/esm/classic/evaluationRules/index.d.ts +4 -4
  692. package/dist/esm/classic/evaluationRules/index.d.ts.map +1 -1
  693. package/dist/esm/classic/evaluationRules/index.js +13 -13
  694. package/dist/esm/classic/evaluationRules/index.js.map +7 -1
  695. package/dist/esm/classic/index.d.ts +14 -14
  696. package/dist/esm/classic/index.d.ts.map +1 -1
  697. package/dist/esm/classic/index.js +0 -4
  698. package/dist/esm/classic/index.js.map +7 -1
  699. package/dist/esm/classic/indexes/index.d.ts +4 -4
  700. package/dist/esm/classic/indexes/index.d.ts.map +1 -1
  701. package/dist/esm/classic/indexes/index.js +14 -14
  702. package/dist/esm/classic/indexes/index.js.map +7 -1
  703. package/dist/esm/classic/telemetry/index.d.ts +2 -1
  704. package/dist/esm/classic/telemetry/index.d.ts.map +1 -1
  705. package/dist/esm/classic/telemetry/index.js +9 -9
  706. package/dist/esm/classic/telemetry/index.js.map +7 -1
  707. package/dist/esm/constants.d.ts +1 -1
  708. package/dist/esm/constants.d.ts.map +1 -1
  709. package/dist/esm/constants.js +6 -11
  710. package/dist/esm/constants.js.map +7 -1
  711. package/dist/esm/getCustomFetch.js +33 -40
  712. package/dist/esm/getCustomFetch.js.map +7 -1
  713. package/dist/esm/index.d.ts +18 -18
  714. package/dist/esm/index.d.ts.map +1 -1
  715. package/dist/esm/index.js +4 -6
  716. package/dist/esm/index.js.map +7 -1
  717. package/dist/esm/logger.js +4 -4
  718. package/dist/esm/logger.js.map +7 -1
  719. package/dist/esm/models/index.d.ts +1 -1
  720. package/dist/esm/models/index.d.ts.map +1 -1
  721. package/dist/esm/models/index.js +0 -4
  722. package/dist/esm/models/index.js.map +7 -1
  723. package/dist/esm/models/models.d.ts +259 -1032
  724. package/dist/esm/models/models.d.ts.map +1 -1
  725. package/dist/esm/models/models.js +4160 -4382
  726. package/dist/esm/models/models.js.map +7 -1
  727. package/dist/esm/overwriteOpenAIClient.d.ts +1 -1
  728. package/dist/esm/overwriteOpenAIClient.d.ts.map +1 -1
  729. package/dist/esm/overwriteOpenAIClient.js +13 -13
  730. package/dist/esm/overwriteOpenAIClient.js.map +7 -1
  731. package/dist/esm/static-helpers/pagingHelpers.d.ts +4 -28
  732. package/dist/esm/static-helpers/pagingHelpers.d.ts.map +1 -1
  733. package/dist/esm/static-helpers/pagingHelpers.js +99 -122
  734. package/dist/esm/static-helpers/pagingHelpers.js.map +7 -1
  735. package/dist/esm/static-helpers/pollingHelpers.d.ts +4 -4
  736. package/dist/esm/static-helpers/pollingHelpers.d.ts.map +1 -1
  737. package/dist/esm/static-helpers/pollingHelpers.js +69 -87
  738. package/dist/esm/static-helpers/pollingHelpers.js.map +7 -1
  739. package/dist/esm/static-helpers/serialization/serialize-record.js +16 -18
  740. package/dist/esm/static-helpers/serialization/serialize-record.js.map +7 -1
  741. package/dist/esm/static-helpers/urlTemplate.js +142 -169
  742. package/dist/esm/static-helpers/urlTemplate.js.map +7 -1
  743. package/dist/esm/util.js +63 -84
  744. package/dist/esm/util.js.map +7 -1
  745. package/dist/react-native/aiProjectClient.d.ts +11 -11
  746. package/dist/react-native/aiProjectClient.d.ts.map +1 -1
  747. package/dist/react-native/aiProjectClient.js +1 -1
  748. package/dist/react-native/aiProjectClient.js.map +1 -1
  749. package/dist/react-native/api/agents/index.d.ts +1 -1
  750. package/dist/react-native/api/agents/index.d.ts.map +1 -1
  751. package/dist/react-native/api/agents/index.js.map +1 -1
  752. package/dist/react-native/api/agents/operations.d.ts +11 -11
  753. package/dist/react-native/api/agents/operations.d.ts.map +1 -1
  754. package/dist/react-native/api/agents/operations.js +2 -2
  755. package/dist/react-native/api/agents/operations.js.map +1 -1
  756. package/dist/react-native/api/agents/options.d.ts +5 -5
  757. package/dist/react-native/api/agents/options.d.ts.map +1 -1
  758. package/dist/react-native/api/agents/options.js.map +1 -1
  759. package/dist/react-native/api/aiProjectContext.d.ts +2 -2
  760. package/dist/react-native/api/aiProjectContext.d.ts.map +1 -1
  761. package/dist/react-native/api/aiProjectContext.js +1 -1
  762. package/dist/react-native/api/aiProjectContext.js.map +1 -1
  763. package/dist/react-native/api/beta/evaluationTaxonomies/index.d.ts +1 -1
  764. package/dist/react-native/api/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  765. package/dist/react-native/api/beta/evaluationTaxonomies/index.js.map +1 -1
  766. package/dist/react-native/api/beta/evaluationTaxonomies/operations.d.ts +5 -5
  767. package/dist/react-native/api/beta/evaluationTaxonomies/operations.d.ts.map +1 -1
  768. package/dist/react-native/api/beta/evaluationTaxonomies/operations.js +12 -3
  769. package/dist/react-native/api/beta/evaluationTaxonomies/operations.js.map +1 -1
  770. package/dist/react-native/api/beta/evaluationTaxonomies/options.d.ts +1 -1
  771. package/dist/react-native/api/beta/evaluationTaxonomies/options.d.ts.map +1 -1
  772. package/dist/react-native/api/beta/evaluationTaxonomies/options.js.map +1 -1
  773. package/dist/react-native/api/beta/evaluators/index.d.ts +1 -1
  774. package/dist/react-native/api/beta/evaluators/index.d.ts.map +1 -1
  775. package/dist/react-native/api/beta/evaluators/index.js.map +1 -1
  776. package/dist/react-native/api/beta/evaluators/operations.d.ts +5 -5
  777. package/dist/react-native/api/beta/evaluators/operations.d.ts.map +1 -1
  778. package/dist/react-native/api/beta/evaluators/operations.js +24 -6
  779. package/dist/react-native/api/beta/evaluators/operations.js.map +1 -1
  780. package/dist/react-native/api/beta/evaluators/options.d.ts +4 -4
  781. package/dist/react-native/api/beta/evaluators/options.d.ts.map +1 -1
  782. package/dist/react-native/api/beta/evaluators/options.js.map +1 -1
  783. package/dist/react-native/api/beta/insights/index.d.ts +1 -1
  784. package/dist/react-native/api/beta/insights/index.d.ts.map +1 -1
  785. package/dist/react-native/api/beta/insights/index.js.map +1 -1
  786. package/dist/react-native/api/beta/insights/operations.d.ts +5 -5
  787. package/dist/react-native/api/beta/insights/operations.d.ts.map +1 -1
  788. package/dist/react-native/api/beta/insights/operations.js +13 -4
  789. package/dist/react-native/api/beta/insights/operations.js.map +1 -1
  790. package/dist/react-native/api/beta/insights/options.d.ts +3 -3
  791. package/dist/react-native/api/beta/insights/options.d.ts.map +1 -1
  792. package/dist/react-native/api/beta/insights/options.js.map +1 -1
  793. package/dist/react-native/api/beta/memoryStores/index.d.ts +1 -1
  794. package/dist/react-native/api/beta/memoryStores/index.d.ts.map +1 -1
  795. package/dist/react-native/api/beta/memoryStores/index.js.map +1 -1
  796. package/dist/react-native/api/beta/memoryStores/operations.d.ts +6 -6
  797. package/dist/react-native/api/beta/memoryStores/operations.d.ts.map +1 -1
  798. package/dist/react-native/api/beta/memoryStores/operations.js +18 -6
  799. package/dist/react-native/api/beta/memoryStores/operations.js.map +1 -1
  800. package/dist/react-native/api/beta/memoryStores/options.d.ts +5 -5
  801. package/dist/react-native/api/beta/memoryStores/options.d.ts.map +1 -1
  802. package/dist/react-native/api/beta/memoryStores/options.js.map +1 -1
  803. package/dist/react-native/api/beta/redTeams/index.d.ts +1 -1
  804. package/dist/react-native/api/beta/redTeams/index.d.ts.map +1 -1
  805. package/dist/react-native/api/beta/redTeams/index.js.map +1 -1
  806. package/dist/react-native/api/beta/redTeams/operations.d.ts +5 -5
  807. package/dist/react-native/api/beta/redTeams/operations.d.ts.map +1 -1
  808. package/dist/react-native/api/beta/redTeams/operations.js +12 -3
  809. package/dist/react-native/api/beta/redTeams/operations.js.map +1 -1
  810. package/dist/react-native/api/beta/redTeams/options.d.ts +1 -1
  811. package/dist/react-native/api/beta/redTeams/options.d.ts.map +1 -1
  812. package/dist/react-native/api/beta/redTeams/options.js.map +1 -1
  813. package/dist/react-native/api/beta/schedules/index.d.ts +1 -1
  814. package/dist/react-native/api/beta/schedules/index.d.ts.map +1 -1
  815. package/dist/react-native/api/beta/schedules/index.js.map +1 -1
  816. package/dist/react-native/api/beta/schedules/operations.d.ts +5 -5
  817. package/dist/react-native/api/beta/schedules/operations.d.ts.map +1 -1
  818. package/dist/react-native/api/beta/schedules/operations.js +23 -5
  819. package/dist/react-native/api/beta/schedules/operations.js.map +1 -1
  820. package/dist/react-native/api/beta/schedules/options.d.ts +4 -4
  821. package/dist/react-native/api/beta/schedules/options.d.ts.map +1 -1
  822. package/dist/react-native/api/beta/schedules/options.js.map +1 -1
  823. package/dist/react-native/api/connections/index.d.ts +1 -1
  824. package/dist/react-native/api/connections/index.d.ts.map +1 -1
  825. package/dist/react-native/api/connections/index.js.map +1 -1
  826. package/dist/react-native/api/connections/operations.d.ts +8 -8
  827. package/dist/react-native/api/connections/operations.d.ts.map +1 -1
  828. package/dist/react-native/api/connections/operations.js +12 -12
  829. package/dist/react-native/api/connections/operations.js.map +1 -1
  830. package/dist/react-native/api/connections/options.d.ts +9 -2
  831. package/dist/react-native/api/connections/options.d.ts.map +1 -1
  832. package/dist/react-native/api/connections/options.js.map +1 -1
  833. package/dist/react-native/api/datasets/index.d.ts +1 -1
  834. package/dist/react-native/api/datasets/index.d.ts.map +1 -1
  835. package/dist/react-native/api/datasets/index.js.map +1 -1
  836. package/dist/react-native/api/datasets/operations.d.ts +5 -5
  837. package/dist/react-native/api/datasets/operations.d.ts.map +1 -1
  838. package/dist/react-native/api/datasets/operations.js +9 -3
  839. package/dist/react-native/api/datasets/operations.js.map +1 -1
  840. package/dist/react-native/api/datasets/options.d.ts +1 -1
  841. package/dist/react-native/api/datasets/options.d.ts.map +1 -1
  842. package/dist/react-native/api/datasets/options.js.map +1 -1
  843. package/dist/react-native/api/deployments/index.d.ts +1 -1
  844. package/dist/react-native/api/deployments/index.d.ts.map +1 -1
  845. package/dist/react-native/api/deployments/index.js.map +1 -1
  846. package/dist/react-native/api/deployments/operations.d.ts +5 -5
  847. package/dist/react-native/api/deployments/operations.d.ts.map +1 -1
  848. package/dist/react-native/api/deployments/operations.js +3 -3
  849. package/dist/react-native/api/deployments/operations.js.map +1 -1
  850. package/dist/react-native/api/deployments/options.d.ts +2 -2
  851. package/dist/react-native/api/deployments/options.d.ts.map +1 -1
  852. package/dist/react-native/api/deployments/options.js.map +1 -1
  853. package/dist/react-native/api/evaluationRules/index.d.ts +1 -1
  854. package/dist/react-native/api/evaluationRules/index.d.ts.map +1 -1
  855. package/dist/react-native/api/evaluationRules/index.js.map +1 -1
  856. package/dist/react-native/api/evaluationRules/operations.d.ts +5 -5
  857. package/dist/react-native/api/evaluationRules/operations.d.ts.map +1 -1
  858. package/dist/react-native/api/evaluationRules/operations.js +14 -3
  859. package/dist/react-native/api/evaluationRules/operations.js.map +1 -1
  860. package/dist/react-native/api/evaluationRules/options.d.ts +2 -2
  861. package/dist/react-native/api/evaluationRules/options.d.ts.map +1 -1
  862. package/dist/react-native/api/evaluationRules/options.js.map +1 -1
  863. package/dist/react-native/api/index.d.ts +6 -5
  864. package/dist/react-native/api/index.d.ts.map +1 -1
  865. package/dist/react-native/api/index.js.map +1 -1
  866. package/dist/react-native/api/indexes/index.d.ts +1 -1
  867. package/dist/react-native/api/indexes/index.d.ts.map +1 -1
  868. package/dist/react-native/api/indexes/index.js.map +1 -1
  869. package/dist/react-native/api/indexes/operations.d.ts +5 -5
  870. package/dist/react-native/api/indexes/operations.d.ts.map +1 -1
  871. package/dist/react-native/api/indexes/operations.js +2 -2
  872. package/dist/react-native/api/indexes/operations.js.map +1 -1
  873. package/dist/react-native/api/indexes/options.d.ts +1 -1
  874. package/dist/react-native/api/indexes/options.d.ts.map +1 -1
  875. package/dist/react-native/api/indexes/options.js.map +1 -1
  876. package/dist/react-native/api/telemetry/index.d.ts +1 -1
  877. package/dist/react-native/api/telemetry/index.d.ts.map +1 -1
  878. package/dist/react-native/api/telemetry/index.js.map +1 -1
  879. package/dist/react-native/api/telemetry/operations.d.ts +2 -1
  880. package/dist/react-native/api/telemetry/operations.d.ts.map +1 -1
  881. package/dist/react-native/api/telemetry/operations.js +3 -3
  882. package/dist/react-native/api/telemetry/operations.js.map +1 -1
  883. package/dist/react-native/classic/agents/index.d.ts +7 -7
  884. package/dist/react-native/classic/agents/index.d.ts.map +1 -1
  885. package/dist/react-native/classic/agents/index.js.map +1 -1
  886. package/dist/react-native/classic/beta/evaluationTaxonomies/index.d.ts +4 -4
  887. package/dist/react-native/classic/beta/evaluationTaxonomies/index.d.ts.map +1 -1
  888. package/dist/react-native/classic/beta/evaluationTaxonomies/index.js.map +1 -1
  889. package/dist/react-native/classic/beta/evaluators/index.d.ts +5 -5
  890. package/dist/react-native/classic/beta/evaluators/index.d.ts.map +1 -1
  891. package/dist/react-native/classic/beta/evaluators/index.js +1 -1
  892. package/dist/react-native/classic/beta/evaluators/index.js.map +1 -1
  893. package/dist/react-native/classic/beta/index.d.ts +13 -7
  894. package/dist/react-native/classic/beta/index.d.ts.map +1 -1
  895. package/dist/react-native/classic/beta/index.js +8 -2
  896. package/dist/react-native/classic/beta/index.js.map +1 -1
  897. package/dist/react-native/classic/beta/insights/index.d.ts +4 -4
  898. package/dist/react-native/classic/beta/insights/index.d.ts.map +1 -1
  899. package/dist/react-native/classic/beta/insights/index.js.map +1 -1
  900. package/dist/react-native/classic/beta/memoryStores/index.d.ts +5 -5
  901. package/dist/react-native/classic/beta/memoryStores/index.d.ts.map +1 -1
  902. package/dist/react-native/classic/beta/memoryStores/index.js.map +1 -1
  903. package/dist/react-native/classic/beta/redTeams/index.d.ts +4 -4
  904. package/dist/react-native/classic/beta/redTeams/index.d.ts.map +1 -1
  905. package/dist/react-native/classic/beta/redTeams/index.js.map +1 -1
  906. package/dist/react-native/classic/beta/schedules/index.d.ts +4 -4
  907. package/dist/react-native/classic/beta/schedules/index.d.ts.map +1 -1
  908. package/dist/react-native/classic/beta/schedules/index.js.map +1 -1
  909. package/dist/react-native/classic/connections/index.d.ts +6 -6
  910. package/dist/react-native/classic/connections/index.d.ts.map +1 -1
  911. package/dist/react-native/classic/connections/index.js +2 -2
  912. package/dist/react-native/classic/connections/index.js.map +1 -1
  913. package/dist/react-native/classic/datasets/index.d.ts +5 -5
  914. package/dist/react-native/classic/datasets/index.d.ts.map +1 -1
  915. package/dist/react-native/classic/datasets/index.js.map +1 -1
  916. package/dist/react-native/classic/deployments/index.d.ts +4 -4
  917. package/dist/react-native/classic/deployments/index.d.ts.map +1 -1
  918. package/dist/react-native/classic/deployments/index.js.map +1 -1
  919. package/dist/react-native/classic/evaluationRules/index.d.ts +4 -4
  920. package/dist/react-native/classic/evaluationRules/index.d.ts.map +1 -1
  921. package/dist/react-native/classic/evaluationRules/index.js.map +1 -1
  922. package/dist/react-native/classic/index.d.ts +14 -14
  923. package/dist/react-native/classic/index.d.ts.map +1 -1
  924. package/dist/react-native/classic/index.js.map +1 -1
  925. package/dist/react-native/classic/indexes/index.d.ts +4 -4
  926. package/dist/react-native/classic/indexes/index.d.ts.map +1 -1
  927. package/dist/react-native/classic/indexes/index.js.map +1 -1
  928. package/dist/react-native/classic/telemetry/index.d.ts +2 -1
  929. package/dist/react-native/classic/telemetry/index.d.ts.map +1 -1
  930. package/dist/react-native/classic/telemetry/index.js +1 -3
  931. package/dist/react-native/classic/telemetry/index.js.map +1 -1
  932. package/dist/react-native/constants.d.ts +1 -1
  933. package/dist/react-native/constants.d.ts.map +1 -1
  934. package/dist/react-native/constants.js +1 -1
  935. package/dist/react-native/constants.js.map +1 -1
  936. package/dist/react-native/index.d.ts +18 -18
  937. package/dist/react-native/index.d.ts.map +1 -1
  938. package/dist/react-native/index.js +0 -2
  939. package/dist/react-native/index.js.map +1 -1
  940. package/dist/react-native/models/index.d.ts +1 -1
  941. package/dist/react-native/models/index.d.ts.map +1 -1
  942. package/dist/react-native/models/index.js +1 -1
  943. package/dist/react-native/models/index.js.map +1 -1
  944. package/dist/react-native/models/models.d.ts +259 -1032
  945. package/dist/react-native/models/models.d.ts.map +1 -1
  946. package/dist/react-native/models/models.js +368 -1041
  947. package/dist/react-native/models/models.js.map +1 -1
  948. package/dist/react-native/overwriteOpenAIClient.d.ts +1 -1
  949. package/dist/react-native/overwriteOpenAIClient.d.ts.map +1 -1
  950. package/dist/react-native/overwriteOpenAIClient.js.map +1 -1
  951. package/dist/react-native/static-helpers/pagingHelpers.d.ts +4 -28
  952. package/dist/react-native/static-helpers/pagingHelpers.d.ts.map +1 -1
  953. package/dist/react-native/static-helpers/pagingHelpers.js +3 -2
  954. package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -1
  955. package/dist/react-native/static-helpers/pollingHelpers.d.ts +4 -4
  956. package/dist/react-native/static-helpers/pollingHelpers.d.ts.map +1 -1
  957. package/dist/react-native/static-helpers/pollingHelpers.js +1 -1
  958. package/dist/react-native/static-helpers/pollingHelpers.js.map +1 -1
  959. package/package.json +3 -21
  960. package/dist/browser/api/beta/evaluationRules/index.d.ts +0 -3
  961. package/dist/browser/api/beta/evaluationRules/index.d.ts.map +0 -1
  962. package/dist/browser/api/beta/evaluationRules/index.js +0 -4
  963. package/dist/browser/api/beta/evaluationRules/index.js.map +0 -1
  964. package/dist/browser/api/beta/evaluationRules/operations.d.ts +0 -22
  965. package/dist/browser/api/beta/evaluationRules/operations.d.ts.map +0 -1
  966. package/dist/browser/api/beta/evaluationRules/operations.js +0 -134
  967. package/dist/browser/api/beta/evaluationRules/operations.js.map +0 -1
  968. package/dist/browser/api/beta/evaluationRules/options.d.ts +0 -27
  969. package/dist/browser/api/beta/evaluationRules/options.d.ts.map +0 -1
  970. package/dist/browser/api/beta/evaluationRules/options.js +0 -4
  971. package/dist/browser/api/beta/evaluationRules/options.js.map +0 -1
  972. package/dist/browser/classic/beta/evaluationRules/index.d.ts +0 -17
  973. package/dist/browser/classic/beta/evaluationRules/index.d.ts.map +0 -1
  974. package/dist/browser/classic/beta/evaluationRules/index.js +0 -17
  975. package/dist/browser/classic/beta/evaluationRules/index.js.map +0 -1
  976. package/dist/browser/getCustomFetch-browser.d.mts.map +0 -1
  977. package/dist/browser/getCustomFetch-browser.mjs.map +0 -1
  978. package/dist/browser/restorePollerHelpers.d.ts +0 -21
  979. package/dist/browser/restorePollerHelpers.d.ts.map +0 -1
  980. package/dist/browser/restorePollerHelpers.js +0 -99
  981. package/dist/browser/restorePollerHelpers.js.map +0 -1
  982. package/dist/commonjs/api/beta/evaluationRules/index.d.ts +0 -3
  983. package/dist/commonjs/api/beta/evaluationRules/index.d.ts.map +0 -1
  984. package/dist/commonjs/api/beta/evaluationRules/index.js +0 -11
  985. package/dist/commonjs/api/beta/evaluationRules/index.js.map +0 -1
  986. package/dist/commonjs/api/beta/evaluationRules/operations.d.ts +0 -22
  987. package/dist/commonjs/api/beta/evaluationRules/operations.d.ts.map +0 -1
  988. package/dist/commonjs/api/beta/evaluationRules/operations.js +0 -148
  989. package/dist/commonjs/api/beta/evaluationRules/operations.js.map +0 -1
  990. package/dist/commonjs/api/beta/evaluationRules/options.d.ts +0 -27
  991. package/dist/commonjs/api/beta/evaluationRules/options.d.ts.map +0 -1
  992. package/dist/commonjs/api/beta/evaluationRules/options.js +0 -5
  993. package/dist/commonjs/api/beta/evaluationRules/options.js.map +0 -1
  994. package/dist/commonjs/classic/beta/evaluationRules/index.d.ts +0 -17
  995. package/dist/commonjs/classic/beta/evaluationRules/index.d.ts.map +0 -1
  996. package/dist/commonjs/classic/beta/evaluationRules/index.js +0 -20
  997. package/dist/commonjs/classic/beta/evaluationRules/index.js.map +0 -1
  998. package/dist/commonjs/restorePollerHelpers.d.ts +0 -21
  999. package/dist/commonjs/restorePollerHelpers.d.ts.map +0 -1
  1000. package/dist/commonjs/restorePollerHelpers.js +0 -102
  1001. package/dist/commonjs/restorePollerHelpers.js.map +0 -1
  1002. package/dist/esm/api/beta/evaluationRules/index.d.ts +0 -3
  1003. package/dist/esm/api/beta/evaluationRules/index.d.ts.map +0 -1
  1004. package/dist/esm/api/beta/evaluationRules/index.js +0 -4
  1005. package/dist/esm/api/beta/evaluationRules/index.js.map +0 -1
  1006. package/dist/esm/api/beta/evaluationRules/operations.d.ts +0 -22
  1007. package/dist/esm/api/beta/evaluationRules/operations.d.ts.map +0 -1
  1008. package/dist/esm/api/beta/evaluationRules/operations.js +0 -134
  1009. package/dist/esm/api/beta/evaluationRules/operations.js.map +0 -1
  1010. package/dist/esm/api/beta/evaluationRules/options.d.ts +0 -27
  1011. package/dist/esm/api/beta/evaluationRules/options.d.ts.map +0 -1
  1012. package/dist/esm/api/beta/evaluationRules/options.js +0 -4
  1013. package/dist/esm/api/beta/evaluationRules/options.js.map +0 -1
  1014. package/dist/esm/classic/beta/evaluationRules/index.d.ts +0 -17
  1015. package/dist/esm/classic/beta/evaluationRules/index.d.ts.map +0 -1
  1016. package/dist/esm/classic/beta/evaluationRules/index.js +0 -17
  1017. package/dist/esm/classic/beta/evaluationRules/index.js.map +0 -1
  1018. package/dist/esm/restorePollerHelpers.d.ts +0 -21
  1019. package/dist/esm/restorePollerHelpers.d.ts.map +0 -1
  1020. package/dist/esm/restorePollerHelpers.js +0 -99
  1021. package/dist/esm/restorePollerHelpers.js.map +0 -1
  1022. package/dist/react-native/api/beta/evaluationRules/index.d.ts +0 -3
  1023. package/dist/react-native/api/beta/evaluationRules/index.d.ts.map +0 -1
  1024. package/dist/react-native/api/beta/evaluationRules/index.js +0 -4
  1025. package/dist/react-native/api/beta/evaluationRules/index.js.map +0 -1
  1026. package/dist/react-native/api/beta/evaluationRules/operations.d.ts +0 -22
  1027. package/dist/react-native/api/beta/evaluationRules/operations.d.ts.map +0 -1
  1028. package/dist/react-native/api/beta/evaluationRules/operations.js +0 -134
  1029. package/dist/react-native/api/beta/evaluationRules/operations.js.map +0 -1
  1030. package/dist/react-native/api/beta/evaluationRules/options.d.ts +0 -27
  1031. package/dist/react-native/api/beta/evaluationRules/options.d.ts.map +0 -1
  1032. package/dist/react-native/api/beta/evaluationRules/options.js +0 -4
  1033. package/dist/react-native/api/beta/evaluationRules/options.js.map +0 -1
  1034. package/dist/react-native/classic/beta/evaluationRules/index.d.ts +0 -17
  1035. package/dist/react-native/classic/beta/evaluationRules/index.d.ts.map +0 -1
  1036. package/dist/react-native/classic/beta/evaluationRules/index.js +0 -17
  1037. package/dist/react-native/classic/beta/evaluationRules/index.js.map +0 -1
  1038. package/dist/react-native/restorePollerHelpers.d.ts +0 -21
  1039. package/dist/react-native/restorePollerHelpers.d.ts.map +0 -1
  1040. package/dist/react-native/restorePollerHelpers.js +0 -99
  1041. package/dist/react-native/restorePollerHelpers.js.map +0 -1
@@ -1 +1,7 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { serializeRecord } from \"../static-helpers/serialization/serialize-record.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable tsdoc/syntax */\n\n/** model interface Agent */\nexport interface Agent {\n /** The object type, which is always 'agent'. */\n object: \"agent\";\n /** The unique identifier of the agent. */\n id: string;\n /** The name of the agent. */\n name: string;\n /** The latest version of the agent. */\n versions: {\n latest: AgentVersion;\n };\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n versions: _agentVersionsDeserializer(item[\"versions\"]),\n };\n}\n\n/**\n * Helper interface for agent version references.\n */\nexport interface _AgentVersions {\n latest: AgentVersion;\n}\n\nexport function _agentVersionsDeserializer(item: any): _AgentVersions {\n return {\n latest: agentVersionDeserializer(item[\"latest\"]),\n };\n}\n\n/**\n * Represents a specific version of an agent.\n * Includes metadata, versioning, creation time, and agent definition.\n */\nexport interface AgentVersion {\n /**\n * Set of 16 key-value pairs that can be attached to an object. This can be\n * useful for storing additional information about the object in a structured\n * format, and querying for objects via API or the dashboard.\n *\n * Keys are strings with a maximum length of 64 characters. Values are strings\n * with a maximum length of 512 characters.\n */\n metadata: Record<string, string>;\n /** The object type, which is always 'agent.version'. */\n object: \"agent.version\";\n /** The unique identifier of the agent version. */\n id: string;\n /** The name of the agent. Name can be used to retrieve/update/delete the agent. */\n name: string;\n /** The version identifier of the agent. Agents are immutable and every update creates a new version while keeping the name same. */\n version: string;\n /** A human-readable description of the agent. */\n description?: string;\n /** The Unix timestamp (seconds) when the agent was created. */\n created_at: Date;\n /** The definition of the agent. */\n definition: AgentDefinitionUnion;\n}\n\nexport function agentVersionDeserializer(item: any): AgentVersion {\n return {\n metadata: item[\"metadata\"],\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n definition: agentDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/**\n * Base definition interface for agents.\n * Contains the agent kind and optional RAI configuration.\n */\nexport interface AgentDefinition {\n /** The kind of agent. */\n kind: AgentKind;\n /** Configuration for Responsible AI (RAI) content filtering and safety features. */\n rai_config?: RaiConfig;\n}\n\nexport function agentDefinitionSerializer(item: AgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n };\n}\n\nexport function agentDefinitionDeserializer(item: any): AgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n };\n}\n\n/**\n * Union type for all agent definition types.\n * Supports workflow, hosted, container app, and prompt agents.\n */\nexport type AgentDefinitionUnion =\n | PromptAgentDefinition\n | WorkflowAgentDefinition\n | HostedAgentDefinition\n | ContainerAppAgentDefinition\n | AgentDefinition;\n\nexport function agentDefinitionUnionSerializer(item: AgentDefinitionUnion): any {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionSerializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionSerializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionSerializer(item as HostedAgentDefinition);\n\n case \"container_app\":\n return containerAppAgentDefinitionSerializer(item as ContainerAppAgentDefinition);\n\n default:\n return agentDefinitionSerializer(item);\n }\n}\n\nexport function agentDefinitionUnionDeserializer(item: any): AgentDefinitionUnion {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionDeserializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionDeserializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionDeserializer(item as HostedAgentDefinition);\n\n case \"container_app\":\n return containerAppAgentDefinitionDeserializer(item as ContainerAppAgentDefinition);\n\n default:\n return agentDefinitionDeserializer(item);\n }\n}\n\n/**\n * Defines the type/kind of agent.\n * Determines which agent definition structure is used.\n */\nexport type AgentKind = \"prompt\" | \"hosted\" | \"container_app\" | \"workflow\";\n\n/** Configuration for Responsible AI (RAI) content filtering and safety features. */\nexport interface RaiConfig {\n /** The name of the RAI policy to apply. */\n rai_policy_name: string;\n}\n\nexport function raiConfigSerializer(item: RaiConfig): any {\n return { rai_policy_name: item[\"rai_policy_name\"] };\n}\n\nexport function raiConfigDeserializer(item: any): RaiConfig {\n return {\n rai_policy_name: item[\"rai_policy_name\"],\n };\n}\n\n/** The prompt agent definition */\nexport interface PromptAgentDefinition extends AgentDefinition {\n kind: \"prompt\";\n /** The model deployment to use for this agent. */\n model: string;\n /** A system (or developer) message inserted into the model's context. */\n instructions?: string;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\n * We generally recommend altering this or `top_p` but not both.\n */\n temperature?: number;\n /**\n * An alternative to sampling with temperature, called nucleus sampling,\n * where the model considers the results of the tokens with top_p probability\n * mass. So 0.1 means only the tokens comprising the top 10% probability mass\n * are considered.\n *\n * We generally recommend altering this or `temperature` but not both.\n */\n top_p?: number;\n reasoning?: Reasoning;\n /**\n * An array of tools the model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /**\n * How the model should select which tool (or tools) to use when generating a response.\n * See the `tools` parameter to see how to specify which tools the model can call.\n */\n tool_choice?: string | ToolChoiceParamUnion;\n /** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\n text?: PromptAgentDefinitionTextOptions;\n /** Set of structured inputs that can participate in prompt template substitution or tool argument bindings. */\n structured_inputs?: Record<string, StructuredInputDefinition>;\n}\n\nexport function promptAgentDefinitionSerializer(item: PromptAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningSerializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceSerializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsSerializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordSerializer(item[\"structured_inputs\"]),\n };\n}\n\nexport function promptAgentDefinitionDeserializer(item: any): PromptAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningDeserializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceDeserializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsDeserializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordDeserializer(item[\"structured_inputs\"]),\n };\n}\n\n/**\n * **gpt-5 and o-series models only**\n * Configuration options for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n */\nexport interface Reasoning {\n effort?: ReasoningEffort;\n summary?: \"auto\" | \"concise\" | \"detailed\";\n generate_summary?: \"auto\" | \"concise\" | \"detailed\";\n}\n\nexport function reasoningSerializer(item: Reasoning): any {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\nexport function reasoningDeserializer(item: any): Reasoning {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\n/**\n * Constrains effort on reasoning for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n * Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing\n * reasoning effort can result in faster responses and fewer tokens used\n * on reasoning in a response.\n * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1.\n * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`.\n * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.\n * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.\n */\nexport type ReasoningEffort = \"none\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\nexport function toolUnionArraySerializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionSerializer(item);\n });\n}\n\nexport function toolUnionArrayDeserializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionDeserializer(item);\n });\n}\n\n/** A tool that can be used to generate a response. */\nexport interface Tool {\n type: ToolType;\n}\n\nexport function toolSerializer(item: Tool): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDeserializer(item: any): Tool {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolUnion */\nexport type ToolUnion =\n | BingGroundingTool\n | MicrosoftFabricPreviewTool\n | SharepointPreviewTool\n | AzureAISearchTool\n | OpenApiTool\n | BingCustomSearchPreviewTool\n | BrowserAutomationPreviewTool\n | AzureFunctionTool\n | CaptureStructuredOutputsTool\n | A2APreviewTool\n | MemorySearchPreviewTool\n | CodeInterpreterTool\n | FunctionTool\n | FileSearchTool\n | ComputerUsePreviewTool\n | WebSearchTool\n | MCPTool\n | ImageGenTool\n | LocalShellToolParam\n | FunctionShellToolParam\n | CustomToolParam\n | WebSearchPreviewTool\n | ApplyPatchToolParam\n | Tool;\n\nexport function toolUnionSerializer(item: ToolUnion): any {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolSerializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolSerializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolSerializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolSerializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolSerializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolSerializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolSerializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolSerializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolSerializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolSerializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolSerializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolSerializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolSerializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolSerializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolSerializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolSerializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolSerializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolSerializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamSerializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamSerializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamSerializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolSerializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamSerializer(item as ApplyPatchToolParam);\n\n default:\n return toolSerializer(item);\n }\n}\n\nexport function toolUnionDeserializer(item: any): ToolUnion {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolDeserializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolDeserializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolDeserializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolDeserializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolDeserializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolDeserializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolDeserializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolDeserializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolDeserializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolDeserializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolDeserializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolDeserializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolDeserializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolDeserializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolDeserializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolDeserializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolDeserializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolDeserializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamDeserializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamDeserializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamDeserializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolDeserializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamDeserializer(item as ApplyPatchToolParam);\n\n default:\n return toolDeserializer(item);\n }\n}\n\n/** Type of ToolType */\nexport type ToolType =\n | \"function\"\n | \"file_search\"\n | \"computer_use_preview\"\n | \"web_search\"\n | \"mcp\"\n | \"code_interpreter\"\n | \"image_generation\"\n | \"local_shell\"\n | \"shell\"\n | \"custom\"\n | \"web_search_preview\"\n | \"apply_patch\"\n | \"a2a_preview\"\n | \"bing_custom_search_preview\"\n | \"browser_automation_preview\"\n | \"fabric_dataagent_preview\"\n | \"sharepoint_grounding_preview\"\n | \"memory_search_preview\"\n | \"azure_ai_search\"\n | \"azure_function\"\n | \"bing_grounding\"\n | \"capture_structured_outputs\"\n | \"openapi\";\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingTool extends Tool {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bing_grounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolSerializer(item: BingGroundingTool): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bing_grounding\"]),\n };\n}\n\nexport function bingGroundingToolDeserializer(item: any): BingGroundingTool {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersDeserializer(item[\"bing_grounding\"]),\n };\n}\n\n/** The bing grounding search tool parameters. */\nexport interface BingGroundingSearchToolParameters {\n /**\n * The search configurations attached to this tool. There can be a maximum of 1\n * search configuration resource attached to the tool.\n */\n search_configurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n return {\n search_configurations: bingGroundingSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchConfigurationArraySerializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingGroundingSearchConfigurationArrayDeserializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n set_lang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. See [accepted values here](https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters). */\n freshness?: string;\n}\n\nexport function bingGroundingSearchConfigurationSerializer(\n item: BingGroundingSearchConfiguration,\n): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Microsoft Fabric tool as used to configure an agent. */\nexport interface MicrosoftFabricPreviewTool extends Tool {\n /** The object type, which is always 'fabric_dataagent_preview'. */\n type: \"fabric_dataagent_preview\";\n /** The fabric data agent tool parameters. */\n fabric_dataagent_preview: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricPreviewToolSerializer(item: MicrosoftFabricPreviewTool): any {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersSerializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\nexport function microsoftFabricPreviewToolDeserializer(item: any): MicrosoftFabricPreviewTool {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersDeserializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\nexport function toolProjectConnectionArraySerializer(result: Array<ToolProjectConnection>): any[] {\n return result.map((item) => {\n return toolProjectConnectionSerializer(item);\n });\n}\n\nexport function toolProjectConnectionArrayDeserializer(\n result: Array<ToolProjectConnection>,\n): any[] {\n return result.map((item) => {\n return toolProjectConnectionDeserializer(item);\n });\n}\n\n/** A project connection resource. */\nexport interface ToolProjectConnection {\n /** A project connection in a ToolProjectConnectionList attached to this tool. */\n project_connection_id: string;\n}\n\nexport function toolProjectConnectionSerializer(item: ToolProjectConnection): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function toolProjectConnectionDeserializer(item: any): ToolProjectConnection {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointPreviewTool extends Tool {\n /** The object type, which is always 'sharepoint_grounding_preview'. */\n type: \"sharepoint_grounding_preview\";\n /** The sharepoint grounding tool parameters. */\n sharepoint_grounding_preview: SharepointGroundingToolParameters;\n}\n\nexport function sharepointPreviewToolSerializer(item: SharepointPreviewTool): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersSerializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\nexport function sharepointPreviewToolDeserializer(item: any): SharepointPreviewTool {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchTool extends Tool {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** The azure ai search index resource. */\n azure_ai_search: AzureAISearchToolResource;\n}\n\nexport function azureAISearchToolSerializer(item: AzureAISearchTool): any {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceSerializer(item[\"azure_ai_search\"]),\n };\n}\n\nexport function azureAISearchToolDeserializer(item: any): AzureAISearchTool {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\n };\n}\n\n/** A set of index resources used by the `azure_ai_search` tool. */\nexport interface AzureAISearchToolResource {\n /**\n * The indices attached to this agent. There can be a maximum of 1 index\n * resource attached to the agent.\n */\n indexes: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return { indexes: aiSearchIndexResourceArraySerializer(item[\"indexes\"]) };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexes: aiSearchIndexResourceArrayDeserializer(item[\"indexes\"]),\n };\n}\n\nexport function aiSearchIndexResourceArraySerializer(result: Array<AISearchIndexResource>): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceSerializer(item);\n });\n}\n\nexport function aiSearchIndexResourceArrayDeserializer(\n result: Array<AISearchIndexResource>,\n): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceDeserializer(item);\n });\n}\n\n/** A AI Search Index resource. */\nexport interface AISearchIndexResource {\n /** An index connection ID in an IndexResource attached to this agent. */\n project_connection_id?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n index_name?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n query_type?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n top_k?: number;\n /** filter string for search resource. [Learn more here](https://learn.microsoft.com/azure/search/search-filters). */\n filter?: string;\n /** Index asset id for search resource. */\n index_asset_id?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\n/** Available query types for Azure AI Search tool. */\nexport type AzureAISearchQueryType =\n | \"simple\"\n | \"semantic\"\n | \"vector\"\n | \"vector_simple_hybrid\"\n | \"vector_semantic_hybrid\";\n\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiTool extends Tool {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolSerializer(item: OpenApiTool): any {\n return { type: item[\"type\"], openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]) };\n}\n\nexport function openApiToolDeserializer(item: any): OpenApiTool {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionDeserializer(item[\"openapi\"]),\n };\n}\n\n/** The input definition information for an openapi function. */\nexport interface OpenApiFunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The openapi function shape, described as a JSON Schema object. */\n spec: unknown;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n default_params?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n }[];\n}\n\nexport function openApiFunctionDefinitionSerializer(item: OpenApiFunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionSerializer(item[\"auth\"]),\n default_params: !item[\"default_params\"]\n ? item[\"default_params\"]\n : item[\"default_params\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function openApiFunctionDefinitionDeserializer(item: any): OpenApiFunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: Object.fromEntries(Object.entries(item[\"spec\"]).map(([k, p]: [string, any]) => [k, p])),\n auth: openApiAuthDetailsUnionDeserializer(item[\"auth\"]),\n default_params: !item[\"default_params\"]\n ? item[\"default_params\"]\n : item[\"default_params\"].map((p: any) => {\n return p;\n }),\n functions: !item[\"functions\"]\n ? item[\"functions\"]\n : _openApiFunctionDefinitionFunctionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/project_connection/managed_identity */\n /** The discriminator possible values: anonymous, project_connection, managed_identity */\n type: OpenApiAuthType;\n}\n\nexport function openApiAuthDetailsSerializer(item: OpenApiAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAuthDetailsDeserializer(item: any): OpenApiAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for OpenApiAuthDetailsUnion */\nexport type OpenApiAuthDetailsUnion =\n | OpenApiAnonymousAuthDetails\n | OpenApiProjectConnectionAuthDetails\n | OpenApiManagedAuthDetails\n | OpenApiAuthDetails;\n\nexport function openApiAuthDetailsUnionSerializer(item: OpenApiAuthDetailsUnion): any {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsSerializer(item as OpenApiAnonymousAuthDetails);\n\n case \"project_connection\":\n return openApiProjectConnectionAuthDetailsSerializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsSerializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsSerializer(item);\n }\n}\n\nexport function openApiAuthDetailsUnionDeserializer(item: any): OpenApiAuthDetailsUnion {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsDeserializer(item as OpenApiAnonymousAuthDetails);\n\n case \"project_connection\":\n return openApiProjectConnectionAuthDetailsDeserializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsDeserializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsDeserializer(item);\n }\n}\n\n/**\n * Authentication type for OpenApi endpoint. Allowed types are:\n * - Anonymous (no authentication required)\n * - Project Connection (requires project_connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"project_connection\" | \"managed_identity\";\n\n/** Security details for OpenApi anonymous authentication */\nexport interface OpenApiAnonymousAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'anonymous'. */\n type: \"anonymous\";\n}\n\nexport function openApiAnonymousAuthDetailsSerializer(item: OpenApiAnonymousAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAnonymousAuthDetailsDeserializer(item: any): OpenApiAnonymousAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Security details for OpenApi project connection authentication */\nexport interface OpenApiProjectConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'project_connection'. */\n type: \"project_connection\";\n /** Project connection auth security details */\n security_scheme: OpenApiProjectConnectionSecurityScheme;\n}\n\nexport function openApiProjectConnectionAuthDetailsSerializer(\n item: OpenApiProjectConnectionAuthDetails,\n): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiProjectConnectionAuthDetailsDeserializer(\n item: any,\n): OpenApiProjectConnectionAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiProjectConnectionSecurityScheme {\n /** Project connection id for Project Connection auth type */\n project_connection_id: string;\n}\n\nexport function openApiProjectConnectionSecuritySchemeSerializer(\n item: OpenApiProjectConnectionSecurityScheme,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function openApiProjectConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiProjectConnectionSecurityScheme {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Security details for OpenApi managed_identity authentication */\nexport interface OpenApiManagedAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'managed_identity'. */\n type: \"managed_identity\";\n /** Connection auth security details */\n security_scheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiManagedSecurityScheme {\n /** Authentication scope for managed_identity auth type */\n audience: string;\n}\n\nexport function openApiManagedSecuritySchemeSerializer(item: OpenApiManagedSecurityScheme): any {\n return { audience: item[\"audience\"] };\n}\n\nexport function openApiManagedSecuritySchemeDeserializer(item: any): OpenApiManagedSecurityScheme {\n return {\n audience: item[\"audience\"],\n };\n}\n\nexport function _openApiFunctionDefinitionFunctionArrayDeserializer(\n result: Array<_OpenApiFunctionDefinitionFunction>,\n): any[] {\n return result.map((item) => {\n return _openApiFunctionDefinitionFunctionDeserializer(item);\n });\n}\n\n/** model interface _OpenApiFunctionDefinitionFunction */\nexport interface _OpenApiFunctionDefinitionFunction {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: Record<string, unknown>;\n}\n\nexport function _openApiFunctionDefinitionFunctionDeserializer(\n item: any,\n): _OpenApiFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: Object.fromEntries(\n Object.entries(item[\"parameters\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** The input definition information for a Bing custom search tool as used to configure an agent. */\nexport interface BingCustomSearchPreviewTool extends Tool {\n /** The object type, which is always 'bing_custom_search_preview'. */\n type: \"bing_custom_search_preview\";\n /** The bing custom search tool parameters. */\n bing_custom_search_preview: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchPreviewToolSerializer(item: BingCustomSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersSerializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\nexport function bingCustomSearchPreviewToolDeserializer(item: any): BingCustomSearchPreviewTool {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersDeserializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n search_configurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n search_configurations: bingCustomSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchConfigurationArraySerializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingCustomSearchConfigurationArrayDeserializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationDeserializer(item);\n });\n}\n\n/** A bing custom search configuration. */\nexport interface BingCustomSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n set_lang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. See [accepted values here](https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters). */\n freshness?: string;\n}\n\nexport function bingCustomSearchConfigurationSerializer(item: BingCustomSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationPreviewTool extends Tool {\n /** The object type, which is always 'browser_automation_preview'. */\n type: \"browser_automation_preview\";\n /** The Browser Automation Tool parameters. */\n browser_automation_preview: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationPreviewToolSerializer(item: BrowserAutomationPreviewTool): any {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersSerializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\nexport function browserAutomationPreviewToolDeserializer(item: any): BrowserAutomationPreviewTool {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersDeserializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The project connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return { connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]) };\n}\n\nexport function browserAutomationToolParametersDeserializer(\n item: any,\n): BrowserAutomationToolParameters {\n return {\n connection: browserAutomationToolConnectionParametersDeserializer(item[\"connection\"]),\n };\n}\n\n/** Definition of input parameters for the connection used by the Browser Automation Tool. */\nexport interface BrowserAutomationToolConnectionParameters {\n /** The ID of the project connection to your Azure Playwright resource. */\n project_connection_id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for an Azure Function Tool, as used to configure an Agent. */\nexport interface AzureFunctionTool extends Tool {\n /** The object type, which is always 'browser_automation'. */\n type: \"azure_function\";\n /** The Azure Function Tool definition. */\n azure_function: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolSerializer(item: AzureFunctionTool): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azure_function\"]),\n };\n}\n\nexport function azureFunctionToolDeserializer(item: any): AzureFunctionTool {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** The definition of Azure function. */\nexport interface AzureFunctionDefinition {\n /** The definition of azure function and its parameters. */\n function: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n };\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n input_binding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n output_binding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: _azureFunctionDefinitionFunctionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"output_binding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: _azureFunctionDefinitionFunctionDeserializer(item[\"function\"]),\n input_binding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** model interface _AzureFunctionDefinitionFunction */\nexport interface _AzureFunctionDefinitionFunction {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: Record<string, unknown>;\n}\n\nexport function _azureFunctionDefinitionFunctionSerializer(\n item: _AzureFunctionDefinitionFunction,\n): any {\n return { name: item[\"name\"], description: item[\"description\"], parameters: item[\"parameters\"] };\n}\n\nexport function _azureFunctionDefinitionFunctionDeserializer(\n item: any,\n): _AzureFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: Object.fromEntries(\n Object.entries(item[\"parameters\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionBinding {\n /** The type of binding, which is always 'storage_queue'. */\n type: \"storage_queue\";\n /** Storage queue. */\n storage_queue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storage_queue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueDeserializer(item[\"storage_queue\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionStorageQueue {\n /** URI to the Azure Storage Queue service allowing you to manipulate a queue. */\n queue_service_endpoint: string;\n /** The name of an Azure function storage queue. */\n queue_name: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return { queue_service_endpoint: item[\"queue_service_endpoint\"], queue_name: item[\"queue_name\"] };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n queue_service_endpoint: item[\"queue_service_endpoint\"],\n queue_name: item[\"queue_name\"],\n };\n}\n\n/** A tool for capturing structured outputs */\nexport interface CaptureStructuredOutputsTool extends Tool {\n /** The type of the tool. Always `capture_structured_outputs`. */\n type: \"capture_structured_outputs\";\n /** The structured outputs to capture from the model. */\n outputs: StructuredOutputDefinition;\n}\n\nexport function captureStructuredOutputsToolSerializer(item: CaptureStructuredOutputsTool): any {\n return { type: item[\"type\"], outputs: structuredOutputDefinitionSerializer(item[\"outputs\"]) };\n}\n\nexport function captureStructuredOutputsToolDeserializer(item: any): CaptureStructuredOutputsTool {\n return {\n type: item[\"type\"],\n outputs: structuredOutputDefinitionDeserializer(item[\"outputs\"]),\n };\n}\n\n/** A structured output that can be produced by the agent. */\nexport interface StructuredOutputDefinition {\n /** The name of the structured output. */\n name: string;\n /** A description of the output to emit. Used by the model to determine when to emit the output. */\n description: string;\n /** The JSON schema for the structured output. */\n schema: Record<string, unknown>;\n /** Whether to enforce strict validation. Default `true`. */\n strict: boolean;\n}\n\nexport function structuredOutputDefinitionSerializer(item: StructuredOutputDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function structuredOutputDefinitionDeserializer(item: any): StructuredOutputDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: Object.fromEntries(\n Object.entries(item[\"schema\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n strict: item[\"strict\"],\n };\n}\n\n/** An agent implementing the A2A protocol. */\nexport interface A2APreviewTool extends Tool {\n /** The type of the tool. Always `\"a2a_preview`. */\n type: \"a2a_preview\";\n /** Base URL of the agent. */\n base_url?: string;\n /**\n * The path to the agent card relative to the `base_url`.\n * If not provided, defaults to `/.well-known/agent-card.json`\n */\n agent_card_path?: string;\n /**\n * The connection ID in the project for the A2A server.\n * The connection stores authentication and other connection details needed to connect to the A2A server.\n */\n project_connection_id?: string;\n}\n\nexport function a2APreviewToolSerializer(item: A2APreviewTool): any {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function a2APreviewToolDeserializer(item: any): A2APreviewTool {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** A tool for integrating memories into the agent. */\nexport interface MemorySearchPreviewTool extends Tool {\n /** The type of the tool. Always `memory_search_preview`. */\n type: \"memory_search_preview\";\n /** The name of the memory store to use. */\n memory_store_name: string;\n /**\n * The namespace used to group and isolate memories, such as a user ID.\n * Limits which memories can be retrieved or updated.\n * Use special variable `{{$userId}}` to scope memories to the current signed-in user.\n */\n scope: string;\n /** Options for searching the memory store. */\n search_options?: MemorySearchOptions;\n /** Time to wait before updating memories after inactivity (seconds). Default 300. */\n update_delay?: number;\n}\n\nexport function memorySearchPreviewToolSerializer(item: MemorySearchPreviewTool): any {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsSerializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\nexport function memorySearchPreviewToolDeserializer(item: any): MemorySearchPreviewTool {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsDeserializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\n/** Memory search options. */\nexport interface MemorySearchOptions {\n /** Maximum number of memory items to return. */\n max_memories?: number;\n}\n\nexport function memorySearchOptionsSerializer(item: MemorySearchOptions): any {\n return { max_memories: item[\"max_memories\"] };\n}\n\nexport function memorySearchOptionsDeserializer(item: any): MemorySearchOptions {\n return {\n max_memories: item[\"max_memories\"],\n };\n}\n\n/** A tool that runs Python code to help generate a response to a prompt. */\nexport interface CodeInterpreterTool extends Tool {\n /** The type of the code interpreter tool. Always `code_interpreter`. */\n type: \"code_interpreter\";\n /**\n * The code interpreter container. Can be a container ID or an object that\n * specifies uploaded file IDs to make available to your code, along with an\n * optional `memory_limit` setting.\n * If not provided, the service assumes auto.\n */\n container?: string | CodeInterpreterContainerAuto;\n}\n\nexport function codeInterpreterToolSerializer(item: CodeInterpreterTool): any {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerSerializer(item[\"container\"]),\n };\n}\n\nexport function codeInterpreterToolDeserializer(item: any): CodeInterpreterTool {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerDeserializer(item[\"container\"]),\n };\n}\n\n/** Alias for _CodeInterpreterToolContainer */\nexport type _CodeInterpreterToolContainer = string | CodeInterpreterContainerAuto;\n\nexport function _codeInterpreterToolContainerSerializer(item: _CodeInterpreterToolContainer): any {\n return item;\n}\n\nexport function _codeInterpreterToolContainerDeserializer(\n item: any,\n): _CodeInterpreterToolContainer {\n return item;\n}\n\n/** Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. */\nexport interface CodeInterpreterContainerAuto {\n /** Always `auto`. */\n type: \"auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n memory_limit?: ContainerMemoryLimit;\n}\n\nexport function codeInterpreterContainerAutoSerializer(item: CodeInterpreterContainerAuto): any {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n };\n}\n\nexport function codeInterpreterContainerAutoDeserializer(item: any): CodeInterpreterContainerAuto {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n };\n}\n\n/** Type of ContainerMemoryLimit */\nexport type ContainerMemoryLimit = \"1g\" | \"4g\" | \"16g\" | \"64g\";\n\n/** Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). */\nexport interface FunctionTool extends Tool {\n /** The type of the function tool. Always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n strict: boolean;\n}\n\nexport function functionToolSerializer(item: FunctionTool): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function functionToolDeserializer(item: any): FunctionTool {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : Object.fromEntries(\n Object.entries(item[\"parameters\"]).map(([k1, p1]: [string, any]) => [k1, p1]),\n ),\n strict: item[\"strict\"],\n };\n}\n\n/** A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). */\nexport interface FileSearchTool extends Tool {\n /** The type of the file search tool. Always `file_search`. */\n type: \"file_search\";\n /** The IDs of the vector stores to search. */\n vector_store_ids: string[];\n /** The maximum number of results to return. This number should be between 1 and 50 inclusive. */\n max_num_results?: number;\n /** Ranking options for search. */\n ranking_options?: RankingOptions;\n filters?: Filters;\n}\n\nexport function fileSearchToolSerializer(item: FileSearchTool): any {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"].map((p: any) => {\n return p;\n }),\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsSerializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersSerializer(item[\"filters\"]),\n };\n}\n\nexport function fileSearchToolDeserializer(item: any): FileSearchTool {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"].map((p: any) => {\n return p;\n }),\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsDeserializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersDeserializer(item[\"filters\"]),\n };\n}\n\n/** model interface RankingOptions */\nexport interface RankingOptions {\n /** The ranker to use for the file search. */\n ranker?: RankerVersionType;\n /** The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. */\n score_threshold?: number;\n /** Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. */\n hybrid_search?: HybridSearchOptions;\n}\n\nexport function rankingOptionsSerializer(item: RankingOptions): any {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsSerializer(item[\"hybrid_search\"]),\n };\n}\n\nexport function rankingOptionsDeserializer(item: any): RankingOptions {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsDeserializer(item[\"hybrid_search\"]),\n };\n}\n\n/** Type of RankerVersionType */\nexport type RankerVersionType = \"auto\" | \"default-2024-11-15\";\n\n/** model interface HybridSearchOptions */\nexport interface HybridSearchOptions {\n /** The weight of the embedding in the reciprocal ranking fusion. */\n embedding_weight: number;\n /** The weight of the text in the reciprocal ranking fusion. */\n text_weight: number;\n}\n\nexport function hybridSearchOptionsSerializer(item: HybridSearchOptions): any {\n return { embedding_weight: item[\"embedding_weight\"], text_weight: item[\"text_weight\"] };\n}\n\nexport function hybridSearchOptionsDeserializer(item: any): HybridSearchOptions {\n return {\n embedding_weight: item[\"embedding_weight\"],\n text_weight: item[\"text_weight\"],\n };\n}\n\n/** Alias for Filters */\nexport type Filters = ComparisonFilter | CompoundFilter;\n\nexport function filtersSerializer(item: Filters): any {\n return item;\n}\n\nexport function filtersDeserializer(item: any): Filters {\n return item;\n}\n\n/** A filter used to compare a specified attribute key to a given value using a defined comparison operation. */\nexport interface ComparisonFilter {\n /**\n * Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n * - `eq`: equals\n * - `ne`: not equal\n * - `gt`: greater than\n * - `gte`: greater than or equal\n * - `lt`: less than\n * - `lte`: less than or equal\n * - `in`: in\n * - `nin`: not in\n */\n type: \"eq\" | \"ne\" | \"gt\" | \"gte\" | \"lt\" | \"lte\";\n /** The key to compare against the value. */\n key: string;\n /** The value to compare against the attribute key; supports string, number, or boolean types. */\n value: string | number | boolean | ComparisonFilterValueItems[];\n}\n\nexport function comparisonFilterSerializer(item: ComparisonFilter): any {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueSerializer(item[\"value\"]),\n };\n}\n\nexport function comparisonFilterDeserializer(item: any): ComparisonFilter {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueDeserializer(item[\"value\"]),\n };\n}\n\n/** Alias for _ComparisonFilterValue */\nexport type _ComparisonFilterValue = string | number | boolean | ComparisonFilterValueItems[];\n\nexport function _comparisonFilterValueSerializer(item: _ComparisonFilterValue): any {\n return item;\n}\n\nexport function _comparisonFilterValueDeserializer(item: any): _ComparisonFilterValue {\n return item;\n}\n\nexport function comparisonFilterValueItemsArraySerializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsSerializer(item);\n });\n}\n\nexport function comparisonFilterValueItemsArrayDeserializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsDeserializer(item);\n });\n}\n\n/** Alias for ComparisonFilterValueItems */\nexport type ComparisonFilterValueItems = string | number;\n\nexport function comparisonFilterValueItemsSerializer(item: ComparisonFilterValueItems): any {\n return item;\n}\n\nexport function comparisonFilterValueItemsDeserializer(item: any): ComparisonFilterValueItems {\n return item;\n}\n\n/** Combine multiple filters using `and` or `or`. */\nexport interface CompoundFilter {\n /** Type of operation: `and` or `or`. */\n type: \"and\" | \"or\";\n /** Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. */\n filters: (ComparisonFilter | any)[];\n}\n\nexport function compoundFilterSerializer(item: CompoundFilter): any {\n return { type: item[\"type\"], filters: _compoundFilterFilterArraySerializer(item[\"filters\"]) };\n}\n\nexport function compoundFilterDeserializer(item: any): CompoundFilter {\n return {\n type: item[\"type\"],\n filters: _compoundFilterFilterArrayDeserializer(item[\"filters\"]),\n };\n}\n\nexport function _compoundFilterFilterArraySerializer(result: Array<_CompoundFilterFilter>): any[] {\n return result.map((item) => {\n return _compoundFilterFilterSerializer(item);\n });\n}\n\nexport function _compoundFilterFilterArrayDeserializer(\n result: Array<_CompoundFilterFilter>,\n): any[] {\n return result.map((item) => {\n return _compoundFilterFilterDeserializer(item);\n });\n}\n\n/** Alias for _CompoundFilterFilter */\nexport type _CompoundFilterFilter = ComparisonFilter | any;\n\nexport function _compoundFilterFilterSerializer(item: _CompoundFilterFilter): any {\n return item;\n}\n\nexport function _compoundFilterFilterDeserializer(item: any): _CompoundFilterFilter {\n return item;\n}\n\n/** A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). */\nexport interface ComputerUsePreviewTool extends Tool {\n /** The type of the computer use tool. Always `computer_use_preview`. */\n type: \"computer_use_preview\";\n /** The type of computer environment to control. */\n environment: ComputerEnvironment;\n /** The width of the computer display. */\n display_width: number;\n /** The height of the computer display. */\n display_height: number;\n}\n\nexport function computerUsePreviewToolSerializer(item: ComputerUsePreviewTool): any {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\nexport function computerUsePreviewToolDeserializer(item: any): ComputerUsePreviewTool {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\n/** Type of ComputerEnvironment */\nexport type ComputerEnvironment = \"windows\" | \"mac\" | \"linux\" | \"ubuntu\" | \"browser\";\n\n/**\n * Search the Internet for sources related to the prompt. Learn more about the\n * [web search tool](https://platform.openai.com/docs/guides/tools-web-search).\n */\nexport interface WebSearchTool extends Tool {\n /** The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. */\n type: \"web_search\";\n filters?: WebSearchToolFilters;\n user_location?: WebSearchApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n custom_search_configuration?: WebSearchConfiguration;\n}\n\nexport function webSearchToolSerializer(item: WebSearchTool): any {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersSerializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationSerializer(item[\"custom_search_configuration\"]),\n };\n}\n\nexport function webSearchToolDeserializer(item: any): WebSearchTool {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersDeserializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationDeserializer(item[\"custom_search_configuration\"]),\n };\n}\n\n/** model interface WebSearchToolFilters */\nexport interface WebSearchToolFilters {\n allowed_domains?: string[];\n}\n\nexport function webSearchToolFiltersSerializer(item: WebSearchToolFilters): any {\n return {\n allowed_domains: !item[\"allowed_domains\"]\n ? item[\"allowed_domains\"]\n : item[\"allowed_domains\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function webSearchToolFiltersDeserializer(item: any): WebSearchToolFilters {\n return {\n allowed_domains: !item[\"allowed_domains\"]\n ? item[\"allowed_domains\"]\n : item[\"allowed_domains\"].map((p1: any) => {\n return p1;\n }),\n };\n}\n\n/** The approximate location of the user. */\nexport interface WebSearchApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type?: \"approximate\";\n country?: string;\n region?: string;\n city?: string;\n timezone?: string;\n}\n\nexport function webSearchApproximateLocationSerializer(item: WebSearchApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function webSearchApproximateLocationDeserializer(item: any): WebSearchApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** A web search configuration for bing custom search */\nexport interface WebSearchConfiguration {\n /** Project connection id for grounding with bing custom search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n}\n\nexport function webSearchConfigurationSerializer(item: WebSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\nexport function webSearchConfigurationDeserializer(item: any): WebSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\n/**\n * Give the model access to additional tools via remote Model Context Protocol\n * (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).\n */\nexport interface MCPTool extends Tool {\n /** The type of the MCP tool. Always `mcp`. */\n type: \"mcp\";\n /** A label for this MCP server, used to identify it in tool calls. */\n server_label: string;\n /**\n * The URL for the MCP server. One of `server_url` or `connector_id` must be\n * provided.\n */\n server_url?: string;\n /**\n * Identifier for service connectors, like those available in ChatGPT. One of\n * `server_url` or `connector_id` must be provided. Learn more about service\n * connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).\n * Currently supported `connector_id` values are:\n * - Dropbox: `connector_dropbox`\n * - Gmail: `connector_gmail`\n * - Google Calendar: `connector_googlecalendar`\n * - Google Drive: `connector_googledrive`\n * - Microsoft Teams: `connector_microsoftteams`\n * - Outlook Calendar: `connector_outlookcalendar`\n * - Outlook Email: `connector_outlookemail`\n * - SharePoint: `connector_sharepoint`\n */\n connector_id?:\n | \"connector_dropbox\"\n | \"connector_gmail\"\n | \"connector_googlecalendar\"\n | \"connector_googledrive\"\n | \"connector_microsoftteams\"\n | \"connector_outlookcalendar\"\n | \"connector_outlookemail\"\n | \"connector_sharepoint\";\n /**\n * An OAuth access token that can be used with a remote MCP server, either\n * with a custom MCP server URL or a service connector. Your application\n * must handle the OAuth authorization flow and provide the token here.\n */\n authorization?: string;\n /** Optional description of the MCP server, used to provide more context. */\n server_description?: string;\n headers?: Record<string, string>;\n allowed_tools?: string[] | MCPToolFilter;\n require_approval?: MCPToolRequireApproval | \"always\" | \"never\";\n /** The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server. */\n project_connection_id?: string;\n}\n\nexport function mcpToolSerializer(item: MCPTool): any {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsSerializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalSerializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function mcpToolDeserializer(item: any): MCPTool {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: !item[\"headers\"]\n ? item[\"headers\"]\n : Object.fromEntries(\n Object.entries(item[\"headers\"]).map(([k1, p1]: [string, any]) => [k1, p1]),\n ),\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsDeserializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalDeserializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Alias for _MCPToolAllowedTools */\nexport type _MCPToolAllowedTools = string[] | MCPToolFilter;\n\nexport function _mcpToolAllowedToolsSerializer(item: _MCPToolAllowedTools): any {\n return item;\n}\n\nexport function _mcpToolAllowedToolsDeserializer(item: any): _MCPToolAllowedTools {\n return item;\n}\n\n/** A filter object to specify which tools are allowed. */\nexport interface MCPToolFilter {\n /** List of allowed tool names. */\n tool_names?: string[];\n /**\n * Indicates whether or not a tool modifies data or is read-only. If an\n * MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),\n * it will match this filter.\n */\n read_only?: boolean;\n}\n\nexport function mcpToolFilterSerializer(item: MCPToolFilter): any {\n return {\n tool_names: !item[\"tool_names\"]\n ? item[\"tool_names\"]\n : item[\"tool_names\"].map((p: any) => {\n return p;\n }),\n read_only: item[\"read_only\"],\n };\n}\n\nexport function mcpToolFilterDeserializer(item: any): MCPToolFilter {\n return {\n tool_names: !item[\"tool_names\"]\n ? item[\"tool_names\"]\n : item[\"tool_names\"].map((p: any) => {\n return p;\n }),\n read_only: item[\"read_only\"],\n };\n}\n\n/** Alias for _MCPToolRequireApproval */\nexport type _MCPToolRequireApproval = MCPToolRequireApproval | \"always\" | \"never\";\n\nexport function _mcpToolRequireApprovalSerializer(item: _MCPToolRequireApproval): any {\n return item;\n}\n\nexport function _mcpToolRequireApprovalDeserializer(item: any): _MCPToolRequireApproval {\n return item;\n}\n\n/** model interface MCPToolRequireApproval */\nexport interface MCPToolRequireApproval {\n always?: MCPToolFilter;\n never?: MCPToolFilter;\n}\n\nexport function mcpToolRequireApprovalSerializer(item: MCPToolRequireApproval): any {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterSerializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterSerializer(item[\"never\"]),\n };\n}\n\nexport function mcpToolRequireApprovalDeserializer(item: any): MCPToolRequireApproval {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterDeserializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterDeserializer(item[\"never\"]),\n };\n}\n\n/** A tool that generates images using the GPT image models. */\nexport interface ImageGenTool extends Tool {\n /** The type of the image generation tool. Always `image_generation`. */\n type: \"image_generation\";\n model?: \"gpt-image-1\" | \"gpt-image-1-mini\";\n /**\n * The quality of the generated image. One of `low`, `medium`, `high`,\n * or `auto`. Default: `auto`.\n */\n quality?: \"low\" | \"medium\" | \"high\" | \"auto\";\n /**\n * The size of the generated image. One of `1024x1024`, `1024x1536`,\n * `1536x1024`, or `auto`. Default: `auto`.\n */\n size?: \"1024x1024\" | \"1024x1536\" | \"1536x1024\" | \"auto\";\n /**\n * The output format of the generated image. One of `png`, `webp`, or\n * `jpeg`. Default: `png`.\n */\n output_format?: \"png\" | \"webp\" | \"jpeg\";\n /** Compression level for the output image. Default: 100. */\n output_compression?: number;\n /** Moderation level for the generated image. Default: `auto`. */\n moderation?: \"auto\" | \"low\";\n /**\n * Background type for the generated image. One of `transparent`,\n * `opaque`, or `auto`. Default: `auto`.\n */\n background?: \"transparent\" | \"opaque\" | \"auto\";\n input_fidelity?: InputFidelity;\n /**\n * Optional mask for inpainting. Contains `image_url`\n * (string, optional) and `file_id` (string, optional).\n */\n input_image_mask?: ImageGenToolInputImageMask;\n /** Number of partial images to generate in streaming mode, from 0 (default value) to 3. */\n partial_images?: number;\n}\n\nexport function imageGenToolSerializer(item: ImageGenTool): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskSerializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\nexport function imageGenToolDeserializer(item: any): ImageGenTool {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskDeserializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\n/** Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. */\nexport type InputFidelity = \"high\" | \"low\";\n\n/** model interface ImageGenToolInputImageMask */\nexport interface ImageGenToolInputImageMask {\n image_url?: string;\n file_id?: string;\n}\n\nexport function imageGenToolInputImageMaskSerializer(item: ImageGenToolInputImageMask): any {\n return { image_url: item[\"image_url\"], file_id: item[\"file_id\"] };\n}\n\nexport function imageGenToolInputImageMaskDeserializer(item: any): ImageGenToolInputImageMask {\n return {\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n };\n}\n\n/** A tool that allows the model to execute shell commands in a local environment. */\nexport interface LocalShellToolParam extends Tool {\n /** The type of the local shell tool. Always `local_shell`. */\n type: \"local_shell\";\n}\n\nexport function localShellToolParamSerializer(item: LocalShellToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function localShellToolParamDeserializer(item: any): LocalShellToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A tool that allows the model to execute shell commands. */\nexport interface FunctionShellToolParam extends Tool {\n /** The type of the shell tool. Always `shell`. */\n type: \"shell\";\n}\n\nexport function functionShellToolParamSerializer(item: FunctionShellToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function functionShellToolParamDeserializer(item: any): FunctionShellToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) */\nexport interface CustomToolParam extends Tool {\n /** The type of the custom tool. Always `custom`. */\n type: \"custom\";\n /** The name of the custom tool, used to identify it in tool calls. */\n name: string;\n /** Optional description of the custom tool, used to provide more context. */\n description?: string;\n /** The input format for the custom tool. Default is unconstrained text. */\n format?: CustomToolParamFormatUnion;\n}\n\nexport function customToolParamSerializer(item: CustomToolParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"] ? item[\"format\"] : customToolParamFormatUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function customToolParamDeserializer(item: any): CustomToolParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"]\n ? item[\"format\"]\n : customToolParamFormatUnionDeserializer(item[\"format\"]),\n };\n}\n\n/** The input format for the custom tool. Default is unconstrained text. */\nexport interface CustomToolParamFormat {\n type: CustomToolParamFormatType;\n}\n\nexport function customToolParamFormatSerializer(item: CustomToolParamFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function customToolParamFormatDeserializer(item: any): CustomToolParamFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for CustomToolParamFormatUnion */\nexport type CustomToolParamFormatUnion =\n | CustomTextFormatParam\n | CustomGrammarFormatParam\n | CustomToolParamFormat;\n\nexport function customToolParamFormatUnionSerializer(item: CustomToolParamFormatUnion): any {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamSerializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamSerializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatSerializer(item);\n }\n}\n\nexport function customToolParamFormatUnionDeserializer(item: any): CustomToolParamFormatUnion {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamDeserializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamDeserializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatDeserializer(item);\n }\n}\n\n/** Type of CustomToolParamFormatType */\nexport type CustomToolParamFormatType = \"text\" | \"grammar\";\n\n/** Unconstrained free-form text. */\nexport interface CustomTextFormatParam extends CustomToolParamFormat {\n /** Unconstrained text format. Always `text`. */\n type: \"text\";\n}\n\nexport function customTextFormatParamSerializer(item: CustomTextFormatParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function customTextFormatParamDeserializer(item: any): CustomTextFormatParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A grammar defined by the user. */\nexport interface CustomGrammarFormatParam extends CustomToolParamFormat {\n /** Grammar format. Always `grammar`. */\n type: \"grammar\";\n /** The syntax of the grammar definition. One of `lark` or `regex`. */\n syntax: GrammarSyntax1;\n /** The grammar definition. */\n definition: string;\n}\n\nexport function customGrammarFormatParamSerializer(item: CustomGrammarFormatParam): any {\n return { type: item[\"type\"], syntax: item[\"syntax\"], definition: item[\"definition\"] };\n}\n\nexport function customGrammarFormatParamDeserializer(item: any): CustomGrammarFormatParam {\n return {\n type: item[\"type\"],\n syntax: item[\"syntax\"],\n definition: item[\"definition\"],\n };\n}\n\n/** Type of GrammarSyntax1 */\nexport type GrammarSyntax1 = \"lark\" | \"regex\";\n\n/** This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). */\nexport interface WebSearchPreviewTool extends Tool {\n /** The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. */\n type: \"web_search_preview\";\n user_location?: ApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: SearchContextSize;\n}\n\nexport function webSearchPreviewToolSerializer(item: WebSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\nexport function webSearchPreviewToolDeserializer(item: any): WebSearchPreviewTool {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\n/** model interface ApproximateLocation */\nexport interface ApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type: \"approximate\";\n country?: string;\n region?: string;\n city?: string;\n timezone?: string;\n}\n\nexport function approximateLocationSerializer(item: ApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function approximateLocationDeserializer(item: any): ApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** Type of SearchContextSize */\nexport type SearchContextSize = \"low\" | \"medium\" | \"high\";\n\n/** Allows the assistant to create, delete, or update files using unified diffs. */\nexport interface ApplyPatchToolParam extends Tool {\n /** The type of the tool. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function applyPatchToolParamSerializer(item: ApplyPatchToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function applyPatchToolParamDeserializer(item: any): ApplyPatchToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for _PromptAgentDefinitionToolChoice */\nexport type _PromptAgentDefinitionToolChoice = string | ToolChoiceParamUnion;\n\nexport function _promptAgentDefinitionToolChoiceSerializer(\n item: _PromptAgentDefinitionToolChoice,\n): any {\n return item;\n}\n\nexport function _promptAgentDefinitionToolChoiceDeserializer(\n item: any,\n): _PromptAgentDefinitionToolChoice {\n return item;\n}\n\n/**\n * How the model should select which tool (or tools) to use when generating\n * a response. See the `tools` parameter to see how to specify which tools\n * the model can call.\n */\nexport interface ToolChoiceParam {\n type: ToolChoiceParamType;\n}\n\nexport function toolChoiceParamSerializer(item: ToolChoiceParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceParamDeserializer(item: any): ToolChoiceParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolChoiceParamUnion */\nexport type ToolChoiceParamUnion =\n | ToolChoiceAllowed\n | ToolChoiceFunction\n | ToolChoiceMCP\n | ToolChoiceCustom\n | SpecificApplyPatchParam\n | SpecificFunctionShellParam\n | ToolChoiceFileSearch\n | ToolChoiceWebSearchPreview\n | ToolChoiceComputerUsePreview\n | ToolChoiceWebSearchPreview20250311\n | ToolChoiceImageGeneration\n | ToolChoiceCodeInterpreter\n | ToolChoiceParam;\n\nexport function toolChoiceParamUnionSerializer(item: ToolChoiceParamUnion): any {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedSerializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionSerializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPSerializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomSerializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamSerializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamSerializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchSerializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewSerializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewSerializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Serializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationSerializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterSerializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamSerializer(item);\n }\n}\n\nexport function toolChoiceParamUnionDeserializer(item: any): ToolChoiceParamUnion {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedDeserializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionDeserializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPDeserializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomDeserializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamDeserializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamDeserializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchDeserializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewDeserializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewDeserializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Deserializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationDeserializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterDeserializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamDeserializer(item);\n }\n}\n\n/** Type of ToolChoiceParamType */\nexport type ToolChoiceParamType =\n | \"allowed_tools\"\n | \"function\"\n | \"mcp\"\n | \"custom\"\n | \"apply_patch\"\n | \"shell\"\n | \"file_search\"\n | \"web_search_preview\"\n | \"computer_use_preview\"\n | \"web_search_preview_2025_03_11\"\n | \"image_generation\"\n | \"code_interpreter\";\n\n/** Constrains the tools available to the model to a pre-defined set. */\nexport interface ToolChoiceAllowed extends ToolChoiceParam {\n /** Allowed tool configuration type. Always `allowed_tools`. */\n type: \"allowed_tools\";\n /**\n * Constrains the tools available to the model to a pre-defined set.\n * `auto` allows the model to pick from among the allowed tools and generate a\n * message.\n * `required` requires the model to call one or more of the allowed tools.\n */\n mode: \"auto\" | \"required\";\n /**\n * A list of tool definitions that the model should be allowed to call.\n * For the Responses API, the list of tool definitions might look like:\n * ```json\n * [\n * { \"type\": \"function\", \"name\": \"get_weather\" },\n * { \"type\": \"mcp\", \"server_label\": \"deepwiki\" },\n * { \"type\": \"image_generation\" }\n * ]\n * ```\n */\n tools: Record<string, unknown>[];\n}\n\nexport function toolChoiceAllowedSerializer(item: ToolChoiceAllowed): any {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function toolChoiceAllowedDeserializer(item: any): ToolChoiceAllowed {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"].map((p: any) => {\n return Object.fromEntries(Object.entries(p).map(([k1, p1]: [string, any]) => [k1, p1]));\n }),\n };\n}\n\n/** Use this option to force the model to call a specific function. */\nexport interface ToolChoiceFunction extends ToolChoiceParam {\n /** For function calling, the type is always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n}\n\nexport function toolChoiceFunctionSerializer(item: ToolChoiceFunction): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceFunctionDeserializer(item: any): ToolChoiceFunction {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific tool on a remote MCP server. */\nexport interface ToolChoiceMCP extends ToolChoiceParam {\n /** For MCP tools, the type is always `mcp`. */\n type: \"mcp\";\n /** The label of the MCP server to use. */\n server_label: string;\n name?: string;\n}\n\nexport function toolChoiceMCPSerializer(item: ToolChoiceMCP): any {\n return { type: item[\"type\"], server_label: item[\"server_label\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceMCPDeserializer(item: any): ToolChoiceMCP {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific custom tool. */\nexport interface ToolChoiceCustom extends ToolChoiceParam {\n /** For custom tool calling, the type is always `custom`. */\n type: \"custom\";\n /** The name of the custom tool to call. */\n name: string;\n}\n\nexport function toolChoiceCustomSerializer(item: ToolChoiceCustom): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceCustomDeserializer(item: any): ToolChoiceCustom {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Forces the model to call the apply_patch tool when executing a tool call. */\nexport interface SpecificApplyPatchParam extends ToolChoiceParam {\n /** The tool to call. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function specificApplyPatchParamSerializer(item: SpecificApplyPatchParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificApplyPatchParamDeserializer(item: any): SpecificApplyPatchParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Forces the model to call the shell tool when a tool call is required. */\nexport interface SpecificFunctionShellParam extends ToolChoiceParam {\n /** The tool to call. Always `shell`. */\n type: \"shell\";\n}\n\nexport function specificFunctionShellParamSerializer(item: SpecificFunctionShellParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificFunctionShellParamDeserializer(item: any): SpecificFunctionShellParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceFileSearch extends ToolChoiceParam {\n type: \"file_search\";\n}\n\nexport function toolChoiceFileSearchSerializer(item: ToolChoiceFileSearch): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceFileSearchDeserializer(item: any): ToolChoiceFileSearch {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview extends ToolChoiceParam {\n type: \"web_search_preview\";\n}\n\nexport function toolChoiceWebSearchPreviewSerializer(item: ToolChoiceWebSearchPreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreviewDeserializer(item: any): ToolChoiceWebSearchPreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceComputerUsePreview extends ToolChoiceParam {\n type: \"computer_use_preview\";\n}\n\nexport function toolChoiceComputerUsePreviewSerializer(item: ToolChoiceComputerUsePreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceComputerUsePreviewDeserializer(item: any): ToolChoiceComputerUsePreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview20250311 extends ToolChoiceParam {\n type: \"web_search_preview_2025_03_11\";\n}\n\nexport function toolChoiceWebSearchPreview20250311Serializer(\n item: ToolChoiceWebSearchPreview20250311,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreview20250311Deserializer(\n item: any,\n): ToolChoiceWebSearchPreview20250311 {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceImageGeneration extends ToolChoiceParam {\n type: \"image_generation\";\n}\n\nexport function toolChoiceImageGenerationSerializer(item: ToolChoiceImageGeneration): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceImageGenerationDeserializer(item: any): ToolChoiceImageGeneration {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceCodeInterpreter extends ToolChoiceParam {\n type: \"code_interpreter\";\n}\n\nexport function toolChoiceCodeInterpreterSerializer(item: ToolChoiceCodeInterpreter): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceCodeInterpreterDeserializer(item: any): ToolChoiceCodeInterpreter {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\nexport interface PromptAgentDefinitionTextOptions {\n format?: TextResponseFormatConfigurationUnion;\n}\n\nexport function promptAgentDefinitionTextOptionsSerializer(\n item: PromptAgentDefinitionTextOptions,\n): any {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function promptAgentDefinitionTextOptionsDeserializer(\n item: any,\n): PromptAgentDefinitionTextOptions {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionDeserializer(item[\"format\"]),\n };\n}\n\n/**\n * An object specifying the format that the model must output.\n * Configuring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\n * which ensures the model will match your supplied JSON schema. Learn more in the\n * [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).\n * The default format is `{ \"type\": \"text\" }` with no additional options.\n * *Not recommended for gpt-4o and newer models:**\n * Setting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\n * ensures the message the model generates is valid JSON. Using `json_schema`\n * is preferred for models that support it.\n */\nexport interface TextResponseFormatConfiguration {\n type: TextResponseFormatConfigurationType;\n}\n\nexport function textResponseFormatConfigurationSerializer(\n item: TextResponseFormatConfiguration,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationDeserializer(\n item: any,\n): TextResponseFormatConfiguration {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TextResponseFormatConfigurationUnion */\nexport type TextResponseFormatConfigurationUnion =\n | TextResponseFormatJsonSchema\n | TextResponseFormatConfigurationResponseFormatText\n | TextResponseFormatConfigurationResponseFormatJsonObject\n | TextResponseFormatConfiguration;\n\nexport function textResponseFormatConfigurationUnionSerializer(\n item: TextResponseFormatConfigurationUnion,\n): any {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaSerializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextSerializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationSerializer(item);\n }\n}\n\nexport function textResponseFormatConfigurationUnionDeserializer(\n item: any,\n): TextResponseFormatConfigurationUnion {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaDeserializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextDeserializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationDeserializer(item);\n }\n}\n\n/** Type of TextResponseFormatConfigurationType */\nexport type TextResponseFormatConfigurationType = \"text\" | \"json_schema\" | \"json_object\";\n\n/**\n * JSON Schema response format. Used to generate structured JSON responses.\n * Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).\n */\nexport interface TextResponseFormatJsonSchema extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_schema`. */\n type: \"json_schema\";\n /**\n * A description of what the response format is for, used by the model to\n * determine how to respond in the format.\n */\n description?: string;\n /**\n * The name of the response format. Must be a-z, A-Z, 0-9, or contain\n * underscores and dashes, with a maximum length of 64.\n */\n name: string;\n schema: Record<string, unknown>;\n strict?: boolean;\n}\n\nexport function textResponseFormatJsonSchemaSerializer(item: TextResponseFormatJsonSchema): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function textResponseFormatJsonSchemaDeserializer(item: any): TextResponseFormatJsonSchema {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: Object.fromEntries(\n Object.entries(item[\"schema\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n strict: item[\"strict\"],\n };\n}\n\n/** Default response format. Used to generate text responses. */\nexport interface TextResponseFormatConfigurationResponseFormatText extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `text`. */\n type: \"text\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextSerializer(\n item: TextResponseFormatConfigurationResponseFormatText,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatText {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * JSON object response format. An older method of generating JSON responses.\n * Using `json_schema` is recommended for models that support it. Note that the\n * model will not generate JSON without a system or user message instructing it\n * to do so.\n */\nexport interface TextResponseFormatConfigurationResponseFormatJsonObject extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_object`. */\n type: \"json_object\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item: TextResponseFormatConfigurationResponseFormatJsonObject,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatJsonObject {\n return {\n type: item[\"type\"],\n };\n}\n\nexport function structuredInputDefinitionRecordSerializer(\n item: Record<string, StructuredInputDefinition>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionSerializer(item[key]);\n });\n return result;\n}\n\nexport function structuredInputDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, StructuredInputDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** An structured input that can participate in prompt template substitutions and tool argument binding. */\nexport interface StructuredInputDefinition {\n /** A human-readable description of the input. */\n description?: string;\n /** The default value for the input if no run-time value is provided. */\n default_value?: any;\n /** The JSON schema for the structured input (optional). */\n schema?: Record<string, unknown>;\n /** Whether the input property is required when the agent is invoked. */\n required?: boolean;\n}\n\nexport function structuredInputDefinitionSerializer(item: StructuredInputDefinition): any {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\nexport function structuredInputDefinitionDeserializer(item: any): StructuredInputDefinition {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: !item[\"schema\"]\n ? item[\"schema\"]\n : Object.fromEntries(Object.entries(item[\"schema\"]).map(([k, p]: [string, any]) => [k, p])),\n required: item[\"required\"],\n };\n}\n\n/** The workflow agent definition. */\nexport interface WorkflowAgentDefinition extends AgentDefinition {\n kind: \"workflow\";\n /** The CSDL YAML definition of the workflow. */\n workflow?: string;\n}\n\nexport function workflowAgentDefinitionSerializer(item: WorkflowAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\nexport function workflowAgentDefinitionDeserializer(item: any): WorkflowAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\n/** The hosted agent definition. */\nexport interface HostedAgentDefinition extends AgentDefinition {\n kind: \"hosted\";\n /**\n * An array of tools the hosted agent's model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /** The protocols that the agent supports for ingress communication of the containers. */\n container_protocol_versions: ProtocolVersionRecord[];\n /** The CPU configuration for the hosted agent. */\n cpu: string;\n /** The memory configuration for the hosted agent. */\n memory: string;\n /** Environment variables to set in the hosted agent container. */\n environment_variables?: Record<string, string>;\n /** The image ID for the agent, applicable to image-based hosted agents. */\n image?: string;\n}\n\nexport function hostedAgentDefinitionSerializer(item: HostedAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArraySerializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function hostedAgentDefinitionDeserializer(item: any): HostedAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArrayDeserializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: !item[\"environment_variables\"]\n ? item[\"environment_variables\"]\n : Object.fromEntries(\n Object.entries(item[\"environment_variables\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n image: item[\"image\"],\n };\n}\n\nexport function protocolVersionRecordArraySerializer(result: Array<ProtocolVersionRecord>): any[] {\n return result.map((item) => {\n return protocolVersionRecordSerializer(item);\n });\n}\n\nexport function protocolVersionRecordArrayDeserializer(\n result: Array<ProtocolVersionRecord>,\n): any[] {\n return result.map((item) => {\n return protocolVersionRecordDeserializer(item);\n });\n}\n\n/** A record mapping for a single protocol and its version. */\nexport interface ProtocolVersionRecord {\n /** The protocol type. */\n protocol: AgentProtocol;\n /** The version string for the protocol, e.g. 'v0.1.1'. */\n version: string;\n}\n\nexport function protocolVersionRecordSerializer(item: ProtocolVersionRecord): any {\n return { protocol: item[\"protocol\"], version: item[\"version\"] };\n}\n\nexport function protocolVersionRecordDeserializer(item: any): ProtocolVersionRecord {\n return {\n protocol: item[\"protocol\"],\n version: item[\"version\"],\n };\n}\n\n/** Type of AgentProtocol */\nexport type AgentProtocol = \"activity_protocol\" | \"responses\";\n\n/** The container app agent definition. */\nexport interface ContainerAppAgentDefinition extends AgentDefinition {\n kind: \"container_app\";\n /** The protocols that the agent supports for ingress communication of the containers. */\n container_protocol_versions: ProtocolVersionRecord[];\n /** The resource ID of the Azure Container App that hosts this agent. Not mutable across versions. */\n container_app_resource_id: string;\n /** The suffix to apply to the app subdomain when sending ingress to the agent. This can be a label (e.g., '---current'), a specific revision (e.g., '--0000001'), or empty to use the default endpoint for the container app. */\n ingress_subdomain_suffix: string;\n}\n\nexport function containerAppAgentDefinitionSerializer(item: ContainerAppAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n container_protocol_versions: protocolVersionRecordArraySerializer(\n item[\"container_protocol_versions\"],\n ),\n container_app_resource_id: item[\"container_app_resource_id\"],\n ingress_subdomain_suffix: item[\"ingress_subdomain_suffix\"],\n };\n}\n\nexport function containerAppAgentDefinitionDeserializer(item: any): ContainerAppAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n container_protocol_versions: protocolVersionRecordArrayDeserializer(\n item[\"container_protocol_versions\"],\n ),\n container_app_resource_id: item[\"container_app_resource_id\"],\n ingress_subdomain_suffix: item[\"ingress_subdomain_suffix\"],\n };\n}\n\n/** Error response for API failures. */\nexport interface ApiErrorResponse {\n error: ErrorModel;\n}\n\nexport function apiErrorResponseDeserializer(item: any): ApiErrorResponse {\n return {\n error: errorDeserializer(item[\"error\"]),\n };\n}\n\n/** model interface ErrorModel */\nexport interface ErrorModel {\n code: string;\n message: string;\n param?: string;\n type?: string;\n details?: ErrorModel[];\n additionalInfo?: Record<string, unknown>;\n debugInfo?: Record<string, unknown>;\n}\n\nexport function errorDeserializer(item: any): ErrorModel {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n type: item[\"type\"],\n details: !item[\"details\"] ? item[\"details\"] : errorArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : Object.fromEntries(\n Object.entries(item[\"additionalInfo\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n debugInfo: !item[\"debugInfo\"]\n ? item[\"debugInfo\"]\n : Object.fromEntries(\n Object.entries(item[\"debugInfo\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\nexport function errorArrayDeserializer(result: Array<ErrorModel>): any[] {\n return result.map((item) => {\n return errorDeserializer(item);\n });\n}\n\n/** A deleted agent Object */\nexport interface DeleteAgentResponse {\n /** The object type. Always 'agent.deleted'. */\n object: \"agent.deleted\";\n /** The name of the agent. */\n name: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentResponseDeserializer(item: any): DeleteAgentResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentObject {\n /** The requested list of items. */\n data: Agent[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentObject {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentArrayDeserializer(result: Array<Agent>): any[] {\n return result.map((item) => {\n return agentDeserializer(item);\n });\n}\n\n/** A deleted agent version Object */\nexport interface DeleteAgentVersionResponse {\n /** The object type. Always 'agent.version.deleted'. */\n object: \"agent.version.deleted\";\n /** The name of the agent. */\n name: string;\n /** The version identifier of the agent. */\n version: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentVersionResponseDeserializer(item: any): DeleteAgentVersionResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n version: item[\"version\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentVersionObject {\n /** The requested list of items. */\n data: AgentVersion[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentVersionObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentVersionObject {\n return {\n data: agentVersionArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentVersionArrayDeserializer(result: Array<AgentVersion>): any[] {\n return result.map((item) => {\n return agentVersionDeserializer(item);\n });\n}\n\n/** Evaluation rule model. */\nexport interface EvaluationRule {\n /** Unique identifier for the evaluation rule. */\n readonly id: string;\n /** Display Name for the evaluation rule. */\n displayName?: string;\n /** Description for the evaluation rule. */\n description?: string;\n /** Definition of the evaluation rule action. */\n action: EvaluationRuleActionUnion;\n /** Filter condition of the evaluation rule. */\n filter?: EvaluationRuleFilter;\n /** Event type that the evaluation rule applies to. */\n eventType: EvaluationRuleEventType;\n /** Indicates whether the evaluation rule is enabled. Default is true. */\n enabled: boolean;\n /** System metadata for the evaluation rule. */\n readonly systemData: Record<string, string>;\n}\n\nexport function evaluationRuleSerializer(item: EvaluationRule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionSerializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterSerializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function evaluationRuleDeserializer(item: any): EvaluationRule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionDeserializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterDeserializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n systemData: Object.fromEntries(\n Object.entries(item[\"systemData\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Evaluation action model. */\nexport interface EvaluationRuleAction {\n /** Type of the evaluation action. */\n /** The discriminator possible values: continuousEvaluation, humanEvaluationPreview */\n type: EvaluationRuleActionType;\n}\n\nexport function evaluationRuleActionSerializer(item: EvaluationRuleAction): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationRuleActionDeserializer(item: any): EvaluationRuleAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationRuleActionUnion */\nexport type EvaluationRuleActionUnion =\n | ContinuousEvaluationRuleAction\n | HumanEvaluationPreviewRuleAction\n | EvaluationRuleAction;\n\nexport function evaluationRuleActionUnionSerializer(item: EvaluationRuleActionUnion): any {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionSerializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionSerializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionSerializer(item);\n }\n}\n\nexport function evaluationRuleActionUnionDeserializer(item: any): EvaluationRuleActionUnion {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionDeserializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionDeserializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionDeserializer(item);\n }\n}\n\n/** Type of the evaluation action. */\nexport type EvaluationRuleActionType = \"continuousEvaluation\" | \"humanEvaluationPreview\";\n\n/** Evaluation rule action for continuous evaluation. */\nexport interface ContinuousEvaluationRuleAction extends EvaluationRuleAction {\n type: \"continuousEvaluation\";\n /** Eval Id to add continuous evaluation runs to. */\n evalId: string;\n /** Maximum number of evaluation runs allowed per hour. */\n maxHourlyRuns?: number;\n}\n\nexport function continuousEvaluationRuleActionSerializer(\n item: ContinuousEvaluationRuleAction,\n): any {\n return { type: item[\"type\"], evalId: item[\"evalId\"], maxHourlyRuns: item[\"maxHourlyRuns\"] };\n}\n\nexport function continuousEvaluationRuleActionDeserializer(\n item: any,\n): ContinuousEvaluationRuleAction {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n maxHourlyRuns: item[\"maxHourlyRuns\"],\n };\n}\n\n/** Evaluation rule action for human evaluation. */\nexport interface HumanEvaluationPreviewRuleAction extends EvaluationRuleAction {\n type: \"humanEvaluationPreview\";\n /** Human evaluation template Id. */\n templateId: string;\n}\n\nexport function humanEvaluationPreviewRuleActionSerializer(\n item: HumanEvaluationPreviewRuleAction,\n): any {\n return { type: item[\"type\"], templateId: item[\"templateId\"] };\n}\n\nexport function humanEvaluationPreviewRuleActionDeserializer(\n item: any,\n): HumanEvaluationPreviewRuleAction {\n return {\n type: item[\"type\"],\n templateId: item[\"templateId\"],\n };\n}\n\n/** Evaluation filter model. */\nexport interface EvaluationRuleFilter {\n /** Filter by agent name. */\n agentName: string;\n}\n\nexport function evaluationRuleFilterSerializer(item: EvaluationRuleFilter): any {\n return { agentName: item[\"agentName\"] };\n}\n\nexport function evaluationRuleFilterDeserializer(item: any): EvaluationRuleFilter {\n return {\n agentName: item[\"agentName\"],\n };\n}\n\n/** Type of the evaluation rule event. */\nexport type EvaluationRuleEventType = \"responseCompleted\" | \"manual\";\n\n/** Paged collection of EvaluationRule items */\nexport interface _PagedEvaluationRule {\n /** The EvaluationRule items on this page */\n value: EvaluationRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationRuleDeserializer(item: any): _PagedEvaluationRule {\n return {\n value: evaluationRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationRuleArraySerializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleSerializer(item);\n });\n}\n\nexport function evaluationRuleArrayDeserializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleDeserializer(item);\n });\n}\n\n/** Response from the list and get connections operations */\nexport interface Connection {\n /** The friendly name of the connection, provided by the user. */\n readonly name: string;\n /** A unique identifier for the connection, generated by the service */\n readonly id: string;\n /** Category of the connection */\n readonly type: ConnectionType;\n /** The connection URL to be used for this service */\n readonly target: string;\n /** Whether the connection is tagged as the default connection of its type */\n readonly isDefault: boolean;\n /** The credentials used by the connection */\n readonly credentials: BaseCredentialsUnion;\n /** Metadata of the connection */\n readonly metadata: Record<string, string>;\n}\n\nexport function connectionDeserializer(item: any): Connection {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n type: item[\"type\"],\n target: item[\"target\"],\n isDefault: item[\"isDefault\"],\n credentials: baseCredentialsUnionDeserializer(item[\"credentials\"]),\n metadata: Object.fromEntries(\n Object.entries(item[\"metadata\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** The Type (or category) of the connection */\nexport type ConnectionType =\n | \"AzureOpenAI\"\n | \"AzureBlob\"\n | \"AzureStorageAccount\"\n | \"CognitiveSearch\"\n | \"CosmosDB\"\n | \"ApiKey\"\n | \"AppConfig\"\n | \"AppInsights\"\n | \"CustomKeys\"\n | \"RemoteTool_Preview\";\n\n/** A base class for connection credentials */\nexport interface BaseCredentials {\n /** The type of credential used by the connection */\n /** The discriminator possible values: ApiKey, AAD, CustomKeys, SAS, None, AgenticIdentityToken_Preview */\n readonly type: CredentialType;\n}\n\nexport function baseCredentialsDeserializer(item: any): BaseCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for BaseCredentialsUnion */\nexport type BaseCredentialsUnion =\n | ApiKeyCredentials\n | EntraIDCredentials\n | CustomCredential\n | SASTokenCredentials\n | NoAuthenticationCredentials\n | AgenticIdentityPreviewCredentials\n | BaseCredentials;\n\nexport function baseCredentialsUnionDeserializer(item: any): BaseCredentialsUnion {\n switch (item.type) {\n case \"ApiKey\":\n return apiKeyCredentialsDeserializer(item as ApiKeyCredentials);\n\n case \"AAD\":\n return entraIDCredentialsDeserializer(item as EntraIDCredentials);\n\n case \"CustomKeys\":\n return customCredentialDeserializer(item as CustomCredential);\n\n case \"SAS\":\n return sasCredentialsDeserializer(item as SASTokenCredentials);\n\n case \"None\":\n return noAuthenticationCredentialsDeserializer(item as NoAuthenticationCredentials);\n\n case \"AgenticIdentityToken_Preview\":\n return agenticIdentityPreviewCredentialsDeserializer(\n item as AgenticIdentityPreviewCredentials,\n );\n\n default:\n return baseCredentialsDeserializer(item);\n }\n}\n\n/** The credential type used by the connection */\nexport type CredentialType =\n | \"ApiKey\"\n | \"AAD\"\n | \"SAS\"\n | \"CustomKeys\"\n | \"None\"\n | \"AgenticIdentityToken_Preview\";\n\n/** API Key Credential definition */\nexport interface ApiKeyCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"ApiKey\";\n /** API Key */\n readonly apiKey?: string;\n}\n\nexport function apiKeyCredentialsDeserializer(item: any): ApiKeyCredentials {\n return {\n type: item[\"type\"],\n apiKey: item[\"key\"],\n };\n}\n\n/** Entra ID credential definition */\nexport interface EntraIDCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AAD\";\n}\n\nexport function entraIDCredentialsDeserializer(item: any): EntraIDCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Custom credential definition */\nexport interface CustomCredential extends BaseCredentials {\n /** The credential type */\n readonly type: \"CustomKeys\";\n /** Additional properties */\n additionalProperties?: Record<string, string>;\n}\n\nexport function customCredentialDeserializer(item: any): CustomCredential {\n return {\n additionalProperties: serializeRecord(item, [\"type\"]),\n type: item[\"type\"],\n };\n}\n\n/** Shared Access Signature (SAS) credential definition */\nexport interface SASTokenCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"SAS\";\n /** SAS token */\n readonly sasToken?: string;\n}\n\nexport function sasCredentialsDeserializer(item: any): SASTokenCredentials {\n return {\n type: item[\"type\"],\n sasToken: item[\"SAS\"],\n };\n}\n\n/** Credentials that do not require authentication */\nexport interface NoAuthenticationCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"None\";\n}\n\nexport function noAuthenticationCredentialsDeserializer(item: any): NoAuthenticationCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Agentic identity credential definition */\nexport interface AgenticIdentityPreviewCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AgenticIdentityToken_Preview\";\n}\n\nexport function agenticIdentityPreviewCredentialsDeserializer(\n item: any,\n): AgenticIdentityPreviewCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Paged collection of Connection items */\nexport interface _PagedConnection {\n /** The Connection items on this page */\n value: Connection[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedConnectionDeserializer(item: any): _PagedConnection {\n return {\n value: connectionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function connectionArrayDeserializer(result: Array<Connection>): any[] {\n return result.map((item) => {\n return connectionDeserializer(item);\n });\n}\n\n/** Paged collection of DatasetVersion items */\nexport interface _PagedDatasetVersion {\n /** The DatasetVersion items on this page */\n value: DatasetVersionUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDatasetVersionDeserializer(item: any): _PagedDatasetVersion {\n return {\n value: datasetVersionUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function datasetVersionUnionArraySerializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionSerializer(item);\n });\n}\n\nexport function datasetVersionUnionArrayDeserializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionDeserializer(item);\n });\n}\n\n/** DatasetVersion Definition */\nexport interface DatasetVersion {\n /** URI of the data ([example](https://go.microsoft.com/fwlink/?linkid=2202330)) */\n dataUri: string;\n /** Dataset type */\n /** The discriminator possible values: uri_file, uri_folder */\n type: DatasetType;\n /** Indicates if the dataset holds a reference to the storage, or the dataset manages storage itself. If true, the underlying data will not be deleted when the dataset version is deleted */\n readonly isReference?: boolean;\n /** The Azure Storage Account connection name. Required if startPendingUploadVersion was not called before creating the Dataset */\n connectionName?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function datasetVersionSerializer(item: DatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function datasetVersionDeserializer(item: any): DatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Alias for DatasetVersionUnion */\nexport type DatasetVersionUnion = FileDatasetVersion | FolderDatasetVersion | DatasetVersion;\n\nexport function datasetVersionUnionSerializer(item: DatasetVersionUnion): any {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionSerializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionSerializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionSerializer(item);\n }\n}\n\nexport function datasetVersionUnionDeserializer(item: any): DatasetVersionUnion {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionDeserializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionDeserializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionDeserializer(item);\n }\n}\n\n/** Enum to determine the type of data. */\nexport type DatasetType = \"uri_file\" | \"uri_folder\";\n\n/** FileDatasetVersion Definition */\nexport interface FileDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_file\";\n}\n\nexport function fileDatasetVersionSerializer(item: FileDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function fileDatasetVersionDeserializer(item: any): FileDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** FileDatasetVersion Definition */\nexport interface FolderDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_folder\";\n}\n\nexport function folderDatasetVersionSerializer(item: FolderDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function folderDatasetVersionDeserializer(item: any): FolderDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Represents a request for a pending upload. */\nexport interface PendingUploadRequest {\n /** If PendingUploadId is not provided, a random GUID will be used. */\n pendingUploadId?: string;\n /** Azure Storage Account connection name to use for generating temporary SAS token */\n connectionName?: string;\n /** BlobReference is the only supported type. */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadRequestSerializer(item: PendingUploadRequest): any {\n return {\n pendingUploadId: item[\"pendingUploadId\"],\n connectionName: item[\"connectionName\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Represents the response for a pending upload request */\nexport interface PendingUploadResponse {\n /** Container-level read, write, list SAS. */\n blobReference: BlobReference;\n /** ID for this upload request. */\n pendingUploadId: string;\n /** Version of asset to be created if user did not specify version when initially creating upload */\n version?: string;\n /** BlobReference is the only supported type */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadResponseDeserializer(item: any): PendingUploadResponse {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n pendingUploadId: item[\"pendingUploadId\"],\n version: item[\"version\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Blob reference details. */\nexport interface BlobReference {\n /** Blob URI path for client to upload data. Example: `https://blob.windows.core.net/Container/Path` */\n blobUri: string;\n /** ARM ID of the storage account to use. */\n storageAccountArmId: string;\n /** Credential info to access the storage account. */\n credential: SasCredential;\n}\n\nexport function blobReferenceDeserializer(item: any): BlobReference {\n return {\n blobUri: item[\"blobUri\"],\n storageAccountArmId: item[\"storageAccountArmId\"],\n credential: blobReferenceSasCredentialDeserializer(item[\"credential\"]),\n };\n}\n\n/** SAS Credential definition */\nexport interface SasCredential {\n /** SAS uri */\n readonly sasUri: string;\n /** Type of credential */\n readonly type: \"SAS\";\n}\n\nexport function blobReferenceSasCredentialDeserializer(item: any): SasCredential {\n return {\n sasUri: item[\"sasUri\"],\n type: item[\"type\"],\n };\n}\n\n/** Represents a reference to a blob for consumption */\nexport interface DatasetCredential {\n /** Credential info to access the storage account. */\n blobReference: BlobReference;\n}\n\nexport function datasetCredentialDeserializer(item: any): DatasetCredential {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n };\n}\n\n/** Model Deployment Definition */\nexport interface Deployment {\n /** The type of the deployment */\n /** The discriminator possible values: ModelDeployment */\n type: DeploymentType;\n /** Name of the deployment */\n readonly name: string;\n}\n\nexport function deploymentDeserializer(item: any): Deployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Alias for DeploymentUnion */\nexport type DeploymentUnion = ModelDeployment | Deployment;\n\nexport function deploymentUnionDeserializer(item: any): DeploymentUnion {\n switch (item.type) {\n case \"ModelDeployment\":\n return modelDeploymentDeserializer(item as ModelDeployment);\n\n default:\n return deploymentDeserializer(item);\n }\n}\n\n/** Type of DeploymentType */\nexport type DeploymentType = \"ModelDeployment\";\n\n/** Model Deployment Definition */\nexport interface ModelDeployment extends Deployment {\n /** The type of the deployment */\n type: \"ModelDeployment\";\n /** Publisher-specific name of the deployed model */\n readonly modelName: string;\n /** Publisher-specific version of the deployed model */\n readonly modelVersion: string;\n /** Name of the deployed model's publisher */\n readonly modelPublisher: string;\n /** Capabilities of deployed model */\n readonly capabilities: Record<string, string>;\n /** Sku of the model deployment */\n readonly sku: ModelDeploymentSku;\n /** Name of the connection the deployment comes from */\n readonly connectionName?: string;\n}\n\nexport function modelDeploymentDeserializer(item: any): ModelDeployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n modelName: item[\"modelName\"],\n modelVersion: item[\"modelVersion\"],\n modelPublisher: item[\"modelPublisher\"],\n capabilities: Object.fromEntries(\n Object.entries(item[\"capabilities\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n sku: modelDeploymentSkuDeserializer(item[\"sku\"]),\n connectionName: item[\"connectionName\"],\n };\n}\n\n/** Sku information */\nexport interface ModelDeploymentSku {\n /** Sku capacity */\n capacity: number;\n /** Sku family */\n family: string;\n /** Sku name */\n name: string;\n /** Sku size */\n size: string;\n /** Sku tier */\n tier: string;\n}\n\nexport function modelDeploymentSkuDeserializer(item: any): ModelDeploymentSku {\n return {\n capacity: item[\"capacity\"],\n family: item[\"family\"],\n name: item[\"name\"],\n size: item[\"size\"],\n tier: item[\"tier\"],\n };\n}\n\n/** Paged collection of Deployment items */\nexport interface _PagedDeployment {\n /** The Deployment items on this page */\n value: DeploymentUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDeploymentDeserializer(item: any): _PagedDeployment {\n return {\n value: deploymentUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentUnionArrayDeserializer(result: Array<DeploymentUnion>): any[] {\n return result.map((item) => {\n return deploymentUnionDeserializer(item);\n });\n}\n\n/** Paged collection of Index items */\nexport interface _PagedIndex {\n /** The Index items on this page */\n value: IndexUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedIndexDeserializer(item: any): _PagedIndex {\n return {\n value: indexUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function indexUnionArraySerializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionSerializer(item);\n });\n}\n\nexport function indexUnionArrayDeserializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionDeserializer(item);\n });\n}\n\n/** Index resource Definition */\nexport interface Index {\n /** Type of index */\n /** The discriminator possible values: AzureSearch, ManagedAzureSearch, CosmosDBNoSqlVectorStore */\n type: IndexType;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function indexSerializer(item: Index): any {\n return { type: item[\"type\"], description: item[\"description\"], tags: item[\"tags\"] };\n}\n\nexport function indexDeserializer(item: any): Index {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Alias for IndexUnion */\nexport type IndexUnion = AzureAISearchIndex | ManagedAzureAISearchIndex | CosmosDBIndex | Index;\n\nexport function indexUnionSerializer(item: IndexUnion): any {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexSerializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexSerializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexSerializer(item as CosmosDBIndex);\n\n default:\n return indexSerializer(item);\n }\n}\n\nexport function indexUnionDeserializer(item: any): IndexUnion {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexDeserializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexDeserializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexDeserializer(item as CosmosDBIndex);\n\n default:\n return indexDeserializer(item);\n }\n}\n\n/** Type of IndexType */\nexport type IndexType = \"AzureSearch\" | \"CosmosDBNoSqlVectorStore\" | \"ManagedAzureSearch\";\n\n/** Azure AI Search Index Definition */\nexport interface AzureAISearchIndex extends Index {\n /** Type of index */\n type: \"AzureSearch\";\n /** Name of connection to Azure AI Search */\n connectionName: string;\n /** Name of index in Azure AI Search resource to attach */\n indexName: string;\n /** Field mapping configuration */\n fieldMapping?: FieldMapping;\n}\n\nexport function azureAISearchIndexSerializer(item: AzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function azureAISearchIndexDeserializer(item: any): AzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Field mapping configuration class */\nexport interface FieldMapping {\n /** List of fields with text content */\n contentFields: string[];\n /** Path of file to be used as a source of text content */\n filepathField?: string;\n /** Field containing the title of the document */\n titleField?: string;\n /** Field containing the url of the document */\n urlField?: string;\n /** List of fields with vector content */\n vectorFields?: string[];\n /** List of fields with metadata content */\n metadataFields?: string[];\n}\n\nexport function fieldMappingSerializer(item: FieldMapping): any {\n return {\n contentFields: item[\"contentFields\"].map((p: any) => {\n return p;\n }),\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: !item[\"vectorFields\"]\n ? item[\"vectorFields\"]\n : item[\"vectorFields\"].map((p: any) => {\n return p;\n }),\n metadataFields: !item[\"metadataFields\"]\n ? item[\"metadataFields\"]\n : item[\"metadataFields\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function fieldMappingDeserializer(item: any): FieldMapping {\n return {\n contentFields: item[\"contentFields\"].map((p: any) => {\n return p;\n }),\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: !item[\"vectorFields\"]\n ? item[\"vectorFields\"]\n : item[\"vectorFields\"].map((p: any) => {\n return p;\n }),\n metadataFields: !item[\"metadataFields\"]\n ? item[\"metadataFields\"]\n : item[\"metadataFields\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Managed Azure AI Search Index Definition */\nexport interface ManagedAzureAISearchIndex extends Index {\n /** Type of index */\n type: \"ManagedAzureSearch\";\n /** Vector store id of managed index */\n vectorStoreId: string;\n}\n\nexport function managedAzureAISearchIndexSerializer(item: ManagedAzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\nexport function managedAzureAISearchIndexDeserializer(item: any): ManagedAzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\n/** CosmosDB Vector Store Index Definition */\nexport interface CosmosDBIndex extends Index {\n /** Type of index */\n type: \"CosmosDBNoSqlVectorStore\";\n /** Name of connection to CosmosDB */\n connectionName: string;\n /** Name of the CosmosDB Database */\n databaseName: string;\n /** Name of CosmosDB Container */\n containerName: string;\n /** Embedding model configuration */\n embeddingConfiguration: EmbeddingConfiguration;\n /** Field mapping configuration */\n fieldMapping: FieldMapping;\n}\n\nexport function cosmosDBIndexSerializer(item: CosmosDBIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationSerializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function cosmosDBIndexDeserializer(item: any): CosmosDBIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationDeserializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Embedding configuration class */\nexport interface EmbeddingConfiguration {\n /** Deployment name of embedding model. It can point to a model deployment either in the parent AIServices or a connection. */\n modelDeploymentName: string;\n /** Embedding field */\n embeddingField: string;\n}\n\nexport function embeddingConfigurationSerializer(item: EmbeddingConfiguration): any {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\nexport function embeddingConfigurationDeserializer(item: any): EmbeddingConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\n/** Evaluation Taxonomy Definition */\nexport interface EvaluationTaxonomy {\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n /** Input configuration for the evaluation taxonomy. */\n taxonomyInput: EvaluationTaxonomyInputUnion;\n /** List of taxonomy categories. */\n taxonomyCategories?: TaxonomyCategory[];\n /** Additional properties for the evaluation taxonomy. */\n properties?: Record<string, string>;\n}\n\nexport function evaluationTaxonomySerializer(item: EvaluationTaxonomy): any {\n return {\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionSerializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArraySerializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function evaluationTaxonomyDeserializer(item: any): EvaluationTaxonomy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n taxonomyInput: evaluationTaxonomyInputUnionDeserializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArrayDeserializer(item[\"taxonomyCategories\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : Object.fromEntries(\n Object.entries(item[\"properties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Input configuration for the evaluation taxonomy. */\nexport interface EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n /** The discriminator possible values: agent */\n type: EvaluationTaxonomyInputType;\n}\n\nexport function evaluationTaxonomyInputSerializer(item: EvaluationTaxonomyInput): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationTaxonomyInputDeserializer(item: any): EvaluationTaxonomyInput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationTaxonomyInputUnion */\nexport type EvaluationTaxonomyInputUnion = AgentTaxonomyInput | EvaluationTaxonomyInput;\n\nexport function evaluationTaxonomyInputUnionSerializer(item: EvaluationTaxonomyInputUnion): any {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputSerializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputSerializer(item);\n }\n}\n\nexport function evaluationTaxonomyInputUnionDeserializer(item: any): EvaluationTaxonomyInputUnion {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputDeserializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputDeserializer(item);\n }\n}\n\n/** Type of the evaluation taxonomy input. */\nexport type EvaluationTaxonomyInputType = \"agent\" | \"policy\";\n\n/** Input configuration for the evaluation taxonomy when the input type is agent. */\nexport interface AgentTaxonomyInput extends EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n type: \"agent\";\n /** Target configuration for the agent. */\n target: TargetUnion;\n /** List of risk categories to evaluate against. */\n riskCategories: RiskCategory[];\n}\n\nexport function agentTaxonomyInputSerializer(item: AgentTaxonomyInput): any {\n return {\n type: item[\"type\"],\n target: targetUnionSerializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function agentTaxonomyInputDeserializer(item: any): AgentTaxonomyInput {\n return {\n type: item[\"type\"],\n target: targetUnionDeserializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Base class for targets with discriminator support. */\nexport interface Target {\n /** The type of target. */\n /** The discriminator possible values: azure_ai_model, azure_ai_agent */\n type: string;\n}\n\nexport function targetSerializer(item: Target): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetDeserializer(item: any): Target {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetUnion */\nexport type TargetUnion = AzureAIModelTarget | AzureAIAgentTarget | Target;\n\nexport function targetUnionSerializer(item: TargetUnion): any {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetSerializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetSerializer(item as AzureAIAgentTarget);\n\n default:\n return targetSerializer(item);\n }\n}\n\nexport function targetUnionDeserializer(item: any): TargetUnion {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetDeserializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetDeserializer(item as AzureAIAgentTarget);\n\n default:\n return targetDeserializer(item);\n }\n}\n\n/** Represents a target specifying an Azure AI model for operations requiring model selection. */\nexport interface AzureAIModelTarget extends Target {\n /** The type of target, always `azure_ai_model`. */\n type: \"azure_ai_model\";\n /** The unique identifier of the Azure AI model. */\n model?: string;\n /** The parameters used to control the sampling behavior of the model during text generation. */\n sampling_params?: ModelSamplingParams;\n}\n\nexport function azureAIModelTargetSerializer(item: AzureAIModelTarget): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsSerializer(item[\"sampling_params\"]),\n };\n}\n\nexport function azureAIModelTargetDeserializer(item: any): AzureAIModelTarget {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsDeserializer(item[\"sampling_params\"]),\n };\n}\n\n/** Represents a set of parameters used to control the sampling behavior of a language model during text generation. */\nexport interface ModelSamplingParams {\n /** The temperature parameter for sampling. */\n temperature: number;\n /** The top-p parameter for nucleus sampling. */\n top_p: number;\n /** The random seed for reproducibility. */\n seed: number;\n /** The maximum number of tokens allowed in the completion. */\n max_completion_tokens: number;\n}\n\nexport function modelSamplingParamsSerializer(item: ModelSamplingParams): any {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\nexport function modelSamplingParamsDeserializer(item: any): ModelSamplingParams {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\n/** Represents a target specifying an Azure AI agent. */\nexport interface AzureAIAgentTarget extends Target {\n /** The type of target, always `azure_ai_agent`. */\n type: \"azure_ai_agent\";\n /** The unique identifier of the Azure AI agent. */\n name: string;\n /** The version of the Azure AI agent. */\n version?: string;\n /** The parameters used to control the sampling behavior of the agent during text generation. */\n tool_descriptions?: ToolDescription[];\n}\n\nexport function azureAIAgentTargetSerializer(item: AzureAIAgentTarget): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArraySerializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function azureAIAgentTargetDeserializer(item: any): AzureAIAgentTarget {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArrayDeserializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function toolDescriptionArraySerializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionSerializer(item);\n });\n}\n\nexport function toolDescriptionArrayDeserializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionDeserializer(item);\n });\n}\n\n/** Description of a tool that can be used by an agent. */\nexport interface ToolDescription {\n /** The name of the tool. */\n name?: string;\n /** A brief description of the tool's purpose. */\n description?: string;\n}\n\nexport function toolDescriptionSerializer(item: ToolDescription): any {\n return { name: item[\"name\"], description: item[\"description\"] };\n}\n\nexport function toolDescriptionDeserializer(item: any): ToolDescription {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** Risk category for the attack objective. */\nexport type RiskCategory =\n | \"HateUnfairness\"\n | \"Violence\"\n | \"Sexual\"\n | \"SelfHarm\"\n | \"ProtectedMaterial\"\n | \"CodeVulnerability\"\n | \"UngroundedAttributes\"\n | \"ProhibitedActions\"\n | \"SensitiveDataLeakage\"\n | \"TaskAdherence\";\n\nexport function taxonomyCategoryArraySerializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategorySerializer(item);\n });\n}\n\nexport function taxonomyCategoryArrayDeserializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy category definition. */\nexport interface TaxonomyCategory {\n /** Unique identifier of the taxonomy category. */\n id: string;\n /** Name of the taxonomy category. */\n name: string;\n /** Description of the taxonomy category. */\n description?: string;\n /** Risk category associated with this taxonomy category. */\n riskCategory: RiskCategory;\n /** List of taxonomy sub categories. */\n subCategories: TaxonomySubCategory[];\n /** Additional properties for the taxonomy category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomyCategorySerializer(item: TaxonomyCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArraySerializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomyCategoryDeserializer(item: any): TaxonomyCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArrayDeserializer(item[\"subCategories\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : Object.fromEntries(\n Object.entries(item[\"properties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\nexport function taxonomySubCategoryArraySerializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategorySerializer(item);\n });\n}\n\nexport function taxonomySubCategoryArrayDeserializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy sub-category definition. */\nexport interface TaxonomySubCategory {\n /** Unique identifier of the taxonomy sub-category. */\n id: string;\n /** Name of the taxonomy sub-category. */\n name: string;\n /** Description of the taxonomy sub-category. */\n description?: string;\n /** List of taxonomy items under this sub-category. */\n enabled: boolean;\n /** Additional properties for the taxonomy sub-category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomySubCategorySerializer(item: TaxonomySubCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryDeserializer(item: any): TaxonomySubCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : Object.fromEntries(\n Object.entries(item[\"properties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Paged collection of EvaluationTaxonomy items */\nexport interface _PagedEvaluationTaxonomy {\n /** The EvaluationTaxonomy items on this page */\n value: EvaluationTaxonomy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationTaxonomyDeserializer(item: any): _PagedEvaluationTaxonomy {\n return {\n value: evaluationTaxonomyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationTaxonomyArraySerializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomySerializer(item);\n });\n}\n\nexport function evaluationTaxonomyArrayDeserializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomyDeserializer(item);\n });\n}\n\n/** Paged collection of EvaluatorVersion items */\nexport interface _PagedEvaluatorVersion {\n /** The EvaluatorVersion items on this page */\n value: EvaluatorVersion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluatorVersionDeserializer(item: any): _PagedEvaluatorVersion {\n return {\n value: evaluatorVersionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluatorVersionArraySerializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionSerializer(item);\n });\n}\n\nexport function evaluatorVersionArrayDeserializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionDeserializer(item);\n });\n}\n\n/** Evaluator Definition */\nexport interface EvaluatorVersion {\n /** Display Name for evaluator. It helps to find the evaluator easily in AI Foundry. It does not need to be unique. */\n display_name?: string;\n /** Metadata about the evaluator */\n metadata?: Record<string, string>;\n /** The type of the evaluator */\n evaluator_type: EvaluatorType;\n /** The categories of the evaluator */\n categories: EvaluatorCategory[];\n /** Definition of the evaluator */\n definition: EvaluatorDefinitionUnion;\n /** Creator of the evaluator */\n readonly created_by?: string;\n /** Creation date/time of the evaluator */\n readonly created_at?: string;\n /** Last modified date/time of the evaluator */\n readonly modified_at?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version?: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function evaluatorVersionSerializer(item: EvaluatorVersion): any {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"].map((p: any) => {\n return p;\n }),\n definition: evaluatorDefinitionUnionSerializer(item[\"definition\"]),\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function evaluatorVersionDeserializer(item: any): EvaluatorVersion {\n return {\n display_name: item[\"display_name\"],\n metadata: !item[\"metadata\"]\n ? item[\"metadata\"]\n : Object.fromEntries(Object.entries(item[\"metadata\"]).map(([k, p]: [string, any]) => [k, p])),\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"].map((p: any) => {\n return p;\n }),\n definition: evaluatorDefinitionUnionDeserializer(item[\"definition\"]),\n created_by: item[\"created_by\"],\n created_at: item[\"created_at\"],\n modified_at: item[\"modified_at\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorType = \"builtin\" | \"custom\";\n/** The category of the evaluator */\nexport type EvaluatorCategory = \"quality\" | \"safety\" | \"agents\";\n\n/** Base evaluator configuration with discriminator */\nexport interface EvaluatorDefinition {\n /** The type of evaluator definition */\n /** The discriminator possible values: code, prompt */\n type: EvaluatorDefinitionType;\n /** The JSON schema (Draft 2020-12) for the evaluator's input parameters. This includes parameters like type, properties, required. */\n init_parameters?: Record<string, unknown>;\n /** The JSON schema (Draft 2020-12) for the evaluator's input data. This includes parameters like type, properties, required. */\n data_schema?: Record<string, unknown>;\n /** List of output metrics produced by this evaluator */\n metrics?: Record<string, EvaluatorMetric>;\n}\n\nexport function evaluatorDefinitionSerializer(item: EvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n };\n}\n\nexport function evaluatorDefinitionDeserializer(item: any): EvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: !item[\"init_parameters\"]\n ? item[\"init_parameters\"]\n : Object.fromEntries(\n Object.entries(item[\"init_parameters\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n data_schema: !item[\"data_schema\"]\n ? item[\"data_schema\"]\n : Object.fromEntries(\n Object.entries(item[\"data_schema\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n };\n}\n\n/** Alias for EvaluatorDefinitionUnion */\nexport type EvaluatorDefinitionUnion =\n | CodeBasedEvaluatorDefinition\n | PromptBasedEvaluatorDefinition\n | EvaluatorDefinition;\n\nexport function evaluatorDefinitionUnionSerializer(item: EvaluatorDefinitionUnion): any {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionSerializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionSerializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionSerializer(item);\n }\n}\n\nexport function evaluatorDefinitionUnionDeserializer(item: any): EvaluatorDefinitionUnion {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionDeserializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionDeserializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionDeserializer(item);\n }\n}\n\n/** The type of evaluator definition */\nexport type EvaluatorDefinitionType =\n | \"prompt\"\n | \"code\"\n | \"prompt_and_code\"\n | \"service\"\n | \"openai_graders\";\n\nexport function evaluatorMetricRecordSerializer(\n item: Record<string, EvaluatorMetric>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricSerializer(item[key]);\n });\n return result;\n}\n\nexport function evaluatorMetricRecordDeserializer(\n item: Record<string, any>,\n): Record<string, EvaluatorMetric> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricDeserializer(item[key]);\n });\n return result;\n}\n\n/** Evaluator Metric */\nexport interface EvaluatorMetric {\n /** Type of the metric. */\n type?: EvaluatorMetricType;\n /** It indicates whether a higher value is better or a lower value is better for this metric. */\n desirable_direction?: EvaluatorMetricDirection;\n /** Minimum value for the metric */\n min_value?: number;\n /** Maximum value for the metric. If not specified, it is assumed to be unbounded. */\n max_value?: number;\n /** Indicates if this metric is primary when there are multiple metrics. */\n is_primary?: boolean;\n}\n\nexport function evaluatorMetricSerializer(item: EvaluatorMetric): any {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\nexport function evaluatorMetricDeserializer(item: any): EvaluatorMetric {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorMetricType = \"ordinal\" | \"continuous\" | \"boolean\";\n/** The direction of the metric indicating whether a higher value is better, a lower value is better, or neutral */\nexport type EvaluatorMetricDirection = \"increase\" | \"decrease\" | \"neutral\";\n\n/** Code-based evaluator definition using python code */\nexport interface CodeBasedEvaluatorDefinition extends EvaluatorDefinition {\n type: \"code\";\n /** Inline code text for the evaluator */\n code_text: string;\n}\n\nexport function codeBasedEvaluatorDefinitionSerializer(item: CodeBasedEvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\nexport function codeBasedEvaluatorDefinitionDeserializer(item: any): CodeBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: !item[\"init_parameters\"]\n ? item[\"init_parameters\"]\n : Object.fromEntries(\n Object.entries(item[\"init_parameters\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n data_schema: !item[\"data_schema\"]\n ? item[\"data_schema\"]\n : Object.fromEntries(\n Object.entries(item[\"data_schema\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\n/** Prompt-based evaluator */\nexport interface PromptBasedEvaluatorDefinition extends EvaluatorDefinition {\n type: \"prompt\";\n /** The prompt text used for evaluation */\n prompt_text: string;\n}\n\nexport function promptBasedEvaluatorDefinitionSerializer(\n item: PromptBasedEvaluatorDefinition,\n): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\nexport function promptBasedEvaluatorDefinitionDeserializer(\n item: any,\n): PromptBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: !item[\"init_parameters\"]\n ? item[\"init_parameters\"]\n : Object.fromEntries(\n Object.entries(item[\"init_parameters\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n data_schema: !item[\"data_schema\"]\n ? item[\"data_schema\"]\n : Object.fromEntries(\n Object.entries(item[\"data_schema\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\n/** The response body for cluster insights. */\nexport interface Insight {\n /** The unique identifier for the insights report. */\n readonly id?: string;\n /** Metadata about the insights report. */\n readonly metadata?: InsightsMetadata;\n /** The current state of the insights. */\n readonly state?: OperationState;\n /** User friendly display name for the insight. */\n displayName: string;\n /** Request for the insights analysis. */\n request: InsightRequestUnion;\n /** The result of the insights report. */\n readonly result?: InsightResultUnion;\n}\n\nexport function insightSerializer(item: Insight): any {\n return {\n displayName: item[\"displayName\"],\n request: insightRequestUnionSerializer(item[\"request\"]),\n };\n}\n\nexport function insightDeserializer(item: any): Insight {\n return {\n id: item[\"id\"],\n metadata: insightsMetadataDeserializer(item[\"metadata\"]),\n state: item[\"state\"],\n displayName: item[\"displayName\"],\n request: insightRequestUnionDeserializer(item[\"request\"]),\n result: !item[\"result\"] ? item[\"result\"] : insightResultUnionDeserializer(item[\"result\"]),\n };\n}\n\n/** Metadata about the insights. */\nexport interface InsightsMetadata {\n /** The timestamp when the insights were created. */\n createdAt: Date;\n /** The timestamp when the insights were completed. */\n completedAt?: Date;\n}\n\nexport function insightsMetadataDeserializer(item: any): InsightsMetadata {\n return {\n createdAt: new Date(item[\"createdAt\"]),\n completedAt: !item[\"completedAt\"] ? item[\"completedAt\"] : new Date(item[\"completedAt\"]),\n };\n}\n\n/** Enum describing allowed operation states. */\nexport type OperationState = \"NotStarted\" | \"Running\" | \"Succeeded\" | \"Failed\" | \"Canceled\";\n\n/** The request of the insights report. */\nexport interface InsightRequest {\n /** The type of request. */\n /** The discriminator possible values: EvaluationRunClusterInsight, AgentClusterInsight, EvaluationComparison */\n type: InsightType;\n}\n\nexport function insightRequestSerializer(item: InsightRequest): any {\n return { type: item[\"type\"] };\n}\n\nexport function insightRequestDeserializer(item: any): InsightRequest {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightRequestUnion */\nexport type InsightRequestUnion =\n | EvaluationRunClusterInsightRequest\n | AgentClusterInsightRequest\n | EvaluationComparisonInsightRequest\n | InsightRequest;\n\nexport function insightRequestUnionSerializer(item: InsightRequestUnion): any {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestSerializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestSerializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestSerializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestSerializer(item);\n }\n}\n\nexport function insightRequestUnionDeserializer(item: any): InsightRequestUnion {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestDeserializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestDeserializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestDeserializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestDeserializer(item);\n }\n}\n\n/** The request of the insights. */\nexport type InsightType =\n | \"EvaluationRunClusterInsight\"\n | \"AgentClusterInsight\"\n | \"EvaluationComparison\";\n\n/** Insights on set of Evaluation Results */\nexport interface EvaluationRunClusterInsightRequest extends InsightRequest {\n /** The type of insights request. */\n type: \"EvaluationRunClusterInsight\";\n /** Evaluation Id for the insights. */\n evalId: string;\n /** List of evaluation run IDs for the insights. */\n runIds: string[];\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function evaluationRunClusterInsightRequestSerializer(\n item: EvaluationRunClusterInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"].map((p: any) => {\n return p;\n }),\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function evaluationRunClusterInsightRequestDeserializer(\n item: any,\n): EvaluationRunClusterInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"].map((p: any) => {\n return p;\n }),\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Configuration of the model used in the insight generation. */\nexport interface InsightModelConfiguration {\n /** The model deployment to be evaluated. Accepts either the deployment name alone or with the connection name as '{connectionName}/<modelDeploymentName>'. */\n modelDeploymentName: string;\n}\n\nexport function insightModelConfigurationSerializer(item: InsightModelConfiguration): any {\n return { modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function insightModelConfigurationDeserializer(item: any): InsightModelConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Insights on set of Agent Evaluation Results */\nexport interface AgentClusterInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"AgentClusterInsight\";\n /** Identifier for the agent. */\n agentName: string;\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function agentClusterInsightRequestSerializer(item: AgentClusterInsightRequest): any {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function agentClusterInsightRequestDeserializer(item: any): AgentClusterInsightRequest {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Evaluation Comparison Request */\nexport interface EvaluationComparisonInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"EvaluationComparison\";\n /** Identifier for the evaluation. */\n evalId: string;\n /** The baseline run ID for comparison. */\n baselineRunId: string;\n /** List of treatment run IDs for comparison. */\n treatmentRunIds: string[];\n}\n\nexport function evaluationComparisonInsightRequestSerializer(\n item: EvaluationComparisonInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function evaluationComparisonInsightRequestDeserializer(\n item: any,\n): EvaluationComparisonInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The result of the insights. */\nexport interface InsightResult {\n /** The type of insights result. */\n /** The discriminator possible values: EvaluationComparison, EvaluationRunClusterInsight, AgentClusterInsight */\n type: InsightType;\n}\n\nexport function insightResultDeserializer(item: any): InsightResult {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightResultUnion */\nexport type InsightResultUnion =\n | EvaluationComparisonInsightResult\n | EvaluationRunClusterInsightResult\n | AgentClusterInsightResult\n | InsightResult;\n\nexport function insightResultUnionDeserializer(item: any): InsightResultUnion {\n switch (item.type) {\n case \"EvaluationComparison\":\n return evaluationComparisonInsightResultDeserializer(\n item as EvaluationComparisonInsightResult,\n );\n\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightResultDeserializer(\n item as EvaluationRunClusterInsightResult,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightResultDeserializer(item as AgentClusterInsightResult);\n\n default:\n return insightResultDeserializer(item);\n }\n}\n\n/** Insights from the evaluation comparison. */\nexport interface EvaluationComparisonInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationComparison\";\n /** Comparison results for each treatment run against the baseline. */\n comparisons: EvalRunResultComparison[];\n /** The statistical method used for comparison. */\n method: string;\n}\n\nexport function evaluationComparisonInsightResultDeserializer(\n item: any,\n): EvaluationComparisonInsightResult {\n return {\n type: item[\"type\"],\n comparisons: evalRunResultComparisonArrayDeserializer(item[\"comparisons\"]),\n method: item[\"method\"],\n };\n}\n\nexport function evalRunResultComparisonArrayDeserializer(\n result: Array<EvalRunResultComparison>,\n): any[] {\n return result.map((item) => {\n return evalRunResultComparisonDeserializer(item);\n });\n}\n\n/** Comparison results for treatment runs against the baseline. */\nexport interface EvalRunResultComparison {\n /** Name of the testing criteria. */\n testingCriteria: string;\n /** Metric being evaluated. */\n metric: string;\n /** Name of the evaluator for this testing criteria. */\n evaluator: string;\n /** Summary statistics of the baseline run. */\n baselineRunSummary: EvalRunResultSummary;\n /** List of comparison results for each treatment run. */\n compareItems: EvalRunResultCompareItem[];\n}\n\nexport function evalRunResultComparisonDeserializer(item: any): EvalRunResultComparison {\n return {\n testingCriteria: item[\"testingCriteria\"],\n metric: item[\"metric\"],\n evaluator: item[\"evaluator\"],\n baselineRunSummary: evalRunResultSummaryDeserializer(item[\"baselineRunSummary\"]),\n compareItems: evalRunResultCompareItemArrayDeserializer(item[\"compareItems\"]),\n };\n}\n\n/** Summary statistics of a metric in an evaluation run. */\nexport interface EvalRunResultSummary {\n /** The evaluation run ID. */\n runId: string;\n /** Number of samples in the evaluation run. */\n sampleCount: number;\n /** Average value of the metric in the evaluation run. */\n average: number;\n /** Standard deviation of the metric in the evaluation run. */\n standardDeviation: number;\n}\n\nexport function evalRunResultSummaryDeserializer(item: any): EvalRunResultSummary {\n return {\n runId: item[\"runId\"],\n sampleCount: item[\"sampleCount\"],\n average: item[\"average\"],\n standardDeviation: item[\"standardDeviation\"],\n };\n}\n\nexport function evalRunResultCompareItemArrayDeserializer(\n result: Array<EvalRunResultCompareItem>,\n): any[] {\n return result.map((item) => {\n return evalRunResultCompareItemDeserializer(item);\n });\n}\n\n/** Metric comparison for a treatment against the baseline. */\nexport interface EvalRunResultCompareItem {\n /** The treatment run ID. */\n treatmentRunId: string;\n /** Summary statistics of the treatment run. */\n treatmentRunSummary: EvalRunResultSummary;\n /** Estimated difference between treatment and baseline. */\n deltaEstimate: number;\n /** P-value for the treatment effect. */\n pValue: number;\n /** Type of treatment effect. */\n treatmentEffect: TreatmentEffectType;\n}\n\nexport function evalRunResultCompareItemDeserializer(item: any): EvalRunResultCompareItem {\n return {\n treatmentRunId: item[\"treatmentRunId\"],\n treatmentRunSummary: evalRunResultSummaryDeserializer(item[\"treatmentRunSummary\"]),\n deltaEstimate: item[\"deltaEstimate\"],\n pValue: item[\"pValue\"],\n treatmentEffect: item[\"treatmentEffect\"],\n };\n}\n\n/** Treatment Effect Type. */\nexport type TreatmentEffectType =\n | \"TooFewSamples\"\n | \"Inconclusive\"\n | \"Changed\"\n | \"Improved\"\n | \"Degraded\";\n\n/** Insights from the evaluation run cluster analysis. */\nexport interface EvaluationRunClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationRunClusterInsight\";\n clusterInsight: ClusterInsightResult;\n}\n\nexport function evaluationRunClusterInsightResultDeserializer(\n item: any,\n): EvaluationRunClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Insights from the cluster analysis. */\nexport interface ClusterInsightResult {\n /** Summary of the insights report. */\n summary: InsightSummary;\n /** List of clusters identified in the insights. */\n clusters: InsightCluster[];\n /**\n * Optional mapping of IDs to 2D coordinates used by the UX for visualization.\n *\n * The map keys are string identifiers (for example, a cluster id or a sample id)\n * and the values are the coordinates and visual size for rendering on a 2D chart.\n *\n * This property is omitted unless the client requests coordinates (for example,\n * by passing `includeCoordinates=true` as a query parameter).\n *\n * Example:\n * ```\n * {\n * \"cluster-1\": { \"x\": 12, \"y\": 34, \"size\": 8 },\n * \"sample-123\": { \"x\": 18, \"y\": 22, \"size\": 4 }\n * }\n * ```\n *\n * Coordinates are intended only for client-side visualization and do not\n * modify the canonical insights results.\n */\n coordinates?: Record<string, ChartCoordinate>;\n}\n\nexport function clusterInsightResultDeserializer(item: any): ClusterInsightResult {\n return {\n summary: insightSummaryDeserializer(item[\"summary\"]),\n clusters: insightClusterArrayDeserializer(item[\"clusters\"]),\n coordinates: !item[\"coordinates\"]\n ? item[\"coordinates\"]\n : chartCoordinateRecordDeserializer(item[\"coordinates\"]),\n };\n}\n\n/** Summary of the error cluster analysis. */\nexport interface InsightSummary {\n /** Total number of samples analyzed. */\n sampleCount: number;\n /** Total number of unique subcluster labels. */\n uniqueSubclusterCount: number;\n /** Total number of unique clusters. */\n uniqueClusterCount: number;\n /** Method used for clustering. */\n method: string;\n /** Token usage while performing clustering analysis */\n usage: ClusterTokenUsage;\n}\n\nexport function insightSummaryDeserializer(item: any): InsightSummary {\n return {\n sampleCount: item[\"sampleCount\"],\n uniqueSubclusterCount: item[\"uniqueSubclusterCount\"],\n uniqueClusterCount: item[\"uniqueClusterCount\"],\n method: item[\"method\"],\n usage: clusterTokenUsageDeserializer(item[\"usage\"]),\n };\n}\n\n/** Token usage for cluster analysis */\nexport interface ClusterTokenUsage {\n /** input token usage */\n inputTokenUsage: number;\n /** output token usage */\n outputTokenUsage: number;\n /** total token usage */\n totalTokenUsage: number;\n}\n\nexport function clusterTokenUsageDeserializer(item: any): ClusterTokenUsage {\n return {\n inputTokenUsage: item[\"inputTokenUsage\"],\n outputTokenUsage: item[\"outputTokenUsage\"],\n totalTokenUsage: item[\"totalTokenUsage\"],\n };\n}\n\nexport function insightClusterArrayDeserializer(result: Array<InsightCluster>): any[] {\n return result.map((item) => {\n return insightClusterDeserializer(item);\n });\n}\n\n/** A cluster of analysis samples. */\nexport interface InsightCluster {\n /** The id of the analysis cluster. */\n id: string;\n /** Label for the cluster */\n label: string;\n /** Suggestion for the cluster */\n suggestion: string;\n /** The title of the suggestion for the cluster */\n suggestionTitle: string;\n /** Description of the analysis cluster. */\n description: string;\n /** The weight of the analysis cluster. This indicate number of samples in the cluster. */\n weight: number;\n /** List of subclusters within this cluster. Empty if no subclusters exist. */\n subClusters?: InsightCluster[];\n /** List of samples that belong to this cluster. Empty if samples are part of subclusters. */\n samples?: InsightSampleUnion[];\n}\n\nexport function insightClusterDeserializer(item: any): InsightCluster {\n return {\n id: item[\"id\"],\n label: item[\"label\"],\n suggestion: item[\"suggestion\"],\n suggestionTitle: item[\"suggestionTitle\"],\n description: item[\"description\"],\n weight: item[\"weight\"],\n subClusters: !item[\"subClusters\"]\n ? item[\"subClusters\"]\n : insightClusterArrayDeserializer(item[\"subClusters\"]),\n samples: !item[\"samples\"]\n ? item[\"samples\"]\n : insightSampleUnionArrayDeserializer(item[\"samples\"]),\n };\n}\n\nexport function insightSampleUnionArrayDeserializer(result: Array<InsightSampleUnion>): any[] {\n return result.map((item) => {\n return insightSampleUnionDeserializer(item);\n });\n}\n\n/** A sample from the analysis. */\nexport interface InsightSample {\n /** The unique identifier for the analysis sample. */\n id: string;\n /** Sample type */\n /** The discriminator possible values: EvaluationResultSample */\n type: SampleType;\n /** Features to help with additional filtering of data in UX. */\n features: Record<string, unknown>;\n /** Info about the correlation for the analysis sample. */\n correlationInfo: Record<string, unknown>;\n}\n\nexport function insightSampleDeserializer(item: any): InsightSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: Object.fromEntries(\n Object.entries(item[\"features\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n correlationInfo: Object.fromEntries(\n Object.entries(item[\"correlationInfo\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Alias for InsightSampleUnion */\nexport type InsightSampleUnion = EvaluationResultSample | InsightSample;\n\nexport function insightSampleUnionDeserializer(item: any): InsightSampleUnion {\n switch (item.type) {\n case \"EvaluationResultSample\":\n return evaluationResultSampleDeserializer(item as EvaluationResultSample);\n\n default:\n return insightSampleDeserializer(item);\n }\n}\n\n/** The type of sample used in the analysis. */\nexport type SampleType = \"EvaluationResultSample\";\n\n/** A sample from the evaluation result. */\nexport interface EvaluationResultSample extends InsightSample {\n /** Evaluation Result Sample Type */\n type: \"EvaluationResultSample\";\n /** Evaluation result for the analysis sample. */\n evaluationResult: EvalResult;\n}\n\nexport function evaluationResultSampleDeserializer(item: any): EvaluationResultSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: Object.fromEntries(\n Object.entries(item[\"features\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n correlationInfo: Object.fromEntries(\n Object.entries(item[\"correlationInfo\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n evaluationResult: evalResultDeserializer(item[\"evaluationResult\"]),\n };\n}\n\n/** Result of the evaluation. */\nexport interface EvalResult {\n /** name of the check */\n name: string;\n /** type of the check */\n type: string;\n /** score */\n score: number;\n /** indicates if the check passed or failed */\n passed: boolean;\n}\n\nexport function evalResultDeserializer(item: any): EvalResult {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n score: item[\"score\"],\n passed: item[\"passed\"],\n };\n}\n\nexport function chartCoordinateRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ChartCoordinate> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : chartCoordinateDeserializer(item[key]);\n });\n return result;\n}\n\n/** Coordinates for the analysis chart. */\nexport interface ChartCoordinate {\n /** X-axis coordinate. */\n x: number;\n /** Y-axis coordinate. */\n y: number;\n /** Size of the chart element. */\n size: number;\n}\n\nexport function chartCoordinateDeserializer(item: any): ChartCoordinate {\n return {\n x: item[\"x\"],\n y: item[\"y\"],\n size: item[\"size\"],\n };\n}\n\n/** Insights from the agent cluster analysis. */\nexport interface AgentClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"AgentClusterInsight\";\n clusterInsight: ClusterInsightResult;\n}\n\nexport function agentClusterInsightResultDeserializer(item: any): AgentClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Paged collection of Insight items */\nexport interface _PagedInsight {\n /** The Insight items on this page */\n value: Insight[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedInsightDeserializer(item: any): _PagedInsight {\n return {\n value: insightArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function insightArraySerializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightSerializer(item);\n });\n}\n\nexport function insightArrayDeserializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightDeserializer(item);\n });\n}\n\n/** Base definition for memory store configurations. */\nexport interface MemoryStoreDefinition {\n /** The kind of the memory store. */\n /** The discriminator possible values: default */\n kind: MemoryStoreKind;\n}\n\nexport function memoryStoreDefinitionSerializer(item: MemoryStoreDefinition): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function memoryStoreDefinitionDeserializer(item: any): MemoryStoreDefinition {\n return {\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryStoreDefinitionUnion */\nexport type MemoryStoreDefinitionUnion = MemoryStoreDefaultDefinition | MemoryStoreDefinition;\n\nexport function memoryStoreDefinitionUnionSerializer(item: MemoryStoreDefinitionUnion): any {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionSerializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionSerializer(item);\n }\n}\n\nexport function memoryStoreDefinitionUnionDeserializer(item: any): MemoryStoreDefinitionUnion {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionDeserializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionDeserializer(item);\n }\n}\n\n/** The type of memory store implementation to use. */\nexport type MemoryStoreKind = \"default\";\n\n/** Default memory store implementation. */\nexport interface MemoryStoreDefaultDefinition extends MemoryStoreDefinition {\n /** The kind of the memory store. */\n kind: \"default\";\n /** The name or identifier of the chat completion model deployment used for memory processing. */\n chat_model: string;\n /** The name or identifier of the embedding model deployment used for memory processing. */\n embedding_model: string;\n /** Default memory store options. */\n options?: MemoryStoreDefaultOptions;\n}\n\nexport function memoryStoreDefaultDefinitionSerializer(item: MemoryStoreDefaultDefinition): any {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsSerializer(item[\"options\"]),\n };\n}\n\nexport function memoryStoreDefaultDefinitionDeserializer(item: any): MemoryStoreDefaultDefinition {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsDeserializer(item[\"options\"]),\n };\n}\n\n/** Default memory store configurations. */\nexport interface MemoryStoreDefaultOptions {\n /** Whether to enable user profile extraction and storage. Default is true. */\n user_profile_enabled: boolean;\n /** Specific categories or types of user profile information to extract and store. */\n user_profile_details?: string;\n /** Whether to enable chat summary extraction and storage. Default is true. */\n chat_summary_enabled: boolean;\n}\n\nexport function memoryStoreDefaultOptionsSerializer(item: MemoryStoreDefaultOptions): any {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\nexport function memoryStoreDefaultOptionsDeserializer(item: any): MemoryStoreDefaultOptions {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\n/** A memory store that can store and retrieve user memories. */\nexport interface MemoryStore {\n /** The object type, which is always 'memory_store'. */\n object: \"memory_store\";\n /** The unique identifier of the memory store. */\n id: string;\n /** The Unix timestamp (seconds) when the memory store was created. */\n created_at: Date;\n /** The Unix timestamp (seconds) when the memory store was last updated. */\n updated_at: Date;\n /** The name of the memory store. */\n name: string;\n /** A human-readable description of the memory store. */\n description?: string;\n /** Arbitrary key-value metadata to associate with the memory store. */\n metadata?: Record<string, string>;\n /** The definition of the memory store. */\n definition: MemoryStoreDefinitionUnion;\n}\n\nexport function memoryStoreDeserializer(item: any): MemoryStore {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n updated_at: new Date(item[\"updated_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n metadata: !item[\"metadata\"]\n ? item[\"metadata\"]\n : Object.fromEntries(Object.entries(item[\"metadata\"]).map(([k, p]: [string, any]) => [k, p])),\n definition: memoryStoreDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultMemoryStoreObject {\n /** The requested list of items. */\n data: MemoryStore[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultMemoryStoreObjectDeserializer(\n item: any,\n): _AgentsPagedResultMemoryStoreObject {\n return {\n data: memoryStoreArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function memoryStoreArrayDeserializer(result: Array<MemoryStore>): any[] {\n return result.map((item) => {\n return memoryStoreDeserializer(item);\n });\n}\n\n/** model interface DeleteMemoryStoreResponse */\nexport interface DeleteMemoryStoreResponse {\n /** The object type. Always 'memory_store.deleted'. */\n object: \"memory_store.deleted\";\n /** The name of the memory store. */\n name: string;\n /** Whether the memory store was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteMemoryStoreResponseDeserializer(item: any): DeleteMemoryStoreResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/**\n * An item representing part of the context for the response to be\n * generated by the model. Can contain text, images, and audio inputs,\n * as well as previous assistant responses and tool call outputs.\n */\nexport interface InputItem {\n type: InputItemType;\n}\n\nexport function inputItemSerializer(item: InputItem): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for InputItemUnion */\nexport type InputItemUnion =\n | EasyInputMessage\n | ItemReferenceParam\n | InputItemOutputMessage\n | InputItemFileSearchToolCall\n | InputItemComputerToolCall\n | InputItemComputerCallOutputItemParam\n | InputItemWebSearchToolCall\n | InputItemFunctionToolCall\n | InputItemFunctionCallOutputItemParam\n | InputItemReasoningItem\n | InputItemCompactionSummaryItemParam\n | InputItemImageGenToolCall\n | InputItemCodeInterpreterToolCall\n | InputItemLocalShellToolCall\n | InputItemLocalShellToolCallOutput\n | InputItemFunctionShellCallItemParam\n | InputItemFunctionShellCallOutputItemParam\n | InputItemApplyPatchToolCallItemParam\n | InputItemApplyPatchToolCallOutputItemParam\n | InputItemMcpListTools\n | InputItemMcpApprovalRequest\n | InputItemMcpApprovalResponse\n | InputItemMcpToolCall\n | InputItemCustomToolCallOutput\n | InputItemCustomToolCall\n | InputItem;\n\nexport function inputItemUnionSerializer(item: InputItemUnion): any {\n switch (item.type) {\n case \"message\":\n return easyInputMessageSerializer(item as EasyInputMessage);\n\n case \"item_reference\":\n return itemReferenceParamSerializer(item as ItemReferenceParam);\n\n case \"output_message\":\n return inputItemOutputMessageSerializer(item as InputItemOutputMessage);\n\n case \"file_search_call\":\n return inputItemFileSearchToolCallSerializer(item as InputItemFileSearchToolCall);\n\n case \"computer_call\":\n return inputItemComputerToolCallSerializer(item as InputItemComputerToolCall);\n\n case \"computer_call_output\":\n return inputItemComputerCallOutputItemParamSerializer(\n item as InputItemComputerCallOutputItemParam,\n );\n\n case \"web_search_call\":\n return inputItemWebSearchToolCallSerializer(item as InputItemWebSearchToolCall);\n\n case \"function_call\":\n return inputItemFunctionToolCallSerializer(item as InputItemFunctionToolCall);\n\n case \"function_call_output\":\n return inputItemFunctionCallOutputItemParamSerializer(\n item as InputItemFunctionCallOutputItemParam,\n );\n\n case \"reasoning\":\n return inputItemReasoningItemSerializer(item as InputItemReasoningItem);\n\n case \"compaction\":\n return inputItemCompactionSummaryItemParamSerializer(\n item as InputItemCompactionSummaryItemParam,\n );\n\n case \"image_generation_call\":\n return inputItemImageGenToolCallSerializer(item as InputItemImageGenToolCall);\n\n case \"code_interpreter_call\":\n return inputItemCodeInterpreterToolCallSerializer(item as InputItemCodeInterpreterToolCall);\n\n case \"local_shell_call\":\n return inputItemLocalShellToolCallSerializer(item as InputItemLocalShellToolCall);\n\n case \"local_shell_call_output\":\n return inputItemLocalShellToolCallOutputSerializer(item as InputItemLocalShellToolCallOutput);\n\n case \"shell_call\":\n return inputItemFunctionShellCallItemParamSerializer(\n item as InputItemFunctionShellCallItemParam,\n );\n\n case \"shell_call_output\":\n return inputItemFunctionShellCallOutputItemParamSerializer(\n item as InputItemFunctionShellCallOutputItemParam,\n );\n\n case \"apply_patch_call\":\n return inputItemApplyPatchToolCallItemParamSerializer(\n item as InputItemApplyPatchToolCallItemParam,\n );\n\n case \"apply_patch_call_output\":\n return inputItemApplyPatchToolCallOutputItemParamSerializer(\n item as InputItemApplyPatchToolCallOutputItemParam,\n );\n\n case \"mcp_list_tools\":\n return inputItemMcpListToolsSerializer(item as InputItemMcpListTools);\n\n case \"mcp_approval_request\":\n return inputItemMcpApprovalRequestSerializer(item as InputItemMcpApprovalRequest);\n\n case \"mcp_approval_response\":\n return inputItemMcpApprovalResponseSerializer(item as InputItemMcpApprovalResponse);\n\n case \"mcp_call\":\n return inputItemMcpToolCallSerializer(item as InputItemMcpToolCall);\n\n case \"custom_tool_call_output\":\n return inputItemCustomToolCallOutputSerializer(item as InputItemCustomToolCallOutput);\n\n case \"custom_tool_call\":\n return inputItemCustomToolCallSerializer(item as InputItemCustomToolCall);\n\n default:\n return inputItemSerializer(item);\n }\n}\n\n/** Type of InputItemType */\nexport type InputItemType =\n | \"message\"\n | \"output_message\"\n | \"file_search_call\"\n | \"computer_call\"\n | \"computer_call_output\"\n | \"web_search_call\"\n | \"function_call\"\n | \"function_call_output\"\n | \"reasoning\"\n | \"compaction\"\n | \"image_generation_call\"\n | \"code_interpreter_call\"\n | \"local_shell_call\"\n | \"local_shell_call_output\"\n | \"shell_call\"\n | \"shell_call_output\"\n | \"apply_patch_call\"\n | \"apply_patch_call_output\"\n | \"mcp_list_tools\"\n | \"mcp_approval_request\"\n | \"mcp_approval_response\"\n | \"mcp_call\"\n | \"custom_tool_call_output\"\n | \"custom_tool_call\"\n | \"item_reference\";\n\n/**\n * A message input to the model with a role indicating instruction following\n * hierarchy. Instructions given with the `developer` or `system` role take\n * precedence over instructions given with the `user` role. Messages with the\n * `assistant` role are presumed to have been generated by the model in previous\n * interactions.\n */\nexport interface EasyInputMessage extends InputItem {\n /**\n * The role of the message input. One of `user`, `assistant`, `system`, or\n * `developer`.\n */\n role: \"user\" | \"assistant\" | \"system\" | \"developer\";\n /**\n * Text, image, or audio input to the model, used to generate a response.\n * Can also contain previous assistant responses.\n */\n content: string | InputContentUnion[];\n /** The type of the message input. Always `message`. */\n type: \"message\";\n /**\n * The status of item. One of `in_progress`, `completed`, or\n * `incomplete`. Populated when items are returned via API.\n */\n status?: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function easyInputMessageSerializer(item: EasyInputMessage): any {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: _easyInputMessageContentSerializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\n/** Alias for _EasyInputMessageContent */\nexport type _EasyInputMessageContent = string | InputContentUnion[];\n\nexport function _easyInputMessageContentSerializer(item: _EasyInputMessageContent): any {\n return item;\n}\n\nexport function inputContentUnionArraySerializer(result: Array<InputContentUnion>): any[] {\n return result.map((item) => {\n return inputContentUnionSerializer(item);\n });\n}\n\n/** model interface InputContent */\nexport interface InputContent {\n type: InputContentType;\n}\n\nexport function inputContentSerializer(item: InputContent): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for InputContentUnion */\nexport type InputContentUnion =\n | InputContentInputTextContent\n | InputContentInputImageContent\n | InputContentInputFileContent\n | InputContent;\n\nexport function inputContentUnionSerializer(item: InputContentUnion): any {\n switch (item.type) {\n case \"input_text\":\n return inputContentInputTextContentSerializer(item as InputContentInputTextContent);\n\n case \"input_image\":\n return inputContentInputImageContentSerializer(item as InputContentInputImageContent);\n\n case \"input_file\":\n return inputContentInputFileContentSerializer(item as InputContentInputFileContent);\n\n default:\n return inputContentSerializer(item);\n }\n}\n\n/** Type of InputContentType */\nexport type InputContentType = \"input_text\" | \"input_image\" | \"input_file\";\n\n/** A text input to the model. */\nexport interface InputContentInputTextContent extends InputContent {\n /** The type of the input item. Always `input_text`. */\n type: \"input_text\";\n /** The text input to the model. */\n text: string;\n}\n\nexport function inputContentInputTextContentSerializer(item: InputContentInputTextContent): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */\nexport interface InputContentInputImageContent extends InputContent {\n /** The type of the input item. Always `input_image`. */\n type: \"input_image\";\n image_url?: string;\n file_id?: string;\n /** The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`. */\n detail: ImageDetail;\n}\n\nexport function inputContentInputImageContentSerializer(item: InputContentInputImageContent): any {\n return {\n type: item[\"type\"],\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n detail: item[\"detail\"],\n };\n}\n\n/** Type of ImageDetail */\nexport type ImageDetail = \"low\" | \"high\" | \"auto\";\n\n/** A file input to the model. */\nexport interface InputContentInputFileContent extends InputContent {\n /** The type of the input item. Always `input_file`. */\n type: \"input_file\";\n file_id?: string;\n /** The name of the file to be sent to the model. */\n filename?: string;\n /** The URL of the file to be sent to the model. */\n file_url?: string;\n /** The content of the file to be sent to the model. */\n file_data?: string;\n}\n\nexport function inputContentInputFileContentSerializer(item: InputContentInputFileContent): any {\n return {\n type: item[\"type\"],\n file_id: item[\"file_id\"],\n filename: item[\"filename\"],\n file_url: item[\"file_url\"],\n file_data: item[\"file_data\"],\n };\n}\n\n/** An internal identifier for an item to reference. */\nexport interface ItemReferenceParam extends InputItem {\n /** The type of item to reference. Always `item_reference`. */\n type: \"item_reference\";\n /** The ID of the item to reference. */\n id: string;\n}\n\nexport function itemReferenceParamSerializer(item: ItemReferenceParam): any {\n return { type: item[\"type\"], id: item[\"id\"] };\n}\n\n/** An output message from the model. */\nexport interface InputItemOutputMessage extends InputItem {\n /** The unique ID of the output message. */\n id: string;\n /** The type of the output message. Always `message`. */\n type: \"output_message\";\n /** The role of the output message. Always `assistant`. */\n role: \"assistant\";\n /** The content of the output message. */\n content: OutputMessageContentUnion[];\n /**\n * The status of the message input. One of `in_progress`, `completed`, or\n * `incomplete`. Populated when input items are returned via API.\n */\n status: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemOutputMessageSerializer(item: InputItemOutputMessage): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n role: item[\"role\"],\n content: outputMessageContentUnionArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\nexport function outputMessageContentUnionArraySerializer(\n result: Array<OutputMessageContentUnion>,\n): any[] {\n return result.map((item) => {\n return outputMessageContentUnionSerializer(item);\n });\n}\n\n/** model interface OutputMessageContent */\nexport interface OutputMessageContent {\n type: OutputMessageContentType;\n}\n\nexport function outputMessageContentSerializer(item: OutputMessageContent): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for OutputMessageContentUnion */\nexport type OutputMessageContentUnion =\n | OutputMessageContentOutputTextContent\n | OutputMessageContentRefusalContent\n | OutputMessageContent;\n\nexport function outputMessageContentUnionSerializer(item: OutputMessageContentUnion): any {\n switch (item.type) {\n case \"output_text\":\n return outputMessageContentOutputTextContentSerializer(\n item as OutputMessageContentOutputTextContent,\n );\n\n case \"refusal\":\n return outputMessageContentRefusalContentSerializer(\n item as OutputMessageContentRefusalContent,\n );\n\n default:\n return outputMessageContentSerializer(item);\n }\n}\n\n/** Type of OutputMessageContentType */\nexport type OutputMessageContentType = \"output_text\" | \"refusal\";\n\n/** A text output from the model. */\nexport interface OutputMessageContentOutputTextContent extends OutputMessageContent {\n /** The type of the output text. Always `output_text`. */\n type: \"output_text\";\n /** The text output from the model. */\n text: string;\n /** The annotations of the text output. */\n annotations: AnnotationUnion[];\n logprobs?: LogProb[];\n}\n\nexport function outputMessageContentOutputTextContentSerializer(\n item: OutputMessageContentOutputTextContent,\n): any {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n annotations: annotationUnionArraySerializer(item[\"annotations\"]),\n logprobs: !item[\"logprobs\"] ? item[\"logprobs\"] : logProbArraySerializer(item[\"logprobs\"]),\n };\n}\n\nexport function annotationUnionArraySerializer(result: Array<AnnotationUnion>): any[] {\n return result.map((item) => {\n return annotationUnionSerializer(item);\n });\n}\n\n/** An annotation that applies to a span of output text. */\nexport interface Annotation {\n type: AnnotationType;\n}\n\nexport function annotationSerializer(item: Annotation): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for AnnotationUnion */\nexport type AnnotationUnion =\n | FileCitationBody\n | UrlCitationBody\n | ContainerFileCitationBody\n | FilePath\n | Annotation;\n\nexport function annotationUnionSerializer(item: AnnotationUnion): any {\n switch (item.type) {\n case \"file_citation\":\n return fileCitationBodySerializer(item as FileCitationBody);\n\n case \"url_citation\":\n return urlCitationBodySerializer(item as UrlCitationBody);\n\n case \"container_file_citation\":\n return containerFileCitationBodySerializer(item as ContainerFileCitationBody);\n\n case \"file_path\":\n return filePathSerializer(item as FilePath);\n\n default:\n return annotationSerializer(item);\n }\n}\n\n/** Type of AnnotationType */\nexport type AnnotationType =\n | \"file_citation\"\n | \"url_citation\"\n | \"container_file_citation\"\n | \"file_path\";\n\n/** A citation to a file. */\nexport interface FileCitationBody extends Annotation {\n /** The type of the file citation. Always `file_citation`. */\n type: \"file_citation\";\n /** The ID of the file. */\n file_id: string;\n /** The index of the file in the list of files. */\n index: number;\n /** The filename of the file cited. */\n filename: string;\n}\n\nexport function fileCitationBodySerializer(item: FileCitationBody): any {\n return {\n type: item[\"type\"],\n file_id: item[\"file_id\"],\n index: item[\"index\"],\n filename: item[\"filename\"],\n };\n}\n\n/** A citation for a web resource used to generate a model response. */\nexport interface UrlCitationBody extends Annotation {\n /** The type of the URL citation. Always `url_citation`. */\n type: \"url_citation\";\n /** The URL of the web resource. */\n url: string;\n /** The index of the first character of the URL citation in the message. */\n start_index: number;\n /** The index of the last character of the URL citation in the message. */\n end_index: number;\n /** The title of the web resource. */\n title: string;\n}\n\nexport function urlCitationBodySerializer(item: UrlCitationBody): any {\n return {\n type: item[\"type\"],\n url: item[\"url\"],\n start_index: item[\"start_index\"],\n end_index: item[\"end_index\"],\n title: item[\"title\"],\n };\n}\n\n/** A citation for a container file used to generate a model response. */\nexport interface ContainerFileCitationBody extends Annotation {\n /** The type of the container file citation. Always `container_file_citation`. */\n type: \"container_file_citation\";\n /** The ID of the container file. */\n container_id: string;\n /** The ID of the file. */\n file_id: string;\n /** The index of the first character of the container file citation in the message. */\n start_index: number;\n /** The index of the last character of the container file citation in the message. */\n end_index: number;\n /** The filename of the container file cited. */\n filename: string;\n}\n\nexport function containerFileCitationBodySerializer(item: ContainerFileCitationBody): any {\n return {\n type: item[\"type\"],\n container_id: item[\"container_id\"],\n file_id: item[\"file_id\"],\n start_index: item[\"start_index\"],\n end_index: item[\"end_index\"],\n filename: item[\"filename\"],\n };\n}\n\n/** A path to a file. */\nexport interface FilePath extends Annotation {\n /** The type of the file path. Always `file_path`. */\n type: \"file_path\";\n /** The ID of the file. */\n file_id: string;\n /** The index of the file in the list of files. */\n index: number;\n}\n\nexport function filePathSerializer(item: FilePath): any {\n return { type: item[\"type\"], file_id: item[\"file_id\"], index: item[\"index\"] };\n}\n\nexport function logProbArraySerializer(result: Array<LogProb>): any[] {\n return result.map((item) => {\n return logProbSerializer(item);\n });\n}\n\n/** The log probability of a token. */\nexport interface LogProb {\n token: string;\n logprob: number;\n bytes: number[];\n top_logprobs: TopLogProb[];\n}\n\nexport function logProbSerializer(item: LogProb): any {\n return {\n token: item[\"token\"],\n logprob: item[\"logprob\"],\n bytes: item[\"bytes\"].map((p: any) => {\n return p;\n }),\n top_logprobs: topLogProbArraySerializer(item[\"top_logprobs\"]),\n };\n}\n\nexport function topLogProbArraySerializer(result: Array<TopLogProb>): any[] {\n return result.map((item) => {\n return topLogProbSerializer(item);\n });\n}\n\n/** The top log probability of a token. */\nexport interface TopLogProb {\n token: string;\n logprob: number;\n bytes: number[];\n}\n\nexport function topLogProbSerializer(item: TopLogProb): any {\n return {\n token: item[\"token\"],\n logprob: item[\"logprob\"],\n bytes: item[\"bytes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** A refusal from the model. */\nexport interface OutputMessageContentRefusalContent extends OutputMessageContent {\n /** The type of the refusal. Always `refusal`. */\n type: \"refusal\";\n /** The refusal explanation from the model. */\n refusal: string;\n}\n\nexport function outputMessageContentRefusalContentSerializer(\n item: OutputMessageContentRefusalContent,\n): any {\n return { type: item[\"type\"], refusal: item[\"refusal\"] };\n}\n\n/**\n * The results of a file search tool call. See the\n * [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information.\n */\nexport interface InputItemFileSearchToolCall extends InputItem {\n /** The unique ID of the file search tool call. */\n id: string;\n /** The type of the file search tool call. Always `file_search_call`. */\n type: \"file_search_call\";\n /**\n * The status of the file search tool call. One of `in_progress`,\n * `searching`, `incomplete` or `failed`,\n */\n status: \"in_progress\" | \"searching\" | \"completed\" | \"incomplete\" | \"failed\";\n /** The queries used to search for files. */\n queries: string[];\n results?: FileSearchToolCallResults[];\n}\n\nexport function inputItemFileSearchToolCallSerializer(item: InputItemFileSearchToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n status: item[\"status\"],\n queries: item[\"queries\"].map((p: any) => {\n return p;\n }),\n results: !item[\"results\"]\n ? item[\"results\"]\n : fileSearchToolCallResultsArraySerializer(item[\"results\"]),\n };\n}\n\nexport function fileSearchToolCallResultsArraySerializer(\n result: Array<FileSearchToolCallResults>,\n): any[] {\n return result.map((item) => {\n return fileSearchToolCallResultsSerializer(item);\n });\n}\n\n/** model interface FileSearchToolCallResults */\nexport interface FileSearchToolCallResults {\n file_id?: string;\n text?: string;\n filename?: string;\n attributes?: VectorStoreFileAttributes;\n score?: number;\n}\n\nexport function fileSearchToolCallResultsSerializer(item: FileSearchToolCallResults): any {\n return {\n file_id: item[\"file_id\"],\n text: item[\"text\"],\n filename: item[\"filename\"],\n attributes: !item[\"attributes\"]\n ? item[\"attributes\"]\n : vectorStoreFileAttributesSerializer(item[\"attributes\"]),\n score: item[\"score\"],\n };\n}\n\n/**\n * Set of 16 key-value pairs that can be attached to an object. This can be\n * useful for storing additional information about the object in a structured\n * format, and querying for objects via API or the dashboard. Keys are strings\n * with a maximum length of 64 characters. Values are strings with a maximum\n * length of 512 characters, booleans, or numbers.\n */\nexport interface VectorStoreFileAttributes {\n /** Additional properties */\n additionalProperties?: Record<string, string | number | boolean>;\n}\n\nexport function vectorStoreFileAttributesSerializer(item: VectorStoreFileAttributes): any {\n return {\n ...serializeRecord(\n item.additionalProperties ?? {},\n undefined,\n _vectorStoreFileAttributesAdditionalPropertySerializer,\n ),\n };\n}\n\n/** Alias for _VectorStoreFileAttributesAdditionalProperty */\nexport type _VectorStoreFileAttributesAdditionalProperty = string | number | boolean;\n\nexport function _vectorStoreFileAttributesAdditionalPropertySerializer(\n item: _VectorStoreFileAttributesAdditionalProperty,\n): any {\n return item;\n}\n\n/**\n * A tool call to a computer use tool. See the\n * [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use) for more information.\n */\nexport interface InputItemComputerToolCall extends InputItem {\n /** The type of the computer call. Always `computer_call`. */\n type: \"computer_call\";\n /** The unique ID of the computer call. */\n id: string;\n /** An identifier used when responding to the tool call with output. */\n call_id: string;\n action: ComputerActionUnion;\n /** The pending safety checks for the computer call. */\n pending_safety_checks: ComputerCallSafetyCheckParam[];\n /**\n * The status of the item. One of `in_progress`, `completed`, or\n * `incomplete`. Populated when items are returned via API.\n */\n status: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemComputerToolCallSerializer(item: InputItemComputerToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n action: computerActionUnionSerializer(item[\"action\"]),\n pending_safety_checks: computerCallSafetyCheckParamArraySerializer(\n item[\"pending_safety_checks\"],\n ),\n status: item[\"status\"],\n };\n}\n\n/** model interface ComputerAction */\nexport interface ComputerAction {\n type: ComputerActionType;\n}\n\nexport function computerActionSerializer(item: ComputerAction): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for ComputerActionUnion */\nexport type ComputerActionUnion =\n | ClickParam\n | DoubleClickAction\n | Drag\n | KeyPressAction\n | Move\n | Screenshot\n | Scroll\n | Type\n | Wait\n | ComputerAction;\n\nexport function computerActionUnionSerializer(item: ComputerActionUnion): any {\n switch (item.type) {\n case \"click\":\n return clickParamSerializer(item as ClickParam);\n\n case \"double_click\":\n return doubleClickActionSerializer(item as DoubleClickAction);\n\n case \"drag\":\n return dragSerializer(item as Drag);\n\n case \"keypress\":\n return keyPressActionSerializer(item as KeyPressAction);\n\n case \"move\":\n return moveSerializer(item as Move);\n\n case \"screenshot\":\n return screenshotSerializer(item as Screenshot);\n\n case \"scroll\":\n return scrollSerializer(item as Scroll);\n\n case \"type\":\n return typeSerializer(item as Type);\n\n case \"wait\":\n return waitSerializer(item as Wait);\n\n default:\n return computerActionSerializer(item);\n }\n}\n\n/** Type of ComputerActionType */\nexport type ComputerActionType =\n | \"click\"\n | \"double_click\"\n | \"drag\"\n | \"keypress\"\n | \"move\"\n | \"screenshot\"\n | \"scroll\"\n | \"type\"\n | \"wait\";\n\n/** A click action. */\nexport interface ClickParam extends ComputerAction {\n /** Specifies the event type. For a click action, this property is always `click`. */\n type: \"click\";\n /** Indicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`. */\n button: ClickButtonType;\n /** The x-coordinate where the click occurred. */\n x: number;\n /** The y-coordinate where the click occurred. */\n y: number;\n}\n\nexport function clickParamSerializer(item: ClickParam): any {\n return { type: item[\"type\"], button: item[\"button\"], x: item[\"x\"], y: item[\"y\"] };\n}\n\n/** Type of ClickButtonType */\nexport type ClickButtonType = \"left\" | \"right\" | \"wheel\" | \"back\" | \"forward\";\n\n/** A double click action. */\nexport interface DoubleClickAction extends ComputerAction {\n /** Specifies the event type. For a double click action, this property is always set to `double_click`. */\n type: \"double_click\";\n /** The x-coordinate where the double click occurred. */\n x: number;\n /** The y-coordinate where the double click occurred. */\n y: number;\n}\n\nexport function doubleClickActionSerializer(item: DoubleClickAction): any {\n return { type: item[\"type\"], x: item[\"x\"], y: item[\"y\"] };\n}\n\n/** A drag action. */\nexport interface Drag extends ComputerAction {\n /**\n * Specifies the event type. For a drag action, this property is\n * always set to `drag`.\n */\n type: \"drag\";\n /**\n * An array of coordinates representing the path of the drag action. Coordinates will appear as an array\n * of objects, eg\n * ```\n * [\n * { x: 100, y: 200 },\n * { x: 200, y: 300 }\n * ]\n * ```\n */\n path: DragPoint[];\n}\n\nexport function dragSerializer(item: Drag): any {\n return { type: item[\"type\"], path: dragPointArraySerializer(item[\"path\"]) };\n}\n\nexport function dragPointArraySerializer(result: Array<DragPoint>): any[] {\n return result.map((item) => {\n return dragPointSerializer(item);\n });\n}\n\n/** An x/y coordinate pair, e.g. `{ x: 100, y: 200 }`. */\nexport interface DragPoint {\n /** The x-coordinate. */\n x: number;\n /** The y-coordinate. */\n y: number;\n}\n\nexport function dragPointSerializer(item: DragPoint): any {\n return { x: item[\"x\"], y: item[\"y\"] };\n}\n\n/** A collection of keypresses the model would like to perform. */\nexport interface KeyPressAction extends ComputerAction {\n /** Specifies the event type. For a keypress action, this property is always set to `keypress`. */\n type: \"keypress\";\n /** The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key. */\n keys: string[];\n}\n\nexport function keyPressActionSerializer(item: KeyPressAction): any {\n return {\n type: item[\"type\"],\n keys: item[\"keys\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** A mouse move action. */\nexport interface Move extends ComputerAction {\n /**\n * Specifies the event type. For a move action, this property is\n * always set to `move`.\n */\n type: \"move\";\n /** The x-coordinate to move to. */\n x: number;\n /** The y-coordinate to move to. */\n y: number;\n}\n\nexport function moveSerializer(item: Move): any {\n return { type: item[\"type\"], x: item[\"x\"], y: item[\"y\"] };\n}\n\n/** A screenshot action. */\nexport interface Screenshot extends ComputerAction {\n /**\n * Specifies the event type. For a screenshot action, this property is\n * always set to `screenshot`.\n */\n type: \"screenshot\";\n}\n\nexport function screenshotSerializer(item: Screenshot): any {\n return { type: item[\"type\"] };\n}\n\n/** A scroll action. */\nexport interface Scroll extends ComputerAction {\n /**\n * Specifies the event type. For a scroll action, this property is\n * always set to `scroll`.\n */\n type: \"scroll\";\n /** The x-coordinate where the scroll occurred. */\n x: number;\n /** The y-coordinate where the scroll occurred. */\n y: number;\n /** The horizontal scroll distance. */\n scroll_x: number;\n /** The vertical scroll distance. */\n scroll_y: number;\n}\n\nexport function scrollSerializer(item: Scroll): any {\n return {\n type: item[\"type\"],\n x: item[\"x\"],\n y: item[\"y\"],\n scroll_x: item[\"scroll_x\"],\n scroll_y: item[\"scroll_y\"],\n };\n}\n\n/** An action to type in text. */\nexport interface Type extends ComputerAction {\n /**\n * Specifies the event type. For a type action, this property is\n * always set to `type`.\n */\n type: \"type\";\n /** The text to type. */\n text: string;\n}\n\nexport function typeSerializer(item: Type): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** A wait action. */\nexport interface Wait extends ComputerAction {\n /**\n * Specifies the event type. For a wait action, this property is\n * always set to `wait`.\n */\n type: \"wait\";\n}\n\nexport function waitSerializer(item: Wait): any {\n return { type: item[\"type\"] };\n}\n\nexport function computerCallSafetyCheckParamArraySerializer(\n result: Array<ComputerCallSafetyCheckParam>,\n): any[] {\n return result.map((item) => {\n return computerCallSafetyCheckParamSerializer(item);\n });\n}\n\n/** A pending safety check for the computer call. */\nexport interface ComputerCallSafetyCheckParam {\n /** The ID of the pending safety check. */\n id: string;\n code?: string;\n message?: string;\n}\n\nexport function computerCallSafetyCheckParamSerializer(item: ComputerCallSafetyCheckParam): any {\n return { id: item[\"id\"], code: item[\"code\"], message: item[\"message\"] };\n}\n\n/** The output of a computer tool call. */\nexport interface InputItemComputerCallOutputItemParam extends InputItem {\n id?: string;\n /** The ID of the computer tool call that produced the output. */\n call_id: string;\n /** The type of the computer tool call output. Always `computer_call_output`. */\n type: \"computer_call_output\";\n output: ComputerScreenshotImage;\n acknowledged_safety_checks?: ComputerCallSafetyCheckParam[];\n status?: FunctionCallItemStatus;\n}\n\nexport function inputItemComputerCallOutputItemParamSerializer(\n item: InputItemComputerCallOutputItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n output: computerScreenshotImageSerializer(item[\"output\"]),\n acknowledged_safety_checks: !item[\"acknowledged_safety_checks\"]\n ? item[\"acknowledged_safety_checks\"]\n : computerCallSafetyCheckParamArraySerializer(item[\"acknowledged_safety_checks\"]),\n status: item[\"status\"],\n };\n}\n\n/** A computer screenshot image used with the computer use tool. */\nexport interface ComputerScreenshotImage {\n /**\n * Specifies the event type. For a computer screenshot, this property is\n * always set to `computer_screenshot`.\n */\n type: \"computer_screenshot\";\n /** The URL of the screenshot image. */\n image_url?: string;\n /** The identifier of an uploaded file that contains the screenshot. */\n file_id?: string;\n}\n\nexport function computerScreenshotImageSerializer(item: ComputerScreenshotImage): any {\n return { type: item[\"type\"], image_url: item[\"image_url\"], file_id: item[\"file_id\"] };\n}\n\n/** Type of FunctionCallItemStatus */\nexport type FunctionCallItemStatus = \"in_progress\" | \"completed\" | \"incomplete\";\n\n/**\n * The results of a web search tool call. See the\n * [web search guide](https://platform.openai.com/docs/guides/tools-web-search) for more information.\n */\nexport interface InputItemWebSearchToolCall extends InputItem {\n /** The unique ID of the web search tool call. */\n id: string;\n /** The type of the web search tool call. Always `web_search_call`. */\n type: \"web_search_call\";\n /** The status of the web search tool call. */\n status: \"in_progress\" | \"searching\" | \"completed\" | \"failed\";\n /**\n * An object describing the specific action taken in this web search call.\n * Includes details on how the model used the web (search, open_page, find).\n */\n action: WebSearchActionSearch | WebSearchActionOpenPage | WebSearchActionFind;\n}\n\nexport function inputItemWebSearchToolCallSerializer(item: InputItemWebSearchToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n status: item[\"status\"],\n action: _outputItemWebSearchToolCallActionSerializer(item[\"action\"]),\n };\n}\n\n/** Alias for _OutputItemWebSearchToolCallAction */\nexport type _OutputItemWebSearchToolCallAction =\n | WebSearchActionSearch\n | WebSearchActionOpenPage\n | WebSearchActionFind;\n\nexport function _outputItemWebSearchToolCallActionSerializer(\n item: _OutputItemWebSearchToolCallAction,\n): any {\n return item;\n}\n\n/** Action type \"search\" - Performs a web search query. */\nexport interface WebSearchActionSearch {\n /** The action type. */\n type: \"search\";\n /** [DEPRECATED] The search query. */\n query: string;\n /** The search queries. */\n queries?: string[];\n /** The sources used in the search. */\n sources?: WebSearchActionSearchSources[];\n}\n\nexport function webSearchActionSearchSerializer(item: WebSearchActionSearch): any {\n return {\n type: item[\"type\"],\n query: item[\"query\"],\n queries: !item[\"queries\"]\n ? item[\"queries\"]\n : item[\"queries\"].map((p: any) => {\n return p;\n }),\n sources: !item[\"sources\"]\n ? item[\"sources\"]\n : webSearchActionSearchSourcesArraySerializer(item[\"sources\"]),\n };\n}\n\nexport function webSearchActionSearchSourcesArraySerializer(\n result: Array<WebSearchActionSearchSources>,\n): any[] {\n return result.map((item) => {\n return webSearchActionSearchSourcesSerializer(item);\n });\n}\n\n/** model interface WebSearchActionSearchSources */\nexport interface WebSearchActionSearchSources {\n type: \"url\";\n url: string;\n}\n\nexport function webSearchActionSearchSourcesSerializer(item: WebSearchActionSearchSources): any {\n return { type: item[\"type\"], url: item[\"url\"] };\n}\n\n/** Action type \"open_page\" - Opens a specific URL from search results. */\nexport interface WebSearchActionOpenPage {\n /** The action type. */\n type: \"open_page\";\n /** The URL opened by the model. */\n url: string;\n}\n\nexport function webSearchActionOpenPageSerializer(item: WebSearchActionOpenPage): any {\n return { type: item[\"type\"], url: item[\"url\"] };\n}\n\n/** Action type \"find\": Searches for a pattern within a loaded page. */\nexport interface WebSearchActionFind {\n /** The action type. */\n type: \"find_in_page\";\n /** The URL of the page searched for the pattern. */\n url: string;\n /** The pattern or text to search for within the page. */\n pattern: string;\n}\n\nexport function webSearchActionFindSerializer(item: WebSearchActionFind): any {\n return { type: item[\"type\"], url: item[\"url\"], pattern: item[\"pattern\"] };\n}\n\n/**\n * A tool call to run a function. See the\n * [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information.\n */\nexport interface InputItemFunctionToolCall extends InputItem {\n /** The unique ID of the function tool call. */\n id?: string;\n /** The type of the function tool call. Always `function_call`. */\n type: \"function_call\";\n /** The unique ID of the function tool call generated by the model. */\n call_id: string;\n /** The name of the function to run. */\n name: string;\n /** A JSON string of the arguments to pass to the function. */\n arguments: string;\n /**\n * The status of the item. One of `in_progress`, `completed`, or\n * `incomplete`. Populated when items are returned via API.\n */\n status?: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemFunctionToolCallSerializer(item: InputItemFunctionToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n status: item[\"status\"],\n };\n}\n\n/** The output of a function tool call. */\nexport interface InputItemFunctionCallOutputItemParam extends InputItem {\n id?: string;\n /** The unique ID of the function tool call generated by the model. */\n call_id: string;\n /** The type of the function tool call output. Always `function_call_output`. */\n type: \"function_call_output\";\n /** Text, image, or file output of the function tool call. */\n output:\n | string\n | (InputTextContentParam | InputImageContentParamAutoParam | InputFileContentParam)[];\n status?: FunctionCallItemStatus;\n}\n\nexport function inputItemFunctionCallOutputItemParamSerializer(\n item: InputItemFunctionCallOutputItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n output: _itemFunctionCallOutputItemParamOutputSerializer(item[\"output\"]),\n status: item[\"status\"],\n };\n}\n\n/** Alias for _ItemFunctionCallOutputItemParamOutput */\nexport type _ItemFunctionCallOutputItemParamOutput =\n | string\n | (InputTextContentParam | InputImageContentParamAutoParam | InputFileContentParam)[];\n\nexport function _itemFunctionCallOutputItemParamOutputSerializer(\n item: _ItemFunctionCallOutputItemParamOutput,\n): any {\n return item;\n}\n\nexport function _itemFunctionCallOutputItemParamOutput1ArraySerializer(\n result: Array<_ItemFunctionCallOutputItemParamOutput1>,\n): any[] {\n return result.map((item) => {\n return _itemFunctionCallOutputItemParamOutput1Serializer(item);\n });\n}\n\n/** Alias for _ItemFunctionCallOutputItemParamOutput1 */\nexport type _ItemFunctionCallOutputItemParamOutput1 =\n | InputTextContentParam\n | InputImageContentParamAutoParam\n | InputFileContentParam;\n\nexport function _itemFunctionCallOutputItemParamOutput1Serializer(\n item: _ItemFunctionCallOutputItemParamOutput1,\n): any {\n return item;\n}\n\n/** A text input to the model. */\nexport interface InputTextContentParam {\n /** The type of the input item. Always `input_text`. */\n type: \"input_text\";\n /** The text input to the model. */\n text: string;\n}\n\nexport function inputTextContentParamSerializer(item: InputTextContentParam): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) */\nexport interface InputImageContentParamAutoParam {\n /** The type of the input item. Always `input_image`. */\n type: \"input_image\";\n image_url?: string;\n file_id?: string;\n detail?: DetailEnum;\n}\n\nexport function inputImageContentParamAutoParamSerializer(\n item: InputImageContentParamAutoParam,\n): any {\n return {\n type: item[\"type\"],\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n detail: item[\"detail\"],\n };\n}\n\n/** Type of DetailEnum */\nexport type DetailEnum = \"low\" | \"high\" | \"auto\";\n\n/** A file input to the model. */\nexport interface InputFileContentParam {\n /** The type of the input item. Always `input_file`. */\n type: \"input_file\";\n file_id?: string;\n filename?: string;\n file_data?: string;\n file_url?: string;\n}\n\nexport function inputFileContentParamSerializer(item: InputFileContentParam): any {\n return {\n type: item[\"type\"],\n file_id: item[\"file_id\"],\n filename: item[\"filename\"],\n file_data: item[\"file_data\"],\n file_url: item[\"file_url\"],\n };\n}\n\n/**\n * A description of the chain of thought used by a reasoning model while generating\n * a response. Be sure to include these items in your `input` to the Responses API\n * for subsequent turns of a conversation if you are manually\n * [managing context](https://platform.openai.com/docs/guides/conversation-state).\n */\nexport interface InputItemReasoningItem extends InputItem {\n /** The type of the object. Always `reasoning`. */\n type: \"reasoning\";\n /** The unique identifier of the reasoning content. */\n id: string;\n encrypted_content?: string;\n /** Reasoning summary content. */\n summary: Summary[];\n /** Reasoning text content. */\n content?: ReasoningTextContent[];\n /**\n * The status of the item. One of `in_progress`, `completed`, or\n * `incomplete`. Populated when items are returned via API.\n */\n status?: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemReasoningItemSerializer(item: InputItemReasoningItem): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n encrypted_content: item[\"encrypted_content\"],\n summary: summaryArraySerializer(item[\"summary\"]),\n content: !item[\"content\"]\n ? item[\"content\"]\n : reasoningTextContentArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\nexport function summaryArraySerializer(result: Array<Summary>): any[] {\n return result.map((item) => {\n return summarySerializer(item);\n });\n}\n\n/** A summary text from the model. */\nexport interface Summary {\n /** The type of the object. Always `summary_text`. */\n type: \"summary_text\";\n /** A summary of the reasoning output from the model so far. */\n text: string;\n}\n\nexport function summarySerializer(item: Summary): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\nexport function reasoningTextContentArraySerializer(result: Array<ReasoningTextContent>): any[] {\n return result.map((item) => {\n return reasoningTextContentSerializer(item);\n });\n}\n\n/** Reasoning text from the model. */\nexport interface ReasoningTextContent {\n /** The type of the reasoning text. Always `reasoning_text`. */\n type: \"reasoning_text\";\n /** The reasoning text from the model. */\n text: string;\n}\n\nexport function reasoningTextContentSerializer(item: ReasoningTextContent): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). */\nexport interface InputItemCompactionSummaryItemParam extends InputItem {\n id?: string;\n /** The type of the item. Always `compaction`. */\n type: \"compaction\";\n /** The encrypted content of the compaction summary. */\n encrypted_content: string;\n}\n\nexport function inputItemCompactionSummaryItemParamSerializer(\n item: InputItemCompactionSummaryItemParam,\n): any {\n return { type: item[\"type\"], id: item[\"id\"], encrypted_content: item[\"encrypted_content\"] };\n}\n\n/** An image generation request made by the model. */\nexport interface InputItemImageGenToolCall extends InputItem {\n /** The type of the image generation call. Always `image_generation_call`. */\n type: \"image_generation_call\";\n /** The unique ID of the image generation call. */\n id: string;\n /** The status of the image generation call. */\n status: \"in_progress\" | \"completed\" | \"generating\" | \"failed\";\n result: string;\n}\n\nexport function inputItemImageGenToolCallSerializer(item: InputItemImageGenToolCall): any {\n return { type: item[\"type\"], id: item[\"id\"], status: item[\"status\"], result: item[\"result\"] };\n}\n\n/** A tool call to run code. */\nexport interface InputItemCodeInterpreterToolCall extends InputItem {\n /** The type of the code interpreter tool call. Always `code_interpreter_call`. */\n type: \"code_interpreter_call\";\n /** The unique ID of the code interpreter tool call. */\n id: string;\n /** The status of the code interpreter tool call. Valid values are `in_progress`, `completed`, `incomplete`, `interpreting`, and `failed`. */\n status: \"in_progress\" | \"completed\" | \"incomplete\" | \"interpreting\" | \"failed\";\n /** The ID of the container used to run the code. */\n container_id: string;\n code: string;\n outputs: (CodeInterpreterOutputLogs | CodeInterpreterOutputImage)[];\n}\n\nexport function inputItemCodeInterpreterToolCallSerializer(\n item: InputItemCodeInterpreterToolCall,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n status: item[\"status\"],\n container_id: item[\"container_id\"],\n code: item[\"code\"],\n outputs: !item[\"outputs\"]\n ? item[\"outputs\"]\n : _outputItemCodeInterpreterToolCallOutputArraySerializer(item[\"outputs\"]),\n };\n}\n\nexport function _outputItemCodeInterpreterToolCallOutputArraySerializer(\n result: Array<_OutputItemCodeInterpreterToolCallOutput>,\n): any[] {\n return result.map((item) => {\n return _outputItemCodeInterpreterToolCallOutputSerializer(item);\n });\n}\n\n/** Alias for _OutputItemCodeInterpreterToolCallOutput */\nexport type _OutputItemCodeInterpreterToolCallOutput =\n | CodeInterpreterOutputLogs\n | CodeInterpreterOutputImage;\n\nexport function _outputItemCodeInterpreterToolCallOutputSerializer(\n item: _OutputItemCodeInterpreterToolCallOutput,\n): any {\n return item;\n}\n\n/** The logs output from the code interpreter. */\nexport interface CodeInterpreterOutputLogs {\n /** The type of the output. Always `logs`. */\n type: \"logs\";\n /** The logs output from the code interpreter. */\n logs: string;\n}\n\nexport function codeInterpreterOutputLogsSerializer(item: CodeInterpreterOutputLogs): any {\n return { type: item[\"type\"], logs: item[\"logs\"] };\n}\n\n/** The image output from the code interpreter. */\nexport interface CodeInterpreterOutputImage {\n /** The type of the output. Always `image`. */\n type: \"image\";\n /** The URL of the image output from the code interpreter. */\n url: string;\n}\n\nexport function codeInterpreterOutputImageSerializer(item: CodeInterpreterOutputImage): any {\n return { type: item[\"type\"], url: item[\"url\"] };\n}\n\n/** A tool call to run a command on the local shell. */\nexport interface InputItemLocalShellToolCall extends InputItem {\n /** The type of the local shell call. Always `local_shell_call`. */\n type: \"local_shell_call\";\n /** The unique ID of the local shell call. */\n id: string;\n /** The unique ID of the local shell tool call generated by the model. */\n call_id: string;\n action: LocalShellExecAction;\n /** The status of the local shell call. */\n status: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemLocalShellToolCallSerializer(item: InputItemLocalShellToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n action: localShellExecActionSerializer(item[\"action\"]),\n status: item[\"status\"],\n };\n}\n\n/** Execute a shell command on the server. */\nexport interface LocalShellExecAction {\n /** The type of the local shell action. Always `exec`. */\n type: \"exec\";\n /** The command to run. */\n command: string[];\n timeout_ms?: number;\n working_directory?: string;\n /** Environment variables to set for the command. */\n env: Record<string, string>;\n user?: string;\n}\n\nexport function localShellExecActionSerializer(item: LocalShellExecAction): any {\n return {\n type: item[\"type\"],\n command: item[\"command\"].map((p: any) => {\n return p;\n }),\n timeout_ms: item[\"timeout_ms\"],\n working_directory: item[\"working_directory\"],\n env: item[\"env\"],\n user: item[\"user\"],\n };\n}\n\n/** The output of a local shell tool call. */\nexport interface InputItemLocalShellToolCallOutput extends InputItem {\n /** The type of the local shell tool call output. Always `local_shell_call_output`. */\n type: \"local_shell_call_output\";\n /** The unique ID of the local shell tool call generated by the model. */\n id: string;\n /** A JSON string of the output of the local shell tool call. */\n output: string;\n status?: \"in_progress\" | \"completed\" | \"incomplete\";\n}\n\nexport function inputItemLocalShellToolCallOutputSerializer(\n item: InputItemLocalShellToolCallOutput,\n): any {\n return { type: item[\"type\"], id: item[\"id\"], output: item[\"output\"], status: item[\"status\"] };\n}\n\n/** A tool representing a request to execute one or more shell commands. */\nexport interface InputItemFunctionShellCallItemParam extends InputItem {\n id?: string;\n /** The unique ID of the shell tool call generated by the model. */\n call_id: string;\n /** The type of the item. Always `shell_call`. */\n type: \"shell_call\";\n /** The shell commands and limits that describe how to run the tool call. */\n action: FunctionShellActionParam;\n status?: FunctionShellCallItemStatus;\n}\n\nexport function inputItemFunctionShellCallItemParamSerializer(\n item: InputItemFunctionShellCallItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n action: functionShellActionParamSerializer(item[\"action\"]),\n status: item[\"status\"],\n };\n}\n\n/** Commands and limits describing how to run the shell tool call. */\nexport interface FunctionShellActionParam {\n /** Ordered shell commands for the execution environment to run. */\n commands: string[];\n timeout_ms?: number;\n max_output_length?: number;\n}\n\nexport function functionShellActionParamSerializer(item: FunctionShellActionParam): any {\n return {\n commands: item[\"commands\"].map((p: any) => {\n return p;\n }),\n timeout_ms: item[\"timeout_ms\"],\n max_output_length: item[\"max_output_length\"],\n };\n}\n\n/** Status values reported for shell tool calls. */\nexport type FunctionShellCallItemStatus = \"in_progress\" | \"completed\" | \"incomplete\";\n\n/** The streamed output items emitted by a shell tool call. */\nexport interface InputItemFunctionShellCallOutputItemParam extends InputItem {\n id?: string;\n /** The unique ID of the shell tool call generated by the model. */\n call_id: string;\n /** The type of the item. Always `shell_call_output`. */\n type: \"shell_call_output\";\n /** Captured chunks of stdout and stderr output, along with their associated outcomes. */\n output: FunctionShellCallOutputContentParam[];\n max_output_length?: number;\n}\n\nexport function inputItemFunctionShellCallOutputItemParamSerializer(\n item: InputItemFunctionShellCallOutputItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n output: functionShellCallOutputContentParamArraySerializer(item[\"output\"]),\n max_output_length: item[\"max_output_length\"],\n };\n}\n\nexport function functionShellCallOutputContentParamArraySerializer(\n result: Array<FunctionShellCallOutputContentParam>,\n): any[] {\n return result.map((item) => {\n return functionShellCallOutputContentParamSerializer(item);\n });\n}\n\n/** Captured stdout and stderr for a portion of a shell tool call output. */\nexport interface FunctionShellCallOutputContentParam {\n /** Captured stdout output for the shell call. */\n stdout: string;\n /** Captured stderr output for the shell call. */\n stderr: string;\n /** The exit or timeout outcome associated with this shell call. */\n outcome: FunctionShellCallOutputOutcomeParamUnion;\n}\n\nexport function functionShellCallOutputContentParamSerializer(\n item: FunctionShellCallOutputContentParam,\n): any {\n return {\n stdout: item[\"stdout\"],\n stderr: item[\"stderr\"],\n outcome: functionShellCallOutputOutcomeParamUnionSerializer(item[\"outcome\"]),\n };\n}\n\n/** The exit or timeout outcome associated with this shell call. */\nexport interface FunctionShellCallOutputOutcomeParam {\n type: FunctionShellCallOutputOutcomeParamType;\n}\n\nexport function functionShellCallOutputOutcomeParamSerializer(\n item: FunctionShellCallOutputOutcomeParam,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for FunctionShellCallOutputOutcomeParamUnion */\nexport type FunctionShellCallOutputOutcomeParamUnion =\n | FunctionShellCallOutputTimeoutOutcomeParam\n | FunctionShellCallOutputExitOutcomeParam\n | FunctionShellCallOutputOutcomeParam;\n\nexport function functionShellCallOutputOutcomeParamUnionSerializer(\n item: FunctionShellCallOutputOutcomeParamUnion,\n): any {\n switch (item.type) {\n case \"timeout\":\n return functionShellCallOutputTimeoutOutcomeParamSerializer(\n item as FunctionShellCallOutputTimeoutOutcomeParam,\n );\n\n case \"exit\":\n return functionShellCallOutputExitOutcomeParamSerializer(\n item as FunctionShellCallOutputExitOutcomeParam,\n );\n\n default:\n return functionShellCallOutputOutcomeParamSerializer(item);\n }\n}\n\n/** Type of FunctionShellCallOutputOutcomeParamType */\nexport type FunctionShellCallOutputOutcomeParamType = \"timeout\" | \"exit\";\n\n/** Indicates that the shell call exceeded its configured time limit. */\nexport interface FunctionShellCallOutputTimeoutOutcomeParam extends FunctionShellCallOutputOutcomeParam {\n /** The outcome type. Always `timeout`. */\n type: \"timeout\";\n}\n\nexport function functionShellCallOutputTimeoutOutcomeParamSerializer(\n item: FunctionShellCallOutputTimeoutOutcomeParam,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** Indicates that the shell commands finished and returned an exit code. */\nexport interface FunctionShellCallOutputExitOutcomeParam extends FunctionShellCallOutputOutcomeParam {\n /** The outcome type. Always `exit`. */\n type: \"exit\";\n /** The exit code returned by the shell process. */\n exit_code: number;\n}\n\nexport function functionShellCallOutputExitOutcomeParamSerializer(\n item: FunctionShellCallOutputExitOutcomeParam,\n): any {\n return { type: item[\"type\"], exit_code: item[\"exit_code\"] };\n}\n\n/** A tool call representing a request to create, delete, or update files using diff patches. */\nexport interface InputItemApplyPatchToolCallItemParam extends InputItem {\n /** The type of the item. Always `apply_patch_call`. */\n type: \"apply_patch_call\";\n id?: string;\n /** The unique ID of the apply patch tool call generated by the model. */\n call_id: string;\n /** The status of the apply patch tool call. One of `in_progress` or `completed`. */\n status: ApplyPatchCallStatusParam;\n /** The specific create, delete, or update instruction for the apply_patch tool call. */\n operation: ApplyPatchOperationParamUnion;\n}\n\nexport function inputItemApplyPatchToolCallItemParamSerializer(\n item: InputItemApplyPatchToolCallItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n status: item[\"status\"],\n operation: applyPatchOperationParamUnionSerializer(item[\"operation\"]),\n };\n}\n\n/** Status values reported for apply_patch tool calls. */\nexport type ApplyPatchCallStatusParam = \"in_progress\" | \"completed\";\n\n/** One of the create_file, delete_file, or update_file operations supplied to the apply_patch tool. */\nexport interface ApplyPatchOperationParam {\n type: ApplyPatchOperationParamType;\n}\n\nexport function applyPatchOperationParamSerializer(item: ApplyPatchOperationParam): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for ApplyPatchOperationParamUnion */\nexport type ApplyPatchOperationParamUnion =\n | ApplyPatchCreateFileOperationParam\n | ApplyPatchDeleteFileOperationParam\n | ApplyPatchUpdateFileOperationParam\n | ApplyPatchOperationParam;\n\nexport function applyPatchOperationParamUnionSerializer(item: ApplyPatchOperationParamUnion): any {\n switch (item.type) {\n case \"create_file\":\n return applyPatchCreateFileOperationParamSerializer(\n item as ApplyPatchCreateFileOperationParam,\n );\n\n case \"delete_file\":\n return applyPatchDeleteFileOperationParamSerializer(\n item as ApplyPatchDeleteFileOperationParam,\n );\n\n case \"update_file\":\n return applyPatchUpdateFileOperationParamSerializer(\n item as ApplyPatchUpdateFileOperationParam,\n );\n\n default:\n return applyPatchOperationParamSerializer(item);\n }\n}\n\n/** Type of ApplyPatchOperationParamType */\nexport type ApplyPatchOperationParamType = \"create_file\" | \"delete_file\" | \"update_file\";\n\n/** Instruction for creating a new file via the apply_patch tool. */\nexport interface ApplyPatchCreateFileOperationParam extends ApplyPatchOperationParam {\n /** The operation type. Always `create_file`. */\n type: \"create_file\";\n /** Path of the file to create relative to the workspace root. */\n path: string;\n /** Unified diff content to apply when creating the file. */\n diff: string;\n}\n\nexport function applyPatchCreateFileOperationParamSerializer(\n item: ApplyPatchCreateFileOperationParam,\n): any {\n return { type: item[\"type\"], path: item[\"path\"], diff: item[\"diff\"] };\n}\n\n/** Instruction for deleting an existing file via the apply_patch tool. */\nexport interface ApplyPatchDeleteFileOperationParam extends ApplyPatchOperationParam {\n /** The operation type. Always `delete_file`. */\n type: \"delete_file\";\n /** Path of the file to delete relative to the workspace root. */\n path: string;\n}\n\nexport function applyPatchDeleteFileOperationParamSerializer(\n item: ApplyPatchDeleteFileOperationParam,\n): any {\n return { type: item[\"type\"], path: item[\"path\"] };\n}\n\n/** Instruction for updating an existing file via the apply_patch tool. */\nexport interface ApplyPatchUpdateFileOperationParam extends ApplyPatchOperationParam {\n /** The operation type. Always `update_file`. */\n type: \"update_file\";\n /** Path of the file to update relative to the workspace root. */\n path: string;\n /** Unified diff content to apply to the existing file. */\n diff: string;\n}\n\nexport function applyPatchUpdateFileOperationParamSerializer(\n item: ApplyPatchUpdateFileOperationParam,\n): any {\n return { type: item[\"type\"], path: item[\"path\"], diff: item[\"diff\"] };\n}\n\n/** The streamed output emitted by an apply patch tool call. */\nexport interface InputItemApplyPatchToolCallOutputItemParam extends InputItem {\n /** The type of the item. Always `apply_patch_call_output`. */\n type: \"apply_patch_call_output\";\n id?: string;\n /** The unique ID of the apply patch tool call generated by the model. */\n call_id: string;\n /** The status of the apply patch tool call output. One of `completed` or `failed`. */\n status: ApplyPatchCallOutputStatusParam;\n output?: string;\n}\n\nexport function inputItemApplyPatchToolCallOutputItemParamSerializer(\n item: InputItemApplyPatchToolCallOutputItemParam,\n): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n status: item[\"status\"],\n output: item[\"output\"],\n };\n}\n\n/** Outcome values reported for apply_patch tool call outputs. */\nexport type ApplyPatchCallOutputStatusParam = \"completed\" | \"failed\";\n\n/** A list of tools available on an MCP server. */\nexport interface InputItemMcpListTools extends InputItem {\n /** The type of the item. Always `mcp_list_tools`. */\n type: \"mcp_list_tools\";\n /** The unique ID of the list. */\n id: string;\n /** The label of the MCP server. */\n server_label: string;\n /** The tools available on the server. */\n tools: MCPListToolsTool[];\n error?: string;\n}\n\nexport function inputItemMcpListToolsSerializer(item: InputItemMcpListTools): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n server_label: item[\"server_label\"],\n tools: mcpListToolsToolArraySerializer(item[\"tools\"]),\n error: item[\"error\"],\n };\n}\n\nexport function mcpListToolsToolArraySerializer(result: Array<MCPListToolsTool>): any[] {\n return result.map((item) => {\n return mcpListToolsToolSerializer(item);\n });\n}\n\n/** A tool available on an MCP server. */\nexport interface MCPListToolsTool {\n /** The name of the tool. */\n name: string;\n description?: string;\n /** The JSON schema describing the tool's input. */\n input_schema: MCPListToolsToolInputSchema;\n annotations?: MCPListToolsToolAnnotations;\n}\n\nexport function mcpListToolsToolSerializer(item: MCPListToolsTool): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n input_schema: mcpListToolsToolInputSchemaSerializer(item[\"input_schema\"]),\n annotations: !item[\"annotations\"]\n ? item[\"annotations\"]\n : mcpListToolsToolAnnotationsSerializer(item[\"annotations\"]),\n };\n}\n\n/** model interface MCPListToolsToolInputSchema */\nexport interface MCPListToolsToolInputSchema {}\n\nexport function mcpListToolsToolInputSchemaSerializer(item: MCPListToolsToolInputSchema): any {\n return item;\n}\n\n/** model interface MCPListToolsToolAnnotations */\nexport interface MCPListToolsToolAnnotations {}\n\nexport function mcpListToolsToolAnnotationsSerializer(item: MCPListToolsToolAnnotations): any {\n return item;\n}\n\n/** A request for human approval of a tool invocation. */\nexport interface InputItemMcpApprovalRequest extends InputItem {\n /** The type of the item. Always `mcp_approval_request`. */\n type: \"mcp_approval_request\";\n /** The unique ID of the approval request. */\n id: string;\n /** The label of the MCP server making the request. */\n server_label: string;\n /** The name of the tool to run. */\n name: string;\n /** A JSON string of arguments for the tool. */\n arguments: string;\n}\n\nexport function inputItemMcpApprovalRequestSerializer(item: InputItemMcpApprovalRequest): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/** A response to an MCP approval request. */\nexport interface InputItemMcpApprovalResponse extends InputItem {\n /** The type of the item. Always `mcp_approval_response`. */\n type: \"mcp_approval_response\";\n id?: string;\n /** The ID of the approval request being answered. */\n approval_request_id: string;\n /** Whether the request was approved. */\n approve: boolean;\n reason?: string;\n}\n\nexport function inputItemMcpApprovalResponseSerializer(item: InputItemMcpApprovalResponse): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n approval_request_id: item[\"approval_request_id\"],\n approve: item[\"approve\"],\n reason: item[\"reason\"],\n };\n}\n\n/** An invocation of a tool on an MCP server. */\nexport interface InputItemMcpToolCall extends InputItem {\n /** The type of the item. Always `mcp_call`. */\n type: \"mcp_call\";\n /** The unique ID of the tool call. */\n id: string;\n /** The label of the MCP server running the tool. */\n server_label: string;\n /** The name of the tool that was run. */\n name: string;\n /** A JSON string of the arguments passed to the tool. */\n arguments: string;\n output?: string;\n error?: string;\n /** The status of the tool call. One of `in_progress`, `completed`, `incomplete`, `calling`, or `failed`. */\n status?: MCPToolCallStatus;\n approval_request_id?: string;\n}\n\nexport function inputItemMcpToolCallSerializer(item: InputItemMcpToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n error: item[\"error\"],\n status: item[\"status\"],\n approval_request_id: item[\"approval_request_id\"],\n };\n}\n\n/** Type of MCPToolCallStatus */\nexport type MCPToolCallStatus = \"in_progress\" | \"completed\" | \"incomplete\" | \"calling\" | \"failed\";\n\n/** The output of a custom tool call from your code, being sent back to the model. */\nexport interface InputItemCustomToolCallOutput extends InputItem {\n /** The type of the custom tool call output. Always `custom_tool_call_output`. */\n type: \"custom_tool_call_output\";\n /** The unique ID of the custom tool call output in the OpenAI platform. */\n id?: string;\n /** The call ID, used to map this custom tool call output to a custom tool call. */\n call_id: string;\n /**\n * The output from the custom tool call generated by your code.\n * Can be a string or an list of output content.\n */\n output: string | FunctionAndCustomToolCallOutputUnion[];\n}\n\nexport function inputItemCustomToolCallOutputSerializer(item: InputItemCustomToolCallOutput): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n output: _itemCustomToolCallOutputOutputSerializer(item[\"output\"]),\n };\n}\n\n/** Alias for _ItemCustomToolCallOutputOutput */\nexport type _ItemCustomToolCallOutputOutput = string | FunctionAndCustomToolCallOutputUnion[];\n\nexport function _itemCustomToolCallOutputOutputSerializer(\n item: _ItemCustomToolCallOutputOutput,\n): any {\n return item;\n}\n\nexport function functionAndCustomToolCallOutputUnionArraySerializer(\n result: Array<FunctionAndCustomToolCallOutputUnion>,\n): any[] {\n return result.map((item) => {\n return functionAndCustomToolCallOutputUnionSerializer(item);\n });\n}\n\n/** model interface FunctionAndCustomToolCallOutput */\nexport interface FunctionAndCustomToolCallOutput {\n type: FunctionAndCustomToolCallOutputType;\n}\n\nexport function functionAndCustomToolCallOutputSerializer(\n item: FunctionAndCustomToolCallOutput,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for FunctionAndCustomToolCallOutputUnion */\nexport type FunctionAndCustomToolCallOutputUnion =\n | FunctionAndCustomToolCallOutputInputTextContent\n | FunctionAndCustomToolCallOutputInputImageContent\n | FunctionAndCustomToolCallOutputInputFileContent\n | FunctionAndCustomToolCallOutput;\n\nexport function functionAndCustomToolCallOutputUnionSerializer(\n item: FunctionAndCustomToolCallOutputUnion,\n): any {\n switch (item.type) {\n case \"input_text\":\n return functionAndCustomToolCallOutputInputTextContentSerializer(\n item as FunctionAndCustomToolCallOutputInputTextContent,\n );\n\n case \"input_image\":\n return functionAndCustomToolCallOutputInputImageContentSerializer(\n item as FunctionAndCustomToolCallOutputInputImageContent,\n );\n\n case \"input_file\":\n return functionAndCustomToolCallOutputInputFileContentSerializer(\n item as FunctionAndCustomToolCallOutputInputFileContent,\n );\n\n default:\n return functionAndCustomToolCallOutputSerializer(item);\n }\n}\n\n/** Type of FunctionAndCustomToolCallOutputType */\nexport type FunctionAndCustomToolCallOutputType = \"input_text\" | \"input_image\" | \"input_file\";\n\n/** A text input to the model. */\nexport interface FunctionAndCustomToolCallOutputInputTextContent extends FunctionAndCustomToolCallOutput {\n /** The type of the input item. Always `input_text`. */\n type: \"input_text\";\n /** The text input to the model. */\n text: string;\n}\n\nexport function functionAndCustomToolCallOutputInputTextContentSerializer(\n item: FunctionAndCustomToolCallOutputInputTextContent,\n): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */\nexport interface FunctionAndCustomToolCallOutputInputImageContent extends FunctionAndCustomToolCallOutput {\n /** The type of the input item. Always `input_image`. */\n type: \"input_image\";\n image_url?: string;\n file_id?: string;\n /** The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`. */\n detail: ImageDetail;\n}\n\nexport function functionAndCustomToolCallOutputInputImageContentSerializer(\n item: FunctionAndCustomToolCallOutputInputImageContent,\n): any {\n return {\n type: item[\"type\"],\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n detail: item[\"detail\"],\n };\n}\n\n/** A file input to the model. */\nexport interface FunctionAndCustomToolCallOutputInputFileContent extends FunctionAndCustomToolCallOutput {\n /** The type of the input item. Always `input_file`. */\n type: \"input_file\";\n file_id?: string;\n /** The name of the file to be sent to the model. */\n filename?: string;\n /** The URL of the file to be sent to the model. */\n file_url?: string;\n /** The content of the file to be sent to the model. */\n file_data?: string;\n}\n\nexport function functionAndCustomToolCallOutputInputFileContentSerializer(\n item: FunctionAndCustomToolCallOutputInputFileContent,\n): any {\n return {\n type: item[\"type\"],\n file_id: item[\"file_id\"],\n filename: item[\"filename\"],\n file_url: item[\"file_url\"],\n file_data: item[\"file_data\"],\n };\n}\n\n/** A call to a custom tool created by the model. */\nexport interface InputItemCustomToolCall extends InputItem {\n /** The type of the custom tool call. Always `custom_tool_call`. */\n type: \"custom_tool_call\";\n /** The unique ID of the custom tool call in the OpenAI platform. */\n id?: string;\n /** An identifier used to map this custom tool call to a tool call output. */\n call_id: string;\n /** The name of the custom tool being called. */\n name: string;\n /** The input for the custom tool call generated by the model. */\n input: string;\n}\n\nexport function inputItemCustomToolCallSerializer(item: InputItemCustomToolCall): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"call_id\"],\n name: item[\"name\"],\n input: item[\"input\"],\n };\n}\n\nexport function inputItemUnionArraySerializer(result: Array<InputItemUnion>): any[] {\n return result.map((item) => {\n return inputItemUnionSerializer(item);\n });\n}\n\n/** Memory search response. */\nexport interface MemoryStoreSearchResponse {\n /** The unique ID of this search request. Use this value as previous_search_id in subsequent requests to perform incremental searches. */\n search_id: string;\n /** Related memory items found during the search operation. */\n memories: MemorySearchItem[];\n /** Usage statistics associated with the memory search operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreSearchResponseDeserializer(item: any): MemoryStoreSearchResponse {\n return {\n search_id: item[\"search_id\"],\n memories: memorySearchItemArrayDeserializer(item[\"memories\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memorySearchItemArrayDeserializer(result: Array<MemorySearchItem>): any[] {\n return result.map((item) => {\n return memorySearchItemDeserializer(item);\n });\n}\n\n/** A retrieved memory item from memory search. */\nexport interface MemorySearchItem {\n /** Retrieved memory item. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memorySearchItemDeserializer(item: any): MemorySearchItem {\n return {\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** A single memory item stored in the memory store, containing content and metadata. */\nexport interface MemoryItem {\n /** The unique ID of the memory item. */\n memory_id: string;\n /** The last update time of the memory item. */\n updated_at: Date;\n /** The namespace that logically groups and isolates memories, such as a user ID. */\n scope: string;\n /** The content of the memory. */\n content: string;\n /** The kind of the memory item. */\n /** The discriminator possible values: user_profile, chat_summary */\n kind: MemoryItemKind;\n}\n\nexport function memoryItemDeserializer(item: any): MemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryItemUnion */\nexport type MemoryItemUnion = UserProfileMemoryItem | ChatSummaryMemoryItem | MemoryItem;\n\nexport function memoryItemUnionDeserializer(item: any): MemoryItemUnion {\n switch (item.kind) {\n case \"user_profile\":\n return userProfileMemoryItemDeserializer(item as UserProfileMemoryItem);\n\n case \"chat_summary\":\n return chatSummaryMemoryItemDeserializer(item as ChatSummaryMemoryItem);\n\n default:\n return memoryItemDeserializer(item);\n }\n}\n\n/** Memory item kind. */\nexport type MemoryItemKind = \"user_profile\" | \"chat_summary\";\n\n/** A memory item specifically containing user profile information extracted from conversations, such as preferences, interests, and personal details. */\nexport interface UserProfileMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"user_profile\";\n}\n\nexport function userProfileMemoryItemDeserializer(item: any): UserProfileMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** A memory item containing a summary extracted from conversations. */\nexport interface ChatSummaryMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"chat_summary\";\n}\n\nexport function chatSummaryMemoryItemDeserializer(item: any): ChatSummaryMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Usage statistics of a memory store operation. */\nexport interface MemoryStoreOperationUsage {\n /** The number of embedding tokens. */\n embedding_tokens: number;\n /** The number of input tokens. */\n input_tokens: number;\n /** A detailed breakdown of the input tokens. */\n input_tokens_details: ResponseUsageInputTokensDetails;\n /** The number of output tokens. */\n output_tokens: number;\n /** A detailed breakdown of the output tokens. */\n output_tokens_details: ResponseUsageOutputTokensDetails;\n /** The total number of tokens used. */\n total_tokens: number;\n}\n\nexport function memoryStoreOperationUsageDeserializer(item: any): MemoryStoreOperationUsage {\n return {\n embedding_tokens: item[\"embedding_tokens\"],\n input_tokens: item[\"input_tokens\"],\n input_tokens_details: responseUsageInputTokensDetailsDeserializer(item[\"input_tokens_details\"]),\n output_tokens: item[\"output_tokens\"],\n output_tokens_details: responseUsageOutputTokensDetailsDeserializer(\n item[\"output_tokens_details\"],\n ),\n total_tokens: item[\"total_tokens\"],\n };\n}\n\n/** model interface ResponseUsageInputTokensDetails */\nexport interface ResponseUsageInputTokensDetails {\n cached_tokens: number;\n}\n\nexport function responseUsageInputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageInputTokensDetails {\n return {\n cached_tokens: item[\"cached_tokens\"],\n };\n}\n\n/** model interface ResponseUsageOutputTokensDetails */\nexport interface ResponseUsageOutputTokensDetails {\n reasoning_tokens: number;\n}\n\nexport function responseUsageOutputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageOutputTokensDetails {\n return {\n reasoning_tokens: item[\"reasoning_tokens\"],\n };\n}\n\n/** Provides the status of a memory store update operation. */\nexport interface MemoryStoreUpdateResponse {\n /** The unique ID of this update request. Use this value as previous_update_id in subsequent requests to perform incremental updates. */\n update_id: string;\n /** The status of the memory update operation. One of \"queued\", \"in_progress\", \"completed\", \"failed\", or \"superseded\". */\n status: MemoryStoreUpdateStatus;\n /** The update_id the operation was superseded by when status is \"superseded\". */\n superseded_by?: string;\n /** The result of memory store update operation when status is \"completed\". */\n result?: MemoryStoreUpdateCompletedResult;\n /** Error object that describes the error when status is \"failed\". */\n error?: ErrorModel;\n}\n\nexport function memoryStoreUpdateResponseDeserializer(item: any): MemoryStoreUpdateResponse {\n return {\n update_id: item[\"update_id\"],\n status: item[\"status\"],\n superseded_by: item[\"superseded_by\"],\n result: !item[\"result\"]\n ? item[\"result\"]\n : memoryStoreUpdateCompletedResultDeserializer(item[\"result\"]),\n error: !item[\"error\"] ? item[\"error\"] : errorDeserializer(item[\"error\"]),\n };\n}\n\n/** Status of a memory store update operation. */\nexport type MemoryStoreUpdateStatus =\n | \"queued\"\n | \"in_progress\"\n | \"completed\"\n | \"failed\"\n | \"superseded\";\n\n/** Memory update result. */\nexport interface MemoryStoreUpdateCompletedResult {\n /** A list of individual memory operations that were performed during the update. */\n memory_operations: MemoryOperation[];\n /** Usage statistics associated with the memory update operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreUpdateCompletedResultDeserializer(\n item: any,\n): MemoryStoreUpdateCompletedResult {\n return {\n memory_operations: memoryOperationArrayDeserializer(item[\"memory_operations\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memoryOperationArrayDeserializer(result: Array<MemoryOperation>): any[] {\n return result.map((item) => {\n return memoryOperationDeserializer(item);\n });\n}\n\n/** Represents a single memory operation (create, update, or delete) performed on a memory item. */\nexport interface MemoryOperation {\n /** The type of memory operation being performed. */\n kind: MemoryOperationKind;\n /** The memory item to create, update, or delete. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memoryOperationDeserializer(item: any): MemoryOperation {\n return {\n kind: item[\"kind\"],\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** Memory operation kind. */\nexport type MemoryOperationKind = \"create\" | \"update\" | \"delete\";\n\n/** Response for deleting memories from a scope. */\nexport interface MemoryStoreDeleteScopeResponse {\n /** The object type. Always 'memory_store.scope.deleted'. */\n object: \"memory_store.scope.deleted\";\n /** The name of the memory store. */\n name: string;\n /** The scope from which memories were deleted. */\n scope: string;\n /** Whether the deletion operation was successful. */\n deleted: boolean;\n}\n\nexport function memoryStoreDeleteScopeResponseDeserializer(\n item: any,\n): MemoryStoreDeleteScopeResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n scope: item[\"scope\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Red team details. */\nexport interface RedTeam {\n /** Identifier of the red team run. */\n readonly name: string;\n /** Name of the red-team run. */\n displayName?: string;\n /** Number of simulation rounds. */\n numTurns?: number;\n /** List of attack strategies or nested lists of attack strategies. */\n attackStrategies?: AttackStrategy[];\n /** Simulation-only or Simulation + Evaluation. Default false, if true the scan outputs conversation not evaluation result. */\n simulationOnly?: boolean;\n /** List of risk categories to generate attack objectives for. */\n riskCategories?: RiskCategory[];\n /** Application scenario for the red team operation, to generate scenario specific attacks. */\n applicationScenario?: string;\n /** Red team's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Red team's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** Status of the red-team. It is set by service and is read-only. */\n readonly status?: string;\n /** Target configuration for the red-team run. */\n target: TargetConfigUnion;\n}\n\nexport function redTeamSerializer(item: RedTeam): any {\n return {\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: !item[\"attackStrategies\"]\n ? item[\"attackStrategies\"]\n : item[\"attackStrategies\"].map((p: any) => {\n return p;\n }),\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: !item[\"riskCategories\"]\n ? item[\"riskCategories\"]\n : item[\"riskCategories\"].map((p: any) => {\n return p;\n }),\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n target: targetConfigUnionSerializer(item[\"target\"]),\n };\n}\n\nexport function redTeamDeserializer(item: any): RedTeam {\n return {\n name: item[\"id\"],\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: !item[\"attackStrategies\"]\n ? item[\"attackStrategies\"]\n : item[\"attackStrategies\"].map((p: any) => {\n return p;\n }),\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: !item[\"riskCategories\"]\n ? item[\"riskCategories\"]\n : item[\"riskCategories\"].map((p: any) => {\n return p;\n }),\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n status: item[\"status\"],\n target: targetConfigUnionDeserializer(item[\"target\"]),\n };\n}\n\n/** Strategies for attacks. */\nexport type AttackStrategy =\n | \"easy\"\n | \"moderate\"\n | \"difficult\"\n | \"ascii_art\"\n | \"ascii_smuggler\"\n | \"atbash\"\n | \"base64\"\n | \"binary\"\n | \"caesar\"\n | \"character_space\"\n | \"jailbreak\"\n | \"ansi_attack\"\n | \"character_swap\"\n | \"suffix_append\"\n | \"string_join\"\n | \"unicode_confusable\"\n | \"unicode_substitution\"\n | \"diacritic\"\n | \"flip\"\n | \"leetspeak\"\n | \"rot13\"\n | \"morse\"\n | \"url\"\n | \"baseline\"\n | \"indirect_jailbreak\"\n | \"tense\"\n | \"multi_turn\"\n | \"crescendo\";\n\n/** Abstract class for target configuration. */\nexport interface TargetConfig {\n /** Type of the model configuration. */\n /** The discriminator possible values: AzureOpenAIModel */\n type: string;\n}\n\nexport function targetConfigSerializer(item: TargetConfig): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetConfigDeserializer(item: any): TargetConfig {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetConfigUnion */\nexport type TargetConfigUnion = AzureOpenAIModelConfiguration | TargetConfig;\n\nexport function targetConfigUnionSerializer(item: TargetConfigUnion): any {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationSerializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigSerializer(item);\n }\n}\n\nexport function targetConfigUnionDeserializer(item: any): TargetConfigUnion {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationDeserializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigDeserializer(item);\n }\n}\n\n/** Azure OpenAI model configuration. The API version would be selected by the service for querying the model. */\nexport interface AzureOpenAIModelConfiguration extends TargetConfig {\n type: \"AzureOpenAIModel\";\n /** Deployment name for AOAI model. Example: gpt-4o if in AIServices or connection based `connection_name/deployment_name` (e.g. `my-aoai-connection/gpt-4o`). */\n modelDeploymentName: string;\n}\n\nexport function azureOpenAIModelConfigurationSerializer(item: AzureOpenAIModelConfiguration): any {\n return { type: item[\"type\"], modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function azureOpenAIModelConfigurationDeserializer(\n item: any,\n): AzureOpenAIModelConfiguration {\n return {\n type: item[\"type\"],\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Paged collection of RedTeam items */\nexport interface _PagedRedTeam {\n /** The RedTeam items on this page */\n value: RedTeam[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedRedTeamDeserializer(item: any): _PagedRedTeam {\n return {\n value: redTeamArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function redTeamArraySerializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamSerializer(item);\n });\n}\n\nexport function redTeamArrayDeserializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamDeserializer(item);\n });\n}\n\n/** Schedule model. */\nexport interface Schedule {\n /** Identifier of the schedule. */\n readonly id?: string;\n /** Name of the schedule. */\n displayName?: string;\n /** Description of the schedule. */\n description?: string;\n /** Enabled status of the schedule. */\n enabled: boolean;\n /** Provisioning status of the schedule. */\n readonly provisioningStatus?: ScheduleProvisioningStatus;\n /** Trigger for the schedule. */\n trigger: TriggerUnion;\n /** Task for the schedule. */\n task: ScheduleTaskUnion;\n /** Schedule's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Schedule's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** System metadata for the resource. */\n readonly systemData?: Record<string, string>;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n trigger: triggerUnionSerializer(item[\"trigger\"]),\n task: scheduleTaskUnionSerializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n provisioningStatus: item[\"provisioningStatus\"],\n trigger: triggerUnionDeserializer(item[\"trigger\"]),\n task: scheduleTaskUnionDeserializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Schedule provisioning status. */\nexport type ScheduleProvisioningStatus =\n | \"Creating\"\n | \"Updating\"\n | \"Deleting\"\n | \"Succeeded\"\n | \"Failed\";\n\n/** Base model for Trigger of the schedule. */\nexport interface Trigger {\n /** Type of the trigger. */\n /** The discriminator possible values: Cron, Recurrence, OneTime */\n type: TriggerType;\n}\n\nexport function triggerSerializer(item: Trigger): any {\n return { type: item[\"type\"] };\n}\n\nexport function triggerDeserializer(item: any): Trigger {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TriggerUnion */\nexport type TriggerUnion = CronTrigger | RecurrenceTrigger | OneTimeTrigger | Trigger;\n\nexport function triggerUnionSerializer(item: TriggerUnion): any {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerSerializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerSerializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerSerializer(item as OneTimeTrigger);\n\n default:\n return triggerSerializer(item);\n }\n}\n\nexport function triggerUnionDeserializer(item: any): TriggerUnion {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerDeserializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerDeserializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerDeserializer(item as OneTimeTrigger);\n\n default:\n return triggerDeserializer(item);\n }\n}\n\n/** Type of the trigger. */\nexport type TriggerType = \"Cron\" | \"Recurrence\" | \"OneTime\";\n\n/** Cron based trigger. */\nexport interface CronTrigger extends Trigger {\n type: \"Cron\";\n /** Cron expression that defines the schedule frequency. */\n expression: string;\n /** Time zone for the cron schedule. */\n timeZone?: string;\n /** Start time for the cron schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the cron schedule in ISO 8601 format. */\n endTime?: string;\n}\n\nexport function cronTriggerSerializer(item: CronTrigger): any {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\nexport function cronTriggerDeserializer(item: any): CronTrigger {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\n/** Recurrence based trigger. */\nexport interface RecurrenceTrigger extends Trigger {\n /** Type of the trigger. */\n type: \"Recurrence\";\n /** Start time for the recurrence schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the recurrence schedule in ISO 8601 format. */\n endTime?: string;\n /** Time zone for the recurrence schedule. */\n timeZone?: string;\n /** Interval for the recurrence schedule. */\n interval: number;\n /** Recurrence schedule for the recurrence trigger. */\n schedule: RecurrenceScheduleUnion;\n}\n\nexport function recurrenceTriggerSerializer(item: RecurrenceTrigger): any {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionSerializer(item[\"schedule\"]),\n };\n}\n\nexport function recurrenceTriggerDeserializer(item: any): RecurrenceTrigger {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionDeserializer(item[\"schedule\"]),\n };\n}\n\n/** Recurrence schedule model. */\nexport interface RecurrenceSchedule {\n /** Recurrence type for the recurrence schedule. */\n /** The discriminator possible values: Hourly, Daily, Weekly, Monthly */\n type: RecurrenceType;\n}\n\nexport function recurrenceScheduleSerializer(item: RecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function recurrenceScheduleDeserializer(item: any): RecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RecurrenceScheduleUnion */\nexport type RecurrenceScheduleUnion =\n | HourlyRecurrenceSchedule\n | DailyRecurrenceSchedule\n | WeeklyRecurrenceSchedule\n | MonthlyRecurrenceSchedule\n | RecurrenceSchedule;\n\nexport function recurrenceScheduleUnionSerializer(item: RecurrenceScheduleUnion): any {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleSerializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleSerializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleSerializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleSerializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleSerializer(item);\n }\n}\n\nexport function recurrenceScheduleUnionDeserializer(item: any): RecurrenceScheduleUnion {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleDeserializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleDeserializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleDeserializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleDeserializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleDeserializer(item);\n }\n}\n\n/** Recurrence type. */\nexport type RecurrenceType = \"Hourly\" | \"Daily\" | \"Weekly\" | \"Monthly\";\n\n/** Hourly recurrence schedule. */\nexport interface HourlyRecurrenceSchedule extends RecurrenceSchedule {\n type: \"Hourly\";\n}\n\nexport function hourlyRecurrenceScheduleSerializer(item: HourlyRecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function hourlyRecurrenceScheduleDeserializer(item: any): HourlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Daily recurrence schedule. */\nexport interface DailyRecurrenceSchedule extends RecurrenceSchedule {\n /** Daily recurrence type. */\n type: \"Daily\";\n /** Hours for the recurrence schedule. */\n hours: number[];\n}\n\nexport function dailyRecurrenceScheduleSerializer(item: DailyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function dailyRecurrenceScheduleDeserializer(item: any): DailyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Weekly recurrence schedule. */\nexport interface WeeklyRecurrenceSchedule extends RecurrenceSchedule {\n /** Weekly recurrence type. */\n type: \"Weekly\";\n /** Days of the week for the recurrence schedule. */\n daysOfWeek: DayOfWeek[];\n}\n\nexport function weeklyRecurrenceScheduleSerializer(item: WeeklyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function weeklyRecurrenceScheduleDeserializer(item: any): WeeklyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Days of the week for recurrence schedule. */\nexport type DayOfWeek =\n | \"Sunday\"\n | \"Monday\"\n | \"Tuesday\"\n | \"Wednesday\"\n | \"Thursday\"\n | \"Friday\"\n | \"Saturday\";\n\n/** Monthly recurrence schedule. */\nexport interface MonthlyRecurrenceSchedule extends RecurrenceSchedule {\n /** Monthly recurrence type. */\n type: \"Monthly\";\n /** Days of the month for the recurrence schedule. */\n daysOfMonth: number[];\n}\n\nexport function monthlyRecurrenceScheduleSerializer(item: MonthlyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function monthlyRecurrenceScheduleDeserializer(item: any): MonthlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** One-time trigger. */\nexport interface OneTimeTrigger extends Trigger {\n type: \"OneTime\";\n /** Date and time for the one-time trigger in ISO 8601 format. */\n triggerAt: string;\n /** Time zone for the one-time trigger. */\n timeZone?: string;\n}\n\nexport function oneTimeTriggerSerializer(item: OneTimeTrigger): any {\n return { type: item[\"type\"], triggerAt: item[\"triggerAt\"], timeZone: item[\"timeZone\"] };\n}\n\nexport function oneTimeTriggerDeserializer(item: any): OneTimeTrigger {\n return {\n type: item[\"type\"],\n triggerAt: item[\"triggerAt\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\n/** Schedule task model. */\nexport interface ScheduleTask {\n /** Type of the task. */\n /** The discriminator possible values: Evaluation, Insight */\n type: ScheduleTaskType;\n /** Configuration for the task. */\n configuration?: Record<string, string>;\n}\n\nexport function scheduleTaskSerializer(item: ScheduleTask): any {\n return { type: item[\"type\"], configuration: item[\"configuration\"] };\n}\n\nexport function scheduleTaskDeserializer(item: any): ScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n };\n}\n\n/** Alias for ScheduleTaskUnion */\nexport type ScheduleTaskUnion = EvaluationScheduleTask | InsightScheduleTask | ScheduleTask;\n\nexport function scheduleTaskUnionSerializer(item: ScheduleTaskUnion): any {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskSerializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskSerializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskSerializer(item);\n }\n}\n\nexport function scheduleTaskUnionDeserializer(item: any): ScheduleTaskUnion {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskDeserializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskDeserializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskDeserializer(item);\n }\n}\n\n/** Type of the task. */\nexport type ScheduleTaskType = \"Evaluation\" | \"Insight\";\n\n/** Evaluation task for the schedule. */\nexport interface EvaluationScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Evaluation'. */\n type: \"Evaluation\";\n /** Identifier of the evaluation group. */\n evalId: string;\n /** The evaluation run payload. */\n evalRun: Record<string, any>;\n}\n\nexport function evaluationScheduleTaskSerializer(item: EvaluationScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunSerializer(item[\"evalRun\"]),\n };\n}\n\nexport function evaluationScheduleTaskDeserializer(item: any): EvaluationScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunDeserializer(item[\"evalRun\"]),\n };\n}\n\n/** model interface _EvaluationScheduleTaskEvalRun */\nexport interface _EvaluationScheduleTaskEvalRun {}\n\nexport function _evaluationScheduleTaskEvalRunSerializer(\n item: _EvaluationScheduleTaskEvalRun,\n): any {\n return item;\n}\n\nexport function _evaluationScheduleTaskEvalRunDeserializer(\n item: any,\n): _EvaluationScheduleTaskEvalRun {\n return item;\n}\n\n/** Insight task for the schedule. */\nexport interface InsightScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Insight'. */\n type: \"Insight\";\n /** The insight payload. */\n insight: Insight;\n}\n\nexport function insightScheduleTaskSerializer(item: InsightScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightSerializer(item[\"insight\"]),\n };\n}\n\nexport function insightScheduleTaskDeserializer(item: any): InsightScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightDeserializer(item[\"insight\"]),\n };\n}\n\n/** Paged collection of Schedule items */\nexport interface _PagedSchedule {\n /** The Schedule items on this page */\n value: Schedule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleDeserializer(item: any): _PagedSchedule {\n return {\n value: scheduleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleArraySerializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleSerializer(item);\n });\n}\n\nexport function scheduleArrayDeserializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleDeserializer(item);\n });\n}\n\n/** Schedule run model. */\nexport interface ScheduleRun {\n /** Identifier of the schedule run. */\n readonly runId: string;\n /** Identifier of the schedule. */\n scheduleId: string;\n /** Trigger success status of the schedule run. */\n readonly success: boolean;\n /** Trigger time of the schedule run. */\n triggerTime?: string;\n /** Error information for the schedule run. */\n readonly error?: string;\n /** Properties of the schedule run. */\n readonly properties: Record<string, string>;\n}\n\nexport function scheduleRunDeserializer(item: any): ScheduleRun {\n return {\n runId: item[\"id\"],\n scheduleId: item[\"scheduleId\"],\n success: item[\"success\"],\n triggerTime: item[\"triggerTime\"],\n error: item[\"error\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of ScheduleRun items */\nexport interface _PagedScheduleRun {\n /** The ScheduleRun items on this page */\n value: ScheduleRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleRunDeserializer(item: any): _PagedScheduleRun {\n return {\n value: scheduleRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleRunArrayDeserializer(result: Array<ScheduleRun>): any[] {\n return result.map((item) => {\n return scheduleRunDeserializer(item);\n });\n}\n\n/** Type of AgentType */\nexport type AgentType =\n | \"agent\"\n | \"agent.version\"\n | \"agent.deleted\"\n | \"agent.version.deleted\"\n | \"agent.container\";\n/** Type of FoundryFeaturesOptInKeys */\nexport type FoundryFeaturesOptInKeys =\n | \"ContainerAgents=V1Preview\"\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\"\n | \"Evaluations=V1Preview\"\n | \"Schedules=V1Preview\"\n | \"RedTeams=V1Preview\"\n | \"Insights=V1Preview\"\n | \"MemoryStores=V1Preview\";\n/** Type of PageOrder */\nexport type PageOrder = \"asc\" | \"desc\";\n/** The type of pending upload. */\nexport type PendingUploadType = \"None\" | \"BlobReference\";\n/** Type of MemoryStoreType */\nexport type MemoryStoreType =\n | \"memory_store\"\n | \"memory_store.deleted\"\n | \"memory_store.scope.deleted\";\n\n/** Microsoft Foundry API versions */\nexport enum KnownApiVersions {\n /** Microsoft Foundry API version v1. */\n v1 = \"v1\",\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/ai/ai-projects/src/models/models.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { serializeRecord } from \"../static-helpers/serialization/serialize-record.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable tsdoc/syntax */\n\n/** model interface Agent */\nexport interface Agent {\n /** The object type, which is always 'agent'. */\n object: \"agent\";\n /** The unique identifier of the agent. */\n id: string;\n /** The name of the agent. */\n name: string;\n /** The latest version of the agent. */\n versions: {\n latest: AgentVersion;\n };\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n versions: _agentVersionsDeserializer(item[\"versions\"]),\n };\n}\n\n/**\n * Helper interface for agent version references.\n */\nexport interface _AgentVersions {\n latest: AgentVersion;\n}\n\nexport function _agentVersionsDeserializer(item: any): _AgentVersions {\n return {\n latest: agentVersionDeserializer(item[\"latest\"]),\n };\n}\n\n/**\n * Represents a specific version of an agent.\n * Includes metadata, versioning, creation time, and agent definition.\n */\nexport interface AgentVersion {\n /**\n * Set of 16 key-value pairs that can be attached to an object. This can be\n * useful for storing additional information about the object in a structured\n * format, and querying for objects via API or the dashboard.\n *\n * Keys are strings with a maximum length of 64 characters. Values are strings\n * with a maximum length of 512 characters.\n */\n metadata: Record<string, string>;\n /** The object type, which is always 'agent.version'. */\n object: \"agent.version\";\n /** The unique identifier of the agent version. */\n id: string;\n /** The name of the agent. Name can be used to retrieve/update/delete the agent. */\n name: string;\n /** The version identifier of the agent. Agents are immutable and every update creates a new version while keeping the name same. */\n version: string;\n /** A human-readable description of the agent. */\n description?: string;\n /** The Unix timestamp (seconds) when the agent was created. */\n created_at: Date;\n /** The definition of the agent. */\n definition: AgentDefinitionUnion;\n}\n\nexport function agentVersionDeserializer(item: any): AgentVersion {\n return {\n metadata: item[\"metadata\"],\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n definition: agentDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/**\n * Base definition interface for agents.\n * Contains the agent kind and optional RAI configuration.\n */\nexport interface AgentDefinition {\n /** The kind of agent. */\n kind: AgentKind;\n /** Configuration for Responsible AI (RAI) content filtering and safety features. */\n rai_config?: RaiConfig;\n}\n\nexport function agentDefinitionSerializer(item: AgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n };\n}\n\nexport function agentDefinitionDeserializer(item: any): AgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n };\n}\n\n/**\n * Union type for all agent definition types.\n * Supports workflow, hosted, container app, and prompt agents.\n */\nexport type AgentDefinitionUnion =\n | PromptAgentDefinition\n | WorkflowAgentDefinition\n | HostedAgentDefinition\n | AgentDefinition;\n\nexport function agentDefinitionUnionSerializer(item: AgentDefinitionUnion): any {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionSerializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionSerializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionSerializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionSerializer(item);\n }\n}\n\nexport function agentDefinitionUnionDeserializer(item: any): AgentDefinitionUnion {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionDeserializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionDeserializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionDeserializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionDeserializer(item);\n }\n}\n\n/**\n * Defines the type/kind of agent.\n * Determines which agent definition structure is used.\n */\nexport type AgentKind = \"prompt\" | \"hosted\" | \"workflow\";\n\n/** Configuration for Responsible AI (RAI) content filtering and safety features. */\nexport interface RaiConfig {\n /** The name of the RAI policy to apply. */\n rai_policy_name: string;\n}\n\nexport function raiConfigSerializer(item: RaiConfig): any {\n return { rai_policy_name: item[\"rai_policy_name\"] };\n}\n\nexport function raiConfigDeserializer(item: any): RaiConfig {\n return {\n rai_policy_name: item[\"rai_policy_name\"],\n };\n}\n\n/** The prompt agent definition */\nexport interface PromptAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'prompt'. */\n kind: \"prompt\";\n /** The model deployment to use for this agent. */\n model: string;\n /** A system (or developer) message inserted into the model's context. */\n instructions?: string;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\n * We generally recommend altering this or `top_p` but not both.\n */\n temperature?: number;\n /**\n * An alternative to sampling with temperature, called nucleus sampling,\n * where the model considers the results of the tokens with top_p probability\n * mass. So 0.1 means only the tokens comprising the top 10% probability mass\n * are considered.\n *\n * We generally recommend altering this or `temperature` but not both.\n */\n top_p?: number;\n /** The reasoning configuration for the prompt agent. */\n reasoning?: Reasoning;\n /**\n * An array of tools the model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /**\n * How the model should select which tool (or tools) to use when generating a response.\n * See the `tools` parameter to see how to specify which tools the model can call.\n */\n tool_choice?: string | ToolChoiceParamUnion;\n /** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\n text?: PromptAgentDefinitionTextOptions;\n /** Set of structured inputs that can participate in prompt template substitution or tool argument bindings. */\n structured_inputs?: Record<string, StructuredInputDefinition>;\n}\n\nexport function promptAgentDefinitionSerializer(item: PromptAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningSerializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceSerializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsSerializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordSerializer(item[\"structured_inputs\"]),\n };\n}\n\nexport function promptAgentDefinitionDeserializer(item: any): PromptAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningDeserializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceDeserializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsDeserializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordDeserializer(item[\"structured_inputs\"]),\n };\n}\n\n/**\n * **gpt-5 and o-series models only**\n * Configuration options for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n */\nexport interface Reasoning {\n /** The reasoning effort level. */\n effort?: ReasoningEffort;\n /** The reasoning summary text. */\n summary?: \"auto\" | \"concise\" | \"detailed\";\n /** Whether to generate a summary of the reasoning process. */\n generate_summary?: \"auto\" | \"concise\" | \"detailed\";\n}\n\nexport function reasoningSerializer(item: Reasoning): any {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\nexport function reasoningDeserializer(item: any): Reasoning {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\n/**\n * Constrains effort on reasoning for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n * Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing\n * reasoning effort can result in faster responses and fewer tokens used\n * on reasoning in a response.\n * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1.\n * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`.\n * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.\n * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.\n */\nexport type ReasoningEffort = \"none\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\nexport function toolUnionArraySerializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionSerializer(item);\n });\n}\n\nexport function toolUnionArrayDeserializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionDeserializer(item);\n });\n}\n\n/** A tool that can be used to generate a response. */\nexport interface Tool {\n /** The tool type identifier. */\n type: ToolType;\n}\n\nexport function toolSerializer(item: Tool): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDeserializer(item: any): Tool {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolUnion */\nexport type ToolUnion =\n | BingGroundingTool\n | MicrosoftFabricPreviewTool\n | SharepointPreviewTool\n | AzureAISearchTool\n | OpenApiTool\n | BingCustomSearchPreviewTool\n | BrowserAutomationPreviewTool\n | AzureFunctionTool\n | CaptureStructuredOutputsTool\n | A2APreviewTool\n | MemorySearchPreviewTool\n | CodeInterpreterTool\n | FunctionTool\n | FileSearchTool\n | ComputerUsePreviewTool\n | WebSearchTool\n | MCPTool\n | ImageGenTool\n | LocalShellToolParam\n | FunctionShellToolParam\n | CustomToolParam\n | WebSearchPreviewTool\n | ApplyPatchToolParam\n | Tool;\n\nexport function toolUnionSerializer(item: ToolUnion): any {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolSerializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolSerializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolSerializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolSerializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolSerializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolSerializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolSerializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolSerializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolSerializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolSerializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolSerializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolSerializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolSerializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolSerializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolSerializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolSerializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolSerializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolSerializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamSerializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamSerializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamSerializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolSerializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamSerializer(item as ApplyPatchToolParam);\n\n default:\n return toolSerializer(item);\n }\n}\n\nexport function toolUnionDeserializer(item: any): ToolUnion {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolDeserializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolDeserializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolDeserializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolDeserializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolDeserializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolDeserializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolDeserializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolDeserializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolDeserializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolDeserializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolDeserializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolDeserializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolDeserializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolDeserializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolDeserializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolDeserializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolDeserializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolDeserializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamDeserializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamDeserializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamDeserializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolDeserializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamDeserializer(item as ApplyPatchToolParam);\n\n default:\n return toolDeserializer(item);\n }\n}\n\n/** Type of ToolType */\nexport type ToolType =\n | \"function\"\n | \"file_search\"\n | \"computer_use_preview\"\n | \"web_search\"\n | \"mcp\"\n | \"code_interpreter\"\n | \"image_generation\"\n | \"local_shell\"\n | \"shell\"\n | \"custom\"\n | \"web_search_preview\"\n | \"apply_patch\"\n | \"a2a_preview\"\n | \"bing_custom_search_preview\"\n | \"browser_automation_preview\"\n | \"fabric_dataagent_preview\"\n | \"sharepoint_grounding_preview\"\n | \"memory_search_preview\"\n | \"azure_ai_search\"\n | \"azure_function\"\n | \"bing_grounding\"\n | \"capture_structured_outputs\"\n | \"openapi\";\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingTool extends Tool {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bing_grounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolSerializer(item: BingGroundingTool): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bing_grounding\"]),\n };\n}\n\nexport function bingGroundingToolDeserializer(item: any): BingGroundingTool {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersDeserializer(item[\"bing_grounding\"]),\n };\n}\n\n/** The bing grounding search tool parameters. */\nexport interface BingGroundingSearchToolParameters {\n /**\n * The search configurations attached to this tool. There can be a maximum of 1\n * search configuration resource attached to the tool.\n */\n search_configurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n return {\n search_configurations: bingGroundingSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchConfigurationArraySerializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingGroundingSearchConfigurationArrayDeserializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n set_lang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. See [accepted values here](https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters). */\n freshness?: string;\n}\n\nexport function bingGroundingSearchConfigurationSerializer(\n item: BingGroundingSearchConfiguration,\n): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Microsoft Fabric tool as used to configure an agent. */\nexport interface MicrosoftFabricPreviewTool extends Tool {\n /** The object type, which is always 'fabric_dataagent_preview'. */\n type: \"fabric_dataagent_preview\";\n /** The fabric data agent tool parameters. */\n fabric_dataagent_preview: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricPreviewToolSerializer(item: MicrosoftFabricPreviewTool): any {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersSerializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\nexport function microsoftFabricPreviewToolDeserializer(item: any): MicrosoftFabricPreviewTool {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersDeserializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\nexport function toolProjectConnectionArraySerializer(result: Array<ToolProjectConnection>): any[] {\n return result.map((item) => {\n return toolProjectConnectionSerializer(item);\n });\n}\n\nexport function toolProjectConnectionArrayDeserializer(\n result: Array<ToolProjectConnection>,\n): any[] {\n return result.map((item) => {\n return toolProjectConnectionDeserializer(item);\n });\n}\n\n/** A project connection resource. */\nexport interface ToolProjectConnection {\n /** A project connection in a ToolProjectConnectionList attached to this tool. */\n project_connection_id: string;\n}\n\nexport function toolProjectConnectionSerializer(item: ToolProjectConnection): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function toolProjectConnectionDeserializer(item: any): ToolProjectConnection {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointPreviewTool extends Tool {\n /** The object type, which is always 'sharepoint_grounding_preview'. */\n type: \"sharepoint_grounding_preview\";\n /** The sharepoint grounding tool parameters. */\n sharepoint_grounding_preview: SharepointGroundingToolParameters;\n}\n\nexport function sharepointPreviewToolSerializer(item: SharepointPreviewTool): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersSerializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\nexport function sharepointPreviewToolDeserializer(item: any): SharepointPreviewTool {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchTool extends Tool {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** The azure ai search index resource. */\n azure_ai_search: AzureAISearchToolResource;\n}\n\nexport function azureAISearchToolSerializer(item: AzureAISearchTool): any {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceSerializer(item[\"azure_ai_search\"]),\n };\n}\n\nexport function azureAISearchToolDeserializer(item: any): AzureAISearchTool {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\n };\n}\n\n/** A set of index resources used by the `azure_ai_search` tool. */\nexport interface AzureAISearchToolResource {\n /**\n * The indices attached to this agent. There can be a maximum of 1 index\n * resource attached to the agent.\n */\n indexes: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return { indexes: aiSearchIndexResourceArraySerializer(item[\"indexes\"]) };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexes: aiSearchIndexResourceArrayDeserializer(item[\"indexes\"]),\n };\n}\n\nexport function aiSearchIndexResourceArraySerializer(result: Array<AISearchIndexResource>): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceSerializer(item);\n });\n}\n\nexport function aiSearchIndexResourceArrayDeserializer(\n result: Array<AISearchIndexResource>,\n): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceDeserializer(item);\n });\n}\n\n/** A AI Search Index resource. */\nexport interface AISearchIndexResource {\n /** An index connection ID in an IndexResource attached to this agent. */\n project_connection_id?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n index_name?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n query_type?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n top_k?: number;\n /** filter string for search resource. [Learn more here](https://learn.microsoft.com/azure/search/search-filters). */\n filter?: string;\n /** Index asset id for search resource. */\n index_asset_id?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\n/** Available query types for Azure AI Search tool. */\nexport type AzureAISearchQueryType =\n | \"simple\"\n | \"semantic\"\n | \"vector\"\n | \"vector_simple_hybrid\"\n | \"vector_semantic_hybrid\";\n\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiTool extends Tool {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolSerializer(item: OpenApiTool): any {\n return { type: item[\"type\"], openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]) };\n}\n\nexport function openApiToolDeserializer(item: any): OpenApiTool {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionDeserializer(item[\"openapi\"]),\n };\n}\n\n/** The input definition information for an openapi function. */\nexport interface OpenApiFunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The openapi function shape, described as a JSON Schema object. */\n spec: unknown;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n default_params?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n }[];\n}\n\nexport function openApiFunctionDefinitionSerializer(item: OpenApiFunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionSerializer(item[\"auth\"]),\n default_params: item[\"default_params\"],\n };\n}\n\nexport function openApiFunctionDefinitionDeserializer(item: any): OpenApiFunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionDeserializer(item[\"auth\"]),\n default_params: !item[\"default_params\"]\n ? item[\"default_params\"]\n : item[\"default_params\"].map((p: any) => {\n return p;\n }),\n functions: !item[\"functions\"]\n ? item[\"functions\"]\n : _openApiFunctionDefinitionFunctionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/project_connection/managed_identity */\n /** The discriminator possible values: anonymous, project_connection, managed_identity */\n type: OpenApiAuthType;\n}\n\nexport function openApiAuthDetailsSerializer(item: OpenApiAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAuthDetailsDeserializer(item: any): OpenApiAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for OpenApiAuthDetailsUnion */\nexport type OpenApiAuthDetailsUnion =\n | OpenApiAnonymousAuthDetails\n | OpenApiProjectConnectionAuthDetails\n | OpenApiManagedAuthDetails\n | OpenApiAuthDetails;\n\nexport function openApiAuthDetailsUnionSerializer(item: OpenApiAuthDetailsUnion): any {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsSerializer(item as OpenApiAnonymousAuthDetails);\n\n case \"project_connection\":\n return openApiProjectConnectionAuthDetailsSerializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsSerializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsSerializer(item);\n }\n}\n\nexport function openApiAuthDetailsUnionDeserializer(item: any): OpenApiAuthDetailsUnion {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsDeserializer(item as OpenApiAnonymousAuthDetails);\n\n case \"project_connection\":\n return openApiProjectConnectionAuthDetailsDeserializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsDeserializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsDeserializer(item);\n }\n}\n\n/**\n * Authentication type for OpenApi endpoint. Allowed types are:\n * - Anonymous (no authentication required)\n * - Project Connection (requires project_connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"project_connection\" | \"managed_identity\";\n\n/** Security details for OpenApi anonymous authentication */\nexport interface OpenApiAnonymousAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'anonymous'. */\n type: \"anonymous\";\n}\n\nexport function openApiAnonymousAuthDetailsSerializer(item: OpenApiAnonymousAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAnonymousAuthDetailsDeserializer(item: any): OpenApiAnonymousAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Security details for OpenApi project connection authentication */\nexport interface OpenApiProjectConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'project_connection'. */\n type: \"project_connection\";\n /** Project connection auth security details */\n security_scheme: OpenApiProjectConnectionSecurityScheme;\n}\n\nexport function openApiProjectConnectionAuthDetailsSerializer(\n item: OpenApiProjectConnectionAuthDetails,\n): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiProjectConnectionAuthDetailsDeserializer(\n item: any,\n): OpenApiProjectConnectionAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiProjectConnectionSecurityScheme {\n /** Project connection id for Project Connection auth type */\n project_connection_id: string;\n}\n\nexport function openApiProjectConnectionSecuritySchemeSerializer(\n item: OpenApiProjectConnectionSecurityScheme,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function openApiProjectConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiProjectConnectionSecurityScheme {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Security details for OpenApi managed_identity authentication */\nexport interface OpenApiManagedAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'managed_identity'. */\n type: \"managed_identity\";\n /** Connection auth security details */\n security_scheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiManagedSecurityScheme {\n /** Authentication scope for managed_identity auth type */\n audience: string;\n}\n\nexport function openApiManagedSecuritySchemeSerializer(item: OpenApiManagedSecurityScheme): any {\n return { audience: item[\"audience\"] };\n}\n\nexport function openApiManagedSecuritySchemeDeserializer(item: any): OpenApiManagedSecurityScheme {\n return {\n audience: item[\"audience\"],\n };\n}\n\nexport function _openApiFunctionDefinitionFunctionArrayDeserializer(\n result: Array<_OpenApiFunctionDefinitionFunction>,\n): any[] {\n return result.map((item) => {\n return _openApiFunctionDefinitionFunctionDeserializer(item);\n });\n}\n\n/** model interface _OpenApiFunctionDefinitionFunction */\nexport interface _OpenApiFunctionDefinitionFunction {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: Record<string, unknown>;\n}\n\nexport function _openApiFunctionDefinitionFunctionDeserializer(\n item: any,\n): _OpenApiFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\n/** The input definition information for a Bing custom search tool as used to configure an agent. */\nexport interface BingCustomSearchPreviewTool extends Tool {\n /** The object type, which is always 'bing_custom_search_preview'. */\n type: \"bing_custom_search_preview\";\n /** The bing custom search tool parameters. */\n bing_custom_search_preview: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchPreviewToolSerializer(item: BingCustomSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersSerializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\nexport function bingCustomSearchPreviewToolDeserializer(item: any): BingCustomSearchPreviewTool {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersDeserializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n search_configurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n search_configurations: bingCustomSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchConfigurationArraySerializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingCustomSearchConfigurationArrayDeserializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationDeserializer(item);\n });\n}\n\n/** A bing custom search configuration. */\nexport interface BingCustomSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n set_lang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. See [accepted values here](https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters). */\n freshness?: string;\n}\n\nexport function bingCustomSearchConfigurationSerializer(item: BingCustomSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationPreviewTool extends Tool {\n /** The object type, which is always 'browser_automation_preview'. */\n type: \"browser_automation_preview\";\n /** The Browser Automation Tool parameters. */\n browser_automation_preview: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationPreviewToolSerializer(item: BrowserAutomationPreviewTool): any {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersSerializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\nexport function browserAutomationPreviewToolDeserializer(item: any): BrowserAutomationPreviewTool {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersDeserializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The project connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return { connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]) };\n}\n\nexport function browserAutomationToolParametersDeserializer(\n item: any,\n): BrowserAutomationToolParameters {\n return {\n connection: browserAutomationToolConnectionParametersDeserializer(item[\"connection\"]),\n };\n}\n\n/** Definition of input parameters for the connection used by the Browser Automation Tool. */\nexport interface BrowserAutomationToolConnectionParameters {\n /** The ID of the project connection to your Azure Playwright resource. */\n project_connection_id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for an Azure Function Tool, as used to configure an Agent. */\nexport interface AzureFunctionTool extends Tool {\n /** The object type, which is always 'browser_automation'. */\n type: \"azure_function\";\n /** The Azure Function Tool definition. */\n azure_function: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolSerializer(item: AzureFunctionTool): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azure_function\"]),\n };\n}\n\nexport function azureFunctionToolDeserializer(item: any): AzureFunctionTool {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** The definition of Azure function. */\nexport interface AzureFunctionDefinition {\n /** The definition of azure function and its parameters. */\n function: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n };\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n input_binding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n output_binding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: _azureFunctionDefinitionFunctionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"output_binding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: _azureFunctionDefinitionFunctionDeserializer(item[\"function\"]),\n input_binding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** model interface _AzureFunctionDefinitionFunction */\nexport interface _AzureFunctionDefinitionFunction {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: Record<string, unknown>;\n}\n\nexport function _azureFunctionDefinitionFunctionSerializer(\n item: _AzureFunctionDefinitionFunction,\n): any {\n return { name: item[\"name\"], description: item[\"description\"], parameters: item[\"parameters\"] };\n}\n\nexport function _azureFunctionDefinitionFunctionDeserializer(\n item: any,\n): _AzureFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionBinding {\n /** The type of binding, which is always 'storage_queue'. */\n type: \"storage_queue\";\n /** Storage queue. */\n storage_queue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storage_queue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueDeserializer(item[\"storage_queue\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionStorageQueue {\n /** URI to the Azure Storage Queue service allowing you to manipulate a queue. */\n queue_service_endpoint: string;\n /** The name of an Azure function storage queue. */\n queue_name: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return { queue_service_endpoint: item[\"queue_service_endpoint\"], queue_name: item[\"queue_name\"] };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n queue_service_endpoint: item[\"queue_service_endpoint\"],\n queue_name: item[\"queue_name\"],\n };\n}\n\n/** A tool for capturing structured outputs */\nexport interface CaptureStructuredOutputsTool extends Tool {\n /** The type of the tool. Always `capture_structured_outputs`. */\n type: \"capture_structured_outputs\";\n /** The structured outputs to capture from the model. */\n outputs: StructuredOutputDefinition;\n}\n\nexport function captureStructuredOutputsToolSerializer(item: CaptureStructuredOutputsTool): any {\n return { type: item[\"type\"], outputs: structuredOutputDefinitionSerializer(item[\"outputs\"]) };\n}\n\nexport function captureStructuredOutputsToolDeserializer(item: any): CaptureStructuredOutputsTool {\n return {\n type: item[\"type\"],\n outputs: structuredOutputDefinitionDeserializer(item[\"outputs\"]),\n };\n}\n\n/** A structured output that can be produced by the agent. */\nexport interface StructuredOutputDefinition {\n /** The name of the structured output. */\n name: string;\n /** A description of the output to emit. Used by the model to determine when to emit the output. */\n description: string;\n /** The JSON schema for the structured output. */\n schema: Record<string, unknown>;\n /** Whether to enforce strict validation. Default `true`. */\n strict: boolean;\n}\n\nexport function structuredOutputDefinitionSerializer(item: StructuredOutputDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function structuredOutputDefinitionDeserializer(item: any): StructuredOutputDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** An agent implementing the A2A protocol. */\nexport interface A2APreviewTool extends Tool {\n /** The type of the tool. Always `\"a2a_preview`. */\n type: \"a2a_preview\";\n /** Base URL of the agent. */\n base_url?: string;\n /**\n * The path to the agent card relative to the `base_url`.\n * If not provided, defaults to `/.well-known/agent-card.json`\n */\n agent_card_path?: string;\n /**\n * The connection ID in the project for the A2A server.\n * The connection stores authentication and other connection details needed to connect to the A2A server.\n */\n project_connection_id?: string;\n}\n\nexport function a2APreviewToolSerializer(item: A2APreviewTool): any {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function a2APreviewToolDeserializer(item: any): A2APreviewTool {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** A tool for integrating memories into the agent. */\nexport interface MemorySearchPreviewTool extends Tool {\n /** The type of the tool. Always `memory_search_preview`. */\n type: \"memory_search_preview\";\n /** The name of the memory store to use. */\n memory_store_name: string;\n /**\n * The namespace used to group and isolate memories, such as a user ID.\n * Limits which memories can be retrieved or updated.\n * Use special variable `{{$userId}}` to scope memories to the current signed-in user.\n */\n scope: string;\n /** Options for searching the memory store. */\n search_options?: MemorySearchOptions;\n /** Time to wait before updating memories after inactivity (seconds). Default 300. */\n update_delay?: number;\n}\n\nexport function memorySearchPreviewToolSerializer(item: MemorySearchPreviewTool): any {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsSerializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\nexport function memorySearchPreviewToolDeserializer(item: any): MemorySearchPreviewTool {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsDeserializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\n/** Memory search options. */\nexport interface MemorySearchOptions {\n /** Maximum number of memory items to return. */\n max_memories?: number;\n}\n\nexport function memorySearchOptionsSerializer(item: MemorySearchOptions): any {\n return { max_memories: item[\"max_memories\"] };\n}\n\nexport function memorySearchOptionsDeserializer(item: any): MemorySearchOptions {\n return {\n max_memories: item[\"max_memories\"],\n };\n}\n\n/** A tool that runs Python code to help generate a response to a prompt. */\nexport interface CodeInterpreterTool extends Tool {\n /** The type of the code interpreter tool. Always `code_interpreter`. */\n type: \"code_interpreter\";\n /**\n * The code interpreter container. Can be a container ID or an object that\n * specifies uploaded file IDs to make available to your code, along with an\n * optional `memory_limit` setting.\n * If not provided, the service assumes auto.\n */\n container?: string | AutoCodeInterpreterToolParam;\n}\n\nexport function codeInterpreterToolSerializer(item: CodeInterpreterTool): any {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerSerializer(item[\"container\"]),\n };\n}\n\nexport function codeInterpreterToolDeserializer(item: any): CodeInterpreterTool {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerDeserializer(item[\"container\"]),\n };\n}\n\n/** Alias for _CodeInterpreterToolContainer */\nexport type _CodeInterpreterToolContainer = string | AutoCodeInterpreterToolParam;\n\nexport function _codeInterpreterToolContainerSerializer(item: _CodeInterpreterToolContainer): any {\n return item;\n}\n\nexport function _codeInterpreterToolContainerDeserializer(\n item: any,\n): _CodeInterpreterToolContainer {\n return item;\n}\n\n/** Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. */\nexport interface AutoCodeInterpreterToolParam {\n /** Always `auto`. */\n type: \"auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the code interpreter container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** The network access policy for the code interpreter container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function autoCodeInterpreterToolParamSerializer(item: AutoCodeInterpreterToolParam): any {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function autoCodeInterpreterToolParamDeserializer(item: any): AutoCodeInterpreterToolParam {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\n/** Type of ContainerMemoryLimit */\nexport type ContainerMemoryLimit = \"1g\" | \"4g\" | \"16g\" | \"64g\";\n\n/** Network access policy for the container. */\nexport interface ContainerNetworkPolicyParam {\n /** The network policy type. */\n type: ContainerNetworkPolicyParamType;\n}\n\nexport function containerNetworkPolicyParamSerializer(item: ContainerNetworkPolicyParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyParamDeserializer(item: any): ContainerNetworkPolicyParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerNetworkPolicyParamUnion */\nexport type ContainerNetworkPolicyParamUnion =\n | ContainerNetworkPolicyDisabledParam\n | ContainerNetworkPolicyAllowlistParam\n | ContainerNetworkPolicyParam;\n\nexport function containerNetworkPolicyParamUnionSerializer(\n item: ContainerNetworkPolicyParamUnion,\n): any {\n switch (item.type) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamSerializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamSerializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamSerializer(item);\n }\n}\n\nexport function containerNetworkPolicyParamUnionDeserializer(\n item: any,\n): ContainerNetworkPolicyParamUnion {\n switch (item[\"type\"]) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamDeserializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamDeserializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamDeserializer(item);\n }\n}\n\n/** Type of ContainerNetworkPolicyParamType */\nexport type ContainerNetworkPolicyParamType = \"disabled\" | \"allowlist\";\n\n/** model interface ContainerNetworkPolicyDisabledParam */\nexport interface ContainerNetworkPolicyDisabledParam extends ContainerNetworkPolicyParam {\n /** Disable outbound network access. Always `disabled`. */\n type: \"disabled\";\n}\n\nexport function containerNetworkPolicyDisabledParamSerializer(\n item: ContainerNetworkPolicyDisabledParam,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyDisabledParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDisabledParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** model interface ContainerNetworkPolicyAllowlistParam */\nexport interface ContainerNetworkPolicyAllowlistParam extends ContainerNetworkPolicyParam {\n /** Allow outbound network access only to specified domains. Always `allowlist`. */\n type: \"allowlist\";\n /** A list of allowed domains when type is `allowlist`. */\n allowed_domains: string[];\n /** Optional domain-scoped secrets for allowlisted domains. */\n domain_secrets?: ContainerNetworkPolicyDomainSecretParam[];\n}\n\nexport function containerNetworkPolicyAllowlistParamSerializer(\n item: ContainerNetworkPolicyAllowlistParam,\n): any {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArraySerializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyAllowlistParamDeserializer(\n item: any,\n): ContainerNetworkPolicyAllowlistParam {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArrayDeserializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyDomainSecretParamArraySerializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamSerializer(item);\n });\n}\n\nexport function containerNetworkPolicyDomainSecretParamArrayDeserializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamDeserializer(item);\n });\n}\n\n/** model interface ContainerNetworkPolicyDomainSecretParam */\nexport interface ContainerNetworkPolicyDomainSecretParam {\n /** The domain associated with the secret. */\n domain: string;\n /** The name of the secret to inject for the domain. */\n name: string;\n /** The secret value to inject for the domain. */\n value: string;\n}\n\nexport function containerNetworkPolicyDomainSecretParamSerializer(\n item: ContainerNetworkPolicyDomainSecretParam,\n): any {\n return { domain: item[\"domain\"], name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function containerNetworkPolicyDomainSecretParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDomainSecretParam {\n return {\n domain: item[\"domain\"],\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\n/** Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). */\nexport interface FunctionTool extends Tool {\n /** The type of the function tool. Always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n /** A description of the function tool. */\n description?: string;\n /** The parameters schema for the function. */\n parameters: Record<string, unknown>;\n /** Whether the function arguments must strictly match the parameters schema. */\n strict: boolean;\n}\n\nexport function functionToolSerializer(item: FunctionTool): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function functionToolDeserializer(item: any): FunctionTool {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\n/** A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). */\nexport interface FileSearchTool extends Tool {\n /** The type of the file search tool. Always `file_search`. */\n type: \"file_search\";\n /** The IDs of the vector stores to search. */\n vector_store_ids: string[];\n /** The maximum number of results to return. This number should be between 1 and 50 inclusive. */\n max_num_results?: number;\n /** Ranking options for search. */\n ranking_options?: RankingOptions;\n /** Filters to apply to the file search. */\n filters?: Filters;\n}\n\nexport function fileSearchToolSerializer(item: FileSearchTool): any {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsSerializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersSerializer(item[\"filters\"]),\n };\n}\n\nexport function fileSearchToolDeserializer(item: any): FileSearchTool {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsDeserializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersDeserializer(item[\"filters\"]),\n };\n}\n\n/** model interface RankingOptions */\nexport interface RankingOptions {\n /** The ranker to use for the file search. */\n ranker?: RankerVersionType;\n /** The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. */\n score_threshold?: number;\n /** Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. */\n hybrid_search?: HybridSearchOptions;\n}\n\nexport function rankingOptionsSerializer(item: RankingOptions): any {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsSerializer(item[\"hybrid_search\"]),\n };\n}\n\nexport function rankingOptionsDeserializer(item: any): RankingOptions {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsDeserializer(item[\"hybrid_search\"]),\n };\n}\n\n/** Type of RankerVersionType */\nexport type RankerVersionType = \"auto\" | \"default-2024-11-15\";\n\n/** model interface HybridSearchOptions */\nexport interface HybridSearchOptions {\n /** The weight of the embedding in the reciprocal ranking fusion. */\n embedding_weight: number;\n /** The weight of the text in the reciprocal ranking fusion. */\n text_weight: number;\n}\n\nexport function hybridSearchOptionsSerializer(item: HybridSearchOptions): any {\n return { embedding_weight: item[\"embedding_weight\"], text_weight: item[\"text_weight\"] };\n}\n\nexport function hybridSearchOptionsDeserializer(item: any): HybridSearchOptions {\n return {\n embedding_weight: item[\"embedding_weight\"],\n text_weight: item[\"text_weight\"],\n };\n}\n\n/** Alias for Filters */\nexport type Filters = ComparisonFilter | CompoundFilter;\n\nexport function filtersSerializer(item: Filters): any {\n return item;\n}\n\nexport function filtersDeserializer(item: any): Filters {\n return item;\n}\n\n/** A filter used to compare a specified attribute key to a given value using a defined comparison operation. */\nexport interface ComparisonFilter {\n /**\n * Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n * - `eq`: equals\n * - `ne`: not equal\n * - `gt`: greater than\n * - `gte`: greater than or equal\n * - `lt`: less than\n * - `lte`: less than or equal\n * - `in`: in\n * - `nin`: not in\n */\n type: \"eq\" | \"ne\" | \"gt\" | \"gte\" | \"lt\" | \"lte\";\n /** The key to compare against the value. */\n key: string;\n /** The value to compare against the attribute key; supports string, number, or boolean types. */\n value: string | number | boolean | ComparisonFilterValueItems[];\n}\n\nexport function comparisonFilterSerializer(item: ComparisonFilter): any {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueSerializer(item[\"value\"]),\n };\n}\n\nexport function comparisonFilterDeserializer(item: any): ComparisonFilter {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueDeserializer(item[\"value\"]),\n };\n}\n\n/** Alias for _ComparisonFilterValue */\nexport type _ComparisonFilterValue = string | number | boolean | ComparisonFilterValueItems[];\n\nexport function _comparisonFilterValueSerializer(item: _ComparisonFilterValue): any {\n return item;\n}\n\nexport function _comparisonFilterValueDeserializer(item: any): _ComparisonFilterValue {\n return item;\n}\n\nexport function comparisonFilterValueItemsArraySerializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsSerializer(item);\n });\n}\n\nexport function comparisonFilterValueItemsArrayDeserializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsDeserializer(item);\n });\n}\n\n/** Alias for ComparisonFilterValueItems */\nexport type ComparisonFilterValueItems = string | number;\n\nexport function comparisonFilterValueItemsSerializer(item: ComparisonFilterValueItems): any {\n return item;\n}\n\nexport function comparisonFilterValueItemsDeserializer(item: any): ComparisonFilterValueItems {\n return item;\n}\n\n/** Combine multiple filters using `and` or `or`. */\nexport interface CompoundFilter {\n /** Type of operation: `and` or `or`. */\n type: \"and\" | \"or\";\n /** Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. */\n filters: (ComparisonFilter | CompoundFilter)[];\n}\n\nexport function compoundFilterSerializer(item: CompoundFilter): any {\n return { type: item[\"type\"], filters: _compoundFilterFilterArraySerializer(item[\"filters\"]) };\n}\n\nexport function compoundFilterDeserializer(item: any): CompoundFilter {\n return {\n type: item[\"type\"],\n filters: _compoundFilterFilterArrayDeserializer(item[\"filters\"]),\n };\n}\n\nexport function _compoundFilterFilterArraySerializer(result: Array<_CompoundFilterFilter>): any[] {\n return result.map((item) => {\n return _compoundFilterFilterSerializer(item);\n });\n}\n\nexport function _compoundFilterFilterArrayDeserializer(\n result: Array<_CompoundFilterFilter>,\n): any[] {\n return result.map((item) => {\n return _compoundFilterFilterDeserializer(item);\n });\n}\n\n/** Alias for _CompoundFilterFilter */\nexport type _CompoundFilterFilter = ComparisonFilter | CompoundFilter;\n\nexport function _compoundFilterFilterSerializer(item: _CompoundFilterFilter): any {\n return item;\n}\n\nexport function _compoundFilterFilterDeserializer(item: any): _CompoundFilterFilter {\n return item;\n}\n\n/** A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). */\nexport interface ComputerUsePreviewTool extends Tool {\n /** The type of the computer use tool. Always `computer_use_preview`. */\n type: \"computer_use_preview\";\n /** The type of computer environment to control. */\n environment: ComputerEnvironment;\n /** The width of the computer display. */\n display_width: number;\n /** The height of the computer display. */\n display_height: number;\n}\n\nexport function computerUsePreviewToolSerializer(item: ComputerUsePreviewTool): any {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\nexport function computerUsePreviewToolDeserializer(item: any): ComputerUsePreviewTool {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\n/** Type of ComputerEnvironment */\nexport type ComputerEnvironment = \"windows\" | \"mac\" | \"linux\" | \"ubuntu\" | \"browser\";\n\n/**\n * Search the Internet for sources related to the prompt. Learn more about the\n * [web search tool](https://platform.openai.com/docs/guides/tools-web-search).\n */\nexport interface WebSearchTool extends Tool {\n /** The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. */\n type: \"web_search\";\n /** Filters to apply to web search results. */\n filters?: WebSearchToolFilters;\n /** The approximate location of the user for search relevance. */\n user_location?: WebSearchApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n custom_search_configuration?: WebSearchConfiguration;\n}\n\nexport function webSearchToolSerializer(item: WebSearchTool): any {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersSerializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationSerializer(item[\"custom_search_configuration\"]),\n };\n}\n\nexport function webSearchToolDeserializer(item: any): WebSearchTool {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersDeserializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationDeserializer(item[\"custom_search_configuration\"]),\n };\n}\n\n/** model interface WebSearchToolFilters */\nexport interface WebSearchToolFilters {\n /** The list of allowed domains for web search results. */\n allowed_domains?: string[];\n}\n\nexport function webSearchToolFiltersSerializer(item: WebSearchToolFilters): any {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\nexport function webSearchToolFiltersDeserializer(item: any): WebSearchToolFilters {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\n/** The approximate location of the user. */\nexport interface WebSearchApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type?: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function webSearchApproximateLocationSerializer(item: WebSearchApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function webSearchApproximateLocationDeserializer(item: any): WebSearchApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** A web search configuration for bing custom search */\nexport interface WebSearchConfiguration {\n /** Project connection id for grounding with bing custom search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n}\n\nexport function webSearchConfigurationSerializer(item: WebSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\nexport function webSearchConfigurationDeserializer(item: any): WebSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\n/**\n * Give the model access to additional tools via remote Model Context Protocol\n * (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).\n */\nexport interface MCPTool extends Tool {\n /** The type of the MCP tool. Always `mcp`. */\n type: \"mcp\";\n /** A label for this MCP server, used to identify it in tool calls. */\n server_label: string;\n /**\n * The URL for the MCP server. One of `server_url` or `connector_id` must be\n * provided.\n */\n server_url?: string;\n /**\n * Identifier for service connectors, like those available in ChatGPT. One of\n * `server_url` or `connector_id` must be provided. Learn more about service\n * connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).\n * Currently supported `connector_id` values are:\n * - Dropbox: `connector_dropbox`\n * - Gmail: `connector_gmail`\n * - Google Calendar: `connector_googlecalendar`\n * - Google Drive: `connector_googledrive`\n * - Microsoft Teams: `connector_microsoftteams`\n * - Outlook Calendar: `connector_outlookcalendar`\n * - Outlook Email: `connector_outlookemail`\n * - SharePoint: `connector_sharepoint`\n */\n connector_id?:\n | \"connector_dropbox\"\n | \"connector_gmail\"\n | \"connector_googlecalendar\"\n | \"connector_googledrive\"\n | \"connector_microsoftteams\"\n | \"connector_outlookcalendar\"\n | \"connector_outlookemail\"\n | \"connector_sharepoint\";\n /**\n * An OAuth access token that can be used with a remote MCP server, either\n * with a custom MCP server URL or a service connector. Your application\n * must handle the OAuth authorization flow and provide the token here.\n */\n authorization?: string;\n /** Optional description of the MCP server, used to provide more context. */\n server_description?: string;\n /** Custom headers to include in requests to the MCP server. */\n headers?: Record<string, string>;\n /** The list of allowed tool names for the MCP server. */\n allowed_tools?: string[] | MCPToolFilter;\n /** The approval requirements for the MCP tool. */\n require_approval?: MCPToolRequireApproval | \"always\" | \"never\";\n /** The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server. */\n project_connection_id?: string;\n}\n\nexport function mcpToolSerializer(item: MCPTool): any {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsSerializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalSerializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function mcpToolDeserializer(item: any): MCPTool {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsDeserializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalDeserializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Alias for _MCPToolAllowedTools */\nexport type _MCPToolAllowedTools = string[] | MCPToolFilter;\n\nexport function _mcpToolAllowedToolsSerializer(item: _MCPToolAllowedTools): any {\n return item;\n}\n\nexport function _mcpToolAllowedToolsDeserializer(item: any): _MCPToolAllowedTools {\n return item;\n}\n\n/** A filter object to specify which tools are allowed. */\nexport interface MCPToolFilter {\n /** List of allowed tool names. */\n tool_names?: string[];\n /**\n * Indicates whether or not a tool modifies data or is read-only. If an\n * MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),\n * it will match this filter.\n */\n read_only?: boolean;\n}\n\nexport function mcpToolFilterSerializer(item: MCPToolFilter): any {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\nexport function mcpToolFilterDeserializer(item: any): MCPToolFilter {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\n/** Alias for _MCPToolRequireApproval */\nexport type _MCPToolRequireApproval = MCPToolRequireApproval | \"always\" | \"never\";\n\nexport function _mcpToolRequireApprovalSerializer(item: _MCPToolRequireApproval): any {\n return item;\n}\n\nexport function _mcpToolRequireApprovalDeserializer(item: any): _MCPToolRequireApproval {\n return item;\n}\n\n/** model interface MCPToolRequireApproval */\nexport interface MCPToolRequireApproval {\n /** Tools that always require approval before execution. */\n always?: MCPToolFilter;\n /** Tools that never require approval before execution. */\n never?: MCPToolFilter;\n}\n\nexport function mcpToolRequireApprovalSerializer(item: MCPToolRequireApproval): any {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterSerializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterSerializer(item[\"never\"]),\n };\n}\n\nexport function mcpToolRequireApprovalDeserializer(item: any): MCPToolRequireApproval {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterDeserializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterDeserializer(item[\"never\"]),\n };\n}\n\n/** A tool that generates images using the GPT image models. */\nexport interface ImageGenTool extends Tool {\n /** The type of the image generation tool. Always `image_generation`. */\n type: \"image_generation\";\n /** The model to use for image generation. */\n model?: \"gpt-image-1\" | \"gpt-image-1-mini\";\n /**\n * The quality of the generated image. One of `low`, `medium`, `high`,\n * or `auto`. Default: `auto`.\n */\n quality?: \"low\" | \"medium\" | \"high\" | \"auto\";\n /**\n * The size of the generated image. One of `1024x1024`, `1024x1536`,\n * `1536x1024`, or `auto`. Default: `auto`.\n */\n size?: \"1024x1024\" | \"1024x1536\" | \"1536x1024\" | \"auto\";\n /**\n * The output format of the generated image. One of `png`, `webp`, or\n * `jpeg`. Default: `png`.\n */\n output_format?: \"png\" | \"webp\" | \"jpeg\";\n /** Compression level for the output image. Default: 100. */\n output_compression?: number;\n /** Moderation level for the generated image. Default: `auto`. */\n moderation?: \"auto\" | \"low\";\n /**\n * Background type for the generated image. One of `transparent`,\n * `opaque`, or `auto`. Default: `auto`.\n */\n background?: \"transparent\" | \"opaque\" | \"auto\";\n /** The fidelity level for input image processing. */\n input_fidelity?: InputFidelity;\n /**\n * Optional mask for inpainting. Contains `image_url`\n * (string, optional) and `file_id` (string, optional).\n */\n input_image_mask?: ImageGenToolInputImageMask;\n /** Number of partial images to generate in streaming mode, from 0 (default value) to 3. */\n partial_images?: number;\n /** Whether to generate a new image or edit an existing image. Default: `auto`. */\n action?: ImageGenAction;\n}\n\nexport function imageGenToolSerializer(item: ImageGenTool): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskSerializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\nexport function imageGenToolDeserializer(item: any): ImageGenTool {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskDeserializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\n/** Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. */\nexport type InputFidelity = \"high\" | \"low\";\n\n/** model interface ImageGenToolInputImageMask */\nexport interface ImageGenToolInputImageMask {\n /** The URL of the mask image. */\n image_url?: string;\n /** The file identifier for the mask image. */\n file_id?: string;\n}\n\nexport function imageGenToolInputImageMaskSerializer(item: ImageGenToolInputImageMask): any {\n return { image_url: item[\"image_url\"], file_id: item[\"file_id\"] };\n}\n\nexport function imageGenToolInputImageMaskDeserializer(item: any): ImageGenToolInputImageMask {\n return {\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n };\n}\n\n/** Type of ImageGenAction */\nexport type ImageGenAction = \"generate\" | \"edit\" | \"auto\";\n\n/** A tool that allows the model to execute shell commands in a local environment. */\nexport interface LocalShellToolParam extends Tool {\n /** The type of the local shell tool. Always `local_shell`. */\n type: \"local_shell\";\n}\n\nexport function localShellToolParamSerializer(item: LocalShellToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function localShellToolParamDeserializer(item: any): LocalShellToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A tool that allows the model to execute shell commands. */\nexport interface FunctionShellToolParam extends Tool {\n /** The type of the shell tool. Always `shell`. */\n type: \"shell\";\n /** The environment configuration for the function shell tool. */\n environment?: FunctionShellToolParamEnvironmentUnion;\n}\n\nexport function functionShellToolParamSerializer(item: FunctionShellToolParam): any {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionSerializer(item[\"environment\"]),\n };\n}\n\nexport function functionShellToolParamDeserializer(item: any): FunctionShellToolParam {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionDeserializer(item[\"environment\"]),\n };\n}\n\n/** model interface FunctionShellToolParamEnvironment */\nexport interface FunctionShellToolParamEnvironment {\n /** The environment type. */\n type: FunctionShellToolParamEnvironmentType;\n}\n\nexport function functionShellToolParamEnvironmentSerializer(\n item: FunctionShellToolParamEnvironment,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function functionShellToolParamEnvironmentDeserializer(\n item: any,\n): FunctionShellToolParamEnvironment {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for FunctionShellToolParamEnvironmentUnion */\nexport type FunctionShellToolParamEnvironmentUnion =\n | FunctionShellToolParamEnvironmentLocalEnvironmentParam\n | FunctionShellToolParamEnvironmentContainerReferenceParam\n | ContainerAutoParam\n | FunctionShellToolParamEnvironment;\n\nexport function functionShellToolParamEnvironmentUnionSerializer(\n item: FunctionShellToolParamEnvironmentUnion,\n): any {\n switch (item.type) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamSerializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentSerializer(item);\n }\n}\n\nexport function functionShellToolParamEnvironmentUnionDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentUnion {\n switch (item[\"type\"]) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamDeserializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentDeserializer(item);\n }\n}\n\n/** Type of FunctionShellToolParamEnvironmentType */\nexport type FunctionShellToolParamEnvironmentType =\n | \"container_auto\"\n | \"local\"\n | \"container_reference\";\n\n/** model interface FunctionShellToolParamEnvironmentLocalEnvironmentParam */\nexport interface FunctionShellToolParamEnvironmentLocalEnvironmentParam extends FunctionShellToolParamEnvironment {\n /** Use a local computer environment. */\n type: \"local\";\n /** An optional list of skills. */\n skills?: LocalSkillParam[];\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item: FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n): any {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArraySerializer(item[\"skills\"]),\n };\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentLocalEnvironmentParam {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArrayDeserializer(item[\"skills\"]),\n };\n}\n\nexport function localSkillParamArraySerializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamSerializer(item);\n });\n}\n\nexport function localSkillParamArrayDeserializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamDeserializer(item);\n });\n}\n\n/** model interface LocalSkillParam */\nexport interface LocalSkillParam {\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** The path to the directory containing the skill. */\n path: string;\n}\n\nexport function localSkillParamSerializer(item: LocalSkillParam): any {\n return { name: item[\"name\"], description: item[\"description\"], path: item[\"path\"] };\n}\n\nexport function localSkillParamDeserializer(item: any): LocalSkillParam {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n path: item[\"path\"],\n };\n}\n\n/** model interface FunctionShellToolParamEnvironmentContainerReferenceParam */\nexport interface FunctionShellToolParamEnvironmentContainerReferenceParam extends FunctionShellToolParamEnvironment {\n /** References a container created with the /v1/containers endpoint */\n type: \"container_reference\";\n /** The ID of the referenced container. */\n container_id: string;\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item: FunctionShellToolParamEnvironmentContainerReferenceParam,\n): any {\n return { type: item[\"type\"], container_id: item[\"container_id\"] };\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentContainerReferenceParam {\n return {\n type: item[\"type\"],\n container_id: item[\"container_id\"],\n };\n}\n\n/** model interface ContainerAutoParam */\nexport interface ContainerAutoParam extends FunctionShellToolParamEnvironment {\n /** Automatically creates a container for this request */\n type: \"container_auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** An optional list of skills referenced by id or inline data. */\n skills?: ContainerSkillUnion[];\n /** The network access policy for the container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function containerAutoParamSerializer(item: ContainerAutoParam): any {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArraySerializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerAutoParamDeserializer(item: any): ContainerAutoParam {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArrayDeserializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerSkillUnionArraySerializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionSerializer(item);\n });\n}\n\nexport function containerSkillUnionArrayDeserializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionDeserializer(item);\n });\n}\n\n/** model interface ContainerSkill */\nexport interface ContainerSkill {\n /** The type discriminator, always 'container'. */\n type: ContainerSkillType;\n}\n\nexport function containerSkillSerializer(item: ContainerSkill): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerSkillDeserializer(item: any): ContainerSkill {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerSkillUnion */\nexport type ContainerSkillUnion = SkillReferenceParam | InlineSkillParam | ContainerSkill;\n\nexport function containerSkillUnionSerializer(item: ContainerSkillUnion): any {\n switch (item.type) {\n case \"skill_reference\":\n return skillReferenceParamSerializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamSerializer(item as InlineSkillParam);\n\n default:\n return containerSkillSerializer(item);\n }\n}\n\nexport function containerSkillUnionDeserializer(item: any): ContainerSkillUnion {\n switch (item[\"type\"]) {\n case \"skill_reference\":\n return skillReferenceParamDeserializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamDeserializer(item as InlineSkillParam);\n\n default:\n return containerSkillDeserializer(item);\n }\n}\n\n/** Type of ContainerSkillType */\nexport type ContainerSkillType = \"skill_reference\" | \"inline\";\n\n/** model interface SkillReferenceParam */\nexport interface SkillReferenceParam extends ContainerSkill {\n /** References a skill created with the /v1/skills endpoint. */\n type: \"skill_reference\";\n /** The ID of the referenced skill. */\n skill_id: string;\n /** Optional skill version. Use a positive integer or 'latest'. Omit for default. */\n version?: string;\n}\n\nexport function skillReferenceParamSerializer(item: SkillReferenceParam): any {\n return { type: item[\"type\"], skill_id: item[\"skill_id\"], version: item[\"version\"] };\n}\n\nexport function skillReferenceParamDeserializer(item: any): SkillReferenceParam {\n return {\n type: item[\"type\"],\n skill_id: item[\"skill_id\"],\n version: item[\"version\"],\n };\n}\n\n/** model interface InlineSkillParam */\nexport interface InlineSkillParam extends ContainerSkill {\n /** Defines an inline skill for this request. */\n type: \"inline\";\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** Inline skill payload */\n source: InlineSkillSourceParam;\n}\n\nexport function inlineSkillParamSerializer(item: InlineSkillParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamSerializer(item[\"source\"]),\n };\n}\n\nexport function inlineSkillParamDeserializer(item: any): InlineSkillParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamDeserializer(item[\"source\"]),\n };\n}\n\n/** Inline skill payload */\nexport interface InlineSkillSourceParam {\n /** The type of the inline skill source. Must be `base64`. */\n type: \"base64\";\n /** The media type of the inline skill payload. Must be `application/zip`. */\n media_type: \"application/zip\";\n /** Base64-encoded skill zip bundle. */\n data: string;\n}\n\nexport function inlineSkillSourceParamSerializer(item: InlineSkillSourceParam): any {\n return { type: item[\"type\"], media_type: item[\"media_type\"], data: item[\"data\"] };\n}\n\nexport function inlineSkillSourceParamDeserializer(item: any): InlineSkillSourceParam {\n return {\n type: item[\"type\"],\n media_type: item[\"media_type\"],\n data: item[\"data\"],\n };\n}\n\n/** A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) */\nexport interface CustomToolParam extends Tool {\n /** The type of the custom tool. Always `custom`. */\n type: \"custom\";\n /** The name of the custom tool, used to identify it in tool calls. */\n name: string;\n /** Optional description of the custom tool, used to provide more context. */\n description?: string;\n /** The input format for the custom tool. Default is unconstrained text. */\n format?: CustomToolParamFormatUnion;\n}\n\nexport function customToolParamSerializer(item: CustomToolParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"] ? item[\"format\"] : customToolParamFormatUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function customToolParamDeserializer(item: any): CustomToolParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"]\n ? item[\"format\"]\n : customToolParamFormatUnionDeserializer(item[\"format\"]),\n };\n}\n\n/** The input format for the custom tool. Default is unconstrained text. */\nexport interface CustomToolParamFormat {\n /** The custom tool parameter format type. */\n type: CustomToolParamFormatType;\n}\n\nexport function customToolParamFormatSerializer(item: CustomToolParamFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function customToolParamFormatDeserializer(item: any): CustomToolParamFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for CustomToolParamFormatUnion */\nexport type CustomToolParamFormatUnion =\n | CustomTextFormatParam\n | CustomGrammarFormatParam\n | CustomToolParamFormat;\n\nexport function customToolParamFormatUnionSerializer(item: CustomToolParamFormatUnion): any {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamSerializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamSerializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatSerializer(item);\n }\n}\n\nexport function customToolParamFormatUnionDeserializer(item: any): CustomToolParamFormatUnion {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamDeserializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamDeserializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatDeserializer(item);\n }\n}\n\n/** Type of CustomToolParamFormatType */\nexport type CustomToolParamFormatType = \"text\" | \"grammar\";\n\n/** Unconstrained free-form text. */\nexport interface CustomTextFormatParam extends CustomToolParamFormat {\n /** Unconstrained text format. Always `text`. */\n type: \"text\";\n}\n\nexport function customTextFormatParamSerializer(item: CustomTextFormatParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function customTextFormatParamDeserializer(item: any): CustomTextFormatParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A grammar defined by the user. */\nexport interface CustomGrammarFormatParam extends CustomToolParamFormat {\n /** Grammar format. Always `grammar`. */\n type: \"grammar\";\n /** The syntax of the grammar definition. One of `lark` or `regex`. */\n syntax: GrammarSyntax;\n /** The grammar definition. */\n definition: string;\n}\n\nexport function customGrammarFormatParamSerializer(item: CustomGrammarFormatParam): any {\n return { type: item[\"type\"], syntax: item[\"syntax\"], definition: item[\"definition\"] };\n}\n\nexport function customGrammarFormatParamDeserializer(item: any): CustomGrammarFormatParam {\n return {\n type: item[\"type\"],\n syntax: item[\"syntax\"],\n definition: item[\"definition\"],\n };\n}\n\n/** Type of GrammarSyntax */\nexport type GrammarSyntax = \"lark\" | \"regex\";\n\n/** This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). */\nexport interface WebSearchPreviewTool extends Tool {\n /** The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. */\n type: \"web_search_preview\";\n /** The approximate location of the user for search relevance. */\n user_location?: ApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: SearchContextSize;\n}\n\nexport function webSearchPreviewToolSerializer(item: WebSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\nexport function webSearchPreviewToolDeserializer(item: any): WebSearchPreviewTool {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\n/** model interface ApproximateLocation */\nexport interface ApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function approximateLocationSerializer(item: ApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function approximateLocationDeserializer(item: any): ApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** Type of SearchContextSize */\nexport type SearchContextSize = \"low\" | \"medium\" | \"high\";\n\n/** Allows the assistant to create, delete, or update files using unified diffs. */\nexport interface ApplyPatchToolParam extends Tool {\n /** The type of the tool. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function applyPatchToolParamSerializer(item: ApplyPatchToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function applyPatchToolParamDeserializer(item: any): ApplyPatchToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for _PromptAgentDefinitionToolChoice */\nexport type _PromptAgentDefinitionToolChoice = string | ToolChoiceParamUnion;\n\nexport function _promptAgentDefinitionToolChoiceSerializer(\n item: _PromptAgentDefinitionToolChoice,\n): any {\n return item;\n}\n\nexport function _promptAgentDefinitionToolChoiceDeserializer(\n item: any,\n): _PromptAgentDefinitionToolChoice {\n return item;\n}\n\n/**\n * How the model should select which tool (or tools) to use when generating\n * a response. See the `tools` parameter to see how to specify which tools\n * the model can call.\n */\nexport interface ToolChoiceParam {\n /** The type discriminator for the tool choice. */\n type: ToolChoiceParamType;\n}\n\nexport function toolChoiceParamSerializer(item: ToolChoiceParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceParamDeserializer(item: any): ToolChoiceParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolChoiceParamUnion */\nexport type ToolChoiceParamUnion =\n | ToolChoiceAllowed\n | ToolChoiceFunction\n | ToolChoiceMCP\n | ToolChoiceCustom\n | SpecificApplyPatchParam\n | SpecificFunctionShellParam\n | ToolChoiceFileSearch\n | ToolChoiceWebSearchPreview\n | ToolChoiceComputerUsePreview\n | ToolChoiceWebSearchPreview20250311\n | ToolChoiceImageGeneration\n | ToolChoiceCodeInterpreter\n | ToolChoiceParam;\n\nexport function toolChoiceParamUnionSerializer(item: ToolChoiceParamUnion): any {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedSerializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionSerializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPSerializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomSerializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamSerializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamSerializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchSerializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewSerializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewSerializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Serializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationSerializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterSerializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamSerializer(item);\n }\n}\n\nexport function toolChoiceParamUnionDeserializer(item: any): ToolChoiceParamUnion {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedDeserializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionDeserializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPDeserializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomDeserializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamDeserializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamDeserializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchDeserializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewDeserializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewDeserializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Deserializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationDeserializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterDeserializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamDeserializer(item);\n }\n}\n\n/** Type of ToolChoiceParamType */\nexport type ToolChoiceParamType =\n | \"allowed_tools\"\n | \"function\"\n | \"mcp\"\n | \"custom\"\n | \"apply_patch\"\n | \"shell\"\n | \"file_search\"\n | \"web_search_preview\"\n | \"computer_use_preview\"\n | \"web_search_preview_2025_03_11\"\n | \"image_generation\"\n | \"code_interpreter\";\n\n/** Constrains the tools available to the model to a pre-defined set. */\nexport interface ToolChoiceAllowed extends ToolChoiceParam {\n /** Allowed tool configuration type. Always `allowed_tools`. */\n type: \"allowed_tools\";\n /**\n * Constrains the tools available to the model to a pre-defined set.\n * `auto` allows the model to pick from among the allowed tools and generate a\n * message.\n * `required` requires the model to call one or more of the allowed tools.\n */\n mode: \"auto\" | \"required\";\n /**\n * A list of tool definitions that the model should be allowed to call.\n * For the Responses API, the list of tool definitions might look like:\n * ```json\n * [\n * { \"type\": \"function\", \"name\": \"get_weather\" },\n * { \"type\": \"mcp\", \"server_label\": \"deepwiki\" },\n * { \"type\": \"image_generation\" }\n * ]\n * ```\n */\n tools: Record<string, unknown>[];\n}\n\nexport function toolChoiceAllowedSerializer(item: ToolChoiceAllowed): any {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\nexport function toolChoiceAllowedDeserializer(item: any): ToolChoiceAllowed {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\n/** Use this option to force the model to call a specific function. */\nexport interface ToolChoiceFunction extends ToolChoiceParam {\n /** For function calling, the type is always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n}\n\nexport function toolChoiceFunctionSerializer(item: ToolChoiceFunction): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceFunctionDeserializer(item: any): ToolChoiceFunction {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific tool on a remote MCP server. */\nexport interface ToolChoiceMCP extends ToolChoiceParam {\n /** For MCP tools, the type is always `mcp`. */\n type: \"mcp\";\n /** The label of the MCP server to use. */\n server_label: string;\n /** The name of the MCP server to use. */\n name?: string;\n}\n\nexport function toolChoiceMCPSerializer(item: ToolChoiceMCP): any {\n return { type: item[\"type\"], server_label: item[\"server_label\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceMCPDeserializer(item: any): ToolChoiceMCP {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific custom tool. */\nexport interface ToolChoiceCustom extends ToolChoiceParam {\n /** For custom tool calling, the type is always `custom`. */\n type: \"custom\";\n /** The name of the custom tool to call. */\n name: string;\n}\n\nexport function toolChoiceCustomSerializer(item: ToolChoiceCustom): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceCustomDeserializer(item: any): ToolChoiceCustom {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Forces the model to call the apply_patch tool when executing a tool call. */\nexport interface SpecificApplyPatchParam extends ToolChoiceParam {\n /** The tool to call. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function specificApplyPatchParamSerializer(item: SpecificApplyPatchParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificApplyPatchParamDeserializer(item: any): SpecificApplyPatchParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Forces the model to call the shell tool when a tool call is required. */\nexport interface SpecificFunctionShellParam extends ToolChoiceParam {\n /** The tool to call. Always `shell`. */\n type: \"shell\";\n}\n\nexport function specificFunctionShellParamSerializer(item: SpecificFunctionShellParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificFunctionShellParamDeserializer(item: any): SpecificFunctionShellParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceFileSearch extends ToolChoiceParam {\n /** The type discriminator, always 'file_search'. */\n type: \"file_search\";\n}\n\nexport function toolChoiceFileSearchSerializer(item: ToolChoiceFileSearch): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceFileSearchDeserializer(item: any): ToolChoiceFileSearch {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview'. */\n type: \"web_search_preview\";\n}\n\nexport function toolChoiceWebSearchPreviewSerializer(item: ToolChoiceWebSearchPreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreviewDeserializer(item: any): ToolChoiceWebSearchPreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceComputerUsePreview extends ToolChoiceParam {\n /** The type discriminator, always 'computer_use_preview'. */\n type: \"computer_use_preview\";\n}\n\nexport function toolChoiceComputerUsePreviewSerializer(item: ToolChoiceComputerUsePreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceComputerUsePreviewDeserializer(item: any): ToolChoiceComputerUsePreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview20250311 extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview_2025_03_11'. */\n type: \"web_search_preview_2025_03_11\";\n}\n\nexport function toolChoiceWebSearchPreview20250311Serializer(\n item: ToolChoiceWebSearchPreview20250311,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreview20250311Deserializer(\n item: any,\n): ToolChoiceWebSearchPreview20250311 {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceImageGeneration extends ToolChoiceParam {\n /** The type discriminator, always 'image_generation'. */\n type: \"image_generation\";\n}\n\nexport function toolChoiceImageGenerationSerializer(item: ToolChoiceImageGeneration): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceImageGenerationDeserializer(item: any): ToolChoiceImageGeneration {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceCodeInterpreter extends ToolChoiceParam {\n /** The type discriminator, always 'code_interpreter'. */\n type: \"code_interpreter\";\n}\n\nexport function toolChoiceCodeInterpreterSerializer(item: ToolChoiceCodeInterpreter): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceCodeInterpreterDeserializer(item: any): ToolChoiceCodeInterpreter {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\nexport interface PromptAgentDefinitionTextOptions {\n /** The text format options for the prompt agent. */\n format?: TextResponseFormatConfigurationUnion;\n}\n\nexport function promptAgentDefinitionTextOptionsSerializer(\n item: PromptAgentDefinitionTextOptions,\n): any {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function promptAgentDefinitionTextOptionsDeserializer(\n item: any,\n): PromptAgentDefinitionTextOptions {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionDeserializer(item[\"format\"]),\n };\n}\n\n/**\n * An object specifying the format that the model must output.\n * Configuring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\n * which ensures the model will match your supplied JSON schema. Learn more in the\n * [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).\n * The default format is `{ \"type\": \"text\" }` with no additional options.\n * *Not recommended for gpt-4o and newer models:**\n * Setting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\n * ensures the message the model generates is valid JSON. Using `json_schema`\n * is preferred for models that support it.\n */\nexport interface TextResponseFormatConfiguration {\n /** The type discriminator, always 'text'. */\n type: TextResponseFormatConfigurationType;\n}\n\nexport function textResponseFormatConfigurationSerializer(\n item: TextResponseFormatConfiguration,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationDeserializer(\n item: any,\n): TextResponseFormatConfiguration {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TextResponseFormatConfigurationUnion */\nexport type TextResponseFormatConfigurationUnion =\n | TextResponseFormatJsonSchema\n | TextResponseFormatConfigurationResponseFormatText\n | TextResponseFormatConfigurationResponseFormatJsonObject\n | TextResponseFormatConfiguration;\n\nexport function textResponseFormatConfigurationUnionSerializer(\n item: TextResponseFormatConfigurationUnion,\n): any {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaSerializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextSerializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationSerializer(item);\n }\n}\n\nexport function textResponseFormatConfigurationUnionDeserializer(\n item: any,\n): TextResponseFormatConfigurationUnion {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaDeserializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextDeserializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationDeserializer(item);\n }\n}\n\n/** Type of TextResponseFormatConfigurationType */\nexport type TextResponseFormatConfigurationType = \"text\" | \"json_schema\" | \"json_object\";\n\n/**\n * JSON Schema response format. Used to generate structured JSON responses.\n * Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).\n */\nexport interface TextResponseFormatJsonSchema extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_schema`. */\n type: \"json_schema\";\n /**\n * A description of what the response format is for, used by the model to\n * determine how to respond in the format.\n */\n description?: string;\n /**\n * The name of the response format. Must be a-z, A-Z, 0-9, or contain\n * underscores and dashes, with a maximum length of 64.\n */\n name: string;\n /** The JSON schema that the response must conform to. */\n schema: Record<string, unknown>;\n /** Whether the response must strictly conform to the schema. */\n strict?: boolean;\n}\n\nexport function textResponseFormatJsonSchemaSerializer(item: TextResponseFormatJsonSchema): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function textResponseFormatJsonSchemaDeserializer(item: any): TextResponseFormatJsonSchema {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** Default response format. Used to generate text responses. */\nexport interface TextResponseFormatConfigurationResponseFormatText extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `text`. */\n type: \"text\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextSerializer(\n item: TextResponseFormatConfigurationResponseFormatText,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatText {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * JSON object response format. An older method of generating JSON responses.\n * Using `json_schema` is recommended for models that support it. Note that the\n * model will not generate JSON without a system or user message instructing it\n * to do so.\n */\nexport interface TextResponseFormatConfigurationResponseFormatJsonObject extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_object`. */\n type: \"json_object\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item: TextResponseFormatConfigurationResponseFormatJsonObject,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatJsonObject {\n return {\n type: item[\"type\"],\n };\n}\n\nexport function structuredInputDefinitionRecordSerializer(\n item: Record<string, StructuredInputDefinition>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionSerializer(item[key]);\n });\n return result;\n}\n\nexport function structuredInputDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, StructuredInputDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** An structured input that can participate in prompt template substitutions and tool argument binding. */\nexport interface StructuredInputDefinition {\n /** A human-readable description of the input. */\n description?: string;\n /** The default value for the input if no run-time value is provided. */\n default_value?: unknown;\n /** The JSON schema for the structured input (optional). */\n schema?: Record<string, unknown>;\n /** Whether the input property is required when the agent is invoked. */\n required?: boolean;\n}\n\nexport function structuredInputDefinitionSerializer(item: StructuredInputDefinition): any {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\nexport function structuredInputDefinitionDeserializer(item: any): StructuredInputDefinition {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\n/** The workflow agent definition. */\nexport interface WorkflowAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'workflow'. */\n kind: \"workflow\";\n /** The CSDL YAML definition of the workflow. */\n workflow?: string;\n}\n\nexport function workflowAgentDefinitionSerializer(item: WorkflowAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\nexport function workflowAgentDefinitionDeserializer(item: any): WorkflowAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\n/** The hosted agent definition. */\nexport interface HostedAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'hosted'. */\n kind: \"hosted\";\n /**\n * An array of tools the hosted agent's model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /** The protocols that the agent supports for ingress communication of the containers. */\n container_protocol_versions: ProtocolVersionRecord[];\n /** The CPU configuration for the hosted agent. */\n cpu: string;\n /** The memory configuration for the hosted agent. */\n memory: string;\n /** Environment variables to set in the hosted agent container. */\n environment_variables?: Record<string, string>;\n /** The image ID for the agent, applicable to image-based hosted agents. */\n image?: string;\n}\n\nexport function hostedAgentDefinitionSerializer(item: HostedAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArraySerializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function hostedAgentDefinitionDeserializer(item: any): HostedAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArrayDeserializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function protocolVersionRecordArraySerializer(result: Array<ProtocolVersionRecord>): any[] {\n return result.map((item) => {\n return protocolVersionRecordSerializer(item);\n });\n}\n\nexport function protocolVersionRecordArrayDeserializer(\n result: Array<ProtocolVersionRecord>,\n): any[] {\n return result.map((item) => {\n return protocolVersionRecordDeserializer(item);\n });\n}\n\n/** A record mapping for a single protocol and its version. */\nexport interface ProtocolVersionRecord {\n /** The protocol type. */\n protocol: AgentProtocol;\n /** The version string for the protocol, e.g. 'v0.1.1'. */\n version: string;\n}\n\nexport function protocolVersionRecordSerializer(item: ProtocolVersionRecord): any {\n return { protocol: item[\"protocol\"], version: item[\"version\"] };\n}\n\nexport function protocolVersionRecordDeserializer(item: any): ProtocolVersionRecord {\n return {\n protocol: item[\"protocol\"],\n version: item[\"version\"],\n };\n}\n\n/** Type of AgentProtocol */\nexport type AgentProtocol = \"activity_protocol\" | \"responses\";\n\n/** Error response for API failures. */\nexport interface ApiErrorResponse {\n /** The error details. */\n error: ErrorModel;\n}\n\nexport function apiErrorResponseDeserializer(item: any): ApiErrorResponse {\n return {\n error: errorDeserializer(item[\"error\"]),\n };\n}\n\n/** model interface ErrorModel */\nexport interface ErrorModel {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /** The parameter that caused the error. */\n param?: string;\n /** The error type. */\n type?: string;\n /** The error details. */\n details?: ErrorModel[];\n /** Additional information about the error. */\n additionalInfo?: Record<string, unknown>;\n /** Debug information for the error. */\n debugInfo?: Record<string, unknown>;\n}\n\nexport function errorDeserializer(item: any): ErrorModel {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n type: item[\"type\"],\n details: !item[\"details\"] ? item[\"details\"] : errorArrayDeserializer(item[\"details\"]),\n additionalInfo: item[\"additionalInfo\"],\n debugInfo: item[\"debugInfo\"],\n };\n}\n\nexport function errorArrayDeserializer(result: Array<ErrorModel>): any[] {\n return result.map((item) => {\n return errorDeserializer(item);\n });\n}\n\n/** A deleted agent Object */\nexport interface DeleteAgentResponse {\n /** The object type. Always 'agent.deleted'. */\n object: \"agent.deleted\";\n /** The name of the agent. */\n name: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentResponseDeserializer(item: any): DeleteAgentResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentObject {\n /** The requested list of items. */\n data: Agent[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentObject {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentArrayDeserializer(result: Array<Agent>): any[] {\n return result.map((item) => {\n return agentDeserializer(item);\n });\n}\n\n/** A deleted agent version Object */\nexport interface DeleteAgentVersionResponse {\n /** The object type. Always 'agent.version.deleted'. */\n object: \"agent.version.deleted\";\n /** The name of the agent. */\n name: string;\n /** The version identifier of the agent. */\n version: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentVersionResponseDeserializer(item: any): DeleteAgentVersionResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n version: item[\"version\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentVersionObject {\n /** The requested list of items. */\n data: AgentVersion[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentVersionObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentVersionObject {\n return {\n data: agentVersionArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentVersionArrayDeserializer(result: Array<AgentVersion>): any[] {\n return result.map((item) => {\n return agentVersionDeserializer(item);\n });\n}\n\n/** Evaluation rule model. */\nexport interface EvaluationRule {\n /** Unique identifier for the evaluation rule. */\n readonly id: string;\n /** Display Name for the evaluation rule. */\n displayName?: string;\n /** Description for the evaluation rule. */\n description?: string;\n /** Definition of the evaluation rule action. */\n action: EvaluationRuleActionUnion;\n /** Filter condition of the evaluation rule. */\n filter?: EvaluationRuleFilter;\n /** Event type that the evaluation rule applies to. */\n eventType: EvaluationRuleEventType;\n /** Indicates whether the evaluation rule is enabled. Default is true. */\n enabled: boolean;\n /** System metadata for the evaluation rule. */\n readonly systemData: Record<string, string>;\n}\n\nexport function evaluationRuleSerializer(item: EvaluationRule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionSerializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterSerializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function evaluationRuleDeserializer(item: any): EvaluationRule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionDeserializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterDeserializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Evaluation action model. */\nexport interface EvaluationRuleAction {\n /** Type of the evaluation action. */\n /** The discriminator possible values: continuousEvaluation, humanEvaluationPreview */\n type: EvaluationRuleActionType;\n}\n\nexport function evaluationRuleActionSerializer(item: EvaluationRuleAction): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationRuleActionDeserializer(item: any): EvaluationRuleAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationRuleActionUnion */\nexport type EvaluationRuleActionUnion =\n | ContinuousEvaluationRuleAction\n | HumanEvaluationPreviewRuleAction\n | EvaluationRuleAction;\n\nexport function evaluationRuleActionUnionSerializer(item: EvaluationRuleActionUnion): any {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionSerializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionSerializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionSerializer(item);\n }\n}\n\nexport function evaluationRuleActionUnionDeserializer(item: any): EvaluationRuleActionUnion {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionDeserializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionDeserializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionDeserializer(item);\n }\n}\n\n/** Type of the evaluation action. */\nexport type EvaluationRuleActionType = \"continuousEvaluation\" | \"humanEvaluationPreview\";\n\n/** Evaluation rule action for continuous evaluation. */\nexport interface ContinuousEvaluationRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'continuous_evaluation'. */\n type: \"continuousEvaluation\";\n /** Eval Id to add continuous evaluation runs to. */\n evalId: string;\n /** Maximum number of evaluation runs allowed per hour. */\n maxHourlyRuns?: number;\n}\n\nexport function continuousEvaluationRuleActionSerializer(\n item: ContinuousEvaluationRuleAction,\n): any {\n return { type: item[\"type\"], evalId: item[\"evalId\"], maxHourlyRuns: item[\"maxHourlyRuns\"] };\n}\n\nexport function continuousEvaluationRuleActionDeserializer(\n item: any,\n): ContinuousEvaluationRuleAction {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n maxHourlyRuns: item[\"maxHourlyRuns\"],\n };\n}\n\n/** Evaluation rule action for human evaluation. */\nexport interface HumanEvaluationPreviewRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'human_evaluation_preview'. */\n type: \"humanEvaluationPreview\";\n /** Human evaluation template Id. */\n templateId: string;\n}\n\nexport function humanEvaluationPreviewRuleActionSerializer(\n item: HumanEvaluationPreviewRuleAction,\n): any {\n return { type: item[\"type\"], templateId: item[\"templateId\"] };\n}\n\nexport function humanEvaluationPreviewRuleActionDeserializer(\n item: any,\n): HumanEvaluationPreviewRuleAction {\n return {\n type: item[\"type\"],\n templateId: item[\"templateId\"],\n };\n}\n\n/** Evaluation filter model. */\nexport interface EvaluationRuleFilter {\n /** Filter by agent name. */\n agentName: string;\n}\n\nexport function evaluationRuleFilterSerializer(item: EvaluationRuleFilter): any {\n return { agentName: item[\"agentName\"] };\n}\n\nexport function evaluationRuleFilterDeserializer(item: any): EvaluationRuleFilter {\n return {\n agentName: item[\"agentName\"],\n };\n}\n\n/** Type of the evaluation rule event. */\nexport type EvaluationRuleEventType = \"responseCompleted\" | \"manual\";\n\n/** Paged collection of EvaluationRule items */\nexport interface _PagedEvaluationRule {\n /** The EvaluationRule items on this page */\n value: EvaluationRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationRuleDeserializer(item: any): _PagedEvaluationRule {\n return {\n value: evaluationRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationRuleArraySerializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleSerializer(item);\n });\n}\n\nexport function evaluationRuleArrayDeserializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleDeserializer(item);\n });\n}\n\n/** Response from the list and get connections operations */\nexport interface Connection {\n /** The friendly name of the connection, provided by the user. */\n readonly name: string;\n /** A unique identifier for the connection, generated by the service */\n readonly id: string;\n /** Category of the connection */\n readonly type: ConnectionType;\n /** The connection URL to be used for this service */\n readonly target: string;\n /** Whether the connection is tagged as the default connection of its type */\n readonly isDefault: boolean;\n /** The credentials used by the connection */\n readonly credentials: BaseCredentialsUnion;\n /** Metadata of the connection */\n readonly metadata: Record<string, string>;\n}\n\nexport function connectionDeserializer(item: any): Connection {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n type: item[\"type\"],\n target: item[\"target\"],\n isDefault: item[\"isDefault\"],\n credentials: baseCredentialsUnionDeserializer(item[\"credentials\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The Type (or category) of the connection */\nexport type ConnectionType =\n | \"AzureOpenAI\"\n | \"AzureBlob\"\n | \"AzureStorageAccount\"\n | \"CognitiveSearch\"\n | \"CosmosDB\"\n | \"ApiKey\"\n | \"AppConfig\"\n | \"AppInsights\"\n | \"CustomKeys\"\n | \"RemoteTool_Preview\";\n\n/** A base class for connection credentials */\nexport interface BaseCredentials {\n /** The type of credential used by the connection */\n /** The discriminator possible values: ApiKey, AAD, CustomKeys, SAS, None, AgenticIdentityToken_Preview */\n readonly type: CredentialType;\n}\n\nexport function baseCredentialsDeserializer(item: any): BaseCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for BaseCredentialsUnion */\nexport type BaseCredentialsUnion =\n | ApiKeyCredentials\n | EntraIDCredentials\n | CustomCredential\n | SASTokenCredentials\n | NoAuthenticationCredentials\n | AgenticIdentityPreviewCredentials\n | BaseCredentials;\n\nexport function baseCredentialsUnionDeserializer(item: any): BaseCredentialsUnion {\n switch (item.type) {\n case \"ApiKey\":\n return apiKeyCredentialsDeserializer(item as ApiKeyCredentials);\n\n case \"AAD\":\n return entraIDCredentialsDeserializer(item as EntraIDCredentials);\n\n case \"CustomKeys\":\n return customCredentialDeserializer(item as CustomCredential);\n\n case \"SAS\":\n return sasCredentialsDeserializer(item as SASTokenCredentials);\n\n case \"None\":\n return noAuthenticationCredentialsDeserializer(item as NoAuthenticationCredentials);\n\n case \"AgenticIdentityToken_Preview\":\n return agenticIdentityPreviewCredentialsDeserializer(\n item as AgenticIdentityPreviewCredentials,\n );\n\n default:\n return baseCredentialsDeserializer(item);\n }\n}\n\n/** The credential type used by the connection */\nexport type CredentialType =\n | \"ApiKey\"\n | \"AAD\"\n | \"SAS\"\n | \"CustomKeys\"\n | \"None\"\n | \"AgenticIdentityToken_Preview\";\n\n/** API Key Credential definition */\nexport interface ApiKeyCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"ApiKey\";\n /** API Key */\n readonly apiKey?: string;\n}\n\nexport function apiKeyCredentialsDeserializer(item: any): ApiKeyCredentials {\n return {\n type: item[\"type\"],\n apiKey: item[\"key\"],\n };\n}\n\n/** Entra ID credential definition */\nexport interface EntraIDCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AAD\";\n}\n\nexport function entraIDCredentialsDeserializer(item: any): EntraIDCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Custom credential definition */\nexport interface CustomCredential extends BaseCredentials {\n /** The credential type */\n readonly type: \"CustomKeys\";\n /** Additional properties */\n additionalProperties?: Record<string, string>;\n}\n\nexport function customCredentialDeserializer(item: any): CustomCredential {\n return {\n additionalProperties: serializeRecord(item, [\"type\"]),\n type: item[\"type\"],\n };\n}\n\n/** Shared Access Signature (SAS) credential definition */\nexport interface SASTokenCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"SAS\";\n /** SAS token */\n readonly sasToken?: string;\n}\n\nexport function sasCredentialsDeserializer(item: any): SASTokenCredentials {\n return {\n type: item[\"type\"],\n sasToken: item[\"SAS\"],\n };\n}\n\n/** Credentials that do not require authentication */\nexport interface NoAuthenticationCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"None\";\n}\n\nexport function noAuthenticationCredentialsDeserializer(item: any): NoAuthenticationCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Agentic identity credential definition */\nexport interface AgenticIdentityPreviewCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AgenticIdentityToken_Preview\";\n}\n\nexport function agenticIdentityPreviewCredentialsDeserializer(\n item: any,\n): AgenticIdentityPreviewCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Paged collection of Connection items */\nexport interface _PagedConnection {\n /** The Connection items on this page */\n value: Connection[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedConnectionDeserializer(item: any): _PagedConnection {\n return {\n value: connectionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function connectionArrayDeserializer(result: Array<Connection>): any[] {\n return result.map((item) => {\n return connectionDeserializer(item);\n });\n}\n\n/** Paged collection of DatasetVersion items */\nexport interface _PagedDatasetVersion {\n /** The DatasetVersion items on this page */\n value: DatasetVersionUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDatasetVersionDeserializer(item: any): _PagedDatasetVersion {\n return {\n value: datasetVersionUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function datasetVersionUnionArraySerializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionSerializer(item);\n });\n}\n\nexport function datasetVersionUnionArrayDeserializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionDeserializer(item);\n });\n}\n\n/** DatasetVersion Definition */\nexport interface DatasetVersion {\n /** URI of the data ([example](https://go.microsoft.com/fwlink/?linkid=2202330)) */\n dataUri: string;\n /** Dataset type */\n /** The discriminator possible values: uri_file, uri_folder */\n type: DatasetType;\n /** Indicates if the dataset holds a reference to the storage, or the dataset manages storage itself. If true, the underlying data will not be deleted when the dataset version is deleted */\n readonly isReference?: boolean;\n /** The Azure Storage Account connection name. Required if startPendingUploadVersion was not called before creating the Dataset */\n connectionName?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function datasetVersionSerializer(item: DatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function datasetVersionDeserializer(item: any): DatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for DatasetVersionUnion */\nexport type DatasetVersionUnion = FileDatasetVersion | FolderDatasetVersion | DatasetVersion;\n\nexport function datasetVersionUnionSerializer(item: DatasetVersionUnion): any {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionSerializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionSerializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionSerializer(item);\n }\n}\n\nexport function datasetVersionUnionDeserializer(item: any): DatasetVersionUnion {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionDeserializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionDeserializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionDeserializer(item);\n }\n}\n\n/** Enum to determine the type of data. */\nexport type DatasetType = \"uri_file\" | \"uri_folder\";\n\n/** FileDatasetVersion Definition */\nexport interface FileDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_file\";\n}\n\nexport function fileDatasetVersionSerializer(item: FileDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function fileDatasetVersionDeserializer(item: any): FileDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** FileDatasetVersion Definition */\nexport interface FolderDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_folder\";\n}\n\nexport function folderDatasetVersionSerializer(item: FolderDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function folderDatasetVersionDeserializer(item: any): FolderDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Represents a request for a pending upload. */\nexport interface PendingUploadRequest {\n /** If PendingUploadId is not provided, a random GUID will be used. */\n pendingUploadId?: string;\n /** Azure Storage Account connection name to use for generating temporary SAS token */\n connectionName?: string;\n /** BlobReference is the only supported type. */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadRequestSerializer(item: PendingUploadRequest): any {\n return {\n pendingUploadId: item[\"pendingUploadId\"],\n connectionName: item[\"connectionName\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Represents the response for a pending upload request */\nexport interface PendingUploadResponse {\n /** Container-level read, write, list SAS. */\n blobReference: BlobReference;\n /** ID for this upload request. */\n pendingUploadId: string;\n /** Version of asset to be created if user did not specify version when initially creating upload */\n version?: string;\n /** BlobReference is the only supported type */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadResponseDeserializer(item: any): PendingUploadResponse {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n pendingUploadId: item[\"pendingUploadId\"],\n version: item[\"version\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Blob reference details. */\nexport interface BlobReference {\n /** Blob URI path for client to upload data. Example: `https://blob.windows.core.net/Container/Path` */\n blobUri: string;\n /** ARM ID of the storage account to use. */\n storageAccountArmId: string;\n /** Credential info to access the storage account. */\n credential: SasCredential;\n}\n\nexport function blobReferenceDeserializer(item: any): BlobReference {\n return {\n blobUri: item[\"blobUri\"],\n storageAccountArmId: item[\"storageAccountArmId\"],\n credential: blobReferenceSasCredentialDeserializer(item[\"credential\"]),\n };\n}\n\n/** SAS Credential definition */\nexport interface SasCredential {\n /** SAS uri */\n readonly sasUri: string;\n /** Type of credential */\n readonly type: \"SAS\";\n}\n\nexport function blobReferenceSasCredentialDeserializer(item: any): SasCredential {\n return {\n sasUri: item[\"sasUri\"],\n type: item[\"type\"],\n };\n}\n\n/** Represents a reference to a blob for consumption */\nexport interface DatasetCredential {\n /** Credential info to access the storage account. */\n blobReference: BlobReference;\n}\n\nexport function datasetCredentialDeserializer(item: any): DatasetCredential {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n };\n}\n\n/** Model Deployment Definition */\nexport interface Deployment {\n /** The type of the deployment */\n /** The discriminator possible values: ModelDeployment */\n type: DeploymentType;\n /** Name of the deployment */\n readonly name: string;\n}\n\nexport function deploymentDeserializer(item: any): Deployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Alias for DeploymentUnion */\nexport type DeploymentUnion = ModelDeployment | Deployment;\n\nexport function deploymentUnionDeserializer(item: any): DeploymentUnion {\n switch (item.type) {\n case \"ModelDeployment\":\n return modelDeploymentDeserializer(item as ModelDeployment);\n\n default:\n return deploymentDeserializer(item);\n }\n}\n\n/** Type of DeploymentType */\nexport type DeploymentType = \"ModelDeployment\";\n\n/** Model Deployment Definition */\nexport interface ModelDeployment extends Deployment {\n /** The type of the deployment */\n type: \"ModelDeployment\";\n /** Publisher-specific name of the deployed model */\n readonly modelName: string;\n /** Publisher-specific version of the deployed model */\n readonly modelVersion: string;\n /** Name of the deployed model's publisher */\n readonly modelPublisher: string;\n /** Capabilities of deployed model */\n readonly capabilities: Record<string, string>;\n /** Sku of the model deployment */\n readonly sku: ModelDeploymentSku;\n /** Name of the connection the deployment comes from */\n readonly connectionName?: string;\n}\n\nexport function modelDeploymentDeserializer(item: any): ModelDeployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n modelName: item[\"modelName\"],\n modelVersion: item[\"modelVersion\"],\n modelPublisher: item[\"modelPublisher\"],\n capabilities: item[\"capabilities\"],\n sku: modelDeploymentSkuDeserializer(item[\"sku\"]),\n connectionName: item[\"connectionName\"],\n };\n}\n\n/** Sku information */\nexport interface ModelDeploymentSku {\n /** Sku capacity */\n capacity: number;\n /** Sku family */\n family: string;\n /** Sku name */\n name: string;\n /** Sku size */\n size: string;\n /** Sku tier */\n tier: string;\n}\n\nexport function modelDeploymentSkuDeserializer(item: any): ModelDeploymentSku {\n return {\n capacity: item[\"capacity\"],\n family: item[\"family\"],\n name: item[\"name\"],\n size: item[\"size\"],\n tier: item[\"tier\"],\n };\n}\n\n/** Paged collection of Deployment items */\nexport interface _PagedDeployment {\n /** The Deployment items on this page */\n value: DeploymentUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDeploymentDeserializer(item: any): _PagedDeployment {\n return {\n value: deploymentUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentUnionArrayDeserializer(result: Array<DeploymentUnion>): any[] {\n return result.map((item) => {\n return deploymentUnionDeserializer(item);\n });\n}\n\n/** Paged collection of Index items */\nexport interface _PagedIndex {\n /** The Index items on this page */\n value: IndexUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedIndexDeserializer(item: any): _PagedIndex {\n return {\n value: indexUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function indexUnionArraySerializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionSerializer(item);\n });\n}\n\nexport function indexUnionArrayDeserializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionDeserializer(item);\n });\n}\n\n/** Index resource Definition */\nexport interface Index {\n /** Type of index */\n /** The discriminator possible values: AzureSearch, ManagedAzureSearch, CosmosDBNoSqlVectorStore */\n type: IndexType;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function indexSerializer(item: Index): any {\n return { type: item[\"type\"], description: item[\"description\"], tags: item[\"tags\"] };\n}\n\nexport function indexDeserializer(item: any): Index {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for IndexUnion */\nexport type IndexUnion = AzureAISearchIndex | ManagedAzureAISearchIndex | CosmosDBIndex | Index;\n\nexport function indexUnionSerializer(item: IndexUnion): any {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexSerializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexSerializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexSerializer(item as CosmosDBIndex);\n\n default:\n return indexSerializer(item);\n }\n}\n\nexport function indexUnionDeserializer(item: any): IndexUnion {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexDeserializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexDeserializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexDeserializer(item as CosmosDBIndex);\n\n default:\n return indexDeserializer(item);\n }\n}\n\n/** Type of IndexType */\nexport type IndexType = \"AzureSearch\" | \"CosmosDBNoSqlVectorStore\" | \"ManagedAzureSearch\";\n\n/** Azure AI Search Index Definition */\nexport interface AzureAISearchIndex extends Index {\n /** Type of index */\n type: \"AzureSearch\";\n /** Name of connection to Azure AI Search */\n connectionName: string;\n /** Name of index in Azure AI Search resource to attach */\n indexName: string;\n /** Field mapping configuration */\n fieldMapping?: FieldMapping;\n}\n\nexport function azureAISearchIndexSerializer(item: AzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function azureAISearchIndexDeserializer(item: any): AzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Field mapping configuration class */\nexport interface FieldMapping {\n /** List of fields with text content */\n contentFields: string[];\n /** Path of file to be used as a source of text content */\n filepathField?: string;\n /** Field containing the title of the document */\n titleField?: string;\n /** Field containing the url of the document */\n urlField?: string;\n /** List of fields with vector content */\n vectorFields?: string[];\n /** List of fields with metadata content */\n metadataFields?: string[];\n}\n\nexport function fieldMappingSerializer(item: FieldMapping): any {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\nexport function fieldMappingDeserializer(item: any): FieldMapping {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\n/** Managed Azure AI Search Index Definition */\nexport interface ManagedAzureAISearchIndex extends Index {\n /** Type of index */\n type: \"ManagedAzureSearch\";\n /** Vector store id of managed index */\n vectorStoreId: string;\n}\n\nexport function managedAzureAISearchIndexSerializer(item: ManagedAzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\nexport function managedAzureAISearchIndexDeserializer(item: any): ManagedAzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\n/** CosmosDB Vector Store Index Definition */\nexport interface CosmosDBIndex extends Index {\n /** Type of index */\n type: \"CosmosDBNoSqlVectorStore\";\n /** Name of connection to CosmosDB */\n connectionName: string;\n /** Name of the CosmosDB Database */\n databaseName: string;\n /** Name of CosmosDB Container */\n containerName: string;\n /** Embedding model configuration */\n embeddingConfiguration: EmbeddingConfiguration;\n /** Field mapping configuration */\n fieldMapping: FieldMapping;\n}\n\nexport function cosmosDBIndexSerializer(item: CosmosDBIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationSerializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function cosmosDBIndexDeserializer(item: any): CosmosDBIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationDeserializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Embedding configuration class */\nexport interface EmbeddingConfiguration {\n /** Deployment name of embedding model. It can point to a model deployment either in the parent AIServices or a connection. */\n modelDeploymentName: string;\n /** Embedding field */\n embeddingField: string;\n}\n\nexport function embeddingConfigurationSerializer(item: EmbeddingConfiguration): any {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\nexport function embeddingConfigurationDeserializer(item: any): EmbeddingConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\n/** Evaluation Taxonomy Definition */\nexport interface EvaluationTaxonomy {\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n /** Input configuration for the evaluation taxonomy. */\n taxonomyInput: EvaluationTaxonomyInputUnion;\n /** List of taxonomy categories. */\n taxonomyCategories?: TaxonomyCategory[];\n /** Additional properties for the evaluation taxonomy. */\n properties?: Record<string, string>;\n}\n\nexport function evaluationTaxonomySerializer(item: EvaluationTaxonomy): any {\n return {\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionSerializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArraySerializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function evaluationTaxonomyDeserializer(item: any): EvaluationTaxonomy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionDeserializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArrayDeserializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\n/** Input configuration for the evaluation taxonomy. */\nexport interface EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n /** The discriminator possible values: agent */\n type: EvaluationTaxonomyInputType;\n}\n\nexport function evaluationTaxonomyInputSerializer(item: EvaluationTaxonomyInput): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationTaxonomyInputDeserializer(item: any): EvaluationTaxonomyInput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationTaxonomyInputUnion */\nexport type EvaluationTaxonomyInputUnion = AgentTaxonomyInput | EvaluationTaxonomyInput;\n\nexport function evaluationTaxonomyInputUnionSerializer(item: EvaluationTaxonomyInputUnion): any {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputSerializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputSerializer(item);\n }\n}\n\nexport function evaluationTaxonomyInputUnionDeserializer(item: any): EvaluationTaxonomyInputUnion {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputDeserializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputDeserializer(item);\n }\n}\n\n/** Type of the evaluation taxonomy input. */\nexport type EvaluationTaxonomyInputType = \"agent\" | \"policy\";\n\n/** Input configuration for the evaluation taxonomy when the input type is agent. */\nexport interface AgentTaxonomyInput extends EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n type: \"agent\";\n /** Target configuration for the agent. */\n target: TargetUnion;\n /** List of risk categories to evaluate against. */\n riskCategories: RiskCategory[];\n}\n\nexport function agentTaxonomyInputSerializer(item: AgentTaxonomyInput): any {\n return {\n type: item[\"type\"],\n target: targetUnionSerializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\nexport function agentTaxonomyInputDeserializer(item: any): AgentTaxonomyInput {\n return {\n type: item[\"type\"],\n target: targetUnionDeserializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\n/** Base class for targets with discriminator support. */\nexport interface Target {\n /** The type of target. */\n /** The discriminator possible values: azure_ai_model, azure_ai_agent */\n type: string;\n}\n\nexport function targetSerializer(item: Target): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetDeserializer(item: any): Target {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetUnion */\nexport type TargetUnion = AzureAIModelTarget | AzureAIAgentTarget | Target;\n\nexport function targetUnionSerializer(item: TargetUnion): any {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetSerializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetSerializer(item as AzureAIAgentTarget);\n\n default:\n return targetSerializer(item);\n }\n}\n\nexport function targetUnionDeserializer(item: any): TargetUnion {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetDeserializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetDeserializer(item as AzureAIAgentTarget);\n\n default:\n return targetDeserializer(item);\n }\n}\n\n/** Represents a target specifying an Azure AI model for operations requiring model selection. */\nexport interface AzureAIModelTarget extends Target {\n /** The type of target, always `azure_ai_model`. */\n type: \"azure_ai_model\";\n /** The unique identifier of the Azure AI model. */\n model?: string;\n /** The parameters used to control the sampling behavior of the model during text generation. */\n sampling_params?: ModelSamplingParams;\n}\n\nexport function azureAIModelTargetSerializer(item: AzureAIModelTarget): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsSerializer(item[\"sampling_params\"]),\n };\n}\n\nexport function azureAIModelTargetDeserializer(item: any): AzureAIModelTarget {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsDeserializer(item[\"sampling_params\"]),\n };\n}\n\n/** Represents a set of parameters used to control the sampling behavior of a language model during text generation. */\nexport interface ModelSamplingParams {\n /** The temperature parameter for sampling. */\n temperature: number;\n /** The top-p parameter for nucleus sampling. */\n top_p: number;\n /** The random seed for reproducibility. */\n seed: number;\n /** The maximum number of tokens allowed in the completion. */\n max_completion_tokens: number;\n}\n\nexport function modelSamplingParamsSerializer(item: ModelSamplingParams): any {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\nexport function modelSamplingParamsDeserializer(item: any): ModelSamplingParams {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\n/** Represents a target specifying an Azure AI agent. */\nexport interface AzureAIAgentTarget extends Target {\n /** The type of target, always `azure_ai_agent`. */\n type: \"azure_ai_agent\";\n /** The unique identifier of the Azure AI agent. */\n name: string;\n /** The version of the Azure AI agent. */\n version?: string;\n /** The parameters used to control the sampling behavior of the agent during text generation. */\n tool_descriptions?: ToolDescription[];\n}\n\nexport function azureAIAgentTargetSerializer(item: AzureAIAgentTarget): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArraySerializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function azureAIAgentTargetDeserializer(item: any): AzureAIAgentTarget {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArrayDeserializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function toolDescriptionArraySerializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionSerializer(item);\n });\n}\n\nexport function toolDescriptionArrayDeserializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionDeserializer(item);\n });\n}\n\n/** Description of a tool that can be used by an agent. */\nexport interface ToolDescription {\n /** The name of the tool. */\n name?: string;\n /** A brief description of the tool's purpose. */\n description?: string;\n}\n\nexport function toolDescriptionSerializer(item: ToolDescription): any {\n return { name: item[\"name\"], description: item[\"description\"] };\n}\n\nexport function toolDescriptionDeserializer(item: any): ToolDescription {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** Risk category for the attack objective. */\nexport type RiskCategory =\n | \"HateUnfairness\"\n | \"Violence\"\n | \"Sexual\"\n | \"SelfHarm\"\n | \"ProtectedMaterial\"\n | \"CodeVulnerability\"\n | \"UngroundedAttributes\"\n | \"ProhibitedActions\"\n | \"SensitiveDataLeakage\"\n | \"TaskAdherence\";\n\nexport function taxonomyCategoryArraySerializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategorySerializer(item);\n });\n}\n\nexport function taxonomyCategoryArrayDeserializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy category definition. */\nexport interface TaxonomyCategory {\n /** Unique identifier of the taxonomy category. */\n id: string;\n /** Name of the taxonomy category. */\n name: string;\n /** Description of the taxonomy category. */\n description?: string;\n /** Risk category associated with this taxonomy category. */\n riskCategory: RiskCategory;\n /** List of taxonomy sub categories. */\n subCategories: TaxonomySubCategory[];\n /** Additional properties for the taxonomy category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomyCategorySerializer(item: TaxonomyCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArraySerializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomyCategoryDeserializer(item: any): TaxonomyCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArrayDeserializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryArraySerializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategorySerializer(item);\n });\n}\n\nexport function taxonomySubCategoryArrayDeserializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy sub-category definition. */\nexport interface TaxonomySubCategory {\n /** Unique identifier of the taxonomy sub-category. */\n id: string;\n /** Name of the taxonomy sub-category. */\n name: string;\n /** Description of the taxonomy sub-category. */\n description?: string;\n /** List of taxonomy items under this sub-category. */\n enabled: boolean;\n /** Additional properties for the taxonomy sub-category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomySubCategorySerializer(item: TaxonomySubCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryDeserializer(item: any): TaxonomySubCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of EvaluationTaxonomy items */\nexport interface _PagedEvaluationTaxonomy {\n /** The EvaluationTaxonomy items on this page */\n value: EvaluationTaxonomy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationTaxonomyDeserializer(item: any): _PagedEvaluationTaxonomy {\n return {\n value: evaluationTaxonomyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationTaxonomyArraySerializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomySerializer(item);\n });\n}\n\nexport function evaluationTaxonomyArrayDeserializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomyDeserializer(item);\n });\n}\n\n/** Paged collection of EvaluatorVersion items */\nexport interface _PagedEvaluatorVersion {\n /** The EvaluatorVersion items on this page */\n value: EvaluatorVersion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluatorVersionDeserializer(item: any): _PagedEvaluatorVersion {\n return {\n value: evaluatorVersionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluatorVersionArraySerializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionSerializer(item);\n });\n}\n\nexport function evaluatorVersionArrayDeserializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionDeserializer(item);\n });\n}\n\n/** Evaluator Definition */\nexport interface EvaluatorVersion {\n /** Display Name for evaluator. It helps to find the evaluator easily in AI Foundry. It does not need to be unique. */\n display_name?: string;\n /** Metadata about the evaluator */\n metadata?: Record<string, string>;\n /** The type of the evaluator */\n evaluator_type: EvaluatorType;\n /** The categories of the evaluator */\n categories: EvaluatorCategory[];\n /** Definition of the evaluator */\n definition: EvaluatorDefinitionUnion;\n /** Creator of the evaluator */\n readonly created_by?: string;\n /** Creation date/time of the evaluator */\n readonly created_at?: string;\n /** Last modified date/time of the evaluator */\n readonly modified_at?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version?: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function evaluatorVersionSerializer(item: EvaluatorVersion): any {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionSerializer(item[\"definition\"]),\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function evaluatorVersionDeserializer(item: any): EvaluatorVersion {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionDeserializer(item[\"definition\"]),\n created_by: item[\"created_by\"],\n created_at: item[\"created_at\"],\n modified_at: item[\"modified_at\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorType = \"builtin\" | \"custom\";\n/** The category of the evaluator */\nexport type EvaluatorCategory = \"quality\" | \"safety\" | \"agents\";\n\n/** Base evaluator configuration with discriminator */\nexport interface EvaluatorDefinition {\n /** The type of evaluator definition */\n /** The discriminator possible values: code, prompt */\n type: EvaluatorDefinitionType;\n /** The JSON schema (Draft 2020-12) for the evaluator's input parameters. This includes parameters like type, properties, required. */\n init_parameters?: Record<string, unknown>;\n /** The JSON schema (Draft 2020-12) for the evaluator's input data. This includes parameters like type, properties, required. */\n data_schema?: Record<string, unknown>;\n /** List of output metrics produced by this evaluator */\n metrics?: Record<string, EvaluatorMetric>;\n}\n\nexport function evaluatorDefinitionSerializer(item: EvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n };\n}\n\nexport function evaluatorDefinitionDeserializer(item: any): EvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n };\n}\n\n/** Alias for EvaluatorDefinitionUnion */\nexport type EvaluatorDefinitionUnion =\n | CodeBasedEvaluatorDefinition\n | PromptBasedEvaluatorDefinition\n | EvaluatorDefinition;\n\nexport function evaluatorDefinitionUnionSerializer(item: EvaluatorDefinitionUnion): any {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionSerializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionSerializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionSerializer(item);\n }\n}\n\nexport function evaluatorDefinitionUnionDeserializer(item: any): EvaluatorDefinitionUnion {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionDeserializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionDeserializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionDeserializer(item);\n }\n}\n\n/** The type of evaluator definition */\nexport type EvaluatorDefinitionType =\n | \"prompt\"\n | \"code\"\n | \"prompt_and_code\"\n | \"service\"\n | \"openai_graders\";\n\nexport function evaluatorMetricRecordSerializer(\n item: Record<string, EvaluatorMetric>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricSerializer(item[key]);\n });\n return result;\n}\n\nexport function evaluatorMetricRecordDeserializer(\n item: Record<string, any>,\n): Record<string, EvaluatorMetric> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricDeserializer(item[key]);\n });\n return result;\n}\n\n/** Evaluator Metric */\nexport interface EvaluatorMetric {\n /** Type of the metric. */\n type?: EvaluatorMetricType;\n /** It indicates whether a higher value is better or a lower value is better for this metric. */\n desirable_direction?: EvaluatorMetricDirection;\n /** Minimum value for the metric */\n min_value?: number;\n /** Maximum value for the metric. If not specified, it is assumed to be unbounded. */\n max_value?: number;\n /** Indicates if this metric is primary when there are multiple metrics. */\n is_primary?: boolean;\n}\n\nexport function evaluatorMetricSerializer(item: EvaluatorMetric): any {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\nexport function evaluatorMetricDeserializer(item: any): EvaluatorMetric {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorMetricType = \"ordinal\" | \"continuous\" | \"boolean\";\n/** The direction of the metric indicating whether a higher value is better, a lower value is better, or neutral */\nexport type EvaluatorMetricDirection = \"increase\" | \"decrease\" | \"neutral\";\n\n/** Code-based evaluator definition using python code */\nexport interface CodeBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'code_based'. */\n type: \"code\";\n /** Inline code text for the evaluator */\n code_text: string;\n}\n\nexport function codeBasedEvaluatorDefinitionSerializer(item: CodeBasedEvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\nexport function codeBasedEvaluatorDefinitionDeserializer(item: any): CodeBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\n/** Prompt-based evaluator */\nexport interface PromptBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'prompt_based'. */\n type: \"prompt\";\n /** The prompt text used for evaluation */\n prompt_text: string;\n}\n\nexport function promptBasedEvaluatorDefinitionSerializer(\n item: PromptBasedEvaluatorDefinition,\n): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\nexport function promptBasedEvaluatorDefinitionDeserializer(\n item: any,\n): PromptBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\n/** The response body for cluster insights. */\nexport interface Insight {\n /** The unique identifier for the insights report. */\n readonly id?: string;\n /** Metadata about the insights report. */\n readonly metadata?: InsightsMetadata;\n /** The current state of the insights. */\n readonly state?: OperationState;\n /** User friendly display name for the insight. */\n displayName: string;\n /** Request for the insights analysis. */\n request: InsightRequestUnion;\n /** The result of the insights report. */\n readonly result?: InsightResultUnion;\n}\n\nexport function insightSerializer(item: Insight): any {\n return {\n displayName: item[\"displayName\"],\n request: insightRequestUnionSerializer(item[\"request\"]),\n };\n}\n\nexport function insightDeserializer(item: any): Insight {\n return {\n id: item[\"id\"],\n metadata: insightsMetadataDeserializer(item[\"metadata\"]),\n state: item[\"state\"],\n displayName: item[\"displayName\"],\n request: insightRequestUnionDeserializer(item[\"request\"]),\n result: !item[\"result\"] ? item[\"result\"] : insightResultUnionDeserializer(item[\"result\"]),\n };\n}\n\n/** Metadata about the insights. */\nexport interface InsightsMetadata {\n /** The timestamp when the insights were created. */\n createdAt: Date;\n /** The timestamp when the insights were completed. */\n completedAt?: Date;\n}\n\nexport function insightsMetadataDeserializer(item: any): InsightsMetadata {\n return {\n createdAt: new Date(item[\"createdAt\"]),\n completedAt: !item[\"completedAt\"] ? item[\"completedAt\"] : new Date(item[\"completedAt\"]),\n };\n}\n\n/** Enum describing allowed operation states. */\nexport type OperationState = \"NotStarted\" | \"Running\" | \"Succeeded\" | \"Failed\" | \"Canceled\";\n\n/** The request of the insights report. */\nexport interface InsightRequest {\n /** The type of request. */\n /** The discriminator possible values: EvaluationRunClusterInsight, AgentClusterInsight, EvaluationComparison */\n type: InsightType;\n}\n\nexport function insightRequestSerializer(item: InsightRequest): any {\n return { type: item[\"type\"] };\n}\n\nexport function insightRequestDeserializer(item: any): InsightRequest {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightRequestUnion */\nexport type InsightRequestUnion =\n | EvaluationRunClusterInsightRequest\n | AgentClusterInsightRequest\n | EvaluationComparisonInsightRequest\n | InsightRequest;\n\nexport function insightRequestUnionSerializer(item: InsightRequestUnion): any {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestSerializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestSerializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestSerializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestSerializer(item);\n }\n}\n\nexport function insightRequestUnionDeserializer(item: any): InsightRequestUnion {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestDeserializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestDeserializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestDeserializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestDeserializer(item);\n }\n}\n\n/** The request of the insights. */\nexport type InsightType =\n | \"EvaluationRunClusterInsight\"\n | \"AgentClusterInsight\"\n | \"EvaluationComparison\";\n\n/** Insights on set of Evaluation Results */\nexport interface EvaluationRunClusterInsightRequest extends InsightRequest {\n /** The type of insights request. */\n type: \"EvaluationRunClusterInsight\";\n /** Evaluation Id for the insights. */\n evalId: string;\n /** List of evaluation run IDs for the insights. */\n runIds: string[];\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function evaluationRunClusterInsightRequestSerializer(\n item: EvaluationRunClusterInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function evaluationRunClusterInsightRequestDeserializer(\n item: any,\n): EvaluationRunClusterInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Configuration of the model used in the insight generation. */\nexport interface InsightModelConfiguration {\n /** The model deployment to be evaluated. Accepts either the deployment name alone or with the connection name as '{connectionName}/<modelDeploymentName>'. */\n modelDeploymentName: string;\n}\n\nexport function insightModelConfigurationSerializer(item: InsightModelConfiguration): any {\n return { modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function insightModelConfigurationDeserializer(item: any): InsightModelConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Insights on set of Agent Evaluation Results */\nexport interface AgentClusterInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"AgentClusterInsight\";\n /** Identifier for the agent. */\n agentName: string;\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function agentClusterInsightRequestSerializer(item: AgentClusterInsightRequest): any {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function agentClusterInsightRequestDeserializer(item: any): AgentClusterInsightRequest {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Evaluation Comparison Request */\nexport interface EvaluationComparisonInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"EvaluationComparison\";\n /** Identifier for the evaluation. */\n evalId: string;\n /** The baseline run ID for comparison. */\n baselineRunId: string;\n /** List of treatment run IDs for comparison. */\n treatmentRunIds: string[];\n}\n\nexport function evaluationComparisonInsightRequestSerializer(\n item: EvaluationComparisonInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\nexport function evaluationComparisonInsightRequestDeserializer(\n item: any,\n): EvaluationComparisonInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\n/** The result of the insights. */\nexport interface InsightResult {\n /** The type of insights result. */\n /** The discriminator possible values: EvaluationComparison, EvaluationRunClusterInsight, AgentClusterInsight */\n type: InsightType;\n}\n\nexport function insightResultDeserializer(item: any): InsightResult {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightResultUnion */\nexport type InsightResultUnion =\n | EvaluationComparisonInsightResult\n | EvaluationRunClusterInsightResult\n | AgentClusterInsightResult\n | InsightResult;\n\nexport function insightResultUnionDeserializer(item: any): InsightResultUnion {\n switch (item.type) {\n case \"EvaluationComparison\":\n return evaluationComparisonInsightResultDeserializer(\n item as EvaluationComparisonInsightResult,\n );\n\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightResultDeserializer(\n item as EvaluationRunClusterInsightResult,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightResultDeserializer(item as AgentClusterInsightResult);\n\n default:\n return insightResultDeserializer(item);\n }\n}\n\n/** Insights from the evaluation comparison. */\nexport interface EvaluationComparisonInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationComparison\";\n /** Comparison results for each treatment run against the baseline. */\n comparisons: EvalRunResultComparison[];\n /** The statistical method used for comparison. */\n method: string;\n}\n\nexport function evaluationComparisonInsightResultDeserializer(\n item: any,\n): EvaluationComparisonInsightResult {\n return {\n type: item[\"type\"],\n comparisons: evalRunResultComparisonArrayDeserializer(item[\"comparisons\"]),\n method: item[\"method\"],\n };\n}\n\nexport function evalRunResultComparisonArrayDeserializer(\n result: Array<EvalRunResultComparison>,\n): any[] {\n return result.map((item) => {\n return evalRunResultComparisonDeserializer(item);\n });\n}\n\n/** Comparison results for treatment runs against the baseline. */\nexport interface EvalRunResultComparison {\n /** Name of the testing criteria. */\n testingCriteria: string;\n /** Metric being evaluated. */\n metric: string;\n /** Name of the evaluator for this testing criteria. */\n evaluator: string;\n /** Summary statistics of the baseline run. */\n baselineRunSummary: EvalRunResultSummary;\n /** List of comparison results for each treatment run. */\n compareItems: EvalRunResultCompareItem[];\n}\n\nexport function evalRunResultComparisonDeserializer(item: any): EvalRunResultComparison {\n return {\n testingCriteria: item[\"testingCriteria\"],\n metric: item[\"metric\"],\n evaluator: item[\"evaluator\"],\n baselineRunSummary: evalRunResultSummaryDeserializer(item[\"baselineRunSummary\"]),\n compareItems: evalRunResultCompareItemArrayDeserializer(item[\"compareItems\"]),\n };\n}\n\n/** Summary statistics of a metric in an evaluation run. */\nexport interface EvalRunResultSummary {\n /** The evaluation run ID. */\n runId: string;\n /** Number of samples in the evaluation run. */\n sampleCount: number;\n /** Average value of the metric in the evaluation run. */\n average: number;\n /** Standard deviation of the metric in the evaluation run. */\n standardDeviation: number;\n}\n\nexport function evalRunResultSummaryDeserializer(item: any): EvalRunResultSummary {\n return {\n runId: item[\"runId\"],\n sampleCount: item[\"sampleCount\"],\n average: item[\"average\"],\n standardDeviation: item[\"standardDeviation\"],\n };\n}\n\nexport function evalRunResultCompareItemArrayDeserializer(\n result: Array<EvalRunResultCompareItem>,\n): any[] {\n return result.map((item) => {\n return evalRunResultCompareItemDeserializer(item);\n });\n}\n\n/** Metric comparison for a treatment against the baseline. */\nexport interface EvalRunResultCompareItem {\n /** The treatment run ID. */\n treatmentRunId: string;\n /** Summary statistics of the treatment run. */\n treatmentRunSummary: EvalRunResultSummary;\n /** Estimated difference between treatment and baseline. */\n deltaEstimate: number;\n /** P-value for the treatment effect. */\n pValue: number;\n /** Type of treatment effect. */\n treatmentEffect: TreatmentEffectType;\n}\n\nexport function evalRunResultCompareItemDeserializer(item: any): EvalRunResultCompareItem {\n return {\n treatmentRunId: item[\"treatmentRunId\"],\n treatmentRunSummary: evalRunResultSummaryDeserializer(item[\"treatmentRunSummary\"]),\n deltaEstimate: item[\"deltaEstimate\"],\n pValue: item[\"pValue\"],\n treatmentEffect: item[\"treatmentEffect\"],\n };\n}\n\n/** Treatment Effect Type. */\nexport type TreatmentEffectType =\n | \"TooFewSamples\"\n | \"Inconclusive\"\n | \"Changed\"\n | \"Improved\"\n | \"Degraded\";\n\n/** Insights from the evaluation run cluster analysis. */\nexport interface EvaluationRunClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationRunClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function evaluationRunClusterInsightResultDeserializer(\n item: any,\n): EvaluationRunClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Insights from the cluster analysis. */\nexport interface ClusterInsightResult {\n /** Summary of the insights report. */\n summary: InsightSummary;\n /** List of clusters identified in the insights. */\n clusters: InsightCluster[];\n /**\n * Optional mapping of IDs to 2D coordinates used by the UX for visualization.\n *\n * The map keys are string identifiers (for example, a cluster id or a sample id)\n * and the values are the coordinates and visual size for rendering on a 2D chart.\n *\n * This property is omitted unless the client requests coordinates (for example,\n * by passing `includeCoordinates=true` as a query parameter).\n *\n * Example:\n * ```\n * {\n * \"cluster-1\": { \"x\": 12, \"y\": 34, \"size\": 8 },\n * \"sample-123\": { \"x\": 18, \"y\": 22, \"size\": 4 }\n * }\n * ```\n *\n * Coordinates are intended only for client-side visualization and do not\n * modify the canonical insights results.\n */\n coordinates?: Record<string, ChartCoordinate>;\n}\n\nexport function clusterInsightResultDeserializer(item: any): ClusterInsightResult {\n return {\n summary: insightSummaryDeserializer(item[\"summary\"]),\n clusters: insightClusterArrayDeserializer(item[\"clusters\"]),\n coordinates: !item[\"coordinates\"]\n ? item[\"coordinates\"]\n : chartCoordinateRecordDeserializer(item[\"coordinates\"]),\n };\n}\n\n/** Summary of the error cluster analysis. */\nexport interface InsightSummary {\n /** Total number of samples analyzed. */\n sampleCount: number;\n /** Total number of unique subcluster labels. */\n uniqueSubclusterCount: number;\n /** Total number of unique clusters. */\n uniqueClusterCount: number;\n /** Method used for clustering. */\n method: string;\n /** Token usage while performing clustering analysis */\n usage: ClusterTokenUsage;\n}\n\nexport function insightSummaryDeserializer(item: any): InsightSummary {\n return {\n sampleCount: item[\"sampleCount\"],\n uniqueSubclusterCount: item[\"uniqueSubclusterCount\"],\n uniqueClusterCount: item[\"uniqueClusterCount\"],\n method: item[\"method\"],\n usage: clusterTokenUsageDeserializer(item[\"usage\"]),\n };\n}\n\n/** Token usage for cluster analysis */\nexport interface ClusterTokenUsage {\n /** input token usage */\n inputTokenUsage: number;\n /** output token usage */\n outputTokenUsage: number;\n /** total token usage */\n totalTokenUsage: number;\n}\n\nexport function clusterTokenUsageDeserializer(item: any): ClusterTokenUsage {\n return {\n inputTokenUsage: item[\"inputTokenUsage\"],\n outputTokenUsage: item[\"outputTokenUsage\"],\n totalTokenUsage: item[\"totalTokenUsage\"],\n };\n}\n\nexport function insightClusterArrayDeserializer(result: Array<InsightCluster>): any[] {\n return result.map((item) => {\n return insightClusterDeserializer(item);\n });\n}\n\n/** A cluster of analysis samples. */\nexport interface InsightCluster {\n /** The id of the analysis cluster. */\n id: string;\n /** Label for the cluster */\n label: string;\n /** Suggestion for the cluster */\n suggestion: string;\n /** The title of the suggestion for the cluster */\n suggestionTitle: string;\n /** Description of the analysis cluster. */\n description: string;\n /** The weight of the analysis cluster. This indicate number of samples in the cluster. */\n weight: number;\n /** List of subclusters within this cluster. Empty if no subclusters exist. */\n subClusters?: InsightCluster[];\n /** List of samples that belong to this cluster. Empty if samples are part of subclusters. */\n samples?: InsightSampleUnion[];\n}\n\nexport function insightClusterDeserializer(item: any): InsightCluster {\n return {\n id: item[\"id\"],\n label: item[\"label\"],\n suggestion: item[\"suggestion\"],\n suggestionTitle: item[\"suggestionTitle\"],\n description: item[\"description\"],\n weight: item[\"weight\"],\n subClusters: !item[\"subClusters\"]\n ? item[\"subClusters\"]\n : insightClusterArrayDeserializer(item[\"subClusters\"]),\n samples: !item[\"samples\"]\n ? item[\"samples\"]\n : insightSampleUnionArrayDeserializer(item[\"samples\"]),\n };\n}\n\nexport function insightSampleUnionArrayDeserializer(result: Array<InsightSampleUnion>): any[] {\n return result.map((item) => {\n return insightSampleUnionDeserializer(item);\n });\n}\n\n/** A sample from the analysis. */\nexport interface InsightSample {\n /** The unique identifier for the analysis sample. */\n id: string;\n /** Sample type */\n /** The discriminator possible values: EvaluationResultSample */\n type: SampleType;\n /** Features to help with additional filtering of data in UX. */\n features: Record<string, unknown>;\n /** Info about the correlation for the analysis sample. */\n correlationInfo: Record<string, unknown>;\n}\n\nexport function insightSampleDeserializer(item: any): InsightSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n };\n}\n\n/** Alias for InsightSampleUnion */\nexport type InsightSampleUnion = EvaluationResultSample | InsightSample;\n\nexport function insightSampleUnionDeserializer(item: any): InsightSampleUnion {\n switch (item.type) {\n case \"EvaluationResultSample\":\n return evaluationResultSampleDeserializer(item as EvaluationResultSample);\n\n default:\n return insightSampleDeserializer(item);\n }\n}\n\n/** The type of sample used in the analysis. */\nexport type SampleType = \"EvaluationResultSample\";\n\n/** A sample from the evaluation result. */\nexport interface EvaluationResultSample extends InsightSample {\n /** Evaluation Result Sample Type */\n type: \"EvaluationResultSample\";\n /** Evaluation result for the analysis sample. */\n evaluationResult: EvalResult;\n}\n\nexport function evaluationResultSampleDeserializer(item: any): EvaluationResultSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n evaluationResult: evalResultDeserializer(item[\"evaluationResult\"]),\n };\n}\n\n/** Result of the evaluation. */\nexport interface EvalResult {\n /** name of the check */\n name: string;\n /** type of the check */\n type: string;\n /** score */\n score: number;\n /** indicates if the check passed or failed */\n passed: boolean;\n}\n\nexport function evalResultDeserializer(item: any): EvalResult {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n score: item[\"score\"],\n passed: item[\"passed\"],\n };\n}\n\nexport function chartCoordinateRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ChartCoordinate> {\n const result: Record<string, any> = {};\n Object.keys(item).forEach((key) => {\n result[key] = !item[key] ? item[key] : chartCoordinateDeserializer(item[key]);\n });\n return result;\n}\n\n/** Coordinates for the analysis chart. */\nexport interface ChartCoordinate {\n /** X-axis coordinate. */\n x: number;\n /** Y-axis coordinate. */\n y: number;\n /** Size of the chart element. */\n size: number;\n}\n\nexport function chartCoordinateDeserializer(item: any): ChartCoordinate {\n return {\n x: item[\"x\"],\n y: item[\"y\"],\n size: item[\"size\"],\n };\n}\n\n/** Insights from the agent cluster analysis. */\nexport interface AgentClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"AgentClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function agentClusterInsightResultDeserializer(item: any): AgentClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Paged collection of Insight items */\nexport interface _PagedInsight {\n /** The Insight items on this page */\n value: Insight[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedInsightDeserializer(item: any): _PagedInsight {\n return {\n value: insightArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function insightArraySerializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightSerializer(item);\n });\n}\n\nexport function insightArrayDeserializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightDeserializer(item);\n });\n}\n\n/** Base definition for memory store configurations. */\nexport interface MemoryStoreDefinition {\n /** The kind of the memory store. */\n /** The discriminator possible values: default */\n kind: MemoryStoreKind;\n}\n\nexport function memoryStoreDefinitionSerializer(item: MemoryStoreDefinition): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function memoryStoreDefinitionDeserializer(item: any): MemoryStoreDefinition {\n return {\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryStoreDefinitionUnion */\nexport type MemoryStoreDefinitionUnion = MemoryStoreDefaultDefinition | MemoryStoreDefinition;\n\nexport function memoryStoreDefinitionUnionSerializer(item: MemoryStoreDefinitionUnion): any {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionSerializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionSerializer(item);\n }\n}\n\nexport function memoryStoreDefinitionUnionDeserializer(item: any): MemoryStoreDefinitionUnion {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionDeserializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionDeserializer(item);\n }\n}\n\n/** The type of memory store implementation to use. */\nexport type MemoryStoreKind = \"default\";\n\n/** Default memory store implementation. */\nexport interface MemoryStoreDefaultDefinition extends MemoryStoreDefinition {\n /** The kind of the memory store. */\n kind: \"default\";\n /** The name or identifier of the chat completion model deployment used for memory processing. */\n chat_model: string;\n /** The name or identifier of the embedding model deployment used for memory processing. */\n embedding_model: string;\n /** Default memory store options. */\n options?: MemoryStoreDefaultOptions;\n}\n\nexport function memoryStoreDefaultDefinitionSerializer(item: MemoryStoreDefaultDefinition): any {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsSerializer(item[\"options\"]),\n };\n}\n\nexport function memoryStoreDefaultDefinitionDeserializer(item: any): MemoryStoreDefaultDefinition {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsDeserializer(item[\"options\"]),\n };\n}\n\n/** Default memory store configurations. */\nexport interface MemoryStoreDefaultOptions {\n /** Whether to enable user profile extraction and storage. Default is true. */\n user_profile_enabled: boolean;\n /** Specific categories or types of user profile information to extract and store. */\n user_profile_details?: string;\n /** Whether to enable chat summary extraction and storage. Default is true. */\n chat_summary_enabled: boolean;\n}\n\nexport function memoryStoreDefaultOptionsSerializer(item: MemoryStoreDefaultOptions): any {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\nexport function memoryStoreDefaultOptionsDeserializer(item: any): MemoryStoreDefaultOptions {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\n/** A memory store that can store and retrieve user memories. */\nexport interface MemoryStore {\n /** The object type, which is always 'memory_store'. */\n object: \"memory_store\";\n /** The unique identifier of the memory store. */\n id: string;\n /** The Unix timestamp (seconds) when the memory store was created. */\n created_at: Date;\n /** The Unix timestamp (seconds) when the memory store was last updated. */\n updated_at: Date;\n /** The name of the memory store. */\n name: string;\n /** A human-readable description of the memory store. */\n description?: string;\n /** Arbitrary key-value metadata to associate with the memory store. */\n metadata?: Record<string, string>;\n /** The definition of the memory store. */\n definition: MemoryStoreDefinitionUnion;\n}\n\nexport function memoryStoreDeserializer(item: any): MemoryStore {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n updated_at: new Date(item[\"updated_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n metadata: item[\"metadata\"],\n definition: memoryStoreDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultMemoryStoreObject {\n /** The requested list of items. */\n data: MemoryStore[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultMemoryStoreObjectDeserializer(\n item: any,\n): _AgentsPagedResultMemoryStoreObject {\n return {\n data: memoryStoreArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function memoryStoreArrayDeserializer(result: Array<MemoryStore>): any[] {\n return result.map((item) => {\n return memoryStoreDeserializer(item);\n });\n}\n\n/** model interface DeleteMemoryStoreResponse */\nexport interface DeleteMemoryStoreResponse {\n /** The object type. Always 'memory_store.deleted'. */\n object: \"memory_store.deleted\";\n /** The name of the memory store. */\n name: string;\n /** Whether the memory store was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteMemoryStoreResponseDeserializer(item: any): DeleteMemoryStoreResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Memory search response. */\nexport interface MemoryStoreSearchResponse {\n /** The unique ID of this search request. Use this value as previous_search_id in subsequent requests to perform incremental searches. */\n search_id: string;\n /** Related memory items found during the search operation. */\n memories: MemorySearchItem[];\n /** Usage statistics associated with the memory search operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreSearchResponseDeserializer(item: any): MemoryStoreSearchResponse {\n return {\n search_id: item[\"search_id\"],\n memories: memorySearchItemArrayDeserializer(item[\"memories\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memorySearchItemArrayDeserializer(result: Array<MemorySearchItem>): any[] {\n return result.map((item) => {\n return memorySearchItemDeserializer(item);\n });\n}\n\n/** A retrieved memory item from memory search. */\nexport interface MemorySearchItem {\n /** Retrieved memory item. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memorySearchItemDeserializer(item: any): MemorySearchItem {\n return {\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** A single memory item stored in the memory store, containing content and metadata. */\nexport interface MemoryItem {\n /** The unique ID of the memory item. */\n memory_id: string;\n /** The last update time of the memory item. */\n updated_at: Date;\n /** The namespace that logically groups and isolates memories, such as a user ID. */\n scope: string;\n /** The content of the memory. */\n content: string;\n /** The kind of the memory item. */\n /** The discriminator possible values: user_profile, chat_summary */\n kind: MemoryItemKind;\n}\n\nexport function memoryItemDeserializer(item: any): MemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryItemUnion */\nexport type MemoryItemUnion = UserProfileMemoryItem | ChatSummaryMemoryItem | MemoryItem;\n\nexport function memoryItemUnionDeserializer(item: any): MemoryItemUnion {\n switch (item.kind) {\n case \"user_profile\":\n return userProfileMemoryItemDeserializer(item as UserProfileMemoryItem);\n\n case \"chat_summary\":\n return chatSummaryMemoryItemDeserializer(item as ChatSummaryMemoryItem);\n\n default:\n return memoryItemDeserializer(item);\n }\n}\n\n/** Memory item kind. */\nexport type MemoryItemKind = \"user_profile\" | \"chat_summary\";\n\n/** A memory item specifically containing user profile information extracted from conversations, such as preferences, interests, and personal details. */\nexport interface UserProfileMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"user_profile\";\n}\n\nexport function userProfileMemoryItemDeserializer(item: any): UserProfileMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** A memory item containing a summary extracted from conversations. */\nexport interface ChatSummaryMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"chat_summary\";\n}\n\nexport function chatSummaryMemoryItemDeserializer(item: any): ChatSummaryMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Usage statistics of a memory store operation. */\nexport interface MemoryStoreOperationUsage {\n /** The number of embedding tokens. */\n embedding_tokens: number;\n /** The number of input tokens. */\n input_tokens: number;\n /** A detailed breakdown of the input tokens. */\n input_tokens_details: ResponseUsageInputTokensDetails;\n /** The number of output tokens. */\n output_tokens: number;\n /** A detailed breakdown of the output tokens. */\n output_tokens_details: ResponseUsageOutputTokensDetails;\n /** The total number of tokens used. */\n total_tokens: number;\n}\n\nexport function memoryStoreOperationUsageDeserializer(item: any): MemoryStoreOperationUsage {\n return {\n embedding_tokens: item[\"embedding_tokens\"],\n input_tokens: item[\"input_tokens\"],\n input_tokens_details: responseUsageInputTokensDetailsDeserializer(item[\"input_tokens_details\"]),\n output_tokens: item[\"output_tokens\"],\n output_tokens_details: responseUsageOutputTokensDetailsDeserializer(\n item[\"output_tokens_details\"],\n ),\n total_tokens: item[\"total_tokens\"],\n };\n}\n\n/** model interface ResponseUsageInputTokensDetails */\nexport interface ResponseUsageInputTokensDetails {\n /** The number of cached input tokens used. */\n cached_tokens: number;\n}\n\nexport function responseUsageInputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageInputTokensDetails {\n return {\n cached_tokens: item[\"cached_tokens\"],\n };\n}\n\n/** model interface ResponseUsageOutputTokensDetails */\nexport interface ResponseUsageOutputTokensDetails {\n /** The number of output tokens used for reasoning. */\n reasoning_tokens: number;\n}\n\nexport function responseUsageOutputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageOutputTokensDetails {\n return {\n reasoning_tokens: item[\"reasoning_tokens\"],\n };\n}\n\n/** Provides the status of a memory store update operation. */\nexport interface MemoryStoreUpdateResponse {\n /** The unique ID of this update request. Use this value as previous_update_id in subsequent requests to perform incremental updates. */\n update_id: string;\n /** The status of the memory update operation. One of \"queued\", \"in_progress\", \"completed\", \"failed\", or \"superseded\". */\n status: MemoryStoreUpdateStatus;\n /** The update_id the operation was superseded by when status is \"superseded\". */\n superseded_by?: string;\n /** The result of memory store update operation when status is \"completed\". */\n result?: MemoryStoreUpdateCompletedResult;\n /** Error object that describes the error when status is \"failed\". */\n error?: ErrorModel;\n}\n\nexport function memoryStoreUpdateResponseDeserializer(item: any): MemoryStoreUpdateResponse {\n return {\n update_id: item[\"update_id\"],\n status: item[\"status\"],\n superseded_by: item[\"superseded_by\"],\n result: !item[\"result\"]\n ? item[\"result\"]\n : memoryStoreUpdateCompletedResultDeserializer(item[\"result\"]),\n error: !item[\"error\"] ? item[\"error\"] : errorDeserializer(item[\"error\"]),\n };\n}\n\n/** Status of a memory store update operation. */\nexport type MemoryStoreUpdateStatus =\n | \"queued\"\n | \"in_progress\"\n | \"completed\"\n | \"failed\"\n | \"superseded\";\n\n/** Memory update result. */\nexport interface MemoryStoreUpdateCompletedResult {\n /** A list of individual memory operations that were performed during the update. */\n memory_operations: MemoryOperation[];\n /** Usage statistics associated with the memory update operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreUpdateCompletedResultDeserializer(\n item: any,\n): MemoryStoreUpdateCompletedResult {\n return {\n memory_operations: memoryOperationArrayDeserializer(item[\"memory_operations\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memoryOperationArrayDeserializer(result: Array<MemoryOperation>): any[] {\n return result.map((item) => {\n return memoryOperationDeserializer(item);\n });\n}\n\n/** Represents a single memory operation (create, update, or delete) performed on a memory item. */\nexport interface MemoryOperation {\n /** The type of memory operation being performed. */\n kind: MemoryOperationKind;\n /** The memory item to create, update, or delete. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memoryOperationDeserializer(item: any): MemoryOperation {\n return {\n kind: item[\"kind\"],\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** Memory operation kind. */\nexport type MemoryOperationKind = \"create\" | \"update\" | \"delete\";\n\n/** Response for deleting memories from a scope. */\nexport interface MemoryStoreDeleteScopeResponse {\n /** The object type. Always 'memory_store.scope.deleted'. */\n object: \"memory_store.scope.deleted\";\n /** The name of the memory store. */\n name: string;\n /** The scope from which memories were deleted. */\n scope: string;\n /** Whether the deletion operation was successful. */\n deleted: boolean;\n}\n\nexport function memoryStoreDeleteScopeResponseDeserializer(\n item: any,\n): MemoryStoreDeleteScopeResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n scope: item[\"scope\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Red team details. */\nexport interface RedTeam {\n /** Identifier of the red team run. */\n readonly name: string;\n /** Name of the red-team run. */\n displayName?: string;\n /** Number of simulation rounds. */\n numTurns?: number;\n /** List of attack strategies or nested lists of attack strategies. */\n attackStrategies?: AttackStrategy[];\n /** Simulation-only or Simulation + Evaluation. Default false, if true the scan outputs conversation not evaluation result. */\n simulationOnly?: boolean;\n /** List of risk categories to generate attack objectives for. */\n riskCategories?: RiskCategory[];\n /** Application scenario for the red team operation, to generate scenario specific attacks. */\n applicationScenario?: string;\n /** Red team's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Red team's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** Status of the red-team. It is set by service and is read-only. */\n readonly status?: string;\n /** Target configuration for the red-team run. */\n target?: TargetConfigUnion;\n}\n\nexport function redTeamSerializer(item: RedTeam): any {\n return {\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n target: item[\"target\"] ? targetConfigUnionSerializer(item[\"target\"]) : undefined,\n };\n}\n\nexport function redTeamDeserializer(item: any): RedTeam {\n return {\n name: item[\"id\"],\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n status: item[\"status\"],\n target: item[\"target\"] ? targetConfigUnionDeserializer(item[\"target\"]) : undefined,\n };\n}\n\n/** Strategies for attacks. */\nexport type AttackStrategy =\n | \"easy\"\n | \"moderate\"\n | \"difficult\"\n | \"ascii_art\"\n | \"ascii_smuggler\"\n | \"atbash\"\n | \"base64\"\n | \"binary\"\n | \"caesar\"\n | \"character_space\"\n | \"jailbreak\"\n | \"ansi_attack\"\n | \"character_swap\"\n | \"suffix_append\"\n | \"string_join\"\n | \"unicode_confusable\"\n | \"unicode_substitution\"\n | \"diacritic\"\n | \"flip\"\n | \"leetspeak\"\n | \"rot13\"\n | \"morse\"\n | \"url\"\n | \"baseline\"\n | \"indirect_jailbreak\"\n | \"tense\"\n | \"multi_turn\"\n | \"crescendo\";\n\n/** Abstract class for target configuration. */\nexport interface TargetConfig {\n /** Type of the model configuration. */\n /** The discriminator possible values: AzureOpenAIModel */\n type: string;\n}\n\nexport function targetConfigSerializer(item: TargetConfig): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetConfigDeserializer(item: any): TargetConfig {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetConfigUnion */\nexport type TargetConfigUnion = AzureOpenAIModelConfiguration | TargetConfig;\n\nexport function targetConfigUnionSerializer(item: TargetConfigUnion): any {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationSerializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigSerializer(item);\n }\n}\n\nexport function targetConfigUnionDeserializer(item: any): TargetConfigUnion {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationDeserializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigDeserializer(item);\n }\n}\n\n/** Azure OpenAI model configuration. The API version would be selected by the service for querying the model. */\nexport interface AzureOpenAIModelConfiguration extends TargetConfig {\n /** The type discriminator, always 'azure_openai'. */\n type: \"AzureOpenAIModel\";\n /** Deployment name for AOAI model. Example: gpt-4o if in AIServices or connection based `connection_name/deployment_name` (e.g. `my-aoai-connection/gpt-4o`). */\n modelDeploymentName: string;\n}\n\nexport function azureOpenAIModelConfigurationSerializer(item: AzureOpenAIModelConfiguration): any {\n return { type: item[\"type\"], modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function azureOpenAIModelConfigurationDeserializer(\n item: any,\n): AzureOpenAIModelConfiguration {\n return {\n type: item[\"type\"],\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Paged collection of RedTeam items */\nexport interface _PagedRedTeam {\n /** The RedTeam items on this page */\n value: RedTeam[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedRedTeamDeserializer(item: any): _PagedRedTeam {\n return {\n value: redTeamArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function redTeamArraySerializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamSerializer(item);\n });\n}\n\nexport function redTeamArrayDeserializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamDeserializer(item);\n });\n}\n\n/** Schedule model. */\nexport interface Schedule {\n /** Identifier of the schedule. */\n readonly id?: string;\n /** Name of the schedule. */\n displayName?: string;\n /** Description of the schedule. */\n description?: string;\n /** Enabled status of the schedule. */\n enabled: boolean;\n /** Provisioning status of the schedule. */\n readonly provisioningStatus?: ScheduleProvisioningStatus;\n /** Trigger for the schedule. */\n trigger: TriggerUnion;\n /** Task for the schedule. */\n task: ScheduleTaskUnion;\n /** Schedule's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Schedule's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** System metadata for the resource. */\n readonly systemData?: Record<string, string>;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n trigger: triggerUnionSerializer(item[\"trigger\"]),\n task: scheduleTaskUnionSerializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n provisioningStatus: item[\"provisioningStatus\"],\n trigger: triggerUnionDeserializer(item[\"trigger\"]),\n task: scheduleTaskUnionDeserializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Schedule provisioning status. */\nexport type ScheduleProvisioningStatus =\n | \"Creating\"\n | \"Updating\"\n | \"Deleting\"\n | \"Succeeded\"\n | \"Failed\";\n\n/** Base model for Trigger of the schedule. */\nexport interface Trigger {\n /** Type of the trigger. */\n /** The discriminator possible values: Cron, Recurrence, OneTime */\n type: TriggerType;\n}\n\nexport function triggerSerializer(item: Trigger): any {\n return { type: item[\"type\"] };\n}\n\nexport function triggerDeserializer(item: any): Trigger {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TriggerUnion */\nexport type TriggerUnion = CronTrigger | RecurrenceTrigger | OneTimeTrigger | Trigger;\n\nexport function triggerUnionSerializer(item: TriggerUnion): any {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerSerializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerSerializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerSerializer(item as OneTimeTrigger);\n\n default:\n return triggerSerializer(item);\n }\n}\n\nexport function triggerUnionDeserializer(item: any): TriggerUnion {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerDeserializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerDeserializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerDeserializer(item as OneTimeTrigger);\n\n default:\n return triggerDeserializer(item);\n }\n}\n\n/** Type of the trigger. */\nexport type TriggerType = \"Cron\" | \"Recurrence\" | \"OneTime\";\n\n/** Cron based trigger. */\nexport interface CronTrigger extends Trigger {\n /** The type discriminator, always 'Cron'. */\n type: \"Cron\";\n /** Cron expression that defines the schedule frequency. */\n expression: string;\n /** Time zone for the cron schedule. */\n timeZone?: string;\n /** Start time for the cron schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the cron schedule in ISO 8601 format. */\n endTime?: string;\n}\n\nexport function cronTriggerSerializer(item: CronTrigger): any {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\nexport function cronTriggerDeserializer(item: any): CronTrigger {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\n/** Recurrence based trigger. */\nexport interface RecurrenceTrigger extends Trigger {\n /** Type of the trigger. */\n type: \"Recurrence\";\n /** Start time for the recurrence schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the recurrence schedule in ISO 8601 format. */\n endTime?: string;\n /** Time zone for the recurrence schedule. */\n timeZone?: string;\n /** Interval for the recurrence schedule. */\n interval: number;\n /** Recurrence schedule for the recurrence trigger. */\n schedule: RecurrenceScheduleUnion;\n}\n\nexport function recurrenceTriggerSerializer(item: RecurrenceTrigger): any {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionSerializer(item[\"schedule\"]),\n };\n}\n\nexport function recurrenceTriggerDeserializer(item: any): RecurrenceTrigger {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionDeserializer(item[\"schedule\"]),\n };\n}\n\n/** Recurrence schedule model. */\nexport interface RecurrenceSchedule {\n /** Recurrence type for the recurrence schedule. */\n /** The discriminator possible values: Hourly, Daily, Weekly, Monthly */\n type: RecurrenceType;\n}\n\nexport function recurrenceScheduleSerializer(item: RecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function recurrenceScheduleDeserializer(item: any): RecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RecurrenceScheduleUnion */\nexport type RecurrenceScheduleUnion =\n | HourlyRecurrenceSchedule\n | DailyRecurrenceSchedule\n | WeeklyRecurrenceSchedule\n | MonthlyRecurrenceSchedule\n | RecurrenceSchedule;\n\nexport function recurrenceScheduleUnionSerializer(item: RecurrenceScheduleUnion): any {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleSerializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleSerializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleSerializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleSerializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleSerializer(item);\n }\n}\n\nexport function recurrenceScheduleUnionDeserializer(item: any): RecurrenceScheduleUnion {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleDeserializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleDeserializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleDeserializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleDeserializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleDeserializer(item);\n }\n}\n\n/** Recurrence type. */\nexport type RecurrenceType = \"Hourly\" | \"Daily\" | \"Weekly\" | \"Monthly\";\n\n/** Hourly recurrence schedule. */\nexport interface HourlyRecurrenceSchedule extends RecurrenceSchedule {\n /** The type discriminator, always 'HourlyRecurrence'. */\n type: \"Hourly\";\n}\n\nexport function hourlyRecurrenceScheduleSerializer(item: HourlyRecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function hourlyRecurrenceScheduleDeserializer(item: any): HourlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Daily recurrence schedule. */\nexport interface DailyRecurrenceSchedule extends RecurrenceSchedule {\n /** Daily recurrence type. */\n type: \"Daily\";\n /** Hours for the recurrence schedule. */\n hours: number[];\n}\n\nexport function dailyRecurrenceScheduleSerializer(item: DailyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\nexport function dailyRecurrenceScheduleDeserializer(item: any): DailyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\n/** Weekly recurrence schedule. */\nexport interface WeeklyRecurrenceSchedule extends RecurrenceSchedule {\n /** Weekly recurrence type. */\n type: \"Weekly\";\n /** Days of the week for the recurrence schedule. */\n daysOfWeek: DayOfWeek[];\n}\n\nexport function weeklyRecurrenceScheduleSerializer(item: WeeklyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\nexport function weeklyRecurrenceScheduleDeserializer(item: any): WeeklyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\n/** Days of the week for recurrence schedule. */\nexport type DayOfWeek =\n | \"Sunday\"\n | \"Monday\"\n | \"Tuesday\"\n | \"Wednesday\"\n | \"Thursday\"\n | \"Friday\"\n | \"Saturday\";\n\n/** Monthly recurrence schedule. */\nexport interface MonthlyRecurrenceSchedule extends RecurrenceSchedule {\n /** Monthly recurrence type. */\n type: \"Monthly\";\n /** Days of the month for the recurrence schedule. */\n daysOfMonth: number[];\n}\n\nexport function monthlyRecurrenceScheduleSerializer(item: MonthlyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\nexport function monthlyRecurrenceScheduleDeserializer(item: any): MonthlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\n/** One-time trigger. */\nexport interface OneTimeTrigger extends Trigger {\n /** The type discriminator, always 'OneTime'. */\n type: \"OneTime\";\n /** Date and time for the one-time trigger in ISO 8601 format. */\n triggerAt: string;\n /** Time zone for the one-time trigger. */\n timeZone?: string;\n}\n\nexport function oneTimeTriggerSerializer(item: OneTimeTrigger): any {\n return { type: item[\"type\"], triggerAt: item[\"triggerAt\"], timeZone: item[\"timeZone\"] };\n}\n\nexport function oneTimeTriggerDeserializer(item: any): OneTimeTrigger {\n return {\n type: item[\"type\"],\n triggerAt: item[\"triggerAt\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\n/** Schedule task model. */\nexport interface ScheduleTask {\n /** Type of the task. */\n /** The discriminator possible values: Evaluation, Insight */\n type: ScheduleTaskType;\n /** Configuration for the task. */\n configuration?: Record<string, string>;\n}\n\nexport function scheduleTaskSerializer(item: ScheduleTask): any {\n return { type: item[\"type\"], configuration: item[\"configuration\"] };\n}\n\nexport function scheduleTaskDeserializer(item: any): ScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n };\n}\n\n/** Alias for ScheduleTaskUnion */\nexport type ScheduleTaskUnion = EvaluationScheduleTask | InsightScheduleTask | ScheduleTask;\n\nexport function scheduleTaskUnionSerializer(item: ScheduleTaskUnion): any {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskSerializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskSerializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskSerializer(item);\n }\n}\n\nexport function scheduleTaskUnionDeserializer(item: any): ScheduleTaskUnion {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskDeserializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskDeserializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskDeserializer(item);\n }\n}\n\n/** Type of the task. */\nexport type ScheduleTaskType = \"Evaluation\" | \"Insight\";\n\n/** Evaluation task for the schedule. */\nexport interface EvaluationScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Evaluation'. */\n type: \"Evaluation\";\n /** Identifier of the evaluation group. */\n evalId: string;\n /** The evaluation run payload. */\n evalRun: Record<string, unknown>;\n}\n\nexport function evaluationScheduleTaskSerializer(item: EvaluationScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunSerializer(item[\"evalRun\"]),\n };\n}\n\nexport function evaluationScheduleTaskDeserializer(item: any): EvaluationScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunDeserializer(item[\"evalRun\"]),\n };\n}\n\n/** model interface _EvaluationScheduleTaskEvalRun */\nexport interface _EvaluationScheduleTaskEvalRun {\n [key: string]: unknown;\n}\n\nexport function _evaluationScheduleTaskEvalRunSerializer(\n item: _EvaluationScheduleTaskEvalRun,\n): any {\n return item;\n}\n\nexport function _evaluationScheduleTaskEvalRunDeserializer(\n item: any,\n): _EvaluationScheduleTaskEvalRun {\n return item;\n}\n\n/** Insight task for the schedule. */\nexport interface InsightScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Insight'. */\n type: \"Insight\";\n /** The insight payload. */\n insight: Insight;\n}\n\nexport function insightScheduleTaskSerializer(item: InsightScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightSerializer(item[\"insight\"]),\n };\n}\n\nexport function insightScheduleTaskDeserializer(item: any): InsightScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightDeserializer(item[\"insight\"]),\n };\n}\n\n/** Paged collection of Schedule items */\nexport interface _PagedSchedule {\n /** The Schedule items on this page */\n value: Schedule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleDeserializer(item: any): _PagedSchedule {\n return {\n value: scheduleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleArraySerializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleSerializer(item);\n });\n}\n\nexport function scheduleArrayDeserializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleDeserializer(item);\n });\n}\n\n/** Schedule run model. */\nexport interface ScheduleRun {\n /** Identifier of the schedule run. */\n readonly runId: string;\n /** Identifier of the schedule. */\n scheduleId: string;\n /** Trigger success status of the schedule run. */\n readonly success: boolean;\n /** Trigger time of the schedule run. */\n triggerTime?: string;\n /** Error information for the schedule run. */\n readonly error?: string;\n /** Properties of the schedule run. */\n readonly properties: Record<string, string>;\n}\n\nexport function scheduleRunDeserializer(item: any): ScheduleRun {\n return {\n runId: item[\"id\"],\n scheduleId: item[\"scheduleId\"],\n success: item[\"success\"],\n triggerTime: item[\"triggerTime\"],\n error: item[\"error\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of ScheduleRun items */\nexport interface _PagedScheduleRun {\n /** The ScheduleRun items on this page */\n value: ScheduleRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleRunDeserializer(item: any): _PagedScheduleRun {\n return {\n value: scheduleRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleRunArrayDeserializer(result: Array<ScheduleRun>): any[] {\n return result.map((item) => {\n return scheduleRunDeserializer(item);\n });\n}\n\n/** Alias for _CreateAgentRequestFoundryFeatures */\nexport type _CreateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentRequestFoundryFeaturesSerializer(\n item: _CreateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _UpdateAgentRequestFoundryFeatures */\nexport type _UpdateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _updateAgentRequestFoundryFeaturesSerializer(\n item: _UpdateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _CreateAgentVersionRequestFoundryFeatures */\nexport type _CreateAgentVersionRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentVersionRequestFoundryFeaturesSerializer(\n item: _CreateAgentVersionRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _ListVersionsRequestType */\nexport type _ListVersionsRequestType = EvaluatorType | \"all\";\n\nexport function _listVersionsRequestTypeSerializer(item: _ListVersionsRequestType): any {\n return item;\n}\n\n/** Type of AgentType */\nexport type AgentType =\n | \"agent\"\n | \"agent.version\"\n | \"agent.deleted\"\n | \"agent.version.deleted\"\n | \"agent.container\";\n\n/** Feature opt-in keys for agent definition operations supporting hosted or workflow agents. */\nexport type AgentDefinitionOptInKeys = \"HostedAgents=V1Preview\" | \"WorkflowAgents=V1Preview\";\n\n/** Type of FoundryFeaturesOptInKeys */\nexport type FoundryFeaturesOptInKeys =\n | \"Evaluations=V1Preview\"\n | \"Schedules=V1Preview\"\n | \"RedTeams=V1Preview\"\n | \"Insights=V1Preview\"\n | \"MemoryStores=V1Preview\";\n/** Type of PageOrder */\nexport type PageOrder = \"asc\" | \"desc\";\n/** The type of pending upload. */\nexport type PendingUploadType = \"None\" | \"BlobReference\";\n/** Type of MemoryStoreType */\nexport type MemoryStoreType =\n | \"memory_store\"\n | \"memory_store.deleted\"\n | \"memory_store.scope.deleted\";\n\n/** Microsoft Foundry API versions */\nexport enum KnownApiVersions {\n /** Microsoft Foundry API version v1. */\n v1 = \"v1\",\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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",
6
+ "names": ["KnownApiVersions"]
7
+ }