@openrouter/sdk 0.0.1-beta.11 → 0.0.1-beta.14

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 (227) hide show
  1. package/FUNCTIONS.md +109 -1
  2. package/REACT_QUERY.md +109 -1
  3. package/README.md +686 -15
  4. package/esm/funcs/analyticsGetUserActivity.d.ts +1 -1
  5. package/esm/funcs/analyticsGetUserActivity.js +2 -2
  6. package/esm/funcs/apiKeysCreate.d.ts +1 -1
  7. package/esm/funcs/apiKeysCreate.js +2 -2
  8. package/esm/funcs/apiKeysDelete.d.ts +1 -1
  9. package/esm/funcs/apiKeysDelete.js +2 -2
  10. package/esm/funcs/apiKeysGet.d.ts +1 -1
  11. package/esm/funcs/apiKeysGet.js +2 -2
  12. package/esm/funcs/apiKeysGetCurrentKeyMetadata.d.ts +1 -1
  13. package/esm/funcs/apiKeysGetCurrentKeyMetadata.js +2 -2
  14. package/esm/funcs/apiKeysList.d.ts +1 -1
  15. package/esm/funcs/apiKeysList.js +2 -2
  16. package/esm/funcs/apiKeysUpdate.d.ts +1 -1
  17. package/esm/funcs/apiKeysUpdate.js +2 -2
  18. package/esm/funcs/betaResponsesSend.d.ts +9 -1
  19. package/esm/funcs/betaResponsesSend.js +38 -14
  20. package/esm/funcs/chatSend.d.ts +1 -1
  21. package/esm/funcs/creditsCreateCoinbaseCharge.d.ts +1 -1
  22. package/esm/funcs/creditsCreateCoinbaseCharge.js +15 -5
  23. package/esm/funcs/creditsGetCredits.d.ts +1 -1
  24. package/esm/funcs/creditsGetCredits.js +2 -2
  25. package/esm/funcs/endpointsList.d.ts +1 -1
  26. package/esm/funcs/endpointsList.js +2 -2
  27. package/esm/funcs/endpointsListZdrEndpoints.d.ts +2 -1
  28. package/esm/funcs/endpointsListZdrEndpoints.js +6 -2
  29. package/esm/funcs/generationsGetGeneration.d.ts +1 -1
  30. package/esm/funcs/generationsGetGeneration.js +13 -2
  31. package/esm/funcs/modelsCount.d.ts +3 -2
  32. package/esm/funcs/modelsCount.js +7 -3
  33. package/esm/funcs/modelsList.d.ts +3 -1
  34. package/esm/funcs/modelsList.js +8 -7
  35. package/esm/funcs/modelsListForUser.d.ts +3 -1
  36. package/esm/funcs/modelsListForUser.js +7 -3
  37. package/esm/funcs/oAuthCreateAuthCode.d.ts +18 -0
  38. package/esm/funcs/oAuthCreateAuthCode.js +82 -0
  39. package/esm/funcs/oAuthCreateAuthorizationUrl.d.ts +2 -2
  40. package/esm/funcs/oAuthExchangeAuthCodeForAPIKey.d.ts +18 -0
  41. package/esm/funcs/oAuthExchangeAuthCodeForAPIKey.js +82 -0
  42. package/esm/funcs/parametersGetParameters.d.ts +1 -1
  43. package/esm/funcs/parametersGetParameters.js +2 -2
  44. package/esm/funcs/providersList.d.ts +1 -1
  45. package/esm/funcs/providersList.js +1 -1
  46. package/esm/lib/config.d.ts +2 -2
  47. package/esm/lib/config.js +2 -2
  48. package/esm/lib/event-streams.d.ts +1 -1
  49. package/esm/models/badgatewayresponseerrordata.d.ts +40 -0
  50. package/esm/models/badgatewayresponseerrordata.js +35 -0
  51. package/esm/models/badrequestresponseerrordata.d.ts +40 -0
  52. package/esm/models/badrequestresponseerrordata.js +35 -0
  53. package/esm/models/chatmessagecontentitemaudio.d.ts +10 -10
  54. package/esm/models/chatmessagecontentitemaudio.js +14 -14
  55. package/esm/models/chatstreamingresponsechunk.d.ts +15 -15
  56. package/esm/models/chatstreamingresponsechunk.js +15 -15
  57. package/esm/models/createchargerequest.d.ts +31 -2
  58. package/esm/models/createchargerequest.js +47 -2
  59. package/esm/models/defaultparameters.d.ts +36 -0
  60. package/esm/models/defaultparameters.js +46 -0
  61. package/esm/models/edgenetworktimeoutresponseerrordata.d.ts +40 -0
  62. package/esm/models/edgenetworktimeoutresponseerrordata.js +35 -0
  63. package/esm/models/endpointstatus.d.ts +26 -0
  64. package/esm/models/endpointstatus.js +36 -0
  65. package/esm/models/errors/badgatewayresponseerror.d.ts +52 -0
  66. package/esm/models/errors/badgatewayresponseerror.js +63 -0
  67. package/esm/models/errors/badrequestresponseerror.d.ts +52 -0
  68. package/esm/models/errors/badrequestresponseerror.js +63 -0
  69. package/esm/models/errors/edgenetworktimeoutresponseerror.d.ts +52 -0
  70. package/esm/models/errors/edgenetworktimeoutresponseerror.js +63 -0
  71. package/esm/models/errors/forbiddenresponseerror.d.ts +52 -0
  72. package/esm/models/errors/forbiddenresponseerror.js +63 -0
  73. package/esm/models/errors/index.d.ts +14 -2
  74. package/esm/models/errors/index.js +14 -2
  75. package/esm/models/errors/internalserverresponseerror.d.ts +52 -0
  76. package/esm/models/errors/internalserverresponseerror.js +63 -0
  77. package/esm/models/errors/notfoundresponseerror.d.ts +52 -0
  78. package/esm/models/errors/{errorresponse.js → notfoundresponseerror.js} +16 -17
  79. package/esm/models/errors/payloadtoolargeresponseerror.d.ts +52 -0
  80. package/esm/models/errors/payloadtoolargeresponseerror.js +63 -0
  81. package/esm/models/errors/paymentrequiredresponseerror.d.ts +52 -0
  82. package/esm/models/errors/paymentrequiredresponseerror.js +63 -0
  83. package/esm/models/errors/provideroverloadedresponseerror.d.ts +52 -0
  84. package/esm/models/errors/provideroverloadedresponseerror.js +63 -0
  85. package/esm/models/errors/requesttimeoutresponseerror.d.ts +52 -0
  86. package/esm/models/errors/requesttimeoutresponseerror.js +63 -0
  87. package/esm/models/errors/serviceunavailableresponseerror.d.ts +52 -0
  88. package/esm/models/errors/serviceunavailableresponseerror.js +63 -0
  89. package/esm/models/errors/toomanyrequestsresponseerror.d.ts +52 -0
  90. package/esm/models/errors/toomanyrequestsresponseerror.js +63 -0
  91. package/esm/models/errors/unauthorizedresponseerror.d.ts +52 -0
  92. package/esm/models/errors/unauthorizedresponseerror.js +63 -0
  93. package/esm/models/errors/unprocessableentityresponseerror.d.ts +52 -0
  94. package/esm/models/errors/unprocessableentityresponseerror.js +63 -0
  95. package/esm/models/forbiddenresponseerrordata.d.ts +40 -0
  96. package/esm/models/forbiddenresponseerrordata.js +35 -0
  97. package/esm/models/index.d.ts +37 -1
  98. package/esm/models/index.js +37 -1
  99. package/esm/models/inputmodality.d.ts +24 -0
  100. package/esm/models/inputmodality.js +34 -0
  101. package/esm/models/instructtype.d.ts +48 -0
  102. package/esm/models/instructtype.js +55 -0
  103. package/esm/models/internalserverresponseerrordata.d.ts +40 -0
  104. package/esm/models/internalserverresponseerrordata.js +35 -0
  105. package/esm/models/listendpointsresponse.d.ts +126 -2
  106. package/esm/models/listendpointsresponse.js +115 -2
  107. package/esm/models/model.d.ts +101 -0
  108. package/esm/models/model.js +82 -0
  109. package/esm/models/modelarchitecture.d.ts +104 -0
  110. package/esm/models/modelarchitecture.js +107 -0
  111. package/esm/models/modelgroup.d.ts +45 -0
  112. package/esm/models/modelgroup.js +53 -0
  113. package/esm/models/modelscountresponse.d.ts +40 -2
  114. package/esm/models/modelscountresponse.js +31 -2
  115. package/esm/models/modelslistresponse.d.ts +10 -2
  116. package/esm/models/modelslistresponse.js +7 -2
  117. package/esm/models/notfoundresponseerrordata.d.ts +40 -0
  118. package/esm/models/notfoundresponseerrordata.js +35 -0
  119. package/esm/models/openairesponsesincludable.d.ts +25 -0
  120. package/esm/models/openairesponsesincludable.js +35 -0
  121. package/esm/models/openairesponsesinputunion.d.ts +78 -78
  122. package/esm/models/openairesponsesinputunion.js +124 -126
  123. package/esm/models/openresponseseasyinputmessage.d.ts +246 -0
  124. package/esm/models/openresponseseasyinputmessage.js +283 -0
  125. package/esm/models/openresponsesfunctioncalloutput.d.ts +64 -0
  126. package/esm/models/openresponsesfunctioncalloutput.js +67 -0
  127. package/esm/models/openresponsesfunctiontoolcall.d.ts +66 -0
  128. package/esm/models/openresponsesfunctiontoolcall.js +69 -0
  129. package/esm/models/openresponsesinput.d.ts +60 -0
  130. package/esm/models/openresponsesinput.js +113 -0
  131. package/esm/models/openresponsesinputmessageitem.d.ts +193 -0
  132. package/esm/models/openresponsesinputmessageitem.js +210 -0
  133. package/esm/models/openresponsesnonstreamingresponse.d.ts +13 -13
  134. package/esm/models/openresponsesnonstreamingresponse.js +13 -13
  135. package/esm/models/openresponsesreasoning.d.ts +179 -0
  136. package/esm/models/openresponsesreasoning.js +194 -0
  137. package/esm/models/openresponsesreasoningconfig.d.ts +40 -0
  138. package/esm/models/openresponsesreasoningconfig.js +48 -0
  139. package/esm/models/openresponsesrequest.d.ts +736 -2
  140. package/esm/models/openresponsesrequest.js +789 -2
  141. package/esm/models/openresponsesresponsetext.d.ts +59 -0
  142. package/esm/models/openresponsesresponsetext.js +64 -0
  143. package/esm/models/operations/createauthkeyscode.d.ts +145 -0
  144. package/esm/models/operations/createauthkeyscode.js +146 -0
  145. package/esm/models/operations/createresponses.d.ts +58 -0
  146. package/esm/models/operations/createresponses.js +80 -0
  147. package/esm/models/operations/exchangeauthcodeforapikey.d.ts +104 -0
  148. package/esm/models/operations/exchangeauthcodeforapikey.js +111 -0
  149. package/esm/models/operations/getmodels.d.ts +0 -26
  150. package/esm/models/operations/getmodels.js +0 -38
  151. package/esm/models/operations/index.d.ts +3 -2
  152. package/esm/models/operations/index.js +3 -2
  153. package/esm/models/operations/listendpointszdr.d.ts +3 -24
  154. package/esm/models/operations/listendpointszdr.js +2 -29
  155. package/esm/models/operations/listmodelsuser.d.ts +0 -22
  156. package/esm/models/operations/listmodelsuser.js +0 -28
  157. package/esm/models/operations/listproviders.d.ts +0 -36
  158. package/esm/models/operations/listproviders.js +0 -28
  159. package/esm/models/operations/sendchatcompletionrequest.d.ts +1 -1
  160. package/esm/models/operations/sendchatcompletionrequest.js +2 -1
  161. package/esm/models/outputmodality.d.ts +23 -0
  162. package/esm/models/outputmodality.js +33 -0
  163. package/esm/models/parameter.d.ts +43 -0
  164. package/esm/models/parameter.js +54 -0
  165. package/esm/models/payloadtoolargeresponseerrordata.d.ts +40 -0
  166. package/esm/models/payloadtoolargeresponseerrordata.js +35 -0
  167. package/esm/models/paymentrequiredresponseerrordata.d.ts +40 -0
  168. package/esm/models/paymentrequiredresponseerrordata.js +35 -0
  169. package/esm/models/perrequestlimits.d.ts +40 -0
  170. package/esm/models/perrequestlimits.js +44 -0
  171. package/esm/models/providername.d.ts +106 -0
  172. package/esm/models/providername.js +116 -0
  173. package/esm/models/provideroverloadedresponseerrordata.d.ts +40 -0
  174. package/esm/models/provideroverloadedresponseerrordata.js +35 -0
  175. package/esm/models/publicendpoint.d.ts +140 -2
  176. package/esm/models/publicendpoint.js +156 -2
  177. package/esm/models/publicpricing.d.ts +87 -0
  178. package/esm/models/publicpricing.js +73 -0
  179. package/esm/models/quantization.d.ts +29 -0
  180. package/esm/models/quantization.js +39 -0
  181. package/esm/models/requesttimeoutresponseerrordata.d.ts +40 -0
  182. package/esm/models/requesttimeoutresponseerrordata.js +35 -0
  183. package/esm/models/responseserrorfield.d.ts +10 -10
  184. package/esm/models/responseserrorfield.js +14 -14
  185. package/esm/models/responsetextconfig.d.ts +10 -10
  186. package/esm/models/responsetextconfig.js +14 -15
  187. package/esm/models/serviceunavailableresponseerrordata.d.ts +40 -0
  188. package/esm/models/serviceunavailableresponseerrordata.js +35 -0
  189. package/esm/models/toomanyrequestsresponseerrordata.d.ts +40 -0
  190. package/esm/models/toomanyrequestsresponseerrordata.js +35 -0
  191. package/esm/models/topproviderinfo.d.ts +45 -0
  192. package/esm/models/topproviderinfo.js +48 -0
  193. package/esm/models/unauthorizedresponseerrordata.d.ts +40 -0
  194. package/esm/models/unauthorizedresponseerrordata.js +35 -0
  195. package/esm/models/unprocessableentityresponseerrordata.d.ts +40 -0
  196. package/esm/models/unprocessableentityresponseerrordata.js +35 -0
  197. package/esm/react-query/betaResponsesSend.d.ts +1 -1
  198. package/esm/react-query/index.d.ts +2 -0
  199. package/esm/react-query/index.js +2 -0
  200. package/esm/react-query/modelsCount.d.ts +2 -2
  201. package/esm/react-query/modelsList.d.ts +2 -7
  202. package/esm/react-query/modelsList.js +0 -2
  203. package/esm/react-query/modelsListForUser.d.ts +2 -1
  204. package/esm/react-query/oAuthCreateAuthCode.d.ts +23 -0
  205. package/esm/react-query/oAuthCreateAuthCode.js +42 -0
  206. package/esm/react-query/oAuthExchangeAuthCodeForAPIKey.d.ts +23 -0
  207. package/esm/react-query/oAuthExchangeAuthCodeForAPIKey.js +42 -0
  208. package/esm/sdk/chat.d.ts +1 -1
  209. package/esm/sdk/models.d.ts +4 -3
  210. package/esm/sdk/oauth.d.ts +46 -0
  211. package/esm/sdk/oauth.js +67 -0
  212. package/esm/sdk/responses.d.ts +8 -1
  213. package/esm/sdk/responses.js +0 -6
  214. package/esm/sdk/sdk.d.ts +3 -0
  215. package/esm/sdk/sdk.js +4 -0
  216. package/jsr.json +1 -1
  217. package/package.json +3 -1
  218. package/vitest.config.ts +8 -1
  219. package/esm/models/errorresponse.d.ts +0 -155
  220. package/esm/models/errorresponse.js +0 -167
  221. package/esm/models/errors/errorresponse.d.ts +0 -46
  222. package/esm/models/errors/listproviders.d.ts +0 -49
  223. package/esm/models/errors/listproviders.js +0 -51
  224. package/esm/models/operations/createapialpharesponses.d.ts +0 -58
  225. package/esm/models/operations/createapialpharesponses.js +0 -83
  226. package/esm/models/operations/listmodelscount.d.ts +0 -26
  227. package/esm/models/operations/listmodelscount.js +0 -34
@@ -52,8 +52,6 @@ export function buildModelsListQuery(client$, request, options) {
52
52
  queryKey: queryKeyModelsList({
53
53
  category: request?.category,
54
54
  supportedParameters: request?.supportedParameters,
55
- useRss: request?.useRss,
56
- useRssChatLinks: request?.useRssChatLinks,
57
55
  }),
58
56
  queryFn: async function modelsListQueryFn(ctx) {
59
57
  const sig = combineSignals(ctx.signal, options?.fetchOptions?.signal);
@@ -1,9 +1,10 @@
1
1
  import { InvalidateQueryFilters, QueryClient, QueryFunctionContext, QueryKey, UseQueryResult, UseSuspenseQueryResult } from "@tanstack/react-query";
2
2
  import { OpenRouterCore } from "../core.js";
3
3
  import { RequestOptions } from "../lib/sdks.js";
4
+ import * as models from "../models/index.js";
4
5
  import * as operations from "../models/operations/index.js";
5
6
  import { QueryHookOptions, SuspenseQueryHookOptions } from "./_types.js";
6
- export type ModelsListForUserQueryData = operations.ListModelsUserResponse;
7
+ export type ModelsListForUserQueryData = models.ModelsListResponse;
7
8
  /**
8
9
  * List models filtered by user provider preferences
9
10
  */
@@ -0,0 +1,23 @@
1
+ import { MutationKey, UseMutationResult } from "@tanstack/react-query";
2
+ import { OpenRouterCore } from "../core.js";
3
+ import { RequestOptions } from "../lib/sdks.js";
4
+ import * as operations from "../models/operations/index.js";
5
+ import { MutationHookOptions } from "./_types.js";
6
+ export type OAuthCreateAuthCodeMutationVariables = {
7
+ request: operations.CreateAuthKeysCodeRequest;
8
+ options?: RequestOptions;
9
+ };
10
+ export type OAuthCreateAuthCodeMutationData = operations.CreateAuthKeysCodeResponse;
11
+ /**
12
+ * Create authorization code
13
+ *
14
+ * @remarks
15
+ * Create an authorization code for the PKCE flow to generate a user-controlled API key
16
+ */
17
+ export declare function useOAuthCreateAuthCodeMutation(options?: MutationHookOptions<OAuthCreateAuthCodeMutationData, Error, OAuthCreateAuthCodeMutationVariables>): UseMutationResult<OAuthCreateAuthCodeMutationData, Error, OAuthCreateAuthCodeMutationVariables>;
18
+ export declare function mutationKeyOAuthCreateAuthCode(): MutationKey;
19
+ export declare function buildOAuthCreateAuthCodeMutation(client$: OpenRouterCore, hookOptions?: RequestOptions): {
20
+ mutationKey: MutationKey;
21
+ mutationFn: (variables: OAuthCreateAuthCodeMutationVariables) => Promise<OAuthCreateAuthCodeMutationData>;
22
+ };
23
+ //# sourceMappingURL=oAuthCreateAuthCode.d.ts.map
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+ import { useMutation, } from "@tanstack/react-query";
5
+ import { oAuthCreateAuthCode } from "../funcs/oAuthCreateAuthCode.js";
6
+ import { combineSignals } from "../lib/primitives.js";
7
+ import { unwrapAsync } from "../types/fp.js";
8
+ import { useOpenRouterContext } from "./_context.js";
9
+ /**
10
+ * Create authorization code
11
+ *
12
+ * @remarks
13
+ * Create an authorization code for the PKCE flow to generate a user-controlled API key
14
+ */
15
+ export function useOAuthCreateAuthCodeMutation(options) {
16
+ const client = useOpenRouterContext();
17
+ return useMutation({
18
+ ...buildOAuthCreateAuthCodeMutation(client, options),
19
+ ...options,
20
+ });
21
+ }
22
+ export function mutationKeyOAuthCreateAuthCode() {
23
+ return ["@openrouter/sdk", "OAuth", "createAuthCode"];
24
+ }
25
+ export function buildOAuthCreateAuthCodeMutation(client$, hookOptions) {
26
+ return {
27
+ mutationKey: mutationKeyOAuthCreateAuthCode(),
28
+ mutationFn: function oAuthCreateAuthCodeMutationFn({ request, options, }) {
29
+ const mergedOptions = {
30
+ ...hookOptions,
31
+ ...options,
32
+ fetchOptions: {
33
+ ...hookOptions?.fetchOptions,
34
+ ...options?.fetchOptions,
35
+ signal: combineSignals(hookOptions?.fetchOptions?.signal, options?.fetchOptions?.signal),
36
+ },
37
+ };
38
+ return unwrapAsync(oAuthCreateAuthCode(client$, request, mergedOptions));
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=oAuthCreateAuthCode.js.map
@@ -0,0 +1,23 @@
1
+ import { MutationKey, UseMutationResult } from "@tanstack/react-query";
2
+ import { OpenRouterCore } from "../core.js";
3
+ import { RequestOptions } from "../lib/sdks.js";
4
+ import * as operations from "../models/operations/index.js";
5
+ import { MutationHookOptions } from "./_types.js";
6
+ export type OAuthExchangeAuthCodeForAPIKeyMutationVariables = {
7
+ request: operations.ExchangeAuthCodeForAPIKeyRequest;
8
+ options?: RequestOptions;
9
+ };
10
+ export type OAuthExchangeAuthCodeForAPIKeyMutationData = operations.ExchangeAuthCodeForAPIKeyResponse;
11
+ /**
12
+ * Exchange authorization code for API key
13
+ *
14
+ * @remarks
15
+ * Exchange an authorization code from the PKCE flow for a user-controlled API key
16
+ */
17
+ export declare function useOAuthExchangeAuthCodeForAPIKeyMutation(options?: MutationHookOptions<OAuthExchangeAuthCodeForAPIKeyMutationData, Error, OAuthExchangeAuthCodeForAPIKeyMutationVariables>): UseMutationResult<OAuthExchangeAuthCodeForAPIKeyMutationData, Error, OAuthExchangeAuthCodeForAPIKeyMutationVariables>;
18
+ export declare function mutationKeyOAuthExchangeAuthCodeForAPIKey(): MutationKey;
19
+ export declare function buildOAuthExchangeAuthCodeForAPIKeyMutation(client$: OpenRouterCore, hookOptions?: RequestOptions): {
20
+ mutationKey: MutationKey;
21
+ mutationFn: (variables: OAuthExchangeAuthCodeForAPIKeyMutationVariables) => Promise<OAuthExchangeAuthCodeForAPIKeyMutationData>;
22
+ };
23
+ //# sourceMappingURL=oAuthExchangeAuthCodeForAPIKey.d.ts.map
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+ import { useMutation, } from "@tanstack/react-query";
5
+ import { oAuthExchangeAuthCodeForAPIKey } from "../funcs/oAuthExchangeAuthCodeForAPIKey.js";
6
+ import { combineSignals } from "../lib/primitives.js";
7
+ import { unwrapAsync } from "../types/fp.js";
8
+ import { useOpenRouterContext } from "./_context.js";
9
+ /**
10
+ * Exchange authorization code for API key
11
+ *
12
+ * @remarks
13
+ * Exchange an authorization code from the PKCE flow for a user-controlled API key
14
+ */
15
+ export function useOAuthExchangeAuthCodeForAPIKeyMutation(options) {
16
+ const client = useOpenRouterContext();
17
+ return useMutation({
18
+ ...buildOAuthExchangeAuthCodeForAPIKeyMutation(client, options),
19
+ ...options,
20
+ });
21
+ }
22
+ export function mutationKeyOAuthExchangeAuthCodeForAPIKey() {
23
+ return ["@openrouter/sdk", "OAuth", "exchangeAuthCodeForAPIKey"];
24
+ }
25
+ export function buildOAuthExchangeAuthCodeForAPIKeyMutation(client$, hookOptions) {
26
+ return {
27
+ mutationKey: mutationKeyOAuthExchangeAuthCodeForAPIKey(),
28
+ mutationFn: function oAuthExchangeAuthCodeForAPIKeyMutationFn({ request, options, }) {
29
+ const mergedOptions = {
30
+ ...hookOptions,
31
+ ...options,
32
+ fetchOptions: {
33
+ ...hookOptions?.fetchOptions,
34
+ ...options?.fetchOptions,
35
+ signal: combineSignals(hookOptions?.fetchOptions?.signal, options?.fetchOptions?.signal),
36
+ },
37
+ };
38
+ return unwrapAsync(oAuthExchangeAuthCodeForAPIKey(client$, request, mergedOptions));
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=oAuthExchangeAuthCodeForAPIKey.js.map
package/esm/sdk/chat.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare class Chat extends ClientSDK {
14
14
  }, options?: RequestOptions): Promise<models.ChatResponse>;
15
15
  send(request: models.ChatGenerationParams & {
16
16
  stream: true;
17
- }, options?: RequestOptions): Promise<EventStream<models.ChatStreamingResponseChunk>>;
17
+ }, options?: RequestOptions): Promise<EventStream<models.ChatStreamingResponseChunkData>>;
18
18
  send(request: models.ChatGenerationParams, options?: RequestOptions): Promise<operations.SendChatCompletionRequestResponse>;
19
19
  }
20
20
  //# sourceMappingURL=chat.d.ts.map
@@ -1,17 +1,18 @@
1
1
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
+ import * as models from "../models/index.js";
2
3
  import * as operations from "../models/operations/index.js";
3
4
  export declare class Models extends ClientSDK {
4
5
  /**
5
6
  * Get total count of available models
6
7
  */
7
- count(options?: RequestOptions): Promise<operations.ListModelsCountResponse>;
8
+ count(options?: RequestOptions): Promise<models.ModelsCountResponse>;
8
9
  /**
9
10
  * List all models and their properties
10
11
  */
11
- list(request?: operations.GetModelsRequest | undefined, options?: RequestOptions): Promise<operations.GetModelsResponse>;
12
+ list(request?: operations.GetModelsRequest | undefined, options?: RequestOptions): Promise<models.ModelsListResponse>;
12
13
  /**
13
14
  * List models filtered by user provider preferences
14
15
  */
15
- listForUser(security: operations.ListModelsUserSecurity, options?: RequestOptions): Promise<operations.ListModelsUserResponse>;
16
+ listForUser(security: operations.ListModelsUserSecurity, options?: RequestOptions): Promise<models.ModelsListResponse>;
16
17
  }
17
18
  //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
+ import * as operations from "../models/operations/index.js";
3
+ import { CreateAuthorizationUrlRequest } from "../funcs/oAuthCreateAuthorizationUrl.js";
4
+ import { CreateSHA256CodeChallengeResponse } from "../funcs/oAuthCreateSHA256CodeChallenge.js";
5
+ export declare class OAuth extends ClientSDK {
6
+ /**
7
+ * Generate a OAuth2 authorization URL
8
+ *
9
+ * @remarks
10
+ * Generates a URL to redirect users to for authorizing your application. The
11
+ * URL includes the provided callback URL and, if applicable, the code
12
+ * challenge parameters for PKCE.
13
+ *
14
+ * @see {@link https://openrouter.ai/docs/use-cases/oauth-pkce}
15
+ */
16
+ createAuthorizationUrl(request: CreateAuthorizationUrlRequest): Promise<string>;
17
+ /**
18
+ * Generate a SHA-256 code challenge for PKCE
19
+ *
20
+ * @remarks
21
+ * Generates a SHA-256 code challenge and corresponding code verifier for use
22
+ * in the PKCE extension to OAuth2. If no code verifier is provided, a random
23
+ * one will be generated according to RFC 7636 (32 random bytes, base64url
24
+ * encoded). If a code verifier is provided, it must be 43-128 characters and
25
+ * contain only unreserved characters [A-Za-z0-9-._~].
26
+ *
27
+ * @see {@link https://openrouter.ai/docs/use-cases/oauth-pkce}
28
+ * @see {@link https://datatracker.ietf.org/doc/html/rfc7636}
29
+ */
30
+ createSHA256CodeChallenge(): Promise<CreateSHA256CodeChallengeResponse>;
31
+ /**
32
+ * Exchange authorization code for API key
33
+ *
34
+ * @remarks
35
+ * Exchange an authorization code from the PKCE flow for a user-controlled API key
36
+ */
37
+ exchangeAuthCodeForAPIKey(request: operations.ExchangeAuthCodeForAPIKeyRequest, options?: RequestOptions): Promise<operations.ExchangeAuthCodeForAPIKeyResponse>;
38
+ /**
39
+ * Create authorization code
40
+ *
41
+ * @remarks
42
+ * Create an authorization code for the PKCE flow to generate a user-controlled API key
43
+ */
44
+ createAuthCode(request: operations.CreateAuthKeysCodeRequest, options?: RequestOptions): Promise<operations.CreateAuthKeysCodeResponse>;
45
+ }
46
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+ import { oAuthCreateAuthCode } from "../funcs/oAuthCreateAuthCode.js";
5
+ import { oAuthExchangeAuthCodeForAPIKey } from "../funcs/oAuthExchangeAuthCodeForAPIKey.js";
6
+ import { ClientSDK } from "../lib/sdks.js";
7
+ import { unwrapAsync } from "../types/fp.js";
8
+ // #region imports
9
+ import { oAuthCreateAuthorizationUrl, } from "../funcs/oAuthCreateAuthorizationUrl.js";
10
+ import { oAuthCreateSHA256CodeChallenge, } from "../funcs/oAuthCreateSHA256CodeChallenge.js";
11
+ // #endregion imports
12
+ export class OAuth extends ClientSDK {
13
+ // #region sdk-class-body
14
+ /**
15
+ * Generate a OAuth2 authorization URL
16
+ *
17
+ * @remarks
18
+ * Generates a URL to redirect users to for authorizing your application. The
19
+ * URL includes the provided callback URL and, if applicable, the code
20
+ * challenge parameters for PKCE.
21
+ *
22
+ * @see {@link https://openrouter.ai/docs/use-cases/oauth-pkce}
23
+ */
24
+ async createAuthorizationUrl(request) {
25
+ const result = oAuthCreateAuthorizationUrl(this, request);
26
+ if (!result.ok) {
27
+ throw result.error;
28
+ }
29
+ return result.value;
30
+ }
31
+ /**
32
+ * Generate a SHA-256 code challenge for PKCE
33
+ *
34
+ * @remarks
35
+ * Generates a SHA-256 code challenge and corresponding code verifier for use
36
+ * in the PKCE extension to OAuth2. If no code verifier is provided, a random
37
+ * one will be generated according to RFC 7636 (32 random bytes, base64url
38
+ * encoded). If a code verifier is provided, it must be 43-128 characters and
39
+ * contain only unreserved characters [A-Za-z0-9-._~].
40
+ *
41
+ * @see {@link https://openrouter.ai/docs/use-cases/oauth-pkce}
42
+ * @see {@link https://datatracker.ietf.org/doc/html/rfc7636}
43
+ */
44
+ async createSHA256CodeChallenge() {
45
+ return unwrapAsync(oAuthCreateSHA256CodeChallenge());
46
+ }
47
+ // #endregion sdk-class-body
48
+ /**
49
+ * Exchange authorization code for API key
50
+ *
51
+ * @remarks
52
+ * Exchange an authorization code from the PKCE flow for a user-controlled API key
53
+ */
54
+ async exchangeAuthCodeForAPIKey(request, options) {
55
+ return unwrapAsync(oAuthExchangeAuthCodeForAPIKey(this, request, options));
56
+ }
57
+ /**
58
+ * Create authorization code
59
+ *
60
+ * @remarks
61
+ * Create an authorization code for the PKCE flow to generate a user-controlled API key
62
+ */
63
+ async createAuthCode(request, options) {
64
+ return unwrapAsync(oAuthCreateAuthCode(this, request, options));
65
+ }
66
+ }
67
+ //# sourceMappingURL=oauth.js.map
@@ -1,3 +1,4 @@
1
+ import { EventStream } from "../lib/event-streams.js";
1
2
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
3
  import * as models from "../models/index.js";
3
4
  import * as operations from "../models/operations/index.js";
@@ -8,6 +9,12 @@ export declare class Responses extends ClientSDK {
8
9
  * @remarks
9
10
  * Creates a streaming or non-streaming response using OpenResponses API format
10
11
  */
11
- send(request: models.OpenResponsesRequest, options?: RequestOptions): Promise<operations.CreateApiAlphaResponsesResponse>;
12
+ send(request: models.OpenResponsesRequest & {
13
+ stream?: false | undefined;
14
+ }, options?: RequestOptions): Promise<models.OpenResponsesNonStreamingResponse>;
15
+ send(request: models.OpenResponsesRequest & {
16
+ stream: true;
17
+ }, options?: RequestOptions): Promise<EventStream<models.OpenResponsesStreamEvent>>;
18
+ send(request: models.OpenResponsesRequest, options?: RequestOptions): Promise<operations.CreateResponsesResponse>;
12
19
  }
13
20
  //# sourceMappingURL=responses.d.ts.map
@@ -5,12 +5,6 @@ import { betaResponsesSend } from "../funcs/betaResponsesSend.js";
5
5
  import { ClientSDK } from "../lib/sdks.js";
6
6
  import { unwrapAsync } from "../types/fp.js";
7
7
  export class Responses extends ClientSDK {
8
- /**
9
- * Create a response
10
- *
11
- * @remarks
12
- * Creates a streaming or non-streaming response using OpenResponses API format
13
- */
14
8
  async send(request, options) {
15
9
  return unwrapAsync(betaResponsesSend(this, request, options));
16
10
  }
package/esm/sdk/sdk.d.ts CHANGED
@@ -8,6 +8,7 @@ import { Credits } from "./credits.js";
8
8
  import { Endpoints } from "./endpoints.js";
9
9
  import { Generations } from "./generations.js";
10
10
  import { Models } from "./models.js";
11
+ import { OAuth } from "./oauth.js";
11
12
  import { ParametersT } from "./parameters.js";
12
13
  import { Providers } from "./providers.js";
13
14
  export declare class OpenRouter extends ClientSDK {
@@ -29,6 +30,8 @@ export declare class OpenRouter extends ClientSDK {
29
30
  get providers(): Providers;
30
31
  private _apiKeys?;
31
32
  get apiKeys(): APIKeys;
33
+ private _oAuth?;
34
+ get oAuth(): OAuth;
32
35
  private _chat?;
33
36
  get chat(): Chat;
34
37
  private _completions?;
package/esm/sdk/sdk.js CHANGED
@@ -11,6 +11,7 @@ import { Credits } from "./credits.js";
11
11
  import { Endpoints } from "./endpoints.js";
12
12
  import { Generations } from "./generations.js";
13
13
  import { Models } from "./models.js";
14
+ import { OAuth } from "./oauth.js";
14
15
  import { ParametersT } from "./parameters.js";
15
16
  import { Providers } from "./providers.js";
16
17
  export class OpenRouter extends ClientSDK {
@@ -41,6 +42,9 @@ export class OpenRouter extends ClientSDK {
41
42
  get apiKeys() {
42
43
  return (this._apiKeys ?? (this._apiKeys = new APIKeys(this._options)));
43
44
  }
45
+ get oAuth() {
46
+ return (this._oAuth ?? (this._oAuth = new OAuth(this._options)));
47
+ }
44
48
  get chat() {
45
49
  return (this._chat ?? (this._chat = new Chat(this._options)));
46
50
  }
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@openrouter/sdk",
5
- "version": "0.0.1-beta.11",
5
+ "version": "0.0.1-beta.14",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrouter/sdk",
3
- "version": "0.0.1-beta.11",
3
+ "version": "0.0.1-beta.14",
4
4
  "author": "OpenRouter",
5
5
  "type": "module",
6
6
  "main": "./esm/index.js",
@@ -70,7 +70,9 @@
70
70
  "devDependencies": {
71
71
  "@eslint/js": "^9.19.0",
72
72
  "@tanstack/react-query": "^5.61.4",
73
+ "@types/node": "^22.13.12",
73
74
  "@types/react": "^18.3.12",
75
+ "dotenv": "^16.4.7",
74
76
  "eslint": "^9.19.0",
75
77
  "globals": "^15.14.0",
76
78
  "typescript": "~5.8.3",
package/vitest.config.ts CHANGED
@@ -1,10 +1,17 @@
1
+ import { config } from "dotenv";
1
2
  import { defineConfig } from "vitest/config";
2
3
 
4
+ // Load environment variables from .env file
5
+ config();
6
+
3
7
  export default defineConfig({
4
8
  test: {
5
9
  globals: true,
6
10
  environment: "node",
7
- testMatch: ["**/*.test.ts"],
11
+ env: {
12
+ OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || "",
13
+ },
14
+ include: ["tests/**/*.test.ts"],
8
15
  hookTimeout: 30000,
9
16
  testTimeout: 30000,
10
17
  },
@@ -1,155 +0,0 @@
1
- import * as z from "zod/v4";
2
- import { OpenEnum } from "../types/enums.js";
3
- import { Result as SafeParseResult } from "../types/fp.js";
4
- import { SDKValidationError } from "./errors/sdkvalidationerror.js";
5
- export declare const ErrorResponseCode: {
6
- readonly OneHundred: 100;
7
- readonly OneHundredAndOne: 101;
8
- readonly OneHundredAndTwo: 102;
9
- readonly TwoHundred: 200;
10
- readonly TwoHundredAndOne: 201;
11
- readonly TwoHundredAndTwo: 202;
12
- readonly TwoHundredAndThree: 203;
13
- readonly TwoHundredAndFour: 204;
14
- readonly TwoHundredAndFive: 205;
15
- readonly TwoHundredAndSix: 206;
16
- readonly TwoHundredAndSeven: 207;
17
- readonly TwoHundredAndEight: 208;
18
- readonly ThreeHundred: 300;
19
- readonly ThreeHundredAndOne: 301;
20
- readonly ThreeHundredAndTwo: 302;
21
- readonly ThreeHundredAndThree: 303;
22
- readonly ThreeHundredAndFour: 304;
23
- readonly ThreeHundredAndFive: 305;
24
- readonly ThreeHundredAndSeven: 307;
25
- readonly ThreeHundredAndEight: 308;
26
- readonly FourHundred: 400;
27
- readonly FourHundredAndOne: 401;
28
- readonly FourHundredAndTwo: 402;
29
- readonly FourHundredAndThree: 403;
30
- readonly FourHundredAndFour: 404;
31
- readonly FourHundredAndFive: 405;
32
- readonly FourHundredAndSix: 406;
33
- readonly FourHundredAndSeven: 407;
34
- readonly FourHundredAndEight: 408;
35
- readonly FourHundredAndNine: 409;
36
- readonly FourHundredAndTen: 410;
37
- readonly FourHundredAndEleven: 411;
38
- readonly FourHundredAndTwelve: 412;
39
- readonly FourHundredAndThirteen: 413;
40
- readonly FourHundredAndFourteen: 414;
41
- readonly FourHundredAndFifteen: 415;
42
- readonly FourHundredAndSixteen: 416;
43
- readonly FourHundredAndSeventeen: 417;
44
- readonly FourHundredAndEighteen: 418;
45
- readonly FourHundredAndTwentyTwo: 422;
46
- readonly FourHundredAndTwentyThree: 423;
47
- readonly FourHundredAndTwentyFour: 424;
48
- readonly FourHundredAndTwentyFive: 425;
49
- readonly FourHundredAndTwentySix: 426;
50
- readonly FourHundredAndTwentyEight: 428;
51
- readonly FourHundredAndTwentyNine: 429;
52
- readonly FourHundredAndThirtyOne: 431;
53
- readonly FourHundredAndFiftyOne: 451;
54
- readonly FourHundredAndNinetyEight: 498;
55
- readonly FourHundredAndNinetyNine: 499;
56
- readonly FiveHundred: 500;
57
- readonly FiveHundredAndOne: 501;
58
- readonly FiveHundredAndTwo: 502;
59
- readonly FiveHundredAndThree: 503;
60
- readonly FiveHundredAndFour: 504;
61
- readonly FiveHundredAndFive: 505;
62
- readonly FiveHundredAndSix: 506;
63
- readonly FiveHundredAndSeven: 507;
64
- readonly FiveHundredAndEight: 508;
65
- readonly FiveHundredAndTen: 510;
66
- readonly FiveHundredAndEleven: 511;
67
- readonly FiveHundredAndTwenty: 520;
68
- readonly FiveHundredAndTwentyOne: 521;
69
- readonly FiveHundredAndTwentyTwo: 522;
70
- readonly FiveHundredAndTwentyThree: 523;
71
- readonly FiveHundredAndTwentyFour: 524;
72
- readonly FiveHundredAndTwentyFive: 525;
73
- readonly FiveHundredAndTwentySix: 526;
74
- readonly FiveHundredAndTwentyNine: 529;
75
- readonly FiveHundredAndThirty: 530;
76
- };
77
- export type ErrorResponseCode = OpenEnum<typeof ErrorResponseCode>;
78
- export type ErrorResponseError = {
79
- code: ErrorResponseCode;
80
- message: string;
81
- metadata?: {
82
- [k: string]: any | null;
83
- } | null | undefined;
84
- };
85
- /**
86
- * Error response
87
- */
88
- export type ErrorResponse = {
89
- error: ErrorResponseError;
90
- userId?: string | null | undefined;
91
- };
92
- /** @internal */
93
- export declare const ErrorResponseCode$inboundSchema: z.ZodType<ErrorResponseCode, unknown>;
94
- /** @internal */
95
- export declare const ErrorResponseCode$outboundSchema: z.ZodType<ErrorResponseCode, ErrorResponseCode>;
96
- /**
97
- * @internal
98
- * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
99
- */
100
- export declare namespace ErrorResponseCode$ {
101
- /** @deprecated use `ErrorResponseCode$inboundSchema` instead. */
102
- const inboundSchema: z.ZodType<ErrorResponseCode, unknown, z.core.$ZodTypeInternals<ErrorResponseCode, unknown>>;
103
- /** @deprecated use `ErrorResponseCode$outboundSchema` instead. */
104
- const outboundSchema: z.ZodType<ErrorResponseCode, ErrorResponseCode, z.core.$ZodTypeInternals<ErrorResponseCode, ErrorResponseCode>>;
105
- }
106
- /** @internal */
107
- export declare const ErrorResponseError$inboundSchema: z.ZodType<ErrorResponseError, unknown>;
108
- /** @internal */
109
- export type ErrorResponseError$Outbound = {
110
- code: number;
111
- message: string;
112
- metadata?: {
113
- [k: string]: any | null;
114
- } | null | undefined;
115
- };
116
- /** @internal */
117
- export declare const ErrorResponseError$outboundSchema: z.ZodType<ErrorResponseError$Outbound, ErrorResponseError>;
118
- /**
119
- * @internal
120
- * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
121
- */
122
- export declare namespace ErrorResponseError$ {
123
- /** @deprecated use `ErrorResponseError$inboundSchema` instead. */
124
- const inboundSchema: z.ZodType<ErrorResponseError, unknown, z.core.$ZodTypeInternals<ErrorResponseError, unknown>>;
125
- /** @deprecated use `ErrorResponseError$outboundSchema` instead. */
126
- const outboundSchema: z.ZodType<ErrorResponseError$Outbound, ErrorResponseError, z.core.$ZodTypeInternals<ErrorResponseError$Outbound, ErrorResponseError>>;
127
- /** @deprecated use `ErrorResponseError$Outbound` instead. */
128
- type Outbound = ErrorResponseError$Outbound;
129
- }
130
- export declare function errorResponseErrorToJSON(errorResponseError: ErrorResponseError): string;
131
- export declare function errorResponseErrorFromJSON(jsonString: string): SafeParseResult<ErrorResponseError, SDKValidationError>;
132
- /** @internal */
133
- export declare const ErrorResponse$inboundSchema: z.ZodType<ErrorResponse, unknown>;
134
- /** @internal */
135
- export type ErrorResponse$Outbound = {
136
- error: ErrorResponseError$Outbound;
137
- user_id?: string | null | undefined;
138
- };
139
- /** @internal */
140
- export declare const ErrorResponse$outboundSchema: z.ZodType<ErrorResponse$Outbound, ErrorResponse>;
141
- /**
142
- * @internal
143
- * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
144
- */
145
- export declare namespace ErrorResponse$ {
146
- /** @deprecated use `ErrorResponse$inboundSchema` instead. */
147
- const inboundSchema: z.ZodType<ErrorResponse, unknown, z.core.$ZodTypeInternals<ErrorResponse, unknown>>;
148
- /** @deprecated use `ErrorResponse$outboundSchema` instead. */
149
- const outboundSchema: z.ZodType<ErrorResponse$Outbound, ErrorResponse, z.core.$ZodTypeInternals<ErrorResponse$Outbound, ErrorResponse>>;
150
- /** @deprecated use `ErrorResponse$Outbound` instead. */
151
- type Outbound = ErrorResponse$Outbound;
152
- }
153
- export declare function errorResponseToJSON(errorResponse: ErrorResponse): string;
154
- export declare function errorResponseFromJSON(jsonString: string): SafeParseResult<ErrorResponse, SDKValidationError>;
155
- //# sourceMappingURL=errorresponse.d.ts.map