@orq-ai/node 3.5.13 → 3.6.0-rc.11

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 (394) hide show
  1. package/README.md +6 -0
  2. package/bin/mcp-server.js +4828 -608
  3. package/bin/mcp-server.js.map +44 -35
  4. package/docs/sdks/datasets/README.md +91 -4
  5. package/docs/sdks/deployments/README.md +89 -0
  6. package/docs/sdks/knowledge/README.md +81 -4
  7. package/docs/sdks/prompts/README.md +4 -4
  8. package/funcs/datasetsCreateExperiment.d.ts +16 -0
  9. package/funcs/datasetsCreateExperiment.d.ts.map +1 -0
  10. package/funcs/datasetsCreateExperiment.js +118 -0
  11. package/funcs/datasetsCreateExperiment.js.map +1 -0
  12. package/funcs/deploymentsCreateExperiment.d.ts +16 -0
  13. package/funcs/deploymentsCreateExperiment.d.ts.map +1 -0
  14. package/funcs/deploymentsCreateExperiment.js +118 -0
  15. package/funcs/deploymentsCreateExperiment.js.map +1 -0
  16. package/funcs/knowledgeSearch.d.ts +16 -0
  17. package/funcs/knowledgeSearch.d.ts.map +1 -0
  18. package/funcs/knowledgeSearch.js +118 -0
  19. package/funcs/knowledgeSearch.js.map +1 -0
  20. package/jsr.json +1 -1
  21. package/lib/config.d.ts +2 -2
  22. package/lib/config.js +2 -2
  23. package/lib/config.js.map +1 -1
  24. package/mcp-server/mcp-server.js +1 -1
  25. package/mcp-server/mcp-server.js.map +1 -1
  26. package/mcp-server/server.d.ts.map +1 -1
  27. package/mcp-server/server.js +7 -1
  28. package/mcp-server/server.js.map +1 -1
  29. package/mcp-server/tools/datasetsCreateExperiment.d.ts +8 -0
  30. package/mcp-server/tools/datasetsCreateExperiment.d.ts.map +1 -0
  31. package/mcp-server/tools/datasetsCreateExperiment.js +64 -0
  32. package/mcp-server/tools/datasetsCreateExperiment.js.map +1 -0
  33. package/mcp-server/tools/deploymentsCreateExperiment.d.ts +8 -0
  34. package/mcp-server/tools/deploymentsCreateExperiment.d.ts.map +1 -0
  35. package/mcp-server/tools/deploymentsCreateExperiment.js +64 -0
  36. package/mcp-server/tools/deploymentsCreateExperiment.js.map +1 -0
  37. package/mcp-server/tools/knowledgeSearch.d.ts +8 -0
  38. package/mcp-server/tools/knowledgeSearch.d.ts.map +1 -0
  39. package/mcp-server/tools/knowledgeSearch.js +64 -0
  40. package/mcp-server/tools/knowledgeSearch.js.map +1 -0
  41. package/models/components/deployments.d.ts +1442 -67
  42. package/models/components/deployments.d.ts.map +1 -1
  43. package/models/components/deployments.js +1881 -126
  44. package/models/components/deployments.js.map +1 -1
  45. package/models/operations/bulkcreatedatapoints.js +2 -2
  46. package/models/operations/createchunk.d.ts +32 -17
  47. package/models/operations/createchunk.d.ts.map +1 -1
  48. package/models/operations/createchunk.js +30 -19
  49. package/models/operations/createchunk.js.map +1 -1
  50. package/models/operations/createcontact.js +2 -2
  51. package/models/operations/createdataset.js +2 -2
  52. package/models/operations/createdatasetexperiment.d.ts +140 -0
  53. package/models/operations/createdatasetexperiment.d.ts.map +1 -0
  54. package/models/operations/createdatasetexperiment.js +188 -0
  55. package/models/operations/createdatasetexperiment.js.map +1 -0
  56. package/models/operations/createdatasetitem.js +2 -2
  57. package/models/operations/createdatasource.js +2 -2
  58. package/models/operations/createdeploymentexperiment.d.ts +152 -0
  59. package/models/operations/createdeploymentexperiment.d.ts.map +1 -0
  60. package/models/operations/createdeploymentexperiment.js +189 -0
  61. package/models/operations/createdeploymentexperiment.js.map +1 -0
  62. package/models/operations/deploymentcreatemetric.d.ts +240 -28
  63. package/models/operations/deploymentcreatemetric.d.ts.map +1 -1
  64. package/models/operations/deploymentcreatemetric.js +236 -29
  65. package/models/operations/deploymentcreatemetric.js.map +1 -1
  66. package/models/operations/deploymentgetconfig.d.ts +1428 -53
  67. package/models/operations/deploymentgetconfig.d.ts.map +1 -1
  68. package/models/operations/deploymentgetconfig.js +1876 -120
  69. package/models/operations/deploymentgetconfig.js.map +1 -1
  70. package/models/operations/deploymentinvoke.d.ts +34 -4
  71. package/models/operations/deploymentinvoke.d.ts.map +1 -1
  72. package/models/operations/deploymentinvoke.js +30 -4
  73. package/models/operations/deploymentinvoke.js.map +1 -1
  74. package/models/operations/deploymentstream.d.ts +1425 -50
  75. package/models/operations/deploymentstream.d.ts.map +1 -1
  76. package/models/operations/deploymentstream.js +1840 -88
  77. package/models/operations/deploymentstream.js.map +1 -1
  78. package/models/operations/fileget.js +2 -2
  79. package/models/operations/filelist.js +2 -2
  80. package/models/operations/fileupload.d.ts +15 -15
  81. package/models/operations/fileupload.d.ts.map +1 -1
  82. package/models/operations/fileupload.js +20 -21
  83. package/models/operations/fileupload.js.map +1 -1
  84. package/models/operations/getonechunk.d.ts +24 -3
  85. package/models/operations/getonechunk.d.ts.map +1 -1
  86. package/models/operations/getonechunk.js +26 -3
  87. package/models/operations/getonechunk.js.map +1 -1
  88. package/models/operations/index.d.ts +3 -0
  89. package/models/operations/index.d.ts.map +1 -1
  90. package/models/operations/index.js +3 -0
  91. package/models/operations/index.js.map +1 -1
  92. package/models/operations/listchunks.d.ts +24 -3
  93. package/models/operations/listchunks.d.ts.map +1 -1
  94. package/models/operations/listchunks.js +26 -3
  95. package/models/operations/listchunks.js.map +1 -1
  96. package/models/operations/listdatasetdatapoints.js +2 -2
  97. package/models/operations/listdatasets.js +2 -2
  98. package/models/operations/listdatasources.js +2 -2
  99. package/models/operations/retrievedatapoint.js +2 -2
  100. package/models/operations/retrievedataset.js +2 -2
  101. package/models/operations/retrievedatasource.js +2 -2
  102. package/models/operations/searchknowledge.d.ts +1379 -0
  103. package/models/operations/searchknowledge.d.ts.map +1 -0
  104. package/models/operations/searchknowledge.js +1817 -0
  105. package/models/operations/searchknowledge.js.map +1 -0
  106. package/models/operations/updatechunk.d.ts +32 -17
  107. package/models/operations/updatechunk.d.ts.map +1 -1
  108. package/models/operations/updatechunk.js +30 -19
  109. package/models/operations/updatechunk.js.map +1 -1
  110. package/models/operations/updatedatapoint.js +2 -2
  111. package/models/operations/updatedataset.js +2 -2
  112. package/models/operations/updatedatasource.js +2 -2
  113. package/package.json +3 -2
  114. package/sdk/datasets.d.ts +7 -0
  115. package/sdk/datasets.d.ts.map +1 -1
  116. package/sdk/datasets.js +10 -0
  117. package/sdk/datasets.js.map +1 -1
  118. package/sdk/deployments.d.ts +7 -0
  119. package/sdk/deployments.d.ts.map +1 -1
  120. package/sdk/deployments.js +10 -0
  121. package/sdk/deployments.js.map +1 -1
  122. package/sdk/knowledge.d.ts +7 -0
  123. package/sdk/knowledge.d.ts.map +1 -1
  124. package/sdk/knowledge.js +10 -0
  125. package/sdk/knowledge.js.map +1 -1
  126. package/src/lib/config.ts +2 -2
  127. package/src/mcp-server/mcp-server.ts +1 -1
  128. package/src/mcp-server/server.ts +7 -1
  129. package/src/models/components/deployments.ts +3655 -165
  130. package/src/models/operations/bulkcreatedatapoints.ts +2 -2
  131. package/src/models/operations/createchunk.ts +65 -35
  132. package/src/models/operations/createcontact.ts +2 -2
  133. package/src/models/operations/createdataset.ts +2 -2
  134. package/src/models/operations/createdatasetitem.ts +2 -2
  135. package/src/models/operations/createdatasource.ts +2 -2
  136. package/src/models/operations/deploymentcreatemetric.ts +517 -40
  137. package/src/models/operations/deploymentgetconfig.ts +3656 -118
  138. package/src/models/operations/deploymentinvoke.ts +64 -8
  139. package/src/models/operations/deploymentstream.ts +3997 -116
  140. package/src/models/operations/fileget.ts +2 -2
  141. package/src/models/operations/filelist.ts +2 -2
  142. package/src/models/operations/fileupload.ts +37 -34
  143. package/src/models/operations/getonechunk.ts +55 -5
  144. package/src/models/operations/index.ts +3 -0
  145. package/src/models/operations/listchunks.ts +55 -5
  146. package/src/models/operations/listdatasetdatapoints.ts +2 -2
  147. package/src/models/operations/listdatasets.ts +2 -2
  148. package/src/models/operations/listdatasources.ts +2 -2
  149. package/src/models/operations/retrievedatapoint.ts +2 -2
  150. package/src/models/operations/retrievedataset.ts +2 -2
  151. package/src/models/operations/retrievedatasource.ts +2 -2
  152. package/src/models/operations/updatechunk.ts +65 -35
  153. package/src/models/operations/updatedatapoint.ts +2 -2
  154. package/src/models/operations/updatedataset.ts +2 -2
  155. package/src/models/operations/updatedatasource.ts +2 -2
  156. package/src/sdk/datasets.ts +18 -0
  157. package/src/sdk/deployments.ts +18 -0
  158. package/src/sdk/knowledge.ts +18 -0
  159. package/packages/orq-rc/FUNCTIONS.md +0 -106
  160. package/packages/orq-rc/README.md +0 -707
  161. package/packages/orq-rc/RUNTIMES.md +0 -48
  162. package/packages/orq-rc/docs/sdks/contacts/README.md +0 -84
  163. package/packages/orq-rc/docs/sdks/datasets/README.md +0 -1027
  164. package/packages/orq-rc/docs/sdks/deployments/README.md +0 -405
  165. package/packages/orq-rc/docs/sdks/feedback/README.md +0 -92
  166. package/packages/orq-rc/docs/sdks/files/README.md +0 -311
  167. package/packages/orq-rc/docs/sdks/knowledge/README.md +0 -1273
  168. package/packages/orq-rc/docs/sdks/metrics/README.md +0 -86
  169. package/packages/orq-rc/docs/sdks/models/README.md +0 -79
  170. package/packages/orq-rc/docs/sdks/orq/README.md +0 -10
  171. package/packages/orq-rc/docs/sdks/prompts/README.md +0 -576
  172. package/packages/orq-rc/docs/sdks/remoteconfigs/README.md +0 -80
  173. package/packages/orq-rc/jsr.json +0 -28
  174. package/packages/orq-rc/package-lock.json +0 -3217
  175. package/packages/orq-rc/package.json +0 -45
  176. package/packages/orq-rc/src/core.ts +0 -13
  177. package/packages/orq-rc/src/funcs/contactsCreate.ts +0 -154
  178. package/packages/orq-rc/src/funcs/datasetsClear.ts +0 -161
  179. package/packages/orq-rc/src/funcs/datasetsCreate.ts +0 -159
  180. package/packages/orq-rc/src/funcs/datasetsCreateDatapoint.ts +0 -161
  181. package/packages/orq-rc/src/funcs/datasetsCreateDatapoints.ts +0 -165
  182. package/packages/orq-rc/src/funcs/datasetsDelete.ts +0 -161
  183. package/packages/orq-rc/src/funcs/datasetsDeleteDatapoint.ts +0 -176
  184. package/packages/orq-rc/src/funcs/datasetsList.ts +0 -161
  185. package/packages/orq-rc/src/funcs/datasetsListDatapoints.ts +0 -168
  186. package/packages/orq-rc/src/funcs/datasetsRetrieve.ts +0 -169
  187. package/packages/orq-rc/src/funcs/datasetsRetrieveDatapoint.ts +0 -175
  188. package/packages/orq-rc/src/funcs/datasetsUpdate.ts +0 -170
  189. package/packages/orq-rc/src/funcs/datasetsUpdateDatapoint.ts +0 -173
  190. package/packages/orq-rc/src/funcs/deploymentsGetConfig.ts +0 -162
  191. package/packages/orq-rc/src/funcs/deploymentsInvoke.ts +0 -170
  192. package/packages/orq-rc/src/funcs/deploymentsList.ts +0 -170
  193. package/packages/orq-rc/src/funcs/deploymentsMetricsCreate.ts +0 -162
  194. package/packages/orq-rc/src/funcs/deploymentsStream.ts +0 -178
  195. package/packages/orq-rc/src/funcs/feedbackCreate.ts +0 -154
  196. package/packages/orq-rc/src/funcs/filesCreate.ts +0 -174
  197. package/packages/orq-rc/src/funcs/filesDelete.ts +0 -158
  198. package/packages/orq-rc/src/funcs/filesGet.ts +0 -160
  199. package/packages/orq-rc/src/funcs/filesList.ts +0 -161
  200. package/packages/orq-rc/src/funcs/knowledgeCreate.ts +0 -152
  201. package/packages/orq-rc/src/funcs/knowledgeCreateChunks.ts +0 -165
  202. package/packages/orq-rc/src/funcs/knowledgeCreateDatasource.ts +0 -160
  203. package/packages/orq-rc/src/funcs/knowledgeDelete.ts +0 -161
  204. package/packages/orq-rc/src/funcs/knowledgeDeleteChunk.ts +0 -168
  205. package/packages/orq-rc/src/funcs/knowledgeDeleteDatasource.ts +0 -167
  206. package/packages/orq-rc/src/funcs/knowledgeList.ts +0 -163
  207. package/packages/orq-rc/src/funcs/knowledgeListChunks.ts +0 -172
  208. package/packages/orq-rc/src/funcs/knowledgeListDatasources.ts +0 -168
  209. package/packages/orq-rc/src/funcs/knowledgeRetrieve.ts +0 -160
  210. package/packages/orq-rc/src/funcs/knowledgeRetrieveChunk.ts +0 -167
  211. package/packages/orq-rc/src/funcs/knowledgeRetrieveDatasource.ts +0 -163
  212. package/packages/orq-rc/src/funcs/knowledgeUpdate.ts +0 -158
  213. package/packages/orq-rc/src/funcs/knowledgeUpdateChunk.ts +0 -168
  214. package/packages/orq-rc/src/funcs/knowledgeUpdateDatasource.ts +0 -164
  215. package/packages/orq-rc/src/funcs/modelsList.ts +0 -136
  216. package/packages/orq-rc/src/funcs/promptsCreate.ts +0 -154
  217. package/packages/orq-rc/src/funcs/promptsDelete.ts +0 -158
  218. package/packages/orq-rc/src/funcs/promptsGetVersion.ts +0 -175
  219. package/packages/orq-rc/src/funcs/promptsList.ts +0 -161
  220. package/packages/orq-rc/src/funcs/promptsListVersions.ts +0 -167
  221. package/packages/orq-rc/src/funcs/promptsRetrieve.ts +0 -160
  222. package/packages/orq-rc/src/funcs/promptsUpdate.ts +0 -167
  223. package/packages/orq-rc/src/funcs/remoteconfigsRetrieve.ts +0 -155
  224. package/packages/orq-rc/src/hooks/global.ts +0 -44
  225. package/packages/orq-rc/src/hooks/hooks.ts +0 -132
  226. package/packages/orq-rc/src/hooks/index.ts +0 -6
  227. package/packages/orq-rc/src/hooks/registration.ts +0 -15
  228. package/packages/orq-rc/src/hooks/types.ts +0 -110
  229. package/packages/orq-rc/src/index.ts +0 -7
  230. package/packages/orq-rc/src/lib/base64.ts +0 -37
  231. package/packages/orq-rc/src/lib/config.ts +0 -70
  232. package/packages/orq-rc/src/lib/dlv.ts +0 -53
  233. package/packages/orq-rc/src/lib/encodings.ts +0 -483
  234. package/packages/orq-rc/src/lib/env.ts +0 -73
  235. package/packages/orq-rc/src/lib/event-streams.ts +0 -264
  236. package/packages/orq-rc/src/lib/files.ts +0 -40
  237. package/packages/orq-rc/src/lib/http.ts +0 -323
  238. package/packages/orq-rc/src/lib/is-plain-object.ts +0 -43
  239. package/packages/orq-rc/src/lib/logger.ts +0 -9
  240. package/packages/orq-rc/src/lib/matchers.ts +0 -345
  241. package/packages/orq-rc/src/lib/primitives.ts +0 -150
  242. package/packages/orq-rc/src/lib/retries.ts +0 -218
  243. package/packages/orq-rc/src/lib/schemas.ts +0 -91
  244. package/packages/orq-rc/src/lib/sdks.ts +0 -401
  245. package/packages/orq-rc/src/lib/security.ts +0 -261
  246. package/packages/orq-rc/src/lib/url.ts +0 -33
  247. package/packages/orq-rc/src/mcp-server/cli/start/command.ts +0 -125
  248. package/packages/orq-rc/src/mcp-server/cli/start/impl.ts +0 -140
  249. package/packages/orq-rc/src/mcp-server/cli.ts +0 -13
  250. package/packages/orq-rc/src/mcp-server/console-logger.ts +0 -71
  251. package/packages/orq-rc/src/mcp-server/extensions.ts +0 -17
  252. package/packages/orq-rc/src/mcp-server/mcp-server.ts +0 -26
  253. package/packages/orq-rc/src/mcp-server/prompts.ts +0 -117
  254. package/packages/orq-rc/src/mcp-server/resources.ts +0 -172
  255. package/packages/orq-rc/src/mcp-server/scopes.ts +0 -7
  256. package/packages/orq-rc/src/mcp-server/server.ts +0 -163
  257. package/packages/orq-rc/src/mcp-server/shared.ts +0 -75
  258. package/packages/orq-rc/src/mcp-server/tools/contactsCreate.ts +0 -37
  259. package/packages/orq-rc/src/mcp-server/tools/datasetsClear.ts +0 -35
  260. package/packages/orq-rc/src/mcp-server/tools/datasetsCreate.ts +0 -37
  261. package/packages/orq-rc/src/mcp-server/tools/datasetsCreateDatapoint.ts +0 -37
  262. package/packages/orq-rc/src/mcp-server/tools/datasetsCreateDatapoints.ts +0 -37
  263. package/packages/orq-rc/src/mcp-server/tools/datasetsDelete.ts +0 -35
  264. package/packages/orq-rc/src/mcp-server/tools/datasetsDeleteDatapoint.ts +0 -35
  265. package/packages/orq-rc/src/mcp-server/tools/datasetsList.ts +0 -37
  266. package/packages/orq-rc/src/mcp-server/tools/datasetsListDatapoints.ts +0 -37
  267. package/packages/orq-rc/src/mcp-server/tools/datasetsRetrieve.ts +0 -37
  268. package/packages/orq-rc/src/mcp-server/tools/datasetsRetrieveDatapoint.ts +0 -37
  269. package/packages/orq-rc/src/mcp-server/tools/datasetsUpdate.ts +0 -37
  270. package/packages/orq-rc/src/mcp-server/tools/datasetsUpdateDatapoint.ts +0 -35
  271. package/packages/orq-rc/src/mcp-server/tools/deploymentsGetConfig.ts +0 -37
  272. package/packages/orq-rc/src/mcp-server/tools/deploymentsInvoke.ts +0 -37
  273. package/packages/orq-rc/src/mcp-server/tools/deploymentsList.ts +0 -37
  274. package/packages/orq-rc/src/mcp-server/tools/deploymentsMetricsCreate.ts +0 -37
  275. package/packages/orq-rc/src/mcp-server/tools/deploymentsStream.ts +0 -37
  276. package/packages/orq-rc/src/mcp-server/tools/feedbackCreate.ts +0 -37
  277. package/packages/orq-rc/src/mcp-server/tools/filesCreate.ts +0 -37
  278. package/packages/orq-rc/src/mcp-server/tools/filesDelete.ts +0 -33
  279. package/packages/orq-rc/src/mcp-server/tools/filesGet.ts +0 -37
  280. package/packages/orq-rc/src/mcp-server/tools/filesList.ts +0 -37
  281. package/packages/orq-rc/src/mcp-server/tools/knowledgeCreate.ts +0 -35
  282. package/packages/orq-rc/src/mcp-server/tools/knowledgeCreateChunks.ts +0 -35
  283. package/packages/orq-rc/src/mcp-server/tools/knowledgeCreateDatasource.ts +0 -35
  284. package/packages/orq-rc/src/mcp-server/tools/knowledgeDelete.ts +0 -35
  285. package/packages/orq-rc/src/mcp-server/tools/knowledgeDeleteChunk.ts +0 -33
  286. package/packages/orq-rc/src/mcp-server/tools/knowledgeDeleteDatasource.ts +0 -35
  287. package/packages/orq-rc/src/mcp-server/tools/knowledgeList.ts +0 -37
  288. package/packages/orq-rc/src/mcp-server/tools/knowledgeListChunks.ts +0 -35
  289. package/packages/orq-rc/src/mcp-server/tools/knowledgeListDatasources.ts +0 -35
  290. package/packages/orq-rc/src/mcp-server/tools/knowledgeRetrieve.ts +0 -37
  291. package/packages/orq-rc/src/mcp-server/tools/knowledgeRetrieveChunk.ts +0 -35
  292. package/packages/orq-rc/src/mcp-server/tools/knowledgeRetrieveDatasource.ts +0 -35
  293. package/packages/orq-rc/src/mcp-server/tools/knowledgeUpdate.ts +0 -35
  294. package/packages/orq-rc/src/mcp-server/tools/knowledgeUpdateChunk.ts +0 -35
  295. package/packages/orq-rc/src/mcp-server/tools/knowledgeUpdateDatasource.ts +0 -35
  296. package/packages/orq-rc/src/mcp-server/tools/modelsList.ts +0 -30
  297. package/packages/orq-rc/src/mcp-server/tools/promptsCreate.ts +0 -35
  298. package/packages/orq-rc/src/mcp-server/tools/promptsDelete.ts +0 -33
  299. package/packages/orq-rc/src/mcp-server/tools/promptsGetVersion.ts +0 -37
  300. package/packages/orq-rc/src/mcp-server/tools/promptsList.ts +0 -37
  301. package/packages/orq-rc/src/mcp-server/tools/promptsListVersions.ts +0 -37
  302. package/packages/orq-rc/src/mcp-server/tools/promptsRetrieve.ts +0 -37
  303. package/packages/orq-rc/src/mcp-server/tools/promptsUpdate.ts +0 -35
  304. package/packages/orq-rc/src/mcp-server/tools/remoteconfigsRetrieve.ts +0 -36
  305. package/packages/orq-rc/src/mcp-server/tools.ts +0 -129
  306. package/packages/orq-rc/src/models/components/deployments.ts +0 -7749
  307. package/packages/orq-rc/src/models/components/index.ts +0 -6
  308. package/packages/orq-rc/src/models/components/security.ts +0 -71
  309. package/packages/orq-rc/src/models/errors/apierror.ts +0 -27
  310. package/packages/orq-rc/src/models/errors/getpromptversion.ts +0 -71
  311. package/packages/orq-rc/src/models/errors/honoapierror.ts +0 -82
  312. package/packages/orq-rc/src/models/errors/httpclienterrors.ts +0 -62
  313. package/packages/orq-rc/src/models/errors/index.ts +0 -10
  314. package/packages/orq-rc/src/models/errors/sdkvalidationerror.ts +0 -97
  315. package/packages/orq-rc/src/models/errors/updateprompt.ts +0 -71
  316. package/packages/orq-rc/src/models/operations/bulkcreatedatapoints.ts +0 -1828
  317. package/packages/orq-rc/src/models/operations/cleardataset.ts +0 -75
  318. package/packages/orq-rc/src/models/operations/createchunk.ts +0 -432
  319. package/packages/orq-rc/src/models/operations/createcontact.ts +0 -256
  320. package/packages/orq-rc/src/models/operations/createdataset.ts +0 -296
  321. package/packages/orq-rc/src/models/operations/createdatasetitem.ts +0 -1752
  322. package/packages/orq-rc/src/models/operations/createdatasource.ts +0 -852
  323. package/packages/orq-rc/src/models/operations/createfeedback.ts +0 -286
  324. package/packages/orq-rc/src/models/operations/createknowledge.ts +0 -846
  325. package/packages/orq-rc/src/models/operations/createprompt.ts +0 -3691
  326. package/packages/orq-rc/src/models/operations/deletechunk.ts +0 -96
  327. package/packages/orq-rc/src/models/operations/deletedatapoint.ts +0 -81
  328. package/packages/orq-rc/src/models/operations/deletedataset.ts +0 -75
  329. package/packages/orq-rc/src/models/operations/deletedatasource.ts +0 -87
  330. package/packages/orq-rc/src/models/operations/deleteknowledge.ts +0 -78
  331. package/packages/orq-rc/src/models/operations/deleteprompt.ts +0 -69
  332. package/packages/orq-rc/src/models/operations/deploymentcreatemetric.ts +0 -5435
  333. package/packages/orq-rc/src/models/operations/deploymentgetconfig.ts +0 -9694
  334. package/packages/orq-rc/src/models/operations/deploymentinvoke.ts +0 -1255
  335. package/packages/orq-rc/src/models/operations/deployments.ts +0 -2128
  336. package/packages/orq-rc/src/models/operations/deploymentstream.ts +0 -9946
  337. package/packages/orq-rc/src/models/operations/filedelete.ts +0 -78
  338. package/packages/orq-rc/src/models/operations/fileget.ts +0 -223
  339. package/packages/orq-rc/src/models/operations/filelist.ts +0 -337
  340. package/packages/orq-rc/src/models/operations/fileupload.ts +0 -327
  341. package/packages/orq-rc/src/models/operations/getallprompts.ts +0 -2100
  342. package/packages/orq-rc/src/models/operations/getonechunk.ts +0 -315
  343. package/packages/orq-rc/src/models/operations/getoneknowledge.ts +0 -537
  344. package/packages/orq-rc/src/models/operations/getoneprompt.ts +0 -1966
  345. package/packages/orq-rc/src/models/operations/getpromptversion.ts +0 -1962
  346. package/packages/orq-rc/src/models/operations/index.ts +0 -54
  347. package/packages/orq-rc/src/models/operations/listchunks.ts +0 -494
  348. package/packages/orq-rc/src/models/operations/listdatasetdatapoints.ts +0 -1077
  349. package/packages/orq-rc/src/models/operations/listdatasets.ts +0 -406
  350. package/packages/orq-rc/src/models/operations/listdatasources.ts +0 -447
  351. package/packages/orq-rc/src/models/operations/listknowledgebases.ts +0 -663
  352. package/packages/orq-rc/src/models/operations/listmodels.ts +0 -273
  353. package/packages/orq-rc/src/models/operations/listpromptversions.ts +0 -2096
  354. package/packages/orq-rc/src/models/operations/remoteconfigsgetconfig.ts +0 -190
  355. package/packages/orq-rc/src/models/operations/retrievedatapoint.ts +0 -930
  356. package/packages/orq-rc/src/models/operations/retrievedataset.ts +0 -288
  357. package/packages/orq-rc/src/models/operations/retrievedatasource.ts +0 -273
  358. package/packages/orq-rc/src/models/operations/updatechunk.ts +0 -448
  359. package/packages/orq-rc/src/models/operations/updatedatapoint.ts +0 -1741
  360. package/packages/orq-rc/src/models/operations/updatedataset.ts +0 -393
  361. package/packages/orq-rc/src/models/operations/updatedatasource.ts +0 -345
  362. package/packages/orq-rc/src/models/operations/updateknowledge.ts +0 -980
  363. package/packages/orq-rc/src/models/operations/updateprompt.ts +0 -3873
  364. package/packages/orq-rc/src/sdk/contacts.ts +0 -27
  365. package/packages/orq-rc/src/sdk/datasets.ts +0 -240
  366. package/packages/orq-rc/src/sdk/deployments.ts +0 -107
  367. package/packages/orq-rc/src/sdk/feedback.ts +0 -27
  368. package/packages/orq-rc/src/sdk/files.ts +0 -78
  369. package/packages/orq-rc/src/sdk/index.ts +0 -5
  370. package/packages/orq-rc/src/sdk/knowledge.ts +0 -264
  371. package/packages/orq-rc/src/sdk/metrics.ts +0 -27
  372. package/packages/orq-rc/src/sdk/models.ts +0 -25
  373. package/packages/orq-rc/src/sdk/prompts.ts +0 -126
  374. package/packages/orq-rc/src/sdk/remoteconfigs.ts +0 -24
  375. package/packages/orq-rc/src/sdk/sdk.ts +0 -61
  376. package/packages/orq-rc/src/types/async.ts +0 -68
  377. package/packages/orq-rc/src/types/blobs.ts +0 -31
  378. package/packages/orq-rc/src/types/constdatetime.ts +0 -15
  379. package/packages/orq-rc/src/types/enums.ts +0 -16
  380. package/packages/orq-rc/src/types/fp.ts +0 -50
  381. package/packages/orq-rc/src/types/index.ts +0 -11
  382. package/packages/orq-rc/src/types/operations.ts +0 -105
  383. package/packages/orq-rc/src/types/rfcdate.ts +0 -54
  384. package/packages/orq-rc/src/types/streams.ts +0 -21
  385. package/packages/orq-rc/tsconfig.json +0 -41
  386. /package/{packages/orq-rc/src → src}/funcs/datasetsCreateExperiment.ts +0 -0
  387. /package/{packages/orq-rc/src → src}/funcs/deploymentsCreateExperiment.ts +0 -0
  388. /package/{packages/orq-rc/src → src}/funcs/knowledgeSearch.ts +0 -0
  389. /package/{packages/orq-rc/src → src}/mcp-server/tools/datasetsCreateExperiment.ts +0 -0
  390. /package/{packages/orq-rc/src → src}/mcp-server/tools/deploymentsCreateExperiment.ts +0 -0
  391. /package/{packages/orq-rc/src → src}/mcp-server/tools/knowledgeSearch.ts +0 -0
  392. /package/{packages/orq-rc/src → src}/models/operations/createdatasetexperiment.ts +0 -0
  393. /package/{packages/orq-rc/src → src}/models/operations/createdeploymentexperiment.ts +0 -0
  394. /package/{packages/orq-rc/src → src}/models/operations/searchknowledge.ts +0 -0
@@ -1,345 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { APIError } from "../models/errors/apierror.js";
6
- import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
7
- import { Result } from "../types/fp.js";
8
- import { discardSentinel } from "./event-streams.js";
9
- import { matchResponse, matchStatusCode, StatusCodePredicate } from "./http.js";
10
- import { isPlainObject } from "./is-plain-object.js";
11
- import { safeParse } from "./schemas.js";
12
-
13
- export type Encoding =
14
- | "jsonl"
15
- | "json"
16
- | "text"
17
- | "bytes"
18
- | "stream"
19
- | "sse"
20
- | "nil"
21
- | "fail";
22
-
23
- const DEFAULT_CONTENT_TYPES: Record<Encoding, string> = {
24
- jsonl: "application/jsonl",
25
- json: "application/json",
26
- text: "text/plain",
27
- bytes: "application/octet-stream",
28
- stream: "application/octet-stream",
29
- sse: "text/event-stream",
30
- nil: "*",
31
- fail: "*",
32
- };
33
-
34
- type Schema<T> = { parse(raw: unknown): T };
35
-
36
- type MatchOptions = {
37
- ctype?: string;
38
- hdrs?: boolean;
39
- key?: string;
40
- sseSentinel?: string;
41
- };
42
-
43
- export type ValueMatcher<V> = MatchOptions & {
44
- enc: Encoding;
45
- codes: StatusCodePredicate;
46
- schema: Schema<V>;
47
- };
48
-
49
- export type ErrorMatcher<E> = MatchOptions & {
50
- enc: Encoding;
51
- codes: StatusCodePredicate;
52
- schema: Schema<E>;
53
- err: true;
54
- };
55
-
56
- export type FailMatcher = {
57
- enc: "fail";
58
- codes: StatusCodePredicate;
59
- };
60
-
61
- export type Matcher<T, E> = ValueMatcher<T> | ErrorMatcher<E> | FailMatcher;
62
-
63
- export function jsonErr<E>(
64
- codes: StatusCodePredicate,
65
- schema: Schema<E>,
66
- options?: MatchOptions,
67
- ): ErrorMatcher<E> {
68
- return { ...options, err: true, enc: "json", codes, schema };
69
- }
70
- export function json<T>(
71
- codes: StatusCodePredicate,
72
- schema: Schema<T>,
73
- options?: MatchOptions,
74
- ): ValueMatcher<T> {
75
- return { ...options, enc: "json", codes, schema };
76
- }
77
-
78
- export function jsonl<T>(
79
- codes: StatusCodePredicate,
80
- schema: Schema<T>,
81
- options?: MatchOptions,
82
- ): ValueMatcher<T> {
83
- return { ...options, enc: "jsonl", codes, schema };
84
- }
85
-
86
- export function jsonlErr<E>(
87
- codes: StatusCodePredicate,
88
- schema: Schema<E>,
89
- options?: MatchOptions,
90
- ): ErrorMatcher<E> {
91
- return { ...options, err: true, enc: "jsonl", codes, schema };
92
- }
93
- export function textErr<E>(
94
- codes: StatusCodePredicate,
95
- schema: Schema<E>,
96
- options?: MatchOptions,
97
- ): ErrorMatcher<E> {
98
- return { ...options, err: true, enc: "text", codes, schema };
99
- }
100
- export function text<T>(
101
- codes: StatusCodePredicate,
102
- schema: Schema<T>,
103
- options?: MatchOptions,
104
- ): ValueMatcher<T> {
105
- return { ...options, enc: "text", codes, schema };
106
- }
107
-
108
- export function bytesErr<E>(
109
- codes: StatusCodePredicate,
110
- schema: Schema<E>,
111
- options?: MatchOptions,
112
- ): ErrorMatcher<E> {
113
- return { ...options, err: true, enc: "bytes", codes, schema };
114
- }
115
- export function bytes<T>(
116
- codes: StatusCodePredicate,
117
- schema: Schema<T>,
118
- options?: MatchOptions,
119
- ): ValueMatcher<T> {
120
- return { ...options, enc: "bytes", codes, schema };
121
- }
122
-
123
- export function streamErr<E>(
124
- codes: StatusCodePredicate,
125
- schema: Schema<E>,
126
- options?: MatchOptions,
127
- ): ErrorMatcher<E> {
128
- return { ...options, err: true, enc: "stream", codes, schema };
129
- }
130
- export function stream<T>(
131
- codes: StatusCodePredicate,
132
- schema: Schema<T>,
133
- options?: MatchOptions,
134
- ): ValueMatcher<T> {
135
- return { ...options, enc: "stream", codes, schema };
136
- }
137
-
138
- export function sseErr<E>(
139
- codes: StatusCodePredicate,
140
- schema: Schema<E>,
141
- options?: MatchOptions,
142
- ): ErrorMatcher<E> {
143
- return { ...options, err: true, enc: "sse", codes, schema };
144
- }
145
- export function sse<T>(
146
- codes: StatusCodePredicate,
147
- schema: Schema<T>,
148
- options?: MatchOptions,
149
- ): ValueMatcher<T> {
150
- return { ...options, enc: "sse", codes, schema };
151
- }
152
-
153
- export function nilErr<E>(
154
- codes: StatusCodePredicate,
155
- schema: Schema<E>,
156
- options?: MatchOptions,
157
- ): ErrorMatcher<E> {
158
- return { ...options, err: true, enc: "nil", codes, schema };
159
- }
160
- export function nil<T>(
161
- codes: StatusCodePredicate,
162
- schema: Schema<T>,
163
- options?: MatchOptions,
164
- ): ValueMatcher<T> {
165
- return { ...options, enc: "nil", codes, schema };
166
- }
167
-
168
- export function fail(codes: StatusCodePredicate): FailMatcher {
169
- return { enc: "fail", codes };
170
- }
171
-
172
- export type MatchedValue<Matchers> = Matchers extends Matcher<infer T, any>[]
173
- ? T
174
- : never;
175
- export type MatchedError<Matchers> = Matchers extends Matcher<any, infer E>[]
176
- ? E
177
- : never;
178
- export type MatchFunc<T, E> = (
179
- response: Response,
180
- options?: { resultKey?: string; extraFields?: Record<string, unknown> },
181
- ) => Promise<[result: Result<T, E>, raw: unknown]>;
182
-
183
- export function match<T, E>(
184
- ...matchers: Array<Matcher<T, E>>
185
- ): MatchFunc<T, E | APIError | SDKValidationError> {
186
- return async function matchFunc(
187
- response: Response,
188
- options?: { resultKey?: string; extraFields?: Record<string, unknown> },
189
- ): Promise<
190
- [result: Result<T, E | APIError | SDKValidationError>, raw: unknown]
191
- > {
192
- let raw: unknown;
193
- let matcher: Matcher<T, E> | undefined;
194
- for (const match of matchers) {
195
- const { codes } = match;
196
- const ctpattern = "ctype" in match
197
- ? match.ctype
198
- : DEFAULT_CONTENT_TYPES[match.enc];
199
- if (ctpattern && matchResponse(response, codes, ctpattern)) {
200
- matcher = match;
201
- break;
202
- } else if (!ctpattern && matchStatusCode(response, codes)) {
203
- matcher = match;
204
- break;
205
- }
206
- }
207
-
208
- if (!matcher) {
209
- const responseBody = await response.text();
210
- return [{
211
- ok: false,
212
- error: new APIError(
213
- "Unexpected API response status or content-type",
214
- response,
215
- responseBody,
216
- ),
217
- }, responseBody];
218
- }
219
-
220
- const encoding = matcher.enc;
221
- switch (encoding) {
222
- case "json":
223
- raw = await response.json();
224
- break;
225
- case "jsonl":
226
- raw = response.body;
227
- break;
228
- case "bytes":
229
- raw = new Uint8Array(await response.arrayBuffer());
230
- break;
231
- case "stream":
232
- raw = response.body;
233
- break;
234
- case "text":
235
- raw = await response.text();
236
- break;
237
- case "sse":
238
- raw = response.body && matcher.sseSentinel
239
- ? discardSentinel(response.body, matcher.sseSentinel)
240
- : response.body;
241
- break;
242
- case "nil":
243
- raw = await discardResponseBody(response);
244
- break;
245
- case "fail":
246
- raw = await response.text();
247
- break;
248
- default:
249
- encoding satisfies never;
250
- throw new Error(`Unsupported response type: ${encoding}`);
251
- }
252
-
253
- if (matcher.enc === "fail") {
254
- return [{
255
- ok: false,
256
- error: new APIError(
257
- "API error occurred",
258
- response,
259
- typeof raw === "string" ? raw : "",
260
- ),
261
- }, raw];
262
- }
263
-
264
- const resultKey = matcher.key || options?.resultKey;
265
- let data: unknown;
266
-
267
- if ("err" in matcher) {
268
- data = {
269
- ...options?.extraFields,
270
- ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
271
- ...(isPlainObject(raw) ? raw : null),
272
- };
273
- } else if (resultKey) {
274
- data = {
275
- ...options?.extraFields,
276
- ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
277
- [resultKey]: raw,
278
- };
279
- } else if (matcher.hdrs) {
280
- data = {
281
- ...options?.extraFields,
282
- ...(matcher.hdrs ? { Headers: unpackHeaders(response.headers) } : null),
283
- ...(isPlainObject(raw) ? raw : null),
284
- };
285
- } else {
286
- data = raw;
287
- }
288
-
289
- if ("err" in matcher) {
290
- const result = safeParse(
291
- data,
292
- (v: unknown) => matcher.schema.parse(v),
293
- "Response validation failed",
294
- );
295
- return [result.ok ? { ok: false, error: result.value } : result, raw];
296
- } else {
297
- return [
298
- safeParse(
299
- data,
300
- (v: unknown) => matcher.schema.parse(v),
301
- "Response validation failed",
302
- ),
303
- raw,
304
- ];
305
- }
306
- };
307
- }
308
-
309
- const headerValRE = /, */;
310
- /**
311
- * Iterates over a Headers object and returns an object with all the header
312
- * entries. Values are represented as an array to account for repeated headers.
313
- */
314
- export function unpackHeaders(headers: Headers): Record<string, string[]> {
315
- const out: Record<string, string[]> = {};
316
-
317
- for (const [k, v] of headers.entries()) {
318
- out[k] = v.split(headerValRE);
319
- }
320
-
321
- return out;
322
- }
323
-
324
- /**
325
- * Discards the response body to free up resources.
326
- *
327
- * To learn why this is need, see the undici docs:
328
- * https://undici.nodejs.org/#/?id=garbage-collection
329
- */
330
- export async function discardResponseBody(res: Response) {
331
- const reader = res.body?.getReader();
332
- if (reader == null) {
333
- return;
334
- }
335
-
336
- try {
337
- let done = false;
338
- while (!done) {
339
- const res = await reader.read();
340
- done = res.done;
341
- }
342
- } finally {
343
- reader.releaseLock();
344
- }
345
- }
@@ -1,150 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- class InvariantError extends Error {
6
- constructor(message: string) {
7
- super(message);
8
- this.name = "InvariantError";
9
- }
10
- }
11
-
12
- export function invariant(
13
- condition: unknown,
14
- message: string,
15
- ): asserts condition {
16
- if (!condition) {
17
- throw new InvariantError(message);
18
- }
19
- }
20
-
21
- export type ExactPartial<T> = {
22
- [P in keyof T]?: T[P] | undefined;
23
- };
24
-
25
- export type Remap<Inp, Mapping extends { [k in keyof Inp]?: string | null }> = {
26
- [k in keyof Inp as Mapping[k] extends string /* if we have a string mapping for this key then use it */
27
- ? Mapping[k]
28
- : Mapping[k] extends null /* if the mapping is to `null` then drop the key */
29
- ? never
30
- : k /* otherwise keep the key as-is */]: Inp[k];
31
- };
32
-
33
- /**
34
- * Converts or omits an object's keys according to a mapping.
35
- *
36
- * @param inp An object whose keys will be remapped
37
- * @param mappings A mapping of original keys to new keys. If a key is not present in the mapping, it will be left as is. If a key is mapped to `null`, it will be removed in the resulting object.
38
- * @returns A new object with keys remapped or omitted according to the mappings
39
- */
40
- export function remap<
41
- Inp extends Record<string, unknown>,
42
- const Mapping extends { [k in keyof Inp]?: string | null },
43
- >(inp: Inp, mappings: Mapping): Remap<Inp, Mapping> {
44
- let out: any = {};
45
-
46
- if (!Object.keys(mappings).length) {
47
- out = inp;
48
- return out;
49
- }
50
-
51
- for (const [k, v] of Object.entries(inp)) {
52
- const j = mappings[k];
53
- if (j === null) {
54
- continue;
55
- }
56
- out[j ?? k] = v;
57
- }
58
-
59
- return out;
60
- }
61
-
62
- export function combineSignals(
63
- ...signals: Array<AbortSignal | null | undefined>
64
- ): AbortSignal | null {
65
- const filtered: AbortSignal[] = [];
66
- for (const signal of signals) {
67
- if (signal) {
68
- filtered.push(signal);
69
- }
70
- }
71
-
72
- switch (filtered.length) {
73
- case 0:
74
- case 1:
75
- return filtered[0] || null;
76
- default:
77
- if ("any" in AbortSignal && typeof AbortSignal.any === "function") {
78
- return AbortSignal.any(filtered);
79
- }
80
- return abortSignalAny(filtered);
81
- }
82
- }
83
-
84
- export function abortSignalAny(signals: AbortSignal[]): AbortSignal {
85
- const controller = new AbortController();
86
- const result = controller.signal;
87
- if (!signals.length) {
88
- return controller.signal;
89
- }
90
-
91
- if (signals.length === 1) {
92
- return signals[0] || controller.signal;
93
- }
94
-
95
- for (const signal of signals) {
96
- if (signal.aborted) {
97
- return signal;
98
- }
99
- }
100
-
101
- function abort(this: AbortSignal) {
102
- controller.abort(this.reason);
103
- clean();
104
- }
105
-
106
- const signalRefs: WeakRef<AbortSignal>[] = [];
107
- function clean() {
108
- for (const signalRef of signalRefs) {
109
- const signal = signalRef.deref();
110
- if (signal) {
111
- signal.removeEventListener("abort", abort);
112
- }
113
- }
114
- }
115
-
116
- for (const signal of signals) {
117
- signalRefs.push(new WeakRef(signal));
118
- signal.addEventListener("abort", abort);
119
- }
120
-
121
- return result;
122
- }
123
-
124
- export function compactMap<T>(
125
- values: Record<string, T | undefined>,
126
- ): Record<string, T> {
127
- const out: Record<string, T> = {};
128
-
129
- for (const [k, v] of Object.entries(values)) {
130
- if (typeof v !== "undefined") {
131
- out[k] = v;
132
- }
133
- }
134
-
135
- return out;
136
- }
137
-
138
- export function allRequired<V extends Record<string, unknown>>(
139
- v: V,
140
- ):
141
- | {
142
- [K in keyof V]: NonNullable<V[K]>;
143
- }
144
- | undefined {
145
- if (Object.values(v).every((x) => x == null)) {
146
- return void 0;
147
- }
148
-
149
- return v as ReturnType<typeof allRequired<V>>;
150
- }
@@ -1,218 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { isConnectionError, isTimeoutError } from "./http.js";
6
-
7
- export type BackoffStrategy = {
8
- initialInterval: number;
9
- maxInterval: number;
10
- exponent: number;
11
- maxElapsedTime: number;
12
- };
13
-
14
- const defaultBackoff: BackoffStrategy = {
15
- initialInterval: 500,
16
- maxInterval: 60000,
17
- exponent: 1.5,
18
- maxElapsedTime: 3600000,
19
- };
20
-
21
- export type RetryConfig =
22
- | { strategy: "none" }
23
- | {
24
- strategy: "backoff";
25
- backoff?: BackoffStrategy;
26
- retryConnectionErrors?: boolean;
27
- };
28
-
29
- /**
30
- * PermanentError is an error that is not recoverable. Throwing this error will
31
- * cause a retry loop to terminate.
32
- */
33
- export class PermanentError extends Error {
34
- /** The underlying cause of the error. */
35
- override readonly cause: unknown;
36
-
37
- constructor(message: string, options?: { cause?: unknown }) {
38
- let msg = message;
39
- if (options?.cause) {
40
- msg += `: ${options.cause}`;
41
- }
42
-
43
- super(msg, options);
44
- this.name = "PermanentError";
45
- // In older runtimes, the cause field would not have been assigned through
46
- // the super() call.
47
- if (typeof this.cause === "undefined") {
48
- this.cause = options?.cause;
49
- }
50
-
51
- Object.setPrototypeOf(this, PermanentError.prototype);
52
- }
53
- }
54
-
55
- /**
56
- * TemporaryError is an error is used to signal that an HTTP request can be
57
- * retried as part of a retry loop. If retry attempts are exhausted and this
58
- * error is thrown, the response will be returned to the caller.
59
- */
60
- export class TemporaryError extends Error {
61
- response: Response;
62
-
63
- constructor(message: string, response: Response) {
64
- super(message);
65
- this.response = response;
66
- this.name = "TemporaryError";
67
-
68
- Object.setPrototypeOf(this, TemporaryError.prototype);
69
- }
70
- }
71
-
72
- export async function retry(
73
- fetchFn: () => Promise<Response>,
74
- options: {
75
- config: RetryConfig;
76
- statusCodes: string[];
77
- },
78
- ): Promise<Response> {
79
- switch (options.config.strategy) {
80
- case "backoff":
81
- return retryBackoff(
82
- wrapFetcher(fetchFn, {
83
- statusCodes: options.statusCodes,
84
- retryConnectionErrors: !!options.config.retryConnectionErrors,
85
- }),
86
- options.config.backoff ?? defaultBackoff,
87
- );
88
- default:
89
- return await fetchFn();
90
- }
91
- }
92
-
93
- function wrapFetcher(
94
- fn: () => Promise<Response>,
95
- options: {
96
- statusCodes: string[];
97
- retryConnectionErrors: boolean;
98
- },
99
- ): () => Promise<Response> {
100
- return async () => {
101
- try {
102
- const res = await fn();
103
- if (isRetryableResponse(res, options.statusCodes)) {
104
- throw new TemporaryError(
105
- "Response failed with retryable status code",
106
- res,
107
- );
108
- }
109
-
110
- return res;
111
- } catch (err: unknown) {
112
- if (err instanceof TemporaryError) {
113
- throw err;
114
- }
115
-
116
- if (
117
- options.retryConnectionErrors &&
118
- (isTimeoutError(err) || isConnectionError(err))
119
- ) {
120
- throw err;
121
- }
122
-
123
- throw new PermanentError("Permanent error", { cause: err });
124
- }
125
- };
126
- }
127
-
128
- const codeRangeRE = new RegExp("^[0-9]xx$", "i");
129
-
130
- function isRetryableResponse(res: Response, statusCodes: string[]): boolean {
131
- const actual = `${res.status}`;
132
-
133
- return statusCodes.some((code) => {
134
- if (!codeRangeRE.test(code)) {
135
- return code === actual;
136
- }
137
-
138
- const expectFamily = code.charAt(0);
139
- if (!expectFamily) {
140
- throw new Error("Invalid status code range");
141
- }
142
-
143
- const actualFamily = actual.charAt(0);
144
- if (!actualFamily) {
145
- throw new Error(`Invalid response status code: ${actual}`);
146
- }
147
-
148
- return actualFamily === expectFamily;
149
- });
150
- }
151
-
152
- async function retryBackoff(
153
- fn: () => Promise<Response>,
154
- strategy: BackoffStrategy,
155
- ): Promise<Response> {
156
- const { maxElapsedTime, initialInterval, exponent, maxInterval } = strategy;
157
-
158
- const start = Date.now();
159
- let x = 0;
160
-
161
- while (true) {
162
- try {
163
- const res = await fn();
164
- return res;
165
- } catch (err: unknown) {
166
- if (err instanceof PermanentError) {
167
- throw err.cause;
168
- }
169
- const elapsed = Date.now() - start;
170
- if (elapsed > maxElapsedTime) {
171
- if (err instanceof TemporaryError) {
172
- return err.response;
173
- }
174
-
175
- throw err;
176
- }
177
-
178
- let retryInterval = 0;
179
- if (err instanceof TemporaryError) {
180
- retryInterval = retryIntervalFromResponse(err.response);
181
- }
182
-
183
- if (retryInterval <= 0) {
184
- retryInterval =
185
- initialInterval * Math.pow(x, exponent) + Math.random() * 1000;
186
- }
187
-
188
- const d = Math.min(retryInterval, maxInterval);
189
-
190
- await delay(d);
191
- x++;
192
- }
193
- }
194
- }
195
-
196
- function retryIntervalFromResponse(res: Response): number {
197
- const retryVal = res.headers.get("retry-after") || "";
198
- if (!retryVal) {
199
- return 0;
200
- }
201
-
202
- const parsedNumber = Number(retryVal);
203
- if (Number.isInteger(parsedNumber)) {
204
- return parsedNumber * 1000;
205
- }
206
-
207
- const parsedDate = Date.parse(retryVal);
208
- if (Number.isInteger(parsedDate)) {
209
- const deltaMS = parsedDate - Date.now();
210
- return deltaMS > 0 ? Math.ceil(deltaMS) : 0;
211
- }
212
-
213
- return 0;
214
- }
215
-
216
- async function delay(delay: number): Promise<void> {
217
- return new Promise((resolve) => setTimeout(resolve, delay));
218
- }