@orq-ai/node 4.8.0-rc.1 → 4.8.0-rc.10

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 (392) hide show
  1. package/README.md +78 -39
  2. package/funcs/agentsCreate.js +2 -2
  3. package/funcs/agentsCreate.js.map +1 -1
  4. package/funcs/filesCreate.js +3 -2
  5. package/funcs/filesCreate.js.map +1 -1
  6. package/funcs/guardrailRulesCreate.d.ts +17 -0
  7. package/funcs/guardrailRulesCreate.d.ts.map +1 -0
  8. package/funcs/guardrailRulesCreate.js +114 -0
  9. package/funcs/guardrailRulesCreate.js.map +1 -0
  10. package/funcs/guardrailRulesDelete.d.ts +17 -0
  11. package/funcs/guardrailRulesDelete.d.ts.map +1 -0
  12. package/funcs/guardrailRulesDelete.js +117 -0
  13. package/funcs/guardrailRulesDelete.js.map +1 -0
  14. package/funcs/guardrailRulesGet.d.ts +17 -0
  15. package/funcs/guardrailRulesGet.d.ts.map +1 -0
  16. package/funcs/guardrailRulesGet.js +116 -0
  17. package/funcs/guardrailRulesGet.js.map +1 -0
  18. package/funcs/guardrailRulesList.d.ts +17 -0
  19. package/funcs/guardrailRulesList.d.ts.map +1 -0
  20. package/funcs/guardrailRulesList.js +120 -0
  21. package/funcs/guardrailRulesList.js.map +1 -0
  22. package/funcs/guardrailRulesUpdate.d.ts +17 -0
  23. package/funcs/guardrailRulesUpdate.d.ts.map +1 -0
  24. package/funcs/guardrailRulesUpdate.js +117 -0
  25. package/funcs/guardrailRulesUpdate.js.map +1 -0
  26. package/funcs/policiesCreate.d.ts +17 -0
  27. package/funcs/policiesCreate.d.ts.map +1 -0
  28. package/funcs/policiesCreate.js +114 -0
  29. package/funcs/policiesCreate.js.map +1 -0
  30. package/funcs/policiesDelete.d.ts +17 -0
  31. package/funcs/policiesDelete.d.ts.map +1 -0
  32. package/funcs/policiesDelete.js +120 -0
  33. package/funcs/policiesDelete.js.map +1 -0
  34. package/funcs/policiesGet.d.ts +17 -0
  35. package/funcs/policiesGet.d.ts.map +1 -0
  36. package/funcs/policiesGet.js +119 -0
  37. package/funcs/policiesGet.js.map +1 -0
  38. package/funcs/policiesList.d.ts +17 -0
  39. package/funcs/policiesList.d.ts.map +1 -0
  40. package/funcs/policiesList.js +120 -0
  41. package/funcs/policiesList.js.map +1 -0
  42. package/funcs/policiesUpdate.d.ts +17 -0
  43. package/funcs/policiesUpdate.d.ts.map +1 -0
  44. package/funcs/policiesUpdate.js +120 -0
  45. package/funcs/policiesUpdate.js.map +1 -0
  46. package/funcs/routerAudioTranscriptionsCreate.js +3 -2
  47. package/funcs/routerAudioTranscriptionsCreate.js.map +1 -1
  48. package/funcs/routerAudioTranslationsCreate.js +3 -2
  49. package/funcs/routerAudioTranslationsCreate.js.map +1 -1
  50. package/funcs/routingRulesCreate.d.ts +17 -0
  51. package/funcs/routingRulesCreate.d.ts.map +1 -0
  52. package/funcs/routingRulesCreate.js +114 -0
  53. package/funcs/routingRulesCreate.js.map +1 -0
  54. package/funcs/routingRulesDelete.d.ts +17 -0
  55. package/funcs/routingRulesDelete.d.ts.map +1 -0
  56. package/funcs/routingRulesDelete.js +120 -0
  57. package/funcs/routingRulesDelete.js.map +1 -0
  58. package/funcs/routingRulesGet.d.ts +17 -0
  59. package/funcs/routingRulesGet.d.ts.map +1 -0
  60. package/funcs/routingRulesGet.js +119 -0
  61. package/funcs/routingRulesGet.js.map +1 -0
  62. package/funcs/routingRulesList.d.ts +17 -0
  63. package/funcs/routingRulesList.d.ts.map +1 -0
  64. package/funcs/routingRulesList.js +120 -0
  65. package/funcs/routingRulesList.js.map +1 -0
  66. package/funcs/routingRulesUpdate.d.ts +17 -0
  67. package/funcs/routingRulesUpdate.d.ts.map +1 -0
  68. package/funcs/routingRulesUpdate.js +120 -0
  69. package/funcs/routingRulesUpdate.js.map +1 -0
  70. package/jsr.json +1 -1
  71. package/lib/config.d.ts +3 -3
  72. package/lib/config.js +3 -3
  73. package/lib/config.js.map +1 -1
  74. package/lib/encodings.d.ts +1 -0
  75. package/lib/encodings.d.ts.map +1 -1
  76. package/lib/encodings.js +7 -0
  77. package/lib/encodings.js.map +1 -1
  78. package/models/components/agentstartedstreamingevent.d.ts +4 -4
  79. package/models/components/agentstartedstreamingevent.d.ts.map +1 -1
  80. package/models/components/agentstartedstreamingevent.js +5 -5
  81. package/models/components/agentstartedstreamingevent.js.map +1 -1
  82. package/models/components/budgetlimit.d.ts +41 -0
  83. package/models/components/budgetlimit.d.ts.map +1 -0
  84. package/models/components/budgetlimit.js +81 -0
  85. package/models/components/budgetlimit.js.map +1 -0
  86. package/models/components/evaluatorref.d.ts +34 -0
  87. package/models/components/evaluatorref.d.ts.map +1 -0
  88. package/models/components/evaluatorref.js +86 -0
  89. package/models/components/evaluatorref.js.map +1 -0
  90. package/models/components/expression.d.ts +23 -0
  91. package/models/components/expression.d.ts.map +1 -0
  92. package/models/components/expression.js +60 -0
  93. package/models/components/expression.js.map +1 -0
  94. package/models/components/guardrailref.d.ts +30 -0
  95. package/models/components/guardrailref.d.ts.map +1 -0
  96. package/models/components/guardrailref.js +79 -0
  97. package/models/components/guardrailref.js.map +1 -0
  98. package/models/components/guardrailruledocument.d.ts +23 -0
  99. package/models/components/guardrailruledocument.d.ts.map +1 -0
  100. package/models/components/guardrailruledocument.js +74 -0
  101. package/models/components/guardrailruledocument.js.map +1 -0
  102. package/models/components/index.d.ts +13 -0
  103. package/models/components/index.d.ts.map +1 -1
  104. package/models/components/index.js +13 -0
  105. package/models/components/index.js.map +1 -1
  106. package/models/components/limits.d.ts +24 -0
  107. package/models/components/limits.d.ts.map +1 -0
  108. package/models/components/limits.js +66 -0
  109. package/models/components/limits.js.map +1 -0
  110. package/models/components/modelref.d.ts +21 -0
  111. package/models/components/modelref.d.ts.map +1 -0
  112. package/models/components/modelref.js +71 -0
  113. package/models/components/modelref.js.map +1 -0
  114. package/models/components/modelsconfig.d.ts +31 -0
  115. package/models/components/modelsconfig.d.ts.map +1 -0
  116. package/models/components/modelsconfig.js +70 -0
  117. package/models/components/modelsconfig.js.map +1 -0
  118. package/models/components/policydocument.d.ts +28 -0
  119. package/models/components/policydocument.d.ts.map +1 -0
  120. package/models/components/policydocument.js +81 -0
  121. package/models/components/policydocument.js.map +1 -0
  122. package/models/components/reasoningpart.js +1 -1
  123. package/models/components/requestlimit.d.ts +31 -0
  124. package/models/components/requestlimit.d.ts.map +1 -0
  125. package/models/components/requestlimit.js +70 -0
  126. package/models/components/requestlimit.js.map +1 -0
  127. package/models/components/retryconfig.d.ts +19 -0
  128. package/models/components/retryconfig.d.ts.map +1 -0
  129. package/models/components/retryconfig.js +69 -0
  130. package/models/components/retryconfig.js.map +1 -0
  131. package/models/components/routingruledocument.d.ts +23 -0
  132. package/models/components/routingruledocument.d.ts.map +1 -0
  133. package/models/components/routingruledocument.js +75 -0
  134. package/models/components/routingruledocument.js.map +1 -0
  135. package/models/components/tokenlimit.d.ts +31 -0
  136. package/models/components/tokenlimit.d.ts.map +1 -0
  137. package/models/components/tokenlimit.js +70 -0
  138. package/models/components/tokenlimit.js.map +1 -0
  139. package/models/operations/createagentrequest.d.ts +0 -1
  140. package/models/operations/createagentrequest.d.ts.map +1 -1
  141. package/models/operations/createagentrequest.js +0 -2
  142. package/models/operations/createagentrequest.js.map +1 -1
  143. package/models/operations/createcontact.js +1 -1
  144. package/models/operations/createdataset.js +1 -1
  145. package/models/operations/createdatasetitem.js +4 -4
  146. package/models/operations/createdatasource.js +1 -1
  147. package/models/operations/createeval.d.ts +264 -62
  148. package/models/operations/createeval.d.ts.map +1 -1
  149. package/models/operations/createeval.js +330 -54
  150. package/models/operations/createeval.js.map +1 -1
  151. package/models/operations/createidentity.js +1 -1
  152. package/models/operations/createtool.d.ts +0 -5
  153. package/models/operations/createtool.d.ts.map +1 -1
  154. package/models/operations/createtool.js +6 -16
  155. package/models/operations/createtool.js.map +1 -1
  156. package/models/operations/getalltools.d.ts +0 -5
  157. package/models/operations/getalltools.d.ts.map +1 -1
  158. package/models/operations/getalltools.js +6 -16
  159. package/models/operations/getalltools.js.map +1 -1
  160. package/models/operations/getevals.d.ts +106 -16
  161. package/models/operations/getevals.d.ts.map +1 -1
  162. package/models/operations/getevals.js +183 -19
  163. package/models/operations/getevals.js.map +1 -1
  164. package/models/operations/getv2humanevals.js +6 -6
  165. package/models/operations/getv2humanevalsets.js +2 -2
  166. package/models/operations/getv2humanevalsetsid.js +2 -2
  167. package/models/operations/getv2humanevalsid.js +6 -6
  168. package/models/operations/guardrailrulecreate.d.ts +50 -0
  169. package/models/operations/guardrailrulecreate.d.ts.map +1 -0
  170. package/models/operations/guardrailrulecreate.js +94 -0
  171. package/models/operations/guardrailrulecreate.js.map +1 -0
  172. package/models/operations/guardrailruledelete.d.ts +15 -0
  173. package/models/operations/guardrailruledelete.d.ts.map +1 -0
  174. package/models/operations/guardrailruledelete.js +54 -0
  175. package/models/operations/guardrailruledelete.js.map +1 -0
  176. package/models/operations/guardrailruleget.d.ts +38 -0
  177. package/models/operations/guardrailruleget.d.ts.map +1 -0
  178. package/models/operations/guardrailruleget.js +86 -0
  179. package/models/operations/guardrailruleget.js.map +1 -0
  180. package/models/operations/guardrailrulelist.d.ts +41 -0
  181. package/models/operations/guardrailrulelist.d.ts.map +1 -0
  182. package/models/operations/guardrailrulelist.js +75 -0
  183. package/models/operations/guardrailrulelist.js.map +1 -0
  184. package/models/operations/guardrailruleupdate.d.ts +60 -0
  185. package/models/operations/guardrailruleupdate.d.ts.map +1 -0
  186. package/models/operations/guardrailruleupdate.js +105 -0
  187. package/models/operations/guardrailruleupdate.js.map +1 -0
  188. package/models/operations/index.d.ts +15 -0
  189. package/models/operations/index.d.ts.map +1 -1
  190. package/models/operations/index.js +15 -0
  191. package/models/operations/index.js.map +1 -1
  192. package/models/operations/listagents.d.ts +0 -1
  193. package/models/operations/listagents.d.ts.map +1 -1
  194. package/models/operations/listagents.js +0 -2
  195. package/models/operations/listagents.js.map +1 -1
  196. package/models/operations/listdatasetdatapoints.js +4 -4
  197. package/models/operations/listdatasets.js +1 -1
  198. package/models/operations/listdatasources.js +1 -1
  199. package/models/operations/listidentities.js +1 -1
  200. package/models/operations/patchv2humanevalsetsid.js +2 -2
  201. package/models/operations/patchv2humanevalsid.js +12 -12
  202. package/models/operations/policycreate.d.ts +57 -0
  203. package/models/operations/policycreate.d.ts.map +1 -0
  204. package/models/operations/policycreate.js +103 -0
  205. package/models/operations/policycreate.js.map +1 -0
  206. package/models/operations/policydelete.d.ts +15 -0
  207. package/models/operations/policydelete.d.ts.map +1 -0
  208. package/models/operations/policydelete.js +54 -0
  209. package/models/operations/policydelete.js.map +1 -0
  210. package/models/operations/policyget.d.ts +41 -0
  211. package/models/operations/policyget.d.ts.map +1 -0
  212. package/models/operations/policyget.js +91 -0
  213. package/models/operations/policyget.js.map +1 -0
  214. package/models/operations/policylist.d.ts +41 -0
  215. package/models/operations/policylist.d.ts.map +1 -0
  216. package/models/operations/policylist.js +75 -0
  217. package/models/operations/policylist.js.map +1 -0
  218. package/models/operations/policyupdate.d.ts +67 -0
  219. package/models/operations/policyupdate.d.ts.map +1 -0
  220. package/models/operations/policyupdate.js +114 -0
  221. package/models/operations/policyupdate.js.map +1 -0
  222. package/models/operations/postv2agentsa2a.d.ts +0 -1
  223. package/models/operations/postv2agentsa2a.d.ts.map +1 -1
  224. package/models/operations/postv2agentsa2a.js +0 -2
  225. package/models/operations/postv2agentsa2a.js.map +1 -1
  226. package/models/operations/postv2feedbackevaluation.js +3 -3
  227. package/models/operations/postv2humanevals.js +12 -12
  228. package/models/operations/postv2humanevalsets.js +2 -2
  229. package/models/operations/retrieveagentrequest.d.ts +0 -1
  230. package/models/operations/retrieveagentrequest.d.ts.map +1 -1
  231. package/models/operations/retrieveagentrequest.js +0 -2
  232. package/models/operations/retrieveagentrequest.js.map +1 -1
  233. package/models/operations/retrievedatapoint.js +4 -4
  234. package/models/operations/retrievedataset.js +1 -1
  235. package/models/operations/retrievedatasource.js +1 -1
  236. package/models/operations/retrieveidentity.js +1 -1
  237. package/models/operations/retrievetool.d.ts +0 -5
  238. package/models/operations/retrievetool.d.ts.map +1 -1
  239. package/models/operations/retrievetool.js +6 -16
  240. package/models/operations/retrievetool.js.map +1 -1
  241. package/models/operations/routingrulecreate.d.ts +50 -0
  242. package/models/operations/routingrulecreate.d.ts.map +1 -0
  243. package/models/operations/routingrulecreate.js +94 -0
  244. package/models/operations/routingrulecreate.js.map +1 -0
  245. package/models/operations/routingruledelete.d.ts +15 -0
  246. package/models/operations/routingruledelete.d.ts.map +1 -0
  247. package/models/operations/routingruledelete.js +54 -0
  248. package/models/operations/routingruledelete.js.map +1 -0
  249. package/models/operations/routingruleget.d.ts +38 -0
  250. package/models/operations/routingruleget.d.ts.map +1 -0
  251. package/models/operations/routingruleget.js +86 -0
  252. package/models/operations/routingruleget.js.map +1 -0
  253. package/models/operations/routingrulelist.d.ts +41 -0
  254. package/models/operations/routingrulelist.d.ts.map +1 -0
  255. package/models/operations/routingrulelist.js +75 -0
  256. package/models/operations/routingrulelist.js.map +1 -0
  257. package/models/operations/routingruleupdate.d.ts +60 -0
  258. package/models/operations/routingruleupdate.d.ts.map +1 -0
  259. package/models/operations/routingruleupdate.js +106 -0
  260. package/models/operations/routingruleupdate.js.map +1 -0
  261. package/models/operations/runagent.js +1 -1
  262. package/models/operations/streamrunagent.js +1 -1
  263. package/models/operations/updateagent.d.ts +0 -1
  264. package/models/operations/updateagent.d.ts.map +1 -1
  265. package/models/operations/updateagent.js +0 -2
  266. package/models/operations/updateagent.js.map +1 -1
  267. package/models/operations/updatedatapoint.js +4 -4
  268. package/models/operations/updatedataset.js +1 -1
  269. package/models/operations/updatedatasource.js +1 -1
  270. package/models/operations/updateeval.d.ts +189 -16
  271. package/models/operations/updateeval.d.ts.map +1 -1
  272. package/models/operations/updateeval.js +268 -19
  273. package/models/operations/updateeval.js.map +1 -1
  274. package/models/operations/updateidentity.js +1 -1
  275. package/models/operations/updatetool.d.ts +0 -5
  276. package/models/operations/updatetool.d.ts.map +1 -1
  277. package/models/operations/updatetool.js +7 -17
  278. package/models/operations/updatetool.js.map +1 -1
  279. package/package.json +1 -1
  280. package/sdk/guardrailrules.d.ts +40 -0
  281. package/sdk/guardrailrules.d.ts.map +1 -0
  282. package/sdk/guardrailrules.js +62 -0
  283. package/sdk/guardrailrules.js.map +1 -0
  284. package/sdk/policies.d.ts +40 -0
  285. package/sdk/policies.d.ts.map +1 -0
  286. package/sdk/policies.js +62 -0
  287. package/sdk/policies.js.map +1 -0
  288. package/sdk/routingrules.d.ts +40 -0
  289. package/sdk/routingrules.d.ts.map +1 -0
  290. package/sdk/routingrules.js +62 -0
  291. package/sdk/routingrules.js.map +1 -0
  292. package/sdk/sdk.d.ts +9 -0
  293. package/sdk/sdk.d.ts.map +1 -1
  294. package/sdk/sdk.js +12 -0
  295. package/sdk/sdk.js.map +1 -1
  296. package/src/funcs/agentsCreate.ts +2 -2
  297. package/src/funcs/filesCreate.ts +4 -3
  298. package/src/funcs/guardrailRulesCreate.ts +161 -0
  299. package/src/funcs/guardrailRulesDelete.ts +170 -0
  300. package/src/funcs/guardrailRulesGet.ts +168 -0
  301. package/src/funcs/guardrailRulesList.ts +170 -0
  302. package/src/funcs/guardrailRulesUpdate.ts +170 -0
  303. package/src/funcs/policiesCreate.ts +160 -0
  304. package/src/funcs/policiesDelete.ts +166 -0
  305. package/src/funcs/policiesGet.ts +165 -0
  306. package/src/funcs/policiesList.ts +168 -0
  307. package/src/funcs/policiesUpdate.ts +166 -0
  308. package/src/funcs/routerAudioTranscriptionsCreate.ts +4 -3
  309. package/src/funcs/routerAudioTranslationsCreate.ts +4 -3
  310. package/src/funcs/routingRulesCreate.ts +161 -0
  311. package/src/funcs/routingRulesDelete.ts +166 -0
  312. package/src/funcs/routingRulesGet.ts +165 -0
  313. package/src/funcs/routingRulesList.ts +168 -0
  314. package/src/funcs/routingRulesUpdate.ts +166 -0
  315. package/src/lib/config.ts +3 -3
  316. package/src/lib/encodings.ts +9 -0
  317. package/src/models/components/agentstartedstreamingevent.ts +9 -6
  318. package/src/models/components/budgetlimit.ts +83 -0
  319. package/src/models/components/evaluatorref.ts +89 -0
  320. package/src/models/components/expression.ts +51 -0
  321. package/src/models/components/guardrailref.ts +75 -0
  322. package/src/models/components/guardrailruledocument.ts +66 -0
  323. package/src/models/components/index.ts +13 -0
  324. package/src/models/components/limits.ts +70 -0
  325. package/src/models/components/modelref.ts +64 -0
  326. package/src/models/components/modelsconfig.ts +73 -0
  327. package/src/models/components/policydocument.ts +76 -0
  328. package/src/models/components/reasoningpart.ts +1 -1
  329. package/src/models/components/requestlimit.ts +69 -0
  330. package/src/models/components/retryconfig.ts +60 -0
  331. package/src/models/components/routingruledocument.ts +67 -0
  332. package/src/models/components/tokenlimit.ts +69 -0
  333. package/src/models/operations/createagentrequest.ts +0 -3
  334. package/src/models/operations/createcontact.ts +1 -1
  335. package/src/models/operations/createdataset.ts +1 -1
  336. package/src/models/operations/createdatasetitem.ts +4 -4
  337. package/src/models/operations/createdatasource.ts +1 -1
  338. package/src/models/operations/createeval.ts +958 -132
  339. package/src/models/operations/createidentity.ts +1 -1
  340. package/src/models/operations/createtool.ts +6 -21
  341. package/src/models/operations/getalltools.ts +6 -21
  342. package/src/models/operations/getevals.ts +447 -16
  343. package/src/models/operations/getv2humanevals.ts +6 -6
  344. package/src/models/operations/getv2humanevalsets.ts +2 -2
  345. package/src/models/operations/getv2humanevalsetsid.ts +2 -2
  346. package/src/models/operations/getv2humanevalsid.ts +6 -6
  347. package/src/models/operations/guardrailrulecreate.ts +124 -0
  348. package/src/models/operations/guardrailruledelete.ts +39 -0
  349. package/src/models/operations/guardrailruleget.ts +102 -0
  350. package/src/models/operations/guardrailrulelist.ts +94 -0
  351. package/src/models/operations/guardrailruleupdate.ts +153 -0
  352. package/src/models/operations/index.ts +15 -0
  353. package/src/models/operations/listagents.ts +0 -3
  354. package/src/models/operations/listdatasetdatapoints.ts +4 -4
  355. package/src/models/operations/listdatasets.ts +1 -1
  356. package/src/models/operations/listdatasources.ts +1 -1
  357. package/src/models/operations/listidentities.ts +1 -1
  358. package/src/models/operations/patchv2humanevalsetsid.ts +2 -2
  359. package/src/models/operations/patchv2humanevalsid.ts +12 -12
  360. package/src/models/operations/policycreate.ts +138 -0
  361. package/src/models/operations/policydelete.ts +39 -0
  362. package/src/models/operations/policyget.ts +110 -0
  363. package/src/models/operations/policylist.ts +94 -0
  364. package/src/models/operations/policyupdate.ts +167 -0
  365. package/src/models/operations/postv2agentsa2a.ts +0 -3
  366. package/src/models/operations/postv2feedbackevaluation.ts +3 -3
  367. package/src/models/operations/postv2humanevals.ts +12 -12
  368. package/src/models/operations/postv2humanevalsets.ts +2 -2
  369. package/src/models/operations/retrieveagentrequest.ts +0 -3
  370. package/src/models/operations/retrievedatapoint.ts +4 -4
  371. package/src/models/operations/retrievedataset.ts +1 -1
  372. package/src/models/operations/retrievedatasource.ts +1 -1
  373. package/src/models/operations/retrieveidentity.ts +1 -1
  374. package/src/models/operations/retrievetool.ts +6 -21
  375. package/src/models/operations/routingrulecreate.ts +124 -0
  376. package/src/models/operations/routingruledelete.ts +39 -0
  377. package/src/models/operations/routingruleget.ts +102 -0
  378. package/src/models/operations/routingrulelist.ts +94 -0
  379. package/src/models/operations/routingruleupdate.ts +154 -0
  380. package/src/models/operations/runagent.ts +1 -1
  381. package/src/models/operations/streamrunagent.ts +1 -1
  382. package/src/models/operations/updateagent.ts +0 -3
  383. package/src/models/operations/updatedatapoint.ts +4 -4
  384. package/src/models/operations/updatedataset.ts +1 -1
  385. package/src/models/operations/updatedatasource.ts +1 -1
  386. package/src/models/operations/updateeval.ts +646 -16
  387. package/src/models/operations/updateidentity.ts +1 -1
  388. package/src/models/operations/updatetool.ts +7 -22
  389. package/src/sdk/guardrailrules.ts +99 -0
  390. package/src/sdk/policies.ts +99 -0
  391. package/src/sdk/routingrules.ts +99 -0
  392. package/src/sdk/sdk.ts +18 -0
@@ -0,0 +1,165 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { OrqCore } from "../core.js";
6
+ import { encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { OrqError } from "../models/errors/orqerror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * Get routing rule
29
+ *
30
+ * @remarks
31
+ * Retrieves the details of an existing routing rule by ID.
32
+ */
33
+ export function routingRulesGet(
34
+ client: OrqCore,
35
+ request: operations.RoutingRuleGetRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.RoutingRuleGetResponseBody,
40
+ | OrqError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: OrqCore,
59
+ request: operations.RoutingRuleGetRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.RoutingRuleGetResponseBody,
65
+ | OrqError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.RoutingRuleGetRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ routing_rule_id: encodeSimple("routing_rule_id", payload.routing_rule_id, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+ const path = pathToFunc("/v2/routing-rules/{routing_rule_id}")(pathParams);
95
+
96
+ const headers = new Headers(compactMap({
97
+ Accept: "application/json",
98
+ }));
99
+
100
+ const secConfig = await extractSecurity(client._options.apiKey);
101
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
102
+ const requestSecurity = resolveGlobalSecurity(securityInput);
103
+
104
+ const context = {
105
+ options: client._options,
106
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
107
+ operationID: "RoutingRuleGet",
108
+ oAuth2Scopes: null,
109
+
110
+ resolvedSecurity: requestSecurity,
111
+
112
+ securitySource: client._options.apiKey,
113
+ retryConfig: options?.retries
114
+ || client._options.retryConfig
115
+ || { strategy: "none" },
116
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
117
+ };
118
+
119
+ const requestRes = client._createRequest(context, {
120
+ security: requestSecurity,
121
+ method: "GET",
122
+ baseURL: options?.serverURL,
123
+ path: path,
124
+ headers: headers,
125
+ body: body,
126
+ userAgent: client._options.userAgent,
127
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || 600000,
128
+ }, options);
129
+ if (!requestRes.ok) {
130
+ return [requestRes, { status: "invalid" }];
131
+ }
132
+ const req = requestRes.value;
133
+
134
+ const doResult = await client._do(req, {
135
+ context,
136
+ errorCodes: ["404", "4XX", "5XX"],
137
+ retryConfig: context.retryConfig,
138
+ retryCodes: context.retryCodes,
139
+ });
140
+ if (!doResult.ok) {
141
+ return [doResult, { status: "request-error", request: req }];
142
+ }
143
+ const response = doResult.value;
144
+
145
+ const [result] = await M.match<
146
+ operations.RoutingRuleGetResponseBody,
147
+ | OrqError
148
+ | ResponseValidationError
149
+ | ConnectionError
150
+ | RequestAbortedError
151
+ | RequestTimeoutError
152
+ | InvalidRequestError
153
+ | UnexpectedClientError
154
+ | SDKValidationError
155
+ >(
156
+ M.json(200, operations.RoutingRuleGetResponseBody$inboundSchema),
157
+ M.fail([404, "4XX"]),
158
+ M.fail("5XX"),
159
+ )(response, req);
160
+ if (!result.ok) {
161
+ return [result, { status: "complete", request: req, response }];
162
+ }
163
+
164
+ return [result, { status: "complete", request: req, response }];
165
+ }
@@ -0,0 +1,168 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { OrqCore } from "../core.js";
6
+ import { encodeFormQuery } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { OrqError } from "../models/errors/orqerror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * List routing rules
29
+ *
30
+ * @remarks
31
+ * Returns a paginated list of routing rules for the current project, ordered by priority ascending.
32
+ */
33
+ export function routingRulesList(
34
+ client: OrqCore,
35
+ request?: operations.RoutingRuleListRequest | undefined,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.RoutingRuleListResponseBody,
40
+ | OrqError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: OrqCore,
59
+ request?: operations.RoutingRuleListRequest | undefined,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.RoutingRuleListResponseBody,
65
+ | OrqError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) =>
80
+ operations.RoutingRuleListRequest$outboundSchema.optional().parse(value),
81
+ "Input validation failed",
82
+ );
83
+ if (!parsed.ok) {
84
+ return [parsed, { status: "invalid" }];
85
+ }
86
+ const payload = parsed.value;
87
+ const body = null;
88
+
89
+ const path = pathToFunc("/v2/routing-rules")();
90
+
91
+ const query = encodeFormQuery({
92
+ "ending_before": payload?.ending_before,
93
+ "limit": payload?.limit,
94
+ "project_id": payload?.project_id,
95
+ "starting_after": payload?.starting_after,
96
+ }, { explode: false });
97
+
98
+ const headers = new Headers(compactMap({
99
+ Accept: "application/json",
100
+ }));
101
+
102
+ const secConfig = await extractSecurity(client._options.apiKey);
103
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
104
+ const requestSecurity = resolveGlobalSecurity(securityInput);
105
+
106
+ const context = {
107
+ options: client._options,
108
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
109
+ operationID: "RoutingRuleList",
110
+ oAuth2Scopes: null,
111
+
112
+ resolvedSecurity: requestSecurity,
113
+
114
+ securitySource: client._options.apiKey,
115
+ retryConfig: options?.retries
116
+ || client._options.retryConfig
117
+ || { strategy: "none" },
118
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
119
+ };
120
+
121
+ const requestRes = client._createRequest(context, {
122
+ security: requestSecurity,
123
+ method: "GET",
124
+ baseURL: options?.serverURL,
125
+ path: path,
126
+ headers: headers,
127
+ query: query,
128
+ body: body,
129
+ userAgent: client._options.userAgent,
130
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || 600000,
131
+ }, options);
132
+ if (!requestRes.ok) {
133
+ return [requestRes, { status: "invalid" }];
134
+ }
135
+ const req = requestRes.value;
136
+
137
+ const doResult = await client._do(req, {
138
+ context,
139
+ errorCodes: ["4XX", "5XX"],
140
+ retryConfig: context.retryConfig,
141
+ retryCodes: context.retryCodes,
142
+ });
143
+ if (!doResult.ok) {
144
+ return [doResult, { status: "request-error", request: req }];
145
+ }
146
+ const response = doResult.value;
147
+
148
+ const [result] = await M.match<
149
+ operations.RoutingRuleListResponseBody,
150
+ | OrqError
151
+ | ResponseValidationError
152
+ | ConnectionError
153
+ | RequestAbortedError
154
+ | RequestTimeoutError
155
+ | InvalidRequestError
156
+ | UnexpectedClientError
157
+ | SDKValidationError
158
+ >(
159
+ M.json(200, operations.RoutingRuleListResponseBody$inboundSchema),
160
+ M.fail("4XX"),
161
+ M.fail("5XX"),
162
+ )(response, req);
163
+ if (!result.ok) {
164
+ return [result, { status: "complete", request: req, response }];
165
+ }
166
+
167
+ return [result, { status: "complete", request: req, response }];
168
+ }
@@ -0,0 +1,166 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { OrqCore } from "../core.js";
6
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { OrqError } from "../models/errors/orqerror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * Update routing rule
29
+ *
30
+ * @remarks
31
+ * Partially updates an existing routing rule. Only provided fields are updated.
32
+ */
33
+ export function routingRulesUpdate(
34
+ client: OrqCore,
35
+ request: operations.RoutingRuleUpdateRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.RoutingRuleUpdateResponseBody,
40
+ | OrqError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: OrqCore,
59
+ request: operations.RoutingRuleUpdateRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.RoutingRuleUpdateResponseBody,
65
+ | OrqError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.RoutingRuleUpdateRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = encodeJSON("body", payload.RequestBody, { explode: true });
87
+
88
+ const pathParams = {
89
+ routing_rule_id: encodeSimple("routing_rule_id", payload.routing_rule_id, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+ const path = pathToFunc("/v2/routing-rules/{routing_rule_id}")(pathParams);
95
+
96
+ const headers = new Headers(compactMap({
97
+ "Content-Type": "application/json",
98
+ Accept: "application/json",
99
+ }));
100
+
101
+ const secConfig = await extractSecurity(client._options.apiKey);
102
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
103
+ const requestSecurity = resolveGlobalSecurity(securityInput);
104
+
105
+ const context = {
106
+ options: client._options,
107
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
108
+ operationID: "RoutingRuleUpdate",
109
+ oAuth2Scopes: null,
110
+
111
+ resolvedSecurity: requestSecurity,
112
+
113
+ securitySource: client._options.apiKey,
114
+ retryConfig: options?.retries
115
+ || client._options.retryConfig
116
+ || { strategy: "none" },
117
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
118
+ };
119
+
120
+ const requestRes = client._createRequest(context, {
121
+ security: requestSecurity,
122
+ method: "PATCH",
123
+ baseURL: options?.serverURL,
124
+ path: path,
125
+ headers: headers,
126
+ body: body,
127
+ userAgent: client._options.userAgent,
128
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || 600000,
129
+ }, options);
130
+ if (!requestRes.ok) {
131
+ return [requestRes, { status: "invalid" }];
132
+ }
133
+ const req = requestRes.value;
134
+
135
+ const doResult = await client._do(req, {
136
+ context,
137
+ errorCodes: ["400", "404", "4XX", "5XX"],
138
+ retryConfig: context.retryConfig,
139
+ retryCodes: context.retryCodes,
140
+ });
141
+ if (!doResult.ok) {
142
+ return [doResult, { status: "request-error", request: req }];
143
+ }
144
+ const response = doResult.value;
145
+
146
+ const [result] = await M.match<
147
+ operations.RoutingRuleUpdateResponseBody,
148
+ | OrqError
149
+ | ResponseValidationError
150
+ | ConnectionError
151
+ | RequestAbortedError
152
+ | RequestTimeoutError
153
+ | InvalidRequestError
154
+ | UnexpectedClientError
155
+ | SDKValidationError
156
+ >(
157
+ M.json(200, operations.RoutingRuleUpdateResponseBody$inboundSchema),
158
+ M.fail([400, 404, "4XX"]),
159
+ M.fail("5XX"),
160
+ )(response, req);
161
+ if (!result.ok) {
162
+ return [result, { status: "complete", request: req, response }];
163
+ }
164
+
165
+ return [result, { status: "complete", request: req, response }];
166
+ }
package/src/lib/config.ts CHANGED
@@ -68,7 +68,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
68
68
  export const SDK_METADATA = {
69
69
  language: "typescript",
70
70
  openapiDocVersion: "2.0",
71
- sdkVersion: "4.8.0-rc.1",
72
- genVersion: "2.879.6",
73
- userAgent: "speakeasy-sdk/typescript 4.8.0-rc.1 2.879.6 2.0 @orq-ai/node",
71
+ sdkVersion: "4.8.0-rc.10",
72
+ genVersion: "2.879.11",
73
+ userAgent: "speakeasy-sdk/typescript 4.8.0-rc.10 2.879.11 2.0 @orq-ai/node",
74
74
  } as const;
@@ -514,3 +514,12 @@ export function appendForm(
514
514
  fd.append(key, String(value));
515
515
  }
516
516
  }
517
+
518
+ export async function normalizeBlob(
519
+ value: Pick<Blob, "arrayBuffer" | "type">,
520
+ ): Promise<Blob> {
521
+ if (value instanceof Blob) {
522
+ return value;
523
+ }
524
+ return new Blob([await value.arrayBuffer()], { type: value.type });
525
+ }
@@ -112,14 +112,16 @@ export type Tools = {
112
112
  /**
113
113
  * Determines whether the evaluator runs on the agent input (user message) or output (agent response).
114
114
  */
115
- export const ExecuteOn = {
115
+ export const AgentStartedStreamingEventDataExecuteOn = {
116
116
  Input: "input",
117
117
  Output: "output",
118
118
  } as const;
119
119
  /**
120
120
  * Determines whether the evaluator runs on the agent input (user message) or output (agent response).
121
121
  */
122
- export type ExecuteOn = ClosedEnum<typeof ExecuteOn>;
122
+ export type AgentStartedStreamingEventDataExecuteOn = ClosedEnum<
123
+ typeof AgentStartedStreamingEventDataExecuteOn
124
+ >;
123
125
 
124
126
  export type Evaluators = {
125
127
  /**
@@ -133,7 +135,7 @@ export type Evaluators = {
133
135
  /**
134
136
  * Determines whether the evaluator runs on the agent input (user message) or output (agent response).
135
137
  */
136
- executeOn: ExecuteOn;
138
+ executeOn: AgentStartedStreamingEventDataExecuteOn;
137
139
  };
138
140
 
139
141
  /**
@@ -352,8 +354,9 @@ export function toolsFromJSON(
352
354
  }
353
355
 
354
356
  /** @internal */
355
- export const ExecuteOn$inboundSchema: z.ZodNativeEnum<typeof ExecuteOn> = z
356
- .nativeEnum(ExecuteOn);
357
+ export const AgentStartedStreamingEventDataExecuteOn$inboundSchema:
358
+ z.ZodNativeEnum<typeof AgentStartedStreamingEventDataExecuteOn> = z
359
+ .nativeEnum(AgentStartedStreamingEventDataExecuteOn);
357
360
 
358
361
  /** @internal */
359
362
  export const Evaluators$inboundSchema: z.ZodType<
@@ -363,7 +366,7 @@ export const Evaluators$inboundSchema: z.ZodType<
363
366
  > = z.object({
364
367
  id: z.string(),
365
368
  sample_rate: z.number().default(50),
366
- execute_on: ExecuteOn$inboundSchema,
369
+ execute_on: AgentStartedStreamingEventDataExecuteOn$inboundSchema,
367
370
  }).transform((v) => {
368
371
  return remap$(v, {
369
372
  "sample_rate": "sampleRate",
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { ClosedEnum } from "../../types/enums.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export const Currency = {
12
+ Usd: "usd",
13
+ } as const;
14
+ export type Currency = ClosedEnum<typeof Currency>;
15
+
16
+ export const Period = {
17
+ Hour: "hour",
18
+ Day: "day",
19
+ Week: "week",
20
+ Month: "month",
21
+ } as const;
22
+ export type Period = ClosedEnum<typeof Period>;
23
+
24
+ export type BudgetLimit = {
25
+ amount: number;
26
+ currency: Currency;
27
+ period: Period;
28
+ };
29
+
30
+ /** @internal */
31
+ export const Currency$inboundSchema: z.ZodNativeEnum<typeof Currency> = z
32
+ .nativeEnum(Currency);
33
+ /** @internal */
34
+ export const Currency$outboundSchema: z.ZodNativeEnum<typeof Currency> =
35
+ Currency$inboundSchema;
36
+
37
+ /** @internal */
38
+ export const Period$inboundSchema: z.ZodNativeEnum<typeof Period> = z
39
+ .nativeEnum(Period);
40
+ /** @internal */
41
+ export const Period$outboundSchema: z.ZodNativeEnum<typeof Period> =
42
+ Period$inboundSchema;
43
+
44
+ /** @internal */
45
+ export const BudgetLimit$inboundSchema: z.ZodType<
46
+ BudgetLimit,
47
+ z.ZodTypeDef,
48
+ unknown
49
+ > = z.object({
50
+ amount: z.number(),
51
+ currency: Currency$inboundSchema,
52
+ period: Period$inboundSchema,
53
+ });
54
+ /** @internal */
55
+ export type BudgetLimit$Outbound = {
56
+ amount: number;
57
+ currency: string;
58
+ period: string;
59
+ };
60
+
61
+ /** @internal */
62
+ export const BudgetLimit$outboundSchema: z.ZodType<
63
+ BudgetLimit$Outbound,
64
+ z.ZodTypeDef,
65
+ BudgetLimit
66
+ > = z.object({
67
+ amount: z.number(),
68
+ currency: Currency$outboundSchema,
69
+ period: Period$outboundSchema,
70
+ });
71
+
72
+ export function budgetLimitToJSON(budgetLimit: BudgetLimit): string {
73
+ return JSON.stringify(BudgetLimit$outboundSchema.parse(budgetLimit));
74
+ }
75
+ export function budgetLimitFromJSON(
76
+ jsonString: string,
77
+ ): SafeParseResult<BudgetLimit, SDKValidationError> {
78
+ return safeParse(
79
+ jsonString,
80
+ (x) => BudgetLimit$inboundSchema.parse(JSON.parse(x)),
81
+ `Failed to parse 'BudgetLimit' from JSON`,
82
+ );
83
+ }