@openrouter/sdk 0.12.79 → 0.13.7

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 (303) hide show
  1. package/README.md +40 -0
  2. package/esm/funcs/betaAnalyticsGetAnalyticsMeta.d.ts +18 -0
  3. package/esm/funcs/betaAnalyticsGetAnalyticsMeta.js +96 -0
  4. package/esm/funcs/betaAnalyticsQueryAnalytics.d.ts +18 -0
  5. package/esm/funcs/betaAnalyticsQueryAnalytics.js +97 -0
  6. package/esm/funcs/betaResponsesSend.js +1 -1
  7. package/esm/funcs/chatSend.js +1 -1
  8. package/esm/funcs/datasetsGetAppRankings.d.ts +43 -0
  9. package/esm/funcs/datasetsGetAppRankings.js +161 -0
  10. package/esm/funcs/datasetsGetBenchmarksArtificialAnalysis.d.ts +19 -0
  11. package/esm/funcs/datasetsGetBenchmarksArtificialAnalysis.js +102 -0
  12. package/esm/funcs/datasetsGetBenchmarksDesignArena.d.ts +19 -0
  13. package/esm/funcs/datasetsGetBenchmarksDesignArena.js +104 -0
  14. package/esm/funcs/filesDelete.d.ts +19 -0
  15. package/esm/funcs/filesDelete.js +107 -0
  16. package/esm/funcs/filesDownload.d.ts +18 -0
  17. package/esm/funcs/filesDownload.js +107 -0
  18. package/esm/funcs/filesList.d.ts +21 -0
  19. package/esm/funcs/filesList.js +131 -0
  20. package/esm/funcs/filesRetrieve.d.ts +19 -0
  21. package/esm/funcs/filesRetrieve.js +107 -0
  22. package/esm/funcs/filesUpload.d.ts +19 -0
  23. package/esm/funcs/filesUpload.js +121 -0
  24. package/esm/funcs/modelsGet.d.ts +19 -0
  25. package/esm/funcs/modelsGet.js +107 -0
  26. package/esm/funcs/modelsList.js +12 -0
  27. package/esm/funcs/oAuthCreateAuthCode.d.ts +1 -1
  28. package/esm/funcs/oAuthCreateAuthCode.js +1 -1
  29. package/esm/funcs/presetsGet.d.ts +21 -0
  30. package/esm/funcs/presetsGet.js +105 -0
  31. package/esm/funcs/presetsGetVersion.d.ts +21 -0
  32. package/esm/funcs/presetsGetVersion.js +109 -0
  33. package/esm/funcs/presetsList.d.ts +23 -0
  34. package/esm/funcs/presetsList.js +136 -0
  35. package/esm/funcs/presetsListVersions.d.ts +23 -0
  36. package/esm/funcs/presetsListVersions.js +142 -0
  37. package/esm/lib/config.d.ts +2 -2
  38. package/esm/lib/config.js +2 -2
  39. package/esm/models/aabenchmarkentry.d.ts +24 -0
  40. package/esm/models/aabenchmarkentry.js +23 -0
  41. package/esm/models/advisornestedtool.d.ts +25 -0
  42. package/esm/models/advisornestedtool.js +23 -0
  43. package/esm/models/advisorreasoning.d.ts +41 -0
  44. package/esm/models/advisorreasoning.js +33 -0
  45. package/esm/models/advisorservertoolconfig.d.ts +65 -0
  46. package/esm/models/advisorservertoolconfig.js +31 -0
  47. package/esm/models/advisorservertoolopenrouter.d.ts +28 -0
  48. package/esm/models/advisorservertoolopenrouter.js +20 -0
  49. package/esm/models/apprankingsitem.d.ts +29 -0
  50. package/esm/models/apprankingsitem.js +26 -0
  51. package/esm/models/apprankingsresponse.d.ts +16 -0
  52. package/esm/models/apprankingsresponse.js +17 -0
  53. package/esm/models/bashservertool.d.ts +28 -0
  54. package/esm/models/bashservertool.js +20 -0
  55. package/esm/models/bashservertoolconfig.d.ts +30 -0
  56. package/esm/models/bashservertoolconfig.js +22 -0
  57. package/esm/models/bashservertoolengine.d.ts +17 -0
  58. package/esm/models/bashservertoolengine.js +16 -0
  59. package/esm/models/bashservertoolenvironment.d.ts +13 -0
  60. package/esm/models/bashservertoolenvironment.js +16 -0
  61. package/esm/models/benchmarkpricing.d.ts +20 -0
  62. package/esm/models/benchmarkpricing.js +15 -0
  63. package/esm/models/benchmarksaaitem.d.ts +34 -0
  64. package/esm/models/benchmarksaaitem.js +29 -0
  65. package/esm/models/benchmarksaameta.d.ts +70 -0
  66. package/esm/models/benchmarksaameta.js +50 -0
  67. package/esm/models/benchmarksaaresponse.d.ts +13 -0
  68. package/esm/models/benchmarksaaresponse.js +17 -0
  69. package/esm/models/benchmarksdaitem.d.ts +59 -0
  70. package/esm/models/benchmarksdaitem.js +50 -0
  71. package/esm/models/benchmarksdameta.d.ts +98 -0
  72. package/esm/models/benchmarksdameta.js +62 -0
  73. package/esm/models/benchmarksdaresponse.d.ts +13 -0
  74. package/esm/models/benchmarksdaresponse.js +17 -0
  75. package/esm/models/byokproviderslug.d.ts +2 -1
  76. package/esm/models/byokproviderslug.js +2 -1
  77. package/esm/models/chatfunctiontool.d.ts +5 -2
  78. package/esm/models/chatfunctiontool.js +6 -0
  79. package/esm/models/chatrequest.d.ts +42 -0
  80. package/esm/models/chatrequest.js +24 -0
  81. package/esm/models/chatwebsearchshorthand.d.ts +10 -5
  82. package/esm/models/chatwebsearchshorthand.js +2 -0
  83. package/esm/models/containerautoenvironment.d.ts +15 -0
  84. package/esm/models/containerautoenvironment.js +13 -0
  85. package/esm/models/containerreferenceenvironment.d.ts +20 -0
  86. package/esm/models/containerreferenceenvironment.js +19 -0
  87. package/esm/models/contentfilterbuiltinentry.d.ts +5 -0
  88. package/esm/models/contentfilterbuiltinentry.js +7 -0
  89. package/esm/models/contentfilterbuiltinentryinput.d.ts +6 -0
  90. package/esm/models/contentfilterbuiltinentryinput.js +7 -0
  91. package/esm/models/contentpartaudio.d.ts +24 -0
  92. package/esm/models/contentpartaudio.js +27 -0
  93. package/esm/models/contentpartimage.d.ts +2 -9
  94. package/esm/models/contentpartimage.js +1 -6
  95. package/esm/models/contentpartvideo.d.ts +24 -0
  96. package/esm/models/contentpartvideo.js +27 -0
  97. package/esm/models/createobservabilitydestinationrequest.d.ts +1 -1
  98. package/esm/models/dabenchmarkentry.d.ts +32 -0
  99. package/esm/models/dabenchmarkentry.js +23 -0
  100. package/esm/models/filedeleteresponse.d.ts +21 -0
  101. package/esm/models/filedeleteresponse.js +20 -0
  102. package/esm/models/filelistresponse.d.ts +21 -0
  103. package/esm/models/filelistresponse.js +26 -0
  104. package/esm/models/filemetadata.d.ts +26 -0
  105. package/esm/models/filemetadata.js +33 -0
  106. package/esm/models/fusionanalysisresult.d.ts +88 -0
  107. package/esm/models/fusionanalysisresult.js +109 -0
  108. package/esm/models/fusioncallanalysiscompletedevent.d.ts +21 -0
  109. package/esm/models/fusioncallanalysiscompletedevent.js +26 -0
  110. package/esm/models/fusioncallanalysisinprogressevent.d.ts +17 -0
  111. package/esm/models/fusioncallanalysisinprogressevent.js +26 -0
  112. package/esm/models/fusioncallcompletedevent.d.ts +16 -0
  113. package/esm/models/fusioncallcompletedevent.js +24 -0
  114. package/esm/models/fusioncallinprogressevent.d.ts +16 -0
  115. package/esm/models/fusioncallinprogressevent.js +24 -0
  116. package/esm/models/fusioncallpaneladdedevent.d.ts +17 -0
  117. package/esm/models/fusioncallpaneladdedevent.js +25 -0
  118. package/esm/models/fusioncallpanelcompletedevent.d.ts +18 -0
  119. package/esm/models/fusioncallpanelcompletedevent.js +26 -0
  120. package/esm/models/fusioncallpaneldeltaevent.d.ts +18 -0
  121. package/esm/models/fusioncallpaneldeltaevent.js +26 -0
  122. package/esm/models/fusioncallpanelfailedevent.d.ts +19 -0
  123. package/esm/models/fusioncallpanelfailedevent.js +28 -0
  124. package/esm/models/fusioncallpanelreasoningdeltaevent.d.ts +18 -0
  125. package/esm/models/fusioncallpanelreasoningdeltaevent.js +26 -0
  126. package/esm/models/fusionplugin.d.ts +46 -0
  127. package/esm/models/fusionplugin.js +20 -0
  128. package/esm/models/fusionservertoolconfig.d.ts +27 -0
  129. package/esm/models/fusionservertoolconfig.js +10 -0
  130. package/esm/models/generationresponse.d.ts +22 -0
  131. package/esm/models/generationresponse.js +14 -0
  132. package/esm/models/getpresetresponse.d.ts +17 -0
  133. package/esm/models/getpresetresponse.js +15 -0
  134. package/esm/models/getpresetversionresponse.d.ts +17 -0
  135. package/esm/models/getpresetversionresponse.js +15 -0
  136. package/esm/models/index.d.ts +60 -0
  137. package/esm/models/index.js +60 -0
  138. package/esm/models/inputreference.d.ts +14 -0
  139. package/esm/models/inputreference.js +18 -0
  140. package/esm/models/inputsunion.d.ts +7 -4
  141. package/esm/models/inputsunion.js +11 -2
  142. package/esm/models/legacywebsearchservertool.d.ts +2 -2
  143. package/esm/models/listpresetsresponse.d.ts +15 -0
  144. package/esm/models/listpresetsresponse.js +21 -0
  145. package/esm/models/listpresetversionsresponse.d.ts +15 -0
  146. package/esm/models/listpresetversionsresponse.js +21 -0
  147. package/esm/models/messagesfallbackparam.d.ts +19 -0
  148. package/esm/models/messagesfallbackparam.js +22 -0
  149. package/esm/models/messagesrequest.d.ts +11 -4
  150. package/esm/models/messagesrequest.js +6 -0
  151. package/esm/models/model.d.ts +5 -0
  152. package/esm/models/model.js +2 -0
  153. package/esm/models/modelbenchmarks.d.ts +22 -0
  154. package/esm/models/modelbenchmarks.js +23 -0
  155. package/esm/models/modelresponse.d.ts +17 -0
  156. package/esm/models/modelresponse.js +16 -0
  157. package/esm/models/observabilityarizedestination.d.ts +1 -1
  158. package/esm/models/observabilitybraintrustdestination.d.ts +1 -1
  159. package/esm/models/observabilityclickhousedestination.d.ts +1 -1
  160. package/esm/models/observabilitydatadogdestination.d.ts +1 -1
  161. package/esm/models/observabilitygrafanadestination.d.ts +1 -1
  162. package/esm/models/observabilitylangfusedestination.d.ts +1 -1
  163. package/esm/models/observabilitylangsmithdestination.d.ts +1 -1
  164. package/esm/models/observabilitynewrelicdestination.d.ts +1 -1
  165. package/esm/models/observabilityopikdestination.d.ts +1 -1
  166. package/esm/models/observabilityotelcollectordestination.d.ts +1 -1
  167. package/esm/models/observabilityposthogdestination.d.ts +1 -1
  168. package/esm/models/observabilityrampdestination.d.ts +1 -1
  169. package/esm/models/observabilitys3destination.d.ts +1 -1
  170. package/esm/models/observabilitysentrydestination.d.ts +1 -1
  171. package/esm/models/observabilitysnowflakedestination.d.ts +1 -1
  172. package/esm/models/observabilityweavedestination.d.ts +1 -1
  173. package/esm/models/observabilitywebhookdestination.d.ts +1 -1
  174. package/esm/models/operations/createauthkeyscode.d.ts +6 -1
  175. package/esm/models/operations/createauthkeyscode.js +2 -0
  176. package/esm/models/operations/creatererank.d.ts +44 -10
  177. package/esm/models/operations/creatererank.js +21 -6
  178. package/esm/models/operations/createresponses.d.ts +3 -3
  179. package/esm/models/operations/createresponses.js +2 -3
  180. package/esm/models/operations/deletefile.d.ts +60 -0
  181. package/esm/models/operations/deletefile.js +24 -0
  182. package/esm/models/operations/downloadfilecontent.d.ts +60 -0
  183. package/esm/models/operations/downloadfilecontent.js +24 -0
  184. package/esm/models/operations/getanalyticsmeta.d.ts +198 -0
  185. package/esm/models/operations/getanalyticsmeta.js +141 -0
  186. package/esm/models/operations/getapprankings.d.ts +152 -0
  187. package/esm/models/operations/getapprankings.js +85 -0
  188. package/esm/models/operations/getbenchmarksartificialanalysis.d.ts +58 -0
  189. package/esm/models/operations/getbenchmarksartificialanalysis.js +22 -0
  190. package/esm/models/operations/getbenchmarksdesignarena.d.ts +83 -0
  191. package/esm/models/operations/getbenchmarksdesignarena.js +36 -0
  192. package/esm/models/operations/getfilemetadata.d.ts +60 -0
  193. package/esm/models/operations/getfilemetadata.js +24 -0
  194. package/esm/models/operations/getmodel.d.ts +63 -0
  195. package/esm/models/operations/getmodel.js +22 -0
  196. package/esm/models/operations/getmodels.d.ts +121 -5
  197. package/esm/models/operations/getmodels.js +59 -4
  198. package/esm/models/operations/getpreset.d.ts +58 -0
  199. package/esm/models/operations/getpreset.js +21 -0
  200. package/esm/models/operations/getpresetversion.d.ts +63 -0
  201. package/esm/models/operations/getpresetversion.js +22 -0
  202. package/esm/models/operations/index.d.ts +15 -0
  203. package/esm/models/operations/index.js +15 -0
  204. package/esm/models/operations/listbyokkeys.d.ts +2 -1
  205. package/esm/models/operations/listbyokkeys.js +2 -1
  206. package/esm/models/operations/listfiles.d.ts +77 -0
  207. package/esm/models/operations/listfiles.js +37 -0
  208. package/esm/models/operations/listpresets.d.ts +72 -0
  209. package/esm/models/operations/listpresets.js +35 -0
  210. package/esm/models/operations/listpresetversions.d.ts +77 -0
  211. package/esm/models/operations/listpresetversions.js +36 -0
  212. package/esm/models/operations/queryanalytics.d.ts +195 -0
  213. package/esm/models/operations/queryanalytics.js +129 -0
  214. package/esm/models/operations/sendchatcompletionrequest.d.ts +3 -3
  215. package/esm/models/operations/sendchatcompletionrequest.js +2 -3
  216. package/esm/models/operations/uploadfile.d.ts +82 -0
  217. package/esm/models/operations/uploadfile.js +45 -0
  218. package/esm/models/outputadvisorservertoolitem.d.ts +59 -0
  219. package/esm/models/outputadvisorservertoolitem.js +52 -0
  220. package/esm/models/outputfusionservertoolitem.d.ts +44 -43
  221. package/esm/models/outputfusionservertoolitem.js +49 -51
  222. package/esm/models/outputitems.d.ts +13 -3
  223. package/esm/models/outputitems.js +9 -1
  224. package/esm/models/outputshellcallitem.d.ts +29 -0
  225. package/esm/models/outputshellcallitem.js +38 -0
  226. package/esm/models/outputshellcalloutputitem.d.ts +48 -0
  227. package/esm/models/outputshellcalloutputitem.js +67 -0
  228. package/esm/models/outputsubagentservertoolitem.d.ts +59 -0
  229. package/esm/models/outputsubagentservertoolitem.js +54 -0
  230. package/esm/models/outputwebsearchcallitem.d.ts +2 -2
  231. package/esm/models/outputwebsearchcallitem.js +2 -2
  232. package/esm/models/preset.d.ts +27 -0
  233. package/esm/models/preset.js +35 -0
  234. package/esm/models/presetstatus.d.ts +17 -0
  235. package/esm/models/presetstatus.js +16 -0
  236. package/esm/models/presetwithdesignatedversion.d.ts +9 -14
  237. package/esm/models/presetwithdesignatedversion.js +4 -11
  238. package/esm/models/preview20250311websearchservertool.d.ts +2 -2
  239. package/esm/models/previewwebsearchservertool.d.ts +2 -2
  240. package/esm/models/promptinjectionscanscope.d.ts +18 -0
  241. package/esm/models/promptinjectionscanscope.js +17 -0
  242. package/esm/models/providername.d.ts +2 -1
  243. package/esm/models/providername.js +2 -1
  244. package/esm/models/provideroptions.d.ts +12 -0
  245. package/esm/models/provideroptions.js +2 -0
  246. package/esm/models/providerresponse.d.ts +3 -1
  247. package/esm/models/providerresponse.js +4 -2
  248. package/esm/models/rankingsdailymeta.d.ts +4 -4
  249. package/esm/models/rankingsdailymeta.js +3 -3
  250. package/esm/models/responsesrequest.d.ts +36 -8
  251. package/esm/models/responsesrequest.js +12 -0
  252. package/esm/models/searchqualitylevel.d.ts +2 -2
  253. package/esm/models/searchqualitylevel.js +1 -1
  254. package/esm/models/shellcallstatus.d.ts +17 -0
  255. package/esm/models/shellcallstatus.js +16 -0
  256. package/esm/models/shellservertoolconfig.d.ts +30 -0
  257. package/esm/models/shellservertoolconfig.js +22 -0
  258. package/esm/models/shellservertoolengine.d.ts +16 -0
  259. package/esm/models/shellservertoolengine.js +15 -0
  260. package/esm/models/shellservertoolenvironment.d.ts +13 -0
  261. package/esm/models/shellservertoolenvironment.js +16 -0
  262. package/esm/models/shellservertoolopenrouter.d.ts +21 -0
  263. package/esm/models/shellservertoolopenrouter.js +15 -0
  264. package/esm/models/streamevents.d.ts +10 -1
  265. package/esm/models/streamevents.js +18 -0
  266. package/esm/models/subagentnestedtool.d.ts +25 -0
  267. package/esm/models/subagentnestedtool.js +23 -0
  268. package/esm/models/subagentreasoning.d.ts +41 -0
  269. package/esm/models/subagentreasoning.js +33 -0
  270. package/esm/models/subagentservertoolconfig.d.ts +50 -0
  271. package/esm/models/subagentservertoolconfig.js +27 -0
  272. package/esm/models/subagentservertoolopenrouter.d.ts +28 -0
  273. package/esm/models/subagentservertoolopenrouter.js +20 -0
  274. package/esm/models/updateobservabilitydestinationrequest.d.ts +1 -1
  275. package/esm/models/urlcitation.d.ts +2 -0
  276. package/esm/models/urlcitation.js +2 -0
  277. package/esm/models/videogenerationrequest.d.ts +16 -4
  278. package/esm/models/videogenerationrequest.js +4 -2
  279. package/esm/models/websearchconfig.d.ts +10 -5
  280. package/esm/models/websearchconfig.js +2 -0
  281. package/esm/models/websearchengine.d.ts +1 -0
  282. package/esm/models/websearchengine.js +1 -0
  283. package/esm/models/websearchengineenum.d.ts +4 -3
  284. package/esm/models/websearchengineenum.js +3 -2
  285. package/esm/models/websearchservertool.d.ts +2 -2
  286. package/esm/models/websearchservertoolconfig.d.ts +10 -5
  287. package/esm/models/websearchservertoolconfig.js +2 -0
  288. package/esm/sdk/beta.d.ts +3 -0
  289. package/esm/sdk/beta.js +4 -0
  290. package/esm/sdk/betaanalytics.d.ts +19 -0
  291. package/esm/sdk/betaanalytics.js +29 -0
  292. package/esm/sdk/datasets.d.ts +46 -0
  293. package/esm/sdk/datasets.js +53 -0
  294. package/esm/sdk/files.d.ts +44 -0
  295. package/esm/sdk/files.js +60 -0
  296. package/esm/sdk/models.d.ts +7 -0
  297. package/esm/sdk/models.js +10 -0
  298. package/esm/sdk/presets.d.ts +33 -0
  299. package/esm/sdk/presets.js +41 -0
  300. package/esm/sdk/sdk.d.ts +5 -2
  301. package/esm/sdk/sdk.js +7 -3
  302. package/jsr.json +1 -1
  303. package/package.json +3 -3
package/README.md CHANGED
@@ -143,6 +143,46 @@ run();
143
143
  ```
144
144
  <!-- End Pagination [pagination] -->
145
145
 
146
+ <!-- Start File uploads [file-upload] -->
147
+ ## File uploads
148
+
149
+ Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
150
+
151
+ > [!TIP]
152
+ >
153
+ > Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
154
+ >
155
+ > - **Node.js v20+:** Since v20, Node.js comes with a native `openAsBlob` function in [`node:fs`](https://nodejs.org/docs/latest-v20.x/api/fs.html#fsopenasblobpath-options).
156
+ > - **Bun:** The native [`Bun.file`](https://bun.sh/docs/api/file-io#reading-files-bun-file) function produces a file handle that can be used for streaming file uploads.
157
+ > - **Browsers:** All supported browsers return an instance to a [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) when reading the value from an `<input type="file">` element.
158
+ > - **Node.js v18:** A file stream can be created using the `fileFrom` helper from [`fetch-blob/from.js`](https://www.npmjs.com/package/fetch-blob).
159
+
160
+ ```typescript
161
+ import { OpenRouter } from "@openrouter/sdk";
162
+ import { openAsBlob } from "node:fs";
163
+
164
+ const openRouter = new OpenRouter({
165
+ httpReferer: "<value>",
166
+ appTitle: "<value>",
167
+ appCategories: "<value>",
168
+ apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
169
+ });
170
+
171
+ async function run() {
172
+ const result = await openRouter.files.upload({
173
+ requestBody: {
174
+ file: await openAsBlob("example.file"),
175
+ },
176
+ });
177
+
178
+ console.log(result);
179
+ }
180
+
181
+ run();
182
+
183
+ ```
184
+ <!-- End File uploads [file-upload] -->
185
+
146
186
  <!-- Start Debugging [debug] -->
147
187
  ## Debugging
148
188
 
@@ -0,0 +1,18 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ /**
12
+ * Get available analytics metrics and dimensions
13
+ *
14
+ * @remarks
15
+ * Returns the available metrics, dimensions, filter operators, and granularities for the analytics query endpoint. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ */
17
+ export declare function betaAnalyticsGetAnalyticsMeta(client: OpenRouterCore, request?: operations.GetAnalyticsMetaRequest | undefined, options?: RequestOptions): APIPromise<Result<operations.GetAnalyticsMetaResponse, errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
+ //# sourceMappingURL=betaAnalyticsGetAnalyticsMeta.d.ts.map
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: fd48bb0a54a8
4
+ */
5
+ import { encodeSimple } from "../lib/encodings.js";
6
+ import { matchStatusCode } from "../lib/http.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 { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import * as errors from "../models/errors/index.js";
13
+ import * as operations from "../models/operations/index.js";
14
+ import { APIPromise } from "../types/async.js";
15
+ /**
16
+ * Get available analytics metrics and dimensions
17
+ *
18
+ * @remarks
19
+ * Returns the available metrics, dimensions, filter operators, and granularities for the analytics query endpoint. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ */
21
+ export function betaAnalyticsGetAnalyticsMeta(client, request, options) {
22
+ return new APIPromise($do(client, request, options));
23
+ }
24
+ async function $do(client, request, options) {
25
+ const parsed = safeParse(request, (value) => operations.GetAnalyticsMetaRequest$outboundSchema.optional().parse(value), "Input validation failed");
26
+ if (!parsed.ok) {
27
+ return [parsed, { status: "invalid" }];
28
+ }
29
+ const payload = parsed.value;
30
+ const body = null;
31
+ const path = pathToFunc("/analytics/meta")();
32
+ const headers = new Headers(compactMap({
33
+ Accept: "application/json",
34
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload?.["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
35
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload?.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
36
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload?.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
37
+ }));
38
+ const secConfig = await extractSecurity(client._options.apiKey);
39
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
40
+ const requestSecurity = resolveGlobalSecurity(securityInput);
41
+ const context = {
42
+ options: client._options,
43
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
44
+ operationID: "getAnalyticsMeta",
45
+ oAuth2Scopes: null,
46
+ resolvedSecurity: requestSecurity,
47
+ securitySource: client._options.apiKey,
48
+ retryConfig: options?.retries
49
+ || client._options.retryConfig
50
+ || {
51
+ strategy: "backoff",
52
+ backoff: {
53
+ initialInterval: 500,
54
+ maxInterval: 60000,
55
+ exponent: 1.5,
56
+ maxElapsedTime: 3600000,
57
+ },
58
+ retryConnectionErrors: true,
59
+ }
60
+ || { strategy: "none" },
61
+ retryCodes: options?.retryCodes || ["5XX"],
62
+ };
63
+ const requestRes = client._createRequest(context, {
64
+ security: requestSecurity,
65
+ method: "GET",
66
+ baseURL: options?.serverURL,
67
+ path: path,
68
+ headers: headers,
69
+ body: body,
70
+ userAgent: client._options.userAgent,
71
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
72
+ }, options);
73
+ if (!requestRes.ok) {
74
+ return [requestRes, { status: "invalid" }];
75
+ }
76
+ const req = requestRes.value;
77
+ const doResult = await client._do(req, {
78
+ context,
79
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
80
+ retryConfig: context.retryConfig,
81
+ retryCodes: context.retryCodes,
82
+ });
83
+ if (!doResult.ok) {
84
+ return [doResult, { status: "request-error", request: req }];
85
+ }
86
+ const response = doResult.value;
87
+ const responseFields = {
88
+ HttpMeta: { Response: response, Request: req },
89
+ };
90
+ const [result] = await M.match(M.json(200, operations.GetAnalyticsMetaResponse$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(403, errors.ForbiddenResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
91
+ if (!result.ok) {
92
+ return [result, { status: "complete", request: req, response }];
93
+ }
94
+ return [result, { status: "complete", request: req, response }];
95
+ }
96
+ //# sourceMappingURL=betaAnalyticsGetAnalyticsMeta.js.map
@@ -0,0 +1,18 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ /**
12
+ * Query analytics data
13
+ *
14
+ * @remarks
15
+ * Execute an analytics query with specified metrics, dimensions, filters, and time range. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ */
17
+ export declare function betaAnalyticsQueryAnalytics(client: OpenRouterCore, request: operations.QueryAnalyticsRequest, options?: RequestOptions): APIPromise<Result<operations.QueryAnalyticsResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.RequestTimeoutResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
+ //# sourceMappingURL=betaAnalyticsQueryAnalytics.d.ts.map
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 979cbc58b672
4
+ */
5
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
6
+ import { matchStatusCode } from "../lib/http.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 { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import * as errors from "../models/errors/index.js";
13
+ import * as operations from "../models/operations/index.js";
14
+ import { APIPromise } from "../types/async.js";
15
+ /**
16
+ * Query analytics data
17
+ *
18
+ * @remarks
19
+ * Execute an analytics query with specified metrics, dimensions, filters, and time range. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ */
21
+ export function betaAnalyticsQueryAnalytics(client, request, options) {
22
+ return new APIPromise($do(client, request, options));
23
+ }
24
+ async function $do(client, request, options) {
25
+ const parsed = safeParse(request, (value) => operations.QueryAnalyticsRequest$outboundSchema.parse(value), "Input validation failed");
26
+ if (!parsed.ok) {
27
+ return [parsed, { status: "invalid" }];
28
+ }
29
+ const payload = parsed.value;
30
+ const body = encodeJSON("body", payload.RequestBody, { explode: true });
31
+ const path = pathToFunc("/analytics/query")();
32
+ const headers = new Headers(compactMap({
33
+ "Content-Type": "application/json",
34
+ Accept: "application/json",
35
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
36
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
37
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
38
+ }));
39
+ const secConfig = await extractSecurity(client._options.apiKey);
40
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
41
+ const requestSecurity = resolveGlobalSecurity(securityInput);
42
+ const context = {
43
+ options: client._options,
44
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
45
+ operationID: "queryAnalytics",
46
+ oAuth2Scopes: null,
47
+ resolvedSecurity: requestSecurity,
48
+ securitySource: client._options.apiKey,
49
+ retryConfig: options?.retries
50
+ || client._options.retryConfig
51
+ || {
52
+ strategy: "backoff",
53
+ backoff: {
54
+ initialInterval: 500,
55
+ maxInterval: 60000,
56
+ exponent: 1.5,
57
+ maxElapsedTime: 3600000,
58
+ },
59
+ retryConnectionErrors: true,
60
+ }
61
+ || { strategy: "none" },
62
+ retryCodes: options?.retryCodes || ["5XX"],
63
+ };
64
+ const requestRes = client._createRequest(context, {
65
+ security: requestSecurity,
66
+ method: "POST",
67
+ baseURL: options?.serverURL,
68
+ path: path,
69
+ headers: headers,
70
+ body: body,
71
+ userAgent: client._options.userAgent,
72
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
73
+ }, options);
74
+ if (!requestRes.ok) {
75
+ return [requestRes, { status: "invalid" }];
76
+ }
77
+ const req = requestRes.value;
78
+ const doResult = await client._do(req, {
79
+ context,
80
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
81
+ retryConfig: context.retryConfig,
82
+ retryCodes: context.retryCodes,
83
+ });
84
+ if (!doResult.ok) {
85
+ return [doResult, { status: "request-error", request: req }];
86
+ }
87
+ const response = doResult.value;
88
+ const responseFields = {
89
+ HttpMeta: { Response: response, Request: req },
90
+ };
91
+ const [result] = await M.match(M.json(200, operations.QueryAnalyticsResponse$inboundSchema), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(403, errors.ForbiddenResponseError$inboundSchema), M.jsonErr(408, errors.RequestTimeoutResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
92
+ if (!result.ok) {
93
+ return [result, { status: "complete", request: req, response }];
94
+ }
95
+ return [result, { status: "complete", request: req, response }];
96
+ }
97
+ //# sourceMappingURL=betaAnalyticsQueryAnalytics.js.map
@@ -29,7 +29,7 @@ async function $do(client, request, options) {
29
29
  ? "text/event-stream"
30
30
  : "application/json",
31
31
  "HTTP-Referer": encodeSimple("HTTP-Referer", payload["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
32
- "X-OpenRouter-Experimental-Metadata": encodeSimple("X-OpenRouter-Experimental-Metadata", payload["X-OpenRouter-Experimental-Metadata"], { explode: false, charEncoding: "none" }),
32
+ "X-OpenRouter-Metadata": encodeSimple("X-OpenRouter-Metadata", payload["X-OpenRouter-Metadata"], { explode: false, charEncoding: "none" }),
33
33
  "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
34
34
  "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
35
35
  }));
@@ -29,7 +29,7 @@ async function $do(client, request, options) {
29
29
  ? "text/event-stream"
30
30
  : "application/json",
31
31
  "HTTP-Referer": encodeSimple("HTTP-Referer", payload["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
32
- "X-OpenRouter-Experimental-Metadata": encodeSimple("X-OpenRouter-Experimental-Metadata", payload["X-OpenRouter-Experimental-Metadata"], { explode: false, charEncoding: "none" }),
32
+ "X-OpenRouter-Metadata": encodeSimple("X-OpenRouter-Metadata", payload["X-OpenRouter-Metadata"], { explode: false, charEncoding: "none" }),
33
33
  "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
34
34
  "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
35
35
  }));
@@ -0,0 +1,43 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ import { PageIterator } from "../types/operations.js";
12
+ /**
13
+ * Top apps by token usage
14
+ *
15
+ * @remarks
16
+ * Returns the top public apps on OpenRouter ranked by token usage inside the requested
17
+ * date window, matching the public apps marketplace on openrouter.ai/apps. Token totals
18
+ * are `prompt_tokens + completion_tokens`; hidden and private apps are excluded and
19
+ * traffic from related app aliases is merged into the canonical visible app.
20
+ *
21
+ * `sort=popular` (default) ranks by total token volume inside the window.
22
+ * `sort=trending` ranks by absolute excess token growth: window volume minus the average
23
+ * volume of the three equal-length periods immediately preceding the window. Apps with
24
+ * no excess growth are omitted, so `trending` may return fewer than `limit` rows.
25
+ *
26
+ * Filter with `category` (marketplace category group, e.g. `coding`) or `subcategory`
27
+ * (e.g. `cli-agent`). Ranks are re-numbered 1..N after filtering. Page with `offset` —
28
+ * `rank` stays absolute, so the first row of `offset=50` is `rank: 51`.
29
+ *
30
+ * Authenticate with any valid OpenRouter API key (same key used for inference).
31
+ * Rate-limited to 30 requests/minute per key and 500 requests/day per account.
32
+ *
33
+ * When republishing or quoting this dataset, OpenRouter must be cited as:
34
+ * "Source: OpenRouter (openrouter.ai/apps), as of {as_of}."
35
+ *
36
+ * Token counts come from each upstream provider's own tokenizer, so a token attributed
37
+ * to one app is not directly comparable to a token attributed to another app whose
38
+ * traffic flows through a different provider.
39
+ */
40
+ export declare function datasetsGetAppRankings(client: OpenRouterCore, request?: operations.GetAppRankingsRequest | undefined, options?: RequestOptions): APIPromise<PageIterator<Result<operations.GetAppRankingsResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.TooManyRequestsResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>, {
41
+ offset: number;
42
+ }>>;
43
+ //# sourceMappingURL=datasetsGetAppRankings.d.ts.map
@@ -0,0 +1,161 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 2ae09697d446
4
+ */
5
+ import { dlv } from "../lib/dlv.js";
6
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import * as errors from "../models/errors/index.js";
14
+ import * as operations from "../models/operations/index.js";
15
+ import { APIPromise } from "../types/async.js";
16
+ import { createPageIterator, haltIterator, } from "../types/operations.js";
17
+ /**
18
+ * Top apps by token usage
19
+ *
20
+ * @remarks
21
+ * Returns the top public apps on OpenRouter ranked by token usage inside the requested
22
+ * date window, matching the public apps marketplace on openrouter.ai/apps. Token totals
23
+ * are `prompt_tokens + completion_tokens`; hidden and private apps are excluded and
24
+ * traffic from related app aliases is merged into the canonical visible app.
25
+ *
26
+ * `sort=popular` (default) ranks by total token volume inside the window.
27
+ * `sort=trending` ranks by absolute excess token growth: window volume minus the average
28
+ * volume of the three equal-length periods immediately preceding the window. Apps with
29
+ * no excess growth are omitted, so `trending` may return fewer than `limit` rows.
30
+ *
31
+ * Filter with `category` (marketplace category group, e.g. `coding`) or `subcategory`
32
+ * (e.g. `cli-agent`). Ranks are re-numbered 1..N after filtering. Page with `offset` —
33
+ * `rank` stays absolute, so the first row of `offset=50` is `rank: 51`.
34
+ *
35
+ * Authenticate with any valid OpenRouter API key (same key used for inference).
36
+ * Rate-limited to 30 requests/minute per key and 500 requests/day per account.
37
+ *
38
+ * When republishing or quoting this dataset, OpenRouter must be cited as:
39
+ * "Source: OpenRouter (openrouter.ai/apps), as of {as_of}."
40
+ *
41
+ * Token counts come from each upstream provider's own tokenizer, so a token attributed
42
+ * to one app is not directly comparable to a token attributed to another app whose
43
+ * traffic flows through a different provider.
44
+ */
45
+ export function datasetsGetAppRankings(client, request, options) {
46
+ return new APIPromise($do(client, request, options));
47
+ }
48
+ async function $do(client, request, options) {
49
+ const parsed = safeParse(request, (value) => operations.GetAppRankingsRequest$outboundSchema.optional().parse(value), "Input validation failed");
50
+ if (!parsed.ok) {
51
+ return [haltIterator(parsed), { status: "invalid" }];
52
+ }
53
+ const payload = parsed.value;
54
+ const body = null;
55
+ const path = pathToFunc("/datasets/app-rankings")();
56
+ const query = encodeFormQuery({
57
+ "category": payload?.category,
58
+ "end_date": payload?.end_date,
59
+ "limit": payload?.limit,
60
+ "offset": payload?.offset,
61
+ "sort": payload?.sort,
62
+ "start_date": payload?.start_date,
63
+ "subcategory": payload?.subcategory,
64
+ });
65
+ const headers = new Headers(compactMap({
66
+ Accept: "application/json",
67
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload?.["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
68
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload?.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
69
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload?.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
70
+ }));
71
+ const secConfig = await extractSecurity(client._options.apiKey);
72
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
73
+ const requestSecurity = resolveGlobalSecurity(securityInput);
74
+ const context = {
75
+ options: client._options,
76
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
77
+ operationID: "getAppRankings",
78
+ oAuth2Scopes: null,
79
+ resolvedSecurity: requestSecurity,
80
+ securitySource: client._options.apiKey,
81
+ retryConfig: options?.retries
82
+ || client._options.retryConfig
83
+ || {
84
+ strategy: "backoff",
85
+ backoff: {
86
+ initialInterval: 500,
87
+ maxInterval: 60000,
88
+ exponent: 1.5,
89
+ maxElapsedTime: 3600000,
90
+ },
91
+ retryConnectionErrors: true,
92
+ }
93
+ || { strategy: "none" },
94
+ retryCodes: options?.retryCodes || ["5XX"],
95
+ };
96
+ const requestRes = client._createRequest(context, {
97
+ security: requestSecurity,
98
+ method: "GET",
99
+ baseURL: options?.serverURL,
100
+ path: path,
101
+ headers: headers,
102
+ query: query,
103
+ body: body,
104
+ userAgent: client._options.userAgent,
105
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
106
+ }, options);
107
+ if (!requestRes.ok) {
108
+ return [haltIterator(requestRes), { status: "invalid" }];
109
+ }
110
+ const req = requestRes.value;
111
+ const doResult = await client._do(req, {
112
+ context,
113
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
114
+ retryConfig: context.retryConfig,
115
+ retryCodes: context.retryCodes,
116
+ });
117
+ if (!doResult.ok) {
118
+ return [haltIterator(doResult), { status: "request-error", request: req }];
119
+ }
120
+ const response = doResult.value;
121
+ const responseFields = {
122
+ HttpMeta: { Response: response, Request: req },
123
+ };
124
+ const [result, raw] = await M.match(M.json(200, operations.GetAppRankingsResponse$inboundSchema, {
125
+ key: "Result",
126
+ }), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(429, errors.TooManyRequestsResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
127
+ if (!result.ok) {
128
+ return [haltIterator(result), {
129
+ status: "complete",
130
+ request: req,
131
+ response,
132
+ }];
133
+ }
134
+ const nextFunc = (responseData) => {
135
+ const offset = request?.offset ?? 0;
136
+ if (!responseData) {
137
+ return { next: () => null };
138
+ }
139
+ const results = dlv(responseData, "data");
140
+ if (!Array.isArray(results) || !results.length) {
141
+ return { next: () => null };
142
+ }
143
+ const limit = request?.limit ?? 50;
144
+ if (results.length < limit) {
145
+ return { next: () => null };
146
+ }
147
+ const nextOffset = offset + results.length;
148
+ const nextVal = () => datasetsGetAppRankings(client, {
149
+ ...request,
150
+ offset: nextOffset,
151
+ }, options);
152
+ return { next: nextVal, "~next": { offset: nextOffset } };
153
+ };
154
+ const page = { ...result, ...nextFunc(raw) };
155
+ return [{ ...page, ...createPageIterator(page, (v) => !v.ok) }, {
156
+ status: "complete",
157
+ request: req,
158
+ response,
159
+ }];
160
+ }
161
+ //# sourceMappingURL=datasetsGetAppRankings.js.map
@@ -0,0 +1,19 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as models from "../models/index.js";
9
+ import * as operations from "../models/operations/index.js";
10
+ import { APIPromise } from "../types/async.js";
11
+ import { Result } from "../types/fp.js";
12
+ /**
13
+ * Artificial Analysis Benchmark Indices
14
+ *
15
+ * @remarks
16
+ * Returns composite index scores (Intelligence, Coding, Agentic) from Artificial Analysis for LLM models. Includes OpenRouter pricing per model. Authenticate with any valid OpenRouter API key. Rate-limited to 30 requests/minute per key and 500 requests/day per account.
17
+ */
18
+ export declare function datasetsGetBenchmarksArtificialAnalysis(client: OpenRouterCore, request?: operations.GetBenchmarksArtificialAnalysisRequest | undefined, options?: RequestOptions): APIPromise<Result<models.BenchmarksAAResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.TooManyRequestsResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
+ //# sourceMappingURL=datasetsGetBenchmarksArtificialAnalysis.d.ts.map
@@ -0,0 +1,102 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 8997506a6260
4
+ */
5
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
6
+ import { matchStatusCode } from "../lib/http.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 { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import * as errors from "../models/errors/index.js";
13
+ import * as models from "../models/index.js";
14
+ import * as operations from "../models/operations/index.js";
15
+ import { APIPromise } from "../types/async.js";
16
+ /**
17
+ * Artificial Analysis Benchmark Indices
18
+ *
19
+ * @remarks
20
+ * Returns composite index scores (Intelligence, Coding, Agentic) from Artificial Analysis for LLM models. Includes OpenRouter pricing per model. Authenticate with any valid OpenRouter API key. Rate-limited to 30 requests/minute per key and 500 requests/day per account.
21
+ */
22
+ export function datasetsGetBenchmarksArtificialAnalysis(client, request, options) {
23
+ return new APIPromise($do(client, request, options));
24
+ }
25
+ async function $do(client, request, options) {
26
+ const parsed = safeParse(request, (value) => operations.GetBenchmarksArtificialAnalysisRequest$outboundSchema
27
+ .optional().parse(value), "Input validation failed");
28
+ if (!parsed.ok) {
29
+ return [parsed, { status: "invalid" }];
30
+ }
31
+ const payload = parsed.value;
32
+ const body = null;
33
+ const path = pathToFunc("/datasets/benchmarks/artificial-analysis")();
34
+ const query = encodeFormQuery({
35
+ "max_results": payload?.max_results,
36
+ });
37
+ const headers = new Headers(compactMap({
38
+ Accept: "application/json",
39
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload?.["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
40
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload?.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
41
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload?.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
42
+ }));
43
+ const secConfig = await extractSecurity(client._options.apiKey);
44
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
45
+ const requestSecurity = resolveGlobalSecurity(securityInput);
46
+ const context = {
47
+ options: client._options,
48
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
49
+ operationID: "getBenchmarksArtificialAnalysis",
50
+ oAuth2Scopes: null,
51
+ resolvedSecurity: requestSecurity,
52
+ securitySource: client._options.apiKey,
53
+ retryConfig: options?.retries
54
+ || client._options.retryConfig
55
+ || {
56
+ strategy: "backoff",
57
+ backoff: {
58
+ initialInterval: 500,
59
+ maxInterval: 60000,
60
+ exponent: 1.5,
61
+ maxElapsedTime: 3600000,
62
+ },
63
+ retryConnectionErrors: true,
64
+ }
65
+ || { strategy: "none" },
66
+ retryCodes: options?.retryCodes || ["5XX"],
67
+ };
68
+ const requestRes = client._createRequest(context, {
69
+ security: requestSecurity,
70
+ method: "GET",
71
+ baseURL: options?.serverURL,
72
+ path: path,
73
+ headers: headers,
74
+ query: query,
75
+ body: body,
76
+ userAgent: client._options.userAgent,
77
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
78
+ }, options);
79
+ if (!requestRes.ok) {
80
+ return [requestRes, { status: "invalid" }];
81
+ }
82
+ const req = requestRes.value;
83
+ const doResult = await client._do(req, {
84
+ context,
85
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
86
+ retryConfig: context.retryConfig,
87
+ retryCodes: context.retryCodes,
88
+ });
89
+ if (!doResult.ok) {
90
+ return [doResult, { status: "request-error", request: req }];
91
+ }
92
+ const response = doResult.value;
93
+ const responseFields = {
94
+ HttpMeta: { Response: response, Request: req },
95
+ };
96
+ const [result] = await M.match(M.json(200, models.BenchmarksAAResponse$inboundSchema), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(429, errors.TooManyRequestsResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
97
+ if (!result.ok) {
98
+ return [result, { status: "complete", request: req, response }];
99
+ }
100
+ return [result, { status: "complete", request: req, response }];
101
+ }
102
+ //# sourceMappingURL=datasetsGetBenchmarksArtificialAnalysis.js.map
@@ -0,0 +1,19 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as models from "../models/index.js";
9
+ import * as operations from "../models/operations/index.js";
10
+ import { APIPromise } from "../types/async.js";
11
+ import { Result } from "../types/fp.js";
12
+ /**
13
+ * Design Arena Benchmark Rankings
14
+ *
15
+ * @remarks
16
+ * Returns ELO ratings from head-to-head arena battles on Design Arena. Filterable by arena (models/builders/agents) and category. Includes OpenRouter pricing per model. Authenticate with any valid OpenRouter API key. Rate-limited to 30 requests/minute per key and 500 requests/day per account.
17
+ */
18
+ export declare function datasetsGetBenchmarksDesignArena(client: OpenRouterCore, request?: operations.GetBenchmarksDesignArenaRequest | undefined, options?: RequestOptions): APIPromise<Result<models.BenchmarksDAResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.TooManyRequestsResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
+ //# sourceMappingURL=datasetsGetBenchmarksDesignArena.d.ts.map